IP Library Granted Patent US 7,430,136
Granted Patent B2
US 7,430,136 · App. 11/458,336 · Granted Sep 30, 2008

Purge operations for solid-state storage devices

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,430,136
App. No.
11/458,336
Granted
Sep 30, 2008
Kind
B2
Abstract

A storage system that comprises multiple solid-state storage devices includes a command set that enables a host system to initiate one or more types of purge operations. The supported purge operations may include an erase operation in which the storage devices are erased, a sanitization operation in which a pattern is written to the storage devices, and/or a destroy operation in which the storage devices are physically damaged via application of a high voltage. The command set preferably enables the host system to specify how many of the storage devices are to be purged at a time during a purge operation. The host system can thereby control the amount of time, and the current level, needed to complete the purge operation. In some embodiments, the number of storage devices that are purged at a time may additionally or alternatively be selectable by a controller of the storage system.

Claims (53)

1. A storage system, comprising:

a memory array comprising a plurality of non-volatile solid-state storage devices; and

a controller configured to write data to, and read data from, the memory array in response to commands received from a host system, and being capable of purging a variable number of said solid-state storage devices in parallel;

wherein the controller implements a command set that enables the host system to initiate a purge operation in which the memory array is purged, and to control how many of the solid-state storage devices are purged at a time during the purge operation, such that both an amount of time and a current level used to perform the purge operation are controllable by the host system, wherein the purge operation is a destroy operation in which the solid-state storage devices are physically damaged via application of a voltage.

2. A storage system, comprising:

a memory array comprising a plurality of non-volatile solid-state storage devices; and

a controller configured to write data to, and read data from, the memory array in response to commands received from a host system, and being capable of purging a variable number of said solid-state storage devices in parallel;

wherein the controller implements a command set that enables the host system to initiate a purge operation in which the memory array is purged, and to control how many of the solid-state storage devices are purged at a time during the purge operation, such that both an amount of time and a current level used to perform the purge operation are controllable by the host system, wherein the purge operation comprises a first phase in which the controller erases and/or writes a pattern to the solid-state storage devices, and a second phase in which the solid-state storage devices are physically damaged.

3. A storage system, comprising;

a memory array comprising a plurality of non-volatile solid-state storage devices; and

a controller configured to write data to, and read data from, the memory array in response to commands received from a host system, and being capable of purging a variable number of said solid-state storage devices in parallel;

wherein the controller implements a command set that enables the host system to initiate a purge operation in which the memory array is purged, and to control how many of the solid-state storage devices are purged at a time during the purge operation, such that both an amount of time and a current level used to perform the purge operation are controllable by the host system, wherein the command set enables the host system to initiate at least the following types of purge operations: an erase operation in which the memory array is erased, a sanitization operation in which a pattern is written to the memory array, and a destroy operation in which the solid-state storage devices are physically damaged.

4. The storage system of claim 3 , wherein the command set additionally enables the host system to specify, for each of said types of purge operations, how many solid-state storage devices are to be purged at a time.

5. A storage system, comprising:

a memory array comprising a plurality of non-volatile solid-state storage devices; and

a controller configured to write data to, and read data from, the memory array in response to commands received from a host system, and being capable of purging a variable number of said solid-state storage devices in parallel;

wherein the controller implements a command set that enables the host system to initiate a purge operation in which the memory array is purged, and to control how many of the solid-state storage devices are purged at a time during the purge operation, such that both an amount of time and a current level used to perform the purge operation are controllable by the host system;

wherein the storage system includes a backup power source, and the controller is configured to select the number of solid-state storage devices to be purged at a time based, at least in part, on a state of the backup power source.

6. A storage system, comprising:

a memory array comprising a plurality of non-volatile solid-state storage devices; and

a controller configured to write data to, and read data from, the memory array in response to commands received from a host system, and being capable of purging a variable number of said solid-state storage devices in parallel;

wherein the controller implements a command set that enables the host system to initiate a purge operation in which the memory array is purged, and to control how many of the solid-state storage devices are purged at a time during the purge operation, such that both an amount of time and a current level used to perform the purge operation are controllable by the host system, wherein the controller is configured to perform the purge operation only if the storage system receives a predetermined sequence of commands.

