US2018095686A1PendingUtilityA1

Raid-topology-aware multipath routing

Assignee: IBMPriority: May 13, 2015Filed: Dec 6, 2017Published: Apr 5, 2018
Est. expiryMay 13, 2035(~8.8 yrs left)· nominal 20-yr term from priority
G06F 11/20G06F 11/10G06F 3/0689G06F 3/061G06F 3/0635G06F 3/0619G06F 3/0665
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Determining a preferred interface for write access to a data storage system having multiple interfaces. Interface preference is determined at the data-stripe level. Write requests are routed to the preferred interface.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for use with a redundant array of independent disks (RAID) data storage system that includes a plurality of storage system interfaces and that stores data organized into a plurality of RAID stripes, the method comprising:
 receiving a consulting table associated with a set of input data, with the set of input data including information indicative of, for each given RAID stripe of the plurality of RAID stripes, an identification of a corresponding storage system interface of the plurality of storage system interfaces that was most recently used to save data to the given RAID stripe;   receiving a first request for storing a first piece of data to a first RAID stripe of the plurality of RAID stripes;   responsive to receipt of the first request, determining, based on the input data included in the consulting table, that a first storage system interface, of the plurality of storage system interfaces, was most recently used to save data to the first RAID stripe; and   responsive to the determination that that the first storage system interface was most recently used to save data to the first RAID stripe, routing the first piece of data through the first storage system interface to thereby save the first piece of data on the first RAID stripe of the RAID data storage system.   
     
     
         2 . The method of  claim 1  further comprising:
 buffering, in the first storage system interface, data relating to the first RAID stripe; and 
 determining, based at least in part upon the determination that the first storage system interface was most recently used to save data to the first RAID stripe, that the first RAID stripe has an associated parity block for the buffered data relating to the first RAID stripe. 
 
     
     
         3 . The method of  claim 1  wherein:
 the consulting table includes one data entry for each buffered data of a given RAID stripe. 
 
     
     
         4 . The method of  claim 1  wherein:
 each entry of the consulting table includes information indicative of: (i) a logical unit number (LUN); (ii) a starting logical block address; and/or (iii) a length of a RAID stripe that was recently written to an interface. 
 
     
     
         5 . The method of  claim 1  wherein each entry of the consulting table is managed using a Least Recently Used (LRU) algorithm. 
     
     
         6 . The method of  claim 5  wherein buffered data associated with a given parity block in the first storage system corresponds to an entry in the consulting table. 
     
     
         7 . A computer program product for use with a redundant array of independent disks (RAID) data storage system that includes a plurality of storage system interfaces and that stores data organized into a plurality of RAID stripes, the computer program product comprising:
 a machine readable storage device; and   computer code stored on the machine readable storage device, with the computer code including instructions and data for causing a processor(s) set to perform operations including the following:
 receiving a consulting table associated with a set of input data, with the set of input data including information indicative of, for each given RAID stripe of the plurality of RAID stripes, an identification of a corresponding storage system interface of the plurality of storage system interfaces that was most recently used to save data to the given RAID stripe, 
 receiving a first request for storing a first piece of data to a first RAID stripe of the plurality of RAID stripes, 
 responsive to receipt of the first request, determining, based on the input data included in the consulting table, that a first storage system interface, of the plurality of storage system interfaces, was most recently used to save data to the first RAID stripe, and 
 responsive to the determination that that the first storage system interface was most recently used to save data to the first RAID stripe, routing the first piece of data through the first storage system interface to thereby save the first piece of data on the first RAID stripe of the RAID data storage system. 
   
     
     
         8 . The product of  claim 7  further comprising:
 buffering, in the first storage system interface, data relating to the first RAID stripe; and 
 determining, based at least in part upon the determination that the first storage system interface was most recently used to save data to the first RAID stripe, that the first RAID stripe has an associated parity block for the buffered data relating to the first RAID stripe. 
 
     
     
         9 . The product of  claim 7  wherein:
 the consulting table includes one data entry for each buffered data of a given RAID stripe. 
 
     
     
         10 . The product of  claim 7  wherein:
 each entry of the consulting table includes information indicative of: (i) a logical unit number (LUN); (ii) a starting logical block address; and/or (iii) a length of a RAID stripe that was recently written to an interface. 
 
     
     
         11 . The product of  claim 7  wherein each entry of the consulting table is managed using a Least Recently Used (LRU) algorithm. 
     
     
         12 . The product of  claim 11  wherein buffered data associated with a given parity block in the first storage system corresponds to an entry in the consulting table. 
     
     
         13 . A computer system for use with a redundant array of independent disks (RAID) data storage system that includes a plurality of storage system interfaces and that stores data organized into a plurality of RAID stripes, the computer system comprising:
 a processor(s) set;   a machine readable storage device; and   computer code stored on the machine readable storage device, with the computer code including instructions and data for causing the processor(s) set to perform operations including the following:
 receiving a consulting table associated with a set of input data, with the set of input data including information indicative of, for each given RAID stripe of the plurality of RAID stripes, an identification of a corresponding storage system interface of the plurality of storage system interfaces that was most recently used to save data to the given RAID stripe, 
 receiving a first request for storing a first piece of data to a first RAID stripe of the plurality of RAID stripes, 
 responsive to receipt of the first request, determining, based on the input data included in the consulting table, that a first storage system interface, of the plurality of storage system interfaces, was most recently used to save data to the first RAID stripe, and 
 responsive to the determination that that the first storage system interface was most recently used to save data to the first RAID stripe, routing the first piece of data through the first storage system interface to thereby save the first piece of data on the first RAID stripe of the RAID data storage system. 
   
     
     
         14 . The system of  claim 13  further comprising:
 buffering, in the first storage system interface, data relating to the first RAID stripe; and 
 determining, based at least in part upon the determination that the first storage system interface was most recently used to save data to the first RAID stripe, that the first RAID stripe has an associated parity block for the buffered data relating to the first RAID stripe. 
 
     
     
         15 . The system of  claim 13  wherein:
 the consulting table includes one data entry for each buffered data of a given RAID stripe. 
 
     
     
         16 . The system of  claim 13  wherein:
 each entry of the consulting table includes information indicative of: (i) a logical unit number (LUN); (ii) a starting logical block address; and/or (iii) a length of a RAID stripe that was recently written to an interface. 
 
     
     
         17 . The system of  claim 13  wherein each entry of the consulting table is managed using a Least Recently Used (LRU) algorithm. 
     
     
         18 . The system of  claim 17  wherein buffered data associated with a given parity block in the first storage system corresponds to an entry in the consulting table.

Join the waitlist — get patent alerts

Track US2018095686A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.