專利名稱:容錯計算機存儲器系統以及具有阻塞性能的應用兩級錯誤校正與檢測的部件的制作方法
技術領域:
本發明一般面向容錯計算機存儲器系統。具體地說,本發明面向應用片級與系統級雙重錯誤校正編碼方案的計算機存儲器系統。更具體地說,本發明涉及具有片上錯誤校正能力以及容許再生硬錯誤的錯誤校正阻塞裝置的存儲器片,特別是當這些錯誤的再生性對于系統級錯誤復原過程具有重要意義的情況。
由于半導體存儲器片是以越來越小的器件尺寸和對應增高的電路組裝密度進行研制,附加的錯誤校正方法,諸如片上錯誤校正,變得越來越重要了。一般地說,在集成片上的存儲器錯誤屬于兩種不同的范疇硬錯誤與軟錯誤。軟錯誤一般為瞬態事件,諸如那些由背景級阿爾法粒子輻射所引起的或者由造成“弱單元”的參數工藝靈敏度所導致的。弱單元是指那些在特定的電壓或數據模式作用下失效的單元,或者反之是對噪聲,印刷圖象大小或圖象跟蹤敏感的單元。隨著集成片密度的增高,軟錯誤變得更加頻繁。因此,增加中的集成片密度提出了對片上錯誤校正能力的更大需求,特別是對軟錯誤校正。
除了通常能由錯誤校正編碼電路校正的軟錯誤的出現之外,硬錯誤也同樣可能出現。硬錯誤通常由于包括設備污染在內的不完善制造條件所造成。隨著存儲器密度的增高,集成片制造中的完善性是非常難于做到的。因此,除了軟錯誤之外,硬錯誤也可能同時出現。再者,硬錯誤具有看起來似乎荒謬的優點,即它們一般是能夠重復的。然而,正是這些錯誤的再生性為它們的校正提供了一種機制(見下面)。在存儲器系統或集成片上硬錯誤出現的通常方式之一是“膠著”錯誤的發生,這便是在存儲器地址的一個或多個位上不論存儲器單元的特定內容是什么總是連續不斷地出現零或一的輸出響應。
雖然存在著許多不同的錯誤校正碼可用于或能用于與存儲器系統相結合使用,已經用于這一目的最流行碼類之一是具有碼字間最小距離為4的編碼。這種編碼能夠校正單個錯誤和檢測雙錯誤。這些編碼是眾所周知且易于實現的,並且具有經過驗證的可靠性跟蹤記錄以及易于制造,特別是在簡化電路和使集成片“房地產”的消耗最小方面。明確地說,不論其性質是軟的或者是硬的單個錯誤,對這種編碼不成問題。此外,這種編碼能檢測雙錯誤的存在,不論是硬或軟種類的,但一般不能校正它們。在兩個軟錯誤的情況下,使用這種編碼以及解碼技術一般不可能進行校正。然而,在出現兩個硬錯誤或一硬一軟錯誤時,卻能把這種編碼提供給用于雙錯誤校正的求補碼/求重補碼算法應用。這一算法也稱作雙重求補碼算法。這一方法在C.L.Chen與M.Y.Hsiao的“應用于半導體存儲器的錯誤校正碼-工藝現狀評論”一文中得到說明(IBM研究與開發期刊,1984年3月,124-134頁)。這一算法借助于硬錯誤是通常可再生的這一事實。作為這一事實的結果就可能確定錯誤中位的位置。從這一知識出發,雙錯誤校正實際上能夠實現。由此可見,硬錯誤的可再生性使在不增加碼字長度條件下增進能產生硬-硬錯誤或硬-軟錯誤的信息存儲系統的可靠性成為可能。因此,力圖消除硬錯誤再生性的存儲器片設計觀念同時也為系統級雙錯誤校正設置了障礙,尤其是對于那些圍繞著現存的單錯誤校正與雙錯誤檢測編碼和電路所設計的系統。
存儲器體系結構本身在錯誤校正考慮中起一定的作用。特別是,通常愿意訪問存儲器數據中的一個雙字(64位),其中該雙字的每一位由獨立的存儲器片提供。這種存儲器體系結構在提供可靠性和速度優點上是有用的。錯誤校正編碼方法也行施在數據雙字上。本文中,這稱作系統級錯誤校正(與檢測)。就是在這一級上使用求補碼/求重補碼算法來校正硬-硬與硬-軟錯誤,即屬于硬種類的雙錯誤。具體地說,這說明一定數量的存儲器片是專門為存儲冗余編碼信息的,典型地是具有奇偶校驗或和數校驗類型的編碼信息。
相應地,可以看出,作為高電路組裝密度的后果制造應用片上錯誤校正與檢測能力的存儲器系統是令人滿意的。單錯校正雙錯檢測(SEC/DED)碼局限于它們的數據字中只有一位的校正。因為這一原因,當檢測到多錯誤時必須避免任何以及所有的位校正。禁止了數據校正,多錯誤便不會導致單錯校正雙錯檢測系統錯誤地改變一個好的數據位。在通過片上的ECC系統“寫回”時,這一多錯誤狀態便被清除(即,將片上的ECC字連同它的適當校驗位傳送回DRAM單元的操作),由于合法的校驗位是從未改變的數據字生成的。在這一系統中,對數據字完整性的損害只限于原始的多錯誤。雖然這些錯誤不再能被檢測出,但ECC系統在隨后的訪問中不會引起數據字的變質。
使用這一方法的后果是片級上的所有錯誤都表現為軟的。制造檢驗中的壞存儲單元檢測是有效地以比較期望數據與整個ECC字的模式檢驗來完成的。出錯的位被容易地指明而且受檢驗的硬件的質量得以容易地被評估。但在實際的存儲器操作中,整個ECC字並不從存儲器片上讀出。再者,一般讀出的位數是少的。在片上的數據字出現多錯誤以后這便極大地增加了丟失錯誤位的可能性,這些在系統級上可能校正的錯誤可以導致嚴重的系統故障。當出現這樣一個錯誤時,隨后的存儲器操作一般要停止。同時,可知利用系統級錯誤校正與檢測電路來增加存儲器可靠性是合乎要求的。便是這種情況產生了被本發明所解決的問題。具體說,能夠在系統級上使用求補碼/求重補碼算法來提高整體存儲器系統可靠性,特別是通過校正除此而外不能被校正的雙錯誤是合乎需要的。然而,求補碼/求重補碼算法取決于再生硬錯誤的能力。然而,已知片上錯誤校正能力實際上能夠屏蔽與一片給定的集成片相關聯硬錯誤。這一現象的一個更詳細的例子在下面說明。于是,本發明是為了解決片級與系統級錯誤校正系統之間可能存在的對立而提出的。
根據本發明的一個較佳實施例,一個容錯計算機存儲器系統包括多個獨立的存儲器單位。每一存儲器單位包含多個存儲器單元以及單位級錯誤校正與檢測裝置。同時存在的還有多個用于指示不可校正錯誤的出現的單位級裝置,這些裝置是與存儲器單位中的不同單位相關聯的。這種不可校正錯誤指示裝置的操作是當出現不可校正錯誤時阻止單位級錯誤校正功能。這些存儲器單位通過一個系統級寄存器很好地連接在一起,該寄存器從獨立的存儲器單位中接受數據。存儲器系統也理想地包含系統級校正與檢測裝置,該裝置接受來自系統級寄存器的數據。在本發明的較佳實施例中,最好把存儲器單位看成是帶有片上錯誤校正及檢測裝置的獨立半導體存儲器片。再者,最好把每一集成片看成是提供一個單個位(每次)信息給一個系統級字長寄存器,該字長寄存器同時供有系統級錯誤校正與檢測能力。
本發明的操作的效果之一是當發生一個與一給定的集成片相關聯的不可校正錯誤時,執行一個有效的暫時“片切斷”。事實上,在集成片上這樣一個錯誤的出現導致單位級錯誤校正功能被阻塞,例如,給出一個全零校正子。雖然這幾乎肯定會生成隨后的系統級錯誤指示,強制的片錯誤的再生性質仍然有可能使系統級錯誤校正與檢測電路執行求補碼/求重補碼校正。盡管事實上在一個存儲器單位上本發明阻塞了單位級錯誤校正,但是由于所造成的強制錯誤的再生性質,整個存儲器系統的可靠性卻得到了提高。因此,高度違反直覺的結果是雖然有效地阻塞了一個錯誤校正部件的功能,然而整體存儲器可靠性卻得到了增進。
因而,本發明的目的之一乃是增進整體計算機存儲器系統的可靠性。
本發明的進一步目的是提供一種容錯計算機存儲器系統。
本發明的更進一步目的是提供能促進某些片級錯誤再生性的半導體存儲器片設計。
本發明的另一個目的是提供一種既利用單位即片級錯誤校正與檢測又利用系統級錯誤校正與檢測特性的容錯存儲器系統。
本發明的又一個目的是方便硬-硬與硬-軟存儲器系統錯誤的校正與檢測。
本發明的又另外一個目的是擴大高密度半導體存儲器片在存儲器系統中的可用性,特別是通過利用片上錯誤校正與檢測電路。
本發明的又一個進一步目的是當在系統級錯誤校正編碼電路中存在一個不可校正錯誤時使存儲器系統能夠應用雙重求補碼過程來復原數據。
本發明還有一個目的是允許存儲器映象圖確定“膠著”故障的位置,這種故障一般會被單位級錯誤校正所屏蔽。
最后,但并非僅止于此,本發明的一個目的是允許帶有片上錯誤校正編碼的存儲器系統而對硬錯誤復原更多的數據。
作為本發明的主題是在說明書的結論部份特別指出和明確提出的。然而本發明的組織與實踐方法兩個方面連同其進一步的目的和優點,可參照下述聯系附圖所作的說明得到最好的理解,在附圖中
圖1是圖示一個特別適合于實現雙級別錯誤校正的存儲器組織的局部示意性框圖;
圖2是類似于圖1的一個局部框圖,但特別示出了為配置在獨立存儲器單位(片)上提供單位級校正阻塞裝置所作的修改。
圖1示出了特別適用本發明的一個存儲器組織。具體說,圖1示出了包括多達72個獨立存儲器片10的一個計算機存儲器組織。然而,應當理解為本發明並不局限于半導體存儲器而是可以全面地應用于任何計算機存儲器系統,其中多個存儲器單位中每一個向一個寄存器提供單一的或多個輸出位,並且該系統使用了單位級與系統級錯誤校正電路。在圖1所示的系統中,72個存儲器單位10中每一個向系統級或W寄存器25供給單一的位。也可看到,寄存器25通過系統級錯誤校正電路30供給輸出數據。此外,還可以看到,在每一個存儲器單位即片10上都配有片級即單位級錯誤校正電路20。
在圖1所示的特定實施例中,可以看到,單元陣列12是以出現在選擇字線14上的137位字組成的。在這137位中,128位構成數據位而剩余的9位是奇偶校驗位。這已足以提供片上單錯誤校正與雙錯誤檢測。這137位單元陣列信息16是選自字線14並送往片級錯誤校正電路20的,該電路提供128位經過校正的數據給靜態寄存器18。同時也向存儲器單位10提供地址域信息(未示出),譯碼器22利用它來從靜態寄存器18中選擇一個單一輸出位。在集成片1至72中的譯碼器22的輸出被送至寄存器25中的對應單元。這些單元典型地由觸發器電路元件構成。具體說,可以看到,系統級寄存器25包含72位信息,其中64位構成數據,8位構成奇偶校驗信息。再者,以這一冗余度可能實現單錯誤校正和雙錯誤檢測。編碼或者無論在單位級或系統級所使用的檢測與校正電路的特定性質基本上與本發明的實踐不相干。任何適當的編碼均可用于這一目的。
圖1中所示的系統的缺點是在一個特定的單元陣列12中出現的諸如“膠著”故障這樣的硬錯誤使得系統級錯誤校正編碼方法不可能使用求補碼/求重補碼方法來從硬-硬與硬-軟錯誤(即,硬性質的雙錯誤)中復原。再一次說明,圖1中所示的存儲器系統的特定結構不應當視為是對本發明的限制。具體說,如上面指出的,編碼的選擇是相對任意的,而所采用的存儲器片的數量以及單元陣列12的特定的字組織也是相對任意的。圖1的有關特征是圍繞著兩級錯校正能力與存儲器單位的獨立組織說明的,特別是關于它們向寄存器25輸出獨立的信息位這一點。
為了更全面地理解與圖1中的存儲器系統相關聯的問題,現在針對能夠產生諸如“膠著”故障之類的某些硬錯誤的這一問題的一個簡化了的例子進行考慮。特別是,對每一字包括8位的一個存儲器結構進行考慮,前4位為數據位而后4位為奇偶和校驗位。特別是,單純為了說明的目的,假定錯誤校正碼矩陣如下表所示10111000110101001110001001110001表Ⅰ並且假定,在所述的存儲器陣列的前面兩個輸出位位置上出現了兩個“膠著”故障。如果寫入存儲器的是4位數據0000,按照上面所提供的矩陣寫入陣列的字為00000000。然而,從存儲器中讀出的數據為1100表示由于兩個“膠著”故障而產生的1100錯誤模式。然而,如果需要存儲進存儲器陣列的數據是0100,按照上面給出的矩陣所蘊含的奇偶校驗矩陣寫入陣列的字為01000111。然而,又一次由于在前兩個輸出位位置上的“膠著”故障,從陣列中讀出的字為11000111。然而,由于單位級錯誤校正能力,從存儲器中讀出的數據指示為0100清楚地蘊含一個0000的錯誤模式,因為這是寫入存儲器的同一模式。從而可知,根據寫入存儲器的數據,可以從屏蔽“膠著”故障的存在。事實上,這些故障的屏蔽一般會阻礙用于校正硬-硬錯誤的求補碼/求重補碼算法的實行。上述情況總結在下表中
膠著故障11寫入數據0000寫入字00000000讀出數據1100錯誤1100寫入數據0100寫入字01000111讀出字11000111讀出數據0100錯誤0000表Ⅱ現在把注意力集中到圖2上,其中存儲器單位10已根據本發明所指出的那樣進行了修改。具體說,可以看到,在圖2中單位即片級錯誤校正電路90被用于從校正子生成器91通過與門53和或門56向鎖存器55提供一個不可校正錯誤檢測信號,而鎖存器55則向片級ECC電路90的譯碼器92提供一個校正禁止信號。首先集成片被初始化為在片上ECC的“后面”的所有ECC字中具有正確數據及奇偶校驗位。在初始化完成以后,SET MODE A信號線被用于設置鎖存器52,使得來自校正子生成器91的不可校正錯誤檢測信號能夠通過與門53和或門56設置鎖存器55,以阻塞單位級錯誤校正。SET MODE A信號線是按照標準的已知方法使用的,例如對一個或數個存在的輸入作用一過載電壓,或者是按照新定義的JEDEC標準使用的,在這一標準中CE與W在RE之前激活且RE上的地址被譯碼以提供SET MODE A輸入信號。鎖存器55的復位輸入R一般與上面所討論過的SET MODE A輸入相同的方式提供。RESET MODE A信號線只復位鎖存器55使系統錯誤復原完成后能返回正常操作以及從陣列中讀取數據直至遇到另一個多錯誤。RESET MODE B,也是用上述方法提供的,用于以禁止來阻塞數據校正功能。SET MODE B也是用前面所討論的技術來提供的,並用于通過或門56設置鎖存器55以禁止片級ECC數據校正來允許存儲器位映射。
RESETMODESA或B或者SETMODEB的使用是用于與系統錯誤復原相配合,以便來自片上ECC“后面”壞區域中的數據能夠得到映射和校正,並應用正常的片保護方法被放置在另一陣列中。SETMODEB用于從禁止片上ECC錯誤校正,以便允許壞數據位置的存儲器位映射來進行系統診斷。在方框60中所示的電路表示片上實行本發明所使用的附加電路。
因此,可以看出,來自陣列片12的數據被供給寄存器16,在所示的例中該寄存器能存儲137位信息。這137位中包括128個數據位Di(i=1,2,…,128)和9個錯誤校正校驗位。寄存器16直接將數據位Di供給錯誤校正器50。此外,寄存器16也將來自單元陣列12的全部137位供給校正子生成器91。校正子生成器91與譯碼器92的操作是生成一個校正子,在沒有錯誤出現時該校正子為全零。此外,在有錯誤出現的情況下,校正子生成器91與譯碼器92的操作是提供一個二進制輸出向量,該向量在需要校正錯誤的位置上的位設置為1。從譯碼器92輸出的指示錯誤位置的二進制輸出向量是以錯誤校正碼專業人員所周知的方法從校正子向量生成的。因而在正常的操作方式中,當檢測到一個單個錯誤時,校正子生成器91和譯碼器92所生成的輸出表示一個有128個位置的向量,其中在該單錯誤出現的位置上是一個二進制的1。這便使譯碼器92輸出的向量能夠與來自寄存器16的數據位Di進行異或運算。例如,如果在位的位置57上指示有一個錯誤,則數據位D57與來自框90的位的位置E57進行異或運算。如圖2所提出的,這一異或運算是在異或框XOR57中進行的。因此,在一個特定的位上發現了一個錯誤的情況下,錯誤校正器50中的異或框如條件非門一樣地操作而實現校正。
然而,本發明的校正子生成器91向與門53與譯碼器92提供一個不可校正錯誤檢測信號后,可以從鎖存器55接收到返回的一個校正禁止信號,該信號強制地將送往譯碼器92的輸入校正子設置為全零,不管是否在譯碼進程中存在錯誤指示。這便導致了片級錯誤校正偏碼電路的阻塞。當校正子被設置為全零時,錯誤校正器50所執行的異或運算使數據位Di不受任何影響。另一方面,校正禁止信號能夠直接作用在譯碼器92的輸出上向校正器50提供一組零校正子位Ei。
在本發明的較佳實施例中,將校正子設置為一個全零值的信號是從片上控制邏輯60發出的。按這個方法,便設置了用于阻塞片上錯誤校正電路的片上裝置。片上錯誤校正電路的阻塞實際上使得雙重補碼算法能夠在系統級上實行並且還允許進行需要做的存儲器診斷映射。當要求能夠確定故障存儲器單元的出現時,這一功能在存儲器測試操作中是十分合乎要求的。
更重要地,這提供了再生硬錯誤的能力,這對于用于在系統級上硬-硬錯誤校正時求補碼/求重補碼算法的正確操作是一種必要的性質。以這種方法,當圖2中所示的存儲器單位修改被用于一個容錯存儲器系統時,能夠達到更高的系統可靠性。沒有這種存儲器單位修改,每當在系統級上出現雙錯誤時,數據是不能復原的。有了這種存儲器單位修改,所有系統級上的硬-硬和硬-軟錯誤都是可校正的。
從上面所述,應當理解本發明提供了一種提高存儲器系統容錯能力的機構,尤其是對于包含多個集成電路片的高密度半導體存儲器。更特別地,可以看出本申請人已經提出了一種與直覺相悖的方法,在這一方法中阻塞片級存儲器系統錯誤校正功能,以提高總體系統級錯誤校正能力。從而,申請人應用了強制保留錯誤以提高錯誤校正能力這樣一種看起來似乎荒謬的方法。因此,可以看出申請人在存儲器體系結構與錯誤校正領域內的重大進步上作出了貢獻。進一步可以看出,申請人是以最小的代價和適用于任何應用片上錯誤校正能力的存儲器片的設計來做到這一點的。
雖然本發明在本文中是按照某些較佳實施例進行詳細說明的,但對于本領域的技術人員而言,可以進行許許多多的修改和變更。因此,所附的權利要求書的意圖是覆蓋一切落在本發明的真實精神與范圍內一切修改與變更。
權利要求
1.一種容錯計算機存儲器系統,包括多個數字存儲器單位並進行操作,以接收地址信息並對此作出響應提供數據信息,其特征在于多個單位級錯誤校正與檢測裝置,所述裝置與所述存儲器單位中不同的單位相關聯,用于校正與檢測自所述存儲器單位中的存儲器單元讀出的數據中的錯誤;多個單位級阻塞裝置,與所述存儲器單位中不同的單位相關聯並進行操作以阻塞至少一個關聯的單位級校正與檢測裝置的操作;以及系統級錯誤校正與檢測裝置,接收來自所述存儲器單位的數據,所述系統級校正與檢測裝置可進行操作用以激活所述阻塞裝置來校正硬錯誤。
2.權利要求1的存儲器系統,其特征在于所述存儲器單位包括半導體存儲器片。
3.權利要求1的存儲器系統,其特征在于所述單位級校正與檢測裝置執行單錯誤校正與雙錯誤檢測。
4.權利要求1的存儲器系統,其特征在于模式轉換裝置,可進行操作以控制所述阻塞裝置的激活器。
5.一種容錯計算機存儲器系統,接收地址信息並響應該地址信息提供數據信息,其特征在于多個數字存儲器單位,每個這種單位具有多個存儲器單元以及用于與阻塞所述單位級錯誤校正與檢測裝置的裝置一起校正和檢測自所述存儲器單元中讀出的數據中的錯誤的單位級錯誤校正與檢測裝置;系統級錯誤校正與檢測裝置從多個所述存儲器單位接收數據並能進行操作用以激活所述單位級阻塞裝置來校正硬錯誤。
6.一種數字存儲器系統,其特征在于一個多級存儲器系統具有用于所述級上至少兩個不同的級的錯誤校正檢測裝置,所述級中的較低一個級能夠出現硬和軟兩種錯誤;以及用于在出現多錯誤時阻塞所述錯誤校正與檢測裝置中較低級一個的操作的裝置。
7.一種用于增進一個多級存儲器系統的可靠性的方法,該存儲器系統在所述級的至少兩個不同的級上具有錯誤校正與檢測裝置,其中所述級的較低一個能夠出現硬與軟兩種錯誤,其特征在于當出現多錯誤時阻塞所述錯誤校正與檢測裝置中較低級上的一個的操作的步驟。
全文摘要
一個存儲器系統包括多個存儲器單位,每個單位具有單位級錯誤校正能力并與一個系統級錯誤校正功能相聯系,存儲器可靠性是以提供阻塞單位級錯誤校正能力的裝置而增進的,如響應一個存儲器單位中出現的一個不可校正錯誤。這一與直覺相悖的方法阻塞一個錯誤校正功能而增進整體存儲器系統可靠性,因為它允許應用依賴于可再生錯誤的存在來進行正常操作的求補碼/求重補碼算法。因此,在高集成密度中日見必要的片級錯誤校正系統可以在與系統級錯誤校正方法互不干涉地的方式下使用。
文檔編號G06F12/16GK1045471SQ9010078
公開日1990年9月19日 申請日期1990年2月17日 優先權日1989年3月10日
發明者羅伯特·馬丁·布萊克, 道格拉斯·克雷格·博斯恩, 陳鋇龍, 約翰·阿特金森·法菲爾德, 霍爾德·利奧·卡頓, 洛婷澈 申請人:國際商業機器公司