Variable Over-Provisioning For Non-Volatile Storage
First Claim
1. A system comprising:
- a means for operating all or any portions of one or more flash memories as respective allocations dedicated respectively to host data, system data, system over-provisioning (OP), and host OP;
a means for dynamically determining any one or more of the respective allocations in response to one or more events;
wherein the means for operating and the means for dynamically determining are comprised in a controller of a Solid-State Disk (SSD) and the flash memories are comprised in the SSD; and
wherein the events comprise a change in a used amount of the host data allocation due at least in part to a change in compression of host data stored in the host data allocation.
4 Assignments
0 Petitions
Accused Products
Abstract
Dynamically varying Over-Provisioning (OP) enables improvements in lifetime, reliability, and/or performance of a Solid-State Disk (SSD) and/or a flash memory therein. A host coupled to the SSD writes newer data to the SSD. If the newer host data is less random than older host data, then entropy of host data on the SSD decreases. In response, an SSD controller of the SSD dynamically alters allocations of the flash memory, decreasing host allocation and increasing OP allocation. If the newer host data is more random, then the SSD controller dynamically increases the host allocation and decreases the OP allocation. The SSD controller dynamically allocates the OP allocation between host OP and system OP proportionally in accordance with a ratio of bandwidths of host and system data writes to the flash memory.
-
Citations
20 Claims
-
1. A system comprising:
-
a means for operating all or any portions of one or more flash memories as respective allocations dedicated respectively to host data, system data, system over-provisioning (OP), and host OP; a means for dynamically determining any one or more of the respective allocations in response to one or more events; wherein the means for operating and the means for dynamically determining are comprised in a controller of a Solid-State Disk (SSD) and the flash memories are comprised in the SSD; and wherein the events comprise a change in a used amount of the host data allocation due at least in part to a change in compression of host data stored in the host data allocation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
operating all or any portions of one or more flash memories as respective allocations dedicated respectively to host data, system data, system over-provisioning (OP), and host OP; dynamically determining any one or more of the respective allocations in response to one or more events; wherein the operating and the dynamically determining are performed by a controller comprised in a Solid-State Disk (SSD); and wherein the events comprise a change in a used amount of the host data allocation due at least in part to a change in compression of host data stored in the host data allocation. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A tangible computer readable medium having a set of instructions stored therein that when executed by a processing element cause the processing element to perform and/or control operations comprising:
-
managing all or any portions of one or more flash memories as respective allocations dedicated respectively to host data, system data, system over-provisioning (OP), and host OP; dynamically determining any one or more of the respective allocations in response to one or more events; wherein the tangible computer readable medium and the processing element are comprised in a Solid-State Disk (SSD); and wherein the events comprise a change in a used amount of the host data allocation due at least in part to a change in compression of host data stored in the host data allocation. - View Dependent Claims (17, 18, 19, 20)
-
Specification