IP Library Granted Patent US 10,031,673
Granted Patent B2
US 10,031,673 · App. 14/850,587 · Granted Jul 24, 2018

Techniques for selecting amounts of over-provisioning

Inventors: Yan Zhang (Milpitas, CA); Fan Zhang (Fremont, CA)
Assignee: SK Hynix Inc.
G06F3/0608G06F3/0631G06F3/0679
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 10,031,673
App. No.
14/850,587
Granted
Jul 24, 2018
Kind
B2
Abstract

A cost function is obtained where an amount of over-provisioning associated with solid state storage is an input of the cost function and a cost for a given amount of over-provisioning is an output of the cost function. An amount of over-provisioning is determined using the cost function and the amount of over-provisioning for the solid state storage is set to be the determined amount.

Claims (72)

1. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

obtain a cost function, wherein an amount of over-provisioning associated with solid state storage is an input of the cost function and a cost for a given amount of over-provisioning is an output of the cost function;

obtain a write amplification function, wherein the amount of over-provisioning associated with the solid state storage is an input of the write amplification function and an amount of write amplification for the given amount of over-provisioning is an output of the write amplification function;

determine an amount of over-provisioning by combining the cost function and the write amplification function in order to obtain a combined function, and finding a minimum of the combined function; and

set the amount of over-provisioning for the solid state storage to be the determined amount.

2. The system recited in claim 1 , wherein the solid state storage includes spare space and user space.

3. The system recited in claim 2 , wherein:

the spare space includes a cache that includes one or more single-level cells (SLC); and

the user space includes one or more multi-level cells (MLC).

4. The system recited in claim 1 , wherein determining the amount of over-provisioning further includes:

determining a threshold using the minimum of the combined function;

determining a range of acceptable amounts of over-provisioning, including by determining amounts of over-provisioning which correspond to a combined cost and write amplification less than the threshold; and

selecting one of the amounts of over-provisioning from the range of acceptable amounts.

5. The system recited in claim 4 , wherein selecting one of the amounts of over-provisioning from the range of acceptable amounts includes:

obtaining a plurality of over-provisioning functions, wherein:

each over-provisioning function in the plurality inputs an amount of wear;

each over-provisioning function in the plurality outputs an amount of over-provisioning for a given amount of wear; and

each over-provisioning function has an initial amount of over-provisioning;

obtaining a threshold amount of over-provisioning associated with an age of interest;

identifying which over-provisioning functions in the plurality of over-provisioning functions have an amount of over-provisioning greater than the threshold amount at the age of interest; and

determining the initial amounts of over-provisioning corresponding to the identified over-provisioning functions.

6. The system recited in claim 1 , wherein the cost function depends upon one or more of the following: a bit density of a user space or a bit density of the over-provisioning.

7. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

obtain a plurality of over-provisioning functions associated with solid state storage, wherein:

each over-provisioning function in the plurality inputs an amount of wear;

each over-provisioning function in the plurality outputs an amount of over-provisioning for a given amount of wear; and

each over-provisioning function has an initial amount of over-provisioning;

obtain a threshold amount of over-provisioning associated with an age of interest;

identify which over-provisioning functions in the plurality of over-provisioning functions have an amount of over-provisioning greater than the threshold amount at the age of interest; and

determine the initial amounts of over-provisioning corresponding to the identified over-provisioning functions.

8. The system recited in claim 7 , wherein the solid state storage includes spare space and user space.

9. The system recited in claim 8 , wherein:

the spare space includes a cache that includes one or more single-level cells (SLC); and

the user space includes one or more multi-level cells (MLC).

10. A method, comprising:

obtaining a cost function, wherein an amount of over-provisioning associated with solid state storage is an input of the cost function and a cost for a given amount of over-provisioning is an output of the cost function;

obtaining a write amplification function, wherein the amount of over-provisioning associated with the solid state storage is an input of the write amplification function and an amount of write amplification for the given amount of over-provisioning is an output of the write amplification function;

using a processor to determine an amount of over-provisioning by combining the cost function and the write amplification function in order to obtain a combined function, and finding a minimum of the combined function; and

setting the amount of over-provisioning for the solid state storage to be the determined amount.

11. The method recited in claim 10 , wherein the solid state storage includes spare space and user space.

12. The method recited in claim 11 , wherein:

the spare space includes a cache that includes one or more single-level cells (SLC); and

the user space includes one or more multi-level cells (MLC).

13. The method recited in claim 10 , wherein determining the amount of over-provisioning further includes:

determining a threshold using the minimum of the combined function;

determining a range of acceptable amounts of over-provisioning, including by determining amounts of over-provisioning which correspond to a combined cost and write amplification less than the threshold; and

selecting one of the amounts of over-provisioning from the range of acceptable amounts.

14. The method recited in claim 13 , wherein selecting one of the amounts of over-provisioning from the range of acceptable amounts includes:

obtaining a plurality of over-provisioning functions, wherein:

each over-provisioning function in the plurality inputs an amount of wear;

each over-provisioning function in the plurality outputs an amount of over-provisioning for a given amount of wear; and

each over-provisioning function has an initial amount of over-provisioning;

obtaining a threshold amount of over-provisioning associated with an age of interest;

identifying which over-provisioning functions in the plurality of over-provisioning functions have an amount of over-provisioning greater than the threshold amount at the age of interest; and

determining the initial amounts of over-provisioning corresponding to the identified over-provisioning functions.

15. The method recited in claim 10 , wherein the cost function depends upon one or more of the following: a bit density of a user space or a bit density of the over-provisioning.

16. A method, comprising:

obtaining a plurality of over-provisioning functions associated with solid state storage, wherein:

each over-provisioning function in the plurality inputs an amount of wear;

each over-provisioning function in the plurality outputs an amount of over-provisioning for a given amount of wear; and

each over-provisioning function has an initial amount of over-provisioning;

obtaining a threshold amount of over-provisioning associated with an age of interest;

using a processor to identify which over-provisioning functions in the plurality of over-provisioning functions have an amount of over-provisioning greater than the threshold amount at the age of interest; and

using the processor to determine the initial amounts of over-provisioning corresponding to the identified over-provisioning functions.

17. The method recited in claim 16 , wherein the solid state storage includes spare space and user space.

18. The method recited in claim 17 , wherein:

the spare space includes a cache that includes one or more single-level cells (SLC); and

the user space includes one or more multi-level cells (MLC).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2018
From: ZHANG, YAN; ZHANG, FAN
To: SK HYNIX INC.
Reel/Frame 046205/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: SK HYNIX MEMORY SOLUTIONS INC.
To: SK HYNIX INC.
Reel/Frame 044899/0443 →
Continuity (2)
Provisional Application 62056292 · Sep 26, 2014
Related Publication 20160092114A1 · Mar 31, 2016