US9146875B1ActiveUtility

Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining

85
Assignee: BOYLE WILLIAM BPriority: Aug 9, 2010Filed: May 11, 2011Granted: Sep 29, 2015
Est. expiryAug 9, 2030(~4.1 yrs left)· nominal 20-yr term from priority
G06F 2212/1036G06F 3/068G06F 12/0866G06F 2212/7205G06F 12/0246G06F 3/0679G06F 3/0619G06F 3/0616G06F 3/064G06F 3/0688
85
PatentIndex Score
9
Cited by
95
References
26
Claims

Abstract

A hybrid drive is disclosed comprising a head actuated over a disk comprising a plurality of data tracks, and a non-volatile semiconductor memory (NVSM) comprising a plurality of memory segments. When a life remaining of the NVSM falls below a threshold, the NVSM is marked as read only. When a write command is received from a host including write data, and when the NVSM is marked as read only, the write data is written to the disk and a corresponding memory segment in the NVSM is invalidated.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A hybrid drive comprising:
 a disk comprising a plurality of data tracks; 
 a head actuated over the disk; 
 a non-volatile semiconductor memory (NVSM) comprising a plurality of blocks, each block comprising a plurality of memory segments; and 
 control circuitry operable to:
 when a life remaining of the NVSM falls below a threshold, mark the NVSM as read only; 
 receive a write command from a host including write data; 
 concurrently write the write data to both the disk and the NVSM; 
 when the NVSM is marked as read only, write the write data to the disk and permanently invalidate a corresponding memory segment in the NVSM; 
 garbage collect the blocks comprising invalid memory segments; and 
 when a number of error correction code (ECC) errors exceeds a threshold during a read operation of a target block, disable the garbage collection of the target block. 
 
 
     
     
       2. The hybrid drive as recited in  claim 1 , wherein the control circuitry is further operable to determine the life remaining of the NVSM based on a number of program/erase cycles executed on the NVSM. 
     
     
       3. The hybrid drive as recited in  claim 1 , wherein the control circuitry is further operable to determine the life remaining of the NVSM based on a change in at least one of a program time and an erase time of the NVSM. 
     
     
       4. The hybrid drive as recited in  claim 1 , wherein the control circuitry is further operable to determine the life remaining of the NVSM based on a number of error correction code (ECC) errors detected during read operations. 
     
     
       5. The hybrid drive as recited in  claim 1 , wherein prior to marking the NVSM as read only, the control circuitry is further operable to copy data from the disk to free memory segments of the NVSM. 
     
     
       6. The hybrid drive as recited in  claim 1 , wherein the control circuitry is further operable to:
 cache write data received from a host in the NVSM; 
 flush the write data cached in the NVSM to the disk; and 
 prior to marking the NVSM as read only, disable the caching of write data in the NVSM. 
 
     
     
       7. A hybrid drive comprising:
 a disk comprising a plurality of data tracks; 
 a head actuated over the disk; 
 a non-volatile semiconductor memory (NVSM) comprising a plurality of blocks, wherein each block comprises a plurality of memory segments; and 
 control circuitry operable to:
 receive write data from a host; 
 concurrently write the write data to both the disk and the NVSM; 
 garbage collect the blocks comprising invalid memory segments; and 
 when a life remaining of the NVSM falls below a threshold, permanently disable the garbage collection of the blocks. 
 
 
     
     
       8. The hybrid drive as recited in  claim 7 , wherein the control circuitry is further operable to determine the life remaining of the NVSM based on a number of program/erase cycles executed on the NVSM. 
     
     
       9. The hybrid drive as recited in  claim 7 , wherein the control circuitry is further operable to determine the life remaining of the NVSM based on a change in at least one of a program time and an erase time of the NVSM. 
     
     
       10. The hybrid drive as recited in  claim 7 , wherein the control circuitry is further operable to determine the life remaining of the NVSM based on a number of error correction code (ECC) errors detected during read operations. 
     
     
       11. The hybrid drive as recited in  claim 7 , wherein the control circuitry is further operable to:
 cache write data received from a host in the NVSM; 
 flush the write data cached in the NVSM to the disk; and 
 when the life remaining of the NVSM falls below the threshold, disable the caching of write data in the NVSM. 
 
     
     
       12. A hybrid drive comprising:
 a disk comprising a plurality of data tracks; 
 a head actuated over the disk; 
 a non-volatile semiconductor memory (NVSM) comprising a plurality blocks, wherein each block comprises a plurality of memory segments; and 
 control circuitry operable to:
 receive write data from a host; 
 concurrently write the write data to both the disk and the NVSM; 
 garbage collect the blocks comprising invalid memory segments; 
 when a life remaining of a target block falls below a threshold, the control circuitry is further operable to permanently disable the garbage collection of the target block while a valid page remains in the target block until a corresponding logical block address is overwritten; and 
 
 determine the life remaining of the target block based on a change in at least one of a program time and an erase time of the target block. 
 
     
     
       13. The hybrid drive as recited in  claim 12 , wherein the control circuitry is further operable to determine the life remaining of the target block based on a number of error correction code (ECC) errors detected when reading the target block. 
     
     
       14. A method of operating a hybrid drive, the hybrid drive comprising a disk comprising a plurality of data tracks, a head actuated over the disk, and a non-volatile semiconductor memory (NVSM) comprising a plurality of blocks, each block comprising a plurality of memory segments, the method comprising:
 when a life remaining of the NVSM falls below a threshold, marking the NVSM as read only; 
 receiving a write command from a host including write data; 
 concurrently writing the write data to both the disk and the NVSM; 
 when the NVSM is marked as read only, writing the write data to the disk and permanently invalidating a corresponding memory segment in the NVSM; 
 garbage collecting the blocks comprising invalid memory segments; and 
 when a number of error correction code (ECC) errors exceeds a threshold during a read operation of a target block, disabling the garbage collection of the target block. 
 
     
     
       15. The method as recited in  claim 14 , further comprising determining the life remaining of the NVSM based on a number of program/erase cycles executed on the NVSM. 
     
     
       16. The method as recited in  claim 14 , further comprising determining the life remaining of the NVSM based on a change in at least one of a program time and an erase time of the NVSM. 
     
     
       17. The method as recited in  claim 14 , further comprising determining the life remaining of the NVSM based on a number of error correction code (ECC) errors detected during read operations. 
     
     
       18. The method as recited in  claim 14 , wherein prior to marking the NVSM as read only, further comprising copying data from the disk to free memory segments of the NVSM. 
     
     
       19. The method as recited in  claim 14 , further comprising:
 caching write data received from a host in the NVSM; 
 flushing the write data cached in the NVSM to the disk; and 
 prior to marking the NVSM as read only, disabling the caching of write data in the NVSM. 
 
     
     
       20. A method of operating a hybrid drive, the hybrid drive comprising a disk comprising a plurality of data tracks, a head actuated over the disk, and a non-volatile semiconductor memory (NVSM) comprising a plurality of blocks, wherein each block comprises a plurality of memory segments, the method comprising:
 receive write data from a host; 
 concurrently write the write data to both the disk and the NVSM; 
 garbage collecting the blocks comprising invalid memory segments; and 
 when a life remaining of the NVSM falls below a threshold, permanently disabling the garbage collection of the blocks. 
 
     
     
       21. The method as recited in  claim 20 , further comprising determining the life remaining of the NVSM based on a number of program/erase cycles executed on the NVSM. 
     
     
       22. The method as recited in  claim 20 , further comprising determining the life remaining of the NVSM based on a change in at least one of a program time and an erase time of the NVSM. 
     
     
       23. The method as recited in  claim 20 , further comprising determining the life remaining of the NVSM based on a number of error correction code (ECC) errors detected during read operations. 
     
     
       24. The method as recited in  claim 20 , further comprising:
 caching write data received from a host in the NVSM; 
 flushing the write data cached in the NVSM to the disk; and 
 when the life remaining of the NVSM falls below the threshold, disabling the caching of write data in the NVSM. 
 
     
     
       25. A method of operating a hybrid drive, the hybrid drive comprising a disk comprising a plurality of data tracks, a head actuated over the disk, and a non-volatile semiconductor memory (NVSM) comprising a plurality of blocks, wherein each block comprises a plurality of memory segments, the method comprising:
 receive write data from a host; 
 concurrently write the write data to both the disk and the NVSM; 
 garbage collecting the blocks comprising invalid memory segments; 
 when a life remaining of a target block falls below a threshold, permanently disabling the garbage collection of the target block while a valid page remains in the target block until a corresponding logical block address is overwritten; and 
 determining the life remaining of the target block based on a change in at least one of a program time and an erase time of the target block. 
 
     
     
       26. The method as recited in  claim 25 , further comprising determining the life remaining of the target block based on a number of error correction code (ECC) errors detected when reading the target block.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.