TWI856413B - 錯誤校正電路、記憶體系統以及錯誤校正方法 - Google Patents
錯誤校正電路、記憶體系統以及錯誤校正方法 Download PDFInfo
- Publication number
- TWI856413B TWI856413B TW111142683A TW111142683A TWI856413B TW I856413 B TWI856413 B TW I856413B TW 111142683 A TW111142683 A TW 111142683A TW 111142683 A TW111142683 A TW 111142683A TW I856413 B TWI856413 B TW I856413B
- Authority
- TW
- Taiwan
- Prior art keywords
- checksum
- matrix
- estimated
- parity
- sub
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- 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
- H03M13/13—Linear codes
- H03M13/17—Burst error correction, e.g. error trapping, Fire codes
-
- 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
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
- H03M13/11—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 using multiple parity 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/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
- H03M13/13—Linear codes
-
- 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/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本發明提供一種錯誤校正電路、一種記憶體系統以及一種
錯誤校正方法。錯誤校正電路包含:錯誤校正碼(ECC)編碼器,組態成基於同位產生矩陣產生對應於主資料的同位資料,且將包含主資料及同位資料的碼字輸出至多個記憶體裝置;以及ECC解碼器,組態成:自多個記憶體裝置讀取碼字;基於同位核對矩陣產生對應於碼字的校驗子;基於校驗子偵測錯誤型樣;使用包含於同位核對矩陣中的多個部分子矩陣來產生對應於錯誤型樣的多個估計校驗子;以及基於校驗子與多個估計校驗子之間的比較結果校正包含於所讀取的碼字中的錯誤。
Description
本揭露內容是關於一種記憶體裝置,且更特定言之,是關於一種錯誤校正電路及一種記憶體系統。
本申請案基於且主張在韓國智慧財產局於2021年11月10日申請的韓國專利申請案第10-2021-0154257號及於2022年5月13日申請的韓國專利申請案第10-2022-0059102號的優先權,所述申請案的揭露內容以全文引用的方式併入本文中。
半導體記憶體裝置可為藉由使用諸如矽(Si)、鍺(Ge)、砷化鎵(GaAs)、磷化銦(InP)等半導體來實現的記憶體裝置。半導體記憶體裝置可分類為揮發性記憶體裝置及非揮發性記憶體裝置。
揮發性記憶體裝置可為在電源阻斷時丟失儲存資料的記憶體裝置,且非揮發性記憶體裝置可為即使在電源阻斷時仍保留儲存資料的記憶體裝置。一種類型的非揮發性記憶體裝置(動態隨機存取記憶體(dynamic random-access memory;DRAM))具有高
存取率,且因此,廣泛用作計算系統的操作記憶體、緩衝記憶體、主記憶體等。最近,隨著計算技術發展,對作為計算系統的操作記憶體的DRAM的需求增加。
為了實現高容量,可提供呈記憶體模組形式的多個DRAM。因此,需要有效地校正及管理可在記憶體模組中發生的錯誤的方法。
提供一種用於藉由使用若干同位位元來校正發生在多個記憶體裝置中的錯誤的錯誤校正電路。
額外態樣將部分地闡述於以下描述中且部分地將自描述顯而易見,或可由實踐所呈現實施例來獲悉。
根據本揭露內容的態樣,一種錯誤校正電路包含:錯誤校正碼(error correction code;ECC)編碼器,組態成基於同位產生矩陣產生對應於主資料的同位資料,且將包含主資料及同位資料的碼字輸出至多個記憶體裝置;以及ECC解碼器,組態成:自多個記憶體裝置讀取碼字;基於同位核對矩陣產生對應於碼字的校驗子;基於校驗子偵測錯誤型樣;使用包含於同位核對矩陣中的多個部分子矩陣來產生對應於錯誤型樣的多個估計校驗子;以及基於校驗子與多個估計校驗子之間的比較結果校正包含於所讀取的碼字中的錯誤。
根據本揭露內容的態樣,一種記憶體系統包含:記憶體模組,包括多個記憶體裝置,所述多個記憶體裝置組態成儲存包含主資料集及對應於主資料集的同位資料集的碼字;以及記憶體控制
器,組態成:使用具有視作為校正目標的錯誤的位置而定的值的同位核對矩陣來產生對應於自記憶體模組接收到的碼字的校驗子;基於校驗子偵測錯誤型樣;使用包含於同位核對矩陣中的多個部分子矩陣來產生對應於錯誤型樣的多個估計校驗子;以及在讀取操作期間,基於校驗子與多個估計校驗子之間的比較結果校正包含於碼字中的錯誤。
根據本揭露內容的態樣,一種錯誤校正方法包含:使用同位核對矩陣來產生對應於碼字的校驗子;基於校驗子偵測錯誤型樣;使用包含於同位核對矩陣中且對應於N個記憶體裝置的多個部分子矩陣來產生對應於錯誤型樣的多個估計校驗子,其中N為大於或等於2的自然數;比較校驗子與多個估計校驗子;基於比較結果選擇N個記憶體裝置當中的目標記憶體裝置;以及基於錯誤型樣校正由目標記憶體裝置輸出的碼字的一部分。
根據本揭露內容的態樣,一種錯誤校正電路包含:錯誤校正碼(ECC)編碼器,組態成:基於同位產生矩陣產生對應於主資料集的同位資料集;以及基於同位資料集及主資料集產生寫入碼字,且將寫入碼字輸出至多個記憶體裝置;以及ECC解碼器,組態成:自多個記憶體裝置接收讀取碼字,其中讀取碼字對應於寫入碼字;基於同位核對矩陣產生對應於讀取碼字的校驗子;使用包含於同位核對矩陣中的多個部分子矩陣來產生多個估計校驗子;執行校驗子與多個估計校驗子之間的比較,其中多個估計校驗子中的各估計校驗子與多個記憶體裝置當中的對應記憶體裝置相關;以及基於比較結果校正包含於讀取碼字中的錯誤。
20、800:記憶體系統
80、840:匯流排
100、810、911:記憶體控制器
110:中央處理單元
120:主機介面
125:資料暫存器
130、815:ECC電路
140:ECC編碼器
150:ECC解碼器
151:校驗子產生器
152:錯誤型樣偵測器
153:估計校驗子產生器
154:比較器
155:計數器
156:資料校正器
161~16N:估計校驗子產生器
171:第一校驗子產生器
172:第二校驗子產生器
173:第三校驗子產生器
180:記憶體
190:命令緩衝器
195、220:位址緩衝器
200:記憶體晶片
200a~200k:資料晶片/記憶體裝置/記憶體晶片
200pa:第一同位晶片/記憶體裝置
200pb:第二同位晶片/記憶體裝置
210:控制邏輯電路
211:命令解碼器
212:模式暫存器
230:組控制邏輯
240:列位址多工器
245:更新計數器
250:行位址鎖存器
260:列解碼器
260a~260d:組列解碼器
270:行解碼器
270a~270d:組行解碼器
285:感測放大器
285a~285d:組感測放大器
290:輸入/輸出閘控電路
295:資料I/O緩衝器
300:記憶體胞元陣列
300a~300d:組陣列
500、820、830、950、MM:記憶體模組
501:電路基板
503:第一邊緣部分
505:第二邊緣部分
560、570:模組電阻器
561、563、571、573:命令/位址傳輸線
585:電源管理積體電路
590:緩衝器晶片
595:序列存在偵測晶片
601a~601e、602a~602e、603a~603d、604a~604d、951~95q:半
導體記憶體裝置
811:傳輸器
813:接收器
900:行動系統
910:應用程式處理器
920:連接性模組
930:使用者介面
940:非揮發性記憶體裝置
961:控制裝置
970:電源
ADDR:位址
BANK_ADDR:組位址
BTL1~BTL2n:位元線
C_SDQ:校正的主資料集
CMD:命令
COL_ADDR:行位址
CPM1~CPMN:行部分矩陣
D1:第一方向
D2:第二方向
DI:裝置資訊
DQ_BL1~DQ_BL8:資料叢發
DQ1:第一DQ引腳
DQ2:第二DQ引腳
DQ3:第三DQ引腳
DQ4:第四DQ引腳
EP:錯誤型樣
e1:第一錯誤
e2:第二錯誤
eSDR:估計校驗子
eSDR1.1、eSDRi.1、eSDRN.1:第一估計校驗子
eSDR1.2、eSDRi.2、eSDRN.2:第二估計校驗子
eSDR1.3、eSDRi.3、eSDRN.3:第三估計校驗子
HD:目標子矩陣
HS11:第一同位核對子矩陣
HS12:第二同位核對子矩陣
HS13:第三同位核對子矩陣
HSM1.1~HSMk.2、HSMi.1、HSMi.2:部分子矩陣
ISM:單位子矩陣
MC:記憶體胞元
MCA:映射的行位址
MDT:元資料
PCM:同位核對矩陣
PRTL:第一同位資料
PRTM:第二同位資料
PRTM1:第一子同位資料
PRTM2:第二子同位資料
RA、ROW_ADDR:列位址
REF_ADDR:更新列位址
REQ:請求
RK1、RK2、RK3、RK4:記憶體列
Rtt:電阻器
Rtt/2:末端電阻
S11、S12...SN1、SN2、Sk1、Sk2:符號
S1401、S1402、S1403、S1404、S1405、S1406、S1407、S1408、S1409、S1410:操作
SCW、SCW1、SCW2、C_SCW2:碼字集
SDQ:主資料
SDQ1~SDQk:資料集
SDR:校驗子
SDR1:第一校驗子
SDR2:第一校驗子
SDR3:第三校驗子
VDD、VDDQ:電源電壓
VIN:輸入電壓
Vtt:末端電壓
WL1~WL2m:字元線
ZSM:零子矩陣
本揭露內容的某些實施例的以上及其他態樣、特徵以及優勢將自結合附圖進行的以下描述更顯而易見,其中:
圖1為根據實施例的記憶體系統的方塊圖。
圖2為根據實施例的圖1的記憶體系統中的記憶體控制器的方塊圖。
圖3繪示根據實施例的對應於提供至圖1的記憶體系統中的資料晶片及同位晶片中的各者或自資料晶片及同位晶片中的各者輸出的多個叢發長度的資料集。
圖4為根據實施例的圖1中的資料晶片中的一者的組件的方塊圖。
圖5繪示根據實施例的圖4的資料晶片的第一組陣列。
圖6繪示根據實施例的儲存於圖4的錯誤校正碼(ECC)電路的記憶體中的同位核對矩陣。
圖7繪示根據實施例的圖6中的零子矩陣。
圖8繪示根據實施例的圖6中的單位子矩陣。
圖9為根據實施例的用於描述計算估計校驗子的方法的圖。
圖10為根據實施例的對應於一個記憶體晶片的部分子矩陣之間的關係的圖。
圖11為根據實施例的用於描述產生校驗子的方法的圖。
圖12為根據實施例的ECC解碼器的方塊圖。
圖13為根據實施例的校驗子產生器的方塊圖。
圖14為根據實施例的ECC電路的ECC解碼方法的流程圖。
圖15為根據實施例的可應用於記憶體系統的記憶體模組的
圖。
圖16為根據實施例的具有四列記憶體模組的記憶體系統的圖。
圖17為根據實施例的記憶體模組應用於行動系統900的實例的方塊圖。
在下文中,參考隨附圖式描述各種實施例。
按照本領域的慣例,根據功能區塊、單元及/或模組在圖式中描述及繪示實施例。所屬領域中具有通常知識者將瞭解,此等區塊、單元及/或模組由電子(或光學)電路(諸如,邏輯電路、離散組件、微處理器、硬佈線電路、記憶體元件、佈線連接以及類似者)實體地實施,所述電子(或光學)電路可使用基於半導體的製造技術或其他製造技術而形成。在區塊、單元及/或模組由微處理器或類似者實施的情況下,所述區塊、單元及/或模組可使用軟體(例如,微碼)來程式化以執行本文中所論述的各種功能且可視情況由韌體及/或軟體驅動。在實施例中,各區塊、單元及/或模組可由專用硬體來實施或實施為執行一些功能的專用硬體及執行其他功能的處理器(例如,一或多個程式化微處理器及相關電路)的組合。此外,在不脫離本發明範疇的情況下,實施例的各區塊、單元及/或模組可實體地分離成兩個或多於兩個互動及離散區塊、單元及/或模組。同樣,在不脫離本發明範疇的情況下,實施例的區塊、單元及/或模組可實體地組合成更複雜區塊、單元及/或模組。
圖1為根據實施例的記憶體系統20的方塊圖。
參考圖1,記憶體系統20可包含記憶體控制器100及記憶體模組MM。記憶體模組MM可包含多個記憶體晶片。多個記憶體晶片200可包含多個資料晶片200a至資料晶片200k、第一同位晶片200pa以及第二同位晶片200pb。多個記憶體晶片200中的各者可稱為半導體記憶體裝置。
記憶體控制器100一般可控制記憶體系統20的操作且控制外部主機與記憶體(或記憶體晶片200)之間的一般資料交換操作。舉例而言,回應於主機的請求,記憶體控制器100可控制記憶體晶片200寫入資料或讀取資料。
此外,記憶體控制器100可藉由施加用於控制記憶體晶片200的操作命令來控制記憶體晶片200的操作。根據實施例,記憶體晶片200中的各者可為包含揮發性記憶體胞元的動態隨機存取記憶體(dynamic random access memory;DRAM)。
根據實施例,資料晶片200a至資料晶片200k的數目可為16,但實施例不限於此。根據實施例,資料晶片200a至資料晶片200k中的各者可稱為資料記憶體,且第一同位晶片200pa及第二同位晶片200pb中的各者可稱為錯誤校正碼(ECC)記憶體或冗餘記憶體。
記憶體控制器100可將命令CMD及位址ADDR施加至記憶體模組MM,且可與記憶體模組MM交換碼字集SCW。
記憶體控制器100可包含ECC電路130,且ECC電路130可藉由使用同位產生矩陣對主資料集及元資料執行ECC編碼來產生同位資料集,且可在寫入操作中將包含主資料集、元資料以及同位資料集的碼字集SCW提供至記憶體模組MM。主資料集可
儲存於資料晶片200a至資料晶片200k中,且元資料及同位資料集的一部分可儲存於第一同位晶片200pa中,且同位資料集的另一部分可儲存於第二同位晶片200pb中。
根據一些實施例,由記憶體晶片200中的各者輸出的p個(其中p為正整數)位元可稱為符號。舉例而言,p可為16。ECC電路130可自記憶體晶片200中的各者讀取第一符號及第二符號,且可相對於第一符號及第二符號校正錯誤。第一符號可表示首先由記憶體晶片200輸出的p個位元,且第二符號可表示稍後由記憶體晶片200輸出的p個位元。由記憶體晶片200輸出的第一符號及第二符號可包含於碼字中。
ECC電路130可藉由使用同位產生矩陣相對於碼字產生校驗子。ECC電路130可基於校驗子識別包含錯誤位元的符號。亦即,ECC電路130可識別錯誤位元產生在第一符號還是第二符號中。此外,ECC電路130可基於校驗子識別產生錯誤的符號的錯誤型樣。
然而,當同位資料集的數目小於包含於主資料集及元資料集中的位元的數目時,可能難以基於校驗子識別輸出錯誤的記憶體晶片。亦即,ECC電路130可能無法僅基於校驗子識別哪個記憶體晶片輸出產生錯誤的符號。
根據實施例的ECC電路130可藉由使用包含於同位核對矩陣中的多個同位核對子矩陣來相對於錯誤型樣產生估計校驗子。多個同位核對子矩陣可分別對應於由記憶體晶片200輸出的符號。因此,多個估計校驗子可對應於記憶體晶片200。舉例而言,各估計校驗子可分別對應於記憶體晶片。
ECC電路130可比較校驗子與估計校驗子,且可基於比較結果識別輸出錯誤型樣的記憶體晶片。ECC電路130可基於由所識別記憶體晶片輸出的符號及錯誤型樣校正碼字的錯誤。
圖2為根據實施例的圖1的記憶體系統20中的記憶體控制器100的方塊圖。
參考圖2,記憶體控制器100可包含中央處理單元(central processing unit;CPU)110、主機介面120、資料暫存器125、ECC電路130、命令緩衝器190以及位址緩衝器195。ECC電路130可包含ECC編碼器140、ECC解碼器150以及記憶體180。
主機介面120可接收自外部主機提供的請求REQ及主資料SDQ,產生與主資料SDQ相關的元資料MDT,將主資料SDQ提供至資料暫存器125,以及將元資料MDT提供至ECC編碼器140。資料暫存器125可將主資料SDQ提供至ECC電路130。
ECC編碼器140可藉由使用同位產生矩陣對主資料SDQ及元資料MDT執行ECC編碼而輸出碼字集SCW1。
ECC解碼器150可藉由使用同位核對矩陣相對於碼字集SCW2將解碼狀態旗標輸出至CPU 110,且可將主資料集SDQ或校正的主資料集C_SDQ提供至CPU 110。ECC解碼器150可藉由使用同位核對矩陣對碼字集SCW2執行ECC解碼來產生校驗子。ECC解碼器150可基於校驗子識別包含於碼字集SCW2中的錯誤型樣。
ECC解碼器150可藉由使用包含於同位核對矩陣中的多個同位核對子矩陣相對於錯誤型樣產生多個估計校驗子。多個估計校驗子可分別對應於多個記憶體晶片。
ECC解碼器150可比較校驗子與多個估計校驗子,且校正自對應於與校驗子相同的估計校驗子的記憶體晶片接收到的符號。亦即,基於校驗子及估計校驗子,ECC解碼器150可以符號為單位校正包含於碼字集SCW2中的主資料集的可校正錯誤。
記憶體180可儲存同位產生矩陣及同位核對矩陣。
CPU 110可接收主資料集SDQ或校正的主資料集C_SDQ且控制ECC電路130、命令緩衝器190以及位址緩衝器195。命令緩衝器190可根據CPU 110的控制儲存對應於請求REQ的命令CMD且將命令CMD傳輸至記憶體模組MM。
位址緩衝器195可根據CPU 110的控制儲存位址ADDR且將位址ADDR傳輸至記憶體模組MM。
圖3繪示對應於提供至圖1的記憶體系統20中的資料晶片及同位晶片中的各者或自資料晶片及同位晶片中的各者輸出的多個叢發長度的資料集。
參考圖3,資料晶片200a至資料晶片200k以及同位晶片200pa及同位晶片200pb中的各者可執行叢發操作。
此處,叢發操作可指資料晶片200a至資料晶片200k以及同位晶片200pa及同位晶片200pb藉由自自記憶體控制器100接收到的最初位址依序減少或增加位址而寫入或讀取大量資料的操作。叢發操作的基本單位可稱為叢發長度BL。
參考圖3,資料集SDQ1至資料集SDQk可分別輸入至資料晶片200a至資料晶片200k或自資料晶片200a至資料晶片200k輸出。資料集SDQ1至資料集SDQk中的各者可包含對應於多個叢發長度的資料叢發DQ_BL1至資料叢發DQ_BL8。資料集SDQ1
至資料集SDQk可對應於主資料集SDQ。在圖3中,假定叢發長度BL為4。亦即,經由第一DQ引腳DQ1至第四DQ引腳DQ4接收到的4個位元可為資料叢發。
參考圖3,資料集SDQ1至資料集SDQk中的各者可包含2個符號。符號可包含4個資料叢發且可包含16個位元。自各資料首先晶片輸出的符號可稱為第一符號,且後續符號可稱為第二符號。舉例而言,資料集SDQ1可包含第一符號S11及第二符號S12,且資料集SDQk可包含第一符號Sk1及第二符號Sk2。
儘管叢發操作由資料晶片200a至資料晶片200k中的各者執行,但對應於多個叢發長度的元資料MDT及第一同位資料PRTL可輸入至第一同位晶片200pa或自第一同位晶片200pa輸出,且對應於多個叢發長度的第二同位資料PRTM可輸入至第二同位晶片200pb/自第二同位晶片200pb輸出。第二同位資料PRTM可包含第一子同位資料PRTM1及第二子同位資料PRTM2。
第一同位資料PRTL可為錯誤定位器同位資料且可與包含於主資料集SDQ中的錯誤位元的位置相關,且第二同位資料PRTM可為錯誤大小同位資料且可與包含於主資料集SDQ中的錯誤位元的大小(或例如,數目)相關。
圖4為圖1的資料晶片200a中的一者的組件的方塊圖。在實施例中,圖4的方塊圖亦可對應於其他記憶體晶片200的一或多個組件。
參考圖4,資料晶片200a可包含控制邏輯電路210、位址緩衝器220、組控制邏輯230、列位址多工器(row address multiplexer;RX MUX)240、行位址(column address;CA)鎖存
器250、列解碼器260、行解碼器270、記憶體胞元陣列300、感測放大器285、輸入及輸出(input and output;I/O)閘控電路290、資料I/O緩衝器295以及更新計數器245。
記憶體胞元陣列300可包含第一組陣列300a至第四組陣列300d。此外,列解碼器260可包含分別連接至第一組陣列300a至第四組陣列300d的第一組列解碼器260a至第四組列解碼器260d,行解碼器270可包含分別連接至第一組陣列300a至第四組陣列300d的第一組行解碼器270a至第四組行解碼器270d,且感測放大器285可包含分別連接至第一組陣列300a至第四組陣列300d的第一組感測放大器285a至第四組感測放大器285d。
第一組陣列300a至第四組陣列300d、第一組感測放大器285a至第四組感測放大器285d、第一組行解碼器270a至第四組行解碼器270d以及第一組列解碼器260a至第四組列解碼器260d可分別形成第一組至第四組。第一組陣列300a至第四組陣列300d中的各者可包含形成於多個字元線及多個位元線彼此交叉的點處的多個字元線、多個位元線以及多個記憶體胞元。
資料晶片200a在圖4中繪示為包含四個組。然而,實施例不限於此,且根據實施例,資料晶片200a可包含任意數目個組。
位址緩衝器220可自記憶體控制器100接收包含組位址BANK_ADDR、列位址ROW_ADDR以及行位址COL_ADDR的位址ADDR。位址緩衝器220可將接收到的組位址BANK_ADDR提供至組控制邏輯230,將接收到的列位址ROW_ADDR提供至列位址多工器240且將接收到的行位址COL_ADDR提供至行位址鎖存器250。
組控制邏輯230可回應於組位址BANK_ADDR而產生組控制信號。回應於組控制信號,可激活第一組列解碼器260a至第四組列解碼器260d當中的組列解碼器(所述組列解碼器對應於組位址BANK_ADDR),且可激活第一組行解碼器270a至第四組行解碼器270d當中的組行解碼器(所述組行解碼器對應於組位址BANK_ADDR)。
列位址多工器240可自位址緩衝器220接收列位址ROW_ADDR且自更新計數器245接收更新列位址REF_ADDR。列位址多工器240可將列位址ROW_ADDR或更新列位址REF_ADDR選擇性地輸出為列位址RA。可將自列位址多工器240輸出的列位址RA施加至第一組列解碼器260a至第四組列解碼器260d中的各者。
第一組列解碼器260a至第四組列解碼器260d當中的組列解碼器(所述組列解碼器由組控制邏輯230激活)可解碼自列位址多工器240輸出的列位址RA且可激活對應於列位址RA的字元線。舉例而言,所激活組列解碼器可將字元線驅動電壓施加至對應於列位址RA的字元線。所激活組列解碼器可藉由使用電源電壓VDD來產生字元線驅動電壓且將字元線驅動電壓提供至對應字元線。
行位址鎖存器250可自位址緩衝器220接收行位址COL_ADDR,且可暫時儲存接收到的行位址COL_ADDR或映射的行位址MCA。此外,行位址鎖存器250可在叢發模式下逐漸或依序增加接收到的行位址COL_ADDR。行位址鎖存器250可將暫時儲存或逐漸或依序增加的行位址COL_ADDR施加至第一組行解
碼器270a至第四組行解碼器270d中的各者。
第一組行解碼器270a至第四組行解碼器270d當中的由組控制邏輯230激活的組行解碼器可經由I/O閘控電路290激活對應於組位址BANK_ADDR及行位址COL_ADDR的感測放大器。
I/O閘控電路290可包含除用於閘控輸入及輸出資料的電路外,亦包含輸入資料遮罩邏輯、用於儲存自第一組陣列300a至第四組陣列300d輸出的資料的讀取資料鎖存器以及用於將資料寫入至第一組陣列300a至第四組陣列300d的寫入驅動器。
自第一組陣列300a至第四組陣列300d當中的組陣列讀取的資料可由對應於組陣列的感測放大器感測且可儲存於讀取資料鎖存器中。
可經由資料I/O緩衝器295將儲存於讀取資料鎖存器中的資料提供至記憶體控制器100。可將待寫入於第一組陣列300a至第四組陣列300d當中的一個組陣列中的資料集SDQ1自記憶體控制器100提供至資料I/O緩衝器295。可將提供至資料I/O緩衝器295的資料集SDQ1提供至I/O閘控電路290。
控制邏輯電路210可控制資料晶片200a的操作。舉例而言,控制邏輯電路210可產生資料晶片200a的控制信號以執行寫入操作或讀取操作。控制邏輯電路210可包含組態成解碼自記憶體控制器100接收到的命令CMD的命令解碼器211以及組態成組態資料晶片200a的操作模式的模式暫存器212。
圖1的第一同位晶片200pa及第二同位晶片200pb中的各者可具有與資料晶片200a實質上相同的組態,例如圖4中所繪示的組態。第一同位晶片200pa及第二同位晶片200pb中的各者
可輸入及輸出對應同位資料。
圖5繪示根據實施例的圖4的資料晶片200a中的第一組陣列300a。
參考圖5,第一組陣列300a可包含多個字元線WL1至字元線WL2m(其中m為大於或等於2的整數)、多個位元線BTL1至位元線BTL2n(其中n為大於或等於2的整數)以及配置於多個字元線WL1至字元線WL2m與多個位元線BTL1至位元線BTL2n之間的交叉點處的多個記憶體胞元MC。各記憶體胞元MC可具有DRAM胞元結構。記憶體胞元MC連接的字元線WL可定義為第一組陣列300a的列,且記憶體胞元MC連接的位元線BL可定義為第一組陣列300a的行。
圖6繪示儲存於圖4的ECC電路中的記憶體中的同位核對矩陣PCM。
參考圖6,同位核對矩陣PCM可包含第一同位核對子矩陣HS11、第二同位核對子矩陣HS12以及第三同位核對子矩陣HS13。
第一同位核對子矩陣HS11可包含對應於資料晶片200a至資料晶片200k的部分子矩陣HSM1.1至部分子矩陣HSMk.2以及對應於第一同位晶片200pa及第二同位晶片200pb的兩個零子矩陣ZSM。部分子矩陣HSM1.1至部分子矩陣HSMk.2中的各者以及零子矩陣ZSM中的各者可具有p×p(其中p為大於或等於2的自然數)結構。舉例而言,p可為16。
部分子矩陣HSM1.1至部分子矩陣HSMk.2可包含利用自各記憶體晶片輸出的符號計算的兩個部分子矩陣。舉例而言,參
考圖3,當產生校驗子時,部分子矩陣HSM1.1及部分子矩陣HSM1.2可分別利用自資料晶片200a輸出的第一符號S11及第二符號S12計算,且部分子矩陣HSMk.1及部分子矩陣HSMk.2可分別利用自記憶體晶片200k輸出的第一符號Sk1及第二符號Sk2計算。
第二同位核對子矩陣HS12可包含具有p×p結構的單位子矩陣ISM及具有p×p結構的零子矩陣ZSM,單位子矩陣ISM及零子矩陣ZSM交替地重複,且第三同位核對子矩陣HS13可包含交替地重複的零子矩陣ZSM及單位子矩陣ISM。
同位核對矩陣PCM可包含行部分矩陣CPM1至行部分矩陣CPMN。行部分矩陣CPM1至行部分矩陣CPMN可分別對應於記憶體晶片200。N可指示記憶體晶片的數目。當產生估計校驗子時,行部分矩陣CPM1至行部分矩陣CPMk中的各者可利用基於校驗子偵測到的錯誤型樣計算。舉例而言,行部分矩陣CPM1可利用錯誤型樣計算以產生估計校驗子,且估計校驗子及校驗子可彼此比較以判定錯誤是否包含於資料晶片200a的資料集SDQ1中。
圖7繪示圖6的零子矩陣ZSM。
參考圖7,在零子矩陣ZSM中,所有p×p矩陣元素可為零,其可指低位準或『0』。
圖8繪示圖6的單位子矩陣ISM。
參考圖8,在單位子矩陣ISM中,p×p矩陣元素當中僅對角方向上的p個矩陣元素可為高位準『1』,且其他矩陣元素可為零。
圖9為用於描述計算估計校驗子eSDR的方法的圖。
參考圖9,可基於行部分矩陣CPMi與錯誤型樣EP之間的矩陣相乘來計算估計校驗子eSDR。可由基於同位核對矩陣與碼字之間的矩陣相乘計算的校驗子判定錯誤型樣EP。錯誤型樣EP可包含產生(或基於)在第一符號中的第一錯誤e1及產生(或基於)在第二符號中的第二錯誤e2。
估計校驗子eSDR可包含第一估計校驗子eSDRi.1、第二估計校驗子eSDRi.2以及第三估計校驗子eSDRi.3。參考圖5及圖8,第一估計校驗子eSDRi.1可由第一同位核對子矩陣HS11與行部分矩陣CPMi之間的交疊部分與錯誤型樣EP之間的矩陣相乘來計算。詳言之,第一估計校驗子eSDRi.1可由部分子矩陣HSMi.1與第一錯誤e1之間的矩陣相乘及部分子矩陣HSMi.2與第二錯誤e2之間的矩陣相乘來計算。第二估計校驗子eSDRi.2可由第二同位核對子矩陣HS12與行部分矩陣CPMi之間的交疊部分與錯誤型樣EP之間的矩陣相乘來計算。第三估計校驗子eSDRi.3可由第三同位核對子矩陣HS13與行部分矩陣CPMi之間的交疊部分與錯誤型樣EP之間的矩陣相乘來計算。
當部分子矩陣HSMi.1的兩個任意行彼此相同時,包含於第一錯誤e1中的位元當中的乘以相同兩個行的位元可不分別識別,且因此部分子矩陣HSMi.1的所有行可為唯一的。亦即,部分子矩陣HSMi.1的行列式不得為0。
同樣,部分子矩陣HSMi.2的行列式不得為0。
圖10為繪示對應於一個記憶體晶片的部分子矩陣HSMi.1與部分子矩陣HSMi.2之間的關係的圖。
參考圖10,部分子矩陣HSMi.1及部分子矩陣HSMi.2可對應於記憶體晶片200i。部分子矩陣HSMi.1可由目標子矩陣HD與部分子矩陣HSMi.2之間的矩陣相乘表示。目標子矩陣HD可具有p×p結構。
參考圖9及圖10,第一估計校驗子eSDRi.1可由下方等式1計算。
eSDRi.1=(HD.e1+e2).HSMi.2 [等式1]
當第一估計校驗子eSDRi.1為0時,不可能識別錯誤,且因此,必須滿足條件(HD.e1+e2).HSMi.2≠0。因此,必須滿足條件HD.e1+e2≠0。
在一些實施例中,當資料集DQ_BL3及資料集DQ_BL4的錯誤為在第一符號中待偵測到的目標且資料集DQ_BL7及資料集DQ_BL8的錯誤為在第二符號中待偵測到的目標時,HD.e1+e2≠0可由下方等式2表示。在第一符號中待偵測以尋找錯誤的目標資料集可不限於DQ_BL3及BQ_BL4。在第二符號中待偵測以尋找錯誤的目標資料集可不限於DQ_BL7及BQ_BL8。
亦即,目標子矩陣HD的值可根據待偵測到的錯誤的位
置而變化。參考圖2,根據實施例的記憶體控制器100可儲存根據記憶體180中的錯誤位置具有各種值的目標子矩陣HD。
此是因為部分子矩陣HSMi.1及部分子矩陣HSMi.2根據目標子矩陣HD而判定,根據錯誤位置具有各種值的同位核對矩陣可儲存於記憶體180中。
圖11為根據實施例的用於描述產生校驗子SDR的方法的圖。
參考圖11,校驗子SDR可基於同位核對矩陣PCM與碼字集SCW之間的矩陣相乘來計算。校驗子SDR可包含第一校驗子SDR1、第二校驗子SDR2以及第三校驗子SDR3。同位核對矩陣PCM可具有p×2N*p結構,其中N可為晶片的數目,例如諸如記憶體晶片200的記憶體晶片的數目。碼字集SCW可包含多個符號S11、符號S12...符號SN1以及符號SN2。
第一校驗子SDR1可基於第一同位核對子矩陣HS11與碼字集SCW之間的矩陣相乘來計算,第二校驗子SDR2可基於第二同位核對子矩陣HS12與碼字集SCW之間的矩陣相乘來計算,且第三校驗子SDR3可基於第三同位核對子矩陣HS13與碼字集SCW之間的矩陣相乘來計算。
圖12為根據實施例的ECC解碼器150的方塊圖。
參考圖12,ECC解碼器150可包含校驗子產生器151、錯誤型樣偵測器152、估計校驗子產生器153、比較器154、計數器155以及資料校正器156。
校驗子產生器151可藉由使用同位核對矩陣PCM相對於碼字集SCW2產生第一校驗子SDR1至第三校驗子SDR3。參考圖
10,碼字集SCW2可包含多個符號S11、符號S12、...、符號SN1以及符號SN2。
錯誤型樣偵測器152可基於第二校驗子SDR2及第三校驗子SDR3偵測錯誤型樣EP。詳言之,第一符號的錯誤型樣可基於第二校驗子SDR2而偵測到,且第二符號的錯誤型樣可基於第三校驗子SDR3而偵測到。
估計校驗子產生器153可藉由使用包含第一行部分矩陣CPM1至第N行部分矩陣CPMN的同位核對矩陣PCM相對於錯誤型樣EP產生第一估計校驗子eSDR1至第三估計校驗子eSDR3。詳言之,估計校驗子產生器153可包含第一估計校驗子產生器161至第N估計校驗子產生器16N。舉例而言,第一估計校驗子產生器161可基於第一行部分矩陣CPM1與錯誤型樣EP之間的矩陣相乘產生第一估計校驗子eSDR1.1、第二估計校驗子eSDR1.2以及第三估計校驗子eSDR1.3。同樣,第N估計校驗子產生器16N可基於第N行部分矩陣CPMN與錯誤型樣EP之間的矩陣相乘產生第一估計校驗子eSDRN.1、第二估計校驗子eSDRN.2以及第三估計校驗子eSDRN.3。
比較器154可比較第一校驗子SDR1至第三校驗子SDR3與第一估計校驗子eSDRi.1至第三估計校驗子eSDRi.3(i為大於或等於1且小於或等於N的自然數)。詳言之,比較器154可依序比較自第一估計校驗子產生器161至第N估計校驗子產生器16N接收到的估計校驗子與校驗子。
當第一校驗子SDR1至第三校驗子SDR3及第一估計校驗子eSDRi.1至第三估計校驗子eSDRi.3分別相同時,計數器155
可增加計數值。舉例而言,當第一校驗子SDR1至第三校驗子SDR3僅與由第一估計校驗子產生器161產生的第一估計校驗子eSDR1.1至第三估計校驗子eSDR1.3相同時,計數值可為1。
資料校正器156可識別是否可能基於計數值校正錯誤。詳言之,當計數值為1時,可識別到錯誤校正為可能的,且當計數值大於或等於2時,可識別到錯誤校正為不可能的。資料校正器156可以校正碼字集SCW2的錯誤並輸出校正後的碼字集C_SCW2。
圖13為根據實施例的校驗子產生器151的方塊圖。
參考圖13,校驗子產生器151可包含第一校驗子產生器171、第二校驗子產生器172以及第三校驗子產生器173。
第一校驗子產生器171可藉由使用第一同位核對子矩陣HS11相對於碼字集SCW2產生第一校驗子SDR1。
第二校驗子產生器172可藉由使用第二同位核對子矩陣HS12相對於碼字集SCW2產生第二校驗子SDR2。
第三校驗子產生器173可藉由使用第三同位核對子矩陣HS13相對於碼字集SCW2產生第三校驗子SDR3。
圖14為根據實施例的ECC電路130的ECC解碼方法的流程圖。ECC解碼方法可包含多個操作S1401至操作S1410。在下文參考圖12描述圖14。
在操作S1401中,錯誤型樣偵測器152可基於校驗子偵測錯誤型樣。詳言之,校驗子產生器151可藉由使用同位核對矩陣相對於自記憶體晶片200接收到的碼字集SCW2產生校驗子,且錯誤型樣偵測器152可基於所產生校驗子偵測錯誤型樣。
在操作S1402中,資料校正器156可初始化計數值且將指數i初始化至1。指數i可指示記憶體晶片的指數。
在操作S1403中,估計校驗子產生器153可相對於第i晶片產生估計校驗子。可藉由執行錯誤型樣與包含於同位核對矩陣中的多個部分子矩陣當中的第2i-1部分子矩陣及第2i部分子矩陣之間的矩陣相乘來產生相對於第i晶片的估計校驗子。
在操作S1404中,比較器154可比較校驗子與估計校驗子。當校驗子與估計校驗子彼此相同時(在操作S1404處為Y),可執行操作S1405,且當校驗子與估計校驗子彼此不相同時(在操作S1404處為N),可執行操作S1406。
在操作S1405中,計數器155可增加計數值。
在操作S1406中,當i與記憶體模組MM中的記憶體晶片的數目相同時(在操作S1406處為Y),可執行操作S1408,且當i不同於記憶體模組MM中的記憶體晶片的數目時(在操作S1406處為N),在操作S1407中i可增加1,且可在操作S1403中產生相對於下一次序的記憶體晶片的估計校驗子。
在操作S1408中,資料校正器156可判定計數值是否為1。當計數值為1時(在操作S1408處為Y),資料校正器156可識別相對於對應計數值增加的記憶體晶片,且可在操作S1409中校正自識別的記憶體晶片輸出的符號。當計數值不為1時(在操作S1408處為N),資料校正器156可在操作S1410中將錯誤識別為不可校正。
圖15為根據實施例的可應用於記憶體系統的記憶體模組500的圖。
參考圖15,記憶體模組500可包含:緩衝器晶片590,其可為例如配置或安裝於電路基板501上的登記時鐘驅動器(registering clock driver;RCD);多個半導體記憶體裝置601a至半導體記憶體裝置601e、半導體記憶體裝置602a至半導體記憶體裝置602e、半導體記憶體裝置603a至半導體記憶體裝置603d以及半導體記憶體裝置604a至半導體記憶體裝置604d;模組電阻器560及模組電阻器570;序列存在偵測(serial presence detection;SPD)晶片595;以及電源管理積體電路585。
緩衝器晶片590可根據記憶體控制器100的控制來控制半導體記憶體裝置601a至半導體記憶體裝置601e、半導體記憶體裝置602a至半導體記憶體裝置602e、半導體記憶體裝置603a至半導體記憶體裝置603d以及半導體記憶體裝置604a至半導體記憶體裝置604d以及電源管理積體電路(power management integrated circuit;PMIC)585。舉例而言,緩衝器晶片590可自記憶體控制器100接收位址ADDR、命令CMD、主資料集SDQ以及元資料MDT。
SPD晶片595可包含可程式化唯讀記憶體裝置,例如電可擦除可程式化唯讀記憶體(electrically erasable programmable read-only memory;EEPROM)。SPD晶片595可包含記憶體模組500的最初資訊或裝置資訊(device information;DI)。舉例而言,SPD晶片595可包含記憶體模組500的最初資訊或DI,諸如模組形式、模組組態、儲存容量、模組類型、執行環境等。
當包含記憶體模組500的記憶體系統啟動時,記憶體控制器100可自SPD晶片595讀取DI且基於讀取DI識別記憶體模
組500。記憶體控制器100可基於來自SPD晶片595的DI控制記憶體模組500。舉例而言,記憶體控制器100可根據來自SPD晶片595的DI來識別包含於記憶體模組500中的半導體裝置的類型。
此處,電路基板501為印刷電路板,且可在第一方向D1上的第一邊緣部分503與第二邊緣部分505之間在垂直於第一方向D1的第二方向D2上延伸。緩衝器晶片590可配置於電路基板501的中心部分中,且半導體記憶體裝置601a至半導體記憶體裝置601e、半導體記憶體裝置602a至半導體記憶體裝置602e、半導體記憶體裝置603a至半導體記憶體裝置603d以及半導體記憶體裝置604a至半導體記憶體裝置604d可配置於緩衝器晶片590與第一邊緣部分503之間及緩衝器晶片590與第二邊緣部分505之間的多個列處。
此處,半導體記憶體裝置601a至半導體記憶體裝置601e及半導體記憶體裝置602a至半導體記憶體裝置602e可配置於緩衝器晶片590與第一邊緣部分503之間的多個列處,且半導體記憶體裝置603a至半導體記憶體裝置603d及半導體記憶體裝置604a至半導體記憶體裝置604d可配置於緩衝器晶片590與第二邊緣部分505之間的多個列處。半導體記憶體裝置601a至半導體記憶體裝置601d、半導體記憶體裝置602a至半導體記憶體裝置602d、半導體記憶體裝置603a至半導體記憶體裝置603d以及半導體記憶體裝置604a至半導體記憶體裝置604d可稱為資料晶片,且半導體記憶體裝置601e及半導體記憶體裝置602e可稱為第一同位晶片及第二同位晶片。
緩衝器晶片590可基於主資料集SDQ及元資料MDT產生第一同位資料及第二同位資料,可將主資料集SDQ及元資料MDT儲存於資料晶片中,可將第一同位資料儲存於第一同位晶片中,且可將第二同位資料儲存於第二同位晶片中。
緩衝器晶片590可經由命令/位址傳輸線561將命令/位址信號提供至半導體記憶體裝置601a至半導體記憶體裝置601e,且可經由命令/位址傳輸線563將命令/位址信號提供至半導體記憶體裝置602a至半導體記憶體裝置602e。此外,緩衝器晶片590可經由命令/位址傳輸線571將命令/位址信號提供至半導體記憶體裝置603a至半導體記憶體裝置603d,且可經由命令/位址傳輸線573將命令/位址信號提供至半導體記憶體裝置604a至半導體記憶體裝置604d。
命令/位址傳輸線561及命令/位址傳輸線563可通常連接至配置成鄰近於第一邊緣部分503的模組電阻器560,且命令/位址傳輸線571及命令/位址傳輸線573可通常連接至配置成鄰近於第二邊緣部分505的模組電阻器570。模組電阻器560及模組電阻器570中的各者可包含連接至末端電壓Vtt的末端電阻Rtt/2。
此外,半導體記憶體裝置601a至半導體記憶體裝置601e、半導體記憶體裝置602a至半導體記憶體裝置602e、半導體記憶體裝置603a至半導體記憶體裝置603d以及半導體記憶體裝置604a至半導體記憶體裝置604d中的各者可為DRAM裝置。
SPD晶片595可配置成鄰近於緩衝器晶片590,且PMIC 585可連接於半導體記憶體裝置603d與第二邊緣部分505之間。PMIC 585可基於輸入電壓VIN產生電源電壓VDD,且可將電源
電壓VDD提供至半導體記憶體裝置601a至半導體記憶體裝置601e、半導體記憶體裝置602a至半導體記憶體裝置602e、半導體記憶體裝置603a至半導體記憶體裝置603d以及半導體記憶體裝置604a至半導體記憶體裝置604d。
圖16為根據實施例的具有四列記憶體模組的記憶體系統800的圖。
參考圖16,記憶體系統800可包含記憶體控制器810及一或多個記憶體模組(亦即,第一記憶體模組820及第二記憶體模組830)。
記憶體控制器810可控制第一記憶體模組820及第二記憶體模組830執行自處理器或主機施加的命令。記憶體控制器810可在處理器或主機中達成或可達成為應用程式處理器或晶片上系統(system on chip;SoC)。源極終端可經由電阻器Rtt在記憶體控制器810的匯流排80中達成以用於信號完整性。電阻器Rtt可以連接於電源電壓VDDQ以及匯流排80之間。記憶體控制器810可包含ECC電路815。ECC電路815可對應於圖1的ECC電路130。記憶體控制器810可包含傳輸器811及接收器813。
因此,ECC電路815可包含ECC編碼器及ECC解碼器,且ECC解碼器可藉由使用同位核對矩陣對自一或多個記憶體模組(亦即,第一記憶體模組820及第二記憶體模組830)讀取的碼字執行ECC解碼來產生校驗子,可藉由使用基於校驗子及包含於同位核對矩陣中的多個部分子矩陣偵測到的錯誤型樣來產生估計校驗子,且可藉由比較校驗子與估計校驗子來校正錯誤。
第一記憶體模組820及第二記憶體模組830可經由匯流
排840連接至記憶體控制器810。第一記憶體模組820及第二記憶體模組830中的各者可對應於圖1中的記憶體模組MM。第一記憶體模組820可包含一或多個記憶體列RK1及記憶體列RK2,且第二記憶體模組830可包含一或多個記憶體列RK3及記憶體列RK4。
第一記憶體模組820及第二記憶體模組830可包含多個資料晶片、第一同位晶片以及第二同位晶片。
圖17為根據實施例的記憶體模組應用於行動系統900的實例的方塊圖。
參考圖17,行動系統900可包含應用程式處理器(application processor;AP)910、連接性模組920、使用者介面930、非揮發性記憶體(nonvolatile memory;NVM)裝置940、記憶體模組(memory module;MM)950以及電源970。應用程式處理器910可包含記憶體控制器(memory controller;MCT)911。記憶體控制器911可包含圖1的ECC電路130。
應用程式處理器910可執行提供網路瀏覽器、遊戲、視訊等的應用。連接性模組920可執行與外部裝置的無線通信或有線通信。
記憶體模組950可儲存由應用程式處理器910處理的資料或可操作為工作記憶體。記憶體模組950可包含多個半導體記憶體裝置(memory device;MD)951至半導體記憶體裝置95q以及控制裝置RCD 961。在實施例中,記憶體模組950可對應於上文描述的記憶體模組MM。
多個半導體記憶體裝置951至半導體記憶體裝置95q可
包含多個資料晶片、第一同位晶片以及第二同位晶片。因此,記憶體控制器911可藉由使用同位核對矩陣對自記憶體模組950x讀取的碼字執行ECC解碼而產生校驗子,藉由使用基於校驗子及包含於同位核對矩陣中的多個部分子矩陣偵測到的錯誤型樣而產生估計校驗子,且藉由比較校驗子與估計校驗子而校正錯誤。
NVM裝置940可儲存用於啟動行動系統900的啟動影像。使用者介面930可包含一或多個輸入裝置(諸如小鍵盤、觸控式螢幕等)及/或一或多個輸出裝置(諸如揚聲器、顯示器等)。電源970可供應行動系統900的操作電壓。
可以各種封裝形式安裝行動系統900或行動系統900的組件。
如上文所描述,在圖式及說明書中說明實施例。藉由使用特定術語描述本文實施例。然而,使用術語不限制描述於申請專利範圍中的含義或範疇。因此,所屬領域的技術人員將理解對所描述實施例的各種修改及等效實施例為可能的。因此,保護的真實技術範疇必須由以下申請專利範圍定義。
20:記憶體系統
100:記憶體控制器
130:ECC電路
200:記憶體晶片
200a~200k:資料晶片
200pa:第一同位晶片
200pb:第二同位晶片
ADDR:位址
CMD:命令
MM:記憶體模組
SCW:碼字集
Claims (20)
- 一種錯誤校正電路,包括:錯誤校正碼(ECC)編碼器,組態成基於同位產生矩陣產生對應於主資料的同位資料,且將包含所述主資料及所述同位資料的碼字輸出至多個記憶體裝置;以及FCC解碼器,組態成:自所述多個記憶體裝置讀取所述碼字,基於同位核對矩陣產生對應於所述碼字的校驗子,基於所述校驗子偵測錯誤型樣,使用包含於所述同位核對矩陣中的多個部分子矩陣來產生對應於所述錯誤型樣的多個估計校驗子,基於所述校驗子以及所個估計校驗子之間的比較結果,識別所述多個記憶體裝置中輸出錯誤的記憶體裝置,以及校正包含於在所述碼字中的多個符號當中的包括自所識別的所述記憶體裝置接收的所述錯誤的符號。
- 如請求項1所述的錯誤校正電路,其中所述碼字包括自所述多個記憶體裝置中的各者輸出的第一符號及第二符號,其中藉由將所述多個部分子矩陣當中的第二部分子矩陣與目標子矩陣相乘來計算所述多個部分子矩陣當中的第一部分子矩陣,且其中基於所述第一符號計算所述第一部分子矩陣且基於所述第二符號計算所述第二部分子矩陣。
- 如請求項2所述的錯誤校正電路,其中根據包含於所述第一符號及所述第二符號中的資料叢發當中的資料叢發來判 定所述目標子矩陣,且其中所述資料叢發包含作為錯誤校正目標的至少一個位元。
- 如請求項3所述的錯誤校正電路,其中包含於所述第二符號中的錯誤與所述目標子矩陣與包含於所述第一符號中的錯誤的矩陣相乘結果的矩陣相加結果不等於0。
- 如請求項2所述的錯誤校正電路,其中所述第一部分子矩陣及所述第二部分子矩陣的行列式不等於0。
- 如請求項1所述的錯誤校正電路,其中基於所述校驗子等於所述多個估計校驗子當中的估計校驗子,所述ECC解碼器更組態成校正由所述記憶體裝置輸出的對應於所述估計校驗子的所述符號。
- 如請求項5所述的錯誤校正電路,其中基於判定等於所述校驗子的所述多個估計校驗子的數目大於參考數目,所述ECC解碼器更組態成判定不可能錯誤校正。
- 如請求項1所述的錯誤校正電路,其中所述ECC解碼器包括:校驗子產生電路,組態成基於所述同位核對矩陣及所述碼字產生第一校驗子、第二校驗子以及第三校驗子;估計校驗子產生電路,組態成基於多個行部分矩陣、所述第二校驗子以及基於所述第二校驗子偵測到的錯誤型樣產生第一估計校驗子、第二估計校驗子以及第三估計校驗子,其中所述多個行部分矩陣包含於所述同位核對矩陣中且對應於所述多個記憶體裝置;比較器,組態成藉由比較所述第一校驗子與所述第一估計校 驗子、所述第二校驗子與所述第二估計校驗子以及所述第三校驗子與所述第三估計校驗子來執行所述比較;以及錯誤校正器,組態成校正由所述多個記憶體裝置當中的所述記憶體裝置輸出的所述符號,其中基於所述比較結果而識別所述記憶體裝置。
- 如請求項8所述的錯誤校正電路,其中所述校驗子產生電路包括:第一校驗子產生電路,組態成基於所述同位核對矩陣的第一同位核對子矩陣及所述碼字產生所述第一校驗子;第二校驗子產生電路,組態成基於所述同位核對矩陣的第二同位核對子矩陣及所述碼字產生所述第二校驗子;以及第三校驗子產生電路,組態成基於所述同位核對矩陣的第三同位核對子矩陣及所述碼字產生所述第三校驗子。
- 如請求項9所述的錯誤校正電路,其中所述多個部分子矩陣包含於所述第一同位核對子矩陣中,且其中所述估計校驗子產生電路包括:第一估計校驗子產生電路,組態成基於所述錯誤型樣及所述多個行部分矩陣的第一部分產生所述第一估計校驗子,其中所述第一部分對應於所述第一同位核對子矩陣;第二估計校驗子產生電路,組態成基於所述錯誤型樣及所述多個行部分矩陣的第二部分產生所述第二估計校驗子,其中所述第二部分對應於所述第二同位核對子矩陣;以及第三估計校驗子產生電路,組態成基於所述錯誤型樣及所述多個行部分矩陣的第三部分產生所述第三估計校驗子,其 中所述第三部分對應於所述第三同位核對子矩陣。
- 一種記憶體系統,包括:記憶體模組,包括多個記憶體裝置,所述多個記憶體裝置組態成儲存包含主資料集及對應於所述主資料集的同位資料集的碼字;以及記憶體控制器,組態成:使用具有視作為校正目標的錯誤的位置而定的值的同位核對矩陣來產生對應於自所述記憶體模組接收到的所述碼字的校驗子,基於所述校驗子偵測錯誤型樣,使用包含於所述同位核對矩陣中的多個部分子矩陣來產生對應於所述錯誤型樣的多個估計校驗子,基於所述校驗子以及所個估計校驗子之間的比較結果,識別所述多個記憶體裝置中輸出錯誤的記憶體裝置,以及在讀取操作期間,基於所述校驗子與所述多個估計校驗子之間的比較結果校正包含於所述碼字中的錯誤。
- 如請求項11所述的記憶體系統,其中所述碼字包括自所述多個記憶體裝置中的各者輸出的第一符號及第二符號,其中藉由將所述多個部分子矩陣當中的第二部分子矩陣與目標子矩陣相乘來計算所述多個部分子矩陣當中的第一部分子矩陣,且其中基於所述第一符號計算所述第一部分子矩陣且基於所述第二符號計算所述第二部分子矩陣。
- 如請求項12所述的記憶體系統,其中根據包含於所 述第一符號及所述第二符號中的資料叢發當中的資料叢發來判定所述目標子矩陣,且其中所述資料叢發包含作為所述校正目標的至少一個位元。
- 如請求項13所述的記憶體系統,其中包含於所述第二符號中的錯誤與所述目標子矩陣與包含於所述第一符號中的錯誤的矩陣相乘結果的矩陣相加結果不等於0。
- 如請求項12所述的記憶體系統,其中所述第一部分子矩陣及所述第二部分子矩陣的行列式不等於0。
- 如請求項11所述的記憶體系統,其中基於所述校驗子等於所述多個估計校驗子當中的估計校驗子,所述記憶體控制器更組態成校正由所述記憶體裝置輸出的對應於所述估計校驗子的符號。
- 一種錯誤校正方法,包括:使用同位核對矩陣來產生對應於碼字的校驗子;基於所述校驗子偵測錯誤型樣;使用包含於所述同位核對矩陣中且對應於N個記憶體裝置的多個部分子矩陣來產生對應於所述錯誤型樣的多個估計校驗子,其中N為大於或等於2的自然數;比較所述校驗子與所述多個估計校驗子;基於所述比較的結果選擇所述N個記憶體裝置當中輸出錯誤的目標記憶體裝置;以及基於所述錯誤型樣校正由所述目標記憶體裝置輸出的所述碼字的一部分。
- 如請求項17所述的錯誤校正方法,其中所述校驗子 的所述產生包括藉由執行由所述N個記憶體裝置中的各者輸出的第一符號及第二符號與所述同位核對矩陣之間的矩陣相乘來產生第一校驗子、第二校驗子以及第三校驗子。
- 如請求項18所述的錯誤校正方法,其中所述多個估計校驗子的所述產生包括藉由執行所述錯誤型樣與所述同位核對矩陣的一部分之間的矩陣相乘來產生第一估計校驗子、第二估計校驗子以及第三估計校驗子,在所述同位核對矩陣的所述一部分上利用由第i個記憶體裝置輸出的所述第一符號及所述第二符號執行矩陣相乘,其中i為大於或等於1且小於或等於N的自然數。
- 如請求項19所述的錯誤校正方法,其中基於所述第一估計校驗子等於所述第一校驗子、所述第二估計校驗子等於所述第二校驗子以及所述第三估計校驗子等於所述第三校驗子,所述目標記憶體裝置的所述選擇包括選擇對應於所述第一估計校驗子、所述第二估計校驗子以及所述第三估計校驗子的第k個記憶體裝置,其中k為大於或等於1且小於或等於N的自然數。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2021-0154257 | 2021-11-10 | ||
| KR20210154257 | 2021-11-10 | ||
| KR10-2022-0059102 | 2022-05-13 | ||
| KR1020220059102A KR20230068265A (ko) | 2021-11-10 | 2022-05-13 | 에러 정정 회로, 메모리 시스템 및 에러 정정 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202329146A TW202329146A (zh) | 2023-07-16 |
| TWI856413B true TWI856413B (zh) | 2024-09-21 |
Family
ID=84330745
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111142683A TWI856413B (zh) | 2021-11-10 | 2022-11-09 | 錯誤校正電路、記憶體系統以及錯誤校正方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12212339B2 (zh) |
| EP (1) | EP4180960B1 (zh) |
| CN (1) | CN116110440A (zh) |
| TW (1) | TWI856413B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240291505A1 (en) * | 2023-02-23 | 2024-08-29 | Micron Technology, Inc. | Perfectly balanced error code correction without correction power increase |
| KR102656075B1 (ko) * | 2023-06-20 | 2024-04-08 | 성균관대학교산학협력단 | 단일 심볼 오류 정정 및 이중 비트 오류 정정을 위한 부호 생성 방법, 이를 위한 오류 정정 부호 생성 장치 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5027357A (en) * | 1988-10-14 | 1991-06-25 | Advanced Micro Devices, Inc. | ECC/CRC error detection and correction system |
| US5600659A (en) * | 1989-03-06 | 1997-02-04 | International Business Machines Corporation | Low cost symbol error correction coding and decoding |
| US5757823A (en) * | 1995-10-03 | 1998-05-26 | International Business Machines Corporation | Error detection and correction for four-bit-per-chip memory system |
| TW202006544A (zh) * | 2018-07-16 | 2020-02-01 | 台灣積體電路製造股份有限公司 | 利用錯誤更正碼進行資料位元錯誤的偵測與更正 |
| TWI707354B (zh) * | 2019-03-20 | 2020-10-11 | 華邦電子股份有限公司 | 錯誤更正碼記憶體裝置和碼字存取方法 |
| US10872011B2 (en) * | 2016-05-02 | 2020-12-22 | Intel Corporation | Internal error checking and correction (ECC) with extra system bits |
| US10944429B1 (en) * | 2020-01-02 | 2021-03-09 | Silicon Motion, Inc. | Data accessing method using data protection with aid of parity check matrix having partial sequential information, and associated apparatus |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5878061A (en) * | 1996-03-14 | 1999-03-02 | Intel Corporation | Providing serial data clock signal transitions with parity bits |
| EP2737630A2 (en) * | 2011-07-29 | 2014-06-04 | SanDisk Technologies Inc. | Checksum using sums of permutation sub-matrices |
| JP5509165B2 (ja) | 2011-08-24 | 2014-06-04 | 株式会社東芝 | 誤り訂正符号化装置、誤り訂正復号装置、不揮発性半導体記憶システム及びパリティ検査行列生成方法 |
| GB2514970B (en) | 2012-03-29 | 2020-09-09 | Intel Corp | Enhanced storage of metadata utilizing improved error detection and correction in computer memory |
| US9043674B2 (en) | 2012-12-26 | 2015-05-26 | Intel Corporation | Error detection and correction apparatus and method |
| US9698830B2 (en) | 2013-02-28 | 2017-07-04 | Intel Corporation | Single-bit first error correction |
| US9092350B1 (en) * | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
| JP2016126813A (ja) | 2015-01-08 | 2016-07-11 | マイクロン テクノロジー, インク. | 半導体装置 |
| TWI632780B (zh) * | 2016-12-30 | 2018-08-11 | 慧榮科技股份有限公司 | 解碼方法與相關解碼裝置 |
| US10572343B2 (en) | 2017-01-19 | 2020-02-25 | Intel Corporation | Targeted aliasing single error correction (SEC) code |
| KR102449782B1 (ko) | 2018-05-04 | 2022-10-04 | 에스케이하이닉스 주식회사 | 준순환 저밀도 패리티 체크 코드의 패리티 체크 행렬 변환 회로, 이를 포함하는 에러 정정 회로 및 이의 동작 방법 |
-
2022
- 2022-11-03 CN CN202211374119.6A patent/CN116110440A/zh active Pending
- 2022-11-09 EP EP22206488.3A patent/EP4180960B1/en active Active
- 2022-11-09 TW TW111142683A patent/TWI856413B/zh active
- 2022-11-10 US US17/984,430 patent/US12212339B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5027357A (en) * | 1988-10-14 | 1991-06-25 | Advanced Micro Devices, Inc. | ECC/CRC error detection and correction system |
| US5600659A (en) * | 1989-03-06 | 1997-02-04 | International Business Machines Corporation | Low cost symbol error correction coding and decoding |
| US5757823A (en) * | 1995-10-03 | 1998-05-26 | International Business Machines Corporation | Error detection and correction for four-bit-per-chip memory system |
| US10872011B2 (en) * | 2016-05-02 | 2020-12-22 | Intel Corporation | Internal error checking and correction (ECC) with extra system bits |
| TW202006544A (zh) * | 2018-07-16 | 2020-02-01 | 台灣積體電路製造股份有限公司 | 利用錯誤更正碼進行資料位元錯誤的偵測與更正 |
| TWI707354B (zh) * | 2019-03-20 | 2020-10-11 | 華邦電子股份有限公司 | 錯誤更正碼記憶體裝置和碼字存取方法 |
| US10944429B1 (en) * | 2020-01-02 | 2021-03-09 | Silicon Motion, Inc. | Data accessing method using data protection with aid of parity check matrix having partial sequential information, and associated apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| US12212339B2 (en) | 2025-01-28 |
| US20230146904A1 (en) | 2023-05-11 |
| TW202329146A (zh) | 2023-07-16 |
| EP4180960A1 (en) | 2023-05-17 |
| EP4180960B1 (en) | 2025-10-22 |
| CN116110440A (zh) | 2023-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112527549B (zh) | 存储器控制器和包括该存储器控制器的存储器系统 | |
| TWI773079B (zh) | 用於管理記憶體模組中出現的錯誤的記憶體控制器、記憶體系統以及記憶體模組 | |
| CN113094204B (zh) | 纠错电路、存储器控制器和存储器系统 | |
| KR102784280B1 (ko) | 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈 | |
| KR102758952B1 (ko) | 에러 정정 코드 회로, 반도체 메모리 장치 및 메모리 시스템 | |
| EP3341844B1 (en) | Memory device on-die error checking and correcting code | |
| CN116783654A (zh) | 自适应错误校正以提高系统存储器可靠性、可用性和可服务性(ras) | |
| CN104798047A (zh) | 错误检测和校正装置及方法 | |
| TWI856413B (zh) | 錯誤校正電路、記憶體系統以及錯誤校正方法 | |
| KR20230003766A (ko) | 메모리 컨트롤러의 구동 방법, 이를 수행하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
| US10108488B2 (en) | Memory module with integrated error correction | |
| US11815997B2 (en) | Memory controllers, memory systems, and memory modules | |
| CN117667499A (zh) | 差错校正码解码器、存储器件和存储系统 | |
| KR20230068265A (ko) | 에러 정정 회로, 메모리 시스템 및 에러 정정 방법 | |
| CN115994050B (zh) | 基于错误校正能力的路由分配 | |
| TWI893407B (zh) | 記憶體控制器及包括其的記憶體系統 | |
| CN120066844A (zh) | 存储器控制器和存储器系统 | |
| KR20230068235A (ko) | 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈 | |
| CN118519821A (zh) | 存储器控制器和存储器系统 | |
| CN119002796A (zh) | 存储器系统、操作其的方法及包括其的电子系统 |


