專利名稱:以糾錯碼存儲器構(gòu)成的具有冗余功能的半導體存儲器設備的制作方法
技術(shù)領域:
本發(fā)明一般地涉及半導體存儲器設備,具體而言涉及具有冗余功能的半導體存儲器設備。
背景技術(shù):
對于半導體存儲器設備,用于修復差錯的方法包括一種采用備用存儲單元的冗余方法和一種采用糾錯碼(ECC)的數(shù)據(jù)校正方法。
在具有冗余功能的半導體存儲器設備中,當存在缺陷存儲單元時,這種單元被替代以用作備用存儲單元的冗余存儲單元,并且對該缺陷存儲單元的地址的訪問被引導到該冗余存儲單元,從而可以使用缺陷存儲單元的地址。為了用冗余存儲單元替代缺陷存儲單元,缺陷存儲單元的地址需要被記錄。在典型的冗余系統(tǒng)中,提供了熔線(fuse),并且熔線的狀態(tài)(切斷或完整)被用于記錄缺陷地址。
具有基于ECC的數(shù)據(jù)校正功能的ECC存儲器(檢錯和糾錯存儲器)基于要寫入的數(shù)據(jù)計算用于糾錯目的的冗余位,并將所計算的冗余位與要寫入的數(shù)據(jù)一起存儲在存儲器核心中。在數(shù)據(jù)讀取時,檢查所取得的數(shù)據(jù)和冗余位以查看數(shù)據(jù)(和冗余位)是否包含差錯。如果檢測到差錯,則執(zhí)行糾錯。例如,如果使用漢明碼來進行糾錯,則在代碼中發(fā)生一位差錯的情況下可以執(zhí)行糾錯,而在發(fā)生兩位差錯的情況下只能進行差錯檢測。
當使用漢明碼時,對于8位寬的數(shù)據(jù)需要使用4位作為冗余位,對于16位寬的數(shù)據(jù)需要使用5位作為冗余位,對于32位寬的數(shù)據(jù)需要使用6位作為冗余位,對于64位寬的數(shù)據(jù)需要使用7位作為冗余位。冗余位數(shù)對數(shù)據(jù)位數(shù)的比率越小,存儲器資源的利用率就越大??紤]到這一點,例如,即使當用于讀/寫操作的數(shù)據(jù)的位寬相對于與外部的接口是32位時,也可以相對于存儲器核心利用64位數(shù)據(jù)寬度執(zhí)行數(shù)據(jù)讀/寫操作。
ECC存儲器可以修復代碼中的缺陷,從而使代碼(數(shù)據(jù)+冗余位)是自相容的。然而,用于糾錯的計算時間是必需的,并且在上述配置的情形中會犧牲數(shù)據(jù)訪問時間和循環(huán)時間(這將在下面描述),在該配置中,相對于存儲器核心的輸入/輸出數(shù)據(jù)的位寬被設為比相對于與外部的接口的輸入/輸出數(shù)據(jù)的位寬更寬。
在讀操作時,取得代碼(由64個數(shù)據(jù)位+7個冗余位組成),并進行ECC計算以進行糾錯。在取得的64個數(shù)據(jù)位中,對應于讀取地址的數(shù)據(jù)部分的32個數(shù)據(jù)位被輸出到外部。
在寫操作時,從外部輸入由32位組成的寫數(shù)據(jù),但是該寫數(shù)據(jù)自身并不足以生成用于糾錯目的的冗余位。為了消除這一問題,從存儲器核心取得32個數(shù)據(jù)位,并與寫數(shù)據(jù)合并以生成64位數(shù)據(jù)。該64位數(shù)據(jù)被用于生成7個冗余位,接著將代碼(64個數(shù)據(jù)位加上7個冗余位)寫入到存儲器核心中。
這樣,對ECC存儲器執(zhí)行的寫操作包括首先執(zhí)行的讀操作和其后執(zhí)行的寫操作。這帶來了如下問題操作速度變慢,并且需要更多的功耗。
在SOC(片上系統(tǒng))的情形中,存儲器模塊與其他模塊一起嵌入在單個芯片中,從而難以使用要求熔線切斷的冗余功能。從而,更需要使用ECC存儲器。依賴于用戶需要,可能存在這樣的情形使用能夠高速操作的冗余功能作為缺陷修復功能來進行高速存儲器操作以替代導致操作速度降低的ECC功能。然而,這種情況下,如果已經(jīng)嵌入在系統(tǒng)中的內(nèi)置ECC存儲器通過某種設計改變被修改為具有冗余功能的存儲器,則需要無法容忍的大量的設計步驟和大量的設計時間。因此,需要在最小設計改變的情況下將ECC存儲器修改為具有冗余功能的存儲器。
日本專利申請公開No.10-326497[專利文獻2]日本專利申請公開No.61-264599[專利文獻3]日本專利申請公開No.61-5029
發(fā)明內(nèi)容本發(fā)明的一般目的是提供一種基本消除了由相關技術(shù)的限制和缺點引起的一個或多個問題的半導體存儲器設備。
本發(fā)明的另一個更特定目的是提供一種可以由最小設計改變的ECC存儲器構(gòu)成的具有冗余功能的半導體存儲器設備。
本發(fā)明的特征和優(yōu)點將表達在下面的描述中,并且從描述和附圖中將部分變清楚,或者可以通過根據(jù)在描述中提供的教導來實踐本發(fā)明來獲知。本發(fā)明的目的以及其他特征和優(yōu)點將通過在說明書中具體指出的具有冗余功能的半導體存儲器設備來實現(xiàn)和獲得,在說明書中以全面的、清楚的、簡明的和準確的術(shù)語描述了該設備以便使本領域技術(shù)人員能夠?qū)嵺`本發(fā)明。
為了獲得根據(jù)本發(fā)明的目的的這些和其他的優(yōu)點,本發(fā)明提供了一種半導體存儲器設備,其包括被配置為并行輸入/輸出第一數(shù)據(jù)和第二數(shù)據(jù)的存儲器,其中第一數(shù)據(jù)是由為2的正整數(shù)次冪的預定數(shù)目的位組成的數(shù)據(jù)的全部或一部分,第二數(shù)據(jù)由校正由預定數(shù)目的位組成的數(shù)據(jù)的差錯所必需的多個位組成;被配置為響應于提供到存儲器的地址信號而提供冗余切換信息的冗余切換信息提供單元;以及位于存儲器和數(shù)目等于第一數(shù)據(jù)的位數(shù)的輸入/輸出節(jié)點之間的冗余控制單元,該冗余控制單元具有將輸入/輸出節(jié)點的給定位耦合到存儲器的第一數(shù)據(jù)的相應位的第一路徑和將輸入/輸出節(jié)點的給定位耦合到存儲器的第二數(shù)據(jù)的預定位的第二路徑,并且被配置為響應于冗余切換信息而選擇并使能第一路徑和第二路徑之一。
根據(jù)本發(fā)明的一個實施例,修改ECC存儲器使得在糾錯功能被設為“off”狀態(tài)的情況下,第一數(shù)據(jù)(要寫入/讀取的數(shù)據(jù))和第二數(shù)據(jù)(糾錯目的的冗余位)并行輸入/輸出。利用這種微小的設計修改,對應于第二數(shù)據(jù)的存儲單元可用于存儲正常數(shù)據(jù)。在這種經(jīng)修改的ECC存儲器中,與糾錯目的的冗余位相對應的存儲單元被用作冗余單元,并且以冗余單元替代了缺陷單元的配置被添加到存儲器的數(shù)據(jù)輸入/輸出部分。這使得可以通過冗余處理恢復數(shù)據(jù)。也就是說,提供了一種可通過對ECC存儲器進行最小修改而構(gòu)成的具有冗余功能的半導體存儲器設備。
本發(fā)明的其他目的和另外的特征將從下面結(jié)合附圖的詳細描述中變清楚,在附圖中圖1的框圖示出了根據(jù)本發(fā)明的具有冗余功能的半導體存儲器設備的配置;圖2的框圖示出了ECC存儲器的第一實施例的配置;圖3示出了傳統(tǒng)ECC存儲器的配置;圖4示出了冗余控制單元的第一實施例的配置;圖5示出了冗余切換信息提供單元的配置的示例;圖6示出了ECC存儲器的第二實施例的配置;圖7的框圖示出了在使用圖6所示的第二實施例的ECC存儲器時具有冗余功能的半導體存儲器設備的配置;圖8的框圖示出了在使用第二實施例的ECC存儲器時具有冗余功能的半導體存儲器設備的配置的變體;圖9示出了冗余控制單元的第二實施例的配置;圖10的框圖示出了根據(jù)本發(fā)明的具有冗余功能的半導體存儲器設備的配置的變體;圖11示出了圖10中所示的存儲器的配置;圖12的框圖示出了根據(jù)本發(fā)明的具有冗余功能的半導體存儲器設備的配置的另一變體;圖13示出了在冗余切換信息提供單元中提供的非易失性信息存儲單元的示例;圖14示出了在冗余切換信息提供單元中提供的非易失性信息存儲單元的另一示例;圖15示出了在冗余切換信息提供單元中提供的非易失性信息存儲單元的另一示例;圖16示出了根據(jù)本發(fā)明的半導體存儲器設備的芯片配置的示例;圖17示出了根據(jù)本發(fā)明的半導體存儲器設備的芯片配置的另一示例;以及圖18示出了根據(jù)本發(fā)明的半導體存儲器設備的芯片配置的又一示例。
具體實施例方式
下面將參考附圖描述本發(fā)明的實施例。
圖1的框圖示出了根據(jù)本發(fā)明的具有冗余功能的半導體存儲器設備的配置。圖1的具有冗余功能的半導體存儲器設備包括ECC存儲器10、冗余切換信息提供單元11和冗余控制單元12。
ECC存儲器10是具有糾錯功能的存儲器塊,糾錯功能是利用漢明碼、擴展?jié)h明碼、水平和垂直奇偶校驗碼等實現(xiàn)的。ECC存儲器10具有用于輸入命令和地址的端子、用于輸入/輸出數(shù)據(jù)和用于糾錯目的的冗余位的端子、以及用于輸入指示ECC功能的on/off(開啟/關閉)狀態(tài)的ECCon/off信號的端子。
冗余控制單元12位于ECC存儲器10和從ECC存儲器10讀取數(shù)據(jù)/向ECC存儲器10寫入數(shù)據(jù)的主機裝置(例如CPU)之間。冗余控制單元12從主機裝置接收命令和地址信號,并將所接收到的命令和地址信號提供到ECC存儲器10。命令信號例如指示讀命令或?qū)懨?。冗余控制單?2在正常存儲器操作期間將ECC-on/off信號設置為off狀態(tài)以提供到ECC存儲器10。也就是說,ECC存儲器的ECC功能被暫停。
在寫操作的情形中,冗余控制單元12將從主機裝置接收到的數(shù)據(jù)提供到ECC存儲器10。在讀操作的情形中,冗余控制單元12將從ECC存儲器10讀取的數(shù)據(jù)提供到主機裝置。
ECC存儲器10包括諸如熔線或ROM之類的用于存儲非易失性信息的裝置,其存儲故障地址信息和與故障地址信息相關聯(lián)的數(shù)據(jù)位置信息。故障地址信息指示通過預先測試ECC存儲器10檢測到的缺陷存儲單元的地址。數(shù)據(jù)位置信息指示相對于ECC存儲器10輸入/輸出的數(shù)據(jù)中的故障位的位置。也就是說,在輸入/輸出數(shù)據(jù)是n位數(shù)據(jù)D1、D2、D3、...和Dn的情況下,如果故障位是Dx則數(shù)據(jù)位置信息指示“x”。
冗余切換信息提供單元11接收從主機裝置提供到冗余控制單元12的地址信號。冗余切換信息提供單元11將由接收到的地址信號所指示的地址與由存儲在存儲裝置中的故障地址信息所指示的地址相比較,并將指示比較結(jié)果(或者匹配,或者不匹配)的匹配/不匹配信號提供到冗余控制單元12。如果比較結(jié)果指示地址匹配,則冗余切換信息提供單元11將對應于匹配地址的數(shù)據(jù)位置信息與匹配/不匹配信號一起提供到冗余控制單元12。
如果來自冗余切換信息提供單元11的匹配/不匹配信號指示地址匹配,則冗余控制單元12將對應于與主機裝置交換的數(shù)據(jù)中的故障位位置的數(shù)據(jù)位分配給與ECC存儲器10交換的冗余位中的一位。也就是說,對應于與ECC存儲器10交換的數(shù)據(jù)中的故障位位置的數(shù)據(jù)位被替代以與ECC存儲器10交換的冗余位中的一位。如果檢測到多個故障位,則這多個故障位可被替代以冗余位中的多個位。
將關于ECC存儲器10的ECC-on/off信號設置為off狀態(tài)關閉了ECC存儲器10的ECC功能,從而使冗余位獨立于讀/寫數(shù)據(jù)。也就是說,用于存儲糾錯目的的冗余位的存儲單元可用于存儲正常數(shù)據(jù)。在本發(fā)明中,用于存儲冗余位的存儲單元被用作用于恢復包含在正常數(shù)據(jù)中的故障位(即,缺陷存儲單元的位)的冗余存儲單元。
圖2的框圖示出了ECC存儲器10的第一實施例的配置。ECC存儲器10與傳統(tǒng)的ECC存儲器的不同之處僅在于在正常讀/寫操作期間提供了冗余位部分的輸入/輸出數(shù)據(jù)以用于糾錯。圖3示出了傳統(tǒng)ECC存儲器的配置以用于比較。
圖2中所示的本發(fā)明的ECC存儲器10包括存儲單元陣列和控制電路21以及ECC邏輯單元22。圖3中所示的傳統(tǒng)ECC存儲器包括存儲單元陣列和控制電路21、ECC邏輯單元22和選擇器23。傳統(tǒng)ECC存儲器和本發(fā)明的ECC存儲器10在存儲單元陣列和控制電路21以及ECC邏輯單元22的配置上相同。在該示例中,輸入/輸出數(shù)據(jù)是64位,并且用于糾錯的冗余位是7位。
首先描述圖3中所示的傳統(tǒng)ECC存儲器。存儲單元陣列和控制電路21包括由存儲單元陣列組成的存儲器核心電路和用于控制存儲器的讀/寫操作的控制電路。存儲器核心電路包括以矩陣形式排列的多個存儲單元、用于選擇存儲單元的一行的字線、用于選擇一列的列選擇線、用于讀取數(shù)據(jù)的位線、用于放大讀取數(shù)據(jù)的感應放大器等等。控制電路包括命令鎖存器、命令譯碼器、地址鎖存器、行譯碼器、列譯碼器、定時信號生成電路等。
當讀命令被輸入到存儲單元陣列和控制電路21中時,從對應于輸入地址的存儲單元讀取64位數(shù)據(jù)和7位冗余位。當寫命令被輸入到存儲單元陣列和控制電路21中時,64位數(shù)據(jù)和7位冗余位被寫入到對應于輸入地址的存儲單元中。
ECC邏輯單元22生成糾錯目的的冗余位,并且如果從外部提供的ECC-on/off信號指示ECC功能的on狀態(tài),則執(zhí)行檢錯和糾錯。也就是說,在寫操作的情形中,ECC邏輯單元22基于通過選擇器23從外部提供的64位數(shù)據(jù)生成7個冗余位,并且64位數(shù)據(jù)和7個冗余位被提供到存儲單元陣列和控制電路21。在讀操作的情形中,基于從存儲單元陣列和控制電路21讀取的64位數(shù)據(jù)和7個冗余位執(zhí)行檢錯和糾錯。已對其執(zhí)行了糾錯的64位數(shù)據(jù)通過選擇器23被輸出到外部。
如果從外部提供的ECC-on/off信號指示ECC功能的off狀態(tài),則ECC邏輯單元22允許64位數(shù)據(jù)不加改變地通過。也就是說,ECC邏輯單元22將從外部接收到的64位數(shù)據(jù)原樣傳遞到存儲單元陣列和控制電路21,并將從存儲單元陣列和控制電路21讀取的數(shù)據(jù)原樣傳遞到外部。
選擇器23在正常操作時將ECC存儲器的64位外部輸入/輸出數(shù)據(jù)端耦合到ECC邏輯單元22。利用這種部署,可以從存儲單元陣列和控制電路21讀取64位數(shù)據(jù),并通過ECC邏輯單元22輸出到外部,并且64位數(shù)據(jù)可以通過ECC邏輯單元22從外部寫入到存儲單元陣列和控制電路21。
選擇器23被配置為在測試操作時將ECC存儲器的64位外部輸入/輸出數(shù)據(jù)端的一部分分配給從存儲單元陣列和控制電路21輸出的7個冗余位,在測試操作中,從外部提供的測試信號指示測試操作。這樣可以從外部觀察冗余位。這種情況下,可以檢查在ECC存儲器的測試操作時ECC功能是否適當?shù)剡M行操作。
在圖2所示的本發(fā)明的ECC存儲器10中,移去了選擇器23。ECC存儲器10的64位外部輸入/輸出數(shù)據(jù)端直接連接到ECC邏輯單元22。另外,除了64位外部輸入/輸出數(shù)據(jù)端外,ECC存儲器10還具有7位冗余位輸入/輸出端,并且這7位冗余位輸入/輸出端直接連接到存儲單元陣列和控制電路21。
這樣,本發(fā)明的ECC存儲器10與傳統(tǒng)ECC存儲器的不同之處僅在于,移去了選擇器23,并且修改了數(shù)據(jù)路徑以允許64位數(shù)據(jù)和7個冗余位從外部輸入/向外部輸出。利用這種微小的設計修改,可以從傳統(tǒng)ECC存儲器中創(chuàng)建本發(fā)明的ECC存儲器10。
當ECC-on/off信號被設為“on”以激活ECC功能時,本發(fā)明的ECC存儲器10充當與傳統(tǒng)ECC存儲器相同方式的ECC存儲器。如果ECC-on/off信號被設為“off”以緊用ECC功能時,對應于7個冗余位的存儲單元可用于存儲正常數(shù)據(jù)。利用該配置,本發(fā)明將對應于7個糾錯目的的冗余位的存儲單元用作冗余存儲單元。
應當注意,存儲單元陣列和控制電路21和ECC邏輯單元22可以設置在單個宏(macro)中,或者可以是單個芯片上不同的宏。存儲單元陣列和控制電路21和ECC邏輯單元22可以實現(xiàn)在單個硅襯底上,或者可以實現(xiàn)在不同的硅襯底上。
圖4示出了冗余控制單元12的第一實施例的配置。冗余控制單元12包括譯碼器30和開關31-0至31-n。
譯碼器30從冗余切換信息提供單元11接收匹配/不匹配信號和數(shù)據(jù)位置信息。開關31-0至31-n與在主機裝置(CPU)和ECC存儲器之間交換的(n+1)位數(shù)據(jù)D
至D[n]呈一對一對應關系。根據(jù)來自譯碼器30的信號控制開關31-0至31-n的開關位置。
當任何給定開關31-x(x0和n之間的任一給定數(shù))被設為正常開關位置時,主機裝置一側(cè)上的數(shù)據(jù)D[x]的信號線連接到ECC存儲器一側(cè)上的數(shù)據(jù)D[x]的信號線。當任何給定開關31-x被設為冗余開關位置時,主機裝置一側(cè)上的數(shù)據(jù)D[x]的信號線連接到冗余位的信號線32。冗余位信號線32耦合到ECC存儲器10的冗余位之一。
如果譯碼器30從冗余切換信息提供單元11接收到的匹配/不匹配信號指示不匹配,則當前訪問操作的地址不包括缺陷存儲單元,從而譯碼器30將所有開關31-0至31-n設置為正常開關位置。如果匹配/不匹配信號指示匹配,則譯碼器30設置由從冗余切換信息提供單元11接收到的數(shù)據(jù)位置信息指示的其中一個開關,從而使該開關被設為冗余開關位置。利用這種部署,不對由數(shù)據(jù)位置信息指示的ECC存儲器10的故障位執(zhí)行訪問,而是對充當冗余目的地的其中一個冗余位執(zhí)行訪問。
在以上提供的描述中,僅將一位用作冗余位。在使用允許校正兩位或多位的糾錯碼的情形中,多個故障位可被替代以充當冗余目的地的多個冗余位。例如當使用擴展?jié)h明碼時,可以使用這種多故障位的校正。
在圖1所示的配置中,冗余控制單元12被示為充當主機裝置和ECC存儲器10之間的命令信號和地址信號的中介,但是也可以這樣配置使得這些信號能夠不加任何改變地通過。另外,當根據(jù)提供自外部的命令信號指示ECC-on/off狀態(tài)的數(shù)據(jù)被存儲在1位寄存器(未示出)中時,ECC-on/off信號可以提供到ECC存儲器10作為響應于寄存器內(nèi)容的寄存器輸出。命令信號、地址信號和ECC-on/off信號的流動與冗余控制單元12執(zhí)行的冗余處理沒有直接關系,因此在圖4中省略其圖示。
當配置使得ECC功能的on/off狀態(tài)可以從外部控制時,ECC功能例如可以在在正常操作期間可靠性優(yōu)先時被激活。這種情況下,開關31-0至31-n的開關被暫停,從而使主機裝置一側(cè)上的數(shù)據(jù)D[x]的信號線總是連接到ECC存儲器一側(cè)上的數(shù)據(jù)D[x]的信號線。如果速度的優(yōu)先級高于可靠性的優(yōu)先級,則ECC功能被如前所述地禁用,從而基于冗余處理執(zhí)行數(shù)據(jù)恢復。這樣,利用單個系統(tǒng)滿足了兩種不同的需要。
另外,ECC功能的on/off狀態(tài)的選擇可以固定設置,而不是被配置為可以從外部控制。例如,可以采用通過改變互連層(掩模選項)選擇狀態(tài)的方法、通過改變封裝密封時的焊線連接來選擇狀態(tài)的方法、利用激光熔線選擇狀態(tài)的方法等等。
圖5示出了冗余切換信息提供單元11的配置示例。圖5中所示的冗余切換信息提供單元11包括多個比較器41、多個故障地址信息存儲單元42和多個數(shù)據(jù)位置信息存儲單元43。
一個比較器41、一個故障地址信息存儲單元42和一個數(shù)據(jù)位置信息存儲單元43彼此關聯(lián)作為一組。每個比較器41將從主機裝置提供的地址與存儲在故障地址信息存儲單元42的相應一個中的地址相比較。單個故障地址信息存儲單元42存儲一個故障地址,該故障地址是ECC存儲器10中缺陷存儲單元的地址。如果有m個故障地址,則這m個故障地址分別存儲在m個故障地址信息存儲單元42中。
當比較器41之一的比較結(jié)果是匹配時,該比較器41輸出指示匹配的匹配/不匹配信號。當比較器41之一的比較結(jié)果是不匹配時,該比較器41輸出指示不匹配的匹配/不匹配信號。從多個比較器41輸出的匹配/不匹配信號例如被邏輯和門(未示出)等合并為一個匹配/不匹配信號,以提供到冗余控制單元12。也就是說,如果匹配/不匹配信號中的至少一個指示匹配,則指示匹配的匹配/不匹配信號被提供到冗余控制單元12。如果所有的匹配/不匹配信號都指示不匹配,則指示不匹配的匹配/不匹配信號被提供到冗余控制單元12。
如果從相應比較器41輸出的匹配/不匹配信號指示不匹配,則數(shù)據(jù)位置信息存儲單元43不產(chǎn)生任何輸出。如果從相應比較器41輸出的匹配/不匹配信號指示匹配,則數(shù)據(jù)位置信息存儲單元43輸出所存儲的數(shù)據(jù)位置信息。數(shù)據(jù)位置信息被從冗余切換信息提供單元11提供到冗余控制單元12。
圖6示出了ECC存儲器的第二實施例的配置。在圖6中,與圖2相同的元件以相同的標號指代,這里省略其描述。
在圖6所示的ECC存儲器10A中,ECC邏輯單元22A輸出指示檢測差錯存在/不存在的差錯檢測信號和指示包含在讀取數(shù)據(jù)中的差錯位的位置的差錯數(shù)據(jù)位置信號。圖2所示的ECC存儲器10和圖6所示的ECC存儲器10A之間的其他配置相同。
如前所述,在圖2所示的ECC存儲器10的ECC邏輯單元22中,如果ECC-on/off信號被設為on狀態(tài),則對于讀取數(shù)據(jù)執(zhí)行差錯檢測和糾錯。例如,這里將研究這樣的示例,其中生成糾錯目的的冗余位,使得ECC存儲器10的71位數(shù)據(jù)構(gòu)成碼間距是3位或更多位的漢明碼。這種情況下,差錯的存在/不存在可通過檢查從ECC存儲器10讀取的71位數(shù)據(jù)是否有正確的漢明碼的位模式來確定。如果在1位中發(fā)生差錯,則計算這71位數(shù)據(jù)和來自該71位數(shù)據(jù)的具有最短漢明距離的漢明碼之間的差,從而可以識別并校正1個差錯位。由于漢明碼的碼間距是3,因此兩位差錯的存在只允許確定差錯的存在/不存在,而不允許確定什么樣的漢明碼是正確的碼。在實踐中,可以計算漢明碼的校正子(syndrome)信息。校正子信息唯一地指示差錯的存在/不存在和差錯的位置。
在圖6所示的ECC存儲器10A中,ECC邏輯單元22A被配置為在如上所述檢查差錯的存在/不存在時輸出指示差錯的存在/不存在的差錯檢測信號,并且還被配置為在糾錯時輸出指示檢測到的差錯位的位置的差錯數(shù)據(jù)位置信號。例如,ECC邏輯單元22A可以輸出漢明碼的校正子信息。除了向外部輸出這些信號外,ECC邏輯單元22和ECC邏輯單元22A可以具有相同的配置。
圖7的框圖示出了當使用圖6所示的第二實施例的ECC存儲器10A時具有冗余功能的半導體存儲器設備的配置。在圖7中,與圖1相同的元件以相同的標號指代,這里省略其描述。
圖7所示配置與圖1所示配置的不同之處在于,ECC存儲器10A提供差錯檢測信號和差錯數(shù)據(jù)位置信號,如上所述。冗余切換信息提供單元11A響應于所提供的差錯檢測信號和差錯數(shù)據(jù)位置信號,設置存儲在數(shù)據(jù)位置信息存儲單元43中的數(shù)據(jù)。
具體來說,在用于執(zhí)行ECC存儲器10A的測試的測試模式中,激活ECC存儲器10A的ECC功能。在測試模式中,對于每個地址執(zhí)行向ECC存儲器10A寫入數(shù)據(jù)和從ECC存儲器10A讀取數(shù)據(jù)的寫/讀操作,同時逐一地遞增(或遞減)地址。當對于每個地址執(zhí)行這種讀操作時,冗余切換信息提供單元11A從主機裝置接收指示被訪問的地址的地址信號,并且還從ECC存儲器10A接收差錯檢測信號和差錯數(shù)據(jù)位置信號。
在冗余切換信息提供單元11A中,如果地址檢測信號指示差錯的存在,則由所提供的地址信號指示的地址被存儲在故障地址信息存儲單元中,并且由所提供的差錯數(shù)據(jù)位置信號指示的數(shù)據(jù)位置信息被存儲在數(shù)據(jù)位置信息存儲單元中。這是在圖5所示的冗余切換信息提供單元11A的配置中通過將作為鎖存指示信號的差錯檢測信號提供到故障地址信息存儲單元42和數(shù)據(jù)位置信息存儲單元43來實現(xiàn)的,其中來自外部的地址信號和差錯數(shù)據(jù)位置信號分別作為故障地址信息存儲單元42和數(shù)據(jù)位置信息存儲單元43的輸入數(shù)據(jù)。
這種情況下,故障地址信息存儲單元42和數(shù)據(jù)位置信息存儲單元43可以實現(xiàn)為電可擦寫的非易失性存儲器(EEPROM)。利用EEPROM,可以通過在ECC功能處于“on”的情況下簡單地執(zhí)行ECC存儲器的測試來自動設置和存儲冗余切換信息提供單元11A中的冗余處理所必需的信息。
在故障地址信息存儲單元42和數(shù)據(jù)位置信息存儲單元43的實現(xiàn)方式使得數(shù)據(jù)被存儲為熔線的切斷或完整狀態(tài)的情形中,差錯檢測信號和差錯數(shù)據(jù)位置信號可被提供到外部測試儀裝置等,而不是被提供到如圖7所示的冗余切換信息提供單元。在外部,監(jiān)視被訪問的地址、差錯檢測信號和差錯數(shù)據(jù)位置信號,以便識別故障地址和故障數(shù)據(jù)位置。然后,使用激光束來切斷熔線以記錄故障地址和故障數(shù)據(jù)位置。
圖8的框圖示出了在使用第二實施例的ECC存儲器10A時具有冗余功能的半導體存儲器設備的配置的變體。在圖8所示的配置中,冗余切換信息提供單元11包括控制器11-1和ROM 11-2。
在該配置中,用于存儲故障地址信息和數(shù)據(jù)位置信息作為非易失性數(shù)據(jù)的存儲單元被提供作為單獨的ROM 11-2。這種單獨的ROM 11-2可利用諸如閃存或FRAM(鐵電體隨機訪問存儲器)宏之類可用作單個獨立單元的存儲器設備實現(xiàn)??刂破?1-1能響應于從ECC存儲器10A提供的差錯檢測信號而將故障地址和故障數(shù)據(jù)位置寫入到ROM 11-2就足夠了??梢允沟靡赃@種方式寫入的非易失性數(shù)據(jù)例如在半導體存儲器設備的加電時從ROM 11-2加載到控制器11-1內(nèi)部的鎖存器中。
圖9示出了冗余控制單元的第二實施例的配置。在圖9中,與圖4相同的元件以相同的標號指代,這里省略其描述。
除了圖4所示的冗余控制單元12外,圖9中所示的冗余控制單元12A還包括多數(shù)表決單元50。多數(shù)表決單元50連接到冗余控制單元12的冗余位信號線32(見圖4),并且還連接到作為ECC存儲器10的輸入/輸出的冗余位P
至P[k]的信號線。
例如,如果使用圖2的ECC存儲器10,則冗余位P
至P[k]是7位(即,k=6)。圖4的冗余控制單元12僅僅用一個冗余位來替代一個故障位,從而如果例如有7個冗余位,則6位是浪費的。
在本實施例中,提供了多數(shù)表決單元50,從而多數(shù)表決邏輯提高了冗余位替代的可靠性。當從冗余控制單元12A向ECC存儲器10提供數(shù)據(jù)(對應于寫數(shù)據(jù)的故障位的位置的一位)時,多數(shù)表決單元50將冗余位信號線32的數(shù)據(jù)不加任何改變地傳遞到所有的輸出位P
至P[k]。結(jié)果,在寫數(shù)據(jù)的故障位的位置處的一位被存儲到與冗余位P
至P[k]相對應的k+1個存儲單元的每一個中。當從ECC存儲器10讀取被冗余位替代的位時,多數(shù)表決單元50對從與冗余位P
至P[k]相對應的k+1個存儲單元讀取的k+1位執(zhí)行多數(shù)表決,并向冗余位信號線32發(fā)送在k+1位中數(shù)目較多的“0”和“1”之一的邏輯值。
利用該配置,可以明顯地提高由冗余位替代的一位的可靠性。在正常條件下,冗余單元(即,作為替代的k+1位)的測試需要以與正常單元的測試相同的方式進行,從而檢查這些冗余單元是否正確地充當備用。然而,如果多數(shù)表決方法被用于冗余替代位,如上所述,則可以使得要被冗余替代的位的數(shù)據(jù)比起正常存儲單元的數(shù)據(jù)可靠的多。結(jié)果,對于充當替代的k+1個存儲單元不再需要執(zhí)行測試。即使在測試結(jié)果中用作替代的k+1位包括一個或多個缺陷單元,或者作為長期改變的結(jié)果隨著時間的進行最終包含一個或多個缺陷單元,也可以實現(xiàn)適當?shù)娜哂嗵幚?,例如?位多數(shù)表決的情形中,只要缺陷單元的數(shù)目不大于3即可。
如果例如采用了能夠校正1位差錯的ECC,只要在ECC功能處于“on”的情況下執(zhí)行測試的結(jié)果確認是適當操作,就知道ECC存儲器的任何糾錯碼最多只包含1個差錯位。只有當數(shù)據(jù)部分中(即,不在冗余位部分中)存在差錯時,冗余處理才是必需的。如果最多只有一位的差錯存在于數(shù)據(jù)部分中,則必然在冗余位部分中不存在差錯。
圖10的框圖示出了根據(jù)本發(fā)明的具有冗余功能的半導體存儲器設備的配置的變體。圖10的半導體存儲器設備包括存儲器10B、冗余切換信息提供單元11A、冗余控制單元12和存儲器BIST 15。冗余切換信息提供單元11A與參照圖7所述的冗余切換信息提供單元相同。存儲器BIST(內(nèi)置自測試)15是用來執(zhí)行諸如SOC之類的系統(tǒng)內(nèi)部的存儲器的自動測試的模塊。存儲器10B是在從ECC存儲器10中移去ECC邏輯單元22后剩下的部分。
圖11示出了圖10中所示的存儲器10B的配置。在圖11中,與圖2相同的元件以相同的標號指代,這里省略其描述。如圖11所示,存儲器10B具有這樣的配置,其中在從圖2所示的ECC存儲器10中移去了ECC邏輯單元22后,存儲單元陣列和控制電路21的數(shù)據(jù)輸入/輸出和冗余位輸入/輸出直接連接到外部。也就是說,除了為2的正整數(shù)次冪的正常數(shù)據(jù)位寬度外,存儲器10B還被配置為存儲數(shù)目等于冗余位數(shù)目的數(shù)據(jù)位。
返回圖10,存儲器BIST 15包括ECC邏輯單元。在測試操作時,存儲器BIST 15自動生成糾錯目的的冗余位,并將所生成的位與測試數(shù)據(jù)一起寫入到存儲器10B。隨后讀取寫入的代碼(數(shù)據(jù)+冗余位),并從讀取代碼中生成校正子(校正信息)。如果檢測到差錯(并且差錯不在冗余位中),則校正子信息被寫入到冗余切換信息提供單元11A的非易失性存儲器中。另外,對讀取代碼糾錯,并將經(jīng)校正的代碼的數(shù)據(jù)與期望值(已寫入的正確數(shù)據(jù))相比較。如果比較指示對于所有地址都匹配,則輸出Pass(通過)信號作為測試結(jié)果。如果對地址中的任何一個或多個找到不匹配,則輸出Fail(故障)作為測試結(jié)果。輸出Fail的半導體存儲器設備被當作有缺陷的而丟棄。
這樣,圖10的半導體存儲器設備具有不帶ECC功能的存儲器10B和帶有ECC功能的存儲器BIST 15。尤其當設置了多個存儲器時,ECC功能可以集中設置在存儲器BIST中,而不是單獨設在每個存儲器中,從而實現(xiàn)了高效的電路配置。
圖12的框圖示出了根據(jù)本發(fā)明的具有冗余功能的半導體存儲器設備的配置的另一變體。在圖12中,與圖10相同的元件以相同的標號指代,這里省略其描述。
圖12的半導體存儲器設備包括存儲器10B、冗余切換信息提供單元11A、冗余控制單元12和存儲器BIST 15A。冗余切換信息提供單元11A與參照圖7所述的冗余切換信息提供單元相同。存儲器BIST 15A是用來執(zhí)行諸如SOC之類的系統(tǒng)內(nèi)部的存儲器的自動測試的模塊,并且與圖10中所示的存儲器BIST 15不同的是,不具有ECC功能。存儲器10B是在從ECC存儲器10中移去ECC邏輯單元22后剩下的部分。
在測試操作時,存儲器BIST 15A自動生成測試數(shù)據(jù),并將所生成的測試數(shù)據(jù)寫入到存儲器10B中。其后,存儲器BIST 15A讀取寫入的數(shù)據(jù),并將讀取數(shù)據(jù)與期望值(已寫入的正確數(shù)據(jù))相比較。基于該比較結(jié)果,存儲器BIST 15A檢查測試地址是否包括差錯,并在存在差錯的情況下找到差錯位置。
存儲器BIST 15A輸出指示地址的地址信號、指示是否有差錯的差錯檢測信號和指示數(shù)據(jù)中的差錯位的位置的差錯數(shù)據(jù)位置信號。這些信號被半導體存儲器設備外部的測試儀裝置等檢測。在外部,監(jiān)視輸出的地址、差錯檢測信號和差錯數(shù)據(jù)位置信號,以便識別故障地址和故障數(shù)據(jù)位置。然后,可以從外部向冗余切換信息提供單元11A提供設置信號,以記錄故障地址和故障數(shù)據(jù)位置。如果冗余切換信息提供單元11被配置使得非易失性數(shù)據(jù)利用熔線來存儲,則可以使用激光束來切斷熔線,以記錄故障地址和故障數(shù)據(jù)位置。
圖13示出了在冗余切換信息提供單元11中提供的非易失性信息存儲單元的示例。在圖13所示的示例中,源極區(qū)61和漏極區(qū)62創(chuàng)建在硅襯底60的擴散層中,并且浮柵64和控制柵62形成在源極區(qū)61和漏極區(qū)62之間的硅襯底60上,從而提供了用于存儲一位的非易失性信息存儲單元。在該配置中,響應于施加到控制柵63的電壓而在源極區(qū)61和漏極區(qū)62之間流動的電流依賴于在浮柵64中陷入的電荷的存在/不存在而變化。這種電荷的存在/不存在代表了數(shù)據(jù)的“1”/“0”。根據(jù)一種方法,當要寫入數(shù)據(jù)時,電流在源極區(qū)61和漏極區(qū)62之間流動以生成熱載流子,熱載流子被用于將電荷注入到浮柵64中。
圖14示出了在冗余切換信息提供單元11中提供的非易失性信息存儲單元的另一示例。在圖14所示的示例中,源極區(qū)71和漏極區(qū)72被創(chuàng)建在硅襯底70的擴散層中,并且柵極氧化膜74和柵極73形成在源極區(qū)71和漏極區(qū)72之間的硅襯底70上,從而提供了用于存儲一位的非易失性信息存儲單元。柵極氧化膜(或?qū)娱g膜)74中電介質(zhì)擊穿75的存在/不存在用來記錄數(shù)據(jù)。當要寫入數(shù)據(jù)時,破壞柵極氧化膜74的電壓被提供到柵極73。
圖15示出了在冗余切換信息提供單元11中提供的非易失性信息存儲單元的另一示例。在圖15所示的示例中,熔線互連81形成在硅襯底80上提供的互連層中,從而提供了用于存儲一位的非易失性信息的存儲單元。當要寫入數(shù)據(jù)時,可以使用激光束82來切斷熔線互連81。數(shù)據(jù)讀取是通過檢查電流是否流經(jīng)熔線互連81來實現(xiàn)的。一種替換方法是使過量電流流經(jīng)熔線互連81來熔化和切斷熔線互連81,而不是利用激光束切斷。
下面將描述與本發(fā)明的半導體存儲器設備的芯片配置有關的實施例。本發(fā)明的半導體存儲器設備可以被配置使得用作SOC的單個芯片包括ECC存儲器10、冗余切換信息提供單元11和冗余控制單元12。或者,本發(fā)明的半導體存儲器設備可以利用多個單獨芯片實現(xiàn)。
圖16示出了根據(jù)本發(fā)明的半導體存儲器設備的芯片配置的示例。在圖16所示的配置中,芯片90正面朝下安裝在芯片91上,這些芯片通過連接焊點92彼此電連接。芯片90可以包括ECC存儲器10,芯片91可以包括冗余切換信息提供單元11和冗余控制單元12。這樣,ECC存儲器10和其他部分可以形成在不同的芯片上(即,在不同的半導體襯底上)。
圖17示出了根據(jù)本發(fā)明的半導體存儲器設備的芯片配置的另一示例。在圖17所示的配置中,芯片100和102安裝在芯片101上,其實現(xiàn)有電路的正面朝向相同方向(本示例中正面向上),并且焊線105電連接在芯片之間。芯片100至102密封在封裝104內(nèi)部,并且通過引線框103電連接到封裝104的外部。芯片100可以包括ECC存儲器10,芯片101可以包括冗余控制單元12和控制器11-1,而芯片102包括ROM 11-2(見圖8)。這樣,ECC存儲器10和ROM部分可以實現(xiàn)在各自不同的芯片上,而其他部分可以實現(xiàn)為另一單獨芯片。
圖18示出了根據(jù)本發(fā)明的半導體存儲器設備的芯片配置的又一示例。在圖18所示的配置中,封裝芯片111和112安裝在印刷電路板110上,并且通過印刷電路板110上的互連線彼此電連接。在該示例中,封裝芯片111可以包括ROM 11-2,而封裝芯片112可以包括其他部分。
另外,本發(fā)明并不限于這些實施例,在不脫離本發(fā)明的范圍的前提下可以進行各種變化和修改。
權(quán)利要求
1.一種半導體存儲器設備,其特征在于包括被配置為并行輸入/輸出第一數(shù)據(jù)和第二數(shù)據(jù)的存儲器,所述第一數(shù)據(jù)是由為2的正整數(shù)次冪的預定數(shù)目的位組成的數(shù)據(jù)的全部或一部分,所述第二數(shù)據(jù)由校正由所述預定數(shù)目的位組成的數(shù)據(jù)的差錯所必需的多個位組成;被配置為響應于提供到所述存儲器的地址信號而提供冗余切換信息的冗余切換信息提供單元;以及位于所述存儲器和數(shù)目等于所述第一數(shù)據(jù)的位數(shù)的輸入/輸出節(jié)點之間的冗余控制單元,該冗余控制單元具有將所述輸入/輸出節(jié)點的給定位耦合到所述存儲器的第一數(shù)據(jù)的相應位的第一路徑和將所述輸入/輸出節(jié)點的給定位耦合到所述存儲器的第二數(shù)據(jù)的預定位的第二路徑,并且被配置為響應于所述冗余切換信息而選擇并使能所述第一路徑和所述第二路徑之一。
2.如權(quán)利要求1所述的半導體存儲器設備,其中所述存儲器包括糾錯碼邏輯單元,所述糾錯碼邏輯單元被配置為基于所述第一數(shù)據(jù)和所述第二數(shù)據(jù)校正所述第一數(shù)據(jù)的差錯,并且還被配置為允許其糾錯功能被設置為“off”狀態(tài)。
3.如權(quán)利要求1所述的半導體存儲器設備,其中通過所述冗余切換信息選擇所述輸入/輸出節(jié)點的給定位。
4.如權(quán)利要求1所述的半導體存儲器設備,其中所述冗余切換信息提供單元被配置為提供指示在由所述地址信號指示的地址處是否有故障位的信息和指示所述故障位的位置的信息,作為所述冗余切換信息。
5.如權(quán)利要求1所述的半導體存儲器設備,其中所述冗余控制單元被配置為在對所述存儲器進行寫操作時選擇了所述第二路徑的情況下,將所述輸入/輸出節(jié)點的給定位寫入到所述存儲器的第二數(shù)據(jù)的多個位中的每一位中,并且所述冗余控制單元還被配置為在對所述存儲器進行讀操作時選擇了所述第二路徑的情況下,將通過在所述存儲器的第二數(shù)據(jù)的多個位中進行多數(shù)表決確定的值提供到所述輸入/輸出節(jié)點的給定位。
6.如權(quán)利要求1所述的半導體存儲器設備,其中所述冗余切換信息提供單元包括用于存儲所述存儲器的故障地址的故障地址信息存儲單元;用于存儲所述故障地址處的故障位的位置的數(shù)據(jù)位置信息存儲單元;和被配置為將由所述地址信號指示的地址與存儲在所述故障地址信息存儲單元中的故障地址相比較的比較器單元。
7.如權(quán)利要求6所述的半導體存儲器設備,其中所述存儲器包括糾錯碼邏輯單元,所述糾錯碼邏輯單元被配置為輸出指示所述第一數(shù)據(jù)中差錯的存在/不存在并指示所述差錯位的位置的差錯信息,并且其中所述冗余切換信息提供單元耦合到所述糾錯碼邏輯單元,并被配置為響應于所述差錯信息分別在所述故障地址信息存儲單元和所述數(shù)據(jù)位置信息存儲單元中存儲所述故障地址和所述故障位的位置。
8.如權(quán)利要求1所述的半導體存儲器設備,還包括被配置為執(zhí)行所述存儲器的自動測試的存儲器BIST,其中所述存儲器BIST包括被配置為基于所述第一數(shù)據(jù)和所述第二數(shù)據(jù)校正所述第一數(shù)據(jù)的差錯的糾錯碼邏輯單元。
9.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯碼邏輯單元被配置為允許所述糾錯功能響應于提供自外部的信號而被設為“on”或“off”。
10.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯碼邏輯單元被配置使得其糾錯功能被固定設為“off”狀態(tài)。
11.如權(quán)利要求1所述的半導體存儲器設備,其中所述冗余切換信息提供單元包括電可讀寫的只讀存儲器,該只讀存儲器存儲所述存儲器的故障地址和所述故障地址處的故障位的位置。
12.如權(quán)利要求11所述的半導體存儲器設備,其中所述只讀存儲器包括具有浮柵結(jié)構(gòu)的存儲單元。
13.如權(quán)利要求11所述的半導體存儲器設備,其中所述只讀存儲器包括采用MOS晶體管的柵極氧化膜的擊穿/完整狀態(tài)的存儲單元。
14.如權(quán)利要求11所述的半導體存儲器設備,其中所述只讀存儲器包括響應于過量電流而熔化導致切斷的熔線。
15.如權(quán)利要求1所述的半導體存儲器設備,其中所述冗余切換信息提供單元包括熔線,所述熔線處于切斷或完整狀態(tài),以存儲所述存儲器的故障地址和所述故障地址處的故障位的位置。
16.如權(quán)利要求1所述的半導體存儲器設備,包括包含所述存儲器的第一半導體芯片;和包含所述冗余控制單元的第二半導體芯片。
17.如權(quán)利要求16所述的半導體存儲器設備,其中所述第二半導體芯片還包括所述冗余切換信息提供單元。
18.如權(quán)利要求16所述的半導體存儲器設備,包括包含所述冗余切換信息提供單元的第三半導體芯片。
19.如權(quán)利要求16所述的半導體存儲器設備,其中所述第一半導體芯片和所述第二半導體芯片之一正面朝下安裝在所述第一半導體芯片和所述第二半導體芯片中的另一個上。
20.如權(quán)利要求16所述的半導體存儲器設備,其中所述第一半導體芯片和所述第二半導體芯片之一安裝在所述第一半導體芯片和所述第二半導體芯片中的另一個上,使得其實現(xiàn)有電路的正面不彼此面對。
21.如權(quán)利要求16所述的半導體存儲器設備,其中所述第一半導體芯片和所述第二半導體芯片安裝在印刷電路板上。
22.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯功能是基于漢明碼的。
23.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯功能是基于擴展?jié)h明碼的。
24.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯功能是基于水平和垂直奇偶校驗碼的。
25.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯功能的“off”狀態(tài)利用掩模選項固定設置。
26.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯功能的“off”狀態(tài)利用焊線固定設置。
27.如權(quán)利要求2所述的半導體存儲器設備,其中所述糾錯功能的“off”狀態(tài)利用激光熔線固定設置。
全文摘要
一種半導體存儲器設備包括被配置為并行輸入/輸出第一數(shù)據(jù)和第二數(shù)據(jù)的存儲器,其中第一數(shù)據(jù)是預定數(shù)目的位的全部或一部分,第二數(shù)據(jù)由校正這預定數(shù)目的位的差錯所必需的多個位組成;被配置為響應于提供到存儲器的地址信號而提供冗余切換信息的單元;以及位于存儲器和輸入/輸出節(jié)點之間的控制單元,其具有將輸入/輸出節(jié)點的給定位耦合到存儲器的第一數(shù)據(jù)的相應位的第一路徑和將輸入/輸出節(jié)點的給定位耦合到存儲器的第二數(shù)據(jù)的預定位的第二路徑,并且被配置為響應于冗余切換信息而選擇并使能第一路徑和第二路徑之一。
文檔編號G11C29/24GK101042938SQ20061008643
公開日2007年9月26日 申請日期2006年6月21日 優(yōu)先權(quán)日2006年3月24日
發(fā)明者江渡聰 申請人:富士通株式會社