Data indexing by local storage device
First Claim
1. A method of generating a search index with respect to data stored in a mass storage array of a local storage device, the method comprising:
- in a local storage device having a mass storage array arranged in data blocks for access by a host device and a controller operatively coupled to the mass storage array, the controller having an indexer;
generating index data with respect to content of data received from the host device and stored in the mass storage array of the local storage device, the generating being performed independently of the host device by the controller with the indexer, wherein generating the index data comprises;
observing commands received from the host, including commands for read and/or write access to data blocks in the mass storage array;
determining a characteristic of the content of the data based on the observed commands; and
generating the index data based at least in part on the determined characteristic; and
storing the generated index data on the local storage device as at least a part of the search index, the search index usable to search the data stored in the mass storage array.
2 Assignments
0 Petitions
Accused Products
Abstract
A computing device including a host device (HD) is in communication with a local storage device (LSD), wherein the LSD includes a memory array. A search index is generated with respect to data stored in the memory array of the LSD. By the LSD without involvement of the HD, the index data is generated with respect to the data stored in the memory array of the LSD. By the LSD, the generated index data is stored on the LSD as at least a part of the search index. The index may include data that can be used to respond to search queries with respect to data of the LSD. The queries may be originated from a HD or from within the LSD. The use of the index is not limited to responding to search queries. For example, the index may be used for content screening.
52 Citations
30 Claims
-
1. A method of generating a search index with respect to data stored in a mass storage array of a local storage device, the method comprising:
-
in a local storage device having a mass storage array arranged in data blocks for access by a host device and a controller operatively coupled to the mass storage array, the controller having an indexer; generating index data with respect to content of data received from the host device and stored in the mass storage array of the local storage device, the generating being performed independently of the host device by the controller with the indexer, wherein generating the index data comprises; observing commands received from the host, including commands for read and/or write access to data blocks in the mass storage array; determining a characteristic of the content of the data based on the observed commands; and
generating the index data based at least in part on the determined characteristic; and
storing the generated index data on the local storage device as at least a part of the search index, the search index usable to search the data stored in the mass storage array.- View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 29)
-
-
2. A method of generating a search index with respect to data stored in a mass storage array of a local storage device, the method comprising:
-
in a local storage device having a mass storage array arranged in data blocks for access by a host device and a controller operatively coupled to the mass storage array, the controller having an indexer; generating index data with respect to content of data received from the host device and stored in the mass storage array of the local storage device, the generating being performed independently of the host device by the controller with the indexer, wherein generating the index data comprises; observing data access operations by the host device relative to the mass storage array of the local storage device wherein such data access operations result in data blocks being provided to the mass storage array from the host device or being provided to the host device from the mass storage array; determining a characteristic of the content of the data blocks being provided in the observed data access operations; and generating the index data based at least in part on the determined characteristic of the content and; storing the generated index data on the local storage device as at least a part of the search index, the search index usable to search the data stored in the mass storage array. - View Dependent Claims (3)
-
-
15. A local storage device configured for use in a computing system having a host device in communication with the local storage device, the local storage device comprising:
- a mass storage array arranged in data blocks for access by the host device; and
a controller configured to;
without involvement of the host device, and independent of the host device, generate index data for a search index with respect to content of data stored in the mass storage array of the local storage device, the generation being performed by an indexer of the controller configured to;
observe commands received from the host device as a result of data access operations by the host device relative to the mass storage array of the local storage device wherein such data access operations result in data blocks being provided to the mass storage array from the host device or being provided to the host device from the mass storage array;determine a character of the content of the data blocks based on the observed commands; and
generate the index data based at least in part on the determined character of the content of the data blocks; and
cause the generated index data to be stored on the local storage device as at least a part of the search index, the search index being arranged to facilitate a search of the data stored in the mass storage array. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30)
- a mass storage array arranged in data blocks for access by the host device; and
Specification