IP Library Granted Patent US 7,760,727
Granted Patent B2
US 7,760,727 · App. 11/167,379 · Granted Jul 20, 2010

System & method for fabric storage utilizing multicast with distributed intelligence

Assignee: LSI Corporation
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 7,760,727
App. No.
11/167,379
Granted
Jul 20, 2010
Kind
B2
Abstract

The present invention is a system utilizing multicast with distributed intelligence including an initiator device for transmitting a request, the request being addressed to a multicast group. The system also includes a switch for receiving the request from the initiator device. The switch is configured with multicast functionality for multicasting copies of the request to the multicast group. Additionally, the system includes a plurality of multicast group devices, each configured for receiving a copy of the request from the initiator device, via the switch. Each device of the plurality of multicast group devices is further configured with mapping functionality for allowing the storage device to determine a storage layout of the multicast group device. The initiator device, switch and each device of the plurality of multicast group devices are communicatively coupled via a network.

Claims (27)

1. A system utilizing multicast with distributed intelligence, comprising:

an initiator device, the initiator device being a host device, the initiator device being configured for transmitting an Input/Output (I/O) request, the I/O request from the host device being addressed to a multicast group;

a switch, the switch being configured for being communicatively coupled to the initiator device and for receiving the transmitted request from the initiator device, the switch being further configured with multicast functionality for multicasting a plurality of copies of the host device I/O request to the multicast group; and

a plurality of multicast group devices, the plurality of multicast group devices being storage devices, the plurality of multicast group devices being communicatively coupled to the host via the switch, each multicast group device included in the plurality of multicast group devices belonging to the multicast group, a first multicast group device included in the plurality of multicast group devices being configured for receiving a first copy of the request included in the plurality of copies of the request from the initiator device, via the switch, the first multicast group device being further configured with mapping functionality, said mapping functionality allowing the first multicast group device to determine a storage layout of the first multicast group device, said mapping functionality further allowing the first multicast device to compare the storage layout of the first multicast group device with the received first copy of the request, a second multicast group device included in the plurality of multicast group devices being configured for receiving a second copy of the request included in the plurality of copies of the request from the initiator device, via the switch, the second multicast group device being further configured with mapping functionality, said mapping functionality of the second multicast group device allowing the second multicast group device to determine a storage layout of the second multicast group device, said mapping functionality further allowing the second multicast group device to compare the storage layout of the second multicast group device with the received second copy of the request and;

when said host device I/O request is a read request, said read request requesting a first portion of data and a second portion of data, and when said comparison provided by the first multicast device indicates that the first multicast device includes the first portion of data requested in said read request, but not the second portion of data requested in said read request, and when said comparison provided by the second multicast device indicates that the second multicast device includes the second portion of the data requested in said read request, but not the first portion of data requested in said read request, said first multicast device is further configured for transmitting said first portion of data requested in said read request to the host device, and said second multicast device is further configured for transmitting said second portion of data requested in said read request to the host device,

wherein the initiator device, switch and each multicast group device of the plurality of multicast group devices are communicatively coupled via a network.

2. The system as claimed in claim 1 , wherein the request is one of a read request or a write request.

3. The system as claimed in claim 1 , wherein the initiator device is configured with multicast functionality.

4. A method for fabric storage utilizing multicast with distributed intelligence, comprising:

transmitting an I/O request from a host device to a switch; and

multicasting a plurality of copies of the host I/O request from the switch to a plurality of multicast group devices, the plurality of multicast group devices being storage devices;

receiving a first copy of the host I/O request included in the plurality of copies of the host I/O request at a first multicast group device included in the plurality of multicast group devices;

