TW202105182A - 記憶體系統及記憶體系統的寫入方法 - Google Patents

記憶體系統及記憶體系統的寫入方法 Download PDF

Info

Publication number
TW202105182A
TW202105182A TW109115883A TW109115883A TW202105182A TW 202105182 A TW202105182 A TW 202105182A TW 109115883 A TW109115883 A TW 109115883A TW 109115883 A TW109115883 A TW 109115883A TW 202105182 A TW202105182 A TW 202105182A
Authority
TW
Taiwan
Prior art keywords
data
ecc
host
module
encoded data
Prior art date
Application number
TW109115883A
Other languages
English (en)
Inventor
金頭鉉
Original Assignee
韓商愛思開海力士有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 韓商愛思開海力士有限公司 filed Critical 韓商愛思開海力士有限公司
Publication of TW202105182A publication Critical patent/TW202105182A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

一種記憶體系統包括主機錯誤校正碼(ECC)編碼器和記憶體模組。主機ECC編碼器執行寫入資料的主機ECC編碼操作以輸出主機ECC編碼資料,並且記憶體模組包括接收主機ECC編碼資料的記憶體介質和控制記憶體介質的模組控制器。模組控制器包括奇偶校驗去除器和模組ECC解碼器。奇偶校驗去除器從主機ECC編碼資料中去除奇偶校驗資料以產生奇偶校驗去除資料,並且執行用於將奇偶校驗去除資料寫入記憶體介質中的第一寫入操作。模組ECC解碼器執行主機ECC編碼資料的模組ECC解碼操作以產生模組ECC解碼資料,並且執行用於將模組ECC解碼資料寫入記憶體介質中的第二寫入操作。

Description

