IP Library Granted Patent US 9,378,810
Granted Patent B2
US 9,378,810 · App. 14/192,831 · Granted Jun 28, 2016

Systems and methods for last written page handling in a memory device

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,378,810
App. No.
14/192,831
Granted
Jun 28, 2016
Kind
B2
Abstract

Systems and method relating generally to solid state memory, and more particularly to systems and methods for recovering data from a solid state memory. In one embodiment, the systems and methods include providing a flash memory circuit including a superset of memory cells, accessing a data set from a group of memory cells using a standard reference value to distinguish bit values in the group of memory cells, and based at least in part on determining that the group of memory cells was a last written group of memory cells, re-accessing a data set from the group of memory cells using a last written reference value to distinguish bit values in the group of memory cells.

Claims (56)

1. A system for reading data, the system comprising:

a memory read circuit operable to access a data set from a group of memory cells using a standard reference value to distinguish bit values in the group of memory cells;

a controller circuit operable to:

determine that the group of memory cells was a last written group of memory cells; and

based at least in part on determining that the group of memory cells was the last written group of memory cells, cause the memory read circuit to re-access the data set from the group of memory cells using a last written reference value to distinguish the bit values in the group of memory cells.

2. The system of claim 1 , wherein the system further comprises a memory circuit including a superset of memory cells, and wherein the group of memory cells is a subset of the superset of memory cells.

3. The system of claim 2 , wherein each of the cells of the superset of memory cells are selected from a group consisting of: a single bit memory cell, a two-bit memory cell, and a three bit memory cell.

4. The system of claim 2 , wherein the superset of memory cells are flash memory cells.

5. The system of claim 1 , the system further comprising:

a last written group memory operable to maintain a location of the last written group of memory cells in the superset of memory cells.

6. The system of claim 5 , wherein the controller circuit determines that the group of memory cells was the last written group of memory cells based at least in part on a comparison of a read address with the location of the last written group of memory cells accessed from the last written group memory.

7. The system of claim 1 , wherein the system further comprises:

a hard decision decoder circuit operable to:

apply a hard decision decode algorithm to the data set from the group of memory cells accessed using the standard reference value to yield a first decode output; and

apply the hard decision decode algorithm to the data set from the group of memory cells accessed using the last written reference value to yield a second decode output.

8. The system of claim 7 , wherein the controller circuit determines that the group of memory cells was the last written group of memory cells based at least in part on the occurrence of one or more errors in one of the first decode output or the second decode output.

9. The system of claim 7 , wherein the system further comprises a memory circuit including a superset of memory cells, wherein the group of memory cells is a subset of the superset of memory cells, and wherein the system further comprises:

a soft decision decoder circuit operable to apply a soft decision decode algorithm to a soft read output from the group of memory cells to yield a third data decode output; and

wherein the controller circuit is further operable to:

count a number of applications of the soft decision decode algorithm that have been applied to the data set accessed from the group of memory cells; and

based at least in part on the number of applications, triggering a background task to restore the data set from the group of memory cells in the superset of memory cells.

10. The system of claim 9 , wherein the background task includes a data recycle task.

11. The system of claim 7 , wherein the system further comprises a memory circuit including a superset of memory cells, wherein the group of memory cells is a subset of the superset of memory cells, and wherein the system further comprises:

a soft decision decoder circuit operable to apply a soft decision decode algorithm to the second decode output to yield a third data decode output; and

wherein the controller circuit is further operable to:

determine whether an error occurring in the first decode output is most likely not related to the data set being the last written group of memory cells; and

based at least in part on determining that the error occurring in the first decode output is most likely not related to the data set being the last written group of memory cells, triggering a background task to restore the data set from the group of memory cells in the superset of memory cells.

12. The system of claim 11 , wherein the background task includes a data recycle task.

13. The system of claim 1 , wherein the system further comprises a memory circuit including a superset of memory cells, wherein the group of memory cells is a subset of the superset of memory cells, and wherein the controller circuit is further operable to preclude a data write to the superset of memory cells when the controller circuit determines that the group of memory cells was a last written group of memory cells, and until the memory read circuit finishes re-accessing the data set from the group of memory cells using the last written reference value to distinguish bit values in the group of memory cells.

14. A method for recovering data from a memory device, the method comprising:

providing a flash memory circuit including a superset of memory cells;

accessing a data set from a group of memory cells using a standard reference value to distinguish bit values in the group of memory cells, wherein the group of memory cells is a subset of the superset of memory cells;

determine that the group of memory cells was a last written group of memory cells; and

based at least in part on determining that the group of memory cells was the last written group of memory cells, re-accessing the data set from the group of memory cells using a last written reference value to distinguish the bit values in the group of memory cells.

15. The method of claim 14 , wherein the method further comprises:

storing a location of the last written group of memory cells of the superset of memory cells in a last written group memory.

16. The method of claim 14 , wherein the controller circuit determines that the group of memory cells was the last written group of memory cells based at least in part on a comparison of a read address with the location of the last written group of memory cells accessed from the last written group memory.

17. The method of claim 14 , wherein the method further comprises:

applying a hard decision decode algorithm to the data set from the group of memory cells accessed using the standard reference value to yield a first decode output; and

applying the hard decision decode algorithm to the data set from the group of memory cells accessed using the last written reference value to yield a second decode output.

18. The method of claim 17 , wherein the controller circuit determines that the group of memory cells was the last written group of memory cells based at least in part on the occurrence of one or more errors in the first decode output.

19. The method of claim 17 , wherein the method further comprises:

a soft decision decoder circuit operable to apply a soft decision decode algorithm to a soft read output from the group of memory cells to yield a third data decode output; and

wherein the controller circuit is further operable to:

count a number of applications of the soft decision decode algorithm that have been applied to the data set accessed from the group of memory cells; and

based at least in part on the number of applications, triggering a background task to restore the data set from the group of memory cells in the superset of memory cells.

20. A flash memory storage system, the system comprising:

a flash memory circuit including a superset of flash memory cells;

a memory read circuit operable to access a data set from a group of flash memory cells using a standard reference value to distinguish bit values in the group of flash memory cells, wherein the group of flash memory cells is a subset of the superset of flash memory cells;

a controller circuit operable to:

determine that the group of flash memory cells was a last written group of cells; and

based at least in part on determining that the group of flash memory cells was a last written group of cells, causing the memory read circuit to re-access the data set from the group of flash memory cells using a last written reference value to distinguish the bit values in the group of flash memory cells;

a hard decision decoder circuit operable to:

apply a hard decision decode algorithm to the data set from the group of flash memory cells accessed using the standard reference value to yield a first decode output; and

apply the hard decision decode algorithm to the data set from the group of flash memory cells accessed using the last written reference value to yield a second decode output; and

wherein the controller circuit determines that the group of flash memory cells was the last written group of flash memory cells based at least in part on the occurrence of one or more errors in the first decode output.

Assignments (5)
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 034773/0839 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS INCLUDED IN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Nov 6, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034177/0257 →
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 Feb 27, 2014
From: CHEN, ZHENGANG; DONG, ZHIMIN; CAI, YU; HARATSCH, ERICH F.
To: LSI CORPORATION
Reel/Frame 032318/0700 →