EP1530763A2

Associative memory with enhanced capabilities

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 19 July 2023, 3.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

83 claims: 16 independent, 67 dependent

  1. 1
    Claims of equivalent WO 2004015593 A2 CLAIMS What is claimed is:1. A method for use in performing a lookup operation in an associative memory, the method comprising: receiving a search key;identifying a modification mapping;modifying the search key based on the modification mapping to generate a lookup word;and performing a lookup operation on a plurality of associative entries based on the lookup word to generate a result.
  2. 9
    An associative memory comprising:a memory for storing a plurality of modification mappings;a plurality of associative memory entries;one or more inputs for receiving a search key;and a control for retrieving a particular modification mapping of said plurality of modification mappings from the memory, for modifying the search key based on the particular modification mapping to generate a lookup word, and for initiating a lookup operation in the plurality of associative memory entries based on the lookup word.
  3. 13
    An associative memory comprising:means for receiving a search key;means for identifying a modification mapping;means for modifying the search key based on the modification mapping to generate a lookup word;means for performing a lookup operation on a plurality of associative entries based on the lookup word to generate a result.
  4. 21
    A method for use in performing a lookup operation in an associative memory, the method comprising:a first associative memory block receiving a profile ID;the first associative memory block retrieving a first modification mapping based on the profile ID;the first associative memory block receiving a search key and modification data;the first associative memory block modifying the search key based on the first modification mapping and said modification data to generate a first lookup word;the first associative memory block performing a lookup operation based on the first lookup word to produce a first lookup result;a second associative memory block receiving the profile ID;the second associative memory block retrieving a second modification mapping based on the profile ID;the second associative memory block receiving the search key and said modification data;the second associative memory block modifying the search key based on the second modification mapping and said modification data to generate a second lookup word;and the second associative memory block performing a lookup operation based on the second lookup word to produce a second lookup result.
  5. 25
    An associative memory for producing a first lookup result and a second lookup result, the associative memory comprising:a first associative memory block including: a first control, a first memory, and a first plurality of associative memory entries;wherein the first control is configured to receive a profile ID, a search key, and modification data, to retrieve a first modification mapping from the first memory based on the profile ID, to generate a first lookup word based on the search key, said modification data, and the first modification mapping, and to perform a lookup operation on the first plurality of associative memory entries based on the first lookup word to produce the first lookup result;and a second associative memory block including: a second control, a second memory, and a second plurality of associative memory entries;wherein the second control is configured to receive the profile ID, the search key, and said modification data, to retrieve a second modification mapping from the second memory based on the profile ID, to generate a second lookup word based on the search key, said modification data, and the second modification mapping, and to perform a lookup operation on the second plurality of associative memory entries based on the second lookup word to produce the second lookup result.
  6. 29
    A computer-readable medium having stored thereon an associative memory entry, the associative memory entry comprising:a first field including a value for use in a matching operation on a lookup word;and a second field including data for indicating that a successful match on the associative memory entry should or should not force a no-hit result.
  7. 33
    A computer-readable medium having stored thereon an associative memory entry, the associative memory entry comprising:a first field including a value for use in a matching operation on a lookup word;and a second field including data to force a no-hit result should the associative memory entry be a highest-priority matching entry.
  8. 34
    A method for generating a lookup result, the method comprising:programming a plurality of associative memory entries, at least a particular entry of the plurality of associative memory entries including a force no-hit indication;performing a lookup operation based on a lookup word to identify the particular entry as a highest-priority matching entry;and generating a no-hit signal in response to the particular entry being identified as the highest-priority matching entry and the particular entry including the force no-hit indication.
  9. 35
    A method for generating a lookup result, the method comprising:programming a first plurality of associative memory entries, at least a first particular entry of the first plurality of associative memory entries including a force no-hit indication;programming a second plurality of associative memory entries, the first plurality of associative memory entries having a higher priority than the second plurality of associative memory entries;performing a lookup operation based on a first lookup word to identify the first particular entry as a first highest-priority matching entry of the first plurality of associative memory entries;generating a first no-hit signal in response to the first particular entry being identified as the first highest-priority matching entry and the first particular entry including the force no-hit indication;performing a lookup operation based on a second lookup word to identify the second particular entry as a second highest-priority matching entry of the second plurality of associative memory entries;generating a second highest-priority signal identifying the second particular entry;and identifying the second particular entry as the lookup result in response to the first no-hit signal and the second highest-priority signal.
  10. 37
    An associative memory comprising:a plurality of associative memory entries, each of the plurality of associative memory entries comprising a value for use in a matching operation on a lookup word and a force or do not force a no-hit indication;and control logic for performing a lookup operation on the plurality of associative memory entries based on a lookup word to identify a particular highest-priority matching entry.
  11. 39
    An apparatus comprising:means for programming a plurality of entries of an associative memory, at least a particular entry of the plurality of entries including a force no-hit indication;means for performing a lookup operation based on a lookup word to identify the particular entry as a highest-priority matching entry;and means for generating a no-hit signal in response to the particular entry being identified as the highest-priority matching entry and the particular entry including the force no-hit indication.
  12. 41
    A method for generating a lookup result, the method comprising:retrieving an indication of a subset of a plurality of associative memory blocks to use in determining the lookup result, each of the subset of the plurality of associative memory blocks indicating an associative memory block lookup result;selecting a highest priority hit result from said associative memory block lookup results from the subset of the plurality of associative memory blocks;and indicating the highest priority hit result as the lookup result.
  13. 51
    An associative memory device comprising:a plurality of associative memory blocks, each of the associative memory blocks indicating an associative memory block lookup result;and an output selector configured to retrieve from a memory an indication of the plurality of associative memory blocks to consider in producing an overall lookup result, and to select among said plurality of associative memory block lookup results based on the indication of the plurality of associative memory blocks to consider in producing the overall lookup result.
  14. 61
    An apparatus for performing lookup operations, the apparatus comprising:a first associative memory configured to receive a lookup request and to perform a lookup operation to generate a first set of results, the first associative memory including means for identifying a first set of error conditions and means for relaying indications of the first set of results and one or more indications of the first set of error conditions to a second associative memory;and the second associative memory, coupled to the first associative memory, configured to receive said indications of the first set of results and said indications of the first set of error conditions, the second associative memory including means for forwarding said one or more indications of the first set of error conditions to a next device.
  15. 66
    An apparatus for generating a lookup result, the apparatus comprising:means for retrieving an indication of a subset of a plurality of associative memory blocks to use in determining the lookup result, each of the subset of the plurality of associative memory blocks indicating an associative memory block lookup result;means for selecting a highest priority hit result from said associative memory block lookup results from the subset of the plurality of associative memory blocks;and means for indicating the highest priority hit result as the lookup result.
  16. 76
    An apparatus for performing lookup operations and to simultaneously produce one or more lookup results, the apparatus comprising:a plurality of associative memory blocks, each of the associative memory blocks indicating an associative memory block lookup result;and a plurality of output selectors, each of the plurality of output selectors configured to retrieve from a memory an indication of the plurality of associative memory blocks to select among in producing a selected lookup result, and configured to select among said plurality of associative memory block lookup results based on the indication of the plurality of associative memory blocks to select among in producing the selected lookup result.
Independent claims16