Background selection of voltage reference values for performing memory read operations
AssigneeWestern Digital Technologies, Inc.
InventorRobert L. Horn
Life of this patent
Estimating the term…
Abstract
A storage subsystem implements a background process for selecting voltage reference values to use for reading data from a non-volatile memory array, such as an array of multi-level cell (MLC) flash memory. The process involves performing background read operations using specific sets of voltage reference values while monitoring the resulting bit error counts. The selected voltage reference values for specific pages or other blocks of the array are stored in a table. Read operations requested by a host system are executed using the corresponding voltage reference values specified by the table.
Claims18
A storage subsystem, comprising:
- an array of non-volatile memory comprising solid state memory devices, said array using programmable voltage reference values to determine states of memory cells within said solid state memory devices;
- and
- a controller configured to
- write data to, and read data from, the array of non-volatile memory in response to commands received from a host system,
- maintain a table that specifies, for each of a plurality of blocks of the array of non-volatile memory, a respective set of one or more voltage reference values to be used for reading data from the block, and
- test and update the voltage reference values specified by the table by performing background read operations on the array while monitoring error counts that result from the background read operations performed using specific sets of voltage reference values.
In a storage subsystem comprising a non-volatile memory array that uses programmable voltage reference values to determine states of memory cells, a method for selecting voltage reference values to use for performing host-initiated memory read operations, the method comprising:
- performing a background read operation of a block of memory of the non-volatile memory array using an initial set of one or more voltage reference values;
- in response to determining that a bit error count resulting from the background read operation exceeds a selected threshold, identifying an alternate set of one or more voltage reference values that produces a reduced bit error count, wherein identifying the alternate set comprises performing at least one additional background read operation of said block;
- and
- storing data that specifies the alternate set of one or more voltage reference values for subsequent use in performing a host-initiated memory read operation of said block.
Dependencies are inferred from the claim text.