IP Library Granted Patent US 6,851,005
Granted Patent B1
US 6,851,005 · App. 09/518,551 · Granted Feb 1, 2005

Apparatus and method for implementing raid devices in a cluster computer system

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,851,005
App. No.
09/518,551
Granted
Feb 1, 2005
Kind
B1
Abstract

Apparatus and methods are provided for efficiently implementing logical-device reservations in a cluster computer system. The apparatus includes cooperating controllers programmed in firmware around a distributed reservation table. The apparatus manages access to a logical device, with first and second nodes with respective bus controllers communicatively coupled to each other and to a logical device by means of a bus. The first controller receives a request to reserve the logical device and, in response, communicates a reservation request for the logical device over the bus to the second controller for execution by the second controller. In response to the communicated reservation request, the second controller reserves the logical device for the first node.

Claims (43)

1. A method for managing access to a logical I/O device, said method comprising:

communicatively coupling first and second nodes, having respective first and second bus controllers having respective first and second reservation tables, and said logical I/O device, by means of a bus and said first and second bus controllers;

receiving on said first controller a request to reserve said logical I/O device;

updating the first reservation table to reflect reservation of the logical I/O device;

communicating by means of said bus from said first to said second controller a reservation request for said logical I/O device for updating by said second controller of said second reservation table, in response to said receiving;

receiving a response to said communicated reservation request;

aborting the method for managing access when said response indicates failure to reserve and said first controller is subordinate to said second controller;

otherwise, delaying and communicating again a reservation request for said logical I/O device when said response indicates failure to reserve and said first controller is dominant to said second controller; and

otherwise, responding, indicating success, to said received reservation request.

2. The method of claim 1 , further comprising:

reserving said logical I/O device for said first node within said second RAID controller, in response to said communicated reservation request.

3. The method of claim 2 , wherein the act of reserving further comprises:

determining whether said logical I/O device is already reserved within said second RAID controller;

communicating a response, indicating failure to reserve said logical I/O device, to said first node when said logical I/O device is already reserved; and

otherwise, reserving said logical I/O device for said first node within said second RAID controller, and communicating to said first node a response indicating success in reserving said logical I/O device.

4. The method of claim 1 , wherein the act of communicatively coupling further comprises:

communicatively coupling said first and second nodes and said logical I/O device depending from a multi-logical device, third RAID controller by means of said bus and said first and second RAID controllers.

5. The method of claim 1 , wherein after the act of receiving and before the act of communicating:

in response to said reservation request, determining whether said logical I/O device is already reserved within said first RAID controller, and aborting said method for managing access when said logical I/O device is already reserved; and

otherwise, reserving said logical I/O device for said first node within said first RAID controller.

6. The method of claim 1 , wherein said communicatively coupling further comprises said logical I/O device is stored on a plurality of physical I/O devices.

7. The method of claim 1 , wherein said communicatively coupling further comprises said logical I/O device is selected from a plurality of logical I/O devices, with each logical I/O device defined in part on a common physical I/O device.

8. The method of claim 1 , wherein the first and second reservation tables each cross-reference logical devices with a reserving SCSI device.

9. The method of claim 1 , further comprising:

receiving successful communication from said second controller; and

completing the reservation command to an operating system after receiving said successful communication.

10. A computer-readable medium for data storage wherein is located a computer program including instructions for causing a first node in a computer system, having a first RAID controller having a first reservation table, to manage access to a logical I/O device in said computer system by:

receiving on said first RAID controller a request to reserve said logical I/O device;

updating the first reservation table to reflect reservation of the logical I/O device; and

communicating in response to receiving said request, a reservation request for said logical I/O device from said first RAID controller to a RAID second controller of a second node for updating of a second reservation table by said second controller;

receiving a response to said reservation request;

aborting said method for managing access when said response indicates failure to reserve and said first controller is subordinate to said second controller;

otherwise, delaying and communicating again a reservation request for said logical I/O device when said response indicates failure to reserve and said first controller is dominant to said second controller; and

otherwise, responding, indicating success, to said received reservation request.

11. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism, comprising:

a program module that manages access to a logical I/O device in said computer system, the program module including instructions for:

receiving on a first controller a request to reserve said logical I/O device;

updating a first reservation table to reflect reservation of the logical I/O device;

communicating by means of a bus from said first to a second controller a reservation request for said logical I/O device for updating by said second controller of a second reservation table, in response to said receiving;

receiving a response to said communicated reservation request;

aborting the program module for managing access when said response indicates failure to reserve and said first controller is subordinate to said second controller;

otherwise, delaying and communicating again a request to reserve said logical I/O device when said response indicates failure to reserve and said first controller is dominant to said second controller; and

otherwise, responding, indicating success, to said received reservation request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2001
From: MYLEX CORPORATION
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 012153/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2000
From: GNANASIVAM, GOVINDARAJU; SURUGUCCHI, KRISHNAKUMAR RAO
To: MYLEX CORPORATION
Reel/Frame 010899/0137 →