US6434637B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
Assignee: EMC Corp
•
Filing: 1998-12-31
•
Granted: 2002-08-13
•
Expires: 2018-12-31
Abstract
Abstract A method and apparatus for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource. For a next I/O operation to be assigned for transmission between the host computer and the system resource, a selection is made of one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths.
Inventors
- 👤 Matthew J. D'Errico
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 17:02
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F3/00; G06F3/06; G06F3/0601; G06F3/0628; G06F3/0646; G06F3/0647; G06F9/5027; G06F9/505
Claims Analysis
Total Claims: 56
Claim 1
Independent Claim
219 words
A method for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource, the method comprising a step of: (A) for a next I/O operation to be assigned for transmission between the host computer and the system resource, selecting one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the data access times of the previously assigned I/O operations queued to the at least two paths; wherein the system resource includes at least one storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two paths.
Claim 2
Independent Claim
219 words
A method for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource, the method comprising a step of: (A) for a next I/O operation to be assigned for transmission between the host computer and the system resource, selecting one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the data access times of the previously assigned I/O operations queued to the at least two paths; wherein the system resource includes at least one storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two paths.
Claim 3
Dependent Claim
54 words
The method of claim 1 , wherein each of the at least two paths includes a transmission medium, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon at least one characteristic of the transmission media used to implement the at least two paths.
Claim 4
Dependent Claim
67 words
The method of claim 1 , wherein each of the at least two paths includes a transmission medium, wherein the transmission media used to implement the at least two paths are different, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon data transmission rates through the transmission media used to implement the at least two paths.
Claim 5
Dependent Claim
39 words
The method of claim 3 , wherein the step (A) includes a step of selecting the one of the at least two paths based upon arbitration times for the transmission media used to implement the at least two paths.
Claim 6
Dependent Claim
66 words
The method of claim 2 , wherein each of the at least two paths includes a transmission medium, wherein the transmission media used to implement the at least two paths are different, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon arbitration times for the transmission media used to implement the at least two paths.
Claim 7
Dependent Claim
59 words
The method of claim 2 , wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the data access times of the previously assigned I/O operations queued to the at least two paths.
Claim 8
Dependent Claim
70 words
The method of claim 6 , wherein the system resource includes at least one storage system, wherein reads from and writes to the storage system have different average data access times, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of reads and writes in the previously assigned I/O operations queued to the at least two paths.
Claim 9
Independent Claim
375 words
A method for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource, the method comprising a step of: (A) for a next I/O operation to be assigned for transmission between the host computer and the system resource, selecting one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths; wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of previously assigned I/O operations queued to each of the at least two paths; wherein each of the I/O operations queued for transmission over the at least two paths includes a number of data blocks for transmission between the host computer and the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of data blocks included in the previously assigned I/O operations queued to each of the at least two paths; wherein each of the at least two paths includes a transmission medium, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon at least one characteristic of the transmission media used to implement the at least two paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the data access times of the previously assigned I/O operations queued to the at least two paths; and wherein the system resource includes at least one storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two paths.
Claim 10
Independent Claim
375 words
A method for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource, the method comprising a step of: (A) for a next I/O operation to be assigned for transmission between the host computer and the system resource, selecting one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths; wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of previously assigned I/O operations queued to each of the at least two paths; wherein each of the I/O operations queued for transmission over the at least two paths includes a number of data blocks for transmission between the host computer and the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of data blocks included in the previously assigned I/O operations queued to each of the at least two paths; wherein each of the at least two paths includes a transmission medium, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon at least one characteristic of the transmission media used to implement the at least two paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the data access times of the previously assigned I/O operations queued to the at least two paths; and wherein the system resource includes at least one storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two paths.
Claim 11
Dependent Claim
61 words
The method of claim 8 , wherein the I/O operations are executed as part of an application program on the host computer, and wherein the method further includes a step of estimating the number of cache hits and cache misses in the previously assigned I/O operations queued to the at least two paths based upon historical performance of the application program.
Claim 12
Dependent Claim
51 words
The method of claim 9 , wherein each of the I/O operations is directed to a particular target device in the storage system, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the target device of the next I/O operation.
Claim 13
Dependent Claim
59 words
The method of claim 10 , wherein the step of selecting the one of the at least two paths based upon the target device of the next I/O operation includes a step of considering whether the previously assigned I/O operations queued to the at least two paths are directed to a same target device as the next I/O operation.
Claim 14
Dependent Claim
58 words
The method of claim 11 , wherein the step of selecting the one of the at least two paths based upon the target device of the next I/O operation includes a step of limiting a number of the at least two paths to which a plurality of I/O operations directed to a single target device are queued simultaneously.
Claim 15
Dependent Claim
71 words
The method of claim 12 , wherein the step of limiting the number of the multiple paths to which a plurality of I/O operations directed to the single target device are queued simultaneously includes a step of limiting the number of the at least two paths to a minimum number that achieves a bandwidth through the at least two paths that maximizes performance of the storage system for the target device.
Claim 16
Dependent Claim
70 words
The method of claim 13 , wherein the I/O operations are executed as part of an application program on the host computer, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a priority rating for the next I/O operation, the priority rating relating to an impact that the next I/O operation has on the performance of the application program.
Claim 17
Dependent Claim
70 words
The method of claim 14 , wherein the step of selecting the one of the at least two paths based upon the priority rating for the next I/O operation includes a step of: when the next I/O operation is critical to the performance of the application program, selecting the one of the at least two paths that is expected to be the shortest path to execute the next I/O operation.
Claim 18
Dependent Claim
81 words
The method of claim 15 , wherein the step of selecting the one of the at least two paths based upon the priority rating for the next I/O operation includes a step of: when the next I/O operation is not critical to the performance of the application program, selecting the one of the at least two paths to be one of the at least two paths that is expected to not be the shortest path to execute the next I/O operation.
Claim 19
Dependent Claim
78 words
The method of claim 1 , wherein each of the I/O operations queued for transmission over the at least two paths includes a number of data blocks for transmission between the host computer and the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon a number of data blocks included in the previously assigned I/O operations queued to each of the at least two paths.
Claim 20
Independent Claim
140 words
A method for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource, the method comprising a step of: (A) for a next I/O operation to be assigned for transmission between the host computer and the system resource, selecting one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths; wherein each of the I/O operations is directed to a particular target device in the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the target device of the next I/O operation.
Claim 21
Independent Claim
140 words
A method for distributing input/output (I/O) operations among at least two paths in a multi-path computer system including a host computer, a system resource and a plurality of paths coupling the host computer to the system resource, the method comprising a step of: (A) for a next I/O operation to be assigned for transmission between the host computer and the system resource, selecting one of the at least two paths for transmission of the next I/O operation based upon a state of previously assigned I/O operations queued for transmission over the at least two paths; wherein each of the I/O operations is directed to a particular target device in the system resource, and wherein the step (A) includes a step of selecting the one of the at least two paths based upon the target device of the next I/O operation.
Claim 22
Dependent Claim
59 words
The method of claim 18 , wherein the step of selecting the one of the at least two paths based upon the target device of the next I/O operation includes a step of considering whether the previously assigned I/O operations queued to the at least two paths are directed to a same target device as the next I/O operation.
Claim 23
Dependent Claim
58 words
The method of claim 18 , wherein the step of selecting the one of the at least two paths based upon the target device of the next I/O operation includes a step of limiting a number of the at least two paths to which a plurality of I/O operations directed to a single target device are queued simultaneously.
Claim 24
Dependent Claim
242 words
A host computer capable of use in a multi-path computer system including a system resource and a plurality of paths coupling the host computer to the system resource, the host computer comprising: a driver to distribute input/output (I/O) operations initiated by the host computer among at least two of the plurality of paths for transmission to the system resource, the driver selecting, for a next I/O operation to be assigned for transmission from the host computer to the system resource, one of the at least two paths based upon a state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the data access times of the previously assigned I/O operations queued to the at least two of the plurality of paths; and wherein the system resource is a storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 25
Dependent Claim
242 words
A host computer capable of use in a multi-path computer system including a system resource and a plurality of paths coupling the host computer to the system resource, the host computer comprising: a driver to distribute input/output (I/O) operations initiated by the host computer among at least two of the plurality of paths for transmission to the system resource, the driver selecting, for a next I/O operation to be assigned for transmission from the host computer to the system resource, one of the at least two paths based upon a state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the data access times of the previously assigned I/O operations queued to the at least two of the plurality of paths; and wherein the system resource is a storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 26
Dependent Claim
62 words
The host computer of claim 21 , wherein each of the at least two of the plurality of paths includes a transmission medium, and wherein the driver selects the one of the at least two of the plurality of paths based upon at least one characteristic of the transmission media used to implement the at least two of the plurality of paths.
Claim 27
Dependent Claim
80 words
The host computer of claim 21 , wherein each of the at least two of the plurality of paths includes a transmission medium, wherein the transmission media used to implement the at least two of the plurality of paths are different, and wherein the driver selects the one of the at least two of the plurality of paths based upon a data transmission rate through the transmission media used to implement the at least two of the plurality of paths.
Claim 28
Dependent Claim
44 words
The host computer of claim 23 , wherein the driver selects the one of the at least two of the plurality of paths based upon an arbitration time for the transmission media used to implement the at least two of the plurality of paths.
Claim 29
Dependent Claim
79 words
The host computer of claim 22 , wherein each of the at least two of the plurality of paths includes a transmission medium, wherein the transmission media used to implement the at least two of the plurality of paths are different, and wherein the driver selects the one of the at least two of the plurality of paths based upon an arbitration time for the transmission media used to implement the at least two of the plurality of paths.
Claim 30
Dependent Claim
63 words
The host computer of claim 22 , wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the data access times of the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 31
Dependent Claim
74 words
The host computer of claim 26 , wherein the system resource includes at least one storage system, wherein reads from and writes to the storage system have different average data access times, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of reads and writes in the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 32
Dependent Claim
416 words
A host computer capable of use in a multi-path computer system including a system resource and a plurality of paths coupling the host computer to the system resource, the host computer comprising: a driver to distribute input/output (I/O) operations initiated by the host computer among at least two of the plurality of paths for transmission to the system resource, the driver selecting, for a next I/O operation to be assigned for transmission from the host computer to the system resource, one of the at least two paths based upon a state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths; wherein the driver selects the one of the at least two of the plurality of paths based upon a number of previously assigned I/O operations queued to each of the at least two of the plurality of paths; wherein each of the I/O operations queued for transmission over the at least two of the plurality of paths includes a number of data blocks for transmission between the host computer and the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of data blocks included in the previously assigned I/O operations queued to each of the at least two of the plurality of paths; wherein each of the at least two of the plurality of paths includes a transmission medium, and wherein the driver selects the one of the at least two of the plurality of paths based upon at least one characteristic of the transmission media used to implement the at least two of the plurality of paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the data access times of the previously assigned I/O operations queued to the at least two of the plurality of paths; and wherein the system resource includes at least one storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 33
Dependent Claim
416 words
A host computer capable of use in a multi-path computer system including a system resource and a plurality of paths coupling the host computer to the system resource, the host computer comprising: a driver to distribute input/output (I/O) operations initiated by the host computer among at least two of the plurality of paths for transmission to the system resource, the driver selecting, for a next I/O operation to be assigned for transmission from the host computer to the system resource, one of the at least two paths based upon a state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths; wherein the driver selects the one of the at least two of the plurality of paths based upon a number of previously assigned I/O operations queued to each of the at least two of the plurality of paths; wherein each of the I/O operations queued for transmission over the at least two of the plurality of paths includes a number of data blocks for transmission between the host computer and the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of data blocks included in the previously assigned I/O operations queued to each of the at least two of the plurality of paths; wherein each of the at least two of the plurality of paths includes a transmission medium, and wherein the driver selects the one of the at least two of the plurality of paths based upon at least one characteristic of the transmission media used to implement the at least two of the plurality of paths; wherein each I/O operation has an associated data access time when processed by the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the data access times of the previously assigned I/O operations queued to the at least two of the plurality of paths; and wherein the system resource includes at least one storage system including a cache, wherein cache hits and cache misses have different average data access times in the storage system, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of estimated cache hits and cache misses in the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 34
Dependent Claim
61 words
The host computer of claim 28 , wherein the I/O operations are executed as part of an application program on the host computer, and wherein the driver estimates the number of cache hits and cache misses in the previously assigned I/O operations queued to the at least two of the plurality of paths based upon historical performance of the application program.
Claim 35
Dependent Claim
51 words
The host computer of claim 29 , wherein each of the I/O operations is directed to a particular target device in the storage system, and wherein the driver selects the one of the at least two of the plurality of paths based upon the target device of the next I/O operation.
Claim 36
Dependent Claim
40 words
The host computer of claim 30 , wherein the driver considers whether the previously assigned I/O operations queued to the at least two of the plurality of paths are directed to a same target device as the next I/O operation.
Claim 37
Dependent Claim
39 words
The host computer of claim 31 , wherein the driver limits a number of the at least two of the plurality of paths to which a plurality of I/O operations directed to a single target device are queued simultaneously.
Claim 38
Dependent Claim
52 words
The host computer of claim 32 , wherein the driver limits the number of the at least two of the plurality of paths to a minimum number that achieves a bandwidth through the at least two of the plurality of paths that maximizes performance of the storage system for the target device.
Claim 39
Dependent Claim
70 words
The host computer of claim 33 , wherein the I/O operations are executed as part of an application program on the host computer, and wherein the driver selects the one of the at least two of the plurality of paths based upon a priority rating for the next I/O operation, the priority rating relating to an impact that the next I/O operation has on the performance of the application program.
Claim 40
Dependent Claim
51 words
The host computer of claim 34 , wherein when the next I/O operation is critical to the performance of the application program, the driver selects the one of the at least two of the plurality of paths that is expected to be the shortest path to execute the next I/O operation.
Claim 41
Dependent Claim
66 words
The host computer of claim 35 , wherein when the next I/O operation is not critical to the performance of the application program, the driver selects the one of the at least two of the plurality of paths to be one of the at least two of the plurality of paths that is expected to not be the shortest path to execute the next I/O operation.
Claim 42
Dependent Claim
84 words
The host computer of claim 21 , wherein each of the I/O operations queued for transmission over the at least two of the plurality of paths includes a number of data blocks for transmission between the host computer and the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon a number of data blocks included in the previously assigned I/O operations queued to the at least two of the plurality of paths.
Claim 43
Dependent Claim
157 words
A host computer capable of use in a multi-path computer system including a system resource and a plurality of paths coupling the host computer to the system resource, the host computer comprising: a driver to distribute input/output (I/O) operations initiated by the host computer among at least two of the plurality of paths for transmission to the system resource, the driver selecting, for a next I/O operation to be assigned for transmission from the host computer to the system resource, one of the at least two paths based upon a state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths; wherein each of the I/O operations is directed to a particular target device in the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the target device of the next I/O operation.
Claim 44
Dependent Claim
157 words
A host computer capable of use in a multi-path computer system including a system resource and a plurality of paths coupling the host computer to the system resource, the host computer comprising: a driver to distribute input/output (I/O) operations initiated by the host computer among at least two of the plurality of paths for transmission to the system resource, the driver selecting, for a next I/O operation to be assigned for transmission from the host computer to the system resource, one of the at least two paths based upon a state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths; wherein each of the I/O operations is directed to a particular target device in the system resource, and wherein the driver selects the one of the at least two of the plurality of paths based upon the target device of the next I/O operation.
Claim 45
Dependent Claim
40 words
The host computer of claim 38 , wherein the driver considers whether the previously assigned I/O operations queued to the at least two of the plurality of paths are directed to a same target device as the next I/O operation.
Claim 46
Dependent Claim
39 words
The host computer of claim 38 , wherein the driver limits a number of the at least two of the plurality of paths to which a plurality of I/O operations directed to a single target device are queued simultaneously.
Claim 47
Dependent Claim
52 words
The host computer of claim 21 , wherein the driver includes means for selecting the one of the at least two of the plurality of paths based upon the state of previously assigned I/O operations queued for transmission to the system resource over the at least two of the plurality of paths.
Claim 48
Dependent Claim
26 words
The host computer of claim 21 , wherein the host computer includes a processor, and wherein the driver is a software driver executing on the processor.
Claim 49
Dependent Claim
23 words
The host computer of claim 21 , in combination with the system resource and the multiple paths to form the multi-path computer system.
Claim 50
Dependent Claim
23 words
A computer readable medium encoded with a program that, when executed on a host computer, performs the method according to claim 2 .
Claim 51
Dependent Claim
23 words
The host computer of claim 28 , in combination with the system resource and the multiple paths to form the multi-path computer system.
Claim 52
Dependent Claim
23 words
The host computer of claim 38 , in combination with the system resource and the multiple paths to form the multi-path computer system.
Claim 53
Dependent Claim
23 words
The host computer of claim 21 , in combination with the system resource and the multiple paths to form the multi-path computer system.
Claim 54
Dependent Claim
23 words
A computer readable medium encoded with a program that, when executed on a host computer, performs the method according to claim 8 .
Claim 55
Dependent Claim
23 words
A computer readable medium encoded with a program that, when executed on a host computer, performs the method according to claim 18 .
Claim 56
Dependent Claim
23 words
A computer readable medium encoded with a program that, when executed on a host computer, performs the method according to claim 1 .
References Cited (Backward Citations)
US4001784A
Cited
US4368513A
Cited
US4490785A
Cited
US4577272A
Cited
US4858108A
Cited
US4680773A
Cited
US5163131A
Cited
WO1991014229A1
Cited
US5311578A
Cited
US5608764A
Cited
US5448566A
Cited
EP0709988A2
Cited
US5644573A
Cited
US5463661A
Cited
WO1997004384A1
Cited
US5715277A
Cited
US5751914A
Cited
US5995511A
Cited
US5796808A
Cited
US6034946A
Cited
US6145028A
Cited
US6230229B1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2005-08-12 | 2006-02-11 | 2006-08-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2009-08-12 | 2010-02-11 | 2010-08-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2013-08-12 | 2014-02-11 | 2014-08-13 | $7700.00 | Window Closed / Lapsed |