Back to results
US 8,943,239 B2Granted
Data snooping direct memory access for pattern detection
AssigneeQUALCOMM Incorporated
InventorsJian Shen, Jing Li
Life of this patent
Estimating the term…
Abstract
A direct memory access controller for efficiently detecting a character string within memory, the direct memory access controller generating signatures of character strings stored within the memory and comparing the generated signatures with the signature of the character string for which detection is desired.
Claims24
An apparatus comprising:
- a register file comprising a first register to store a signature and a second register to store a memory address;
- a first-in-first-out (FIFO) buffer having an output;
- control logic to load characters into the FIFO buffer where the first character loaded into the FIFO buffer has a first address equal to the memory address stored in the second register;
- a tapped delay line coupled to the output of the FIFO buffer, the tapped delay line comprising one or more delay elements having respective one or more delayed outputs;
- a multiplexer coupled to the control logic to multiplex the output of the FIFO buffer and said one or more delayed outputs from the tapped delay line;
- a plurality of compression engines coupled to the multiplexer, the control logic to load a first character string from the FIFO buffer into the compression engines, the compression engines to generate a first signature corresponding to the first character string;
- a comparator to compare the first signature with the signature stored in the first register;
- wherein the control logic loads a second character string from the FIFO buffer into the compression engines provided the comparator indicates that the first signature does not match the signature stored in the first register.
5 more elements
An apparatus comprising:
- means for storing a signature and a memory address;
- means for buffering characters where the first buffered character has a first address equal to the memory address to generate a buffered output;
- means for tap delaying the buffered output to generate one or more tap delayed outputs;
- means for multiplexing the buffered output and said one or more tap delayed outputs;
- means for generating signatures from character strings, to generate a first signature from a first character string stored in the means for buffering characters through the means for multiplexing;
- means for comparing, to compare the first signature with the signature;
- wherein the means for generating the signatures from the character strings generates a second signature of a second character string buffered in the means for buffering characters provided the means for comparing indicates that the first signature does not match the signature.
4 more elements
A method comprising:
- loading a memory address into a register file of a direct memory access (DMA) controller;
- loading a signature of a character string into the register file of the DMA controller;
- loading characters from a memory into a first-in-first-out (FIFO) buffer starting from the memory address;
- generating a buffered output from the FIFO buffer;
- tap delaying the buffered output to generate one or more tap delayed outputs;
- multiplexing the buffered output and said one or more tap delayed outputs in a multiplexer;
- generating a first signature of a first character string stored in the FIFO buffer through the multiplexer;
- comparing the first signature with the signature of the character string stored in the register file of the DMA controller;
- provided the first signature does not match the signature of the character string stored in the register file of the DMA controller, generating a second signature of a second character string stored in the FIFO buffer.
6 more elements
An apparatus comprising a memory having stored instructions, the stored instructions causing a direct memory access (DMA) controller to execute a process comprising:
- loading characters from the memory into a first-in-first-out (FIFO) buffer starting from a memory address stored in a register file in the DMA controller;
- generating a buffered output from the FIFO buffer;
- tap delaying the buffered output to generate one or more tap delayed outputs;
- multiplexing the buffered output and said one or more tap delayed outputs in a multiplexer;
- generating a first signature of a first character string stored in the FIFO buffer through the multiplexer;
- comparing the first signature with a signature of the character string stored in the register file of the DMA controller;
- provided the first signature does not match the signature of the character string stored in the register file of the DMA controller, generating a second signature of a second character string stored in the FIFO buffer.
4 more elements
A communication system comprising:
- a register file comprising a first register to store a signature and a second register to store a memory address;
- a first-in-first-out (FIFO) buffer having an output;
- control logic to load characters into the FIFO buffer where the first character loaded into the FIFO buffer has a first address equal to the memory address stored in the second register;
- a tapped delay line coupled to the output of the FIFO buffer, the tapped delay line comprising one or more delay elements having respective one or more delayed outputs;
- a multiplexer coupled to the control logic to multiplex the output of the FIFO buffer and said one or more delayed outputs from the tapped delay line;
- a plurality of compression engines coupled to the multiplexer, the control logic to load a first character string from the FIFO buffer into the compression engines, the compression engines to generate a first signature corresponding to the first character string;
- a comparator to compare the first signature with the signature stored in the first register;
- wherein the control logic loads a second character string from the FIFO buffer into the compression engines provided the comparator indicates that the first signature does not match the signature stored in the first register;
- wherein the communication system is selected from the group consisting of a cellular mobile communication device and a cellular base station.
6 more elements
Dependencies are inferred from the claim text.