Transaction-based storage system and method that uses variable sized objects to store data
First Claim
1. A transaction-logging data storage system comprising:
- a data storage subsystem that stores variable-size data objects, wherein the data storage subsystem is implemented using;
one or more storage devices comprising;
an array of data storage units, wherein the array is configured to provide one or more ranks, each of the one or more ranks providing stripes for storing data objects; and
a rank manager that performs configuration processing associated with the one or more ranks;
wherein the data storage subsystem is configured to write data corresponding to each of the stripes into the one or more ranks as a unit;
a stripe space table that keeps track of space usage in the data storage subsystem;
a mapping component that processes mapping information between data object identifiers and physical address information of the data objects within the data storage subsystem; and
at least one processing component that performs operations among the data storage subsystem, the mapping component and the stripe space table, wherein the operations are coordinated to implement logging data objects to be stored and logging changes to stored data objects;
wherein the mapping component includes one or more subcomponents that enable the transaction-logging data storage system to emulate one or more common data storage abstractions.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a storage system for storing variable sized objects. The storage system is preferably a transaction-based system that uses variable sized objects to store data. The storage system is preferably implemented using arrays disks that are arranged in ranks. Each rank includes multiple stripes. Each stripe may be read and written as a convenient unit for maximum performance. A rank manager is able to dynamically configure the ranks to adjust for failed and added disks by selectively shortening and lengthening the stripes. The storage system may include a stripe space table that contains entries describing the amount of space used in each stripe. An object map provides entries for each object in the storage system describing the location (e.g., rank, stripe and offset values), the length and version of the object. A volume index translates regions of logical storage into object identifiers. The storage system may implement various types of formats such as I-node, binary tree and extendible hashing formats.
-
Citations
61 Claims
-
1. A transaction-logging data storage system comprising:
-
a data storage subsystem that stores variable-size data objects, wherein the data storage subsystem is implemented using; one or more storage devices comprising; an array of data storage units, wherein the array is configured to provide one or more ranks, each of the one or more ranks providing stripes for storing data objects; and a rank manager that performs configuration processing associated with the one or more ranks; wherein the data storage subsystem is configured to write data corresponding to each of the stripes into the one or more ranks as a unit; a stripe space table that keeps track of space usage in the data storage subsystem; a mapping component that processes mapping information between data object identifiers and physical address information of the data objects within the data storage subsystem; and at least one processing component that performs operations among the data storage subsystem, the mapping component and the stripe space table, wherein the operations are coordinated to implement logging data objects to be stored and logging changes to stored data objects; wherein the mapping component includes one or more subcomponents that enable the transaction-logging data storage system to emulate one or more common data storage abstractions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A transaction-logging data storage system comprising:
-
a data storage subsystem that stores variable-size data objects, wherein the data storage subsystem is implemented using; one or more storage devices comprising; an array of data storage units, wherein the array is configured to provide one or more ranks, each of the one or more ranks providing stripes for storing data objects; and a rank manager that performs configuration processing associated with the one or more ranks; wherein the data storage subsystem is configured to write data corresponding to each of the stripes into the one or more ranks as a unit; a stripe space table that keeps track of space usage in the data storage subsystem; a mapping component that processes mapping information between data object identifiers and physical address information of the data objects within the data storage subsystem; and at least one processing component that performs operations among the data storage subsystem, the mapping component and the stripe space table, wherein the operations are coordinated to implement logging data objects to be stored and logging chances to stored data objects; wherein the mapping component includes one or more subcomponents that enable the transaction-logging data storage system to emulate two or more common data storage abstractions concurrently. - View Dependent Claims (31, 32)
-
-
33. A transaction-logging data storage system comprising:
-
a component configured to write variable sized data objects corresponding to stripes into a data storage subsystem as a unit, wherein the component communicatively couples the transaction-logging data storage system to the data storage subsystem, and wherein the component manages data storage subsystem services to take on the features of a stripe-implemented storage technology; a stripe space table that keeps track of space usage in the data storage subsystem; a mapping component that processes mapping information between data object identifiers and physical address information of the data objects within the data storage subsystem; and at least one processing component that coordinates operations among the data storage subsystem, the mapping component and the stripe space table, wherein the operations are coordinated to implement logging data objects to be stored and logging changes to stored data objects; wherein the mapping component includes one or more subcomponents that enable the transaction-logging data storage system to emulate one or more common data storage abstractions. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. A transaction-logging data storage system comprising:
-
a component configured to write variable sized data objects corresponding to stripes into a data storage subsystem as a unit, wherein the component communicatively couples the transaction-logging data storage system to the data storage subsystem, and wherein the component manages data storage subsystem services to take on the features of a stripe-implemented storage technology; a stripe space table that keeps track of space usage in the data storage subsystem; a mapping component that processes mapping information between data object identifiers and physical address information of the data objects within the data storage subsystem; and at least one processing component that coordinates operations among the data storage subsystem, the mapping component and the stripe space table, wherein the operations are coordinated to implement logging data objects to be stored and logging changes to stored data objects; wherein the mapping component includes one or more subcomponents that enable the transaction-logging data storage system to emulate two or more common data storage abstractions concurrently. - View Dependent Claims (60, 61)
-
Specification