Disk drive/CPU architecture for distributed computing
First Claim
1. A disk drive comprising:
- a processor and a memory for storing data and a program for the processor;
a task control program executable by the processor loaded into the memory, the task control program including means for accepting a task definition command from a host computer, the task definition command including a specification of a task program of code executable by the processor and a specification of data for the task program;
means for executing the task program as an interruptible process using the data for the task, the means for executing the task program including means for storing task status and pointers when an interrupt occurs and resuming execution of the task program when an interrupt has been processed;
means for signaling the host that the task program has completed;
means for transmitting results of the task program to the host; and
means for resetting the task status to indicate that no task program is pending after the task program has completed.
3 Assignments
0 Petitions
Accused Products
Abstract
A disk drive is described which includes means for executing distributed computing tasks including a CPU and associated memory. The communication interface with the host computer is modified to allow the host computer to send executable code for a task to the drive and to allow the drive to communicate the results and status information about the task to the host computer. In a preferred embodiment the disk drive has a task control program, task program code, task data and status information for the distributed task. In alternative embodiments, the disk drive can communicate with other similar disk drives in the bus to provide the results of computation to the other processors. The RAM memory, and mass storage are intimately connected through the associated hard disk controller such that the exact location of the required data and program instructions are known.
-
Citations
10 Claims
-
1. A disk drive comprising:
-
a processor and a memory for storing data and a program for the processor;
a task control program executable by the processor loaded into the memory, the task control program including means for accepting a task definition command from a host computer, the task definition command including a specification of a task program of code executable by the processor and a specification of data for the task program;
means for executing the task program as an interruptible process using the data for the task, the means for executing the task program including means for storing task status and pointers when an interrupt occurs and resuming execution of the task program when an interrupt has been processed;
means for signaling the host that the task program has completed;
means for transmitting results of the task program to the host; and
means for resetting the task status to indicate that no task program is pending after the task program has completed. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of operating a disk drive comprising the steps of:
-
receiving a task definition command from a host computer, the task definition command including a specification of a task program of code executable by the processor and a specification of data for the task program;
executing the task program as an interruptible process using the data for the task, executing step further comprising storing task status and pointers when an interrupt occurs and resuming execution of the task program using the stored task status and pointers when the interrupt has been processed;
signaling the host that the task program has completed;
transmitting results of the task program to the host; and
resetting the task status to indicate that no task program is pending after the task program has completed. - View Dependent Claims (7, 8, 9, 10)
-
Specification