IP Library Granted Patent US 8,176,217
Granted Patent B2
US 8,176,217 · App. 11/312,080 · Granted May 8, 2012

System and method for implementing a storage protocol with initiator controlled data transfer

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 8,176,217
App. No.
11/312,080
Granted
May 8, 2012
Kind
B2
Abstract

The present invention is a system for implementing a storage protocol with initiator controlled data transfer including a host device, a target device and an intermediate device, the intermediate device for communicatively coupling the host device and the target device. The intermediate device is configured to control a data transfer phase of an input/output (I/O) between said intermediate device and said target device.

Claims (34)

1. A method for transmitting data between a host device and a plurality of target devices during data transfer phases of inputs/outputs (I/Os), wherein the host device and the plurality of target devices are communicatively coupled through an intermediate device via a connection medium, the method comprising:

receiving an initial read request at the intermediate device, said initial read request having been transmitted from the host device to the intermediate device, said initial read request including a request for read data;

generating a second read request and a third read request via the intermediate device, said second read request and third read request being based on the initial read request;

transmitting the second read request from the intermediate device to a first target device included in the plurality of target devices;

transmitting the third read request from the intermediate device to a second target device included in the plurality of target devices;

receiving a first signal at the intermediate device, said first signal having been transmitted from the first target device to the intermediate device;

receiving a second signal at the intermediate device, said second signal having been transmitted from the second target device to the intermediate device;

after receiving the first signal, establishing a first data transfer connection via the intermediate device between the host device and the intermediate device;

after receiving the second signal, establishing a second data transfer connection via the intermediate device between the host device and the intermediate device;

after establishing the first data transfer connection between the intermediate device and the host device, streaming a first portion of the requested read data from the first target device to the host device via the intermediate device and via the first data transfer connection for granting the initial read request, said first portion of the requested read data including data requested in the initial read request; and

after establishing the second data transfer connection and after streaming of said first portion of the requested read data from the first target device to the host device via the intermediate device is complete, streaming a second portion of the requested read data from the second target device to the host device via the intermediate device and via the second data transfer connection for granting the initial read request, said second portion of the requested read data including data requested in the initial read request.

2. A method as claimed in claim 1 , wherein the initial read request and the second request implement SCSI (Small Computer System Interface) protocol.

3. A method as claimed in claim 1 , wherein the connection medium supports DMA (Direct Memory Access).

4. A non-transitory computer-readable medium having computer-executable instructions for performing a method for transmitting data between a host device and a plurality of target devices during data transfer phases of inputs/outputs (I/Os), wherein the host device and the plurality of target devices are communicatively coupled through an intermediate device via a connection medium, said method comprising:

transmitting an initial read request from the host device to the intermediate device, said initial read request including a request for read data;

generating a second read request and a third read request via the intermediate device, said second read request and third read request being based on the initial read request;

transmitting the second read request from the intermediate device to a first target device included in the plurality of target devices;

transmitting the third read request from the intermediate device to a second target device included in the plurality of target devices;

receiving a first signal at the intermediate device, said first signal having been transmitted from the first target device to the intermediate device;

receiving a second signal at the intermediate device, said second signal having been transmitted from the second target device to the intermediate device;

after receiving the first signal, establishing a first data transfer connection via the intermediate device between the host device and the intermediate device;

after receiving the second signal, establishing a second data transfer connection via the intermediate device between the host device and the intermediate device;

after establishing the first data transfer connection between the intermediate device and the host device, streaming a first portion of the requested read data from the first target device to the host device via the intermediate device and via the first data transfer connection for granting the initial read request, said first portion of the requested read data including data requested in the initial read request; and

after streaming of the first portion of the requested read data from the first target device to the host device via the intermediate device is completed, streaming a second portion of the requested read data from the second target device to the host device via the intermediate device and via the second data transfer connection for granting the initial read request, said second portion of the requested read data including data requested in the initial read request.

5. A non-transitory computer-readable medium as claimed in claim 4 , wherein the initial read request and the second read request implement SCSI (Small Computer System Interface) protocol.

6. A non-transitory computer-readable medium as claimed in claim 4 , wherein the connection medium supports DMA (Direct Memory Access).

7. A system for implementing a storage protocol with initiator controlled data transfer, comprising:

a host device;

a first target device;

a second target device; and

an intermediate device for communicatively coupling the host device, the first target device and the second target device, the intermediate device being configured to receive an initial read request from the host device, the initial read request including a request for read data, the intermediate device being configured to generate a second read request and a third read request based on the initial read request, the intermediate device being further configured to transmit the second read request to the first target device and to transmit the third read request to the second target device,

wherein the intermediate device: receives a first signal from the first target device and a second signal from the second target device; after receiving the first signal, establishes a first data transfer connection with the host device; after receiving the second signal, establishes a second data transfer connection with the host device, after establishing the first data transfer connection, streams a first portion of the requested read data to the host device via the first data transfer connection for granting the initial read request, said first portion of the requested read data including data requested in the initial read request; and after streaming of the first portion of the requested data to the host device is completed, streams said second portion of the requested read data to the host device via the second data transfer connection for granting the initial read request, said second portion of the requested read data including data requested in the initial read request.

8. A system as claimed in claim 7 , wherein the initial read request and the second read request implement SCSI (Small Computer System Interface) protocol.

9. A system as claimed in claim 8 , wherein the system supports DMA (Direct Memory Access).

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
CHANGE OF NAME Recorded Jun 6, 2014
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 033102/0270 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
MERGER Recorded Feb 19, 2008
From: LSI SUBSIDIARY CORP.
To: LSI CORPORATION
Reel/Frame 020548/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2005
From: HENRY, RUSSELL J.
To: LSI LOGIC CORPORATION
Reel/Frame 017396/0500 →