IP Library Granted Patent US 9,535,777
Granted Patent B2
US 9,535,777 · App. 14/087,282 · Granted Jan 3, 2017

Defect management policies for NAND flash memory

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,535,777
App. No.
14/087,282
Granted
Jan 3, 2017
Kind
B2
Abstract

Systems and methods of managing defects in nonvolatile storage systems that can be used to avoid an inadvertent loss of data, while maintaining as much useful memory in the nonvolatile storage systems as possible. The disclosed systems and methods can monitor a plurality of trigger events for detecting possible defects in one or more nonvolatile memory (NVM) devices included in the nonvolatile storage systems, and apply one or more defect management policies to the respective NVM devices based on the types of trigger events that resulted in detection of the possible defects. Such defect management policies can be used proactively to retire memory in the nonvolatile storage systems with increased granularity, focusing the retirement of memory on regions of nonvolatile memory that are likely to contain a defect.

Claims (77)

1. A method of managing defects in a nonvolatile storage system, the nonvolatile storage system including one or more nonvolatile memory (NVM) devices, the method comprising:

monitoring, by an NVM defect management policy engine, a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having corresponding types, the NVM device including a plurality of physical memory pages, each physical memory page including a plurality of NVM storage locations;

having monitored a first trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, determining, by the NVM defect management policy engine, a trigger event type among the corresponding types of the respective trigger events that corresponds to the first trigger event, the first trigger event corresponding to a first NVM storage location among the plurality of NVM storage locations included in a respective one of the plurality of physical memory pages of the NVM device;

determining, by the NVM defect management policy engine, a likelihood of monitoring a second trigger event among the plurality of trigger events that (1) has a same trigger event type as the first trigger event, and (2) corresponds to a second NVM storage location among the plurality of NVM storage locations included in the respective one of the plurality of physical memory pages of the NVM device; and

having determined the likelihood of monitoring the second trigger event, proactively retiring, by the NVM defect management policy engine, the respective one of the plurality of physical memory pages of the NVM device based on the trigger event type of the first trigger event.

2. The method of claim 1 wherein the NVM device includes one or more blocks of nonvolatile memory, wherein the plurality of physical memory pages are included in a respective one of the one or more blocks of nonvolatile memory, and wherein the proactively retiring of the the respective one of the plurality of physical memory pages includes proactively retiring the respective one of the one or more blocks of nonvolatile memory.

3. A method of managing defects in a nonvolatile storage system, the nonvolatile storage system including one or more nonvolatile memory (NVM) devices, the method comprising:

monitoring, by and NVM defect management policy engine, a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having associated types;

having monitored a trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, determining, by the NVM defect management policy engine, a type among the associated types of the respective trigger events that corresponds to the monitored trigger event; and

applying, by the NVM defect management policy engine, at least one defect management policy to the NVM device based on the type of the monitored trigger event,

wherein the plurality of trigger events include a soft bit read trigger event and an exclusive-or (XOR) data recovery trigger event,

wherein the type of the monitored trigger event include one of a soft bit read trigger event type corresponding to the soft bit read trigger event and an XOR data recovery trigger event type corresponding to the XOR data recovery trigger event, and

wherein the applying of the at least one defect management policy to the NVM device includes retiring an NVM storage location of a codeword for which a host processor issued a data read request.

4. The method of claim 3 wherein the applying of the at least one defect management policy to the NVM device includes retiring a physical memory page that includes the NVM storage location of the codeword for which the host processor issued the data read request.

5. A method of managing defects in a nonvolatile storage system, the nonvolatile storage system including one or more nonvolatile memory (NVM) devices, the method comprising:

monitoring, by and NVM defect management policy engine, a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having associated types;

having monitored a trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, determining, by the NVM defect management policy engine, a type among the associated types of the respective trigger events that corresponds to the monitored trigger event; and

applying, by the NVM defect management policy engine, at least one defect management policy to the NVM device based on the type of the monitored trigger event,

wherein the plurality of trigger events include a predetermined number of hard bit read trigger events,

wherein the type of the monitored trigger event includes a hard bit read trigger event type corresponding to the predetermined number of hard bit read trigger events, and

wherein the applying of the at least one defect management policy to the NVM device includes retiring an NVM storage location of a codeword for which a host processor issued one or more data read requests.

6. The method of claim 5 wherein the applying of the at least one defect management policy to the NVM device includes retiring a physical memory page that includes the NVM storage location of the codeword for which the host processor issued the data read requests.

7. The method of claim 6 further comprising:

programming a predetermined random pattern of data onto the physical memory page.

8. The method of claim 6 wherein the retiring of the physical memory page includes retiring a group of pages.

9. The method of claim 6 wherein the retiring of the physical memory page includes retiring a same page in a plurality of blocks in at least one of the one or more NVM devices.

10. A nonvolatile storage system, comprising:

an nonvolatile memory (NVM) controller;

one or more NVM devices communicably coupled to the NVM controller; and

an NVM defect management policy engine communicably coupled to the NVM controller, wherein the NVM defect management policy engine is operative:

to monitor a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having corresponding types, the NVM device including a plurality of physical memory pages, each physical memory page including a plurality of NVM storage locations;

having monitored a first trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, to determine a trigger event type among the corresponding types of the respective trigger events that corresponds to the first trigger event, the first trigger event corresponding to a first NVM storage location among the plurality of NVM storage locations included in a respective one of the plurality of physical memory pages of the NVM device;

to determine a likelihood of monitoring a second trigger event among the plurality of trigger events that (1) has a same trigger event type as the first trigger event, and (2) corresponds to a second NVM storage location among the plurality of NVM storage locations included in the respective one of the plurality of physical memory pages of the NVM device; and

