IP Library Granted Patent US 8,719,652
Granted Patent B2
US 8,719,652 · App. 12/779,001 · Granted May 6, 2014

Flash storage device with read disturb mitigation

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,719,652
App. No.
12/779,001
Granted
May 6, 2014
Kind
B2
Abstract

A method for managing a flash storage device includes initiating a read request and reading requested data from a first storage block of a plurality of storage blocks in the flash storage device based on the read request. The method further includes incrementing a read count for the first storage block and moving the data in the first storage block to an available storage block of the plurality of storage blocks when the read count reaches a first threshold value.

Claims (42)

1. A method for managing a flash storage device, the method comprising the steps of:

initiating a read request;

reading requested data from a first storage block of a plurality of storage blocks in the flash storage device based on the read request, each of the plurality of storage blocks comprising multiple pages;

incrementing a read count for the first storage block;

storing the read count in a volatile memory;

moving the data in the first storage block to an available storage block of the plurality of storage blocks when the read count reaches a first threshold value,

wherein the plurality of storage blocks in the flash storage device are organized into a plurality of zones, each zone comprising at least two storage blocks of the plurality of storage blocks and each storage block having a respective read count; and

backing up the read counts for each storage block in a first zone of the plurality of zones to a non-volatile storage block in the flash storage device when the read count of at least one of the storage blocks in the first zone reaches a second predetermined threshold value less than the first threshold value.

2. The method of claim 1 , further comprising maintaining a read count for each of the plurality of storage blocks in the flash storage device containing data.

3. The method of claim 2 , wherein maintaining the read count for each of the plurality of storage blocks containing data comprises storing the read counts in a random access memory in the flash storage device.

4. The method of claim 3 , wherein the random access memory comprises a dynamic random access memory.

5. The method of claim 3 , wherein maintaining the read count for each of the plurality of storage blocks containing data further comprises storing the read counts in the non-volatile storage block in the flash storage device when the flash storage device is powered down.

6. The method of claim 3 , wherein maintaining the read count for each of the plurality of storage blocks containing data further comprises storing the read counts in the non-volatile storage block in the flash storage device at a predetermined interval.

7. The method of claim 1 , further comprising:

performing a read check on the requested data stored in the first storage block; and

moving the data in the first storage block to an available storage block of the plurality of storage blocks when the read check fails.

8. The method of claim 7 , wherein performing the read check comprises verifying the data stored in the first storage block using an error-correcting code in the stored data, and

wherein the read check fails when an error count in the read-checked data is greater than a safety count.

9. The method of claim 1 , wherein the available storage block is an erased storage block.

10. The method of claim 1 , wherein the available storage block is a second storage block of the plurality of storage blocks having a read count less than the first threshold value.

11. A flash storage device comprising:

a flash memory; and

a controller configured to:

initiate a read request;

read requested data from a first storage block of a plurality of storage blocks in the flash memory based on the read request, each of the plurality of storage blocks comprising multiple pages;

increment a read count for the first storage block;

storing the read count in a volatile memory;

move the data in the first storage block to an available storage block in the flash memory when the read count reaches a first threshold value,

wherein the plurality of storage blocks in the flash memory are organized into a plurality of zones, each zone comprising at least two storage blocks of the plurality of storage blocks and each storage block having a respective read count; and

back up the read counts for each storage block in a first zone of the plurality of zones to the flash memory when the read count of at least one of the storage blocks in the first zone reaches a second predetermined threshold value less than the first threshold value.

12. The flash storage device of claim 11 , wherein the controller is configured to maintain a read count for each of the plurality of storage blocks in the flash memory containing data.

13. The flash storage device of claim 12 , further comprising a random access memory,

wherein the controller is configured to maintain the read count for each of the plurality of storage blocks in the random access memory.

14. The flash storage device of claim 13 , wherein the random access memory comprises a dynamic random access memory.

15. The flash storage device of claim 14 , wherein the controller is configured to store the read count for each of the plurality of storage blocks in the flash memory when the flash storage device is powered down.

16. The flash storage device of claim 14 , wherein the controller is configured to store the read count for each of the plurality of storage blocks in the flash memory at a predetermined interval.

17. The flash storage device of claim 11 , wherein the controller is configured to:

perform a read check on the requested data stored in the first storage block; and

move the data in the first storage block to an available storage block in the flash memory when the read check fails.

18. The flash storage device of claim 17 , wherein the read check comprises verifying the data stored in the first storage block using an error-correcting code in the storage data, and the read check fails when an error count in the read-checked data is greater than a safety count.

19. The flash storage device of claim 11 , wherein the available storage block is an erased storage block.

20. The flash storage device of claim 11 , wherein the available storage block is a second storage block of the plurality of storage blocks having a read count less than the first threshold value.

Assignments (12)
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 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 →
CHANGE OF NAME Recorded Jul 1, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036042/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2010
From: MATAYA, RICHARD A.; HSUEH, PO-JEN; MOSHAYEDI, MARK
To: STEC, INC.
Reel/Frame 025374/0757 →