Abstracting programmatic representation of data storage systems
First Claim
1. A data storage device, comprising:
- a set of physical data storage blocks;
a processing circuit coupled to the storage blocks that directly maps subsets of the physical data storage blocks to corresponding variable data records that include key-value pairs and that represent information stored on the subsets;
an atomic record component that dynamically updates the mapping based on changes to the key-value pairs of the variable data records; and
an aggregation component that re-allocates at least some of the stored information to different ones of the subsets of the physical storage blocks based at least on the changes to the key-value pairs of the variable data records.
2 Assignments
0 Petitions
Accused Products
Abstract
Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.
-
Citations
19 Claims
-
1. A data storage device, comprising:
-
a set of physical data storage blocks; a processing circuit coupled to the storage blocks that directly maps subsets of the physical data storage blocks to corresponding variable data records that include key-value pairs and that represent information stored on the subsets; an atomic record component that dynamically updates the mapping based on changes to the key-value pairs of the variable data records; and an aggregation component that re-allocates at least some of the stored information to different ones of the subsets of the physical storage blocks based at least on the changes to the key-value pairs of the variable data records. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 18, 19)
-
-
9. A method for abstracting data storage, comprising:
-
characterizing, by a processing circuit of a storage device, a set of physical storage blocks of a data storage device; mapping, by the processing circuit, variable data records to subsets of the physical storage blocks of the data storage device based on the characterization, the variable data records usable to distinguish the subsets from one another; facilitating, by an atomic record unit of the storage device, external assignment of key-data values of the variable data records to provide external control of storage operations for the subsets of the physical storage blocks; re-allocating, by an aggregation component, the variable data records to different ones of the subsets of the physical storage blocks based on the external assignment of the key-data pairs of the variable data records; and storing, by the processing circuit, the variable data records in a portion of the storage device that are different from the subsets of the physical storage blocks. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system that manages data operations for a data storage device, comprising:
-
memory; one or more processors; a memory interface that communicatively couples the system to a data storage device; a retrieval component, stored on the memory and executable by the one or more processors, to employ the memory interface to obtain a set of variable data records from the storage device, the variable data records comprising respective variable size key-data pairs, modifications to the variable size key-data pairs usable to re-allocate information to different ones of the physical storage blocks of the storage device; an input component, stored on the memory and executable by the one or more processors, to facilitate user modification of variable length binary fields associated with the respective variable size key-data pairs; an application component, stored on the memory and executable by the one or more processors, to generate an abstracted data object for information represented by the data records; and a command component, stored on the memory and executable by the one or more processors, to return modified variable data records to the data storage device, the modified variable data records comprising modified binary field values consistent with the abstracted data object.
-
Specification