IP Library Granted Patent US 10,146,645
Granted Patent B2
US 10,146,645 · App. 15/238,031 · Granted Dec 4, 2018

Multiple memory format storage in a storage network

Inventors: Greg R. Dhuse (Chicago, IL); Gary W. Grube (Barrington Hills, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/1474G06F3/064G06F3/067G06F3/0619G06F3/0647G06F3/0652G06F11/00G06F11/1076H04L67/1097G06F2201/805G06F2201/82G06F2201/85H04L41/06
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,146,645
App. No.
15/238,031
Granted
Dec 4, 2018
Kind
B2
Abstract

A method includes sending a data retrieval request regarding a data segment of a data object to redundant array of independent disk (RAID) memory and to dispersed storage network (DSN) memory. The method further includes receiving a first read response from a first one of the RAID memory and the DSN memory. The method further comprises recovering the data segment from the first read response. The method further includes determining whether to wait for a second read response from a second one of the RAID memory and the DSN memory. When the computing device determines to wait, the method further includes receiving the second response within a given time frame. The method further includes recovering a copy of the data segment from the second read response. When the data segment substantially matches the copy of the data segment, the method further includes utilizing either the data segment or the copy of the data segment.

Claims (54)

1. A method comprises:

sending, by a computing device of a storage network, a data retrieval request regarding a data segment of a data object to redundant array of independent disk (RAID) memory of the storage network and to dispersed storage network (DSN) memory of the storage network;

receiving, by the computing device, a first read response from a first one of the RAID memory and the DSN memory;

recovering, by the computing device, the data segment from the first read response;

waiting, by the computing device, for a given time frame, for a second read response from a second one of the RAID memory and the DSN memory;

when the second read response is received within the given timeframe:

recovering, by the computing device, a copy of the data segment from the second read response;

comparing, by the computing device, the data segment and the copy of the data segment; and

when the data segment substantially matches the copy of the data segment, utilizing, by the computing device, either the data segment or the copy of the data segment; and

when the data segment does not substantially match the copy of the data segment, indicating, by the computing device, a read error.

2. The method of claim 1 , wherein the recovering the data segment from the first read response further comprises:

when the first read response is from the DSN memory:

receiving, by the computing device, a decode threshold number of encoded data slices,

wherein the data segment was dispersed storage error encoded into a set of encoded data slices; and

dispersed storage error decoding the decode threshold number of encoded data slices to recover the data segment.

3. The method of claim 1 , wherein the recovering the data segment from the first read response further comprises:

when the first read response is from the RAID memory:

retrieving, by the computing device, a data stripe from the RAID memory; and

recovering, by the computing device, the data segment from the data stripe.

4. The method of claim 1 further comprises:

when the second read response is not received within the given time frame, determining, by the computing device, whether the second one of the RAID memory and the DSN memory is available; and

when the second one of the RAID memory and the DSN memory is not available, utilizing, by the computing device, the data segment.

5. The method of claim 4 further comprises:

when the second one of the RAID memory and the DSN memory is not available because the second one of the RAID memory and the DSN memory is not currently storing an encoded representation of the data segment:

determining, by the computing device, whether to further store the data segment in the second one of the RAID memory and the DSN memory; and

encoding, by the computing device, the data segment for storage in the second one of the RAID memory and the DSN memory.

6. A computing device comprises:

an interface;

memory; and

a processing module operably coupled to the interface and the memory, wherein the processing module is operably coupled to:

send, via the interface, a data retrieval request regarding a data segment of a data object to redundant array of independent disk (RAID) memory of a storage network and to dispersed storage network (DSN) memory of the storage network;

receive, via the interface, a first read response from a first one of the RAID memory and the DSN memory;

recover the data segment from the first read response;

wait for a given time frame, for a second read response from a second one of the RAID memory and the DSN memory;

when the second read response is received via the interface, within the given time frame:

recover a copy of the data segment from the second read response;

compare the data segment and the copy of the data segment; and

when the data segment substantially matches the copy of the data segment, utilize either the data segment or the copy of the data segment; and

when the data segment does not substantially match the copy of the data segment, indicate a read error.

7. The computing device of claim 6 , wherein the processing module is further operable to recover the data segment from the first read response by:

when the first read response is from the DSN memory:

receiving, via the interface, a decode threshold number of encoded data slices, wherein the data segment was dispersed storage error encoded into a set of encoded data slices; and

dispersed storage error decode the decode threshold number of encoded data slices to recover the data segment.

8. The computing device of claim 6 , wherein the processing module is further operable to recover the data segment from the first read response by:

when the first read response is from the RAID memory:

retrieving a data stripe from the RAID memory; and

recovering the data segment from the data stripe.

9. The computing device of claim 6 , wherein the processing module is further operable to:

when the second read response is not received within the given time frame, determine whether the second one of the RAID memory and the DSN memory is available; and

when the second one of the RAID memory and the DSN memory is not available, utilize the data segment.

10. The computing device of claim 9 , wherein the processing module is further operable to

when the second one of the RAID memory and the DSN memory is not available because the second one of the RAID memory and the DSN memory is not currently storing an encoded representation of the data segment:

determine whether to further store the data segment in the second one of the RAID memory and the DSN memory; and

encode the data segment for storage in the second one of the RAID memory and the DSN memory.

Assignments (5)
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 Aug 16, 2016
From: DHUSE, GREG R.; GRUBE, GARY W.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039455/0156 →
Continuity (3)
Continuation In Part 13270528 · Oct 11, 2011
Provisional Application 61408980 · Nov 1, 2010
Related Publication 20160357646A1 · Dec 8, 2016