Patent ID: 7827201

Claim:
A method of operating a storage server, comprising: receiving an access request from a client for a file that corresponds to a particular data object stored in a one of a plurality of logical containers of an existing file system whose internal block fragmentation dictates the size of each block, wherein each of the plurality of logical containers comprises an object map stored in the respective logical container, wherein each of the object maps comprises a listing of a plurality of data object stored collectively in the respective container and locations within the respective logical container where the plurality of data objects are stored, wherein each of the plurality of logical containers comprises at least one block, and wherein each block of the respective logical container comprises a plurality of extents to store data objects, wherein the extent is a smaller unit of storage space than the block; determining a physical location of the particular data object in response to the access request comprising: accessing a container map that has a plurality of mapping entries that map filenames to data object identifiers to determine which of the plurality of logical containers stores the particular data object, wherein each of the data object identifiers includes a container identifier that specifies the respective logical container in which the respective data object is stored and an object index that is used to find a range of extents in which the respective data object is stored within the respective logical container; accessing the object map stored in the determined logical container to find the location within the identified logical container where the particular data object is stored using the object index of the respective data object identifier, wherein the location specifies the range of extents within the identified logical container that stores the particular data object; and accessing the specified range of extents within the identified logical container to retrieve the particular data object within the logical container, wherein the particular data object includes a-the physical location of where the particular data object is stored; and accessing the determined physical location of the particular data object to retrieve the data stored at the determined physical location.