欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通過內(nèi)部操作驗證進行安全的存儲器存儲的制作方法

文檔序號:6771945閱讀:173來源:國知局
專利名稱:通過內(nèi)部操作驗證進行安全的存儲器存儲的制作方法
技術領域
本發(fā)明總體上涉及計算機存儲器,并且特別涉及計算機存儲器中的多位錯誤檢測。
背景技術
在最新技術的運輸系統(tǒng)中,常常采用計算機以用于安全關鍵的功能??梢詫⒂嬎銠C與被配置成感測所述運輸系統(tǒng)的操作的傳感器系統(tǒng)相耦合,并且以人類能力所不能匹配的速度和可信性對可能的危險情況做出反應。舉例來說,在汽車中可以使用基于計算機的傳感器來調(diào)節(jié)氣囊、剎車系統(tǒng)等等的操作。安全關鍵的計算機系統(tǒng)常常依賴于存儲在存儲器(例如閃存、SRAM、DRAM等等)中的數(shù)據(jù)來進行適當?shù)牟僮鳌?梢詫嵤┘m錯碼(ECC)來提高被用來通過檢測及糾正存儲器單元錯誤而執(zhí)行的安全關鍵功能的存儲器的可靠性。某些糾錯碼可以被用來檢測及糾正單個位錯誤(例如可以通過SE⑶ED來糾正及確定特定存儲器字中的一個無效位)。其他更加復雜的糾錯碼允許檢測和/或糾正雙位錯誤(例如可以通過DECTED來糾正及確定特定存儲器字中的兩個無效位)或者甚至多位錯誤(例如三位錯誤)。圖1示出了示例性存儲器塊102的方框圖100,所述存儲器塊102被配置成利用 ECC實施糾錯機制。如圖1中所示,存儲器塊102可以包括存儲器陣列104,其具有由感測放大器106激活的多條位線以及由行解碼器108激活的多條字線。被配置成存儲對應于數(shù)據(jù)位的電荷的相應的MOS晶體管器件(未示出)可以具有耦合到位線的第一端子、耦合到共享或單一源極線的第二端子以及耦合到字線的柵極。為了執(zhí)行錯誤檢測,存儲器陣列104被配置成存儲包含數(shù)據(jù)的數(shù)據(jù)字段以及包含一個或多個校驗位和/或奇偶校驗位的ECC信息位。因此,一般來說,存儲器陣列104包括用于存儲數(shù)據(jù)位的多條位線,以及用于存儲ECC信息的多條位線。在讀取數(shù)據(jù)時,與ECC存儲器地址一起傳送將在其中寫入信息位的數(shù)據(jù)存儲器地址。在對所請求的字線和位線進行解碼之前,分別由地址解碼器116和地址ECC校驗114 在本地對所述數(shù)據(jù)和ECC存儲器地址進行校驗。隨后通過選擇性地激活字線(利用行解碼器108)和位線(利用感測放大器106)從存儲器陣列104的地址讀取數(shù)據(jù)位和ECC信息位。 具體來說,在讀取操作期間,可以將字線設定到高數(shù)據(jù)狀態(tài),從而激活MOS晶體管器件的柵極并且使得存儲在該晶體管中的數(shù)據(jù)驅(qū)動到位線。從所述存儲器陣列讀取的ECC信息位可以被用來檢測及糾正從該存儲器陣列中讀取的相關聯(lián)的數(shù)據(jù)位中的錯誤。類似地,在寫入數(shù)據(jù)時,通過選擇性地激活字線(利用行解碼器108)以及一條或多條位線(利用感測放大器106)將數(shù)據(jù)位和ECC信息位寫入到存儲器模塊中。舉例來說,可以向字線施加大于MOS晶體管器件的閾值電壓的電壓,從而將所述晶體管耦合到位線。隨后升高位線,從而導致將電子或空穴注入到浮動柵極??梢栽趯懭胩幚砥陂g對于正被寫入到存儲器陣列的數(shù)據(jù)位計算ECC信息位,并且將其寫入到與所述數(shù)據(jù)位相關聯(lián)的存儲器位置。


