IP Library Granted Patent US 9,021,232
Granted Patent B2
US 9,021,232 · App. 13/173,465 · Granted Apr 28, 2015

Multipath storage system and method of operating thereof

Inventors: Haim Kopylovitz (Herzliya, IL); Leo Corry (Ramat Gan, IL)
Assignee: Infinidat Ltd.
G06F3/061G06F3/0635G06F3/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,021,232
App. No.
13/173,465
Granted
Apr 28, 2015
Kind
B2
Abstract

There is provided a method of operating a multipath storage system, the method comprises: identifying a primary storage control port configured to be responsible for a given LBA range and a secondary storage control port configured to have secondary responsibility for the given LBA range; reducing, in a manner unaffecting respective inbound I/O operation, outbound I/O operation related to the given LBA range and occurring at the primary storage control port, thereby causing a situation requiring switching all respective I/O requests to an alternating path; analyzing responsive changes in outbound I/O operation related to the given LBA range and occurring at the secondary storage control port, and verifying operability of switching to the alternating path in accordance with the obtained results. Outbound I/O operation can be reduced with the help of a routine configured to identify inbound I/O requests directed to the given LBA range and to put these requests on hold for a delay period, thus giving rise to delayed I/O requests, wherein the delay period is configured to be long enough to enable switching to an alternating path.

Claims (41)

1. A method of operating a multipath storage system, the method comprising:

identifying a primary storage control port configured for providing a primary path to a given logical block address (LBA) range and a secondary storage control port configured for providing an alternate path to the given LBA range;

reducing an outbound I/O operation related to the given LBA range and occurring at the primary storage control port, thereby causing a situation requiring switching all I/O requests directed to the given LBA range to the alternate path; wherein the reducing comprises:

(a) identifying all the I/O requests directed to the given LBA range, and

(b) putting all the I/O requests directed to the given LBA range on hold for a delay period, thus giving rise to delayed I/O requests; wherein the delay period exceeds a time of an I/O delay required to enable switching of all the I/O requests directed to the given LBA range to the alternate path; and

analyzing responsive changes in the outbound I/O operation related to the given LBA range and occurring at the secondary storage control port, and

verifying operability of switching of all the I/O requests directed to the given LBA range to the alternate path in accordance with results obtained from the analyzing.

2. The method of claim 1 wherein the switching of all the I/O requests directed to the LBA range to the alternate path is verified as successful if a responsive increase in the outbound I/O operation at the secondary storage control port related to the said given LBA range matches a predefined criterion.

3. The method of claim 2 wherein said responsive increase matches the predefined criterion if a ratio between a reduction of the outbound I/O operation at the primary storage control port and the responsive increase in the outbound I/O operation at the secondary storage control port matches a predefined threshold value.

4. The method of claim 1 further comprising serving the delayed I/O requests if said delayed I/O requests are pending at the primary control storage port upon an end of the delay period, wherein the delay period is configured to be short enough to minimize possible interruption caused by delaying the I/O requests directed to the given LBA range if the switching to the alternating path is unsuccessful.

5. The method of claim 1 comprising running a background process enabling continuous scheduled verification of the operability of the switching to the alternate path.

6. The method of claim 1 further comprises emulating inbound I/O requests at the primary storage control port in order to enable further reduction of the outbound I/O operation.

7. The method of claim 1 wherein the outbound I/O operation at the primary storage control port is reduced with the help of Asymmetric Logical Unit Access (ALUA) technology.

8. A method of operating a multipath storage system, the method comprising:

identifying, for a given LUN (Logical Unit Number) controlled by a first primary storage control port of a primary storage control device, a secondary storage control port configured to provide an alternate path to the given LUN, wherein the secondary storage control port is comprised in a secondary storage control device having a secondary responsibility for controlling the given LUN;

reducing an outbound I/O operation related to the given LUN and occurring at the primary storage control port, thereby causing a situation requiring switching I/O requests directed to the given LUN to the alternate path; wherein the reducing comprises:

(a) identifying the I/O requests directed to the given LUN, and

(b) putting the I/O requests directed to the given LUN on hold for a delay period, thus giving rise to delayed I/O requests; wherein the delay period exceeds a time of an I/O delay required to enable switching the I/O requests directed to the given LUN to the alternate path; and

