US2008304379A1PendingUtilityA1

Writing and Reading of Data in Probe-Based Data Storage Devices

Assignee: IBMPriority: Sep 26, 2003Filed: Jul 16, 2007Published: Dec 11, 2008
Est. expirySep 26, 2023(expired)· nominal 20-yr term from priority
G11B 9/1436G11B 9/14B82Y 10/00
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatus are provided for controlling writing and reading of data in an array of A storage fields of a probe-based data storage device in which data is written to and read from the array of storage fields by a corresponding array of probes. One method uses the concept of sub-arrays to provide variable-rate read/write operation. Input data blocks are received for writing to the A-field array, each input data block being writable in A/k 0 storage fields where k 0 is an integer>=2. For successive groups of k 0 blocks, the k 0 blocks are written to respective sub-arrays, each of A/k 0 storage fields, of the storage field array by selectively writing at one of a series of rates, ranging from 1 block at a time to k 0 blocks at a time, in dependence on a desired data write-rate. The blocks can also be read from the sub-arrays by selectively reading at one of a series of rates, ranging from 1 sub-array at a time to k 0 sub-arrays at a time, in dependence on a desired data read-rate.

Claims

exact text as granted — not AI-modified
1 . A method for operating a probe-based data storage device in which data is written to and read from an array of A storage fields by a corresponding array of probes, the method comprising steps of:
 receiving input data blocks, each writable in A/k 0  storage fields where k 0  is an integer>=2;   for successive groups of k 0  blocks, writing the k 0  blocks to respective sub-arrays (SA1 to SAk 0 ), each of A/k 0  storage fields, of the storage field array by writing x blocks at a time, where x is an integer in the range 1<=x<=k 0 ; and   reading the blocks from the sub-arrays (SA1 to SAk 0 ) by reading y sub-arrays at a time, where y is an integer in the range 1<=y<=k 0 .   
     
     
         2 . The method of  claim 1  wherein x is an integer in the range 1<=y<=k 0 −1. 
     
     
         3 . The method of  claim 2  wherein y is an integer in the range 1<=y<=k 0 −1. 
     
     
         4 . The method of  claim 3  wherein x is not equal to y. 
     
     
         5 . The method of  claim 1 , further comprising a step of:
 coding user data to produce the input data blocks with a block size of k 1 (A/k 0 ) bytes, where k 1  is an integer>=1.   
     
     
         6 . A method for operating a probe-based data storage device in which user data is written to and read from an array of A d  storage fields by a corresponding array of probes, the method comprising steps of:
 coding blocks of user data to produce, from each user data block, a plurality of C-byte codewords such that r*C=k 1 *A s  where r is the number of codewords, k 1  is an integer>=1, A s =A d /k 0  and k 0  is an integer>=2;   for each user data block, producing A s  sub-blocks of k 1  bytes from the r codewords produced from that user data block by selecting successive bytes of each sub-block cyclically from the r codewords;   for successive groups of k 0  user data blocks, writing the A s  sub-blocks produced from each of the k 0  blocks to a respective sub-array (SA1 to SAk 0 ), of A s  storage fields, of the storage field array by writing to x sub-arrays at a time, where x is an integer in the range 1,=x,=k 0 , wherein the A s  sub-blocks written to each sub-array (SA1 to SAk 0 ) are written via respective probes to the corresponding storage fields of the sub-array; and   reading the sub-blocks from the sub-arrays (SA1 to SAk 0 ) by reading y sub-arrays at a time, where y is an integer in the range 1<=y<=k 0 .   
     
     
         7 . An apparatus for controlling reading and writing of user data in an array of A storage fields of a probe-based data storage device in which data is written to and read from the array of storage fields by a corresponding array of probes, the apparatus comprising:
 a data formatter for formatting user data in groups of k 0  input data blocks, each data block being writable in A/k 0  storage fields where k 0  is an integer>=2; and   a read/write controller for controlling writing of the k 0  blocks of each group to respective sub-arrays (SA1 to SAk 0 ), each of A/k 0  storage fields, of the storage field array by selectively controlling writing at one of a series of rates, ranging from 1 block at a time to k 0  blocks at a time, in dependence on a desired data write-rate, and for controlling reading of the blocks from the sub-arrays (SA1 to SAk 0 ) by selectively controlling reading at one of a series of rates, ranging from 1 sub-array at a time to k 0  sub-arrays at a time, in dependence on a desired data read-rate.   
     
     
         8 . The apparatus of  claim 7  wherein: k 0 >=3; the series of rates for writing blocks includes at least one intermediate rate of x blocks at a time, where x is an integer in the range 1<x<k 0 ; and the series of rates for reading blocks includes at least one intermediate rate of y sub-arrays at a time, where y is an integer in the range 1<y<k 0 . 
     
     
         9 . An apparatus for controlling reading and writing of user data in an array of A storage fields of a probe-based data storage device in which data is written to and read from the array of storage fields by a corresponding array of probes, the apparatus comprising:
 a data formatter for formatting user data in groups of k 0  input data blocks, each data block being writable in A/k 0  storage fields where k 0  is an integer>=2; and   a read/write controller for controlling writing of the k 0  blocks of each group to respective sub-arrays (SA1 to SAk 0 ), each of A/k 0  storage fields, of the storage field array such that the k 0  blocks are written x blocks at a time, where x is an integer in the range 1<=x<=k 0 , and for controlling reading of the blocks from the sub-arrays (SA1 to SAk 0 ) such that the sub-arrays are read y sub-arrays at a time, where y is an integer in the range 1<=y<=k 0 .   
     
     
         10 . The apparatus of  claim 9  wherein x is an integer in the range 1<=x<=k 0 −1. 
     
     
         11 . The apparatus of  claim 10  wherein y is an integer in the range 1<=y<=k 0 −1. 
     
     
         12 . The apparatus of  claim 11  wherein x is not equal to y. 
     
     
         13 . The apparatus of  claim 12  wherein the data formatter is arranged to code the user data to produce the input data blocks with a block size of k 1  (A/k 0 ) bytes, where k 1  is an integer>=1. 
     
     
         14 . A probe-based data storage device comprising:
 a storage surface having an array of A storage fields;   a probe array comprising A probes for reading and writing data in respective storage fields; and   an apparatus for controlling reading and writing of data in the array of storage fields at one of a series of rates, depending on a desired data read-rate and a desired data write-rate.   
     
     
         15 . A probe-based data storage device comprising:
 a storage surface having an array of k 2 .A storage fields, where k 2  is an integer>=2;   a probe array comprising k 2 A probes for reading and writing data in respective storage fields; and   a control apparatus comprising k 2  logical sub-devices (LD1 to LDk 2 ) for controlling reading and writing of data to respective logical sub-arrays at one of a series of rates, each of A storage fields, of the storage field array via respective logical sub-arrays, each of A probes, of the probe array, wherein each logical sub-device (LD1 to LDk 2 ) comprises an apparatus for controlling reading and writing of data in the respective logical sub-array of the storage field array.   
     
     
         16 . An apparatus for controlling reading and writing of user data in an array of A d  storage fields of a probe-based data storage device in which data is written to and read from the array of storage fields by a corresponding array of probes, the apparatus comprising:
 a codeword generator for coding blocks of user data to produce, from each user data block, a plurality of C-byte codewords such that r*C=k 1 *A s  where r is the number of codewords, k 1  is an integer>=1, A s =A d /k 0  and k 0  is an integer>=2;   a sub-block generator for producing, for each user data block, A s  sub-blocks of k 1  bytes from the r codewords produced from that user data block by selecting successive bytes of each sub-block cyclically from the r codewords; and   a read/write controller for controlling writing, for successive groups of k 0  user data blocks, of the A s  sub-blocks produced from each of the k 0  blocks to a respective sub-array (SA1 to SAk 0 ), of A s  storage fields, of the storage field array such that the sub-blocks are written to the sub-arrays x sub-arrays at a time, where x is an integer in the range 1<=x<=k 0 , and such that the A s  sub-blocks written to each sub-array (SA1 to SAk 0 ) are written via respective probes to the corresponding storage fields of the sub-array, and for controlling reading of the sub-blocks from the sub-arrays (SA1 to SAk 0 ) such that the sub-arrays are read y sub-arrays at a time, where y is an integer in the range 1<=y<=k 0 .   
     
     
         17 . A probe-based data storage device comprising:
 a storage surface having an array of A d  storage fields;   a probe array comprising A d  probes for reading and writing data in respective storage fields; and   an apparatus for controlling reading and writing of user data in the array of storage fields by selectively controlling reading of sub-blocks from sub-arrays and writing to the sub-arrays at one of a series of rates, depending on a desired data read-rate and a desired data write-rate.   
     
     
         18 . A probe-based data storage device comprising:
 a storage surface having an array of k 2 A d  storage fields, where k 2  is an integer>=2;   a probe array comprising k 2 A d  probes for reading and writing data in respective storage fields; and   a control apparatus comprising k 2  logical sub-devices (LD1 to LDk 2 ) for controlling reading and writing of data to respective logical sub-arrays, each of A d  storage fields, of the storage field array via respective logical sub-arrays, each of A d  probes, of the probe array, wherein each logical sub-device (LD1 to LDk 2 ) comprises apparatus as claimed in  claim 16  for controlling reading and writing of user data in the respective logical sub-array of the storage field array.

Join the waitlist — get patent alerts

Track US2008304379A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.