圖1示出了包括數(shù)據(jù)位和糾錯碼位的存儲器陣列的方框圖。圖2示出了包括地址簽名發(fā)生器的存儲器塊的方框圖,所述存儲器塊被配置成檢測導致多個存儲器單元故障的地址線故障。圖3示出了這里所提供的地址簽名發(fā)生器的具體操作實例。圖4示出了這里所提供的存儲器塊的實施例,其中所述地址簽名發(fā)生器包括被配置成驅(qū)動M)R (異或)邏輯電路的地址解碼器。圖5示出了這里所提供的存儲器塊的替換實施例,其中所述地址簽名發(fā)生器包括耦合到地址比較器的第二存儲器。圖6示出了傳感器系統(tǒng)的一個實施例的方框圖,所述傳感器系統(tǒng)包括用于確定測量器件的電容性和電阻性分量的測量電路。圖7是示出了檢測導致正在計算機系統(tǒng)中傳送的數(shù)據(jù)流中的多位故障的地址線錯誤的示例性方法的流程圖。
具體實施例方式下面將參照附圖描述本發(fā)明,其中相同的附圖標記一直被用來表示相同的元件, 并且所示出的結(jié)構和器件不一定是按比例繪制的。糾錯碼(ECC)被廣泛用于提高向/從數(shù)字存儲器傳輸?shù)臄?shù)據(jù)的完整性。雖然通過利用ECC保護所存儲的數(shù)據(jù)可以提供針對基于單元的故障(例如單個位故障、雙位故障等等)的保護,但是其無法提供對于通常產(chǎn)生錯誤的多位故障(例如字線破損(breaks)、交叉線(cross lines)、明線(open lines)、短路線等等)的地址線存儲器故障的高診斷覆蓋范圍。舉例來說,當由于字線中的故障(例如交叉耦合的字線導致不對應于所請求的存儲器地址的多條字線的激活)而使得多個存儲器單元發(fā)生故障時,可能無法利用傳統(tǒng)的ECC執(zhí)行檢錯或糾錯。相應地,在這里公開了一種用于檢測多位地址線(例如字線、位線)存儲器故障的方法和結(jié)構。所述方法和結(jié)構包括通過對來自存儲器陣列內(nèi)部的已激活元件(例如字線) 的內(nèi)部生成的地址信號進行重新編碼而生成地址簽名,以及將所生成的地址簽名與所請求的期望存儲器地址進行比較。生成(例如重新編碼)地址簽名提供閉環(huán)校驗,即校驗在存儲器陣列中實際激活的字線和/或位線是所請求的字線和/或位線,而沒有其他字線或位線也被觸發(fā),并且所述字線和/或位線是連續(xù)的。因此,如這里所提供的,重新生成的地址簽名與所請求的存儲器地址的比較可以確保所激活的地址線(例如所激活的字線和/或位線) 實際對應于所請求的存儲器地址(例如所請求的字線和/或位線)。更具體來說,在一個實施例中,存儲器塊可以被配置成包括電耦合到第一存儲器陣列(例如SRAM、閃存、!^eRAM等等)的各條地址線的地址簽名發(fā)生器。所述地址簽名發(fā)生器被配置成從第一存儲器陣列內(nèi)部的實際選擇的地址線和/或相關聯(lián)的信號重新生成地址簽名。隨后可以使用比較電路來把所述重新生成的地址簽名與所請求的存儲器位置進行比較,以便確保第一存儲器陣列中的實際選擇的字線和/或位線是實際請求的字線和/或位線。在一個實施例中,所述比較電路還可以被配置成在所述重新生成的地址簽名指示實際激活的地址線(即由所述重新生成的地址簽名指示)不對應于所請求的存儲器地址線的情況下(例如向主機處理器)提供錯誤信號。應當認識到,雖然這里所提供的附圖(例如圖2 - 6)描述了可以被用來基于所激活的字線生成地址簽名的地址簽名發(fā)生器,但是也可以替換地使用地址簽名發(fā)生器基于所激活的位線生成地址簽名以便檢測多位位線錯誤(例如地址簽名發(fā)生器可以被配置在位線的末端,以便在激活一條或多條位線時返回地址簽名)。圖2示出了存儲器塊202的方框圖200,其包括用于檢測地址線故障的內(nèi)部配置。 如圖2中所示,存儲器塊202包括耦合到第一存儲器陣列206的地址簽名發(fā)生器204。在一個實施例中,第一存儲器陣列206可以包括矩陣結(jié)構,其具有在第一方向上延伸的基本上平行的字線,所述字線由耦合到其一端的字線激活電路216驅(qū)動。第一存儲器陣列206還可以包括在與第一方向基本上垂直的第二方向上延伸的多條基本上平行的位線,所述位線由耦合到其一端的位線激活電路214驅(qū)動。如圖2中所示,第一存儲器陣列通??梢园ǘ鄠€塔(tower),所述塔具有特定數(shù)目的位寬(例如256位)加上用于糾錯碼的一些額外位。在存儲器操作請求(即讀取或?qū)懭胝埱?期間,可以將數(shù)據(jù)、糾錯碼(ECC)和/或所請求的存儲器地址(例如由主機處理單元222)提供到存儲器塊202。在一個實施例中,可以通過一條或多條總線(bus wire)將數(shù)據(jù)、ECC和相關聯(lián)的存儲器地址傳輸?shù)酱鎯ζ鲏K202。數(shù)據(jù)緩沖器208可以被配置成接收來自數(shù)據(jù)總線的數(shù)據(jù),并且在將其移動到第一存儲器陣列206的同時暫時保持所述數(shù)據(jù)。類似地,ECC塊210可以被配置成接收包括也可以被寫入到第一存儲器陣列206內(nèi)的存儲器位置的校驗位和/或奇偶校驗位的ECC。在一個實施例中,ECC塊210還可以被配置成糾正被寫入到和/或讀取自第一存儲器陣列206的數(shù)據(jù)(例如可以在將數(shù)據(jù)寫入到第一存儲器陣列206之前由ECC塊210計算ECC校驗位)。第一地址解碼器212可以被配置成接收來自地址總線的地址,其中所述地址對應于第一存儲器陣列206內(nèi)的存儲器位置?;谒邮盏降牡刂?,可以選擇性地激活(例如通過位線激活電路214和/或字線激活電路216)第一存儲器陣列206中的位線和字線,以便向/從所述存儲器位置讀取或?qū)懭霐?shù)據(jù)。在一個實施例中,地址簽名發(fā)生器204可以耦合到第一存儲器陣列206的各字線的末端。在這樣的實施例中,可以在激活字線時激活地址簽名發(fā)生器204。在激活時,地址簽名發(fā)生器204可以被配置成基于實際激活的(多條)字線生成地址簽名。在一個實施例中,所生成的地址簽名可以包括重新生成的地址的無損編碼。在替換實施例中,所生成的地址簽名可以包括未壓縮地址。在另一個替換實施例中,所生成的地址簽名可以比實際地址更寬,以便能夠檢測多項字線和/或位線選擇??梢詫⑺傻牡刂泛灻c所請求的地址進行比較,以便確定第一存儲器陣列 206中的字線錯誤(例如字線具有破損或者包括過高阻抗從而不允許讀取/寫入電流使能之)。在一個實施例中,地址簽名發(fā)生器204可以被配置成執(zhí)行所述比較(例如利用比較器電路)。在替換實施例中,可以通過單獨的處理單元(例如主機處理器)來確定所述比較。如圖2中所示,地址簽名緩沖器220被配置成接收來自地址簽名發(fā)生器204的所生成的地址簽名,并且在將其移動到比較電路(未示出)的同時暫時保持所生成的地址簽名。在一個實施例中,可以在每一個相關聯(lián)的數(shù)據(jù)分組上將所生成的地址簽名與所請求的地址進行比較,從而可以在每一次存取時獲得地址一致性。如果重新生成的地址簽名和相關聯(lián)的所請求地址相同(例如指示將要激活相同的字線),則在所述讀取或?qū)懭氩僮髦胁淮嬖阱e誤。但是如果重新生成的地址簽名和相關聯(lián)的所請求地址不相同(例如指示不同于所請求的字線被激活),則在所述讀取和/或?qū)懭氩僮髦写嬖阱e誤,并且可以向主機CPU 沫示出)提供指示所述存儲器讀取和/或?qū)懭氩僮髦械腻e誤的錯誤信號。在一個實施例中, 在檢測到錯誤之后,可以為所述主機給出信道控制(即總線控制)以便重試所述讀取和/或?qū)懭氩僮?,從而避免死鎖和其他困境(corner case)而不受硬件實現(xiàn)方式的限制。在另一個實施例中,通過為每一個數(shù)據(jù)分組寫入請求生成地址,所述地址簽名發(fā)生器可以提供對于使用點處的寫入錯誤的早期檢測。這種早期檢測允許定位錯誤并且允許在此時使用恢復機制來糾正所述錯誤(例如允許將數(shù)據(jù)寫入到存儲器陣列中的替換地址或者寫入到替換存儲器塊)。相應地,如圖2中所示,提供存儲器塊的內(nèi)部結(jié)構之內(nèi)的閉環(huán)校驗,以便減少與地址有關的故障。所述閉環(huán)校驗確保在第一存儲器內(nèi)所選擇的讀取或?qū)懭氲刂氛埱笫钦_的存儲器地址。雖然圖2被顯示為具有耦合到第一存儲器陣列的字線的地址簽名發(fā)生器,但是應當認識到,單獨的地址簽名發(fā)生器還可以或替換地耦合到第一存儲器陣列的各位線,從而使得在激活所述存儲器陣列的位線時激活該單獨的地址簽名發(fā)生器。此外還應當認識到,這里所描述的重新編碼機制可以應用于涉及到讀取或?qū)懭氲刂氛埱蟮亩喾N應用。舉例來說,所述重新編碼機制(即重新編碼地址簽名)可以被用于多種存儲器存儲介質(zhì),其包括(但不限于)SRAM、DRAM、閃存、FeRAM、ROM等等。在另一個實例中, 所述重新編碼機制可以被用于被提供到基于矩陣的存儲系統(tǒng)的任何已解碼地址。在另一個實例中,所述重新編碼機制可以被用于被包括在具有矩陣結(jié)構的電子存儲陣列內(nèi)的具有基本上平行的地址線的任何存儲器。在又另一個實例中,所述重新編碼機制可以被用來檢測包括耦合到一個或多個OLED的SRAM的顯示線(例如IXD顯示線)中的錯誤。因此,這里所提供的附圖和實例不意圖限制所述重新編碼機制的應用。在一個實施例中,通過為每一個數(shù)據(jù)分組寫入請求生成地址,所述地址簽名發(fā)生器可以提供對于使用點處的寫入錯誤的早期檢測。這種早期檢測允許定位錯誤并且允許在此時使用恢復機制來糾正所述錯誤(例如允許將數(shù)據(jù)寫入到存儲器陣列中的替換地址或者寫入到替換存儲器塊)。圖3示出了這里所提供的地址簽名發(fā)生器的具體操作實例的方框圖300,其中所述地址簽名被標記為未壓縮存儲器地址。如圖3中所示,從地址為OxOAOOOOOl的存儲器單元請求讀取操作。在一個實施例中,主機可以向地址解碼器312和地址比較器320提供地址請求。地址解碼器312對所述地址(OxOAOOOOOl)進行解碼,并且選擇性地向耦合到第一存儲器陣列306的行解碼器316和感測放大器318發(fā)送激活信號。感測放大器318激活與所請求的存儲器地址相關聯(lián)的位線BL1,而行解碼器316則激活與所請求的存儲器地址相關聯(lián)的字線WL115但是如圖3中所示,在字線WL1與WL2之間存在短路,從而導致字線WL1和WL2 這二者都被激活。地址簽名發(fā)生器304從第一存儲器陣列306內(nèi)部的實際激活的字線WL1和WL2重新生成所請求的地址的地址簽名。在一個實施例中,所激活的字線可以產(chǎn)生指示字線ffLdPWL2已被激活的重新生成的地址簽名。所請求的地址(OxOAOOOOOl)可以被提供到第二地址解碼器324,其被配置成對所請求的地址進行解碼以指示將要被激活的所請求字線。指示字線WL1的激活的所請求存儲器地址以及指示字線WL1和WL2的激活的重新生成的地址簽名被地址比較器320所接收。由于所請求的存儲器地址字線與重新生成的地址字線不同,因此地址比較器320可以確定與地址字線有關的故障(即所述地址比較器可以確定所激活的字線要多于所應當激活的字線)。因此,地址比較器320可以向主機處理單元提供指示所述讀取操作中的錯誤的錯誤信號?;蛘?未示出),如果請求激活字線WL1的所請求存儲器地址與指示字線WL1的激活的重新生成的地址簽名相匹配,則沒有檢測到錯誤,并且不向主機處理單元返回錯誤。在各個實施例中,所述地址簽名發(fā)生器可以包括不同電路元件。舉例來說,在某些實施例中,所述地址簽名發(fā)生器可以包括被配置成驅(qū)動邏輯電路(其例如包括AND (與)、OR (或)等邏輯門)的地址解碼器。在另一個實施例中,可以使用后端的利用邏輯樹的數(shù)學計算來重新生成地址解碼器。圖4 一 6示出了這里所包括的地址簽名發(fā)生器的不同示例性實施例的更加詳細的圖示。應當認識到,圖4 一 6示出了地址簽名比較器的一些示例性實施例, 并且不意圖限制這里所提供的可能的地址簽名發(fā)生器的設計。圖4示出了存儲器塊402的實施例400,其中地址簽名發(fā)生器404包括被配置成激活第一存儲器陣列406內(nèi)的字線的第一地址解碼器和被配置成驅(qū)動異或(XOR)邏輯電路 422的第二冗余地址解碼器420,所述XOR邏輯電路422被配置成實施XOR邏輯樹。如圖 4中所示,字線驅(qū)動器416被配置成驅(qū)動第一存儲器陣列的字線,并且輔助冗余字線驅(qū)動器被配置成向XOR邏輯電路422輸出字線地址。XOR邏輯電路422隨后可以被用來把由存儲器陣列406內(nèi)實際激活的物理字線生成的字線與由輔助冗余字線驅(qū)動器生成的字線進行比較。更具體來說,在一個具體實施例中,可以通過利用包括在地址簽名發(fā)生器404內(nèi)的第二地址解碼器420對由總線提供的地址進行冗余解碼來實施所述XOR門。所述冗余解碼的地址可以對于所請求的地址指示要激活哪些字線,這是通過為這些字線對XOR邏輯電路422的輸入提供高數(shù)據(jù)狀態(tài)而實現(xiàn)的。隨后可以由XOR邏輯電路422把所述冗余解碼的地址與從實際選擇的存儲器地址(即所激活的字線和/或位線)生成的重新生成的地址進行比較,以便檢測所述字線和/或位線選擇中的任何錯誤。具體來說,η維XOR邏輯樹(其中η對應于所存在的字線數(shù)目)可以被配置成接收來自存儲器陣列406中的η條字線的信號以及接收來自第二地址解碼器420的η個字線信號。相應地,所述M)R門可以被用來確定正確的字線(即所請求的字線)被實際激活。舉例來說,已激活字線可以從實際存儲器陣列406產(chǎn)生高數(shù)據(jù)信號并且從冗余地址解碼器420產(chǎn)生高數(shù)據(jù)信號,從而將兩個高數(shù)據(jù)信號饋送到XOR邏輯電路422中并且產(chǎn)生指示不存在字線錯誤的低數(shù)據(jù)狀態(tài)。類似地,未激活字線可以從實際存儲器產(chǎn)生低數(shù)據(jù)信號并且從冗余地址解碼器420產(chǎn)生低數(shù)據(jù)信號,從而將兩個低數(shù)據(jù)信號饋送到XOR邏輯電路422中并且產(chǎn)生指示不存在字線錯誤的低數(shù)據(jù)狀態(tài)?;蛘?,如果在實際存儲器陣列406 中激活的字線不同于由冗余地址解碼器420提供的字線,則將分別把高數(shù)據(jù)狀態(tài)和低數(shù)據(jù)狀態(tài)輸入到XOR邏輯電路422中,從而導致從所述M)R門輸出指示錯誤的高數(shù)據(jù)狀態(tài)。
因此,XOR邏輯電路422可以被用來在重新生成的地址的所選字線不等于實際字線選擇的情況下返回錯誤信號。所述冗余地址解碼器和逆向地生成的地址允許使用簡單的邏輯器件來檢測多位錯誤。圖5示出了這里所提供的存儲器塊的替換實施例,其中地址簽名發(fā)生器522包括耦合到地址比較器514的第二存儲器512。第二存儲器512可以被配置成存儲與讀取和/ 或?qū)懭胝埱笥嘘P的地址信息(例如地址簽名),以及在激活時(例如在存儲器塊504處接收到讀取或?qū)懭胝埱髸r)將所請求地址的地址簽名遞送到地址比較器514。地址比較器514被配置成接收所述地址簽名,并且將其與所請求存儲器地址位置進行比較。在一個實施例中,如果所述地址簽名與重新生成的地址相等(即如果所生成的地址簽名的字線與所請求存儲器地址的字線相同),則在所述讀取或?qū)懭氩僮髦胁淮嬖阱e誤。 但是如果所述地址簽名與重新生成的地址不等(例如如果所生成的地址簽名的字線與所請求存儲器地址的字線不同),則在所述讀取或?qū)懭氩僮髦写嬖阱e誤,并且所述地址簽名發(fā)生器被配置成向控制單元提供指示所述存儲器讀取或?qū)懭氩僮髦械腻e誤的錯誤信號。在一個實施例中,第二存儲器陣列520可以包括只讀存儲器(ROM)。所述ROM可以被配置成將所選字線重新編碼成地址簽名,可以在一個循環(huán)之后將所述地址簽名與所生成的地址進行比較。具體來說,所述ROM可以被配置成利用單個晶體管存儲數(shù)據(jù)位(例如高數(shù)據(jù)狀態(tài)、低數(shù)據(jù)狀態(tài))。通過將所解碼的字線的地址簽名置入ROM中,字線的激活導致對于被觸發(fā)的任何字線將數(shù)據(jù)從ROM中遞送出去。根據(jù)從ROM出來的數(shù)據(jù),可以使用一種算法來識別是否激活了正確的字線,或者是否激活了多條其他字線。在一個實施例中,多個晶體管可以被保持在高數(shù)據(jù)狀態(tài)或低數(shù)據(jù)狀態(tài)下。當字線被激活時,其將從所述ROM中輸出對應于已激活字線的所存儲的數(shù)據(jù)位以作為地址簽名的一部分。可以通過多個晶體管的集體輸出來生成完整的地址簽名(例如對于未激活字線和已激活字線分別輸出0和1)。舉例來說,可以將ROM配置成基于多條字線的激活而重新生成地址簽名,其使得所述ROM把與所述字線相關聯(lián)的高存儲數(shù)據(jù)輸出到比較器。所述ROM 還可以被配置成在其相關聯(lián)的字線未被選擇時具有無效默認值。舉例來說,存儲器陣列506的每一條字線可以具有兩個對應的ROM單元R0M單元的第一晶體管可以被配置成存儲與字線相關聯(lián)的高數(shù)據(jù)狀態(tài),而ROM單元的第二晶體管可以被配置成存儲與同一條字線相關聯(lián)的低數(shù)據(jù)狀態(tài)。如果所述字線被激活,則將存儲在所述ROM的第一晶體管中的高數(shù)據(jù)狀態(tài)遞送到地址比較器以作為地址簽名的一部分。如果所述字線未被激活,則將存儲在所述ROM的第二晶體管中的低數(shù)據(jù)狀態(tài)遞送到地址比較器以作為地址簽名的一部分。因此,通過將所解碼的地址線的簽名數(shù)據(jù)置入ROM中,該ROM可以被用來基于選擇性地激活的字線和/或位線重新編碼地址簽名。此外還應當認識到,通過將ROM用作第二存儲器陣列520可以提供比替換存儲器 (例如SRAM、FeRAM等等)提高的存儲密度,從而與將SRAM單元用于存儲ECC位相比可以提供一種存儲附加的地址相關信息的經(jīng)濟方式。舉例來說,與在SRAM中存儲ECC相比,通過利用ROM來存儲高和/或低數(shù)據(jù)狀態(tài)可以大大節(jié)省面積,這是因為ROM是SRAM單元的尺寸的近似1/6。在一個實施例中,每一個SRAM陣列被配置成包含一個相關聯(lián)的ROM。在另一個實施例中,可以通過使用附加的ROM或者通過使用重復解碼來保護位線。
圖6示出了具有這里所提供的地址簽名發(fā)生器的SRAM存儲器陣列600的實施例。如圖6中所示,SRAM存儲器被建立成包括多個單獨的SRAM核心(602a、602b、602c和 602d)。被橫向配置在所述SRAM存儲器的各核心之間的行解碼器604被配置成驅(qū)動位于該解碼器左右的SRAM核心的字線(例如行解碼器604驅(qū)動SRAM核心60 的字線和SRAM 核心602b的字線)。被垂直配置在所述SRAM存儲器的各核心之間的感測放大器和復用器 (multiplexor>606被配置成讀取位于該感測放大器和復用器606的上方和下方的SRAM核心的位線(例如感測放大器和復用器606讀取SRAM核心60 的位線和SRAM核心602c的位線)。圖6利用位于所述SRAM核心的每一端的兩個地址簽名發(fā)生器608a和608b (例如 ROM簽名發(fā)生器)來檢測字線故障。通過把地址簽名發(fā)生器608a和608b定位在所述SRAM 核心(例如60 和602b)的末端將允許檢測沿著所述字線的整個長度(例如從行解碼器到字線末端)的錯誤。在安全關鍵的系統(tǒng)中,可能需要能夠?qū)崟r測試地址比較器(例如61h、612b、612c 和612d)以確保正確的操作(例如一直輸出高數(shù)據(jù)狀態(tài)的卡住的(stuck)比較器可能會錯誤地指示正確的地址正被讀取/寫入)。相應地,可以使用測試電路(例如610a和610b)來測試所述地址比較器(例如分別是61 和612b)的操作。相應的測試電路(例如610a)被配置成生成可以被選擇性地提供到地址比較器(例如612a)的錯誤地址簽名,從而模擬所述 SRAM核心(例如602a)中的地址線錯誤。可以刻意生成錯誤的地址簽名以便測試所述地址比較器的操作。舉例來說,如果在存儲器的地址線中沒有破損(例如所有字線都完好),則所述地址簽名發(fā)生器(例如ROM)將一直向地址比較器生成“高”地址簽名,并且將不會返回錯誤。 但是一直沒有發(fā)現(xiàn)錯誤也有可能是由于比較器操作中的錯誤而導致的。因此,能夠刻意發(fā)送錯誤地址簽名可以被用來確定在比較器操作中是否有錯誤。舉例來說,如果將錯誤的地址簽名提供給比較器并且該比較沒有產(chǎn)生錯誤信號,則可以很容易確定所述地址比較器發(fā)生了故障。如圖6中所示,測試電路610a和610b被配置成接收重新生成的列地址簽名和測試翻轉(zhuǎn)位。測試電路610a和610b被配置成修改由地址簽名發(fā)生器608a和608b生成的列地址簽名。舉例來說,在一個實施例中,測試電路610a和610b可以修改(切換)分別由地址簽名發(fā)生器608a和608b生成的地址簽名的數(shù)據(jù)位。隨后可以將所述錯誤地修改的地址簽名分別輸出到地址比較器61 和612b,在該處可以將它們與列地址進行比較以便測試所述地址比較器的可操作性。在一個實施例中,可以使用輔助“測試翻轉(zhuǎn)”機制來實時診斷地址比較器的操作狀態(tài),從而指示在地址比較器中是否有操作錯誤。舉例來說,測試電路61 和614b還可以和 /或替換地被配置成接收重新生成的行地址簽名和測試翻轉(zhuǎn)位。測試電路61 和614b可以被類似地配置成錯誤地修改由地址簽名發(fā)生器生成的行地址簽名以便生成錯誤的行地址簽名。圖7是示出了檢測導致正在計算機系統(tǒng)中傳送的數(shù)據(jù)流中的多位故障的地址線錯誤的示例性方法的流程圖。具體來說,對于每一次讀取和/或?qū)懭氪嫒拇鎯ζ麝嚵械囊鸭せ钗痪€和/或字線生成重新編碼的地址簽名。在每一個相關聯(lián)的數(shù)據(jù)分組上將所生成的地址簽名與所請求的地址(其與所述讀取或?qū)懭胝埱笙嚓P聯(lián))進行比較,從而確定地址請求與簽名的一致性。雖然方法700在下面被示出并描述為一系列動作或事件,但是應當認識到,不應以限制性方式來解釋這樣的動作或事件的所示出的排序。舉例來說,某些動作可以按照不同次序發(fā)生,并且/或者可以與除了這里所示出和/或描述的之外的其他動作或事件同時發(fā)生。此外,并不需要所示出的所有動作來實施這里的公開內(nèi)容的一個或多個方面或?qū)嵤├4送?,可以在一個或多個單獨的步驟和/或階段中實施這里所描繪的一個或多個動作。在702處,生成讀取和或?qū)懭氲刂氛埱蟆?梢皂憫趤碜灾鳈CCPU的讀取或?qū)懭胝埱髞砩伤鲎x取或?qū)懭氲刂氛埱?。所述讀取或?qū)懭胝埱笾甘緦?向該處讀取或?qū)懭霐?shù)據(jù)的第一存儲器陣列中的存儲器地址位置(例如OxOAOOOl)。在一個實施例中,可以向包括多條基本上平行的字線以及多條基本上平行的位線的第一存儲器陣列提出所述請求,其中所述字線由耦合到所述多條字線的第一端的行解碼器驅(qū)動,所述位線與所述多條字線垂直并且由耦合到所述多條位線的第一端的感測放大器讀取。在704處,選擇性地激活一條或多條字線或位線。所述一條或多條字線或位線被選擇性地激活以便向/從所述存儲器地址位置寫入數(shù)據(jù)或讀取數(shù)據(jù)??梢詫λ傻牡刂肺恢眠M行解碼,以便確定將被選擇性地激活的位線和字線。在706處,生成基于已激活位線和字線的地址簽名。可以基于已激活字線生成所述讀取或?qū)懭氲刂?,或者可以使用地址簽名發(fā)生器基于已激活位線來生成地址簽名,以便檢測多位位線錯誤(例如可以將地址簽名發(fā)生器配置在位線的末端,以便在一條或多條位線激活時返回地址簽名)。在一個實施例中,所述地址簽名可以包括重新生成的地址的無損編碼。在替換實施例中,所述地址簽名可以包括未壓縮地址。應當認識到,所述地址簽名可以由地址簽名發(fā)生器生成。在一個實施例中,第一地址簽名發(fā)生器可以耦合到所述多條字線的與行解碼器相反的一端。在另一個實施例中,第二地址簽名發(fā)生器耦合到所述多條位線的與感測放大器相反的第二端,從而導致感測放大器的兩側(cè)是地址簽名發(fā)生器。在一個實施例中,生成所述地址簽名可以包括將具有附加地址信息的多個數(shù)據(jù)位存儲在存儲器陣列中。在一個實施例中,所述存儲器陣列可以包括只讀存儲器(R0M),其具有被配置成存儲高和低狀態(tài)的存儲元件。每一個存儲元件可以對應于與相應的字線和/或位線相關聯(lián)的一件地址簽名??梢曰谧志€的激活來輸出所存儲的附加地址信息以作為所述地址簽名,其中所輸出的多個地址位構成所述重新生成的地址簽名。在708處,將所生成的地址簽名與所請求的存儲器地址位置進行比較。地址比較器可以基于所請求的地址確定所激活的字線要多于所應當激活的字線。在一個實施例中,如果所述地址簽名和重新生成的地址相同,則在所述讀取或?qū)懭氩僮髦胁淮嬖阱e誤。但是如果所述地址簽名與重新生成的地址不同,則所述地址簽名發(fā)生器被配置成向控制單元提供指示所述存儲器讀取或?qū)懭氩僮髦械腻e誤的錯誤信號。但是如果所生成的地址簽名與所請求的存儲器地址位置不等(例如所述地址簽名指示有多條字線被激活),則在所述讀取或?qū)懭氩僮髦写嬖阱e誤,并且所述存儲器操作未成功完成??梢韵蛑鳈C提供指示在向存儲器陣列寫入數(shù)據(jù)中存在錯誤的錯誤信號。所述錯誤例如可能是由于交叉的字線而造成的,從而導致多條字線被錯誤地激活。或者,所述錯誤可能是由于字線短路、字線中的破損等等而造成的。在一個實施例中,在檢測到地址線錯誤之后,允許主機處理器進行信道控制(即總線控制)以便實現(xiàn)重試機制,從而可以在不受硬件實現(xiàn)方式限制的情況下避免死鎖和其他困境。在另一個實施例中,方法700還可以包括一種用于測試708的比較的方法。在一個實施例中,用于測試所述比較的方法可以包括選擇性地生成錯誤的地址簽名,其可以替代所生成的地址簽名被提供來與所請求的地址位置進行比較。應當認識到,所述錯誤的地址簽名可以被利用來測試所述比較操作。舉例來說,如果提供錯誤的地址簽名以供比較并且沒有導致生成錯誤信號,則所述比較沒有被正確地執(zhí)行。雖然關于一種或多種實現(xiàn)方式示出并描述了本發(fā)明,但是在不背離所附權利要求書的精神和范圍的情況下可以對所示出的實例做出變更和/或修改。特別是關于由前面描述的組件或結(jié)構(套件、器件、電路、系統(tǒng)等等)所執(zhí)行的各種功能,除非另行表明,否則被用來描述這樣的組件的術語(其中包括提到“裝置”時)意圖對應于執(zhí)行所描述的組件的指定功能的任何組件或結(jié)構(例如在功能上等效),盡管其結(jié)構不等效于在這里所示出的本發(fā)明的示例性實現(xiàn)方式中執(zhí)行所述功能的所公開的結(jié)構。此外,雖然可能僅僅關于幾種實現(xiàn)方式當中的一種公開了本發(fā)明的具體特征,但是對于任何給定的或具體的應用,可以按照期望有利地將這樣的特征與其他實現(xiàn)方式的一項或多項其他特征相組合。此外,就說明書和權利要求書中使用的術語“包含”、“具有”、“帶有”的范圍而言,這樣的術語意圖是與術語 “包括”類似的包含性的。
權利要求
1.一種存儲器塊,包括主機處理單元,其被配置成提供包括所請求的存儲器地址的存儲器操作請求; 第一存儲器陣列,其具有多條地址線;第一地址解碼器,其被配置成接收所請求的存儲器地址并且選擇性地激活與所請求的存儲器地址相關聯(lián)的相應地址線;以及地址簽名發(fā)生器,其被配置成接收所述存儲器操作請求,并且還被配置成基于所激活的地址線生成地址簽名以及將所生成的地址簽名與所請求的存儲器地址進行比較,其中,如果所生成的地址簽名的地址線與所請求的存儲器地址的地址線不同,則生成錯誤信號。
2.權利要求1的存儲器塊,其中,所述地址簽名發(fā)生器包括 第二存儲器陣列,其被配置成存儲附加的地址信息;以及地址比較器,其被配置成接收所生成的地址簽名和所請求的存儲器地址、將所生成的地址簽名與所請求的存儲器地址進行比較以及生成所述錯誤信號。
3.權利要求2的存儲器塊,其中,第二存儲器陣列包括只讀存儲器(ROM),并且其中所述附加地址信息包括所述地址簽名。
4.權利要求1的存儲器塊,其中,所述地址簽名發(fā)生器包括第二地址解碼器,其被配置成接收所述存儲器操作請求,并且基于所接收到的存儲器操作請求生成指示將被生成的字線的字線激活信號;以及耦合到第一存儲器陣列和第二地址解碼器的邏輯電路,其中,所述邏輯電路被配置成接收來自第一存儲器陣列的字線激活信號和來自第二地址解碼器的所生成的字線激活信號,并且從中確定錯誤地激活的字線。
5.權利要求4的存儲器塊,其中,所述邏輯門包括異或門。
6.權利要求1的存儲器塊,其中第一存儲器陣列包括多條基本上平行的字線,所述字線由耦合到所述多條字線的第一端的行解碼器驅(qū)動;并且所述地址簽名發(fā)生器耦合到所述多條字線的與所述行解碼器相反的第二端。
7.權利要求6的存儲器塊,其中第一存儲器陣列包括多條基本上平行的位線,所述位線與所述多條字線基本上垂直, 由耦合到所述多條位線的第一端的感測放大器讀??;并且第二地址簽名發(fā)生器耦合到所述多條位線的與所述感測放大器相反的第二端。
8.權利要求1的存儲器塊,其中,所述地址簽名包括未壓縮地址或者所生成的地址的無損編碼。
9.權利要求1的存儲器塊,其中,在生成錯誤信號之后,為所述主機處理單元給出總線控制以便重試將數(shù)據(jù)寫入第一存儲器陣列。
10.權利要求1的存儲器塊,其還包括測試電路,所述測試電路被配置成選擇性地生成可以被提供到所述地址比較器的錯誤地址簽名,從而刻意導致所述地址比較器輸出所述錯誤信號。
11.一種用于檢測在計算機系統(tǒng)中傳送的數(shù)據(jù)流中的錯誤的方法,包括向耦合到第一存儲器陣列和地址簽名發(fā)生器的地址解碼器提供對于存儲器操作請求的第一存儲器陣列內(nèi)的所請求的地址位置;基于所請求的地址位置選擇性地激活第一存儲器陣列內(nèi)的一條或多條地址線; 基于所述選擇性地激活的地址線生成重新生成的地址簽名;以及將所請求的地址位置與重新生成的地址簽名進行比較,其中所述比較識別出第一存儲器陣列中的地址線錯誤的存在。
12.權利要求11的方法,其中,所述地址簽名包括未壓縮地址或者重新生成的地址的無損編碼。
13.權利要求11的方法,其中,生成重新生成的地址簽名包括將具有附加地址信息的多個數(shù)據(jù)位存儲在第二存儲器陣列中,其中各數(shù)據(jù)位包括與字線的地址簽名相對應的地址信息;以及基于所述字線的激活選擇性地輸出所存儲的附加地址信息。
14.權利要求13的方法,其中,第二存儲器陣列包括只讀存儲器(ROM)。
15.權利要求11的方法,其中第一存儲器陣列包括多條基本上平行的字線,所述字線由耦合到所述多條字線的第一端的行解碼器驅(qū)動;并且第一地址簽名發(fā)生器耦合到所述多條字線的與所述行解碼器相反的第二端。
16.權利要求15的方法,其中第一存儲器陣列包括多條基本上平行的位線,所述位線與所述多條字線基本上垂直, 由耦合到所述多條位線的第一端的感測放大器讀??;并且第二地址簽名發(fā)生器耦合到所述多條位線的與所述感測放大器相反的第二端。
17.權利要求11的方法,進一步包括選擇性地生成錯誤的地址簽名,其可以替代所生成的地址簽名被提供來與所請求的地址位置進行比較,其中,所述錯誤的地址簽名可以被利用來測試所述比較操作。
18.權利要求11的方法,進一步包括在識別出第一存儲器陣列中的地址線錯誤之后重試將數(shù)據(jù)寫入第一存儲器陣列。
19.一種存儲器塊,其包括耦合到多條基本上平行的地址線的重新編碼機制,其被包括在具有矩陣結(jié)構的電子存儲陣列內(nèi),并且被配置成基于在電子存儲操作期間實際激活的所述多條地址線當中的一條或多條來重新生成地址簽名。
20.權利要求19的存儲器塊,還包括比較器,其被配置成將重新生成的地址簽名與所請求的存儲器地址進行比較, 其中,如果重新生成的地址簽名的地址線與所請求的存儲器地址的地址相同,則不存在地址線錯誤;并且其中,如果重新生成的地址簽名的地址線與所請求的存儲器地址的地址不同,則存在地址線錯誤。
全文摘要
本發(fā)明涉及通過內(nèi)部操作驗證進行安全的存儲器存儲。本發(fā)明提供用于檢測地址線(例如字線、位線)存儲器故障的結(jié)構和方法。在實施例中,該方法和結(jié)構包括通過對來自存儲器陣列內(nèi)的已激活元件(例如字線)的內(nèi)部生成的地址信號進行重新編碼而生成地址簽名??梢詫⒅匦律傻牡刂泛灻c所請求的存儲器地址位置進行比較。如果重新生成的地址簽名與存儲器地址相等,在存儲器陣列中沒有錯誤,但是如果重新生成的地址簽名與存儲器地址不等,在存儲器陣列中存在錯誤。相應地,重新編碼地址簽名提供閉環(huán)校驗,即校驗在存儲器陣列中實際激活的字線和/或位線是所請求的正確字線和/或位線,也沒有其他字線或位線被觸發(fā),并且所述字線和/或位線是連續(xù)的。
文檔編號G11C29/44GK102347083SQ201110215419
公開日2012年2月8日 申請日期2011年7月29日 優(yōu)先權日2010年7月30日
發(fā)明者埃德 A., 維萊拉 A., A. 法拉爾 G., 奧伯萊恩德 K., S. 哈斯蒂 N., 胡貝特 P., 韋斯納 R., 布雷沃頓 S. 申請人:英飛凌科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
栾川县| 鄂尔多斯市| 谢通门县| 长兴县| 宁安市| 余干县| 清水河县| 景东| 高要市| 建平县| 武宁县| 贺州市| 德昌县| 荣昌县| 益阳市| 鞍山市| 岱山县| 浮梁县| 建昌县| 内黄县| 正安县| 东兴市| 泸溪县| 眉山市| 富顺县| 布尔津县| 太和县| 盐山县| 东乌珠穆沁旗| 乳源| 敦化市| 荆州市| 昌都县| 锦屏县| 阿拉善右旗| 砚山县| 汉中市| 奉化市| 阳泉市| 玛多县| 柞水县|