IP Library Granted Patent US 9,965,198
Granted Patent B2
US 9,965,198 · App. 15/216,541 · Granted May 8, 2018

Internally preconditioning solid state drives for various workloads

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,965,198
App. No.
15/216,541
Granted
May 8, 2018
Kind
B2
Abstract

Systems and methods for internally preconditioning SSDs for various workloads are disclosed. One such method involves (1) receiving preconditioning parameters including an invalidity distribution across ribbons, a transfer size of workloads, and a randomness of workloads, (2) generating workload data including a percentage of random data and a percentage of non-random data, where the percentages are based on the randomness of workloads parameter, (3) determining preselected physical block addresses (PBAs) of a ribbon using the invalidity distribution parameter, (4) writing a portion of the workload data to each of the preselected PBAs of the ribbon using a preselected transfer size until the ribbon is full, where the transfer size is based on the transfer size of workloads parameter, (5) marking all PBAs of the ribbon that were not preselected using the invalidity distribution parameter as being invalid, and (6) repeating (2) to (5) until a preselected end condition is met.

Claims (49)

1. A method for internally preconditioning a solid state drive (SSD) comprising a non-volatile memory (NVM), the method comprising:

(1) receiving a plurality of preselected preconditioning parameters comprising an invalidity distribution across ribbons, a transfer size of workloads, and a randomness of workloads;

(2) generating workload data comprising a preselected percentage of random data and a preselected percentage of non-random data, wherein the preselected percentage of random data and the preselected percentage of non-random data are based on the randomness of workloads parameter;

(3) determining a plurality of preselected physical block addresses (PBAs) of a ribbon of the NVM using the invalidity distribution across ribbons parameter;

(4) writing a portion of the workload data to each of the preselected PBAs of the ribbon using a preselected transfer size until the ribbon is full, wherein the preselected transfer size is based on the transfer size of workloads parameter;

(5) marking all PBAs of the ribbon that were not preselected using the invalidity distribution across ribbons parameter as being invalid; and

(6) repeating (2) to (5) until a preselected end condition is met.

2. The method of claim 1 , wherein the repeating (2) to (5) until the preselected end condition is met comprises repeating (2) to (5) until each ribbon in the NVM is full.

3. The method of claim 1 :

wherein the receiving the plurality of preselected preconditioning parameters comprises receiving, from a host at the SSD, the plurality of preselected precondition parameters;

wherein the generating the workload data comprises generating, at the SSD, the workload data;

wherein the determining the plurality of preselected PBAs comprises determining, at the SSD, the plurality of preselected PBAs; and

wherein the writing a portion of the workload data to each of the preselected PBAs of the ribbon comprises writing, at the SSD, a portion of the workload data to each of the preselected PBAs of the ribbon.

4. The method of claim 1 , further comprising:

searching an indirection table of the SSD for holes; and

writing random data from the workload data to each of the holes.

5. The method of claim 1 , wherein the plurality of preselected preconditioning parameters further comprises an age of ribbons;

the method further comprising:

updating a ribbon erase count table of the SSD based on the age of ribbons parameter.

6. The method of claim 1 , wherein the generating the workload data comprises generating the workload data using a pseudo random number generator.

7. The method of claim 1 , wherein the transfer size of workloads parameter comprises at least one of 4 k blocks or 64 k blocks.

8. The method of claim 1 , wherein the randomness of workloads parameter is a value between zero and one, inclusive.

9. The method of claim 1 , further comprising:

determining logical block addresses for each of the plurality of PBAs using either the random data of the workload data or the non-random data of the workload data; and

wherein the writing the portion of the workload data to each of the preselected PBAs of the ribbon comprises writing one of the logical block addresses to each of the preselected PBAs of the ribbon.

10. A system for internally preconditioning a solid state drive (SSD), the system comprising:

a memory;

a non-volatile memory (NVM);

a processor coupled to the memory and the NVM and configured to:

(1) receive a plurality of preselected precondition parameters comprising an invalidity distribution across ribbons, a transfer size of workloads, and a randomness of workloads;

(2) generate workload data comprising a preselected percentage of random data and a preselected percentage of non-random data, wherein the preselected percentage of random data and the preselected percentage of non-random data are based on the randomness of workloads parameter;

(3) determine a plurality of preselected physical block addresses (PBAs) of a ribbon of the NVM using the invalidity distribution across ribbons parameter;

(4) write a portion of the workload data to each of the preselected PBAs of the ribbon using a preselected transfer size until the ribbon is full, wherein the preselected transfer size is based on the transfer size of workloads parameter;

(5) mark all PBAs of the ribbon that were not preselected using the invalidity distribution across ribbons parameter as being invalid; and

(6) repeat (2) to (5) until a preselected end condition is met.

11. The system of claim 10 , wherein the processor is further configured to repeat (2) to (5) until each ribbon in the NVM is full.

12. The system of claim 10 , wherein the processor is further configured to receive, from a host, the plurality of preselected precondition parameters.

13. The system of claim 10 , wherein the processor is further configured to:

search an indirection table of the SSD for holes; and

write random data from the workload data to each of the holes.

14. The system of claim 10 :

wherein the plurality of preselected preconditioning parameters further comprises an age of ribbons; and

wherein the processor is further configured to update a ribbon erase count table of the SSD based on the age of ribbons parameter.

15. The system of claim 10 , wherein the processor is further configured to generate the workload data using a pseudo random number generator.

16. The system of claim 10 , wherein the transfer size of workloads parameter comprises at least one of 4 k blocks or 64 k blocks.

17. The system of claim 10 , wherein the randomness of workloads parameter is a value between zero and one, inclusive.

18. The system of claim 10 , wherein the processor is further configured to:

determine logical block addresses for each of the plurality of PBAs using either the random data of the workload data or the non-random data of the workload data; and

write one of the logical block addresses to each of the preselected PBAs of the ribbon.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2017
From: HALLETT, TIMOTHY GLEN; NEU, ANTON JOHN; PETERSON, PHILLIP
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 041030/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →