IP Library Granted Patent US 8,806,227
Granted Patent B2
US 8,806,227 · App. 11/620,794 · Granted Aug 12, 2014

Data shredding RAID mode

Inventors: Mikhail I. Grinchuk (San Jose, CA); Anatoli A. Bolotov (Cupertino, CA); Ranko Scepanovic (Saratoga, CA); Robert D. Waldron (Fort Collins, CO)
Assignee: LSI Corporation
G06F21/6218
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,806,227
App. No.
11/620,794
Granted
Aug 12, 2014
Kind
B2
Abstract

A method of storing sensitive data by generating randomization values, transforming the sensitive data and the randomization values into a result, and storing separate portions of the result on at least two storage devices, such that the sensitive data cannot be disclosed if any one of the storage devices is compromised.

Claims (79)

1. A method of storing sensitive data, the method comprising:

generating randomization values,

dividing the sensitive data and the randomization values into numbered segments,

transforming the sensitive data and the randomization values into a result separately and independently for each numbered segment, wherein the randomization values depend at least in part on a storage address for the result, where the storage address has a periodical sequence within a single storage device, such that there exist values T that are greater than one, such that for all storage addresses A, the transforming step for the A th numbered segments is identical to that for A+T th and non-negative A-T th numbered segments,

storing separate portions of the result at the storage address on at least two storage devices,

where the transforming step: (a) is reversible in that when all storage devices are accessible to an authorized user, the sensitive data can be reconstructed by reversing the transforming step, (b) provides automatic self-shredding of the sensitive data as it is stored on the storage devices in that when any one of the storage devices is accessible to an unauthorized user, then the storage device does not contain a sufficient amount of information to reconstruct any of the sensitive data, without accessing the other storage devices.

2. The method of claim 1 wherein the transforming step comprises a bitwise XOR operation of the numbered segments.

3. The method of claim 1 wherein at least one of the at least two storage devices only stores the randomization values.

4. The method of claim 1 wherein for each storage address, at least one storage device only stores the randomization values in the numbered segment with the storage address.

5. The method of claim 1 wherein the transforming step depends cyclically on the storage address, such that a numbered segment A on a storage device D has properties similar to a numbered segment A+I on a storage device D+d, where d is a constant, 0<d<n, n is a total number of storage devices, and the “+” in D+d denotes addition modulo n.

6. The method of claim 1 , wherein the randomization values are true random numbers.

7. The method of claim 1 , wherein the randomization values are pseudo random numbers.

8. The method of claim 1 , wherein all data storage devices have an equal data storage capacity.

9. The method of claim 1 , wherein all data storage devices are hard disk drives.

10. The method of claim 1 , wherein the sensitive data is segmented into at least one of one bit of the sensitive data, one byte of the sensitive data, and one block of the sensitive data.

11. A method of storing sensitive data, the method comprising:

associating identical relative logical positions on a first data storage device and a second data storage device,

for each relative position on the first data storage device and the second data storage device,

generating only one randomization value,

writing the randomization value to the relative logical position on the first data storage device, and

writing the randomization value to the relative logical position on the second data storage device, and

for each data segment in the sensitive data,

selecting one of the relative logical positions on the first data storage device and the second data storage device,

reading the randomization value from the selected relative logical position,

transforming the data segment with the randomization value as read, to produce a transformed data segment, and

writing the transformed data segment to the selected relative logical position on a selected one of the first data storage device and the second data storage device.

12. The method of claim 11 , wherein none of the transformed data segments are written onto the second data storage device.

13. The method of claim 11 , wherein a first portion of the data segments are written onto the first data storage device, and a second portion of the data segments are written onto the second data storage device.

14. The method of claim 11 , wherein the randomization values are true random numbers.

15. The method of claim 11 , wherein the randomization values are pseudo random numbers.

16. The method of claim 11 , wherein the data segment is transformed with an XOR operation with the randomization value.

