TW201937369A - 錯誤校正方法和使用其的半導體裝置 - Google Patents

錯誤校正方法和使用其的半導體裝置 Download PDF

Info

Publication number
TW201937369A
TW201937369A TW107129419A TW107129419A TW201937369A TW 201937369 A TW201937369 A TW 201937369A TW 107129419 A TW107129419 A TW 107129419A TW 107129419 A TW107129419 A TW 107129419A TW 201937369 A TW201937369 A TW 201937369A
Authority
TW
Taiwan
Prior art keywords
signal
read
data
output
syndrome
Prior art date
Application number
TW107129419A
Other languages
English (en)
Other versions
TWI798250B (zh
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 TW201937369A publication Critical patent/TW201937369A/zh
Application granted granted Critical
Publication of TWI798250B publication Critical patent/TWI798250B/zh

Links

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
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • 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
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

半導體裝置包括讀取資料產生電路和校驗子產生電路。讀取資料產生電路從在第一讀取操作期間產生的第一輸出資料和第一輸出同位檢查碼來產生第一讀取資料。此外,讀取資料產生電路從在第二讀取操作期間產生的第二輸出資料和第二輸出同位檢查碼產生第二讀取資料。校驗子產生電路從第一讀取資料和第二讀取資料產生校驗子信號。校驗子產生電路產生校驗子信號使得與第一讀取資料相對應的第一半矩陣的行向量對稱於與第二讀取資料相對應的第二半矩陣的行向量。

Description

錯誤校正方法和使用其的半導體裝置
本發明的實施例整體關於一種能夠校正或恢復資料錯誤的半導體裝置。
半導體可以根據各種方案設計,以在每一個時脈週期內輸入或輸出多位元資料,以提高半導體裝置的工作速度。然而,隨著向或從半導體裝置輸入或輸出資料的速度增大,資料錯誤的概率也會增大。因此,需要改進的方法和/或設備來增強對記憶體設備的資料處理和來自記憶體設備的資料處理。
在半導體裝置的資料處理中,為了提高資料傳輸的可靠性,通常用錯誤代碼來傳輸資料,這些錯誤代碼用於檢測和校正資料中的錯誤。因此,典型的錯誤碼可以包括用於檢測錯誤的錯誤檢測碼(error detection cod, EDC)和用於校正錯誤的錯誤校正碼(error correction code, ECC)。
根據一個實施例,半導體裝置可以包括讀取資料產生電路和校驗子產生電路。讀取資料產生電路從在第一讀取操作期間產生的第一輸出資料和第一輸出同位檢查碼來產生第一讀取資料。此外,所述讀取資料產生電路從在第二讀取操作期間產生的第二輸出資料和第二輸出同位檢查碼來產生第二讀取資料。所述校驗子產生電路至少基於所述第一讀取資料和所述第二讀取資料來產生校驗子信號。
根據另一實施例,提供了一種校正資料錯誤的方法。所述方法包括第一步驟、第二步驟和第三步驟。執行所述第一步驟以從在第一讀取操作期間提供的第一輸出資料和第一輸出同位檢查碼來產生第一讀取資料。執行所述第二步驟以產生包括關於所述第一讀取資料的錯誤資訊的第一預校驗子組,並儲存所述第一預校驗子組。執行所述第三步驟以從在第二讀取操作期間提供的第二輸出資料和第二輸出同位檢查碼來產生第二讀取資料,產生包括關於所述第二讀取資料的錯誤資訊的第二預校驗子組,以及透過對所述第一預校驗子組和所述第二預校驗子組執行邏輯運算來產生校驗子信號。
根據另一實施例,半導體裝置包括記憶體區域和校驗子產生電路。所述記憶體區域在寫入操作期間儲存輸入資料和同位檢查碼。在第一讀取操作期間,所述記憶體區域將所述輸入資料的第一輸入資料輸出為第一輸出資料,並且將所述同位檢查碼輸出為輸出同位檢查碼。所述記憶體區域在第二讀取操作期間將所述輸入資料的第二輸入資料輸出為第二輸出資料,並且將所述同位檢查碼輸出為所述輸出同位檢查碼。所述校驗子產生電路在所述寫入操作期間從所述輸入資料產生所述同位檢查碼。所述校驗子產生電路在所述第一讀取操作期間透過對所述第一輸出資料和所述輸出同位檢查碼執行邏輯運算來產生同位檢查碼。所述校驗子產生電路透過在所述第二讀取操作期間對在所述第一讀取操作期間產生的同位檢查碼、所述第二輸出資料和輸出同位檢查碼執行邏輯運算來產生校驗子信號。所述校驗子產生電路產生所述校驗子信號,使得與所述第一輸出資料相對應的第一半矩陣的行向量對稱於與所述第二輸出資料相對應的第二半矩陣的行向量。
結合圖式透過對用於實施本發明的構思的較佳實施例的以下描述,本發明的其他應用對於本領域技術人員將變得顯而易見。
相關申請案的交叉引用: 本申請案請求2017年12月15日提交的第10-2017-0173258號韓國專利申請案的優先權,其公開內容透過引用整體合併於此。
本發明提供一種能夠對稱調整或控制矩陣的行向量的半導體裝置,所述半導體裝置用於在讀取操作期間執行兩次讀取操作,以產生用於資料錯誤校正的校驗子,並減小建立矩陣的電路的尺寸。
在描述本發明時,當確定對已知相關技術的詳細描述可能掩蓋本發明的要點時,將省略對其的詳細描述。
儘管可以使用諸如第一和第二的術語來描述各種組件,但是這些組件不受這些術語的限制,並且這些術語僅用於區分組件與其他組件。
本文使用的術語僅用於描述特定的實施例的目的,並不意在限制本發明。如這裡所使用的,單數形式旨在包括複數形式,除非上下文清楚地指示不是這樣。
還將進一步理解,在本說明書中使用術語「包括」、「包括有」、「包含」和「包含有」時,指定所陳述的元件的存在,而不排除存在或添加一個或更多個其他元件。如本文所使用的,術語「和/或」包括一個或更多個相關聯的列出項目的任意的和所有的組合。
在下面的描述中,為了提供對本發明的透徹理解,闡述了許多具體細節。本發明可以在沒有這些特定細節中的一些或全部的情況下實施。在其他情況下,為了免於不必要地混淆本發明,沒有詳細描述習知的工藝結構和/或工藝。
還注意到,在某些情況下,對於相關技術領域的技術人員來說明顯的是,結合一個實施例描述的特徵或元件可以單獨使用或與另一實施例的其他特徵或元件結合使用,除非另有具體說明。
現在參考圖1,提供了半導體裝置的示例性配置。半導體裝置包括同位檢查碼產生電路10、記憶體區域20、讀取資料產生電路30、校驗子產生電路40和資料校正電路50。
在寫入操作中,同位檢查碼產生電路10可以產生同位檢查碼PI<1:4>,所述同位檢查碼PI<1:4>包括關於輸入資料DIN<1:6>的錯誤資訊。在寫入操作期間,同位檢查碼產生電路10可以回應於輸入到同位檢查碼產生電路10的寫入信號WT來產生包括關於輸入資料DIN<1:6>的錯誤資訊的同位檢查碼PI<1:4>。在寫入操作期間,同位檢查碼產生電路10可以對包含在輸入資料DIN<1:6>中的資料位元執行邏輯運算以產生同位檢查碼PI<1:4>。例如,同位檢查碼產生電路10可以使用漢明碼(Hamming code)產生同位檢查碼P<1:4>。漢明碼可以在矩陣中實施,用於校正資料(例如,輸入資料DIN<1:6>)的錯誤。在一個實施例中,同位檢查碼產生電路10可以包括使用漢明碼來產生同位檢查碼P<1:4>的錯誤校正碼(ECC)電路(未示出)。
在寫入操作期間,記憶體區域20可以儲存輸入資料DIN<1:6>和同位檢查碼PI<1:4>。在記憶體區域20中,回應於在寫入操作期間輸入到記憶體區域20的寫入信號WT,輸入資料DIN<1:6>和同位檢查碼PI<1:4>可以被儲存。記憶體區域20可以回應於寫入信號WT而將輸入資料DIN<1:6>中的一些(例如輸入資料DIN<1:3>)儲存到記憶體區域20的第一記憶體區域。記憶體區域20可以回應於寫入信號WT而將輸入資料DIN<1:6>中的其他資料(例如輸入資料DIN<4:6>)儲存到記憶體區域20的第二記憶體區域。在記憶體區域20中,第一記憶體區域和第二記憶體區域可以是兩個不同的記憶體空間。在記憶體區域20中,第一記憶體區域和第二記憶體區域可以是兩個獨立的記憶體空間。第一記憶體區域和第二記憶體區域可以被設置為其中儲存輸入資料DIN<1:6>的記憶體空間。記憶體區域20可以回應於寫入信號WT而將同位檢查碼PI<1:4>的一些同位檢查碼(例如同位檢查碼PI<1:2>)儲存到記憶體區域20中的第三記憶體區域中。記憶體區域20可以回應於寫入信號WT而將同位檢查碼PI<1:4>的剩餘同位檢查碼(例如<同位檢查碼PI<3:4>)儲存到記憶體區域20的第四記憶體區域。第三記憶體區域和第四記憶體區域可以被建立為記憶體區域20中的兩個不同的記憶體空間。第三記憶體區域和第四記憶體區域可以被設置為其中儲存同位檢查碼PI<1:4>的記憶體空間。
在讀取操作中,記憶體區域20可以在第一讀取操作期間將儲存在第一記憶體區域中的輸入資料DIN<1:3>輸出為第一輸出資料DO1<1:3>。記憶體區域20可以回應於讀取信號RD將儲存在第一記憶體區域中的輸入資料DIN<1:3>輸出為第一輸出資料DO1<1:3>。記憶體區域20可以在第一讀取操作期間將儲存在第三記憶體區域中的同位檢查碼PI<1:2>輸出為第一輸出同位檢查碼PO1<1:2>。記憶體區域20可以回應於讀取信號RD將儲存在第三記憶體區域中的同位檢查碼PI<1:2>輸出為第一輸出同位檢查碼PO1<1:2>。記憶體區域20可以在第二讀取操作期間將儲存在第二記憶體區域中的輸入資料DIN<4:6>輸出為第二輸出資料DO2<1:3>。記憶體區域20可以回應於讀取信號RD將儲存在第二記憶體區域中的輸入資料DIN<4:6>輸出為第二輸出資料DO2<1:3>。記憶體區域20可以在第二讀取操作期間將儲存在第四記憶體區域中的同位檢查碼PI<3:4>輸出為第二輸出同位檢查碼PO2<1:2>。記憶體區域20可以回應於讀取信號RD將儲存在第四記憶體區域中的同位檢查碼PI<3:4>輸出為第二輸出同位檢查碼PO2<1:2>。
在第一讀取操作期間,讀取資料產生電路30可以至少基於從記憶體區域20輸出的第一輸出資料DO1<1:3>和第一輸出同位檢查碼PO1<1:2>來產生第一讀取資料RD1<1:5>。讀取資料產生電路30可以將第一輸出資料DO1<1:3>與第一輸出同位檢查碼PO1<1:2>組合以產生(或合成)第一讀取資料RD1<1:5>。在第二讀取操作期間,讀取資料產生電路30可以至少基於從記憶體區域20輸出的第二輸出資料DO2<1:3>和第二輸出同位檢查碼PO2<1:2>來產生第二讀取資料RD2<1:5>。在第二讀取操作期間,讀取資料產生電路30可以透過將從記憶體區域20輸出的第二輸出資料DO2<1:3>和第二輸出同位檢查碼PO2<1:2>組合來輸出第二讀取資料RD2<1:5>。讀取資料產生電路30可以產生選擇信號SEL,選擇信號SEL能夠回應於讀取信號RD而在預定時段期間被致能。讀取資料產生電路30可以產生重設信號RST,重設信號RST能夠回應於讀取信號RD和選擇信號SEL而在預定時段期間被致能。
校驗子產生電路40可以至少基於第一讀取資料RD1<1:5>和第二讀取資料RD2<1:5>來產生校驗子信號SYN<1:4>。校驗子信號SYN<1:4>可以從由第一讀取資料RD1<1:5>和第二讀取資料RD2<1:5>實施的矩陣(圖9所示)獲得。校驗子產生電路40可以透過回應於選擇信號SEL和重設信號RST而對第一讀取資料RD1<1:5>和第二讀取資料RD2<1:5>中所包含的資料位元執行邏輯運算來產生校驗子信號SYN<1:4>。例如,校驗子信號SYN<1:4>可以透過錯誤校正碼(ECC)電路使用漢明碼來產生。在一個實施例中,校驗子產生電路40可以包括使用漢明碼的錯誤校正碼(ECC)電路以用於產生錯誤校正碼。漢明碼可以由矩陣來實施(參見圖9),用於校正資料的錯誤。校驗子信號SYN<1:4>可以包括關於第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>中的資料位元之中錯誤位元的位置資訊。稍後將參考圖式詳細描述產生圖9所示的矩陣的方法。
在第二讀取操作期間,資料校正電路50可以利用校驗子信號SYN<1:4>來校正第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>的錯誤資料。資料校正電路50可以將在第二讀取操作期間被校正的第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>組合,並可以將組合資料輸出為校正資料DC<1:6>。
參考圖2,讀取資料產生電路30可以包括控制電路31和資料合成電路32。
控制電路31可以回應於讀取信號RD和行延遲信號(圖3的YID)而產生選擇信號SEL。選擇信號SEL可以回應於讀取信號RD而被致能,並且可以回應於行延遲信號YID而被失能。控制電路31可以回應於讀取信號RD和選擇信號SEL而產生重設信號RST。例如,重設信號RST可以回應於讀取信號RD而被致能,並且回應於選擇信號SEL而被失能。控制電路31可以產生行信號YI,該行信號YI包括回應於讀取信號RD而產生的第一脈衝和第二脈衝。
資料合成電路32可以回應於行信號YI至少基於第一輸出資料DO1<1:3>和第一輸出同位檢查碼PO1<1:2>來產生第一讀取資料RD1<1:5>,以及可以回應於行信號YI至少基於第二輸出資料DO2<1:3>和第二輸出同位檢查碼PO2<1:2>來產生第二讀取資料RD2<1:5>。資料合成電路32可以回應於行信號YI的第一脈衝而將第一輸出資料DO1<1:3>和第一輸出同位檢查碼PO1<1:2>組合(或合成),以輸出第一讀取資料RD1<1:5>。資料合成電路32可以透過回應於行信號YI的第一脈衝而將第一輸出資料DO1<1:3>和第一輸出同位檢查碼PO1<1:2>組合來產生第一讀取資料RD1<1:5>。資料合成電路32可以回應於行信號YI的第二脈衝而從第二輸出資料DO2<1:3>和第二輸出同位檢查碼PO2<1:2>產生第二讀取資料RD2<1:5>。資料合成電路32可以透過回應於行信號YI的第二脈衝而將第二輸出資料DO2<1:3>和第二輸出同位檢查碼PO2<1:2>組合(或合成)來產生第二讀取資料RD2<1:5>。
參考圖3,控制電路31可以包括選擇信號產生電路310、重設信號產生電路320和行信號產生電路330。
選擇信號產生電路310可以回應於讀取信號RD和行延遲信號YID來產生選擇信號SEL。選擇信號產生電路310可以在具有邏輯「高」位準的讀取信號RD被輸入到選擇信號產生電路310的時間產生具有邏輯「低」位準的選擇信號SEL。選擇信號產生電路310可以在具有邏輯「高」位準的行延遲信號YID被輸入到選擇信號產生電路310的時間產生具有邏輯「高」位準的選擇信號SEL。
重設信號產生電路320可以回應於選擇信號SEL和讀取信號RD而產生重設信號RST。重設信號產生電路320可以在選擇信號SEL具有邏輯「低」位準以及讀取信號RD具有邏輯「高」位準時產生具有邏輯「高」位準的重設信號RST。
行信號產生電路330可以包括脈衝信號產生電路331、行信號輸出電路332和延遲電路333。
脈衝信號產生電路331可以回應於讀取信號RD來產生依序被致能的第一脈衝信號YIP1和第二脈衝信號YIP2,當具有邏輯「高」位準的讀取信號RD被輸入到脈衝信號產生電路331時,脈衝信號產生電路331可以輸出在預定時段期間具有邏輯「高」位準的第一脈衝信號YIP1,以及在在輸出第一脈衝信號YIP1之後的預定時段期間具有邏輯「高」位準的第二脈衝信號YIP2。
行信號輸出電路332可以輸出包括第一脈衝和第二脈衝的行信號YI,所述第一脈衝和第二脈衝回應於第一脈衝信號YIP1和第二脈衝信號YIP2而產生。行信號輸出電路332可以對第一脈衝信號YIP1和第二脈衝信號YIP2執行邏輯或(OR)運算,以產生行信號YI。當第一脈衝信號YIP1和第二脈衝信號YIP2中的一個具有邏輯「高」位準時,行信號輸出電路332可以產生具有邏輯「高」位準的行信號YI。行信號輸出電路332可以將第一脈衝信號YIP1輸出為行信號YI的第一脈衝。行信號輸出電路332可以將第二脈衝信號YIP2輸出為行信號YI的第二脈衝。
延遲電路333可以將行信號YI延遲以產生行延遲信號YID。延遲電路333將行信號YI延遲多久,即延遲時間,可以根據各種實施例被不同地決定。
如上所述,當讀取信號RD具有邏輯「高」位準時,控制電路31可以產生具有邏輯「低」位準的選擇信號SEL,並且當行延遲信號YID具有邏輯「高」位準時,控制電路31可以產生具有邏輯「高」位準的選擇信號SEL。當選擇信號SEL具有邏輯「低」位準並且讀取信號RD具有邏輯「高」位準時,控制電路31可以產生具有邏輯「高」位準的重設信號RST。當讀取信號RD具有邏輯「高」位準時,控制電路31可以輸出包括依序產生的第一脈衝和第二脈衝的行信號YI。
參考圖4,校驗子產生電路40可以包括預校驗子產生電路41和邏輯電路42。
預校驗子產生電路41可以對在第一讀取操作期間產生的第一讀取資料RD1<1:5>中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。預校驗子產生電路41可以對在第二讀取操作期間產生的第二讀取資料RD2<1:5>中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。第一預校驗子至第四預校驗子PS<1:4>可以包括關於第一讀取資料RD1<1:5>和第二讀取資料RD2<1:5>的錯誤資訊。在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被建立為第一預校驗子組。在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第二預校驗子組。第一預校驗子至第四預校驗子PS<1:4>可以被看作矩陣的行向量。透過示例而非限制的方式,矩陣可以由預校驗子產生電路41提供以產生在半導體裝置中使用的校驗子。稍後將參考圖9來描述該矩陣。
邏輯電路42可以回應於選擇信號SEL而將在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>儲存為校驗子信號SYN<1:4>,即第一校驗子至第四校驗子SYN<1:4>。當選擇信號SEL具有邏輯「低」位準時,邏輯電路42可以將在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>分配為第一校驗子至第四校驗子SYN<1:4>。為了產生第一校驗子至第四校驗子SYN<1:4>,邏輯電路42可以回應於選擇信號SEL來改變在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>的陣列順序,並對根據已改變的陣列順序重新排列的第一預校驗子至第四預校驗子PS<1:4>以及在第一讀取操作期間產生的第一校驗子至第四校驗子SYN<1:4>執行邏輯運算。邏輯電路42可以回應於重設信號RST產生初始化的第一校驗子至第四校驗子SYN<1:4>。
下文將參考圖5描述預校驗子產生電路41的配置和操作。
預校驗子產生電路41可以以包括多個互斥或(exclusive OR)閘(互斥或閘EXOR41、互斥或閘EXOR42、互斥或閘EXOR43、互斥或閘EXOR44、互斥或閘EXOR45)和多個反相器(反相器IV41、反相器IV42)的形式來實施。
如下,根據一個示例可以在第一讀取操作期間產生第一預校驗子至第四預校驗子PS<1:4>。
預校驗子產生電路41可以透過經由互斥或閘EXOR41、互斥或閘EXOR42對第一讀取資料RD1<1:5>中包含的第一位元資料RD1<1>、第三位元資料RD1<3>和第四位元資料RD1<4>執行邏輯互斥或運算來產生第一預校驗子PS<1>。
預校驗子產生電路41可以透過經由互斥或閘EXOR43、互斥或閘EXOR44對第一讀取資料RD1<1:5>中包含的第二位元資料RD1<2>、第三位元資料RD1<3>和第五位元資料RD1<5>執行邏輯互斥或運算來產生第二預校驗子PS<2>。
預校驗子產生電路41可以透過經由互斥或閘EXOR45對第一讀取資料RD1<1:5>中包含的第四位元資料RD1<4>和第五位元資料RD1<5>執行邏輯互斥或運算來產生第三預校驗子PS<3>。
預校驗子產生電路41可以透過經由偶數個反相器(如反相器IV41和反相器IV42)對第一讀取資料RD1<1:5>的第五位元資料RD1<5>進行緩衝來產生第四預校驗子PS<4>。
如下,第一預校驗子至第四預校驗子PS<1:4>可以在第二讀取操作期間產生。
預校驗子產生電路41可以透過經由互斥或閘EXOR41、互斥或閘EXOR42對第二讀取資料RD2<1:5>中包含的第一位元資料RD2<1>、第三位元資料RD2<3>和第四位元資料RD2<4>執行邏輯互斥或運算來產生第一預校驗子PS<1>。
為了產生第二預校驗子PS<2>,預校驗子產生電路41可以經由互斥或閘EXOR43、互斥或閘EXOR44對第二讀取資料RD2<1:5>中包含的第二位元資料RD2<2>、第三位元資料RD2<3>和第五位元資料RD2<5>執行邏輯互斥或運算。
預校驗子產生電路41可以透過經由互斥或閘EXO45對第二讀取資料RD2<1:5>中包含的第四位元資料RD2<4>和第五位元資料RD2<5>執行邏輯互斥或運算來產生第三預校驗子PS<3>。
預校驗子產生電路41可以透過經由偶數個反相器(如反相器IV41和反相器IV42)對第二讀取資料RD2<1:5>的第五位元資料RD2<5>進行緩衝來產生第四預校驗子PS<4>。
下面將參考圖6描述邏輯電路42的配置和操作。
邏輯電路42可以包括選擇校驗子產生電路421和校驗子儲存電路422。
回應於選擇信號SEL,選擇校驗子產生電路421可以將第一至第四預校驗子PS<1:4>分別輸出為第一選擇校驗子至第四選擇校驗子SS<1:4>,或可以改變第一預校驗子至第四預校驗子PS<1:4>的陣列順序,以分別將按已改變的陣列順序重新排列的第一預校驗子至第四預校驗子PS<1:4>輸出為第一選擇校驗子至第四選擇校驗子SS< 1:4>。
更具體地,當選擇信號SEL具有邏輯「低」位準時,選擇校驗子產生電路421可以將第一預校驗子PS<1>輸出為第一選擇校驗子SS<1>,將第二預校驗子PS<2>輸出為第二選擇校驗子SS<2>,將第三預校驗子PS<3>輸出為第三選擇校驗子SS<3>,以及將第四預校驗子PS<4>輸出為第四選擇校驗子SS<4>。此外,當選擇信號SEL具有邏輯「高」位準時,選擇校驗子產生電路421可以將第一預校驗子PS<1>輸出為第四選擇校驗子SS<4>,將第二預校驗子PS<2>輸出為第三選擇校驗子SS<3>,將第三預校驗子PS<3>輸出為第二選擇校驗子SS<2>,將第四預校驗子PS<4>輸出為第一選擇校驗子SS<1>。
校驗子儲存電路422可以回應於重設信號RST而產生初始化的第一校驗子至第四校驗子SYN<1:4>。當重設信號RST被致能為具有邏輯「高」位準時,第一校驗子至第四校驗子SYN<1:4>可以被初始化為具有邏輯「低」位準。校驗子儲存電路422可以回應於行延遲信號YID而將在第一讀取操作期間產生的第一選擇校驗子至第四選擇校驗子SS<1:4>儲存為第一校驗子至第四校驗子SYN<1:4>。校驗子儲存電路422可以透過對回應於行延遲信號YID在第一讀取操作期間儲存的第一校驗子至第四校驗子SYN<1:4>以及在第二讀取操作期間產生的第一選擇校驗子至第四選擇校驗子SS<1:4>執行邏輯運算來產生第一校驗子至第四校驗子SYN<1:4>。
更具體地,當在第一讀取操作期間行延遲信號YID被產生為具有邏輯「高」位準時,校驗子儲存電路422可以將第一選擇校驗子SS<1>儲存為第一校驗子SYN<1>,將第二選擇校驗子SS <2>儲存為第二校驗子SYN<2>,將第三選擇校驗子SS<3>儲存為第三校驗子SYN <3>,將第四選擇校驗子SS<4>儲存為第四校驗子SYN <4>。
當在第二讀取操作期間行延遲信號YID被產生為具有邏輯「高」位準時,校驗子儲存電路422可以透過對第一選擇校驗子SS<1>與在第一讀取操作期間儲存的第一校驗子 SYN<1>執行邏輯互斥或運算來產生第一校驗子SYN<1>,透過對第二選擇校驗子SS<2>與在第一讀取操作期間儲存的第二校驗子SYN<2>執行邏輯互斥或運算來產生第二校驗子SYN<2>,透過對第三選擇校驗子SS<3>與在第一讀取操作期間儲存的第三校驗子SYN<3>執行邏輯互斥或運算來產生第三校驗子SYN<3>,以及透過對第四選擇校驗子SS<4>與在第一讀取操作期間儲存的第四校驗子 SYN<4>執行邏輯互斥或運算來產生第四校驗子SYN<4>。
參考圖7,提供了校驗子產生電路40a的另一個示例。校驗子產生電路40a可以包括預校驗子產生電路43和邏輯電路44。
預校驗子產生電路43可以對在第一讀取操作期間產生的第一讀取資料RD1<1:5>中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。預校驗子產生電路43可以對在第二讀取操作期間產生的第二讀取資料RD2<1:5>中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第一預校驗子組。在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第二預校驗子組。預校驗子產生電路43可以使用與圖5所示的預校驗子產生電路41相同的電路來實施。因此,下文將省略對預校驗子產生電路43的詳細描述。
邏輯電路44可以將在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>儲存為第一校驗子至第四校驗子SYN<1:4>。為了產生第一校驗子至第四校驗子SYN<1:4>,邏輯電路44可以改變在第一讀取操作期間儲存的第一校驗子至第四校驗子SYN<1:4>的陣列順序,並對根據已改變的陣列順序重新排列的第一校驗子至第四校驗子SYN<1:4>與在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>執行邏輯運算。邏輯電路44可以回應於重設信號RST而產生初始化的第一校驗子至第四校驗子SYN<1:4>。
更具體地,參考圖8,當在第一讀取操作期間行延遲信號YID被輸出為具有邏輯「高」位準時,邏輯電路44可以將第一預校驗子PS<1>儲存為第一校驗子SYN<1>,將第二預校驗子PS<2>儲存為第二校驗子SYN<2>,將第三預校驗子PS<3>儲存為第三校驗子SYN<3>,將第四預校驗子PS<4>儲存為第四校驗子SYN<4>。
當在第二讀取操作期間行延遲信號YID被產生為具有邏輯「高」位準時,邏輯電路44可以透過對第一預校驗子PS<1>與在第一讀取操作期間儲存的第四校驗子SYN<4>執行邏輯互斥或運算來產生第一校驗子SYN<1>,透過對第二預校驗子PS<2>與在第一讀取操作期間儲存的第三校驗子SYN<3>執行邏輯互斥或運算來產生第二校驗子SYN<2>,透過對第三預校驗子PS<3>與在第一讀取操作期間儲存的第二校驗子SYN<2>執行邏輯互斥或運算來產生第三校驗子SYN<3>,以及透過對第四預校驗子PS<4>與在第一讀取操作期間儲存的第一校驗子SYN<1>執行邏輯互斥或運算來產生第四校驗子SYN<4>。
下面將參考圖9描述透過在根據一個實施例的半導體裝置中執行的兩次讀取操作來減小用於提取矩陣的電路的面積的方法。圖9所示的矩陣可以透過預校驗子產生電路41建立。
首先,圖9所示的全矩陣是用於產生第一校驗子至第四校驗子SYN<1:4>的矩陣,所述第一校驗子至第四校驗子SYN<1:4>用於校正六位元的第一資料至第六資料D1~D6的錯誤。在圖9所示的全矩陣中,第一至第三資料D1~D3可以被看作第一輸出資料DO1<1:3>,而第四至第六資料D4~D6可以被看作第二輸出資料DO2<1:3>。此外,全矩陣中的同位檢查碼P1和同位檢查碼P2可以分別對應於第一輸出同位檢查碼PO1<1:2>的第一位元和第二位元。此外,全矩陣中的同位檢查碼P3和同位檢查碼P4可以分別對應於第二輸出同位檢查碼PO2<1:2>的第一位元和第二位元。
用於產生第一校驗子SYN<1>的列向量可以被確定為對第一同位檢查碼P1、第一資料D1、第二資料D2和第六資料D6執行邏輯互斥或運算。
用於產生第二校驗子SYN<2>的列向量可以被確定為對第二同位檢查碼P2、第一資料D1、第三資料D3、第五資料D5和第六資料D6執行邏輯互斥或運算。
用於產生第三校驗子SYN<3>的列向量可以被確定為對第三同位檢查碼P3、第二資料D2、第三資料D3、第四資料D4和第六資料D6執行邏輯互斥或運算。
用於產生第四校驗子SYN<4>的列向量可以被確定為對第四同位檢查碼P4、第三資料D3、第四資料D4和第五資料D5執行邏輯互斥或運算。
第一校驗子至第四校驗子SYN<1:4>的邏輯位準組合可以包括關於第一至第六資料D1~D6和第一至第四同位檢查碼P1~P4中是否包含錯誤位元的資訊。透過示例而非限制的方式,當第一校驗子至第四校驗子SYN<1:4>被產生為具有與全矩陣的第五行向量的邏輯位準組合對應的邏輯位準組合「1,1,0,0」時,可以確定第一資料D1是錯誤資料。
接著,在圖9中還示出了用於以兩次讀取操作產生用於校正六位元資料D1~D6的錯誤的第一校驗子到第四校驗子SYN<1:4>的第一半矩陣和第二半矩陣。
用於產生第一校驗子SYN<1>的列向量可以包括第一同位檢查碼P1、第一資料D1、第二資料D2和第六資料D6。用於產生第一校驗子SYN<1>的列向量可以包括與第一讀取操作有關的第一半矩陣的第一列向量和與第二讀取操作有關的第二半矩陣的第一列向量。在這種情況下,第二半矩陣的第一列向量可以與第一半矩陣的第四列向量相同。
用於產生第二校驗子SYN<2>的列向量可以包括第二同位檢查碼P2、第一資料D1、第三資料D3、第五資料D5和第六資料D6。用於產生第二校驗子SYN<2>的列向量可以包括與第一讀取操作有關的第一半矩陣的第二列向量和與第二讀取操作有關的第二半矩陣的第二列向量。在這種情況下,第二半矩陣的第二列向量可以與第一半矩陣的第三列向量相同。
用於產生第三校驗子SYN<3>的列向量可以包括第三同位檢查碼P3、第二資料D2、第三資料D3、第四資料D4和第六資料D6。用於產生第三校驗子SYN<3>的列向量可以包括與第一讀取操作有關的第一半矩陣的第三列向量和與第二讀取操作相關的第二半矩陣的第三列向量。在這種情況下,第二半矩陣的第三列向量可以與第一半矩陣的第二列向量相同。
用於產生第四校驗子SYN<4>的列向量可以包括第四同位檢查碼P4、第三資料D3、第四資料D4和第五資料D5。用於產生第四校驗子SYN <4>的列向量可以包括與第一讀取操作有關的第一半矩陣的第四列向量和與第二讀取操作有關的第二半矩陣的第四列向量。在這種情況下,第二半矩陣的第四列向量可以與第一半矩陣的第一列向量相同。
根據描述,第一半矩陣的行向量可以相對於第二半矩陣的行向量具有對稱配置。這可能導致用於設置矩陣的電路面積減少,所述矩陣用於在兩次讀取操作期間產生在資料錯誤校正中使用的校驗子。
下文將參考圖10結合一個示例來描述半導體裝置的讀取操作,所述示例其中使用兩次讀取操作(即,第一操作和第二操作)來產生校驗子以校正錯誤資料。
根據一個實施例的讀取操作如下。
當讀取信號RD在時間點「T1」被輸入到記憶體區域20時,回應於讀取信號RD,記憶體區域20可以將儲存在其中的輸入資料DIN<1:6>中的一些(例如輸入資料DIN<1:3>)輸出為第一輸出資料DO1<1:3>,以及可以將儲存在其中的同位檢查碼PI<1:4>中的一些(例如同位檢查碼PI<1:2>)輸出為第一輸出同位檢查碼PO1<1:2>。
控制電路31的選擇信號產生電路310可以回應於讀取信號RD產生被致能為具有邏輯「低」位準的選擇信號SEL。
在第二時間T2,控制電路31的重設信號產生電路320可以回應於在第一時間T1輸入的讀取信號RD和選擇信號SEL來產生具有邏輯「高」位準的重設信號RST。
邏輯電路42可以回應於具有邏輯「高」位準的重設信號RST來產生被初始化為具有邏輯「低」位準的第一校驗子至第四校驗子SYN<1:4>。
在第三時間T3,控制電路31的行信號產生電路330可以回應於在第一時間T1輸入的讀取信號RD來產生行信號YI的第一脈衝。
資料合成電路32可以回應於行信號YI的第一脈衝而從第一輸出資料DO1<1:3>和第一輸出同位檢查碼PO1<1:2>產生第一讀取資料RD1<1:5>。
在第四時間T4,預校驗子產生電路41可以對包含在第一讀取資料RD1<1:5>中的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第一預校驗子組。
在第五時間T5,控制電路31的行信號產生電路330可以將在第三時間T3產生的行信號YI的脈衝延遲,以產生行延遲信號YID的第一脈衝。
邏輯電路42可以回應於具有邏輯「低」位準的選擇信號SEL和行延遲信號YID的第一脈衝,將第一預校驗子至第四預校驗子PS<1:4>儲存為第一校驗子至第四校驗子SYN<1:4>。
在第六時間T6,控制電路31的選擇信號產生電路310可以回應於在第五時間T5產生的行延遲信號YID的第一脈衝,產生被失能為具有邏輯「高」位準的選擇信號SEL。
在第七時間T7,控制電路31的行信號產生電路330可以回應於在時間點「T1」輸入的讀取信號RD產生行信號YI的第二脈衝。
資料合成電路32可以回應於行信號YI的第二脈衝而從第二輸出資料DO2<1:3>和第二輸出同位檢查碼PO2<1:2>產生第二讀取資料RD2<1:5>。
在第八時間T8,預校驗子產生電路41可以對包括在第二讀取資料RD2<1:5>中的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第二預校驗子組。
邏輯電路42可以回應於具有邏輯「高」位準的選擇信號SEL來改變第一預校驗子至第四預校驗子PS<1:4>的陣列順序。
在第九時間T9,控制電路31的行信號產生電路330可以將在第七時間T7產生的行信號YI的第二脈衝延遲,以產生行延遲信號YID的第二脈衝。
回應於行延遲信號YID的第二脈衝,邏輯電路42可以透過對在第八時間T8按已改變的陣列順序重新排列的第一預校驗子至第四預校驗子PS<1:4>和在第五時間T5儲存的第一校驗子至第四校驗子SYN<1:4>執行邏輯運算來產生第一校驗子至第四校驗子SYN<1:4>。
如上所述,半導體裝置可以在兩次讀取操作期間調整產生用於校正資料錯誤的校驗子的兩個半矩陣,使得兩個半矩陣的第一半矩陣的行向量相對於兩個半矩陣的第二半矩陣的行向量是對稱的。結果,可以減少為被配置為建立矩陣的電路分配的面積。
下面將參考圖11描述根據一個實施例的錯誤校正方法。
錯誤校正方法可以包括第一步驟S1、第二步驟S2、第三步驟S3和第四步驟S4。
錯誤校正方法的第一步驟S1可以包括輸入讀取信號RD的步驟S11和執行第一讀取操作的步驟S12。
步驟S11可以是讀取信號RD被輸入以產生行信號YI的第一脈衝的步驟。
步驟S12可以是在第一讀取操作期間透過行信號YI的第一脈衝從自記憶體區域20輸出的第一輸出資料DO1<1:3>和第一輸出同位檢查碼PO1<1:2>來產生第一讀取資料RD1<1:5>的步驟。
第二步驟S2可以包括產生第一預校驗子組的步驟S21和儲存第一預校驗子組的步驟S22。
步驟S21可以是產生包括關於第一讀取資料RD1<1:5>的故障資訊的第一預校驗子至第四預校驗子PS<1:4>的步驟。在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第一預校驗子組。
步驟S22可以是將第一預校驗子至第四預校驗子PS<1:4>儲存為第一校驗子至第四校驗子SYN<1:4>的步驟。
第三步驟S3可以包括執行第二讀取操作的步驟S31、產生第二預校驗子組的步驟S32以及產生校驗子的步驟S33。
步驟S31可以是在第二讀取操作期間透過行信號YI的第二脈衝從自記憶體區域20輸出的第二輸出資料DO2<1:3>以及第二輸出同位檢查碼PO2<1:2>來產生第二讀取資料RD2<1:5>的步驟。
步驟S32可以包括:產生包括關於第二讀取資料RD2<1:5>的故障資訊的第一預校驗子至第四預校驗子PS<1:4>,以及調整第一預校驗子至第四預校驗子PS<1:4>的陣列順序使得矩陣中的行向量彼此對稱。在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第二預校驗子組。
步驟S33可以包括對在步驟S22儲存的第一校驗子至第四校驗子SYN<1:4>和根據已調整的陣列順序重新排列的第一預校驗子至第四預校驗子PS<1:4>執行邏輯運算,以產生第一校驗子至第四校驗子SYN<1:4>。
第四步驟S4可以包括產生校正資料的步驟S41和輸出校正資料的步驟S42。
步驟S41可以是根據第一校驗子至第四校驗子SYN<1:4>來校正第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>的錯誤資料以及合成校正後的第一輸出資料DO1<1:3>和校正後的第二輸出資料DO2<1:3>從而產生校正資料DC<1:6>的步驟。
步驟S42可以是輸出校正資料DC<1:6>的步驟。
如上所述,根據一個實施例的錯誤校正方法可以調整在第二讀取操作期間被確定用以產生用於校正資料錯誤的校驗子的矩陣中的行向量的陣列順序,使得在第一讀取操作期間確定的矩陣中的行向量與在第二讀取操作期間確定的矩陣中的行向量對稱。結果,可以減小用於建立矩陣的電路所需的面積。
如圖12所示,半導體裝置可以包括記憶體區域60、行信號產生電路70、校驗子產生電路80和資料校正電路90。
在寫入操作期間,記憶體區域60可以儲存輸入資料DIN<1:6>和同位檢查碼PI<1:4>。在寫入操作期間,回應於被輸入到記憶體區域60的寫入信號WT,記憶體區域60可以儲存輸入資料DIN<1:6>和同位檢查碼PI<1:4>。記憶體區域60可以回應於寫入信號WT將輸入資料DIN<1:6>中的輸入資料DIN<1:3>儲存到記憶體區域60的第一記憶體區域中。記憶體區域60可以回應於寫入信號WT將輸入資料DIN<1:6>中的輸入資料DIN<4:6>儲存到記憶體區域60的第二記憶體區域中。輸入資料DIN<1:3>可以被確定為第一輸入資料,以及輸入資料DIN<4:6>可以被確定為第二輸入資料。在記憶體區域60中第一記憶體區域和第二記憶體區域可以被佈置為兩個不同的記憶體空間。第一記憶體區域和第二記憶體區域可以被視為儲存資料的記憶體區域。記憶體區域60可以回應於寫入信號WT將同位檢查碼PI<1:4>中的同位檢查碼PI<1:2>儲存到記憶體區域60的第三記憶體區域中。記憶體區域60可以回應於寫入信號WT將同位檢查碼PI<1:4>中的同位檢查碼PI<3:4>儲存到記憶體區域60的第四記憶體區域中。第三記憶體區域和第四記憶體區域可以在記憶體區域60中佔據兩個不同且獨立的記憶體空間。第三記憶體區域和第四記憶體區域可以被確定為儲存同位檢查碼的記憶體區域。
記憶體區域60可以在第一讀取操作期間將儲存在第一記憶體區域中的第一輸入資料DIN<1:3>輸出為第一輸出資料DO1<1:3>。記憶體區域60可以回應於讀取信號RD將儲存在第一記憶體區域中的第一輸入資料DIN<1:3>輸出為第一輸出資料DO1<1:3>。記憶體區域60可以在第二讀取操作期間將儲存在第二記憶體區域中的第二輸入資料DIN<4:6>輸出為第二輸出資料DO2<1:3>。記憶體區域60可以回應於讀取信號RD將儲存在第二記憶體區域中的第二輸入資料DIN<4:6>輸出為第二輸出資料DO2<1:3>。記憶體區域60可以回應於讀取信號RD將儲存在其中的同位檢查碼PI<1:4>輸出為輸出同位檢查碼PO<1:4>。兩次讀取操作,即,第一讀取操作和第二讀取操作,可以透過僅被啟動或被致能一次的單個控制信號(即,輸入到記憶體區域60的讀取信號RD)來被依序執行。
行信號產生電路70可以產生包括第一脈衝和第二脈衝的行信號YI,該第一脈衝和第二脈衝回應於寫入信號WT或讀取信號RD而依序產生。行信號產生電路70可以產生回應於寫入信號WT或讀取信號RD而被致能的選擇信號SEL。行信號產生電路70可以產生回應於寫入信號WT或讀取信號RD而被致能的重設信號RST。
在寫入操作期間,校驗子產生電路80可以從輸入資料DIN<1:6>產生同位檢查碼PI<1:4>。校驗子產生電路80可以在讀取操作期間從第一輸出資料DO1<1:3>、第二輸出資料DO2<1:3>和輸出同位檢查碼PO<1:4>產生包括第一校驗子至第四校驗子SYN<1:4>的校驗子信號。校驗子產生電路80可以利用圖9所示的第一半矩陣和第二半矩陣從第一輸出資料DO1<1:3>、第二輸出資料DO2<1:3>和輸出同位檢查碼PO<1:4>產生校驗子信號SYN<1:4>。回應於選擇信號SEL和重設信號RST,校驗子產生電路80可以透過對第一輸出資料DO1<1:3>的位元資料、第二輸出資料DO2<1:3>的位元資料和輸出同位檢查碼PO<1:4>的位元資料執行邏輯運算來產生校驗子信號SYN<1:4>。校驗子信號SYN<1:4>可以透過錯誤校正碼(ECC)電路使用漢明碼來產生。漢明碼可以透過矩陣來實施,用於校正資料錯誤。校驗子信號SYN<1:4>可以包括關於第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>中的錯誤位元的位置資訊。
在第二讀取操作期間,資料校正電路90可以利用校驗子信號SYN<1:4>校正第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>的錯誤。資料校正電路90可以合併之前校正過的第一輸出資料DO1<1:3>和第二輸出資料DO2<1:3>,從而將合成的資料輸出為校正資料DC<1:6>。
參考圖13,行信號產生電路70可以包括寫入脈衝產生電路71、讀取脈衝產生電路72和控制電路73。
寫入脈衝產生電路71可以產生包括第一脈衝和第二脈衝的寫入行信號WT_YI,這兩個脈衝回應於寫入信號WT而依序產生。寫入脈衝產生電路71可以產生回應於寫入信號WT而被致能的寫入選擇信號WT_SEL和寫入重設信號WT_RST。寫入脈衝產生電路71可以回應於寫入信號WT和寫入行延遲信號(圖14的WT_YID)來產生寫入選擇信號WT_SEL。寫入脈衝產生電路71可以產生回應於寫入信號WT而被致能以及回應於寫入行延遲信號WT_YID而被失能的寫入選擇信號WT_SEL。寫入脈衝產生電路71可以回應於寫入信號WT和寫入選擇信號WT_SEL來產生寫入重設信號WT_RST。
讀取脈衝產生電路72可以產生讀取行信號RD_YI,其包括回應於讀取信號RD而依序產生的第一脈衝和第二脈衝。讀取脈衝產生電路72可以產生回應於讀取信號RD而被致能的讀取選擇信號RD_SEL和讀取重設信號RD_RST。讀取脈衝產生電路72可以回應於讀取信號RD和讀取行延遲信號(圖15的RD_YID)來產生讀取選擇信號RD_SEL。讀取脈衝產生電路72可以產生回應於讀取信號RD而被致能以及回應於讀取行延遲信號RD_YID而被失能的讀取選擇信號RD_SEL。讀取脈衝產生電路72可以回應於讀取信號RD和讀取選擇信號RD_SEL來產生讀取重設信號RD_RST。
控制電路73可以回應於寫入信號WT和讀取信號RD而將寫入行信號WT_YI和讀取行信號RD_Y1中的一個輸出為行信號YI。控制電路73可以回應於寫入信號WT和讀取信號RD將寫入選擇信號WT_SEL或讀取選擇信號 RD_SEL輸出為選擇信號SEL。控制電路73可以回應於寫入重設信號WT_RST或讀取重設信號RD_RST而產生被致能的重設信號RST。當寫入重設信號WT_RST或讀取重設信號RD_RST被致能時,控制電路73可以產生被致能的重設信號RST。
參考圖14,寫入脈衝產生電路71可以包括寫入選擇信號產生電路710、寫入重設信號產生電路720和寫入行信號產生電路730。
寫入選擇信號產生電路710可以回應於寫入信號WT和寫入行延遲信號WT_YID來產生寫入選擇信號WT_SEL。寫入選擇信號產生電路710可以在具有邏輯「高」位準的寫入信號WT被輸入到寫入選擇信號產生電路710的時間產生具有邏輯「低」位準的寫入選擇信號WT_SEL。寫入選擇信號產生電路710可以在具有邏輯「高」位準的寫入行延遲信號WT_YID被輸入寫入選擇信號產生電路710的時間產生具有邏輯「高」位準的寫入選擇信號WT_SEL。
寫入重設信號產生電路720可以回應於寫入選擇信號WT_SEL和寫入信號WT而產生寫入重設信號WT_RST。當寫入選擇信號WT_SEL具有邏輯「低」位準並且寫入信號WT具有邏輯「高」位準時,寫入重設信號產生電路720可以產生具有邏輯「高」位準的寫入重設信號WT_RST。
寫入行信號產生電路730可以包括第一脈衝信號產生電路731、寫入行信號輸出電路732和第一延遲電路733。
第一脈衝信號產生電路731可以產生回應於寫入信號WT而被依序致能的第一寫入脈衝信號WT_YIP1和第二寫入脈衝信號WT_YIP2。當具有邏輯「高」位準的寫入信號WT被輸入到第一脈衝信號產生電路731時,第一脈衝信號產生電路731可以產生第一寫入脈衝信號WT_YIP1以及第二寫入脈衝信號WT_YIP2,所述第一寫入脈衝信號WT_YIP1在預定時段期間被致能為具有邏輯「高」位準,第二寫入脈衝信號WT_YIP2在第一寫入脈衝信號WT_YIP1產生之後的另一預定時段期間被致能為具有邏輯「高」位準。
寫入行信號輸出電路732可以產生寫入行信號WT_YI,其包括回應於第一寫入脈衝信號WT_YIP1和第二寫入脈衝信號WT_YIP2而產生的第一脈衝和第二脈衝。寫入行信號輸出電路732可以對第一寫入脈衝信號WT_YIP1和第二寫入脈衝信號WT_YIP2執行邏輯或運算,以產生寫入行信號WT_YI。當第一寫入脈衝信號WT_YIP1或第二寫入脈衝信號WT_YIP2被產生為具有邏輯「高」位準時,寫入行信號輸出電路732可以產生具有邏輯「高」位準的寫入行信號WT_YI。寫入行信號輸出電路732可以將第一寫入脈衝信號WT_YIP1輸出為寫入行信號WT_YI的第一脈衝。寫入行信號輸出電路732可以將第二寫入脈衝信號WT_YIP2輸出為寫入行信號WT_YI的第二脈衝。
第一延遲電路733可以將寫入行信號WT_YI延遲以產生寫入行延遲信號WT_YID。第一延遲電路733將寫入行信號WT_YI延遲的延遲時間可以根據示例性的半導體裝置來不同地決定。
如上所述,當寫入信號WT具有邏輯「高」位準時,寫入脈衝產生電路71可以產生具有邏輯「低」位準的寫入選擇信號WT_SEL,以及寫入脈衝產生電路71可以在寫入行延遲信號WT_YID具有邏輯「高」位準的時間產生具有邏輯「高」位準的寫入選擇信號WT_SEL。當寫入選擇信號WT_SEL具有邏輯「低」位準並且寫入信號WT具有邏輯「高」位準時,寫入脈衝產生電路71可以產生具有邏輯「高」位準的寫入重設信號WT_RST。寫入脈衝產生電路71可以產生寫入行信號WT_YI,其包括當寫入信號WT具有邏輯「高」位準時而被依序產生的第一脈衝和第二脈衝。
參考圖15,讀取脈衝產生電路72可以包括讀取選擇信號產生電路740、讀取重設信號產生電路750和讀取行信號產生電路760。
讀取選擇信號產生電路740可以回應於讀取信號RD和讀取行延遲信號RD_YID來產生讀取選擇信號RD_SEL。讀取選擇信號產生電路740可以在具有邏輯「高」位準的讀取信號RD被輸入到讀取選擇信號產生電路740的時間產生具有邏輯「低」位準的讀取選擇信號RD_SEL。讀取選擇信號產生電路740可以在具有邏輯「高」位準的讀取行延遲信號RD_YID被輸入到讀取選擇信號產生電路740的時間產生具有邏輯「高」位準的讀取選擇信號RD_SEL。
讀取重設信號產生電路750可以回應於讀取選擇信號RD_SEL和讀取信號RD來產生讀取重設信號RD_RST。當讀取選擇信號RD_SEL具有邏輯「低」位準而讀取信號RD具有邏輯「高」位準,讀取重設信號產生電路750可以產生具有邏輯「高」位準的讀取重設信號RD_RST。
讀取行信號產生電路760可以包括第二脈衝信號產生電路761、讀取行信號輸出電路762和第二延遲電路763。
第二脈衝信號產生電路761可以產生回應於讀取信號RD而被依序致能的第一讀取脈衝信號RD_YIP1和第二讀取脈衝信號RD_YIP2。當具有邏輯「高」位準的讀取信號RD被輸入到第二脈衝信號產生電路761時,第二脈衝信號產生電路761可以產生第一讀取脈衝信號RD_YIP1和第二讀取脈衝信號RD_YIP2,所述第一讀取脈衝信號RD_YIP1在預定時段期間被致能為具有邏輯「高」位準,所述第二讀取脈衝信號RD_YIP2在第一讀取脈衝信號RD_YIP1產生之後在另一預定時段期間被致能為具有邏輯「高」位準。
讀取行信號輸出電路762可以產生讀取行信號RD_YI,其包括回應於第一讀取脈衝信號RD_YIP1和第二讀取脈衝信號RD_YIP2而產生的第一脈衝和第二脈衝。讀取行信號輸出電路762可以對第一讀取脈衝信號RD_YIP1和第二讀取脈衝信號RD_YIP2執行邏輯或操作,以產生讀取行信號RD_YI。當第一讀取脈衝信號RD_YIP1或第二讀取脈衝信號RD_YIP2處於邏輯「高」位準時,讀取行信號輸出電路762可以產生具有邏輯「高」位準的讀取行信號RD_YI。讀取行信號輸出電路762可以將第一讀取脈衝信號RD_YIP1輸出為讀取行信號RD_YI的第一脈衝。讀取行信號輸出電路762可以將第二讀取脈衝信號RD_YIP2輸出為讀取行信號RD_YI的第二脈衝。
第二延遲電路763可以將讀取行信號RD_YI延遲以產生讀取行延遲信號RD_YID。第二延遲電路763將讀取行信號RD_YI延遲的延遲時間可以根據示例性的半導體裝置來不同地決定。
如上所述,當讀取信號RD具有邏輯「高」位準時,讀取脈衝產生電路72可以產生具有邏輯「低」位準的讀取選擇信號RD_SEL,以及讀取脈衝產生電路72可以在讀取行延遲信號RD_YID具有邏輯「高」位準的時間產生具有邏輯「高」位準的讀取選擇信號RD_SEL。當讀取選擇信號RD_SEL具有邏輯「低」位準並且讀取信號RD具有邏輯「高」位準時,讀取脈衝產生電路72可以產生具有邏輯「高」位準的讀取重設信號RD_RST。讀取脈衝產生電路72可以產生讀取行信號RD_YI,其包括當讀取信號RD具有邏輯「高」位準時被依序產生的第一脈衝和第二脈衝。
參考圖16,控制電路73可以包括控制信號產生電路770、選擇傳輸電路780和重設信號產生電路790。
控制信號產生電路770可以產生回應於寫入信號WT和讀取信號RD而被致能的控制信號CON。控制信號產生電路770可以在具有邏輯「高」位準的寫入信號WT被輸入到控制信號產生電路770的時間產生具有邏輯「高」位準的控制信號CON。控制信號產生電路770可以在具有邏輯「高」位準的讀取信號RD被輸入到控制信號產生電路770的時間產生具有邏輯「低」位準的控制信號CON。
選擇傳輸電路780可以回應於控制信號CON而將寫入行信號WT_YI或讀取行信號RD_YI輸出為行信號YI。當控制信號CON具有邏輯「高」位準時,選擇傳輸電路780可以將寫入行信號WT_YI輸出為行信號YI。當控制信號CON具有邏輯「低」位準時,選擇傳輸電路780可以將讀取行信號RD_YI輸出為行信號YI。選擇傳輸電路780可以回應於控制信號CON而將寫入選擇信號WT_SEL或讀取選擇信號RD_SEL輸出為選擇信號SEL。當控制信號CON具有邏輯「高」位準時,選擇傳輸電路780可以將寫入選擇信號WT_SEL輸出為選擇信號SEL。當控制信號CON具有邏輯「低」位準時,選擇傳輸電路780可以將讀取選擇信號RD_SEL輸出為選擇信號SEL。
重設信號產生電路790可以回應於寫入重設信號WT_RST或讀取重設信號RD_RST而產生被致能的重設信號RST。當寫入重設信號WT_RST或讀取重設信號RD_RST中的任何一個具有邏輯「高」位準時,重設信號產生電路790可以產生被致能為具有邏輯「高」位準的重設信號RST。
參考圖17,校驗子產生電路80可以包括預校驗子產生電路81和邏輯電路82。
預校驗子產生電路81可以對在第一讀取操作期間產生的第一輸出資料DO1<1:3>中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。預校驗子產生電路81可以對在第二讀取操作期間產生的第二輸出資料DO2<1:3>中的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子PS<1:4>。在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第一預校驗子組。在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>可以被確定為第二預校驗子組。第一預校驗子至第四預校驗子PS<1:4>可以被認為是矩陣的行向量。預校驗子產生電路81可以提供矩陣以產生在示例性半導體裝置中使用的校驗子。由於本實施例中使用的矩陣與圖9中所示的矩陣相同,因此下文將省略在本實施例中使用的矩陣的詳細描述。
邏輯電路82可以回應於選擇信號SEL而將在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>儲存為第一校驗子至第四校驗子SYN<1:4>。當選擇信號SEL具有邏輯「低」位準時,邏輯電路82可以將在第一讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>儲存為第一校驗子至第四校驗子SYN<1:4>。邏輯電路82可以回應於選擇信號SEL改變在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>的陣列順序。當選擇信號SEL具有邏輯「高」位準時,邏輯電路82可以改變在第二讀取操作期間產生的第一預校驗子至第四預校驗子PS<1:4>的陣列順序。為了產生第一校驗子至第四校驗子SYN<1:4>,邏輯電路82可以對在第一讀取操作期間產生的同位檢查碼PI<1:4>(包括第一至第四同位檢查碼PI<1:4>)和在第二讀取操作期間產生的輸出同位檢查碼PO<1:4>(包括第一至第四輸出同位檢查碼PO<1:4>)執行邏輯運算。邏輯電路82可以產生回應於重設信號RST而被初始化的第一校驗子至第四校驗子SYN<1:4>。
下文將參考圖18描述預校驗子產生電路81的配置和操作。
預校驗子產生電路81可以以多個互斥或閘(互斥或閘EXOR81、互斥或閘EXOR82、互斥或閘EXOR83)以及多個反相器(反相器IV81、反相器IV82)的形成來實施。
如下,在第一讀取操作期間,可以產生第一預校驗子至第四預校驗子PS<1:4>。
預校驗子產生電路81可以透過互斥或閘EXOR81對第一輸出資料DO1<1:3>中的第一位元資料DO1<1>和第二位元資料DO1<2>執行邏輯互斥或運算,以產生第一預校驗子PS<1>。
預校驗子產生電路81可以透過互斥或閘EXOR82對第一輸出資料DO1<1:3>中的第一位元資料DO1<1>和第三位元資料DO1<3>執行邏輯互斥或運算,以產生第二預校驗子PS<2>。
預校驗子產生電路81可以透過互斥或閘EXOR83對第一輸出資料DO1<1:3>中的第二位元資料DO1<2>和第三位元資料DO1<3>執行邏輯互斥或運算,以產生第三預校驗子PS<3>。
預校驗子產生電路81可以透過使用反相器IV81、反相器IV82對第一輸出資料DO1<1:3>中包含的第三位元資料DO1<3>進行緩衝,來產生第四預校驗子PS<4>。
如下,在第二讀取操作期間,可以產生第一預校驗子至第四預校驗子PS<1:4>。
預校驗子產生電路81可以透過經由互斥或閘EXOR81對第二輸出資料DO2<1:3>中的第一位元資料DO2<1>和第二位元資料DO2<2>執行邏輯互斥或運算來產生第一預校驗子PS<1>。
預校驗子產生電路81可以透過經由互斥或閘EXOR82對第二輸出資料DO2<1:3>中的第一位元資料DO2<1>和第三位元資料DO2<3>執行邏輯互斥或運算來產生第二預校驗子PS< 2>。
預校驗子產生電路81可以使用互斥或閘EXOR83對第二輸出資料DO2<1:3>中的第二位元資料DO2<2>和第三位元資料DO2<3>執行邏輯互斥或運算,以產生第三預校驗子PS<3>。
預校驗子產生電路81可以透過使用反相器IV81、反相器IV82對第二輸出資料DO2<1:3>中包含的第三位元資料DO2<3>進行緩衝來產生預校驗子PS<4>。
下面將參考圖19描述邏輯電路82的配置和操作。
邏輯電路82可以包括選擇校驗子產生電路821、同位檢查碼儲存電路822和校驗子輸出電路823。
選擇校驗子產生電路821可以回應於選擇信號SEL而分別將第一預校驗子至第四預校驗子PS<1:4>輸出為第一選擇校驗子至第四選擇校驗子SS<1:4>,或者改變第一預校驗子至第四預校驗子PS<1:4>的陣列順序,從而將按已改變的陣列順序重新排列的第一預校驗子至第四預校驗子PS<1:4>分別輸出為第一選擇校驗子至第四選擇校驗子SS<1:4>。
更具體地,當選擇信號SEL被產生為具有邏輯「低」位準,選擇校驗子產生電路821可以將第一預校驗子PS<1>輸出為第一選擇校驗子SS<1>,將第二預校驗子PS<2>輸出為第二選擇校驗子SS<2>,將第三預校驗子PS<3>輸出為第三選擇校驗子SS<3>,將第四預校驗子PS<4>輸出為第四選擇校驗子SS<4>。此外,當選擇信號SEL被產生為具有邏輯「高」位準時,選擇校驗子產生電路821可以將第一預校驗子PS<1>輸出為第四選擇校驗子SS<4>,將第二預校驗子PS<2>輸出為第三選擇校驗子SS>3>,將第三預校驗子PS<3>輸出為第二選擇校驗子SS<2>,將第四預校驗子PS<4>輸出為第一選擇校驗子SS<1>。
同位檢查碼儲存電路822可以產生回應於重設信號RST而被初始化的第一同位檢查碼至第四同位檢查碼PI<1:4>。當重設信號RST具有邏輯「高」位準時,同位檢查碼儲存電路822可以產生被初始化為具有邏輯「低」位準的第一同位檢查碼至第四同位檢查碼PI<1:4>。回應於行信號YI,同位檢查碼儲存電路822可以將在第一讀取操作期間產生的第一選擇校驗子至第四選擇校驗子SS<1:4>儲存為第一同位檢查碼至第四同位檢查碼PI<1:4>。同位檢查碼儲存電路822可以透過對回應於行信號YI在第一讀取操作期間儲存的第一同位檢查碼至第四同位檢查碼PI<1:4>和在第二讀取操作期間產生的第一選擇校驗子至第四選擇校驗子SS<1:4>執行邏輯運算來產生第一同位檢查碼至第四同位檢查碼PI<1:4>。
更具體地,當行信號YI在第一讀取操作期間具有邏輯「高」位準時,同位檢查碼儲存電路822可以將第一選擇校驗子SS<1>分配為第一同位檢查碼PI<1>,將第二選擇校驗子SS<2>分配為第二同位檢查碼PI<2>,將第三選擇校驗子SS<3>分配為第三同位檢查碼PI<3>,以及將第四選擇校驗子SS<4>分配為第四同位檢查碼PI<4>。
當在第二讀取操作期間行信號YI被產生為具有邏輯「高」位準時,同位檢查碼儲存電路822可以透過對第一選擇校驗子SS<1>和在第一讀取操作期間儲存的第一同位檢查碼PI<1>執行邏輯互斥或運算來產生第一同位檢查碼PI<1>,可以透過對第二選擇校驗子SS<2>和在第一讀取操作期間儲存的第二同位檢查碼PI<2>執行邏輯互斥或運算來產生第二同位檢查碼PI<2>,可以透過對第三選擇校驗子SS<3>和在第一讀取操作期間儲存的第三同位檢查碼PI<3>執行邏輯互斥或運算來產生第三同位檢查碼PI<3>,以及可以透過對第四選擇校驗子SS<4>和在第一讀取操作期間儲存的第四同位檢查碼PI<4>執行邏輯互斥或運算來產生第四同位檢查碼PI<4>。
校驗子輸出電路823可以對第一同位檢查碼PI<1>和第一輸出同位檢查碼PO<1>執行邏輯互斥或運算,以產生第一校驗子SYN<1>。校驗子輸出電路823可以透過對第二同位檢查碼PI<2>和第二輸出同位檢查碼PO<2>執行邏輯互斥或運算來產生第二校驗子SYN<2>。校驗子輸出電路823可以對第三同位檢查碼PI<3>和第三輸出同位檢查碼PO<3>執行邏輯互斥或運算,以產生第三校驗子SYN<3>。此外,校驗子輸出電路823可以透過對第四同位檢查碼PI<4>和第四輸出同位檢查碼PO<4>執行邏輯互斥或運算來產生第四校驗子SYN<4>。
如上所述,根據另一實施例的半導體裝置可以在兩次讀取操作期間調整產生用於校正的資料錯誤的校驗子的兩個半矩陣,使得兩個半矩陣的第一半矩陣的行向量與兩個半矩陣的第二半矩陣的行向量對稱。結果,可以減小為建立矩陣的電路分配的面積。
參考圖1至圖19所描述的半導體裝置中的至少一個可以被應用於包括記憶體系統、圖形系統、計算系統或行動系統等的電子設備。透過示例而非限制的方式,如圖20所示,電子系統1000可以包括資料儲存電路1001、記憶體控制器1002、緩衝記憶體1003和輸入/輸出(I/O)介面1004。
資料儲存電路1001可以回應於從記憶體控制器1002輸出的控制信號來儲存從記憶體控制器1002傳遞的資料,或讀取並提供儲存的資料到記憶體控制器1002。資料儲存電路1001可以包括圖1和圖12中所示的半導體裝置中的至少一個。同時,資料儲存電路1001可以包括非揮發性記憶體,非揮發性記憶體即使在其電源中斷或不提供電源時也可以保留其儲存的資料。非揮發性記憶體可以是快閃記憶體,例如NOR型快閃記憶體或NAND型快閃記憶體、相變隨機存取記憶體(PRAM)、電阻隨機存取記憶體(RRAM)、自旋轉移轉矩隨機存取記憶體(STRAM)或磁性隨機存取記憶體(MRAM)等。
記憶體控制器1002可以透過I/O介面1004接收從外部設備(例如主機)傳送的命令,並對從主機輸出的命令進行解碼,以控制將資料輸入到資料儲存電路1001或緩衝記憶體1003中的操作、或者將儲存在資料儲存電路1001或緩衝記憶體1003中的資料輸出的操作。雖然圖20示出了具有單個單元或模組的記憶體控制器1002,但是記憶體控制器1002可以包括多個控制器,例如,用於控制包括非揮發性記憶體的資料儲存電路1001的一個控制器和用於控制包括揮發性記憶體的緩衝記憶體1003的另一控制器。
緩衝記憶體1003可以暫時儲存由記憶體控制器1002處理的資料。也就是說,緩衝記憶體1003可以暫時儲存從資料儲存電路1001輸出的資料或傳送到資料儲存電路1001中的資料。緩衝記憶體1003可以根據控制信號儲存從記憶體控制器1002傳送的資料。緩衝記憶體1003可以讀取儲存的資料並將其輸出到記憶體控制器1002。緩衝記憶體1003可以包括揮發性記憶體,例如動態隨機存取記憶體(DRAM)、移動DRAM或靜態隨機存取記憶體(SRAM)等。
I/O介面1004可以將記憶體控制器1002物理地和電氣地連接到外部設備(即主機)。因此,記憶體控制器1002可以透過I/O介面1004從外部設備(即主機)接收控制信號和/或資料,並透過I/O介面1004將由記憶體控制器1002產生的資料輸出到外部設備(即主機)。也就是說,電子系統1000可以透過I/O介面1004與主機通訊。I/O介面1004可以被設計或用於各種介面協定中的任何一種,例如通用序列匯流排(USB)驅動器、多媒體卡(MMC)、周邊元件快速互連(PCI-E)、序列式SCSI(SAS)、序列式AT附件(SATA)、平行AT附件(PATA)、小型電腦系統介面(SCSI)、增強型小設備介面(ESDI)和整合裝置電路(IDE)。
電子系統1000可以作為主機的輔助儲存設備或外部儲存設備。電子系統1000可以包括固態硬碟(SSD)、USB硬碟、安全數位(SD)卡、迷你安全數位(mSD)卡、微型安全數位(MicroSD)卡、安全數位高容量(SDHC)卡、記憶棒卡、智慧媒體(SM)卡、多媒體卡(MMC)、嵌入式多媒體卡(EMMC)或緊湊型快閃記憶體(CF)卡等。
參考圖21,根據另一實施例的電子系統2000可以包括主機2001、記憶體控制器2002和資料儲存電路2003。
主機2001可以向記憶體控制器2002輸出請求信號和資料,以存取或退出資料儲存電路2003。記憶體控制器2002可以回應於請求信號向資料儲存電路2003提供資料、資料選通信號、命令、位址和時脈信號,並且資料儲存電路2003可以回應於命令執行寫入操作或讀取操作。主機2001可以將資料傳送到記憶體控制器2002,以在資料儲存電路2003中寫入資料。此外,主機2001可以透過記憶體控制器2002從資料儲存電路2003接收資料。主機2001可以包括被配置為使用錯誤校正碼(ECC)方案來校正資料的錯誤的電路。
記憶體控制器2002可以作為將主機2001連接到資料儲存電路2003的介面,用於主機2001與資料儲存電路2003之間的通訊。記憶體控制器2002可以接收來自主機2001的請求信號和資料,以及產生資料、資料選通信號、命令、位址和時脈信號並將其提供給資料儲存電路2003,以便控制資料儲存電路2003的操作。此外,記憶體控制器2002可以將從資料儲存電路2003輸出的資料提供給主機2001。
資料儲存電路2003可以包括多個記憶體。資料儲存電路2003可以從記憶體控制器2002接收資料、資料選通信號、命令、位址和時脈信號以執行寫入操作或讀取操作。包括在資料儲存電路2003中的每個記憶體可以包括使用錯誤校正碼(ECC)方案來校正資料的錯誤的電路。資料儲存電路2003可以包括圖1至圖12中所示的半導體裝置中的至少一個。
在一些實施例中,電子系統2000可以被實施為選擇性地操作包括在主機2001和資料儲存電路2003中的ECC電路中的一個。或者,電子系統2000可以被實施為同時操作包括在主機2001和資料儲存電路2003中的所有ECC電路。透過示例而非限制的方式,主機2001和記憶體控制器2002可以在單個晶片中實施。記憶體控制器2002和資料儲存電路2003可以在單個晶片中實施。
雖然已經結合目前被認為是最實際和最佳的示例描述了本發明,但是應當理解,本發明不限於所公開的示例,而是相反,旨在涵蓋包括在所附申請專利範圍的精神和範圍內的各種修改以及等同的部置,所附申請專利範圍的範圍應與最廣泛的解釋一致,以便包括法律允許的所有此類修改和等同結構。
10‧‧‧同位檢查碼產生電路
20‧‧‧記憶體區域
30‧‧‧讀取資料產生電路
31‧‧‧控制電路
310‧‧‧選擇信號產生電路
320‧‧‧重設信號產生電路
330‧‧‧行信號產生電路
331‧‧‧脈衝信號產生電路
332‧‧‧行信號輸出電路
333‧‧‧延遲電路
32‧‧‧資料合成電路
40‧‧‧校驗子產生電路
40a‧‧‧校驗子產生電路
41‧‧‧預校驗子產生電路
42‧‧‧邏輯電路
421‧‧‧選擇校驗子產生電路
422‧‧‧校驗子儲存電路
43‧‧‧預校驗子產生電路
44‧‧‧邏輯電路
50‧‧‧資料校正電路
60‧‧‧記憶體區域
70‧‧‧行信號產生電路
71‧‧‧寫入脈衝產生電路
710‧‧‧寫入選擇信號產生電路
720‧‧‧寫入重設信號產生電路
730‧‧‧寫入行信號產生電路
72‧‧‧讀取脈衝產生電路
73‧‧‧控制電路
731‧‧‧第一脈衝信號產生電路
732‧‧‧寫入行信號輸出電路
733‧‧‧第一延遲電路
740‧‧‧讀取選擇信號產生電路
750‧‧‧讀取重設信號產生電路
760‧‧‧讀取行信號產生電路
761‧‧‧第二脈衝信號產生電路
762‧‧‧讀取行信號輸出電路
763‧‧‧第二延遲電路
770‧‧‧控制信號產生電路
780‧‧‧選擇傳輸電路
790‧‧‧重設信號產生電路
80‧‧‧校驗子產生電路
81‧‧‧預校驗子產生電路
82‧‧‧邏輯電路
821‧‧‧選擇校驗子產生電路
822‧‧‧同位檢查碼儲存電路
823‧‧‧校驗子輸出電路
90‧‧‧資料校正電路
1000‧‧‧電子系統
1001‧‧‧資料儲存電路
1002‧‧‧記憶體控制器
1003‧‧‧緩衝記憶體
1004‧‧‧輸入/輸出介面
2000‧‧‧電子系統
2001‧‧‧主機
2002‧‧‧記憶體控制器
2003‧‧‧資料儲存電路
CON‧‧‧控制信號
D1~D6‧‧‧第一資料~第六資料
DC<1:6>‧‧‧校正資料
DIN<1:6>‧‧‧輸入資料
DO1<1:3>‧‧‧第一輸出資料
DO1<1>~DO1<3>‧‧‧第一位元資料~第三位元資料
DO2<1:3>‧‧‧第二輸出資料
EXOR41~EXOR45‧‧‧互斥或閘
EXOR81~EXOR83‧‧‧互斥或閘
IV41‧‧‧反相器
IV42‧‧‧反相器
IV81‧‧‧反相器
IV82‧‧‧反相器
P1~P4‧‧‧同位檢查碼
PI<1:4>‧‧‧同位檢查碼
PI<1>~ PI<4>‧‧‧第一同位檢查碼~第四同位檢查碼
PO<1:4>‧‧‧輸出同位檢查碼
PO1<1:2>‧‧‧第一輸出同位檢查碼
PO2<1:2>‧‧‧第二輸出同位檢查碼
PS<1:4>‧‧‧第一預校驗子至第四預校驗子
RD‧‧‧讀取信號
RD1<1:5>‧‧‧第一讀取資料
RD1<1>~ RD1<5>‧‧‧第一位元資料~第五位元資料
RD2<1:5>‧‧‧第二讀取資料
RD2<1>~ RD2<5>‧‧‧第一位元資料~第五位元資料
RD_RST‧‧‧讀取重設信號
RD_SEL‧‧‧讀取選擇信號
RD_YI‧‧‧讀取行信號
RD_YID‧‧‧讀取行延遲信號
RD_YIP1‧‧‧第一讀取脈衝信號
RD_YIP2‧‧‧第二讀取脈衝信號
RST‧‧‧重設信號
S1~S4‧‧‧步驟
S11~S12‧‧‧步驟
S21~S22‧‧‧步驟
S31~S33‧‧‧步驟
S41~S42‧‧‧步驟
SEL‧‧‧選擇信號
SS<1:4>‧‧‧第一選擇校驗子~第四選擇校驗子
SYN<1:4>‧‧‧校驗子信號
SYN<1:4>‧‧‧第一校驗子~第四校驗子
T1~T9‧‧‧第一時間~第九時間
WT‧‧‧寫入信號
WT_RST‧‧‧寫入重設信號
WT_SEL‧‧‧寫入選擇信號
WT_YI‧‧‧寫入行信號
WT_YID‧‧‧寫入行延遲信號
WT_YIP1‧‧‧第一寫入脈衝信號
WT_YIP2‧‧‧第二寫入脈衝信號
YI‧‧‧行信號
YID‧‧‧行延遲信號
YIP1‧‧‧第一脈衝信號
YIP2‧‧‧第二脈衝信號
本文的描述參考圖式,其中在所有視圖中相同的元件符號指示相同的部分,並且其中: 圖1是示出根據本發明的一個示例的半導體裝置的配置的方塊圖; 圖2是示出包括在圖1的半導體裝置中的讀取資料產生電路的配置的方塊圖; 圖3是示出包括在圖2的讀取資料產生電路中的控制電路的配置的電路圖; 圖4是示出包括在圖1的半導體裝置中的校驗子產生電路的配置的方塊圖; 圖5是示出包括在圖4的校驗子產生電路中的預校驗子產生電路的配置的電路圖; 圖6是示出包括在圖4的校驗子產生電路中的邏輯電路的配置的電路圖; 圖7是示出圖4所示的校驗子產生電路的另一個示例的方塊圖; 圖8是示出包括在圖7的校驗子產生電路中的邏輯電路的配置的電路圖; 圖9示出在本發明的一個實施例中使用的矩陣; 圖10是示出根據本發明的一個實施例的半導體裝置的操作的時序圖; 圖11是示出根據本發明的一個實施例的錯誤校正方法的流程圖; 圖12是示出根據本發明的另一實施例的半導體裝置的配置的方塊圖; 圖13是示出包括在圖12的半導體裝置中的行信號產生電路的配置的方塊圖; 圖14是示出包括在圖13的行信號產生電路中的寫入脈衝產生電路的配置的電路圖; 圖15是示出包括在圖13的行信號產生電路中的讀取脈衝產生電路的配置的電路圖; 圖16是示出包括在圖13的行信號產生電路中的控制電路的配置的電路圖; 圖17是示出包括在圖12的半導體裝置中的校驗子產生電路的配置的方塊圖; 圖18是示出包括在圖17的校驗子產生電路中的預校驗子產生電路的配置的電路圖; 圖19是示出包括在圖17的校驗子產生電路中的邏輯電路的配置的電路圖; 圖20是示出採用參考圖1至圖19描述的半導體裝置中的至少一個的電子系統的配置的方塊圖; 圖21是示出採用參考圖1至圖19描述的半導體裝置中的至少一個的另一電子系統的配置的方塊圖。

Claims (31)

  1. 一種半導體裝置,包括: 讀取資料產生電路,其被配置為:從在第一讀取操作期間產生的第一輸出資料和第一輸出同位檢查碼來產生第一讀取資料,以及從在第二讀取操作期間產生的第二輸出資料和第二輸出同位檢查碼來產生第二讀取資料; 校驗子產生電路,其被配置為至少基於所述第一讀取資料和所述第二讀取資料來產生校驗子信號。
  2. 如請求項1所述的半導體裝置,其中,所述校驗子產生電路產生所述校驗子信號使得與所述第一讀取資料相對應的第一半矩陣的行向量對稱於與所述第二讀取資料相對應的第二半矩陣的行向量,以及其中所述第一讀取操作和所述第二讀取操作透過輸入所述半導體裝置的具有單個啟動脈衝的單個讀取信號來被依序執行。
  3. 如請求項1所述的半導體裝置, 其中,所述第一輸出資料從第一記憶體區域輸出, 所述第二輸出資料從第二記憶體區域輸出, 所述第一輸出同位檢查碼從第三記憶體區域輸出,以及 所述第二輸出同位檢查碼從第四記憶體區域輸出,以及 其中,所述第一記憶體區域、所述第二記憶體區域、所述第三記憶體區域和所述第四記憶體區域是獨立的。
  4. 如請求項1所述的半導體裝置,其中,所述讀取資料產生電路包括: 控制電路,其被配置為產生行信號,所述行信號包括回應於讀取信號而依序產生的第一脈衝和第二脈衝;以及被配置為產生選擇信號,所述選擇信號回應於所述讀取信號而被致能並且回應於行延遲信號而被失能; 資料合成電路,其被配置為回應於所述行信號的所述第一脈衝而從所述第一輸出資料和所述第一輸出同位檢查碼產生所述第一讀取資料,以及被配置為回應於所述行信號的所述第二脈衝而從所述第二輸出資料和所述第二輸出同位檢查碼產生所述第二讀取資料。
  5. 如請求項4所述的半導體裝置,其中,所述控制電路包括: 選擇信號產生電路,其被配置為產生回應於所述讀取信號而被致能並且回應於所述行延遲信號而被失能的所述選擇信號; 重設信號產生電路,其被配置為:當選擇信號被致能時回應於所述讀取信號而產生在預定時段期間被致能的重設信號; 行信號產生電路,其被配置為產生包括回應於所述讀取信號而依序產生的所述第一脈衝和所述第二脈衝的所述行信號。
  6. 如請求項2所述的半導體裝置, 其中,所述校驗子信號包括第一校驗子至第四校驗子;以及 其中,所述校驗子產生電路包括: 預校驗子產生電路,其被配置為對在所述第一讀取操作期間產生的所述第一讀取資料中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子;以及被配置為對在所述第二讀取操作期間產生的所述第二讀取資料中的資料位元執行邏輯運算,以產生第一預校驗子到第四預校驗子;及 邏輯電路,其被配置為回應於選擇信號而將在所述第一讀取操作期間產生的第一預校驗子至第四預校驗子儲存為所述第一校驗子至第四校驗子,以及被配置為:透過回應於選擇信號而改變在所述第二讀取操作期間產生的第一預校驗子至第四預校驗子的陣列順序、並透過對根據已改變的陣列順序而重新排列的第一預校驗子至第四預校驗子和在第一讀取操作期間產生的第一校驗子至第四校驗子執行邏輯運算來產生第一校驗子至第四校驗子。
  7. 如請求項6所述的半導體裝置,其中,第一校驗子至第四校驗子透過所述第一半矩陣或所述第二半矩陣的行向量來確定。
  8. 如請求項6所述的半導體裝置,其中,所述邏輯電路透過對在所述第一讀取操作期間產生的第一預校驗子以及在所述第二讀取操作期間產生的第四預校驗子執行邏輯運算來產生所述第一校驗子,透過對在所述第一讀取操作期間產生的第二預校驗子以及在所述第二讀取操作期間產生的第三預校驗子執行邏輯運算來產生第二校驗子,透過對在所述第一讀取操作期間產生的第三預校驗子以及在所述第二讀取操作期間產生的第二預校驗子執行邏輯運算來產生第三校驗子,以及透過對在所述第一讀取操作期間產生的第四預校驗子以及在所述第二讀取操作期間產生的第一預校驗子執行邏輯運算來產生所述第四校驗子。
  9. 如請求項6所述的半導體裝置,其中,所述邏輯電路包括: 選擇校驗子產生電路,其被配置為當所述選擇信號被致能時將第一預校驗子至第四預校驗子輸出為第一選擇校驗子至第四選擇校驗子;以及被配置為當所述選擇信號被失能時改變第一預校驗子至第四預校驗子的陣列順序,以將根據已改變的陣列順序而重新排列的第一預校驗子至第四預校驗子輸出為第一選擇校驗子至第四選擇校驗子;以及 校驗子儲存電路,其被配置為回應於行延遲信號而將在所述第一讀取操作期間產生的第一選擇校驗子至第四選擇校驗子儲存為第一校驗子至第四校驗子,以及被配置為透過對在所述第二讀取操作期間產生的第一選擇校驗子至第四選擇校驗子和回應於所述行延遲信號而儲存的第一校驗子至第四校驗子執行邏輯運算來產生第一校驗子至第四校驗子。
  10. 如請求項1所述的半導體裝置, 其中,所述校驗子信號包括第一校驗子至第四校驗子;以及 其中,所述校驗子產生電路包括: 預校驗子產生電路,其被配置為對在所述第一讀取操作期間產生的所述第一讀取資料中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子;以及被配置為對在所述第二讀取操作期間產生的所述第二讀取資料中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子; 邏輯電路,其被配置為將在所述第一讀取操作期間產生的第一預校驗子至第四預校驗子儲存為第一校驗子至第四校驗子,以及被配置為透過對在所述第二讀取操作期間產生的第一預校驗子至第四預校驗子和在所述第一讀取操作期間產生的第一校驗子至第四校驗子執行邏輯運算來產生第一校驗子至第四校驗子。
  11. 如請求項10所述的半導體裝置,其中,所述邏輯電路被配置為透過改變在所述第一讀取操作期間儲存的第一校驗子至第四校驗子的陣列順序並對根據已改變的陣列順序而重新排列的第一校驗子至第四校驗子和在所述第二讀取操作期間產生的第一預校驗子至第四預校驗子執行邏輯運算來產生第一校驗子至第四校驗子。
  12. 如請求項1所述的半導體裝置,還包括: 同位檢查碼產生電路,其被配置為在寫入操作期間產生包括與輸入資料有關的錯誤資訊的同位檢查碼;及 記憶體區域,其被配置為在所述寫入操作期間儲存所述輸入資料和所述同位檢查碼。
  13. 如請求項12所述的半導體裝置, 其中,所述記憶體區域被配置為:在所述第一讀取操作期間,將儲存的輸入資料的一部分輸出為所述第一輸出資料,以及將儲存的同位檢查碼的一部分輸出為所述第一輸出同位檢查碼;以及 其中,所述記憶體區域被配置為:在所述第二讀取操作期間,將所述儲存的輸入資料的剩餘部分輸出為所述第二輸出資料,以及將所述儲存的同位檢查碼的剩餘部分輸出為所述第二輸出同位檢查碼。
  14. 如請求項1所述的半導體裝置,還包括資料校正電路,所述資料校正電路被配置為在所述第二讀取操作期間利用所述校驗子信號來校正所述第一輸出資料和所述第二輸出資料的錯誤;以及被配置為將校正後的第一輸出資料和第二輸出資料合成,以將合成的資料輸出為校正資料。
  15. 一種校正半導體裝置的資料錯誤的方法,所述方法包括: 第一步驟:從在第一讀取操作期間提供的第一輸出資料和第一輸出同位檢查碼產生第一讀取資料; 第二步驟:產生包括關於所述第一讀取資料的錯誤資訊的第一預校驗子組以儲存所述第一預校驗子組;以及 第三步驟:從在第二讀取操作期間提供的第二輸出資料和第二輸出同位檢查碼產生第二讀取資料,產生包括關於所述第二讀取資料的錯誤資訊的第二預校驗子組,以及透過對所述第一預校驗子組和所述第二預校驗子組執行邏輯運算來產生校驗子信號。
  16. 如請求項15所述的方法, 其中,所述第一預校驗子組和所述第二預校驗子組被產生為對稱的,以及 其中,所述第一讀取操作和所述第二讀取操作透過輸入到所述半導體裝置的具有單個啟動脈衝的單個讀取信號來被依序執行。
  17. 如請求項15所述的方法, 其中,所述第一輸出資料從第一記憶體區域輸出, 所述第二輸出資料從第二記憶體區域輸出, 所述第一輸出同位檢查碼從第三記憶體區域輸出,以及 所述第二輸出同位檢查碼從第四記憶體區域輸出,以及 其中,所述第一記憶體區域、所述第二記憶體區域、所述第三記憶體區域和所述第四記憶體區域是獨立的。
  18. 如請求項15所述的方法, 其中,所述第一預校驗子組包括在所述第一讀取操作期間產生的第一預校驗子至第四預校驗子,所述第二預校驗子組包括在所述第二讀取操作期間產生的第一預校驗子至第四預校驗子,以及所述校驗子信號包括第一校驗子至第四校驗子; 其中,所述第三步驟包括: 透過對在所述第一讀取操作期間從所述第一讀取資料產生的第一預校驗子以及在所述第二讀取操作期間從所述第二讀取資料產生的第四預校驗子執行邏輯運算來產生所述第一校驗子的步驟; 透過對在所述第一讀取操作期間從所述第一讀取資料產生的第二預校驗子以及在所述第二讀取操作期間從所述第二讀取資料產生的第三預校驗子執行邏輯運算來產生所述第二校驗子的步驟; 透過對在所述第一讀取操作期間從所述第一讀取資料產生的第三預校驗子以及在所述第二讀取操作期間從所述第二讀取資料產生的第二預校驗子執行邏輯運算來產生所述第三校驗子的步驟;以及 透過對在所述第一讀取操作期間從所述第一讀取資料產生的第四預校驗子以及在所述第二讀取操作期間從所述第二讀取資料產生的第一預校驗子執行邏輯運算來產生所述第四校驗子的步驟。
  19. 如請求項18所述的方法,其中,所述第一校驗子至第四校驗子透過矩陣的行向量來設置,所述矩陣用於對包含在所述第一讀取資料和所述第二讀取資料中的資料位元執行邏輯運算。
  20. 如請求項15所述的方法,還包括: 在寫入操作期間產生包括關於輸入資料的錯誤資訊的同位檢查碼以儲存所述輸入資料和所述同位檢查碼的步驟; 利用所述校驗子信號校正從所述輸入資料產生的輸出資料的錯誤以將校正後的輸出資料輸出為校正資料的步驟。
  21. 如請求項20所述的方法, 其中,在執行所述第一讀取操作的同時,在所述寫入操作期間儲存的所述輸入資料的一部分被輸出為所述第一輸出資料,以及在所述寫入操作期間儲存的所述同位檢查碼的一部分被輸出為所述第一輸出同位檢查碼;以及 其中,在執行所述第二讀取操作的同時,在所述寫入操作期間儲存的所述輸入資料的剩餘部分被輸出為所述第二輸出資料,以及在所述寫入操作期間儲存的所述同位檢查碼的剩餘部分被輸出為所述第二輸出同位檢查碼。
  22. 一種半導體裝置,包括: 記憶體區域,其被配置為在寫入操作期間儲存輸入資料和同位檢查碼,被配置為在第一讀取操作期間將所述輸入資料的第一輸入資料輸出為第一輸出資料並將所述同位檢查碼輸出為輸出同位檢查碼,以及被配置為在第二讀取操作期間將所述輸入資料的第二輸入資料輸出為第二輸出資料並將所述同位檢查碼輸出為輸出同位檢查碼;以及 校驗子產生電路,其被配置為在所述寫入操作期間從所述輸入資料產生所述同位檢查碼,被配置為透過在所述第一讀取操作期間對所述第一輸出資料和所述輸出同位檢查碼執行邏輯運算來產生同位檢查碼,以及被配置為透過在所述第二讀取操作期間對在所述第一讀取操作期間產生的同位檢查碼、所述第二輸出資料和輸出同位檢查碼執行邏輯運算來產生校驗子信號; 其中,所述校驗子產生電路產生所述校驗子信號使得與所述第一輸出資料相對應的第一半矩陣的行向量對稱於與所述第二輸出資料相對應的第二半矩陣的行向量。
  23. 如請求項22所述的半導體裝置,其中,所述同位檢查碼是包括關於所述輸入資料的錯誤資訊的信號。
  24. 如請求項22所述的半導體裝置,其中,所述第一讀取操作和所述第二讀取操作透過輸入所述半導體裝置的具有單個啟動脈衝的單個讀取信號來被依序執行。
  25. 如請求項22所述的半導體裝置,其中,所述第一輸出資料和所述第二輸出資料分別從第一記憶體區域和第二記憶體區域輸出。
  26. 如請求項22所述的半導體裝置, 其中,所述記憶體區域被配置為:在執行所述寫入操作的同時,將所述輸入資料的一部分儲存為所述第一輸入資料,將所述輸入資料的剩餘部分儲存為所述第二輸入資料,以及儲存所述同位檢查碼; 其中,所述記憶體區域被配置為:在執行所述第一讀取操作的同時,將儲存的第一輸入資料輸出為所述第一輸出資料,以及將儲存的同位檢查碼輸出為輸出同位檢查碼;以及 其中,所述記憶體區域被配置為:在執行所述第二讀取操作的同時,將儲存的第二輸入資料輸出為所述第二輸出資料,以及將儲存的同位檢查碼輸出為輸出同位檢查碼。
  27. 如請求項22所述的半導體裝置,還包括: 行信號產生電路,其被配置為產生行信號,所述行信號包括回應於寫入信號或讀取信號而被依序產生的第一脈衝和第二脈衝;以及被配置為產生選擇信號和重設信號,所述選擇信號和重設信號回應於所述寫入信號或所述讀取信號而被致能;以及 資料校正電路,其被配置為在所述第二讀取操作期間利用所述校驗子信號來校正所述第一輸出資料和所述第二輸出資料的錯誤;以及被配置為將校正後的第一輸出資料和第二輸出資料合成,以將合成的資料輸出為校正資料。
  28. 如請求項27所述的半導體裝置,其中,所述行信號產生電路包括: 寫入脈衝產生電路,其被配置為產生寫入行信號,所述寫入行信號包括回應於所述寫入信號而被依序產生的第一脈衝和第二脈衝;以及被配置為產生寫入選擇信號和寫入重設信號,所述寫入選擇信號和寫入重設信號回應於所述寫入信號而被致能; 讀取脈衝產生電路,其被配置為產生讀取行信號,所述讀取行信號包括回應於所述讀取信號而被依序產生的第一脈衝和第二脈衝;以及被配置為產生讀取選擇信號和讀取重設信號,所述讀取選擇信號和讀取重設信號回應於所述讀取信號而被致能;及 控制電路,其被配置為:回應於所述寫入信號和所述讀取信號而將所述寫入行信號和所述讀取行信號中的一個輸出為所述行信號以及將所述寫入選擇信號和所述讀取選擇信號中的一個輸出為所述選擇信號;以及被配置為產生回應於所述寫入重設信號或所述讀取重設信號而被致能的所述重設信號。
  29. 如請求項22所述的半導體裝置, 其中,所述校驗子信號包括第一校驗子至第四校驗子; 其中,所述輸出同位檢查碼包括第一輸出同位檢查碼至第四輸出同位檢查碼;以及 其中,所述校驗子產生電路包括: 預校驗子產生電路,其被配置為對在所述第一讀取操作期間產生的所述第一輸出資料中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子;以及被配置為對在所述第二讀取操作期間產生的所述第二輸出資料中包含的資料位元執行邏輯運算,以產生第一預校驗子至第四預校驗子;以及 邏輯電路,其被配置為回應於選擇信號而將在所述第一讀取操作期間產生的第一預校驗子至第四預校驗子儲存為在同位檢查碼中包含的第一同位檢查碼至第四同位檢查碼;被配置為改變在所述第二讀取操作期間產生的第一預校驗子至第四預校驗子的陣列順序,以將按已改變的陣列順序而重新安排的第一預校驗子至第四預校驗子儲存為第一同位檢查碼至第四同位檢查碼;以及被配置為透過對所述第一同位檢查碼至第四同位檢查碼和所述第一輸出同位檢查碼至第四輸出同位檢查碼執行邏輯運算來產生所述第一校驗子至第四校驗子。
  30. 如請求項29所述的半導體裝置,其中,所述第一校驗子至第四校驗子透過所述第一半矩陣或所述第二半矩陣的行向量來設置。
  31. 如請求項29所述的半導體裝置,其中,所述邏輯電路包括: 選擇校驗子產生電路,其被配置為當所述選擇信號被致能時將所述第一預校驗子至第四預校驗子輸出為第一選擇校驗子至第四選擇校驗子;以及當所述選擇信號被失能時,改變所述第一預校驗子至第四預校驗子的陣列順序以將根據已改變的陣列順序而重新排列的第一預校驗子至第四預校驗子輸出為第一選擇校驗子至第四選擇校驗子; 同位檢查碼儲存電路,其被配置為回應於行信號而將在所述第一讀取操作期間產生的第一選擇校驗子至第四選擇校驗子儲存為所述第一同位檢查碼至第四同位檢查碼,以及被配置為對在所述第二讀取操作期間產生的第一選擇校驗子至第四選擇校驗子和回應於所述行信號而儲存的第一同位檢查碼至第四同位檢查碼執行邏輯運算以產生並儲存所述第一同位檢查碼至第四同位檢查碼;以及 校驗子輸出電路,其被配置為對所述第一輸出同位檢查碼至第四輸出同位檢查碼和儲存在所述同位檢查碼儲存電路中的第一同位檢查碼至第四同位檢查碼執行邏輯運算以產生所述第一校驗子至第四校驗子。
TW107129419A 2017-12-15 2018-08-23 錯誤校正方法和使用其的半導體裝置 TWI798250B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0173258 2017-12-15
KR1020170173258A KR102420641B1 (ko) 2017-12-15 2017-12-15 에러정정방법 및 이를 이용한 반도체장치

Publications (2)

Publication Number Publication Date
TW201937369A true TW201937369A (zh) 2019-09-16
TWI798250B TWI798250B (zh) 2023-04-11

Family

ID=66816078

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107129419A TWI798250B (zh) 2017-12-15 2018-08-23 錯誤校正方法和使用其的半導體裝置

Country Status (4)

Country Link
US (1) US10698764B2 (zh)
KR (1) KR102420641B1 (zh)
CN (1) CN109933453B (zh)
TW (1) TWI798250B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112289365B (zh) * 2019-07-24 2024-02-23 华邦电子股份有限公司 半导体存储器装置
KR20210019676A (ko) * 2019-08-13 2021-02-23 삼성전자주식회사 메모리 컨트롤러의 구동방법, 스토리지 장치 및 그 구동방법
KR20220021695A (ko) 2020-08-14 2022-02-22 에스케이하이닉스 주식회사 에러정정동작을 수행하기 위한 전자시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736376A (en) * 1985-10-25 1988-04-05 Sequoia Systems, Inc. Self-checking error correcting encoder/decoder
DE69820246D1 (de) * 1998-07-20 2004-01-15 St Microelectronics Srl Schaltung und Verfahren zum Lesen eines nichtflüchtigen Speichers
US7028248B2 (en) * 2001-02-28 2006-04-11 International Business Machines Corporation Multi-cycle symbol level error correction and memory system
US7032142B2 (en) * 2001-11-22 2006-04-18 Fujitsu Limited Memory circuit having parity cell array
JP4864395B2 (ja) * 2005-09-13 2012-02-01 株式会社東芝 半導体記憶装置
US8230305B2 (en) * 2009-04-02 2012-07-24 Micron Technology, Inc. Extended single-bit error correction and multiple-bit error detection
KR20120063329A (ko) * 2010-12-07 2012-06-15 삼성전자주식회사 에러 체크 및 정정기 및 그것을 포함하는 메모리 시스템
US8635514B2 (en) * 2011-02-28 2014-01-21 Micron Technology, Inc. Error control in memory storage systems
CN103744744B (zh) * 2014-02-08 2017-08-25 威盛电子股份有限公司 数据储存装置以及易失性存储器的数据校验方法
KR20170082066A (ko) * 2016-01-05 2017-07-13 에스케이하이닉스 주식회사 반도체시스템
KR20170098538A (ko) * 2016-02-22 2017-08-30 에스케이하이닉스 주식회사 반도체 장치 및 그 구동 방법
KR102469809B1 (ko) * 2016-05-18 2022-11-24 에스케이하이닉스 주식회사 반도체장치
US10388394B2 (en) * 2017-07-25 2019-08-20 Apple Inc. Syndrome weight based evaluation of memory cells performance using multiple sense operations

Also Published As

Publication number Publication date
KR20190072144A (ko) 2019-06-25
US10698764B2 (en) 2020-06-30
KR102420641B1 (ko) 2022-07-14
TWI798250B (zh) 2023-04-11
CN109933453B (zh) 2023-03-10
CN109933453A (zh) 2019-06-25
US20190188075A1 (en) 2019-06-20

Similar Documents

Publication Publication Date Title
US10613928B2 (en) Semiconductor devices and semiconductor systems including the same
KR102479212B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
CN113010346B (zh) 错误检测码生成电路以及包括其的存储器控制器
US10162703B2 (en) Methods of correcting data errors and semiconductor devices used therein
KR20180019791A (ko) 반도체장치 및 반도체시스템
US10847243B2 (en) Methods of testing cell arrays and semiconductor devices executing the same
US10579472B2 (en) Semiconductor devices
US20170286218A1 (en) Semiconductor devices, and semiconductor systems
TWI798250B (zh) 錯誤校正方法和使用其的半導體裝置
KR20180029803A (ko) 반도체장치 및 반도체시스템
KR20190060258A (ko) 에러스크럽방법 및 이를 이용한 반도체모듈
US11461167B2 (en) Semiconductor devices
US10261860B2 (en) Semiconductor systems
US10319455B2 (en) Semiconductor device
US10153028B2 (en) Semiconductor devices
US10552277B2 (en) Electronic devices
KR20180026868A (ko) 집적회로
US10379786B2 (en) Semiconductor devices
US11429477B2 (en) Semiconductor devices
US9997234B1 (en) Semiconductor devices
US10181863B2 (en) Semiconductor devices and semiconductor systems
US11048602B2 (en) Electronic devices
US10014073B2 (en) Semiconductor devices