EP0458552A2

Dynamic hierarchical routing directory organization associative memory.

Abstract

An associative memory having an associativity of 2q, where (q) is an integer greater than or equal to one, is provided for storing information relating to data. The memory includes (n) tables, each having a plurality of entries for storing signals associated with data descriptors having a common set portion and common other portions. The entries of table(k), where (k) represents successive integers between (I) and (n-I), store pointers to respective entries of table(k+I). The entries of table(l) are arranged for access as a function of the common set portion and the common portion(I) with which they are respectively associated. The entries of the other tables are arranged for access as a function of (i) a value of the common set portion, (ii) a value of a pointer-representative signal of the respective table(m-I) entry means, and (iii) the value of the common portion(m) with which such table(m) entry means is respectively associated. The entries of table(n) store information relating to one or more data having a common portion(n). -

EP0458552A2, drawing sheet 1
Sheet 1 of 86

Term

Term ended

Projected expiry passed 17 May 2011, 15.4 years ago.

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

54 claims: 6 independent, 48 dependent

  1. 1
    An associative memory for storing signals representative of information relating to a plurality of datum, each datum corresponding to a descriptor by which that datum is referenced, each said descriptor including a set portion and at least (n) other portions, each said portion being an information signal representing a value, each said other portion being referred to as portion(j), where (j) represents successive integers between (I) and (n), inclusive, where (n) is an integer greater than or equal to two, said associative memory having an associativity of two to the (q)th power, where (q) is an integer greater than or equal to one, said associative memory comprising a directory including:A. (n) tables, each referred to as table(j), where (j) represents successive integers between (I) and (n), inclusive, each said table including a plurality of entry means for storing information-representative signals, said entry means of each table(i) being associated with one or more of said descriptors having a common set portion and common other portions (p), where (p) represents successive integers between (I) and (j). inclusive,B. said entry means of table(k), where (k) represents successive integers between (I) and (n-I), for storing information-representative signals representative of pointers to respective entry means of table(k+I), the pointer-representative signals stored in the entry means of table(k) comprise (q) bits, where (k) represents at least one integer between (I) and (n-I), and (q) represents an integer greater than or equal to one,C. said entry means of table(l) being arranged for access as a function of the common set portion and the common portion(I) with which they are respectively associated, each said entry means of table(m), where (m) represents successive integers between (2) and (n), being arranged for access as a function of i) a value of the common set portion,ii) a value of a pointer-representative signal of the respective table(m-I) entry means, andiii) the value of the common portion(m) with which such table(m) entry means is respectively associated, andD. said entry means of table(n) being provided for storing an information signal representative of information relating to one or more datum that have portion (n).
  2. 2
    An associative memory according to claim wherein said directory includes means for accessing an information-representative signal, if any, relating to a datum corresponding to said indidate descriptor in a time period that is dependent upon (n), and that is independent of (q), and that is independent of the value of any portion of a candidate descriptor.
  3. 4
    An associative memory according to any of claims I - 3, comprising A. input means for receiving a candidate descriptor,B. look-up means connected to said input means and to said directory for determining whether said directory stores an information-representative signal relating to a datum corresponding to said candidate descriptor, andC. output means coupled to said look-up means for generating a signal representative of said determination.
  4. 12
    An associative memory according to claim II, wherein said directory includes update means responsive to said level(k) miss signal for updating at least one of said (n) tables entry means to include an information-representative signal relating to said candidate descriptor.
  5. 28
    A method for storing signals representative of information relating to a plurality of datum, each datum corresponding to a descriptor by which that datum is referenced, each said descriptor including a set portion and at least (n) other portions, each said portion being an information signal representing a value, each said other portion being referred to as portion(j), where (j) represents successive integers between (I) and (n), inclusive, where (n) ,is an integer greater than or equal to two, said associative memory having an associativity of two to the (q)th power, where (q) is an integer greater than or equal to one, said method comprising:A. providing a directory including (n) tables, each referred to as table(j), where (j) represents successive integers between (I) and (n), inclusive, each said table including a plurality of entries for storing information-representative signals, said entries of each table(j) being associated with one or more of descriptors having a common set portion and common other portions (p), where (p) represents successive integers between (I) and (j), inclusive,B. selectively storing, in the entries of table(k), where (k) represents successive integers between (I) and (n-I), information-representative signals representative of pointers to respective entries of table(k+l), wherein the pointer-representative signals stored in the entries of table(k) comprise (q) bits, where (k) represents at least one integer between (I) and (n-I), and (q) represents an integer greater than or equal to one,C. arranging the entries of table(l) for access in accord with values of the common set portion and the common portion(I) with which they are respectively associated, arranging the entries of table(m), where (m) represents successive integers between (2) and (n), for access as a function of i) a value of the common set portion,ii) a value of a pointer-representative signal of the respective table(m-I) entry, andiii) the value of the common portion(m) with which such table(m) entry is respectively associated, andD. selectively storing in the entries oftable(n) an information signal representative of information relating to one or more datum that have portion (n).
  6. 31
    A method according to any of claims 28 - 30, comprising A. inputting a candidate descriptor,B. determining whether said directory stores an information-representative signal relating to a datum corresponding to said candidate descriptor, andC. outputting a signal representative of said determination.