IP Library Patent Application 14597161
Patent Application
App. No. 14/597,161

Methods and Systems for Scalable Reliability Management of Non-Volatile Memory Modules

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 None
App. No.
14/597,161
Abstract

The various implementations described herein include systems, methods and/or devices used to perform a method of reliability management of data in a storage device having a plurality of memory modules. The method includes receiving or accessing a host command to perform a specified operation on a portion of non-volatile memory within a storage device. The method also includes, at a storage controller for the storage device, identifying a module of the plurality of modules, in accordance with the host command. The method includes, at the identified module, retrieving health information for the portion of non-volatile memory within the identified module, modifying one or more memory operation parameters in accordance with the specified operation and the retrieved health information, and executing the specified operation on the portion of non-volatile memory in the identified module in accordance with the one or more modified memory operation parameters.

Claims (59)

1 . A method of performing operations in a storage device having a plurality of NVM modules, comprising:

processing a host command, the host command specifying an operation to be performed on a portion of non-volatile memory within the storage device, by:

at a storage controller for the storage device:

identifying an NVM module of the plurality of NVM modules, in accordance with the host command;

at the identified NVM module:

retrieving health information for the portion of non-volatile memory within the identified NVM module;

modifying one or more memory operation parameters in accordance with the specified operation and the retrieved health information; and

executing the specified operation on the portion of non-volatile memory in the identified NVM module in accordance with the one or more modified memory operation parameters.

2 . The method of claim 1 , further comprising, at the identified NVM module:

updating the health information for the portion of non-volatile memory, after executing the specified operation.

3 . The method of claim 2 , wherein updating the health information for the portion of non-volatile memory comprises:

measuring one or more health metrics of the portion of non-volatile memory;

assigning a score to the portion of non-volatile memory in accordance with the one or more measured health metrics and in accordance with one or more health metric thresholds; and

storing the score with the health information for the portion of non-volatile memory.

4 . The method of claim 1 , further comprising, at the identified NVM module:

conveying health information stored within the NVM module to the storage controller.

5 . The method of claim 1 , wherein the health information for the portion of non-volatile memory comprises one or more of the following with respect to the portion: the number of cycles required for the last program or erase operation, the last time an operation of any type was performed, the last time an operation of a particular type was performed, the duration of execution of the last operation, the duration of execution of the last operation of a particular type, the average duration of execution of all operations, the number of bit errors, the location of bit errors, the number of operations performed and the number of operations of a particular type performed.

6 . The method of claim 1 , wherein the one or more memory operation parameters comprise one or more of: write operation voltage, write operation step voltage, dynamic read parameters or operation-dependent bias voltages.

7 . The method of claim 1 , wherein the health information for the portion of non-volatile memory is stored in non-volatile memory within the NVM module.

8 . The method of claim 1 , wherein the portion of non-volatile memory is an erase block.

9 . The method of claim 1 , further comprising, at the identified NVM module:

in accordance with a determination that the storage device is experiencing a power fail condition:

transferring at least a subset of the health information from volatile memory in the NVM module to non-volatile memory.

10 . The method of claim 1 , wherein the storage device comprises one or more flash memory devices.

11 . A storage device, comprising:

an interface for coupling the storage device to a host system; and

a storage controller having one or more processors, the storage controller configured to:

receive or access a host command specifying an operation to be performed on a portion of non-volatile memory within the storage device;

identify an NVM module of the plurality of NVM modules, in accordance with the host command;

an NVM module having one or more processors, the NVM module configured to:

retrieve health information for the portion of non-volatile memory within the identified NVM module;

modify one or more memory operation parameters in accordance with the specified operation and the retrieved health information; and

execute the specified operation on the portion of non-volatile memory in the identified NVM module in accordance with the one or more modified memory operation parameters.

12 . The storage device of claim 11 , wherein the NVM module is further configured to:

update the health information for the portion of non-volatile memory, after executing the specified operation.

13 . The storage device of claim 12 , wherein updating the health information for the portion of non-volatile memory comprises the NVM module being further configured to:

measure one or more health metrics of the portion of non-volatile memory;

assign a score to the portion of non-volatile memory in accordance with the one or more measured health metrics and in accordance with one or more health metric thresholds; and

store the score with the health information for the portion of non-volatile memory.

14 . The storage device of claim 11 , wherein the NVM module is further configured to:

convey health information stored within the NVM module to the storage controller.

15 . The storage device of claim 11 , wherein the health information for the portion of non-volatile memory comprises one or more of the following with respect to the portion: the number of cycles required for the last program or erase operation, the last time an operation of any type was performed, the last time an operation of a particular type was performed, the duration of execution of the last operation, the duration of execution of the last operation of a particular type, the average duration of execution of all operations, the number of bit errors, the location of bit errors, the number of operations performed and the number of operations of a particular type performed.

16 . The storage device of claim 11 , wherein the one or more memory operation parameters comprise one or more of: write operation voltage, write operation step voltage, dynamic read parameters or operation-dependent bias voltages.

17 . The storage device of claim 11 , wherein the health information for the portion of non-volatile memory is stored in non-volatile memory within the NVM module.

18 . The storage device of claim 11 , wherein the portion of non-volatile memory is an erase block.

19 . The storage device of claim 11 , wherein the NVM module is further configured to:

in accordance with a determination that the storage device is experiencing a power fail condition:

transfer at least a subset of the health information from volatile memory in the NVM module to non-volatile memory.

20 . The storage device of claim 11 , wherein the storage device comprises one or more flash memory devices.

21 . A storage device, comprising:

an interface for coupling the storage device to a host system;

a plurality of NVM modules, each NVM module including two or more non-volatile memory devices; and

a storage controller having one or more processors, the storage controller including:

a command module to receive or access a host command specifying an operation to be performed on a portion of non-volatile memory within the storage device; and

a map module to identify an NVM module of the plurality of NVM modules, in accordance with the host command;

the identified NVM module including:

a health management module for retrieving health information for the portion of non-volatile memory within the identified NVM module;

a memory operation configuration module to modify one or more memory operation parameters in accordance with the specified operation and the retrieved health information; and

an execution module to execute the specified operation on the portion of non-volatile memory, in the identified NVM module, in accordance with the one or more modified memory operation parameters.

Assignments (3)
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 29, 2016
From: SANDISK ENTERPRISE IP LLC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038295/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2015
From: MOHAN, VIDYABHUSHAN; FRAYER, JACK EDWARD
To: SANDISK ENTERPRISE IP LLC
Reel/Frame 035082/0870 →