IP Library Granted Patent US 7,711,892
Granted Patent B2
US 7,711,892 · App. 12/141,002 · Granted May 4, 2010

Flash memory allocation for improved performance and endurance

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 7,711,892
App. No.
12/141,002
Granted
May 4, 2010
Kind
B2
Abstract

A flash storage device having improved write performance is provided. The device includes a storage block having a plurality of physical pages and a controller for mapping the plurality of physical pages to a plurality of logical addresses at initialization or at run-time of the flash storage device and for writing data to the plurality of physical pages. When updating data previously written to one of the plurality of logical addresses, the controller is configured to write the updated data to a second physical page which is mapped to the logical address. Each of the logical addresses may be associated with a pointer field, which is for storing a pointer value indicating the invalidity of a physical page and/or the location of another physical page.

Claims (35)

1. A flash storage device comprising:

a storage block having a plurality of physical pages; and

a controller for allocating the plurality of physical pages to a plurality of logical addresses and for writing data to the plurality of physical pages,

wherein the controller is configured:

to allocate two or more of the plurality of physical pages to each of the plurality of logical addresses upon initialization of the flash storage device.

2. The flash storage device according to claim 1 , wherein the controller is configured to store a pointer value in a pointer field associated with each of the plurality of physical pages, the pointer value indicating the validity of the respective physical page.

3. A flash storage device comprising:

a storage block having a plurality of physical pages; and

a controller for allocating the plurality of physical pages to a plurality of logical addresses and for writing data to the plurality of physical pages,

wherein the controller is configured:

to allocate two or more of the plurality of physical pages to each of the plurality of logical addresses at a run-time of the flash storage device.

4. The flash storage device according to claim 3 , wherein the controller is configured to store a pointer value in a pointer field associated with each of the plurality of physical pages, the pointer value indicating the validity of the respective physical page.

5. A flash storage device comprising:

a storage block having a plurality of physical pages; and

a controller for allocating the plurality of physical pages to a plurality of logical addresses and for writing data to the plurality of physical pages,

wherein the controller is configured:

to allocate a subset of the plurality of physical pages to a first one or more of the plurality of logical addresses upon initialization of the flash storage device, and

to allocate one or more of the plurality of physical pages not included in the subset to a second one or more of the plurality of logical addresses at a run-time of the flash storage device.

6. The flash storage device according to claim 5 , wherein the plurality of physical pages is greater in number than the plurality of logical addresses.

7. The flash storage device according to claim 5 , wherein more than one of the subset of physical pages are allocated to one of the plurality of logical addresses upon initialization of the flash storage device.

8. The flash storage device according to claim 5 , wherein the second one or more of the plurality of logical addresses is the same as the first one or more of the plurality of logical addresses.

9. The flash storage device according to claim 5 , wherein the controller is configured to store a pointer value in a pointer field associated with each of the plurality of logical addresses, the pointer value indicating the location of the physical page allocated to the respective logical address.

10. A method for managing memory operations in a flash storage device having a plurality of physical pages, the method comprising:

allocating two or more of the plurality of physical pages to each of one or more logical addresses upon initialization of the flash storage device.

11. The method according to claim 10 , wherein the allocating comprises storing a pointer value in a pointer field associated with each of the plurality of physical pages, the pointer value indicating the validity of the respective physical page.

12. A method for managing memory operations in a flash storage device having a plurality of physical pages, the method comprising:

allocating two or more of the plurality of physical pages to each of one or more logical addresses at a run-time of the flash storage device.

13. The method according to claim 12 , wherein the allocating comprises storing a pointer value in a pointer field associated with each of the plurality of physical pages, the pointer value indicating the validity of the respective physical page.

14. A method for managing memory operations in a flash storage device having a plurality of physical pages, the method comprising:

allocating a subset of the plurality of physical pages to a first one or more logical addresses upon initialization of the flash storage device; and

allocating one or more of the plurality of physical pages not included in the subset to a second one or more logical addresses at a run-time of the flash storage device.

15. The method according to claim 14 , wherein the plurality of physical pages is greater in number than either the first or the second one or more logical addresses.

16. The method according to claim 14 , wherein more than one of the subset of physical pages are allocated to one of the first one or more logical addresses upon initialization of the flash storage device.

17. The method according to claim 14 , wherein the second one or more of the plurality of logical addresses is the same as the first one or more of the plurality of logical addresses.

18. The method according to claim 14 , further comprising storing a pointer value associated with each logical address indicating a location of each physical page allocated to each respective logical 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 - 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 16, 2018
From: HGST TECHNOLOGIES SANTA ANA, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046174/0446 →
MERGER AND CHANGE OF NAME Recorded Aug 23, 2016
From: SIMPLETECH, INC.; STEC, INC.
To: STEC, INC.
Reel/Frame 039512/0985 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2016
From: TORABI, HOOSHMAND
To: SIMPLETECH, INC.
Reel/Frame 039512/0433 →
CHANGE OF NAME Recorded Jul 1, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036042/0390 →