×

Systems and methods for performing single and multi threaded searches and complex pattern matching in a solid state drive

  • US 9,336,313 B1
  • Filed: 12/31/2013
  • Issued: 05/10/2016
  • Est. Priority Date: 07/24/2013
  • Status: Active Grant
First Claim
Patent Images

1. A solid state drive comprising:

  • a host interface;

    a processing unit; and

    a flash memory, the flash memory storing a plurality of data sets;

    the processing unit being in communication with the host interface, and the flash memory, the processing unit to receive a query through the host interface, and comprising;

    a digital signal processing (DSP) core; and

    a micro controller having a pattern buffer and a data engine;

    the DSP configured to be controlled by the microcontroller, and;

    to process the query to extract a pattern, to load the pattern into the pattern buffer, to access the flash memory, to create a window containing the pattern, to search a data subset from the flash memory for instances of the pattern using a rolling window method to search data subsets of the data sets in response to the query;

    to process, using a processing algorithm, data received from the flash memory to form processed data and to generate a result from the search,the processing unit configured to execute a search analysis on the processed data, the processed data comprising unstructured data, the search analysis comprising an analysis selected from the group consisting of;

    comparing the processed data to a specified pattern in the window, wherein the comparingcomprises first testing the processed data with a first set of criteria, and second testing the processed data with a second set of criteria in response to the first testing only when the processed data meet the first set of criteria,counting words in the processed data, wherein the counting comprises counting the number of occurrences of a word in the processed data,performing in-line indexing of the processed data,and combinations thereof,wherein the search analysis comprises the comparing of the processed data to the specified pattern, wherein the comparing comprises the first testing of the processed data with the first set of criteria, and the second testing of the processed data with the second set of criteria in response to the first testing only when the processed data meet the first set of criteria,wherein the unstructured data comprises a header and a body,wherein the first testing comprises first testing the header with the first set of criteria, and the second testing comprises second testing the body with the second set of criteria in response to the first testing only when the header meets the first set of criteria.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×