TWI727994B - 記憶體裝置與校正方法 - Google Patents
記憶體裝置與校正方法 Download PDFInfo
- Publication number
- TWI727994B TWI727994B TW105136664A TW105136664A TWI727994B TW I727994 B TWI727994 B TW I727994B TW 105136664 A TW105136664 A TW 105136664A TW 105136664 A TW105136664 A TW 105136664A TW I727994 B TWI727994 B TW I727994B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- circuit
- byte
- data value
- value
- Prior art date
Links
Images
Classifications
-
- 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
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/026—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
-
- 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/44—Indication or identification of errors, e.g. for repair
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/14—Dummy cell management; Sense reference voltage generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0054—Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/08—Control thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一種記憶體裝置包含驅動器、參考電路、讀取電路以及錯誤校正編碼電路。驅動器用以產生至少一預定電壓。參考電路用以被寫入至少一預定電壓,以產生參考信號。讀取電路用以根據參考信號與第一資料產生第二資料的多個資料值。錯誤校正編碼電路用以在錯誤出現在第二資料的全部資料值時重置參考電路。此外,一種校正方法亦在此揭露。
Description
本揭示內容實施例是有關於一種記憶體裝置,且特別是有關於記憶體裝置內的校正方法。
隨著製程技術的快速增長,高速記憶體裝置已經被廣泛地實施於各種應用。當資料傳輸的速度越來越快,在傳輸過程會產生資料錯誤。在一些情況中,記憶體裝置所儲存的資料內的資料錯誤能夠採用錯誤校正碼校正。於另一些情況中,資料錯誤是由記憶體裝置的內部電路(例如包含參考電路)的故障所引起的。
本揭示內容的一態樣係關於一種記憶體裝置,其包含驅動器、參考電路、讀取電路以及錯誤校正編碼電路。驅動器用以產生至少一預定電壓。參考電路用以被寫入至少一預定電壓,以產生參考信號。讀取電路用以根據參考信號與第一資料產生第二資料的多個資料值。錯誤校正編碼電路用以在錯誤出現在第二資料的全部資料值時重置參考電路。
本揭示內容的另一態樣係關於一種記憶體裝置,包含參考電路、第一感測放大器、第二感測放大器、錯誤校正編碼電路、控制信號以及驅動器。參考電路用以被寫入至少一預定電壓,以產生一參考信號。第一感測放大器耦接至一第一記憶體陣列以接收一第一資料的一第一資料值,並用以根據該第一資料的該第一資料值與該參考信號產生一第二資料的一第一資料值。第二感測放大器耦接至一第二記憶體陣列以接收該第一資料的一第二資料值,並用以根據該第一資料的該第二資料值與該參考信號產生該第二資料的一第二資料值。錯誤校正編碼電路用以在多個錯誤出現於該第二資料的該第一資料值與該第二資料值兩者時產生一控制信號。驅動器用以產生該至少一預定電壓,並且用以根據該控制信號重新寫入該至少一預定電壓至該參考電路。
本揭示內容的另一態樣係關於一種校正方法,包含以下操作:藉由一驅動器寫入至少一預定電壓至一參考電路,以產生一參考信號,其中該至少一預定電壓產生於該驅動器。藉由一讀取電路,根據一第一資料與該參考信號產生一第二資料的一第一資料值與一第二資料值。當多個錯誤出現於該第二資料的該第一資料值與該第二資料值兩者時,藉由一錯誤校正編碼電路產生一控制信號。藉由該驅動器,根據該控制信號重置該參考電路。
100:裝置
120:記憶體電路
140:讀取電路
160:錯誤校正編碼電路
180:驅動器
VD:預定電壓
D1、D2:資料
VC:控制信號
D1[0]~D1[31]:資料值
D2[0]~D2[31]:資料值
122:記憶體陣列
142:感測放大器
144:參考電路
REF:參考信號
300、500:方法
S310~S380:操作
S510~S580:操作
為讓本揭示內容之上述和其他目的、特徵、優點
與實施例能更明顯易懂,所附圖式之說明如下:第1A圖為根據本揭示內容之各個實施例所繪示的裝置的示意圖;第1B圖為根據本揭示內容的一些實施例所繪示的藉由第1A圖的錯誤校正編碼電路校正資料的1位元的例子之示意圖;第1C圖為根據本揭示內容的其他一些實施例所繪示的藉由第1A圖的錯誤校正編碼電路校正資料的2位元的例子之示意圖;第2圖為根據本揭示內容之一些實施例所繪示的一種第1A圖中的記憶體電路與讀取電路之間的設置方式的示意圖;第3A圖至第3B圖為根據本揭示內容之一些實施例所繪示的一種方法的流程圖;第4圖為根據本揭示內容之一些替代性實施例所繪示的一種第1A圖中的記憶體電路與讀取電路之間的設置方式的示意圖;以及第5A圖至第5B圖為根據本揭示內容之一些實施例所繪示的一種方法的流程圖。
下文係舉實施例配合所附圖式作詳細說明,但所提供之實施例並非用以限制本揭示內容所涵蓋的範圍,而結構操作之描述非用以限制其執行之順序,任何由元件重新組合之
結構,所產生具有均等功效的裝置,皆為本揭示內容所涵蓋的範圍。此外,圖式僅以說明為目的,並未依照原尺寸作圖。為使便於理解,下述說明中相同元件將以相同之符號標示來說明。
於本文中通篇所使用之詞彙一般代表其通常的意涵,至於一些特殊詞彙會在下文中具體定義,以提供實踐者額外的指引。為了方便起見,某些詞彙可能被特別標示,例如使用斜體與/或引號。不論它是否被特別標示,其詞彙之範圍和含義不受任何影響,與平常詞彙的範圍和含義是相同的。相同的事情可以被一種以上的方式所描述是可以被理解的。因此,用於一個或多個的術語的替代語言與同義詞可能會在本文中所使用,而其不是要闡述一個詞彙在本文所論述的內容有其任何特殊的意義。某些詞彙的同義詞將被使用,重複的使用一個或多個同義詞,並不會排除使用其他同義詞。本說明書內所討論的任何例證只用來作解說的用途,並不會以任何方式限制的本揭示內容或其例證之範圍和意義。同樣地,本揭示內容並不受限於本說明書中所提出的各種實施例。
關於本文中所使用之『第一』、『第二』、…等,並非特別指稱次序或順位的意思,亦非用以限定本揭示內容,其僅僅是為了區別以相同技術用語描述的元件或操作而已。如本文所用,詞彙『與/或』包含了列出的關聯項目中的一個或多個的任何組合。
參照第1A圖,第1A圖為根據本揭示內容之各個實施例所繪示的裝置100的示意圖。於一些實施例中,裝置100
實作為記憶體裝置。
如第1A圖示例性地所示,裝置100包含記憶體電路120、讀取電路140、錯誤校正編碼(error correction coding,ECC)電路160以及驅動器180。記憶體電路120包含多個記憶體陣列,其可例如為後第2圖所示的記憶體陣列122。記憶體電路120用以平行地傳送資料D1的多個資料值至讀取電路140。讀取電路140耦接至記憶體電路120,以接收資料D1的多個資料值。讀取電路140用以根據資料D1的多個資料值與至少一參考信號(例如為後第2圖中的參考信號REF)產生資料D2的多個資料值。
ECC電路160耦接讀取電路140以及驅動器180。於一些實施例中,ECC電路160用以偵測資料D2的多個資料值是否發生資料錯誤,並校正資料D2中具有資料錯誤的資料值。於一些實施例中,ECC電路160可由各種類型的數位電路實現。於一些進一步的實施例中,數位電路包含編碼器,其可校正資料D2中具有資料錯誤的一個或多個資料值。換句話說,於一些實施例中,當資料D2的一個或多個資料值出現資料錯誤,ECC電路160用以校正資料D2中具有資料錯誤的一個或多個資料值。
上述關於ECC電路160的設定組態僅為示例。關於ECC電路160的各種設定組態皆為本揭示內容所涵蓋的範圍。
第1B圖為根據本揭示內容的一些實施例所繪示的藉由第1A圖的ECC電路160校正資料D2的1位元的例子之
示意圖。
於一些實施例中,資料D1與資料D2為多位元信號。例如,資料D2為32位元信號。資料D2的32個位元分別對應至後述第2圖中的資料值D2[0]、資料值D2[1]、....、資料值D2[31]。於一些實施例中,資料D2的32個位元被分割為低位元組與高位元組。低位元組與高位元組中每一者包含資料D2的16個位元。例如,低位元組包含資料值D2[0]~D2[15],且高位元組包含資料值D2[16]~D2[31]。於第1B圖中所示的一些實施例中,當資料錯誤發生在高位元組或低位元組的1位元時,ECC電路160用以增加檢查位元至高位元組或低位元組,以校正高位元組或低位元組具有資料錯誤的一位元。於一些實施例中,由ECC電路160所增加的檢查位元的數量足以讓ECC電路160校正在低位元組或高位元組中的資料錯誤。以第1B圖的示例而言,於一些實施例中,當1位元的資料錯誤出現於16位元的資料(例如為高位元組或低位元組)時,5位元的檢查位元被加入至16位元資料,以校正此1位元的資料錯誤。上述關於資料D2的位元組的數量僅為示例。資料D2的位元組的各種數量皆為本揭示內容所涵蓋的範圍。
第1C圖為根據本揭示內容的其他一些實施例所繪示的藉由第1A圖的ECC電路160校正資料D2的2位元的例子之示意圖。或者,於本揭示內容的其他一些實施例中,當2位元的資料錯誤發生於32位元的資料(例如為資料D2)中時,12位元的檢查位元被加入至32位元的資料以校正2位元的資料錯誤。
上述關於資料D2以及檢查位元的數量僅為示例。資料D2以及檢查位元的各種數量皆為本揭示內容所涵蓋的範圍。
繼續參照第1A圖,於一些實施例中,ECC電路160用以在資料D2的至少兩個資料值出現資料錯誤時,產生控制信號VC。驅動器180用以根據控制信號VC驅動讀取電路140。於一些實施例中,驅動器180用以根據控制信號VC傳送至少一預定電壓VD至讀取電路140。讀取電路140可被至少一預定電壓VD寫入,以產生前述的參考信號REF。
參照第2圖,第2圖為根據本揭示內容之一些實施例所繪示的一種第1A圖中的記憶體電路120與讀取電路140之間的設置方式的示意圖。
如先前所述,記憶體電路120傳送資料D1的多個資料值至讀取電路140。以第2圖的示例而言,資料D1為32位元信號,其包含多個資料值D1[0]~D1[31],且資料D2為32位元資料,其包含多個資料值D2[0]~D2[31]。於一些實施例中,記憶體電路120包含多個記憶體陣列122。多個記憶體陣列122用以在讀取操作中傳送資料D1的多個資料值D1[0]~D1[31]至讀取電路140。於一些實施例中,每一個記憶體陣列122包含以行列方式設置的多個記憶體單元以及耦接至每一個記憶體單元的多條資料線,其用以傳送多個資料值D1[0]~D1[31]中之一者。於進一步的一些實施例中,記憶體單元可由各種類型的記憶體裝置實現。
讀取電路140包含多個感測放大器142以及多個
參考電路144。多個感測放大器142用以根據資料D1的多個資料值D1[0]~D1[31]以及多個參考信號REF產生資料D2的多個資料值D2[0]~D2[31]。
多個參考電路144用以產生多個參考信號REF。於一些實施例中,多個參考電路144的電路結構為一部分的記憶體陣列122的複製品(replica)。例如,於一些實施例中,參考電路144包含多條參考位元線、多個參考記憶體單元以及信號平均電路。多條參考位元線耦接至多個參考記憶體單元,並被至少一預定電壓VD寫入。多個參考記憶體單元中至少一者用以根據至少一預定電壓VD具有位於高邏輯值的資料,且多個參考記憶體單元中至少一者用以根據至少一預定電壓VD具有位於低邏輯值的資料。信號平均電路可根據儲存於參考記憶體單元的資料產生參考信號REF。上述關於參考電路144的設置方式僅為示例。參考電路144的各種設置方式皆為本揭示內容所涵蓋的範圍。例如,於一些替代性的實施例中,多個參考電路144的電路架構亦可為全部記憶體陣列122的複製品。
於一些實施例中,每一個參考電路144用以提供參考信號REF至兩個或兩個以上的感測放大器142。換句話說,每一個參考電路144由兩個或兩個以上的感測放大器142共用。如先前所述,於一些實施例中,資料D2的低位元組用以具有16位元,其依序對應至多個資料值D2[0]~D2[15]。資料D2的高位元組用以具有16位元,其依序對應至多個資料值D2[16]~D2[31]。如第2圖所示,低位元組的第1個位元(即資料值D2[0])以及高位元組的第1個位元(即資料值D2[16])根
據相同的參考信號REF產生。低位元組的第2個位元(即資料值D2[1])以及高位元組的第1個位元(即資料值D2[17])根據相同的參考信號REF產生。依此類推,多個資料值D2[0]~D2[31]可被產生。
藉由此設置方式,當資料錯誤發生在多個資料值D2[0]~D2[31]中之兩者,且此兩者為根據相同參考信號REF產生時,錯誤被認為是發生在對應的參考電路144中。參考電路144接著會被驅動器180重置,以避免資料錯誤又發生在相同的資料值上。如此一來,裝置100的資料準確度與可靠度得以改善。校正資料錯誤以及重置參考電路144的詳細操作將參照後述第3圖說明。
上述關於資料D2的位元數量僅為示例。資料D2的各種位元數量皆為本揭示內容所涵蓋的範圍。
於一些技術中,為了避免2位元資料錯誤發生於資料內,資料中的每一個資料值會根據不同的參考信號產生。換句話說,於此些技術中。每一個參考電路耦接到一個感測放大器,而非由兩個或兩個以上的感測放大器共用。相較於上述技術,藉由第2圖所示的設置方式,裝置100在讀取操作下的功率消耗可降低,且其電路面積可被節省。
第3A圖至第3B圖為根據本揭示內容之一些實施例所繪示的一種方法300的流程圖。第1A圖中的裝置100的多個操作將參照第2圖、第3A圖以及第3B圖進行描述。於一些實例中,方法300包含多個操作S310~S380。
於操作S310,在讀取操作中,多個感測放大器142
產生資料D2的多個資料值D2[0]~D2[31]。等效而言,儲存於多個記憶體陣列122的資料D1經由多個感測放大器142讀取。
於操作S320,ECC電路160決定至少一資料錯誤是否出現於資料D2的多個資料值D2[0]~D2[31]。若至少一資料錯誤出現於多個資料值D2[0]~D2[31],操作S330被執行。反之,操作S380被執行。
於操作S330,ECC電路160更決定是否有超過一個資料錯誤出現於資料D2的高位元組與低位元組兩者。若僅有一個資料錯誤出現於高位元組與低位元中之一者的一資料值,操作S340被執行。反之,操作S350被執行。
於操作S340,ECC電路160校正高位元組與低位元組中之一者具有資料錯誤的資料值。例如,當ECC電路160偵測到僅有單一資料錯誤出現於資料值D2[0](亦即低位元組的第1個位元),ECC電路160會校正資料值D2[0]。
於操作S350,ECC電路160更決定出現於多個資料值D2[0]~D2[31]的多個資料錯誤是否為根據相同參考信號REF產生。若是,操作S360被執行。反之,操作S370被執行。於操作S360,ECC電路160產生控制信號VC,且驅動器180根據控制信號VC重新寫入至少一預定電壓VD至對應的參考電路144。在操作S360被執行後,操作S310接著被執行以產生正確的資料D2。
於一些實施例中,當ECC電路160偵測到資料錯誤出現於低位元組的多個資料值D2[0]~D2[15],且偵測到另
一資料錯誤出現於高位元組的多個資料值D2[16]~D2[31],ECC電路160接著決定於多個資料值D2[0]~D2[15]中具有資料錯誤的一者以及於多個資料值D2[16]~D2[31]中具有資料錯誤的一者是否根據相同參考信號REF產生。如第2圖所描述,多個資料值D2[0]以及D2[16]為根據相同參考信號REF產生。據此,ECC電路160接著產生控制信號VC至驅動器180。驅動器180接著根據控制信號VC重新寫入預定電壓VD至對應的參考電路144。等效而言,對應的參考電路144因此被重置,以產生正確的參考信號REF。在對應的參考電路144被重置後,讀取電路140接著讀取儲存於多個記憶體陣列122中的資料D1,以輸出正確的資料D2。
於操作S370,ECC電路160校正多個資料值D2[0]~D2[31]中具有資料錯誤的資料值。例如,資料錯誤發生於低位元組的資料值D2[0],且另一資料錯誤發生於高位元組的資料值D2[17]。於此條件下,ECC電路160校正資料值D2[0]與D2[17]。或者,於一些替代性的實施例中,資料錯誤發生於低位元組的多個資料值D2[0]與D2[1],ECC電路160接著校正這些位元以產生正確的資料D2。
於操作S380,ECC電路160輸出正確的資料D2。據此,裝置100的可靠度與資料準確度可被提升。
上述的多個操作僅為示例,並非限於方法300的多個操作須依照上述示例的順序執行。在不違背本揭示內容的各實施例的操作方式與範圍下,在方法300的各種操作當可適當地增加、替換、省略或以不同順序(例如包含同時執行或部
分同時執行等等)執行。
參照第4圖,第4圖為根據本揭示內容之一些替代性實施例所繪示的一種第1A圖中的記憶體電路120與讀取電路140之間的設置方式的示意圖。
相較於第2圖的設置方式,於第4圖中所示的另一些實施例中,至少兩個連續的資料值D2[0]~D2[31]用以根據相同的參考信號REF產生。以第4圖之示例而言,多個資料值D2[0]以及D2[1]為根據相同參考信號REF產生。多個資料值D2[2]以及D2[3]為根據相同參考信號REF產生。依此類推,多個資料值D2[0]~D2[31]可被產生。
藉由上述設置方式,當資料錯誤發生於多個資料值D2[0]~D2[31]中的連續兩個位元,且其為根據相同參考信號REF產生時,此錯誤可被認為是發生於對應的參考電路144。因此,驅動器180重置對應的參考電路144,以便免資料錯誤又發生於相同的資料值。如此一來,裝置100的資料準確度與可靠度得以提升。關於校正資料錯誤的詳細操作將搭配下述第5A~5B圖說明。
上述關於多個資料值D2[0]~D2[31]中根據相同參考信號REF所產生的連續位元的數量僅為示例,多個資料值D2[0]~D2[31]中根據相同參考信號REF所產生的連續位元的各種數量皆為本揭示內容所涵蓋的範圍。例如,於另一些實施例中,多個資料值D2[0]~D2[2]可根據多個參考信號REF中之一者產生,且多個資料值D2[3]~D2[5]可根據多個參考信號REF中之另一者產生。
第5A圖至第5B圖為根據本揭示內容之一些實施例所繪示的一種方法500的流程圖。第1A圖中的裝置100的多個操作將參照第2圖、第5A圖以及第5B圖進行描述。於一些實例中,方法500包含多個操作S510~S580。
於操作S510,在讀取操作中,多個感測放大器142產生資料D2的多個資料值D2[0]~D2[31]。據此,儲存於多個記憶體陣列122的資料D1的多個資料值D1[0]~D1[31]經由多個感測放大器142讀取。
於操作S520,ECC電路160決定至少一資料錯誤是否出現於資料D2的多個資料值D2[0]~D2[31]。若至少一資料錯誤出現於多個資料值D2[0]~D2[31],操作S530被執行。反之,操作S580被執行。
於操作S530,ECC電路160更決定是否有超過一個資料錯誤出現於資料D2的多個資料值D2[0]~D2[31]。若僅有一個資料錯誤出現於資料D2的多個資料值D2[0]~D2[31]之一者,操作S540被執行。反之,操作S550被執行。
於操作S540,ECC電路160校正資料D2的多個資料值D2[0]~D2[31]中之一者具有資料錯誤的資料值。例如,當ECC電路160偵測到僅有單一資料錯誤出現於資料值D2[0],ECC電路160會校正資料值D2[0],以輸出正確的資料D2。
於操作S550,ECC電路160更決定多個資料錯誤是否出現於多個資料值D2[0]~D2[31]中根據相同參考信號REF產生的至少連續兩個位元。若是,操作S560被執行。反
之,操作S570被執行。於操作560,ECC電路160產生控制信號VC,且驅動器180根據控制信號VC重新寫入至少一預定電壓VD至對應的參考電路144。在操作S560被執行後,操作S510接著被執行以產生正確的資料D2。
於一些實施例中,當ECC電路160偵測到至少兩個資料錯誤出現於多個資料值D2[0]~D2[31]中的至少兩個連續位元時,ECC電路160接著決定於多個資料值D2[0]~D2[31]中具有資料錯誤的連續兩個位元是否根據相同參考信號REF產生。例如,ECC電路160偵測到資料錯誤出現於連續的資料值D2[0]與D2[1]。如第4圖所示,多個資料值D2[0]以及D2[1]為根據相同參考信號REF產生。據此,ECC電路160接著產生控制信號VC至驅動器180。驅動器180接著根據控制信號VC重新寫入預定電壓VD至對應的參考電路144。等效而言,對應的參考電路144因此被重置,以產生正確的參考信號REF。在對應的參考電路144被重置後,讀取電路140接著讀取儲存於多個記憶體陣列122中的資料D1,以輸出正確的資料D2。
於操作S570,ECC電路160校正多個資料值D2[0]~D2[31]中具有資料錯誤的資料值。於一些實施例中,資料錯誤發生於多個資料值D2[0]~D2[31]中的兩個位元,其根據不同的參考信號REF產生。於此條件下,ECC電路160將校正多個資料值D2[0]~D2[31]中的兩個位元,以產生正確的資料D2。例如,資料錯誤發生於多個資料值D2[0]與D2[31]。如第4圖所示,多個資料值D2[0]與D2[31]為根據不同參考信
號產生,故ECC電路160校正多個資料值D2[0]與D2[31]以產生正確的資料D2。
於操作S580,ECC電路160輸出正確的資料D2。據此,裝置100的可靠度與資料準確度可被提升。
上述的多個操作僅為示例,並非限於方法500的多個操作須依照上述示例的順序執行。在不違背本揭示內容的各實施例的操作方式與範圍下,在方法500的各種操作當可適當地增加、替換、省略或以不同順序(例如包含同時執行或部分同時執行等等)執行。
如上述所討論資料錯誤發生於多個資料值D2[0]~D2[31]的校正僅為示例。可被ECC電路160所校正的位元的各種數量皆為本揭示內容所涵蓋的範圍。
如上所述,於本揭示內容中的裝置100可偵測記憶體系統的參考電路是否有故障。再者,於本揭示內容中的裝置100亦可即時地重置故障的參考電路,以校正輸出資料的資料錯誤。據此,裝置100的資料準確度與可靠度可被提升。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
於一些實施例中,一個裝置在此揭露,其包含參考電路、讀取電路以及錯誤校正編碼電路。參考電路用以產生參考信號。讀取電路用以根據參考信號與第一資料產生第二資料的多個資料值。錯誤校正編碼電路用以錯誤出現在第二資料的全部資料值時重置參考電路。
於一些實施例中,其中多個資料值對應至第二資料的連續兩個位元。
於一些實施例中,其中當只有一個錯誤出現於第二資料的多個資料值中之一者時,錯誤校正編碼電路更用以校正第二資料的多個資料值中之一者。
於一些實施例中,其中當錯誤出現於第二資料的多個資料值內的第一資料值與第二資料值時,錯誤校正編碼電路更用以決定第一資料值與第二資料值是否對應至第二資料的連續兩個位元。其中,錯誤校正編碼電路更用以在第一資料值與第二資料值對應至第二資料的連續兩個位元時重置參考電路。
於一些實施例中,其中讀取電路包含第一感測放大器以及第二感測放大器。第一感測放大器用以根據第一資料的第一資料值與參考信號產生第二資料的多個資料值中之第一資料值。第二感測放大器用以根據第一資料的第二資料值與參考信號產生第二資料的多個資料值中之第二資料值。
於一些實施例中,其中第二資料的第一資料值對應至第二資料的第一位元組的第一位元,且第二資料的第二資料值對應至第二資料的第二位元組的第一位元。
於一些實施例中,其中當錯誤發生於第一位元組與第二位元組中之一者時,錯誤校正編碼電路用以校正第一位元組與第二位元組中之一者。
於一些實施例中,其中當錯誤發生於第一位元組與第二位元組兩者時,錯誤校正編碼電路用以決定錯誤是否出
現於第二資料的第一資料值與第二資料值兩者,並在錯誤發生於第二資料的第一資料值與第二資料值兩者時重置參考電路。
於一些實施例中,參考電路用以被至少一預定電壓寫入以產生參考信號,錯誤校正編碼電路用以在錯誤發生於所有的資料值時產生控制信號以重置參考電路。裝置更包含驅動器。驅動器用以根據控制信號重新寫入至少一預定電壓至參考電壓。
於一些實施例中,一種裝置在此揭露,其包含參考電路、第一感測放大器、第二感測放大器、錯誤校正編碼電路以及驅動器。參考電路用以被至少一預定電壓寫入,以產生參考信號。第一感測放大器耦接至第一記憶體陣列以接收第一資料的第一資料值,並用以根據第一資料的第一資料值以及參考信號產生第二資料的第一資料值。第二感測放大器耦接至第二記憶體陣列以接收第一資料的第二資料值,並用以根據第一資料的第二資料值與參考信號產生第二資料的第二資料值。錯誤校正編碼電路用以在錯誤發生於第二資料的第一資料值與第二資料值兩者時產生控制信號。驅動器用以根據控制信號重新寫入至少一預定電壓至參考電路。
於一些實施例中,第二資料的第一資料值對應至第二資料的第一位元組的第一位元,且第二資料的第二資料值對應至第二資料的第二位元組的第一位元。
於一些實施例中,當錯誤出現於第二資料的第一資料值與第二資料的第二資料值中之一者時,錯誤校正編碼電路更用以校正第二資料的第一資料值與第二資料值中具有錯
誤者。
於一些實施例中,第二資料的第一資料值與第二資料值對應於第二資料的兩個連續位元。
於一些實施例中,一種方法於此揭露,其包含下列操作:藉由參考電路產生參考信號;藉由讀取電路根據第一資料與參考信號產生第二資料的第一資料值與第二資料值;當錯誤出現於第二資料的第一資料值與第二資料值兩者時,藉由錯誤校正編碼電路產生控制信號;以及藉由驅動器根據控制信號重置參考電路。
於一些實施例中,其中第二資料的第一資料值對應至第二資料的第一位元組的第一位元,且第二資料的第二資料值對應至第二資料的第二位元組的第一位元。方法更包含:藉由錯誤校正編碼電路偵測錯誤是否發生於第一位元組與第二位元組;以及當僅有單一錯誤發生於第一位元組與第二位元組中之一者時,藉由錯誤校正編碼電路校正第一位元組與第二位元組中之該者。
於一些實施例中,方法更包含:當錯誤發生於第一位元組與第二位元組兩者時,藉由錯誤校正編碼電路偵測錯誤是否發生於第二資料的第一資料值與第二資料值;以及在錯誤不在第二資料的第一資料值以及第二資料值時,藉由錯誤校正編碼電路校正第一位元組與第二位元組。
於一些實施例中,第二資料的第一資料值與第二資料值對應於第二資料的兩個連續位元,方法更包含:藉由錯誤校正編碼電路偵測錯誤是否發生於第二資料的第一資料值
與第二資料值;以及當僅有一錯誤發生於第二資料的第一資料值與第二資料值中之一者時,藉由錯誤校正編碼電路校正第二資料的第一資料值與第二資料值中之該者。
於一些實施例中,產生第一資料值與第二資料值包含:藉由讀取電路的第一感測放大器根據第一資料的第一資料值與參考信號產生第二資料的第一資料值;以及藉由讀取電路的第二感測放大器根據第一資料的第二資料值與參考信號產生第二資料的第二資料值。
於一些實施例中,方法更包含:藉由第一記憶體陣列傳送第一資料的第一資料值至第一感測放大器;以及藉由第二記憶體陣列傳送第一資料的第二資料值至第二感測放大器。
於一些實施例中,其中參考電路用以被至少一預定參考電壓寫入以產生參考信號,且重置參考電路包含:藉由驅動器根據控制信號重新寫入至少一預定電壓至參考電路。
雖然本案已以實施方式揭露如上,然其並非限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
100:裝置
120:記憶體電路
140:讀取電路
160:錯誤校正編碼電路
180:驅動器
VD:預定電壓
D1、D2:資料
VC:控制信號
Claims (10)
- 一種記憶體裝置,包含:一驅動器,用以產生至少一預定電壓;一參考電路,用以被寫入該至少一預定電壓,以產生一參考信號;一讀取電路,用以根據該參考信號與一第一資料產生一第二資料的複數個資料值;以及一錯誤校正編碼電路,用以在多個錯誤出現於該第二資料中所有的該些資料值中時,重置該參考電路。
- 如請求項1所述的記憶體裝置,其中該多個資料值對應至該第二資料的至少兩個連續位元。
- 如請求項1所述的記憶體裝置,其中當只有一個錯誤出現於該第二資料的該多個資料值中之一者時,該錯誤校正編碼電路更用以校正該第二資料的該多個資料值中之該者。
- 如請求項1所述的記憶體裝置,其中當多個錯誤出現於該第二資料的該多個資料值內的一第一資料值與一第二資料值時,該錯誤校正編碼電路更用以決定該第一資料值與該第二資料值是否對應至該第二資料的兩個連續位元,其中,該錯誤校正編碼電路更用以在該第一資料值與該 第二資料值對應至該第二資料的兩個連續位元時重置該參考電路。
- 如請求項1所述的記憶體裝置,其中該讀取電路包含:一第一感測放大器,用以根據該第一資料的一第一資料值與該參考信號產生該第二資料的該多個資料值中之一第一資料值;一第二感測放大器,用以根據該第一資料的一第二資料值與該參考信號產生該第二資料的該多個資料值中之一第二資料值,其中該第二資料的該第一資料值對應至該第二資料的一第一位元組的一第一位元,且該第二資料的該第二資料值對應至該第二資料的一第二位元組的一第一位元,其中當該錯誤出現於該第一位元組與該第二位元組中之一者時,該錯誤校正編碼電路用以校正該第一位元組與該第二位元組之該者。
- 如請求項5所述的記憶體裝置,其中當該多個錯誤出現於該第一位元組與該第二位元組兩者時,該錯誤校正編碼電路更用以決定該多個錯誤是否出現於該第二資料的該第一資料值與該第二資料值兩者,並在該多個錯誤出現於該第二資料的該第一資料值與該第二資料值兩者時重置該參考電路。
- 如請求項1所述的記憶體裝置,其中該參考電路用以被寫入至少一預定電壓以產生該參考信號,該錯誤校正編碼電路用以在該多個錯誤出現於所有的該多個資料值時產生一控制信號以重置該參考電路,該記憶體裝置更包含該驅動器,且該驅動器用以根據該控制信號重新寫入該至少一預定電壓至該參考電壓。
- 一種記憶體裝置,包含:一參考電路,用以被寫入至少一預定電壓,以產生一參考信號;一第一感測放大器,耦接至一第一記憶體陣列以接收一第一資料的一第一資料值,並用以根據該第一資料的該第一資料值與該參考信號產生一第二資料的一第一資料值;一第二感測放大器,耦接至一第二記憶體陣列以接收該第一資料的一第二資料值,並用以根據該第一資料的該第二資料值與該參考信號產生該第二資料的一第二資料值;一錯誤校正編碼電路,用以在多個錯誤出現於該第二資料的該第一資料值與該第二資料值兩者時產生一控制信號;以及一驅動器,用以產生該至少一預定電壓,並且用以根據該控制信號重新寫入該至少一預定電壓至該參考電路。
- 一種校正方法,包含:藉由一驅動器寫入至少一預定電壓至一參考電路,以產生一參考信號,其中該至少一預定電壓產生於該驅動器; 藉由一讀取電路,根據一第一資料與該參考信號產生一第二資料的一第一資料值與一第二資料值;當多個錯誤出現於該第二資料的該第一資料值與該第二資料值兩者時,藉由一錯誤校正編碼電路產生一控制信號;以及藉由該驅動器,根據該控制信號重置該參考電路。
- 如請求項9所述的校正方法,其中該第二資料的該第一資料值對應至該第二資料的一第一位元組的一第一位元,該第二資料的該第二資料值對應至該第二資料的一第二位元組的一第一位元,該方法更包含:藉由該錯誤校正編碼電路偵測多個錯誤是否出現於該第一位元組與該第二位元組之中;以及當僅有一錯誤出現於該第一位元組與該第二位元組中之一者時,藉由該錯誤校正編碼電路校正該第一位元組與該第二位元組中之該者,以及該方法更包含:當該多個錯誤出現於該第一位元組與該第二位元組兩者時,藉由該錯誤校正編碼電路偵測該多個錯誤是否出現於該第二資料的該第一資料值與該第二資料值;以及當該多個錯誤沒有出現在該第二資料的該第一資料值與該第二資料值之一者時,藉由該錯誤校正編碼電路校正該第一位元組與該第二位元組。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/941,126 US9904593B2 (en) | 2015-11-13 | 2015-11-13 | Memory device and correction method |
US14/941,126 | 2015-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201727486A TW201727486A (zh) | 2017-08-01 |
TWI727994B true TWI727994B (zh) | 2021-05-21 |
Family
ID=58691936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105136664A TWI727994B (zh) | 2015-11-13 | 2016-11-10 | 記憶體裝置與校正方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9904593B2 (zh) |
CN (1) | CN106710634A (zh) |
TW (1) | TWI727994B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200834299A (en) * | 2006-02-16 | 2008-08-16 | Intel Corp | Memory replay mechanism |
TW201224753A (en) * | 2010-11-09 | 2012-06-16 | Fujitsu Ltd | Cache memory system |
US20140153332A1 (en) * | 2012-11-30 | 2014-06-05 | Micron Technology, Inc. | Determining soft data from a hard read |
US20150074493A1 (en) * | 2013-09-09 | 2015-03-12 | Micron Technology, Inc. | Semiconductor device and error correction method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839875B2 (en) * | 1996-10-18 | 2005-01-04 | Micron Technology, Inc. | Method and apparatus for performing error correction on data read from a multistate memory |
JP4108695B2 (ja) * | 2005-07-15 | 2008-06-25 | 三菱電機株式会社 | 車載電子制御装置 |
US8677221B2 (en) * | 2008-01-02 | 2014-03-18 | Apple Inc. | Partial voltage read of memory |
US8077520B1 (en) * | 2008-09-05 | 2011-12-13 | Marvell International Ltd. | Determining threshold voltage distribution in flash memory |
KR102060488B1 (ko) * | 2012-12-27 | 2019-12-30 | 삼성전자주식회사 | 불휘발성 랜덤 액세스 메모리 장치 및 그것의 데이터 읽기 방법 |
US10381102B2 (en) * | 2014-04-30 | 2019-08-13 | Micron Technology, Inc. | Memory devices having a read function of data stored in a plurality of reference cells |
-
2015
- 2015-11-13 US US14/941,126 patent/US9904593B2/en active Active
-
2016
- 2016-11-10 TW TW105136664A patent/TWI727994B/zh active
- 2016-11-11 CN CN201610993920.7A patent/CN106710634A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200834299A (en) * | 2006-02-16 | 2008-08-16 | Intel Corp | Memory replay mechanism |
TW201224753A (en) * | 2010-11-09 | 2012-06-16 | Fujitsu Ltd | Cache memory system |
US20140153332A1 (en) * | 2012-11-30 | 2014-06-05 | Micron Technology, Inc. | Determining soft data from a hard read |
US20150074493A1 (en) * | 2013-09-09 | 2015-03-12 | Micron Technology, Inc. | Semiconductor device and error correction method |
Also Published As
Publication number | Publication date |
---|---|
TW201727486A (zh) | 2017-08-01 |
US9904593B2 (en) | 2018-02-27 |
US20170139770A1 (en) | 2017-05-18 |
CN106710634A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025274B2 (en) | Memory controller and method of data bus inversion using an error detection correction code | |
KR100842680B1 (ko) | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 | |
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
KR100845529B1 (ko) | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 | |
US8112699B2 (en) | Error detecting/correcting scheme for memories | |
US11393550B2 (en) | Memory system with error detection | |
US20140053041A1 (en) | Nonvolatile semiconductor memory system error correction capability of which is improved | |
KR101550762B1 (ko) | 연접 오류 정정 장치 | |
WO2017008501A1 (zh) | 一种nand闪存出现ecc无法纠错时的数据恢复方法 | |
ATE506649T1 (de) | Korrektur von fehlern in einem speicherarray | |
TW201447902A (zh) | 具有錯誤校正邏輯之記憶體裝置 | |
TWI608489B (zh) | Non-volatile semiconductor memory device and its test method | |
US20200133768A1 (en) | Semiconductor memory device, controller, and memory system | |
TWI727994B (zh) | 記憶體裝置與校正方法 | |
US10379926B2 (en) | Method and device for monitoring data error status in a memory | |
US9515682B2 (en) | Device for correcting two errors with a code of hamming distance three or four | |
US20190012231A1 (en) | Memory device, memory system including the same, and operating method of memory system | |
KR20160050961A (ko) | 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 | |
US10691532B2 (en) | Storage drive error-correcting code-assisted scrubbing for dynamic random-access memory retention time handling | |
KR102629457B1 (ko) | 반도체 메모리 장치, 제어 장치, 및 메모리 시스템 | |
TWI703572B (zh) | 記憶體儲存裝置及其記憶體測試方法 | |
CN105550058B (zh) | 数据输出方法 | |
US20230229554A1 (en) | Method and system for on-asic error control encoding | |
US20230231578A1 (en) | Method and system for on-asic error control decoding | |
CN101630535A (zh) | 数据处理电路及方法 |