Content Addressable Memory (cam) Patents (Class 711/108)
  • Publication number: 20090019220
    Abstract: A method of filtering high data rate traffic (2) based on its content, the method comprising identifying candidate fixed size partial strings (3) within the traffic; comparing characters within the candidate partial string with a content addressable memory (1) containing wanted partial string values and identifying matching traffic; wherein the partial string content includes at least one anchor character (7); wherein the partial string size is set to a predetermined number of characters adjacent to the anchor character; and, wherein partial strings ending in an anchor character are compared with wanted partial string values in the content addressable memory.
    Type: Application
    Filed: January 18, 2007
    Publication date: January 15, 2009
    Applicant: Roke Manor Research Limited
    Inventor: Simon Davis
  • Patent number: 7478193
    Abstract: A CAM system comprising a plurality of CAM devices connected in a serial cascade arrangement, the CAMs in the cascade being connected to an adjacent CAM by a respective forwarding bus, with at most a first CAM in the cascade being connected to a receive data signals from a host controller and at most a last CAM devices being coupled to forward results back to the host controller; and a send signal generation means for supplying a SEND signal to the last CAM; the SEND signal for coordinating transfer of the search result from the last CAM to the host controller, the serial cascade arrangement minimizing the number of CAMs being connected to a common forwarding bus.
    Type: Grant
    Filed: May 19, 2006
    Date of Patent: January 13, 2009
    Assignee: MOSAID Technologies Incorporated
    Inventors: Oswald Becca, Alan Roth, Robert McKenzie
  • Patent number: 7478192
    Abstract: Associative memory systems, methods and/or computer program products include a network of networks of associative memory networks. A network of entity associative memory networks is provided, a respective entity associative memory of which includes associations among a respective observer entity and observed entities that are observed by the respective observer entity, based on input documents. A network of feedback associative memory networks includes associations among observed entities for a respective positive and/or negative evaluation for a respective task of a respective user. A network of document associative memory networks includes associations among observed entities in a respective observed input source, such as a respective input document. A network of community associative memory networks includes associations among a respective observer entity, observed entities that are observed by the respective observer entity, and observed tasks of users in which the observer entity was queried.
    Type: Grant
    Filed: November 3, 2004
    Date of Patent: January 13, 2009
    Assignee: Saffron Technology, Inc.
    Inventors: James S. Fleming, Brian J. McGiverin, Manuel Aparicio, IV
  • Patent number: 7475432
    Abstract: Representing a number of assets on an originating computer begins with selecting the assets to be represented. Cryptographic hash asset identifiers are generated; each of the asset identifiers is computed using the contents of a particular asset. The asset identifier is a content-based or content-addressable asset name for the asset and is location independent. An asset list is generated that includes the asset identifiers computed from the assets. A cryptographic hash asset list identifier is generated that is computed from the asset list. The asset list identifier is stored for later retrieval. The assets selected are also stored for safekeeping either locally or on a computer network. In the event of loss of the files from the originating computer, the asset list identifier is retrieved. Using the asset list identifier, the original asset list is found and retrieved from its safe location.
    Type: Grant
    Filed: July 19, 2004
    Date of Patent: January 6, 2009
    Assignee: EMC Corporation
    Inventors: Paul R. Carpentier, Jan F. Van Riel, Tom Teugels
  • Publication number: 20080320216
    Abstract: A program product, a translation lookaside buffer and a related method for operating the TLB is provided.
    Type: Application
    Filed: June 20, 2008
    Publication date: December 25, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthias Fertig, Ute Gaertner, Norbert Hagspiel, Erwin Pfeffer
  • Patent number: 7467256
    Abstract: Queuing command information is stored in a content addressable memory (CAM) where a queuing command for a first queue is received, the CAM is examined to determine if commands for the first queue are present, and if commands for the first queue were found to be present, information is stored in a linked list for the received command in multiple CAM entries.
    Type: Grant
    Filed: December 28, 2004
    Date of Patent: December 16, 2008
    Assignee: Intel Corporation
    Inventors: Sanjeev Jain, Gilbert M. Wolrich, Debra Bernstein
  • Patent number: 7464217
    Abstract: A design structure for content addressable memory including a first array of memory cells, and a second array of memory cells. A search logic circuit is configured to prevent a discharge of the second array of memory cells when a search of the first array of memory cells finds certain data.
    Type: Grant
    Filed: September 6, 2007
    Date of Patent: December 9, 2008
    Assignee: International Business Machines Corporation
    Inventors: Geordie M. Braceras, Robert E. Busch
  • Patent number: 7464088
    Abstract: A system architecture optimized for pattern match applications is provided. This system architecture includes a host computer and a pattern match accelerator (PMA), which in turn includes one or more pattern match units (PMUs) and PMU control logic. The PMU control logic can divide a database, transmitted by the host computer, such that each of the PMUs receives a database portion. Each PMU includes a main memory for storing the database portion and a programmable logic device (PLD). The PLD can perform a search and score operation on its database portion. Advantageously, the PLD can be configured to generate an index of the database portion, and then configured to perform the search and score operation using that index. The PMU control logic can assemble the results of the pattern match application from each of the PMUs.
    Type: Grant
    Filed: May 13, 2004
    Date of Patent: December 9, 2008
    Assignee: Sage-N Research, Inc.
    Inventor: David Chiang
  • Publication number: 20080301362
    Abstract: Systems, devices, and methods, including executable instructions are provided for resolving content addressable memory (CAM) match address priority. One method includes retaining a first match address as the best match address. Subsequent match addresses are compared to the retained best match address, each match address being associated with a compare cycle during which a selected columnar portion of each CAM entry is compared to a corresponding portion of a search term. The best match address is updated as a result of the comparison.
    Type: Application
    Filed: June 4, 2007
    Publication date: December 4, 2008
    Inventors: Vincent E. Cavanna, Mark Gooch, John A. Wickeraad
  • Patent number: 7461200
    Abstract: A content addressable memory device (100) and method can have CAM blocks (102-0 to 102-29) organized in block sections (104-0 to 104-6). In an overlay mode of operation, an overlay engine (106) can access an algorithmic search (SPEAR) CAM (102-28 and 102-29) to generate overlay data set search keys (keyFIB<0> and <1>). Multiple data sets (e.g., FIB0, FIB1, ACL0) can be accommodated on the same CAM device by search key multiplexers (108-0 to 108-6) that selectively apply any of a number of data set search keys (keyACL<0>, keyFIB<0> and keyFIB<1>).
    Type: Grant
    Filed: September 23, 2004
    Date of Patent: December 2, 2008
    Assignee: Netlogic Microsystems, Inc.
    Inventors: Mark Birman, Ajay Srikrishna, Srinivasan Venkatachary
  • Publication number: 20080288721
    Abstract: An apparatus and method of transposing one or more bits in input data relative to other bits of the input data to form a comparand for searching in a content addressable memory. The comparand may have one or more bits rearranged from their order appearing in the input data such that one or more bits from a first segment of the input data are replaced with, or substituted by, one or more bits from a second segment of the input data.
    Type: Application
    Filed: July 7, 2008
    Publication date: November 20, 2008
    Inventors: Dimitri C. Argyres, Varadarajan Srinivasan
  • Publication number: 20080288720
    Abstract: A multi-wafer CAM cell in which the negative effects of increased travel distance have been substantially reduced is provided. The multi-wafer CAM cell is achieved in the present invention by utilizing three-dimensional integration in which multiple active circuit layers are vertically stack and vertically aligned interconnects are employed to connect a device from one of the stacked layers to another device in another stack layer. By vertically stacking multiple active circuit layers with vertically aligned interconnects, each compare port of the inventive CAM cell can be implemented on a separate layer above or below the primary data storage cell. This allows the multi-wafer CAM structure to be implemented within the same area footprint as a standard Random Access Memory (RAM) cell, minimizing data access and match compare delays.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jagreet S. Atwal, Joseph S. Barnes, Kerry Bernstein, Robert J. Bucki, Jason A. Cox
  • Patent number: 7453892
    Abstract: A system and method for policing one or more flows of a data stream of packets associated with differing transmission protocols. The current capacity level for each flow is determined, as is the packet protocol associated with each packet. A packet parameter in the packet that is indicative of the bandwidth consumption of the packet is identified. The packet parameter is converted to a predetermined format if the packet is not associated with a predetermined packet protocol. A common bandwidth capacity test is performed to determine whether the packet is conforming or non-conforming, and is a function of the packet parameter and the current bandwidth capacity level.
    Type: Grant
    Filed: February 16, 2005
    Date of Patent: November 18, 2008
    Assignee: SLT Logic, LLC
    Inventors: Glenn A. Buskirk, Rodolfo A. Santiago
  • Patent number: 7451267
    Abstract: A search engine method and apparatus can store and update status information for each entry of a content addressable memory (CAM) array, for a learn operation, or the like. A search engine can include a status memory block external to and independent of the CAM array. A status memory block (800) can include a number of memory sections (806-0 to 806-2) that each includes a number of bit locations for storing a free/not-free status of CAM entries in a hierarchical fashion. Corresponding control sections (808-0 to 808-2) can include priority encoders (812-0 to 812-2) that determine a first free element in a memory section for a next hierarchical level, as well as status aggregation logic (814-0 to 814-2) that can generate an aggregated status that is propagated to a previous hierarchical level.
    Type: Grant
    Filed: September 22, 2004
    Date of Patent: November 11, 2008
    Assignee: Netlogic Microsystems, Inc.
    Inventors: Srinivasan Venkatachary, Ajay Srikrishna, Jagadeesan Rajamanickam
  • Patent number: 7451268
    Abstract: A device comprises a plurality of interface circuits configured for communicating between a semantic processing unit and a memory and a selection circuit for selecting an interface circuit allocated to a semantic processing unit for processing a data operation request in the memory.
    Type: Grant
    Filed: July 13, 2005
    Date of Patent: November 11, 2008
    Assignee: Gigafin Networks, Inc.
    Inventors: Somsubhra Sikdar, Kevin Jerome Rowett, Hoai V. Tran, Jonathan Sweedler, Komal Rathi, Mike Davoudi
  • Publication number: 20080276039
    Abstract: A method and system for emulating content-addressable memory (CAM) primitives (e.g., a read operation) is disclosed. According to one embodiment, a method is provided for emulating a read operation on a plurality of CAM elements utilizing a read input including match input data and a CAM element selection index. In the described method, match reference data is distributed among a plurality of random-access memory (RAM) elements by storing match reference data corresponding to each of the plurality of CAM elements within a first RAM element of the plurality. Thereafter, a first record is identified within the first RAM element utilizing a first portion of the match input data and the CAM element selection index. A read operation result is then generated utilizing the first record.
    Type: Application
    Filed: February 27, 2008
    Publication date: November 6, 2008
    Inventors: Charles Edwin Cox, Jimmy Lee Reaves
  • Publication number: 20080270684
    Abstract: A content addressed storage device configured to maintain content address mapping is disclosed. A data object to be stored on the content addressed storage device and a local data object identifier by which the data object is known to the sending source are received from a sending source. A content address to be associated with the data object on the content addressed storage device is determined based at least in part on the contents of the data object. The data object is stored on the content addressed storage device in a storage location associated with the content address. A mapping that associates the local data object identifier with the content address is maintained on the content addressed storage device.
    Type: Application
    Filed: June 30, 2008
    Publication date: October 30, 2008
    Inventors: Richard Urmston, William McConnell
  • Patent number: 7444464
    Abstract: A content addressed storage device configured to maintain content address mapping is disclosed. A data object to be stored on the content addressed storage device and a local data object identifier by which the data object is known to the sending source are received from a sending source. A content address to be associated with the data object on the content addressed storage device is determined based at least in part on the contents of the data object. The data object is stored on the content addressed storage device in a storage location associated with the content address. A mapping that associates the local data object identifier with the content address is maintained on the content addressed storage device.
    Type: Grant
    Filed: November 8, 2004
    Date of Patent: October 28, 2008
    Assignee: EMC Corporation
    Inventors: Richard Urmston, William McConnell
  • Publication number: 20080263270
    Abstract: A content addressable memory device (100) and method can have CAM blocks (102-0 to 102-29) organized in block sections (104-0 to 104-6). In an overlay mode of operation, an overlay engine (106) can access an algorithmic search (SPEAR) CAM (102-28 and 102-29) to generate overlay data set search keys (keyFIB<0> and <1>). Multiple data sets (e.g., FIB0, FIB1, ACL0) can be accommodated on the same CAM device by search key multiplexers (108-0 to 108-6) that selectively apply any of a number of data set search keys (keyACL<0>, keyFIB<0> and keyFIB<1>).
    Type: Application
    Filed: June 23, 2008
    Publication date: October 23, 2008
    Inventors: Mark Birman, Ajay Srikrishna, Srinivasan Venkatachary
  • Publication number: 20080263269
    Abstract: A method and a computer readable medium having executable instructions are provided. The method and instructions when executed generates a first look-up key from a group of look-up key units stored in a data storage, generation of the first look up key being completed prior to the completion of a key generation processing cycle. A next look-up key unit from the group of look-up key units stored in the data storage may be skipped over when the next look up key corresponds to a second look-up key that has a key length equal to or smaller than a predetermined key length. A third look-up key unit may be selected from the group of look-up key units, the third look-up key unit associated with a third look-up key having a key length greater than a second predetermined key length, the second predetermined key length being greater than the first predetermined key length. The first look-up key and a portion of the third look-up key sequentially may be output during the same output processing cycle.
    Type: Application
    Filed: April 18, 2008
    Publication date: October 23, 2008
    Inventor: Aviran KADOSH
  • Patent number: 7441074
    Abstract: Methods and apparatus are disclosed for distributing entries among lookup units and selectively enabling less than all of the lookup units when performing a lookup operation. Each of the lookup units is assigned a subset of the possible values of the entries and is programmed with the corresponding entries. In performing a lookup operation on a lookup word, only the lookup units possibly containing a matching entry are enabled which saves power and dissipates less heat. A lookup operation is then performed in the enabled lookup units to generate the lookup result. A lookup unit may correspond to an associative memory device, an associative memory bank, sets of entries within one or more associative memory devices or banks, a lookup control and a memory device, and/or any other lookup mechanism. In one implementation, the partitioning of elements is based on a Patricia tree representation of the possible entries.
    Type: Grant
    Filed: August 10, 2002
    Date of Patent: October 21, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Rina Panigrahy, Samar Sharma
  • Patent number: 7436688
    Abstract: A priority encoder circuit can include a number of sectional encoder circuits that each encode “m” inputs signals into sets of “P” encoder outputs, where m>p. Each sectional encoder circuit can also output a group indication signal representing the activation of any of the received m encoding input signals. Priority encoder logic can prioritized the group indication signals. A memory can include a different storage location accessed by each prioritized group indication signal.
    Type: Grant
    Filed: May 8, 2006
    Date of Patent: October 14, 2008
    Assignee: Netlogic Microsystems, Inc.
    Inventor: Dinesh Maheshwari
  • Patent number: 7437501
    Abstract: A method and apparatus for parallelizing address-mapping and page referencing in a memory controller. The page referencing may apply an input address to two separate content addressable memory components along with masks from a configuration register identifying rank-bank bits, page status bits and non-column bits. The content addressable memories each determine if matching content is present generating a ‘hit’ or ‘miss.’ The hit and miss indicators are applied to combinational logic to determine whether to generate a CAS, RAS-CAS or PRE-RAS-CAS indicator.
    Type: Grant
    Filed: June 19, 2006
    Date of Patent: October 14, 2008
    Assignee: Intel Corporation
    Inventor: Sambaran Mitra
  • Patent number: 7433997
    Abstract: A computer-implemented method of realizing an associative memory capable of storing a set of documents and retrieving one or more stored documents similar to an inputted query document, said method comprising: coding each document or a part of it through a corresponding feature vector consisting of a series of bits which respectively code for the presence or absence of certain features in said document; arranging the feature vectors in a matrix; generating a query feature vector based on the query document and according to the rules used for generating the feature vectors corresponding to the stored document s such that the query vector corresponds in its length to the width of the matrix; storing the matrix column-wise; for those columns of the matrix where the query vector indicates the presence of a feature, bitwise performing one or more of preferably hardware supported logical operations between the columns of the matrix to obtain one or more additional result columns coding for a similarity measure betw
    Type: Grant
    Filed: October 3, 2005
    Date of Patent: October 7, 2008
    Assignee: BDGB Enterprise Software S.A.R.L.
    Inventors: Gannady Lapir, Harry Urbshat
  • Publication number: 20080244170
    Abstract: Intelligent allocation of programmable comparison operations may reduce the number of associative memory entries required for programming an associative memory (e.g., ternary content-addressable memory) with multiple matching definitions (e.g., access control list entries, routing information, etc.), which may be particularly useful in identifying packet processing operations to be performed on packets in a packet switching device. The higher-cost comparison operations, in terms of the number of associative memory entries required to natively support such operations, are allocated to one or more comparison evaluators (e.g., programmable logic and/or processing elements configured to evaluate one or more comparison operations) configured to evaluate an input value with one or more of the programmable comparison operations in order to generate and provide one or more values representing results of the evaluations to one or more associative memories for use in identifying the packet processing operations.
    Type: Application
    Filed: March 28, 2007
    Publication date: October 2, 2008
    Applicant: CISCO TECHNOLOGY, INC.
    Inventor: Ayaskanta Pani
  • Publication number: 20080239778
    Abstract: A hybrid dual match line circuit may include a hit match line coupled to a first group of load devices and a miss match line coupled to discharge through a second group of load devices. Both the hit and miss match lines may be configured to be precharged to an asserted state. Each of the second group of load devices may be activated for discharging by a respective miss signal. The hit match line may be additionally coupled to discharge through first and second discharge path respectively activated for discharging in response to a hit signal and a read/write enable signal. The hit and miss match lines may be electrically isolated from one another, such that when one or more of the respective miss signals are asserted, current from the hit match line does not discharge through the miss match line.
    Type: Application
    Filed: April 2, 2007
    Publication date: October 2, 2008
    Inventors: Shashank Shastry, Sagar V. Reddy, Ajay Bhatia
  • Publication number: 20080244169
    Abstract: A content addressable memory (CAM) is disclosed that includes a memory having a first port configured to write a 1-bit data to the memory and a second port configured to read and write N-bit data. To update the CAM, an N-bit zero data word is written to the second port at a first address A2 to erase N bits of the memory at address A2, then the first address A2 is combined with a data value A0 to form a second address A1. Finally, a value 1 is written to the first data port at the address A1. Reading the second port at the first address A2 will produce an N-bit data word having value 1 at bit position A0 and zeros at all other bit positions. The CAM may be configured in reconfigurable hardware using random access memory and used in a stream data interface circuit.
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: MOTOROLA, INC.
    Inventors: Linda M. Dawson, Sek M. Chai
  • Patent number: 7428611
    Abstract: Embodiments of the present invention are directed to a method and apparatus for receiving an input/output (I/O) request from a host computer that specifies an operation to be performed on a content addressable storage (CAS) system and determining which operation is specified by the request before receipt of the I/O request by a content addressable storage system. In another embodiment, an I/O request from a host computer is received by a first CAS which determines if the request is to be processed by another CAS system. When it is determined that the request is to be processed by another CAS system, the first CAS system may forward the request to the other CAS system. In another embodiment, an appliance receives an I/O request from a host computer to perform an operation that accesses a unit of content. The appliance may set up a communication session between the host and a CAS system so that the unit of content may be transmitted between the host and the CAS system without passing through the appliance.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: September 23, 2008
    Assignee: EMC Corporation
    Inventors: Stephen J. Todd, Michael Kilian
  • Publication number: 20080229154
    Abstract: A self-referencing redundancy scheme in a content addressable memory may use a faulty bit table, populated during manufacturing, to indicate, not only the address of all the defective memory locations, but also the data which they should hold. Then, during read out, a read out state machine may access the faulty bit table, determine the data the faulty location should have held, and write that faulty data onto latches associated with the faulty memory elements.
    Type: Application
    Filed: March 13, 2007
    Publication date: September 18, 2008
    Inventors: James I. Esteves, Richard E. Fackenthal
  • Publication number: 20080229008
    Abstract: A memory structure includes a plurality of address banks where each address bank is operative to store a memory address. In certain embodiments, at least two of the address banks share physical memory locations for at least one redundant most significant bit. Additionally, at least two of the address banks in certain embodiments share physical memory locations for at least one redundant most significant bit and at least one redundant least significant bit. At least two of the address banks in certain embodiments also share physical memory locations for at least one redundant interior bit.
    Type: Application
    Filed: March 16, 2007
    Publication date: September 18, 2008
    Inventor: Sujeet Ayyapureddi
  • Patent number: 7426608
    Abstract: A search key construction system including search key sections, each coupled to an output of a first multiplexer having a first programmable control, a second multiplexer having a second programmable control and an output coupled to the first multiplexer, and a third multiplexer having a third programmable control and an output coupled to the first multiplexer is disclosed. The first programmable control can include a key source select to enable one of a first type path, a second type path, and a third type path. The first type path can include a designated section position from a packet header, the second type path can include a short field from a packet attribute, and the third type field can include a long field from a packet header.
    Type: Grant
    Filed: February 27, 2004
    Date of Patent: September 16, 2008
    Assignee: RMI Corporation
    Inventor: Sophia W. Kao
  • Publication number: 20080222352
    Abstract: A method, system and program product for equitable sharing of a CAM (Content Addressable Memory) table among multiple users of a switch. The method includes reserving buffers in the table to be shared, the remaining buffers being allocated to each user. The method further includes establishing whether or not an address contained in a packet from a user is listed in a buffer in the table, if the address is listed, updating a time-to-live value for the buffer for forwarding the packet and, if the address is not listed, determining whether or not the user has exceeded its allocated buffers and whether or not the reserved buffers have been exhausted, such that, if the user has exceeded its allocated buffers and the reserved buffers have been exhausted, the address is not added to the table and the user is precluded from using any additional buffers in the network switch.
    Type: Application
    Filed: March 5, 2007
    Publication date: September 11, 2008
    Applicant: International Business Machines Corporation
    Inventors: Bruce Booth, Mark E. Goodgion, Atef O. Zaghloul, John H. Zeiger
  • Patent number: 7424571
    Abstract: A device performs lookup functions for a semantic processing unit. The device comprises a plurality of interface circuits for receiving data operation requests from the semantic processing unit. The device comprises a buffer for allocating an interface circuit to a semantic processing unit having a data operation request. A selection circuit, coupled between the plurality of interface circuits and a memory unit, selects an allocated circuit for accessing the memory unit to process the data operation request.
    Type: Grant
    Filed: July 13, 2005
    Date of Patent: September 9, 2008
    Assignee: Gigafin Networks, Inc.
    Inventors: Somsubhra Sikdar, Kevin Jerome Rowett, Hoai V. Tran, Jonathan Sweedler, Komal Rathi, Mike Davoudi
  • Patent number: 7421528
    Abstract: A method for address filtering is described. A host interface including device registers is provided. A user program is initiated for loading of data and control information respectively into a first data register and a control register of the device registers. Responsive to the loading, hardware is initiated for writing of information loaded into the first data register into a host interface register, where the first data register is associated with an address table configuration entry and the information includes read or write information and address information. Responsive to the read or write information and the address information, a multicast address is obtained from storage; a first portion of the multicast address is deposited into the first data register; and a second portion of the multicast address is deposited into a second data register.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: September 2, 2008
    Assignee: Xilinx, Inc.
    Inventors: Robert Yin, Hamish T. Fallside, Richard P. Burnley, Nicholas McKay, Martin B. Rhodes, Douglas M. Grant
  • Publication number: 20080209121
    Abstract: A technique is presented for implementing a content addressable memory (CAM) function using traditional memory, where the input data is serially loaded into a serial CAM. Various additions, which allow for predicting the result of a serial CAM access coincident with the completion of serially inputting the data are also presented.
    Type: Application
    Filed: May 1, 2008
    Publication date: August 28, 2008
    Inventor: Laurence Hager Cooke
  • Patent number: 7418466
    Abstract: A method and system thereof for identifying records are described. Records on a node are distinguished from other records on the node by assigning each record a unique local identifier. When a record is moved from one node to another node, a unique global identifier is assigned to the record. A translation technique is employed to map the local identifier to the global identifier (and vice versa).
    Type: Grant
    Filed: August 22, 2005
    Date of Patent: August 26, 2008
    Assignee: PalmSource, Inc.
    Inventor: William Leonard Mills
  • Patent number: 7418543
    Abstract: A content addressable memory (CAM) includes a linked list structure for a pending queue to order memory commands for maximizing memory channel bandwidth by minimizing read/write stalls due to read-modify-write commands.
    Type: Grant
    Filed: December 21, 2004
    Date of Patent: August 26, 2008
    Assignee: Intel Corporation
    Inventors: Sanjeev Jain, Gilbert M. Wolrich, Debra Bernstein
  • Publication number: 20080201435
    Abstract: A method and system for ordering addressees in address fields (141-143) is provided. The method includes entering a plurality of addresses in an address field (141-143) of a message; selecting an ordering policy (134); and ordering (132) the addresses in the address field (141-143) in accordance with the selected ordering policy. The ordering policy (134) may include general ordering policies such as alphabetical ordering, or flattering ordering in which the recipient's address is at the head of the address field. Weightings for individual addressees may be defined. Weightings may be absolute and/or relative to other addressees. An ordering policy (134) may be selected for each of the address fields “To:”, “Cc:”, and “Bcc:”.
    Type: Application
    Filed: February 20, 2007
    Publication date: August 21, 2008
    Inventors: Oded Dubovsky, Itzhack Goldberg, Ido Levy, Maya Shiran
  • Patent number: 7415731
    Abstract: One embodiment is directed to a method for use in a computer system comprising at least first and second computers, wherein the first provides content addressable storage. A request to access a unit of data stored by the first computer is issued by the second computer and received by the first. In one embodiment, the unit of data comprises a first identifier identifying at least one digital asset and metadata relating to the at least one digital asset, and the request identifies the unit of data via a second identifier based, at least in part, on the content of the unit of data. In another embodiment, a request to access a unit of data is sent from a second computer and received at a first computer and identifies the unit of data via a content identifier based, at least in part, on the content of the unit of data. The content identifier is the only identifier that can be used in communication between the first and second computers to identify the unit of data.
    Type: Grant
    Filed: July 19, 2004
    Date of Patent: August 19, 2008
    Assignee: EMC Corporation
    Inventors: Paul R. Carpentier, Jan F. Van Riel, Tom Teugels
  • Patent number: 7414872
    Abstract: A segmented search line circuit device for content addressable memory is provided. This device includes a content addressable memory and a segmented unit, wherein the content addressable memory has a plurality of cells arranged in an array and a search line connected between each pair of adjacent cells. Moreover, a first segmented unit is connected between the cells to divide the cells into a plurality of segments to search and between a pair of the adjacent segments to cut off the search lines between the pair of the adjacent segments. Because the circuit of this device is divided into a plurality of segments to search, the circuit of the search line driver need not be modified. As a result, this circuit device can diminish the loading capacitance of the search line driver and reduce the power consumption with the segmented search method.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: August 19, 2008
    Inventor: Jinn-Shyan Wang
  • Patent number: 7412568
    Abstract: Methods, apparatus, and systems are provided for caching. A caching process is automatically modified in response to update eligibility and an interference relation for a plurality of threads. Data is read into a cache, and a reference to the data is provided to a plurality of threads. An initial thread receives a signal from a last thread once the last thread has the reference to the data. The initial thread, in response to the signal, modifies the data and updates changes to the data within the cache and then sends another signal to a next thread, indicating that the next thread may now perform a volatile operation on the data within the cache.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: August 12, 2008
    Assignee: Intel Corporation
    Inventors: Jinquan Dai, Long Li
  • Patent number: 7412561
    Abstract: An apparatus and method of transposing one or more bits in input data relative to other bits of the input data to form a compound for searching in a content addressable memory. The comparand may have one or more bits rearranged from their order appearing in the input data such that one or more bits from a first segment of the input data are replaced with, or substituted by, one or more bits from a second segment of the input data.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: August 12, 2008
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Dimitri C. Argyres, Varadarajan Srinivasan
  • Publication number: 20080183958
    Abstract: Improved memory management is provided according to a Hierarchical Immutable Content Addressable Memory Processor (HICAMP) architecture. In HICAMP, physical memory is organized as two or more physical memory blocks, each physical memory block having a fixed storage capacity. An indication of which of the physical memory blocks is active at any point in time is provided. A memory controller provides a non-duplicating write capability, where data to be written to the physical memory is compared to contents of all active physical memory blocks at the time of writing, to ensure that no two active memory blocks have the same data after completion of the non-duplicating write.
    Type: Application
    Filed: January 25, 2008
    Publication date: July 31, 2008
    Inventor: David R. Cheriton
  • Patent number: 7406561
    Abstract: A data coding system that compresses data and enables data, e.g., prefix addresses, to be represented with significantly fewer memory cells when compared to conventional coding systems.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: July 29, 2008
    Inventor: Madian Somasundaram
  • Publication number: 20080177944
    Abstract: The present invention discloses a butterfly match-line structure and a search method implemented thereby, wherein the parallelism of the match lines is increased to shorten the search time, and a butterfly-type connection is used to reduce the power consumption and achieve the best energy efficiency. Via the butterfly-type connection, information can be reciprocally transmitted between the parallel match lines, which are independent originally. When a miss case occurs, more succeeding memory cells will not be compared but will be turned off. Thereby, the power consumption is reduced. Further, XOR-based conditional keepers are used to reduce the matching time and the power consumption. Besides, such a circuit is also used to shorten the delay time of the butterfly-type connection.
    Type: Application
    Filed: February 15, 2007
    Publication date: July 24, 2008
    Inventors: Po-Tsang Huang, Wei Hwang, Shu-Wei Chang
  • Patent number: 7403527
    Abstract: A structure and technique for preventing collisions using a hash table in conjunction with a CAM to identify and prevent collision of binary keys. A portion of the hash value of a binary key, which does not collide with a portion of the hash value of any other reference binary key, is used as an entry in the hash table. If two or more binary keys have identical values of the portions of the hash values, each of these binary keys are stored in their entirety, in the CAM. The key in the CAM provides a pointer to a data structure where the action associated with that binary key is stored. If the binary key is not found in the CAM, the binary key is hashed, and a specific entry in the hash table is selected using a portion of this hash value.
    Type: Grant
    Filed: October 5, 2007
    Date of Patent: July 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Gordon Taylor Davis, Andreas Guenther Herkersdorf, Clark Debs Jeffries, Mark Anthony Rinaldi
  • Patent number: 7403526
    Abstract: Disclosed are, inter alia, methods, apparatus, data structures, computer readable media, mechanisms, and means for partitioning and filtering a search space of particular use for determining a longest prefix match thereon, such as for routing packets. One implementation uses one or more filtering mechanisms to filter portions of a lookup word against a first set of lookup values, such as, but not limited to the value of any corresponding portion of any entry in the search space. A set of possible matching prefixes defined by consecutive matching portions of the lookup word from the highest-order position are determined, and lookup operations are typically performed in parallel on each of these possible matching prefixes to generate a set of matching results (if any), which is typically used to identify the longest matching prefix.
    Type: Grant
    Filed: May 17, 2004
    Date of Patent: July 22, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Xu Zou, Flavio Giovanni Bonomi
  • Publication number: 20080172524
    Abstract: Extended translation look-aside buffers (eTLB) for converting virtual addresses into physical addresses are presented, the eTLB including, a physical memory address storage having a number of physical addresses, a virtual memory address storage configured to store a number of virtual memory addresses corresponding with the physical addresses, the virtual memory address storage including, a set associative memory structure (SAM), and a content addressable memory (CAM) structure; and comparison circuitry for determining whether a requested address is present in the virtual memory address storage, wherein the eTLB is configured to receive an index register for identifying the SAM structure and the CAM structure, and wherein the eTLB is configured to receive an entry register for providing a virtual page number corresponding with the plurality of virtual memory addresses.
    Type: Application
    Filed: January 11, 2007
    Publication date: July 17, 2008
    Applicant: Raza Microelectronics, Inc.
    Inventors: Gaurav Singh, Dave Hass, Daniel Chen
  • Patent number: 7400520
    Abstract: In one embodiment, a CAM is provided that includes; a plurality of memory cells grouped to store a word, wherein the memory cells are organized into a plurality of ripple groups, each ripple group including a complex logic gate configured to determine whether a stored content for the ripple group's memory cells matches a corresponding portion of a comparand word if an enable input for the ripple group is asserted, each complex logic gate asserting an output if the determination indicates a match, the ripple groups being arranged from a first ripple group to a last ripple group such that the output from the first ripple group's complex logic gate functions as the enable input for a second ripple group's complex logic gate and so on such that an output from a next-to-last ripple group's complex logic gate functions as the enable input for the last ripple group's complex logic gate.
    Type: Grant
    Filed: May 10, 2006
    Date of Patent: July 15, 2008
    Assignee: Norvelics, LLC
    Inventors: Gil I. Winograd, Esin Terzioglu, Morteza Cyrus Afghahi
  • Patent number: 7401180
    Abstract: According to one embodiment, a content addressable memory (CAM) device (100) may include a number of segments (102 or 104). Search target compare circuits (110 and 112) can compare a target value TARGET to programmable information values (PIV0 and PIV1) associated with a particular segment (102 and 104). If a search target value TARGET matches a programmable information value (PIV0 and PIV1), search operations may be performed in a segment (102 or 104). If a search target value TARGET does not match a programmable information value, (PIV0 and PIV1), search operations may be prevented within a segment (102 or 104).
    Type: Grant
    Filed: October 4, 2002
    Date of Patent: July 15, 2008
    Assignee: Netlogic Microsystems, Inc.
    Inventors: David V. James, Jagadeesan Rajamanickam