IP Library Granted Patent US 7,450,436
Granted Patent B2
US 7,450,436 · App. 11/582,783 · Granted Nov 11, 2008

Device recoverable purge for flash storage device

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,450,436
App. No.
11/582,783
Granted
Nov 11, 2008
Kind
B2
Abstract

A flash storage device includes flash storage units that are purged in response to a condition or command while allowing the flash storage device to be used subsequent to the purge. A flash controller interface receives a command for purging the flash storage device and provides a purge command to flash controllers in the flash storage device. Alternatively, the flash storage device detects a condition in response to which the flash controller interface provides a purge command to the flash controllers. Each flash controller independently erases a flash storage unit in response to receiving the purge command such that the flash storage units are erased substantially in parallel with each other. Subsequent to the purge, certain control data is reconstructed to allow subsequent use of the flash storage device.

Claims (30)

1. A method for purging a flash storage device comprising a plurality of flash storage units, wherein each flash storage unit of the plurality of flash storage units comprises a plurality of flash storage blocks, the plurality of flash storage blocks comprising at least one data block and at least one control block, the method comprising:

receiving a first command;

erasing the at least one data block in each flash storage unit of the plurality of flash storage units;

erasing the at least one control block in each flash storage unit of the plurality of flash storage units;

initializing the at least one data block in each flash storage unit of the plurality of flash storage units after erasing the at least one data block in the flash storage unit;

initializing the at least one control block in each flash storage unit of the plurality of flash storage units after erasing the at least one control block in the flash storage unit;

determining a status for each flash storage block of the plurality of flash storage blocks in each flash storage unit; and

storing the status of each flash storage block of the plurality of flash storage blocks of each flash storage unit.

2. The method of claim 1 , wherein at least one flash storage block in at least one flash storage unit of the plurality of flash storage units further comprises at least one defective block.

3. The method of claim 1 , wherein the plurality of flash storage blocks in at least one flash storage unit further comprises at least one spare block, and wherein erasing the plurality of flash storage units substantially in parallel in response to receiving the first command comprises erasing the at least one spare block.

4. The method of claim 1 , further comprising initializing the at least one spare block after erasing the at least one spare block.

5. The method of claim 1 , wherein at least one flash storage block in the plurality of flash storage blocks of at least one flash storage unit comprises at least one defective block.

6. The method of claim 1 , wherein storing the status for each flash storage block of the plurality of flash storage blocks of each flash storage unit comprises:

generating a table for each flash storage unit, the table comprising the status of each flash storage block of the plurality of flash storage blocks in the flash storage unit; and

storing the table of each flash storage unit.

7. The method of claim 1 , further comprising generating the first command based on a condition of the flash storage device.

8. A system comprising:

a plurality of flash storage units; and

a plurality of flash storage controllers, each flash storage controller of the plurality of flash storage controllers coupled in communication with a corresponding flash storage unit of the plurality of flash storage units, the plurality of flash storage controllers configured to receive a first command and to erase the plurality of flash storage units substantially in parallel in response to receiving the first command, wherein each flash storage unit of the plurality of flash storage units comprises a plurality of flash storage blocks, the plurality of flash storage blocks in each flash storage unit comprising at least one data block for storing user data and at least one control block for storing control data, and wherein the flash controller corresponding to each flash storage unit is further configured to erase both the at least one data block and the at least one control block in the flash storage unit in response to receiving the first command, wherein the plurality of flash storage blocks in at least one flash storage unit of the plurality of flash storage units further comprises at least one spare block, and wherein the flash controller corresponding to the flash storage unit comprising the at least one spare block is further configured to erase the at least one spare block in response to receiving the first command, and wherein the each flash controller of the plurality of flash controllers is further configured to generate a table including the status of each flash storage block in the plurality of flash storage blocks of the flash storage unit corresponding to the flash controller and to store the table in the flash storage unit.

9. The system of claim 8 , further comprising a processor coupled to the flash controller interface and configured to generate the first command, and wherein the processor is further configured to generate the first command based on a condition of the system.

10. A system for purging a flash storage device comprising a plurality of flash storage units, wherein each flash storage unit of the plurality of flash storage units comprises a plurality of flash storage blocks comprising at least one data block and at least one control block, the system comprising:

means for receiving a first command;

means for erasing the plurality of flash storage units substantially in parallel in response to receiving the first command; and

means for erasing the at least one data block;

means for erasing the at least one control block;

means for initializing the at least one data block;

means for initialization the at least one control block.

11. The system of claim 10 , the system further comprising:

means for determining a stats for each flash storage block in each flash storage unit of the plurality of flash storage units; and

means for storing the stats of each flash storage block of each flash storage unit.

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 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 →
CHANGE OF NAME Recorded May 7, 2010
From: SIMPLETECH, INC.
To: STEC, INC.
Reel/Frame 024351/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2010
From: SALESSI, NADER; TORABI, HOOSHMAND; CHENG, CHAK-FAI; GAZERI, HOSEIN; MATAYA, RICHARD
To: SIMPLETECH, INC.
Reel/Frame 024185/0317 →