Systems and methods for referencing data on a storage medium
First Claim
1. A method, comprising:
- arranging a plurality of data segments for storage at respective offsets within a storage unit of a solid-state storage medium;
mapping front-end addresses of the data segments to a physical address of the storage unit in a first index;
generating a second index for storage on the solid-state storage medium, wherein the second index is configured to associate front-end addresses of each of the plurality of data segments with respective offsets within the storage unit and wherein an entry of the second index includes a front-end address of a data segment of the plurality of data segments and indicates an offset of the data segment within the storage unit; and
accessing a requested data segment of the plurality of data segments, where accessing the requested data segment comprises;
performing a first translation comprising mapping a front-end address of the requested data segment to a physical address of the storage unit in the first index; and
performing a second translation comprising reading the second index stored at the physical address, and mapping the front-end address of the requested data segment to an offset of the requested data segment in the second index.
12 Assignments
0 Petitions
Accused Products
Abstract
A storage layer is configured to store data at respective offsets within storage units of a storage device. Physical addresses of the data may be segmented into a first portion identifying the storage unit in which the data is stored, and a second portion that indicates the offset of the data within the identified storage unit. An index of the data offsets (e.g., second portions of the physical addresses) may be persisted on the storage device. The first portion of the address may be associated with logical addresses of the data in a forward index. The forward index may omit the second portion of the physical addresses, which may reduce the memory overhead of the index and/or allow the forward index to reference larger storage devices. Data of a particular logical address may be accessed using the first portion of the physical address maintained in the forward index, and the second portion of the media address stored on the storage device.
285 Citations
12 Claims
-
1. A method, comprising:
-
arranging a plurality of data segments for storage at respective offsets within a storage unit of a solid-state storage medium; mapping front-end addresses of the data segments to a physical address of the storage unit in a first index; generating a second index for storage on the solid-state storage medium, wherein the second index is configured to associate front-end addresses of each of the plurality of data segments with respective offsets within the storage unit and wherein an entry of the second index includes a front-end address of a data segment of the plurality of data segments and indicates an offset of the data segment within the storage unit; and accessing a requested data segment of the plurality of data segments, where accessing the requested data segment comprises; performing a first translation comprising mapping a front-end address of the requested data segment to a physical address of the storage unit in the first index; and performing a second translation comprising reading the second index stored at the physical address, and mapping the front-end address of the requested data segment to an offset of the requested data segment in the second index. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium comprising program instructions stored thereon, wherein the program instructions are executable by a computing system to cause the computing system to perform a method, comprising:
-
arranging a plurality of data segments for storage at respective offsets within a storage unit of a solid-state storage medium; mapping front-end addresses of the data segments to a physical address of the storage unit in a first index; generating a second index for storage on the solid-state storage medium, wherein the second index is configured to associate each of the plurality of data segments with a corresponding offset within the storage unit and wherein the second index is configured to associate the front-end address of the data segments with respective offsets of the data segments within the storage unit; and accessing a requested data segment of the plurality of data segments by; accessing a physical address of a storage unit mapped to the particular front-end address in the first index, and reading the second index stored at the determined physical address to determine an offset of the requested data segment within the storage unit. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification