Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: detecting multiple attributes of a system having a data storage device with at least two memories of different types; selecting at least one of a plurality of data flow schemes based on the multiple attributes, wherein a data flow scheme defines a particular data path to transfer data from one memory to another; and implementing the at least one of a plurality of data flow schemes within the data storage device; wherein the multiple attributes comprise a read count for each data block, a write count for each data block, a last time a data block was read, a last time a data block was written, and a number of invalid pages in an erasure block.
2. The method of claim 1 , further comprising selecting the at least one of a plurality of data flow schemes in real-time during use of the data storage device.
3. The method of claim 1 , wherein the plurality of data flow schemes further comprise: a first data flow scheme for storing data according to a first order of storing data to the at least two memories; and a second data flow scheme for storing data according to a second order of storing data to the at least two memories; wherein the first order of storing data and the second order of storing data are different.
4. The method of claim 1 , wherein the multiple attributes are used to calculate a decision value to compare to a threshold, and the selecting the at least one of the plurality of data flow schemes is based on the comparison of the decision value to the threshold.
5. The method of claim 4 , wherein the multiple attributes are continually measured by the data storage device and the threshold is adjusted based on the continuous monitoring.
6. The method of claim 1 , wherein the data storage device comprises: a first memory comprising a volatile solid state memory; a second memory comprising a non-volatile solid state memory; and a data storage controller coupled to the first memory and the second memory, wherein the method is executed by the data storage controller and completely within the data storage device.
7. An apparatus comprising: a data storage device including: a first memory; a second memory, wherein the second memory is a different type of memory than the first memory; a third memory, wherein the third memory is a different type than the first memory and the third memory is a different type than the second memory an interface adapted to couple the data storage device to a host computer and receive commands and data from the host computer; logic coupled to the interface and configured to: detect multiple attributes of the apparatus; select at least one data flow scheme from a plurality of data flow schemes based on the multiple attributes, where a data flow scheme defines a particular data path to transfer data between multiple memories of different types within the data storage device; and implement the selected data flow scheme; wherein the multiple attributes comprise a read count for each data block, a write count for each data block, a last time a data block was read, a last time a data block was written, and a number of invalid pages in an erasure block.
8. The apparatus of claim 7 , wherein the third memory comprises a volatile solid state memory, the second memory comprises a non-volatile solid state memory, the first memory comprises a magnetic disc.
9. The apparatus of claim 7 , further comprising the logic configured to calculate a decision value base on at least one of the multiple attributes to compare to a threshold, and the selecting the at least one of the plurality of data flow schemes is based on the comparison of the decision value to the threshold.
10. The apparatus of claim 9 , wherein a selected data flow scheme comprises moving data stored in the first memory, which comprises a non-volatile solid state memory, to make sure a specific erasure block within the first memory does not have any data stored therein.
11. The apparatus of claim 9 , wherein a selected data flow scheme comprises moving data from the second memory, which comprises a volatile solid state memory, to the first memory, which comprises a non-volatile memory.
12. A computer readable storage device storing instructions, that when executed cause a processor to perform a method comprising: detecting multiple attributes of a system having a data storage device with at least two memories of different types; selecting at least one of a plurality of data flow schemes based on the multiple attributes, wherein a data flow scheme defines an order of transferring data between the at least two memories; and implementing the at least one of a plurality of data flow schemes within the data storage device; wherein the multiple attributes comprise a read count for each data block, a write count for each data block, a last time a data block was read, a last time a data block was written, and a number of invalid pages in an erasure block.
13. The computer readable storage device of claim 12 , further comprising instructions to cause the processor to execute the method further comprising: selecting a first data flow scheme for storing data according to a first priority of storing data to the at least two memories when a first attribute is detected; and selecting a second data flow scheme for storing data according to a second priority of storing data to the at least two memories when a second attribute is detected.
14. The computer readable storage device of claim 12 , further comprising instructions to cause the processor to execute the method further comprising: calculate a decision value base on at least one of the multiple attributes; comparing the decision value to a threshold; and selecting the at least one of the plurality of data flow schemes based on the comparison of the decision value to the threshold.
15. The computer readable storage device of claim 12 , wherein the decision value is calculated using more than one of the multiple attributes.
Unknown
June 11, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.