Data storage device with data transformation capability
First Claim
1. A disk drive comprising:
- a processor and a memory for storing data and a program for the processor;
means for receiving, from a device on a communication bus, a write command for a write operation with encryption, an encryption key and data to be encrypted and written to disk storage;
means for encrypting the data and recording the encryption key in association with the data; and
means for processing a read command for the data from the device with a decryption key comprising means for comparing the decryption key with the encryption key and refusing to decrypt the data if the decryption key and the encryption key are not equal and otherwise decrypting the data and sending the data to the device.
2 Assignments
0 Petitions
Accused Products
Abstract
In a preferred embodiment a method of operating an intelligent disk drive is described which includes compression and/or encryption capability at the file level. The intelligent disk drive includes means for executing distributed computing tasks including a CPU and associated memory. The communication interface with the host computer or other device on the communication bus is modified to allow the device 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 device. In a preferred embodiment the disk drive has a task control program, task program code, task data and status information for the distributed task. The task control program implements the basic task management functions of storing the task program, reporting results and saving progress information to allow the task to be interrupted by other drive functions.
76 Citations
18 Claims
-
1. A disk drive comprising:
-
a processor and a memory for storing data and a program for the processor;
means for receiving, from a device on a communication bus, a write command for a write operation with encryption, an encryption key and data to be encrypted and written to disk storage;
means for encrypting the data and recording the encryption key in association with the data; and
means for processing a read command for the data from the device with a decryption key comprising means for comparing the decryption key with the encryption key and refusing to decrypt the data if the decryption key and the encryption key are not equal and otherwise decrypting the data and sending the data to the device. - View Dependent Claims (2, 3)
-
-
4. A disk drive comprising:
-
a processor and a memory for storing data and a program for the processor;
means for receiving, from a device on a communication bus, a write command for a write operation with compression, the write command including a file identifier and data to be compressed and written to disk storage;
means for compressing the data and recording the file identifier in association with the data; and
means for processing a read command for the data from the device with a file identifier comprising means for retrieving the data using the file identifier, decompressing the data and sending the data to the device. - View Dependent Claims (5)
-
-
6. 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 data compression task definition command from a device on a communication bus, the data compression task definition command including a specification of a data compression task program of code executable by the processor and a specification of data for the data compression task program;
means for executing a data compression task program as an interruptible process executing offline, the means for executing the data compression task program including means for storing task status and pointers when an interrupt occurs and resuming execution of the data compression task program when an interrupt has been processed;
means for signaling the device that the data compression task program has completed; and
means for resetting the data compression task status to indicate that no data compression task program is pending after the data compression task program has completed. - View Dependent Claims (7, 8, 9)
-
-
10. A method of operating a disk drive comprising the steps of:
-
receiving, from a device on a communication bus, a write command for a write operation with encryption, an encryption key and data to be encrypted and written to disk storage;
encrypting the data and recording the encryption key in association with the data; and
processing a read command for the data from the device with a decryption key comprising means for comparing the decryption key with the encryption key and refusing to decrypt the data if the decryption key and the encryption key are not equal and otherwise decrypting the data and sending the data to the device. - View Dependent Claims (11, 12)
-
-
13. A method of operating a disk drive comprising:
-
receiving, from a device on a communication bus, a write command for a write operation with compression, the write command including a file identifier and data to be compressed and written to disk storage;
compressing the data and recording the file identifier in association with the data; and
processing a read command for the data from the device with a file identifier comprising means for retrieving the data using the file identifier, decompressing the data and sending the data to the device. - View Dependent Claims (14)
-
-
15. A method of operating a disk drive comprising:
-
accepting a data compression task definition command from a device on a communication bus, the data compression task definition command including a specification of a data compression task program of code executable by a processor in the disk drive and a specification of data for the data compression task program;
executing the data compression task program as an interruptible process executing offline, when an interrupt occurs storing task status and pointers and then resuming execution of the data compression task program when the interrupt has been processed;
signalling the device that the data compression task program has completed; and
resetting the data compression task status to indicate that no data compression task program is pending after the data compression task program has completed. - View Dependent Claims (16, 17, 18)
-
Specification