Finite state machine with a single process context for a RAID system
First Claim
Patent Images
1. A finite state machine stored on a computer-readable medium for a redundant array of independent disks, the finite state machine comprising:
- a single process context configured to maintain a plurality of entire finite states required for an input/output operation performed in the redundant array of independent disks;
means for initializing the finite states only in response to a call; and
means for updating the finite states only in response to call-backs;
wherein there is one entire finite state for each one of a plurality of concurrent I/O operations performed in the redundant array of independent disks.
7 Assignments
0 Petitions
Accused Products
Abstract
A finite state machine (FSM) for a redundant array of independent disk includes a single process context that maintains an entire finite state required for input/output operations performed in a RAID system. The finite state is only updated in response to calls and call-backs. The call-backs can include procedure returns and interrupt signals. The call is received directly from an application program, and the call-backs are received from a driver and passed back directly to the application software by the finite state machine.
-
Citations
24 Claims
-
1. A finite state machine stored on a computer-readable medium for a redundant array of independent disks, the finite state machine comprising:
-
a single process context configured to maintain a plurality of entire finite states required for an input/output operation performed in the redundant array of independent disks; means for initializing the finite states only in response to a call; and means for updating the finite states only in response to call-backs; wherein there is one entire finite state for each one of a plurality of concurrent I/O operations performed in the redundant array of independent disks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A finite state machine stored on a computer-readable medium for a redundant array of independent disks, the finite state machine comprising:
-
a single process context configured to maintain an entire finite state required for an input/output operation performed in the redundant array of independent disks; means for initializing the finite state only in response to a call; and means for updating the finite state only in response to call-backs, wherein the call is received by the finite state machine directly from application software, and the call-backs are received from a driver and passed back directly to the application software by the finite state machine. - View Dependent Claims (10, 11)
-
-
12. A finite state machine stored on a computer-readable medium for a redundant array of independent disks, the finite state machine comprising:
-
a single process context configured to maintain an entire finite state required for a multi-block input/output operation including more than two blocks performed in the redundant array of independent disks; means for initializing the finite state only in response to a call; and means for updating the finite state only in response to call-backs, wherein the finite state machine enters a first state in response to receiving the call, enters a second state in response to a call-back indicating completion an operation on a first block, enters a third state while performing an operation on all but a last block, enters a third state when initiating an operation on the last block, and enters a fourth state upon completing the operation on the last block.
-
-
13. A computer-implemented method for operating a redundant array of independent disks, the method comprising:
-
providing a finite state machine for the redundant array of independent disks; maintaining a plurality of entire finite states required for an input/output operation performed in the redundant array of independent disks in a single process context; initializing the finite states only in response to a call; and updating the finite states only in response to call-backs; wherein there is one entire finite state for each one of a plurality of concurrent I/O operations performed in the redundant array of independent disks. - View Dependent Claims (14, 15, 16)
-
-
17. A computer-implemented method for operating a redundant array of independent disks, the method comprising:
-
providing a finite state machine for the redundant array of independent disks; maintaining an entire finite state required for an input/output operation performed in the redundant array of independent disks in a single process context; initializing the finite state only in response to a call; and updating the finite state only in response to call-backs, wherein the call is received by the finite state machine directly from application software, and the call-backs are received from a driver and passed back directly to the application software by the finite state machine. - View Dependent Claims (18, 19)
-
-
20. A computer-implemented method for operating a redundant array of independent disks (RAID) in response to input/output calls from an external application, the method comprising:
-
providing an interface in the RAID that receives the input/output calls from the external application and transmits responses thereto; providing a RAID finite state process operating entirely within the RAID, connected to said interface, that controls a plurality of concurrent input/output operations performed in the RAID without reliance on an external operating system; operating the RAID finite state process based on calls and call-backs received from the external application through said interface; and maintaining a plurality of entire finite states in the RAID finite state process, there being one entire finite state for each one of the plurality of concurrent I/O operations performed in the redundant array of independent disks. - View Dependent Claims (21, 22, 23, 24)
-
Specification