帶有匹配地址和數(shù)據(jù)線控制的多端口存儲器的制造方法
【專利摘要】本發(fā)明涉及帶有匹配地址和數(shù)據(jù)線控制的多端口存儲器。在多端口SRAM(10)中,第一位單元(38)耦合到第一和第二字線(WL0A,WL0B)以及第一(BL0A/BL0Ab)和第二位線對(BL0B/BL0Bb)。第一數(shù)據(jù)線對(DLA,DLAb)經(jīng)由第一開關邏輯(52,54)耦合到所述第一位線對(BL0A/BL0Ab)。第二數(shù)據(jù)線對(DLB,DLBb)經(jīng)由第二開關邏輯(56,58)耦合到所述第一位線對以及通過第三開關邏輯(60,62)耦合到所述第二位線對。如果第一和第二訪問地址之間存在行地址匹配但不是列地址匹配,則第二開關邏輯基于從第二訪問地址的列地址生成的第一解碼信號有選擇性地將第二數(shù)據(jù)線對與第一位線對相連接,以及第三開關邏輯將第二數(shù)據(jù)線對從第二位線對解耦。
【專利說明】帶有匹配地址和數(shù)據(jù)線控制的多端口存儲器
[0001]交叉申請的相關引用
[0002]本申請涉及在同一日期提交的標題為“MULTIPORT MEMORY WITH MATCHINGADDRESS CONTROL”美國專利申請序列號xxx (代理人案號N0.FS40314HC),該專利申請命名Perry Pelley為發(fā)明人并被轉(zhuǎn)讓給其當前受讓人。
【技術(shù)領域】
[0003]本公開通常涉及半導體器件,更具體的說,涉及多端口半導體存儲器器件。
【背景技術(shù)】
[0004]隨著半導體技術(shù)的最近進展,允許高速讀/寫操作的更小尺寸和更大容量的存儲器已經(jīng)開發(fā)。此外,所謂的包括多個輸入端口和輸出端口的多端口存儲器已被用于不同地址的讀/寫數(shù)據(jù)。
[0005]通過給存儲器單元的存儲元件提供對一個以上資源的訪問,多端口存儲器,諸如在多核處理器或處理器和總線之間的接口的情況下,已變得較為常用。多端口存儲器的問題之一是如何協(xié)調(diào)提供對一個以上資源的訪問。這種能力經(jīng)常是使用等待狀態(tài)和/或仲裁實現(xiàn)的。這可能會導致不可預測的訪問時間,這不是所期望的。
[0006]因此,需要一種改進上面討論的一個或多個問題的多端口存儲器。
【專利附圖】
【附圖說明】
[0007]本公開通過舉例的方式說明并且沒有被附圖所限定,在附圖中類似的參考符號表示相同的元素。附圖中元素是為了簡便以及清晰被圖示,并且不一定按比例繪制。
[0008]圖1是根據(jù)實施例的多端口存儲器的第一部分的框圖;
[0009]圖2是圖1的多端口存儲器的所述第一部分的一部分的組合電路、邏輯和框圖;
[0010]圖3是根據(jù)實施例的圖1的多端口存儲器的第二部分的框圖;以及
[0011]圖4是圖1的多端口存儲器的第一部分的存儲器單元的電路圖。
【具體實施方式】
[0012]一方面,當位單元被兩個端口選擇的時候,一個端口的位線對保持從所選擇的存儲器單元的存儲節(jié)點以及從其數(shù)據(jù)線對解耦,而其它端口的位線對耦合到所選擇的存儲器單元的存儲節(jié)點并且耦合到其數(shù)據(jù)線對以及耦合到所述一個端口的數(shù)據(jù)線對。此外,所述一個端口的所選擇的字線保持禁用,而其它端口的所選擇的字線被啟用。因此,所述一個端口的位線對的電容總是不利地影響對所選擇的位單元的訪問,而其它端口的位線對提供了所需的訪問。因此可以避免與對于共有位單元的同時多端口訪問相關聯(lián)的位單元穩(wěn)定問題。所述一個端口的位線對通過列解碼而耦合到所述一個端口的數(shù)據(jù)線對。這可以通過參照附圖和下面的描述更好地理解。
[0013]圖1所示的是存儲器10,該存儲器10具有陣列12、端口 A行解碼器14、端口 B行解碼器16、列電路18、端口 A行地址緩沖器20、端口 B行地址緩沖器22、行匹配檢測器24、端口 A列地址緩沖器26、端口 B列地址緩沖器28、列匹配檢測器45、以及讀/寫電路100。端口 A行解碼器14包括行解碼器30和行解碼器32。端口 B行解碼器22包括行解碼器34和行解碼器36。陣列12包括位單元38、40、42、以及44。
[0014]圖4所示的是示例性存儲器單元89的電路圖,該示例性存儲器單元是陣列12的其它位單元的示例,諸如存儲器單元38、40、42、以及44。是靜態(tài)隨機存取存儲器(SRAM)單元的位單元38包括被連接到節(jié)點85和節(jié)點87以及在本例子中是N-溝道晶體管的晶體管88、90、92和94的逆變器81和83。逆變器81具有被連接到節(jié)點85的輸入以及被連接到節(jié)點87的輸出。逆變器83具有被連接到節(jié)點87的輸入以及被連接到節(jié)點85的輸出。節(jié)點85和87是存儲器單元38的存儲節(jié)點。晶體管88具有被連接到節(jié)點85的第一電流電極;被連接到字線WLA的控制電極,字線WLA是端口 A字線;以及被連接到位線BLAb的第二電流電極,位線BLAb是端口 A的互補位線。晶體管90具有被連接到節(jié)點87的第一電流電極、被連接到字線WLA的控制電極、以及被連接到位線BLA的第二電流電極,位線BLA是端口 A的真位線。晶體管92具有被連接到節(jié)點85的第一電流電極;被連接到字線WLB的控制電極,字線WLB是端口 B的字線;以及被連接到端口 B的互補位線BLBb的第二電流電極。晶體管94具有被連接到節(jié)點87的第一電流電極、被連接到字線WLB的控制電極和端口 B的真位線BLB。節(jié)點85和87是存儲節(jié)點,所述存儲節(jié)點通過節(jié)點85的晶體管88和92以及節(jié)點87的晶體管90和94被訪問。逆變器81和83 —起可被認為是存儲鎖存器。當存儲器單元89被端口 A選擇的時候,晶體管90和88被啟用,并且用于將存儲節(jié)點耦合到端口 A位線對。當存儲器單元89被端口 B選擇的時候,晶體管92和94被啟用。如果存儲器單元89被端口 A和端口 B兩者選擇的時候,晶體管88和90被啟用,而晶體管92和94通過取消選擇字線WLB而被保持禁用使得位線BLBb與和BLB與存儲節(jié)點85和87保持隔開。在該例子中,位線被用于寫入存儲節(jié)點85和87或從存儲節(jié)點85和87讀取。字線是用于啟用存儲節(jié)點和位線之間的耦合。晶體管88、90、92、以及94的控制電極可以被認為是啟用輸入以及第二電流電極可以被認為是訪問節(jié)點。
[0015]陣列12包括多于四個的位單元,其可以被稱為存儲器單元,在圖1中示為存儲器單元38、40、42、以及44并且因此包括比所示出更多的位線對和字線。存儲器單元38和40具有被連接到字線WLOA的第一啟用輸入以及被連接到字線WLOB的第二啟用輸入。存儲器單元38的端口 A的接入節(jié)點被連接到真以及互補位線BLOA和BLOAb,而端口 B的接入節(jié)點被連接到真以及互補位線BLOB和BLOBb。存儲器單元40的端口 A的接入節(jié)點被連接到真以及互補位線BLlA和BLIAb,而端口 B的接入節(jié)點被連接到真以及互補位線BLlB和BLIBb。存儲器單元42和44具有被連接到字線WLlA的第一啟用輸入以及被連接到字線WLlB的第二啟用輸入。存儲器單元42的端口 A的接入節(jié)點被連接到真以及互補位線BLOA和BLOAb,而端口 B的接入節(jié)點被連接到真以及互補位線BLOB和BLOBb。存儲器單元44的端口 A的接入節(jié)點被連接到真以及互補位線BLlA和BLlAb,而端口 B的接入節(jié)點被連接到真以及互補位線BLlB和BLIBb。端口 A行地址緩沖器20給端口 A提供了行地址信號的真和互補信號。端口 B行地址緩沖器22給端口 B提供了行地址信號的真和互補信號。行解碼器30和32耦合到端口 A的真和互補地址信號的組合。當行解碼器30和32輸出邏輯高的時候,它們分別選擇字線WLOA和WL1A。行解碼器34和36耦合到端口 B的真和互補地址信號的組合。當行解碼器34和36是邏輯高的時候,它們分別選擇字線WLOB和WL1B。行匹配檢測器24耦合到地址緩沖器20和22并且當其提供了相同地址以及提供了行匹配指示符MATCHR的真和互補信號的時候進行檢測,其中MATCH R耦合到與端口 B相關聯(lián)的行解碼器34和36。當端口 A和端口 B的行地址是相同的時候,這意味著端口 A和端口 B的所選擇的字線是相同行。當行地址匹配MATCH R信號的時候,就抑制行解碼器34和36導致字線WLOB和WLlB不活躍。因此,只有端口 A位線對(BL0A、BL0Ab或BLlA、BLlAb)可以被WLOA上的存儲器單元或者替代地WLlA上的存儲器單元選擇。相反,在沒有行地址匹配的正常操作中,字線WLOA、WLlA之一和WLOB、WLlB之一都被選擇。結(jié)果,兩個端口中的耦合到相應端口的所選擇的字線的位線被耦合到活躍字線的存儲器單元激活。即,在正常操作中,兩個端口在陣列12中都是活躍的,使得字線和位線對于兩個端口都被激活。列電路18耦合到位線BL0A、BLOAb、BLOB、BLOBb、BL1A、BLIAb、BLlB以及BLIBb、在這些位線之間選擇、在所選擇的位線感測數(shù)據(jù)、以及響應于由端口 A列地址緩沖器26和端口 B列地址緩沖器28提供的列地址而將所感測的數(shù)據(jù)耦合到端口 A的全局數(shù)據(jù)線⑶LA和B端口的全局數(shù)據(jù)線⑶LB。被連接到相同單元列的相同端口的真和互補位線可以被稱為位線對。例如,位線BLOA和BLOAb形成了位線對。類似地,圖2中所示的數(shù)據(jù)線DLA和DLAb可以被稱為數(shù)據(jù)線對。
[0016]圖2中所示的是更詳細的列電路18。列電路18包括晶體管52、54、56、58、60、62、64、66、68、70、72以及74、端口 A的讀/寫(R/W) A緩沖器76、端口 B的R/W B緩沖器78、“與”門80、82、84以及86。列電路18減去R/ff A緩沖器76和R/W B緩沖器78可以被稱為開關邏輯。信號CAOA、CAOB, CA1A、以及CAlB起因于解碼信號CAOA和CAlA的端口 A列地址以及起因于解碼信號CAOB和CAlB的端口 B列地址并且可以被稱為列地址信號或列解碼信號。晶體管52具有連接到位線BLOA的第一電流電極、用于接收端口 A的列地址CAOA的控制電極、以及耦合到端口 A的真數(shù)據(jù)線DLA的第二電流電極,該真數(shù)據(jù)線被耦合到R/W A緩沖器76。晶體管54具有連接到位線BLOAb的第一電流電極、用于接收列地址CAOA的控制電極、以及連接到互補數(shù)據(jù)線DLAb的第二電流電極,該互補數(shù)據(jù)線被耦合到R/W A緩沖器76。晶體管60具有連接到位線BLOB的第一電流電極、連接到“與”門80的輸出的控制電極、以及耦合到端口 B的真數(shù)據(jù)線DLB的第二電流電極,該真數(shù)據(jù)線被耦合到端口 B的R/W B緩沖器78。晶體管62具有連接到位線BLOBb的第一電流電極、連接到“與”門82的輸出的控制電極、以及耦合到端口 B的互補數(shù)據(jù)線DLBb的第二電流電極,該互補數(shù)據(jù)線被連接到端口 B的R/W B緩沖器78。晶體管60具有耦合到位線BLOB的第一電流電極、耦合到“與”門82的輸出的控制電極、以及耦合到數(shù)據(jù)線DLB的第二電流電極。因此,當沒有行匹配以及列地址CAOb被明確肯定的時候,晶體管60和62變?yōu)閷щ?,使得位線BLOB和BLOBb分別通過晶體管60和62分別耦合到數(shù)據(jù)線DLB和DLBb。晶體管64具有連接到位線BLlA的第一電流電極、用于接收端口 A的列地址CAlA的控制電極、以及耦合到端口 A的真數(shù)據(jù)線DLA的第二電流電極,該真數(shù)據(jù)線被耦合到R/W A緩沖器76。晶體管66具有連接到位線BLlAb的第一電流電極、用于接收列地址CAlA的控制電極、以及連接到互補數(shù)據(jù)線DLAb的第二電流電極,該互補數(shù)據(jù)線被耦合到R/W A緩沖器76。晶體管72具有耦合到位線BLlB的第一電流電極、連接到“與”門86的輸出的控制電極、以及耦合到端口 B的真數(shù)據(jù)線DLB的第二電流電極,該真數(shù)據(jù)線被連接到端口 B的R/W B緩沖器78。晶體管74具有耦合到位線BLlBb的第一電流電極、耦合到“與”門86的輸出的控制柵極、以及耦合到數(shù)據(jù)線DLBb的第二電流電極?!芭c”門86具有用于接收端口 B的列地址CAlB的第一輸入以及第二輸入,當行匹配檢測器24檢測到端口 A和端口 B行地址是不同的時候,第二輸入用于接收行匹配檢測器24所提供的互補行匹配指示符匹配Rb。如先前對于互補行匹配指示符匹配Rb所描述的,當未檢測到匹配的時候,互補行匹配指示符匹配Rb是邏輯高,使得端口 B的列地址信號CAlB被傳遞給晶體管72和74的控制柵極。因此,當列地址CAlB被明確肯定的時候,晶體管72和74變?yōu)閷щ姡沟梦痪€VLlB和BLlBb分別通過晶體管72和74分別耦合到數(shù)據(jù)線 DLB 和 DLBb。
[0017]晶體管56具有連接到端口 A的位線BLOA的第一電流電極、連接到“與”門80的輸出的控制電極、以及耦合到端口 B的數(shù)據(jù)線DLB的第二電流電極,該數(shù)據(jù)線DLB被連接到端口 B的R/W緩沖器78。晶體管58具有連接到端口 A的互補位線BLOAb的第一電流電極、連接到“與”門80的輸出的控制電極、以及耦合到端口 B的互補數(shù)據(jù)線DLBb的第二電流電極,該互補數(shù)據(jù)線DLBb被連接到端口 B的R/W B緩沖器78。“與”門80具有第一輸入,該第一輸入用于接收端口 B的列地址CA0B、行匹配指示符匹配R、以及互補列匹配指示符“匹配Cb”。當端口 A和B匹配互補列匹配指示符“匹配Cb”的列地址是邏輯低的時候,因此當有列地址匹配的時候,“與”門80被迫提供邏輯低輸出,該輸出導致晶體管56和58非導電。當端口 A和B的行地址不匹配的時候,行匹配指示符“匹配R”是邏輯低,該邏輯低也迫使“與”門80提供邏輯低。因此,當行地址不匹配的時候,“與”門80的輸出是邏輯低以及晶體管56和58非導電。另一方面,當沒有列匹配但有行匹配的時候,“匹配R”和“匹配Cb”都是邏輯高以及“匹配CB”都是邏輯高,使得“與”門80的輸出跟隨列地址信號CA0B。因此,對于有行匹配但沒有列匹配的情況,對端口 B的訪問是通過端口 B列地址所選擇的端口A位線對進行的。在這種情況下,晶體管56和58導電并且將端口 A位線對BLOA和BLOAb耦合到端口 B數(shù)據(jù)線DLB和DLBb,使得端口 B R/WB電路可以寫入端口 A位線對或從端口 A位線對讀取。
[0018]晶體管68具有連接到端口 A的位線BLlA的第一電流電極、連接到“與”門84的輸出的控制電極、以及耦合到端口 B的數(shù)據(jù)線DLB的第二電流電極,該數(shù)據(jù)線被連接到端口B的R/W B緩沖器78。晶體管70具有連接到端口 A的互補位線BLlAb的第一電流電極、連接至lj“與”門84的輸出的控制電極、以及耦合到端口 B的互補數(shù)據(jù)線DLBb的第二電流電極,該互補數(shù)據(jù)線被連接到端口 B的R/W B緩沖器78?!芭c”門84具有第一輸入,該第一輸入用于接收端口 B的列地址CA1B、行匹配指示符匹配R、以及互補列匹配指示符“匹配Cb”。類似地對于“與”門80,當端口 A和B匹配互補列匹配指示符“匹配Cb”的列地址是邏輯低的時候,因此當有列地址匹配的時候,“與”門84被迫提供邏輯低輸出,該輸出導致晶體管68和70非導電。當端口 A和B的行地址不匹配的時候,行匹配指示符“匹配R”是邏輯低,該邏輯低也迫使“與”門84提供邏輯低。因此,當行地址不匹配的時候,“與”門80的輸出是邏輯低以及晶體管68和70非導電。另一方面,當沒有列匹配但有行匹配的時候,“匹配R”和“匹配Cb”都是邏輯高,使得“與”門80的輸出跟隨列地址信號CA0B。因此,對于有行匹配但沒有列匹配的情況,對端口 B的訪問是通過端口 B列地址所選擇的端口 A位線進行的。當有行匹配但沒有列匹配的時候,端口 B數(shù)據(jù)線對DLB、DLB0耦合到不同的位線對而不是被端口 A訪問的位線對并且耦合到數(shù)據(jù)線對DLA、DLAb。因此,端口 A的每個地址位線對只耦合到一個數(shù)據(jù)線對DLA、DLAb或DLB和DLBb。如前所述,端口 B的所有位線在行地址匹配條件下斷開。
[0019]圖3中所示的是分別耦合到端口 A和B的全局數(shù)據(jù)線⑶LA和⑶LB的讀/寫電路100,包括端口 A的讀電路102、端口 A的寫電路104、端口 B的讀電路106、端口 B的寫電路108。讀電路102具有耦合到全局數(shù)據(jù)線GDLA的輸入和用于輸出已為端口 A讀取的數(shù)據(jù)的讀輸出RDA。寫電路104具有耦合到全局數(shù)據(jù)線GDLA的輸出和用于接收為端口 A寫入的數(shù)據(jù)的寫輸入WDA。讀電路106具有耦合到全局數(shù)據(jù)線⑶LB的輸入和用于輸出已為端口 B讀取的數(shù)據(jù)的讀輸出RDB。寫電路108具有耦合到全局數(shù)據(jù)線GDLB的輸出和用于接收為端口A寫入的數(shù)據(jù)的寫輸入WDB。讀電路102進一步具有耦合到寫輸入WDB的輸入、用于接收匹配R的輸入、以及用于接收匹配C的輸入。寫電路104進一步具有耦合到寫輸入WDB的輸出、用于接收匹配R的輸入、以及用于接收匹配C的輸入。讀電路106進一步具有耦合到寫輸入WDA的輸入、用于接收匹配R的輸入、以及用于接收匹配C的輸入。
[0020]對于在端口 A和B的行地址是不同的情況下的讀,位線上存在的數(shù)據(jù)有選擇性地分別從端口 A位線和端口 B位線耦合到數(shù)據(jù)線對DLA和DLAb以及數(shù)據(jù)線對DLB和DLBb。該選擇是由端口 A的列地址信號CAOA和CAlA以及端口 B的列地址信號CaOB和CAlB進行的。端口 A行地址所選擇的行解碼器啟用了它的字線,以及端口 B地址所選擇的行解碼器啟用了它的字線。因為端口 A和B的行地址是不同的,“匹配R”未被明確肯定,因此,由于匹配R,沒有行解碼器被禁用。如先前所述,有比所示的更多的存儲器單元存在,并且類似地有更多的位線對和字線,并且因此列選擇和行選擇有更多相應的選擇信號。說明書集中于與諸如用于列選擇的CaOA、CalA、CaOB和CalB以及用于行選擇的WL0A、WL1A、WL0B和WLlB的示出信號相關的選擇和非選擇。R/W A緩沖器76和R/W B緩沖器78各自包括感測電路和寫驅(qū)動。對于讀,R/W A緩沖器76和R/W B緩沖器78分別感測了數(shù)據(jù)線對DLA和DLBb上以及數(shù)據(jù)線對DLB和DLBb上存在的數(shù)據(jù)。在感測之后,數(shù)據(jù)被提供在全局數(shù)據(jù)線⑶LA和⑶LB上。對于寫,數(shù)據(jù)在全局數(shù)據(jù)線⑶LA和⑶LB上被接收。然后,數(shù)據(jù)被R/W A緩沖器76和R/W B緩沖器78分別寫入數(shù)據(jù)線對DLA和DLAb上以及數(shù)據(jù)線對DLB和DLBb上。選擇寫的位線的方式與選擇讀的位線的方式相同。在這個例子中,選擇是二選一。與列地址相關聯(lián)的位線對是選擇用于正常操作的位線對,在正常操作中,端口 A和B的行地址是不同的。對于端口 A,列地址CAOA與位線對BLOA和BLOAb相關聯(lián),而列地址CAlA與位線對BLlA和BLlAb相關聯(lián)。對于端口 B,列地址CAOB與位線對BLOB和BLOBb相關聯(lián),而列地址CAlB與位線對BLlB和BLlBb相關聯(lián)。對于寫,R/ff A緩沖器76和R/WB緩沖器78分別從全局數(shù)據(jù)線⑶LA和⑶LB接收要寫入的數(shù)據(jù)。R/W A緩沖器76將接收的數(shù)據(jù)寫入數(shù)據(jù)線對DLB和DLBb上。R/W B緩沖器78將數(shù)據(jù)寫入數(shù)據(jù)線對DLB和DLBb上。所選擇的列將數(shù)據(jù)線上的數(shù)據(jù)耦合到其位線。例如,如果位線BLOA和BLOAb為端口 A寫入,那么晶體管52和54通過列地址信號CAOA在邏輯高被明確肯定而導電。類似地,如果位線BLlB和BLlBb為端口 B寫入,則列地址信號CAlB被明確肯定以及晶體管72和74是導電的以將數(shù)據(jù)提供到所選擇的位線對BLlB和BLIBb。
[0021]在行地址匹配而列地址不匹配的讀或?qū)懙那闆r下,“匹配R”是邏輯高,使得“匹配Rb”是迫使“與”門82和86在邏輯低提供非明確肯定輸出的邏輯低。因此,即使列地址信號CAlb是邏輯高,晶體管72和74也是非導電,但是由于“匹配R”是邏輯高以及“匹配Cb”是邏輯高,則“與”門84提供了邏輯高輸出。“匹配C”的補體“匹配Cb”是邏輯高以指示尚未發(fā)生列匹配。隨著“與”門84的輸出在邏輯高,晶體管68和70將是端口 A位線的位線對BLlA和BLlAb耦合到是端口 B數(shù)據(jù)線的數(shù)據(jù)線DLB和DLBb。因此,在端口 B上讀或?qū)懙奈粏卧ㄟ^端口 A位線、位線對BLlA和BLlb被端口 B R/W B緩沖器78讀取或?qū)懭?。隨著“匹配R”是邏輯高,所選擇的端口 B行解碼器被禁用。因此,例如,如果圖1的行解碼器30和34都被選擇,那么行匹配解碼器明確肯定“匹配R”,“匹配R”被端口 B行解碼器34接收,這就禁用了端口 B解碼器。隨著端口 B行解碼器被禁用,那么沒有端口 B的字線被啟用,結(jié)果,存儲器單元沿著所選擇的行只耦合到端口 A位線,使得存儲器單元沿著所選擇的行只經(jīng)受端口 A位線對而非端口 B位線對的電容。這就產(chǎn)生了被寫入或讀取的端口 B不存在于端口 B位線上的效果。因此,端口 B數(shù)據(jù)經(jīng)過晶體管被訪問,其中晶體管被連接到端口B數(shù)據(jù)線和端口 B地址所選擇的端口 A位線對。端口 A正常操作,因為端口 A地址所選擇的位線對耦合到端口 A數(shù)據(jù)線,數(shù)據(jù)線DLA和DLAb。
[0022]對于端口 A和B的列地址和端口 A和B的行地址是相同的情況,端口 A和端口 B應對相同的存儲器單元。對于讀和寫,對端口 B位線的訪問被阻止。訪問存儲器單元的唯一途徑是通過端口 A數(shù)據(jù)線和端口 A位線。至端口 A或端口 B的寫入通過至⑶LA的寫電路104以及通過至所選擇的存儲器單元的數(shù)據(jù)線對DLA、DLAB和位線對BLOA、BLOAb或BLlABllAb來完成。R/W B緩沖器78在兩個端口應對相同的存儲器單元的情況下未被使用。R/WA緩沖器76、行解碼器、位線以及數(shù)據(jù)線的端口 A操作基于行或列地址相同或不同沒有發(fā)生改變。在所有這些情況下,端口 A通過端口 A數(shù)據(jù)線、位線和字線訪問存儲器單元。在有或沒有行或列匹配的情況下,一個端口可能獨立于其它端口讀取或?qū)懭脒M行讀取或?qū)懭?。取決于行或列匹配或者缺乏匹配的各自條件在上面已進行描述。在給定存儲器訪問中,選擇的存儲器單元將只通過一個端口的位線來讀取或?qū)懭?,但不是二者,因此不會產(chǎn)生引起邏輯錯誤的沖突或產(chǎn)生等待狀態(tài)。然而,寫耦合到對讀數(shù)據(jù)不利的讀位線的已知可能性必須通過使用現(xiàn)有技術(shù)中的已知設計技術(shù)來解決。
[0023]圖3的讀/寫電路100以不同的方式做出響應,這取決于“匹配C”、“匹配R”,以及取決于端口 A或端口 B是否是寫。對于列地址或行地址中任一個是不同的或二者都不同的情況,端口 A通過全局數(shù)據(jù)線⑶LA從R/W A電路76讀取或?qū)懭隦/W A電路76以及端口 B通過全局數(shù)據(jù)線⑶LB從R/WB電路78讀取或?qū)懭隦/W B電路78。對于端口 A上的讀,讀電路102接收全局數(shù)據(jù)線GDLA上的數(shù)據(jù)、提供了所需的緩沖和定時、并且提供了輸出RDA作為端口 A的輸出。類似地,對于端口 B,讀電路B106通過提供用于端口 B的輸出RDB對全局數(shù)據(jù)線⑶LA上提供的數(shù)據(jù)做出響應。在列地址是不同的但行地址是相同的情況下,將數(shù)據(jù)從在被端口 B列地址選擇的列中的端口 A位線對耦合到端口 B數(shù)據(jù)線對。因此,R/W B緩沖器78給全局數(shù)據(jù)線GDLB提供了端口 B的數(shù)據(jù),該提供方式與行地址是不同的情況的方式相同。類似對于寫,數(shù)據(jù)通過寫電路A104被接收為寫數(shù)據(jù)WDA以及通過寫電路B108被接收為寫數(shù)據(jù)WDB。然后,該數(shù)據(jù)分別根據(jù)寫電路A104和寫電路B108的需要被緩沖和定時而被提供給全局數(shù)據(jù)線⑶LA和⑶LB。
[0024]在另一種情況下,行和列地址匹配以及“匹配R”和“匹配C”被明確肯定為邏輯高,該邏輯高指示兩個端口應對相同的位單元。在寫的情況下,只有一個端口可以寫入共有存儲器單元。嘗試用被明確肯定為高的“匹配R”和“匹配C”寫入的兩個端口是邏輯錯誤,并且沒有寫發(fā)生。此外,“寫沖突”信號被明確肯定為非法寫嘗試的通知。在行地址和列地址匹配的情況下,兩個端口的所有讀和寫通過從全局數(shù)據(jù)線GDLA到圖2的R/W A電路76完成。端口 A或端口 B的寫是通過從端口 A寫電路A104到全局數(shù)據(jù)線⑶LA來完成的。當存在的時候,端口 B的寫數(shù)據(jù)WDB總是被寫電路A和寫電路B接收,但是只被兩個寫電路之一輸出,這取決于行和列地址是否都匹配。
[0025]雖然寫電路A104正常將寫數(shù)據(jù)WDA寫入全局數(shù)據(jù)線⑶LA,但是對于行和列地址是相同的情況,當端口 B是寫的時候,寫電路A104寫入寫數(shù)據(jù)WDB。在這種情況下,寫電路B108是非活躍的。當有行地址匹配和列地址匹配的時候,來自任一個端口的寫數(shù)據(jù)代替了來自全局數(shù)據(jù)線的讀數(shù)據(jù)被寫入讀端口讀輸出寄存器。例如,當端口 B是寫的時候,寫數(shù)據(jù)WDB代替來自全局數(shù)據(jù)線的讀數(shù)據(jù)被寫入讀電路A102輸出寄存器,因此其可以作為讀數(shù)據(jù)RDA被輸出。
[0026]對于有行地址匹配和列地址匹配的讀,數(shù)據(jù)只在全局數(shù)據(jù)線⑶LA上被接收并且被讀電路A102和讀電路B106兩者讀取。由于對端口 A和端口 B的訪問是針對相同的存儲器單元,所以數(shù)據(jù)只需來自一個全局數(shù)據(jù)線。讀電路102和106分別提供了根據(jù)需要定時和緩沖的、作為讀信號RDA和RDB的數(shù)據(jù)。全局數(shù)據(jù)線GDLB在該讀期間仍然是非活躍的。所述讀只在端口 A位線對上所選擇的存儲器單元上進行。在這種情況下,沒必要將位線對耦合到端口 B數(shù)據(jù)線對,這是因為數(shù)據(jù)對于端口 A和端口 B是相同的。因此,只有端口 A的所選擇的位線對耦合到僅一個數(shù)據(jù)線對DLA、DLAb,從而避免了兩個位線或兩個數(shù)據(jù)線的電容耦合到存儲器單元。這在讀操作期間尤為重要以及在保持讀取的時間相同方面也很重要,而不管提供列和行地址的什么組合。另一個好處是最小化了轉(zhuǎn)換最小化數(shù)據(jù)路徑的功耗。
[0027]因此,示出了一種用于訪問多端口存儲器的技術(shù)可以實現(xiàn)避免添加電容,這在當兩個端口沿著相同的行被訪問的時候通常會發(fā)生。沿著相同的行訪問可以輕易地導致多個位線耦合到相同的存儲器單元。這就添加了可以特別地降低讀取的電容。
[0028]很明顯,目前公開了具有第一端口和第二端口的多端口靜態(tài)隨機存取存儲器(SRAM)0所述多端口 SRAM包括多個字線的第一字線和第二字線。所述多端口 SRAM包括多個位線對的第一位線對、第二位線對、第三位線對以及第四位線對。所述多端口 SRAM包括耦合到所述多個字線和所述多個位線對的位單元陣列,其中所述位單元陣列包括第一位單元,所述第一位單元具有第一存儲鎖存器,并且耦合到所述第一字線和所述第一位線對以訪問第一存儲鎖存器,以及耦合到所述第二字線和所述第二位線對以訪問所述第一存儲鎖存器以及第一多個讀/寫數(shù)據(jù)線對的第一讀/寫數(shù)據(jù)線對以用于訪問所述位單元陣列,以及第二組多個讀/寫數(shù)據(jù)線對的第二讀/寫數(shù)據(jù)線對用于訪問所述位單元陣列。所述SRAM進一步特征在于所述第一讀/寫數(shù)據(jù)線對經(jīng)由第一開關邏輯耦合到所述第一位線對,以及所述第二讀/寫數(shù)據(jù)線對經(jīng)由第二開關邏輯耦合到所述第一位線對以及經(jīng)由第三開關邏輯耦合到所述第二位線對。所述多端口 SRAM包括行匹配檢測器,該行匹配檢測器基于第一訪問地址的行地址是否與第二訪問地址的行地址相匹配提供行匹配指示符。所述多端口 SRAM包括列匹配檢測器,該列匹配檢測器基于所述第一訪問地址的列地址是否與所述第二訪問地址的列地址相匹配提供列匹配指示符,其中響應于所述行匹配指示符指示匹配以及所述列匹配指示符未指示匹配,所述第二開關邏輯基于從所述第二訪問地址的所述列地址生成的第一解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第一位線對相連接以及所述第三開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第二位線對解耦。所述多端口 SRAM可以進一步特征在于,響應于所述行匹配指示符未指示匹配,所述第三開關邏輯基于從所述第二訪問地址的所述列地址生成的所述第一解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第二位線對相連接。所述多端口 SRAM可以進一步特征在于,響應于所述行匹配指示符未指示匹配,所述第二開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第一位線對解耦。所述多端口 SRAM可以進一步特征在于,所述第一開關邏輯基于從所述第一訪問地址的所述列地址生成的第一解碼信號有選擇性地將所述第一讀/寫數(shù)據(jù)線對與所述第一位線對相連接。所述多端口 SRAM可以進一步特征在于,所述位單元陣列包括第二位單元,所述第二位單元具有第二存儲鎖存器,并且耦合到所述第一字線和所述第三位線對以訪問所述第二存儲鎖存器,以及耦合到所述第二字線和所述第四位線對以訪問所述第二存儲鎖存器,其中所述第一讀/寫數(shù)據(jù)線對經(jīng)由第四開關邏輯耦合到所述第三位線對,以及所述第二讀/寫數(shù)據(jù)線對經(jīng)由第五開關邏輯耦合到所述第三位線對,以及經(jīng)由第六開關邏輯耦合到所述第四位線對;所述第四開關邏輯基于從所述第一訪問地址的所述列地址生成的第二解碼信號有選擇性地將所述第一讀/寫數(shù)據(jù)線對與所述第三位線對相連接;以及響應于所述行匹配指示符指示匹配以及所述列匹配指示符未指示匹配,所述第五開關邏輯基于從所述第二訪問地址的所述列地址生成的第二解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第三位線對相連接以及所述第六開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第四位線對解耦。所述多端口 SRAM可以進一步特征在于,響應于所述行匹配指示符未指示匹配,所述第六開關邏輯基于從所述第二訪問地址的所述列地址生成的所述第二解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第四位線對相連接。所述多端口 SRAM可以進一步特征在于,響應于所述行匹配指示符未指示匹配,所述第五開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第三位線對解耦。所述多端口 SRAM可以進一步特征在于,響應于所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,耦合到所述第二讀/寫數(shù)據(jù)線對的讀/寫電路被禁用。所述多端口 SRAM可以進一步特征在于,如果所述第一字線基于所述第一訪問地址被激活并且所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,則所述第一讀/寫數(shù)據(jù)線對基于從所述第一訪問地址的所述列地址生成第一解碼信號有選擇性地訪問所述第一位單元以及所述第二字線被禁用。所述多端口 SRAM可以進一步特征在于,響應于基于所述第一訪問地址激活的所述第一字線,從所述第一訪問地址的所述列地址生成的所述第一解碼信號被明確肯定,以及所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,所述多端口 SRAM可以進一步特征在于,如果所述第一訪問地址和所述第二訪問地址分別對應于讀訪問,則所述第一讀/寫數(shù)據(jù)線對提供了來自所述第一位單元的讀數(shù)據(jù),并且所述讀數(shù)據(jù)被提供給所述第一端口和所述第二端口,如果所述第一訪問地址對應于寫訪問,則所述第一端口接收了由所述第一讀/寫數(shù)據(jù)線對提供給所述第一位單元的寫數(shù)據(jù)并且作為讀數(shù)據(jù)被提供給所述第二端口,以及如果所述第二訪問地址對應于寫訪問,則所述第一端口接收由所述第一讀/寫數(shù)據(jù)線對提供給所述第一位單元并且作為讀數(shù)據(jù)被提供給所述第一端口的寫數(shù)據(jù)。所述多端口 SRAM可以進一步包括第一行解碼電路,該第一行解碼電路耦合到所述多個字線的第一子集,包括所述第一字線,其中所述第一行解碼電路基于所述第一訪問地址激活所述第一子集的字線;以及第二行解碼電路,該第二行解碼電路耦合到所述多個字線的第二子集,包括所述第二字線,其中所述第一子集和所述第二子集互相排斥。所述多端口 SRAM可以進一步特征在于,當所述行匹配指示符未指示匹配的時候,所述第二行解碼電路基于所述第二訪問地址激活了所述第二子集的字線,以及當所述行匹配指示符指示匹配的時候,所述第二行解碼電路被禁用,其中所述第二字線被禁用。所述多端口 SRAM可以進一步特征在于,當所述行匹配指示符未指示匹配的時候,所述第一多個讀/寫數(shù)據(jù)線對響應于所述第一訪問地址訪問了所述位單元陣列的第一組位單元,以及所述第二多個讀/寫數(shù)據(jù)線響應于所述第二訪問地址訪問了所述位單元陣列的,與所述第一組位單元相互排斥的第二組位單元。所述多端口 SRAM可以進一步特征在于,所述訪問所述第一多個讀/寫數(shù)據(jù)線對與所述訪問所述第二多個讀/寫數(shù)據(jù)線對同時發(fā)生。
[0029]還公開的是一種用于訪問多端口靜態(tài)隨機存取存儲器(SRAM)的方法,該多端口靜態(tài)隨機存取存儲器(SRAM)具有多個字線、多個位線對、以及耦合到所述多個字線和所述多個位線對的多個位單元,其中所述多個位單元中的每一個耦合到所述多個位線對的第一位線對和第二位線對以及所述多個字線的第一字線和第二字線。所述方法包括給所述多端口 SRAM提供第一訪問地址和第二訪問地址。所述方法進一步包括:如果所述行匹配指示符指示匹配以及所述列匹配指示符未指示匹配,則對于所述第一訪問地址所選擇的每個位單元,使用所述多端口 SRAM的第一讀/寫數(shù)據(jù)線對,去激活所述多個位單元的每個位單元的所述第二字線,以訪問使用所述第一位線對和所述第一字線由所述第一訪問地址選擇的位單元。所述方法進一步包括:對于所述第一訪問地址所選擇的每個位單元,使用所述多端口SRAM的第一讀/寫數(shù)據(jù)線對訪問使用所述第一位線對和所述第一字線由所述第一訪問地址選擇的所述位單元,對于所述第二訪問地址所選擇的每個位單元,使用所述多端口 SRAM的第二讀/寫數(shù)據(jù)線對訪問使用所述第一位線對和所述第一字線由所述第二訪問地址選擇的所述位單元,以及將所述第二讀/寫數(shù)據(jù)線對從所述多個位單元的所述第二位線對解耦。所述方法進一步包括:如果所述行匹配指示符未指示匹配,則對于所述第一訪問地址所選擇的每個位單元,使用所述第一讀/寫數(shù)據(jù)線對執(zhí)行對于使用所述第一位線對和所述第一字線由所述第一訪問地址選擇的位單元進行訪問的讀和寫,以及對于所述第二訪問地址所選擇的每個位單元,使用所述第二讀/寫數(shù)據(jù)線對執(zhí)行對于使用所述第二位線對和所述第二字線由所述第二訪問地址選擇的位單元進行訪問的讀和寫。所述方法進一步包括:如果所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,如果所述第一訪問地址和所述第二訪問地址分別對應于讀訪問,則使用所述第一讀/寫數(shù)據(jù)線對來訪問來自由所述第一訪問地址選擇的位單元的讀數(shù)據(jù),并且在所述多端口 SRAM的第一端口和第二端口的每一個處作為讀數(shù)據(jù)輸出提供讀數(shù)據(jù),如果所述第一訪問地址對應于寫訪問,則在所述第一端口接收寫數(shù)據(jù),在所述第二端口處作為讀數(shù)據(jù)輸出提供所接收的寫數(shù)據(jù),并且使用所述第一讀/寫數(shù)據(jù)線對將所接收的寫數(shù)據(jù)存儲到由所述第一訪問地址所選擇的位單元,以及如果所述第二訪問地址對應于寫訪問,則在所述第一端口接收寫數(shù)據(jù),在所述第一端口處作為讀數(shù)據(jù)輸出提供所接收的寫數(shù)據(jù),并且使用所述第一讀/寫數(shù)據(jù)線對將所接收的寫數(shù)據(jù)存儲到由所述第一訪問地址所選擇的位單元。
[0030]還公開的是一種具有用于接收第一訪問地址的第一端口以及用于接收第二訪問地址的第二端口的多端口靜態(tài)隨機存取存儲器(SRAM),所述多端口 SRAM包括行匹配檢測器,該行匹配檢測器基于從所述第一訪問地址導出的第一行地址是否與從所述第二訪問地址導出的第二行地址相匹配來提供行匹配指示符。所述多端口 SRAM進一步包括列匹配檢測器,該列匹配檢測器基于從所述第一訪問地址導出的第一列地址是否與從所述第二訪問地址導出的第二列地址相匹配來提供列匹配指示符。所述多端口 SRAM進一步包括第一位單元,該第一位單元具有第一存儲鎖存器,并且耦合到第一字線、第一真位線、以及第一互補位線以訪問所述存儲鎖存器,以及耦合到第二字線、第二真位線、以及第二互補位線以訪問所述第一存儲鎖存器。所述多端口 SRAM進一步包括第二位單元,該第二位單元具有第二存儲鎖存器,并且耦合到所述第一字線、第三真位線、以及第三互補位線以訪問所述第二存儲鎖存器,以及耦合到所述第二字線、第四真位線、以及第四互補位線以訪問所述第二存儲鎖存器。所述多端口 SRAM進一步包括第一數(shù)據(jù)線對,其中所述第一真位線和第一互補位線經(jīng)由第一開關邏輯耦合到所述第一數(shù)據(jù)線對,該第一開關邏輯對從所述第一訪問地址生成的第一列解碼信號做出響應。所述多端口 SRAM進一步包括第二數(shù)據(jù)線對,其中所述第一真位線和第一互補位線經(jīng)由第二開關邏輯耦合到所述第一數(shù)據(jù)線對,所述第二開關邏輯對從所述第二訪問地址生成的第一列解碼信號、行匹配指示符以及列匹配指示符的第一邏輯組合做出響應,并且其中所述第二真位線和第二互補位線經(jīng)由第三開關邏輯耦合到所述第二數(shù)據(jù)線對,該第三開關邏輯對從所述第二訪問地址生成所述第一列解碼信號和所述行匹配指示符的第二邏輯組合做出響應。所述多端口 SRAM可以進一步特征在于,當從所述第二訪問地址生成的所述第一列解碼信號被明確肯定、所述行匹配指示符指示匹配、以及所述列匹配指示符未指示匹配的時候,所述第二開關邏輯將所述第一真位線和第一互補位線連接到所述第二數(shù)據(jù)線對,并且以其它方式將所述第一真位線和第一互補位線從所述第二數(shù)據(jù)線對解耦,以及當從所述第二訪問地址生成的所述第一列解碼信號被明確肯定并且所述行匹配指示符未指示匹配的時候,所述第三開關邏輯將所述第二真位線和第二互補位線連接到所述第二數(shù)據(jù)線對,并且以其它方式將所述第二真位線和第二互補位線從所述第二數(shù)據(jù)線對解耦。所述多端口 SRAM可以進一步特征在于,當從所述第一訪問地址生成的所述第一列解碼信號被明確肯定的時候,所述第一開關邏輯將所述第一真位線和第一互補位線連接到所述第一數(shù)據(jù)線對,以及當從所述第一訪問地址生成的所述第一列解碼信號被非明確肯定的時候,將所述第一真位線和第一互補位線從所述第一數(shù)據(jù)線對解耦。
[0031]由于實施本發(fā)明的裝置大部分是由本領域所屬技術(shù)人員所熟知的電子元件以及電路組成,所以電路的細節(jié)不會在比上述所說明的認為有必要的程度大的任何程度上進行解釋。對本發(fā)明基本概念的理解以及認識是為了不混淆或偏離本發(fā)明所教之內(nèi)容。
[0032]雖然本發(fā)明的描述參考具體實施例,但是在不脫離如所附權(quán)利要求所闡述的本發(fā)明范圍的情況下可以進行各種修改以及變化。例如,本發(fā)明是在兩個端口的情況下被描述的,其可以被應用于具有多于兩個端口的存儲架構(gòu)。因此,說明書以及附圖應當被認為是說明性而不是限制性的含義,并且所有這種修改意在被包括在本發(fā)明的范圍內(nèi)。關于具體實施例,本發(fā)明所描述的任何好處、優(yōu)點或解決方案都不旨在被解釋為任何或所有權(quán)利要求關鍵的、必需的、或必要特征或元素。
[0033]此外,本發(fā)明所用的“一”或“一個”被定義為一個或多個。而且,在權(quán)利要求中所用詞語如“至少一個”以及“一個或多個”不應所述解釋為通過不定冠詞“一”或“一個”引入的其它權(quán)利要求元素限定任何其它特定權(quán)利要求。所述特定權(quán)利要求包括這些所介紹的對發(fā)明的權(quán)利元素,所述權(quán)利元素不僅僅包括這樣的元素。即使當同一權(quán)利要求中包括介紹性短語“一個或多個”或“至少一個”以及不定冠詞,例如“一”或“一個”。這對定冠詞的使用也是如此。
[0034]除非另有說明,使用術(shù)語如“第一”以及“第二”是用于任意區(qū)分這些術(shù)語描述的元素。因此,這些術(shù)語不一定意在指示這樣的元素的時間上或其它優(yōu)先次序。
【權(quán)利要求】
1.一種具有第一端口和第二端口的多端口靜態(tài)隨機存取存儲器(SRAM),包括: 多個字線的第一字線和第二字線; 多個位線對的第一位線對、第二位線對、第三位線對以及第四位線對; 位單元陣列,所述位單元陣列耦合到所述多個字線和所述組多個位線對,其中所述位單元陣列包括: 第一位單元,所述第一位單元具有第一存儲鎖存器,并且耦合到所述第一字線和所述第一位線對以訪問第一存儲鎖存器,以及耦合到所述第二字線和所述第二位線對以訪問所述第一存儲鎖存器; 第一多個讀/寫數(shù)據(jù)線對的第一讀/寫數(shù)據(jù)線對以用于訪問所述位單元陣列,以及第二多個讀/寫數(shù)據(jù)線對的第二讀/寫數(shù)據(jù)線以對用于訪問所述位單元陣列,其中: 所述第一讀/寫數(shù)據(jù)線對經(jīng)由第一開關邏輯耦合到所述第一位線對;以及所述第二讀/寫數(shù)據(jù)線對經(jīng)由第二開關邏輯耦合到所述第一位線對以及經(jīng)由第三開關邏輯耦合到所述第二位線對; 行匹配檢測器,所述行匹配檢測器基于第一訪問地址的行地址是否與第二訪問地址的行地址相匹配來提供行匹配指示符;以及 列匹配檢測器,所述列匹配檢測器基于所述第一訪問地址的列地址是否與所述第二訪問地址的列地址相匹配來提供列匹配指示符,其中響應于所述行匹配指示符指示匹配以及所述列匹配指示符未指示匹配,所述第二開關邏輯基于從所述第二訪問地址的所述列地址生成的第一解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第一位線對相連接以及所述第三開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第二位線對解耦。
2.根據(jù)權(quán)利要求1所述的多端口SRAM,其中響應于所述行匹配指示符未指示匹配,所述第三開關邏輯基于從所述第二訪問地址的所述列地址生成的所述第一解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第二位線對相連接。
3.根據(jù)權(quán)利要求2所述的多端口SRAM,其中響應于所述行匹配指示符未指示匹配,所述第二開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第一位線對解耦。
4.根據(jù)權(quán)利要求3所述的多端口SRAM,其中所述第一開關邏輯基于從所述第一訪問地址的所述列地址生成的第一解碼信號有選擇性地將所述第一讀/寫數(shù)據(jù)線對與所述第一位線對相連接。
5.根據(jù)權(quán)利要求1所述的多端口SRAM,其中所述位單元陣列包括: 第二位單元,所述第二位單元具有第二存儲鎖存器,并且耦合到所述第一字線和所述第三位線對以訪問所述第二存儲鎖存器,以及耦合到所述第二字線和所述第四位線對以訪問所述第二存儲鎖存器; 其中所述第一讀/寫數(shù)據(jù)線對經(jīng)由第四開關邏輯耦合到所述第三位線對,以及所述第二讀/寫數(shù)據(jù)線對經(jīng)由第五開關邏輯耦合到所述第三位線對,以及經(jīng)由第六開關邏輯耦合到所述第四位線對; 其中所述第四開關邏輯基于從所述第一訪問地址的所述列地址生成的第二解碼信號有選擇性地將所述第一讀/寫數(shù)據(jù)線對與所述第三位線對相連接;以及 其中響應于所述行匹配指示符指示匹配以及所述列匹配指示符未指示匹配,所述第五開關邏輯基于從所述第二訪問地址的所述列地址生成的第二解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第三位線對相連接以及所述第六開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第四位線對解耦。
6.根據(jù)權(quán)利要求5所述的多端口SRAM,其中響應于所述行匹配指示符未指示匹配,所述第六開關邏輯基于從所述第二訪問地址的所述列地址生成的所述第二解碼信號有選擇性地將所述第二讀/寫數(shù)據(jù)線對與所述第四位線對相連接。
7.根據(jù)權(quán)利要求6所述的多端口SRAM,其中響應于所述行匹配指示符未指示匹配,所述第五開關邏輯將所述第二讀/寫數(shù)據(jù)線對從所述第三位線對解耦。
8.根據(jù)權(quán)利要求1所述的多端口SRAM,其中響應于所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,耦合到所述第二讀/寫數(shù)據(jù)線對的讀/寫電路被禁用。
9.根據(jù)權(quán)利要求1所述的多端口SRAM,其中如果所述第一字線基于所述第一訪問地址被激活并且所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,則: 所述第一讀/寫數(shù)據(jù)線對基于從所述第一訪問地址的所述列地址生成的第一解碼信號有選擇性地訪問所述第一位單元;以及所述第二字線被禁用。
10.根據(jù)權(quán)利要求9所述的多端口SRAM,其中響應于: 基于所述第一訪問地址激活所述第一字線; 從所述第一訪問地址的所述列地址生成的所述第一解碼信號被明確肯定;以及 所述行指示符指示匹配以及所述列匹配指示符指示匹配; 所述多端口 SRAM進一步特征在于: 如果所述第一訪問地址和所述第二訪問地址分別對應于讀訪問,則所述第一讀/寫數(shù)據(jù)線對提供來自所述第一位單元的讀數(shù)據(jù),并且所述讀數(shù)據(jù)被提供給所述第一端口和所述第二端口 ; 如果所述第一訪問地址對應于寫訪問,則所述第一端口接收由所述第一讀/寫數(shù)據(jù)線對提供給所述第一位單元并且作為讀數(shù)據(jù)被提供給所述第二端口的寫數(shù)據(jù);以及 如果所述第二訪問地址對應于寫訪問,則所述第一端口接收由所述第一讀/寫數(shù)據(jù)線對提供給所述第一位單元并且作為讀數(shù)據(jù)被提供給所述第一端口的寫數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的多端口SRAM,進一步包括: 第一行解碼電路,所述第一行解碼電路耦合到所述多個字線的第一子集,包括所述第一字線,其中所述第一行解碼電路基于所述第一訪問地址激活所述第一子集的字線;以及第二行解碼電路,所述第二行解碼電路耦合到所述多個字線的第二子集,包括所述第二字線,其中所述第一子集和所述第二子集相互排斥。
12.根據(jù)權(quán)利要求11所述的多端口SRAM,其中 當所述行匹配指示符未指示匹配的時候,所述第二行解碼電路基于所述第二訪問地址激活所述第二子集的字線;以及 當所述匹配指示符指示匹配的時候,所述第二行解碼電路被禁用,其中所述第二字線被禁用。
13.根據(jù)權(quán)利要求1所述的多端口SRAM,其中,當所述行匹配指示符未指示匹配的時候,所述第一多個讀/寫數(shù)據(jù)線對響應于所述第一訪問地址而訪問所述位單元陣列的第一組位單元,以及所述第二多個讀/寫數(shù)據(jù)線響應于所述第二訪問地址而訪問所述位單元陣列的、與所述第一組位單元相互排斥的第二組位單元。
14.根據(jù)權(quán)利要求13所述的多端口SRAM,其中所述訪問所述第一多個讀/寫數(shù)據(jù)線對與所述訪問所述第二多個讀/寫數(shù)據(jù)線對同時發(fā)生。
15.一種用于訪問多端口靜態(tài)隨機存取存儲器(SRAM)的方法,所述多端口靜態(tài)隨機存取存儲器(SRAM)具有多個字線、多個位線對、以及耦合到所述多個字線和所述多個位線對的多個位單元,其中所述多個位單元中的每個耦合到所述多個位線對的第一位線對和第二位線對以及所述多個字線的第一字線和第二字線,所述方法包括: 給所述多端口 SRAM提供第一訪問地址和第二訪問地址; 基于所述第一訪問地址的行地址和所述第二訪問地址的行地址之間的比較來提供行匹配指示符,以及基于所述第一訪問地址的列地址和所述第二訪問地址的列地址之間的比較來提供列匹配指示符;以及 如果所述行匹配指示符指示匹配以及所述列匹配指示符未指示匹配,則: 去激活用于所述多個位單元的每個位單元的所述第二字線; 對于所述第一訪問地址所選擇的每個位單元,使用所述多端口 SRAM的第一讀/寫數(shù)據(jù)線對訪問使用所述第一位線對和所述第一字線由所述第一訪問地址選擇的所述位單元; 對于所述第二訪問地 址所選擇的每個位單元,使用所述多端口 SRAM的第二讀/寫數(shù)據(jù)線對訪問使用所述第一位線對和所述第一字線由所述第二訪問地址選擇的所述位單元;以及 將所述第二讀/寫數(shù)據(jù)線對從所述多個位單元的所述第二位線對解耦。
16.根據(jù)權(quán)利要求15所述的方法,其中,如果所述行匹配指示符未指示匹配,則所述方法包括: 對于所述第一訪問地址所選擇的每個位單元,使用所述第一讀/寫數(shù)據(jù)線對執(zhí)行對于使用所述第一位線對和所述第一字線由所述第一訪問地址選擇的位單元的讀或?qū)懺L問;以及 對于所述第二訪問地址所選擇的每個位單元,使用所述第二讀/寫數(shù)據(jù)線對執(zhí)行對于使用所述第二位線對和所述第二字線由所述第二訪問地址選擇的位單元的讀或?qū)懺L問。
17.根據(jù)權(quán)利要求15所述的方法,其中,如果所述行匹配指示符指示匹配以及所述列匹配指示符指示匹配,則所述方法包括: 如果所述第一訪問地址和所述第二訪問地址分別對應于讀訪問,則使用所述第一讀/寫數(shù)據(jù)線對訪問來自由所述第一訪問地址選擇的位單元的讀數(shù)據(jù),并且在所述多端口 SRAM的第一端口和第二端口的每一個處作為讀數(shù)據(jù)輸出提供所述讀數(shù)據(jù); 如果所述第一訪問地址對應于寫訪問,則在所述第一端口接收寫數(shù)據(jù),在所述第二端口處作為所述讀數(shù)據(jù)輸出提供所接收的寫數(shù)據(jù),并且使用所述第一讀/寫數(shù)據(jù)線對將所接收的寫數(shù)據(jù)存儲到由所述第一訪問地址選擇的位單元;以及 如果所述第二訪問地址對應于寫訪問,則在所述第一端口接收寫數(shù)據(jù),在所述第一端口處作為所述讀數(shù)據(jù)輸出提供所接收的寫數(shù)據(jù),并且使用所述第一讀/寫數(shù)據(jù)線對將所接收的寫數(shù)據(jù)存儲到由所述第一訪問地址選擇的位單元。
18.一種多端口靜態(tài)隨機存取存儲器(SRAM),所述多端口靜態(tài)隨機存取存儲器(SRAM)具有用于接收第一訪問地址的第一端口以及用于接收第二訪問地址的第二端口,所述多端口 SRAM包括: 行匹配檢測器,所述行匹配檢測器基于從所述第一訪問地址導出的第一行地址是否與從所述第二訪問地址導出的第二行地址相匹配來提供行匹配指示符; 列匹配檢測器,所述列匹配檢測器基于從所述第一訪問地址導出的第一列地址是否與從所述第二訪問地址導出的第二列地址相匹配來提供列匹配指示符; 第一位單元,所述第一位單元具有第一存儲鎖存器,并且耦合到第一字線、第一真位線、以及第一互補位線以訪問所述存儲鎖存器,以及耦合到第二字線、第二真位線、以及第二互補位線以訪問所述第一存儲鎖存器; 第二位單元,所述第二位單元具有第二存儲鎖存器,并且耦合到所述第一字線、第三真位線、以及第三互補位線以訪問所述第二存儲鎖存器,以及耦合到所述第二字線、第四真位線、以及第四互補位線以訪問所述第二存儲鎖存器; 第一數(shù)據(jù)線對,其中所述第一真位線和第一互補位線經(jīng)由第一開關邏輯耦合到所述第一數(shù)據(jù)線對,所述第一開關邏輯對從所述第一訪問地址生成的第一列解碼信號做出響應;以及 第二數(shù)據(jù)線對,其中所述第一真位線和第一互補位線經(jīng)由第二開關邏輯耦合到所述第一數(shù)據(jù)線對,所述第二開關邏輯對從所述第二訪問地址生成的第一列解碼信號、行匹配指示符以及列匹配指示符的第一邏輯組合做出響應,并且其中所述第二真位線和第二互補位線經(jīng)由第三開關邏輯耦合到所述第二數(shù)據(jù)線對,所述第三開關邏輯對從所述第二訪問地址生成的所述第一列解碼信號和所述行匹配指示符的第二邏輯組合做出響應。
19.根據(jù)權(quán)利要求18所述的多端口SRAM,其中: 當從所述第二訪問地址生成的所述第一列解碼信號被明確肯定、所述行匹配指示符指示匹配、以及所述列匹配指示符未指示匹配的時候,所述第二開關邏輯將所述第一真位線和第一互補位線連接到所述第二數(shù)據(jù)線對,并且以其它方式將所述第一真位線和第一互補位線從所述第二數(shù)據(jù)線對解耦;以及 當從所述第二訪問地址生成的所述第一列解碼信號被明確肯定并且所述行匹配指示符未指示匹配的時候,所述第三開關邏輯將所述第二真位線和第二互補位線連接到所述第二數(shù)據(jù)線對,并且以其它方式將所述第二真位線和第二互補位線從所述第二數(shù)據(jù)線對解率禹。
20.根據(jù)權(quán)利要求19所述的多端口SRAM,其中:
當從所述第一訪問地址生成的所述第一列解碼信號被明確肯定的時候,所述第一開關邏輯將所述第一真位線和第一互補位線連接到所述第一數(shù)據(jù)線對,以及當從所述第一訪問地址生成的所述第一列解碼信號未被明確肯定的時候,將所述第一真位線和第一互補位線從所述第一數(shù)據(jù)線對解耦。
【文檔編號】G11C11/413GK103928048SQ201410016209
【公開日】2014年7月16日 申請日期:2014年1月14日 優(yōu)先權(quán)日:2013年1月14日
【發(fā)明者】佩里·H·派萊伊 申請人:飛思卡爾半導體公司