記憶體系統及記憶體系統的寫入方法
所公開的技術的各種實施例關於記憶體系統,並且更具體地,關於記憶體系統及記憶體系統的寫入方法。
通常,用於傳輸資訊的路徑稱為通道。當使用電纜通信來傳輸資訊時,透過其傳輸資訊的傳輸線可以用作通道。當使用無線通訊傳輸資訊時,通道可以是傳播包含資訊的電磁波的空氣。用於將資料儲存到記憶體介質(例如,記憶體器件)中的處理以及用於從記憶體介質中讀出資料的處理可以透過通道來執行。
當透過通道傳輸資料時,資料中可能包括錯誤。因此,許多努力一直集中於開發用於從錯誤資料中檢測錯誤並去除檢測到的錯誤以將錯誤資料恢復為其原始資料的設備和方法。ECC編碼操作和ECC解碼操作已經廣泛用在包括記憶體介質的記憶體系統中。ECC編碼操作可以對應於如下處理:透過在傳輸原始資料以執行寫入操作之前將錯誤控制碼(或錯誤校正碼)加入原始資料(即,寫入資料)來產生傳輸資料。ECC解碼操作可以對應於如下處理:執行讀取操作以讀出儲存在記憶體介質中的資料,並且將讀取的資料分為原始資料和添加碼以將讀取的資料恢復為原始資料。
根據一個實施例,一種記憶體系統包括主機錯誤校正碼(ECC)編碼器和記憶體模組。主機ECC編碼器執行寫入資料的主機ECC編碼操作以輸出主機ECC編碼資料。記憶體模組包括:接收主機ECC編碼資料的記憶體介質,以及控制記憶體介質的模組控制器。模組控制器包括奇偶校驗去除器和模組ECC解碼器。奇偶校驗去除器從主機ECC編碼資料中去除奇偶校驗資料以產生奇偶校驗去除資料(parity-removed data),並且執行用於將奇偶校驗去除資料寫入記憶體介質中的第一寫入操作。模組ECC解碼器執行主機ECC編碼資料的模組ECC解碼操作以產生模組ECC解碼資料,並且執行用於將模組ECC解碼資料寫入記憶體介質中的第二寫入操作。
根據另一實施例,一種記憶體系統包括主機錯誤校正碼(ECC)編碼器和記憶體模組。主機ECC編碼器執行寫入資料的主機ECC編碼操作,以透過資料輸入/輸出(I/O)線中的至少一個來輸出主機ECC編碼資料。記憶體模組包括:接收主機ECC編碼資料的記憶體介質,以及控制記憶體介質的模組控制器。模組控制器包括資料路徑確定器、奇偶校驗去除器、模組ECC解碼器和錯誤位置計數器。資料路徑確定器根據資料I/O線的正常/異常來確定主機ECC編碼資料的處理路徑。奇偶校驗去除器從資料路徑確定器所輸出的主機ECC編碼資料中去除奇偶校驗資料,以產生奇偶校驗去除資料,並且執行用於將奇偶校驗去除資料寫入記憶體介質中的第一寫入操作。模組ECC解碼器執行對所述資料路徑確定器所輸出的所述主機ECC編碼資料的模組ECC解碼操作以產生模組ECC解碼資料,並且執行用於將所述模組ECC解碼資料寫入所述記憶體介質中的第二寫入操作。錯誤位置計數器儲存關於資料I/O線的資訊。
根據又一實施例,提供了一種記憶體系統的寫入方法。所述寫入方法包括:執行寫入資料的錯誤校正碼(ECC)編碼操作以產生ECC編碼資料;在從ECC編碼資料中去除奇偶校驗資料以產生奇偶校驗去除資料之後,執行用於將奇偶校驗去除資料寫入記憶體介質中的第一寫入操作,以及僅當ECC編碼資料中存在錯誤時,在透過執行ECC編碼資料的ECC解碼操作來產生ECC解碼資料之後,執行用於將ECC解碼資料寫入記憶體介質中的第二寫入操作。
根據又一實施例,提供了一種記憶體系統的寫入方法。所述寫入方法包括執行寫入資料的錯誤校正碼(ECC)編碼操作以產生ECC編碼資料,識別傳輸ECC編碼資料的資料輸入/輸出(I/O)線是否正常工作,當資料I/O線正常工作時,在從ECC編碼資料中去除奇偶校驗資料以產生奇偶校驗去除資料之後執行用於將奇偶校驗去除資料寫入記憶體介質中的第一寫入操作,並且僅當ECC編碼資料中存在錯誤時,在透過執行ECC編碼資料的ECC解碼操作來產生ECC解碼資料之後執行用於將ECC解碼資料寫入記憶體介質中的第二寫入操作,以及當資料I/O線發生故障時,僅執行第二寫入操作而不執行第一寫入操作。
在實施例的以下描述中,將理解,術語“第一”和“第二”旨在標識元件,而不用於僅限定元件本身或表示特定序列。另外,當元件被稱為位於另一元件“上”、“上方”、“之上”、“下”或“之下”時,其意在表示相對位置關係,而不用於限制某些情況:所述元件直接接觸另一元件,或者在它們之間存在至少一個中間元件。因此,諸如“在...上”、“在...上方”、“在...之上”、“在...下”、“在...之下”和“在...下方”等的術語在本文中僅被用於描述特定實施例的目的,而不旨在限制本公開的範圍。此外,當一個元件被稱為“連接”或“耦接”到另一元件時,所述元件可以直接被電地或機械地連接或者耦接到另一元件,或者可以透過替換其間的另一元件而形成連接關係或耦接關係。
可以以記憶體模組的形式來提供每個記憶體件以增大其記憶體容量。通常,記憶體模組可以包括記憶體介質和模組控制器。記憶體模組可以透過多個資料輸入/輸出(I/O)線從主機接收資料並且將資料輸出到主機。例如,從主機輸出的寫入資料可以被傳輸到記憶體模組的模組控制器,並且可以透過模組控制器的控制操作被寫入到記憶體介質中。當寫入資料從主機傳輸到記憶體模組的模組控制器時,可能會產生寫入資料的錯誤。因此,主機可以執行寫入資料的錯誤校正碼(ECC)編碼操作,並且模組控制器可以執行ECC解碼操作以校正錯誤的寫入資料並將校正後的寫入資料寫入記憶體介質。通常,當寫入資料被從主機傳輸到模組控制器時,發生錯誤的概率可能會低於不發生錯誤的概率。因此,在大多數情況下,可能不必在記憶體模組的模組控制器中執行ECC解碼操作。在根據以下實施例的記憶體系統中,當沒有錯誤發生時,可以省略ECC解碼操作的執行。因此,可以提高用於將寫入資料儲存到記憶體介質中的寫入操作速度。將參考圖式描述本公開的各種實施例。
圖1是示出根據本公開的實施例的記憶體系統100的配置的方塊圖。參考圖1,記憶體系統100可以被配置為包括主機110和記憶體模組120。儘管在圖1中未示出,主機110和記憶體模組120可以透過模組介面彼此耦接,並且可以透過模組介面來傳輸資料。主機110可以提供用於控制記憶體模組120的各種代碼,並且所述各種代碼可以被儲存在記憶體模組120中。主機110可以訪問儲存在記憶體模組120中的各種代碼。主機110可以將用於運行作業系統和應用程式的代碼或與作業系統和應用程式有關的資料儲存到記憶體模組120中,並且可以訪問儲存在記憶體模組120中的代碼或資料。主機110可以包括主機ECC編碼器112。在一個實施例中,主機ECC編碼器可以被設置在主機110中。主機ECC編碼器112可以執行寫入資料的主機ECC編碼操作以產生主機ECC編碼資料D_EN,所述寫入資料被從主機110傳輸到記憶體模組120。主機ECC編碼資料D_EN可以被從主機110傳輸到記憶體模組120。除了寫入資料之外,主機ECC編碼資料D_EN還可以包括奇偶校驗資料。即,主機ECC編碼操作可以被定義為對被加入到寫入資料的奇偶校驗資料進行計算的操作。
記憶體模組120可以被配置為包括模組控制器122和記憶體介質124。記憶體介質124可以包括多個記憶體晶片125。模組控制器122可以包括模組控制器匯流排210、奇偶校驗去除器220和模組ECC解碼器230。模組控制器122可以透過模組控制器匯流排210將來自主機ECC編碼器112的主機ECC編碼資料D_EN傳輸到奇偶校驗去除器220和模組ECC解碼器230。在一個實施例中,奇偶校驗去除器220和模組ECC解碼器230可以同時接收主機ECC編碼資料D_EN。如本文中關於透過奇偶校驗去除器220和模組ECC解碼器230來接收主機ECC編碼資料D_EN所使用的詞語“同時”和“同時地”意指所述接收發生在重疊的時間間隔上。例如,如果第一接收發生在第一時間間隔上,並且第二接收同時地發生在第二時間間隔上,則第一間隔和第二間隔至少部分地彼此重疊,使得存在第一接收和第二接收都在發生的時間。
奇偶校驗去除器220可以從透過模組控制器匯流排210傳輸的主機ECC編碼資料D_EN中去除奇偶校驗資料,然後可以輸出透過從主機ECC編碼資料D_EN中去除奇偶校驗資料而產生的奇偶校驗去除資料D_RP。結果,奇偶校驗去除器220可以輸出與奇偶校驗去除資料D_RP相對應的原始寫入資料。奇偶校驗去除資料D_RP可以被寫入記憶體介質124。奇偶校驗去除資料D_RP可以對應於透過從主機ECC編碼資料D_EN僅去除奇偶校驗資料而產生的資料。因此,錯誤校正處理還未被應用於奇偶校驗去除資料D_RP。相反,因為僅執行奇偶校驗資料去除處理而不執行錯誤校正處理,所以可以減少將寫入資料寫入記憶體介質124所花費的寫入時間。如在下文中將描述的,如果主機ECC編碼資料D_EN對應於錯誤的資料,則經錯誤校正的資料可以被重寫到儲存有奇偶校驗去除資料D_RP的記憶體介質124中。在下文中,用於產生奇偶校驗去除資料D_RP並且用於將奇偶校驗去除資料D_RP寫入記憶體介質124的操作可以被稱為“第一寫入操作”。
模組ECC解碼器230可以執行對透過模組控制器匯流排210傳輸的主機ECC編碼資料D_EN的模組ECC解碼操作。模組ECC解碼器230可以根據模組ECC解碼操作的結果而輸出或不輸出模組ECC解碼資料D_DE。具體地,模組ECC解碼器230可以在模組ECC解碼操作期間識別主機ECC編碼資料D_EN是否為錯誤的資料。如果主機ECC編碼資料D_EN中不存在錯誤,則模組ECC解碼操作可以停止。因此,在這種情況下,模組ECC解碼器230可以不輸出模組ECC解碼資料D_DE。相反,如果主機ECC編碼資料D_EN對應於錯誤的資料,則可以完成模組ECC解碼操作,並且可以從模組ECC解碼器230輸出模組ECC解碼資料D_DE。在一個實施例中,可以透過對主機ECC編碼資料D_EN的錯誤進行校正以及透過從主機ECC編碼資料D_EN的校正後的資料中去除奇偶校驗資料來產生模組ECC解碼資料D_DE。從模組ECC解碼器230輸出的模組ECC解碼資料D_DE可以被寫入到記憶體介質124中。在下文中,用於產生模組ECC解碼資料D_DE並且用於將模組ECC解碼資料D_DE寫入到記憶體介質124中的操作可以被稱為“第二寫入操作”。
圖2是示出包括在圖1的記憶體系統100中的模組ECC解碼器230的配置的方塊圖。模組ECC解碼器230可以根據主機ECC編碼資料D_EN是否為錯誤的資料而輸出或不輸出模組ECC解碼資料D_DE。參考圖2,模組ECC解碼器230可以被配置為包括校驗子計算器(syndrome calculator)231、解碼選擇器232、錯誤位置多項式計算器(error location polynomial calculator)233、Chien搜索器234和錯誤校正器235。校驗子計算器231可以執行主機ECC編碼資料D_EN的校驗子計算操作,以產生校驗子並將其輸出到解碼選擇器232。校驗子計算器231可以根據是否存在錯誤而將標誌訊號FLAG輸出到解碼選擇器232作為校驗子計算的結果。在一個實施例中,解碼選擇器232可以被配置為:接收校驗子和標誌訊號,以在主機ECC編碼資料D_EN不存在錯誤時阻止校驗子的輸出,而在主機ECC編碼資料D_EN中存在錯誤時輸出校驗子。在一個實施例中,標誌訊號FLAG可以為一位元的二進位數字。例如,如果由校驗子計算器231計算出的校驗子中包括的所有位元均具有邏輯“低(0)”電平,則表示不存在錯誤。在這種情況下,校驗子計算器231可以將具有邏輯“低(0)”電平的標誌訊號FLAG輸出到解碼選擇器232。相反,如果由校驗子計算器231計算出的校驗子中包括的所有位元不都具有邏輯“低(0)”電平(即,由校驗子計算器231計算出的校驗子中包括的位元中的至少一個具有邏輯“低(0)”電平),則表示存在錯誤。在這種情況下,校驗子計算器231可以將具有邏輯“高(1)”電平的標誌訊號FLAG輸出到解碼選擇器232。
在一個實施例中,解碼選擇器232可以被配置為包括多工器236。多工器236可以具有兩個輸入端子、控制輸入端子和輸出端子。從校驗子計算器231輸出的校驗子可以被輸入到多工器236的兩個輸入端子之一。多工器236的兩個輸入端子中的另一個可以對應於沒有被輸入資料的空輸入端子(null input terminal)。從校驗子計算器231輸出的標誌訊號FLAG可以被輸入到多工器236的控制輸入端子。如果標誌訊號FLAG具有邏輯“低(0)”電平(即,不存在錯誤),則多工器236的輸出端子可以被耦接到空輸入端子。因此,在這種情況下,沒有資料透過多工器236的輸出端子被輸出。相反,如果標誌訊號FLAG具有邏輯“高(1)”電平(即,存在錯誤),則多工器236的輸出端子可以耦接到被輸入校驗子的輸入端子。因此,在這種情況下,可以透過多工器236的輸出端子來輸出由校驗子計算器231計算出的校驗子。在一個實施例中,空輸入端子可以具有空狀態。
如果校驗子被從解碼選擇器232傳輸到錯誤位置多項式計算器233,則錯誤位置多項式計算器233可以執行校驗子的計算操作以產生錯誤位置多項式並將其輸出。由錯誤位置多項式計算器233計算出的錯誤位置多項式可以被輸入到Chien搜索器234。Chien搜索器234可以計算出從錯誤位置多項式計算器233輸出的錯誤位置多項式的解以發現錯誤位置。在一個實施例中,在由Chien搜索器234計算出錯誤位置多項式的解時,除了錯誤位置之外的錯誤大小也可以被發現。錯誤校正器235可以利用由Chien搜索器234獲得的錯誤位置來校正錯誤,從而輸出已校正的模組ECC解碼資料D_DE。
圖3是示出圖1所示的記憶體系統100的寫入方法的流程圖。參考圖1和圖3,在步驟301處,可以產生寫入命令以執行寫入操作。寫入操作是指用於將從主機110輸出的寫入資料寫入到記憶體模組120的記憶體介質124中的操作。在步驟302處,主機110的主機ECC編碼器112可以執行寫入資料的主機ECC編碼操作。如參考圖1所描述的,可以透過主機ECC編碼操作來產生除包括寫入資料之外還包括奇偶校驗資料的主機ECC編碼資料D_EN。主機110可以向記憶體模組120傳輸主機ECC編碼資料D_EN。被傳輸到記憶體模組120的主機ECC編碼資料D_EN可以透過模組控制器匯流排210被輸入到奇偶校驗去除器220和模組ECC解碼器230兩者。
在步驟303處,奇偶校驗去除器220可以從主機ECC編碼資料D_EN中去除奇偶校驗資料以產生奇偶校驗去除資料D_RP,並且可以執行第一寫入操作以將奇偶校驗去除資料D_RP寫入到記憶體介質124中。在步驟304處,模組ECC解碼器230可以計算主機ECC編碼資料D_EN的校驗子。在步驟305處,作為校驗子計算的結果,模組ECC解碼器230可以識別在主機ECC編碼資料D_EN中是否存在錯誤。如果在步驟305處主機ECC編碼資料D_EN被視為沒有任何錯誤的資料,則模組ECC解碼器230可以停止模組ECC解碼操作而不輸出模組ECC解碼資料D_DE。即,如果作為校驗子計算的結果在主機ECC編碼資料D_EN中不存在錯誤,則可以僅執行第一寫入操作而不執行第二寫入操作。
如果在步驟305處作為校驗子計算的結果主機ECC編碼資料D_EN中存在錯誤,則模組ECC解碼器230可以執行主機ECC編碼資料D_EN的模組ECC解碼操作,以產生模組ECC解碼資料D_DE,並且可以執行用於將模組ECC解碼資料D_DE寫入記憶體介質124中的第二寫入操作(參見步驟306)。即,如果作為校驗子計算的結果主機ECC編碼資料D_EN被視為錯誤的資料,則可以執行全部的第一寫入操作和第二寫入操作。在這種情況下,第一寫入操作和第二寫入操作可以被應用於記憶體介質124中的相同記憶體區域。即,資料可以被重寫到記憶體介質124中的相同記憶體區域中。
根據上述記憶體系統100,當第一寫入操作和第二寫入操作兩者都被執行時,用於將寫入資料寫入記憶體介質124的寫入操作的速度可能會降低。相反,當僅執行第一寫入操作時,可以提高寫入操作的速度。通常,當寫入資料被從主機110傳輸到記憶體模組120時,未發生錯誤的概率可以比發生錯誤的概率高得多。即,僅執行第一寫入操作的頻率可以比第一寫入操作和第二寫入操作兩者都執行的頻率高得多。這可以導致用於記憶體介質124的寫入操作速度的提高。
圖4是示出根據本公開的另一實施例的記憶體系統400的配置的方塊圖。根據記憶體系統400,第一寫入操作的執行可以根據資料I/O線的故障來確定。參考圖4,記憶體系統400可以被配置為包括主機410和記憶體模組420。主機410和記憶體模組420可以透過模組介面彼此耦接,並且可以透過模組介面來傳輸資料。模組介面可以包括多個資料I/O線,例如,第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3。主機410可以提供用於控制記憶體模組420的各種代碼,並且各種代碼可以被儲存在記憶體模組420中。主機410可以訪問儲存在記憶體模組420中的各種代碼。
主機410可以將用於執行作業系統和應用程式的代碼或與作業系統和應用程式有關的資料儲存到記憶體模組420中,並且可以訪問儲存在記憶體模組420中的代碼或資料。主機410可以包括主機ECC編碼器412。主機ECC編碼器412可以執行對從主機410傳輸到記憶體模組420的寫入資料的主機ECC編碼操作,以產生主機ECC編碼資料D_EN。主機ECC編碼資料D_EN可以透過第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3中的至少一個而從主機410傳輸到記憶體模組420。在一個實施例中,主機ECC編碼資料D_EN可以透過第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3中的任何一個而被從主機410傳輸到記憶體模組420。在另一實施例中,主機ECC編碼資料D_EN可以透過所有的第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3而被從主機410傳輸到記憶體模組420。主機ECC編碼資料D_EN除了包括寫入資料之外還可以包括奇偶校驗資料。在下文中將結合主機ECC編碼資料D_EN透過第四資料I/O線DQ3從主機410傳輸到記憶體模組420的情況來描述接下來的實施例。
記憶體模組420可以被配置為包括模組控制器422和記憶體介質424。記憶體介質424可以包括多個記憶體晶片425。模組控制器422可以包括資料路徑確定器510、奇偶校驗去除器520、模組ECC解碼器530和錯誤位置計數器540。資料路徑確定器510可以透過第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3而被耦接到主機410的主機ECC編碼器412。因此,資料路徑確定器510可以透過第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3中的至少一個而從主機410的主機ECC編碼器412接收主機ECC編碼資料D_EN。在本實施例中,資料路徑確定器510可以透過第四資料I/O線DQ3而從主機ECC編碼器412接收主機ECC編碼資料D_EN。資料路徑確定器510可以根據第四資料I/O線DQ3的故障來改變主機ECC編碼資料D_EN的傳輸路徑。
具體地說,如果主機ECC編碼資料D_EN被輸入到資料路徑確定器510,則資料路徑確定器510可以將控制訊號CS_REQ輸出到錯誤位置計數器540,所述輸出控制訊號CS_REQ用於識別傳輸主機ECC編碼資料D_EN的第四資料I/O線DQ3的正常狀態和異常狀態。資料路徑確定器510可以從錯誤位置計數器540接收計數值C_VALUE,以識別傳輸主機ECC編碼資料D_EN的第四資料I/O線DQ3是否故障。如果第四資料I/O線DQ3被視為故障線,則資料路徑確定器510可以僅向模組ECC解碼器530而不向奇偶校驗去除器520傳輸主機ECC編碼資料D_EN。相反,如果資料I/O線DQ3被視為正常線,則資料路徑確定器510可以向奇偶校驗去除器520和模組ECC解碼器530兩者傳輸主機ECC編碼資料D_EN。在一個實施例中,資料路徑確定器510可以同時向奇偶校驗去除器520和模組ECC解碼器530兩者傳輸從主機ECC編碼器412輸出的主機ECC編碼資料D_EN。如本文中關於向奇偶校驗去除器520和模組ECC解碼器530傳輸主機ECC編碼資料D_EN所使用的“同時”和“同時地”表示所述傳輸在重疊的時間間隔上發生。例如,如果第一傳輸發生在第一時間間隔上,而第二傳輸同時地發生在第二時間間隔上,則第一間隔和第二間隔至少部分地彼此重疊,使得存在第一傳輸和第二傳輸都在發生的時間。
如果主機ECC編碼資料D_EN被輸入到奇偶校驗去除器520,則奇偶校驗去除器520可以從主機ECC編碼資料D_EN中去除奇偶校驗資料以產生並輸出奇偶校驗去除資料D_RP。從奇偶校驗去除器520輸出的奇偶校驗去除資料D_RP可以被寫入記憶體介質424。也就是說,可以執行第一寫入操作。
如果主機ECC編碼資料D_EN被輸入到模組ECC解碼器530,則模組ECC解碼器530可以執行主機ECC編碼資料D_EN的模組ECC解碼操作,以產生模組ECC解碼資料D_DE。模組ECC解碼器530可以根據模組ECC解碼操作的結果而輸出或不輸出模組ECC解碼資料D_DE。
具體地,模組ECC解碼器530可以計算主機ECC編碼資料D_EN的校驗子,如參考圖2所述。如果作為校驗子計算的結果在主機ECC編碼資料D_EN中不存在錯誤,則模組ECC解碼操作可以停止。因此,在這種情況下,模組ECC解碼器530可以不輸出模組ECC解碼資料D_DE。相反,如果主機ECC編碼資料D_EN對應於錯誤的資料,則可以完成模組ECC解碼操作,並且可以從模組ECC解碼器530輸出模組ECC解碼資料D_DE。從模組ECC解碼器530輸出的模組ECC解碼資料D_DE可以被寫入記憶體介質424中。也就是說,可以執行第二寫入操作。如果主機ECC編碼資料D_EN中存在錯誤,則模組ECC解碼器530可以產生錯誤位置,並且可以將錯誤位置輸出到錯誤位置計數器540。
錯誤位置計數器540可以從模組ECC解碼器530接收錯誤位置,並且可以對與錯誤位置相對應的第四資料I/O線DQ3的計數值C_VALUE進行計數。錯誤位置計數器540可以回應於從資料路徑確定器510輸出的控制訊號CS_REQ而將第四資料I/O線DQ3的計數值C_VALUE輸出到資料路徑確定器510。每當錯誤位置被從模組ECC解碼器530輸入到錯誤位置計數器540時,都可以執行錯誤位置計數器540的計數操作。因此,第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3中的每一個的計數值C_VALUE可以等於透過對應的資料I/O線傳輸的資料的錯誤被產生的次數。
根據上述記憶體系統400,如果傳輸主機ECC編碼資料D_EN的資料I/O線正常工作,則可以僅執行第一寫入操作或者可以執行第一寫入操作和第二寫入操作兩者。也就是說,在這種情況下,如果主機ECC編碼資料D_EN中不存在錯誤,則可以僅執行第一寫入操作,而如果主機ECC編碼資料D_EN中存在錯誤,則可以執行第一寫入操作和第二寫入操作。如果主機ECC編碼資料D_EN透過第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3之中的異常資料I/O線來傳輸,則由於異常資料I/O線的故障而在主機ECC編碼資料D_EN的傳輸期間可能會一直產生錯誤。因此,在這種情況下,可以一直執行第二寫入操作,並且不需要執行第一寫入操作。因此,如果記憶體系統400中透過其來傳輸主機ECC編碼資料D_EN的資料I/O線發生故障,則可以僅執行第二寫入操作而不執行第一寫入操作。
圖5是示出圖4的記憶體系統400中包括的資料路徑確定器510的配置的方塊圖,並且圖6是示出包括在圖5的資料路徑確定器510中的暫存器516的配置的示意圖。參考圖5,資料路徑確定器510可以被配置為包括資料I/O線校驗器511、控制訊號產生器512、資料I/O線故障校驗器513和資料傳送單元514。
資料I/O線校驗器511可以透過第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3中的至少一個(例如,第四資料I/O線DQ3)從主機ECC編碼器(圖4的412)接收主機ECC編碼資料D_EN。資料I/O線校驗器511可以輸出資料I/O線資訊DQ_INFO,所述資料I/O線資訊DQ_INFO指定了透過其來傳輸主機ECC編碼資料D_EN的資料I/O線(即,第四資料I/O線DQ3)。資料I/O線資訊DQ_INFO可以被輸入到控制訊號產生器512和資料傳送單元514兩者。另外,資料I/O線校驗器511可以將主機ECC編碼資料D_EN輸出到資料傳送單元514。
控制訊號產生器512可以回應於從資料I/O線校驗器511輸出的資料I/O線資訊DQ_INFO而向錯誤位置計數器(圖4的540)發送控制訊號CS_REQ。在一個實施例中,控制訊號CS_REQ可以包括:指示透過其來傳輸主機ECC編碼資料D_EN的第四資料I/O線DQ3的索引訊號(index signal),以及從錯誤位置計數器540請求計數值C_VALUE的訊號。
資料I/O線故障校驗器513可以從錯誤位置計數器540接收計數值C_VALUE,以識別第四資料I/O線DQ3是正常工作還是發生故障。為了識別第四資料I/O線DQ3的正常/異常,資料I/O線故障校驗器513可以包括比較邏輯電路。在一個實施例中,比較邏輯電路可以將從錯誤位置計數器540輸出的計數值C_VALUE與參考值進行比較,以將與比較結果相對應的訊號輸出到資料傳送單元514。參考值可以被設置為在資料I/O線可以被視為發生故障的異常資料I/O線的期間錯誤發生的次數。資料I/O線故障校驗器513可以輸出具有邏輯“低(0)”電平或邏輯“高(1)”電平的二進位數字作為比較結果訊號。在一個實施例中,如果計數值C_VALUE小於參考值(即,第四資料I/O線DQ3正常工作),則資料I/O線故障校驗器513可以輸出具有邏輯“低(0)”電平的比較結果訊號。相反,如果計數值C_VALUE大於參考值(即,第四資料I/O線DQ3發生故障),則資料I/O線故障校驗器513可以輸出具有邏輯“高(1)”電平的比較結果訊號。
資料傳送單元514可以根據資料I/O線故障校驗器513的識別來儲存關於資料I/O線正常/異常的資訊。資料傳送單元514可以包括暫存器516,所述暫存器516用於儲存從資料I/O線故障校驗器513輸出的資料(即,資料I/O線故障校驗器513的比較結果訊號)。如圖6所示,暫存器516可以儲存資料I/O線(DQ0、DQ1、DQ2和DQ3)的暫存器值R_VALUES(對應於資料I/O線故障校驗器513的比較結果訊號)。例如,針對第一資料I/O線DQ0的、具有邏輯“低(0)”或“高(1)”電平的第一暫存器值R_VALUE0可以被儲存到暫存器516中。類似地,針對第二資料I/O線至第四資料I/O線DQ1、DQ2和DQ3的、具有邏輯“低(0)”或“高(1)”電平的第二暫存器值至第四暫存器值R_VALUE1、R_VALUE2和R_VALUE3可以被儲存到暫存器516中。
資料傳送單元514可以根據儲存在暫存器516中的暫存器值來確定主機ECC編碼資料D_EN的處理路徑。如果透過其來傳輸主機ECC編碼資料D_EN的第四資料I/O線DQ3的第四暫存器值R_VALUE3具有邏輯“低(0)”電平(即,第四資料I/O線DQ3正常工作),則資料傳送單元514可以將主機ECC編碼資料D_EN輸出到奇偶校驗去除器(圖4的520)和模組ECC解碼器(圖4的530)兩者。相反,如果透過其來傳輸主機ECC編碼資料D_EN的第四資料I/O線DQ3的第四暫存器值R_VALUE3具有邏輯“高(1)”電平(即,第四資料I/O線DQ3發生故障),則資料傳送單元514可以僅向模組ECC解碼器530而不向奇偶校驗去除器520傳輸主機ECC編碼資料D_EN。
圖7是示出包括在圖4的記憶體系統400中的錯誤位置計數器540的配置的方塊圖。參考圖7,錯誤位置計數器540可以被配置為包括多個計數器(例如,第一計數器541至第四計數器544)和計數器控制器545。在一個實施例中,計數器541〜544的數量可以等於資料I/O線DQ0〜DQ3的數量。計數器541〜544可以根據它們自身的索引而彼此區分。在一個實施例中,第一計數器541至第四計數器544可以分別具有索引“00”、“01”、“10”和“11”。第一計數器541至第四計數器544的索引可以分別對應於第一資料I/O線至第四資料I/O線DQ0、DQ1、DQ2和DQ3。因此,第一計數器541可以針對第一資料I/O線DQ0執行計數操作,以產生並儲存第一計數值C_VALUE0。第二計數器542可以針對第二資料I/O線DQ1執行計數操作,以產生並儲存第二計數值C_VALUE1。第三計數器543可以針對第三資料I/O線DQ2執行計數操作,以產生並儲存第三計數值C_VALUE2。第四計數器544可以針對第四資料I/O線DQ3執行計數操作,以產生並儲存第四計數值C_VALUE3。
計數器控制器545可以回應於從資料路徑確定器510輸出的控制訊號CS_REQ而輸出第一計數器至第四計數器541〜544之中的指定計數器的計數值C_VALUE。計數器的指定可以透過控制訊號CS_REQ中包含的索引來實現。計數器控制器545可以從圖4的模組ECC解碼器530接收關於錯誤位置ERROR_LOCATION的資訊。計數器控制器545可以控制計數器541〜544,使得與錯誤位置ERROR_LOCATION相對應的資料I/O線的計數器執行計數操作。例如,如果錯誤位置ERROR_LOCATION對應於第四資料I/O線DQ3,則與第四資料I/O線DQ3相對應的第四計數器544可以執行計數操作。
圖8是示出圖4所示的記憶體系統400的寫入方法的流程圖。參考圖4和圖8,在步驟601處,可以產生寫入命令以執行寫入操作。寫入操作意指用於將從主機410輸出的寫入資料寫入到記憶體模組420的記憶體介質424中的操作。在步驟602處,主機410的主機ECC編碼器412可以執行寫入資料的主機ECC編碼操作。如參考圖4所描述的,可以透過主機ECC編碼操作來產生除了包括寫入資料之外還包括奇偶校驗資料的主機ECC編碼資料D_EN。主機410可以向記憶體模組420傳輸主機ECC編碼資料D_EN。
在步驟603處,可以識別傳輸主機ECC編碼資料D_EN的資料I/O線正常工作還是發生故障。為了識別資料I/O線的正常/異常,資料路徑確定器510訪問儲存在包括在資料路徑確定器510中的暫存器(圖5和圖6的516)中的暫存器值R_VALUE。如參考圖6所述,暫存器值R_VALUE可以是指示對應的資料I/O線是正常工作還是故障的二進位數字。即,資料路徑確定器510可以訪問儲存在暫存器516中的暫存器值R_VALUE,以識別傳輸主機ECC編碼資料D_EN的資料I/O線是正常工作還是發生故障。
如果在步驟603處傳輸主機ECC編碼資料D_EN的資料I/O線被視為發生故障的異常線,則可以執行主機ECC編碼資料D_EN的模組ECC解碼操作以產生模組ECC解碼資料D_DE並可以執行第二寫入操作以將模組ECC解碼資料D_DE寫入記憶體介質424中(參見步驟604)。在這種情況下,資料路徑確定器510可以僅將主機ECC編碼資料D_EN傳輸到模組ECC解碼器530,而不向奇偶校驗去除器520傳輸主機ECC編碼資料D_EN。如果傳輸主機ECC編碼資料D_EN的資料I/O線發生故障,則主機ECC編碼資料D_EN可能由於資料I/O線的故障而包含錯誤。因此,在這種情況下,因為一直執行第二寫入操作,所以可以不必執行第一寫入操作。
如果在步驟603處傳輸主機ECC編碼資料D_EN的資料I/O線被視為正常工作的正常線,則奇偶校驗去除器520可以從主機ECC編碼資料D_EN中去除奇偶校驗資料以產生奇偶校驗去除資料D_RP,並且可以執行用於將奇偶校驗去除資料D_RP寫入記憶體介質424中的第一寫入操作(參見步驟605)。在步驟606處,模組ECC解碼器530可以計算主機ECC編碼資料D_EN的校驗子。在步驟607處,作為校驗子計算的結果,模組ECC解碼器530可以識別主機ECC編碼資料D_EN中是否存在錯誤。如果在步驟607處主機ECC編碼資料D_EN被視為沒有任何錯誤的資料,則模組ECC解碼器530可以停止模組ECC解碼操作而不輸出模組ECC解碼資料D_DE。即,如果作為校驗子計算的結果在主機ECC編碼資料D_EN中不存在錯誤,則可以僅執行第一寫入操作而不執行第二寫入操作。
如果在步驟607處主機ECC編碼資料D_EN中存在錯誤,則模組ECC解碼器530可以執行主機ECC編碼資料D_EN的模組ECC解碼操作以產生模組ECC解碼資料D_DE,並且可以執行用於將模組ECC解碼資料D_DE寫入記憶體介質424中的第二寫入操作(參見步驟608)。即,如果作為校驗子計算的結果主機ECC編碼資料D_EN被視為錯誤資料,則可以執行全部的第一寫入操作和第二寫入操作。在這種情況下,第一寫入操作和第二寫入操作可以被應用於記憶體介質424中的相同記憶體區域。也就是說,資料可以被重寫到記憶體介質424中的相同記憶體區域中。
在步驟609處,模組ECC解碼器530可以向錯誤位置計數器540發送關於錯誤位置的資訊。錯誤位置計數器540可以控制計數器541〜544,使得與錯誤位置ERROR_LOCATION相對應的資料I/O線的計數器執行計數操作以產生計數值C_VALUE。錯誤位置計數器540的計數值C_VALUE可以透過從資料路徑確定器510輸出的控制訊號CS_REQ而被輸入到資料路徑確定器510。
上面出於說明性目的已經公開了所公開技術的實施例。所屬技術領域具有通常知識者將理解,各種修改、添加和替換是可能的。在所述專利文件中在不同的實施例的背景中描述的某些特徵也可以組合為單個實施例來實施。相反,在單個實施例的背景中描述的各種特徵也可以單獨地在多個實施例中實施或以任何合適的子組合來實施。此外,儘管以上可以將特徵描述為以某些組合起作用並且甚至最初如此要求保護,但是在某些情況下,可以從要求保護的組合中刪除所述組合中的一個或更多個特徵,並且所要求保護的組合可以指子組合或子組合的變體。
100:記憶體系統 110:主機 112:主機ECC編碼器 120:記憶體模組 122:模組控制器 124:記憶體介質 125:記憶體晶片 210:模組控制器匯流排 220:奇偶校驗去除器 230:模組ECC解碼器 231:校驗子計算器 232:解碼選擇器 233:錯誤位置多項式計算器 234:Chien搜索器 235:錯誤校正器 236:多工器 400:記憶體系統 410:主機 412:主機ECC編碼器 420:記憶體模組 422:模組控制器 424:記憶體介質 425:記憶體晶片 510:資料路徑確定器 511:資料I/O線校驗器 512:控制訊號產生器 513:資料I/O線故障校驗器 514:資料傳送單元 516:暫存器 520:奇偶校驗去除器 530:模組ECC解碼器 540:錯誤位置計數器 541:第一計數器 542:第二計數器 543:第三計數器 544:第四計數器 545:計數器控制器 301~306:步驟 C_VALUE:計數值 CS_REQ:控制訊號 D_DE:模組ECC解碼資料 D_EN:主機ECC編碼資料 D_RP:奇偶校驗去除資料 DQ LINES:DQ線 DQ_INFO:資料I/O線資訊 DQ0:第一資料I/O DQ1:第二資料I/O DQ2:第三資料I/O DQ3:第四資料I/O ERROR_LOCATION:錯誤位置 FLAG:標誌訊號 R_VALUES:暫存器值
參考圖式透過各種實施例示出了所公開技術的某些特徵,其中: 圖1是示出根據本公開的實施例的記憶體系統的配置的方塊圖。 圖2是示出包括在圖1的記憶體系統中的模組ECC解碼器的配置的方塊圖。 圖3是示出圖1所示的記憶體系統的寫入方法的流程圖。 圖4是示出根據本公開的另一實施例的記憶體系統的配置的方塊圖。 圖5是示出包括在圖4的記憶體系統中的資料路徑確定器的配置的方塊圖。 圖6是示出包括在圖5的資料路徑確定器中的暫存器的配置的示意圖。 圖7是示出包括在圖4的記憶體系統中的錯誤位置計數器的配置的方塊圖。 圖8是示出圖4所示的記憶體系統的寫入方法的流程圖。
100:記憶體系統
110:主機
112:主機ECC編碼器
120:記憶體模組
122:模組控制器
124:記憶體介質
125:記憶體晶片
210:模組控制器匯流排
220:奇偶校驗去除器
230:模組ECC解碼器
D_EN:主機ECC編碼資料
D_RP:奇偶校驗去除資料
D_DE:模組ECC解碼資料

