IP Library › Granted Patent US 6,973,555
Granted Patent B2
US 6,973,555 · App. 10/803,227 · Granted Dec 6, 2005

Storage device and system for providing communications buffer reservation function

Assignee: Hitachi, Ltd.
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 6,973,555
App. No.
10/803,227
Granted
Dec 6, 2005
Kind
B2
Abstract

A storage device ( 1 ) communicating with a host computer and other storage devices through a network is characterized in that the storage device ( 1 ) secures memory buffers for temporarily storing data in a remote copy operation carried out between the storage devices. A network memory ( 100 ) in the storage device ( 1 ) includes an available buffer comprising a plurality of memory buffers and an in-use buffer also comprising a plurality of memory buffers. A buffer control unit ( 215 ) secures memory buffers of the available buffer as a reserved buffer having a reserved-buffer size specified in a buffer reservation request made by a storage management device ( 8 ) in response to the request. The buffer control unit ( 215 ) then allocates the memory buffers of the reserved buffer as the in-use buffer in response to a request received from the storage management device ( 8 ) to start a remote copy operation.

Claims (59)

1. A storage device communicating with a host computer and another storage device through a network, said storage device comprising:

an available buffer including a plurality of memory buffers;

an in-use buffer including a plurality of memory buffers already allocated as memory buffers dedicated for communications;

notification means for giving a notice of an available-buffer size to an external inquirer in response to an inquiry made by the external inquirer;

buffer securing means for taking memory buffers having a reserved-buffer size specified in addition to a buffer-reservation target in a request made by an external requester through the network as a request for a buffer reservation out of said available buffer and reserving said taken memory buffers as a reserved buffer for said buffer-reservation target in response to said request for a buffer reservation based on said reserved-buffer size specified in said request;

allocation means for allocating said memory buffers of said reserved buffer to said buffer-reservation target to make said allocated memory buffers a part of said in-use buffer in response to a request made by the external requester as a request to start an application; and

execution means for executing the application communicating by using said in-use buffer allocated by said allocation means.

2. A storage device according to claim 1 wherein said reserved-buffer size is a product obtained as a result of multiplying a bandwidth by a latency where said bandwidth is defined as an amount of data transmitted in a unit time through a connection whereas said latency is defined as a time period from a time of transmitting data through said connection to a time of receiving an acknowledgement of said data.

3. A storage device according to claim 1 , further comprising:

means for taking memory buffers having an additional size out of said available buffer and adding said taken memory buffers to the reserved buffer allocated to the buffer-reservation target in response to a reserved-buffer-updating request made by the external requester as a request to increase said reserved buffer by specifying said buffer-reservation target and a value greater than the present size of said reserved buffer as a new size of said reserved buffer; and

means for taking memory buffers having a decreasing size out of a reserved buffer allocated to a buffer-reservation target and returning said taken memory buffers to said available buffer when decreasing said reserved buffer by specifying said buffer-reservation target and a value smaller than the present size of said reserved buffer as a new size of said reserved buffer.

4. A storage device according to claim 1 wherein said application is a remote copy reproduction process to copy data stored in said storage device to said another storage device.

5. A storage device according to claim 1 or 4 wherein said buffer-reservation target is an inter-port communication between a network port of said storage device and a network port of said another storage device.

6. A storage device according to claim 1 or 4 wherein said buffer-reservation target is a combination consisting of a port pair and a number indicating a protocol adopted by said application executed by said another storage devices, said port pair being a pair of a network port of said storage device and a network port of said another storage device.

7. A storage device according to claim 1 wherein said buffer-reservation target is a connection between said storage device and a device serving as a communication partner.

8. A storage device according to claim 1 , further comprising:

means which includes a cache memory for temporarily storing data read out from disks and gives a notice of an available storage capacity of said cache memory to the external inquirer in response to an inquiry made by the external inquirer; and

means for taking memory buffers having an additional size from said available buffer and adding said taken memory buffers to a reserved buffer allocated to a buffer-reservation target in response to a reserved-buffer-updating request made by the external requester as a request to increase said reserved buffer by specifying said buffer-reservation target and a value greater than the present size of said reserved buffer as a new size of said reserved buffer.

9. A storage device according to claim 1 wherein said buffer is a buffer for storing data transmitted by adopting a TCP.

10. A storage device according to claim 9 wherein a means for processing a network protocol for communications with said another devices takes the size of said reserved buffer as a maximum value of a congestion window.

11. A storage device according to claim 1 wherein said buffer is a credit for storing data transmitted by adopting a fibre-channel protocol.

12. A storage device according to claim 1 wherein said extraction means for allocating memory buffers as a reserved buffer allocates an area usable as a buffer from a memory in case said available buffer is insufficient.

13. A storage device communicating with a host computer and another storage device through a network, said storage device comprising:

an available buffer including a plurality of memory buffers;

an in-use buffer including a plurality of memory buffers already allocated as memory buffers dedicated for communications;

