具有內(nèi)容尋址功能的mram芯片及內(nèi)容尋址方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及MRAM芯片,尤其涉及一種具有內(nèi)容尋址功能的MRAM芯片及內(nèi)容尋址方法。
【背景技術(shù)】
[0002]關(guān)于MRAM:
[0003]本發(fā)明的背景是MRAM技術(shù)的成熟。MRAM是一種新的內(nèi)存和存儲(chǔ)技術(shù),可以像SRAM/DRAM 一樣快速隨機(jī)讀寫(xiě),還可以像Flash閃存一樣在斷電后永久保留數(shù)據(jù)。
[0004]它的經(jīng)濟(jì)性想當(dāng)?shù)睾?,單位容量占用的硅片面積比SRAM有很大的優(yōu)勢(shì),比在此類芯片中經(jīng)常使用的NOR Flash也有優(yōu)勢(shì),比嵌入式NOR Flash的優(yōu)勢(shì)更大。它的性能也相當(dāng)好,讀寫(xiě)時(shí)延接近最好的SRAM,功耗則在各種內(nèi)存和存儲(chǔ)技術(shù)最好。而且MRAM不像DRAM以及Flash那樣與標(biāo)準(zhǔn)CMOS半導(dǎo)體工藝不兼容。MRAM可以和邏輯電路集成到一個(gè)芯片中。
[0005]MRAM 的原理:
[0006]MRAM的原理,是基于一個(gè)叫做磁性隧道結(jié)(Magnetic Tunnel Junct1n,MTJ)的結(jié)構(gòu)。它是由兩層鐵磁性材料夾著一層非常薄的非鐵磁絕緣材料組成的。如圖:
[0007]下面的一層鐵磁材料是具有固定磁化方向的參考層,上面的鐵磁材料是可變磁化方向的記憶層,它的磁化方向可以和固定磁化層同向或反向。由于量子物理的效應(yīng),電流可以穿過(guò)中間的隧道勢(shì)皇層,但是MTJ的電阻和可變磁化層的磁化方向有關(guān)。磁化方向可以和固定磁化層同向?yàn)榈碗娮钁B(tài),如圖1所示;磁化方向可以和固定磁化層反向?yàn)楦唠娮钁B(tài),如圖2所示。
[0008]讀取MRAM的過(guò)程就是對(duì)MTJ的電阻進(jìn)行測(cè)量。使用比較新的STT-MRAM技術(shù),寫(xiě)MRAM也比較簡(jiǎn)單:使用比讀更強(qiáng)的電流穿過(guò)MTJ進(jìn)行寫(xiě)操作。一個(gè)自下而上的電流把可變磁化層置成與固定層同向,自上而下的電路把它置成反向。
[0009]MRAM 的架構(gòu)
[0010]每個(gè)MRAM的記憶單元由一個(gè)MTJ和一個(gè)MOS管組成,MOS管的柵極(gate)連接到芯片的字線(Word Line)負(fù)責(zé)接通或切斷這個(gè)單元,MTJ和MOS管串接在芯片的位線(BitLine)上,讀寫(xiě)操作在位線上進(jìn)行,如圖3所示。
[0011]一個(gè)MRAM芯片由一個(gè)或多個(gè)MRAM存儲(chǔ)單元的陣列組成,每個(gè)陣列有若干外部電路,如:
[0012]?行地址解碼器:把收到的地址變成字線的選擇
[0013]?列地址解碼器:把收到的地址變成位線的選擇
[0014]?讀寫(xiě)控制器:控制位線上的讀(測(cè)量)寫(xiě)(加電流)操作
[0015]?輸入輸出控制:和外部交換數(shù)據(jù)
[0016]在普通的內(nèi)存中搜索存儲(chǔ)內(nèi)容,只能在軟件的控制下,按地址順序逐一讀出內(nèi)存中的內(nèi)容進(jìn)行比較,非常耗時(shí)。
[0017]內(nèi)容尋址內(nèi)存(Content Addressable Memory,CAM)指的是能夠按存儲(chǔ)內(nèi)容搜索地址的內(nèi)存,搜索速度比軟件搜索快得多。這種內(nèi)容尋址內(nèi)存,在大數(shù)據(jù)的時(shí)代將有廣泛的應(yīng)用。
[0018]基于SRAM的內(nèi)容尋址內(nèi)存,用于存儲(chǔ)CPU的緩存標(biāo)簽,目前應(yīng)用很廣。這種技術(shù)需要在每個(gè)存儲(chǔ)單元中增加比較邏輯,導(dǎo)致面積(成本)提高近一倍。
[0019]由于MRAM的原理與DRAM完全不同,因此無(wú)法采用類似的設(shè)計(jì)實(shí)現(xiàn)內(nèi)容尋址功能。
【發(fā)明內(nèi)容】
[0020]有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種具有內(nèi)容尋址功能的MRAM芯片,搜索速度比軟件搜索快得多;由于只需要在每個(gè)陣列外增加一部分電路,因而是費(fèi)效比很高的方案。
[0021]本發(fā)明還提供上述MRAM芯片的內(nèi)容尋址操作方法及一種SOC芯片。
[0022]本發(fā)明提供一種MRAM芯片,包括一個(gè)或多個(gè)由MRAM存儲(chǔ)單元組成的陣列,每個(gè)陣列與控制電路連接,控制電路包括行地址解碼器、列地址解碼器、讀寫(xiě)控制器以及輸入輸出控制,控制電路還包括比較器與搜索控制器,比較器用于比較從陣列中讀出的內(nèi)容與搜索字,搜索控制器用于控制內(nèi)容尋址操作。
[0023]本發(fā)明提供的MRAM芯片,與每個(gè)陣列相連的控制電路增加了比較器與搜索控制器,以實(shí)現(xiàn)MRAM芯片的內(nèi)容尋址功能,因此搜索速度比軟件搜索快得多。
[0024]由于只需要對(duì)于每個(gè)陣列增加一部分電路,而不像現(xiàn)有技術(shù)中增加每一個(gè)存儲(chǔ)單元的面積,因而是費(fèi)效比很高的方案。
[0025]進(jìn)一步地,比較器包括對(duì)應(yīng)于每一根位線的比較單元,比較單元用于比較該位線上讀出的位與搜索字相應(yīng)的位。
[0026]進(jìn)一步地,每個(gè)比較單元的輸入包括讀寫(xiě)控制器讀出的位、搜索字的位以及屏蔽字的位。
[0027]進(jìn)一步地,搜索控制器從MRAM芯片的第一約定地址段獲取系統(tǒng)主控CPU輸入的搜索字、起始地址與結(jié)束地址,系統(tǒng)主控CPU與搜索控制器通過(guò)第一約定地址段傳送內(nèi)容尋址操作需要的相關(guān)信息。
[0028]進(jìn)一步地,搜索控制器從MRAM芯片的第二約定地址段獲取系統(tǒng)主控CPU輸入的屏蔽字,用于屏蔽對(duì)陣列中讀出的內(nèi)容的部分位的比較,使得搜索更靈活,搜索字的長(zhǎng)度可以與陣列的一行的長(zhǎng)度不同,例如陣列的一行的長(zhǎng)度為64位,搜索字的長(zhǎng)度可以是8位、16位或32位。
[0029]進(jìn)一步地,比較器將比較結(jié)果寫(xiě)入MRAM芯片的第三約定地址段,比較結(jié)果為存儲(chǔ)內(nèi)容與搜索字相符的行的地址,系統(tǒng)主控CPU從MRAM芯片的第三約定地址段獲取內(nèi)容尋址的結(jié)果。
[0030]進(jìn)一步地,搜索控制器從MRAM芯片的第四約定地址段獲取系統(tǒng)主控CPU輸入的搜索選項(xiàng),搜索選項(xiàng)用于搜索控制器控制內(nèi)容尋址操作在搜索到第一個(gè)結(jié)果時(shí)立即結(jié)束,在某些應(yīng)用中,例如緩存標(biāo)簽,一個(gè)搜索字只可能存在于一個(gè)地址,搜索到第一個(gè)結(jié)果時(shí)立即結(jié)束以減少后續(xù)不必要的操作,進(jìn)一步提高搜索速度。
[0031]進(jìn)一步地,多個(gè)陣列的內(nèi)容尋址操作是并行的,進(jìn)一步提高搜索速度。
[0032]進(jìn)一步地,陣列中的行的長(zhǎng)度是所述搜索字的長(zhǎng)度的整數(shù)倍,能夠進(jìn)行并行的比較和搜索。
[0033]本發(fā)明還提供一種上述MRAM芯片的內(nèi)容尋址操作方法,包括以下步驟:
[0034](I)搜索控制器收到搜索指令后,驅(qū)動(dòng)行地址解碼器,打開(kāi)地址區(qū)域中的第一行,驅(qū)動(dòng)列地址解碼器打開(kāi)該行的所有位線;
[0035](2)讀寫(xiě)控制器讀出該行的內(nèi)容;
[0036](3)比較器比較內(nèi)容與搜索字,如果二者相符,輸出該行的地址,執(zhí)行步驟(5)或執(zhí)行步驟⑷;
[0037](4)如果下一行的地址超出地址區(qū)域,執(zhí)行步驟(5);否則搜索控制器驅(qū)動(dòng)行地址解碼器,打開(kāi)該行,驅(qū)動(dòng)列地址解碼器打開(kāi)該行的所有位線,執(zhí)行步驟(2);
[0038](5)內(nèi)容尋址操作結(jié)束。
[0039]進(jìn)一步地,步驟(I)中的地址區(qū)域的起始地址與結(jié)束地址,為搜索控制器從MRAM芯片的第一約定地址段獲取的起始地址與結(jié)束地址。
[0040]進(jìn)一步地,如果搜索控制器從MRAM芯片的第二約定地址段獲取屏蔽字,步驟(3)中比較器比較所述內(nèi)容與搜索字時(shí),只對(duì)沒(méi)有被屏蔽的位進(jìn)行比較。
[0041]進(jìn)一步地,如果搜索控制器從MRAM芯片的第四約定地址段獲取搜索選項(xiàng),步驟
(3)中輸出該行的地址后執(zhí)行步驟(5);如果搜索控制器從MRAM芯片的第四約定地址段未獲取搜索選項(xiàng),執(zhí)行步驟(4)。
[0042]本發(fā)明還提供一種SOC芯片,集成了上述MRAM芯片。
[0043]與現(xiàn)有技術(shù)相比,本發(fā)明提供的MRAM芯片及內(nèi)容尋址操作方法,具有以下有益效果:
[0044](I)搜索速度比軟件搜索快得多,一個(gè)時(shí)鐘周期內(nèi)就可以完成對(duì)每個(gè)陣列上的整行內(nèi)容的搜索,速度可以比軟件搜索快幾十倍到一百倍;多個(gè)陣列的內(nèi)容尋址操作是并行的,進(jìn)一步提高搜索速度;
[0045](2)由于實(shí)現(xiàn)電路比較簡(jiǎn)單,完成同樣搜索的耗電大大降低,非常適用于對(duì)待機(jī)功耗要求很嚴(yán)格的物聯(lián)網(wǎng)和可穿戴電子設(shè)備等領(lǐng)域;
[0046](3)實(shí)現(xiàn)內(nèi)容尋址功能不需要增加每一個(gè)存儲(chǔ)單元的面積,只需要在每個(gè)陣列外增加一部分電路,總面積增加很少,只增加15%左右,因而是費(fèi)效比很高的方案。
[0047]以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說(shuō)明,以充分地了解本發(fā)明的目的、特征和效果。
【附圖說(shuō)明】
[0048]圖1是磁性隧道結(jié)的低電阻態(tài)示意圖;
[0049]圖2是磁性隧道結(jié)的高電阻態(tài)示意圖;
[0050]圖3是MRAM存儲(chǔ)單元;
[0051]圖4是現(xiàn)有技術(shù)中的MRAM芯片的結(jié)構(gòu)示意圖;
[0052]圖5是本發(fā)明的一個(gè)實(shí)施例的MRAM芯片的結(jié)構(gòu)示意圖;
[0053]圖6是圖5所示的MRAM芯片的比較器的比較單元的示意圖。
【具體實(shí)施方式】
[0054]如圖4所示,現(xiàn)有技術(shù)中的MRAM芯片,包括一個(gè)或多個(gè)由MRAM存儲(chǔ)單元組成的陣列,每個(gè)陣列與控制電路連接,控制電路包括行地址解碼器、列地址解碼器、讀寫(xiě)控制器以及輸入輸出控制。
[0055]在MRAM芯片中搜索存儲(chǔ)內(nèi)容,只能在主機(jī)軟件的控制下,按地址順序逐一讀出內(nèi)存中的內(nèi)容進(jìn)行比較,非常耗時(shí)。
[0056]每搜索MRAM芯片中的一個(gè)地址需要執(zhí)行不少于5條指令。
[0057](I)從該地址讀取數(shù)據(jù);
[0058](2)比較讀取的數(shù)據(jù)與搜索字;
[0059](3)綜合比較結(jié)果與屏蔽字;
[0060](4)如果比較結(jié)果不一致,地址指針遞增準(zhǔn)備搜索下一個(gè)地址;
[0061](5)如果地址達(dá)到結(jié)束地址,搜索結(jié)束。
[0062]如圖5所示,本發(fā)明的一個(gè)實(shí)施例的MRAM芯片,包括一個(gè)或多個(gè)由MRAM存儲(chǔ)單元組成的陣列,每個(gè)陣列與控制電路連接,控制電路包括行地址解碼器、列地址解碼器、讀寫(xiě)控制器以及輸入輸出控制,控制電