Claims (21)

  1. 一種記憶體系統,包括: 主機錯誤校正碼ECC編碼器,其被配置為對寫入資料執行主機ECC編碼操作,以輸出主機ECC編碼資料;和 記憶體模組,其包括記憶體介質和模組控制器,所述記憶體介質被配置為接收所述主機ECC編碼資料,以及所述模組控制器被配置為控制所述記憶體介質, 其中,所述模組控制器包括: 奇偶校驗元去除器,其被配置為從所述主機ECC編碼資料中去除奇偶校驗資料以產生奇偶校驗去除資料,並且被配置為執行用於將所述奇偶校驗去除資料寫入所述記憶體介質中的第一寫入操作;和 模組ECC解碼器,其被配置為對所述主機ECC編碼資料執行模組ECC解碼操作以產生模組ECC解碼資料,並且被配置為執行用於將所述模組ECC解碼資料寫入所述記憶體介質中的第二寫入操作。
  2. 如請求項1所述的記憶體系統,其中,所述主機ECC編碼器被設置在主機中。
  3. 如請求項1所述的記憶體系統,其中,所述主機ECC編碼資料包括所述寫入資料和所述奇偶校驗資料。
  4. 如請求項1所述的記憶體系統,其中,所述第一寫入操作和所述第二寫入操作被應用於所述記憶體介質中所包括的相同區域。
  5. 如請求項1所述的記憶體系統,其中,所述模組控制器將從所述主機ECC編碼器輸出的所述主機ECC編碼資料傳輸到所述奇偶校驗去除器和所述模組ECC解碼器兩者。
  6. 如請求項1所述的記憶體系統,其中,當所述主機ECC編碼資料中不存在錯誤時,所述模組ECC解碼器不執行所述第二寫入操作。
  7. 如請求項1所述的記憶體系統,其中,所述模組ECC解碼器包括: 校驗子計算器,其被配置為執行所述主機ECC編碼資料的校驗子計算操作以產生校驗子,並且被配置為輸出所述校驗子和標誌訊號,所述標誌訊號指示所述主機ECC編碼資料中存在錯誤或者不存在錯誤中的至少一種; 解碼選擇器,其被配置為接收所述校驗子和所述標誌訊號,以在所述主機ECC編碼資料中不存在錯誤時阻止所述校驗子的輸出,而在所述主機ECC編碼資料中存在所述錯誤時輸出所述校驗子;以及 錯誤校正器,其被配置為從所述解碼選擇器接收所述校驗子以校正所述錯誤。
  8. 如請求項7所述的記憶體系統,其中,所述解碼選擇器包括:接收所述校驗子的第一輸入端子,具有空狀態的第二輸入端子,以及接收所述標誌訊號的控制輸入端子。
  9. 一種記憶體系統,包括: 主機錯誤校正碼ECC編碼器,其被配置為對寫入資料執行主機ECC編碼操作,以透過資料登錄和輸出I/O線中的至少一個來輸出主機ECC編碼資料;和 記憶體模組,其包括記憶體介質和模組控制器,所述記憶體介質被配置為接收所述主機ECC編碼資料,並且所述模組控制器被配置為控制所述記憶體介質, 其中,所述模組控制器包括: 資料路徑確定器,其被配置為根據所述資料I/O線的正常與異常來確定所述主機ECC編碼資料的處理路徑; 奇偶校驗去除器,其被配置為從所述資料路徑確定器所輸出的所述主機ECC編碼資料中去除奇偶校驗資料,以產生奇偶校驗去除資料,並且被配置為執行用於將所述奇偶校驗去除資料寫入所述記憶體介質中的第一寫入操作; 模組ECC解碼器,其被配置為對從所述資料路徑確定器輸出的所述主機ECC編碼資料執行模組ECC解碼操作,以產生模組ECC解碼資料,並且被配置為執行用於將所述模組ECC解碼資料寫入所述記憶體介質中的第二寫入操作;以及 錯誤位置計數器,其被配置為儲存關於所述資料I/O線的資訊。
  10. 如請求項9所述的記憶體系統,其中,所述主機ECC編碼器被設置在主機中。
  11. 如請求項9所述的記憶體系統,其中,所述主機ECC編碼資料包括所述寫入資料和所述奇偶校驗資料。
  12. 如請求項9所述的記憶體系統,其中,所述第一寫入操作和所述第二寫入操作被應用於所述記憶體介質中所包括的相同區域。
  13. 如請求項9所述的記憶體系統,其中,所述資料路徑確定器被配置為從所述錯誤位置計數器接收計數值以識別所述資料I/O線是否發生故障,被配置為儲存與異常或正常資料I/O線相對應的識別結果,並且被配置為根據針對所述異常或正常資料I/O線的識別結果來確定所述主機ECC編碼資料的所述處理路徑。
  14. 如請求項13所述的記憶體系統,其中,當用於將所述主機ECC編碼資料從所述主機ECC編碼器傳輸到所述資料路徑確定器的資料I/O線中的任意一個發生故障時,所述資料路徑確定器將所述主機ECC編碼資料傳輸到所述模組ECC解碼器,而不將所述主機ECC編碼資料傳輸到所述奇偶校驗去除器。
  15. 如請求項9所述的記憶體系統,其中,所述資料路徑確定器包括: 資料I/O線校驗器,其被配置為輸出所述主機ECC編碼資料和資料I/O線資訊,所述資料I/O線資訊指定透過其來傳輸所述主機ECC編碼資料的所述資料I/O線中的至少一個; 控制訊號產生器,其被配置為接收所述資料I/O線資訊以產生控制訊號,所述控制訊號從所述錯誤位置計數器請求計數值; 資料I/O線故障校驗器,其被配置為從所述錯誤位置計數器接收所述計數值,以識別所述資料I/O線是否正常工作;以及 資料傳送單元,其被配置為根據所述資料I/O線故障校驗器的識別來儲存關於所述資料I/O線的正常和異常的資訊,並且被配置為根據關於所述資料I/O線的正常和異常的資訊來確定所述主機ECC編碼資料的所述處理路徑。
  16. 如請求項15所述的記憶體系統,其中,當所述資料I/O線中的任意一個發生故障時,所述資料傳送單元將從所述資料I/O線故障校驗器輸出的所述主機ECC編碼資料傳輸到所述模組ECC解碼器,而不將所述主機ECC編碼資料傳輸到所述奇偶校驗去除器。
  17. 如請求項9所述的記憶體系統,其中,所述資料路徑確定器將從所述主機ECC編碼器輸出的所述主機ECC編碼資料傳輸到所述奇偶校驗去除器和所述模組ECC解碼器兩者。
  18. 如請求項9所述的記憶體系統,其中,當所述主機ECC編碼資料中不存在錯誤時,阻止所述模組ECC解碼器執行所述第二寫入操作。
  19. 如請求項9所述的記憶體系統,其中,所述模組ECC解碼器包括: 校驗子計算器,其被配置為執行所述主機ECC編碼資料的校驗子計算操作以產生校驗子,並且被配置為輸出所述校驗子和標誌訊號,所述標誌訊號指示所述主機ECC編碼資料中存在錯誤和不存在錯誤中的至少一種; 解碼選擇器,其被配置為接收所述校驗子和所述標誌訊號,以在所述主機ECC編碼資料中不存在錯誤時阻止所述校驗子的輸出,而在所述主機ECC編碼資料中存在所述錯誤時輸出所述校驗子;以及 錯誤校正器,其被配置為從所述解碼選擇器接收所述校驗子以校正所述錯誤。
  20. 如請求項19所述的記憶體系統,其中,所述解碼選擇器包括:接收所述校驗子的第一輸入端子,具有空狀態的第二輸入端子,以及接收所述標誌訊號的控制輸入端子。
  21. 如請求項9所述的記憶體系統,其中,當作為所述模組ECC解碼操作的結果存在錯誤時,所述模組ECC解碼器將錯誤位置和指定所述資料I/O線中的至少一個的索引輸出到所述錯誤位置計數器。