a network-interface-information acquisition unit for giving a notice of a size of said available buffer to an external inquirer in response to an inquiry made by an external inquirer;

a buffer control unit for taking memory buffers having a reserved-buffer size specified in addition to a buffer-reservation target in a request made by an external requester through the network as a request for a buffer reservation out of said available buffer and reserving said taken memory buffers based on said reserved-buffer size specified in said request, and allocating said memory buffers to said buffer-reservation target for making said allocated memory buffers a part of said in-use buffer in response to a request made by the external requester as a request to start an application; and

an application execution unit for executing an application communicating by using said in-use buffer allocated by said buffer control unit.

14. A storage system comprising a storage device communicating with a host computer and another storage device through a network, and a storage management device communicating with said storage device through the network, wherein:

said storage device comprises:

an available buffer including a plurality of memory buffers;

an in-use buffer including a plurality of memory buffers already allocated as memory buffers dedicated for communications;

notification means for giving a notice of an available-buffer size to said storage management device in response to an inquiry made by said storage management device;

buffer securing means for taking memory buffers having a reserved-buffer size specified in addition to a buffer-reservation target in a request made by said storage management device through the network as a request for a buffer reservation out of said available buffer and reserving said taken memory buffers as a reserved buffer for said buffer-reservation reservation target in response to said request for a buffer reservation based on said reserved-buffer size specified in said request;

allocation means for allocating said memory buffers of said reserved buffer to said buffer-reservation target to make said allocated memory buffers a part of said in-use buffer in response to a request made by said storage management device as a request to start an application; and

execution means for executing an application communicating by using said in-use buffer allocated by said allocation means; and

said storage management device comprises:

means for inquiring of said storage device a size of said available buffer; and

means for transmitting the request to start said application to said storage device.

15. A storage system according to claim 14 wherein said reserved-buffer size is a product obtained as a result of multiplying a bandwidth by a latency where said bandwidth is defined as the amount of data transmitted in a unit time through a connection whereas said latency is defined as a time period from a time of transmitting data through said connection to a time of receiving an acknowledgement of said data.

16. A storage system according to claim 14 wherein:

said storage device further comprises:

means for taking memory buffers having an additional size out of said available buffer and adding said taken memory buffers to a reserved buffer allocated to a buffer-reservation target in response to a reserved-buffer-updating request made by said storage management device as a request to increase said reserved buffer by specifying said buffer-reservation target and a value greater than the present size of said reserved buffer as a new size of said reserved buffer; and

means for taking memory buffers having a decreasing size out of a reserved buffer allocated to a buffer-reservation target and returning said taken memory buffers to said available buffer when decreasing said reserved buffer by specifying said buffer-reservation target and a value smaller than the present size of said reserved buffer as a new size of said reserved buffer; and

said storage management device further comprises means for transmitting said reserved-buffer-updating request.

17. A storage system according to claim 14 wherein said application is a remote copy reproduction process to copy data stored in said storage device to said another storage device.

18. A storage system according to claim 14 or 17 wherein said buffer-reservation target is an inter-port communication between a network port of said storage device and a network port of said another storage device.

19. A storage system according to claim 14 or 17 wherein said buffer-reservation target is a combination consisting of a port pair and a number indicating a protocol adopted by said application executed by said another storage device, said port pair being a pair of a network port of said storage device and a network port of said another storage device.

20. A storage system comprising a storage device communicating with a host computer and another storage device through a network, and a storage management device communicating with said storage device through the network, wherein:

said storage device comprises:

a CPU and a memory;

an available buffer on the memory including a plurality of memory buffers;

an in-use buffer on the memory including a plurality of memory buffers already allocated as memory buffers dedicated for communications;

a network-interface-information acquisition unit for giving a notice of an available-buffer size to said storage management device in response to an inquiry made by said storage management device;

a buffer control unit for taking memory buffers having a reserved-buffer size specified in addition to a buffer-reservation target in a request made by said storage management device through the network as a request for a buffer reservation out of said available buffer and reserving said taken memory buffers as a reserved buffer for said buffer-reservation target in response to said request for a buffer reservation based on said reserved-buffer size specified in said request;

a network-protocol-processing unit for allocating said memory buffers of said reserved buffer to said buffer-reservation target to make said allocated memory buffers a part of said in-use buffer in response to a request made by said storage management device as a request to start a remote copy application; and

a remote copy program stored on the memory and executed by the CPU for executing the remote copy application communicating by using said in-use buffer allocated by said network-protocol-processing unit; and

said storage management device comprises:

a CPU and a memory, said CPU executing programs stored on the memory, said programs inquiring of said storage device a size of said available buffer and transmitting the request to start said remote copy application to said storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2004
From: FUJIWARA, KEISEI; IWAMI, NAOKO; WATANABE, NAOKI; SHIGA, KENTA
To: HITACHI, LTD.
Reel/Frame 015649/0413 →
Priority Claims (1)
JP 2003-353212 · Oct 14, 2003 · national
Continuity (1)
Related Publication 20050080874A1 · Apr 14, 2005