Implementing a storage drive utilizing a streaming mode
US-2020125272-A1 · Apr 23, 2020 · US
US10884653B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10884653-B2 |
| Application number | US-201816167286-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 22, 2018 |
| Priority date | Oct 22, 2018 |
| Publication date | Jan 5, 2021 |
| Grant date | Jan 5, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer-implemented method according to one embodiment includes sending, from a host to a storage drive, a read request for data, receiving, at the host from the storage drive, a portion of the data as fixed-size two-dimensional units, where the fixed-size two-dimensional units are mapped to fixed-size one-dimensional user data blocks located at the host, and performing one or more actions at the host, utilizing the portion of the data.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, comprising: sending, from a host to a storage drive, a read request for data; receiving, at the host from the storage drive, a first portion of the data as fixed-size two-dimensional units, where a second portion of the data is not successfully received at the host from the storage drive, and where the fixed-size two-dimensional units are mapped to fixed-size one-dimensional user data blocks located at the host using a synchronous mapping; and performing error correction code (ECC) decoding on each of the fixed-size two-dimensional units of the first portion of the data, utilizing the synchronous mapping. 2. The computer-implemented method of claim 1 , wherein a first integer number of the fixed-size two-dimensional units are mapped to a second integer number of the fixed-size one-dimensional user data blocks located at the host, where the first integer number and the second integer number are both greater than or equal to one. 3. The computer-implemented method of claim 1 , wherein each of the fixed-size two-dimensional units are aligned and synchronous with the fixed-size one-dimensional user data blocks located at the host. 4. The computer-implemented method of claim 1 , wherein: the host receives an indication from the storage drive that an error has occurred and that only the first portion of the data could be returned, each fixed-size two-dimensional unit corresponds to a logical tape data block at the storage drive, each fixed-size one-dimensional user data block corresponds to a host user data block at the host, the indication includes error status information and error pointers that identify specific logical tape data blocks of the storage drive that could not be retrieved, and the host uses the identification of the specific logical tape data blocks of the storage drive that could not be retrieved to identify corresponding host user data blocks at the host, utilizing the synchronous mapping. 5. The computer-implemented method of claim 1 , wherein performing the ECC decoding allows the host to decode the data when an entirety of the data is not returned to the host by the storage drive. 6. The computer-implemented method of claim 1 , wherein each of the fixed-size one-dimensional user data blocks located at the host are protected by a cyclic redundancy check (CRC) code. 7. The computer-implemented method of claim 1 , wherein one or more of the fixed-size two-dimensional units are used for housekeeping data or to enhance error correction. 8. The computer-implemented method of claim 1 , wherein padding of the fixed-size one-dimensional user data blocks is performed at the host in order to implement the synchronous mapping. 9. The computer-implemented method of claim 1 , wherein: the second portion of the data is unsuccessfully read by the storage drive in response to the read request for data, and the host further requests and receives additional data from the storage drive, where the additional data is located within the storage drive at a location beyond the second portion of the data that was unsuccessfully read by the storage drive. 10. The computer-implemented method of claim 1 , wherein each of the fixed-size two-dimensional units may include a portion of a product codeword. 11. A computer program product for implementing a mapping between data at a storage drive and data blocks at a host, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising: sending, by the processor from a host to a storage drive, a read request for data; receiving, by the processor at the host from the storage drive, a first portion of the data as fixed-size two-dimensional units, where a second portion of the data is not successfully received at the host from the storage drive, and where the fixed-size two-dimensional units are mapped to fixed-size one-dimensional user data blocks located at the host using a synchronous mapping; and performing, by the processor, error correction code (ECC) decoding on each of the fixed-size two-dimensional units of the first portion of the data, utilizing the synchronous mapping. 12. The computer program product of claim 11 , wherein a first integer number of the fixed-size two-dimensional units are mapped to a second integer number of the fixed-size one-dimensional user data blocks located at the host, where the first integer number and the second integer number are both greater than or equal to one. 13. The computer program product of claim 11 , wherein each of the fixed-size two-dimensional units are aligned and synchronous with the fixed-size one-dimensional user data blocks located at the host. 14. The computer program product of claim 11 , wherein the host receives an indication from the storage drive that an error has occurred and that only the first portion of the data could be returned, where the indication includes error status information and error pointers that identify specific fixed-size two dimensional units of the second portion of the data. 15. The computer program product of claim 11 , wherein performing the ECC decoding allows the host to decode the data when an entirety of the data is not returned to the host by the storage drive. 16. The computer program product of claim 11 , wherein each of the fixed-size one-dimensional user data blocks located at the host are protected by a cyclic redundancy check (CRC) code. 17. The computer program product of claim 11 , wherein one or more of the fixed-size two-dimensional units are used for housekeeping data or to enhance error correction. 18. The computer program product of claim 11 , wherein padding of the fixed-size one-dimensional user data blocks is performed at the host in order to implement the mapping. 19. The computer program product of claim 11 , wherein: the second portion of the data is unsuccessfully read by the storage drive in response to the read request for data, and the host further requests and receives additional data from the storage drive, where the additional data is located within the storage drive at a location beyond the second portion of the data that was unsuccessfully read by the storage drive. 20. A system, comprising: a processor; and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to: send, from a host to a storage drive, a read request for data; receive, at the host from the storage drive, a first portion of the data as fixed-size two-dimensional units, where a second portion of the data is not successfully received at the host from the storage drive, and where the fixed-size two-dimensional units are mapped to fixed-size one-dimensional user data blocks located at the host using a synchronous mapping; and perform error correction code (ECC) decoding on each of the fixed-size two-dimensional units of the first portion of the data, utilizing the synchronous mapping.
in relation to data integrity, e.g. data losses, bit errors · CPC title
Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title
Tape device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.