System, method and computer-readable medium using map tables in a cache to manage write requests to a raid storage array
AssigneeAvago Technologies General IP (Singapore) Pte. Ltd.
InventorsAnant Baderdinni, Noorshaheen Mavungal Noorudheen
Life of this patent
Estimating the term…
Abstract
A RAID storage system serializes data blocks to be stored in a RAID storage array and uses a primary map table and a number of secondary map tables to relate host addresses to logical block addresses in the storage array. Secondary map tables and other metadata can be cached from the storage array. The dual or two-tier map scheme and metadata caching promote scalability.
Claims27
A method for accessing data in a redundant array of inexpensive disks (RAID) storage array, comprising:
- receiving a write request including a host address and a data block;
- identifying a primary map table entry in response to the host address, the primary map table having a plurality of primary map table entries, each primary map table entry identifying one of a plurality of secondary map tables;
- identifying a secondary map table in response to an identified primary map table entry identified by the host address, each secondary map table having a plurality of secondary map table entries, each secondary map table entry identifying a storage location in the RAID storage array;
- identifying an indicated secondary map table entry in response to the host address;
- serializing the write request into a RAID stripe including the data block;
- storing a block address in the identified secondary map table entry;
- and
- writing the RAID stripe including the data block to the RAID storage array, the block address stored in the identified secondary map table entry indicating a location of the data block in the RAID storage array.
A system, comprising:
- a redundant array of inexpensive disks (RAID) storage array;
- and
- a storage controller having processing system comprising one or more processors and a memory, the processing system programmed or configured to:
- receive a write request including a host address and a data block;
- identify a primary map table entry in response to the host address, the primary map table having a plurality of primary map table entries, each primary map table entry identifying one of a plurality of secondary map tables;
- identify a secondary map table in response to an identified primary map table entry identified by the host address, each secondary map table having a plurality of secondary map table entries, each secondary map table entry identifying a storage location in the RAID storage array;
- identify an indicated secondary map table entry in response to the host address;
- serialize the write request into a RAID stripe including the data block;
- store a block address in the identified secondary map table entry;
- and
- write the RAID stripe including the data block to the RAID storage array, the block address stored in the identified secondary map table entry indicating a location of the data block in the RAID storage array.
A computer program product comprising a computer readable medium having stored thereon in computer executable non-transitory form instructions that, when executed on a processing system of a redundant array of inexpensive disks (RAID) storage controller, cause the processing system to:
- receive a write request including a host address and a data block;
- identify a primary map table entry in response to the host address, the primary map table having a plurality of primary map table entries, each primary map table entry identifying one of a plurality of secondary map tables;
- identify a secondary map table in response to an identified primary map table entry identified by the host address, each secondary map table having a plurality of secondary map table entries, each secondary map table entry identifying a storage location in the RAID storage array;
- identify an indicated secondary map table entry in response to the host address;
- serialize the write request into a RAID stripe including the data block;
- store a block address in the identified secondary map table entry;
- and
- write the RAID stripe including the data block to the RAID storage array, the block address stored in the identified secondary map table entry indicating a location of the data block in the RAID storage array.
Dependencies are inferred from the claim text.