IP Library Granted Patent US 9,361,029
Granted Patent B2
US 9,361,029 · App. 14/611,088 · Granted Jun 7, 2016

System, method, and apparatus for improving the utility of storage media

Inventors: John Strasser (Kaysville, UT); David Flynn (Sandy, UT); Jeremy Fillingim (Salt Lake City, UT); Robert Wood (Niwot, CO); Jea Hyun (Los Altos, CA); Hairong Sun (Superior, CO)
Assignee: SANDISK TECHNOLOGIES, INC.
G06F3/0614G06F3/0629G06F3/0679G06F11/0793G06F11/1068G06F11/26G06F12/0246G11C11/56G11C16/26G11C16/28G11C16/3404G11C16/3418G11C29/02G11C29/026G11C29/028G11C29/42G11C29/50016G11C16/00G11C2029/0409
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,361,029
App. No.
14/611,088
Granted
Jun 7, 2016
Kind
B2
Abstract

One method for improving the utility of solid-state storage media within a solid state storage device includes referencing one or more storage media characteristics for a set of storage cells of the solid-state storage media. The method also includes determining a configuration parameter for the set of storage cells based on the one or more storage media characteristics. The method includes configuring the set of storage cells to use the determined configuration parameter. The configuration parameter includes a parameter of the set of storage cells modifiable by a module external to the solid-state storage device by way of an interface. The module external to the solid-state storage device includes a device driver executing on a host device.

Claims (37)

1. An apparatus to improve the utility of solid-state storage media, the apparatus comprising:

a media characteristic module that references one or more storage media characteristics for a set of storage cells of solid-state storage media;

a configuration parameter module that determines a configuration parameter for the set of storage cells based on the one or more storage media characteristics; and

a storage cell configuration module that configures the set of storage cells to use the determined configuration parameter, wherein configuring the set of storage cells to use the determined configuration parameter comprises communicating with a device driver executing on a host device external to the apparatus.

2. The apparatus of claim 1 , further comprising a characteristic update module that updates the one or more storage media characteristics for the set of storage cells in response to an update event.

3. The apparatus of claim 1 , further comprising a configuration update module that updates the configuration parameter for the set of storage cells in response to a change in the one or more storage media characteristics.

4. The apparatus of claim 1 , wherein the media characteristic module maintains the one or more storage media characteristics for the set of storage cells in a storage media characteristic repository comprising storage media characteristics for a plurality of different sets of storage cells of the solid-state storage media.

5. The apparatus of claim 1 , wherein the configuration parameter module maintains the determined configuration parameter for the set of storage cells in a configuration parameter repository comprising configuration parameters for a plurality of different sets of storage cells of the solid-state storage media.

6. The apparatus of claim 1 , wherein the one or more storage media characteristics comprise one or more of a program/erase cycle count for the set of storage cells, a read count for the set of storage cells, a retention time since a previous write for the set of storage cells, a temperature for the set of storage cells, a use case for the set of storage cells, and an error statistic for the set of storage cells.

7. The apparatus of claim 1 , wherein the storage cell configuration module communicates with the device driver by calling an Application Programming Interface (API) of the device driver.

8. A system to improve the utility of solid-state storage media, the system comprising:

a solid-state storage device, the solid-state storage device comprising solid-state storage media;

a media characteristic module that references one or more storage media characteristics for a set of storage cells of the solid-state storage media;

a configuration parameter module that determines a configuration parameter for the set of storage cells based on the one or more storage media characteristics; and

a storage cell configuration module that configures the set of storage cells to use the determined configuration parameter,

wherein the storage cell configuration module uses an interface of the set of storage cells to configure the set of storage cells by communicating with a device driver installed on a host device in communication with the solid-state storage device.

9. The system of claim 8 , wherein the storage cell configuration module communicates with the device driver by calling an Application Programming Interface (API) of the device driver.

10. A method to improve the utility of solid-state storage media comprised within a solid state storage device, the method comprising:

referencing one or more storage media characteristics for a set of storage cells of the solid-state storage media;

determining a configuration parameter for the set of storage cells based on the one or more storage media characteristics; and

configuring the set of storage cells to use the determined configuration parameter wherein the configuration parameter comprises a parameter of the set of storage cells modifiable by a module external to the solid-state storage device by way of an interface, wherein the module external to the solid-state storage device comprises a device driver executing on a host device.