17. The method of claim 11 , wherein the first data storage device and the second data storage device have an equal data storage capacity.

18. The method of claim 11 , wherein the first data storage device and the second data storage device are both hard disk drives.

19. The method of claim 11 , wherein the data segment is one of: one bit of the sensitive data, one byte of the sensitive data, one block of the sensitive data.

20. A hard drive controller card, comprising:

ports to send data and control signals to at least a first hard drive and a second hard drive, and to communicate with a computer,

an initialization module to,

associate identical relative logical positions on the first hard drive and the second hard drive, and

for each relative logical position on the first hard drive and the second hard drive,

generate only one randomization value,

write the randomization value to the relative logical position on the first hard drive, and

write the randomization value to the relative logical position on the second hard drive,

a data shredding module to,

receive sensitive data, and

for each data segment in the sensitive data,

select one of the relative logical positions on the first hard drive and the second hard drive,

read the randomization value from the selected relative logical position,

transform the data segment with an XOR function with the randomization value as read, to produce a transformed data segment, and

write the transformed data segment to the selected relative logical position on a selected one of the first hard drive and the second hard drive, and

a data reading module to,

read the transformed data segment from the selected relative logical position on the selected one of the first hard drive and the second hard drive,

read the randomization value from the selected relative logical position of a nonselected one of the first hard drive and the second hard drive, and

reconstruct the data segment with an XOR function applied to the transformed data segment and the randomization value.

21. A hard drive controller card, comprising:

ports to send data and control signals to at least a first hard drive and a second hard drive, and to communicate with a computer,

hardware for implementing software algorithms, including;

an initialization algorithm that associates identical relative logical positions on the hard drives with each other, generates only one randomization value for each relative logical position and writes the randomization value to each relative logical position on the hard drives,

a data writing algorithm that receives sensitive data, and for each data segment of the sensitive data, selects one of the relative logical positions, reads the randomization value from the selected relative logical position of some of the hard drives, transforms the data segment with an XOR function with the randomization value to produce transformed data segments, and writes the transformed data segments to the selected relative logical position on at least a second selected hard drive, and

a data reading routine that reads the transformed data segments from the selected relative logical position on the selected hard drive and reconstructs the requested data segment with an XOR function to produce the sensitive data.

22. A hard drive controller card, comprising:

ports to send data and control signals to at least two hard drives and to communicate with a computer, and

hardware for implementing data access operations, including algorithmic modules, the algorithmic modules including,

an initialization module to,

associate identical relative logical positions on the hard drives with each other, and

for each relative logical position on the hard drives,

one of generate and receive from a separate random number generator only one randomization value, and

write the randomization value to the relative logical position on the hard drives, where the randomization value is selectively written in one of an unmodified form and a modified form,

a data writing module to,

receive sensitive data, and

for each data segment in the sensitive data,

select at least one of the hard drives,

read the randomization value from a selected relative logical position of the at least one selected hard drive,

transform with a first function the data segment with the randomization value as read, to produce at least one transformed data segment, and

write the at least one transformed data segment to the selected relative logical position on at least one hard drive, and

a data reading module to, for each data segment to be read,

select at least two of the hard drives, where at least one of the selected hard drives contains at least one transformed data segment in a selected relative position,

read the at least one transformed data segment from the selected relative logical position on the selected hard drives,

apply a second function based on the first function to the at least one transformed data segment to reconstruct the sensitive data, and

send the reconstructed sensitive data to the computer.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
CHANGE OF NAME Recorded Dec 15, 2009
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 023653/0304 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2007
From: GRINCHUK, MIKHAIL I.; BOLOTOV, ANATOLI A.; SCEPANOVIC, RANKO; WALDRON, ROBERT D.
To: LSI LOGIC CORPORATION
Reel/Frame 018722/0387 →
Continuity (2)
Provisional Application 60821430 · Aug 4, 2006
Related Publication 20080046764A1 · Feb 21, 2008