×

Compression of nodes in a trie structure

  • US 6,910,043 B2
  • Filed: 03/26/2001
  • Issued: 06/21/2005
  • Est. Priority Date: 09/29/1998
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for implementing a functional memory, wherein memory data is stored as data units for each of which a dedicated storage space is assigned in the memory, the method comprising:

  • implementing a memory as a directory structure comprising a tree-shaped hierarchy having nodes at several different levels, wherein an individual node includes (i) a trie node associated with a logical table wherein an individual element contains a pointer pointing to a lower node in the tree-shaped hierarchy, a number of elements in the logical table corresponding to a power of two, or (ii) a bucket containing at least one element wherein a type of said individual element in the bucket is selected from a group including a data unit, a pointer to a stored data unit, a pointer to another directory structure and said another directory structure;

    performing address computation in the directory structure by (a) selecting in the node at an uppermost level of the tree-shaped hierarchy a given number of bits from a bit string formed by employed search keys, forming from the given number of bits a search word for seeking an address of a next node in the individual node, and proceeding to said next node, (b) selecting a predetermined number of bits from unselected bits in the bit string formed by the employed search keys and forming from the predetermined number of bits another search word for seeking another address of a further new node at a lower level from the logical table of the individual node that has been accessed, repeating step (b) until an element containing a nil pointer is encountered or until the address of the new node at said lower level is the address of said bucket, wherein the nodes to which a given node contains pointers are child nodes of said given node and the nodes to which the child nodes contain pointers are grandchild nodes of said given node; and

    implementing trie nodes as quad nodes of four elements, and replacing in at least part of the directory structure groups of successive nodes by compressed nodes by (a) replacing an individual group comprising a given quad node and its child nodes by a node whose logical table has 16 elements, and (b) forming a compressed node known per se from said node of 16 elements by physically storing in the compressed node non-nil pointers and a bit pattern on a basis of which a physical storage location in the compressed node, corresponding to the search word, is determined.

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