11. The method of claim 10 , further comprising updating the one or more storage media characteristics for the set of storage cells in response to an update event.

12. The method of claim 11 , wherein the update event comprises one or more of a background scan of the solid-state storage media comprising the set of storage cells, a read request for the set of storage cells, a read request for neighboring storage cells of the set of storage cells, a startup operation for a device comprising the set of storage cells, a shutdown operation for a device comprising the set of storage cells, and a garbage collection operation for the set of storage cells.

13. The method of claim 10 , further comprising updating the configuration parameter for the set of storage cells in response to a change in the one or more storage media characteristics.

14. The method of claim 10 , further comprising determining a plurality of additional configuration parameters for a plurality of different sets of storage cells of the solid-state storage media based on storage media characteristics for the plurality of different sets of storage cells and configuring the plurality of different sets of storage cells to use the plurality of additional configuration parameters.

15. The method of claim 10 , wherein the configuration parameter comprises a parameter of the set of storage cells modifiable by way of an interface, the configuration parameter selected from the group comprising a read voltage, a step magnitude for an incremental step pulse programming operation, a maximum number of iterations for an incremental step pulse programming operation, a program verify threshold for a program operation, an initial bias for an incremental step pulse programming operation, a step magnitude for an incremental step pulse erase operation, a maximum number of iterations for an incremental step pulse erase operation, an erase verify threshold for an erase operation, and an initial bias for an incremental step pulse erase operation.

16. The method of claim 10 , wherein configuring the set of storage cells to use the determined configuration parameter further comprises configuring the set of storage cells to use the determined configuration parameter in response to a trigger.

17. The method of claim 16 , wherein the trigger comprises one of, a change in the one or more storage media characteristics, a read request for the set of storage cells, a startup operation for a device comprising the set of storage cells, and a regular shutdown operation for a device comprising the set of storage cells.

18. The method of claim 10 , wherein the one or more storage media characteristics comprise one or more of a program/erase cycle count for the set of storage cells, a read count for the set of storage cells, a retention time since a previous write for the set of storage cells, a temperature for the set of storage cells, a use case for the set of storage cells, and an error statistic for the set of storage cells.

19. The method of claim 10 , wherein the determined configuration parameter is based on a target set of storage cells, the target set of storage cells having controlled use characteristics.

20. The method of claim 19 , wherein the determined configuration parameter for the set of storage cells is based on one of a determined configuration parameter for the target set of storage cells and one or more storage media characteristics for the target set of storage cells.

21. The method of claim 19 , wherein determining the configuration parameter for the set of storage cells comprises,

comparing the at least one of the one or more storage media characteristics for the set of storage cells to at least one storage media characteristic for the target set of storage cells; and

determining the configuration parameter for the set of storage cells based on a difference between the at least one storage media characteristic for the set of storage cells and the at least one storage media characteristic for the target set of storage cells.

22. The method of claim 10 , wherein configuring the set of storage cells to use the determined configuration parameter comprises calling an Application Programming Interface (API) of the device driver.

23. The method of claim 10 , further comprising the device driver modifying the configuration parameter of the set of storage cells.

24. The method of claim 10 , wherein the referencing, determining and configuring are performed by a storage controller comprised within the solid-state storage media.

Assignments (7)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 Mar 31, 2016
From: LONGITUDE ENTERPRISE FLASH SARL
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 038324/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2016
From: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
To: PS12 LUXCO S.A.R.L.
Reel/Frame 037516/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2016
From: PS12 LUXCO S.A.R.L.
To: LONGITUDE ENTERPRISE FLASH S.A.R.L.
Reel/Frame 037516/0265 →
Continuity (9)
Continuation 14486974 · Sep 15, 2014
Continuation 14106566 · Dec 13, 2013
Continuation 13719045 · Dec 18, 2012
Continuation In Part 13189402 · Jul 22, 2011
Continuation In Part 13015458 · Jan 27, 2011
Continuation In Part 13175637 · Jul 1, 2011
Provisional Application 61298861 · Jan 27, 2010
Provisional Application 61305205 · Feb 17, 2010
Related Publication 20150149817A1 · May 28, 2015