receiving a second copy of the host I/O request included in the plurality of copies of the host I/O request at a second multicast group device included in the plurality of multicast group devices, wherein said first multicast group device is configured with a mapping functionality for allowing the first multicast group device to determine a storage layout of the first multicast group device, said mapping functionality further allowing said first multicast group device to compare the storage layout of the first multicast group device with the received first copy of the request, said second multicast group device being configured with mapping functionality for allowing the second multicast group device to determine a storage layout of the second multicast group device, said mapping functionality further allowing said second multicast group device to compare the storage layout of the second multicast group device with the received second copy of the request and;

when said host I/O request is a read request requesting a first portion of data and a second portion of data, and when said comparison provided by the first multicast device indicates that the first multicast device includes the first portion of data requested in said read request, but not the second portion of data, and when said comparison provided by the second multicast device indicates that the second multicast device includes the second portion of data requested in said read request, but not the first portion of data, said first multicast device is further configured for transmitting said first portion of the requested data to the host device and said second multicast device is further configured for transmitting said second portion of the requested data to the host device.

5. The method as claimed in claim 4 , wherein the request is one of a read request or a write request.

6. The method as claimed in claim 4 , wherein the host device is configured with multicast functionality.

7. The method as claimed in claim 4 , wherein the host device has the ability to determine from which storage device a response to a write request is being sent.

8. The method as claimed in claim 4 , wherein the host device has the ability to determine from which storage device a response to a read request is being sent.

9. A non-transitory computer-readable medium having computer-executable instructions for performing a method for providing a network with fabric storage utilizing multicast with distributed intelligence, said method comprising steps of:

receiving a first copy of a multicast request included in a plurality of copies of a multicast request at a first multicast group device included in a plurality of multicast group devices, the plurality of multicast group devices being storage devices;

receiving a second copy of the host I/O request included in the plurality of copies of the host I/O request at a second multicast group device included in the plurality of multicast group devices, wherein said first multicast group device is configured with a mapping functionality for allowing the first multicast group device to determine a storage layout of the first multicast group device, said mapping functionality further allowing said first multicast group device to compare the storage layout of the first multicast group device with the received first copy of the request, said second multicast group device being configured with mapping functionality for allowing the second multicast group device to determine a storage layout of the second multicast group device, said mapping functionality further allowing said second multicast group device to compare the storage layout of the second multicast group device with the received second copy of the request; and

when said request is a read request and when said comparison provided by the first multicast device indicates that the first multicast device includes a first portion of data requested in said read request but not a second portion of data requested in said read request, and when said comparison provided by the second multicast device indicates that the second multicast device includes the second portion of data requested in said read request, but not the first portion of data, said first multicast device is further configured for transmitting said first portion of the requested data to a host device for the request via a switch, and said second multicast device is further configured for transmitting said second portion of the requested data to the host device for the request via the switch, wherein said switch and host device are communicatively coupled with the plurality of multicast group devices via a network.

10. The non-transitory computer-readable medium as claimed in claim 9 , wherein a host device transmits the request to the switch.

11. The non-transitory computer-readable medium as claimed in claim 9 , wherein the request is one of a read request or a write request.

12. The non-transitory computer-readable medium as claimed in claim 10 , wherein the host device is configured with multicast functionality.

13. The non-transitory computer-readable medium as claimed in claim 10 , wherein said method further comprises allowing the host to determine from which storage device a response to a write request is being sent.

14. The non-transitory computer-readable medium as claimed in claim 10 , wherein said method further comprises allowing the host to determine from which storage device a response to a read request is being sent.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2011
From: LSI CORPORATION
To: NETAPP, INC.
Reel/Frame 026656/0659 →
MERGER Recorded Jun 8, 2010
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 024499/0344 →
MERGER Recorded Feb 19, 2008
From: LSI SUBSIDIARY CORP.
To: LSI CORPORATION
Reel/Frame 020548/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2005
From: HENRY, RUSSELL J.; FREDIN, GERALD J.
To: LSI LOGIC CORPORATION
Reel/Frame 016732/0050 →
Continuity (1)
Related Publication 20060291467A1 · Dec 28, 2006