IP Library Granted Patent US 10,963,166
Granted Patent B2
US 10,963,166 · App. 16/282,227 · Granted Mar 30, 2021

Operating parameters for flash memory devices

Inventor: Michael Stephen Rothberg (Foothill Ranch, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0616G06F3/061G06F3/0634G06F3/0659G06F3/0679G06F3/0688G06F12/0246G11C16/3495G06F2212/1041G06F2212/7204G06F2212/7206G06F2212/7208G06F2212/7211G11C16/10G11C16/16
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,963,166
App. No.
16/282,227
Granted
Mar 30, 2021
Kind
B2
Abstract

A machine-implemented method for managing a flash storage system includes determining a projected life value for each of a plurality of flash memory devices in the flash storage system, wherein the projected life value for at least one of the plurality of flash memory devices is higher than the projected life value of at least another one of the plurality of flash memory devices. The method also includes determining operating parameters for each of the plurality of flash memory devices based on the respective projected life values for the plurality of flash memory devices. The method also includes configuring the plurality of flash memory devices based on the determined operating parameters.

Claims (54)

1. A computer-implemented method, comprising:

determining a projected life value for each of a plurality of flash memory devices in a data storage system, wherein for each of the plurality of flash memory devices, the determining the projected life value for the respective flash memory device is based on applying a voltage for cells, within a respective flash memory block of the respective flash memory device, to reach a saturation point, wherein each respective flash memory block is located at a same relative location within the corresponding flash memory device;

for each of the plurality of flash memory devices, determining values of one or more operating parameters for the respective flash memory device based on a comparison of an average projected life value and the projected life value of the respective flash memory device, wherein the average projected life value is based on the projected life value of each of the plurality of flash memory devices; and

configuring the plurality of flash memory devices based on the determined values of the one or more operating parameters.

2. The computer-implemented method of claim 1 , further comprising:

determining the values of the one or more operating parameters by adjusting the values to increase performance of the respective flash memory device when the projected life value of the respective flash memory device is above the average projected life value; and

determining the values of the one or more operating parameters by adjusting the values to increase life of the respective flash memory device when the projected life value of the respective flash memory device is below the average projected life value.

3. The computer-implemented method of claim 1 , further comprising:

associating a first flash memory block of a plurality of flash memory blocks on a first flash memory device of the plurality of flash memory devices with the determined projected life value of the first flash memory device;

receiving a data operation associated with the first flash memory block on the first flash memory device of the plurality of flash memory devices; and

executing the data operation based on the determined values of the one or more operating parameters of the first flash memory device.

4. The computer-implemented method of claim 1 , wherein the determined values of the one or more operating parameters for at least one of the plurality of flash memory devices is different from the determined values of the one or more operating parameters for another of the plurality of flash memory devices.

5. The computer-implemented method of claim 1 , further comprising:

determining, based on the comparison of the average projected life value and the projected life values of flash memory devices, a performance tier of the data storage system.

6. The computer-implemented method of claim 1 ,

wherein the respective flash memory block is used for testing to determine the projected life value for the respective flash memory device, and

wherein the respective flash memory block is unusable for non-testing operation of the respective flash memory device.

7. The computer-implemented method of claim 1 ,

wherein the voltage is a maximum voltage controllable by the respective flash memory device, and

wherein voltage parameters for the maximum voltage comprise a number of voltage pulses required to reach the saturation point or a voltage duration required to reach the saturation point.

8. A data storage system, comprising:

a plurality of flash memory devices; and

a controller,

wherein the controller is configured to:

determine a projected life value for each of the plurality of flash memory devices wherein for each of the plurality of flash memory devices, the controller is configured to determine the projected life value for the respective flash memory device based on applying a voltage for cells, within a respective flash memory block of the respective flash memory device, to reach a saturation point, wherein each respective flash memory block is located at a same relative location within the corresponding flash memory device;

determine, based on a comparison of an average projected life value and the respective projected life values of the plurality of flash memory devices, values of one or more operating parameters for each of the plurality of flash memory devices, wherein the average projected life value is based on the projected life value of each of the plurality of flash memory devices; and

configure the plurality of flash memory devices based on the determined values of the one or more operating parameters.

9. The data storage system of claim 8 , wherein the controller is configured to:

determine the values of the one or more operating parameters to increase performance of the respective flash memory device when the projected life value of the respective flash memory device is above the average projected life value.

10. The data storage system of claim 8 , wherein the controller is configured to:

determine the values of the one or more operating parameters to increase life of the respective flash memory device when the projected life value of the respective flash memory device is below the average projected life value.

11. The data storage system of claim 8 , wherein the controller is configured to:

associate a first flash memory block of a plurality of flash memory blocks on a first flash memory device of the plurality of flash memory devices with the determined projected life value of the first flash memory device.

12. The data storage system of claim 11 , wherein the controller is configured to:

receive a data operation associated with the first flash memory block on the first flash memory device of the plurality of flash memory devices; and

execute the data operation based on the determined values of the one or more operating parameters of the first flash memory device.

13. The data storage system of claim 8 , wherein the values of the one or more operating parameters for at least one of the plurality of flash memory devices is different from the values of the one or more operating parameters for another of the plurality of flash memory devices.

14. The data storage system of claim 8 , wherein the controller is configured to:

determine, based on the comparison of the average projected life value and the projected life values of flash memory devices, a performance tier of the data storage system.

15. A data storage system, comprising:

a plurality of flash memory devices;

means for determining a projected life value for each of the plurality of flash memory devices, wherein for each of the plurality of flash memory devices, the means for determining the projected life value for the respective flash memory device is based on applying a voltage for cells, within a respective flash memory block of the respective flash memory device, to reach a saturation point, wherein each respective flash memory block is located at a same relative location within the corresponding flash memory device;

means for determining values of one or more operating parameters for each of the plurality of flash memory devices based on a comparison of an average projected life value and the respective projected life values of the flash memory devices, wherein the average projected life value is based on the projected life value of each of the plurality of flash memory devices; and

means for configuring the plurality of flash memory devices based on the determined values of the one or more operating parameters.

16. The data storage system of claim 15 ,

wherein the means for determining the values of the one or more operating parameters comprises means for determining the values of the one or more operating parameters by adjusting the values to increase performance of the respective flash memory device when the projected life value of the respective flash memory device is above the average projected life value.

17. The data storage system of claim 15 ,

wherein the means for determining the values of the one or more operating parameters comprises means for determining the values of the one or more operating parameters by adjusting the values to increase life of the respective flash memory device when the projected life value of the respective flash memory device is below the average projected life value.

18. The data storage system of claim 15 , comprising:

means for associating a first flash memory block of a plurality of flash memory blocks on a first flash memory device of the plurality of flash memory devices with the determined projected life value of the first flash memory device.

19. The data storage system of claim 18 , comprising:

means for receiving a data operation associated with the first flash memory block on the first flash memory device of the plurality of flash memory devices; and

means for executing the data operation based on the determined values of the one or more operating parameters of the first flash memory device.

20. The data storage system of claim 15 , wherein the values of the one or more operating parameters for at least one of the plurality of flash memory devices is different from the values of the one or more operating parameters for another of the plurality of flash memory devices.

Assignments (11)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2019
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 048415/0385 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2019
From: ROTHBERG, MICHAEL STEPHEN
To: HGST NETHERLANDS B.V.
Reel/Frame 048417/0516 →