← Back to Patent Explorer
US7856013B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Switch assisted frame aliasing for storage virtualization

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 2006-08-18
•
Granted: 2010-12-21
•
Expires: 2026-08-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and process for relabelling and redirecting at least some of the read transaction data frames and the write transaction write data and transfer ready frames in a network so as to bypass a storage manager and pass directly between the client and a storage device via a switch. This eliminates the storage manager as a bottleneck. Some embodiments redirect every read and write transaction, and others redirect only large transactions, or only ones not stored in cache or when latency gets too high. Redirection is accomplished by transmission from the storage manager to a switch redirection commands that contain old and new address data. When a frame to be redirected comes in, its address is compared to the old address data. If there is a match, the new address data is substituted and the frame is passed to a conventional routing process to be routed so as to bypass the storage manager.

Inventors

  • 👤 Lani William Brewer
  • 👤 John Gifford Logan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 18:42
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/12; H04L47/122

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 119 words
An apparatus comprising: a storage manager configured to: receive, from a client device, a read request frame, the read request frame requesting specific blocks of data; send a redirection command to a switch, the redirection command instructing the switch to forward the requested blocks of data directly from a storage device to the client device, bypassing the storage manager; send a read command to the storage device via the switch, the read command naming the specific blocks of data; receive a good status frame from the storage device; and in response to receiving the good status frame from the storage device, send a purge command to the switch, the purge command instructing the switch to purge the redirection command.
Claim 2
Independent Claim 119 words
An apparatus comprising: a storage manager configured to: receive, from a client device, a read request frame, the read request frame requesting specific blocks of data; send a redirection command to a switch, the redirection command instructing the switch to forward the requested blocks of data directly from a storage device to the client device, bypassing the storage manager; send a read command to the storage device via the switch, the read command naming the specific blocks of data; receive a good status frame from the storage device; and in response to receiving the good status frame from the storage device, send a purge command to the switch, the purge command instructing the switch to purge the redirection command.
Claim 3
Dependent Claim 26 words
The apparatus according to claim 1 , wherein the storage manager is further configured to redirect packets or frames based upon at least one redirection criterion.
Claim 4
Dependent Claim 19 words
The apparatus according to claim 2 , wherein said at least one redirection criterion is a programmable redirection criterion.
Claim 5
Dependent Claim 40 words
The apparatus according to claim 3 , wherein the storage manager is configured to determine whether to redirect data and transfer ready packets or frames of a particular read or write request based upon said at least one redirection criterion.
Claim 6
Dependent Claim 47 words
The apparatus according to claim 1 , wherein the storage manager is configured to redirect data and transfer ready packets or frames of a particular read or write request based on a number of outstanding read and/or write requests being greater than or equal to a threshold.
Claim 7
Dependent Claim 12 words
The apparatus according to claim 5 , wherein said threshold is programmable.
Claim 8
Dependent Claim 49 words
The apparatus according to claim 1 , wherein the storage manager is configured to redirect data and transfer ready packets or frames when a measured latency between receipt of a read or write request and completion of the corresponding read or write transaction is greater than a threshold latency.
Claim 9
Dependent Claim 39 words
The apparatus according to claim 1 , wherein the storage manager is configured to redirect data and transfer ready packets or frames of a particular read request when a size of the particular read request exceeds a predetermined threshold.
Claim 10
Dependent Claim 33 words
The apparatus according to claim 8 , wherein: said predetermined threshold is a number read from a look up table which stores threshold values based upon the size of the particular read request.
Claim 11
Dependent Claim 158 words
The apparatus of claim 8 , wherein the storage manager is configured to determine whether the size of the particular read request exceeds the predetermined threshold by: analyzing a previous read request to determine a size of the previous read request and retrieving a latency threshold value from a look up table based upon the size of the previous read request; starting a counter when said previous read request was received; sending a read command to the appropriate storage device and forwarding the previously requested data frames to the client device; stopping said counter when the forwarding the previously requested data frames is completed; comparing the counter value when the forwarding was completed to the threshold number as a measure of time to complete the previous read request; and if the time to complete the previous read request exceeded the threshold, generating the redirection command for the particular read request and sending the redirection command to the switch.
Claim 12
Dependent Claim 39 words
The apparatus according to claim 10 , wherein the storage manager is further configured to continue redirection for a predetermined amount of time, and then cease redirection for subsequent read requests until a latency threshold value is again exceeded.
Claim 13
Dependent Claim 101 words
The apparatus according to claim 10 , wherein the storage manager is further configured to continue redirection for all subsequent read requests except every Xth read request where X is any integer and carry out conventional read or write transaction processing as appropriate for every Xth read or write request and measure the latency of said Xth as recited in claim 10 with respect to the previous read request, and if the latency threshold has not been exceeded by said Xth request, resume the performance recited in claim 10 for subsequent read requests until a latency threshold value is again exceeded.
Claim 14
Dependent Claim 171 words
A network comprising: a storage manager having circuitry configured to: receive read transaction requests from a client device; send a redirection command to a switch; forward the read request to the switch; and in response to receiving a good status frame from a storage device, send a purge command to the switch, the purge command instructing the switch to purge the redirection command; the switch configured to: receive the redirection command and the read request from the storage manager; and in response to receiving the read request and the read request from the storage manager: forward the read request to the storage device; receive the requested data from the storage device; and forward the requested data from the storage device directly to the client device, bypassing the storage manager; and the storage device configured to: receive the read request from the switch; in response to receiving the read request, send the requested data to the switch; and send a good status frame to the storage manager after sending the requested data.
Claim 15
Dependent Claim 171 words
A network comprising: a storage manager having circuitry configured to: receive read transaction requests from a client device; send a redirection command to a switch; forward the read request to the switch; and in response to receiving a good status frame from a storage device, send a purge command to the switch, the purge command instructing the switch to purge the redirection command; the switch configured to: receive the redirection command and the read request from the storage manager; and in response to receiving the read request and the read request from the storage manager: forward the read request to the storage device; receive the requested data from the storage device; and forward the requested data from the storage device directly to the client device, bypassing the storage manager; and the storage device configured to: receive the read request from the switch; in response to receiving the read request, send the requested data to the switch; and send a good status frame to the storage manager after sending the requested data.
Claim 16
Dependent Claim 46 words
The network of claim 13 , wherein the requested data forwarded by the switch are included in a frame which has a source address set to a port ID of the storage manager and a destination address set to a port ID of the client device.
Claim 17
Dependent Claim 140 words
A process comprising: receiving, at a storage manager from a client computer, one or more read requests, the one or more read requests requesting specific blocks of data; sending, by the storage manager in response to receiving the one or more read requests, to a packet or frame switch, at least one redirection command, the redirection command instructing the switch to forward the requested blocks of data directly from a storage device to the client computer, bypassing the storage manager; sending a read command to the storage device via the switch, the read command naming the specific blocks of data; receiving a good status frame from the storage device; and in response to receiving the good status frame from the storage device, sending a purge command to the switch, the purge command instructing the switch to purge the redirection command.
Claim 18
Dependent Claim 140 words
A process comprising: receiving, at a storage manager from a client computer, one or more read requests, the one or more read requests requesting specific blocks of data; sending, by the storage manager in response to receiving the one or more read requests, to a packet or frame switch, at least one redirection command, the redirection command instructing the switch to forward the requested blocks of data directly from a storage device to the client computer, bypassing the storage manager; sending a read command to the storage device via the switch, the read command naming the specific blocks of data; receiving a good status frame from the storage device; and in response to receiving the good status frame from the storage device, sending a purge command to the switch, the purge command instructing the switch to purge the redirection command.
Claim 19
Dependent Claim 168 words
The process of claim 15 , further comprising: receiving a write request; receiving at least two redirection commands to redirect the data and transfer ready frames or packets of said write request and storing said redirection commands; and intercepting transfer ready frames or packets of data responding to the write request, and, if a redirection command is stored for a write transaction which said transfer ready frames or packets are a part of, changing the header of the transfer ready frames or packets of said write transaction to be redirected and routing transfer ready frames or packets so as to reroute them through said switch; receiving one or more frames or packets of write data and changing the header of the write data frames or packets of said write transaction to be redirected and routing said write data frames or packets so as to bypass said storage manager; and continuing the process of re-routing said transfer ready and write data frames until the entire write transaction is completed.
Claim 20
Dependent Claim 57 words
The process of claim 15 , wherein the redirection command instructs the switch to forward the requested blocks of data directly from the storage device to the client computer, bypassing the storage manager, the requested blocks of data being included in a frame which has a source address set to a port ID of the storage manager.
Claim 21
Independent Claim 143 words
An apparatus comprising: a storage manager configured to: receive, from a client device, a read request frame, the read request frame requesting specific blocks of data; send a redirection command to a switch, the redirection command instructing the switch to forward the requested blocks of data directly from a storage device to the client device, bypassing the storage manager, the requested blocks of data being included in a frame which has a source address set to a port ID of the storage manager; send a read command to the storage device via the switch, the read command naming the specific blocks of data; receive a good status frame from the storage device; and in response to receiving the good status frame from the storage device, send a purge command to the switch, the purge command instructing the switch to purge the redirection command.
Claim 22
Independent Claim 143 words
An apparatus comprising: a storage manager configured to: receive, from a client device, a read request frame, the read request frame requesting specific blocks of data; send a redirection command to a switch, the redirection command instructing the switch to forward the requested blocks of data directly from a storage device to the client device, bypassing the storage manager, the requested blocks of data being included in a frame which has a source address set to a port ID of the storage manager; send a read command to the storage device via the switch, the read command naming the specific blocks of data; receive a good status frame from the storage device; and in response to receiving the good status frame from the storage device, send a purge command to the switch, the purge command instructing the switch to purge the redirection command.

References Cited (Backward Citations)

US4677608A Cited
US5590379A Cited
US5933580A Cited
US6222837B1 Cited
US6295272B1 Cited
US20020087751A1 Cited
US6389420B1 Cited
US6535518B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2013-12-20 2014-06-21 2014-12-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2017-12-20 2018-06-21 2018-12-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2021-12-20 2022-06-21 2022-12-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag