IP Library Granted Patent US 8,489,854
Granted Patent B1
US 8,489,854 · App. 13/670,228 · Granted Jul 16, 2013

Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table

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 8,489,854
App. No.
13/670,228
Granted
Jul 16, 2013
Kind
B1
Abstract

A non-volatile semiconductor memory comprising (1) a non-volatile memory array including a plurality of blocks with at least some of the plurality of blocks comprising a plurality of memory segments and with at least some of the plurality of memory segments each assigned a physical address and (2) a volatile memory. Upon a power-up of the non-volatile semiconductor memory, a translation table is generated in the volatile memory for mapping logical addresses to physical addresses in the non-volatile memory array. The generating includes reading at least one entry comprising a logical address from an inverse map stored in the non-volatile memory array. The logical address corresponds to a physical address of one of the memory segments. In response to determining that the memory segment corresponding to the logical address is valid, the translation table is updated using the logical address.

Claims (35)

1. A non-volatile semiconductor memory comprising:

a non-volatile memory array including a plurality of blocks with at least some of the plurality of blocks comprising a plurality of memory segments and with at least some of the plurality of memory segments each assigned a physical address;

a volatile memory; and

control circuitry operable to:

upon a power-up of the non-volatile semiconductor memory, generate, in the volatile memory, a translation table for mapping logical addresses to physical addresses in the non-volatile memory array, the control circuitry operable to generate by at least:

reading at least one entry comprising a logical address from an inverse map stored in the non-volatile memory array, wherein the logical address corresponds to a physical address of one of the memory segments; and

in response to determining that the memory segment corresponding to the logical address is valid, updating the translation table using the logical address.

2. The non-volatile semiconductor memory of claim 1 , wherein the control circuitry is operable to generate substantially the entire translation table by reading logical addresses from the non-volatile memory array.

3. The non-volatile semiconductor memory of claim 1 , wherein the control circuitry is further operable to maintain a chronological write order of the plurality of memory segments.

4. The non-volatile semiconductor memory of claim 3 , wherein the chronological write order is maintained in a write order table.

5. The non-volatile semiconductor memory of claim 4 , wherein the write order table is saved to the non-volatile memory array when a power failure is detected.

6. The non-volatile semiconductor memory of claim 3 , wherein the control circuitry is further operable to generate the translation table based on the chronological write order.

7. The non-volatile semiconductor memory of claim 6 , wherein the control circuitry is further operable to generate the translation table based on the chronological write order by reading logical addresses from the non-volatile memory array in the chronological write order or in a reverse order from the chronological write order.

8. The non-volatile semiconductor memory of claim 3 , wherein the control circuitry is further operable to determine whether a memory segment is invalid based on the chronological write order.

9. The non-volatile semiconductor memory of claim 1 , wherein the control circuitry is further operable to:

receive a write command from a host; and

update the translation table based on the received write command.

10. The non-volatile semiconductor memory of claim 1 , wherein a first block of the non-volatile memory array comprises the logical address of the inverse map and the corresponding memory segment.

11. The non-volatile semiconductor memory of claim 1 , wherein a first block of the non-volatile memory array comprises the logical address of the inverse map and a second block of the non-volatile memory array comprises the corresponding memory segment.

12. The non-volatile semiconductor memory of claim 1 , wherein each of the plurality of blocks comprises a plurality of memory segments with each of the plurality of memory segments assigned a physical address.

13. A method of operating a non-volatile semiconductor memory comprising (1) a non-volatile memory array including a plurality of blocks with at least some of the plurality of blocks comprising a plurality of memory segments and with at least some of the plurality of memory segments each assigned a physical address and (2) a volatile memory, the method comprising:

upon a power-up of the non-volatile semiconductor memory, generating, in the volatile memory, a translation table for mapping logical addresses to physical addresses in the non-volatile memory array, the generating comprising:

reading at least one entry comprising a logical address from an inverse map stored in the non-volatile memory array, wherein the logical address corresponds to a physical address of one of the memory segments; and

in response to determining that the memory segment corresponding to the logical address is valid, updating the translation table using the logical address.

14. The method of claim 13 , wherein substantially the entire translation table is generated by reading logical addresses from the non-volatile memory array.

15. The method of claim 13 , further comprising maintaining a chronological write order of the plurality of memory segments.

16. The method of claim 15 , wherein the chronological write order is maintained in a write order table.

17. The method of claim 16 , further comprising saving the write order table to the non-volatile memory array when a power failure is detected.

18. The method of claim 15 , wherein the generating of the translation table is based on the chronological write order.

19. The method of claim 18 , wherein the generating of the translation table is based on the chronological write order by reading logical addresses from the non-volatile memory array in the chronological write order or in a reverse order from the chronological write order.

20. The method of claim 15 , further comprising determining whether a memory segment is invalid based on the chronological write order.

21. The method of claim 13 , further comprising:

receiving a write command; and

updating the translation table based on the received write command.

22. The method of claim 13 , wherein each of the plurality of blocks comprises a plurality of memory segments with each of the plurality of memory segments assigned a physical address.

Assignments (13)
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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2012
From: COLON, KEVIN M.; RAINEY, III, CHARLES P.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 029251/0322 →