7. A system configured to reduce unauthorized data recovery, the system comprising:

a host system; and

a storage system that stores data for the host system, the storage system comprising:

a memory array comprising a plurality of solid-state storage devices; and

a controller configured to purge two or more of the solid-state storage devices in parallel, wherein the controller purges the two or more solid-state storage devices in response to receiving a predetermined sequence of commands from the host system, wherein the controller implements a command set that enables the host system to initiate a purge operation in which the plurality of solid-state storage devices are purged, and to specify how many of the solid-state storage devices are to be purged at a time during the purge operation, and wherein the purge operation physically damages the solid-state storage devices.

8. A system configured to reduce unauthorized data recovery, the system comprising:

a host system; and

a storage system that stores data for the host system, the storage system comprising:

a memory array comprising a plurality of solid-state storage devices; and

a controller configured to purge two or more of the solid-state storage devices in parallel, wherein the controller purges the two or more solid-state storage devices in response to receiving a predetermined sequence of commands from the host system, wherein the controller implements a command set that enables the host system to initiate a purge operation in which the plurality of solid-state storage devices are purged, and to specify how many of the solid-state storage devices are to be purged at a time during the purge operation, and wherein the command set enables the host system to initiate at least the following types of purge operations: an erase operation in which the memory array is erased, a sanitization operation in which a pattern is written to the memory array, and a destroy operation in which the solid-state storage devices are physically damaged.

9. A system configured to reduce unauthorized data recovery, the system comprising:

a host system; and

a storage system that stores data for the host system, the storage system comprising:

a memory array comprising a plurality of solid-state storage devices;

a controller configured to purge two or more of the solid-state storage devices in parallel, wherein the controller purges the two or more solid-state storage devices in response to receiving a predetermined sequence of commands from the host system; and

destroy circuitry comprising voltage converter circuitry configured to convert a first voltage signal to a second voltage signal, wherein the second voltage signal is sufficient to physically damage the two or more solid-state storage devices said destroy circuitry further comprising destroy control logic that activates the voltage converter circuitry in response to receiving a control signal from the controller.

10. The system of claim 9 , wherein the storage system receives the first voltage signal from the host system.

11. The system of claim 9 , wherein the storage system further comprises a backup power system configured to generate the first voltage signal if the host system fails.

12. The system of claim 9 , wherein the storage system further comprises isolation circuitry configured to isolate the controller from the destroy circuitry.

13. A method of inhibiting access to data, comprising:

generating command data that specifies a purge operation for purging a solid-state memory array of a storage system, wherein the command data specifies how many solid-state storage devices of the memory array are to be purged at a time during the purge operation, wherein the purge operation is an operation that causes physical damage to the solid-state storage devices; and

sending the command data to the storage system to cause the storage system to perform the purge operation;

wherein, by specifying how many of the solid-state storage devices are to be purged at a time, the command data controls an amount of time and a current level used to perform the purge operation.

14. A method of inhibiting access to data, comprising:

generating command data that specifies a purge operation for purging a solid-state memory array of a storage system, wherein the command data specifies how many solid-state storage devices of the memory array are to be purged at a time during the purge operation; and

sending the command data to the storage system to cause the storage system to perform the purge operation, wherein the command data specifies a destructive purge operation in which the storage system initially writes a predetermined pattern of data to the solid-state storage devices, and then applies a voltage that causes physical damage to the solid-state storage devices;

wherein, by specifying how many of the solid-state storage devices are to be purged at a time, the command data controls an amount of time and a current level used to perform the purge operation.

15. A computer storage medium that stores a computer program which, when executed by a host computer, causes the host computer to perform a method that comprises:

generating command data that specifies a purge operation for purging a solid-state memory array of a storage system, wherein the command data specifies how many solid-state storage devices of the memory array are to be purged at a time during the purge operation, wherein the purge operation is an operation that causes physical damage to the solid-state storage devices; and

sending the command data to the storage system to cause the storage system to perform the purge operation;

wherein, by specifying how many of the solid-state storage devices are to be purged at a time, the command data controls an amount of time and a current level used to perform the purge operation.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: SILICONSYSTEMS, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 036872/0017 →