Variable read scan for solid-state storage device quality of service
AssigneeWestern Digital Technologies, Inc.
InventorsNian Yang, Piyush Dhotre, Sahil Sharma
Life of this patent
Estimating the term…
Abstract
A method and apparatus for dynamically determining when, or how often, to do a read scan operation on a solid-state storage drive. One solution adjusts a read scan interval as part of performing a read scan operation. First, a bit error rate is determined for one of a plurality of storage blocks of a non-volatile memory array. Then, a cross temperature metric for the storage block is determined. A read scan interval is changed in response to the cross temperature metric satisfying a cross temperature threshold. Then, data in the storage block is relocated to a free storage block in response to the bit error rate satisfying a relocation threshold.
Claims19
A method, comprising:
- determining a bit error rate for a storage block of a plurality of storage blocks of a non-volatile memory array;
- determining a cross temperature metric for the storage block;
- changing a read scan interval in response to the cross temperature metric for the storage block satisfying a cross temperature threshold;
- and
- relocating data of the storage block to a free storage block in response to the bit error rate satisfying a relocation threshold.
An apparatus, comprising:
- a read scanner configured to read data from a storage block of a plurality of storage blocks of a non-volatile memory array comprising a plurality of memory die, each memory die comprising a temperature sensor;
- an error correction code decoder configured to determine a bit error rate for the data read by the read scanner;
- a health manager configured to determine that the storage block spans a hottest memory die of the plurality of memory die based on a die temperature reported by each temperature sensor;
- a data mover configured to move data of the storage block to a free storage block in response to the bit error rate satisfying a read bit error rate threshold;
- and
- wherein the read scanner is configured to reduce a read scan interval for a read scan operation in response to determining that the storage block spans the hottest memory die.
An apparatus, comprising:
- a plurality of storage blocks;
- a storage controller configured to:
- determine a storage block of the plurality of storage blocks having a bit error rate above a read bit error rate threshold;
- iteratively read data of the storage block using a predetermined number of different read levels;
- in response to successfully reading the data of the storage block via the iterative reads, changing one or more read levels of the storage block to one or more of the predetermined number of different read levels used to successfully read the data of the storage block;
- and
- increase a read scan frequency of the plurality of storage blocks in response to changing the one or more read levels;
- and
- a cross temperature manager configured to:
- determine a cross temperature metric for the storage block;
- and
- change the read scan frequency in response to the cross temperature metric for the storage block satisfying a cross temperature threshold.
An apparatus, comprising:
- a plurality of storage blocks;
- a storage controller configured to:
- determine a storage block of the plurality of storage blocks having a bit error rate above a read bit error rate threshold, wherein each storage block of the plurality of storage blocks spans a plurality of memory die;
- iteratively read data of the storage block using a predetermined number of different read levels;
- in response to successfully reading the data of the storage block via the iterative reads, changing one or more read levels of the storage block to one or more of the predetermined number of different read levels used to successfully read the data of the storage block;
- and
- increase a read scan frequency of the plurality of storage blocks in response to changing the one or more read levels;
- and
- a health manager configured to:
- in response to iteratively attempting to read the data of the storage block, determine that the storage block comprises a hottest memory die of the plurality of memory die based on a die temperature for each memory die the storage block spans;
- and
- change the read scan frequency in response to determining that the storage block comprises the hottest memory die.
Dependencies are inferred from the claim text.