having determined the likelihood of monitoring the second trigger event, to proactively retire the respective one of the plurality of physical memory pages of the NVM device based one the trigger event type of the first trigger event.

11. A computer system, comprising:

a system bus;

a memory bus;

a display communicably coupled to the system bus;

at least one volatile memory coupled to the system bus; and

the nonvolatile storage system of claim 10 communicably coupled to the memory bus.

12. A nonvolatile storage system, comprising:

a nonvolatile memory (NVM) controller;

one or more NVM devices communicably coupled to the NVM controller; and

an NVM defect management policy engine communicably coupled to the NVM controller, wherein the NVM defect management policy engine is operative:

to monitor a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having associated types;

having monitored a trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, to determine a type among the associated types of the respective trigger events that corresponding to the monitored trigger event; and

to apply at least one defect management policy to the NVM device based on the type of the monitored trigger event,

wherein the plurality of trigger events include a soft bit read trigger event and an exclusive-or (XOR) data recovery trigger event,

wherein the type of the monitored trigger event includes one of a soft bit read trigger event type corresponding to the soft bit read trigger event and an XOR data recovery trigger event type corresponding to the XOR data recovery trigger event, and

wherein the NVM defect management policy engine is further operative, having monitored the soft bit read trigger event or the XOR data recovery trigger event, to retire an NVM storage location of a codeword for which a host processor issued a data read request.

13. The system of claim 12 wherein the NVM defect management policy engine is further operative, having monitored the so ft bit read trigger event or the XOR data recovery trigger event, to retire a physical memory page that includes the NVM storage location of the codeword for which the host processor issued the data read request.

14. A nonvolatile storage system, comprising:

a nonvolatile memory (NVM) controller;

one or more NVM devices communicably coupled to the NVM controller; and

an NVM defect management policy engine communicably coupled to the NVM controller, wherein the NVM defect management policy engine is operative:

to monitor a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having associated types;

having monitored a trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, to determine a type among the associated types of the respective trigger events that corresponding to the monitored trigger event; and

to apply at least one defect management policy to the NVM device based on the type of the monitored trigger event,

wherein the plurality of trigger events include a predetermined number of hard bit read trigger events,

wherein the type of the monitored trigger event includes a hard bit read trigger event type corresponding to the predetermined number of hard bit read trigger events, and

wherein the NVM defect management policy engine is further operative, having monitored the predetermined number of hard bit read trigger events, to retire an NVM storage location of a codeword for which a host processor issued one or more data read requests.

15. The system of claim 14 wherein the NVM defect management policy engine is further operative, having monitored the predetermined number of hard bit read trigger events, to retire a physical memory page that includes the NVM storage location of the codeword for which the host processor issued the data read requests.

16. The system of claim 15 wherein the NVM controller is operative to control programming of a predetermined random pattern of data onto the physical memory page.

17. A nonvolatile storage system including one or more nonvolatile memory (NVM) devices, the system comprising:

means for monitoring a plurality of trigger events for detecting one or more possible defects in an NVM device among the one or more NVM devices, the respective trigger events having corresponding types, the NVM device including a plurality of physical memory pages, each physical memory page including a plurality of NVM storage locations;

having monitored a first trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, means for determining a trigger event type among the corresponding types of the respective trigger events that corresponds to the first trigger event, the first trigger event corresponding to a first NVM storage location among the plurality of NVM storage locations included in a respective one of the plurality of physical memory pages of the NVM device;

means for determining a likelihood of monitoring a second trigger event among the plurality of trigger events that (1) has a same trigger event type as the first trigger event, and (2) corresponds to a second NVM storage location among the plurality of NVM storage locations included in the respective one of the plurality of physical memory pages of the NVM device; and

having determined the likelihood of monitoring the second trigger event, means for proactively retiring the respective one of the plurality of physical memory pages of the NVM device based on the trigger event type of the first trigger event.

18. The nonvolatile storage system of claim 17 wherein the NVM device includes one or more blocks of nonvolatile memory, wherein the plurality of physical memory pages are included in a respective one of the one or more blocks of nonvolatile memory, and wherein the means for proactively retiring the respective one of the plurality of physical memory pages includes means for proactively retiring the respective one of the one or more blocks of nonvolatile memory.

19. A non-transitory computer-readable storage medium including executable instructions for accessing data storable within a non-volatile memory (NVM) device in a computer system, the computer system including at least one processor, the non-transitory computer-readable storage medium comprising executable instructions:

to monitor a plurality of trigger events for detecting one or more possible defects in the NVM device, the respective trigger events having associated types;

having monitored a trigger event among the plurality of trigger events for detecting a possible defect among the one or more possible defects in the NVM device, to determine a type among the associated types of the respective trigger events that corresponds to the monitored trigger event; and

to apply at least one defect management policy to the NVM device based on the type of the monitored trigger event,

wherein the plurality of trigger events include a soft bit read trigger event and an exclusive-or (XOR) data recovery trigger event,

wherein the type of the monitored trigger event includes one of a soft bit read trigger event type corresponding to the soft bit read trigger event and an XOR data recovery trigger event type corresponding to the XOR data recovery trigger event, and

wherein the non-transitory computer-readable storage medium further comprises executable instructions, having monitored the soft bit read trigger event or the XOR data recovery trigger event, to retire an NVM storage location of a codeword for which a host processor issued a data read request.

20. The non-transitory computer-readable storage medium of claim 19 further comprising executable instructions, having monitored the soft bit read trigger event or the XOR data recovery trigger event, to retire a physical memory page that includes the NVM storage location of the codeword for which the host processor issued the data read request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 062437/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2014
From: KALAVADE, PRANAV; ZHU, FENG; RAGHUNATHAN, SHYAM SUNDER; MOTWANI, RAVI H
To: INTEL CORPORATION
Reel/Frame 032335/0398 →