Managing write operations to an extent of tracks migrated between storage devices
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-012/16
G06F-003/06
출원번호
US-0169150
(2014-01-30)
등록번호
US-9218141
(2015-12-22)
발명자
/ 주소
Montgomery, David
출원인 / 주소
INTERNATIONAL BUSINESS MACHINES CORPORATION
대리인 / 주소
Victor, David W.
인용정보
피인용 횟수 :
1인용 특허 :
10
초록▼
Provided are a computer program product, system, and method for managing write operations to an extent of tracks migrated between storage device. An operation to migrate an extent of tracks from the second storage to the first storage is processed. A determination is made of the tracks in the extent
Provided are a computer program product, system, and method for managing write operations to an extent of tracks migrated between storage device. An operation to migrate an extent of tracks from the second storage to the first storage is processed. A determination is made of the tracks in the extent having a write indicator indicating that the track was updated in the second storage since the previous time. The data for the determined tracks is copied from the second storage to free locations in the first storage. An extent object for the extent is updated to indicate the free locations to which the data for the tracks were copied as an active address for the track.
대표청구항▼
1. A computer program product for managing data in a first storage and a second storage, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising: pr
1. A computer program product for managing data in a first storage and a second storage, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising: processing an operation to migrate an extent of tracks from the second storage to the first storage;determining the tracks in the extent having a write indicator indicating that the track was updated in the second storage since a previous time;copying the data for the determined tracks from the second storage to free locations in the first storage; andupdating an extent object for the extent to indicate the free locations to which the data for the tracks was copied as an active address for the track. 2. The computer program product of claim 1, wherein the extent object maintains information for previous versions of the data for the track in the first storage, wherein for each track having at least one previous version, an entry for the track includes a previous version address for each previous version indicating a location in the first storage of the data for the previous version of the track, wherein the operations further comprise: for each determined track, setting a new previous version address to the active address for the track prior to updating the active address to indicate the free location to which the data from the second storage was copied. 3. The computer program product of claim 1, wherein the first storage comprises a solid state storage device and wherein the second storage comprises a storage device type having a slower Input/Output access profile than the solid state storage device. 4. The computer program product of claim 1, wherein the second storage stores the tracks in the extent contiguously, and wherein modified tracks in the second storage are copied to non-contiguous locations in the first storage with respect to unmodified tracks in the extent, and wherein unmodified data in the second storage is not copied to the first storage as part of the migration of the extent from the second storage to the first storage. 5. The computer program product of claim 1, wherein the extent object includes for at least one of the tracks an active checksum value calculated from the track data identified in the active address and for at least one previous version of the track maintained in the first storage, a previous version address of the previous version of the track in the first storage and a previous version checksum value calculated from the track data identified in the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the first storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches the active checksum or one of the at least one previous version checksums in the entry in the extent object for the target track;using the active address or the previous version address and the corresponding active or previous version checksum that matches the temporary checksum for the active address and active checksum for the entry in the extent object for the target track; andwriting the write to the target track to a free location in the first storage in response to determining that the temporary checksum does not match one of the active checksum or any of the at least one previous version checksum. 6. The computer program product of claim 1, wherein the extent object includes for at least one of the tracks an active checksum value calculated from the track data identified in the active address and for at least one previous version of the track maintained in the first storage, a previous version address of the previous version of the track in the first storage and a previous version checksum calculated from the track data identified in the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the second storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches the active checksum or one of the at least one previous version checksum in the entry in the extent object for the target track; andusing the active address or the previous version address and the corresponding active or previous version checksum that matches the temporary checksum for the active address and active checksum for the entry in the extent object for the target track in response to determining the match. 7. The computer program product of claim 1, wherein the extent object includes an entry for each track, wherein each entry is comprised of a plurality of columns including an active checksum value in an active checksum column that is calculated from the track data identified in the active address in an active address column and for at least one previous version of the track maintained in the first storage, a previous version address column having an address of the previous version of the track in the first storage and a previous version checksum column having a checksum value calculated from the track data at the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the first storage or the second storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches one of the at least one previous version checksums in the entry in the extent object for the target track;writing the previous version address and the corresponding previous version checksum that matches the temporary checksum to the active address column and the active checksum column for the entry in the extent object for the target track; andshifting any previous address columns and previous checksum columns that have an older version than a version of the previous version address and checksum written to the active address column and the active checksum column to overwrite the previous address column and the previous checksum column including the previous version address and the corresponding previous version checksum written to the active address column and the active checksum column. 8. A system in communication with a first storage and a second storage, comprising: a processor; anda memory including code executed by the processor to perform operations, the operations comprising: processing an operation to migrate an extent of tracks from the second storage to the first storage;determining the tracks in the extent having a write indicator indicating that the track was updated in the second storage since a previous time;copying the data for the determined tracks from the second storage to free locations in the first storage; andupdating an extent object for the extent to indicate the free locations to which the data for the tracks was copied as an active address for the track. 9. The system of claim 8, wherein the extent object maintains information for previous versions of the data for the track in the first storage, wherein for each track having at least one previous version, an entry for the track includes a previous version address for each previous version indicating a location in the first storage of the data for the previous version of the track, wherein the operations further comprise: for each determined track, setting a new previous version address to the active address for the track prior to updating the active address to indicate the free location to which the data from the second storage was copied. 10. The system of claim 8, wherein the first storage comprises a solid state storage device and wherein the second storage comprises a storage device type having a slower Input/Output access profile than the solid state storage device. 11. The system of claim 8, wherein the second storage stores the tracks in the extent contiguously, and wherein modified tracks in the second storage are copied to non-contiguous locations in the first storage with respect to unmodified tracks in the extent, and wherein unmodified data in the second storage is not copied to the first storage as part of the migration of the extent from the second storage to the first storage. 12. The system of claim 8, wherein the extent object includes for at least one of the tracks an active checksum value calculated from the track data identified in the active address and for at least one previous version of the track maintained in the first storage, a previous version address of the previous version of the track in the first storage and a previous version checksum value calculated from the track data identified in the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the first storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches the active checksum or one of the at least one previous version checksums in the entry in the extent object for the target track;using the active address or the previous version address and the corresponding active or previous version checksum that matches the temporary checksum for the active address and active checksum for the entry in the extent object for the target track; andwriting the write to the target track to a free location in the first storage in response to determining that the temporary checksum does not match one of the active checksum or any of the at least one previous version checksum. 13. The system of claim 8, wherein the extent object includes for at least one of the tracks an active checksum value calculated from the track data identified in the active address and for at least one previous version of the track maintained in the first storage, a previous version address of the previous version of the track in the first storage and a previous version checksum calculated from the track data identified in the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the second storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches the active checksum or one of the at least one previous version checksum in the entry in the extent object for the target track; andusing the active address or the previous version address and the corresponding active or previous version checksum that matches the temporary checksum for the active address and active checksum for the entry in the extent object for the target track in response to determining the match. 14. The system of claim 8, wherein the extent object includes an entry for each track, wherein each entry is comprised of a plurality of columns including an active checksum value in an active checksum column that is calculated from the track data identified in the active address in an active address column and for at least one previous version of the track maintained in the first storage, a previous version address column having an address of the previous version of the track in the first storage and a previous version checksum column having a checksum value calculated from the track data at the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the first storage or the second storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches one of the at least one previous version checksums in the entry in the extent object for the target track;writing the previous version address and the corresponding previous version checksum that matches the temporary checksum to the active address column and the active checksum column for the entry in the extent object for the target track; andshifting any previous address columns and previous checksum columns that have an older version than a version of the previous version address and checksum written to the active address column and the active checksum column to overwrite the previous address column and the previous checksum column including the previous version address and the corresponding previous version checksum written to the active address column and the active checksum column. 15. A method for managing data in a first storage and a second storage, comprising: processing an operation to migrate an extent of tracks from the second storage to the first storage;determining the tracks in the extent having a write indicator indicating that the track was updated in the second storage since a previous time;copying the data for the determined tracks from the second storage to free locations in the first storage; andupdating an extent object for the extent to indicate the free locations to which the data for the tracks was copied as an active address for the track. 16. The method of claim 15, wherein the extent object maintains information for previous versions of the data for the track in the first storage, wherein for each track having at least one previous version, an entry for the track includes a previous version address for each previous version indicating a location in the first storage of the data for the previous version of the track, wherein the operations further comprise: for each determined track, setting a new previous version address to the active address for the track prior to updating the active address to indicate the free location to which the data from the second storage was copied. 17. The method of claim 15, wherein the first storage comprises a solid state storage device and wherein the second storage comprises a storage device type having a slower Input/Output access profile than the solid state storage device. 18. The method of claim 15, wherein the second storage stores the tracks in the extent contiguously, and wherein modified tracks in the second storage are copied to non-contiguous locations in the first storage with respect to unmodified tracks in the extent, and wherein unmodified data in the second storage is not copied to the first storage as part of the migration of the extent from the second storage to the first storage. 19. The method of claim 15, wherein the extent object includes for at least one of the tracks an active checksum value calculated from the track data identified in the active address and for at least one previous version of the track maintained in the first storage, a previous version address of the previous version of the track in the first storage and a previous version checksum value calculated from the track data identified in the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the first storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches the active checksum or one of the at least one previous version checksums in the entry in the extent object for the target track;using the active address or the previous version address and the corresponding active or previous version checksum that matches the temporary checksum for the active address and active checksum for the entry in the extent object for the target track; andwriting the write to the target track to a free location in the first storage in response to determining that the temporary checksum does not match one of the active checksum or any of the at least one previous version checksum. 20. The method of claim 15, wherein the extent object includes for at least one of the tracks an active checksum value calculated from the track data identified in the active address and for at least one previous version of the track maintained in the first storage, a previous version address of the previous version of the track in the first storage and a previous version checksum calculated from the track data identified in the previous version address, wherein the operations further comprise: receiving a write to a target track in the extent existing in the second storage;calculating a temporary checksum from the write for the target track;determining whether the temporary checksum matches the active checksum or one of the at least one previous version checksum in the entry in the extent object for the target track; andusing the active address or the previous version address and the corresponding active or previous version checksum that matches the temporary checksum for the active address and active checksum for the entry in the extent object for the target track in response to determining the match.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (10)
Kern Robert Frederic ; Micka William Frank ; Mikkelsen Claus William ; Shomler Robert Wesley ; Stanley Warren Keith ; Treiber Richard Kent, Asynchronously shadowing record updates in a remote copy session using track arrays.
Clay Donald W. (Louisville CO) Anderson Steven A. (Loveland CO), Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks.
Mukai, Kenichiroh; Kim, Kwonil; Gaherty, Lee; Brandt, Lutz; Magaya, Tafadzwa, Method for electromagnetic shielding and thermal management of active components.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.