IP Library Granted Patent US 7,177,912
Granted Patent B1
US 7,177,912 · App. 10/035,790 · Granted Feb 13, 2007

SCSI transport protocol via TCP/IP using existing network hardware and software

Assignee: Datacore Software 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,177,912
App. No.
10/035,790
Granted
Feb 13, 2007
Kind
B1
Abstract

A computer network system includes a client-server architecture, where the client transmits SCSI commands over a network using TCP/IP to a server to request input and output operations for a physical storage device that is communicatively coupled to a storage device. The client perceives the storage device to be a local disk drive, even though the storage device is located on the target side of a network. The system includes a client-side disk-based cache.

Claims (44)

1. A method of performing a data operation on a storage device over a network, the method comprising:

receiving a request for performing a data operation on the storage device, the request using a disk operations format;

attempting to read a data block from a local cache corresponding to the storage device if the request is to read data from the storage device;

responsive to not being able to read the data block from the local cache, requesting and receiving the data block from the storage device over the network using a network communications format; and

writing the data block to the local cache.

2. The method of claim 1 , further comprising:

writing the data block to the local cache and transmitting the data block to the storage device over the network using the network communications format if the request is to write data.

3. The method of claim 1 , wherein the local cache is disk-based.

4. The method of claim 1 , wherein the storage device is a block-level storage device.

5. The method of claim 1 wherein the storage device is a Storage Area Network.

6. The method of claim 1 , wherein the disk operations format implements Small Computer System Interface.

7. The method of claim 6 , wherein the network communications format implements Internet Protocol.

8. The method of claim 1 , wherein the request is one of a plurality of requests received for performing data operations on a plurality of storage devices, and the local cache corresponds to each of the plurality of storage devices.

9. A computer program product for performing a data operation on a storage device over a network, the computer program product stored on a computer readable medium and adapted to perform operations comprising:

receiving a request for performing a data operation on the storage device, the request using a disk operations format;

attempting to read a data block from a local cache corresponding to the storage device if the request is to read data from the storage device;

responsive to not being able to read the data block from the local cache, requesting and receiving the data block from the storage device over the network using a network communications format; and

writing the data block to the local cache.

10. The computer program product of claim 9 , wherein the local cache is disk-based.

11. The computer program product of claim 9 , wherein the disk operations format implements Small Computer System Interface.

12. The computer program product of claim 11 , wherein the network communications format implements Internet Protocol.

13. The computer program product of claim 9 , wherein the request is one of a plurality of requests received for performing data operations on a plurality of storage devices, and the local cache corresponds to each of the plurality of storage devices.

14. An apparatus for performing a data operation on a storage device over a network, the apparatus comprising:

means for receiving a request for performing a data operation on the storage device, the request using a disk operations format;

means for attempting to read a data block from a local cache corresponding to the storage device if the request is to read data from the storage device;

means for responding to not being able to read the data block from the local cache by requesting and receiving the data block from the storage device over the network using a network communications format; and

means for writing the data block to the local cache.

15. The apparatus of claim 14 , wherein the local cache is disk-based.

16. The apparatus of claim 14 , wherein the disk operations format implements Small Computer System Interface.

17. The apparatus of claim 16 , wherein the network communications format implements Internet Protocol.

18. The apparatus of claim 14 , wherein the request is one of a plurality of requests received for performing data operations on a plurality of storage devices, and the local cache corresponds to each of the plurality of storage devices.

19. A method for accommodating a data operation on a storage device over a network, the method comprising:

receiving a request for a data block from a client device over the network using a network communications format, the data block corresponding to the storage device and the request being received in response to a cache miss corresponding to an attempt by the client to read the data block from a cache local to the client device;

using a disk operations format corresponding to the request to read the data block from the storage device; and

transmitting the data block to the client device in response to the request.

20. The method of claim 19 , wherein the disk operations format implements Small Computer System Interface.

21. The method of claim 20 , wherein the network communications format implements Internet Protocol.

22. A system for performing a data operation on a storage device over a network, the system comprising:

a cache module, which receives a request for performing a data operation on the storage device, the request using a disk operations format, and which attempts to read a data block from a local cache corresponding to the storage device if the request is to read data from the storage device;

an initiator module, in communication with the cache module, which responds to not being able to read the data block from the local cache by requesting and receiving the data block from the storage device over the network using a network communications format; and

a target module, which receives the request for the data block from the initiator module, reads the data block from the storage device, and sends the data block to the initiator module over the network using the network communications format.

23. The system of claim 22 , wherein the local cache is disk-based.

24. The system of claim 22 , wherein the disk operations format implements Small Computer System Interface.

25. The system of claim 24 , wherein the network communications format implements Internet Protocol.

Assignments (11)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
SECURITY INTEREST Recorded Dec 14, 2017
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 044400/0417 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYANCE TYPE FROM "RELEASE BY SECURED PARTY" TO "SECURITY AGREEMENT". PREVIOUSLY RECORDED ON REEL 018313 FRAME 0295. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT.. Recorded Feb 15, 2007
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018898/0241 →
SECURITY AGREEMENT Recorded Feb 13, 2007
From: DATACORE SOFTWARE CORPORATION
To: PARTNERS FOR GROWTH II, L.P.
Reel/Frame 018883/0934 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2006
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018313/0295 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2006
From: BRIDGE BANK, N.A.
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 018313/0282 →
SECURITY AGREEMENT Recorded Sep 26, 2006
From: DATACORE SOFTWARE CORPORATION
To: PARTNERS FOR GROWTH II, L.P.
Reel/Frame 018303/0104 →
SECURITY AGREEMENT Recorded Nov 4, 2005
From: DATACORE SOFTWARE CORPORATION
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 016722/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2003
From: CONNOLLY, NICHOLAS C.
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 014524/0660 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2002
From: IGNATOFF, EDWARD N.; ARAL, ZIYA A.; PUTRA, RONI
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 012805/0975 →
Continuity (1)
Provisional Application 6025800300 · Dec 22, 2000