TWI802980B - An apparatus for writing ternary content addressable memory devices and the related method - Google Patents
An apparatus for writing ternary content addressable memory devices and the related method Download PDFInfo
- Publication number
- TWI802980B TWI802980B TW110132730A TW110132730A TWI802980B TW I802980 B TWI802980 B TW I802980B TW 110132730 A TW110132730 A TW 110132730A TW 110132730 A TW110132730 A TW 110132730A TW I802980 B TWI802980 B TW I802980B
- Authority
- TW
- Taiwan
- Prior art keywords
- bus
- mask
- tcam
- column
- clock cycle
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
Landscapes
- Static Random-Access Memory (AREA)
- Read Only Memory (AREA)
Abstract
Description
本申請涉及存儲技術,以及更特別地,涉及用於寫入三態內容可尋址記憶體的方法及裝置。The present application relates to storage technology, and more particularly, to methods and apparatus for writing to tri-state content-addressable memory.
內容可尋址記憶體(Content-addressable memory,CAM)是一種專門為查找密集型應用設計的計算機記憶體。由於其並列特性,CAM在查找(search)方面比隨機存取記憶體(random access memory,RAM)架構快得多。CAM通常用在互聯網路由器和交換機中,它們可以提高路由查找、資料包(packet)分類和資料包轉發的速度。Content-addressable memory (CAM) is a type of computer memory designed specifically for search-intensive applications. Due to its parallel nature, CAM is much faster at searching than random access memory (RAM) architectures. CAMs are commonly used in Internet routers and switches to increase the speed of route lookup, packet classification, and packet forwarding.
三元/三態(Ternary)CAM,或TCAM,被設計為使用三種不同的輸入(0、1和X)來存儲和查詢資料。“X”輸入,通常被稱為“不關心(don't care)”或“通配符(wildcard)”狀態,使得TCAM能夠基於模式匹配執行更廣泛的查找,這與二元CAM截然不同,後者僅使用0和1執行精確的匹配查找。Ternary CAMs, or TCAMs, are designed to store and query data using three different inputs (0, 1, and X). The "X" input, often referred to as a "don't care" or "wildcard" state, enables TCAM to perform broader lookups based on pattern matching, as opposed to binary CAM, which only Use 0 and 1 to perform an exact match lookup.
本發明提供一種用於寫入三態內容可尋址記憶體(TCAM)的方法及裝置,其在單個的時鐘週期中執行包括寫入資料輸入和寫入掩碼的寫入操作,從而,通過增加執行寫入操作的速度顯著增強記憶體的適用性。The present invention provides a method and apparatus for writing a ternary content addressable memory (TCAM), which performs a write operation including a write data input and a write mask in a single clock cycle, thereby, by Increasing the speed at which write operations can be performed significantly increases memory availability.
一些實施例涉及一種用於寫入三態內容可尋址記憶體(TCAM)的裝置,該裝置包括三態內容可尋址記憶體(TCAM)和控制電路,該三態內容可尋址記憶體(TCAM)包括第一多列存儲單元(first plurality of rows of memory cells)和第二多列存儲單元(second plurality of rows of memory cells),第一多列存儲單元被配置為存儲多個相應的資料輸入;以及,第二多列存儲單元被配置為存儲多個相應的掩碼(mask);控制電路被配置為:在第一時鐘週期中將資料輸入寫入第一多列存儲單元的列(row)中,以及,在該第一時鐘週期中將掩碼寫入第二多列存儲單元的列中。Some embodiments relate to an apparatus for writing to a tri-state content-addressable memory (TCAM), the apparatus comprising a tri-state content-addressable memory (TCAM) and a control circuit, the tri-state content-addressable memory (TCAM) includes a first multi-column storage unit (first plurality of rows of memory cells) and a second multi-column storage unit (second plurality of rows of memory cells), and the first multi-column storage unit is configured to store a plurality of corresponding Data input; and, the second multi-column storage unit is configured to store a plurality of corresponding masks (mask); the control circuit is configured to: write the data input into the column of the first multi-column storage unit in the first clock cycle (row), and, during the first clock cycle, the mask is written into the columns of the second multi-column memory cell.
在一些實施例中,該控制電路被配置為:響應於該第一時鐘週期的第一邊沿而將該資料輸入寫入該第一多列存儲單元的列中,以及,還被配置為:響應於該第一時鐘週期的第二邊沿而將該掩碼寫入該第二多列存儲單元的列中。In some embodiments, the control circuit is configured to: write the data input into the columns of the first multi-column memory cells in response to the first edge of the first clock cycle, and is further configured to: respond to The mask is written into the columns of the second plurality of columns of memory cells on a second edge of the first clock cycle.
在一些實施例中,該第一多列存儲單元的列和該第二多列存儲單元的列共享公共地址。In some embodiments, the columns of the first multi-column memory unit and the columns of the second multi-column memory unit share a common address.
在一些實施例中,該第一多列存儲單元的列和該第二多列存儲單元的列彼此相鄰。In some embodiments, the columns of the first multi-column of memory cells and the columns of the second multi-column of memory cells are adjacent to each other.
在一些實施例中,該TCAM還包括第一總線和第二總線,以及,該控制電路被配置為:使用該第一總線將該資料輸入寫入該第一多列存儲單元的列中;以及,使用該第二總線將該掩碼寫入該第二多列存儲單元的列中。In some embodiments, the TCAM further includes a first bus and a second bus, and the control circuit is configured to: use the first bus to write the data input into a column of the first multi-column memory unit; and , using the second bus to write the mask into the columns of the second multi-column memory unit.
在一些實施例中,該控制電路還被配置為使用該第一總線在該第一多列存儲單元中查找關鍵字(key)。In some embodiments, the control circuit is further configured to use the first bus to look up a key in the first multi-column memory unit.
在一些實施例中,該控制電路還被配置為使用該第二總線在查找操作的期間掩碼該TCAM的一行或多行。In some embodiments, the control circuit is further configured to mask one or more rows of the TCAM during a seek operation using the second bus.
在一些實施例中,該TCAM還包括第一總線、第二總線和第三總線,以及,該控制電路被配置為:使用該第一總線將該資料輸入寫入該第一多列存儲單元的列中;使用該第二總線將該掩碼寫入該第二多列存儲單元的列中;以及,在查找操作的期間使用該第三總線掩碼該TCAM的一行或多行(column)。In some embodiments, the TCAM further includes a first bus, a second bus, and a third bus, and the control circuit is configured to: use the first bus to write the data input into the first multi-column memory unit using the second bus to write the mask into the columns of the second multi-column memory cell; and using the third bus to mask one or more columns of the TCAM during a lookup operation.
在一些實施例中,該控制電路還被配置為使用該第二總線在該第一多列存儲單元中查找關鍵字。In some embodiments, the control circuit is further configured to use the second bus to look up a key in the first multi-column of memory cells.
在一些實施例中,該控制電路還被配置為利用該第一總線在查找操作的期間掩碼該TCAM的一個或多個行。In some embodiments, the control circuit is further configured to mask one or more rows of the TCAM during a seek operation using the first bus.
一些實施例涉及一種用於寫入三態內容可尋址記憶體(TCAM)的方法,包括:在第一時鐘週期中,將資料輸入寫入第一多列存儲單元的列中,其中,該第一多列存儲單元被配置為存儲多個相應的資料輸入;以及, 在該第一時鐘週期中,將掩碼寫入第二多列存儲單元的列中,其中,該第二多列存儲單元被配置為存儲多個相應的掩碼。 Some embodiments relate to a method for writing to a ternary content addressable memory (TCAM), comprising: writing data input into a column of a first multi-column of memory cells during a first clock cycle, wherein the The first multi-column storage unit is configured to store a plurality of corresponding data inputs; and, During the first clock cycle, a mask is written to a column of a second multi-column of memory cells configured to store a plurality of corresponding masks.
在一些實施例中,寫入該資料輸入包括:響應於該第一時鐘週期的第一邊沿寫入該資料輸入;以及,寫入該掩碼包括:響應於該第一時鐘週期的第二邊沿寫入該掩碼。In some embodiments, writing the data input includes: writing the data input in response to a first edge of the first clock cycle; and writing the mask includes: responding to a second edge of the first clock cycle Write to this mask.
在一些實施例中,該第一多列存儲單元的列和該第二多列存儲單元的列彼此相鄰。In some embodiments, the columns of the first multi-column of memory cells and the columns of the second multi-column of memory cells are adjacent to each other.
在一些實施例中,寫入該資料輸入包括:利用第一總線寫入該資料輸入;以及,寫入該掩碼擴:利用第二總線寫入該掩碼。In some embodiments, writing the data input includes: writing the data input using a first bus; and writing the mask and: writing the mask using a second bus.
在一些實施例中,該方法還包括:利用該第一總線在該第一多列存儲單元中中查找關鍵字。In some embodiments, the method further includes: using the first bus to search for a key in the first multi-column storage unit.
在一些實施例中,該方法還包括:利用該第二總線在查找操作的期間掩碼該TCAM的一個或多個行。In some embodiments, the method further includes masking one or more rows of the TCAM during a seek operation using the second bus.
在一些實施例中,寫入該資料輸入包括:響應於該第一時鐘週期的第一邊沿寫入該資料輸入,以及,寫入該掩碼包括:在該第一邊沿的預定時間間隔後寫入該掩碼。In some embodiments, writing the data input includes: writing the data input in response to a first edge of the first clock cycle, and writing the mask includes: writing a predetermined time interval after the first edge into this mask.
本發明內容是通過示例的方式提供的,並非旨在限定本發明。在下面的詳細描述中描述其它實施例和優點。本發明由申請專利範圍限定。This summary is provided by way of example and is not intended to limit the invention. Other embodiments and advantages are described in the detailed description below. The present invention is limited by the scope of the patent application.
以下描述為本發明實施的較佳實施例。以下實施例僅用來例舉闡釋本發明的技術特徵,並非用來限制本發明的範疇。在通篇說明書及申請專利範圍當中使用了某些詞彙來指稱特定的組件。所屬技術領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同樣的組件。本說明書及申請專利範圍並不以名稱的差異來作為區別組件的方式,而係以組件在功能上的差異來作為區別的基準。本發明的範圍應當參考后附的申請專利範圍來確定。在以下描述和申請專利範圍當中所提及的術語“包含”和“包括”為開放式用語,故應解釋成“包含,但不限定於…”的意思。此外,術語“耦接”意指間接或直接的電氣連接。因此,若文中描述一個裝置耦接至另一裝置,則代表該裝置可直接電氣連接於該另一裝置,或者透過其它裝置或連接手段間接地電氣連接至該另一裝置。文中所用術語“基本”或“大致”係指在可接受的範圍內,所屬技術領域中具有通常知識者能夠解決所要解決的技術問題,基本達到所要達到的技術效果。舉例而言,“大致等於”係指在不影響結果正確性時,所屬技術領域中具有通常知識者能夠接受的與“完全等於”有一定誤差的方式。The following descriptions are preferred embodiments for implementing the present invention. The following examples are only used to illustrate the technical characteristics of the present invention, and are not intended to limit the scope of the present invention. Certain terms are used throughout the specification and claims to refer to particular components. It should be understood by those skilled in the art that manufacturers may use different terms to refer to the same component. This description and the scope of the patent application do not use the difference in name as the way to distinguish components, but the difference in function of the components as the basis for distinction. The scope of the present invention should be determined with reference to the appended claims. The terms "comprising" and "comprising" mentioned in the following description and scope of patent application are open-ended terms, so they should be interpreted as the meaning of "including, but not limited to...". Also, the term "coupled" means an indirect or direct electrical connection. Therefore, if it is described that a device is coupled to another device, it means that the device may be directly electrically connected to the other device, or indirectly electrically connected to the other device through other devices or connection means. The term "basically" or "approximately" used herein means that within an acceptable range, a person with ordinary knowledge in the technical field can solve the technical problem to be solved and basically achieve the technical effect to be achieved. For example, "approximately equal to" means that there is a certain error from "exactly equal to" that can be accepted by those with ordinary knowledge in the technical field without affecting the correctness of the result.
隨著諸如人工智能、資料庫和網絡交換之類的現代應用驅動對網絡帶寬的不斷增加的需求,對高速記憶體的需求不斷增加,特別地,對高速TCAM的需求增加。TCAM的架構使其特別適用於計算機網絡設備,例如,交換機和路由器。雖然近年來TCAM的運列速度有了顯著提高,但仍然不足以滿足某些網絡應用的要求。As modern applications such as artificial intelligence, databases, and network switching drive ever-increasing demands on network bandwidth, there is an increasing need for high-speed memory, and in particular, high-speed TCAM. The architecture of TCAM makes it particularly suitable for computer network equipment, such as switches and routers. Although the operation speed of TCAM has been significantly improved in recent years, it is still not enough to meet the requirements of some network applications.
申請人認識到,在TCAM處增加執行寫入操作(write operation)的速度將顯著增強這些類型的記憶體的適用性。因此,本發明提出了一種TCAM架構,其被設計為提高(increase)寫入操作的速度。本發明提出的TCAM架構被設計為在單個的時鐘週期(single clock cycle)中執行寫入操作,該寫入操作包括資料(data)寫入和掩碼(mask)寫入。在一些實施例中,例如,在時鐘週期的第一部分的期間,資料輸入(data input)被寫入到TCAM條目(entry)的資料列(data row)中,以及,在同一時鐘週期的第二部分的期間,掩碼被寫入到TCAM條目的掩碼列(mask row)中。Applicants have recognized that increasing the speed at which write operations are performed at the TCAM will significantly enhance the applicability of these types of memories. Therefore, the present invention proposes a TCAM architecture designed to increase the speed of write operations. The TCAM architecture proposed by the present invention is designed to perform a write operation in a single clock cycle (single clock cycle), and the write operation includes data (data) write and mask (mask) write. In some embodiments, for example, during the first part of the clock cycle, the data input (data input) is written to the data column (data row) of the TCAM entry (entry), and, during the second part of the same clock cycle During part of the period, the mask is written to the mask column (mask row) of the TCAM entry.
本發明的一些實施例涉及一種TCAM架構,在該架構中,第一總線同時用於資料寫入(data write)和關鍵字查找(key search)的操作,以及,第二總線同時用於掩碼寫入(mask write)和查找掩碼(search masking)的操作。在寫入操作的期間,第一總線將資料輸入傳送到TCAM條目的資料列(data row),以及,在該相同時鐘週期的期間,第二總線將掩碼(稱為“局部掩碼(local mask)”)傳送到TCAM條目的相應掩碼列(mask row)。在查找操作的期間,第一總線將要被查找的關鍵字(key)傳送至TCAM,以及,第二總線傳送用於掩碼該關鍵字查找的位元(這些位元稱為“行掩碼(column mask)”)。對關鍵字查找進行掩碼涉及結果返回(以匹配或不匹配的形式),其獨立於被掩碼的行(column)的值。例如,當掩碼的特定位元被斷言(asserted)時,TCAM的相應行被掩碼,這意味著無論該特定行是否產生匹配,記憶體都能夠返回匹配結果。Some embodiments of the present invention relate to a TCAM architecture in which a first bus is used for both data write and key search operations, and a second bus is used for masking Write (mask write) and search masking (search masking) operations. During a write operation, the first bus transfers the data input to the data row of the TCAM entry, and, during this same clock cycle, the second bus transfers the mask (called the "local mask (local mask) mask)") to the corresponding mask row of the TCAM entry. During a lookup operation, the first bus transmits the key to be looked up (key) to the TCAM, and the second bus transmits the bits used to mask the key lookup (these bits are called the "row mask ( column mask)"). Masking a keyword lookup involves returning results (as matched or not matched), independent of the value of the masked row (column). For example, when a particular bit of the mask is asserted, the corresponding row of the TCAM is masked, meaning that the memory is able to return a match whether or not that particular row produced a match.
可選地,其它的配置也是可行的,例如,第一總線用於資料寫入和查找掩碼操作,以及,第二總線用於掩碼寫入和關鍵字查找操作。具體地,本發明不做限制。Optionally, other configurations are also possible, for example, the first bus is used for data writing and lookup mask operations, and the second bus is used for mask writing and key lookup operations. Specifically, the present invention is not limited.
其它實施例涉及一種TCAM架構,在該TCAM架構中,第一總線用於資料寫入和關鍵字查找操作,第二總線用於掩碼寫入操作,以及,第三總線用於查找掩碼操作。在寫入操作的期間,第一總線將資料輸入傳送到TCAM條目的資料列,以及,在該相同時鐘週期的期間,第二總線將掩碼(被稱為“局部掩碼”)傳送到TCAM條目的相應掩碼列。在查找操作的期間,第一總線將要被查找的關鍵字傳送到TCAM,以及,第三總線傳送用於掩碼關鍵字查找的位元(這些位元可以稱為“行掩碼(column mask)”)。其它配置也是可行的。例如,可以利用第二總線代替第一總線進行關鍵字查找操作。Other embodiments relate to a TCAM architecture in which a first bus is used for data write and key lookup operations, a second bus is used for mask write operations, and a third bus is used for lookup mask operations . During a write operation, the first bus transfers the data input to the data column of the TCAM entry, and, during this same clock cycle, the second bus transfers the mask (called the "local mask") to the TCAM The corresponding mask column for the entry. During a lookup operation, the first bus transmits the key to be looked up to the TCAM, and the third bus transmits the bits used to mask the key lookup (these bits may be referred to as "column masks"). "). Other configurations are also possible. For example, the second bus may be used instead of the first bus to perform keyword search operations.
第1A圖根據一些實施例示出了TCAM。TCAM包括按列(row)和行(column)排列的存儲單元陣列。每個單元包括靜態隨機存取記憶體(static random access memory,SRAM),替代地或附加地,可以使用其它類型的記憶體。TCAM具有多個行(0、1、2、3、…、n-1、n)和多個列(0、1…、2 m-1)。每列包括一對子列(其包括第一子列和第二子列)。第一子列(“資料列(data row)”)用於存儲資料,以及,第二子列(“掩碼列(mask row)”)用於存儲掩碼。資料位元(data bit)由字母“X”標識,以及,掩碼位元(mask bit)由字母“Y”標識。公共(common)TCAM條目的資料列和掩碼列在TCAM中彼此相鄰。例如,對於第一TCAM條目,其包括第一資料列(如資料列0)和與第一資料列相鄰的第一掩碼列(掩碼列0),第二TCAM條目包括第二資料列(如資料列1)和與第二資料列相鄰的第二掩碼列(掩碼列1)。在一些實施例中,公共TCAM條目(common TCAM entry)的資料列和掩碼列共享公共的(common)記憶體地址,從而將尋址整個記憶體所需的位元數量減少了一個單位。例如,單個TCAM條目的資料列和與該資料列相對應的掩碼列共享公共的記憶體地址,舉例來說,該公共的記憶體地址可指向該TCAM條目中的資料列,以及,在該公共的記憶體地址的基礎上偏移預設量的地址可指向該TCAM條目中的相應掩碼列。 Figure 1A illustrates a TCAM, according to some embodiments. The TCAM includes an array of memory cells arranged in columns (row) and rows (column). Each cell includes static random access memory (SRAM), alternatively or additionally other types of memory may be used. A TCAM has a number of rows (0, 1, 2, 3, . . . , n-1, n) and a number of columns (0, 1 . . . , 2 m-1 ). Each column includes a pair of sub-columns (which includes a first sub-column and a second sub-column). The first sub-column ("data row") is used to store the data, and the second sub-column ("mask row") is used to store the mask. A data bit is identified by the letter "X", and a mask bit is identified by the letter "Y". The data column and mask column of a common (common) TCAM entry are adjacent to each other in the TCAM. For example, for the first TCAM entry, it includes the first data row (such as data row 0) and the first mask row (mask row 0) adjacent to the first data row, and the second TCAM entry includes the second data row (such as data column 1) and a second mask column (masked column 1) adjacent to the second data column. In some embodiments, the data column and mask column of a common TCAM entry (common TCAM entry) share a common memory address, thereby reducing the number of bits required to address the entire memory by one unit. For example, the data row of a single TCAM entry and the mask row corresponding to the data row share a common memory address, for example, the common memory address can point to the data row in the TCAM entry, and, in the An address offset by a preset amount based on the common memory address may point to the corresponding mask column in the TCAM entry.
每個局部掩碼包含多個位元。每個局部掩碼位元的值決定了相應的資料位元是否被掩碼。根據一些實施例,局部掩碼操作的代表性邏輯在第1B圖的表中示出。在本示例中,當資料被設置為1且局部掩碼被設置為0時,特定位元的狀態為1。相反,當資料被設置為0且局部掩碼被設置為1時,特定位元的狀態為0。當該局部掩碼和資料都被設置為1時,對應資料位元的狀態為“不關心(don't care)”。最後,局部掩碼和資料都被設置為0的組合是不受支持的。應當理解,除第1B圖中描繪的邏輯之外的其他邏輯也可以被使用,因為位元掩碼不限於任何特定的邏輯。Each partial mask consists of a number of bits. The value of each partial mask bit determines whether the corresponding data bit is masked or not. Representative logic for partial masking operations is shown in the table of Figure 1B, according to some embodiments. In this example, the state of a particular bit is 1 when the data is set to 1 and the local mask is set to 0. Conversely, when the data is set to 0 and the partial mask is set to 1, the state of the particular bit is 0. When both the local mask and the data are set to 1, the state of the corresponding data bit is "don't care". Finally, combinations where both the local mask and profile are set to 0 are not supported. It should be understood that other logic than that depicted in FIG. 1B may also be used, as the bitmask is not limited to any particular logic.
第2A圖是根據一些實施例示出的TCAM架構的方框示意圖。該架構包括控制電路200和TCAM 202。TCAM 202可以根據第1A圖中所示的示意圖來佈置。該架構旨在提高相對於先前實現的寫入TCAM操作的速度。更具體地說,該架構旨在在單個的時鐘週期中寫入資料輸入和局部掩碼。例如,在同一個時鐘週期中,資料輸入可以被寫入至資料列0,以及,局部掩碼被寫入至掩碼列0。TCAM的總線被設置為支持單個時鐘週期中的資料輸入和掩碼的寫入操作。如第2A圖所示,控制電路200使用以下總線與TCAM 202進行通信:CLK、A、SDI、DI、MASKB、CS、WE、RD、SR和SCU。Figure 2A is a block schematic diagram of a TCAM architecture according to some embodiments. The architecture includes a
控制電路200經由總線CLK向TCAM 202提供時鐘。總線A(memory address,記憶體地址)被用來提供用於寫入和讀取操作的地址。例如,在寫入操作的期間,如果總線A指示第5列,則對第5列執行寫入操作。類似地,在讀取操作的期間,如果總線A指示第5列,則TCAM返回第5列的內容。The
總線SDI用於寫入和查找操作這兩者。在寫入操作的期間,總線DI攜帶要被寫入至總線A標識的資料列的資料輸入,以及,總線SDI攜帶要被寫入至總線A標識的掩碼列的局部掩碼。在查找操作的期間,總線SDI攜帶要被在整個TCAM中查找的關鍵字。Bus SDI is used for both write and seek operations. During a write operation, bus DI carries the data input to be written to the data column identified by bus A, and bus SDI carries the local mask to be written to the mask column identified by bus A. During a lookup operation, the bus SDI carries the key to be looked up in the entire TCAM.
總線MASKB用在查找操作的期間。特別地,總線MASKB包括行掩碼位元(column mask bits),其標識在查找期間要被掩碼的那些行以及不被掩碼的那些行。The bus MASKB is used during seek operations. In particular, bus MASKB includes column mask bits that identify which rows are to be masked and which are not to be masked during lookup.
總線SCU(single cyle update,單週期更新)用於啟用(enable)單時鐘週期操作,例如,當SCU設置為1時,記憶體以單時鐘週期模式進行操作(可以理解地,相反的邏輯也是可行的)。總線CS(chip select,芯片選擇)被用來從一組多個TCAM芯片中選擇特定的TCAM芯片。當其設置為1時,總線CS啟用在特定TCAM芯片上的操作(可以理解地,相反的邏輯也是可能的)。總線WE(memory write,記憶體寫入)用於啟用寫入操作(在一些實施例中,具有相對於SCU的相反值)。例如,當WE為0時,單時鐘週期寫入操作被啟用,當WE為1時,單時鐘週期寫入操作被禁用(相反的邏輯也是可行的,具體地,本發明對此不做限制)。總線SR被用來啟用查找操作。例如,當SR為1時,啟用查找操作,當SR為0時,禁用查找操作(相反的邏輯也是可行的,本發明對此不做限制)。總線RD用於啟用讀取操作。例如,當RD為1時,讀取操作被啟用,當RD為0時,讀取操作被禁用(相反的邏輯也是可行的,本發明對此不做限制)。The bus SCU (single cyle update, single cycle update) is used to enable (enable) single clock cycle operation, for example, when SCU is set to 1, the memory operates in single clock cycle mode (understandably, the opposite logic is also possible of). The bus CS (chip select, chip select) is used to select a specific TCAM chip from a group of multiple TCAM chips. When it is set to 1, bus CS enables operation on a particular TCAM chip (understandably, the reverse logic is also possible). The bus WE (memory write) is used to enable write operations (in some embodiments, with the opposite value relative to SCU). For example, when WE is 0, the single clock cycle write operation is enabled, and when WE is 1, the single clock cycle write operation is disabled (the opposite logic is also feasible, specifically, the present invention does not limit this) . Bus SR is used to enable seek operations. For example, when the SR is 1, the search operation is enabled, and when the SR is 0, the search operation is disabled (the opposite logic is also feasible, and the present invention does not limit this). Bus RD is used to enable read operations. For example, when RD is 1, the read operation is enabled, and when RD is 0, the read operation is disabled (the opposite logic is also feasible, and the present invention is not limited to this).
輸出總線DO用於在讀取操作的期間返回總線A標識的列的內容。輸出總線HIT用於在查找操作的期間返回已識別出匹配項的列的地址。Output bus DO is used to return the contents of the column identified by bus A during a read operation. The output bus HIT is used during a lookup operation to return the address of the column for which a match has been identified.
第2B圖根據一些實施例示出了TCAM 202的非限制性實現的示意圖。在該實施方式中,TCAM 202包括觸發器(flip-flop)250(如DI輸入鎖存器)、252(如SDI輸入觸發器)和254(如MASKB輸入鎖存器)、邏輯單元(logic unit)256和258、多工器(multiplexer)260和262、控制單元264和TCAM行270(特別地,TCAM陣列中的其中一行),其包括如第1A圖所示佈置的SRAM(或其它類型的記憶體)。TCAM 202通過總線DI、SDI、MASKB、CLK、WE、SCU和A(如結合第2A圖所討論的)接收信號。Figure 2B shows a schematic diagram of a non-limiting implementation of
觸發器250接收總線DI的信號(例如,資料,圖中示意為“Data(X-word)”)作為輸入,觸發器252接收總線SDI的信號(例如,掩碼,圖中示意為“Mask(Y-word)”)作為輸入,以及,觸發器254接收總線MASKB的信號(例如,在查找操作(during search)期間的全局掩碼(global mask))作為輸入。時鐘CLK定時(time)觸發器的操作。觸發器250的輸出作為輸入分別提供給多工器260和262。觸發器252的輸出作為輸入分別提供給邏輯單元256和258。邏輯單元的狀態由觸發器254的輸出控制。總線SCU的信號指示是否要進行單時鐘寫入操作(single-clock write operation),從而,在指示單時鐘寫入操作的情形中(例如,如果總線SCU被斷言),在同一時鐘週期中寫入資料輸入和掩碼這兩者。然而,如果總線SCU未被斷言,則根據常規方案執行寫入操作,從而,在單獨的時鐘週期中寫入資料輸入和相應的掩碼。在這種情況下,SCU啟用多工器260和262。總線A的信號指示將被寫入或讀取的TCAM條目的地址。對於常規寫入,當WE為1時,多工器260和262在整個時鐘週期間選擇DI總線上的資料(多工器上的輸入S1被選擇)。在單時鐘週期寫入的過程中,多工器上的ENB信號在同一時鐘週期中根據定時信號切換,從而在相同周期內選擇S1或S2作為多工器上的輸入。邏輯單元256和258僅在查找操作的期間被使用。在寫入操作的期間,邏輯單元256和258饋通觸發器252的輸出。總線MASKB用於在查找操作的期間掩碼特定行上的資料。The flip-
第2C圖根據一些實施例示出了代表寫入操作的序列。該圖示出了總線CLK、SCU(Single Cyle Update,單週期更新)、CS(Chip Select,芯片選擇)、WE(memory write,記憶體寫入)、A(memory address,記憶體地址)、DI、SDI和MASKB的信號之間的關係。當信號CS設置為1時,信號CS表示該TCAM芯片已被選中。當信號SCU設置為1且信號WE設置為0時,將執行單時鐘寫入。相反,當信號SCU設置為0且信號WE設置為1時,將執行多時鐘寫入。Figure 2C illustrates a sequence representative of a write operation, according to some embodiments. The figure shows the bus CLK, SCU (Single Cyle Update, single cycle update), CS (Chip Select, chip selection), WE (memory write, memory write), A (memory address, memory address), DI , the relationship between the signals of SDI and MASKB. When the signal CS is set to 1, the signal CS indicates that the TCAM chip has been selected. When signal SCU is set to 1 and signal WE is set to 0, a single clock write is performed. Conversely, when the signal SCU is set to 0 and the signal WE is set to 1, a multi-clock write will be performed.
信號A提供將被寫入的列的地址(圖中標註為“TCAM Address”)。在本示例中,地址(以十六進製表示)為“000”。信號DI的內容代表將被寫入至尋址TCAM資料列的資料輸入(圖中標註為“Data/X”)。在這個例子中,DI的內容是“aaaaa”。信號SDI的內容代表將被寫入至尋址TCAM掩碼列的掩碼(圖中標註為“Mask/Y”)。在本示例中,SDI的內容為“55555”。在這個序列中,DI的內容和SDI的內容都是在同一個時鐘週期中寫入的(即單時鐘寫入)。在寫入操作的期間,不考慮信號MASKB(本示例中為“fffff”)的內容。Signal A provides the address of the column to be written (labeled "TCAM Address" in the figure). In this example, the address (in hex) is "000". The content of the signal DI represents the data input (marked as "Data/X" in the figure) to be written into the addressed TCAM data row. In this example, the content of DI is "aaaaa". The content of signal SDI represents the mask to be written into the addressed TCAM mask column (labeled "Mask/Y" in the figure). In this example, the content of SDI is "55555". In this sequence, the content of DI and the content of SDI are both written in the same clock cycle (i.e. single clock write). During the write operation, the content of signal MASKB ("fffff" in this example) is not considered.
第3A圖是根據一些實施例說明另一TCAM架構的方框示意圖。類似於第2A圖的架構,該架構還設計為在單個時鐘週期中寫入資料輸入和掩碼。然而,該架構比第2A圖的架構涉及更少的總線,從而降低了電路複雜度。FIG. 3A is a block diagram illustrating another TCAM architecture according to some embodiments. Similar to the architecture of Figure 2A, this architecture is also designed to write the data inputs and masks in a single clock cycle. However, this architecture involves fewer busses than that of Figure 2A, thereby reducing circuit complexity.
該架構包括控制電路300和TCAM 302。TCAM 302可以根據第1A圖中所示的示意圖進行佈置。TCAM的總線被安排為支持單個時鐘週期中的資料輸入和掩碼的寫入操作。如第3A圖所示,控制電路300使用以下總線與TCAM 302通信:CLK、A、SDI、MASKB、CS、WE、RD、SCU和SR。應該注意的是,與第2A圖的例子不同,該架構不包括總線DI。在這種架構中,總線SDI和MASKB都具有雙重功能(dual function)。在單時鐘週期寫入操作的期間,總線SDI攜帶(carry)將被寫入的資料輸入,以及,MASKB攜帶將被寫入的局部掩碼。在查找操作的期間,總線SDI攜帶要被查找的關鍵字,而MASKB攜帶行掩碼位元,其標識哪些行將被掩碼(可選地,總線MASKB可以攜帶要被查找的關鍵字,以及,SDI攜帶標識哪些行被掩碼的掩碼位,具體地,本發明不做限制)。本質上,SDI和MASKB都被以時分複用方式使用。總線CLK、A、CS、WE、RD、SCU和SR具有如第2A圖描述的相同功能。輸出總線DO和HIT也具有如第2A圖描述的相同功能。The architecture includes a
第3B圖根據一些實施例示出了TCAM 302的非限制性實現的示意圖。在該實施方式中,TCAM 302包括觸發器350、352和354、邏輯單元346、348、356和358、多工器360和362、控制單元364和TCAM行370。例如,TCAM陣列370可以包括如第1A圖所示排列的SRAM(或其它類型的記憶體)。TCAM 302通過總線SDI、MASKB、CLK、WE、SCU和A(如結合第3A圖所討論的)接收信號。Figure 3B shows a schematic diagram of a non-limiting implementation of
邏輯單元346接收總線SDI的信號作為輸入,以及,邏輯單元348接收總線MASKB的信號作為輸入。總線SCU的信號指示是否在單個時鐘週期中執行包括寫入資料輸入和掩碼的寫入操作。在此示例中,SCU控制邏輯單元346和348的狀態。
觸發器350接收總線SDI的信號作為輸入,觸發器352接收邏輯單元346的輸出作為輸入,以及,觸發器354接收邏輯單元348的輸出作為輸入。時鐘CLK定時觸發器的操作。觸發器350的輸出分別提供給多工器360和362作為輸入。觸發器352的輸出分別提供給邏輯單元356和358作為輸入。邏輯單元356和358的狀態由觸發器354的輸出控制。總線A的信號指示將被寫入或讀取的TCAM的列的地址。在寫入操作的期間,總線WE的信號被斷言(asserted),這使得多工器360和362能夠用於寫入操作。在寫入操作的期間,控制單元364使能寫入至TCAM陣列370,以及,觸發器的輸出通過電晶體366和368寫入至TCAM陣列。總線A的信號確定將被寫入的列的地址。在查找操作的期間,邏輯單元356和358根據MASKB的相應掩碼位元的值掩碼特定列的查找。Flip-
第3C圖根據一些實施例說明與第3A圖的架構有關的代表寫入操作的序列。該圖說明了總線CLK、SCU、WE、A、SDI和MASKB的信號之間的關係。當SCU設置為1,CS設置為1,以及,WE設置為0時,將在該TCAM芯片中執行單時鐘週期的寫入操作。Figure 3C illustrates a sequence of representative write operations related to the architecture of Figure 3A, according to some embodiments. This figure illustrates the relationship between the signals of the buses CLK, SCU, WE, A, SDI and MASKB. When SCU is set to 1, CS is set to 1, and WE is set to 0, a write operation of a single clock cycle will be performed in the TCAM chip.
信號A提供將被寫入的列的地址。信號SDI的內容表示將被寫入至尋址TCAM資料列的資料輸入。信號MASKB的內容表示將被寫入至尋址TCAM掩碼列的局部掩碼。在這個序列中,SDI的內容和MASKB的內容都在單個的時鐘週期中被寫入。Signal A provides the address of the column to be written. The content of signal SDI represents the data input to be written to the addressed TCAM row. The content of signal MASKB indicates the local mask to be written to the addressed TCAM mask column. In this sequence, both the contents of SDI and the contents of MASKB are written in a single clock cycle.
如上所述,根據本申請,可以使用不同的架構來實現TCAM。不管使用的具體架構如何,這裡描述的TCAM被配置為在相同的時鐘週期中執行資料寫入和掩碼寫入。在一些實施例中,在時鐘週期的第一部分中執行資料寫入,以及,在相同時鐘週期的第二部分中執行掩碼寫入(可以理解地,相反的順序也是可行的,本發明對此不做任何限制)。例如,資料寫入可由時鐘週期的第一邊沿(上升沿或下降沿)觸發,而掩碼寫入可由相同時鐘週期的第二邊沿觸發。在一些實施例中,解碼器被用來以這種方式啟用寫入操作。As mentioned above, according to the present application, different architectures can be used to realize TCAM. Regardless of the specific architecture used, the TCAM described here is configured to perform data writes and mask writes in the same clock cycle. In some embodiments, the data write is performed in a first part of a clock cycle, and the mask write is performed in a second part of the same clock cycle (it will be understood that the reverse order is also possible, and the present invention without any restrictions). For example, data writing can be triggered by the first edge (rising or falling) of a clock cycle, while mask writing can be triggered by the second edge of the same clock cycle. In some embodiments, a decoder is used to enable write operations in this manner.
第4A圖根據一些實施例描繪了示例性的解碼器。在該示例中,TCAM陣列如第1A圖所討論的那樣佈置。每列(無論是資料列還是掩碼列)都耦接到輸入寄存器(圖中標記為“WLDRV”)。控制信號XPZ_EN_EVEN和XPZ_EN_ODD用於控制寄存器將其各自內容傳送到TCAM的列的時序。解碼器(圖中標記為“XDECODER”),用於選擇將被更新的TCAM條目。根據地址總線A的值,選擇適當的WLDRV,然後,根據XPZ_EN_ODD或XPZ_EN_EVEN的狀態,使用該WLDRV啟用奇數或偶數WL總線。在輸入總線SDI和MASKB中接收到的資料通過信號BL/BLB發送。根據一些實施例,這些控制信號的例子示於第4B圖中。在這個例子中,控制信號XPZ_EN_EVEN和XPZ_EN_ODD具有與時鐘CLK相同的頻率。此外,控制信號XPZ_EN_EVEN和XPZ_EN_ODD相對於彼此是相位偏移的(phase-shifted)。控制信號XPZ_EN_EVEN的邊沿(例如,上升沿)觸發資料寫入至特定資料列。類似地,控制信號XPZ_EN_ODD的邊沿(例如,緊跟在XPZ_EN_EVEN的觸發上升沿之後的上升沿)觸發局部掩碼寫入至相應的(例如,相鄰)掩碼列。Figure 4A depicts an exemplary decoder, according to some embodiments. In this example, the TCAM array is arranged as discussed in Figure 1A. Each column (whether data or mask) is coupled to an input register (labeled "WLDRV" in the diagram). The control signals XPZ_EN_EVEN and XPZ_EN_ODD are used to control the timing at which the registers transfer their respective contents to the columns of the TCAM. Decoder (labeled "XDECODER" in the figure), used to select the TCAM entries to be updated. Depending on the value of address bus A, the appropriate WLDRV is selected and then used to enable the odd or even WL bus depending on the state of XPZ_EN_ODD or XPZ_EN_EVEN. The material received on the input buses SDI and MASKB is sent on the signal BL/BLB. Examples of these control signals are shown in Figure 4B, according to some embodiments. In this example, the control signals XPZ_EN_EVEN and XPZ_EN_ODD have the same frequency as the clock CLK. Furthermore, the control signals XPZ_EN_EVEN and XPZ_EN_ODD are phase-shifted relative to each other. The edge (for example, rising edge) of the control signal XPZ_EN_EVEN triggers data writing into a specific data column. Similarly, an edge of the control signal XPZ_EN_ODD (eg, the rising edge immediately following the triggering rising edge of XPZ_EN_EVEN) triggers writing of the partial mask to the corresponding (eg, adjacent) mask column.
在申請專利範圍中使用諸如“第一”,“第二”,“第三”等序數術語來修改申請專利要素,其本身並不表示一個申請專利要素相對於另一個申請專利要素的任何優先權、優先級或順序,或執行方法動作的時間順序,但僅用作標記,以使用序數詞來區分具有相同名稱的一個申請專利要素與具有相同名稱的另一個元素要素。The use of ordinal terms such as "first", "second", "third", etc. in a claim to modify a claimed element does not in itself indicate any priority of one claimed element over another claimed element , priority or order, or chronological order in which method actions are performed, but are used only as markers to use ordinal numbers to distinguish one patentable element having the same name from another element element having the same name.
雖然已經對本發明實施例及其優點進行了詳細說明,但應當理解的係,在不脫離本發明的精神以及申請專利範圍所定義的範圍內,可以對本發明進行各種改變、替換和變更,例如,可以通過結合不同實施例的若干部分來得出新的實施例。所描述的實施例在所有方面僅用於說明的目的而並非用於限制本發明。本發明的保護範圍當視所附的申請專利範圍所界定者為准。所屬技術領域中具有通常知識者皆在不脫離本發明之精神以及範圍內做些許更動與潤飾。Although the embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made to the present invention without departing from the spirit of the present invention and within the scope defined by the patent scope of the application, for example, New embodiments can be obtained by combining parts of different embodiments. The described embodiments are in all respects for the purpose of illustration only and are not intended to limit the invention. The scope of protection of the present invention should be defined by the scope of the appended patent application. Those skilled in the art can make some changes and modifications without departing from the spirit and scope of the present invention.
200,300:控制電路 202,302:TCAM 250,252,254,350,352,354:觸發器 256,258,346,348,356,358:邏輯單元 260,262,360,362:多工器 264,364:控制單元 270,370:TCAM行 366,368:電晶體 200,300: control circuit 202,302: TCAM 250,252,254,350,352,354: triggers 256,258,346,348,356,358: logic unit 260,262,360,362: multiplexer 264,364: Control unit 270,370: TCAM row 366,368: Transistor
通過閱讀後續的詳細描述和實施例可以更全面地理解本發明,該實施例參照附圖給出。 第1A圖是根據一些實施例示出的一種三態內容可尋址記憶體(TCAM)的方框示意圖。 第1B圖是根據一些實施例的示意表,其可用於確定第1A圖的TCAM的狀態。 第2A圖是根據一些實施例示出的TCAM架構的方框示意圖。 第2B圖是根據一些實施例示出的說明第2A圖的TCAM架構的非限制性實現的方框示意圖。 第2C圖是根據一些實施例說明結合第2A圖的TCAM架構使用的控制信號的示意圖。 第3A圖是根據一些實施例說明另一TCAM架構的方框示意圖。 第3B圖是根據一些實施例說明第3A圖的TCAM架構的非限制性實現的方框示意圖。 第3C圖是根據一些實施例說明結合第3A圖的TCAM架構使用的控制信號的示意圖。 第4A圖是根據一些實施例說明耦接到解碼器的TCAM陣列的方框示意圖。 第4B圖是根據一些實施例說明結合第4A圖的TCAM使用的控制信號的示意圖。 A more complete understanding of the invention can be obtained by reading the ensuing detailed description and the examples, which are given with reference to the accompanying drawings. FIG. 1A is a schematic block diagram of a tri-state content addressable memory (TCAM) according to some embodiments. Figure 1B is a schematic diagram that may be used to determine the status of the TCAM of Figure 1A, according to some embodiments. Figure 2A is a block schematic diagram of a TCAM architecture according to some embodiments. Figure 2B is a block schematic diagram illustrating a non-limiting implementation of the TCAM architecture of Figure 2A, shown according to some embodiments. Figure 2C is a schematic diagram illustrating control signals used in conjunction with the TCAM architecture of Figure 2A, according to some embodiments. FIG. 3A is a block diagram illustrating another TCAM architecture according to some embodiments. Figure 3B is a block schematic diagram illustrating a non-limiting implementation of the TCAM architecture of Figure 3A, according to some embodiments. Figure 3C is a schematic diagram illustrating control signals used in conjunction with the TCAM architecture of Figure 3A, according to some embodiments. Figure 4A is a block schematic diagram illustrating a TCAM array coupled to a decoder, according to some embodiments. Figure 4B is a schematic diagram illustrating control signals used in conjunction with the TCAM of Figure 4A, according to some embodiments.
在下面的詳細描述中,為了說明的目的,闡述了許多具體細節,以便所屬技術領域中具有通常知識者能夠更透徹地理解本發明實施例。然而,顯而易見的是,可以在沒有這些具體細節的情況下實施一個或複數個實施例,不同的實施例或不同實施例中披露的不同特徵可根據需求相結合,而並不應當僅限於附圖所行舉的實施例。In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to enable those skilled in the art to better understand the embodiments of the present invention. It is evident, however, that one or more embodiments may be practiced without these specific details, that different embodiments or different features disclosed in different embodiments may be combined as desired and should not be limited to the drawings Examples of what was done.
200:控制電路 200: control circuit
202:TCAM 202: TCAM
Claims (15)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/074,789 US11404121B2 (en) | 2019-10-22 | 2020-10-20 | Methods for writing ternary content addressable memory devices |
US17/074,789 | 2020-10-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202217805A TW202217805A (en) | 2022-05-01 |
TWI802980B true TWI802980B (en) | 2023-05-21 |
Family
ID=81194639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110132730A TWI802980B (en) | 2020-10-20 | 2021-09-03 | An apparatus for writing ternary content addressable memory devices and the related method |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114388030A (en) |
TW (1) | TWI802980B (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998007160A2 (en) * | 1996-08-13 | 1998-02-19 | Motorola Inc. | Ternary cam memory architecture and methodology |
EP1083572A1 (en) * | 1999-09-10 | 2001-03-14 | Sibercore Technologies, Inc. | Three port content addressable memory device and methods for implementing the same |
US20020129198A1 (en) * | 1999-09-23 | 2002-09-12 | Nataraj Bindiganavale S. | Content addressable memory with block-programmable mask write mode, word width and priority |
US6757779B1 (en) * | 1999-09-23 | 2004-06-29 | Netlogic Microsystems, Inc. | Content addressable memory with selectable mask write mode |
US6839256B1 (en) * | 2002-03-15 | 2005-01-04 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having dedicated mask cell sub-arrays therein and methods of operating same |
US20070058407A1 (en) * | 2005-09-12 | 2007-03-15 | Renesas Technology Corp. | Semiconductor memory device |
US7505295B1 (en) * | 2004-07-01 | 2009-03-17 | Netlogic Microsystems, Inc. | Content addressable memory with multi-row write function |
US8848412B1 (en) * | 2013-07-05 | 2014-09-30 | Arm Limited | Ternary content addressable memory |
US9111615B1 (en) * | 2013-10-01 | 2015-08-18 | Xilinx, Inc. | RAM-based ternary content addressable memory |
US20190392889A1 (en) * | 2018-06-26 | 2019-12-26 | Mediatek Singapore Pte. Ltd. | Self-time scheme for optimizing performance and power in dual rail power supplies memories |
-
2021
- 2021-09-03 TW TW110132730A patent/TWI802980B/en active
- 2021-09-03 CN CN202111034195.8A patent/CN114388030A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998007160A2 (en) * | 1996-08-13 | 1998-02-19 | Motorola Inc. | Ternary cam memory architecture and methodology |
EP1083572A1 (en) * | 1999-09-10 | 2001-03-14 | Sibercore Technologies, Inc. | Three port content addressable memory device and methods for implementing the same |
US20020129198A1 (en) * | 1999-09-23 | 2002-09-12 | Nataraj Bindiganavale S. | Content addressable memory with block-programmable mask write mode, word width and priority |
US6757779B1 (en) * | 1999-09-23 | 2004-06-29 | Netlogic Microsystems, Inc. | Content addressable memory with selectable mask write mode |
US6839256B1 (en) * | 2002-03-15 | 2005-01-04 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having dedicated mask cell sub-arrays therein and methods of operating same |
US7505295B1 (en) * | 2004-07-01 | 2009-03-17 | Netlogic Microsystems, Inc. | Content addressable memory with multi-row write function |
US20070058407A1 (en) * | 2005-09-12 | 2007-03-15 | Renesas Technology Corp. | Semiconductor memory device |
US8848412B1 (en) * | 2013-07-05 | 2014-09-30 | Arm Limited | Ternary content addressable memory |
US9111615B1 (en) * | 2013-10-01 | 2015-08-18 | Xilinx, Inc. | RAM-based ternary content addressable memory |
US20190392889A1 (en) * | 2018-06-26 | 2019-12-26 | Mediatek Singapore Pte. Ltd. | Self-time scheme for optimizing performance and power in dual rail power supplies memories |
Also Published As
Publication number | Publication date |
---|---|
TW202217805A (en) | 2022-05-01 |
CN114388030A (en) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6262937B1 (en) | Synchronous random access memory having a read/write address bus and process for writing to and reading from the same | |
US6310880B1 (en) | Content addressable memory cells and systems and devices using the same | |
US6199140B1 (en) | Multiport content addressable memory device and timing signals | |
US6137707A (en) | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device | |
US6856527B1 (en) | Multi-compare content addressable memory cell | |
US7139182B2 (en) | Cutting CAM peak power by clock regioning | |
US6751110B2 (en) | Static content addressable memory cell | |
US20070288690A1 (en) | High bandwidth, high capacity look-up table implementation in dynamic random access memory | |
US11557328B2 (en) | Simultaneous write and search operation in a content addressable memory | |
US6445645B2 (en) | Random access memory having independent read port and write port and process for writing to and reading from the same | |
US7525867B2 (en) | Storage circuit and method therefor | |
JP2000353388A (en) | Improvement of contents referable memory | |
US7251707B1 (en) | Content based content addressable memory block enabling using search key | |
US7609569B2 (en) | System and method for implementing row redundancy with reduced access time and reduced device area | |
US6778461B2 (en) | Dynamic random access memory device externally functionally equivalent to a static random access memory | |
US11894054B2 (en) | Methods for writing ternary content addressable memory devices | |
TWI802980B (en) | An apparatus for writing ternary content addressable memory devices and the related method | |
US11404121B2 (en) | Methods for writing ternary content addressable memory devices | |
EP3813068A1 (en) | Methods for writing ternary content addressable memory devices | |
US8023300B1 (en) | Content addressable memory device capable of parallel state information transfers | |
Deshpande et al. | A 5nm Fin-FET 2G-search/s 512-entry x 220-bit TCAM with Single Cycle Entry Update Capability for Data Center ASICs | |
TWI777456B (en) | A ternary content addressable memory device and operating method therefor | |
JPH05113929A (en) | Microcomputer | |
EP0805457A2 (en) | Contents addressable memories | |
IL148832A (en) | Random access memory having read/write address bus and process for writing to and reading from the same |