TW109115883A 2019-07-30 2020-05-13 記憶體系統及記憶體系統的寫入方法 TW202105182A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0092602 2019-07-30
KR1020190092602A KR20210014473A (ko) 2019-07-30 2019-07-30 메모리 시스템 및 메모리 시스템의 라이트 방법

Publications (1)

Publication Number Publication Date
TW202105182A true TW202105182A (zh) 2021-02-01

Family

ID=74260128

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109115883A TW202105182A (zh) 2019-07-30 2020-05-13 記憶體系統及記憶體系統的寫入方法

Country Status (4)

Country Link
US (1) US11106533B2 (zh)
KR (1) KR20210014473A (zh)
CN (1) CN112306738A (zh)
TW (1) TW202105182A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180084518A (ko) * 2017-01-17 2018-07-25 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템, 및 그의 리페어 동작 방법
KR102599188B1 (ko) * 2018-11-09 2023-11-08 삼성전자주식회사 호스트 메모리를 사용하는 스토리지 장치 및 그것의 동작 방법
US11327836B1 (en) * 2020-09-29 2022-05-10 Xilinx, Inc. Protection of data on a data path in a memory system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101919990B1 (ko) 2011-03-10 2018-11-19 삼성전자주식회사 데이터 처리 시스템 및 그것의 에러 정정 코드 처리 방법
KR20170012675A (ko) * 2015-07-22 2017-02-03 삼성전자주식회사 컴퓨팅 시스템 및 그것의 데이터 전송 방법
KR20170050935A (ko) * 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템
US10387242B2 (en) * 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems

