IP Library Granted Patent US 8,819,367
Granted Patent B1
US 8,819,367 · App. 13/330,426 · Granted Aug 26, 2014

Accelerated translation power recovery

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,819,367
App. No.
13/330,426
Granted
Aug 26, 2014
Kind
B1
Abstract

Embodiments described herein include systems and methods for maintaining and/or recovering a logical-to-physical address mapping of a storage subsystem. Certain of these embodiments improve system performance by reducing resource and time consumption involved in reconstructing a logical-to-physical mapping at power-up.

Claims (34)

1. A storage subsystem, comprising:

a first memory, the first memory comprising at least one non-volatile memory device and arranged in one or more zones;

a second memory different than the first memory; and

a controller, configured to:

maintain a current version of a logical-to-physical address mapping in the second memory that maps logical addresses to storage locations of the first memory;

at a first point in time, store a copy of the logical-to-physical address mapping in the first memory;

in response to requests from a host system and using the current version of the logical to physical address mapping, store user data in the zones of the first memory;

accumulate, in the first memory, change data indicative of changes to the current logical-to-physical mapping relative to the stored copy of the logical-to-physical address mapping; and

at a second point in time later than the first point in time, and upon accumulating a threshold amount of change data in the first memory, update the copy of the logical-to-physical address mapping stored in the first memory to reflect the accumulated change data.

2. The storage subsystem of claim 1 , wherein the second memory comprises at least one volatile memory device.

3. The storage subsystem of claim 1 , wherein the controller accumulates the change data in the first memory by writing change data to the first memory at intervals spaced by one or more memory locations.

4. The storage subsystem of claim 3 , wherein the controller is further configured to locate the most recently written change data stored in the first memory in response to system power-up.

5. The storage subsystem of claim 4 , wherein, in response to the system power up, the controller is further configured to update one or more of the current version of the logical-to-physical address mapping and the copy of the logical-to-physical address mapping stored in the first memory to reflect the most recently written change data.

6. The storage subsystem of claim 5 , wherein the controller is configured to locate the most recently written change data stored in the first memory using a non-sequential search.

7. The storage subsystem of claim 6 , wherein the controller is configured to locate the most recently written change data stored in the first memory using a binary search.

8. The storage subsystem of claim 3 , wherein the change data accumulated in the first memory is included in metadata units stored in the first memory that are associated with one or more corresponding user data segments stored in the first memory.

9. The storage subsystem of claim 3 , wherein the controller writes the accumulated change data at regular intervals such that successive instances of the accumulated change data are separated from one another in the first memory by a pre-determined number of memory locations.

10. The storage subsystem of claim 1 , wherein the first memory comprises a hard-drive arranged in a plurality of tracks which are shingled with respect to one another.

11. The storage subsystem of claim 1 , wherein the first memory comprises a solid-state drive.

12. The storage subsystem of claim 1 , wherein the controller is configured to preserve substantially all of the accumulated change data at least until updating the copy of the logical-to-physical address mapping.

13. A method of maintaining a logical-to-physical address mapping in a first memory of a storage subsystem, comprising:

maintaining, by at least one controller of the storage subsystem, a current version of a logical-to-physical translation table in a second memory different than the first memory, the logical-to-physical translation table mapping logical addresses provided to storage locations of the first memory;

at a first point in time, storing a copy of the logical-to-physical translation table in the first memory;

in response to requests from a host system and using the current version of the logical to physical address mapping, storing user data in a plurality of zones of the first memory;

accumulating, in the first memory, change data indicative of changes to the current logical-to-physical mapping relative to the stored copy of the logical-to-physical address mapping; and

at a second point in time later than the first point in time, and upon accumulating a threshold amount of change data in the first memory, updating the copy of the logical-to-physical address mapping stored in the first memory to reflect the accumulated change data.

14. The method of claim 13 , wherein the second memory comprises at least one volatile memory device.

15. The method of claim 13 , wherein said accumulating comprises writing the change data to the first memory at intervals spaced by one or more memory locations.

16. The method of claim 15 , further comprising locating the most recently written change data stored in the first memory in response to system power-up.

17. The method of claim 16 , further comprising, in response to the system power up, updating one or more of the current version of the logical-to-physical address mapping and the copy of the logical-to-physical address mapping stored in the first memory to reflect the most recently written change data.

18. The method of claim 17 , further comprising locating the most recently written change data stored in the first memory using a non-sequential search.

19. The method of claim 18 , further comprising locating the most recently written change data stored in the first memory using a binary search.

20. The method claim 13 , further comprising writing the accumulated change data at regular intervals such that successive versions of the accumulated change data are separated from one another in the first memory by a pre-determined number of memory locations.

21. The method of claim 13 , further comprising preserving substantially all of the accumulated change data at least until updating the copy of the logical-to-physical address mapping.

Assignments (14)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 13/330,428 PREVIOUSLY RECORDED ON REEL 027548 FRAME 0354. ASSIGNOR(S) HEREBY CONFIRMS THE NEEDS TO BE CORRECTED TO APPLICATION NUMBER 13/330,426. THE ORIGINAL COVER SHEET IS SUBMITTED IN ACCORDANCE WITH MPEP 323.. Recorded Jan 20, 2012
From: FALLONE, ROBERT M.; BOYLE, WILLIAM B.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 027567/0146 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2012
From: FALLONE, ROBERT M.; BOYLE, WILLIAM B.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 027548/0354 →