IP Library Granted Patent US 10,104,045
Granted Patent B2
US 10,104,045 · App. 12/762,350 · Granted Oct 16, 2018

Verifying data security in a dispersed storage network

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 10,104,045
App. No.
12/762,350
Granted
Oct 16, 2018
Kind
B2
Abstract

An integrity record is appended to data slices prior to being sent to multiple slice storage units. Each of the data slices includes a different encoded version of the same data segment. An integrity indicator of each data slice is computed, and the integrity record is generated based on each of the individual integrity indicators, and may be, for example, list or a hash of the combined integrity indicators. When retrieving data slices from storage, the integrity record can be stripped off, a new integrity indicator of the data slice calculated, and a new integrity record created. The new integrity record can be compared to the original integrity record, and used to verify the integrity of the data slices.

Claims (31)

1. A method comprising:

encoding a data segment of data in accordance with a dispersed storage error encoding function to produce a plurality of data slices;

for each data slice of the plurality of data slices, calculating, using a hash function, an integrity indicator to a plurality of integrity indicators, wherein the integrity indicator is representative of an original, error-free, version of a corresponding data slice of the plurality of data slices;

performing a function on the plurality of integrity indicators to produce an integrity record, wherein the integrity record is representative of an original, error-free, version of the plurality of data slices;

creating a plurality of copies of the integrity record;

for each of the plurality of data slices, appending one of the plurality of copies of the integrity record to a corresponding one of the plurality of data slices to produce a plurality of modified data slices, wherein a modified data slice of the plurality of modified data slices includes the corresponding data slice, the integrity indicator that represents the original, error-free, version of the corresponding data slice, and the integrity record that represents the original, error-free, version of the plurality of data slices; and

transmitting the plurality of modified data slices to slice storage units for storage therein.

2. The method of claim 1 further comprising:

caching the plurality of integrity indicators; and

performing an aggregation function that aggregates the plurality of integrity indicators to produce the integrity record.

3. The method of claim 1 , further comprising:

caching the plurality of integrity indicators; and

performing a hash function that hashes the plurality of integrity indicators to produce the integrity record.

4. The method of claim 1 , wherein the calculating the plurality of integrity indicators further comprising:

performing a hash function on a data slice of the plurality of data slices to produce one of the plurality of integrity indicators, wherein the hash function includes one or more of double hashing, checksums, a Hashed Message Authentication Code (HMAC), and digital signatures.

5. An apparatus comprising:

a processor operable to:

encode a data segment of data in accordance with a dispersed storage error encoding function to produce a plurality of data slices;

for each data slice of the plurality of data slices, calculate, using a hash function, an integrity indicator to a plurality of integrity indicators, wherein the integrity indicator is representative of an original, error-free, version of a corresponding data slice of the plurality of data slices;

perform a function on the plurality of integrity indicators to produce an integrity record, wherein the integrity record is representative of an original, error-free, version of the plurality of data slices;

create a plurality of copies of the integrity record;

for each of the plurality of data slices, append one of the plurality of copies of the integrity record to a corresponding one of the plurality of data slices to produce a plurality of modified data slices, wherein a modified data slice of the plurality of modified data slices includes the corresponding data slice, the integrity indicator that represents the original, error-free, version of the corresponding data slice, and the integrity record that represents the original, error-free, version of the plurality of data slices; and

a communications interface operable to transmit the plurality of modified data slices to slice storage units for storage therein.

6. The apparatus of claim 5 further comprising:

cache memory to store the plurality of integrity indicators; and

the processor further to perform an aggregation function that aggregates the plurality of integrity indicators to produce the integrity record.

7. The apparatus of claim 5 further comprising:

cache memory to store the plurality of integrity indicators; and

the processor further to perform a hash function that hashes the plurality of integrity indicators to produce the integrity record.

8. The apparatus of claim 5 , wherein the processor is further operable to calculate the plurality of integrity indicators by:

performing a hash function on a data slice of the plurality of data slices to produce one of the plurality of integrity indicators, wherein the hash function includes one or more of double hashing, checksums, a Hashed Message Authentication Code (HMAC), and digital signatures.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2010
From: RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 024249/0300 →