Data storage device providing data maintenance services
First Claim
1. A data storage device comprising:
- non-volatile data storage;
an interface for receiving data storage commands from a host system; and
a framework including a memory for storing xenocode received from the host system and a processor for executing the xenocode, wherein the xenocode comprises executable code configured by the host system, and wherein the configured executable code is further compiled by the host system prior to the memory storing the xenocode received from the host system;
wherein the data storage device is configured to write user data received from the host system to a first partition of the non-volatile data storage in response to a storage command received via the interface from the host system; and
wherein the xenocode, when executed, causes the processor to;
read the user data from the first partition of the non-volatile data storage without using the interface;
perform data operations on the read user data; and
write results associated with the data operations in a second partition of the non-volatile data storage without using the interface.
10 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for performing data maintenance and/or other data operations within a data storage device. A data storage device is disclosed including a device controller, non-volatile data storage, an interface for receiving data storage commands from a host system, a framework including a memory for storing xenocode code received from the host system, and a processor for executing the xenocode. The device controller is configured to write user data received from the host system to a first partition of the non-volatile data storage in response to a storage command received via the interface from the host system. The xenocode, when executed, causes the processor to read the user data from the first partition of the non-volatile data storage, perform data operations on the read user data, and write results associated with the data operations in a second partition of the non-volatile data storage.
-
Citations
22 Claims
-
1. A data storage device comprising:
-
non-volatile data storage; an interface for receiving data storage commands from a host system; and a framework including a memory for storing xenocode received from the host system and a processor for executing the xenocode, wherein the xenocode comprises executable code configured by the host system, and wherein the configured executable code is further compiled by the host system prior to the memory storing the xenocode received from the host system; wherein the data storage device is configured to write user data received from the host system to a first partition of the non-volatile data storage in response to a storage command received via the interface from the host system; and wherein the xenocode, when executed, causes the processor to; read the user data from the first partition of the non-volatile data storage without using the interface; perform data operations on the read user data; and write results associated with the data operations in a second partition of the non-volatile data storage without using the interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of performing data operations in a data storage device comprising non-volatile data storage and a memory, the method comprising:
-
receiving xenocode comprising processor executable instructions from a host system, wherein the xenocode comprises executable code configured by the host system, and wherein the configured executable code is further compiled by the host system; storing the xenocode in a memory of a framework for storing and executing the xenocode in a data storage device, wherein storing the xenocode in the memory occurs after the configured executable code is compiled by the host system; receiving a storage command from the host system over a communication interface; writing user data associated with the storage command and received from the host system to a first partition of a non-volatile data storage of the data storage device in response to receiving the storage command; executing the xenocode to cause a processor of the framework to; read the user data from the first partition of the non-volatile data storage without using the communication interface; perform data operations on the read user data; and write results associated with the data operations in a second partition of the non-volatile data storage without using the communication interface. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification