IP Library Granted Patent US 10,055,345
Granted Patent B2
US 10,055,345 · App. 15/345,100 · Granted Aug 21, 2018

Methods, devices and systems for solid state drive control

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 10,055,345
App. No.
15/345,100
Granted
Aug 21, 2018
Kind
B2
Abstract

A solid state drive controller includes a processor configured to couple to a plurality of non-volatile memory devices. The plurality of non-volatile memory devices are configured to store a plurality of system journals and a plurality of physical pages. The solid state drive controller also includes a volatile memory configured to store a logical-to-physical address translation map configured to enable the solid state drive controller to determine a physical location of at least one logical page. The processor is configured to maintain the plurality of system journals in the plurality of non-volatile memory devices, wherein each system journal defines physical-to-logical page correspondences for a predetermined range of the plurality of physical pages, and each system journal comprises an identification number that includes a portion of an address of a first physical page of the predetermined range of the plurality of physical pages.

Claims (48)

1. A solid state drive controller, comprising:

a processor configured to couple to a plurality of non-volatile memory devices, wherein the plurality of non-volatile memory devices are configured to store a plurality of system journals and a plurality of physical pages; and

a volatile memory configured to store a logical-to-physical address translation map configured to enable the solid state drive controller to determine a physical location of at least one logical page,

wherein the processor is configured to:

maintain the plurality of system journals in the plurality of non-volatile memory devices, wherein each system journal defines physical-to-logical page correspondences for a predetermined range of the plurality of physical pages, and each system journal comprises an identification number that includes a portion of an address of a first physical page of the predetermined range of the plurality of physical pages;

determine that the logical-to-physical address translation map needs to be rebuilt;

read information from the plurality of system journals when the logical-to-physical address translation map needs to be rebuilt; and

rebuild the logical-to-physical address translation map using the information read from the plurality of system journals.

2. The solid state drive controller of claim 1 , wherein the portion of the address of the first physical page includes a number of the most significant bits of the address of the first physical page.

3. The solid state drive controller of claim 2 , wherein each system journal includes an entry that points to a starting address of a logical page of the at least one logical pages.

4. The solid state drive controller of claim 3 , wherein the entry includes a number of least significant bits of an address of a physical page of the predetermined range of the plurality of physical pages that contains the starting address of the logical page of the at least one logical pages.

5. The solid state drive controller of claim 4 , wherein a full physical page address is obtained by concatenating the number of the most significant bits with the number of the least significant bits.

6. The solid state drive controller of claim 4 , wherein the entry includes an offset of the logical page of the at least one logical pages within the physical page of the predetermined range of the plurality of physical pages.

7. The solid state drive controller of claim 1 , wherein a header of each system journal includes the identification number.

8. The solid state drive controller of claim 1 , wherein determining that the logical-to-physical address translation map needs to be rebuilt includes determining that the logical-to-physical address translation map needs to be partially rebuilt.

9. The solid state drive controller of claim 1 , wherein determining that the logical-to-physical address translation map needs to be rebuilt includes determining that the logical-to-physical address translation map needs to be entirely rebuilt.

10. The solid state drive controller of claim 1 , wherein a variable number of the at least one logical page is stored in the predetermined range of physical pages.

11. A method for controlling a solid state drive, the method comprising:

maintaining a plurality of system journals in a plurality of non-volatile memory devices, wherein each system journal defines physical-to-logical page correspondences for a predetermined range of a plurality of physical pages, and each system journal comprises an identification number that includes a portion of an address of a first physical page of the predetermined range of the plurality of physical pages;

determining that a logical-to-physical address translation map needs to be rebuilt, wherein the logical-to-physical address translation map is stored in a volatile memory;

reading information from the plurality of system journals when the logical-to-physical address translation map needs to be rebuilt; and

rebuilding the logical-to-physical address translation map using the information read from the plurality of system journals.

12. The method of claim 11 , wherein the portion of the address of the first physical page includes a number of the most significant bits of the address of the first physical page.

13. The method of claim 12 , wherein each system journal includes an entry that points to a starting address of a logical page of the at least one logical pages.

14. The method of claim 13 , wherein the entry includes a number of least significant bits of an address of a physical page of the predetermined range of the plurality of physical pages that contains the starting address of the logical page of the at least one logical pages.

15. The method of claim 14 , wherein a full physical page address is obtained by concatenating the number of the most significant bits with the number of the least significant bits.

16. A data storage device, comprising:

a plurality of non-volatile memory devices configured to store a plurality of system journals and a plurality of physical pages; and

a solid state controller, wherein the solid state controller includes:

a processor coupled to the plurality of non-volatile memory devices; and

a volatile memory configured to store a logical-to-physical address translation map configured to enable the solid state controller to determine a physical location of at least one logical page, wherein the processor is configured to:

maintain the plurality of system journals in the plurality of non-volatile memory devices, wherein each system journal defines physical-to-logical page correspondences for a predetermined range of the plurality of physical pages, and each system journal comprises an identification number that includes a portion of an address of a first physical page of the predetermined range of the plurality of physical pages;

determine that the logical-to-physical address translation map needs to be rebuilt;

read information from the plurality of system journals when the logical-to-physical address translation map needs to be rebuilt; and

rebuild the logical-to-physical address translation map using the information read from the plurality of system journals.

17. The data storage device of claim 16 , wherein the portion of the address of the first physical page includes a number of the most significant bits of the address of the first physical page.

18. The data storage device of claim 17 , wherein each system journal includes an entry that points to a starting address of a logical page of the at least one logical pages.

19. The data storage device of claim 18 , wherein the entry includes a number of least significant bits of an address of a physical page of the predetermined range of the plurality of physical pages that contains the starting address of the logical page of the at least one logical pages.

20. The data storage device of claim 19 , wherein a full physical page address is obtained by concatenating the number of the most significant bits with the number of the least significant bits.

21. A solid state drive controller, comprising:

means for maintaining a plurality of system journals in a plurality of non-volatile memory devices, wherein each system journal defines physical-to-logical page correspondences for a predetermined range of a plurality of physical pages, and each system journal comprises an identification number that includes a portion of an address of a first physical page of the predetermined range of the plurality of physical pages;

means for determining that a logical-to-physical address translation map needs to be rebuilt, wherein the logical-to-physical address translation map is stored in a volatile memory;

means for reading information from the plurality of system journals when the logical-to-physical address translation map needs to be rebuilt; and

means for rebuilding the logical-to-physical address translation map using the information read from the plurality of system journals.

22. The solid state drive controller of claim 21 , wherein the portion of the address of the first physical page includes a number of the most significant bits of the address of the first physical page.

23. The solid state drive controller of claim 22 , wherein each system journal includes an entry that points to a starting address of a logical page of the at least one logical pages.

24. The solid state drive controller of claim 23 , wherein the entry includes a number of least significant bits of an address of a physical page of the predetermined range of the plurality of physical pages that contains the starting address of the logical page of the at least one logical pages.

25. The solid state drive controller of claim 24 , wherein a full physical page address is obtained by concatenating the number of the most significant bits with the number of the least significant bits.

Assignments (10)
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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: SKYERA, LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046726/0328 →