IP Library Patent Application 15831477
Patent Application
App. No. 15/831,477

PURPOSE-DRIVEN DIVISION BETWEEN LOGICAL AND PHYSICAL STORAGE ALLOCATION

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 None
App. No.
15/831,477
Abstract

A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN). The method begins by identifying a DSN address range to be mapped to a physical memory location within a storage unit of a set of storage units. The method continues by coordinating selection of the physical memory location to be mapped to the DSN address range in accordance with a selection approach to produce mapping information. The method continues by updating a local DSN address range to memory location table based on the mapping information. The method continues by receiving a slice access request and identifying a memory location corresponding to a slice name of the slice access requests based on an interpretation of the local DSN address range to memory location table of the storage unit.

Claims (38)

1 . A method for execution by one or more processing modules of one or more storage units of a dispersed storage network (DSN), the method comprises:

identifying a DSN address range to be mapped to a physical memory location within a storage unit of a set of storage units;

coordinating selection of the physical memory location to be mapped to the DSN address range in accordance with a selection approach to produce mapping information;

updating a local DSN address range to memory location table based on the mapping information;

receiving a slice access request; and

identifying a memory location corresponding to a slice name of the slice access requests based on an interpretation of the local DSN address range to memory location table of the storage unit.

2 . The method of claim 1 , wherein the identifying includes at least one of interpreting system registry information, receiving a DSN address range assignment request, detecting that the DSN address range is unmapped, or determining to reallocate mapping of the DSN address range.

3 . The method of claim 1 , wherein each of the storage units exchange the mapping information to provide the coordinating.

4 . The method of claim 1 , wherein the coordinating minimizes collisions, where a collision includes choosing a same memory device position to be responsible for a portion of a source name range that another storage unit has already selected.

5 . The method of claim 1 , wherein at least one of the storage units choose a selection approach and chooses the physical memory location in accordance with the chosen selection approach.

6 . The method of claim 1 , wherein the updating includes identifying a portion of the DSN address range associated with a corresponding storage unit, updating the DSN address range to memory location table to associate the portion of the DSN address range with a corresponding memory location of the mapping information, and associating other sub-portions with other storage units of the set of storage units.

7 . The method of claim 1 , wherein the slice access request includes at least one of: a read slice request, a write slice request, a list slice request, or a delete slice request.

8 . The method of claim 1 , wherein identifying a memory location includes accessing a local DSN address range to memory location table using a slice name of the slice access request to identify the memory location and accesses the memory location to process the slice access request.

9 . A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

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

identify a DSN address range to be mapped to a physical memory location within a storage unit of a set of storage units;

coordinate selection, by at least some storage units of the set of storage units, of the physical memory location to be mapped to the DSN address range in accordance with a selection approach to produce mapping information;

update, for each storage unit, a local DSN address range to memory location table based on the mapping information;

receive, for a storage unit, a slice access request; and

identify, by the storage unit, a memory location corresponding to a slice name of the slice access requests based on an interpretation of the local DSN address range to memory location table of the storage unit.

10 . The computing device of claim 9 , wherein the identify a DSN address includes at least one of interpreting system registry information, receiving a DSN address range assignment request, detecting that the DSN address range is unmapped, or determining to reallocate mapping of the DSN address range.

11 . The computing device of claim 9 , wherein each of the storage units exchange mapping information to provide the coordinate selection.

12 . The computing device of claim 9 , wherein at least one of the storage units chooses a selection approach and chooses the physical memory location in accordance with the chosen selection approach.

13 . The computing device of claim 9 , wherein the update includes identifying a portion of the DSN address range associated with a corresponding storage unit, updating the DSN address range to memory location table to associate the portion of the DSN address range with a corresponding memory location of the mapping information, and associating other sub-portions with other storage units of the set of storage units.

14 . The computing device of claim 9 , wherein the coordinate selection minimizes collisions, where a collision includes choosing a same memory device physical position to be responsible for a portion of a source name range that another storage unit has already selected.

15 . The computing device of claim 9 , wherein identify, by the storage unit, a memory location includes accessing a local DSN address range to memory location table using a slice name of the slice access request to identify the memory location and accesses the memory location to process the slice access request.

16 . 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:

identifying a DSN address range to be mapped to a physical memory location within a storage unit of a set of storage units;

coordinating selection, by at least some storage units of the set of storage units, of the physical memory location to be mapped to the DSN address range in accordance with a selection approach to produce mapping information;

updating, for each storage unit, a local DSN address range to memory location table based on the mapping information;

receiving, for a storage unit, a slice access request; and

identifying, by the storage unit, a memory location corresponding to a slice name of the slice access requests based on an interpretation of the local DSN address range to memory location table of the storage unit.

17 . The method of claim 16 , wherein the identifying includes at least one of interpreting system registry information, receiving a DSN address range assignment request, detecting that the DSN address range is unmapped, or determining to reallocate mapping of the DSN address range.

18 . The method of claim 16 , wherein each of the storage units exchange mapping information to provide the coordinating.

19 . The method of claim 16 , wherein the coordinating minimizes collisions, where a collision includes choosing a same memory device position to be responsible for a portion of a source name range that another storage unit has already selected.

20 . The method of claim 16 , wherein identifying, by the storage unit, a memory location includes accessing a local DSN address range to memory location table using a slice name of the slice access request to identify the memory location and accesses the memory location to process the slice access request.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2017
From: RESCH, JASON K.; ILJAZI, ILIR; PEAKE, ANDREW G.; MOTWANI, MANISH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044297/0528 →