TWI709035B - 用於操作位元翻轉之方法及設備 - Google Patents
用於操作位元翻轉之方法及設備 Download PDFInfo
- Publication number
- TWI709035B TWI709035B TW108125170A TW108125170A TWI709035B TW I709035 B TWI709035 B TW I709035B TW 108125170 A TW108125170 A TW 108125170A TW 108125170 A TW108125170 A TW 108125170A TW I709035 B TWI709035 B TW I709035B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- bits
- component
- data bits
- inverted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/43—Majority logic or threshold decoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本發明描述用於使用一加強型位元翻轉方案操作(若干)記憶體胞之方法、系統及裝置。一加強型位元翻轉方案可包含用於以下各者之方法、系統及裝置:在產生指示是否翻轉一對應碼字中之資料位元之一翻轉位元的同時執行一碼字中之資料位元之錯誤校正;抑制執行該碼字中之(若干)反轉位元之錯誤校正;及使用多個反轉位元產生一高可靠性翻轉位元。例如,可藉由判定數個、大多數或全部該等反轉位元是否指示該等資料位元處於一經反轉狀態中而產生更可靠之一翻轉位元。
Description
技術領域係關於一種加強型位元翻轉方案。
下文大體上係關於操作一記憶體陣列且更具體言之係關於一種加強型位元翻轉方案。
記憶體裝置廣泛用於將資訊儲存於各種電子裝置(諸如電腦、無線通信裝置、相機、數位顯示器及類似者)中。藉由程式化一記憶體裝置之不同狀態而儲存資訊。例如,二進制裝置具有兩個狀態,該兩個狀態通常由一邏輯「1」或一邏輯「0」表示。在其他系統中,可儲存兩個以上狀態。為了存取經儲存資訊,電子裝置之一組件可讀取或感測記憶體裝置中之經儲存狀態。為了儲存資訊,電子裝置之一組件可在記憶體裝置中寫入或程式化狀態。
存在多個類型之記憶體裝置,包含磁性硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態RAM(DRAM)、同步動態RAM(SDRAM)、鐵電RAM(FeRAM)、磁性RAM(MRAM)、電阻性RAM(RRAM)、快閃記憶體、相變記憶體(PCM)等。記憶體裝置可係揮發性或非揮發性的。非揮發性記憶體(例如,FeRAM、PCM、RRAM)即使在不存在一外部電源之情況下仍可維持其等經儲存邏輯狀態達延長時間段。揮
發性記憶體裝置(例如,DRAM)可隨時間丟失其等經儲存狀態,除非其等藉由一外部電源週期性地再新。
一記憶體裝置可(例如,為了可靠性原因)反轉儲存於(若干)記憶體胞處之資料位元。一位元可指示儲存於(若干)特定記憶體胞處之邏輯狀態經反轉。然而,針對與反轉相關之一位元執行錯誤校正可延遲一存取操作且當一讀取操作存取記憶體之一區段時,此延遲可由傳播延遲加劇,從而將顯著延時引入一記憶體系統中。期望與位元翻轉及錯誤校正操作相關之加強型方案。
100:記憶體陣列
100-a:記憶體陣列
100-b:記憶體陣列
105:記憶體胞
105-a:記憶體胞
105-b:記憶體胞
110:存取線/字線
110-a:字線
115:數位線/位元線
115-a:位元線
120:列解碼器
125:感測組件
125-a:感測組件
130:行解碼器
135:輸入/輸出
140:記憶體控制器
140-a:記憶體控制器
140-b:記憶體控制器
200:讀取組件
205:資料位元線
210:冗餘位元線
215:錯誤校正位元線
220:反轉位元線
225:資料組件
230:控制組件
235:錯誤識別組件
240:全域資料線
245:第一位元修復組件
250:位元校正組件
255:位元翻轉組件
260:第二位元修復組件
265:第三位元修復組件
270:翻轉位元產生器
275:穩健感測組件
300:流程圖
305:方塊
310:方塊
315:方塊
320:方塊
325:方塊
330:方塊
350:方塊
400:記憶體組態
405:記憶體區段
410:碼字
415:資料部分
420:控制部分
425:記憶體單元
500:穩健感測方案
505:第一輸入線
510:第二輸入線
515:差動感測組件
520:輸出線
600:翻轉位元產生器
605:輸入線
610:表決組件
615:輸出線
700:表決電路
705:第一電壓源
710:第二電壓源
715:第三電壓源
720:第四電壓源
725:第一輸入線
730:第二輸入線
735:第三輸入線
740:第五電壓源
745:第六電壓源
750:第七電壓源
755:第八電壓源
760:輸出線
765:p型電晶體
770:n型電晶體
800:方塊圖
810:偏壓組件
815:時序組件
820:參考組件
825:鎖存器
845:位元翻轉組件
850:讀取組件
900:系統
905:裝置
910:處理器
915:基本輸入/輸出系統(BIOS)組件
920:周邊組件
925:輸入/輸出控制組件
930:匯流排
935:輸入裝置
940:輸出裝置
1000:方法
1005:方塊
1010:方塊
1015:方塊
1100:方法
1105:方塊
1110:方塊
1115:方塊
圖1繪示根據本發明之各種態樣之支援一加強型位元翻轉方案之一例示性記憶體陣列。
圖2繪示根據本發明之各種態樣之支援一加強型位元翻轉方案之一例示性讀取組件。
圖3繪示根據本發明之各種態樣之使用一加強型位元翻轉方案之一例示性記憶體操作之態樣。
圖4繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性記憶體組態。
圖5繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性翻轉位元產生器。
圖6繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性穩健感測組件。
圖7繪示根據本發明之各種態樣之一加強型位元翻轉方案
之一例示性表決電路。
圖8繪示根據本發明之各項實施例之支援一加強型位元翻轉方案之一記憶體陣列之一方塊圖。
圖9繪示根據本發明之各項實施例之支援一加強型位元翻轉方案之一系統。
圖10及圖11繪示根據本發明之各項實施例之一加強型位元翻轉方案之一或若干方法之態樣。
本專利申請案主張2018年8月17日申請之Fackenthal之標題為「ENHANCED BIT FLIPPING SCHEME」之美國專利申請案第16/104,470號之優先權,該案讓與其受讓人且以全文引用的方式明確併入本文中。
一記憶體裝置可(例如,為了可靠性原因)反轉儲存於(若干)記憶體胞處之資料位元。在針對(若干)特定記憶體胞反轉一或多個資料位元之後,記憶體裝置可設定一反轉位元以指示儲存於(若干)特定記憶體胞處之邏輯狀態經反轉。當自記憶體讀取資料時,記憶體裝置可對資料及反轉位元進行錯誤校正且可基於一對應經錯誤校正反轉位元而判定是否已反轉資料位元之任何者。然而,針對一反轉位元執行錯誤校正可使一讀取操作延遲。又,當一讀取操作存取記憶體之一整個區段時,此延遲可由傳播延遲加劇,從而將顯著延時引入一記憶體系統中。
記憶體裝置可包含具有大量(例如,數百萬個)記憶體胞之一記憶體陣列且記憶體陣列可被分區成離散部分。例如,一記憶體陣列可被分區成記憶體區段、碼字及/或記憶體單元,其中一記憶體區段可包含
多個碼字,且一碼字可包含多個記憶體單元。在一些實例中,一記憶體區段可對應於一頁面大小,一碼字對應於一預提取大小且一記憶體單元可對應於預定數目個位元(例如,4個位元)。在記憶體陣列之一實體實施方案中,一記憶體區段可包含跨越一大實體距離(例如,~1mm)之許多(例如,數千個)記憶體胞。
可根據經分區記憶體資源將資訊儲存於記憶體陣列中。例如,特定資訊(例如,使用者資料)可儲存於一碼字中。一碼字可分離成包含資料位元之一資料部分及包含控制位元(諸如冗餘、錯誤偵測/校正(「錯誤校正」)及/或反轉位元)之一控制部分。資料位元可表示用於使用記憶體陣列進行儲存之一應用程式之資料。冗餘位元可用於在稱為冗餘修復之一操作期間替換特定資料且控制位元。(若干)錯誤校正位元(例如,同位位元)可用於識別已經損壞之資料及反轉位元。冗餘及錯誤校正位元一起可降低可在存取資料位元時發生之讀取錯誤之數目,從而增加一記憶體裝置之可靠性。反轉位元可指示最初儲存於記憶體之第一碼字中之資料、冗餘及/或錯誤校正位元是否處於一經反轉狀態中(為了可靠性原因及類似者,可反轉儲存於一記憶體陣列中之位元以節省電力)。
亦可根據經分區記憶體資源自記憶體陣列讀取資訊。例如,可自一記憶體陣列請求儲存於一碼字中之資料且將該資料遞送至一請求裝置(例如,另一記憶體組件或外部裝置)。在接收請求之後但在將包含於碼字中之資料位元遞送至請求裝置之前,記憶體陣列可處理碼字(例如,修復錯誤,翻轉儲存於碼字中之位元)。
例如,在一讀取操作期間,可如下般透過一資料組件處理碼字之一資料部分且可透過一控制組件處理碼字之一控制部分。首先,可
使用(若干)冗餘位元替換某些資料、錯誤校正及/或反轉位元。接著,可使用(若干)錯誤校正位元以判定碼字中之任何資料或反轉位元是否已損壞(例如,使用一漢明(Hamming)碼)且基於判定產生識別碼字中之任何錯誤及此等錯誤之位置之(若干)校正子位元。
校正子位元可接著經提供(提供、傳輸及傳達可互換地使用)至資料及控制組件且用於修整資料或反轉位元中之任何經識別錯誤。在一些情況中,在執行錯誤校正之前含有錯誤之位元之分率被稱為原始位元錯誤率(RBER)且在執行錯誤校正之後含有錯誤之位元之分率被稱為不可校正位元錯誤率(UBER)。
在已處理校正子位元之後,可將經錯誤校正反轉位元(其可被稱為一「翻轉位元」)傳輸至資料組件中之一位元翻轉組件。若翻轉位元指示資料位元處於一經反轉狀態中,則可翻轉經錯誤校正資料位元(例如,使得經錯誤校正資料位元在經提供至請求裝置之前返回至其等原始儲存值)。否則,若翻轉位元指示資料位元處於一原始狀態中(例如,當前未經反轉),則可將經錯誤校正資料位元直接提供至請求裝置而不執行一翻轉操作。
如本文中提及,對一碼字中之至少一些(若非全部)位元(包含反轉位元)執行錯誤校正可增加將正確資料位元遞送至一請求裝置(例如,藉由確保資料位元正確且未經錯誤地翻轉)之可能性,此可繼而增加一記憶體裝置之可靠性。然而,在某些實例中,等待直至處理校正子位元之後才發送翻轉位元可將延時引入一記憶體系統中。
在一些情況中,可回應於對於定位於一記憶體區段之一碼字中之資料之一請求而將儲存於該區段中之全部資料提供至一請求裝置,
此可導致傳播延遲。如本文中論述,一記憶體區段可散佈於跨越大實體距離(例如,足夠大以藉由傳播延遲將延時引入一記憶體系統中之距離)之多個記憶體胞上。在一些情況中,跨一記憶體區段分佈控制資訊(諸如冗餘位元、錯誤校正位元、校正子位元及/或反轉位元)導致一記憶體操作之增加之延時。例如,一記憶體系統可在等待校正子位元跨一記憶體區段分佈時招致一傳播延遲。
此等傳播延遲可由串列控制操作加劇。即,每當跨一記憶體區段提供控制資訊時,可增加一記憶體操作之彙總傳播延遲。例如,當跨一記憶體區段分佈校正子位元時,本文中論述之讀取操作可招致一第一傳播延遲。且當跨記憶體區段分佈經錯誤校正反轉位元時可招致另一傳播延遲。在此等情況中,在執行一翻轉操作之前對反轉位元執行錯誤校正可藉由兩個傳播延遲之彙總而增加一記憶體操作之延時,從而減小一記憶體裝置之處理能力。在一些情況中,在一記憶體區段中對反轉位元執行錯誤校正導致一1ns之延遲。
在一些情況中,一記憶體操作之某些步驟可省略及/或與其他步驟並列執行。以此方式,一特定步驟之傳播延遲可不將延時添加至一記憶體操作。
例如,可不針對與一碼字相關聯之一反轉位元執行錯誤校正且可在錯誤校正期間產生之校正子位元之產生或分佈之前或同時將與反轉位元相同或基於反轉位元判定之一翻轉位元提供至一資料組件。以此方式,可避免與在已跨一記憶體區段傳播對應於記憶體區段中之全部碼字之反轉位元之校正子位元之後將翻轉位元發送至資料組件相關聯之彙總傳播延遲。
亦即,在一些實例中,抑制對反轉位元執行錯誤校正可降低翻轉位元之可靠性。因此,將翻轉位元直接發送至一位元翻轉組件可降低記憶體系統之可靠性。
在一些情況中,可使用除用於對一碼字(例如,使用一漢明碼)之資料位元進行錯誤校正之錯誤校正技術以外之替代錯誤校正技術(例如,使用一重複碼)來增加一碼字之一翻轉位元之可靠性。以此方式,可使翻轉位元及(引申而言)一記憶體裝置之可靠性維持於或高於藉由使用用於資料位元之相同錯誤校正方案對翻轉位元進行錯誤校正而獲得之一可靠性位準。又,可在針對資料位元執行其他錯誤校正技術時執行替代錯誤校正技術,從而緩解與等待直至已跨一記憶體區段分佈對應校正子位元之後才將記憶體區段之翻轉位元發送至一位元翻轉組件相關聯之彙總傳播延遲。
在一些實例中,可使用一替代錯誤校正技術藉由在一碼字中包含多個反轉位元而增加一翻轉位元之可靠性。例如,三個或更多個反轉位元可包含於一碼字中且用於對翻轉位元(其亦可被稱為一重複方案)之一值「表決」。亦即,可基於判定大多數反轉位元是否指示已反轉碼字中之資料位元而產生翻轉位元。以此方式,翻轉位元失敗之概率可依據包含於碼字中之反轉位元之數目及反轉位元之RBER而變化。例如,針對使用三個反轉位元之此一表決方案,翻轉位元之UBER可係一單一反轉位元
(例如,*)之RBER之平方之3選擇2倍。又,可在不參考資
料位元之情況下,且因此在資料位元之校正子位元經產生及/或分佈遍及一記憶體區段之前或之時完成表決。
在另一實例中,可藉由使用多個反轉位元及一更穩健感測
方案而在不進行錯誤校正之情況下增加一翻轉位元之可靠性。例如,可使用一差動感測方案讀取儲存於兩個記憶體胞中之兩個反轉位元。且在處理一碼字之前,可感測兩個記憶體胞以產生可接著用作或用於產生一翻轉位元之一單一高可靠性反轉位元。在一些情況中,基於一差動感測方案針對一碼字產生之一翻轉位元之RBER可等於或高於碼字之資料位元之UBER。
在一些實例中,可藉由使用每一碼字之一單一反轉位元及反轉位元之一更穩健儲存方案(例如,藉由增加反轉位元之一可靠性)而在不進行錯誤校正之情況下增加一翻轉位元之可靠性。例如歸因於記憶體胞之化學組合物、記憶體胞之大小、用於記憶體胞之一技術,例如,反轉位元可儲存於具有一較大感測窗之一記憶體胞中。且在處理一碼字時,可感測記憶體胞以產生可接著用作或用於產生一翻轉位元之一高可靠性反轉位元。在一些情況中,基於儲存於一穩健儲存方案中之一反轉位元針對一碼字產生之一翻轉位元之RBER可等於或高於碼字之資料位元之UBER。在一些實例中,用於增加一翻轉位元之可靠性之技術可延伸至其他控制位元(諸如錯誤校正或冗餘位元或兩者)以及其他實例。
本文中在一記憶體系統之背景內容中進一步描述上文介紹之本發明之特徵。接著描述用於根據一加強型位元翻轉方案讀取一碼字之裝置及方法之特定實例。藉由與一加強型位元翻轉方案相關之設備圖、系統圖及流程圖進一步繪示且參考該等設備圖、系統圖及流程圖描述本發明之此等及其他特徵。
圖1繪示根據本發明之各項實施例之支援一加強型位元翻轉方案之一例示性記憶體陣列。記憶體陣列100可用於儲存數位資訊(例
如,二進制資訊)且亦可被稱為一電子記憶體設備。記憶體陣列100包含可程式化以儲存不同狀態之記憶體胞105。各記憶體胞105可程式化以儲存表示為一邏輯0及一邏輯1之兩個狀態。在一些情況中,記憶體胞105經組態以儲存兩個以上邏輯狀態。
一記憶體胞105可包含具有可程式化狀態之一記憶體元件。一DRAM或FeRAM架構中之一記憶體胞105可儲存表示一電容器中之可程式化狀態之一電荷;例如,一帶電電容器及一不帶電電容器可分別表示兩個邏輯狀態。DRAM架構可普遍使用此一設計且可使用包含一介電材料且具有線性電極化性質之一電容器作為一記憶體元件。FeRAM架構亦可使用此一設計,但用作記憶體元件之電容器可包含具有非線性極化性質之一鐵電材料。在一PCM或基於分離之記憶體(SBM)架構中之一記憶體胞105可改變一材料之一電阻率(例如,電阻或臨限值電壓),其中不同電阻率可表示不同邏輯狀態。PCM及/或SBM架構可使用具有可電子程式化電阻之硫化物材料作為記憶體元件。在一些情況中,藉由改變一記憶體材料之一相位而程式化一PCM架構中之一記憶體胞105。在一些情況中,藉由引起一記憶體材料內之離子移動而程式化一SBM架構中之一記憶體胞105。
可藉由啟動或選擇適當存取線110及數位線115而對記憶體胞105執行諸如讀取及寫入之操作。存取線110亦可被稱為字線110且數位線115亦可被稱為位元線115。啟動或選擇一字線110或一數位線115可包含將一電壓施加至各自線。字線110及數位線115由導電材料製成。例如,字線110及數位線115可由金屬(諸如銅、鋁、金、鎢等)、金屬合金、其他導電材料或類似者製成。根據圖1之實例,記憶體胞105之各列連接
至一單一字線110,且記憶體胞105之各行連接至一單一數位線115。藉由啟動一個字線110及一個數位線115(例如,將一電壓施加至字線110或數位線115),可存取在其等相交點處之一單一記憶體胞105。存取記憶體胞105可包含讀取或寫入記憶體胞105。一字線110及數位線115之相交點可被稱為一記憶體胞之一位址。
在一些架構中,一胞(例如,一電容器)之邏輯儲存裝置可藉由一選擇組件而與數位線電隔離。字線110可連接至且可控制選擇組件。例如,選擇組件可係一電晶體且字線110可連接至該電晶體之閘極。啟動字線110導致一記憶體胞105之電容器與其對應數位線115之間之一電連接或封閉電路。接著可存取數位線以讀取或寫入記憶體胞105。
可透過一列解碼器120及一行解碼器130控制存取記憶體胞105。在一些實例中,一列解碼器120自記憶體控制器140接收一列位址且基於經接收列位址而啟動適當字線110。類似地,一行解碼器130自記憶體控制器140接收一行位址且啟動適當數位線115。例如,記憶體陣列100可包含標記為WL_1至WL_M之多個字線110及標記為DL_1至DL_N之多個數位線115,其中M及N取決於陣列大小。因此,藉由啟動一字線110及一數位線115(例如,WL_3及DL_N),可存取在其等相交點處之記憶體胞105。
在存取之後,可藉由感測組件125讀取或感測一記憶體胞105以判定記憶體胞105之經儲存狀態。例如,在存取記憶體胞105之後,記憶體胞105之電容器可放電至其對應數位線115上。使電容器放電可係基於加偏壓於或施加一電壓至電容器。放電可包含數位線115之電壓之一改變,感測組件125可比較該電壓與一參考電壓(未展示)以便判定記憶體
胞105之經儲存狀態。例如,若數位線115具有高於參考電壓之一電壓,則感測組件125可判定記憶體胞105中之經儲存狀態係一邏輯1且反之亦然。
一感測操作之可靠性可取決於源自讀取記憶體胞105之一感測窗。例如,相較於一較小感測窗,一較大感測窗可與較少位元錯誤相關聯。可將感測窗判定為在儲存一邏輯1時源自讀取一記憶體胞105之一數位線115之一電壓與在儲存一邏輯0時源自讀取記憶體胞之數位線115之一電壓之間之差異。感測組件125可包含各種電晶體或放大器以便偵測且放大信號中之一差異(其可被稱為鎖存)。接著可透過行解碼器130輸出記憶體胞105之經偵測邏輯狀態作為輸出135。
可藉由啟動相關字線110及數位線115而設定或寫入一記憶體胞105。如本文中論述,啟動一字線110將記憶體胞105之對應列電連接至其等各自數位線115。藉由在啟動字線110時控制相關數位線115,可寫入一記憶體胞105-例如,可將一邏輯值儲存於記憶體胞105中。行解碼器130可接受待寫入至記憶體胞105之資料(例如,輸入135)。
記憶體控制器140可透過各種組件(諸如列解碼器120、行解碼器130及感測組件125)控制記憶體胞105之操作(例如,讀取、寫入、重寫、再新等)。記憶體控制器140可產生列位址信號及行位址信號以便啟動所要字線110及數位線115。記憶體控制器140亦可產生且控制在記憶體陣列100之操作期間使用之各種電壓電位。一般言之,本文中論述之一經施加電壓之振幅、形狀或持續時間可經調整或變動且針對用於操作記憶體陣列100之各種操作可係不同的。此外,可同時存取記憶體陣列100內之一個、多個或全部記憶體胞105;例如,可在其中將全部記憶體胞105或
記憶體胞105之一群組設定為一單一邏輯狀態之一重設操作期間同時存取記憶體陣列100之多個或全部胞。
在一些情況中,記憶體陣列100可翻轉一記憶體胞105之一邏輯狀態-例如,將儲存於記憶體胞105中之一邏輯值自一個值(例如,邏輯1)改變為另一邏輯值(邏輯0)。記憶體陣列100可在內部執行翻轉且可不對其他外部裝置或組件通知一記憶體胞之邏輯狀態已翻轉。記憶體陣列100可翻轉記憶體胞以節省電力以增加一裝置之可靠性或類似者。例如,針對FeRAM,可翻轉鐵電記憶體胞以緩解壓印之效應(例如,歸因於長時間曝露至或儲存相同電荷之鐵電域之漂移),此可隨時間降低記憶體胞之可靠性。儲存不同於原始邏輯狀態(例如,預期藉由外部裝置或組件儲存於記憶體胞處之邏輯狀態)之一邏輯狀態之一記憶體胞105可被稱為處於一經反轉狀態中。
在一些情況中,將記憶體陣列100分區成記憶體胞組。例如,可將記憶體陣列100分區成可包含數千個記憶體胞105之記憶體區段。可將一記憶體區段進一步分區成可包含數百個記憶體胞105之碼字。且可將一碼字分區成可包含個位數個記憶體胞105之記憶體單元,例如,一記憶體單元可包含四個記憶體胞105。
在一些實例中,儲存於記憶體陣列100中之資訊可由另一裝置(例如,一記憶體組件,諸如一緩衝器或一外部處理器)請求。記憶體陣列100可識別資訊在記憶體陣列100內之一位置。在一些情況中,記憶體陣列100可判定資訊定位於一碼字內,該碼字定位於記憶體之一特定區段內。在一些實例中,記憶體陣列100可基於識別記憶體區段包含碼字而存取整個記憶體區段且可將儲存於記憶體區段中之全部資訊提供至請求裝
置。
然而,在將儲存於記憶體區段中之資訊提供至請求裝置之前,記憶體陣列100可首先處理資訊,針對儲存於記憶體區段中之資訊位元執行冗餘修復及錯誤校正。記憶體陣列100亦可判定記憶體區段中之碼字之任何者是否處於一經反轉狀態中且翻轉碼字之位元以使資料位元返回至由請求裝置預期之儲存狀態。
在錯誤校正期間,記憶體陣列100可產生校正子位元,該等校正子位元可用於指示某些記憶體胞是否正儲存經損壞資料且可將儲存於經損壞記憶體胞中之資料翻轉至正確值。在一些情況中,可在錯誤校正期間未識別錯誤且全部經產生校正子位元具有一邏輯值0。在一些情況中,校正子位元遍及一記憶體區段之遞送可與一傳播延遲(例如,歸因於記憶體區段之實體大小及/或串列資料遞送)相關聯。為了翻轉碼字之位元,可將碼字之一反轉/翻轉位元提供至一位元翻轉組件,該位元翻轉組件可翻轉碼字之資料位元(例如,若反轉位元指示資料位元處於一經反轉狀態中)。在一些情況中,反轉位元可與一翻轉位元相同或用於產生一翻轉位元。
在一些情況中,記憶體陣列100可針對包含一對應反轉位元之一整個碼字執行錯誤校正。因此,記憶體陣列100可等待直至已接收校正子位元之後才將一翻轉位元提供至一位元翻轉組件。然而,等待直至接收校正子位元之後才發送翻轉位元可增加記憶體系統之延時。又,例如,由於可不將儲存於一記憶體區段中之資訊提供至請求裝置直至已完成處理整個區段之後,故在提供並遞送翻轉位元遍及記憶體區段時可進一步增加延時。
記憶體陣列100可抑制對一碼字之一反轉位元執行錯誤校正且可在錯誤校正的同時(即,至少部分與錯誤校正重疊)將一翻轉位元提供至一位元翻轉組件。在一些實例中,記憶體陣列100可在一碼字中包含多個反轉位元且可基於由反轉位元儲存之一值產生一翻轉位元。
記憶體陣列100可在使用一個錯誤校正技術(例如,使用一重複碼)之翻轉位元之一錯誤校正/產生的同時使用一不同錯誤校正技術(例如,使用一漢明碼)執行碼字之資料位元之一錯誤校正。在一些情況中,在資料位元之錯誤校正期間,翻轉位元之產生/錯誤校正可與校正子位元之產生或分佈(例如,全部校正子位元至一記憶體區段之不同位置之傳輸)重疊。在對翻轉位元進行錯誤校正/產生翻轉位元之後,記憶體陣列100可將翻轉位元傳達(例如,傳輸、發送、提供等)至其中可基於翻轉位元之一值翻轉資料位元之一位元翻轉組件。以此方式,可針對記憶體陣列100降低延時且可緩解彙總傳播延遲之效應。
在一些情況中,記憶體陣列100可使用一表決方案及多個反轉位元產生翻轉位元/對翻轉位元進行錯誤校正。一表決方案可係一種類型之錯誤校正方案。例如,記憶體陣列100可針對包含多個反轉位元之一碼字判定大多數反轉位元是否指示碼字中之資料位元處於一經翻轉狀態中。記憶體陣列100可基於判定至少一些(例如,大多數或全部)之資料位元是否指示碼字處於一經反轉狀態中而產生一翻轉位元,例如,若大多數資料位元指示碼字處於一經反轉狀態中,則記憶體陣列100可產生指示資料位元待翻轉之一翻轉位元。記憶體陣列100可接著將翻轉位元傳輸至一位元翻轉組件。可針對反轉位元使用不同於一碼字之資料位元之一錯誤校正方案增加翻轉位元之一可靠性。在一些情況中,在碼字之資料位元之錯
誤校正期間,可在校正子位元之產生及/或分佈的同時產生藉由表決方案輸出之翻轉位元及/或將藉由表決方案輸出之翻轉位元提供至一位元翻轉組件。
在一些情況中,記憶體陣列100可使用一差動感測方案儲存一碼字之兩個反轉位元以產生碼字之翻轉位元。差動感測方案可用於產生具有高於記憶體陣列100中之個別反轉位元及經校正資訊位元之一可靠性之一單一反轉位元。單一反轉位元可接著用作或用於產生翻轉位元。此一方案可增加翻轉位元之可靠性而無需對反轉/翻轉位元進行錯誤校正且可用於在校正子位元之產生及/或分佈的同時將翻轉位元提供至一位元翻轉組件。
在一些情況中,記憶體陣列100可將一碼字之一單一反轉位元儲存於具有大於記憶體陣列100中之其他記憶體胞之一感測窗之一記憶體胞中。例如,反轉位元可儲存於一記憶體胞中,該記憶體胞具有大於記憶體陣列100中之其他記憶體胞之一大小、使用不同於記憶體陣列中之其他記憶體胞之一技術及類似者。單一反轉位元可具有高於記憶體陣列100中之經校正資訊位元之一可靠性且可用作或用於產生翻轉位元。此一方案可增加翻轉位元之可靠性而無需對反轉/翻轉位元進行錯誤校正且可在校正子位元之產生及/或分佈的同時將翻轉位元提供至一位元翻轉組件。
圖2繪示根據本發明之各種態樣之支援一加強型位元翻轉方案之一例示性讀取組件。讀取組件200可用於處理儲存於一記憶體陣列中之資訊。讀取組件200可包含輸入線(資料位元線205、冗餘位元線210、錯誤校正位元線215及反轉位元線220)、資料組件225、控制組件
230、錯誤識別組件235、一輸出線(全域資料線240)及穩健感測組件275。
資料位元線205可經組態以在儲存資料之記憶體胞與資料組件225之間傳達一或多個碼字之資料位元。資料位元可表示一使用者應用程式之資料。冗餘位元線210可用於在儲存冗餘資料位元之記憶體胞與資料組件225之間且在儲存冗餘資料控制位元之記憶體胞與控制組件230之間傳達冗餘位元。冗餘位元可對應於且可用於替換某些資料及/或控制位元。在一些情況中,冗餘位元儲存於具有高於其他記憶體胞之可靠性之記憶體胞中。
錯誤校正位元線215可用於在儲存錯誤校正位元之記憶體胞與控制組件230之間傳達錯誤校正位元(諸如同位位元)。錯誤校正位元可用於識別資料及/或控制位元中之錯誤。反轉位元線220可用於在儲存反轉位元之記憶體胞與控制組件230之間傳達指示資料位元是否處於一經反轉狀態中之反轉位元。一碼字之反轉位元可用於指示一碼字之對應資料及/或控制位元是否係處於一原始/預期狀態或一經反轉狀態中。
資料組件225可經組態以處理儲存於一或多個碼字中之資料位元且將經處理資料位元遞送至一請求裝置。資料組件225可自資料位元線205接收資料位元。資料組件225可包含第一位元修復組件245、位元校正組件250及位元翻轉組件255。
第一位元修復組件245可經組態以使用對應冗餘資料位元替換特定資料位元。第一位元修復組件245可自資料位元線205接收資料位元且自冗餘位元線210接收冗餘資料位元。第一位元修復組件245可在可被稱為冗餘修復之一程序期間使用經接收冗餘位元之特定冗餘資料位元
替換經接收資料位元之特定資料位元。第一位元修復組件245可包含經組態以替換資料位元之一子集之一第一多工器及用於儲存經冗餘修復資料位元之一鎖存器。第一多工器之一輸出可與位元校正組件250及/或錯誤識別組件235耦合。第一位元修復組件245可將經冗餘修復資料位元傳輸至位元校正組件250及/或錯誤識別組件235。
位元校正組件250可經組態以校正已被識別為經損壞之資料位元。位元校正組件250可包含用於校正經損壞位元之一組件及用於處理校正子位元之一組件(諸如一校正子解碼器)。位元校正組件250可自第一位元修復組件245接收資料位元(例如,經冗餘修復資料位元)。
位元校正組件250亦可自錯誤識別組件235接收校正子位元。校正子位元可識別已失效(例如,已損壞)之經冗餘修復資料位元之資料位元。位元校正組件250可接著校正由校正子位元識別之資料位元中之錯誤。在一些情況中,位元校正組件250基於校正子位元識別已經識別為失效(例如,經損壞)之特定資料位元且(例如,使用XOR電路)翻轉資料位元之一邏輯值。在一些情況中,位元校正組件250基於校正子位元(例如,當校正子位元全部為邏輯0時)判定資料位元未損壞。在處理校正子位元之後,位元校正組件250可將經校正資料位元傳輸至位元翻轉組件255。
位元翻轉組件255可經組態以基於一經接收翻轉位元將經校正資料位元自一經反轉狀態翻轉至一原始狀態。位元翻轉組件255可自位元校正組件250接收經校正資料位元。位元翻轉組件255亦可自翻轉位元產生器270接收一翻轉位元。位元翻轉組件255可基於翻轉位元之一值而將經校正資料位元自一經反轉狀態翻轉。例如,若翻轉位元之一值係一邏輯1,則位元翻轉器可翻轉經校正資料位元。翻轉經校正資料位元可包
含透過引起資料位元之一值改變至一相反值(例如,自一邏輯0至一邏輯1)之一XOR組件傳輸經校正資料位元。
若儲存於記憶體胞中之資料位元在提供至資料組件225之前經翻轉(例如,為了可靠性原因置於一經反轉狀態中),則位元翻轉組件255可基於接收觸發位元翻轉組件255翻轉經校正資料位元之一翻轉位元而翻轉經校正資料位元。若儲存於記憶體胞中之資料位元在提供至資料組件225之前未經翻轉,則位元翻轉組件255可基於接收不觸發位元翻轉組件255以翻轉經校正資料位元之一翻轉位元而抑制翻轉經校正資料位元。在一些情況中,位元翻轉組件可經組態以在已校正資料位元中之錯誤之後翻轉資料位元。在一些情況中,若翻轉位元經損壞,則位元翻轉組件255可不恰當地翻轉或未能翻轉經校正資料位元。位元翻轉組件255可產生全域資料位元(其等可用於指代已由讀取組件200完全處理且經提供至一請求裝置之資料位元)且可經由全域資料線240將全域資料位元傳輸至一請求裝置。
控制組件230可經組態以處理儲存於一或多個碼字中之控制位元且輔助資料組件225處理一或多個碼字之資料位元。控制組件230可包含第二位元修復組件260、第三位元修復組件265及翻轉位元產生器270。
類似於第一位元修復組件245,第二位元修復組件260可經組態以使用對應冗餘錯誤校正位元替換特定錯誤校正位元。第二位元修復組件260可自錯誤校正位元線215接收錯誤校正位元且自冗餘位元線210接收冗餘錯誤校正位元。在一些情況中,第二位元修復組件260可不在冗餘位元線210上接收任何冗餘錯誤校正位元。第二位元修復組件260可包含
經組態以替換錯誤校正位元之一子集之一第二多工器及用於儲存經冗餘修復錯誤校正位元之一鎖存器。第二位元修復組件260可將經冗餘修復錯誤校正位元傳輸至錯誤識別組件235。
類似於第一位元修復組件245及第二位元修復組件260,第三位元修復組件265可經組態以使用對應冗餘反轉位元替換(若干)特定反轉位元。第三位元修復組件265可自反轉位元線220接收(若干)反轉位元且自冗餘位元線210接收(若干)冗餘反轉位元。在一些情況中,第三位元修復組件265可不在冗餘位元線210上接收任何冗餘反轉位元。第三位元修復組件265可包含經組態以替換(若干)反轉位元之一子集之一第三多工器及用於儲存(若干)經冗餘修復反轉位元之一鎖存器。第三位元修復組件265可將(若干)經冗餘修復反轉位元傳輸至錯誤識別組件235。在一些情況中,第三位元修復組件265經由反轉位元線220接收多個反轉位元且將多個經冗餘修復反轉位元傳輸至翻轉位元產生器270。在一些情況中,第二及第三多工器可實施為經組態以替換控制位元之一子集之一單一多工器。
翻轉位元產生器270可經組態以判定資料位元是否處於一經反轉狀態中且產生指示是否應將碼字之資料位元在提供至一請求裝置之前自一經反轉狀態翻轉回至一原始/預期狀態之一碼字之一翻轉位元。翻轉位元產生器270可基於自位元修復組件265接收之(若干)經冗餘修復反轉位元而產生翻轉位元。在一些情況中,翻轉位元產生器270可(例如,使用一重複碼,諸如一表決方案)實施不同於由錯誤識別組件235實施之錯誤校正技術之一替代錯誤校正技術。
例如,當多個反轉位元用於一碼字時,翻轉位元產生器270可包含一表決組件,該表決組件可用於判定至少一些(例如,大多數或
全部)反轉位元是否指示碼字中之對應資料位元處於一經反轉狀態中或替代地,反轉位元是否指示碼字中之對應資料位元不在一經反轉狀態中。
例如,若大多數反轉位元指示對應資料位元處於一經反轉狀態中,則翻轉位元產生器270可產生觸發位元翻轉組件255翻轉經校正資料位元之一翻轉位元。否則,若大多數反轉位元指示對應資料位元不在一經反轉狀態中(例如,在一未經反轉、原始儲存狀態中),則翻轉位元產生器270可產生引導位元翻轉組件255抑制翻轉經校正資料位元之一翻轉位元。在一些情況中,表決組件可在藉由錯誤識別組件235識別資料位元中之錯誤的同時,判定大多數反轉位元是否指示對應資料位元處於一經反轉狀態中。表決組件可與錯誤識別組件235電隔離。在本文中且至少參考圖6及圖7更詳細論述表決組件。
另外或替代地,當多個反轉位元用於一碼字時,在使用資料組件225或控制組件230處理碼字之前且在不針對反轉位元採用錯誤校正技術之情況下,可使用穩健感測組件275以自一碼字之多個反轉位元產生一單一高可靠性反轉/翻轉位元。例如,穩健感測組件275可係一差動感測組件。在此等情況中,可使用穩健感測組件275一起感測儲存於兩個記憶體胞中之一碼字之兩個反轉位元以產生一單一高可靠性反轉位元(例如,具有大於或等於記憶體系統中之資訊位元之一UBER之一RBER之一反轉位元)。在本文中且至少參考圖5更詳細論述差動感測組件。可接著將高可靠性反轉位元提供至第三位元修復組件265。當使用穩健感測組件275時,翻轉位元產生器270可包含將高可靠性反轉位元路由至位元翻轉組件255之一開關或一導線,例如,經產生高可靠性反轉位元可用作翻轉位元。
當一單一反轉位元用於一碼字時,在使用資料組件225或控制組件230處理碼字之前且在不針對反轉位元採用錯誤校正技術之情況下,可使用一更穩健記憶體胞以產生一單一高可靠性反轉/翻轉位元。在一些情況中,單一反轉位元儲存於比一記憶體陣列中之其他記憶體胞具有產生錯誤資料之一更低可能性(例如,一RBER<=1e-18)之一穩健記憶體胞中。例如,記憶體胞可經建構以具有大於其他記憶體胞之一感測窗,可使用一不同記憶體技術(例如,DRAM而非FeRAM)及類似者。當使用一單一記憶體胞(例如,一穩健記憶體胞)以儲存一碼字之一反轉位元時,翻轉位元及反轉位元可相同且翻轉位元產生器270可包含將反轉/翻轉位元路由至位元翻轉組件255之一開關或一導線,例如,在一些情況中,反轉位元可用作翻轉位元。
翻轉位元產生器270可將一經產生翻轉位元傳輸至位元翻轉組件255。可在錯誤識別組件235產生及/或傳輸校正子位元時將翻轉位元傳輸至位元翻轉組件255,例如,位元翻轉組件255可在將校正子位元傳輸至位元校正組件250之前或之時將翻轉位元傳輸至位元翻轉組件255。在一些情況中,翻轉位元產生器270可經由位元翻轉組件255與錯誤識別組件235電子隔離。即,錯誤識別組件235之一輸出可不影響翻轉位元產生器270之一輸出,或翻轉位元之產生可獨立於或不參考校正子位元之產生而執行。
錯誤識別組件235可經組態以識別自第一位元修復組件245接收之資料位元中之錯誤。在一些情況中,錯誤識別組件235可基於自位元修復組件260接收之錯誤校正位元(例如,使用一漢明碼)識別資料位元中之錯誤。錯誤識別組件235可基於資料及錯誤校正位元產生校正子位元
且可將校正子位元傳輸至位元校正組件250。錯誤識別組件235可以一串列或並列方式將校正子位元傳輸至位元校正組件250。將一整個記憶體區段之校正子位元提供至位元校正組件250可與傳播延遲相關聯。
全域資料線240可經組態以將已透過讀取組件200處理之資料位元(「全域資料位元」)傳輸至一請求裝置。
在一些情況中,第一位元修復組件245、位元校正組件250、位元翻轉組件255、第二位元修復組件260、位元修復組件265及翻轉位元產生器270可各實施為一整個記憶體區段之一單一組件。在其他情況中,第一位元修復組件245、位元校正組件250、位元翻轉組件255、第二位元修復組件260、位元修復組件265及翻轉位元產生器270可各實施為一整個記憶體區段之各碼字之多個組件。例如,包含多個記憶體區段之讀取組件200可包含一或多個第一位元修復組件245、一或多個位元校正組件250、一或多個位元翻轉組件255、一或多個第二位元修復組件260、一或多個位元修復組件265及一或多個翻轉位元產生器270。
圖3繪示根據本發明之各種態樣之使用一加強型位元翻轉方案之一例示性記憶體操作之態樣。作為一個實例,流程圖300繪示根據一加強型位元翻轉方案操作一或多個記憶體組件(諸如圖2之讀取組件200)之態樣。
如本文中描述,執行取決於一碼字之資料位元之碼字之(若干)反轉位元之錯誤校正可將延時引入一記憶體系統中。又,歸因於傳播延遲,當自一整個記憶體區段讀取資訊時,此延時可加劇。為了降低此延時,一記憶體系統可抑制針對一碼字之(若干)反轉位元執行錯誤校正且可與碼字之資料位元之錯誤校正並列產生反轉位元。可在流程圖300之背景
內容中論述用於降低延時之實例。
在方塊305處,一記憶體系統可將資訊位元儲存於一記憶體陣列中(例如)以用於一使用者應用程式。儲存資訊位元可包含將資料位元及對應控制位元儲存於一或多個記憶體區段之碼字中。在一些情況中,控制位元可包含冗餘位元、錯誤校正位元(例如,同位位元)及/或反轉位元。
在方塊310處,例如,為了可靠性原因,一記憶體系統可翻轉一記憶體區段之一或多個碼字之資訊位元。翻轉資料位元可包含將資料及控制位元自原始儲存值(例如,方塊305處儲存之值)翻轉至不同值(例如,相反值-一邏輯0至一邏輯1)或將資料及控制位元自一不同值翻轉回至一原始儲存值。已經翻轉以儲存相反值之資料及控制位元可被稱為處於一經反轉狀態中。在翻轉資訊位元之後,記憶體系統可設定指示一碼字之資料及/或控制位元是否處於一經反轉狀態中之碼字之一或多個反轉位元。
例如,具有邏輯值1之一碼字之一反轉位元可指示碼字處於一經反轉狀態中且具有邏輯值0之一碼字之一反轉位元可指示碼字處於一原始/預期狀態中。在一些情況中,翻轉可在記憶體系統內部執行且因此,使用者應用程式及其他記憶體組件可不瞭解儲存於一碼字中之資訊已自原始儲存之資訊改變。因此,記憶體系統可在將儲存於一碼字中之資訊遞送至一請求裝置之前,對一請求裝置指示哪一經傳輸資料已經反轉或使經反轉資訊位元返回至其等原始狀態。
在方塊315處,記憶體系統可(例如)自一使用者應用程式或另一記憶體組件接收對於儲存於一或多個碼字中之資料之一請求。回應於資料請求,記憶體系統可存取整個記憶體區段。即,記憶體系統可感測儲
存於記憶體區段中之各記憶體胞中之邏輯狀態。可接著將經感測邏輯狀態作為對應資訊位元傳輸至可處理資訊位元之讀取組件200。資訊位元可包含一或多個碼字之資料及控制位元。如本文中論述,讀取組件200可單獨處理記憶體區段之各碼字之資料及控制位元。方塊320至350繪示此碼字處理之態樣。
在方塊320處,讀取組件200可在被稱為冗餘修復之一程序期間針對各碼字(例如,在第一位元修復組件245、第二位元修復組件260及第三位元修復組件265處)使用冗餘位元替換特定資料及控制位元。可將經修復資料位元傳輸至錯誤校正電路,諸如錯誤識別組件235及位元校正組件250。可將經修復控制位元傳輸至錯誤識別組件235及翻轉位元產生器270。在一些情況中,冗餘修復之一持續時間包含在其期間冗餘位元跨記憶體區段傳播之時間。
在方塊325處,錯誤識別組件235可針對各碼字執行一錯誤校正。在錯誤校正期間,錯誤識別組件235可產生識別哪些資料位元(若有)經損壞之碼字之資料位元之校正子位元。在一些情況中,基於一碼字之資料位元、錯誤校正位元及/或(若干)反轉位元產生校正子位元。位元校正組件250可接收校正子位元且(例如)藉由翻轉一經識別資料位元之邏輯值而校正已被識別為經損壞之任何資料位元。
在產生各碼字之校正子位元之後,錯誤識別組件235可將校正子位元發送至資料組件225。發送一記憶體區段之各碼字之校正子位元可由傳播延遲(例如,歸因於一記憶體區段之實體大小)及處理延遲(例如,尤其在校正子位元經連續處理之情況下)減慢。讀取組件200可抑制產生碼字之(若干)反轉位元之校正子位元以避免引入在將各碼字之校正子位
元分佈至控制組件230時招致之傳播延遲。在一些情況中,可在產生一碼字之一翻轉位元時或之後產生碼字之資料位元之校正子位元。在一些情況中,錯誤識別組件235可在將一翻轉位元傳輸至位元翻轉組件255之後將校正子位元傳輸至位元校正組件250。
在方塊330處,翻轉位元產生器270可基於各碼字之(若干)反轉位元之一值產生各碼字之翻轉位元。在一些情況中,同時執行翻轉位元之產生及在方塊325處論述之錯誤校正之態樣。例如,可與校正子位元同時或在將校正子位元遞送至資料組件225時產生(若干)翻轉位元。翻轉位元產生器270可將各碼字之(若干)翻轉位元傳輸至位元翻轉組件255。在一些情況中,可在已將校正子位元之至少一部分遞送至位元校正組件250之前將(若干)翻轉位元傳輸至位元翻轉組件255。在一些情況中,可在將經校正資料位元之至少一部分自位元校正組件250傳輸至位元翻轉組件255之前將(若干)翻轉位元傳輸至位元翻轉組件255。以此方式,可緩解藉由傳輸校正子位元招致之傳播延遲且可增加資料位元之處理速度,例如,可將方塊320至350之總處理時間自5ns降低至4ns。
在方塊350處,位元翻轉組件255可接收一或多個碼字之經校正資料位元及(若干)翻轉位元且可基於一對應翻轉位元之值翻轉一碼字之經校正資料位元之值。例如,位元翻轉組件255可接收一碼字之經校正資料位元及一翻轉位元,該翻轉位元(例如)基於判定翻轉位元之一值係一邏輯1而指示儲存於碼字中之資料位元處於一經反轉狀態中。
在一些情況中,翻轉位元可基於翻轉位元產生器270判定碼字之至少一些(例如,大多數或全部)翻轉位元指示資料位元處於一經反轉狀態中而指示資料位元處於一經反轉狀態中。因此,位元翻轉組件255
可翻轉經校正資料位元以使資料位元返回至其等原始儲存值。位元翻轉組件255可接著將經翻轉資料位元(或「全域資料位元」)傳輸至一請求裝置(諸如一記憶體緩衝器)。
替代地,位元翻轉組件255可接收一碼字之經校正資料位元及一翻轉位元,該翻轉位元(例如)基於判定翻轉位元之一值係一邏輯0而指示儲存於碼字中之資料位元處於一原始狀態中。在一些情況中,翻轉位元基於翻轉位元產生器270判定碼字之數個(例如,少數)翻轉位元指示資料位元處於一經反轉狀態中而指示資料位元不在一經反轉狀態中。因此,位元翻轉組件255可將經校正資料位元直接傳輸至一請求裝置而無需翻轉經校正資料位元。
如本文中論述,例如,歸因於使用一經損壞反轉位元以產生翻轉位元,使用未經錯誤校正之一翻轉位元可導致一非預期翻轉操作。為了增加一翻轉位元之可靠性同時仍降低延時,一記憶體系統可採用替代錯誤校正技術及/或除了錯誤校正之外之技術。可在方塊350之背景內容中論述用於增加可靠性之實例。
當多個反轉位元用於一碼字時,翻轉位元產生器270可藉由採用一表決電路而執行反轉位元之替代錯誤校正(如參考圖6及圖7更詳細論述)以判定大多數反轉位元是否指示碼字之資訊處於一經反轉狀態中。例如,翻轉位元產生器270可藉由憑藉比較由各反轉位元儲存之一值而判定一碼字之大多數反轉位元指示資料位元處於一經反轉狀態中來判定碼字之資料位元處於一經反轉狀態中。或翻轉位元產生器270可藉由憑藉比較由各反轉位元儲存之一值而判定一碼字之少數反轉位元指示資料位元處於一經反轉狀態中來判定碼字之資料位元處於一原始狀態中。使用多個
反轉位元產生一翻轉位元可增加依據所使用之反轉位元之數目而變化之翻轉位元之UBER。
在一些實例中,與一碼字之一翻轉位元相關聯之一第一錯誤率可等於或大於與碼字之資料位元相關聯之一第二錯誤率。例如,使用一表決方案產生之一碼字之一翻轉位元之一UBER可等於或大於碼字之一資料位元之一UBER。例如,針對包含三個反轉位元之一碼字,翻轉位元之UBER可係儲存於記憶體系統中之一個別資訊位元之RBER2之3選擇2倍,例如,一單一未經校正資訊位元之RBER可係1e-10且一翻轉位元之UBER可係3e-20。
另外或替代地,當多個反轉位元用於一碼字時,讀取組件200可採用一穩健感測方案以產生可用作翻轉位元之一單一高可靠性反轉位元而無需執行反轉位元之錯誤校正。由穩健感測方案產生之反轉位元之可靠性(例如,反轉位元之RBER)可高於記憶體裝置中之經錯誤校正資訊位元之可靠性(例如,經錯誤校正資訊位元之UBER)。參考圖5更詳細論述穩健感測方案。
當一單一反轉位元用於一碼字時,讀取組件200可將單一反轉位元儲存於一穩健記憶體胞中且使用單一高可靠性反轉位元作為翻轉位元而無需執行反轉位元之錯誤校正。在一些情況中,反轉位元之一可靠性(例如,反轉位元之RBER)可高於記憶體裝置中之經錯誤校正資訊位元之一可靠性(例如,經錯誤校正資訊位元之UBER)。上文之技術之各者可用於產生具有與使用錯誤校正技術產生翻轉位元相等或比使用錯誤校正技術產生翻轉位元更佳之一可靠性之一翻轉位元。
當每一碼字使用一單一反轉位元時,產生一碼字之一翻轉
位元可包含透過翻轉位元產生器270複製反轉位元之一值或傳輸反轉位元。當每一碼字使用多個反轉位元時,產生一碼字之一翻轉位元可包含基於多個反轉位元之值而計算翻轉位元之一值。替代地,當每一碼字使用多個反轉位元以產生一單一高可靠性反轉位元時,產生一碼字之一翻轉位元可包含透過翻轉位元產生器270複製反轉位元之一值或傳輸反轉位元。
在一些情況中,記憶體系統可在產生(若干)翻轉位元的同時針對資料位元執行錯誤校正且使用替代錯誤校正/其他技術以增加(若干)翻轉位元之可靠性。以此方式,可有利地維持記憶體裝置之可靠性同時亦增加記憶體裝置之處理能力。
圖4繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性記憶體組態。記憶體組態400可用於儲存數位資訊。記憶體組態400可包含記憶體區段(諸如記憶體區段405)、碼字(諸如碼字410)及記憶體單元(諸如記憶體單元425)。
記憶體區段405可涵蓋儲存於數百個或數千個記憶體胞中之資訊。在一些情況中,記憶體胞可跨越大實體距離(例如,~1mm)。在一些情況中,記憶體區段405對應於記憶體之一頁面(例如,1024個位元)且包含多個碼字(例如,8個碼字)(包含碼字410)。
碼字410可涵蓋數百個記憶體胞。在一些情況中,碼字410對應於一預提取大小(例如,128個位元)且包含資料部分415及控制部分420。資料部分415可儲存資料位元(諸如應用程式資料)。控制部分420可儲存控制位元,諸如冗餘位元、錯誤校正位元及反轉位元。控制位元可用於促進處理且增加儲存於資料部分415中之資料位元之可靠性。資料部分415及控制部分420可進一步被分區成記憶體單元。記憶體單元(諸如記憶
體單元425)可涵蓋少數(例如,2、4或8個)記憶體胞。在一些情況中,記憶體單元425可對應於數個位元。
在一些情況中,當另一裝置請求儲存於碼字410中之資料時,存取記憶體區段405之全部。在一些情況中,在記憶體操作期間,(例如)歸因於記憶體區段405中之記憶體胞之大實體距離,存取記憶體區段405之全部導致傳播延遲。
如本文中論述,當連續執行一操作之處理步驟時,此等傳播延遲可加劇,且為了降低傳播延遲,一記憶體系統可並列執行某些步驟,諸如一碼字之翻轉位元之產生及資料位元之錯誤校正。
如本文中亦論述,為了使用一替代錯誤校正技術增加一經產生翻轉位元之可靠性,記憶體系統可每一碼字利用多個反轉位元。在一些實例中,多個反轉位元可儲存於控制部分420中。例如,三個反轉位元可連同九個錯誤校正位元及十二個冗餘位元一起儲存於控制部分420中。在另一實例中,兩個反轉位元可連同九個錯誤校正位元、十二個冗餘位元及一個未使用位元一起儲存於控制部分420中。
圖5繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性穩健感測組件。穩健感測方案500可用於基於多個反轉位元而產生一單一高可靠性反轉位元且可係圖2之穩健感測組件275之一實例。穩健感測方案500可包含第一輸入線505、第二輸入線510、差動感測組件515及輸出線520。
第一輸入線505可用於將儲存於一第一記憶體胞處之一邏輯狀態傳達至差動感測組件515。第一輸入線505可係一導電跡線或一無線通信路徑。
第二輸入線510可用於將儲存於一第二記憶體胞處之一邏輯狀態傳達至差動感測組件515。第二輸入線510可係一導電跡線或一無線通信路徑。
差動感測組件515可用於自儲存於第一及第二記憶體胞中之邏輯值產生一單一高可靠性位元。在一些情況中,第一記憶體胞可用於儲存一碼字之一第一反轉位元之值且第二記憶體胞可用於儲存一碼字之一第二反轉位元之值。第一及第二反轉位元之邏輯值可相同。第一記憶體胞可在一第一方向上極化且第二記憶體胞可在一第二方向上極化。使用此一方案可使集體記憶體胞之感測窗加倍且可不使用一感測電壓。當經感測時,記憶體胞可基於經儲存反轉位元而產生一高及低電壓,且可將各電壓施加至一差動放大器,從而產生一單一較高可靠性反轉位元。
輸出線520可用於將由差動感測組件515產生之一高可靠性反轉位元傳達至一讀取組件。在一些情況中,高可靠性反轉位元可用於產生或作為一翻轉位元。輸出線520可係一導電跡線或一無線通信路徑。
圖6繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性翻轉位元產生器。翻轉位元產生器600可用於基於多個反轉位元而產生一翻轉位元且可係圖2之翻轉位元產生器270之一實例。翻轉位元產生器600可包含輸入線605、表決組件610及輸出線615。
輸入線605可用於將一碼字之多個反轉位元之值傳達至表決組件610。輸入線605可係導電跡線或一無線通信路徑。在一些情況中,輸入線605可包含三個或三個以上輸入線。在一些情況中,輸入線605可係一單一輸入線且可以一串列方式將多個反轉位元遞送至表決組件610。
表決組件610可用於實施一錯誤校正方案且判定至少一些(例如,大多數或全部)反轉位元是否指示碼字之資料位元處於一經反轉狀態或一原始狀態中。表決組件610亦可增加依據反轉位元之數目而變化之一翻轉位元之可靠性。例如,針對三個反轉位元,翻轉位元之可靠性可係RBER2之3選擇2倍;針對四個反轉位元,翻轉位元之可靠性可係RBER3之4選擇3倍;且針對五個反轉位元,翻轉位元之可靠性可係RBER3之6選擇3倍。
在一些實例中,表決組件610可(例如)基於兩個反轉位元之各者之一值係一邏輯1而識別三個反轉位元之兩者指示碼字之資料位元處於一經反轉狀態中,且可產生觸發一位元翻轉組件以翻轉資料位元之一翻轉位元,例如,表決組件610可判定資料位元處於一經反轉狀態中。替代地,表決組件610可識別三個反轉位元之一者指示碼字之資料位元處於一經反轉狀態中,且可產生不觸發一位元翻轉組件以翻轉資料位元之一翻轉位元,例如,表決組件610可判定資料位元處於一原始狀態中。
輸出線615可用於將經產生翻轉位元傳達至一位元翻轉組件(諸如如參考圖2論述之位元翻轉組件255)。輸出線615可係一導電跡線或一無線通信路徑。
圖7繪示根據本發明之各種態樣之一加強型位元翻轉方案之一例示性表決電路。表決電路700可用於實施一錯誤校正方案。在一些實例中,表決電路700可用於使用三個反轉位元產生一翻轉位元且可係圖6之表決組件610之一實例。表決電路700可包含第一電壓源705、第二電壓源710、第三電壓源715、第四電壓源720、第五電壓源740、第六電壓源745、第七電壓源750、第八電壓源755、第一輸入線725、第二輸入線
730、第三輸入線735、輸出線760、p型電晶體765及n型電晶體770。
第一電壓源705、第二電壓源710、第三電壓源715及第四電壓源720可對表決電路700供應一高電壓(例如,一正電壓)。在一些情況中,第一電壓源705、第二電壓源710、第三電壓源715及第四電壓源720係使用一單一電壓源實施,例如,第一電壓源705、第二電壓源710、第三電壓源715及第四電壓源720之各者可連結至一高電源軌(例如,一3.3V軌)。
第五電壓源740、第六電壓源745、第七電壓源750及第八電壓源755可對表決電路700供應一低電壓(例如,虛擬接地或一正電壓)。在一些情況中,第五電壓源740、第六電壓源745、第七電壓源750及第八電壓源755係使用一單一電壓源實施,例如,第五電壓源740、第六電壓源745、第七電壓源750及第八電壓源755之各者可連結至一虛擬接地。
第一輸入線725可用於將一第一反轉位元之一值傳達至表決電路700。第一輸入線725可連接至多個p型電晶體765及多個n型電晶體770。
第二輸入線730可用於將一第二反轉位元之一值傳達至表決電路700。第二輸入線730可連接至多個p型電晶體765及多個n型電晶體770。
第三輸入線735可用於將一第三反轉位元之一值傳達至表決電路700。第三輸入線735可連接至多個p型電晶體765及多個n型電晶體770。
表決電路700可產生對應於經提供至表決電路700之大多數反轉位元之一值之一輸出值。亦即,表決電路可產生具有與由三個反轉位
元之至少兩者保持之值相同之一值之一輸出。
例如,若對應於第一輸入線725之第一反轉位元具有對應於一邏輯值1之一高電壓(例如,3V),對應於第二輸入線730之第二反轉位元具有對應於一邏輯值0之一低電壓,對應於第三輸入線735之第三反轉位元具有對應於一邏輯值1之一高電壓,則表決電路700可產生具有一高電壓(例如,3.3V)之一輸出。或,若對應於第一輸入線725之第一反轉位元具有對應於一邏輯值0之一低電壓(例如,0V),對應於第二輸入線730之第二反轉位元具有對應於一邏輯值0之一低電壓,且對應於第三輸入線735之第三反轉位元具有對應於一邏輯值1之一高電壓,則表決電路700可產生具有一低電壓(例如,0V)之一輸出。
輸出線760可用於將表決電路700之輸出值傳達至諸如一位元翻轉組件之另一組件。在一些情況中,由表決電路700產生之輸出值可與一翻轉位元相同。在一些情況中,翻轉位元之一高電壓觸發位元翻轉組件以觸發對應於翻轉位元之一碼字中之資料位元。且翻轉位元之一低電壓可引起位元翻轉組件傳輸對應於翻轉位元之一碼字中之資料位元而無需執行一翻轉操作。
圖8繪示根據本發明之各項實施例之支援一加強型位元翻轉方案之一記憶體陣列之一方塊圖。方塊圖800可包含記憶體陣列100-a,其可係如參考圖1論述之一記憶體陣列100之一實例。記憶體陣列100-a可被稱為一電子記憶體設備且包含記憶體控制器140-a、字線110-a、位元線115-a、感測組件125-a及(若干)記憶體胞105-a,其等可係參考圖1描述之一記憶體控制器140、字線110、位元線115、感測組件125及(若干)記憶體胞105之實例。記憶體陣列100-a亦可包含參考組件820、鎖存器825及
讀取組件850。記憶體陣列100-a之組件可彼此電子通信且可執行參考圖1至圖7描述之功能。
記憶體控制器140-a可與其他組件組合,遍及記憶體陣列100-a施加電壓,將資料寫入至記憶體胞105-a,自記憶體胞105-a讀取資料且通常操作記憶體陣列100-a,如在圖1至圖7中描述。記憶體控制器140-a可包含偏壓組件810及時序組件815。在一些情況中,記憶體控制器可包含位元翻轉組件845。記憶體控制器140-a可與(若干)記憶體胞105-a、感測組件125-a及參考組件820電子通信。
偏壓組件810可(例如,藉由記憶體控制器140-a)經組態以藉由將電壓施加至字線110-a或位元線115-a而啟動該等各種節點。例如,偏壓組件810可經組態以施加一電壓以讀取或寫入如本文中描述之記憶體胞105-a。在一些情況中,記憶體控制器140-a可包含一列解碼器、行解碼器或兩者,如參考圖1描述。此可使記憶體控制器140-a能夠存取一或多個記憶體胞105。偏壓組件810亦可將電壓電位提供至參考組件820以便產生用於感測組件125-a之一參考信號。另外,偏壓組件810可提供用於感測組件125-a之操作之電壓電位。
時序組件815可經組態以控制各種字線選擇或板極偏壓之時序(包含用於切換及電壓施加之時序)以執行本文中論述之記憶體功能(諸如讀取及寫入)。在一些情況中,時序組件815可控制偏壓組件810之操作。
參考組件820可包含各種組件以產生用於感測組件125-a之一參考信號。參考組件820可包含經組態以產生一參考信號之電路。
感測組件125-a可比較來自(若干)記憶體胞105-a之一信號
與來自參考組件820之一參考信號。在判定邏輯狀態之後,感測組件可接著將輸出儲存於鎖存器825中,其中可根據一電子裝置(記憶體陣列100-a係其之一部分)之操作使用該輸出。在一些情況中,參考組件820、感測組件125-a及鎖存器825可係記憶體控制器140-a之組件。
位元翻轉組件845可用於管理一加強型位元翻轉方案之態樣。例如,位元翻轉組件845可用於將時序資訊提供至偏壓組件810及/或時序組件815以用於一位元翻轉操作。位元翻轉組件845亦可包含一翻轉位元產生組件及/或一位元翻轉組件。
讀取組件850可用於處理儲存於鎖存器825處之資訊位元。讀取組件850可包含如參考圖2論述之讀取組件200之態樣。
在一些情況中,與讀取組件850組合,記憶體控制器140-a可執行包括資料位元及反轉位元之一碼字之一錯誤校正,其中反轉位元指示資料位元是否處於一經反轉狀態中。在一些情況中,碼字之資料及反轉位元儲存於記憶體胞105-a中且資料及反轉位元之一值由感測組件125-a感測。記憶體控制器140-a亦可結合讀取組件850在錯誤校正的同時至少部分基於由數個反轉位元儲存之一值而產生一翻轉位元且將翻轉位元傳輸至一位元翻轉組件。在一些情況中,位元翻轉組件包含於讀取組件850中。
在一些情況中,記憶體控制器140-a可結合讀取組件850針對包括資料位元及指示資料位元是否處於一經反轉狀態中之反轉位元之一碼字,判定大多數反轉位元是否指示資料位元處於經反轉狀態中。在一些情況中,碼字之資料及反轉位元儲存於記憶體胞105-a中且資料及反轉位元之一值由感測組件125-a感測。記憶體控制器140-a亦可結合讀取組件850至少部分基於判定大多數反轉位元是否指示資料位元處於經反轉狀態
中而產生一翻轉位元且將翻轉位元傳輸至一位元翻轉組件。在一些情況中,位元翻轉組件包含於讀取組件850中。
圖9繪示根據本發明之各項實施例之支援一加強型位元翻轉方案之一系統。系統900包含一裝置905,該裝置905可係或包含一印刷電路板以連接或實體支撐各種組件。裝置905包含一記憶體陣列100-b,其可係參考圖1及圖8描述之記憶體陣列100之一實例。記憶體陣列100-b可含有記憶體控制器140-b及(若干)記憶體胞105-b,其等可係如參考圖1及圖8描述之一記憶體控制器140及(若干)記憶體胞105之實例。裝置905亦可包含一處理器910、BIOS組件915、(若干)周邊組件920及輸入/輸出控制組件925。裝置905之組件可透過匯流排930彼此電子通信。
處理器910可經組態以透過記憶體控制器140-b操作記憶體陣列100-b。在一些情況中,處理器910可執行參考圖1及圖8描述之記憶體控制器140之功能。在其他情況中,記憶體控制器140-b可整合至處理器910中。處理器910可係一通用處理器、一數位信號處理器(DSP)、一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其可係此等類型之組件之一組合,且處理器910可執行本文中描述之各種功能。處理器910可(例如)經組態以執行儲存於記憶體陣列100-b中之電腦可讀指令以引起裝置905執行各種功能或任務。
BIOS組件915可係包含經操作為韌體之一基本輸入/輸出系統(BIOS)之一軟體組件,其可初始化且運行系統900之各種硬體組件。BIOS組件915亦可管理處理器910與各種組件(例如,周邊組件920、輸入/輸出控制組件925等)之間之資料流。BIOS組件915可包含儲存於唯讀記憶
體(ROM)、快閃記憶體或任何其他非揮發性記憶體中之一程式或軟體。
(若干)周邊組件920可係整合至裝置905中之任何輸入或輸出裝置,或用於此等裝置之一介面。實例可包含磁碟控制器、聲音控制器、圖形控制器、乙太網路控制器、數據機、通用串列匯流排(USB)控制器、一串列或並列埠或周邊卡槽(諸如周邊組件互連件(PCI)或加速圖形埠(AGP)槽)。
輸入/輸出控制組件925可管理處理器910與(若干)周邊組件920、輸入裝置935或輸出裝置940之間之資料通信。輸入/輸出控制組件925亦可管理未整合至裝置905中之周邊設備。在一些情況中,輸入/輸出控制組件925可表示至外部周邊設備之一實體連接或埠。
輸入935可表示將輸入提供至裝置905或其組件之裝置905外部之一裝置或信號。此可包含一使用者介面或與其他裝置或其他裝置之間之介面。在一些情況中,輸入935可係經由(若干)周邊組件920與裝置905介接之一周邊設備或可由輸入/輸出控制組件925管理。
輸出940可表示經組態以自裝置905或任何其組件接收輸出之裝置905外部之一裝置或信號。輸出940之實例可包含一顯示器、音訊揚聲器、一列印裝置、另一處理器或印刷電路板等。在一些情況中,輸出940可係經由(若干)周邊組件920與裝置905介接之一周邊設備或可由輸入/輸出控制組件925管理。
記憶體控制器140-b、裝置905及記憶體陣列100-b之組件可由經設計以實行其等功能之電路構成。此可包含各種電路元件,(例如)導電線、電晶體、電容器、電感器、電阻器、放大器或經組態以實行本文中描述之功能之其他作用或非作用元件。
圖10繪示根據本發明之各項實施例之一加強型位元翻轉方案之一或若干方法之態樣。方法1000可繪示在一讀取操作期間處理一碼字之態樣。
在方塊1005處,方法可包含執行包括資料位元及反轉位元之一碼字之一錯誤校正,反轉位元指示資料位元是否處於一經反轉狀態中,如參考圖1至圖7描述。在某些實例中,方塊1005之操作可藉由如參考圖1、圖2、圖8及圖9描述之一錯誤識別組件或一記憶體控制器執行或促進。
在方塊1010處,方法可包含在錯誤校正的同時至少部分基於由數個反轉位元儲存之一值而產生一翻轉位元,如參考圖1至圖7描述。在某些實例中,方塊1010之操作可藉由如參考圖1,圖2、圖6至圖8及圖9描述之一翻轉位元產生器或記憶體控制器執行或促進。
在方塊1015處,方法可包含將翻轉位元傳輸至一位元翻轉組件,如參考圖1至圖7描述。在某些實例中,方法1015之操作可藉由如參考圖1,圖2、圖8及圖9描述之一位元翻轉組件或記憶體控制器執行或促進。
圖11繪示根據本發明之各項實施例之一加強型位元翻轉方案之一或若干方法之一流程圖。方法1100可繪示在一讀取操作期間處理一碼字之態樣。
在方塊1105處,方法可包含針對包括資料位元及指示資料位元是否處於一經反轉狀態中之反轉位元之一碼字,判定大多數反轉位元是否指示資料位元處於經反轉狀態中,如參考圖1至圖7描述。在某些實例中,方塊1105之操作可藉由一翻轉位元產生器、表決組件或記憶體控制
器執行或促進,如參考圖1,圖2、圖6至圖8及圖9描述。
在方塊1110處,方法可包含至少部分基於判定大多數反轉位元是否指示資料位元處於經反轉狀態中而產生一翻轉位元,如參考圖1至圖7描述。在某些實例中,方塊1110之操作可藉由如參考圖1,圖2、圖6至圖8及圖9描述之一翻轉位元產生器或記憶體控制器執行或促進。
在方塊1115處,方法可包含將翻轉位元傳輸至一位元翻轉組件,如參考圖1至圖7描述。在某些實例中,方法1115之操作可藉由如參考圖1,圖2、圖8及圖9描述之一位元翻轉組件或記憶體控制器執行或促進。
在一些實例中,如本文中描述之一設備可執行一或若干方法,諸如方法1000。該設備可包含用於以下各者之特徵、構件或指令(例如,儲存可由一處理器執行之指令之一非暫時性電腦可讀媒體):執行包含資料位元及反轉位元之一碼字之一錯誤校正,該等反轉位元指示該等資料位元是否處於一經反轉狀態中;在該錯誤校正的同時基於由數個該等反轉位元儲存之一值而產生一翻轉位元;及將該翻轉位元傳輸至一位元翻轉組件。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:基於由該數個該等反轉位元之各者儲存之該值而判定該等資料位元是否處於該經反轉狀態中,其中基於判定該等資料位元是否處於該經反轉狀態中而產生該翻轉位元。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:藉由比較由
該數個該等反轉位元之各者儲存之該值而判定大多數該等反轉位元指示該等資料位元處於該經反轉狀態中;及基於判定該大多數該等反轉位元指示該等資料位元處於該經反轉狀態中而判定該等資料位元處於該經反轉狀態中。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:基於判定該等資料位元可在該經反轉狀態中而翻轉該等資料位元;及在可翻轉該等資料位元之後將該等資料位元傳輸至一記憶體緩衝器。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:藉由比較由該數個該等反轉位元之各者儲存之該值而判定少數該等反轉位元指示該等資料位元可在該經反轉狀態中;及基於判定少數該等反轉位元指示該等資料位元處於該經反轉狀態中而判定該等資料位元可在一原始狀態中;及將該等資料位元傳輸至一記憶體緩衝器。
在本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例中,執行該錯誤校正可包含用於在產生翻轉位元時或之後產生該等資料位元之校正子位元之操作、特徵、構件或指令。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:將該等資料位元傳輸至與該位元翻轉組件耦合之一位元校正組件;及在將該翻轉位元傳輸至該位元翻轉組件之後將該等校正子位元傳輸至該位元校正組件。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:在該錯誤校
正期間判定該等資料位元之一資料位元是否可損壞,其中可基於判定該等資料位元之該資料位元是否可損壞而產生該等校正子位元。
在本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例中,該翻轉位元之一RBER或一UBER可等於或大於該等資料位元之一資料位元之一UBER。
在本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例中,記憶體之一區段可包含用於以下各者之操作、特徵、構件或指令:針對各碼字,執行一錯誤校正操作;針對各碼字且獨立於該碼字之一錯誤校正,基於反轉位元而判定一翻轉位元之一值;及針對各碼字,將該翻轉位元傳輸至一位元翻轉組件。
在一些實例中,如本文中描述之一設備可執行一或若干方法,諸如方法1100。該設備可包含用於以下各者之特徵、構件或指令(例如,儲存可由一處理器執行之指令之一非暫時性電腦可讀媒體):針對包含資料位元及指示該等資料位元是否處於一經反轉狀態中之反轉位元之一碼字,判定大多數該等反轉位元是否指示該等資料位元處於該經反轉狀態中;基於判定該大多數該等反轉位元是否指示該等資料位元處於該經反轉狀態中而產生一翻轉位元;及將該翻轉位元傳輸至一位元翻轉組件。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例可進一步包含用於以下各者之操作、特徵、構件或指令:執行該碼字之一錯誤校正;基於該錯誤校正而產生該等資料位元之校正子位元;及在將該翻轉位元傳輸至該位元翻轉組件的同時,將該等校正子位元傳輸至可與該位元翻轉組件耦合之一位元校正組件。
本文中描述之方法、設備及非暫時性電腦可讀媒體之一些
實例可進一步包含用於以下各者之操作、特徵、構件或指令:執行該碼字之一錯誤校正;基於該錯誤校正而產生該等資料位元之校正子位元;將該等資料位元傳輸至可與該位元翻轉組件耦合之一位元校正組件;及在將該翻轉位元傳輸至該位元翻轉組件之後將該等校正子位元傳輸至該位元校正組件。
在本文中描述之方法、設備及非暫時性電腦可讀媒體之一些實例中,與該翻轉位元相關聯之一第一錯誤率可等於或大於與該等資料位元相關聯之一第二錯誤率。應注意,本文中描述之方法描述可能實施方案,且操作及步驟可重新配置或以其他方式修改且其他實施方案係可行的。此外,可組合來自兩個或兩個以上方法之實施例。
在一些實例中,一設備或裝置可使用通用或專用硬體執行本文中描述之功能之態樣。例如,一設備或裝置可包含:一資料組件,其經組態以處理資料位元;一控制組件,其經組態以處理包括指示該等資料位元是否處於一經反轉狀態中之反轉位元之控制位元;一錯誤識別組件,其與該資料組件及該控制組件耦合,該錯誤識別組件經組態以識別該等資料位元中之錯誤;及一翻轉位元產生器,其經組態以基於大多數該等反轉位元是否指示該等資料位元處於該經反轉狀態中而判定該等資料位元處於該經反轉狀態中。
在該設備或裝置之一些實例中,該翻轉位元產生器包含於該控制組件內且經組態以至少部分基於大多數資料位元是否處於經反轉狀態中而產生一翻轉位元且將該翻轉位元傳輸至該資料組件。在一些實例中,該翻轉位元產生器經組態以在將該等校正子位元傳輸至該資料組件之前或之時將該翻轉位元傳輸至該資料組件。在一些實例中,該翻轉位元產
生器經組態以獨立於該錯誤識別組件之一輸出而判定該等資料位元是否處於該經反轉狀態中。
在該設備或裝置之一些實例中,該錯誤識別組件經組態以至少部分基於該等資料位元中識別之該等錯誤而將校正子位元傳輸至該資料組件。在一些情況中,該錯誤識別組件及該翻轉位元產生器彼此獨立地操作。
在一些實例中,該設備或裝置包含經組態以至少部分基於該翻轉位元而翻轉該等資料位元之一位元翻轉組件。在一些情況中,該資料組件包括該位元翻轉組件。在一些實例中,該設備或裝置包含一記憶體陣列,該記憶體陣列包括資料組件、控制組件及記憶體區段,其中各記憶體區段包括碼字。
在一些實例中,該設備或裝置包含一或多個錯誤識別組件,其等經組態以針對一記憶體區段中之各碼字識別該等資料位元中之錯誤,其中該一或多個錯誤識別組件包括該錯誤識別組件。
在一些實例中,該設備或裝置包含一或多個翻轉位元產生器,其等經組態以針對一記憶體區段中之各碼字判定該等資料位元是否處於該經反轉狀態中,其中該一或多個翻轉位元產生器包括該翻轉位元產生器,且其中該一或多個錯誤識別組件及該一或多個翻轉位元產生器彼此獨立操作。
在其他實例中,一設備或裝置可包含:一記憶體陣列,其包括經組態以儲存資料位元之第一記憶體胞及經組態以儲存包括反轉位元之控制位元之第二記憶體胞;一修復組件,其與該記憶體陣列耦合,該修復組件經組態以替換該等資料位元之一子集及該等控制位元之一子集;一
錯誤識別組件,其與該修復組件之一輸出耦合,該錯誤識別組件經組態以在替換該等資料位元之該子集之後識別該等資料位元中之錯誤;及一表決組件,其與該修復組件之該輸出耦合,該表決組件經組態以在藉由該錯誤識別組件識別該等資料位元中之錯誤的同時判定大多數反轉位元是否指示該等資料位元處於一經反轉狀態中。
在該設備或裝置之一些實例中,該表決組件與該錯誤識別組件電隔離。在該設備或裝置之一些實例中,該修復組件包含經組態以替換該等資料位元之該子集之一第一多工器及經組態以替換該等控制位元之該子集之一第二多工器。
在一些實例中,該設備或裝置包含與該第一多工器及該錯誤識別組件之該輸出耦合之一位元校正組件,該位元校正組件經組態以校正該等資料位元中之該等錯誤。在一些實例中,該設備或裝置包含與該表決組件及該位元校正組件耦合之一翻轉組件,其中該翻轉組件經組態以在校正該等資料位元中之該等錯誤之後翻轉該等資料位元。
在其他實例中,一設備或裝置可包含:一錯誤識別組件,其經組態以執行包括資料位元及反轉位元之一碼字之一錯誤校正,該等反轉位元指示該等資料位元是否處於一經反轉狀態中;一翻轉位元產生器,其與該錯誤識別組件耦合,該翻轉位元產生器經組態以至少部分基於由該等反轉位元之一子集儲存之一值而產生一翻轉位元;及一位元翻轉組件,其與該翻轉位元產生器耦合,該位元翻轉組件經組態以自該翻轉位元產生器接收該翻轉位元且至少部分基於該翻轉位元之一值而翻轉該等資料位元。
在該設備或裝置之一些實例中,該翻轉位元產生器包括一
表決組件,其中該表決組件經組態以判定大多數該等反轉位元是否指示該等資料位元處於該經反轉狀態中。在一些情況中,該翻轉位元係至少部分基於該判定而產生。
在一些實例中,該設備或裝置包含:一位元校正組件,其與該錯誤識別組件及該翻轉位元產生器耦合。在一些情況中,該位元校正組件經組態以校正該等資料位元中之錯誤。在一些情況中,該錯誤識別組件進一步經組態以產生該等資料位元之校正子位元且將該等校正子位元傳輸至該位元校正組件,該位元校正組件經組態以至少部分基於該等校正子位元而校正該等資料位元中之該等錯誤。在一些情況中,該翻轉位元產生器經組態以在將該等校正子位元傳輸至該位元校正組件之前或之時將該翻轉位元傳輸至該位元翻轉組件。
如本文中使用,術語「虛擬接地」係指保持於近似零伏特(0V)之一電壓但未直接與接地連接之一電路之一節點。相應地,一虛擬接地之電壓可暫時波動且在穩定狀態下返回至近似0V。可使用各種電子電路元件(諸如由運算放大器及電阻器組成之一分壓器)實施一虛擬接地。其他實施方案亦係可行的。「虛擬接地」或「經虛擬接地」意謂連接至近似0V。
術語「電子通信」及「耦合」係指支援組件之間之電子流動之組件之間之一關係。此可包含組件之間之一直接連接或可包含中間組件。彼此電子通信或耦合之組件可(例如,在一通電電路中)主動交換電子或信號或不可(例如,在一斷電電路中)主動交換電子或信號,但可經組態且可操作以在通電至一電路之後交換電子或信號。舉例而言,經由一開關(例如,一電晶體)實體連接之兩個組件電子通信或可耦合,而無關於開關
之狀態(例如,斷開或閉合)。
術語「隔離」或「電隔離」係指組件之間之一關係,其中電子當前不能夠在其等之間流動;若在組件之間存在一開路,則組件彼此隔離。例如,當開關斷開時,藉由一開關實體連接之兩個組件可彼此隔離。
如本文中使用,術語「實質上」意謂經修飾特性(例如,由術語實質上修飾之一動詞或形容詞)不需要係絕對的但足夠接近以便達成特性之優點。
本文中論述之裝置(包含記憶體陣列100)可形成於一半導體基板(諸如矽、鍺、矽鍺合金、砷化鎵、氮化鎵等)上。在一些情況中,基板係一半導體晶圓。在其他情況中,基板可係一絕緣體上覆矽(SOI)基板(諸如玻璃上覆矽(SOG)或藍寶石上覆矽(SOP))或在另一基板上之半導體材料之磊晶層。基板或基板之子區域之導電性可透過使用各種化學物種(包含(但不限於)磷、硼或砷)摻雜而控制。摻雜可在基板之初始形成或生長期間藉由離子植入或藉由任何其他摻雜手段執行。
本文中論述之一電晶體或若干電晶體可表示一場效電晶體(FET)且包括包含一源極、汲極及閘極之一三端裝置。終端可透過導電材料(例如,金屬)連接至其他電子元件。源極及汲極可係導電的且可包括一重度摻雜(例如,簡併)半導體區域。源極及汲極可藉由一輕度摻雜半導體區域或通道分離。若通道係n型(即,多數載子係電子),則FET可被稱為一n型FET。若通道係p型(即,多數載子係電洞),則FET可被稱為一p型FET。通道可藉由一絕緣閘極氧化物封蓋。可藉由將一電壓施加至閘極而控制通道導電性。例如,分別將一正電壓或負電壓施加至一n型FET或一p
型FET可導致通道變為導電。當將大於或等於電晶體之臨限值電壓之一電壓施加至電晶體閘極時,電晶體可「接通」或「啟動」。當將小於電晶體之臨限值電壓之一電壓施加至電晶體閘極時,電晶體可「關斷」或「撤銷啟動」。
上文闡述之詳細描述結合隨附圖式描述實例且不表示可實施或在發明申請專利範圍之範疇內之唯一實例。當用於此描述時,術語「實例」及「例示性」意謂「充當一實例、例項或圖解」且非「較佳」或「優於其他實例」。詳細描述包含為了提供所描述技術之一理解之目的之具體細節。然而,可在不具有此等具體細節之情況下實踐此等技術。在一些例項中,以方塊圖形式展示熟知結構及設備以便避免使所描述實例之概念不清楚。
可使用各種不同科技及技術之任何者表示資訊及信號。例如,可貫穿上文描述引用的資料、指令、命令、資訊、信號、位元、符號及晶片可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其等任何組合表示。
可使用經設計以執行本文中描述之功能之一通用處理器、一數位信號處理器(DSP)、一ASIC、一FPGA或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其等之任何組合而實施或執行結合本文之揭示內容描述之各種闡釋性方塊及組件。一通用處理器可係一微處理器,但在替代例中,處理器可係任何習知處理器、控制器、微控制器或狀態機。一處理器亦可實施為運算裝置之一組合,例如,一DSP及一微處理器之一組合、多個微處理器、結合一DSP核心之一或多個微處理器或任何其他此組態。
可在硬體、由一處理器執行之軟體、韌體或其任何組合中實施本文中描述之功能。若在由一處理器執行之軟體中實施,則可將功能作為一或多個指令或碼儲存於一電腦可讀媒體上或經由一電腦可讀媒體傳輸。其他實例及實施方案在本發明及隨附發明申請專利範圍之範疇及精神內。例如,歸因於軟體之性質,可使用由一處理器執行之軟體、硬體、韌體、硬接線或此等之任意者之組合來實施上文描述之功能。實施功能之特徵亦可實體上定位在各種位置處,包含經分佈使得在不同實體位置處實施功能之部分。如本文中使用,包含在發明申請專利範圍中,當在兩個或兩個以上品項之一清單中使用時,術語「及/或」意謂可採用所列舉品項之任一者自身,或可採用兩個或兩個以上所列舉品項之任何組合。例如,若將一組合物描述為含有組件A、B及/或C,則組合物可含有單獨A、單獨B、單獨C、A及B組合、A及C組合、B及C組合或A、B及C組合。再者,如本文中所使用,包含在發明申請專利範圍中,如一品項清單(例如,以諸如「至少一者」或「一或多者」之一片語開始之一品項清單)中使用之「或」指示一轉折清單,使得(例如)A、B或C之至少一者之一清單意指A或B或C或AB或AC或BC或ABC(即,A及B及C)。
電腦可讀媒體包含電腦儲存媒體及通信媒體兩者,包含促進一電腦程式自一位置至另一位置之傳送之任何媒體。一儲存媒體可為可藉由一通用電腦或專用電腦存取之任何可用媒體。藉由實例(且非限制),電腦可讀媒體可包括RAM、ROM、EEPROM、快閃記憶體、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置或可用於載送或儲存呈指令或資料結構之形式之所要程式碼構件且可藉由一通用電腦或專用電腦或一通用或專用處理器存取之任何其他媒體。再者,任何連接可被適當地
稱為一電腦可讀媒體。例如,若使用一同軸電纜、光纖電纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自一網站、伺服器或其他遠端源傳輸軟體,則同軸電纜、光纖電纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包含於媒體之定義中。如本文中使用,磁碟及光碟包含光碟片(CD)、雷射光碟、光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常磁性地重現資料而光碟用雷射光學地重現資料。上述組合亦包含於電腦可讀媒體之範疇內。
提供本發明之先前描述以使熟習此項技術者能夠製造或使用本發明。熟習此項技術者將容易明白對本發明之各種修改,且本文中定義之一般原理可應用至其他變動而不脫離本發明之範疇。因此,本發明不限於本文中描述之實例及設計,但符合與本文中揭示之原理及新穎特徵一致之最廣範疇。
1000:方法
1005:方塊
1010:方塊
1015:方塊
Claims (29)
- 一種用於操作位元翻轉之方法,其包括:接收包括複數個資料位元及複數個反轉位元之一碼字,該複數個反轉位元指示該複數個資料位元是否處於一經反轉狀態中,其中該複數個反轉位元之各者具有一第一值或一第二值之一者;執行該碼字之該複數個資料位元之一錯誤校正以獲得複數個經錯誤校正資料位元;在該錯誤校正的同時至少部分基於具有該第一值之該複數個反轉位元之一量(quantity)而產生一翻轉位元;將該複數個經錯誤校正資料位元及該翻轉位元傳輸至一位元翻轉組件;及在該位元翻轉組件處,至少部分基於該翻轉位元而反轉該複數個經錯誤校正資料位元。
- 如請求項1之方法,其進一步包括:至少部分基於具有該第一值之該複數個反轉位元之該量而判定該複數個資料位元是否處於該經反轉狀態中,其中至少部分基於判定該複數個資料位元是否處於該經反轉狀態中而產生該翻轉位元。
- 如請求項1之方法,其進一步包括:藉由比較由該複數個反轉位元之該量之各者儲存之該第一值或該第二值而判定大多數該複數個反轉位元指示該複數個資料位元處於該經反轉 狀態中;及至少部分基於判定該大多數該複數個反轉位元指示該複數個資料位元處於該經反轉狀態中而判定該複數個資料位元處於該經反轉狀態中。
- 如請求項3之方法,其進一步包括:至少部分基於判定該複數個資料位元處於該經反轉狀態中而翻轉該複數個資料位元;及在翻轉該複數個資料位元之後將該複數個資料位元傳輸至一記憶體緩衝器。
- 如請求項1之方法,其進一步包括:藉由比較由該複數個反轉位元之該量之各者儲存之該第一值或該第二值而判定少數該複數個反轉位元指示該複數個資料位元處於該經反轉狀態中;及至少部分基於判定該少數該複數個反轉位元指示該複數個資料位元處於該經反轉狀態中而判定該複數個資料位元處於一原始狀態中;及將該複數個資料位元傳輸至一記憶體緩衝器。
- 如請求項1之方法,其中執行該錯誤校正包括:在產生該翻轉位元時或之後產生該複數個資料位元之校正子位元。
- 如請求項6之方法,其進一步包括:將該複數個資料位元傳輸至與該位元翻轉組件耦合之一位元校正組 件;及在將該翻轉位元傳輸至該位元翻轉組件之後將該等校正子位元傳輸至該位元校正組件。
- 如請求項6之方法,其進一步包括:在該錯誤校正期間判定該複數個資料位元之一資料位元是否經損壞,其中至少部分基於判定該複數個資料位元之該資料位元是否經損壞而產生該等校正子位元。
- 如請求項1之方法,其中該翻轉位元之一原始位元錯誤率(RBER)或該翻轉位元之一不可校正位元錯誤率(UBER)等於或大於該複數個資料位元之一資料位元之一UBER。
- 如請求項1之方法,其中一記憶體之一區段包括多個碼字,該等碼字包含該碼字,該等碼字之各碼字包括複數個資料位元及複數個反轉位元,該複數個反轉位元指示該複數個資料位元是否處於該經反轉狀態中,該方法進一步包括:針對各碼字,執行一錯誤校正操作;針對各碼字且獨立於該碼字之該錯誤校正,至少部分基於該複數個反轉位元而判定該翻轉位元具有該第一值或該第二值之一者;及針對各碼字,將該翻轉位元傳輸至一或多個位元翻轉組件,該一或多個位元翻轉組件包括該位元翻轉組件。
- 一種用於操作位元翻轉之方法,其包括:針對包括複數個資料位元及指示該複數個資料位元是否處於一經反轉狀態中之複數個反轉位元之一碼字,判定大多數該複數個反轉位元是否指示該複數個資料位元處於該經反轉狀態中;執行該碼字之一錯誤校正以獲得複數個經錯誤校正資料位元;至少部分基於判定該大多數該複數個反轉位元是否指示該複數個資料位元處於該經反轉狀態中而產生一翻轉位元;將該複數個經錯誤校正資料位元及該翻轉位元傳輸至一位元翻轉組件;及在該位元翻轉組件處,至少部分基於該翻轉位元而翻轉該複數個經錯誤校正資料位元。
- 如請求項11之方法,其進一步包括:至少部分基於該錯誤校正而產生該複數個資料位元之校正子位元;及在將該翻轉位元傳輸至該位元翻轉組件的同時將該等校正子位元傳輸至與該位元翻轉組件耦合之一位元校正組件。
- 如請求項11之方法,其進一步包括:至少部分基於該錯誤校正而產生該複數個資料位元之校正子位元;將該複數個資料位元傳輸至與該位元翻轉組件耦合之一位元校正組件;及在將該翻轉位元傳輸至該位元翻轉組件之後將該等校正子位元傳輸 至該位元校正組件。
- 如請求項11之方法,其中與該翻轉位元相關聯之一第一錯誤率等於或大於與該複數個資料位元相關聯之一第二錯誤率。
- 一種用於操作位元翻轉之設備,其包括:一資料組件,其經組態以處理複數個資料位元;一控制組件,其經組態以處理包括指示該複數個資料位元是否處於一經反轉狀態中之複數個反轉位元之複數個控制位元,其中該複數個反轉位元之各者具有一第一值或一第二值之一者;一錯誤識別組件,其與該資料組件及該控制組件耦合,該錯誤識別組件經組態以識別該複數個資料位元中之錯誤且執行該複數個資料位元之一錯誤校正以獲得複數個經錯誤校正資料位元;一翻轉位元產生器,其經組態以基於大多數該複數個反轉位元是否指示該複數個經錯誤校正資料位元處於該經反轉狀態中而判定該複數個經錯誤校正資料位元是否處於該經反轉狀態中;及一位元翻轉組件,其經組態以至少部分基於該翻轉位元而翻轉該複數個經錯誤校正資料位元。
- 如請求項15之設備,其中該錯誤識別組件及該翻轉位元產生器彼此獨立地操作,且其中該複數個控制位元包括錯誤校正位元及冗餘位元。
- 如請求項15之設備,其中該翻轉位元產生器包含於該控制組件內且 經組態以:至少部分基於該大多數該複數個經錯誤校正資料位元是否處於該經反轉狀態中而產生一翻轉位元,及將該翻轉位元傳輸至該資料組件。
- 如請求項17之設備,其中該資料組件包括該位元翻轉組件。
- 如請求項17之設備,其中該錯誤識別組件經組態以至少部分基於該複數個資料位元中識別之該等錯誤而將校正子位元傳輸至該資料組件,且其中該翻轉位元產生器經組態以在將該等校正子位元傳輸至該資料組件之前或之時將該翻轉位元傳輸至該資料組件。
- 如請求項15之設備,其中該翻轉位元產生器經組態以獨立於該錯誤識別組件之一輸出而判定該複數個資料位元是否處於該經反轉狀態中。
- 如請求項15之設備,其進一步包括:一記憶體陣列,其包括該資料組件、該控制組件及記憶體區段,各記憶體區段包括碼字;一或多個錯誤識別組件,其等經組態以針對一記憶體區段中之各碼字識別該複數個資料位元中之錯誤,其中該一或多個錯誤識別組件包括該錯誤識別組件;及一或多個翻轉位元產生器,其等經組態以針對該記憶體區段中之各碼字判定該複數個資料位元是否處於該經反轉狀態中,其中該一或多個翻 轉位元產生器包括該翻轉位元產生器,且其中該一或多個錯誤識別組件及該一或多個翻轉位元產生器彼此獨立操作。
- 一種用於操作位元翻轉之設備,其包括:一記憶體陣列,其包括經組態以儲存複數個資料位元之第一記憶體胞及經組態以儲存包括複數個反轉位元之複數個控制位元之第二記憶體胞;一修復組件,其與該記憶體陣列耦合,該修復組件經組態以替換該複數個資料位元之一子集及該複數個控制位元之一子集;一錯誤識別組件,其與該修復組件之一輸出耦合,該錯誤識別組件經組態以:在替換該複數個資料位元之該子集之後識別該複數個資料位元中之錯誤;及執行該複數個資料位元之一錯誤校正以獲得複數個經錯誤校正資料位元;一表決組件,其與該修復組件之該輸出耦合,該表決組件經組態以在藉由該錯誤識別組件識別該複數個資料位元中之錯誤的同時判定大多數反轉位元是否指示該複數個資料位元處於一經反轉狀態中;一翻轉位元產生器,其與該表決組件耦合,該翻轉位元產生器經組態以至少部分基於指示該複數個資料位元處於該經反轉狀態中之該表決組件而產生一翻轉位元;及一位元翻轉組件,其與該錯誤識別組件及該翻轉位元產生器耦合,該位元翻轉組件經組態以自該錯誤識別組件接收該複數個經錯誤校正資料 位元及自該翻轉位元產生器接收該翻轉位元,且至少部分基於該翻轉位元之一值而翻轉該複數個經錯誤校正資料位元。
- 如請求項22之設備,其中該表決組件與該錯誤識別組件電隔離。
- 如請求項22之設備,該修復組件包括:一第一多工器,其經組態以替換該複數個資料位元之該子集;及一第二多工器,其經組態以替換該複數個控制位元之該子集。
- 如請求項24之設備,其進一步包括:一位元校正組件,其與該第一多工器及該錯誤識別組件之一輸出耦合,該位元校正組件經組態以校正該複數個資料位元中之該等錯誤。
- 一種用於操作位元翻轉之設備,其包括:一錯誤識別組件,其經組態以執行包括複數個資料位元及複數個反轉位元之一碼字之一錯誤校正以獲得複數個經錯誤校正資料位元,該複數個反轉位元指示該複數個資料位元是否處於一經反轉狀態中,其中該複數個反轉位元之各者具有一第一值或一第二值之一者;及一翻轉位元產生器,其與該錯誤識別組件耦合,該翻轉位元產生器經組態以至少部分基於由具有該第一值之該複數個反轉位元之一量而產生一翻轉位元;及一位元翻轉組件,其與該翻轉位元產生器耦合,該位元翻轉組件經組態以自該錯誤識別組件接收該複數個經錯誤校正資料位元及自該翻轉位 元產生器接收該翻轉位元且至少部分基於該翻轉位元之一值而翻轉該複數個經錯誤校正資料位元。
- 如請求項26之設備,其中該翻轉位元產生器包括一表決組件,該表決組件經組態以判定大多數該複數個反轉位元是否指示該複數個資料位元處於該經反轉狀態中,且其中該翻轉位元係至少部分基於該判定而產生。
- 如請求項26之設備,其進一步包括:一位元校正組件,其與該錯誤識別組件及該翻轉位元產生器耦合,該位元校正組件經組態以校正該複數個資料位元中之錯誤,其中該錯誤識別組件進一步經組態以:產生該複數個資料位元之校正子位元,及將該等校正子位元傳輸至該位元校正組件,該位元校正組件經組態以至少部分基於該等校正子位元而校正該複數個資料位元中之該等錯誤。
- 如請求項28之設備,其中該翻轉位元產生器經組態以在將該等校正子位元傳輸至該位元校正組件之前或之時將該翻轉位元傳輸至該位元翻轉組件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/104,470 | 2018-08-17 | ||
US16/104,470 US10802909B2 (en) | 2018-08-17 | 2018-08-17 | Enhanced bit flipping scheme |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202014891A TW202014891A (zh) | 2020-04-16 |
TWI709035B true TWI709035B (zh) | 2020-11-01 |
Family
ID=69523562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108125170A TWI709035B (zh) | 2018-08-17 | 2019-07-17 | 用於操作位元翻轉之方法及設備 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10802909B2 (zh) |
EP (1) | EP3837607A4 (zh) |
JP (1) | JP7053948B2 (zh) |
KR (1) | KR102270100B1 (zh) |
CN (1) | CN112543921B (zh) |
TW (1) | TWI709035B (zh) |
WO (1) | WO2020036752A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7096070B2 (ja) * | 2018-05-29 | 2022-07-05 | ラピスセミコンダクタ株式会社 | 多数決処理装置、半導体記憶装置及び情報データの多数決方法 |
US10802909B2 (en) | 2018-08-17 | 2020-10-13 | Micron Technology, Inc. | Enhanced bit flipping scheme |
US10951232B2 (en) | 2018-11-26 | 2021-03-16 | Micron Technology, Inc. | Error correction bit flipping scheme |
CN113380303B (zh) * | 2020-03-10 | 2024-06-11 | 华邦电子股份有限公司 | 内存存储装置及数据访问方法 |
US11494264B2 (en) * | 2020-07-28 | 2022-11-08 | Micron Technology, Inc. | Generating a protected and balanced codeword |
US11567831B2 (en) * | 2020-07-28 | 2023-01-31 | Micron Technology, Inc. | Generating a protected and balanced codeword |
US11237906B1 (en) | 2020-07-28 | 2022-02-01 | Micron Technology, Inc. | Generating a balanced codeword protected by an error correction code |
TWI737495B (zh) * | 2020-09-17 | 2021-08-21 | 大陸商珠海南北極科技有限公司 | 記憶體裝置的控制方法 |
WO2022185090A1 (en) * | 2021-03-02 | 2022-09-09 | Micron Technology, Inc. | Memory device having an improved ecc architecture |
CN115878365A (zh) * | 2021-09-27 | 2023-03-31 | 华为技术有限公司 | 内存纠错方法、装置及相关设备 |
US11860733B2 (en) * | 2021-12-08 | 2024-01-02 | Western Digital Technologies, Inc. | Memory matched low density parity check coding schemes |
CN117054750A (zh) * | 2022-05-05 | 2023-11-14 | 华为技术有限公司 | 一种采样装置、相关设备和控制方法 |
US11934267B1 (en) | 2022-08-28 | 2024-03-19 | Micron Technology, Inc. | Data inversion and unidirectional error detection |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030066005A1 (en) * | 1999-09-30 | 2003-04-03 | Iglesia Erik A. De La | Bus power savings using selective inversion in an ECC system |
US6563745B1 (en) * | 2001-12-14 | 2003-05-13 | Matrix Semiconductor, Inc. | Memory device and method for dynamic bit inversion |
US8656257B1 (en) * | 2012-01-11 | 2014-02-18 | Pmc-Sierra Us, Inc. | Nonvolatile memory controller with concatenated error correction codes |
TW201730765A (zh) * | 2016-02-26 | 2017-09-01 | 愛思開海力士有限公司 | 錯誤校正電路和錯誤校正方法 |
TW201802678A (zh) * | 2016-04-15 | 2018-01-16 | 美光科技公司 | 監控記憶體中執行之錯誤校正操作 |
TW201812581A (zh) * | 2016-09-30 | 2018-04-01 | 旺宏電子股份有限公司 | 用以尋找一碼字中錯誤位置的方法及電子裝置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644583A (en) * | 1992-09-22 | 1997-07-01 | International Business Machines Corporation | Soft error correction technique and system for odd weight row error correction codes |
US6292868B1 (en) * | 1996-10-15 | 2001-09-18 | Micron Technology, Inc. | System and method for encoding data to reduce power and time required to write the encoded data to a flash memory |
WO2001097387A1 (en) * | 2000-06-16 | 2001-12-20 | Aware, Inc. | Systems and methods for ldpc coded modulation |
US6650158B2 (en) * | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US6996660B1 (en) * | 2001-04-09 | 2006-02-07 | Matrix Semiconductor, Inc. | Memory device and method for storing and reading data in a write-once memory array |
US7502986B2 (en) | 2005-02-09 | 2009-03-10 | International Business Machines Corporation | Method and apparatus for collecting failure information on error correction code (ECC) protected data |
US7102544B1 (en) * | 2005-05-31 | 2006-09-05 | Altera Corporation | Method and system for improving memory interface data integrity in PLDs |
US8006166B2 (en) * | 2007-06-12 | 2011-08-23 | Micron Technology, Inc. | Programming error correction code into a solid state memory device with varying bits per cell |
US7925936B1 (en) * | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8064269B2 (en) * | 2008-05-02 | 2011-11-22 | Micron Technology, Inc. | Apparatus and methods having majority bit detection |
CN101673245B (zh) * | 2008-09-09 | 2016-02-03 | 株式会社东芝 | 包括存储器管理装置的信息处理装置和存储器管理方法 |
JP5303325B2 (ja) * | 2009-03-18 | 2013-10-02 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US9112536B2 (en) | 2011-01-31 | 2015-08-18 | Everspin Technologies, Inc. | Method of reading and writing to a spin torque magnetic random access memory with error correcting code |
US9136873B2 (en) * | 2013-03-11 | 2015-09-15 | Intel Corporation | Reduced uncorrectable memory errors |
US10073731B2 (en) * | 2013-11-27 | 2018-09-11 | Intel Corporation | Error correction in memory |
US9494647B1 (en) * | 2013-12-31 | 2016-11-15 | Gsi Technology, Inc. | Systems and methods involving data inversion devices, circuitry, schemes and/or related aspects |
US9319073B2 (en) * | 2014-02-11 | 2016-04-19 | Seagate Technology Llc | Mitigation of write errors in multi-level cell flash memory through adaptive error correction code decoding |
US20150261603A1 (en) * | 2014-03-12 | 2015-09-17 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device and control method thereof |
US9507662B2 (en) * | 2014-09-24 | 2016-11-29 | Everspin Technologies, Inc. | Expanded error correction codes |
DE102015113414B4 (de) * | 2015-08-14 | 2023-02-23 | Infineon Technologies Ag | Fehlerkorrektur unter Verwendung von WOM-Codes |
US9715919B1 (en) * | 2016-06-21 | 2017-07-25 | Micron Technology, Inc. | Array data bit inversion |
KR20180013212A (ko) | 2016-07-29 | 2018-02-07 | 에스케이하이닉스 주식회사 | 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치 |
US10802909B2 (en) * | 2018-08-17 | 2020-10-13 | Micron Technology, Inc. | Enhanced bit flipping scheme |
-
2018
- 2018-08-17 US US16/104,470 patent/US10802909B2/en active Active
-
2019
- 2019-07-17 TW TW108125170A patent/TWI709035B/zh active
- 2019-08-02 CN CN201980052287.3A patent/CN112543921B/zh active Active
- 2019-08-02 EP EP19850112.4A patent/EP3837607A4/en active Pending
- 2019-08-02 JP JP2021506943A patent/JP7053948B2/ja active Active
- 2019-08-02 KR KR1020217007264A patent/KR102270100B1/ko active IP Right Grant
- 2019-08-02 WO PCT/US2019/044874 patent/WO2020036752A1/en unknown
-
2020
- 2020-09-09 US US17/016,004 patent/US11256566B2/en active Active
-
2022
- 2022-02-17 US US17/674,608 patent/US11775383B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030066005A1 (en) * | 1999-09-30 | 2003-04-03 | Iglesia Erik A. De La | Bus power savings using selective inversion in an ECC system |
US6563745B1 (en) * | 2001-12-14 | 2003-05-13 | Matrix Semiconductor, Inc. | Memory device and method for dynamic bit inversion |
US8656257B1 (en) * | 2012-01-11 | 2014-02-18 | Pmc-Sierra Us, Inc. | Nonvolatile memory controller with concatenated error correction codes |
TW201730765A (zh) * | 2016-02-26 | 2017-09-01 | 愛思開海力士有限公司 | 錯誤校正電路和錯誤校正方法 |
TW201802678A (zh) * | 2016-04-15 | 2018-01-16 | 美光科技公司 | 監控記憶體中執行之錯誤校正操作 |
TW201812581A (zh) * | 2016-09-30 | 2018-04-01 | 旺宏電子股份有限公司 | 用以尋找一碼字中錯誤位置的方法及電子裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20200409785A1 (en) | 2020-12-31 |
EP3837607A4 (en) | 2022-04-20 |
KR20210034088A (ko) | 2021-03-29 |
US10802909B2 (en) | 2020-10-13 |
US11256566B2 (en) | 2022-02-22 |
EP3837607A1 (en) | 2021-06-23 |
TW202014891A (zh) | 2020-04-16 |
JP7053948B2 (ja) | 2022-04-13 |
JP2021524646A (ja) | 2021-09-13 |
KR102270100B1 (ko) | 2021-06-29 |
US20200059252A1 (en) | 2020-02-20 |
US20220245027A1 (en) | 2022-08-04 |
CN112543921B (zh) | 2022-06-21 |
CN112543921A (zh) | 2021-03-23 |
US11775383B2 (en) | 2023-10-03 |
WO2020036752A1 (en) | 2020-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI709035B (zh) | 用於操作位元翻轉之方法及設備 | |
US11799496B2 (en) | Error correction bit flipping scheme | |
US11016843B2 (en) | Direct-input redundancy scheme with adaptive syndrome decoder | |
US11740964B2 (en) | Direct-input redundancy scheme with dedicated error correction code circuit | |
US20240176518A1 (en) | Parameter table protection for a memory system | |
US11716096B2 (en) | Memory error correction based on layered error detection |