TW201546813A - 非揮發性記憶體之冗餘系統 - Google Patents

非揮發性記憶體之冗餘系統 Download PDF

Info

Publication number
TW201546813A
TW201546813A TW104101823A TW104101823A TW201546813A TW 201546813 A TW201546813 A TW 201546813A TW 104101823 A TW104101823 A TW 104101823A TW 104101823 A TW104101823 A TW 104101823A TW 201546813 A TW201546813 A TW 201546813A
Authority
TW
Taiwan
Prior art keywords
logic
cell
cells
data
inverted
Prior art date
Application number
TW104101823A
Other languages
English (en)
Other versions
TWI514396B (zh
Inventor
Wlodek Kurjanowicz
Mourad Abdat
Original Assignee
Sidense Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/162,380 external-priority patent/US9123429B2/en
Application filed by Sidense Corp filed Critical Sidense Corp
Publication of TW201546813A publication Critical patent/TW201546813A/zh
Application granted granted Critical
Publication of TWI514396B publication Critical patent/TWI514396B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/146Write once memory, i.e. allowing changing of memory content by writing additional bits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/027Detection or location of defective auxiliary circuits, e.g. defective refresh counters in fuses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

描述一種用於非揮發性記憶體(NVM)的冗餘方案。此冗餘方案提供用於在非揮發性記憶體中使用缺陷胞元以增加良率的機制。該演算法係依據當在胞元群組中偵測到缺陷胞元時,針對將被編程到該胞元群組的資料,反相該編程資料。將缺陷胞元偏置於「1」或「0」的邏輯狀態,其係有效地被預設來儲存其偏置邏輯狀態。具有與胞元之偏置邏輯狀態互補的邏輯狀態之待儲存於缺陷胞元中的資料位元,造成編程資料被反相且被編程。將反相狀態位元編程以指示編程資料的反相狀態。在讀取期間,反相狀態位元使已儲存的資料被再次反相為其原始編程資料狀態。

Description

非揮發性記憶體之冗餘系統 相關申請案之交叉參考
本申請案是美國專利申請案號第13/740,747號(於2013年1月14日申請)的部分延續案,所述美國專利申請案號第13/740,747號是第12/843,498號(於2010年7月26日申請)的延續案,並且主張美國臨時專利申請案號第61/228,704號(於2009年7月27日申請)的優先權,其透過全文引用而併入本文。
本發明通常關於非揮發性記憶體。更明確地,本發明關於用於非揮發性記憶體的冗餘方案。
反熔絲記憶體被視為非揮發性記憶體,其中在沒有電力時資料會被留存在記憶體胞元中。反熔絲裝置係可改變導通狀態的結構,或換言之,將狀態從非導通改變成導通的電子裝置。該等二元狀態可以是回應諸如編程電壓或電流之電應力的高電阻及低電阻之其中一者。不同 於其他形式的非揮發性記憶體,諸如快閃記憶體、鐵電及磁性記憶體,該反熔絲編程被視為不可逆的。因此將反熔絲記憶體稱為一次編程(OTP)記憶體。
如美國專利編號第6,667,902號所展示之使用平面電容器取代儲存電容器作為反熔絲的DRAM-型記憶體陣列已為人所知。圖1係此種記憶體胞元的電路圖,而圖2及3分別顯示圖1之已知反熔絲記憶體胞元的平面圖及橫剖面圖。圖1之記憶體胞元包括用於將位元線BL耦合至反熔絲裝置12之底屏極的傳送或存取電晶體10。字線WL係耦合至存取電晶體10的閘極以開啟電晶體,並且胞元屏極電壓Vcp係耦合至反熔絲裝置12的頂屏極用於編程反熔絲裝置12。
可從圖2及3看出,存取電晶體10及反熔絲裝置12的佈置非常直接且簡單。存取電晶體10的閘極14及反熔絲裝置12的頂屏極16使用相同的多晶矽層構成,彼等延伸跨越主動區18。在各多晶矽層下方的主動區18中,形成用於電性絕緣該多晶矽與下方之該主動區的薄閘極氧化物20,也稱為閘極介電質。擴散區域22及24在閘極14的二側,其中擴散區域24耦合至位元線。雖然未圖示,熟悉本發明技術領域之人士將理解可施用標準CMOS處理,諸如側壁間隙形成、輕摻雜擴散(LDD)、以及擴散及閘極矽化。雖然傳統單電晶體及電容器胞元組態廣泛地被使用,然而由於半導體陣列面積的節約,更期望僅需電晶體的反熔絲胞元,其可被用於高密度應用。此 種僅需電晶體的反熔絲必須是可靠而簡單的,以用低成本CMOS製程製造。
根據本發明之實施例,圖4A顯示可使用任何標準CMOS製程製造之反熔絲電晶體的橫剖面圖。在目前顯示的範例中,反熔絲電晶體幾乎與簡單厚閘極氧化物,或具有一浮動擴散終端的輸入/輸出MOS電晶體完全相同。所揭示的反熔絲電晶體,也稱為分離通道電容器或半電晶體,能可靠地被編程,使得多晶矽閘極與基材之間的熔絲連接能可預測地被局限在裝置的特定區域。圖4A的橫剖面圖係沿著圖4B之線B-B’取得,係沿著裝置的通道長度,其在目前描述的實施例中為p-通道裝置。熟悉本發明技術領域之人士將理解本發明可實作為n-通道裝置。
反熔絲電晶體100包括形成在基材通道區域104上的可變厚度閘極氧化物102、多晶矽閘極106、側壁間隙108、場氧化物區域109、擴散區域110、及在擴散區域110中的LDD區域114。將位元線接觸116顯示成與擴散區域110電性接觸。可變厚度閘極氧化物102由厚氧化物及薄閘極氧化物組成,使得通道長度的一部分由厚閘極氧化物所覆蓋且通道長度的其餘部分由薄閘極氧化物所覆蓋。通常,薄閘極氧化物係能發生氧化物崩潰的區域。另一方面,與擴散區域110接觸的厚閘極氧化物邊緣,界定防止閘極氧化物崩潰及在閘極106與擴散區域110之間的電流係用於編程反熔絲電晶體而流動的存取邊緣。當厚氧化物部延伸進入通道區域中的距離係取決於遮 罩等級時,厚氧化物部較佳被形成為至少與形成在相同晶片上的高電壓電晶體的最小長度一樣長。
在較佳實施例中,擴散區域110係經由位元線接觸116,或用於感測來自多晶矽閘極106之電流的其他線,連接至位元線,並可被摻雜以順應編程電壓或電流。此擴散區域110係形成為鄰近可變厚度閘極氧化物102的厚氧化物部。為了進一步保護反熔絲電晶體100的邊緣免於受到高電壓損害、或電流洩漏,可在製程期間引入電阻器保護氧化物(RPO),也稱為矽化物保護氧化物,以進一步將金屬粒子與側壁間隙108的邊緣分隔。在矽化製程期間較佳地使用此RPO,用於防止僅擴散區域110的一部分及多晶矽閘極106的一部分受矽化。
眾所周知,已知矽化電晶體具有較高漏電流,且因此具有較低之崩潰電壓。因此,具有非矽化擴散區域110,將減少漏電流。擴散區域110可針對低電壓電晶體或高電壓電晶體或該二結果之組合,以相同或不同的擴散設定檔摻雜。
圖4B中顯示反熔絲電晶體100的簡化平面圖。可使用位元線接觸116作為視覺參考點,以將該平面圖對照圖4A之對應橫剖面圖。主動區118係該裝置之形成通道區域104及擴散區域110的區域,其係藉由製程期間的OD遮罩界定。虛輪廓線120界定在製程期間經由OD2遮罩待將該厚閘極氧化物形成於其中的區域。更具體地說,由虛輪廓線120包圍的該區域指定待形成該厚氧化 物的區域。OD簡單地說係指氧化物界定遮罩,其在CMOS製程期間用於界定待於基材上形成該氧化物的區域,且OD2係指與第一氧化物界定遮罩不同的第二氧化物界定遮罩。
反熔絲電晶體100的編程係基於閘極氧化物崩潰,以在該閘極及該下方通道之間形成永久連接。閘極氧化物崩潰條件(電壓或電流及時間)主要取決於i)閘極介電層厚度及組成物、ii)缺陷密度、以及iii)閘極區域、閘極/擴散周長。反熔絲電晶體100之厚及薄閘極氧化物組合在該裝置的薄閘極氧化物部分,特別在氧化物崩潰區域,導致局部下降閘極崩潰電壓。反熔絲電晶體100僅係可使用在OTP記憶體中的一種反熔絲裝置。熟悉本發明技術領域之人士將理解不同類型的反熔絲裝置係以相似方式編程。
與任何已製造的半導體記憶體裝置一樣,隨機缺陷可在製造期間發生。更具體地說,記憶體胞元可遭受改變其特徵的物理缺陷。此種缺陷可使該OTP記憶體不可操作,因為資料可能不能可靠地儲存在該等缺陷胞元中。在新製造的反熔絲記憶體陣列中,應將所有該等胞元讀取成具有未編程邏輯狀態。例如,未編程邏輯狀態可對應於「0」。然而,由於製造缺陷,部分該等反熔絲胞元將洩漏電流。在目前範例中,洩漏電流的反熔絲胞元將讀取為邏輯「1」狀態,其對應於該胞元的已編程狀態。將此等類型的缺陷胞元稱為漏胞元。相反地,部分反熔絲胞 元可能難以編程,因此當其應讀出為邏輯「1」狀態時,讀出邏輯「0」狀態。將此等類型的缺陷胞元稱為弱胞元。
為改善整體製造良率,已發展冗餘方案以修復具有缺陷胞元的記憶體陣列。可使用將包含缺陷胞元的行及/或列以備用行及/或列置換之已為人熟知的冗餘技術。然而,此種技術在試圖向終端使用者保證透明操作及最小效能減少的同時,對重佈線位址引入顯著的邏輯消耗。
於以下的美國專利案中揭示先前之冗餘方案的範例。在美國專利序號第6421799號中,冗餘ROM儲存用於主記憶體之行及列的同位位元。測試電路針對各行及列計算同位。在美國專利序號第6944083號中,敏感資料的良好副本是儲存在不同的實體位置中。若藉由比較儲存在主記憶體中的資料及儲存在冗餘中之資料而偵測到記憶體的竄改時,將主記憶體中的資料識別為不可使用,並轉而使用自冗餘記憶體取回的資料。在美國專利序號第7047381號中,使用該等冗餘行將多階編程實作在該OTP陣列中。在美國專利序號第7003713號中,OTP模組自該主積體電路接收已編碼主資料,並將已校正主資料的副本提供至該主積體電路。
多數的冗餘方案需要顯著的額外邏輯,其極度地增加晶片面積或巨集覆蓋區。因此,需要將邏輯消耗最小化而將整體良率最大化的新冗餘方案。
在第一實施態樣中,提供非揮發性記憶體。該記憶體包括:用於儲存n-位元項目的n個資料胞元,其中該n個資料胞元的缺陷資料胞元可設定為永久邏輯狀態;至少兩個反相狀態胞元,各者可在兩個狀態之間編程,其中第一邏輯狀態組合指示將對該n個資料胞元進行反相操作,以及第二邏輯狀態組合指示將不進行反相操作,該至少兩個反相狀態胞元的缺陷胞元可設定為永久邏輯狀態,且該至少兩個反相狀態胞元的操作中的胞元可編程為兩個邏輯狀態之其中一者以達成該第一或第二邏輯狀態組合;以及耦合至該n個資料胞元及該至少兩個反相狀態胞元的反相處理器,該反相處理器被組態成基於該至少兩個反相狀態胞元之該第一或該第二邏輯狀態組合而輸出該n-位元項目或該n-位元項目的反相。
在一實施例中,該反相處理器包括第一邏輯電路,其被組態成接收該至少兩個反相狀態胞元的邏輯狀態以及提供反相控制訊號,及第二邏輯電路,其被組態成接收該n-位元項目的邏輯狀態並回應該反相控制訊號而將該n-位元項目反相。
在本實施例中,該第一邏輯電路可包括AND邏輯或互斥OR(XOR)邏輯。
在某些實施例中,該至少兩個反相狀態胞元可包括三個反相狀態胞元或三個以上的反相狀態胞元。
在一實施例中,該第二邏輯電路包括XOR邏輯,對應於該n-位元項目之各項目。在某些實施例中,該n-位元項目之各項目的該XOR邏輯包括第一輸入,用於接收對應於該n-位元項目之一位元的邏輯狀態、第二輸入,用於接收該反相控制訊號、以及輸出,用於回應該反相控制訊號而提供在該第一輸入處所接收之該邏輯狀態的反相。
在第二實施態樣中,提供用於非揮發性記憶體的冗餘方法。該方法包括判定是要反相編程資料的邏輯狀態或是要維持該編程資料的該等邏輯狀態;偵測在複數個反相狀態胞元之至少一者中的缺陷,該等反相狀態胞元用於儲存指示反相判定的第一邏輯狀態組合及指示非反相判定的第二邏輯狀態組合;針對至少一個缺陷反相狀態胞元設定永久邏輯狀態;將該複數個反相狀態胞元之至少一個無缺陷的反相狀態胞元設定為特定邏輯狀態,使得該特定邏輯狀態與該至少一個缺陷反相狀態胞元永久邏輯狀態的邏輯組合提供一指示,該指示匹配用以反相或維持該編程資料的該等邏輯狀態的該判定。
在一個實施例中,該方法可進一步包括以該編程資料之該等邏輯狀態和該編程資料之該反相邏輯狀態的其中一者來編程記憶體胞元,以及以特定及永久邏輯狀態的該邏輯組合來編程該複數個反相狀態胞元。在一些實施例中,該方法亦進一步包括讀取該等記憶體胞元,讀取該複數個反相狀態胞元,以及當特定及永久邏輯狀態的該 邏輯組合指示該讀取資料已以反相狀態被編程時,反相該等記憶體胞元的讀取資料。
在一實施例中,反相包括對特定及永久邏輯狀態的該邏輯組合執行邏輯操作以提供一反相控制訊號,以及回應該反相控制訊號對該讀取資料執行反相操作。
在各種實施例中,該邏輯組合為AND操作或互斥OR(XOR)操作。
在各種實施例中,該複數個反相狀態胞元可包括兩個反相狀態胞元、三個反相狀態胞元、或三個以上的反相狀態胞元。
在審閱以下本發明之具體實施例的描述以及該等隨附圖式後,本發明的其他實施態樣及特性對於熟悉本發明技術領域之人士將變得清晰。
10‧‧‧存取電晶體
12‧‧‧反熔絲裝置
14‧‧‧閘極
16‧‧‧頂屏極
18‧‧‧主動區
20‧‧‧薄閘極氧化物
22‧‧‧擴散區域
24‧‧‧擴散區域
100‧‧‧反熔絲電晶體
102‧‧‧可變厚度閘極氧化物
104‧‧‧基材通道區域
106‧‧‧多晶矽閘極
108‧‧‧側壁間隙
109‧‧‧場氧化物區域
110‧‧‧擴散區域
114‧‧‧LDD區域
116‧‧‧位元線接觸
118‧‧‧主動區
120‧‧‧虛輪廓線
200‧‧‧胞元群組
201‧‧‧資料胞元群組
202‧‧‧反相狀態胞元
202a‧‧‧反相狀態胞元
202b‧‧‧反相狀態胞元
204‧‧‧缺陷胞元
210‧‧‧編程資料
212‧‧‧編程資料
214‧‧‧編程資料
300‧‧‧記憶體裝置
302‧‧‧OTP記憶體陣列
304‧‧‧感測放大器及行選擇電路
306‧‧‧資料暫存器
308‧‧‧資料匯流排驅動器
310‧‧‧自反相資料暫存器
400‧‧‧摺疊位元線記憶體陣列
402‧‧‧n-通道反熔絲電晶體
404‧‧‧n-通道反熔絲電晶體
406‧‧‧n-通道絕緣電晶體
408‧‧‧n-通道絕緣電晶體
410‧‧‧預充電電路
412‧‧‧參考電荷電路
414‧‧‧位元線感測放大器
416‧‧‧n-通道預充電電晶體
418‧‧‧n-通道預充電電晶體
420‧‧‧n-通道引導電晶體
422‧‧‧n-通道引導電晶體
424‧‧‧電容電路
426‧‧‧p-通道預充電電晶體
428‧‧‧資料狀態校正器
430‧‧‧閘控電晶體
432‧‧‧閘控電晶體
500‧‧‧SI資料暫存器
502‧‧‧SI暫存器胞元
504‧‧‧SI暫存器胞元
600‧‧‧SI暫存器胞元
602‧‧‧資料儲存電路
604‧‧‧自動編程禁止電路
606‧‧‧編程資料反相電路
608‧‧‧讀取資料反相電路
610‧‧‧資料失配比較邏輯
612‧‧‧主鎖存器
614‧‧‧從屬鎖存器
616‧‧‧轉移閘控裝置
618‧‧‧輸入閘控裝置
620‧‧‧預充電裝置
622‧‧‧耦合裝置
624‧‧‧正反器電路
626‧‧‧耦合裝置
628‧‧‧及邏輯閘
630‧‧‧或邏輯閘
632‧‧‧選擇器
634‧‧‧反相器
700‧‧‧SI暫存器胞元
702‧‧‧電晶體裝置
704‧‧‧缺陷偵測邏輯
706‧‧‧或邏輯閘
1200‧‧‧電路
1201‧‧‧資料胞元群組
1202a‧‧‧反相狀態胞元
1202b‧‧‧反相狀態胞元
1210‧‧‧理想值
1212‧‧‧AND閘
1220‧‧‧XOR閘
1222‧‧‧反相處理器
1230‧‧‧輸出
1300‧‧‧電路
1301‧‧‧資料胞元群組
1302a‧‧‧反相狀態胞元
1302b‧‧‧反相狀態胞元
1310‧‧‧理想值
1312‧‧‧XOR閘
1320‧‧‧XOR閘
1322‧‧‧反相處理器
1330‧‧‧輸出
1400‧‧‧電路
1401‧‧‧資料胞元群組
1402a‧‧‧反相狀態胞元
1402b‧‧‧反相狀態胞元
1402c‧‧‧反相狀態胞元
1410‧‧‧理想值
1412‧‧‧XOR閘
1420‧‧‧XOR閘
1422‧‧‧反相處理器
1430‧‧‧輸出
現在將僅藉由例示方式參考該等附圖描述本發明的實施例,其中:圖1係DRAM-型反熔絲胞元的電路圖;圖2係圖1之DRAM-型反熔絲胞元的平面佈置;;圖3係圖2之DRAM-型反熔絲胞元沿著線A-A’的橫剖面圖;圖4A係根據本發明實施例之圖4B的反熔絲電晶體之橫剖面圖;圖4B係圖4A之反熔絲電晶體的平面佈置; 圖5係描繪根據本實施例之具有缺陷胞元的n-位元項目及其對應反相狀態位元的圖;圖6A、6B及6C係描繪根據本實施例之範例冗餘操作的圖;圖7係根據本實施例之具有冗餘系統的記憶體之方塊圖;圖8係圖7所示之記憶體陣列的一部分及感測放大器電路方塊之電路的電路示意圖;圖9係根據本實施例之圖7的n-位元自反相資料暫存器之電路示意圖;圖10係根據本實施例之圖7的n-位元自反相資料暫存器之單位元自反相暫存器胞元的電路示意圖;圖11係根據本實施例之反相狀態位元暫存器的電路示意圖;圖12係根據本實施例之用於操作具有冗餘方案的OTP記憶體之通用方法的流程圖;圖13A及13B係根據本實施例之顯示於圖12的該方法之實施例;圖14係顯示施用至記憶體陣列之目前描述的冗餘技術之範例;圖15係顯示施用至記憶體陣列之目前描述的冗餘技術之替代範例;圖16係顯示施用至記憶體陣列之目前描述的冗餘技術之另一替代範例; 圖17A及17B繪示根據本實施例之利用複數個反相狀態胞元之電路的示意圖;圖18A及18B繪示根據本實施例之利用複數個反相狀態胞元之替代電路的示意圖;圖19A及19B繪示根據本實施例之利用複數個反相狀態胞元之另一替代電路的示意圖;以及圖20係繪示根據本實施例之利用複數個反相狀態胞元之方法的流程圖。
大致上,本發明提供用於非揮發性記憶體,諸如OTP或電性可抹除記憶體,諸如EPROM及快閃記憶體,的冗餘方案。該冗餘方案使用非揮發性記憶體中的缺陷胞元,藉由使用該等缺陷胞元儲存資料以增加良率。可使該演算法在編程期間及在讀取操作期間對使用者應用程式透明。在製造後,在該等記憶體裝置出貨之前實施陣列清除測試。此測試識別傾向於比允許設計許可洩漏更多電流的此等記憶體胞元。將該等已識別漏胞元編程為邏輯「1」狀態,因為彼等在非編程狀態中讀出為邏輯「1」狀態。或者,將難以編程的胞元留存為邏輯「0」狀態,因為不能將彼等編程為邏輯「1」狀態。因此將此等缺陷稱為該等胞元的偏置邏輯狀態。胞元的各群組係8-位元字組或具有任意數量位元的字組,包括使用為反相狀態標記位元之至少一個額外胞元,以指示該儲存資料項目使用偏置 邏輯狀態儲存該資料項目之位元。
茲參考圖5討論目前描述之冗餘技術的通用原理。圖5係描繪由n-位元資料胞元群組201及對應反相狀態胞元202組成之胞元群組200的圖式,其中n可係大於1之任何整數。胞元群組200儲存資料,其由編程資料及反相狀態位元組成。在圖5之目前範例中,資料胞元群組201係8-位元,其中最左側位元或最右側位元之其中一者係最低有效位元(LSB)。在圖5中,小數點係用於視覺區分資料胞元群組201及反相狀態胞元202。假設資料胞元群組201的所有記憶體胞元及反相狀態胞元202具有「0」之預設未編程邏輯狀態或「0」之已抹除邏輯狀態。在此範例中,在資料胞元群組201中偵測到缺陷胞元204,並以字母「d」標記。
根據本實施例,可將d永久地設定為其偏置邏輯狀態。例如,若缺陷胞元204係當未編程時傾向於讀出邏輯「1」而非正確的邏輯「0」之漏OTP胞元時,則藉由編程缺陷胞元204將d設定為「1」。其次,當將8-位元資料編程為資料胞元群組201時,將缺陷胞元204之已設定的邏輯「1」狀態與待儲存於其內的編程資料位元進行比較。若該編程資料位元與缺陷胞元204之已設定的邏輯狀態失配時,則將該編程資料的所有位元反相以編程入資料胞元群組201。此外,將該反相狀態位元的預設邏輯狀態反相並編程入反相狀態胞元202。否則,不須反相該編程資料。因此,回收缺陷胞元204並將資料胞元群組 201修復成將缺陷胞元204重用於儲存資料位元。須注意待儲存在圖5之胞元群組200中的資料包括待儲存在資料胞元群組201中的編程資料以及待儲存在反相狀態胞元202中的反相狀態資料。若無胞元缺陷或無須反相,則反相狀態胞元202仍保持預設未編程狀態,其對應於本範例中的邏輯「0」。
圖6A、6B、以及6C係說明目前描述之冗餘技術的範例,其中該編程資料具有與資料胞元群組201之缺陷胞元的已設定邏輯狀態匹配及失配的位元。在圖6A中,圖5之資料胞元群組201具有永久設定為「1」邏輯狀態(d=1)之缺陷胞元204,且由該記憶體裝置接收的編程資料210待儲存在資料胞元群組201中。自資料胞元群組201的右側算來,缺陷胞元204係在位元位置4而編程資料210的位元位置4係邏輯「0」。為了可靠地將編程資料210儲存在資料胞元群組201中,並由於資料胞元群組201之位元位置4及編程資料210的位元位置4之間的失配,將包括編程資料210及該反相狀態位元之該資料的所有位元反相。該反相處理係以圓形箭號說明,並將藉由資料胞元群組201儲存的該結果資料顯示在圖6A的底部。因為資料胞元群組201儲存反相編程資料,因此將反相狀態胞元202編程為「1」邏輯狀態。該「真」邏輯狀態指示儲存在資料胞元群組201中的該資料相對於其原始版本是反相的。將儲存在反相狀態胞元202中的該資料稱為反相狀態位元,其稍後在讀取操作期間使用,藉此將該資料 再反相回其原始狀態。因此,藉由將已接收的編程資料的反相版本儲存在資料胞元群組201中,回收缺陷胞元204,因此容許使用資料胞元群組201,即使資料胞元群組具有缺陷胞元204。
圖6B顯示待將不同編程資料212編程至圖6A所示之資料胞元群組201中的範例。在此範例中,該編程資料的位元位置4及資料胞元群組201之位元位置4二者均為邏輯「1」,且因此匹配。無須將編程資料212反相,且如直箭號所示地將該編程資料直接儲存在資料胞元群組201中。圖6C顯示將缺陷胞元204設定成邏輯「0」的範例。假設已知資料胞元群組201的位元位置4具有設定為邏輯「0」之缺陷胞元。因為編程資料214的位元位置4為邏輯「1」,其失配。因此,將編程資料214的所有位元反相並儲存在資料胞元群組201中的同時將反相狀態胞元202編程為邏輯「1」,以指示對應資料胞元群組201儲存反相編程資料。
現在已描述本發明之冗餘觀念,下文係具有目前描述之冗餘方案的記憶體裝置或記憶體巨集的描述。對記憶體裝置的後續參考應理解為包括記憶體巨集。記憶體巨集係可被整合入嵌入式晶片或系統中的記憶體電路實例。圖7係根據本實施例之具有冗餘系統的記憶體之方塊圖。該記憶體可係任何非揮發性記憶體,但目前在OTP記憶體的背景中描述。記憶體裝置300包括OTP記憶體陣列302、感測放大器及行選擇電路304、資料暫存器 306、以及資料匯流排驅動器308。資料暫存器306包括個別自反相(SI)資料暫存器310。自反相資料暫存器310各者對應於一個胞元群組,諸如,圖5及6A、6B、及6C所示之n-位元+1胞元群組200。
OTP記憶體陣列302包括連接至OTP記憶體胞元的位元線及字線,諸如圖4A及4B所示之OTP反熔絲電晶體裝置100。如本發明中已為人所熟知的,該等位元線係藉由感測放大器及行選擇電路304中的感測放大器電路感測,其可包括用於將多條位元線之一者多工至一感測放大器電路的行選擇電路。感測放大器及行選擇電路304之各感測放大器電路提供用於由SI資料暫存器310中的鎖存電路儲存之1位元的感測讀取資料。在本範例中,各感測放大器電路也從SI資料暫存器310中的鎖存電路接收1位元的編程資料。在圖7中,各感測放大器電路經由SA線對提供1位元的讀取資料並接收1位元之編程資料,其中將各對顯示為單線SA。在本範例組態中,各SI資料暫存器310接收SA1至SAn,其中n對應於n-位元資料胞元群組201的尺寸。可提昇至m個SI資料暫存器310,其中m係整數值。各SI資料暫存器310另外接收並提供反相狀態位元INV。如先前所提及的,各SI資料暫存器310對應於n-位元+1胞元群組。如將於稍後更詳細地描述的,在針對編程偵測到上述之失配情況的事件中,各SI資料暫存器310可將已接收之編程資料的所有位元反相,並可回應於讀取操作中的反相狀態位元INV,將所 有讀取資料位元反相。
各SI資料暫存器310自寫入資料匯流排(未圖示)接收編程資料,並經由資料線DL1至DLn提供讀取資料。須注意用於1位元之輸入及輸出資料線係以單資料線表示。資料匯流排驅動器308實施已為人熟知之驅動資料匯流排DB[1:y]的功能,其中y<=m×n。DB的寬度取決於記憶體裝置300的組態。若DB的寬度少於m×n,可將額外的多工電路包括在資料匯流排驅動器308的方塊內,用於耦合任何資料線DL1至DLn組。根據本實施例,反相狀態位元INV對於SI資料暫存器310及該記憶體陣列係區域的,因此不以類似讀取資料的方法輸出,也不以類似編程資料的方式接收。
圖8係圖7之記憶體陣列302的一部分及位於感測放大器及行選擇電路方塊304中之與其關聯的位元線感測電路之示意圖。在本範例中,記憶體陣列302係以摺疊位元線架構組織,其在本發明技術領域中已為人所熟知。為簡化該示意圖,僅顯示一摺疊位元線對BL/BL*及二字線。未顯示用於選擇性地將多條摺疊位元線對耦合至該位元線感測放大器電路的行解碼器電路,以簡化該示意圖。摺疊位元線記憶體陣列400包括字線WL0及WL1,其連接至OTP記憶體胞元(在本範例中實作為n-通道反熔絲電晶體402及404)之閘極終端、n-通道絕緣電晶體406及408,其用於回應訊號ISO而將該等位元線的上部耦合至該等位元線的下部、以及位元線感測電路。該位元線感 測電路包括預充電電路410、參考電荷電路412、以及位元線感測放大器414。
預充電電路410包括串聯連接於BL及BL*之間並具有連接至預充電訊號BLPCH之閘極終端的兩個n-通道預充電電晶體416及418。預充電電晶體416及418之共享源極/汲極終端接收預充電電壓VPCH。在操作中,預充電電晶體416及418二者將回應BLPCH之主動高邏輯位準而開啟,以將位元線BL及BL*預充電至VPCH,準備讀取操作。
參考電荷電路412包括串聯連接於BL及BL*之間的n-通道引導電晶體420及422、實作為n-通道電晶體424的電容電路、及p-通道預充電電晶體426。引導電晶體420具有連接至偶數選擇訊號E_REF的閘極終端,而引導電晶體422具有連接至奇數選擇訊號O_REF的閘極終端。電容電路424具有連接至電壓供應VCC的閘極終端,並與預充電電晶體426串聯連接於引導電晶體420及422的共享源極/汲極終端及電壓供應VCC之間。預充電電晶體426具有連接至預充電或致能訊號PCH*的閘極終端。通常,當接收到低邏輯位準PCH*脈衝時,電容電路424將被預充電。該PCH*脈衝週期可基於電晶體424的尺寸及待提供之期望參考電荷而預定。一旦被預充電,引導電晶體420或422的其中一者被開啟,以將電容電路424的參考電荷耦合至對應位元線。例如,待加至位元線的電荷可約為50微伏特。須注意訊號E_REF及O_REF 可由用於選擇WL0或WL1的相同偶數/奇數定址位元控制。在一實施例中,WL0的啟動將導致E_REF啟動,因此將該參考電荷耦合至互補位元線。
位元線感測放大器414係由本發明技術領域中已為人所熟知的標準交叉耦合反相器電路組成。該電路包括皆串聯連接至個別n-通道電晶體的兩個p-通道電晶體。該等p-通道電晶體的共同汲極終端接收高邏輯位準致能訊號H_EN,而該等n-通道電晶體的共同源極終端接收低邏輯位準致能訊號L_EN。H_EN可為已降低之內部VCC位準,同時L_EN可為VSS位準。位元線感測放大器414在DRAM技術中的操作已為人所熟知。當致能訊號H_EN及L_EN在相同時間或在不同時間啟動時,位元線感測放大器414將感測BL及BL*之間的小電壓差,並迅速地將BL及BL*二者驅動至H_EN及L_EN的全邏輯位準狀態。
因為位元線感測放大器414連接至位元線BL及BL*二者,待編程的或自該記憶體陣列讀取的邏輯狀態將取決於所存取的記憶體胞元。例如,若反熔絲電晶體402及404二者皆儲存邏輯「1」,位元線感測放大器414將依據存取哪個反熔絲電晶體而鎖存二種不同邏輯狀態。因此,資料狀態校正器428係用於保證讀取及編程對應於邏輯「1」及「0」狀態的電壓位準。在本範例中,若啟動WL0以讀取反熔絲電晶體404,則訊號EVEN將在使BL*耦合至閘控電晶體430之邏輯狀態。另一方面,若啟動 WL1以讀取反熔絲電晶體402,則訊號EVEN將在使BL耦合至閘控電晶體430之相反邏輯狀態。當編程資料待從閘控電晶體432耦合至BL或BL*之其中一者時,資料狀態校正器428的操作也類似。可將資料狀態校正器428實作為由訊號EVEN控制的簡單雙向多工器,其可相關於用於選擇字線WL0及WL1的位址。訊號EVEN也可相關於訊號E_REF及O_REF。待編程至該等位元線的資料係經由耦合至SAi_in並受編程訊號PGM控制的n-通道閘控電晶體432提供。待自該等位元線讀取的資料係經由耦合至SAi_out並受讀取訊號READ控制的n-通道閘控電晶體430提供。須注意訊號SAi_in及SAi_out對應於先前討論的SA線對。因此,閘控電晶體432在編程操作期間開啟,而閘控電晶體430在讀取操作期間開啟。變數「i」係在1及最大數n之間的整數值。
圖8之記憶體陣列架構及電路係可使用在本發明實施例中的非揮發性記憶體陣列組態之一範例,且目前描述的冗餘方案並未受限於圖8之記憶體陣列組態。圖8之記憶體陣列架構,特別係分隔感測放大器輸入及輸出路徑SAi_in及SAi_out的組態,有助於自反相暫存器電路的設計及操作。
圖9係顯示根據本實施例之圖7的一SI資料暫存器310之方塊圖。SI資料暫存器500包括用於待編程的或自記憶體陣列302讀取的資料的各位元的一個SI暫存器胞元502,以及用於該反相狀態位元之SI暫存器胞元 504。將SI暫存器胞元502標示為胞元1至胞元n,以對應於n-位元資料胞元群組201。如圖9所示,各SI暫存器胞元502經由SAi_in線提供1位元的編程資料至感測放大器,並經由SAi_out線(其中i=1至n)從該感測放大器接收1位元的讀取資料。藉由DLi_in線提供1位元的編程資料,並藉由DLi_out線從該暫存器胞元輸出1位元的讀取資料。
作為編程操作的一部分,將各SI暫存器胞元502組態成比較其已接收之編程資料的邏輯狀態與其待編程為之胞元的邏輯狀態。在先前討論的範例中,設定為邏輯「1」之胞元係漏缺陷胞元。在失配的情形中,提供失配旗標DEFECT並經由該等SI暫存器胞元串接。換言之,各SI暫存器胞元502將其失配旗標結果與前一SI暫存器胞元502所提供的失配旗標進行邏輯或(OR)運算。最終的DEFECT旗標指示是否該等SI暫存器胞元502之其中一個有報告失配,並且該最終的DEFECT旗標由SI暫存器胞元504接收,其檢查反相狀態胞元是否有缺陷。若有一個SI暫存器胞元502報告失配或者SI暫存器胞元504報告反相狀態胞元係有缺陷的,則將由SI暫存器胞元504提供的編程反相訊號PGM_INV設定為主動邏輯位準。所有SI暫存器胞元502均接收PGM_INV,並組態成回應PGM_INV的主動邏輯位準,將彼等的編程資料位元反相。然後將該反相的編程資料編程入該資料胞元群組的對應胞元。在本範例中,經由個別SAi_in線將該反相的 編程資料提供至感測放大器電路。同樣地,設定反相狀態位元並編程對應的反相狀態胞元,以指示編程資料已被反相。
在讀取操作中,所有的SI暫存器胞元502從其之個別SAi_out線接收讀取資料,且SI暫存器胞元504接收讀自對應反相狀態胞元之反相狀態位元的邏輯狀態。若反相狀態位元在指示編程資料已被反相的邏輯位準,則將讀取反相訊號RD_INV設定為主動邏輯位準。所有SI暫存器胞元502均接收RD_INV,並組態成回應RD_INV的主動邏輯位準,將彼等的讀取資料位元反相。因此,將原始編程資料回復並輸出至該等資料匯流排驅動器。於是,SI暫存器胞元502及504可在暫存器胞元自身內將編程資料位元或讀取資料位元反相。
圖10係根據本實施例之顯示於圖9的SI暫存器胞元502之電路示意圖。須注意SI暫存器胞元600包括許多與揭示在PAT 3672W-90中之雙功能移位暫存器電路相同的電路。為簡化該示意圖,有意地省略數個電路。
SI暫存器胞元600包括資料儲存電路602、自動編程禁止電路604、編程資料反相電路606、讀取資料反相電路608、以及資料失配比較邏輯610。應記得該等訊號名稱中的變數「i」代表與其關聯的特定暫存器胞元。
資料儲存電路602負責資料輸入、輸出、及 鎖存操作。資料儲存電路602包括連接為主從正反器的主鎖存器612及從屬鎖存器614、轉移閘控裝置616、以及輸入閘控裝置618。鎖存器612及614可實作為具有相對於其輸入之非反相輸出的簡單交叉耦合反相器電路,但將從屬鎖存器614組態成由主鎖存器612覆寫。熟悉本發明技術領域之人士將理解可將電晶體尺寸組態成實現此期望功能。將閘控裝置616顯示為n-通道電晶體,但可用傳輸閘或p-通道電晶體置換。閘控裝置616具有連接至時鐘訊號CK的閘極終端,該時鐘訊號CK係受控制的時鐘訊號,以將資料從主鎖存器612序列地移至從屬鎖存器614。當訊號WRITE在主動邏輯位準時,將輸入資料DLi_in經由閘控裝置618提供至主鎖存器612的輸入,該主動邏輯位準在本範例中係高邏輯位準。輸出資料DLi_out係自從屬鎖存器614之輸出提供。將主鎖存器612的輸出,典型地係編程資料,經由終端SAi_in耦合至感測放大器,而將來自該感測放大器的讀取資料從終端SAi_out提供並由從屬鎖存器614儲存。
將自動編程禁止電路604用於驗證編程操作是否成功。自動編程禁止電路604包括串聯地連接於電壓供應,諸如VDD,及主鎖存器612的輸入之間的預充電裝置620及耦合裝置622。在本實施例中將二裝置620及622顯示為n-通道電晶體。將預充電裝置620的閘極連接至預充電訊號PCH,並將耦合裝置622的閘極連接至從屬鎖存器614的輸出。電壓供應的選擇係取決於由用於選擇 待編程的記憶體胞元之主鎖存器612所儲存的邏輯狀態。例如,若主鎖存器612儲存邏輯0(VSS),以指示連接至位元線之記憶體胞元的編程,則連接至預充電裝置620的電壓供應將係VDD。因此,VDD係儲存在主鎖存器612中針對未待編程之記憶體胞元的邏輯狀態,從而禁止編程連接至該位元線之該胞元。因此若成功地編程該記憶體胞元,自動編程禁止電路將改變主鎖存器612的狀態。在本範例中,成功編程的記憶體胞元將導致從屬鎖存器614在編程操作後的編程驗證讀取操作中儲存高邏輯狀態。因此,當將PCH驅動至高邏輯位準時,將VDD耦合至主鎖存器612之輸入,以反轉其狀態。
編程資料反相電路606包括正反器電路624及由評估訊號EVAL控制的耦合裝置626。正反器電路624具有接收由主鎖存器612鎖存之編程資料(SAi_in)的D-輸入,並具有非反相輸出(Q)及反相輸出(Q*),其中該反相輸出連接至耦合裝置626的一終端。將耦合裝置626的另一終端連接至主鎖存器612之輸入,而其閘極終端接收EVAL。正反器電路624回應於在其時鐘輸入接收之PGM_INV的主動邏輯狀態,鎖存出現在其D-輸入的資料並將該資料的反相版本提供在其反相輸出Q*上。因此,若該編程資料待反相,將PGM_INV驅動至主動邏輯位準並可脈衝EVAL以簡短地開啟耦合裝置626,以將反相輸出Q*電性連接至主鎖存器612之輸入。因此,將主鎖存器612的邏輯狀態反相。可將EVAL的脈衝持續週期選擇 成至少長到足以保證覆寫或反轉主鎖存器612。
資料失配比較邏輯610與編程資料反相電路606一起使用,並包括及(AND)邏輯閘628與或(OR)邏輯閘630。及邏輯閘628具有接收從屬鎖存器614之輸出的第一輸入,及接收主鎖存器612之輸出的第二輸入。及邏輯閘628的目的係偵測待將邏輯「0」編程至設定為永久儲存邏輯「1」之缺陷胞元的情況。如先前針對本範例所討論的,儲存在主鎖存器612中的邏輯「1」禁止編程,因此將邏輯「0」儲存在選擇胞元中。然而,若該選擇胞元已於先前判定為有缺陷的並預設成儲存邏輯「1」,則在待儲存資料及該胞元的預設邏輯狀態之間有失配。當主鎖存器612及從屬鎖存器614二者皆儲存邏輯「1」時,此失配情況係藉由及邏輯閘628偵測。因此,及邏輯閘628輸出邏輯「1」輸出,可將其稱為區域DEFECT旗標訊號,然後在或邏輯閘630將其與供應自前一SI暫存器胞元502的全域DEFECT旗標訊號DEFECTi-1組合。或邏輯閘630的輸出係已更新的全域旗標訊號DEFECTi,其被提供至次一SI暫存器胞元502或SI暫存器胞元504。若SI暫存器胞元600係第一暫存器胞元,則由於沒有先前的SI暫存器胞元報告缺陷,該SI暫存器胞元的或邏輯閘630具有連接至接地或VSS的一輸入。稍後,若DEFECTi係在主動邏輯位準,其在本範例中為邏輯「1」,則將PGM_INV設定成主動邏輯位準以致能該編程資料的反相。
讀取資料反相電路608係連接於SAi_out及從屬鎖存器614的輸入之間,並包括選擇器632及反相器634。將選擇器632顯示為具有用於接收SAi_out的第一輸入及用於接收反相器634之輸出的第二輸入之多工器,而反相器634具有連接至SAi_out的輸入。選擇器632將來自其第一輸入或第二輸入之其中一者的資料傳至其輸出,以回應功能如同選擇訊號的訊號RD_INV。在其預設的非主動邏輯狀態中,RD_INV控制選擇器632以將SAi_out直接傳至從屬鎖存器614。在其主動邏輯狀態中,其中該讀取資料待反相,選擇器632將反相器634之輸出傳至從屬鎖存器614。因此將SAi_out的反相版本儲存在從屬鎖存器614中。
圖11係根據本實施例之圖9的SI暫存器胞元504之電路示意圖。SI暫存器胞元700包括許多與圖10所示之SI暫存器胞元600相同的電路。特別是,電路602、604、以及606與先前針對SI暫存器胞元600描述的該等電路相同。SI暫存器胞元700不具有用於接收編程資料的輸入閘控裝置618、位在用於提供讀取資料的從屬鎖存器614之輸出的輸出終端、讀取資料反相電路608、或資料失配比較邏輯610。SI暫存器胞元700耦合至該記憶體陣列的位元線及可完全等同地組態成圖8之電路的感測放大器電路。
下文係與圖10之SI暫存器胞元600不同的電路之描述。取代具有用於接收編程資料的輸入,SI暫存 器胞元700包括由用於回應重設訊號RST而將VDD耦合至主鎖存器612的輸入之電晶體裝置702組成的重設電路。重設訊號RST可係在各編程操作之前提供的脈衝訊號,以設定反相狀態胞元的預設編程禁止狀態。當反相狀態位元並未從外部提供至記憶體裝置時,SI暫存器胞元700不需要讀取資料反相。可將SAi_out線使用為RD_INV訊號,或替代地,從屬鎖存器614的輸出可提供RD_INV訊號。如先前所描述的,永久地被設定或編程為邏輯「1」的反相狀態位元代表儲存在資料胞元群組201中的原始編程資料已由於缺陷位元存在於資料胞元群組201中或缺陷反相狀態胞元的存在而反相。
取代資料失配比較邏輯610,缺陷偵測邏輯704將來自最後SI暫存器胞元502的全域旗標DEFECTi-1與從屬鎖存器614的輸出組合。因此,若DEFECTi-1或從屬鎖存器614的輸出之其中一者係在邏輯「1」狀態,則將PGM_INV設定為主動邏輯「1」狀態。在本範例中,若從屬鎖存器614在「1」邏輯狀態,意謂著對應胞元先前已被判定為有缺陷的,並且被預編程為特定邏輯狀態。缺陷反相狀態胞元的回收與針對正常資料儲存胞元的回收相同。在本實施例中,缺陷偵測邏輯704包括或邏輯閘706。在先前描述的實施例中,由於關於本實施例之此等討論可將編程及未編程邏輯狀態反轉,因此熟悉本發明技術領域之人士應理解可將替代邏輯閘或電路用於實現相同的期望結果。
現在已然描述用於實作本實施例之冗餘方案的範例電路,下文係描述用於操作具有冗餘的已描述記憶體裝置及電路之序列的方法實施例。
圖12係根據本實施例之用於操作具有冗餘方案的記憶體裝置之通用方法的流程圖。該方法在識別並回收缺陷胞元的步驟800開始。此步驟包括在製造時及在終端使用者編程前識別漏胞元,且作為範例,回收表現如同已編程胞元的漏胞元包括將該等漏胞元預編程為永久邏輯「1」。冗餘已在步驟800之後實作,使得先前不可使用的胞元準備儲存使用者資料。
在步驟802,亦可係製造商的終端使用者將資料編程至記憶體陣列。編程不具有任何缺陷胞元的胞元群組,諸如胞元群組200,而無須將編程資料位元及反相狀態位元反相。具有缺陷胞元的胞元群組,諸如來自步驟800之預編程為「1」的胞元,可依據該資料位元位置是否與對應缺陷胞元之預編程的「1」匹配或失配而反相。
在步驟804,執行讀取操作以從記憶體陣列讀取資料。若資料係讀自具有缺陷胞元之胞元群組,則將讀取資料反相為其之原始編程資料狀態用於輸出。否則,將讀取資料輸出而無須反相。因此,即使編程資料可能以其反相狀態儲存,所產生的讀取資料將始終相應於提供至記憶體裝置的原始編程資料。
圖13A及13B顯示圖12所示之該方法的特定實施例。在本方法中,假設記憶體胞元係OTP記憶體胞 元,諸如本申請案中描述的該等胞元。因此參考了圖10及11之電路示意圖,該等電路係組態以用於此等OTP記憶體胞元。該方法開始於步驟900,其中使用任何適合的測試技術來識別缺陷胞元。例如,對所有未編程的胞元實施讀取操作可協助判定是否有任何「漏胞元」。因為此種漏胞元傾向於表現如同已編程的胞元,在步驟902將已偵測到的缺陷胞元編程以儲存永久邏輯「1」。此可藉由將編程資料輸入圖7之資料暫存器306而完成,如同正常編程操作所實施的。然而,此種缺陷胞元的預編程典型地將在出貨給終端使用者正常使用及操作之前被執行。
步驟900及902將於圖12的步驟800中執行。假設記憶體裝置已準備用於正常操作。將用於資料胞元群組的編程資料經由DL1_in至DLn_in線提供至圖9的SI暫存器胞元502,並因此儲存在主鎖存器612中。在步驟904,讀取操作係針對意圖將編程資料編程於其中的該等胞元執行。將此資料儲存在圖10的從屬鎖存器614中,且各SI暫存器胞元502使用資料失配比較邏輯610比較其之從屬鎖存器資料及儲存在主鎖存器612中的其之對應編程資料位元。
在步驟906,假設一胞元係有缺陷的(邏輯「1」),且對應的主鎖存器612儲存邏輯「1」,在反相狀態胞元的永久邏輯狀態及編程資料位元之間偵測到失配。在此情形中,該方法前進至將所有編程資料位元反相的步驟908。此係藉由使PGM_INV訊號生效(assert)的SI 暫存器胞元504所完成。回應於PGM_INV,資料胞元群組的所有SI暫存器胞元502對彼等各自的正反器624計時。大約在同時,SI暫存器胞元504也回應於PGM_INV而對其各別的正反器624計時。然後可脈衝訊號EVAL以反轉主鎖存器612的邏輯狀態。因此將SI暫存器胞元502的編程資料,以及由SI暫存器胞元504之主鎖存器612儲存的重設邏輯「1」狀態反轉為邏輯「0」。作為步驟908的一部分,且在已脈衝EVAL訊號之後,可脈衝PCH訊號。因為耦合裝置622目前藉由對應於缺陷胞元之從屬鎖存器的「1」邏輯狀態而開啟,因而SI暫存器胞元502之主鎖存器612將從反相邏輯「0」再反相回邏輯「1」。因為缺陷胞元已被編程,因此無須將其再度重編程。在步驟910及912,依據儲存在SI暫存器胞元502及504之主鎖存器612中的資料,將該等胞元編程。
返回至步驟906,若在資料位元之任一者及缺陷胞元之間無失配,或在胞元群組中無缺陷胞元,則在步驟914編程資料,而無須將任何編程資料反相。同樣地,反相狀態位元仍保持為未編程。步驟904、908至912或914針對編程操作重複地執行。在編程之後,可執行讀取操作,其在圖13B中開始。
在步驟916,假設該等位元線已預充電並已使字線生效(assert)用於從至少一胞元群組讀取資料。該等位元線係由位元線感測放大器電路感測,並輸出所感測的位元線資料。在本實施例中,此已感測的位元線資料係經由 SAi_out線提供至SI暫存器胞元600。因為反相狀態胞元連接至與目前資料胞元群組之該等胞元相同的字線,在步驟918,反相狀態位元係在實質相同的時間被讀取。在SI暫存器胞元700中,已感測的反相狀態位元係由SAd_out線提供。若在步驟920,反相狀態位元(ISB)為真,即,例如為邏輯「1」,其指示資料胞元群組之資料已相對於原始編程資料反相,則該方法前進至步驟922。在步驟922,RD_INV係在主動邏輯位準,以控制各SI暫存器胞元600的選擇器632通過反相器634之輸出。現在從屬鎖存器614儲存原始接收的編程資料(反相讀取資料),其可接著在步驟924經由DLi_out自記憶體裝置輸出。返回至步驟920,若反相狀態位元為偽,亦即,例如為邏輯「0」,則各SI暫存器胞元600的選擇器632直接耦合SAi_out至從屬鎖存器614。在步驟926,讀取資料接著以彼等之未反相形式經由DL_out線輸出。
圖14係顯示當該等胞元群組沒有缺陷胞元或具有一個缺陷胞元時的範例記憶體陣列胞元群組200、待儲存在各資料胞元群組201中的編程資料、以及在個別胞元群組200中的最終儲存值之表。從圖14之最左行開始,將不同的編程資料顯示在各列中。第二行顯示資料胞元群組201的列,以及彼等在測試後的對應反相狀態胞元202。意圖將編程資料的各列儲存在資料胞元群組的對應列中。該測試顯示以「x」標示之胞元係有缺陷的。須注意狀態反相胞元202可係有缺陷的。在本範例中,假設該 測試識別漏胞元。第三行顯示該相同列的胞元群組200在將該等缺陷漏胞元編程為邏輯「1」狀態之後的狀態。第四行顯示該列之編程資料的最終狀態,儲存在胞元群組中。
在圖14中,將一個反相狀態胞元202用於一n-位元資料胞元群組201。圖15係顯示替代組態的表,其中可將二個反相狀態胞元用於胞元群組200之n-位元資料胞元群組的個別區段。圖15係與圖14所示之表相似的表,除了圖15中編程資料的各列由二區段組成,各區段長度為8-位元。將相鄰行中之該列的對應資料胞元群組201視覺地分割為二個8-位元區段,並具有二個反相狀態胞元202a及202b。在本範例中,反相狀態胞元202a關聯於資料胞元群組201的最左側8-位元,而反相狀態胞元202b關聯於資料胞元群組201的最右側8-位元。因此,各區段可彼此無關地儲存反相編程資料。
其他反相狀態胞元的加入致能多胞元的校正。例如,在具有32位元的列中,該32位元的各8位元可指定一個反相狀態胞元,以針對每8位元校正一個缺陷胞元,因此每列校正多達4個缺陷胞元。亦可改變項目中之資料區段的分佈,以最佳化該方法。例如,該資料區段可係連續的,或是分佈的。例如,可將一個反相狀態位元指定用於偶數資料位元,而將另一個指定用於奇數資料位元。資料區段的分佈影響可受校正之缺陷胞元的分佈。例如,32位元之NVM具有2冗餘位元(每16資料位元具有 一冗餘位元)。若該等資料區段係連續的,可在第一或第二16-位元區段中校正一缺陷胞元。若該等資料區段係在偶數或奇數列上,可校正在偶數或奇數位元中的一缺陷胞元。
先前描述的實施例顯示回收及重用缺陷漏胞元的冗餘技術。目前描述的冗餘技術可用於回收並重用缺陷弱胞元。與目前描述之漏胞元相反,弱胞元係邏輯偏置為邏輯「0」的胞元,因為已發現難以將其編程。當在胞元群組200中已偵測到此種胞元時,將本冗餘方案的原理施用至此種胞元。以下方法可係圖13A之步驟906、908、910、以及912的修改版本。首先假設記憶體裝置的編程操作係可逆的。因為多個位元待於同時編程,因此當胞元群組200之一胞元編程其邏輯「1」狀態的同時,另一胞元不能編程其邏輯「1」狀態係可能的。使用PAT 3672W-90之雙移位暫存器中的邏輯電路,可偵測編程失敗情況,其中在已嘗試多次預設編程疊代後不能編程該胞元。因為在對應胞元已被適當地編程之後,可使用SI暫存器胞元600的自動編程禁止電路604來反轉儲存在主鎖存器612中的邏輯狀態,因此在預設編程疊代後,胞元群組200之僅有的仍未成功編程的主鎖存器612將具有邏輯「0」儲存於其中。未意圖對其編程之胞元將具有儲存在對應主鎖存器612中的邏輯「1」。
因為目前已知胞元不能受編程(因此係弱胞元),編程位元因此與失效胞元的永久狀態失配,其對應 於圖13A的步驟906。在修改步驟908中,將胞元群組200的編程反轉為彼等的預設狀態,並將係原始編程資料之反相的新編程資料載入至SI暫存器胞元600中。在修改步驟910,編程該反相資料,且在修改步驟912,編程反相狀態位元,以指示反相編程資料存在於對應的資料胞元群組中。因此,無法編程邏輯「1」之胞元現在儲存邏輯「0」。
或者,在識別失效編程情況之後,可發現用於編程胞元群組200而無須任何反相之具有與該弱胞元的偏置邏輯狀態匹配之位元位置的資料。在此處理中,將儲存在主鎖存器612中的資料移至從屬鎖存器614,並在DLi_out線上輸出,以識別編程失敗的位元位置。一旦識別到失敗編程操作的位元位置,將胞元群組200的任何編程反轉並將適合的編程資料載入至SI暫存器胞元502用於編程。因此,漏胞元在使用前的測試期間被識別,而弱胞元在使用編程操作期間被識別。
圖16係根據本實施例之說明目前描述的用於回收弱胞元及漏胞元二者之冗餘技術的表。從該表的最左側開始,第一行列出不同編程資料列。第二行列出具有以「x」標記之已偵測漏胞元的對應胞元群組200。第三行列出與顯示在第二行之列中的胞元群組相同之胞元群組200,但具有在編程操作期間偵測到的弱胞元。以「y」標示該等弱胞元。第四行顯示胞元群組200中的最終編程資料,其中若資料位元與胞元群組200中的對應胞元之預設 永久邏輯狀態失配,則部分編程資料係反相的。針對儲存反相編程資料的此等資料胞元群組201,編程其對應反相狀態位元202。
從左至右注視該編程資料,若對應於該項目中以「y」標記之位元位置的左側第一位元位置待寫為邏輯「1」。如最右行所顯示的,當以「1」開始的該等資料值匹配該「y」位置項目時,將該等項目反相。因此當反相時,「y」位元儲存邏輯「0」,並將冗餘位元編程為邏輯「1」狀態,以指示該儲存資料的反相狀態。須注意相同的反相狀態可用於二種錯誤類型。
本說明書揭示的一些實施例使用一個以上的反相狀態胞元。例如,某些實施例使用兩個反相狀態胞元,而其他實施例使用三個反相狀態胞元。其他實施例可使用更多數量的反相狀態胞元。在使用一個以上的反相狀態胞元的實施例中,結合該等反相狀態胞元來判斷是否發生反相的方式因實施例而異。例如,在一些實施例中,若該等反相狀態胞元的至少一者具有邏輯「1」的值,則發生反相。在其他實施例中,除非所有的反相狀態胞元具有邏輯「1」的值,否則不發生反相。在另外其他實施例中,除非奇數個該等反相狀態胞元具有邏輯「1」的值,否則不發生反相。這些都是非限制性的範例,並且可理解的是,可使用其他方法來結合反相狀態位元的值,用以判斷是否發生反相。
現在參考圖17A,其繪示電路1200之示意 圖,該電路1200為使用兩個反相狀態位元的電路範例,其中兩個反相狀態胞元皆被編程為邏輯「1」以使反相發生。可使用電路1200來校正一或多個缺陷資料胞元、缺陷漏反相狀態胞元、或者一或多個缺陷資料胞元及一缺陷漏反相狀態胞元。電路1200包括資料胞元群組1201、反相狀態胞元1202a及1202b及反相處理器1222。反相處理器1222接收作為輸入的反相狀態胞元1202a及1202b的邏輯狀態。基於反相狀態胞元1202a及1202b的值,反相處理器1222輸出資料胞元1201的邏輯值或是資料胞元1201之邏輯值的反相。在圖17A所繪示的實施例中,當反相狀態胞元1202a及1202b兩者皆具有邏輯值「1」時,反相處理器1222輸出資料胞元群組1201的反相值。另一方面,當反相狀態胞元1202a及1202b之至少一者具有邏輯值「0」時,反相處理器1222輸出資料胞元群組1201的非反相值。
反相處理器1222包括第一邏輯電路及第二邏輯電路,該第一邏輯電路包括AND閘1212且該第二邏輯電路包括複數個XOR閘1220。AND閘1212的輸入係耦接至反相狀態胞元1202a及1202b。複數個XOR閘1220之各者具有耦接至AND閘1212之輸出的第一輸入,及耦接至群組1201之一資料胞元的第二輸入。XOR閘1220的輸出1230代表具有或不具有反相的資料胞元群組1201的值。在圖17A的實施例中,該等資料胞元的反相狀態係藉由反相狀態胞元1202a及1202b依據邏輯AND函數(例 如,AND閘1212的輸出)之組合而指示。若AND閘1212之輸出,亦稱為反相控制訊號,係邏輯「1」,則XOR閘1220之輸出1230為資料胞元群組1201之值的反相。相反地,若AND閘1212之輸出為邏輯「0」,則XOR閘1220之輸出1230與資料胞元群組1201之值相同。
圖17A繪示反相狀態胞元1202a係有缺陷的,因為其為漏胞元但可被永久地編程為邏輯「1」的情況。圖17A亦繪示該等資料胞元無須被反相因為彼等未包括缺陷胞元的情況。因此,資料胞元群組1201可被編程為匹配理想值1210。如熟悉本發明技術領域之人士將可理解的是,此討論亦同樣適用於其中該等資料胞元包括缺陷胞元於使得儘管有缺陷,但可使該等資料胞元匹配理想值1210的位置中(例如,漏胞元對應於理想值為邏輯「1」的位置)的情況。圖17A所繪示的情況中,反相狀態胞元1202b被設定為邏輯「0」,藉此使得AND閘1212的輸出為邏輯「0」,這又導致XOR閘1220輸出沒有反相的資料胞元群組1201的邏輯值。因此,XOR閘1220的輸出1230匹配理想值1210。因此,反相狀態胞元1202b在反相狀態胞元1202a為漏胞元的情況中可作為備份,因為在此情況中,作為AND函數的結果,AND閘1212的輸出將由狀態胞元1202b的值所指定。如熟悉本發明技術領域之人士將可理解的是,反相狀態胞元1202a及1202b是可互換的。換句話說,1202a在1202b為漏胞元的情況中可作為備份反相狀態胞元。
圖17B繪示相似於圖17A的電路1200,但具有一差異是,在圖17B中,資料胞元群組1201包括漏胞元。該等電路元件在圖17A及17B中具有類似的標號,且在此不重覆彼等之說明。相似於圖17A,圖17B亦繪示了反相狀態胞元1202a是有缺陷的,因為它是漏胞元,的情況。此種胞元可被設定為邏輯「1」。如上所述,資料胞元群組1201包括係有缺陷的邏輯「1」的胞元。資料胞元群組1201之缺陷胞元的位置對應於理想值1210為邏輯零的位置,因此不允許資料胞元群組1201匹配理想值1210。在此種情況中,資料胞元群組1201被編程為理想值1210的反相。此外,反相狀態胞元1202b被設定為邏輯「1」,藉此使得AND閘1212的輸出為邏輯「1」,這又導致XOR閘1220輸出資料胞元群組1201之邏輯值的反相。因此,XOR閘1220的輸出1230匹配理想值1210。
如上所述,對於熟悉本發明技術領域之人士將可清楚知道的是,在電路1200中將兩個反相狀態胞元(1202a或1202b)與AND閘1212的一起使用,提供了當反相狀態胞元(1202a或1202b)之其中一者為有缺陷的邏輯「1」時之有效的備份功能。然而,電路1200在當反相狀態胞元(1202a或1202b)之其中一者為有缺陷的邏輯「0」時不會一樣有效,因為,給定AND函數的本質,無論操作中的反相狀態胞元的值為何,AND閘1212的輸出將是「0」。在反相狀態胞元(1202a或1202b)之其中一者為有 缺陷的邏輯「1」的情況中,若操作中的反相狀態胞元的值被設定為「0」,AND閘1212的輸出將為「0」且資料胞元群組1201的值將不會被反相。然而,若操作中的反相狀態胞元的值被設定為「1」,AND閘1212的輸出將為「1」。因此,資料胞元群組1201的值將被反相。因此,當該等反相狀態胞元之其中一者是有缺陷的邏輯「0」,AND閘1212的輸出將為「0」且無論操作中的反相狀態胞元被設定為何值,都不會發生資料胞元群組1201之值的反相。
現在參考圖18A,其繪示電路1300的示意圖,電路1300相似於電路1200並且已將相似功能的元件標示相同的標號。如對於熟悉本發明技術領域之人士將可顯而易見的是,電路1300及1200之間的一個差異是,電路1300使用XOR閘1312取代AND閘。因此,當使用電路1300時,無論該等缺陷胞元之其中一者是有缺陷的邏輯「1」或「0」,可使用操作中的反相狀態胞元來指定資料胞元群組1301之值是否由反相處理器反相或不反相。
如上所述,反相處理器1322包括XOR閘1312。因此,當反相狀態胞元1302a及1302b皆具有相同的邏輯值(例如,皆為「1」或皆為「0」)時,XOR閘1312的輸出為邏輯「1」且反相處理器1322輸出資料胞元群組1301之未反相的值。另一方面,當反相狀態胞元1302a及1302b具有不同邏輯值(即,反相狀態胞元1302a及1302b之其中一者為「1」,而其中另一者為「0」) 時,XOR閘1312的輸出為邏輯「0」且反相處理器1322輸出資料胞元群組1301的反相值。
當沒有缺陷資料胞元或者缺陷資料胞元具有匹配理想值的值時,則不需要反相。在此種情況中,1302a及1302b之值可被設定成皆為「1」或皆為「0」。此種情況係繪示在圖18A中。
相反地,如關於圖18B討論於下,當理想值1310及資料胞元群組1301中的缺陷胞元值之間有失配時,可使用反相。例如,當資料胞元包含在資料胞元群組1301的對應位置的漏胞元時,理想值可以是邏輯「0」。在此種情況中,反相狀態胞元1302a及1302b之其中一者可被設定為邏輯「1」,而另一者可被設定為「0」的邏輯值。
圖18A繪示其中反相狀態胞元1302a係有缺陷的,因為其係弱胞元且無法可靠地被編程為邏輯「1」的情況。然而,該胞元可被設定為邏輯「0」。圖18A亦可繪示其中該等資料胞元不需要被反相,因為彼等不包括缺陷胞元的情況。因此,資料胞元群組1301可被編程為匹配理想值1310。如熟悉本發明技術領域之人士將可理解的是,此討論亦同樣適用於其中該等資料胞元包括缺陷胞元於使得儘管有缺陷,但可使該等資料胞元匹配理想值1310的位置中的情況。在圖18A中所示的情況中,反相狀態胞元1302b被設定為邏輯「0」,藉此使得XOR閘1312之輸出為邏輯「0」,這又導致XOR閘1320輸出沒 有反相的資料胞元群組1301的邏輯值。因此,XOR閘1320的輸出1330匹配理想值1310。若另一方面反相狀態胞元1302a是漏胞元,則反相狀態胞元1302a可被編程為邏輯「1」且反相狀態胞元1302b可被編程為邏輯「1」,其亦可造成XOR閘1320的輸出1330匹配理想值1310。因此,反相狀態胞元1302b在1302a是缺陷胞元(漏胞元或難以編程的胞元)的情況中作為備份。由於OR函數,不管反相狀態胞元1302a的值為何,藉由將反相狀態胞元1302b編程為適當值,可控制XOR閘1312的輸出為邏輯「1」或邏輯「0」。如熟悉本發明技術領域之人士將可理解的是,1302a及1302b是可互換的。換句話說,上面描述亦同樣適用於反相狀態胞元1302b係缺陷胞元且反相狀態胞元1302a作為備份的情況。
圖18B繪示相似於圖18A的電路1300,但具有一差異是,在圖18B中,資料胞元群組1301包括漏胞元。該等電路元件在圖18A及18B中具有類似的標號,且在此不重覆彼等之說明。相似於圖18A,圖18B亦繪示了反相狀態胞元1302a是有缺陷的,因為它是弱胞元且不能被可靠地編程為邏輯「1」的情況。然而,該胞元可被設定為邏輯「0」。資料胞元群組1301包括係有缺陷的邏輯「1」的胞元(漏胞元)於理想值1310係邏輯零且因此不允許資料胞元群組1301匹配理想值1310的位置中。在此種情況中,資料胞元群組1301的值被編程為理想值1310的反相。此外,反相狀態胞元1302b被設定為邏輯 「1」,藉此使得XOR閘1312的輸出為邏輯「1」,這又導致XOR閘1320輸出資料胞元群組1301之邏輯值的反相。因此,XOR閘1320的輸出1330匹配理想值1310。若另一方面反相狀態胞元1302a是漏胞元,則反相狀態胞元1302a可被編程為邏輯「1」且反相狀態胞元1302b可被編程為邏輯「0」,其亦可造成XOR閘1320的輸出1330匹配理想值1310。再一次,1302a及1302b係可交換的,且因此,上面描述亦同樣適用於1302b係有缺陷的且1302a係操作中的情況。
現在參考圖19A,其繪示電路1400的示意圖,電路1400相似於電路1300並且已將相似功能的元件標示相同的標號。如對於熟悉本發明技術領域之人士將係顯而易見的是,電路1300及1400之間的一個差異是,相對於電路1300中使用兩個反相狀態胞元,電路1400使用三個反相狀態胞元。
可使用電路1400來針對下列情況校正:(i)一或多個缺陷資料胞元,(ii)一或多個缺陷反相狀態胞元,(iii)或者一或多個缺陷資料胞元及一或多個缺陷反相狀態胞元。例如,即使三個反相狀態胞元中個兩個是有缺陷的,該獨自運行的反相狀態胞元可被用來控制是否在輸出1430處反相資料胞元群組1401的值。
電路1400包括資料胞元群組1401、反相狀態胞元1402a、1402b及1202c,及反相處理器1422。反相處理器1422基於下列值:反相處理器1422輸出資料胞元 1401的邏輯值或資料胞元1401之邏輯值的反相,而接收作為輸入的反相狀態胞元1402a、1402b及1402c的邏輯狀態。在圖19A所繪示的實施例中,反相處理器使用三個輸入XOR閘1412。當三個輸入包含偶數個邏輯「1」時,XOR閘1412輸出邏輯「0」。如本文所使用的,「偶數個邏輯「1」」的敘述包括沒有邏輯「1」(即,當所有輸入為邏輯「0」)。當三個輸入包含奇數個「1」時,XOR閘1412輸出邏輯「1」。因此,當奇數個反相狀態胞元1402a、1402b及1402c具有「1」的邏輯值時,反相處理器1422輸出資料胞元群組1401的反相值。另一方面,當偶數個反相狀態胞元1402a、1402b及1402c具有「1」的邏輯值(或當所有的反相狀態胞元1402a、1402b及1402c具有「0」的邏輯值)時,反相處理器1222輸出資料胞元群組1401的非反相值。
圖19A繪示其中反相狀態胞元1402a係有缺陷的,因為其為弱胞元且無法被可靠地編程為邏輯「1」的情況。然而,該胞元可被設定為邏輯「0」。此外,反相狀態胞元1402b係有缺陷的,因為其為漏胞元但可被永久地編程為邏輯「1」。圖19A亦繪示其中該等資料胞元不需要被反相,因為彼等不包括缺陷胞元的情況。因此,可將資料胞元群組1401編程為匹配理想值1410。如熟悉本發明技術領域之人士將可理解的是,此討論亦同樣適用於其中該等資料胞元包括缺陷胞元於使得儘管有缺陷,但可使該等資料胞元匹配理想值1410的位置中的情況。在 圖19A所示的情況中,反相狀態胞元1402c被設定為邏輯「1」,藉此使得XOR閘1412的輸出為邏輯「0」,這又導致XOR閘1420輸出沒有反相的資料胞元群組1401的邏輯值。因此,XOR閘1420的輸出1430匹配理想值1410。若另一方面反相狀態胞元1402a及1402b具有相同值,則可將反相狀態胞元1402c編程為邏輯「0」,其將導致XOR閘1420的輸出1430匹配理想值1410。
圖19B繪示相似於圖19A的電路1400,但具有一差異是在圖19B中,資料胞元群組1401包括漏胞元。該等電路元件在圖19A及19B中具有類似的標號,且在此不重覆彼等之說明。如同圖19A,圖19B亦繪示了反相狀態胞元1402a是有缺陷的,因為它是弱胞元且不能被可靠地編程為邏輯「1」的情況。然而,該胞元可被設定為邏輯「0」。此外,反相狀態胞元1402b是有缺陷的,因為它是漏胞元但可被永久地編程為邏輯「1」。資料胞元群組1401包括一胞元,其在理想值1410係邏輯零且因此不允許資料胞元群組1401匹配理想值1410的位置中是缺陷邏輯「1」。在此種情況中,資料胞元群組1401被編程為理想值1410的反相。此外,反相狀態胞元1402c被設定為邏輯「0」,藉此使得XOR閘1412的輸出為邏輯「1」,這又導致XOR閘1420輸出資料胞元群組1401之邏輯值的反相。因此,XOR閘1420之輸出1430匹配理想值1410。若另一方面,反相狀態胞元1402a及1402b係具有相同值(皆為「0」或皆為「1」),則反相狀 態胞元1402c可被編程為邏輯「1」,其亦將導致XOR閘1420的輸出1430匹配理想值1410。
在上面圖19A及19B的說明中,反相狀態胞元1402a、1402b及1402c之各者係可互換的。因此,無論哪個反相狀態胞元是有缺陷的且哪個是操作中的,都可適用上述說明。在至少一個反相狀態胞元是操作中的前提下,可操作電路1400來反相或不反相儲存在資料胞元群組1401中的值。
圖20係繪示利用複數個反相狀態胞元之電路,諸如,例如,圖17A至19B的電路1200、1300及1400之示例冗餘方法的流程圖。該方法可包含比所示出及/或所描述的過程更多或更少的過程,並且可以不同順序來實施。
在2002,判定是否反相資料胞元。此判定可以任何適當的方式進行,諸如,例如,上面關於圖6A、6B及6C所述。若由於一或多個缺陷胞元而將反相該等資料胞元,則該方法前進至2004。若將不反相該等資料胞元,則該方法前進至2012。
在2004,判定是否有缺陷反相狀態胞元。若沒有缺陷反相狀態胞元,則接著執行2006。另一方面,若有至少一個缺陷反相狀態胞元,則接著執行2008。
在2006,將反相狀態胞元編程為表示資料胞元之反相的狀態的組合。例如,在電路1300的例子中,可將反相狀態胞元之其中一者編程為邏輯「1」,而將其 他的反相狀態胞元編程為邏輯「0」。在電路1400的例子中,可編程反相狀態胞元使得有奇數個反相狀態胞元被編程為邏輯「1」。
另一方面,若有至少一個缺陷反相狀態胞元,則在2008,取決於影響特定胞元的缺陷,將各個缺陷反相狀態胞元設定為永久邏輯狀態。
在2010,編程其餘操作中的反相狀態胞元,以達到表示反相的已編程狀態的組合。在各種實施例中,於前面句子中所提及之反相狀態胞元的數量包括(複數個)缺陷反相狀態胞元。例如,在圖19A及19B之電路1400的例子中,可編程操作中的反相狀態胞元,使得有奇數個反相狀態胞元被編程為邏輯「1」,包括任何缺陷胞元。因此,在圖19B的範例中,胞元1402c係僅存的操作中的反相狀態胞元,且其被編程為邏輯「0」,使得反相狀態胞元1402a、1402b及1402c之邏輯狀態的組合表示反相。
現在參考2012,其中判定是否有缺陷反相狀態胞元。若沒有缺陷反相狀態胞元,則接著執行2014。另一方面,若有至少一個缺陷反相狀態胞元,則接著執行2016。
在2014,將反相狀態胞元編程為表示資料胞元之非反相的狀態的組合。例如,在電路1300的例子中,可將該等反相狀態胞元之二者皆編程為相同的邏輯值(即,皆編程為邏輯「1」或皆編程為邏輯「0」)。在電路 1400的例子中,可編程該等反相狀態胞元,使得有偶數個反相狀態胞元被編程為邏輯「1」。
另一方面,若有至少一個缺陷反相狀態胞元,則在2016,取決於影響特定胞元的缺陷,將各個缺陷反相狀態胞元設定為永久邏輯狀態。
在2018,編程其餘操作中的反相狀態胞元,以達到表示非反相的已編程狀態的組合。在各種實施例中,於前面句子中所提及之反相狀態胞元的數量包括(複數個)缺陷反相狀態胞元。例如,在電路1400的例子中,可編程操作中的反相狀態胞元,使得有偶數個反相狀態胞元被編程為邏輯「1」,包括任何缺陷胞元。因此,在圖19A的範例中,胞元1402c係僅存的操作中的反相狀態胞元,且其被編程為邏輯「1」,使得反相狀態胞元1402a、1402b及1402c之邏輯狀態的組合表示非反相。
雖然本說明描述及繪示了具有1、2或3個反相狀態胞元的電路,但可使用更多數量的狀態胞元。更具體地,可使用任意多個狀態胞元。作為範例,電路1400可適用於具有10個反相狀態胞元。這將允許多達9個反相狀態胞元是有缺陷的,同時允許其餘操作中的(複數個)狀態胞元控制在輸出1430處之資料胞元群組1401的值。然而,在透過使用更多數量的反相狀態胞元所增加的額外可靠性以及具有這些額外的反相狀態胞元與用於處理額外輸入的電路的「成本」(例如,需要更大區域的電路面積及額外功率需求)之間需要取捨。
本發明實施例可用於任何可編程非揮發性記憶體,其中缺陷胞元呈現偏置邏輯狀態。自反相資料暫存器310之先前描述的實施例係用於實施缺陷胞元偵測、編程資料反相、及讀取資料反相之一機構。可發展替代技術及電路以得到相同期望結果。
在以上描述中,為了解釋之目的,已陳述許多細節以提供對本發明實施例的徹底瞭解。然而,對熟悉本發明技術領域之人士將係顯而易見的,此等具體細節對實踐本發明係非必要的。在其他實例中,為了不混淆本發明,將已為人所熟知的電氣結構及電路以方塊形式顯示。例如,未提供關於是否將本文描述之本發明實施例實作為軟體常式、硬體電路、韌體、或彼等之組合的具體細節。
僅將本發明之上述實施例視為範例。變更、修改、及變化可由熟悉本發明技術領域之人士應用至特定實施例,而不脫離藉由隨附於此之申請專利範圍所單獨界定的本發明範圍。
1300‧‧‧電路
1301‧‧‧資料胞元群組
1302a‧‧‧反相狀態胞元
1302b‧‧‧反相狀態胞元
1310‧‧‧理想值
1312‧‧‧XOR閘
1320‧‧‧XOR閘
1322‧‧‧反相處理器
1330‧‧‧輸出

