Adaptive outer code for consistent overprovisioning (OP) level
AssigneeSeagate Technology LLC
InventorTimothy Canepa
Life of this patent
Estimating the term…
Abstract
Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, a solid-state non-volatile memory (NVM) has a total user data storage capacity and an overprovisioning (OP) level. A control circuit writes parity data sets to the NVM each having a plurality of code words and an outer code. The code words include inner codes at an inner code rate to detect and correct read errors in a user data payload. The outer code includes parity data at an outer code rate to detect and correct read errors in the code words. A code adjustment circuit increases the inner code rate to compensate for a measured parameter associated with the NVM, and decreases the outer code rate to maintain the data capacity and OP levels above selected thresholds.
Claims20
An apparatus comprising:
- a solid-state non-volatile memory (NVM) having a total user data storage capacity and an overprovisioning (OP) level;
- a control circuit configured to write parity data sets to the NVM, each parity data set comprising a plurality of code words and an outer code, each of the plurality of code words comprising a user data payload and an inner code at an inner code rate to detect and correct read errors in the user data payload, the outer code comprising parity data at an outer code rate to detect and correct read errors in the plurality of code words;
- and
- a code adjustment circuit configured to increase the inner code rate of the inner code of at least one parity data set responsive to a measured parameter associated with the NVM, and to decrease the outer code rate of the outer code of the at least one parity data set responsive to the increase of the inner code rate to maintain the total user data storage capacity at or above a first threshold and to maintain the OP level at or above a second threshold.
A method comprising:
- writing a first parity data set to a non-volatile memory (NVM) comprising a plurality of code words and an outer code, each of the plurality of code words comprising a user data payload and an inner code at a first inner code rate to detect and correct read errors in the user data payload, the outer code comprising parity data at a first outer code rate to detect and correct read errors in the plurality of code words;
- measuring a parameter associated with the NVM;
- and
- subsequently writing a second parity data set to the NVM having a second inner code rate greater than the first inner code rate responsive to the measured parameter associated with the NVM and a second outer code rate less than the first outer code rate to maintain a total user data storage capacity of the NVM at or above a first threshold and to maintain an overprovisioning (OP) level of the NVM at or above a second threshold.
Dependencies are inferred from the claim text.