IP Library Granted Patent US 7,584,318
Granted Patent B2
US 7,584,318 · App. 11/934,446 · Granted Sep 1, 2009

Apparatus for coordinating interoperability between devices of varying capabilities in a network

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,584,318
App. No.
11/934,446
Granted
Sep 1, 2009
Kind
B2
Abstract

Embodiments of a routing device for coordinating the interoperability of devices with varying capabilities that send and/or receive commands in a storage network are disclosed. A host device in the storage network may inquire the capabilities of a storage device in a storage network. A routing device may receive a response from the storage device and pass the response through to the host unaltered or may alter the response to reflect the higher or lower capabilities of the routing device before sending the response to the host.

Claims (43)

1. A routing device, comprising:

a first controller operable to interface with a first data transport medium;

a second controller operable to interface with a second data transport medium;

a processing unit connected to the first controller and the second controller, wherein the processing unit is operable to:

receive a response to an inquiry command sent from a target and destined for an initiator, wherein the response is formatted according to a first command set;

determine if the routing device is operable to implement greater functionality than the target;

manipulate the response to a format according to a second command set if the routing device is operable to implement greater functionality, wherein the routing device is operable to implement functionality associated with the second command set; and

forward the response to the inquiry.

2. The routing device of claim 1 , wherein the processing unit is further operable to determine if the routing device is operable to implement less functionality than the target.

3. The routing device of claim 2 , wherein the processing unit is further operable to manipulate the response to a format according to the second command set, if the routing device is operable to implement less functionality than the target.

4. The routing device of claim 2 , wherein the processing unit is further operable to forward the response unmodified to the initiator if the routing device is operable to implement less functionality than the target.

5. The routing device of claim 4 , wherein the processing unit is further operable to determine if the routing device is operable to implement functionality associated with the first command set.

6. The routing device of claim 2 , wherein

determining if the routing device is operable to implement greater functionality than the target further comprises determining if the second command set is more functional than the first command set; and

determining if the routing device is operable to implement less functionality than the target further comprises determining if the second command set is less functional than the first commands set.

7. The routing device of claim 1 , wherein the response is manipulated based on a knowledgebase mapping the format of the first command set to the format of the second command set.

8. The routing device of claim 1 , wherein the inquiry command is a small computer system interface (SCSI) INQUIRY command.

9. A routing device, comprising:

a processing unit; and

a computer readable medium accessible by the processing unit and storing a set of computer instructions executable by the processing unit, wherein the set of computer instructions comprises:

code for intercepting a target's response to an inquiry command from an initiator;

code for determining the target's capabilities;

code for manipulating the target's response to reflect capabilities of the routing device as compared to the target's capabilities; and

code for forwarding the manipulated response to the initiator.

10. The routing device of claim 9 , wherein the target's response is in a first command protocol supported by the target and wherein the manipulated response is in a second command protocol supported by the routing device.

11. The routing device of claim 10 , wherein the second command protocol reflects a lesser or higher degree of functionality of the routing device as compared to that of the target.

12. The routing device of claim 9 , wherein the set of computer instructions further comprises code for forwarding the target's response unmodified to the initiator.

13. The routing device of claim 9 , wherein the inquiry command is a small computer system interface (SCSI) INQUIRY command.

14. The routing device of claim 9 , further comprising:

a first controller coupled to the processing unit and interfacing a first data transport medium; and

a second controller coupled to the processing unit and interfacing a second data transport medium.

15. The routing device of claim 14 , wherein each of the first controller and the second controller comprises a protocol unit and a direct memory access (DMA) interface.

16. The routing device of claim 15 , further comprising a buffer coupled to the DMA interface of the first controller and to the DMA interface of the second controller.

17. The routing device of claim 14 , wherein the first controller is a Fibre Channel controller, and wherein the second controller is a small computer system interface (SCSI) controller.

18. A routing device, comprising:

a processing unit; and

a computer readable medium accessible by the processing unit and storing a set of computer instructions executable by the processing unit, wherein the set of computer instructions comprises:

code for receiving a target's response to a small computer system interface (SCSI) INQUIRY command, wherein the target's response is in a first command protocol which reflects capabilities of the target;

code for manipulating the target's response from the first command protocol to a second command protocol which reflects capabilities of the routing device; and

code for forwarding the manipulated response to an initiator.

19. The routing device of claim 18 , wherein the second command protocol reflects a lesser or higher degree of functionality of the routing device as compared to that of the target.

20. The routing device of claim 18 , further comprising:

a Fibre Channel controller and a SCSI controller for communicating with targets and initiators of varying capabilities in a storage network.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: FORTRESS CREDIT CO LLC
To: CF DB EZ LLC
Reel/Frame 033706/0340 →
SECURITY AGREEMENT Recorded Aug 1, 2013
From: CROSSROADS SYSTEMS, INC.
To: FORTRESS CREDIT CO LLC
Reel/Frame 030935/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2013
From: CROSSROADS SYSTEMS, INC.
To: KIP CR P1 LP
Reel/Frame 030935/0916 →
SECURITY AGREEMENT Recorded Aug 1, 2013
From: KIP CR P1 LP
To: FORTRESS CREDIT CO LLC
Reel/Frame 030935/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2007
From: HAECHTEN, JOHN B.; DALE, STEPHEN G.; TYNDALL, JOHN F.
To: CROSSROADS SYSTEMS, INC.
Reel/Frame 020062/0210 →