Utilizing multiple data structures for slice storage
Abstract
A method includes a dispersed storage (DS) processing module receiving a slice access request that includes a slice name. The method continues by obtaining one or more revision numbers for the slice access request. The method continues for each combination of revision number and the slice name, by performing a deterministic function on the combination to produce a slice location table index value. The method continues by accessing a slice location table utilizing the slice location table index value to obtain a slice location. The method continues by accessing a slice utilizing the slice location. The method continues by generating a slice access response based on the accessing of the slice and sending the slice access response to a requesting entity.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
receiving a slice access request that includes a slice name; obtaining one or more revision numbers for the slice access request; for each combination of revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value; accessing a slice location table utilizing the slice location table index value to obtain a slice location; accessing a slice utilizing the slice location; generating a slice access response based on the accessing of the slice; and sending the slice access response to a requesting entity.
2 . The method of claim 1 , wherein the slice location includes one or more of:
a memory device identifier; and a location identifier within the memory device.
3 . The method of claim 1 further comprises the obtaining including searching a slice name tree and receiving the revision numbers.
4 . The method of claim 1 further comprises the obtaining including selecting an estimated revision number.
5 . The method of claim 1 , wherein the slice location table includes one or more of:
associated information; slice name; revision number; slice length of the revision; an integrity value of the revision.
6 . The method of claim 1 further comprises:
when the request includes writing a slice, creating a new entry in a slice name tree.
7 . The method of claim 6 , wherein the new entry includes one or more of:
slice name; revision number; slice integrity value; slice length; and pointers to adjacent entries.
8 . The method of claim 1 further comprises the request including access to a list of the slice name ranges.
9 . The method of claim 8 wherein the list of the slice name ranges includes accessing a slice name tree within a slice name range to gather revision number and any associated information.
10 . The method of claim 1 wherein the slice access response includes, for each slice name:
slice;
revision;
slice length; and
revision count.
11 . A dispersed storage network (DSN) comprising one or more processing modules configured to:
receive a slice access request that includes a slice name; obtain a revision number for the slice access request; for each combination of revision number and the slice name, perform a deterministic function on the combination to produce a slice location table index value; access a slice location table utilizing the slice location table index value to obtain a slice location; access a slice utilizing the slice location; generate a slice access response based on the accessing of the slice; and send the slice access response to a requesting entity.
12 . The DSN of claim 11 , further comprising a slice name tree and the obtaining comprises searching the slice name tree and receiving the revision number.
13 . The DSN of claim 11 further comprises:
when the request includes reading a slice, the obtaining revision number includes selecting an estimated revision number.
14 . The DSN of claim 11 , wherein the slice location table includes one or more of:
associated information; slice name; revision number; slice length of the revision; an integrity value of the revision.
15 . The DSN of claim 11 further comprises:
when the request includes writing a slice, creating a new entry in a slice name tree.
16 . The DSN of claim 15 , wherein the new entry includes one or more of:
slice name; revision number; slice integrity value; slice length; and pointers to adjacent entries.
17 . The DSN of claim 11 further comprises the request including access to a list of the slice name ranges.
18 . The DSN of claim 17 wherein the list of the slice name ranges includes accessing a slice name tree within a slice name range to gather the revision numbers and any associated information.
19 . The DSN of claim 11 wherein the slice access response includes, for each slice name:
slice;
revision;
slice length; and
revision count.
20 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
receiving a slice range access request that includes a range of slice names; obtaining a revision number for each slice in the slice range access request; for each combination of the revision number and the slice name obtained, performing a deterministic function on the combination to produce slice location table index values; accessing a slice location table utilizing the slice location table index values to obtain slice locations; accessing the slices utilizing the slice locations; generating a slice access response based on the accessing of the slices; and sending the slice access response to a requesting entity.
21 . The method of claim 20 further comprises the obtaining including accessing a slice name tree within a slice name range to gather the revision number and any associated information.
22 . The method of claim 20 , wherein the slice access response includes:
slice; revision; slice length; and revision count.
23 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
receiving a read slice access request that includes a slice name; for each combination of an estimated revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value; accessing a slice location table utilizing the slice location table index value to obtain a slice location; accessing a slice utilizing the slice location; generating a slice access response based on the accessing of the slice; and sending the slice access response to a requesting entity.
24 . The method of claim 23 wherein the slice access response includes, for each slice name:
slice;
revision;
slice length; and
revision count.
25 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
receiving a read slice access request that includes a slice name; searching a slice name tree and receiving a slice name revision number; for each combination of an estimated revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value; accessing a slice location table utilizing the slice location table index value to obtain a slice location; accessing a slice utilizing the slice location; generating a slice access response based on the accessing of the slice; and sending the slice access response to a requesting entity.
26 . The method of claim 25 wherein the slice access response includes, for each slice name:
slice;
revision;
slice length; and
revision count.
27 . The method of claim 25 further comprises the searching a slice name tree and receiving slice name revision numbers including receiving one or more of:
slice integrity value;
slice length; and
pointers to adjacent entries.
28 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
receiving a write slice access request that includes a slice name, slice and revision number; for each combination of the revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value; accessing a slice location table utilizing the slice location table index value to obtain a slice location; writing the slice to the slice location within DSN memory; creating a new entry in a slice name tree including at least slice name and revision number; sending a slice access response to a requesting entity.
29 . The method of claim 28 , wherein the new entry further includes one or more of:
slice integrity value; slice length; and pointers to adjacent entries.Join the waitlist — get patent alerts
Track US2015100662A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.