Claims (15)

  1. 一種非揮發性記憶體,包含:n個資料胞元,用於儲存n-位元項目,其中該n個資料胞元之一缺陷資料胞元可設定為永久邏輯狀態;至少兩個反相狀態胞元,其各者可在兩個狀態之間編程,其中第一邏輯狀態組合指示將對該n個資料胞元進行反相操作,以及第二邏輯狀態組合指示將不進行反相操作,該至少兩個反相狀態胞元之一缺陷胞元可設定為永久邏輯狀態,且該至少兩個反相狀態胞元之一操作中的胞元可編程為兩個邏輯狀態之其中一者以達成該第一或第二邏輯狀態組合;以及反相處理器,其耦合至該n個資料胞元及該至少兩個反相狀態胞元,該反相處理器被組態成基於該至少兩個反相狀態胞元之該第一或該第二邏輯狀態組合而輸出該n-位元項目或該n-位元項目之反相。
  2. 如申請專利範圍第1項之非揮發性記憶體,其中該反相處理器包括第一邏輯電路,其被組態成接收該至少兩個反相狀態胞元之邏輯狀態以及提供一反相控制訊號,以及第二邏輯電路,其被組態成接收該n-位元項目之邏輯狀態,並回應該反相控制訊號而將該n-位元項目反相。
  3. 如申請專利範圍第2項之非揮發性記憶體,其中該第一邏輯電路包括AND邏輯。
  4. 如申請專利範圍第2項之非揮發性記憶體,其中該 第一邏輯電路包括互斥OR(XOR)邏輯。
  5. 如申請專利範圍第1項之非揮發性記憶體,其中該至少兩個反相狀態胞元包含三個反相狀態胞元。
  6. 如申請專利範圍第2項之非揮發性記憶體,其中該第二邏輯電路包括XOR邏輯,對應於該n-位元項目之各項目。
  7. 如申請專利範圍第6項之非揮發性記憶體,其中該n-位元項目之各項目的該XOR邏輯包括第一輸入,用於接收對應於該n-位元項目之一位元的邏輯狀態,第二輸入,用於接收該反相控制訊號,以及輸出,用於回應該反相控制訊號而提供在該第一輸入處所接收之該邏輯狀態的反相。
  8. 一種用於非揮發性記憶體之冗餘方法,包含:a)判定是要反相編程資料的邏輯狀態或是維持該編程資料的該等邏輯狀態;b)偵測在複數個反相狀態胞元之至少一者中的缺陷,該等反相狀態胞元用於儲存指示反相判定的第一邏輯狀態組合,及指示非反相判定的第二邏輯狀態組合;c)針對至少一個缺陷反相狀態胞元設定永久邏輯狀態;d)將該複數個反相狀態胞元之至少一個無缺陷的反相狀態胞元設定為特定邏輯狀態,使得該特定邏輯狀態與該至少一個缺陷反相狀態胞元永久邏輯狀態的邏輯組合提供 一指示,該指示匹配用以反相或維持該編程資料的該等邏輯狀態的該判定。
  9. 如申請專利範圍第8項之冗餘方法,更包括以該編程資料之該等邏輯狀態和該編程資料之該反相邏輯狀態的其中一者來編程記憶體胞元,以及以特定及永久邏輯狀態的該邏輯組合來編程該複數個反相狀態胞元。
  10. 如申請專利範圍第9項之冗餘方法,更包括讀取該等記憶體胞元,讀取該複數個反相狀態胞元,以及當特定及永久邏輯狀態的該邏輯組合指示該讀取資料已以反相狀態被編程時,反相該等記憶體胞元的讀取資料。
  11. 如申請專利範圍第10項之冗餘方法,其中反相包括對特定及永久邏輯狀態的該邏輯組合執行邏輯操作以提供一反相控制訊號,以及回應該反相控制訊號對該讀取資料執行反相操作。
  12. 如申請專利範圍第8項之冗餘方法,其中該邏輯組合為AND操作。
  13. 如申請專利範圍第8項之冗餘方法,其中該邏輯組合為互斥OR(XOR)操作。
  14. 如申請專利範圍第8項之冗餘方法,其中該複數個反相狀態胞元包括兩個反相狀態胞元。
  15. 如申請專利範圍第8項之冗餘方法,其中該複數個反相狀態胞元包括三個反相狀態胞元。
