IP Library Granted Patent US 9,852,799
Granted Patent B2
US 9,852,799 · App. 14/601,794 · Granted Dec 26, 2017

Configuration parameter management for non-volatile data storage

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,852,799
App. No.
14/601,794
Granted
Dec 26, 2017
Kind
B2
Abstract

Apparatuses, systems, and methods are disclosed for managing configuration parameters for non-volatile data storage. A control module is configured to manage differences in one or more storage characteristics for blocks of a non-volatile memory medium within one or more established limits. A block classification module is configured to group blocks of a non-volatile memory medium based on one or more other storage characteristics. A configuration parameter module is configured to use a configuration parameter for at least one group of blocks based on a grouping. A configuration parameter update module is configured to update a configuration parameter for at least one group in response to a change in one or more managed storage characteristics.

Claims (35)

1. A method comprising:

programming and erasing blocks of a non-volatile storage medium such that variation of a program/erase cycle count for the blocks remains within a predetermined range;

grouping the blocks of the non-volatile storage medium based on retention times for the blocks, wherein the blocks are grouped using larger ranges of retention times for groups associated with larger retention times;

determining a new configuration parameter for at least one of the groups of blocks in response to a change in the program/erase cycle count, the new configuration parameter comprising a voltage parameter; and

accessing the at least one group of blocks using the new configuration parameter.

2. The method of claim 1 , further comprising storing a single set of one or more configuration parameters per group such that the single set for a group is used for blocks of the group.

3. The method of claim 1 , further comprising controlling variation for an erase dwell time for the blocks of the non-volatile storage medium, the erase dwell time comprising an elapsed time between erasing one of the blocks and writing data to the erased block.

4. The method of claim 1 , wherein grouping the blocks is further based on one or more of die-to-die variation and a partially programmed state for one or more of the blocks of the non-volatile storage medium.

5. The method of claim 1 , further comprising storing, for each group, a set of one or more threshold values for boundaries between discrete values stored by storage cells of the non-volatile storage medium.

6. The method of claim 1 , further comprising updating the configuration parameter for a block in response to regrouping the block based on a change in a retention time for the block.

7. The method of claim 1 , wherein determining the new configuration parameter for one of the groups of blocks comprises:

sampling one or more blocks from the group;

accessing the sampled blocks multiple times with different values for the new configuration parameter; and

selecting a value from the different values for the new configuration parameter based on an error characteristic for the sampled blocks.

8. The method of claim 1 , wherein determining the new configuration parameter for one of the groups of blocks comprises selecting the new configuration parameter from a set of predetermined configuration parameters based on the grouping.

9. The method of claim 1 , wherein the change in the program/erase cycle count comprises the program/erase cycle count satisfying a threshold.

10. An apparatus comprising:

a control module configured to program and erase blocks of a non-volatile storage medium such that variation of a program/erase cycle count for the blocks remains within a predetermined range;

a block classification module configured to group the blocks of the non-volatile storage medium based on retention times for the blocks, wherein the blocks are grouped using larger ranges of retention times for groups associated with larger retention times;

a configuration parameter update module configured to determine a new configuration parameter for at least one of the groups of blocks in response to a change in the program/erase cycle count, the new configuration parameter comprising a voltage parameter; and

a block access module configured to access the at least one group of blocks using the new configuration parameter,

wherein the control module, the block classification module, the configuration parameter update module, and the block access module comprise one or more of logic hardware and executable code, the executable code stored on a non-transitory computer readable medium.

11. The apparatus of claim 10 , further comprising a configuration parameter module configured to store a single set of one or more configuration parameters per group such that the single set for a group is used for blocks of the group.

12. The apparatus of claim 10 , wherein the control module is further configured to control variation for an erase dwell time for the blocks of the non-volatile storage medium.

13. The apparatus of claim 10 , further comprising a block access module configured to use a first configuration parameter to access a fully programmed block and to use a second configuration parameter, different from the first configuration parameter, to access a partially programmed block.

14. A system comprising:

a non-volatile storage device comprising a non-volatile storage medium; and

a controller for the non-volatile storage device, that

programs and erases blocks of the non-volatile storage medium such that variation of a program/erase cycle count for the blocks remains within a predetermined range;

groups the blocks of the non-volatile storage medium based on retention times for the blocks, wherein the blocks are grouped using larger ranges of retention times for groups associated with larger retention times;

determines a new configuration parameter for at least one of the groups of blocks in response to a change in the program/erase cycle count, the new configuration parameter comprising a voltage parameter; and

accesses the at least one group of blocks using the new configuration parameter.

15. The system of claim 14 , wherein the controller updates the configuration parameter for a block in response to regrouping the block based on a change in a retention time for the block.

16. The system of claim 14 , wherein the controller stores a single set of one or more configuration parameters per group such that the single set for a group is used for blocks of the group.

17. The system of claim 14 , wherein the controller comprises one or more of a hardware controller for the non-volatile storage device and a device driver for the non-volatile storage device, the device driver comprising computer executable code stored on a non-volatile computer readable storage medium.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070778/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2015
From: PETERSON, JAMES; JANIK, GARY; HYUN, JEA
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 034879/0632 →