Nonrepeating identifiers in an address space of a non-volatile solid-state storage
First Claim
1. A method, executed by a processor, of applying an address space in a storage device, comprising:
- assigning a non-overlapping range of a second address space to each of a plurality of non-volatile solid-state storages of the storage device greater than a maximum number of addresses in the second address space expected to be applied during a lifespan of the non-volatile solid-state storage;
translating a first address of a portion of user data in a first address space to the second address space, wherein a range of addresses in the first address space and a range of addresses in the second address space are assigned to each storage node associated with the non-volatile solid-state storage;
allocating a range of addresses of the second address space in the non-volatile solid-state storage without synchronization with other non-volatile solid-state storages in a storage cluster that includes the non-volatile solid-state storage; and
storing the portion of the user data in the non-volatile solid-state storage, with the portion of the user data associated with both the first address and the second address.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of applying an address space to data storage in a non-volatile solid-state storage is provided. The method includes receiving a plurality of portions of user data for storage in the non-volatile solid-state storage and assigning to each successive one of the plurality of portions of user data one of a plurality of sequential, nonrepeating addresses of an address space. The address range of the address space exceeds a maximum number of addresses expected to be applied during a lifespan of the non-volatile solid-state storage. The method includes writing each of the plurality of portions of user data to the non-volatile solid-state storage such that each of the plurality of portions of user data is identified and locatable for reading via the one of the plurality of sequential, nonrepeating addresses of the address space.
-
Citations
18 Claims
-
1. A method, executed by a processor, of applying an address space in a storage device, comprising:
-
assigning a non-overlapping range of a second address space to each of a plurality of non-volatile solid-state storages of the storage device greater than a maximum number of addresses in the second address space expected to be applied during a lifespan of the non-volatile solid-state storage; translating a first address of a portion of user data in a first address space to the second address space, wherein a range of addresses in the first address space and a range of addresses in the second address space are assigned to each storage node associated with the non-volatile solid-state storage; allocating a range of addresses of the second address space in the non-volatile solid-state storage without synchronization with other non-volatile solid-state storages in a storage cluster that includes the non-volatile solid-state storage; and storing the portion of the user data in the non-volatile solid-state storage, with the portion of the user data associated with both the first address and the second address. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of applying an address space to data storage, comprising:
-
distributing user data throughout a plurality of storage nodes, each of the plurality of storage nodes having non-volatile solid-state memory for user data storage; assigning a non-overlapping range of an address space to each of the storage nodes wherein addresses in the address space have a range that exceeds application of addresses in a lifespan of the storage nodes, and wherein a range of addresses in the address space is assigned to each of the storage nodes; receiving a plurality of portions of user data for storage in the non-volatile solid-state memory; assigning to each successive one of the plurality of portions of user data an address in the address space; allocating a range of addresses in the non-volatile solid-state storage without synchronization with other non-volatile solid-state storages in a storage cluster that includes the non-volatile solid-state storage; and writing each of the plurality of portions of user data to the non-volatile solid-state memory. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A storage cluster, comprising:
-
a non-volatile solid-state storage device having a range of virtual allocation units in the address space assigned to the non-volatile solid-state storage, wherein ranges of virtual allocation units in the address space, as assigned to a plurality of non-volatile solid-state storages, are non-overlapping; and a controller coupled to the non-volatile solid-state storage configured to perform actions comprising; assigning, to a plurality of portions of user data, a plurality of virtual allocation units from an address space of virtual allocation units, wherein a range of addresses in the address space of virtual allocation units are assigned to each storage node associated with the non-volatile solid-state storage; allocating a range of addresses in the non-volatile solid-state storage device without synchronization with other non-volatile solid-state storages in a storage cluster that includes the non-volatile solid-state storage device; and storing the plurality of portions of user data in the non-volatile solid-state storage. - View Dependent Claims (15, 16, 17, 18)
-
Specification