US2018095686A1PendingUtilityA1
Raid-topology-aware multipath routing
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-modifiedWhat 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.