analyzing responsive changes in the outbound I/O operation related to the given LUN and occurring at the secondary storage control port;

verifying operability of switching of the I/O requests directed to the given LUN to the alternate path in accordance with results obtained from the analyzing; and

verifying operability of switching responsibility from the primary storage control device to the secondary storage control device, wherein the switching responsibility from the primary storage control device to the secondary storage control device is successful if a verification of the switching to the alternating path is successful for all LUNs primary controlled by the primary storage control device and secondary controlled by the secondary storage control device.

9. The method of claim 8 wherein the verifying of the operability of switching of the I/O requests directed to the given LUN the responsibility from the primary storage control device to the secondary storage control device is followed by shutting down the primary storage control device for hot upgrade purposes.

10. The method of claim 8 wherein the switching of the I/O requests directed to the given LUN to the alternate path is verified for all the LUNs in a successive manner.

11. The method of claim 8 wherein the switching of the responsibility from the primary storage control device to the secondary storage control devices is verified as successful if a responsive increase in the outbound I/O operation at the secondary storage control port matches a predefined criterion.

12. The method of claim 8 further comprising serving the delayed requests if said delayed I/O requests are pending at the primary control storage port upon the end of the delay period, wherein the delay period is configured to be short enough to minimize possible interruption caused by delaying the I/O requests directed to the given LBA range if the switching of the I/O requests directed to the given LUN to the alternating path is unsuccessful.

13. The method of claim 8 further comprises emulating inbound I/O requests at the primary storage control port in order to enable further reduction of the outbound I/O operation.

14. A non-transitory computer readable medium storing a computer readable program that when being executed by a computer, causes the computer to perform a process of verifying operability of switching to an alternating path in a multipath storage system, the process comprising:

identifying a primary storage control port configured for providing a primary path to a given logical block address (LBA) range and a secondary storage control port configured for providing an alternate path to the given LBA range;

reducing an outbound I/O operation related to the given LBA range and occurring at the primary storage control port, thereby causing a situation requiring switching all I/O requests directed to the given LBA range to the alternate path;

wherein the reducing comprises:

(a) identifying all the I/O requests directed to the given LBA range, and

(b) putting all the I/O requests directed to the given LBA range on hold for a delay period; wherein the delay period exceeds a time of an I/O delay required to enable switching of all the I/O requests directed to the given LBA range to the alternate path; and

analyzing responsive changes in the outbound I/O operation related to the given LBA range and occurring at the secondary storage control port, and

verifying operability of switching to the alternate path in accordance with results obtained from the analyzing.

15. A computer program product comprising a non-transitory computer readable medium storing computer readable program code for a computer verifying operability of switching to an alternating path, the computer program product comprising:

computer readable program code for causing the computer to identify a primary storage control port configured for providing a primary path to a logical block address (LBA) range and a secondary storage control port configured to for providing an alternate path to the given LBA range;

computer readable program code for causing the computer to reduce an outbound I/O operation related to the given LBA range and occurring at the primary storage control port, thereby causing a situation requiring switching all I/O requests directed to the given LBA range to the alternate path; wherein the computer readable program code for causing the computer to reduce further comprises:

(a) computer readable program code for causing the computer to identify all the I/O requests directed to the given LBA range, and

(b) computer readable program code for causing the computer to put the I/O requests directed to the given LBA range on hold for a delay period; wherein the delay period exceeds a time of an I/O delay required to enable switching the I/O requests directed to the given LBA range to the alternate path; and

computer readable program code for causing the computer to analyze responsive changes in the outbound I/O operation related to the given LBA range and occurring at the secondary storage control port, and

computer readable program code for causing the computer to verify operability of switching to the alternate path in accordance with results obtained from the analyzing.

Assignments (9)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
RELEASE OF SECURITY INTEREST IN IP RECORDED AT R/F 55653/0854 Recorded Jan 18, 2024
From: SILICON VALLEY BANK
To: INFINIDAT LTD.
Reel/Frame 066344/0064 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0597 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
SECURITY INTEREST Recorded Apr 12, 2018
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 045914/0276 →
LIEN Recorded Jul 18, 2016
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 039361/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2011
From: KOPYLOVITZ, HAIM; CORRY, LEO
To: INFINIDAT LTD.
Reel/Frame 026842/0212 →
Continuity (1)
Related Publication 20130007410A1 · Jan 3, 2013