IP Library Granted Patent US 10,616,330
Granted Patent B2
US 10,616,330 · App. 15/397,263 · Granted Apr 7, 2020

Utilizing tree storage structures in a dispersed storage network

Inventor: Renars W. Narubin (Chicago, IL)
Assignee: PURE STORAGE, INC.
H04L67/1095G06F3/0604G06F3/064G06F3/067G06F3/0611G06F3/0619G06F3/0632G06F3/0647G06F3/0659G06F9/5083G06F11/1076G06F11/1092G06F12/0813G06F12/0837G06F12/0871G06F12/122G06F12/128G06F16/214G06F16/2246G06F16/2379G06N3/002H03M13/1515H03M13/3761H04H60/27H04L67/1097H04L67/26H04L67/2842G06F12/12G06F2212/604
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,616,330
App. No.
15/397,263
Granted
Apr 7, 2020
Kind
B2
Abstract

A method for execution by a dispersed storage and task (DST) execution unit includes receiving a slice write request via a network that includes a data slice and extracting metadata from the data slice. The metadata is stored in a metadata storage tree in a first memory device of the DST execution unit and the data slice is stored in a slice storage tree in a second memory device of the DST execution unit based on tree utilization parameters.

Claims (46)

1. A method for execution by a dispersed storage and task (DST) execution unit that includes a processor, the method comprises:

receiving a slice write request via a network that includes a data slice;

extracting metadata from the data slice; and

storing the metadata in a metadata storage tree in a first memory device of the DST execution unit and storing the data slice at a location associated with the metadata in a slice storage tree in a second memory device of the DST execution unit based on tree utilization parameters, wherein the first memory device has a higher performance level than the second memory device based on the tree utilization parameters indicating that metadata is stored in higher performance memory than data slices.

2. The method of claim 1 , further comprising:

comparing a tree utilization threshold to a slice tree utilization level associated with the slice storage tree; and

updating the tree utilization parameters by selecting a third memory device to store a third storage tree when tree utilization threshold compares unfavorably to the slice tree utilization level.

3. The method of claim 1 , wherein the first memory device has a lower performance level than the second memory device based on the tree utilization parameters indicating that metadata is stored in lower performance memory than data slices.

4. The method of claim 1 , wherein the first memory device includes solid-state memory, and wherein the second memory device includes magnetic drive memory.

5. The method of claim 1 , further comprising:

generating the tree utilization parameters by selecting the first memory device to store the metadata storage tree and selecting the second memory device to store the slice storage tree;

generating an initial metadata storage tree structure in the first memory; and

generating an initial slice storage tree structure in the second memory.

6. The method of claim 5 , wherein generating the tree utilization parameters further includes selecting a first plurality of memory devices to store a plurality of metadata storage trees and selecting a second plurality of memory devices to store a plurality of slice storage trees.

7. The method of claim 6 , further comprising selecting the first memory device from the first plurality of memory devices to store the extracted metadata and selecting the second memory device from the second plurality of memory devices to store the received data slice based on the tree utilization parameters.

8. The method of claim 1 , further comprising:

comparing a tree utilization threshold to a metadata tree utilization level associated with the metadata storage tree; and

updating the tree utilization parameters by selecting a third memory device to store a third storage tree when tree utilization threshold compares unfavorably to the metadata tree utilization level.

9. The method of claim 8 , wherein the third memory device includes a highest performing memory type, and wherein the third memory device is selected based on the highest performing memory type.

10. The method of claim 1 , wherein metadata entries of the metadata storage tree include a tree address corresponding to a location of the corresponding data slice in the slice storage tree.

11. A processing system of a dispersed storage and task (DST) execution unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

receive a slice write request via a network that includes a data slice;

extract metadata from the data slice; and

store the metadata in a metadata storage tree in a first memory device of the DST execution unit and store the data slice at a location associated with the metadata in a slice storage tree in a second memory device of the DST execution unit based on tree utilization parameters, wherein the first memory device has a higher performance level than the second memory device based on the tree utilization parameters indicating that metadata is stored in higher performance memory than data slices.

12. The processing system of claim 11 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

compare a tree utilization threshold to a slice tree utilization level associated with the slice storage tree; and

update the tree utilization parameters by selecting a third memory device to store a third storage tree when tree utilization threshold compares unfavorably to the slice tree utilization level.

13. The processing system of claim 11 , wherein the first memory device has a lower performance level than the second memory device based on the tree utilization parameters indicating that metadata is stored in lower performance memory than data slices.

14. The processing system of claim 11 , wherein the first memory device includes solid-state memory, and wherein the second memory device includes magnetic drive memory.

15. The processing system of claim 11 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

generate the tree utilization parameters by selecting the first memory device to store the metadata storage tree and selecting the second memory device to store the slice storage tree;

generate an initial metadata storage tree structure in the first memory; and

generate an initial slice storage tree structure in the second memory.

16. The processing system of claim 15 , wherein generating the tree utilization parameters further includes selecting a first plurality of memory devices to store a plurality of metadata storage trees and selecting a second plurality of memory devices to store a plurality of slice storage trees.

17. The processing system of claim 16 , further comprising selecting the first memory device from the first plurality of memory devices to store the extracted metadata and selecting the second memory device from the second plurality of memory devices to store the received data slice based on the tree utilization parameters.

18. The processing system of claim 11 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

compare a tree utilization threshold to a metadata tree utilization level associated with the metadata storage tree; and

update the tree utilization parameters by selecting a third memory device to store a third storage tree when tree utilization threshold compares unfavorably to the metadata tree utilization level.

19. The processing system of claim 18 , wherein the third memory device includes a highest performing memory type, and wherein the third memory device is selected based on the highest performing memory type.

20. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

receive a slice write request via a network that includes a data slice;

extract metadata from the data slice; and

store the metadata in a metadata storage tree in a first memory device and store the data slice at a location associated with the metadata in a slice storage tree in a second memory device based on tree utilization parameters, wherein the first memory device has a higher performance level than the second memory device based on the tree utilization parameters indicating that metadata is stored in higher performance memory than data slices.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 050451/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2017
From: NARUBIN, RENARS W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040828/0599 →
Continuity (2)
Provisional Application 62287145 · Jan 26, 2016
Related Publication 20170212681A1 · Jul 27, 2017