TW104101823A 2014-01-23 2015-01-20 非揮發性記憶體之冗餘系統 TWI514396B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/162,380 US9123429B2 (en) 2009-07-27 2014-01-23 Redundancy system for non-volatile memory

Publications (2)

Publication Number Publication Date
TW201546813A true TW201546813A (zh) 2015-12-16
TWI514396B TWI514396B (zh) 2015-12-21

Family

ID=53675749

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104101823A TWI514396B (zh) 2014-01-23 2015-01-20 非揮發性記憶體之冗餘系統

Country Status (6)

Country Link
EP (1) EP3097564B1 (zh)
CN (1) CN106463177B (zh)
CA (2) CA2941639C (zh)
HK (1) HK1231627A1 (zh)
TW (1) TWI514396B (zh)
WO (1) WO2015109404A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI655637B (zh) * 2018-06-15 2019-04-01 華邦電子股份有限公司 記憶體裝置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127998B2 (en) * 2013-09-26 2018-11-13 Nxp Usa, Inc. Memory having one time programmable (OTP) elements and a method of programming the memory
CN109831199A (zh) * 2019-03-11 2019-05-31 福州大学 一种应用于可逆逻辑电路的ig可逆逻辑门电路
CN117577148B (zh) * 2024-01-15 2024-05-03 长鑫存储技术(西安)有限公司 半导体存储器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2781918B1 (fr) 1998-07-31 2000-10-06 St Microelectronics Sa Memoire rom a correction par redondance
US6798693B2 (en) 2001-09-18 2004-09-28 Kilopass Technologies, Inc. Semiconductor memory cell and memory array using a breakdown phenomena in an ultra-thin dielectric
US6570795B1 (en) * 2002-04-10 2003-05-27 Hewlett-Packard Development Company, L.P. Defective memory component of a memory device used to represent a data bit in a bit sequence
US7003713B2 (en) 2002-05-16 2006-02-21 Broadcom Corporation Variable Hamming error correction for a one-time-programmable-ROM
US7047381B2 (en) 2002-07-19 2006-05-16 Broadcom Corporation System and method for providing one-time programmable memory with fault tolerance
US6944083B2 (en) 2003-11-17 2005-09-13 Sony Corporation Method for detecting and preventing tampering with one-time programmable digital devices
JP4282529B2 (ja) * 2004-04-07 2009-06-24 株式会社東芝 半導体集積回路装置及びそのプログラム方法
KR100877701B1 (ko) * 2006-11-23 2009-01-08 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 리던던시 방법
US7508724B2 (en) * 2006-11-30 2009-03-24 Mosaid Technologies Incorporated Circuit and method for testing multi-device systems
US8082476B2 (en) * 2006-12-22 2011-12-20 Sidense Corp. Program verify method for OTP memories
KR101517597B1 (ko) * 2009-03-25 2015-05-07 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
CA2708593A1 (en) * 2009-07-27 2010-11-18 Sidense Corp. Redundancy system for non-volatile memory
JP5010756B2 (ja) * 2009-09-09 2012-08-29 株式会社東芝 メモリ装置
DE112012006171B4 (de) * 2012-03-30 2020-06-18 Intel Corporation On-Chip-Redundanzreparatur für Speichergeräte
US9082511B2 (en) * 2013-06-07 2015-07-14 Elite Semiconductor Memory Technology Inc. Redundancy evaluation circuit for semiconductor device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI655637B (zh) * 2018-06-15 2019-04-01 華邦電子股份有限公司 記憶體裝置
US10665316B2 (en) 2018-06-15 2020-05-26 Winbound Electronics Corp. Memory device

Also Published As

Publication number Publication date
CA2941639A1 (en) 2015-07-23
CA2878742C (en) 2016-10-25
HK1231627A1 (zh) 2017-12-22
WO2015109404A1 (en) 2015-07-30
TWI514396B (zh) 2015-12-21
EP3097564B1 (en) 2019-06-19
CN106463177A (zh) 2017-02-22
EP3097564A4 (en) 2017-03-15
EP3097564A1 (en) 2016-11-30
CN106463177B (zh) 2019-08-27
CA2941639C (en) 2018-11-27
CA2878742A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
TWI400709B (zh) 非揮發性記憶體之冗餘系統
CA2649002C (en) A program verify method for otp memories
CA2729505C (en) Dual function data register
TWI514396B (zh) 非揮發性記憶體之冗餘系統
US9123429B2 (en) Redundancy system for non-volatile memory
JP3558316B2 (ja) 不揮発性半導体記憶装置及び誤書き込み防止方法
JP2000100178A (ja) 不揮発性半導体記憶装置