Patent ID: 7228384

Claim:
A cache storage system connected to a plurality of clients and at least one storage device through a network, comprising: a controller including a lock management table containing lock status, whether a lock is required or not, and an address correspondence table for indicating correspondence of areas in said cache storage system with areas in said at least one storage device, wherein said lock management table at least contains indices for identifying areas of said device in said cache storage system, flags for indicating said lock status of areas of said device in said cache storage system, and flags for indicating said lock status of areas in said at least one storage device corresponding to said areas of said device in said cache storage system; and a device storing data; wherein requests for accessing to write data from said clients may compete with each other, and wherein said controller controls said device to temporarily store block data which are exchanged between a client and said at least one storage device through said network and which designate a logical address on a storage medium and a data length; wherein said controller, upon receiving from said client a first lock request for an area of said at least one storage device, issues a second lock request to said at least one storage device to lock an area of said at least one storage device, and after receiving either status information of good or status information of reservation conflict from said at least one storage device, issues a second command of lock OK to said client in order to receive a first command of lock Acknowledge from said client, and upon receiving said first command of lock Acknowledge from said client, sends a second command of lock Acknowledge to said at least one storage device to update the contents of said lock management table of said at least one storage device to indicate lock ON for said area of said at least one storage device so that deadlock can be avoided when a first lock request is received from another client on the basis of contents of a lock management table of said at least one storage device; wherein said controller, after receiving a first I/O request from said client, issues a first I/O response to said client and issues a second I/O request for sending data received from said client to said at least one storage device until said controller receives a first unlock request from said client; wherein said controller, upon receiving said first unlock request from said client, issues a second unlock request to said at least one storage device to unlock the area of said at least one storage device; and wherein said controller, upon reception of a second command of unlock OK from said at least one storage device, sends a second command of unlock Acknowledge to said at least one storage device to unlock said area of said at least one storage device.