Also Published As

Publication number Publication date
KR20210014473A (ko) 2021-02-09
US20210034457A1 (en) 2021-02-04
CN112306738A (zh) 2021-02-02
US11106533B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
TWI465897B (zh) 記憶體模組之錯誤檢查與校正系統以及方法
TW202105182A (zh) 記憶體系統及記憶體系統的寫入方法
JP3839215B2 (ja) 誤り検出・訂正方法、計算機システムの主記憶制御装置、及び計算機システム
EP1204921B1 (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US20180143873A1 (en) Memory repair method and apparatus based on error code tracking
US20190155685A1 (en) Memory systems including memory controllers and memory modules and methods of processing data in the memory systems
JP5623635B2 (ja) バス障害を検出するための方法、システム及びコンピュータ・プログラム
US9191030B2 (en) Memory controller, data storage device, and memory controlling method
CN104699576B (zh) 串行通信测试装置、包括该装置的系统及其方法
KR20180089104A (ko) 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
KR20190129653A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US5751745A (en) Memory implemented error detection and correction code with address parity bits
CN102467975A (zh) 数据错误检查方法、数据传输方法和半导体存储装置
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US9164831B2 (en) Memory controller, semiconductor storage device, and decoding method
CN106528437B (zh) 数据储存系统与其相关方法
US11372720B2 (en) Systems and methods for encoding metadata
JP5174603B2 (ja) メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ
US10490243B2 (en) Memory device and information processing apparatus
US20150200685A1 (en) Recording and reproducing device, error correction method, and control device
US20210019227A1 (en) Memory systems and methods of correctng errors in the memory systems
CN109840158B (zh) 一种操作存储器的方法
CN116909804B (zh) 一种存储访问控制系统、方法、芯片及存储介质
TWI738627B (zh) 具有錯誤偵測功能的智能網卡系統及錯誤偵測方法
WO2023197935A1 (zh) 存储数据的方法、读取数据的方法和相关设备