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.