TW201346911A - 內容定址記憶體系統 - Google Patents
內容定址記憶體系統 Download PDFInfo
- Publication number
- TW201346911A TW201346911A TW101148077A TW101148077A TW201346911A TW 201346911 A TW201346911 A TW 201346911A TW 101148077 A TW101148077 A TW 101148077A TW 101148077 A TW101148077 A TW 101148077A TW 201346911 A TW201346911 A TW 201346911A
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- row
- address register
- data
- register
- Prior art date
Links
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
-
- 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
- G11C15/046—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 using non-volatile storage elements
-
- 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/02—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 magnetic elements
-
- 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
-
- 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
- G11C15/043—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 using capacitive charge storage elements
Landscapes
- Static Random-Access Memory (AREA)
Abstract
[課題]於CAM實現電路面積之高集積化與高速化。[解決手段]優先順位編碼(priority encode)/行解碼器部(5),係共用由複數行構成的行位址暫存器(12)。行位址暫存器(12)之各行,係和TCAM陣列區塊(2)之各項目呈對應而將各位址予以保持。行位址暫存器(12)之各行,係對應於TCAM陣列區塊(2)之各行之字元線及匹配線。在對TCAM陣列區塊(2)進行資料寫入時,係對應於指定位址而將行位址暫存器(12)保持的行之字元線(WL)設為活化。在對TCAM陣列區塊(2)進行檢索時,TCAM陣列區塊(2)之匹配線被設為活化。於對應行之行位址暫存器(12),係儲存著和檢索資料呈一致的TCAM陣列區塊(2)之項目之位址。
Description
本發明係關於內容定址記憶體系統,特別是關於高集積化、高速化之技術。
內容定址記憶體(CAM:Content Addressable Memory),除了資料之讀出及寫入機能以外,係具有對該記憶資料之檢索機能。
對CAM之資料寫入,係將寫入資料傳送至位元線(BL)之同時,藉由行解碼器將寫入對象之位址所對應的字元線(WL)設為活化。
CAM中之檢索,係依據成為檢索對象的資料列而將檢索線(SL)設為活化,藉由判斷和CAM陣列(CAM array)內之各項目(entry)的一致/不一致來進行。檢索結果,係將一致的項目之位址予以輸出。1項目,係儲存著成為檢索對象的資料字元(data word),由複數個CAM單元(CAM cell)構成。於各項目分別設置匹配線(ML),匹配線係被並聯結合於和各項目呈對應的CAM單元。當檢索對象之資料列與儲存於各項目的資料字元進行比較的結果為一致時,該項目所對應的匹配線係被維持於H(高)“1”之狀態。比較結果不一致時,藉由放電將該項目之匹配線設為L(低)“0”位準。
如上述說明,藉由對匹配線之電壓位準進行辨識,可
以對檢索資料所對應的資料是否儲存於CAM進行判斷。
又,CAM中之檢索時,當針對複數個項目判斷為一致時,係藉由優先順位編碼器(priority encoder),將其中之一項目設為優先,而將對應位址予以輸出。
此種CAM,係使用於路由器(Router)或交換器(Switch)等網路機器中之路徑檢索,或快取記憶體(cache memory)中之快取錯失/讀中(cache miss/hit)之判斷等。例如於網路路由器等係進行IP封包之路由(routing)。路由器內儲存著CAM,CAM內儲存著IP位址。路由係針對儲存於CAM的IP位址與由外部輸入的IP位址進行比對而進行。例如於該路由器內之CAM,係依據一致狀態之匹配線資訊,將次一目的地之顯示值寫入IP封包,而由對應之埠送出。
[專利文獻1]
美國專利6967856號公報
[專利文獻2]
特開2007-317342號公報
[專利文獻3]
特開2003-100086號公報
[專利文獻4]
美國專利7436688號公報
近年來,網路記憶體等所使用的大規模高速CAM係被要求更進一步之檢索動作之高速化。為達成檢索動作之高速化,則(1)CAM中之記憶資料與檢索資料是否一致之判斷,及(2)當一致的項目存在複數個時將優先順位高的項目之位址予以輸出的優先順位編碼器之動作的高速化乃必要者。
關於上述(1)有如美國專利6967856號公報(專利文獻1)之將匹配線予以分割的技術。另外,亦有如特開2007-317342號公報(專利文獻2)、特開2003-100086號公報(專利文獻3)揭示之技術,係使用可以檢測出匹配線之微小電位差的匹配放大器而實現檢索動作之高速化。
另外(2)亦要求優先順位編碼器之動作之高速化,或對CAM之寫入動作之高速化。例如於網路記憶體使用的CAM,須在一定之時間間隔進行路由表格(routing table)之更新,因此需要在一定之時間間隔進行寫入動作。
又,CAM之更進一步高集積化亦為必要。隨著CAM之周邊電路之高速化之同時,周邊電路之面積變大,周邊電路之佈局之集積度惡化等之問題亦存在。美國專利7436688號公報(專利文獻4),係藉由使用ROM來構成優先順位編碼器而實現高速化,但是無法實現周邊電路之高集積化。
其他之課題及新規之特徴係可由本說明書之記述及附加圖面予以理解。
依據一實施形態,於行解碼器與優先順位編碼器,係共用由複數行構成的位址暫存器。位址暫存器之各行,係對應於CAM陣列之各行而將CAM陣列之各行之位址予以保持。位址暫存器之各行,係對應於CAM陣列之各行之字元線及匹配線。在對CAM陣列進行資料寫入時,行解碼器係接受位址之指定,而將位址暫存器保持的行之字元線設為活化。另外,對CAM陣列進行檢索時,係藉由檢索而將CAM陣列之匹配線設為活化。於該匹配線所對應的行之位址暫存器,係儲存著和檢索資料呈一致的CAM陣列之行之位址。
依據上述一實施形態,可實現CAM之電路面積之高集積化與高速化。
以下,參照圖面說明各實施形態。<實施例1>圖1係表示本實施形態中之內容定址記憶體系統1之構成方塊圖。
如圖1所示,內容定址記憶體系統1,係包含:
TCAM陣列區塊2,匹配放大器3,優先順位運算部4,優先順位編碼/行解碼器部5,SL驅動器6,BL驅動器/讀出感測放大器7,及控制電路8。
TCAM陣列區塊2,係藉由複數個項目而將記憶資料予以保持。各項目係藉由複數個CAM單元構成(各個CAM單元係未被圖示)。各項目係被賦予個別位址。TCAM陣列區塊2,係接受檢索資料之輸入而針對各項目以並列方式對記憶資料之一致或不一致進行判斷。TCAM陣列區塊2係構成為3值連想記憶體(Ternary CAM)。各CAM單元可取得H(高)(“1”),L(低)(“0”),不理會(don’t care)(“X”)之3值。
(對TCAM陣列區塊2之寫入)具體言之為,TCAM陣列區塊2,係以行單位(項目單位)接受記憶資料之寫入。依據對TCAM陣列區塊2之寫入資料,藉由後述之BL驅動器/讀出感測放大器7而將位元線(BL)設為活化。又,藉由後述之優先順位編碼/行解碼器部5,而將TCAM陣列區塊2中之寫入對象之行之位址之字元線(WL)設為活化。內容定址記憶體系統1,係藉由該位元線及字元線,而對TCAM陣列區塊2之指定位址進行資料寫入。
(TCAM陣列區塊2之檢索)TCAM陣列區塊2,係為了對TCAM陣列區塊2中之各項目之記憶資料進行檢索,而藉由檢索線(SL)接受檢索所用的檢索資料。針對檢索資料與記憶資料呈一致的項目,匹配線(ML)係被
保持於H(高)位準。
匹配放大器3,係依據控制電路8之匹配放大器控制信號之控制進行動作,於TCAM陣列區塊2之檢索,係對匹配線之輸出進行放大。
優先順位運算部4,係在複數個項目中檢索資料與記憶資料呈一致時,依據特定之運算而將其中之一設為優先輸出。例如使用值“X”進行檢索時,複數個位址可以同時讀中。此時,優先順位運算部4,例如係以位址最小的項目作為優先予以輸出等,而優先將其中之一之項目之檢索結果予以輸出。
優先順位編碼/行解碼器部5,係具備後述之行位址暫存器12,可發揮優先順位編碼器之機能及行解碼器之機能。亦即,優先順位編碼器與行解碼器係共用行位址暫存器12。詳細構成係如後述。概要如以下。亦即,作為優先順位編碼器之機能時,係接受優先順位運算部4之輸出結果,而將檢索讀中的匹配線所對應的位址(匹配位址)輸出至控制電路8。作為行解碼器機能時,係藉由控制電路8之READ/WRITE控制信號而動作,接受對TCAM陣列區塊2之資料讀出/寫入對象的位址之指定,而將對應於位址的字元線設為活化。
SL驅動器6,係依據控制電路8之檢索線驅動器控制信號(SLDrv.控制信號),進行檢索線之驅動。於TCAM陣列區塊2之檢索時,係藉由檢索線將檢索資料輸出至TCAM陣列區塊2。
BL驅動器/讀出感測放大器7,係依據控制電路8之控制進行位元線之驅動,而將資料寫入TCAM陣列區塊2。
控制電路8,係藉由對控制信號之控制而統籌進行內容定址記憶體系統1之動作控制。亦即,控制電路8,係由外部接受各種指令(SEARCH等),依據特定之時脈(CLK)而動作,進行TCAM陣列區塊2之檢索結果之輸出等(MATCH_ADD)。
以下詳細說明優先順位運算部4與優先順位編碼/行解碼器部5。
圖2係表示作為優先順位編碼器之機能的,優先順位運算部4及優先順位編碼/行解碼器部5之一部分之構成圖。
優先順位運算部4,係包含運算結果輸出電路21,接受來自匹配放大器3之複數匹配線(match<0>-match<n>)之輸出。複數匹配線讀中時,係藉由運算結果輸出電路21而將其中之一匹配線設為優先而輸出至優先順位編碼/行解碼器部5(p_match)。
優先順位編碼/行解碼器部5,係包含:行位址暫存器用WL驅動器11,行位址暫存器12,及CAM單元用WL驅動器13。圖2係表示行位址暫存器用WL驅動器11與行位址暫存器12。
於本實施形態,行位址暫存器12係由複數個CAM單元(CAM單元23)構成。行位址暫存器12,係於各行將
TCAM陣列區塊2之其中之一項目之位址予以保持。行位址暫存器12之各行,係經由優先順位運算部4或CAM單元用WL驅動器13等,接受TCAM陣列區塊2之匹配線之輸出,而將字元線設為活化。於圖示之例,行位址暫存器12,係由圖上依序儲存著TCAM陣列區塊2之各項目之表示用位址「0000」「0001」「0010」..,個別藉由TCAM陣列區塊2所對應的各項目以及字元線及匹配線予以連接。
為了使優先順位編碼/行解碼器部5發揮優先順位編碼器之機能,行位址暫存器用WL驅動器11係依據致能信號pe_enable而將行位址暫存器12之字元線設為活化。行位址暫存器用WL驅動器11,係包含驅動電路22,而接受優先順位運算部4之匹配線之輸出結果。行位址暫存器用WL驅動器11,係接受致能信號pe_enable與優先順位運算部4之輸出結果,進行動作之控制而將檢索結果輸出至行位址暫存器12。
於優先順位編碼/行解碼器部5,主要係藉由行位址暫存器用WL驅動器11與行位址暫存器12來發揮作為優先順位編碼器之機能。對TCAM陣列區塊2進行檢索的檢索結果之輸出(peBL),係由行位址暫存器12之位元線來進行,而輸出至暫存器用BL感測放大器/SL驅動器9(peBL)。
圖3係表示為了發揮行解碼器之機能的,優先順位編碼/行解碼器部5之一部分之構成圖。
於優先順位編碼/行解碼器部5,主要係由行位址暫存器12與CAM單元用WL驅動器13來發揮行解碼器之機能。TCAM陣列區塊2之寫入對象、亦即位址之指定(rw_add),係由後述之暫存器用BL感測放大器/SL驅動器9來接受,藉由暫存器用BL感測放大器/SL驅動器9而被輸出至行位址暫存器12之檢索線(AddSL)。於行位址暫存器12,和指定之位址呈一致的行之匹配線係被設為活化,而輸出至CAM單元用WL驅動器13(addML)。
CAM單元用WL驅動器13,係連同行位址暫存器12而發揮作為行解碼器之機能。CAM單元用WL驅動器13,係接受行位址暫存器12之匹配線之輸出結果,並依據控制信號add_mlpre_n而予以輸出。CAM單元用WL驅動器13,係依據控制信號add_mllat所示時序,藉由閂鎖器電路24而將行位址暫存器12之匹配線之輸出結果予以保持。閂鎖器電路24所保持的內容,係藉由驅動電路25依據控制信號rw_enable而被輸出至驅動電路25TCAM陣列區塊2之字元線。
暫存器用BL感測放大器/SL驅動器9,係構成控制電路8之一部分。暫存器用BL感測放大器/SL驅動器9,係發揮作為感測放大器之機能(BL Sense Amp),用以對行位址暫存器12之位元線之信號進行放大,並使優先順位編碼/行解碼器部5等發揮作為優先順位編碼器之機能。又,暫存器用BL感測放大器/SL驅動器9係SL驅動器(SL Drv.),係依據控制信號add_sle進行行位址
暫存器12之檢索線之動作控制,而使優先順位編碼/行解碼器部5等發揮作為行解碼器之機能。又,暫存器用BL感測放大器/SL驅動器9,係接受對TCAM陣列區塊2之寫入對象、亦即位址之指定(rw_add)。暫存器用BL感測放大器/SL驅動器9,係接受優先順位編碼/行解碼器部5等發揮作為優先順位編碼器之機能所產生的輸出結果,並將其輸出至外部(hit_add)。
依據以上之構成,優先順位編碼器與行解碼器,係共用將TCAM陣列區塊2之各項目之位址予以保持的行位址暫存器12。因此,和優先順位編碼器與行解碼器具備個另一解碼(decode)電路等時比較,可以實現高集積化。
<關連技術與之對比>以下作為關連技術而說明優先順位編碼器與行解碼器不共用位址暫存器之情況。
圖4係表示優先順位編碼器與行解碼器不共用位址暫存器,而個別獨立時之機能方塊圖。
於內容定址記憶體系統101,優先順位編碼部55與行解碼器部56係不共用位址暫存器,而個別獨立。控制電路57,係藉由優先順位編碼部55接受對TCAM陣列區塊2之檢索結果之輸出、亦即匹配位址。又,控制電路57,係使對TCAM陣列區塊2之寫入位址之指定,被輸出至行解碼器部56。
圖5係表示關連技術中之優先順位運算部4,優先順位編碼部55,行解碼器部56之構成之詳細圖。
如圖示,優先順位編碼器之機能,係藉由優先順位運
算部4與優先順位編碼部55來實現。
行解碼器之機能係藉由行解碼器部56來實現。以下說明實現優先順位編碼器知機能之情況。藉由優先順位運算部4中之運算結果輸出電路21之運算,優先順位運算部4係將其中之一匹配線之輸出輸出至優先順位編碼部55。
優先順位編碼部55,係包含不良救濟電路62與編碼電路63。
不良救濟電路62,係用於救濟TCAM陣列區塊2中之不良項目的電路。不良救濟電路62,係依據控制電路57所輸出的救濟位址信號,對運算結果輸出電路21中之輸出結果(p_match)進行移位等,而進行救濟。
編碼電路63,係接受不良救濟電路62之輸出結果,而對匹配線所對應的TCAM陣列區塊2之位址進行編碼,作為匹配位址(hit_add)於輸出至控制電路57。亦即進行匹配線與位址間之轉換。
以下,針對作為行解碼器之機能加以說明。行解碼器部56,係包含解碼電路64與不良救濟電路65與WL驅動器部58。
解碼電路64,係接受來自控制電路57對TCAM陣列區塊2之寫入對象位址之指定(rw_add),而將對應字元線設為活化。亦即進行字元線與位址之轉換。
不良救濟電路65,係用於救濟TCAM陣列區塊2中之不良項目之電路。係藉由對解碼電路64之輸出進行移
位等而進行救濟。
WL驅動器部58,係藉由解碼電路64與不良救濟電路65之輸出結果進行放大等,而發揮將字元線(WL)設為活化的驅動部之機能。
將上述關連技術與本實施形態加以比較可知,關連技術係於編碼電路63與解碼電路64分別進行TCAM陣列區塊2中之位址之轉換。
相對於此,本實施形態中優先順位編碼器與行解碼器係共用行位址暫存器12。因此和關連技術比較,本實施形態可實現佈局面積之削減,可實現高集積化。又,藉由邏輯段數之減少,可實現高速化。
<實施例1中之救濟電路>回至實施例1之說明,針對實施例1之不良位址之救濟機能加以說明。
為了TCAM陣列區塊2之不良項目之救濟,於行位址暫存器12係儲存著不良救濟後之位址。藉由晶片測試等對TCAM陣列區塊2之不良項目進行調査,使儲存於行位址暫存器12之值(救濟碼)被記憶於溶絲(fuse)等。於電源投入時救濟碼係被讀入行位址暫存器12而構成。
圖6係表示和不良項目對應而儲存於行位址暫存器12的位址。圖7係表示和不良項目對應而儲存於行位址暫存器12的位址。圖6、圖7主要係表示行位址暫存器12之一部分。
圖6(A)為無不良項目時,表示儲存於行位址暫存器12之位址。因為無救濟,而由圖之上依序將位址之值
0000、0001、0010、0011、..依序儲存於行位址暫存器12之各行。
圖6(B)係表示有不良項目時,儲存於行位址暫存器12之位址。假設存在有不良項目對應行31(該圖之match<2>)。此時,例如以下一項目作為替代項目,而將位址移位「-1」之值寫入以後之行。由該圖之上起依序將位址之值0000、0001、xxxx(對應於不良項目)、0010、0011、...儲存於行位址暫存器12之各行。
圖7(A)係表示無不良項目時之位址之輸出值。圖7(B),係表示有不良項目時之位址之輸出值。
如圖7(B)所示,WL<2>所對應的不良項目對應行31,並未被實施字元線之活化,而表示位址「0010」係被移位至WL<3>。
<實施例1之動作之詳細>說明實施例1中之內容定址記憶體系統1之動作。
<讀出或寫入時之動作>首先,說明藉由行解碼器機能進行對TCAM陣列區塊2之資料讀出或寫入時。
動作之概要係如以下。亦即,對TCAM陣列區塊2之讀出或寫入時,寫入對象之位址之表示用信號(rw_add),係被輸入至圖2所示暫存器用BL感測放大器/SL驅動器9。藉由暫存器用BL感測放大器/SL驅動器9而將行位址暫存器12之檢索線設為活化(addSL)。當行位址暫存器12之各行之值,與寫入對象之位址之表示用信號(rw_add)呈一致時,一致的行之行位址暫存器
12之匹配線係成為H(高位準),其以外則成為L(低位準)。如此則,寫入對象之位址所對應的字元線被設為活化。
圖8係表示實施例1之寫入時之信號之動作波形圖。於該圖之例,寫入動作(WRITE)係進行對位址「00000010」之寫入(WL<2>設為活化),及對位址「00000001」之寫入(WL<1>設為活化)。接著,表示實施TCAM陣列區塊2之檢索動作之(SEARCH)連續動作。
寫入對象之位址「00000010」係被輸入至暫存器用BL感測放大器/SL驅動器9(rw_add),於行位址暫存器12針對和各行所保持之值呈一致的行是否存在進行檢索(add_sle,addSL)。當一致的行存在時,行位址暫存器12之匹配線係成為H(add_mlpre_n,addML<2>),藉由CAM單元用WL驅動器13之閂鎖器電路24進行閂鎖(add_mllat)。藉由寫入致能信號(rw_enable)將寫入對象之位址之字元線設為活化(WL<2>)。
針對次一位址「00000001」亦同様,寫入對象之位址之字元線被設為活化(WL<1>)。
於次一檢索動作之時,係伴隨著檢索而將TCAM陣列區塊2之檢索線(SL)設為活化。檢索未讀中的匹配線(ML)係被實施放電,而成為L。在檢索開始為止字元線係成為非活性,因此在寫入用的寫入指令之後,可以輸入檢索用的檢索指令,無須NOP(no operation)指令。
<檢索動作>以下,說明實施例1中之TCAM陣列區
塊2之檢索動作。
圖9係表示實施例1的檢索時之信號之動作波形圖。控制電路8,係依據指令(SEARCH),藉由特定之時脈(camclk)之時序開始TCAM陣列區塊2之檢索動作。檢索線係被設為活化,和檢索資料呈一致的項目之匹配線係成為H。匹配線之輸出結果,係由對應於控制信號(MAE)而動作的匹配放大器3進行放大。匹配放大器3所放大的輸出(match),係被輸入至優先順位運算部4。優先順位運算部4,係藉由運算結果輸出電路21而將其中之一設為優先,而設為對應於檢索結果之項目的輸出(p_match)。
於優先順位編碼/行解碼器部5,行位址暫存器用WL驅動器11,係依據和致能信號(pe_enable)對應的時序,依據檢索結果而將行位址暫存器12之字元線設為活化。於該圖,第2編號之項目與第127編號之項目所對應的字元線係被設為活化(peWL<2>,peWL<127>)。活化之字元線所對應的行位址暫存器12之值,係藉由位元線被輸出至暫存器用BL感測放大器/SL驅動器9(peBL)。暫存器用BL感測放大器/SL驅動器9,係將讀中項目之位址輸出至外部(MATCH_ADD)。
<實施例2>說明另一實施形態說明。
圖10係表示實施例2中之行位址暫存器12之構成圖。於該圖,作為優先順位編碼器之機能的,將檢索結果予以輸出的行位址暫存器12之位元線係被分割。
例如以特定範圍之項目作為對象而對感測放大器進行分配,而實現檢索結果之輸出高速化。該圖係表示第1之BL感測放大器32與第2之BL感測放大器33之2個。第1之BL感測放大器32與第2之BL感測放大器33,係分別對應於一部分之項目之行位址暫存器12。暫存器用GBL感測放大器/SL驅動器34,係對位元線之輸出進行放大的感測放大器。接受各BL感測放大器之輸出(gbl0、gbl1),藉由檢索係將讀中的位址予以輸出(hit_add)。
又,如該圖所示,CAM單元用WL驅動器13係包含差動放大器35。藉由差動放大器接受行位址暫存器12之匹配線之輸出,而實現高速化。
<實施例3>說明另一實施形態。於實施例3係藉由CAM單元來設置FNH(Force no-hit)暫存器。
圖11係表示實施例3之行位址暫存器12與FNH暫存器41之構成。
圖12係表示實施例3之行位址暫存器12與FNH暫存器41之構成。
如上述說明,設置行位址暫存器12以及由CAM單元構成之FNH暫存器,藉由暫存器用BL感測放大器/SL驅動器42之控制進行動作(fnh_bl),可實現高速化。例如檢索動作時,在讀中位址之輸出與FNH讀出資料之輸出為止的延遲可以被削減。又,無須FNH解碼器電路,有助於佈局面積之削減,可實現高集積化。
<實施例4>說明另一實施形態。實施例4係設有救濟資訊資料暫存器。
圖13係表示實施例4之構成之一部分。圖14係表示實施例4之構成之一部分。
如圖13及圖14所示,假設WL<1>所對應的項目為不良項目,WL<1>所對應的行為不良項目對應行47。
進行不良項目之救濟時,於實施例4,暫存器用BL感測放大器/SL驅動器43係不進行行位址暫存器12之改寫,而藉由控制信號(sp_bl)進行救濟資訊暫存器44之改寫。作為行解碼器之機能時,係藉由救濟資訊暫存器44及救濟移位電路45進行救濟。又,作為優先順位編碼器之機能時,係不進行行位址暫存器12之改寫,因此藉由位址移位電路46進行位址之移位並輸出。
例如假設WL<1>所對應的項目為不良,將WL<2>所對應的項目之位址移位「-1」,而設為「0001」。對TCAM陣列區塊2之檢索之結果,係藉由行位址暫存器用WL驅動器11而將字元線peWL<2>設為活化。此時,行位址暫存器12之值未被改寫,因此位址移位電路46,係使由暫存器用BL感測放大器/SL驅動器43輸出的匹配位址(hit_add0)進行移位,係將移位後之位址予以輸出(hit_add)。
暫存器用BL感測放大器/SL驅動器43,係藉由控制信號(hft_en),而將作為優先順位編碼器機能時必須移位的行之資訊(不良項目所對應的位址等),通知給位
址移位電路46。位址移位電路46,例如係遮對暫存器用BL感測放大器/SL驅動器43所通知的不良項目對應的位址之資訊,與暫存器用BL感測放大器/SL驅動器43所輸出的匹配位址(hit_add0)進行比較,若匹配位址(hit_add0)在不良項目所對應的位址(shft_en)以後則進行位址之移位。
圖15係表示救濟移位電路45、CAM單元用WL驅動器13之詳細。
救濟資訊暫存器44,係和行位址暫存器12之各行對應而具備暫存器。針對必要移位的行,係將值「1」保持於上述暫存器。
救濟移位電路45,係如圖示,接受救濟資訊暫存器44之各行之暫存器之輸出,而將信號(sft,dis)予以輸出。如圖示,信號(dis)係對應於救濟資訊暫存器44之暫存器之鄰接行之值係將輸出予以特定,鄰接行之值不同時係將「0」予以輸出。信號(dis),係於CAM單元用WL驅動器13將不良項目所對應的字元線(圖示例為WL<1>)設為時被使用者。
救濟資訊暫存器44之各行之暫存器之值,係使用於救濟移位電路45。例如於救濟移位電路45,被輸入有sft<2>的暫存器之值係為「1」。於輸入有該sft<2>的暫存器,係將匹配線addML<1>及匹配線addML<2>予以連接,對應於sft<2>之值(亦即,對應於是否需要移位)而將其中之一匹配線之輸出予以輸入至CAM單元用WL驅動器
13之閂鎖器電路。
藉由上述之構成,可以進行救濟之同時實現高速化。<實施例5>說明另一實施形態。關於行位址暫存器12中之TCAM之構成,於實施例5係藉由SRAM(Static Random Access Memory)或DRAM(Dynamic Random Access Memory)或MRAM(Magnetoresistive Random Access Memory)或ROM(Read Only Memory)構成。
圖16係表示藉由DRAM構成TCAM時之TCAM基本單元。
如上述說明,檢索資料係藉由檢索線(SL)被輸入至單元,判斷是否和記憶資料X(SNX)、記憶資料Y(SNY)一致。記憶資料X、Y均為「1」時,成為一再不一致(always miss)。記憶資料X、Y均為「0」時,成為一再一致(always hit)。
圖17係表示藉由DRAM構成TCAM時之TCAM基本單元。和上述同様,檢索資料(SL)與記憶資料(SNX,SNY)係被進行比較,判斷是否一致。
圖18係表示藉由MRAM構成TCAM時之TCAM基本單元。係配置有讀出與寫入時使用的位元線(BL),讀出時設定電晶體為導通(ON)的字元線(RWLX,RWLY),寫入時流通電流的數位線(DL)等。
圖19係表示藉由ROM構成行位址暫存器12之圖。各CAM單元係藉由ROM構成。
於該圖,係表示將「0」予以保持的ROM構成之單元
71,將「1」予以保持的ROM構成之單元72。
圖20係表示單元71及單元72之構成。圖20(A)表示單元71,圖20(B)表示單元72。
依據上述之實施形態,於行位址暫存器12係藉由記憶內容在電源非導通(OFF)時將記憶內容予以保持的記憶體來構成,如此則,在每一次電源投入時作為救濟電路之機能使用的序列器(sequence)變為不必要。
於上述之例,係說明在CAM中之編碼器或解碼器中共用位址暫存器之情況,但是,除CAM以外之編碼器或解碼器電路亦可使用上述構成。在位址之位元數多時,或編碼器或解碼器之邏輯段數多的電路,可以實現高速化及佈局面積之削減。
如上述說明各實施形態,但亦可將彼等實施形態組合。
以上,依據實施形態具體說明本發明,但本發明不限定於上述實施形態,在不脫離該要旨範圍內可做各種變更。
1‧‧‧內容定址記憶體系統
2‧‧‧TCAM陣列區塊
3‧‧‧匹配放大器
4‧‧‧優先順位運算部
5‧‧‧優先順位編碼/行解碼器部
6‧‧‧SL驅動器
7‧‧‧BL驅動器/讀出感測放大器
8‧‧‧控制電路
9‧‧‧暫存器用BL感測放大器/SL驅動器
11‧‧‧行位址暫存器用WL驅動器
12‧‧‧行位址暫存器
13‧‧‧CAM單元用WL驅動器
21‧‧‧運算結果輸出電路
22‧‧‧驅動電路
23‧‧‧CAM單元
24‧‧‧閂鎖器電路
25‧‧‧驅動電路
31‧‧‧不良項目
32‧‧‧第1之BL感測放大器
33‧‧‧第2之BL感測放大器
34‧‧‧暫存器用GBL感測放大器/SL驅動器
35‧‧‧差動放大器
41‧‧‧FNH暫存器
42‧‧‧暫存器用BL感測放大器/SL驅動器
43‧‧‧暫存器用BL感測放大器/SL驅動器
44‧‧‧救濟資訊暫存器
45‧‧‧救濟移位電路
46‧‧‧位址移位電路
47‧‧‧不良項目
55‧‧‧優先順位編碼部
56‧‧‧行解碼器部
57‧‧‧控制電路
58‧‧‧WL驅動器部
61‧‧‧運算結果輸出電路
62‧‧‧不良救濟電路
63‧‧‧編碼電路
64‧‧‧解碼電路
65‧‧‧不良救濟電路
[圖1] 本實施形態之內容定址記憶體系統1之構成方塊圖。
[圖2] 作為優先順位編碼器之機能的,優先順位運算部4及優先順位編碼(priority encode)/行解碼器部5之一部分之構成圖。
[圖3] 作為行解碼器之機能的,優先順位編碼/行解碼器部5之一部分之構成圖。
[圖4] 優先順位編碼器與行解碼器不共用位址暫存器,個別獨立時之機能方塊圖。
[圖5] 關連技術中之優先順位運算部4,優先順位編碼部55,行解碼器部56之構成之詳細圖。
[圖6] 對應於不良項目而儲存於行位址暫存器12的位址之圖。
[圖7] 對應於不良項目而儲存於行位址暫存器12的位址之圖。
[圖8] 實施例1之寫入時之信號之動作波形圖。
[圖9] 實施例1之檢索時之信號之動作波形圖。
[圖10] 實施例2中之行位址暫存器12之構成圖。
[圖11] 實施例3中之行位址暫存器12與FNH暫存器41之構成圖。
[圖12] 實施例3中之行位址暫存器12與FNH暫存器41之構成圖。
[圖13] 實施例4之構成之一部分之圖。
[圖14] 實施例4之構成之一部分之圖。
[圖15] 救濟移位電路45,CAM單元用WL驅動器13之詳細圖。
[圖16] 藉由SRAM而構成TCAM時之TCAM基本單元之圖。
[圖17] 藉由DRAM而構成TCAM時之TCAM基本單
元之圖。
[圖18] 藉由MRAM而構成TCAM時之TCAM基本單元之圖。
[圖19] 藉由ROM而構成行位址暫存器12時之圖。
[圖20] 單元71及單元72之構成圖。
1‧‧‧內容定址記憶體系統
2‧‧‧TCAM陣列區塊
3‧‧‧匹配放大器
4‧‧‧優先順位運算部
5‧‧‧優先順位編碼/行解碼器部
6‧‧‧SL驅動器
7‧‧‧BL驅動器/讀出感測放大器
8‧‧‧控制電路
BL‧‧‧位元線
WL‧‧‧字元線
SL‧‧‧檢索線
ML‧‧‧匹配線
SEARCH‧‧‧指令
READ‧‧‧指令
WRITE‧‧‧指令
CLK‧‧‧時脈
MATCH_ADD‧‧‧檢索結果之輸出
Claims (9)
- 一種內容定址記憶體系統,係包含:資料保持用CAM陣列,其包含由複數行構成的CAM單元,係對應於各行而將記憶資料予以保持,接受檢索資料之輸入而可對各行以並列方式進行記憶資料之檢索;行解碼器部,係藉由字元線針對上述資料保持用CAM陣列之寫入對象之行之位址進行界定而將資料寫入該位址;及優先順位編碼器部,係依據匹配線之輸出,該匹配線係用於表示上述記憶資料與上述檢索資料之於各行之比較結果者,而將比較結果一致的行之位址予以輸出;上述行解碼器部與上述優先順位編碼器部,係具備並共用複數行之位址暫存器,上述位址暫存器之各行,係分別對應於上述資料保持用CAM陣列之各行而藉由上述字元線及上述匹配線被連接,將上述資料保持用CAM陣列之各行之位址予以保持。
- 如申請專利範圍第1項之內容定址記憶體系統,其中,上述行解碼器部,在接受上述寫入對象之行之位址之指定時,係以該指定所示位址作為檢索資料而進行和上述位址暫存器之各行之比較,將比較結果一致的行之字元線設為活化,上述優先順位編碼器部,係依據和上述資料保持用CAM陣列之匹配線之輸出呈對應的上述位址暫存器之行所保持的位址,而將上述檢索資料與上述記憶資料呈一致的行之位址予以輸出。
- 如申請專利範圍第1項之內容定址記憶體系統,其 中,上述位址暫存器係由CAM單元構成。
- 如申請專利範圍第1項之內容定址記憶體系統,其中,上述位址暫存器係可改寫,上述內容定址記憶體系統係包含記憶部,該記憶部係用於記憶對上述資料保持用CAM陣列之不良行進行救濟的救濟碼者,上述位址暫存器,係依據上述記憶部所記憶的救濟碼,藉由上述改寫而接受不良救濟後之位址之寫入。
- 如申請專利範圍第1項之內容定址記憶體系統,其中,上述複數行之位址暫存器,係包含複數個感測放大器,該感測放大器係用於對上述優先順位編碼器部之輸出結果進行放大者,上述感測放大器,係對應於特定範圍之行之各個位址暫存器而被分配。
- 如申請專利範圍第1項之內容定址記憶體系統,其中,上述複數行之位址暫存器,係接受對上述資料保持用CAM陣列之寫入對象之行之位址以其作為輸入,藉由將和接受的位址呈一致的位址暫存器所對應的字元線設為活化,而作為上述行解碼器部之機能,上述位址暫存器之匹配放大器為差動放大器。
- 如申請專利範圍第1項之內容定址記憶體系統,其中, 上述位址暫存器係由非揮發性記憶體構成。
- 如申請專利範圍第1項之內容定址記憶體系統,其中,上述位址暫存器,係於上述CAM單元陣列含有FNH(force no-hit)暫存器。
- 如申請專利範圍第1項之內容定址記憶體系統,其中,上述行解碼器部,係包含:救濟資訊資料暫存器,係針對上述位址暫存器之各行,用於表示基於不良項目之救濟而是否需要進行輸出之移位;及救濟移位電路,係用於抑制不良行所對應的字元線之使用,而於上述位址暫存器之各行,依據上述位址暫存器之保持內容與上述救濟資訊資料暫存器之保持內容而進行位址運算。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057060A JP2013191255A (ja) | 2012-03-14 | 2012-03-14 | 内容参照メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201346911A true TW201346911A (zh) | 2013-11-16 |
Family
ID=49135964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101148077A TW201346911A (zh) | 2012-03-14 | 2012-12-18 | 內容定址記憶體系統 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8891272B2 (zh) |
JP (1) | JP2013191255A (zh) |
KR (1) | KR20130105393A (zh) |
CN (1) | CN103310838A (zh) |
TW (1) | TW201346911A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11875850B2 (en) | 2022-04-27 | 2024-01-16 | Macronix International Co., Ltd. | Content addressable memory device, content addressable memory cell and method for data searching with a range or single-bit data |
TWI844013B (zh) * | 2022-04-27 | 2024-06-01 | 旺宏電子股份有限公司 | 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177646B2 (en) * | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
CN104200838B (zh) * | 2014-08-28 | 2016-08-24 | 平湖凌云信息科技有限公司 | 内容可寻址存储器及相似度智能匹配方法 |
KR20160074920A (ko) * | 2014-12-19 | 2016-06-29 | 에스케이하이닉스 주식회사 | 메모리 장치 |
WO2017039687A1 (en) * | 2015-09-04 | 2017-03-09 | Hewlett Packard Enterprise Development Lp | Content addressable memory |
JP6638732B2 (ja) * | 2015-10-13 | 2020-01-29 | 富士通株式会社 | 制御システムおよび制御方法 |
JP2017097940A (ja) * | 2015-11-26 | 2017-06-01 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US10741228B2 (en) | 2016-03-28 | 2020-08-11 | Tohoku University | Memory device |
US10643701B2 (en) | 2016-05-13 | 2020-05-05 | Tohoku University | Memory device and memory system |
CN106443115B (zh) * | 2016-09-26 | 2023-12-29 | 广州致远电子股份有限公司 | 一种基于深度存储的示波器 |
US10599566B2 (en) * | 2016-11-29 | 2020-03-24 | Qualcomm Incorporated | Multi-mode cache invalidation |
US10431265B2 (en) * | 2017-03-23 | 2019-10-01 | Silicon Storage Technology, Inc. | Address fault detection in a flash memory system |
JP6840621B2 (ja) * | 2017-05-24 | 2021-03-10 | ルネサスエレクトロニクス株式会社 | 内容参照メモリ |
JP2018206452A (ja) * | 2017-05-30 | 2018-12-27 | ルネサスエレクトロニクス株式会社 | 内容参照メモリ及び半導体装置 |
JP6824115B2 (ja) * | 2017-06-19 | 2021-02-03 | ルネサスエレクトロニクス株式会社 | 半導体装置の製造方法 |
KR102379729B1 (ko) | 2017-10-27 | 2022-03-29 | 삼성전자주식회사 | 우선 순위에 따라 매칭 라인들을 구동하는 메모리 장치 |
US10930348B1 (en) * | 2019-08-13 | 2021-02-23 | Hewlett Packard Enterprise Development Lp | Content addressable memory-encoded crossbar array in dot product engines |
US11537319B2 (en) * | 2019-12-11 | 2022-12-27 | Advanced Micro Devices, Inc. | Content addressable memory with sub-field minimum and maximum clamping |
US11188480B1 (en) * | 2020-05-12 | 2021-11-30 | Hewlett Packard Enterprise Development Lp | System and method for cache directory TCAM error detection and correction |
CN112098770B (zh) * | 2020-08-20 | 2024-06-14 | 深圳市宏旺微电子有限公司 | 针对动态耦合故障模拟极端环境下的测试方法和装置 |
CN112509620A (zh) * | 2020-11-30 | 2021-03-16 | 安徽大学 | 基于平衡预充与组译码的数据读取电路 |
US11720492B1 (en) | 2021-03-31 | 2023-08-08 | DreamBig Semiconductor Inc. | Algorithmic TCAM with compressed key encoding |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002260389A (ja) * | 2001-03-01 | 2002-09-13 | Kawasaki Microelectronics Kk | 連想メモリ |
US6597595B1 (en) * | 2001-08-03 | 2003-07-22 | Netlogic Microsystems, Inc. | Content addressable memory with error detection signaling |
JP2003100086A (ja) | 2001-09-25 | 2003-04-04 | Fujitsu Ltd | 連想メモリ回路 |
US6708250B2 (en) * | 2001-09-28 | 2004-03-16 | Mosaid Technologies Incorporated | Circuit and method for performing variable width searches in a content addressable memory |
US6967856B1 (en) | 2002-04-10 | 2005-11-22 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices that utilize segmented match lines and word lines to support pipelined search and write operations and methods of operating same |
JP2004355691A (ja) * | 2003-05-28 | 2004-12-16 | Hitachi Ltd | 半導体装置 |
US7505295B1 (en) * | 2004-07-01 | 2009-03-17 | Netlogic Microsystems, Inc. | Content addressable memory with multi-row write function |
US7436688B1 (en) | 2005-05-06 | 2008-10-14 | Netlogic Microsystems, Inc. | Priority encoder circuit and method |
JP2007317342A (ja) | 2006-04-25 | 2007-12-06 | Renesas Technology Corp | 内容参照メモリ |
US20070247885A1 (en) | 2006-04-25 | 2007-10-25 | Renesas Technology Corp. | Content addressable memory |
JP2008257835A (ja) * | 2007-03-13 | 2008-10-23 | Renesas Technology Corp | 半導体装置 |
US8630141B2 (en) * | 2011-01-28 | 2014-01-14 | Micron Technology, Inc. | Circuits and methods for providing refresh addresses and alternate refresh addresses to be refreshed |
-
2012
- 2012-03-14 JP JP2012057060A patent/JP2013191255A/ja active Pending
- 2012-12-11 US US13/711,061 patent/US8891272B2/en active Active
- 2012-12-18 TW TW101148077A patent/TW201346911A/zh unknown
-
2013
- 2013-02-01 CN CN2013100424324A patent/CN103310838A/zh active Pending
- 2013-03-07 KR KR1020130024353A patent/KR20130105393A/ko not_active Application Discontinuation
-
2014
- 2014-09-16 US US14/487,345 patent/US20150003138A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11875850B2 (en) | 2022-04-27 | 2024-01-16 | Macronix International Co., Ltd. | Content addressable memory device, content addressable memory cell and method for data searching with a range or single-bit data |
TWI844013B (zh) * | 2022-04-27 | 2024-06-01 | 旺宏電子股份有限公司 | 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103310838A (zh) | 2013-09-18 |
US20150003138A1 (en) | 2015-01-01 |
KR20130105393A (ko) | 2013-09-25 |
US8891272B2 (en) | 2014-11-18 |
US20130242632A1 (en) | 2013-09-19 |
JP2013191255A (ja) | 2013-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201346911A (zh) | 內容定址記憶體系統 | |
US7502245B2 (en) | Content addressable memory architecture | |
WO2020232128A1 (en) | Apparatuses, systems, and methods for a content addressable memory cell | |
US9087572B2 (en) | Content addressable memory | |
US4473895A (en) | Semiconductor memory device | |
US9741425B2 (en) | Memory device and memory system including the memory device | |
TW201732830A (zh) | 用於同時存取非揮發性記憶體之多個分區之裝置及方法 | |
KR20090082784A (ko) | Nvram 셀을 채용한 플래쉬 메모리 장치 | |
JPH04325996A (ja) | 半導体連想記憶装置 | |
KR20070116896A (ko) | Y먹스 분할 방식 | |
US20120106270A1 (en) | Semiconductor memory device and method of operating the same | |
US6430098B1 (en) | Transparent continuous refresh RAM cell architecture | |
Lines et al. | 66 MHz 2.3 M ternary dynamic content addressable memory | |
JPH0636560A (ja) | 半導体記憶装置 | |
US6477082B2 (en) | Burst access memory with zero wait states | |
JP2002251894A (ja) | シリアルメモリ装置 | |
US8787059B1 (en) | Cascaded content addressable memory array having multiple row segment activation | |
JP2010123174A (ja) | 強誘電体メモリ装置 | |
CN105448329A (zh) | 静态随机存储器及其数据写入方法、输入输出电路 | |
US7042786B2 (en) | Memory with adjustable access time | |
US7333388B2 (en) | Multi-port memory cells | |
US6671218B2 (en) | System and method for hiding refresh cycles in a dynamic type content addressable memory | |
JP2014123936A (ja) | 検索システム | |
JP2008010144A (ja) | 連想メモリセル、連想メモリセルアレイ、アドレス検索メモリおよびネットワークアドレス検索装置 | |
US7006400B1 (en) | Content addressable memory with reduced instantaneous current and power consumption during a search |