Method and system for safely arbitrating disk drive ownership using a timestamp voting algorithm
AssigneeSpinnaker Networks, Inc.
InventorMichael Leon Kazar
Life of this patent
Estimating the term…
Abstract
In data storage system including multiple servers and multiple disks, and wherein each server is in communication with each disk, each disk has a reserved disk block for each of the servers. The system includes a disk arbitration mechanism that uses a timestamp-based voting algorithm over the disk blocks associated with the servers to exchange votes for a primary server to arbitrate access of the servers to a set of disks. The disk arbitration mechanism further includes each server writing its state in its own associated disk block in each disk, and reading all the other servers' disk blocks in each disk in order to determine which server has access to, use, and control of the disks at a given time.
Claims34
A data storage system comprising:
- N servers, where N≧2 and is an integer, each server includes a state machine and a memory, and maintains in the memory a last time at which each servers' state changed and a value associated with the state when it last changed;
- D disks, where D≧2 and is an integer, each server in communication with each disk, each disk having a reserved disk block for each of the N servers;
- and
- a disk arbitration mechanism that uses a timestamp-based voting algorithm over the disk blocks associated with the servers to exchange votes for a primary server, the primary server arbitrating access of the servers to a set of disks of the D disks, where a set of the disk blocks are used as a communication medium.
A method for storing data comprising the steps of:
- writing by N servers into each servers' own associated disk block in each disk of D disks its state, a last time at which each servers' state changed and a value associated with the state when it last changed, where N≧2 and D≧2 and are integers;
- and
- reading by each server all the other servers' disk blocks in each disk in order to determine which server has access to, and use and control of the disks at a given time by using a timestamp-based voting algorithm over the disk blocks associated with the servers and the servers' state to exchange votes for a primary server, the primary server arbitrating access of the servers to a set of disks of the D disks, where the set of the disk blocks are used as a communication medium.
A method for storing data comprising the steps of:
- writing by N of servers into each servers' own associated disk block in each disk of D disks its state, where N≧2 and D≧2 and are integers;
- and
- reading by each server all the other servers' disk blocks in each disk in order to determine which server has access to, and use and control of the disks at a given time;
- determining which server becomes a winning server and has access to, and use and control of the disk at a given time;
- accessing the disk exclusively by the winning server;
- and
- transmitting by the winning server its state from not winning to winning and invalidating by the winning server all caches of the winning server.
A data storage system comprising:
- N servers, where N≧2 and is an integer, each server has an index, each server includes a state machine and a local RAM, and maintains in local RAM a last time at which each servers' state changed and a value associated with the state when it last changed;
- D disks, where D≧2 and is an integer, each server in communication with each disk, each disk having a reserved disk block for each of the N servers;
- and
- a disk arbitration mechanism where each of the N servers writes its state in its own associated disk block in each disk, and reads all the other servers' disk blocks in each disk in order to determine which server has access to, and use and control of the disks at a given time, the disk arbitration mechanism causes each server at first predetermined times to read all of the disk blocks, and write its own disk block to determine which server has access to, and use and control of the disks at a given time.
Dependencies are inferred from the claim text.