Device-based search in data storage device
AssigneeWestern Digital Technologies, Inc.
InventorsDEAN M. JENKINS, DALE C. MAIN
Life of this patent
Estimating the term…
Abstract
Systems and methods are disclosed for distributed searching in a data storage system. A data storage device may include a volatile memory module, a non-volatile memory module and control circuitry configured to perform a search on data stored in the non-volatile memory module according to search criteria. The control circuitry is further configured to store search results associated with the search in one or more of the volatile memory module and the non-volatile memory module and provide at least a portion of the search results to a host system.
Claims27
A data storage device comprising:
- host interface circuitry;
- a volatile memory device;
- a non-volatile memory device;
- a controller configured to:
- receive user data from a host system using the host interface circuitry;
- and
- transfer the user data to the non-volatile memory device over a data path comprising one or more data transmission lines electrically coupling the controller to the non-volatile memory device;
- and
- search engine circuitry separate from the controller and the non-volatile memory device and coupled to the data path, the search engine circuitry comprising a plurality of hardware comparators in a sequential arrangement, each of the plurality of hardware comparators being associated with a separate search term of a plurality of search terms, wherein the search engine circuitry is configured to:
- compare the user data transferred from the controller to the non-volatile memory device over the data path to the plurality of search terms to generate comparison matches;
- and
- store the comparison matches in one or more of the volatile memory device and the non-volatile memory device, the comparison matches identifying locations of instances of the one or more search terms in the non-volatile memory device.
(canceled)
The data storage device of claim 18, wherein:
- the volatile memory device is configured to communicate with the non-volatile memory device at least partially over the data path:
- and
- the controller is further configured to perform the comparison at least in part by accessing the data path.
(canceled)
The data storage device of claim 18, wherein the comparison matches are stored in a hit table.
The data storage device of claim 18, wherein the controller is further configured to:
- Initiate a maintenance operation associated with the non-volatile memory device;
- and
- perform the comparison in response to the initiation of the maintenance operation.
(canceled)
(canceled)
The data storage device of claim 18, wherein:
- the controller is further configured to initiate cache de-staging operations associated with the non-volatile memory device;
- and
- said comparing is performed in response to the initiation of the cache de-staging operations.
The data storage device of claim 18, wherein:
- the controller is further configured to initiate data refresh operations associated with the non-volatile memory device;
- and
- said comparing is performed in response to the initiation of the data refresh operations.
The data storage device of claim 18, wherein:
- the controller is further configured to receive priority data from the host system;
- and
- said comparing is performed according to the priority data.
(canceled)
A data storage device comprising:
- host interface circuitry;
- a volatile memory device;
- a non-volatile memory device;
- and
- a controller configured to:
- receive user data from a host system using the host interface circuitry;
- and
- transfer the user data to the non-volatile memory device over a data path comprising one or more data transmission lines electrically coupling the controller to the non-volatile memory device;
- and
- search engine circuitry separate from the controller and the non-volatile memory device and coupled to the data path, the search engine circuitry comprising hardware comparison circuitry and configured to:
- compare the user data as it is transferred from the controller to the non-volatile memory device over the data path to search terms to generate comparison matches;
- and
- store the comparison matches in one or more of the volatile memory device and the non-volatile memory device, the comparison matches identifying locations of instances of the search terms in the non-volatile memory device.
A method of searching data in a data storage device, the method comprising:
- by control circuitry of a data storage device:
- receiving user data from a host computing device over a host interface;
- buffering the user data in a volatile memory device of the data storage device over a data path comprising one or more data transmission lines electrically coupling the controller to the volatile memory device;
- decrypting the user data using decryption circuitry disposed in the data path between a controller of the control circuitry and the volatile memory device;
- performing a comparison of the user data to search terms using hardware comparison circuitry as the user data is transferred over the data path between the decryption circuitry and the volatile memory device to generate comparison matches;
- storing the comparison matches in one or more of the volatile memory device and a non-volatile memory device of the data storage device, the comparison matches identifying locations associated with instances of the search terms;
- and
- providing at least a portion of the comparison matches to the host computing device.
(canceled)
(canceled)
Dependencies are inferred from the claim text.