IP Library Granted Patent US 9,478,271
Granted Patent B2
US 9,478,271 · App. 13/854,263 · Granted Oct 25, 2016

Nonvolatile memory data recovery after power failure

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,478,271
App. No.
13/854,263
Granted
Oct 25, 2016
Kind
B2
Abstract

A method for data recovery after a power failure is disclosed. The method may include steps (A) to (D). Step (A) may determine that a last power-down of a solid-state drive was an unsafe power-down. Step (B) may search at least some of a plurality of pages of a nonvolatile memory of the solid-state drive to define an unsafe zone in response to the determining that the last power-down of the solid-state drive was the unsafe power-down. Step (C) may define a pad zone comprising one or more of the pages subsequent to the unsafe zone. Step (D) may resume operation of the solid-state drive by writing new data subsequent to the pad zone.

Claims (31)

1. A method for data recovery after a power failure, comprising the steps of:

determining whether a last power-down of a memory was an unsafe power-down, wherein the memory comprises a plurality of physical pages each having at least an upper page and a lower page;

searching at least some of the plurality of physical pages to find a first erased lower page in response to the last power-down of the memory being determined unsafe;

identifying an unsafe zone as two or more adjoining physical pages of the plurality of physical pages that include the first erased lower page and partially programmed data created by the unsafe power-down;

identifying a pad zone as one or more of the plurality of physical pages located after the unsafe zone; and

writing new data in the plurality of physical pages located after the pad zone, wherein the new data is written in a same block of the memory as the pad zone.

2. The method according to claim 1 , further comprising the step of:

writing random data to the one or more physical pages of the pad zone except in each upper page that has a corresponding lower page that is programmed.

3. The method according to claim 1 , further comprising the step of:

restoring a map of the memory using data located prior to the unsafe zone.

4. The method according to claim 1 , wherein the memory comprises a multi-level cell NAND Flash memory.

5. The method according to claim 1 , wherein the one or more physical pages in the pad zone are left in an erased state.

6. The method according to claim 1 , wherein the new data is organized in a striped fashion in one or more R-blocks when written, and each of the R-blocks comprises one or more blocks from each of a plurality of die of the memory.

7. The method according to claim 1 , wherein the steps are performed in a solid-state drive.

8. An apparatus comprising:

an interface configured to process a plurality of read/write operations to/from a memory, wherein the memory comprises a plurality of physical pages each having at least an upper page and a lower page; and

a control circuit configured to determine whether a last power-down of the memory was an unsafe power-down, search at least some of the plurality of physical pages to find a first erased lower page in response to the last power-down of the memory being determined unsafe, identify an unsafe zone as two or more adjoining physical pages of the plurality of physical pages that include the first erased lower page and partially programmed data created by the unsafe power-down, identify a pad zone as one or more of the plurality of physical pages located after the unsafe zone, and write new data in the plurality of physical pages located after the pad zone, wherein the new data is written in a same block of the memory as the pad zone.

9. The apparatus according to claim 8 , wherein the control circuit is further configured to write random data to the one or more physical pages of the pad zone except in each upper page that has a corresponding lower page that is programmed.

10. The apparatus according to claim 8 , wherein the control circuit is further configured to restore a map of the memory using data located prior to the unsafe zone.

11. The apparatus according to claim 8 , wherein the memory comprises a multi-level cell NAND Flash memory.

12. The apparatus according to claim 8 , wherein the one or more physical pages in the pad zone are left in an erased state.

13. The apparatus according to claim 8 , wherein the new data is organized in a striped fashion in one or more R-blocks when written, and each of the R-blocks comprises one or more blocks from each of a plurality of die of the memory.

14. The apparatus according to claim 8 , wherein the interface and the control circuit form part of a solid-state drive controller.

15. An apparatus comprising:

a memory configured to store data among a plurality of physical pages each having at least an upper page and a lower page; and

a controller configured to determine whether a last power-down of the memory was an unsafe power-down, search at least some of the plurality of physical pages to find a first erased lower page in response to the last power-down of the memory being determined unsafe, identify an unsafe zone as two or more adjoining physical pages of the plurality of physical pages that include the first erased lower page and partially programmed data created by the unsafe power-down, identify a pad zone as one or more of the plurality of physical pages located after the unsafe zone, and write new data in the plurality of physical pages located after the pad zone, wherein the new data is written in a same block of the memory as the pad zone.

16. The apparatus according to claim 15 , wherein the memory and the controller are part of a solid-state drive.

17. The apparatus according to claim 15 , wherein the new data is organized in a striped fashion in one or more R-blocks when written, and each of the R-blocks comprises one or more blocks from each of a plurality of die of the memory.

18. The apparatus according to claim 15 , wherein the controller is further configured to write random data to the one or more physical pages of the pad zone except in each upper page that has a corresponding lower page that is programmed.

19. The apparatus according to claim 15 , wherein the controller is further configured to restore a map of the memory using data located prior to the unsafe zone.

20. The apparatus according to claim 15 , wherein the one or more physical pages in the pad zone are left in an erased state.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034771/0272 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2013
From: CHEN, ZHENGANG; COHEN, EARL T.; TANG, ALEX G.
To: LSI CORPORATION
Reel/Frame 030122/0718 →