TW202022881A - 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 - Google Patents
用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 Download PDFInfo
- Publication number
- TW202022881A TW202022881A TW108129194A TW108129194A TW202022881A TW 202022881 A TW202022881 A TW 202022881A TW 108129194 A TW108129194 A TW 108129194A TW 108129194 A TW108129194 A TW 108129194A TW 202022881 A TW202022881 A TW 202022881A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- ecc
- dbi
- corrected
- circuit
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 177
- 238000012937 correction Methods 0.000 title claims abstract description 40
- 239000004065 semiconductor Substances 0.000 title abstract description 38
- 238000000034 method Methods 0.000 title abstract description 17
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 31
- 230000000295 complement effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000002950 deficient Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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
-
- 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
- G06F11/1016—Error in accessing a memory location, i.e. addressing 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/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
- G06F11/102—Error in check bits
-
- 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/1044—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 with specific ECC/EDC distribution
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- 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
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- 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/31—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 combining coding for error detection or correction and efficient use of the spectrum
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- 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
- G11C2029/0409—Online test
-
- 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
- G11C2029/0411—Online error correction
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本發明描述用於半導體記憶體之錯誤更正寫碼及資料匯流反轉之裝置及方法。一種實例裝置包含:一I/O電路,其經組態以接收第一資料及與該第一資料相關聯之第一ECC資料;一記憶體陣列;及一控制電路。該控制電路耦合於該I/O電路與該記憶體陣列之間。該控制電路經組態以至少部分回應於該第一資料及該第一ECC資料而執行第一ECC解碼以產生更正第一資料及更正第一ECC資料。該控制電路進一步經組態以將該更正第一資料及該更正第一ECC資料兩者儲存至該記憶體陣列中。
Description
本申請案係關於一種半導體記憶體,且更特定言之,本申請案係關於用於半導體記憶體之錯誤更正寫碼及資料匯流反轉之裝置及方法。
近年來,一半導體器件(諸如一DRAM (動態隨機存取記憶體))已大幅增加容量,且發生缺陷位元之次數亦因此增加。在缺陷位元中,歸因於一缺陷字線或一缺陷位元線之缺陷位元主要藉由用一冗餘字線或一冗餘位元線替換來解除。然而,關於在封裝或其類似者之後發生之偶發缺陷位元,在一些情況中難以藉由用一冗餘字線或一冗餘位元線替換來解除該等缺陷位元。對於此等偶發缺陷位元,在一些情況中採用藉由使用一錯誤更正功能而非藉由使用一冗餘電路執行替換來解除資料之一方法。錯誤更正可內部用於一半導體器件內,且亦可外部用於將資料轉移至半導體器件及自半導體器件轉移資料。
另外,期望降低半導體器件之功耗。已使用之一方法係在將資料傳送至半導體器件及自半導體器件傳送資料時包含資料匯流反轉(DBI)。在包含DBI之系統中,轉移至半導體器件及自半導體器件轉移之資料可經DBI編碼以減少信號線上信號轉變之次數。特定言之,針對先前轉移資料來評估待轉移資料以判定是否需要超過臨限數目次信號線轉變來轉移資料。基於評估,提供待轉移資料作為真資料(未反轉)或反轉資料。DBI編碼導致指示資料是否被反轉之DBI資料,其具有在解碼資料時使用之DBI編碼資料。
關於錯誤更正功能,半導體器件包含用於執行錯誤更正功能之ECC編碼及/或ECC解碼電路。在執行錯誤更正功能時,資料之編碼及解碼需要處理時間,其會負面影響半導體器件之效能。
可期望具有替代方法來執行半導體器件中之錯誤更正功能,其亦可包含DBI操作。
在一實施例中,一種裝置包括:一I/O電路,其經組態以接收第一資料及與該第一資料相關聯之第一ECC資料;一記憶體陣列;及一控制電路,其耦合於該I/O電路與該記憶體陣列之間,該控制電路經組態以至少部分回應於該第一資料及該第一ECC資料而執行第一ECC解碼以產生更正第一資料及更正第一ECC資料,該控制電路進一步經組態以將該更正第一資料及該更正第一ECC資料兩者儲存至該記憶體陣列中。
在另一實施例中,一種裝置包括:一I/O電路,其經組態以接收第一資料、與該第一資料相關之資料匯流反轉(DBI)資料、與該第一資料相關聯之第一ECC資料及與該DBI資料相關聯之第二ECC資料;一記憶體陣列;及一控制電路,其耦合於該I/O電路與該記憶體單元陣列之間,該控制電路包括一第一ECC解碼電路、一第二ECC解碼電路及一DBI解碼電路。該第二ECC解碼電路經組態以至少部分回應於該DBI資料及該第二ECC資料而產生更正DBI資料。該第一ECC解碼電路及該DBI解碼電路經組態以至少部分回應於該第一資料、該第一ECC資料及該更正DBI資料而產生更正及DBI解碼第一資料及更正第一ECC資料。該控制電路經組態以將該更正及DBI解碼第一資料及該更正第一ECC資料兩者儲存至該記憶體陣列中。
在另一實施例中,一種裝置包括:一寫入資料控制電路,其經組態以自信號匯流排接收寫入資料及對應ECC資料且基於該對應ECC資料來更正該寫入資料以提供更正寫入資料,該寫入控制電路進一步經組態以基於該對應ECC資料來提供更正對應ECC資料,其中提供儲存於一記憶體陣列中之該更正寫入資料及該更正對應ECC資料;及一讀取資料控制電路,其經組態以自該記憶體陣列接收讀取資料及對應ECC資料且基於該對應ECC資料來更正該讀取資料以提供更正讀取資料,該讀取控制電路進一步經組態以基於該對應ECC資料來提供更正對應ECC資料,其中將該更正讀取資料及該更正對應ECC資料提供至該等信號匯流排。
下文將闡述特定細節以提供本發明之實施例之一充分理解。然而,熟習技術者將清楚,可在不具有此等特定細節之情況下實踐本發明之實施例。再者,本文中所描述之本發明之特定實例不應被解釋為使本發明之範疇受限於此等特定實例。在其他例項中,未詳細展示熟知電路、控制信號、時序協定及軟體操作以免不必要地使本發明之實施例不清楚。另外,諸如「耦合」之術語意謂兩個組件可直接或間接電耦合。「間接耦合」可隱含兩個組件透過一或多個中間組件耦合。
圖1係包含一控制器10及一記憶體110之一系統100之一方塊圖。例如,控制器10可為一記憶體控制器。在本發明之一些實施例中,記憶體110包含一或多個動態隨機存取記憶體(DRAM)器件。在此等實施例中,DRAM器件可包含低功率雙倍資料速率(LPDDR)記憶體器件。在其他實施例中,可包含記憶體器件之不同實例。
控制器10及記憶體110可彼此之間提供資料,例如,控制器10將寫入資料提供至記憶體110用於寫入操作且記憶體110將讀取資料提供至控制器10用於讀取操作。控制器10及記憶體110將錯誤更正寫碼(ECC)用於提供於兩者之間的資料。例如,ECC資料可與寫入資料一起由控制器10提供至記憶體110,且ECC資料可與讀取資料一起由記憶體110提供至控制器10。ECC資料可由記憶體110及/或控制器10用於更正寫入資料及/或讀取資料中之任何錯誤。依此方式,可確保記憶體110與控制器10之間的通信鏈路上所轉移之資料之準確性。
在本發明之一些實施例中,資料匯流反轉(DBI)可用於提供於控制器10與記憶體110之間的資料。在此等實施例中,DBI資料分別與資料寫入及讀取資料一起提供於控制器10與記憶體110之間。另外,在包含DBI操作之本發明之一些實施例中,DBI資料經ECC編碼,因此,用於DBI資料之ECC資料亦與用於資料本身之ECC資料一起提供。用於資料及DBI資料之ECC資料可包含於ECC資料ECC(Data, DBI)中。
如圖1中所展示,ECC(Data, DBI)、Data及DBI資料提供於控制器10與記憶體110之間。儘管圖1中未展示,但應瞭解,控制器10進一步提供命令、位址及時脈至記憶體110。在一些實施例中,時脈亦可由記憶體110提供至控制器10。可提供命令來控制記憶體110之操作,且可向位址提供記憶體存取命令(例如讀取命令、寫入命令等等)來識別待存取之記憶體110中之記憶體位置。由控制器10提供之時脈可由記憶體110用於信號之計時接收及記憶體110之各種操作,且在其中記憶體110提供時脈至控制器10之實施例中,時脈可由控制器用於由記憶體提供之讀取資料之計時接收。額外及/或替代信號亦可提供於控制器10與記憶體110之間。
圖2係根據本發明之一實施例之一裝置之一方塊圖。裝置可為一半導體器件200,且將指稱半導體器件200。在一些實施例中,半導體器件200可包含(但不限於)一DRAM器件,諸如(例如)整合至一單一半導體晶片中之低功率DDR (LPDDR)記憶體。在本發明之一些實施例中,半導體器件200可包含於圖1之記憶體110中。
半導體器件200包含一記憶體陣列250。記憶體陣列250經展示為包含複數個記憶庫。在圖2之實施例中,記憶體陣列250經展示為包含8個記憶庫BANK0至BANK7。各記憶庫包含複數個字線WL、複數個位元線BL及/BL及配置於複數個字線WL及複數個位元線BL及/BL之相交點處之複數個記憶體單元MC。字線WL之選擇由一列解碼器240執行且位元線BL及/BL之選擇由一行解碼器245執行。在圖2之實施例中,列解碼器240包含用於各記憶庫之一各自列解碼器且行解碼器245包含用於各記憶庫之一各自行解碼器。位元線BL及/BL耦合至一各自感測放大器(SAMP)。來自位元線BL或/BL之讀取資料由感測放大器SAMP放大,且通過互補局部資料線(LIOT/B)、轉移閘(TG)及互補主資料線(MIOT/B)來轉移至一ECC控制電路255。ECC控制電路255包含用於各記憶庫之一各自ECC控制電路。
如下文將更詳細描述,當自記憶體單元陣列250讀取讀取資料時,亦同時讀取對應ECC資料。相反地,自ECC控制電路255輸出之寫入資料及對應ECC資料通過互補主資料線MIOT/B、轉移閘TG及互補局部資料線LIOT/B來轉移至感測放大器SAMP,且寫入於耦合至位元線BL或/BL之記憶體單元MC中。如下文將更詳細描述,當將寫入資料寫入於記憶體陣列250中時,亦同時寫入對應ECC資料。
半導體器件200可採用複數個外部端子,其等包含耦合至一命令及位址匯流排以接收命令及位址及一CS信號之命令及位址及晶片選擇(CA/CS)端子、用於接收時脈CK及/CK之時脈端子、資料端子及電源端子VDD、VSS、VDDQ及VSSQ。
可向CA/CS端子供應記憶體位址。供應至CA/CS端子之記憶體位址經由一命令/位址輸入電路205來轉移至一位址解碼器212。位址解碼器212接收位址且將一解碼列位址XADD供應至列解碼器240及將一解碼行位址YADD供應至行解碼器245。可向CA/CS端子供應命令。命令可作為內部命令信號經由命令/位址輸入電路205來提供至一命令解碼器215。命令解碼器215包含用於解碼內部命令信號以產生各種內部信號及命令用於執行操作之電路。例如,命令解碼器215可提供一列命令信號ACT來選擇一字線及提供一行命令信號R/W來選擇一位元線。
當接收到一讀取命令且即時向一列位址及一行位址供應讀取命令時,自由列位址及行位址指定之記憶體陣列250中之記憶體單元讀取讀取資料及對應ECC資料。讀取命令由命令解碼器215接收,命令解碼器215提供內部命令,使得來自記憶體陣列250之讀取資料及對應ECC資料提供至ECC控制電路255。ECC控制電路255執行ECC解碼以產生更正讀取資料及更正對應ECC資料。例如,若讀取資料包含一錯誤(如由ECC控制電路255基於對應ECC資料所判定),則更正讀取資料。更正讀取資料及更正對應ECC資料經由輸入/輸出電路260自資料端子輸出至外部。
「更正資料」一般係指基於對應ECC資料之ECC解碼之後所產生之資料。更正資料包含可能已視需要實際更正之資料(例如,改變資料之一或多個位元)及由於無需更正而可能未更正之資料。例如,ECC解碼之後所提供之「更正」讀取資料係指所提供之實際已基於對應ECC資料更正或未更正之讀取資料。類似地,ECC解碼之後所提供之「更正」ECC資料係指所提供之已更正或未更正ECC資料。因此,術語「更正」不意欲僅係指實際已更正之資料,而是更一般地係指ECC解碼之後所提供之實際已更正或未更正資料。術語「更正資料」亦可應用於寫入資料、DBI資料、ECC(DBI)資料及其類似者。
當接收到寫入命令且即時向一列位址及一行位址供應寫入命令時,將供應至資料端子之寫入資料及對應ECC資料寫入至由列位址及行位址指定之記憶體陣列250中之記憶體單元。寫入命令由命令解碼器215接收,命令解碼器215提供內部命令,使得寫入資料及對應ECC由輸入/輸出電路260中之資料接收器接收且經由輸入/輸出電路260供應至ECC控制電路255。ECC控制電路255執行ECC解碼以產生更正寫入資料及更正對應ECC資料。例如,若寫入資料包含一錯誤(如由ECC控制電路255基於對應ECC資料所判定),則更正寫入資料。更正寫入資料及更正對應ECC資料由ECC控制電路255提供至記憶體陣列250以寫入至記憶體單元MC中。
在本發明之一些實施例中,資料匯流反轉(DBI)操作可包含於半導體器件200中。然而,使DBI操作包含於半導體器件200中係選用的,且本發明之一些實施例不包含DBI操作。另外,由半導體器件200提供之讀取資料及/或由半導體器件200接收之寫入資料之ECC操作係選用的,且本發明之一些實施例不包含ECC操作。
在包含ECC及DBI操作之本發明之實施例中,關於半導體器件200向讀取資料提供一讀取命令,ECC控制電路255可對讀取資料及對應ECC資料執行ECC解碼以產生中間讀取資料及更正對應ECC資料。ECC控制電路255可對中間讀取資料執行DBI編碼以提供更正讀取資料及DBI資料,且進一步對DBI資料執行ECC編碼以產生DBI ECC資料。更正讀取資料、更正對應ECC資料、DBI資料及DBI ECC資料經由輸入/輸出電路260輸出至外部。
關於半導體器件200用於一寫入命令,寫入資料(其經DBI編碼)、對應ECC資料、DBI資料及DBI ECC資料由輸入/輸出電路260接收且提供至ECC控制電路255。ECC控制電路255可對(DBI編碼)寫入資料及對應ECC資料執行ECC解碼以產生中間(DBI編碼)寫入資料及更正對應ECC資料。ECC控制電路255可對DBI資料及DBI ECC資料執行ECC解碼以產生更正DBI資料,且基於更正DBI資料來對中間(DBI編碼)寫入資料執行DBI解碼以產生更正寫入資料。更正寫入資料及更正對應ECC資料由ECC控制電路255提供至記憶體陣列250以寫入至記憶體單元MC中。
由ECC控制電路255執行之錯誤更正可用於維持外部提供至半導體器件200及自半導體器件200提供之資料(例如提供於一控制器與半導體器件200之間的資料)之準確性。在本發明之一些實施例中。ECC控制電路255可進一步執行錯誤更正編碼/解碼以更正在自記憶體陣列250讀取資料及/或將資料寫入至記憶體陣列250時發生之資料錯誤。此等資料錯誤可由(例如)軟錯誤、弱記憶體單元電荷保留等等所致。本發明之此等實施例可包含其中針對記憶庫錯誤之ECC編碼/解碼與針對發生於半導體器件200與(例如)一控制器之間的一鏈路上之資料錯誤之ECC編碼/解碼分開(例如,串列地)執行的實施例及其中組合針對記憶庫錯誤之ECC編碼/解碼及針對發生於一鏈路上之資料錯誤之ECC編碼/解碼的實施例。
向時脈端子CK及/CK供應提供至一輸入緩衝器220之外部時脈。外部時脈可互補。時脈輸入緩衝器220基於CK及/CK時脈來產生一內部時脈ICLK。ICLK時脈提供至命令解碼器215及一內部時脈產生器222。內部時脈產生器222基於ICLK時脈來提供各種內部時脈LCLK。LCLK時脈可用於對各種內部電路之操作計時。例如,可將時脈提供至輸入/輸出電路260用於對輸入/輸出電路260提供且接收資料及對應ECC資料及在包含DBI操作之本發明之實施例中,提供且接收DBI資料及DBI ECC資料之操作計時。
向電源端子VDD及VSS供應電源電位。此等電源電位供應至一內部電壓產生器電路270。內部電壓產生器電路270基於供應至電源端子VDD及VSS之電源電位來產生各種內部電位VPP、VOD、VARY、VPERI及其類似者。內部電位VPP主要用於列解碼器240中,內部電位VOD及VARY主要用於包含於記憶體陣列250中之感測放大器SAMP中,且內部電位VPERI用於諸多周邊電路區塊中。
亦向電源端子VDDQ及VSSQ供應電源電位。電源電位供應至輸入/輸出電路260。在本發明之一實施例中,供應至電源端子VDDQ及VSSQ之電源電位可為相同於供應至電源端子VDD及VSS之電源電位的電位。在本發明之另一實施例中,供應至電源端子VDDQ及VSSQ之電源電位可為不同於供應至電源端子VDD及VSS之電源電位的電位。供應至電源端子VDDQ及VSSQ之電源電位用於輸入/輸出電路260,使得由輸入/輸出電路260產生之電源雜訊不傳播至其他電路區塊。
圖3A係根據本發明之一實施例之一ECC控制電路300之一方塊圖。在本發明之一些實施例中,ECC控制電路300可包含於圖2之半導體器件200之ECC控制電路255中。
ECC控制電路300包含一寫入資料控制電路310及一讀取資料控制電路320。寫入資料控制電路310接收資料、ECC資料及資料匯流反轉(DBI)資料。資料可為DBI編碼資料「D_Data」且ECC資料「ECC(Data, DBI)」可包含用於資料之ECC資料「ECC(Data)」及用於DBI資料之ECC資料「ECC(DBI)」。ECC資料、D_Data及DBI資料可由一輸入/輸出電路(例如本發明之一些實施例中之半導體器件200之輸入/輸出電路260)提供至ECC控制電路300。例如,ECC資料、D_Data及DBI資料可自一控制器提供至輸入/輸出電路。
儘管圖3A中未展示,但寫入資料控制電路310使用ECC(DBI)來更正DBI資料以提供(例如,產生)更正DBI資料「C_DBI」,更正DBI資料「C_DBI」由寫入資料控制電路310用於DBI解碼D_Data以提供DBI解碼資料「Data」。Data由寫入資料控制電路310使用ECC(Data)來更正以提供更正資料「C_Data」。寫入資料控制電路310進一步提供ECC(Data)作為更正ECC資料「C_ECC(Data)」。在本發明之一些實施例中,C_ECC(Data)相同於用於更正Data之ECC(Data),且與ECC(DBI)一起提供至寫入資料控制電路310。
可提供C_Data及C_ECC(Data)用於寫入至一記憶體陣列(例如本發明之一些實施例中之圖2之半導體器件200之記憶體陣列250)之記憶體單元。在本發明之一些實施例中,C_Data及C_ECC(Data)可與額外錯誤更正寫碼(諸如一記憶庫ECC)一起寫入至記憶體陣列之記憶體單元,該額外錯誤更正寫碼可用於更正可發生於將C_Data及C_ECC(Data)儲存於記憶體陣列中時之錯誤。記憶庫ECC可用於(例如)更正軟錯誤、記憶體單元保留錯誤等等。在一些實施例中,可對由寫入資料控制電路310提供之資料串列執行及在其他實施例中,組合執行記憶庫ECC編碼。在本發明之一些實施例中,可將C_Data及C_ECC(Data)寫入至記憶體單元而無任何額外錯誤更正寫碼。
C_ECC(Data)可基於提供至寫入資料控制電路310之ECC資料ECC(Data)。在本發明之一些實施例中,由寫入資料控制電路310提供之C_ECC(Data)係相同於提供至寫入資料控制電路310之ECC(Data)。藉由不對資料執行一ECC編碼操作以提供C_ECC(Data),準備儲存於記憶體中之資料及ECC資料之時間可比習知方法減少。
讀取資料控制電路320接收資料及用於資料之ECC資料ECC(Data)。在本發明之一些實施例中,資料及ECC(Data)可儲存於一記憶體陣列中且回應於一讀取命令而提供至讀取資料控制電路320。例如,在本發明之一些實施例中,資料及ECC(Data)儲存於一記憶體陣列中,且當接收到一讀取命令時,資料及ECC(Data)自記憶體陣列提供至ECC控制電路300而無任何額外錯誤更正解碼。然而,在本發明之一些實施例中,來自記憶體陣列之資料及ECC(Data)在提供至ECC控制電路300之前經ECC解碼。單獨Bank ECC可用於更正可能已發生於儲存於記憶體陣列中時之任何錯誤以(例如)更正軟錯誤、記憶體單元保留錯誤等等。
讀取資料控制電路320使用ECC(Data)來更正其接收之資料,對更正資料執行DBI編碼以提供DBI編碼資料D_Data,且因此產生DBI資料。讀取資料控制電路320進一步針對DBI資料產生ECC資料ECC(DBI)。讀取資料控制電路320將D_Data、DBI資料及ECC(Data, DBI)提供至(例如)一控制器。ECC(Data)可基於與資料一起儲存於記憶體中之ECC資料。在本發明之一些實施例中,ECC(Data)係與純資料(預DBI編碼)一起儲存之相同ECC資料。
讀取資料控制電路320可提供ECC(Data)而無需對具有來自記憶體陣列之ECC(Data)之資料執行一ECC編碼操作。由讀取資料控制電路320向讀取資料提供之ECC(Data)可基於提供至讀取資料控制電路320之ECC(Data),例如與讀取資料一起儲存於記憶體陣列中之ECC(Data)。在本發明之一些實施例中,由讀取資料控制電路320提供之ECC(Data)相同於自記憶體陣列提供至讀取資料控制電路320之ECC(Data)。藉由不對資料執行一ECC編碼操作以提供ECC(Data),準備由讀取資料控制電路320提供之資料及ECC資料之時間可比習知方法減少。
在本發明之一些實施例中,由寫入資料控制電路310及讀取資料控制電路320執行之ECC操作係基於一共同(例如相同)行列式(例如H矩陣)。例如,寫入資料控制電路310及讀取資料控制電路320兩者可使用一相同H矩陣來ECC解碼及/或ECC編碼。藉由使用一共同H矩陣,如同本發明之一些實施例,可相較於在記憶體系統中使用ECC操作之習知方法而省略一或多個ECC編碼操作。
2015年9月11日申請且2017年6月27日發佈之美國專利第9,690,653號中描述一實例H-矩陣及錯誤更正電路,該專利之全部內容以引用的方式併入本文中。
如先前所描述,在本發明之一些實施例中,可對由一ECC控制電路(例如ECC控制電路300)提供之資料及ECC(Data)執行額外錯誤更正寫碼。例如,可對由ECC控制電路300提供之資料及ECC(Data)執行記憶庫ECC編碼。
圖3B係根據本發明之一實施例之寫入資料控制電路313之一方塊圖。寫入資料控制電路313在圖3B中展示為將更正資料C_Data及更正ECC資料C_ECC(Data)提供至一記憶庫ECC編碼電路301。在本發明之一些實施例中,寫入資料控制電路313可包含於圖3A之ECC控制電路300之寫入資料控制電路310中。
寫入資料控制電路313包含被提供DBI編碼資料「D_Data」、ECC資料「ECC(Data, DBI)」及DBI資料「DBI」之解串列電路315。提供至解串列電路315之ECC(Data, DBI)可包含用於經DBI編碼之資料之ECC資料「ECC(Data)」及用於DBI資料之ECC資料「ECC(DBI)」。可依一串列方式提供D_Data、ECC(Data, DBI)及DBI資料。解串列電路315解串列D_Data、ECC(Data, DBI)及DBI資料且依一並列方式提供D_Data、ECC(Data)、ECC(DBI)及DBI資料。稍後將參考圖4來描述提供資料之串列及並列方式。
寫入資料控制電路313包含一ECC解碼電路325。ECC解碼電路325被提供來自解串列電路315之ECC(DBI)及DBI資料。ECC解碼電路325使用ECC(DBI)來更正DBI資料且提供更正DBI資料「C_DBI」。寫入資料控制電路313進一步包含一ECC解碼電路340。D_Data與ECC(Data)一起提供至ECC解碼電路340,ECC解碼電路340使用ECC(Data)來更正D_Data以提供更正DBI編碼資料「CD_Data」(其可被視作中間資料)。ECC解碼電路340進一步提供ECC(Data)作為更正ECC資料「C_ECC(Data)」。在本發明之一些實施例中,C_ECC(Data)相同於用於更正資料且與ECC(DBI)一起提供至解串列電路315之ECC(Data)。
CD_Data與C_DBI一起提供至亦包含於寫入資料控制電路313中之一DBI解碼電路330。DBI解碼電路330使用C_DBI來解碼CD_Data以提供更正資料「C_Data」。C_Data及C_ECC(Data)提供至記憶庫ECC編碼電路301,記憶庫ECC編碼電路301 ECC編碼C_Data及C_ECC(Data)以提供ECC(Data)及C_Data。可將ECC(Data)及C_Data提供至一記憶體陣列用於儲存。
在寫入資料控制電路313中,分別由ECC解碼電路340及ECC解碼電路325並列執行用於(DBI編碼) D_Data之ECC解碼及用於DBI資料之ECC解碼。在具有並列執行之D_Data之ECC解碼及DBI資料之ECC解碼的寫入資料控制電路313之配置中,D_Data之ECC解碼發生於(更正) DBI編碼資料CD_Data之DBI解碼之前。對於其中DBI編碼資料CD_Data由一ECC解碼電路ECC解碼之本發明之實施例(諸如寫入資料控制電路313),DBI編碼資料CD_Data之ECC解碼之結果較佳提供相同於純資料之ECC解碼之計算結果。即,ECC解碼更正DBI編碼資料CD_Data中之一錯誤不會有任何問題。
圖3C係根據本發明之一實施例之一讀取資料控制電路323之一方塊圖。讀取資料控制電路323在圖3C中展示為自記憶庫ECC解碼電路303接收ECC(Data)及Data。在本發明之一些實施例中,讀取資料控制電路323可包含於圖3A之ECC控制電路300之讀取資料控制電路320中。
例如,自一記憶體陣列向記憶庫ECC解碼電路303提供「Data」及用於Data之ECC資料「ECC(Data)」。記憶庫ECC解碼電路303使用ECC(Data)來更正Data以提供更正資料「C_Data」(其可被視作中間資料)。記憶庫ECC解碼電路303進一步提供ECC(Data)作為更正ECC資料「C_ECC(Data)」。在本發明之一些實施例中,C_ECC(Data)相同於用於更正Data且與Data一起提供至記憶庫ECC解碼電路303之ECC(Data)。如先前所描述,記憶庫錯誤更正寫碼可用於更正可能已發生於儲存於記憶體陣列中時之任何錯誤。
C_Data提供至一DBI編碼電路318。DBI編碼電路318評估C_Data且因此編碼C_Data以提供DBI編碼更正資料「DC_Data」。DBI編碼電路318進一步提供DBI資料「DBI」,其指示DC_Data係真或與C_Data互補。DBI資料提供至一ECC編碼電路328。ECC編碼電路328評估DBI資料且基於DBI資料來提供DBI資料之ECC資料「ECC(DBI)」。ECC(DBI)可(例如)由一控制器用於更正DBI資料。DC_Data提供至一ECC編碼電路338。ECC編碼電路338評估DC_Data且基於DC_Data資料來提供DC_Data之ECC資料「ECC(Data)」。ECC(Data)可(例如)由控制器用於更正DC_Data。在讀取資料控制電路323中,分別由ECC編碼電路338及ECC編碼電路328並列執行用於(DBI編碼) DC_Data之ECC編碼及用於DBI資料之ECC編碼。
由ECC編碼電路328將ECC(DBI)及DBI資料提供至一串列電路348。亦由ECC編碼電路338向串列電路348提供ECC(Data)及DC_Data。串列電路348被並列提供DC_Data、ECC(Data)、DBI資料及ECC(DBI),且將其等串列以依一串列方式提供D_Data、DBI資料及D_Data及DBI資料之ECC資料「ECC(Data, DBI)」。例如,可將D_Data、DBI資料及ECC(Data, DBI)提供至一控制器。
D_Data之ECC資料C_ECC(Data)可由讀取資料控制電路323提供而無需對Data或C_Data執行一ECC編碼操作。例如,ECC資料C_ECC(Data)可能已使用一共同(例如相同)行列式(例如H矩陣)(其亦用於基於C_ECC(Data)之D_Data之ECC解碼)來編碼,諸如藉由被提供C_ECC(Data)及D_Data之控制器及/或藉由提供資料及ECC(data)(其寫入至一記憶體陣列且可稍後提供至讀取資料控制電路323用於一讀取操作)之一寫入資料控制器電路。基於相同H矩陣來執行相同ECC操作(例如藉由一控制器且亦藉由一半導體器件)可允許避免D_Data之一或多個ECC編碼操作。
在包含讀取資料控制電路323之本發明之實施例中,圖3B之寫入資料控制電路313可用於執行用於提供寫入至一記憶體陣列之C_Data及C_ECC(Data)(其等稍後回應於一讀取操作而提供至讀取資料控制電路323)之操作。在本發明之一些實施例中,由寫入資料控制電路313執行之ECC解碼可基於亦用於由讀取控制電路323執行之ECC解碼之一共同H矩陣來執行。在本發明之一些實施例中,讀取資料控制電路323可與不同寫入資料控制電路一起使用。
圖3D係根據本發明之一實施例之用於一控制器與記憶體之間的錯誤更正寫碼之一流程圖。圖式之上半部中展示用於將資料寫入至記憶體之一流程且圖式之下半部分中展示用於自記憶體讀取資料之一流程。在本發明之一些實施例中,可由寫入資料控制電路313執行用於寫入記憶體之資料之流程。在本發明之一些實施例中,可由讀取資料控制電路323執行用於讀取記憶體之資料之流程。如圖3D中所展示,在記憶體中並列執行用於寫入資料之ECC解碼及用於DBI資料之ECC解碼,且在記憶體中並列執行用於讀取資料之ECC編碼及用於DBI資料之ECC編碼。亦如圖3D中所展示,與記憶庫ECC分開(及串列地)執行用於更正來自控制器與記憶體之間的轉移資料之錯誤之鏈路ECC。
圖4係根據本發明之一實施例之一寫入資料控制電路400之一方塊圖。在本發明之一些實施例中,寫入資料控制電路400可包含於圖3A之ECC控制電路300之寫入資料控制電路310中。
寫入資料控制電路400包含一解串列電路410,其被提供DBI編碼資料「D_Data」、ECC資料「ECC(Data, DBI)」及DBI資料「DBI」。提供至解串列電路410之ECC(Data, DBI)可包含用於經DBI編碼之資料之ECC資料「ECC(Data)」及用於DBI資料之ECC資料「ECC(DBI)」。D_Data、ECC(Data, DBI)及DBI資料可依一串列方式提供至解串列電路410,即,作為連續提供至解串列電路410之複數個位元。各位元可具有與一時脈(例如一資料時脈)同步之一時序。
解串列電路410解串列D_Data、ECC(Data, DBI)及DBI資料且依一並列方式提供D_Data、ECC(Data)、ECC(DBI)及DBI資料。例如,可在一資料時脈之N/2個時脈週期內一次一個位元地連續接收D_Data之N個位元,且解串列電路410將N個位元收集成一群組且接著同時提供D_Data之所有N個位元。同樣地,將ECC(Data, DBI)及DBI資料之串列提供位元收集成群組且由解串列電路410並列提供。
寫入資料控制電路400進一步包含一ECC解碼電路420。ECC解碼電路420被提供來自解串列電路410之ECC(DBI)及DBI資料。ECC解碼電路420使用ECC(DBI)來更正DBI資料且提供更正DBI資料「C_DBI」。C_DBI與DBI編碼資料D_Data一起提供至亦包含於寫入資料控制電路400中之一DBI解碼電路430。DBI解碼電路430使用C_DBI來解碼D_Data以提供純(未編碼)「Data」(其可被視作中間資料)。寫入資料控制電路400進一步包含一ECC解碼電路440。Data與ECC(Data)一起提供至ECC解碼電路440,ECC解碼電路440使用ECC(Data)來更正Data以提供更正資料「C_Data」。ECC解碼電路440進一步提供ECC(Data)作為更正ECC資料「C_ECC(Data)」。在本發明之一些實施例中,C_ECC(Data)相同於用於更正資料且與ECC(DBI)一起提供至解串列電路410之ECC(Data)。
在本發明之一些實施例中,可由寫入資料控制電路400提供儲存於一記憶體陣列(例如圖2之半導體器件200之記憶體陣列250)中之C_Data及C_ECC(Data)。
用於C_Data之ECC資料C_ECC(Data)可由寫入資料控制電路400提供而無需在提供用於儲存於記憶體中之C_Data及C_ECC(Data)之前對C_Data執行一ECC編碼操作。C_ECC(Data)可基於提供至解串列電路410之ECC資料ECC(Data)。例如,在本發明之一些實施例中,C_ECC(Data)係提供至解串列電路410之相同ECC(Data)。如先前所描述,藉由不對C_Data執行一ECC編碼操作以提供C_ECC(Data),準備由寫入資料控制電路400提供之資料及ECC資料之時間可比習知方法減少。
圖5A係根據本發明之一實施例之一讀取資料控制電路500之一方塊圖。在本發明之一些實施例中,讀取資料控制電路500可包含於圖3A之ECC控制電路300之讀取資料控制電路320中。
讀取資料控制電路500包含一ECC解碼電路510。ECC解碼電路510被提供「Data」及用於Data之ECC資料「ECC(Data)」。ECC解碼電路510使用ECC(Data)來更正Data以提供更正資料「C_Data」(其可被視作中間資料)。ECC解碼電路510進一步提供ECC(Data)作為更正ECC資料「C_ECC(Data)」。在本發明之一些實施例中,C_ECC(Data)相同於用於更正資料且與Data一起提供至ECC解碼電路510之ECC(Data)。
將C_Data提供至一DBI編碼電路520。DBI編碼電路520評估C_Data且因此編碼C_Data以提供DBI編碼更正資料「DC_Data」。DBI編碼電路520進一步提供DBI資料「DBI」,其指示DC_Data係真或與C_Data互補。將DBI資料提供至一ECC編碼電路530。ECC編碼電路530評估DBI資料且基於DBI資料來提供DBI資料之ECC資料「ECC(DBI)」。ECC(DBI)可由(例如)一控制器用於更正DBI資料。
由ECC編碼電路530將ECC(DBI)及DBI資料提供至一串列電路540。串列電路540亦被提供DC_Data及C_ECC(Data)。串列電路540被並列提供DC_Data、C_ECC(Data)、DBI資料及ECC(DBI),且將其等串列以依一串列方式提供D_Data、DBI資料及用於D_Data及DBI資料之ECC資料「ECC(Data, DBI)」。例如,可將D_Data、DBI資料及ECC(Data, DBI)提供至一控制器。
用於D_Data之ECC資料C_ECC(Data)可由讀取資料控制電路500提供而無需對Data或C_Data執行一ECC編碼操作。例如,ECC資料C_ECC(Data)可能已使用一共同(例如相同)行列式(例如H矩陣)(其亦用於基於C_ECC(Data)之D_Data之ECC解碼)來編碼,諸如藉由被提供C_ECC(Data)及D_Data之控制器及/或藉由提供資料及ECC(data)(其寫入至一記憶體陣列且可稍後提供至讀取資料控制電路500用於一讀取操作)之一寫入資料控制器電路。基於相同H矩陣來執行相同ECC操作(例如藉由一控制器且亦藉由一半導體器件)可允許避免D_Data之一或多個ECC編碼操作。C_ECC(Data)可基於提供至ECC解碼電路510之ECC資料ECC(Data)。例如,ECC(Data)可與Data一起儲存於一記憶體陣列中,例如,其等一起提供至ECC解碼電路510。在本發明之一些實施例中,由讀取資料控制電路500提供之ECC(Data)相同於提供至ECC解碼電路510之ECC(Data)。藉由不對Data或C_Data執行一ECC編碼操作以提供C_ECC(Data),準備由讀取資料控制電路500提供之資料及ECC資料之時間可比習知方法減少。
在包含讀取資料控制電路500之本發明之實施例中,圖4之寫入資料控制電路400可用於執行用於提供寫入至一記憶體陣列之D_Data及ECC(Data)(其等稍後回應於一讀取操作而提供至讀取資料控制電路500)之操作。在本發明之一些實施例中,由寫入資料控制電路400執行之ECC解碼可基於亦用於由讀取控制電路500執行之ECC解碼之一共同H矩陣來執行。在本發明之一些實施例中,讀取資料控制電路500可與不同寫入資料控制電路一起使用。
圖5B係根據本發明之一實施例之用於一控制器與記憶體之間的錯誤更正寫碼之一流程圖。圖式之上半部中展示用於將資料寫入至記憶體之一流程且圖式之下半部中展示用於自記憶體讀取資料之一流程。在本發明之一些實施例中,可由寫入資料控制電路400執行用於寫入記憶體之資料之流程。在本發明之一些實施例中,可由讀取資料控制電路500執行用於讀取記憶體之資料之流程。如圖5B中所展示,在記憶體中串列執行用於DBI資料之ECC解碼及用於寫入資料之ECC解碼,且在記憶體中串列執行用於讀取資料之ECC解碼及用於DBI資料之ECC編碼。亦如圖5B中所展示,在控制器中於DBI編碼之前執行ECC編碼。由記憶體應用DBI解碼之後的ECC解碼之反轉流程。
圖6A係根據本發明之一實施例之一寫入資料控制電路600之一方塊圖。在本發明之一些實施例中,寫入資料控制電路600可包含於圖3A之ECC控制電路300之寫入資料控制電路310中。
寫入資料控制電路600包含解串列電路610,其被提供DBI編碼資料「D_Data」、ECC資料「ECC(Data, DBI)」及DBI資料「DBI」。提供至解串列電路610之ECC(Data, DBI)可包含用於經DBI編碼之資料之ECC資料「ECC(Data)」及用於DBI資料之ECC資料「ECC(DBI)」。可依一串列方式提供D_Data、ECC(Data, DBI)及DBI資料。解串列電路610解串列D_Data、ECC(Data, DBI)及DBI資料且依一並列方式提供D_Data、ECC(Data)、ECC(DBI)及DBI資料。先前已參考圖4描述提供資料之串列及並列方式。
寫入資料控制電路600包含一ECC解碼電路620。ECC解碼電路620被提供來自解串列電路610之ECC(DBI)及DBI資料。ECC解碼電路620使用ECC(DBI)來更正DBI資料且提供更正DBI資料「C_DBI」。寫入資料控制電路600進一步包含一ECC解碼電路640。D_Data與ECC(Data)一起提供至ECC解碼電路640,ECC解碼電路640使用ECC(Data)來更正D_Data以提供更正DBI編碼資料「CD_Data」(其可被視作中間資料)。ECC解碼電路640進一步提供ECC(Data)作為更正ECC資料「C_ECC(Data)」。在本發明之一些實施例中,C_ECC(Data)相同於用於更正資料且與ECC(DBI)一起提供至解串列電路610之ECC(Data)。
CD_Data與C_DBI一起提供至亦包含於寫入資料控制電路600中之一DBI解碼電路630。DBI解碼電路630使用C_DBI來解碼CD_Data以提供更正資料「C_Data」。
與圖4之寫入資料控制電路400相比,在寫入資料控制電路600中,分別由ECC解碼電路640及ECC解碼電路620並列執行(DBI編碼) D_Data之ECC解碼及DBI資料之ECC解碼。在寫入資料控制電路400中,串列執行由ECC解碼電路420 ECC解碼DBI資料、由DBI解碼電路430 DBI解碼D_Data以恢復純資料及由ECC解碼電路440 ECC解碼純資料。在此一配置中,提供純資料之DBI解碼發生於Data之ECC解碼之前。然而,在具有並列執行之D_Data之ECC解碼及DBI資料之ECC解碼的寫入資料控制電路600之配置中,D_Data之ECC解碼發生於(更正) DBI編碼資料CD_Data之DBI解碼之前。由於寫入資料控制電路600之並列操作,處理用於寫入至一記憶體陣列之寫入資料可比寫入資料控制電路400花費更少時間。
在包含寫入資料控制電路600之本發明之實施例中,圖5A之讀取資料控制電路500可用於執行用於提供一些實施例之D_Data、DBI資料及ECC(Data, DBI)資料之操作。在本發明之其他實施例中,寫入資料控制電路600可與不同讀取資料控制電路一起使用。
對於其中DBI編碼資料CD_Data由一ECC解碼電路ECC解碼之本發明之實施例(諸如寫入資料控制電路600),DBI編碼資料CD_Data之ECC解碼之結果較佳提供相同於純Data之ECC解碼之計算結果。即,ECC解碼更正DBI編碼資料CD_Data中之一錯誤不會有任何問題。
圖6B係根據本發明之一實施例之一讀取資料控制電路605之一方塊圖。在本發明之一些實施例中,讀取資料控制電路605可包含於圖3A之ECC控制電路300之讀取資料控制電路320中。在本發明之一些實施例中,讀取資料控制電路605可與寫入資料控制電路600一起使用。
讀取資料控制電路605在圖6B中展示為接收ECC(Data)及Data。例如,可自一記憶體陣列提供Data及ECC(Data)。將Data提供至一DBI編碼電路615。DBI編碼電路615評估Data且因此編碼Data以提供DBI編碼資料「D_Data」。DBI編碼電路615進一步提供DBI資料「DBI」,其指示D_Data係真或與Data互補。將DBI資料提供至一ECC編碼電路625。ECC編碼電路625評估DBI資料且基於DBI資料來提供DBI資料之ECC資料「ECC(DBI)」。ECC(DBI)可(例如)由一控制器用於更正DBI資料。
將D_Data及ECC(Data)提供至一ECC解碼電路645。ECC解碼電路645使用ECC(Data)來更正D_Data以提供更正資料「CD_Data」(其可被視作中間資料)。ECC解碼電路645進一步提供ECC(Data)。ECC(Data)可(例如)由控制器用於更正D_Data。在本發明之一些實施例中,由ECC解碼電路645提供之ECC(Data)相同於用於更正D_Data且與D_Data一起提供至ECC解碼電路645之ECC(Data)。
在讀取資料控制電路605中,分別由ECC解碼電路645及ECC編碼電路625並列執行D_Data之ECC解碼及DBI資料之ECC編碼。
由ECC編碼電路625將ECC(DBI)及DBI資料提供至一串列電路635。亦由ECC編碼電路645向串列電路635提供ECC(Data)及CD_Data。串列電路635被並列提供CD_Data、ECC(Data)、DBI資料及ECC(DBI),且將其等串列以依一串列方式提供CD_Data、DBI資料及用於D_Data及DBI資料之ECC資料「ECC(Data, DBI)」。例如,可將CD_Data、DBI資料及ECC(Data, DBI)提供至一控制器。
用於CD_Data之ECC資料ECC(Data)可由讀取資料控制電路605提供而無需對Data或D_Data執行一ECC編碼操作。例如,ECC資料ECC(Data)可能已使用一共同(例如相同)行列式(例如H矩陣)(其亦用於基於ECC(Data)之CD_Data之ECC解碼)來編碼,諸如藉由被提供ECC(Data)及CD_Data之控制器及/或藉由提供自一記憶體陣列讀取之資料及ECC(data)之一讀取資料控制器電路。基於相同H矩陣來執行相同ECC操作(例如藉由一控制器且亦藉由一半導體器件)可允許避免資料之一或多個ECC編碼操作。
在包含讀取資料控制電路605之本發明之實施例中,圖6A之寫入資料控制電路600可用於執行用於提供寫入至一記憶體陣列之C_Data及C_ECC(Data)(其等稍後回應於一讀取操作而作為Data及ECC(Data)提供至讀取資料控制電路323)之操作。在本發明之一些實施例中,由寫入資料控制電路600執行之ECC解碼可基於亦用於由讀取控制電路605執行之ECC解碼之一共同H矩陣來執行。在本發明之一些實施例中,讀取資料控制電路605可與不同寫入資料控制電路一起使用。
圖7A-1、圖7A-2及圖7A-3及圖7B係根據本發明之一實施例之用於執行ECC編碼及/或解碼操作之行列式(例如H矩陣)之圖式。圖7A-1、圖7A-2及圖7A-3係可用於資料之實例行列式。圖7B係可用於DBI資料之一實例行列式。圖7A-1、圖7A-2及圖7A-3及圖7B之實例行列式在各位元組(S0、S1、...、S8)中具有偶數個「1」及「0」。因此,圖7A-1、圖7A-2及圖7A-3及圖7B之實例行列式提供純資料及DBI編碼資料兩者之相同ECC計算結果。
圖7A-1、圖7A-2及圖7A-3及圖7B之行列式可與(例如)類似於先前所引用且先前所描述之美國專利第9,690,653號中所揭示之錯誤更正電路的錯誤更正電路一起使用,該專利之全部內容以引用的方式併入本文中。如'653專利中所描述,各校正子因數(Si)可由EXOR電路透過一H矩陣中之各資料進入1來建構。校正子S (非零)指示1錯誤且S=0式之一錯誤位元之位置。若H矩陣在各位元組中僅具有偶數個「1」,則EXOR電路輸出相同結果。例如,若Data經DBI編碼,則EXOR電路之輸入自00000000變為11111111,然而,計算結果係相同「0」(無錯誤)。與此類似,EXOR電路之輸入自00100000變為11011111,然而,計算結果係相同「1」(有錯誤)。
圖7A-1、圖7A-2及圖7A-3及圖7B之實例行列式可與並列執行之DBI編碼資料之ECC解碼及DBI資料之ECC解碼一起使用,且與(更正) DBI編碼資料之DBI解碼之前的DBI編碼資料之ECC解碼一起使用。本發明之實施例不意欲限於圖7A-1、圖7A-2及圖7A-3及圖7B之特定實例行列式,因而,本發明之其他實施例使用ECC解碼及/或編碼之替代行列式。
圖8A係根據本發明之一實施例之一寫入資料控制電路800之一方塊圖。在本發明之一些實施例中,寫入資料控制電路800可包含於圖3A之ECC控制電路300之寫入資料控制電路310中。
寫入資料控制電路800包含解串列電路810,其被提供DBI編碼資料「D_Data」及DBI資料「DBI」。可依一串列方式提供D_Data及DBI資料,且解串列電路810解串列D_Data及DBI資料且依一並列方式提供D_Data及DBI資料。
寫入資料控制電路800進一步包含ECC解碼電路820及ECC解碼電路840。在寫入資料控制電路800中,假定停用及旁路(例如,跳過) ECC解碼電路820及840,因為僅DBI編碼資料D_Data及DBI資料提供至寫入資料控制電路800。因此,D_Data及DBI資料分別透過ECC解碼電路840及ECC解碼電路820來提供至包含於寫入資料控制電路800中之一DBI解碼電路830。DBI解碼電路830使用DBI資料來解碼D_Data以提供DBI解碼資料「Data」。Data由寫入資料控制電路800提供至一ECC編碼電路850。ECC編碼電路850評估Data且提供用於Data之ECC資料「ECC(Data)」。Data及ECC(Data)可儲存於一記憶體陣列(例如圖2之半導體器件200之記憶體陣列250)中。ECC編碼電路850提供記憶庫錯誤更正寫碼,其可用於更正可能已發生於儲存於記憶體陣列中時之錯誤。
在包含寫入資料控制電路800之本發明之實施例中,亦可包含圖5A之讀取資料控制電路500來執行用於提供D_Data及DBI資料之操作。在此等實施例中,ECC解碼電路510不提供更正ECC資料(例如C_ECC(Data))且ECC編碼電路530被停用以亦不提供用於DBI資料之ECC資料(例如ECC(DBI))。因此,僅DBI編碼資料D_Data及DBI資料由讀取資料控制電路500提供。D_Data及DBI資料可提供至(例如)一控制器。在本發明之其他實施例中,寫入資料控制電路800可與不同讀取資料控制電路一起使用。
圖8B係根據本發明之一實施例之一讀取資料控制電路805之一方塊圖。讀取資料控制電路805在圖8B中展示為自記憶庫ECC解碼電路803接收更正資料C_Data。在本發明之一些實施例中,讀取資料控制電路805可包含於圖3A之ECC控制電路300之讀取資料控制電路320中。在本發明之一些實施例中,讀取資料控制電路805可與寫入資料控制電路800一起使用。
例如,自一記憶體陣列向記憶庫ECC解碼電路803提供「Data」及用於Data之ECC資料「ECC(Data)」。記憶庫ECC解碼電路803使用ECC(Data)來更正Data以提供更正資料「C_Data」(其可被視作中間資料)。如先前所描述,記憶庫錯誤更正寫碼可用於更正可能已發生於儲存於記憶體陣列中時之任何錯誤。
讀取資料控制電路805在圖8B中展示為自記憶庫ECC解碼電路803接收C_Data。將C_Data提供至一DBI編碼電路815。DBI編碼電路815評估Data且因此編碼Data以提供DBI編碼資料「DC_Data」。DBI編碼電路815進一步提供DBI資料「DBI」,其指示DC_Data係真或與C_Data互補。將DBI資料提供至一ECC編碼電路825且將DC_Data提供至一ECC編碼電路845。
在讀取資料控制電路805中,假定停用及旁路ECC編碼電路825及845且不由讀取資料控制電路805提供ECC資料ECC(Data)及ECC(DBI)。因此,DC_Data及DBI資料分別透過ECC編碼電路845及ECC編碼電路825來提供至一串列電路835,串列電路835將DC_Data及DBI資料串列以依一串列方式提供DC_Data及DBI資料。可將DC_Data及DBI資料提供至(例如)一控制器。
在包含寫入資料控制電路800之本發明之實施例中,亦可包含讀取資料控制電路805來執行用於提供DC_Data及DBI資料之操作。在本發明之其他實施例中,讀取資料控制電路805可與不同寫入資料控制電路一起使用。圖9係根據本發明之各種實施例之寫入資料控制電路及讀取資料控制電路之一佈局圖。佈局圖包含一周邊區域910及一記憶體陣列區域920。
對於寫入資料控制電路,ECC解碼(DBI)及DBI解碼可由周邊區域910中之電路(例如分別定位於區域913及915中之電路)執行。用於寫入資料控制電路之ECC解碼(Data)可由周邊區域910或記憶體單元陣列區域920中之電路執行。當由記憶體單元陣列區域920中之電路執行時,電路可定位於(例如)區域925中。然而,ECC解碼(Data)可較佳在周邊區域910中以避免在記憶體單元陣列區域920中具有額外信號線。
對於讀取資料控制電路,ECC編碼(DBI)及DBI編碼可由周邊區域910中之電路(例如分別定位於區域913及915中之電路)執行。用於讀取資料控制電路之ECC解碼(Data)可依相同於先前針對寫入資料控制電路所描述之方式的方式由周邊區域910或記憶體單元陣列區域920中之電路執行。
在被提供DBI編碼資料D_Data及DBI資料(無用於資料或DBI資料之ECC資料)之寫入資料控制電路之實施例中,額外ECC編碼(Data)可配置於記憶體單元陣列區域920中,其可減少自周邊區域910延伸至記憶體單元陣列區域920之信號線之數目,信號線可為相對較長信號線。減少相對較長信號線之數目可降低功耗。同樣地,用於讀取資料控制電路之ECC解碼(Data)可配置於記憶體單元陣列區域920中。
圖9之佈局僅供例示且不意欲使本發明之範疇受限於圖9之實例中之特定佈局。因此,本發明之其他實施例可包含除圖9中所展示之佈局之外的寫入資料控制電路及讀取資料控制電路之佈局。
應自上文暸解,儘管本文已出於繪示目的而描述本發明之特定實施例,但可在不背離本發明之精神及範疇之情況下作出各種修改。因此,本發明之範疇不應受限於本文中所描述之任何特定實施例。
10:控制器
100:系統
110:記憶體
200:半導體器件
205:命令/位址輸入電路
212:位址解碼器
215:命令解碼器
220:時脈輸入緩衝器
222:內部時脈產生器
240:列解碼器
245:行解碼器
250:記憶體陣列/記憶體單元陣列
255:錯誤更正寫碼(ECC)控制電路
260:輸入/輸出電路
270:內部電壓產生器電路
300:ECC控制電路
301:記憶庫ECC編碼電路
303:記憶庫ECC解碼電路
310:寫入資料控制電路
313:寫入資料控制電路
315:解串列電路
318:資料匯流反轉(DBI)編碼電路
320:讀取資料控制電路
323:讀取資料控制電路
325:ECC解碼電路
328:ECC編碼電路
330:DBI解碼電路
338:ECC編碼電路
340:ECC解碼電路
348:串列電路
400:寫入資料控制電路
410:解串列電路
420:ECC解碼電路
430:DBI解碼電路
440:ECC解碼電路
500:讀取資料控制電路
510:ECC解碼電路
520:DBI編碼電路
530:ECC編碼電路
540:串列電路
600:寫入資料控制電路
605:讀取資料控制電路
610:解串列電路
615:DBI編碼電路
620:ECC解碼電路
625:ECC編碼電路
630:DBI解碼電路
635:串列電路
640:ECC解碼電路
645:ECC解碼電路
800:寫入資料控制電路
803:記憶庫ECC解碼電路
805:讀取資料控制電路
810:解串列電路
815:DBI編碼電路
820:ECC解碼電路
825:ECC編碼電路
830:DBI解碼電路
835:串列電路
840:ECC解碼電路
845:ECC編碼電路
850:ECC編碼電路
910:周邊區域
913:區域
915:區域
920:記憶體陣列區域/記憶體單元陣列區域
925:區域
圖1係根據本發明之一實施例之一系統之一方塊圖。
圖2係根據本發明之一實施例之一裝置之一方塊圖。
圖3A係根據本發明之一實施例之一ECC控制電路之一方塊圖。
圖3B係根據本發明之一實施例之一寫入資料控制電路之一方塊圖。
圖3C係根據本發明之一實施例之一讀取資料控制電路之一方塊圖。
圖3D係根據本發明之一實施例之用於一控制器與記憶體之間的錯誤更正寫碼之一流程圖。
圖4係根據本發明之一實施例之一寫入資料控制電路之一方塊圖。
圖5A係根據本發明之一實施例之一讀取資料控制電路之一方塊圖。
圖5B係根據本發明之一實施例之用於一控制器與記憶體之間的錯誤更正寫碼之一流程圖。
圖6A係根據本發明之一實施例之一寫入資料控制電路之一方塊圖。
圖6B係根據本發明之一實施例之一讀取資料控制電路之一方塊圖。
圖7A-1、圖7A-2及圖7A-3及圖7B係根據本發明之一實施例之行列式(例如H矩陣)或執行ECC編碼及/或解碼操作之圖式。
圖8A係根據本發明之一實施例之一寫入資料控制電路之一方塊圖。
圖8B係根據本發明之一實施例之一讀取資料控制電路之一方塊圖。
圖9係根據本發明之各種實施例之寫入資料控制電路及讀取資料控制電路之一佈局圖。
300:錯誤更正寫碼(ECC)控制電路
310:寫入資料控制電路
320:讀取資料控制電路
Claims (22)
- 一種裝置,其包括: 一I/O電路,其經組態以接收第一資料及與該第一資料相關聯之第一ECC資料; 一記憶體陣列;及 一控制電路,其耦合於該I/O電路與該記憶體陣列之間,該控制電路經組態以至少部分回應於該第一資料及該第一ECC資料而執行第一ECC解碼以產生更正第一資料及更正第一ECC資料,該控制電路進一步經組態以將該更正第一資料及該更正第一ECC資料兩者儲存至該記憶體陣列中。
- 如請求項1之裝置,其中該控制電路進一步經組態以:自該記憶體陣列接收第二資料及對應於該第二資料之第二ECC資料,執行第二ECC解碼以產生更正第二資料及更正第二ECC資料,且將該更正第二資料及該更正第二ECC資料傳輸至該I/O電路。
- 如請求項2之裝置,其中基於一共同H矩陣來執行該第一ECC解碼及該第二ECC解碼之各者。
- 如請求項1之裝置,其中該I/O電路進一步經組態以接收DBI資料及對應於該DBI資料之第二ECC資料,且基於該DBI資料來DBI編碼該第一資料; 其中該控制電路進一步經組態以回應於該第二ECC資料而對該DBI資料執行第二ECC解碼以產生更正DBI資料且回應於該更正DBI資料而對該第一資料執行DBI解碼以產生一中間第一資料;且 其中對該中間第一資料及該第一ECC資料執行該第一ECC解碼以產生該更正第一資料及該更正第一ECC資料。
- 如請求項1之裝置,其中該I/O電路進一步經組態以接收DBI資料及對應於該DBI資料之第二ECC資料,且基於該DBI資料來DBI編碼該第一資料; 其中對該第一資料及該第一ECC資料執行該第一ECC解碼以產生一中間第一資料及該更正第一ECC資料;且其中該控制電路進一步經組態以對該DBI資料及該第二ECC資料執行一第二ECC解碼以產生更正DBI資料且回應於該更正DBI資料而對該中間第一資料執行DBI解碼以產生該更正第一資料。
- 如請求項5之裝置,其中該控制電路進一步經組態以:自記憶體陣列接收第二資料及對應於該第二資料之第二ECC資料,對該第二資料及該第二ECC資料執行一第三ECC解碼以產生中間第二資料及更正第二ECC資料,對該中間第二資料執行DBI編碼以產生更正第二資料及額外DBI資料,對該額外DBI資料執行ECC編碼以產生一第三ECC資料,且將該更正第二資料、該更正第二ECC資料、該額外DBI資料及該第三ECC資料傳輸至該I/O電路。
- 一種裝置,其包括: 一I/O電路,其經組態以接收第一資料、與該第一資料相關之資料匯流反轉(DBI)資料、與該第一資料相關聯之第一ECC資料及與該DBI資料相關聯之第二ECC資料; 一記憶體陣列;及 一控制電路,其耦合於該I/O電路與該記憶體單元陣列之間,該控制電路包括一第一ECC解碼電路、一第二ECC解碼電路及一DBI解碼電路; 其中該第二ECC解碼電路經組態以至少部分回應於該DBI資料及該第二ECC資料而產生更正DBI資料; 其中該第一ECC解碼電路及該DBI解碼電路經組態以至少部分回應於該第一資料、該第一ECC資料及該更正DBI資料而產生更正及DBI解碼第一資料及更正第一ECC資料;且 其中該控制電路經組態以將該更正及DBI解碼第一資料及該更正第一ECC資料兩者儲存至該記憶體陣列中。
- 如請求項7之裝置,其中該DBI解碼電路進一步經組態以接收該第一資料及該更正DBI資料且產生DBI解碼第一資料;且 其中該第一ECC解碼電路進一步經組態以接收該DBI解碼第一資料及該第一ECC資料且產生該更正及DBI解碼第一資料及該更正第一ECC資料。
- 如請求項7之裝置,其中該第一ECC解碼電路進一步經組態以接收該第一資料及該第一ECC資料且產生更正第一資料及更正第一ECC資料;且 其中該DBI解碼電路進一步經組態以接收該更正第一資料及該更正DBI資料且產生該更正及DBI解碼第一資料。
- 如請求項7之裝置,其中該第一ECC解碼電路進一步經組態以自該記憶體陣列接收第二資料及第三ECC資料且產生更正第二資料及更正第三ECC資料。
- 如請求項10之裝置,其中該控制電路進一步包括一DBI編碼電路及一ECC編碼電路; 其中該DBI編碼電路經組態以回應於該更正第二資料而產生額外DBI資料;且 其中該ECC編碼電路經組態以回應於該額外DBI資料而產生一第四ECC資料。
- 如請求項11之裝置,其中該I/O電路進一步經組態以外部輸出第三資料、該額外DBI資料、該更正第三ECC資料及該第四ECC資料; 其中回應於該更正第二資料及該額外DBI資料而產生該第三資料。
- 一種裝置,其包括: 一寫入資料控制電路,其經組態以自信號匯流排接收寫入資料及對應ECC資料且基於該對應ECC資料來更正該寫入資料以提供更正寫入資料,該寫入控制電路進一步經組態以基於該對應ECC資料來提供更正對應ECC資料,其中提供儲存於一記憶體陣列中之該更正寫入資料及該更正對應ECC資料;及 一讀取資料控制電路,其經組態以自該記憶體陣列接收讀取資料及對應ECC資料且基於該對應ECC資料來更正該讀取資料以提供更正讀取資料,該讀取控制電路進一步經組態以基於該對應ECC資料來提供更正對應ECC資料,其中將該更正讀取資料及該更正對應ECC資料提供至該等信號匯流排。
- 如請求項13之裝置,其中該寫入資料經DBI編碼且其中該寫入資料控制電路包含經組態以自該等信號匯流排接收DBI資料及對應ECC資料且更正該DBI資料以提供更正DBI資料的一ECC解碼電路。
- 如請求項14之裝置,其中該寫入資料控制電路包含經組態以在基於該對應ECC資料來更正該寫入資料之前基於該更正DBI資料來DBI解碼該寫入資料的一DBI解碼電路。
- 如請求項14之裝置,其中該寫入資料控制電路包含經組態以在基於該對應ECC資料來更正該寫入資料之後基於該更正DBI資料來DBI解碼該寫入資料的一DBI解碼電路。
- 如請求項14之裝置,其中該寫入資料控制電路包含經組態以基於對應於該寫入資料之該ECC資料來更正該寫入資料的一第一ECC解碼電路,該第一ECC解碼電路與經組態以基於對應於該DBI資料之該ECC資料來更正該DBI資料的一第二ECC解碼電路並列。
- 如請求項17之裝置,其中該ECC解碼電路經組態以基於根據提供純資料及DBI編碼資料兩者之相同ECC計算結果之一行列式的該ECC資料來更正該寫入資料。
- 如請求項17之裝置,其中該ECC解碼電路經組態以基於根據使偶數個「1」及「0」包含於各位元組中之一行列式的該ECC資料來更正該寫入資料。
- 如請求項13之裝置,其中該讀取資料控制電路包含進一步經組態以DBI編碼該更正讀取資料及ECC編碼DBI資料以提供對應於該DBI資料之ECC資料的一DBI編碼電路,其中亦將該DBI資料及對應於該DBI資料之該ECC資料提供至該等信號匯流排。
- 如請求項13之裝置,其進一步包括經組態以在儲存於該記憶體陣列中之前對該更正寫入資料執行錯誤更正寫碼的一記憶庫ECC編碼電路。
- 如請求項13之裝置,其進一步包括經組態以在提供至該讀取資料控制電路之前對該讀取資料執行錯誤更正的一記憶庫ECC解碼電路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/126,991 | 2018-09-10 | ||
US16/126,991 US10795759B2 (en) | 2018-09-10 | 2018-09-10 | Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202022881A true TW202022881A (zh) | 2020-06-16 |
TWI735026B TWI735026B (zh) | 2021-08-01 |
Family
ID=69720787
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110124293A TWI786707B (zh) | 2018-09-10 | 2019-08-16 | 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 |
TW108129194A TWI735026B (zh) | 2018-09-10 | 2019-08-16 | 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110124293A TWI786707B (zh) | 2018-09-10 | 2019-08-16 | 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10795759B2 (zh) |
EP (1) | EP3850488A4 (zh) |
KR (2) | KR20230153497A (zh) |
CN (1) | CN112384897A (zh) |
TW (2) | TWI786707B (zh) |
WO (1) | WO2020055731A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10795759B2 (en) | 2018-09-10 | 2020-10-06 | Micron Technology, Inc. | Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories |
KR102670661B1 (ko) * | 2019-06-19 | 2024-05-31 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
JP6994649B2 (ja) * | 2019-07-09 | 2022-01-14 | パナソニックIpマネジメント株式会社 | 半導体メモリデバイス、エラー通知方法 |
US11816339B2 (en) * | 2020-09-07 | 2023-11-14 | Micron Technology, Inc. | Selectable error control for memory device |
US11605441B1 (en) | 2021-08-30 | 2023-03-14 | Samsung Electronics Co., Ltd. | Memory systems having memory devices therein with enhanced error correction capability and methods of operating same |
DE102022106281A1 (de) | 2022-03-17 | 2023-09-21 | Aesculap Ag | Instrumententracking und -inspektion zur automatischen Identifikation medizinischer/chirurgischer Gegenstände |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3305966B2 (ja) * | 1995-12-25 | 2002-07-24 | ソニー株式会社 | データ復号装置及びその方法並びにデータ再生装置 |
JP3871471B2 (ja) * | 1999-07-12 | 2007-01-24 | 松下電器産業株式会社 | Ecc回路搭載半導体記憶装置及びその検査方法 |
US6691276B2 (en) * | 2001-06-25 | 2004-02-10 | Intel Corporation | Method for detecting and correcting failures in a memory system |
US7143332B1 (en) | 2003-12-16 | 2006-11-28 | Xilinx, Inc. | Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices |
US8127204B2 (en) * | 2008-08-15 | 2012-02-28 | Micron Technology, Inc. | Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system |
US8181101B2 (en) * | 2009-01-30 | 2012-05-15 | International Business Machines Corporation | Data bus system, its encoder/decoder and encoding/decoding method |
US8677211B2 (en) * | 2010-12-23 | 2014-03-18 | International Business Machines Corporation | Data bus inversion using spare error correction bits |
US8484542B2 (en) | 2011-02-08 | 2013-07-09 | Sandisk Technologies Inc. | Data recovery using additional error correction coding data |
JP5204868B2 (ja) * | 2011-04-12 | 2013-06-05 | シャープ株式会社 | 半導体記憶装置 |
US8954825B2 (en) * | 2012-03-06 | 2015-02-10 | Micron Technology, Inc. | Apparatuses and methods including error correction code organization |
KR102094878B1 (ko) * | 2014-02-10 | 2020-03-30 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 동작 방법 |
US9405721B2 (en) * | 2014-06-06 | 2016-08-02 | Micron Technology, Inc. | Apparatuses and methods for performing a databus inversion operation |
US9979416B2 (en) * | 2014-12-10 | 2018-05-22 | Rambus Inc. | Memory controller and method of data bus inversion using an error detection correction code |
JP2016126813A (ja) | 2015-01-08 | 2016-07-11 | マイクロン テクノロジー, インク. | 半導体装置 |
KR102324769B1 (ko) | 2015-06-29 | 2021-11-10 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
US10268539B2 (en) * | 2015-12-28 | 2019-04-23 | Intel Corporation | Apparatus and method for multi-bit error detection and correction |
KR20170121798A (ko) * | 2016-04-26 | 2017-11-03 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US10067827B2 (en) | 2016-06-29 | 2018-09-04 | Micron Technology, Inc. | Error correction code event detection |
KR20180072026A (ko) * | 2016-12-20 | 2018-06-29 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작 방법 |
US10795759B2 (en) | 2018-09-10 | 2020-10-06 | Micron Technology, Inc. | Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories |
-
2018
- 2018-09-10 US US16/126,991 patent/US10795759B2/en active Active
-
2019
- 2019-08-16 TW TW110124293A patent/TWI786707B/zh active
- 2019-08-16 TW TW108129194A patent/TWI735026B/zh active
- 2019-09-09 KR KR1020237036124A patent/KR20230153497A/ko not_active Application Discontinuation
- 2019-09-09 WO PCT/US2019/050177 patent/WO2020055731A1/en unknown
- 2019-09-09 CN CN201980045953.0A patent/CN112384897A/zh active Pending
- 2019-09-09 EP EP19859989.6A patent/EP3850488A4/en not_active Withdrawn
- 2019-09-09 KR KR1020217009065A patent/KR102594059B1/ko active IP Right Grant
-
2020
- 2020-09-10 US US17/017,254 patent/US11314591B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI735026B (zh) | 2021-08-01 |
EP3850488A4 (en) | 2022-06-01 |
US10795759B2 (en) | 2020-10-06 |
KR20230153497A (ko) | 2023-11-06 |
KR20210040162A (ko) | 2021-04-12 |
US20200081769A1 (en) | 2020-03-12 |
US11314591B2 (en) | 2022-04-26 |
WO2020055731A1 (en) | 2020-03-19 |
EP3850488A1 (en) | 2021-07-21 |
US20200409786A1 (en) | 2020-12-31 |
TWI786707B (zh) | 2022-12-11 |
KR102594059B1 (ko) | 2023-10-25 |
CN112384897A (zh) | 2021-02-19 |
TW202139203A (zh) | 2021-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI735026B (zh) | 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 | |
US10297294B2 (en) | Apparatuses and methods for performing intra-module databus inversion operations | |
US7426683B2 (en) | Semiconductor memory device equipped with error correction circuit | |
KR20160021556A (ko) | 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치 | |
CN110942798B (zh) | 半导体存储器件、存储系统及操作半导体存储器件的方法 | |
US11544010B2 (en) | Apparatuses and methods to mask write operations for a mode of operation using ECC circuitry | |
JP4050091B2 (ja) | 半導体メモリ装置 | |
TWI689935B (zh) | 具糾錯電路的記憶體 | |
US11386940B2 (en) | Apparatuses and methods including multilevel command and address signals | |
KR20180134120A (ko) | 반도체시스템 | |
KR20210132784A (ko) | 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 | |
US11947810B2 (en) | Semiconductor memory device and memory system including the same | |
JP6862487B2 (ja) | エラー訂正回路を有するメモリ | |
KR20220095576A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 | |
JP2000132995A (ja) | 半導体装置 | |
KR20170097996A (ko) | 반도체 장치 | |
US11928021B2 (en) | Systems and methods for address fault detection | |
US12008247B2 (en) | Memory system | |
US20240201868A1 (en) | Semiconductor memory device and memory system including the same | |
TW202046329A (zh) | 記憶體裝置 | |
CN111913828A (zh) | 具纠错电路的存储器 | |
JPH07134900A (ja) | 半導体記憶装置 | |
JP2006012360A (ja) | 半導体記憶装置 |