Linear tape drives are widely used for computer backup and archiving. A linear tape drive typically includes a magnetic tape head that reads and writes magnetic tape linearly, such that data on the magnetic tape is read and/or written in sequence along the length of the magnetic tape. Multiple channels of data may be written to, and read from, the magnetic tape in parallel using multiple elements on the magnetic tape head. To avoid losing data due to bit errors, data can be stored redundantly and various error correcting algorithms can be applied to the data writing and reading processes.
Certain exemplary embodiments are described in the following detailed description and in reference to the drawings, in which:
Embodiments disclosed herein provide techniques for writing standard tape-formatted data to solid-state, non-volatile memory, such as NAND-flash, NOR-Flash and other types of flash memory. Magnetic tape has long been used for computer backup and archiving. During the reading or writing of magnetic tape, various errors, such as bit errors, may tend to occur. For example, bit errors may take the form of random (single bit) errors, burst (multi-bit) errors due to media defects, or catastrophic failures with relatively long duration caused by a head “clog” or failure to follow the written track accurately when reading or writing. Other types of failures may also occur. To improve reliability, tape formats incorporate a high level of redundancy to the original data. Embodiments of the present techniques provide for a back-up storage medium that uses solid-state, non-volatile memory instead of magnetic tape. The storage medium may be disposed in a cartridge that is configured to be compatible with a non-volatile memory (NVM) storage drive. In an example, the NVM storage drive may be essentially a standard tape drive configured to write to a solid-state, non-volatile (SSNV) memory rather than magnetic tape. In embodiments, the data formatting applied by the NVM drive to data stored on the SSNV memory will be essentially the same as if the data was stored to a cartridge with magnetic tape by a tape drive, with minor modifications to simplify the format. For example, SERVO bands used when writing to magnetic tape are not necessary when writing to SSNV memory. In an example, the data that would normally be written to the magnetic tape can be stored serially in successive memory addresses of the solid-state, non-volatile memory. The high level of redundancy and error correcting mechanisms used by the data format applied by the NVM drive provides protection against errors. In this way, inexpensive solid-state non-volatile memory, which would typically be considered to be of too low quality for use as a backup medium, may be used in place of magnetic tape.
The advantages of using inexpensive solid-state non-volatile memory include significant cost savings, both because the SSNV memory is less expensive than magnetic tape or high-end non-volatile memory, and because tape formatted data may be written to the memory in a linear fashion, resulting in less wear and tear and a corresponding lower degradation rate of the memory. The term “linear” refers to writing data to successes addresses of a SSNV memory. Because of the benign nature of the memory use, degradation rates do not have to be managed. In addition, the robustness of cartridges which include SSNV memory in place of magnetic tape may be improved. Cost savings can therefore be seen in the cartridges and the NVM drive itself. Further advantages include improved media reliability and improved transfer rates to and from the media.
The computer 104 or the network server 106 may be configured to read data from and write data to the NVM drive 102. The computer 104 and the network server 106, together or individually, may form a host computing system for the NVM drive 102. In various examples, the NVM drive 102 is a data storage and retrieval device that is configured in the form of a stand-alone computer storage drive. In other examples, the NVM drive 102 is disposed within the computer 104 or the network server 106. For example, the NVM drive 102 may be supported in a bay inside a housing of the computer 104 or the network server 106. In another example, the NVM drive 102 may be included in a library including multiple NVM drives with automated pickers to auto-load cartridges into the NVM drives.
As shown in
It is to be understood that the computer network environment 100 may include any number of additional components not shown in
As shown in
Additionally, the NVM drive controller 204 may select the interleaved data read elements. In various examples, the NVM drive 102 includes a number of data read elements (not shown) and data write elements 206, 208, and 210 that are configured to read data from or write data to the non-volatile memory 112, respectively. In an example, the NVM drive 102 may include dual-use read-write elements that may be used for both reading and writing. The read and write elements may be Input/Output (I/O) signal pads which communicate with I/O pins on the non-volatile memory. In addition, the write elements may be configured to write format information to the non-volatile memory 112. The format information may include an appropriate data transfer rate to be used to read data from the non-volatile memory during future read and write operations. In an example, the NVM drive 102 may include one or more write arrays and one or more read arrays. The write array may include any number of data write elements 206, 208, and 210, or channels, for writing data to the non-volatile memory 112. In an example, the write array may include sixteen data write elements within the write array. In another example, the write array includes thirty-two data write elements.
As shown in
Each electrical contact may be connected to a Digital Signal Processor (DSP). For example, electrical contact 212 may be connected to Digital Signal Processor (DSP) 218. DSP 218 may further be connected through memory controller 224 to memory 230. The remaining contacts may similarly be connected to the remaining memories. For example, contacts 212 and 214 may similarly be connected to memory 232 and memory 234, respectively.
As further shown in
Each data write element 206, 208, and 210 may be associated with a particular non-volatile memory 230, 232, and 234. As such, multiple non-volatile memories may be disposed within the NVM drive 102, such as within a cartridge 110 inserted in the NVM drive 102. Because each data write element is associated with its own particular non-volatile memory, multiple non-volatile memories may be written to in parallel, allowing for increased data transfer rates. For example, in an array including sixteen data write elements, sixteen data write elements may write data to sixteen non-volatile memories at the same time, by writing to the memories in parallel.
The NVM drive 102 may be configured to write data to the non-volatile memory 112 linearly. Linearly means that data on the non-volatile memory is read, and written, in sequence from and to successive addresses of a non-volatile memory. By reading and writing the data linearly, errors, such as bit errors, present in the non-volatile memory 112 are similar to tape errors. As such, these errors may be handled by existing error managing tape mechanisms. These mechanisms may include, but are not limited to, erasure detection, multi-level error correction codes, and interleaving. Furthermore, by writing the data linearly or sequentially, the NVM locations are accessed in sequence and each location sees the same amount of accesses. As such, the use of the non-volatile memory is relatively benign which results in a lower degradation rate on the cartridge 110. Also due to the sequential nature of the data writing, “wear leveling” and “logical to physical mapping”, processes usually present in non-volatile solid-state memory flash storage controllers are not needed. In addition, the decreased wear and resulting lower degradation rate allow the non-volatile memory 112 used to be an inexpensive memory, decreasing the cost of the cartridge 110 and, ultimately, the cost of the entire storage system.
In embodiments, the NVM drive 102 may be configured to write data to the non-volatile memory 112 without reformatting the data from the tape format. For example, the NVM drive 102 may write data to the non-volatile memory 112 in a raw tape format. For example, the NVM drive 102 may write data to the non-volatile memory 112 in a linear tape-open (LTO) format. By writing the data in an existing and proven tape format, the powerful error correction and sparing capabilities of the format turn non-volatile memory that would be considered poor “media” into high reliability serial storage. In addition, no additional parity chips are required as the/data from the standard tape format, fewer steps are needed to handle the data, resulting in less time to process the data and fewer opportunities for data errors.
It is to be understood that the NVM drive 102 may include any number of additional components not shown in
At the same time that writing occurs, the written data may be assessed for quality of writing. In an example, a “read-after-write” (RAW) may take place. In such an example, writing may be stopped after each write operation in order for the data to be read back and the quality assessed before the next block of data is written. In another example, a “read-while-write” (RWW) may take place in which the newly written data is read back and assessed while the next block of data is being written. Separate heads read back the freshly written bit streams. The “unformatting” half of the NVM drive verifies in real time whether or not the observed errors are few enough in number that they can be corrected by the C1,C2 parity schemes with sufficient margin to allow for future degradation. If the quality of the RAW/RWW data is deemed to be too low then it is written to memory again. In this way, damaged parts of the memory are effectively “spared out”.
At step 306, the data may be written to successive memory locations of a solid-state, non-volatile storage medium by the NVM drive. The solid-state, non-volatile storage medium may be disposed within the NVM drive, such as within a cartridge inserted in the NVM drive. An example of a cartridge is described above. At least one write element may write the data to the non-volatile memory. For example, multiple write elements may write the data to the non-volatile memory. In an example, sixteen write elements write the data to the non-volatile memory. The write elements may write the data to the non-volatile memory in streams, such as data streams. The data streams may be formed during the formatting process. The write elements may work in parallel to each other, transferring multiple bit streams simultaneously. For example, sixteen write elements may transfer sixteen data streams to sixteen non-volatile memories simultaneously. Each write head may be associated with a particular non-volatile memory. This association of non-volatile memories with write elements may result in improved data transfer rates. The data streams may be written to the non-volatile memory in a sequential or linear way, resulting in a benign use of the memory. Accordingly, inexpensive non-volatile memory, which would typically be considered inferior and of poor quality, may be used. Data may also be linearly read from the non-volatile memory in streams.
While the present techniques may be susceptible to various modifications and alternative forms, the exemplary examples discussed above have been shown only by way of example. It is to be understood that the technique is not intended to be limited to the particular examples disclosed herein. Indeed, the present techniques include all alternatives, modifications, and equivalents falling within the true spirit and scope of the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2012/062810 | 10/31/2012 | WO | 00 |