JP6266306B2 - メモリモジュール、それを含むメモリシステム、それの駆動方法 - Google Patents

メモリモジュール、それを含むメモリシステム、それの駆動方法 Download PDF

Info

Publication number
JP6266306B2
JP6266306B2 JP2013228028A JP2013228028A JP6266306B2 JP 6266306 B2 JP6266306 B2 JP 6266306B2 JP 2013228028 A JP2013228028 A JP 2013228028A JP 2013228028 A JP2013228028 A JP 2013228028A JP 6266306 B2 JP6266306 B2 JP 6266306B2
Authority
JP
Japan
Prior art keywords
data
error correction
memory
memory module
bit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2013228028A
Other languages
English (en)
Other versions
JP2014093092A (ja
Inventor
恩振 尹
恩振 尹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014093092A publication Critical patent/JP2014093092A/ja
Application granted granted Critical
Publication of JP6266306B2 publication Critical patent/JP6266306B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)

Description

本発明は、メモリモジュール、それを含むメモリシステム及びそれの駆動方法に関する。
一般的に、DRAM(DRAM:dynamic random access memory)などのようなメモリチップは、高性能及び大容量化の実現のために、多数のメモリチップが印刷回路基板(PCB:printed circuit board)上に搭載されるメモリモジュール(memory module)の形態としてコンピュータシステムに実装される。これらのメモリモジュールは、印刷回路基板の一面に多数のメモリチップが搭載されるSIMM(single in memory module)及び印刷回路基板の両面に各々多数のメモリチップを搭載するDIMM(dual in memory module)などに区分することができる。これらのうち、相対的に、より効率的なDIMMが、現在のメモリモジュールの大部分を占めている。
本発明の目的は、データの信頼性を向上させるメモリモジュール及びそれの駆動方法を提供することにある。
本発明の実施形態による複数のメモリを含むメモリモジュールの読み出し方法は、前記複数のメモリから複数のバーストレングスに対応するデータを読み出す段階と、格納エラー訂正コードECC2を用いて、前記読み出されたデータのエラーを訂正する段階と、前記エラー訂正されたデータを一つのバーストレングスに対応するデータずつ出力する段階とを含む。
実施形態において、前記メモリは、不揮発性メモリである。
実施形態において、前記出力されるデータは、ユーザデータ及び前記ユーザデータのエラーを検出するための読み出しパリティビットを含み、前記読み出しパリティビットは、伝送エラー訂正コードECC1を用いて発生する。
実施形態において、前記エラー訂正されたデータを、前記ユーザデータの単位に区分する段階と、前記伝送エラー訂正コードECCを用いて前記区分されたデータの読み出しパリティビットを発生する段階とをさらに含む。
実施形態において、前記メモリモジュールを制御するメモリ管理ユニットから前記出力されるデータが入力される段階と、前記メモリ管理ユニットで、前記伝送エラー訂正コードECC1を用いて、前記入力されたデータのエラーを訂正する段階とをさらに含む。
実施形態において、前記読み出されたデータは、複数のバーストレングスに対応するユーザデータの集合と内部パリティビットの集合で構成され、前記内部パリティビットは、前記メモリモジュールで、前記格納エラー訂正コードECC2を用いて発生する。
実施形態において、前記読み出されたデータの格納エラーが訂正可能であるか否かを判別する段階をさらに含む。
実施形態において、前記読み出されたデータの格納エラーが訂正できない場合は、前記ユーザデータの前記集合を前記ユーザデータのサイズにより区分する段階と、伝送エラー訂正コードECC1を用いて前記区分されたデータの読み出しパリティビットを発生する段階と、前記区分されたデータ及び前記読み出しパリティビットを出力する段階とを含む。
実施形態において、前記格納エラー訂正コードECC2と前記伝送エラー訂正コードECC1は、互いに異なるエラー訂正コードである。
実施形態において、前記読み出されたデータのエラーを訂正した後に、前記読み出されたデータのエラー訂正に関連するエラー情報をメモリ管理ユニットに伝送する段階をさらに含む。
本発明の実施形態によるメモリモジュールは、バースト動作を実行するメモリと、複数のバーストレングスに対応するNビットのデータが前記メモリから入力され、格納エラー訂正コードECC2を用いて前記入力されたNビットのデータの格納エラーを訂正し、前記訂正されたデータを複数に区分し、伝送エラー訂正コードECC1を用いて前記区分されたデータの各々に対するパリティビットを発生し、前記各々の区分されたデータ及び前記発生したパリティビットで構成された一つのバーストレングスに対応するMビットのデータを順に出力するエラー訂正回路と、前記エラー訂正回路から順に出力される前記Mビットのデータを格納する第1バッファと、前記Nビットのデータを格納する第2バッファとを含む。
実施形態において、前記メモリは、磁気抵抗メモリである。
実施形態において、前記Nビットのデータは、ユーザデータの集合及び前記ユーザデータのエラーを検出するためのパリティビットの集合で構成され、前記エラー訂正回路は、前記ユーザデータの集合が入力されてチェックビットを発生するチェックビット発生器と、前記チェックビットと前記パリティビットの集合とを比較し、前記比較の結果に基づいて、シンドロームを発生する比較器と、前記比較の結果にエラーが発生したという情報を格納するエラー状態スレジスタと、前記ユーザデータの集合及び前記シンドロームが入力され、前記格納エラー訂正コードECC2を用いて前記ユーザデータの集合のエラーを訂正するエラー訂正エンジンと、前記エラー訂正されたデータを格納するバッファとを含む。
実施形態において、テスト動作の時に、一つのバーストレングスに対応する書き込む書き込みデータが前記エラー訂正回路を経由せずにすぐに前記メモリに格納される。
実施形態において、バースト書き込み動作の時に、複数のバーストレングスに対応する書き込まれるデータが、前記エラー訂正回路によってエラー訂正された後にメモリに格納される。
実施形態において、前記Mビットのデータはクロックに応答して出力され、前記クロックは、前記メモリモジュールから発生する。
本発明の実施形態によるメモリシステムは、メモリからバースト読み出し動作を通じてNビットのデータを読み出し、前記読み出されたNビットのデータは、複数のバーストレングスに対応し、格納エラー訂正コードECC2を用いて、前記読み出されたNビットのデータの格納エラーを訂正し、前記格納エラーが訂正されたデータを複数に区分し、伝送エラー訂正コードECC1を用いて前記区分されたデータの各々の読み出しパリティビットを発生し、前記区分されたデータの各々と前記発生したパリティビットで構成された一つのバーストレングスに対応するM(<N)ビットのデータを順に出力する少なくとも一つのメモリモジュールと、前記少なくとも一つのメモリモジュールから出力される前記Mビットのデータが入力され、前記伝送エラー訂正コードECC1を用いて前記Mビットのデータの伝送エラーを訂正するメモリ管理ユニットとを含む。
実施形態において、前記少なくとも一つのメモリモジュールは、バースト書き込み動作の時に、Mビットのデータずつ順に入力され、前記入力されたMビットのデータは、ユーザデータ及び前記ユーザデータの伝送エラーを訂正するための書き込みパリティビットを含む。
実施形態において、前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時に、前記伝送エラー訂正コードECC1を用いて、前記入力されたMビットのデータの伝送エラーを訂正する。
実施形態において、前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時に、前記格納エラー訂正コードECC2を用いて、ユーザデータの集合に対する内部パリティビットを発生し、前記ユーザデータの集合は、前記伝送エラーを訂正した複数のバーストレングスに対応するユーザデータで構成される。
実施形態において、前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時に、前記ユーザデータと前記内部パリティビットのうちの一部で構成されたMビットのデータを前記メモリに格納する。
実施形態において、前記メモリのうちの少なくとも一つは、前記内部パリティビットを格納する。
実施形態において、前記内部パリティビットを格納するメモリは、前記メモリのうちで固定されたことである。
実施形態において、前記内部パリティビットを格納するメモリは、前記少なくとも一つのメモリモジュールで流動的に前記メモリのうちで選択される。
実施形態において、前記少なくとも一つのメモリモジュールと、前記メモリ管理ユニットは、コマンド、アドレス、クロック、及びデータが入力されるための各々のラインを介して接続する。
実施形態において、前記少なくとも一つのメモリモジュールは、前記バースト読み出し動作の時に、前記伝送エラー訂正コードECC1を用いて前記読み出しパリティビットを発生する第1エラー訂正回路を含み、前記ユーザデータは、前記読み出されたNビットのデータの一部として一つのバーストレングスに対応するデータである。
実施形態において、前記第1エラー訂正回路は、前記バースト書き込み動作の時に、前記入力されたMビットのデータの伝送エラーを訂正する。
実施形態において、前記メモリ管理ユニットは、前記バースト書き込み動作の時に、前記書き込みパリティビットを発生する伝送エラー訂正回路をさらに含む。
実施形態において、前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時に、前記Mビットのデータの伝送エラーを訂正せずにすぐに前記メモリに格納する。
実施形態において、前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時に、前記格納エラー訂正コードECC2を用いて、ユーザデータの集合に対する内部パリティビットを発生する第2エラー訂正回路を含み、前記ユーザデータの集合は、前記複数のバーストレングスに対応するユーザデータで構成され、前記読み出されたNビットのデータは、前記ユーザデータの集合と前記内部パリティビットで構成されるデータである。
実施形態において、前記少なくとも一つのメモリモジュールは、複数のメモリモジュールを含み、前記複数のメモリモジュールと、前記メモリ管理ユニットは、直列インターフェースを介して接続する。
実施形態において、前記少なくとも一つのメモリモジュールは、複数のメモリモジュールを含み、前記複数のメモリモジュールと、前記メモリ管理ユニットは、並列インターフェースを介して接続する。
本発明の実施形態による少なくとも一つのメモリモジュールと前記少なくとも一つのメモリモジュールを制御するメモリ管理モジュールとを含むメモリシステムの駆動方法は、複数のバーストレングスに対応するデータを読み出す段階と、前記読み出されたデータに対して格納エラー訂正コードECC2を用いて第1エラー訂正を実行する段階と、前記第1エラー訂正されたデータを一つのバーストレングスに対応するデータずつ順に区分する段階と、前記区分されたデータに対して前記格納エラー訂正コードと異なる伝送エラー訂正コードECC1を用いて第2エラー訂正を実行する段階とを含む。
実施形態において、前記格納エラー訂正コードは、BCHコードであり、前記伝送エラー訂正コードは、ハミングコードである。
本発明の実施形態によるメモリモジュールの書き込み方法は、複数のバーストレングスに対応する書き込みデータが入力される段階と、前記入力された書き込みデータに対して伝送エラー訂正コードECC1を用いて、バーストレングス単位でエラー訂正を実行する段階と、前記エラー訂正されたデータに対して格納エラー訂正コードECC2を用いて、内部パリティビットを発生する段階と、前記エラー訂正されたデータを、前記バーストレングス単位に対応するデータずつ区分する段階と、前記区分されたデータと前記内部パリティビットの一部で構成された内部書き込みデータとを複数のメモリに格納する段階とを含む。
本発明の実施形態によるメモリモジュールと、前記メモリモジュールを管理するメモリ管理ユニットとを含むメモリシステムのパリティビットの発生方法は、前記メモリ管理ユニットで書き込み動作の時に、データ伝送エラー訂正コードECC1を用いて、ユーザデータに対する書き込みパリティビットを発生する段階と、前記メモリモジュールで、前記書き込み動作の時に、前記メモリ管理ユニットから一つのバーストレングスに対応する書き込みデータが入力され、前記書き込みデータは、前記ユーザデータ及び前記書き込みパリティビットで構成され、格納エラー訂正コードECC2を利用して、ユーザデータの集合に対する内部パリティビットを発生する段階とを含み、前記ユーザデータの集合は、複数のバーストレングスに対応するユーザデータで構成される。
実施形態において、前記メモリモジュールにおいて、読み出し動作の時に、前記格納エラー訂正コードECC2を用いて、前記ユーザデータの集合のエラーを訂正する段階と、前記メモリモジュールにおいて、前記読み出し動作の時に、前記エラー訂正されたユーザデータの集合で一つのバーストレングスに対応するユーザデータを出力する段階と、前記メモリモジュールにおいて、前記読み出し動作の時に、前記伝送エラー訂正コードECC1を用いて前記出力されたユーザデータに対する読み出しパリティビットを発生する段階とを含む。
本発明の他の実施形態によるメモリモジュールは、複数のメモリと、書き込み動作の時に、データ伝送エラー訂正コードECC1を用いて、一つのバーストレングスに対応する書き込みデータの伝送エラーを訂正し、前記訂正された書き込みデータを複数個集めて、格納エラー訂正コードECC2を用いて前記集められた書き込みデータに対して、内部パリティビットを発生し、前記集められた書き込みデータ及び前記発生した内部パリティビットを前記複数のメモリに格納し、読み出し動作の時、前記格納エラー訂正コードECC2を用いて、前記複数のメモリから読み出された複数のバーストレングスに対応する読み出しデータの格納エラーを訂正するエラー訂正回路と、前記書き込み動作の時に、前記書き込みデータが外部から入力され、前記読み出し動作の時に、前記複数のメモリから読み出された前記読み出しデータが入力されるバッファとを含み、前記書き込み動作の時に、書き込み命令から前記伝送エラーを訂正するための第1レイテンシを有し、前記読み出し動作の時に、読み出し命令から前記格納エラーを訂正するための第2レイテンシを有する。
実施形態において、前記複数のメモリの各々は、磁気抵抗メモリに実現される。
実施形態において、前記書き込みデータは、ユーザデータと書き込みパリティビットで構成される。
実施形態において、前記読み出しデータは、ユーザデータと読み出しパリティビットで構成される。
実施形態において、前記エラー訂正回路は、前記伝送エラー訂正コードECC1を用いて前記読み出しパリティビットを発生する。
実施形態において、前記エラー訂正回路は、前記伝送エラーを訂正する第1エラー訂正回路と、前記格納エラーを訂正する第2エラー訂正回路とを含む。
本発明の実施形態によるメモリモジュールにおいてデータのエラー訂正方法は、第1エラー訂正コードECC1を用いて外部と前記メモリモジュールとの間のデータ伝送エラー訂正を第1コードワード単位で実行する段階と、前記第1エラー訂正コードECC1と異なる第2エラー訂正コードECC2を用いて前記メモリモジュールに格納されたデータの格納エラー訂正を前記第1コードワードのサイズより長い第2コードワード単位で実行する段階とを含む。
上述のように、本発明によるメモリモジュールは、複数のバーストレングスに対応するデータのエラーを訂正することによって、従来のそれと比較して、コードワードのサイズを増加することにより、より向上したエラー訂正の能力を発揮することができる。
本発明の実施形態によるメモリシステムを示すブロック図である。 本発明の実施形態によるメモリモジュールを例示的に示すブロック図である。 本発明の実施形態によるメモリモジュールで用いられるNビットのデータ及びMビットのデータの構造を例示的に示す図である。 書き込み動作の時、Nビットのデータの発生方法を例示的に示す図である。 読み出し動作の時、Nビットのデータの発生方法を例示的に示す図である。 図2に示した第1エラー訂正回路を例示的に示すブロック図である。 図2に示した第2エラー訂正回路を例示的に示すブロック図である。 図1に示したメモリ管理ユニットのエラー訂正回路を例示的に示すブロック図である。 本発明によるメモリを例示的に示すブロック図である。 図9に示したセルアレイをより詳細に示す図である。 図10に示したメモリセルの構造を例示的に示す図である。 本発明によるメモリモジュールに対する別の実施形態を例示的に示す図である。 本発明によるメモリモジュールのまた別の実施形態を例示的に示す図である。 テスト動作の時、メモリシステムを例示的に示す図である。 本発明によるメモリシステムの別の実施形態を例示的に示す図である。 本発明によるメモリシステムの別の実施形態を例示的に示す図である。 本発明によるメモリシステムの別の実施形態を例示的に示す図である。 本発明の実施形態によるメモリシステムの書き込み方法を例示的に示すフローチャートである。 本発明の実施形態によるメモリシステムの読み出し方法に対する第1実施形態を例示的に示すフローチャートである。 本発明の実施形態によるメモリシステムの読み出し方法に対する第2実施形態を例示的に示すフローチャートである。 本発明の実施形態によるメモリシステムの読み出し方法に対する第3実施形態を例示的に示すフローチャートである。 本発明の実施形態によるメモリシステムの読み出し方法に対する第4実施形態を例示的に示すフローチャートである。 本発明の実施形態によるメモリシステムの入出力動作に関連するパリティ発生を概略的に説明する図である。 本発明の実施形態によるメモリシステムのバースト書き込み動作の時にデータの出力に係るタイミング図を例示的に示す図である。 本発明の実施形態によるメモリシステムのバースト読み出し動作の時にデータの出力に係るタイミング図を例示的に示す図である。 本発明によるモバイル装置を例示的に示すブロック図である。
以下、本発明が属する技術の分野における通常の知識を持つ者が、本発明の技術的思想を容易に実施できるように、本発明の実施形態を添付の図面を参照して説明する。
図1は、本発明の実施形態によるメモリシステム10を示すブロック図である。図1を参照すると、メモリシステム10は、メモリモジュール100と、それを制御するメモリ管理ユニット200とを含む。
メモリモジュール100は、ユーザデータを格納する装置である。メモリモジュール100は少なくとも1つのメモリ110と、エラー訂正回路120と、バッファ130とを含む。
少なくとも一つのメモリ110は、揮発性メモリ装置又は不揮発性メモリ装置である。例えば、揮発性メモリ装置は、DRAM、SRAMなどになることができる。また、例えば、不揮発性メモリ装置は、磁気抵抗メモリ(Magnetoresistive Random Access Memory:MRAM)、抵抗性RAM(Resistive Random Access Memory:RRAM)、相変化メモリ(Phase−Change Memory:PRAM(登録商標))、強誘電体メモリ(Ferroelectric Random Access Memory:FRAM)、スピン注入磁化反転メモリ(IPn Transfer Torque Random Access Memory:STT−RAM)、NANDフラッシュメモリ(NAND Flash Memory)、垂直型NANDフラッシュメモリ(Vertical NAND、‘VNAND’)、NORフラッシュメモリ(NOR Flash Memory)などになることができる。
特に、メモリ110は、バースト動作(burst operation)を実行することができる。ここでバースト動作は、メモリ110がメモリ管理ユニット(MMU)200から受信した初期アドレスからアドレスを順に減少又は増加することにより、多量のデータを書き込むか、又は読み出す動作をいう。バースト動作の基本単位をバーストレングス(burst length;BL)という。実施形態において、バーストレングスBLは、初期アドレスからアドレスを増加又は減少することにより、連続して読み出すか、又は書き込む動作の回数になることができる。例えば、メモリ110がDDR(double data rate)MRAMの場合に、バーストレングスBLが8(BL=8)であれば、クロックCLKに応答して、初期アドレスから連続して8回にわたり、バースト読み出し動作又は書き込み動作が実行されることを意味する。
エラー訂正回路120は、第1エラー訂正回路121と第2エラー訂正回路122とを含む。
第1エラー訂正回路121(‘伝送エラー訂正回路’ともいう)は、書き込み動作の時に、第1エラー訂正コードECC1(‘伝送エラー訂正コード’ともいう)を用いて、一つのバーストレングス(BL=1)に対応するユーザデータDQ_BLのエラーを訂正したり、読み出し動作の時に一つのバーストレングスBL=1に対応するユーザデータDQ_BLに対応するパリティビット(例えば、‘Pr’)を発生する。
第2エラー訂正回路122(‘格納エラー訂正回路’ともいう)は、書き込み動作の時に第2エラー訂正コードECC2(‘格納エラー訂正コード’ともいう)を用いて、複数のバーストレングスBL=k(kは2以上の整数)に対応するユーザデータの集合[DQ_BL1:DQ_BLk]の内部パリティビット(IP:P1〜Pk)を発生したり、読み出し動作の時に第2エラー訂正コードECC2を用いて、複数のバーストレングスBL=kに対応するユーザデータの集合[DQ_BL1:DQ_BLk]の格納エラーを訂正する。
実施形態において、第1及び第2エラー訂正コードECC1、ECC2の各々は、BCH、Reed Solomon、Hamming code、LDPC(low density parity check code、RAID(redundant array of independent disks)、CRC(cyclic redundancy check)などになることができる。
実施形態において、第1エラー訂正コードECC1と第2エラー訂正コードECC2は互いに異なることができる。例えば、第1エラー訂正コードECC1は、ハミングコード(hamming code)であり、第2エラー訂正コードECC2は、BCHコードであり得る。第2エラー訂正回路122のコードワード(codeword)のサイズ(例えば、BL=k)は第1エラー訂正回路121のコードワードのサイズ(例えば、BL=1)より大きい。
別の実施形態において、第1エラー訂正コードECC1と第2エラー訂正コードECC2は同一であり、第1エラー訂正回路121のコードワードのサイズ(例えば、BL=1)と第2エラー訂正回路122のコードワードのサイズ(例えば、BL=k)は互いに異なることができる。
メモリモジュール100のバースト書き込み動作は、次のように進められる。メモリモジュール100は、バースト書き込み動作の時に、クロックCLKに応答してkのMビットデータDQ_BL+Pwが連続して入力され、入力されたMビットデータDQ_BL+Pwをエラー訂正回路120の第1エラー訂正コードECC1を用いて順にエラー訂正し、エラー訂正された一つのバーストレングスBL=1に対応するユーザデータDQ_BLをバッファ130に順に格納し、エラー訂正回路120の第2エラー訂正コードECC2を利用してkバーストレングスBL=kに対応する格納されたユーザデータDQ_BL1〜DQ_BLkに対する内部パリティビット[P1:Pk]を発生し、発生した内部パリティビット[P1:Pk]をk個に区分し、区分されたk個の内部パリティビットPiをエラー訂正された一つのバーストレングスBL=1に対応するユーザデータDQ_BLのパリティビットのように利用することにより、MビットのデータDQ_BL+Piを順にメモリ110に書き込む。
ここで、MビットのデータDQ_BL+Pwは、一つのバーストレングスに対応するユーザデータDQとユーザデータDQ_BLのエラーを検出するための書き込みパリティビットPwとを含む。ここで書き込みパリティビットPwは、メモリ管理ユニット200のエラー訂正回路220から発生する。
メモリモジュール100のバースト読み出し動作は、次のように進められる。メモリモジュール100は、バースト読み出し動作の時に、クロックCLKに応答してメモリ110からk個のMビットデータDQ_BL+Piを連続して読み出し、エラー訂正回路120の第2エラー訂正コードECC2を利用してkバーストレングスBL=kに対応する読み出されたユーザデータDQ_BL1〜DQ_BLkのエラーを訂正し、エラー訂正されたユーザデータDQ_BL1〜DQ_BLkをk個に区分し、区分されたk個のユーザデータDQ_BLに対する読み出しパリティビットPrを発生し、一つのバーストレングスBL=1に対応するユーザデータDQ_BLとそれの読み出しパリティビットPrで構成されたMビットのデータDQ_BL+Prを順に出力する。
言い換えれば、メモリモジュール100は、バースト読み出し動作の時にメモリ110から複数のバーストレングスBL=kに対応するNビットのデータを読み出し、読み出されたNデータのエラーを訂正し、エラー訂正されたNビットのデータを一つのバーストレングスに対応するMビットのデータずつ出力する。ここで出力されるMビットのデータDQ_BL+Prは、ユーザデータDQ_BLのパリティビットPrを含む。
すなわち、本発明のメモリモジュール100は、3種類のMビットデータDQ_BL+Pw、DQ_BL+Pi、DQ_BL+Prを用いて、ユーザデータDQ_BLをバーストレングス単位で入出力させる。それらはユーザデータDQ_BLに書き込みパリティビットPwで構成されたMビットの書き込みデータDQ_BL+Pw、ユーザデータDQ_BLに内部パリティビットPiで構成されたMビットの内部データDQ_BL+Pi、ユーザデータDQ_BLに読み出しパリティビットPrで構成されたMビットの読み出しデータDQ_BL+Prである。
また、本発明のメモリモジュール100は、大きく二つのエラー訂正機能を実行する。先ず、メモリモジュール100は、第1エラー訂正回路121を通じてメモリ管理ユニット200とデータ伝送に発生することができる伝送エラーを減らし、第2エラー訂正回路122を通じて、データの格納の時に発生することができる格納エラーを減らすことができる。
一方、メモリモジュール100は、図示しないが、位相同期回路(phase locked loop;PLL)又は遅延同期回路(delay locked loop;DLL)、瞬間的なパワーオフ(power−off)に対してパワーキャパシタ、MR(moderegister)の設定などコードのためのSPD(serial presence detection)の情報を格納する不揮発性メモリをさらに含むことができる。
メモリ管理ユニット200は、エラー訂正回路220を含む。エラー訂正回路220は、バースト書き込み動作の時に、メモリモジュール100に書き込まれるデータを一つのバーストレングスBL=1に対応するユーザデータDQ_BLに区分し、第1エラー訂正コードECC1を用いて、ユーザデータDQ_BLに対応する書き込みパリティビットPwを発生し、区分されたデータDQ_BLと書き込みパリティビットPwで構成されたMビットのデータDQ_BL+Pwを順に出力する。
また、エラー訂正回路220には、バースト読み出し動作の時、メモリモジュール100からMビットのデータDQ_BL+Prずつ順に入力され、第1エラー訂正コードECC1を用いて、入力されたMビットのデータDQ_BL+Prのエラーを訂正することができる。
本発明の実施形態によるメモリシステム10は、第1エラー訂正回路121を通じてデータ伝送エラーを訂正し、第2エラー訂正回路122を通じて格納されたデータの格納エラーを訂正することによって、データの信頼性を従来のそれより大幅に向上させる。
また、メモリモジュール100の第2エラー訂正回路122は、複数のバーストレングスBL=kに対応するユーザデータDQ_BL1〜DQ_BLkをバッファリングし、バッファリングされたユーザデータDQ_BL1〜DQ_BLkのエラーを一時に訂正することによって、従来のメモリモジュールにおいて、一つのバーストレングスBL=1に対応するユーザデータDQ_BLのエラーを訂正することと比較する時、コードワード(codeword)のサイズを増大することができる。すなわち、本発明のエラー訂正能力は、従来のそれより大幅に増加する。
図2は、本発明の実施形態によるメモリモジュール100を例示的に示すブロック図である。図2を参照すると、メモリモジュール100は、複数のメモリ111〜119で構成されたメモリ110と、第1エラー訂正回路121及び第2エラー訂正回路122で構成されたエラー訂正回路120と、第1バッファ131及び第2バッファ132で構成されたバッファ130とを含む。
メモリ111〜119の各々は、バースト動作を行うことができる。メモリ111〜119の各々は、揮発性メモリ装置又は不揮発性メモリ装置に実現することができる。書き込み動作で、メモリ111〜119のうちの少なくとも一つ(例えば、119)は、パリティビットPiを格納し、残り111〜118は、ユーザデータDQ_BLを格納することができる。また、読み出し動作で、メモリ111〜118は、ユーザデータDQ_BL1を出力し、メモリ119は、パリティビットPiを出力することができる。メモリ111〜119の各々は、クロックCLKが入力されて同期させる位相固定回路(phase locked loop、PLL)又は遅延固定回路(delayed locked loop;DLL)をさらに含むことができる。
エラー訂正回路120は、書き込み動作の時、第1バッファ131から一つのバーストレングスBL=1に対応するユーザデータDQ_BLずつ入力され、第1エラー訂正コードECC1を用いて入力されたユーザデータDQ_BLの伝送エラーを訂正し、エラー訂正されたユーザデータDQ_BLを第2バッファ132に伝送し、第2バッファ132から複数のバーストレングスBL=kに対応するエラー訂正されたユーザデータDQ_BL1〜DQ_BLkが入力され、第2エラー訂正コードECC2を用いて内部パリティビット[P1:Pk]を発生する。
エラー訂正回路120は、読み出し動作の時、第2バッファ132から複数のバーストレングスBL=kに対応するユーザデータDQ_BL1〜DQ_BLkが入力され、第2エラー訂正コードECC2を用いて、入力されたユーザデータDQ_BL1〜DQ_BLkのエラーを訂正し、エラー訂正されたユーザデータDQ_BL1〜DQ_BLkを一つのバーストレングス単位に区分し、第1エラー訂正コードECC1を用いて、区分されたユーザデータDQ_BLの読み出しパリティビットPrを発生する。もし、エラー訂正回路120でユーザデータDQ_BLのエラーが完全に回復された場合、エラー訂正回路120から発生する読み出しパリティビットPrは、メモリ管理ユニット200から出力される書き込みパリティビットPwと同様である。
第1バッファ131は、書き込み動作の時、一つのバーストレングスBL=1に対応するユーザデータDQ_BL及び書き込みパリティビットPwで構成されたMビットの書き込みデータDQ_BL+PwがクロックCLKに応答して順に入力され、入力されたMビットの書き込みデータDQ_BL+Pwをエラー訂正回路120に順に出力する。
また、第1バッファ131は、読み出し動作の時、エラー訂正回路120からの一つのバーストレングスBL=1に対応するユーザデータDQ_BL及びそれの読み出しパリティビットPrで構成されたMビットの読み出しデータDQ_BL+Prが順に入力され、入力されたMビットの読み出しデータDQ_BL+PrをクロックCLKに応答して順に出力する。
第1バッファ131は、図2に示すように、Mビットのデータを格納するための複数のエントリEntry1〜Entrykを含む。
第2バッファ132は、書き込み動作の時、エラー訂正回路120から第1エラー訂正コードECC1によってエラー訂正されたユーザデータDQ_BL1〜DQ_BLkと第2エラー訂正コードECC2によって発生した内部パリティビットP1〜Pkとを格納し、一つのバーストレングスBL=1に対応するMビットの内部データDQ_BL+Piずつ順にメモリ111〜119に出力させる。ここで出力されるMビットの内部データDQ_BL+Piは、ユーザデータDQ1〜DQ8と内部パリティビットPiで構成される。
また、第2バッファ132は、読み出し動作の時、メモリ111〜119から連続して出力されるユーザデータDQ_BL1〜DQ_BLk及び内部パリティビットP1〜Pkで構成されたNビットのデータをバッファリングし、複数のバーストレングスBL=kに対応するユーザデータDQ_BL1〜DQ_BLkをエラー訂正回路120に伝送する。
また、図2に示したメモリモジュール100では、内部パリティビットPiを格納するために、一つのメモリ119を備えた。しかし、本発明はこれに限定される必要はない。実施形態において、内部パリティビットPiを格納するためのメモリが固定する必要はない。つまり、複数のメモリのうちの少なくとも一つが流動的に内部パリティビットPiを格納するように実現することができる。特に、メモリモジュール100は、内部的にパリティビットを格納するメモリを指定することができるルーティング(routing)の機能を実行することも可能である。
別の実施形態において、内部パリティビットPiは、メモリシステム10をRAID(redundant array of independent disks)機能を有するコンピューティングシステムに利用する時に、RAIDの種類に応じて複数のメモリに分散して格納することができる。ここで、内部パリティビットPiが格納される位置は、RAIDの種類に応じて変更可能である。
また、別の実施形態において、データの信頼性のために必要な複数の内部パリティが少なくとも2つのメモリに分散して格納されることも可能である。
本発明の実施形態によるメモリモジュール100は、読み出し動作の時、複数のバーストレングスBL=kに対応するNビットのデータを格納する第2バッファ132とNビットのデータに含まれたユーザデータDQ_BL1〜DQ_BLkのエラーを訂正するエラー訂正回路120とを備えることによって、エラー訂正能力を増大するだけでなく、出力データの信頼性を向上させることができる。
図3は、本発明の実施形態によるメモリモジュール100で用いられるNビットのデータ及びMビットのデータの構造を例示的に示す図である。図3を参照すると、Nビットのデータは、複数のバーストレングスBL=kに対応するユーザデータDQ_BL1〜DB_BLk(図2参照)の集合SDQと内部パリティビットP1〜Pk(図2参照)の集合IPで構成され、Mビットのデータは、一つのバーストレングスBL=1に対応するユーザデータDQ_BL及びそれのパリティビットPで構成される。ここで、パリティビットPは、Mビットのデータの性質に応じて書き込みパリティビットPw、内部パリティビットPi、及び読み出しパリティビットPrのうちの一つになることができる。
図4は、書き込み動作の時、Nビットのデータの発生方法を例示的に示す図である。図4を参照すると、書き込み動作の時、第2バッファ132(図2参照)に格納されるNビットのデータは、ユーザデータの集合SDQ及び内部パリティビットの集合IPで構成される。ユーザデータの集合SDQは、メモリ管理ユニット200(図1参照)から順に入力されたk個のMビットデータDQ_BL1+Pw1〜DQ_BLk+PwkのユーザデータDQ_BL1〜DQ_BLkで構成される。また、内部パリティビットの集合IPは、ユーザデータDQ_BL1〜DQ_BLkの内部パリティビットP1〜Pk(図2を参照)で構成される。ここで、内部パリティビットP1〜Pkは、第2エラー訂正回路122(図1参照)によって発生する。書き込み動作の時に発生したNビットのデータSDQ+IPは、バーストレングスBL単位でメモリ110に格納される。
図5は、読み出し動作の時、Nビットのデータを発生する方法を例示的に示す図である。図5を参照すると、読み出し動作の時、第2バッファ132(図2参照)に格納されるNビットのデータは、ユーザデータの集合SDQ及び内部パリティビットの集合IPで構成される。ユーザデータの集合SDQは、メモリ110(図1参照)から順に読み出されたk個のMビットデータDQ_BL1+Pw1、...、DQ_BLk+PkのユーザデータDQ_BL1〜DQ_BLkで構成される。また、内部パリティビットの集合IPは、メモリ110から順に読み出されたk個のMビットデータDQ_BL1+P1、...、DQ_BLk+Pkの内部パリティビットP1〜Pkで構成される。読み書き動作の時に発生したNビットのデータSDQ+IPでユーザデータの集合SDQは、データの格納の時に発生したエラー訂正のために第2エラー訂正回路122に伝送される。
図6は図2に示した第1エラー訂正回路121を例示的に示すブロック図である。図6を参照すると、第1エラー訂正回路121は、チェックビット発生器141と、比較器142と、エラー状態スレジスタ143と、ECCエンジン144と、読み出しバッファ145とを含む。ここでは説明の便宜のためにMビットのデータは、一つのバーストレングスBL=1に対応する64ビットのユーザデータ(図3参照、DQ)及び8ビットのパリティビットPwで構成される。
チェックビット発生器141は、第1バッファ131(図2参照)から、64ビットのユーザデータDQ_BLが入力され、入力されたユーザデータDQ_BLに対応する8ビットのチェックビットPcを発生する。比較器142は、チェックビット発生器141から8ビットのチェックビットPcと、第1バッファ131から出力された8ビットのパリティビットPwとを比較することによってエラーを検出する。また、比較器142は、エラー発生の時にエラー訂正のためにシンドローム(syndrome)を発生させる。エラー状態スレジスタ143は、比較器142の比較の結果としてエラーが検出される時、エラーが検出されたことを指示する情報を格納する。ECCエンジン144には、第1バッファ131から入力された64ビットのユーザデータDQ_BLと比較器142から出力されたシンドロームが入力され、第1エラー訂正コードECC1を用いて、エラーの位置を判別し、判別されたエラーの位置を訂正することができる。ここで、第1エラー訂正コードECC1は、ハミングコードになることができる。読み出しバッファ145は、エラー訂正されたユーザデータDQ_BLを格納する。
上述の第1エラー訂正回路121は、書き込み動作に用いられるECCデコーダの構成である。本発明の第1エラー訂正回路121は、読み出し動作に用いられるECCエンコーダの構成をさらに含むことができる。ここでECCエンコーダは、一つのバーストレングスBL=1に対応するユーザデータDQ_BLの読み出しパリティビットPrを発生するパリティ発生器に実現することができる。このようなパリティ発生器は、図6のチェックビット発生器141であり得る。別の実施形態において、パリティ発生器は、図6のチェックビット発生器141と同じ構造を有する別途の装置で構成することができる。
本発明の実施形態による第1エラー訂正回路121は、書き込み動作の時に一つのバーストレングスBL=1に対応するユーザデータDQ_BLのエラーをリアルタイムで訂正し、読み出し動作の時に一つのバーストレングスBL=1に対応するユーザデータDQ_BLの読み出しパリティビットPrをリアルタイムで発生することができる。
図7は、図2に示した第2エラー訂正回路122を例示的に示すブロック図である。図7を参照すると、第2エラー訂正回路122は、チェックビット発生器151と、比較器152と、エラー状態スレジスタ153と、ECCエンジン154と、読み出しバッファ155とを含む。ここでは説明の便宜のためにNビットのデータは、8つのバーストレングスBL=8に対応する512ビットのユーザデータの集合(図3参照、SDQ)及び64ビットの内部パリティビットの集合(図3参照、SPi)で構成される。
チェックビット発生器151は、読み出し動作の時に第2バッファ132から512ビットのユーザデータの集合SDQが入力され、入力されたユーザデータの集合SDQに対応する64ビットのチェックビットSPcを発生する。
比較器152は、チェックビット発生器151から64ビットのチェックビットSPcと、第2バッファ132から入力された64ビットの内部パリティビットの集合IPとを比較することによって、エラーを検出する。また、比較器152は、エラー発生の時、エラー訂正のためにシンドローム(syndrome)を発生させる。ここでシンドロームは、エラーの位置に関連する情報を含む。エラー状態スレジスタ153は、比較器152の比較の結果としてエラーが検出される時、エラーが検出されたことを指示するエラー情報を格納する。
ECCエンジン154は、第2バッファ132から512ビットのユーザデータの集合SDQ及び比較器152から出力されたシンドロームが入力され、第2エラー訂正コードECC2を用いて、エラーの位置を判別し、判別されたエラーの位置のビット値を訂正することができる。ここで第2エラー訂正コードは、BCHコードになることができる。読み出しバッファ155は、エラー訂正されたユーザデータの集合SDQを格納する。
上述の第2エラー訂正回路122は、読み出し動作に用いられるECCデコーダの構成である。本発明の第2エラー訂正回路122は、書き込み動作に用いられるECCエンコーダの構成をさらに含むことができる。ここでECCエンコーダは、複数のバーストレングスBL=8に対応するユーザデータの集合SDQの内部パリティビット[P1:Pk]を発生するパリティ発生器に実現することができる。このようなパリティ発生器は、図7のチェックビット発生器151であり得る。別の実施形態において、パリティ発生器は、図7のチェックビット発生器151と同じ構造を有する別途の装置で構成することができる。
本発明の実施形態による第2エラー訂正回路122は、書き込み動作の時、データの格納エラーを訂正するためのユーザデータの集合SDQの内部パリティビット[P1:Pk]を発生し、読み出し動作の時、8つのバーストレングスBL=8に対応するユーザデータの集合SDQのエラーを訂正することができる。
図8は、図1に示したメモリ管理ユニット200のエラー訂正回路220を例示的に示すブロック図である。図8を参照すると、エラー訂正回路220は、図6に示したメモリモジュール100の第1エラー訂正回路121と同様である。図8に示したエラー訂正回路220は、読み出し動作の時、ECCデコーダの構成である。エラー訂正回路220は、書き込み動作に用いられるECCエンコーダの構成をさらに含むことができる。ここでECCエンコーダは、一つのバーストレングスBL=1に対応するユーザデータDQ_BLの書き込みパリティビットPwを発生するパリティ発生器に実現することができる。このようなパリティ発生器は、図8のチェックビット発生器221であり得る。別の実施形態において、パリティ発生器は、図8のチェックビット発生器221と同じ構造を有する別途の装置で構成することができる。
本発明の実施形態によるエラー訂正回路220は、書き込み動作の時、一つのバーストレングスBL=1に対応するユーザデータDQ_BLに対応する書き込みパリティビットPwをリアルタイムで発生し、読み出し動作の時に一つのバーストレングスBL=1に対応するユーザデータDQ_BLのエラーをリアルタイムで訂正することができる。
一方、図2に示したメモリ111〜119の各々は、MRAM(Magnetoresistive Random Access Memory)に実現することができる。以下、メモリ111〜119の各々がMRAMであると仮定する。
図9は、本発明によるメモリ111を例示的に示すブロック図である。図9を参照すると、メモリ111は、コマンドデコーダ310と、アドレスバッファ320と、ローデコーダ330と、カラムデコーダ340と、セルアレイ350と、ライトドライブ/センスアンプ360と、入出力ドライバ部370と、データ入出力部380とを含む。
コマンドデコーダ310には、チップ選択信号(chip select;/CS)、ローアドレスストロボ(row address strobe、/RAS)、カラムアドレスストロボ(column address strobe、/CAS)、ライトイネーブル信号(write enable;/WE)、及びクロックイネーブル信号(clockenable;CKE)が入力されてデコーディング動作を実行する。
実施形態において、チップ選択信号/CS、ローアドレスストロボ/RAS、カラムアドレスストロボ/CAS、ライトイネーブル信号/WE、及びクロックイネーブル信号CKEは、メモリ管理ユニット(図1を参照)200から提供される。
別の実施形態において、チップ選択信号/CS、ローアドレスストロボ/RAS、カラムアドレスストロボ/CASは、メモリモジュール(図1参照)100の内部の回路から提供される。
デコーディングが完了した後に、メモリ111がメモリ管理ユニット200の命令を実行するように制御する。アドレスバッファ320は、メモリ管理ユニット200から受信されたアドレス信号ADDを格納する。その後、アドレスバッファ320は、ローアドレスY−ADDをローデコーダ330に伝達し、カラムアドレスX−ADDをカラムデコーダ340に伝達する。ローデコーダ330とカラムデコーダ340は、各々MOSトランジスタに基づいた複数のスイッチを含むことができる。ローデコーダ330は、ローアドレスに応答してワードラインWLを選択し、カラムデコーダ340は、カラムアドレスに応答して、ビットラインBLを選択する。
セルアレイ350は、ワードラインWLとビットラインBLとの交差点領域に位置するSTT−MRAMセル351を含む。STT−MRAMセル351は、抵抗性メモリセルである。したがって、STT−MRAMセル351は、格納されたデータによって相対的に大きい抵抗値や小さい抵抗値を有する。データの読み出し動作の時、抵抗値に応じて互いに異なるレベルを有するデータ電圧が生成されて、ライトドライブ/センスアンプ360に提供される。ライトドライブ/センスアンプ360は、データ電圧をセンシング/増幅する複数のセンスアンプ回路を含み、データ電圧に基づいてデジタルレベルのデータ信号を出力する。
ライトドライブ/センスアンプ360で処理されたデータ信号は、入出力ドライバ部370を介してデータ入出力部380に伝達される。データ入出力部380は、受信したデータをメモリ管理ユニット200に出力する。
図10は、図9に示したセルアレイ350をより詳細に示す図である。図10を参照すると、セルアレイ350は、ワードラインWL0〜WLm(ただ、mは1以上の自然数)と、ビットラインBL0〜BLn(ただ、nは1以上の自然数)と、ワードラインWL0〜WLmとビットラインBL0〜BLnが交差する領域に配置されている多数のメモリセル351とを含む。メモリセル351がSTT−MRAM(IPn transfer torque magneto resistive random access memory)セルに実現される場合、各々のメモリセル351は、磁性物質を有する磁気トンネル接合素子(magnetic tunnel junction、以下MTJ素子)を含むことができる。メモリセル351は、セルトランジスタとMTJ素子とを含むことができる。セルトランジスタは、ローデコーダ330(図9を参照)から出力される信号に応答してスイッチングされる。
また、各々のメモリセル351のセルトランジスタとMTJ素子は、ビットラインBL0〜BLMのうちのいずれか一つのビットラインとソースラインSLとの間に接続している。図9に示していないが、多数のメモリセル351は、同じソースラインSLに共通に接続することができる。一方、MTJ素子は、相変化物質を利用するPRAM(登録商標)(Phase Change Random Access Memory)、遷移金属酸化物(Transition Metal Oxide)などの可変抵抗物質を利用したRRAM(Resistive Random Access Memory)、又は、強磁性体物質を用いたMRAM(Magnetic Random Access Memory)などの抵抗素子に置き換えてもよい。抵抗性素子を構成する物質は、電流又は電圧の大きさ及び/又は方向に応じてその抵抗値が可変し、電流又は電圧が遮断されても、その抵抗値を保持する不揮発性の特性を有する。
ビットラインBL0〜BLnは、ライトドライバ360と接続している。ライトドライバ360(図9参照)は、外部のコマンドに応答してライト動作を行うための電流をメモリセル351に印加することができる。カラムデコーダ340では、カラム選択信号CSLを生成していずれか一つのビットラインを選択することができる。データの読み出し動作の時にメモリセル351の抵抗値の影響を受けるデータ電圧がビットラインを介してセンスアンプ360に伝達される。センスアンプ360では、リファレングス電圧VREFを基準にして、データ電圧との差をセンシング及び増幅してデジタル信号を出力することができる。
図11は、図10に示したメモリセル351の構造を例示的に示す図である。メモリセル351は、MTJ(magnetic tunnel junction)素子351_1とセルトランジスタCTとを含むことができる。セルトランジスタCTのゲートは、ワードライン(例えば、第1ワードラインWL0)に接続し、セルトランジスタCTの一電極は、MTJ素子351_1を介してビットライン(例えば、第1ビットラインBL0)に接続している。また、セルトランジスタCTの他の電極は、ソースライン(例えば、第1ソースラインSL0)に接続している。MTJ素子351_1は、固定層(Pinned layer)13と、自由層(free layer)11と、これらの間にトンネル層12とを含むことができる。固定層13の磁化方向は固定しており、自由層11の磁化方向は、条件に応じて固定層13の磁化方向と同一、又は逆方向になることができる。固定層13の磁化方向を固定させるために、例えば、反強磁性層(anti−ferromagnetic layer、図示せず)をさらに備えることができる。
STT−MRAMの書き込み動作のためには、ワードラインWL0にロジックハイの電圧を与え、セルトランジスタCTをターンオンさせ、ビットラインBL0とソースラインSL0との間にライト電流WC1、WC2を印加する。STT−MRAMの読み出し動作のためには、ワードラインWL0にロジックハイの電圧を与え、セルトランジスタCTをターンオンさせ、ビットラインBL0からソースラインSL0方向にリード電流を印加して、測定される抵抗値に応じてMTJセル351_1に格納されたデータを判別することができる。
本発明の実施形態によるメモリモジュールは、速度の向上のためにパイプライン形態としてユーザデータを処理するのに十分な大きさのバッファに実現することができる。
図12Aは、本発明によるメモリモジュールに対する別の実施形態を例示的に示す図である。図12Aを参照すると、メモリモジュール400は、メモリ411〜419で構成されたメモリ410と、第1エラー訂正コードECC1を用いてエラー訂正を実行する第1エラー訂正回路421及び第2エラー訂正コードECC2を用いてエラー訂正を実行する第2エラー訂正回路422で構成されたエラー訂正回路420と、1つのバーストレングスBL=1の単位で入出力される第1バッファ431及び第2バッファ432で構成されたバッファ430と、データを保護するために暗号及び復号化する保安モジュールを格納する保安回路440と、エラー訂正動作を制御するエラー訂正ハンドラ450と、データのエラーの位置を知らせるためのデータマスク回路460(又はランダマイザ)と、データを圧縮する圧縮回路470とを含む。
第1バッファ431は、書き込み動作又は読み込み動作の時、バースト動作による第1コードワードを外部に入出力する。例えば、書き込み動作の時に、第1コードワードは、メモリ管理ユニット(図1参照)200のエラー訂正回路220から入力され、メモリモジュール400の第1エラー訂正回路421に出力される。また、読み出し動作の時に、第1コードワードは、メモリモジュール400の第1エラー訂正回路421から入力され、メモリ管理ユニット200のエラー訂正回路220に出力される。第1バッファ431は、複数の第1コードワードを格納する複数のエントリを含む。一方、第1コードワードは、図12Aに示すように、72ビットのデータ64b+8bであり得る。図12Aに示すように、第1バッファ431から入出力される第1コードワード、すなわち、MビットのデータDQ_BL+Pw又はDQ_BL+Prは、ユーザデータビットDQ1〜DQ8とそれのパリティビットPw又はPrで構成される。
第2バッファ432は、書き込み動作又は読み込み動作の時、バースト動作による第2コードワードを格納する。例えば、書き込み動作の時に複数の第1コードワードからユーザデータの集合とそれに対応する内部パリティビットで構成された第2コードワードが第2バッファ432に格納される。ここで第2バッファ432に格納された第2コードワードは、オプションに応じて様々な形態に実現することができる。図12Aのオプション1のように、複数の第1コードワードのサイズと同じように、内部パリティビットを分離することができる。又は、図12Aのオプション2に示すように、内部パリティビットを集めることができる。
一方、第2コードワードのサイズは、第1コードワードのサイズより長い。
また、第2バッファ432は、パイプラインの形態として第2コードワードを入出力するのに十分な大きさに実現される。例えば、書き込み動作の時に第2エラー訂正コードECC2を用いて一つの第2コードワードに対応する内部パリティビットを生成すると同時に、また別の第2コードワードに対応するユーザデータが入力されることも可能である。また、読み出し動作の時、一つの第2コードワードについて、第2エラー訂正コードECC2によるエラー訂正を行うと同時に、メモリ410からまた別の第2コードワードが入力されることも可能である。
実施形態において、第1バッファ431及び第2バッファ432は、一つのバッファチップに実現することができる。バッファチップの機能は、次の通りである。書き込み動作の時、バッファチップは、複数の第1コードワードが入力され、格納エラー訂正のための第2コードワードを構成し、構成された第2コードワードを用いて、新しい複数の第1コードワードを構成する。また、読み出し動作の時、バッファチップは、複数の第1コードワードが入力されて、第2コードワードを構成し、構成された第2コードワードから伝送エラー訂正のための複数の第1コードワードを構成する。
本発明の実施形態によるメモリモジュール400は、パイプラインの形態として第2コードワードに対応するユーザデータを処理するのに十分な第2バッファ432を備えることによって、エラー訂正の速度を向上することができる。
図1に示したメモリシステム10は、メモリモジュール100で伝送チャネルのエラーを訂正し、データ格納のエラーを訂正するように実現される。しかし、本発明のメモリモジュール100は、必ずここに限定される必要はない。本発明のメモリモジュール100は、選択的にデータの格納のエラーを訂正するように実現することができる。例えば、テスト動作の時、バースト動作による入出力動作が正常に実行されるか否かを確認する場合に、データ格納のエラーの訂正なしに伝送チャンネルのエラーのみをチェックすることができる。
一方、本発明の実施形態によるメモリモジュールは、図1に示したメモリ管理ユニット200の一部の機能を内部的に実行するメモリ制御器をさらに含むこともできる。
図12Bは、本発明によるメモリモジュールに対するまた別の実施形態を例示的に示す図である。図12Bを参照すると、メモリモジュール400aは、図12Aに示したメモリモジュール400と比較して、メモリ制御器401をさらに含む。メモリ制御器401は、メモリ管理ユニット200(図1参照)の要請に応じてメモリ410を制御することができる。例えば、メモリ制御器401は、メモリ410を制御するために、図9に示したローアドレスストロボ/RAS、カラムアドレスストロボ/CAS、ライトイネーブル信号/WE、及びクロックイネーブル信号CKEを発生することができる。
図13は、テスト動作の時、メモリシステム10を例示的に示す図である。図13を参照すると、書き込み動作の時、Mビットの書き込みデータDQ_BL+Pwは、エラー訂正回路120を経由せずにすぐにメモリ110に格納され、読み出し動作の時、Mビットの読み出しデータDQ_BL+Prは、エラー訂正回路120を経由してメモリ管理ユニット200に出力される。
図1乃至図13に示したメモリシステム10は、伝送チャンネルのエラーを訂正するために、メモリモジュール100とメモリ管理ユニット200との間に通信するデータにパリティビットPw/Prを含むようにした。しかし、本発明は必ずしもこれに限定される必要はない。本発明のメモリシステムは、伝送チャネルのエラーを訂正しないように実現することも可能である。
図14は、本発明によるメモリシステムの別の実施形態を例示的に示す図である。図14を参照すると、メモリシステム20は、メモリモジュール500とそれを制御するメモリ管理ユニット600とを含む。
メモリモジュール500は、メモリ510と、エラー訂正回路520と、バッファ530とを含む。メモリ510は、一つのバーストレングスBL=1に対応するMビットのデータDQ_BL及び対応する内部パリティビットPiで構成されたバーストデータを入出力する。エラー訂正回路520は、書き込み動作の時、複数のバーストレングスBL=kに対応するユーザデータに対する内部パリティビットを発生し、読み出し動作の時、複数のバーストレングスBL=kに対応する読み出されたバースト読み出しデータのエラーを訂正する。バッファ530には、書き込み動作の時、一つのバーストレングスBL=1に対応するMビットのデータDQ_BLがクロックCLKに応答して順に入力される。また、バッファ530は、読み出し動作の時、複数のバーストレングスBL=kに対応するバースト読み出しデータがメモリ510から読み出され、エラー訂正回路520からエラー訂正されたバースト読み出しデータを格納し、エラー訂正されたバースト読み出しデータを一つのバスレングスBL=1に対応するMビットのデータDQ_BLずつクロックCLKに応答してメモリ管理ユニット600に出力する。
メモリ管理ユニット600は、書き込み動作の時、メモリモジュール500にクロックCLKに応答して、一つのバーストレングスBL=1に対応するユーザデータDQ_BLを伝送し、読み出し動作の時、メモリモジュール500からクロックCLKに応答して、一つのバーストレングスBL=1に対応するエラー訂正されたユーザデータDQ_BLが伝送される。
一方、メモリシステム20は、データ伝送エラーを防止するために、データにCRC機能を追加することができる。
本発明の実施形態によるメモリシステム20は、データの信頼性を向上するために複数のバーストレングスBL=kに対応するバースト読み出しデータのエラーを訂正することができる。
一方、本発明の実施形態によるメモリシステムは、複数のメモリモジュールと並列インターフェースを通じてメモリ管理ユニットに接続するように実現することができる。
図15は、本発明によるメモリシステムのまた別の実施形態を例示的に示す図である。図15を参照すると、メモリシステム30は、複数のメモリモジュール710、...、7i0(iは2以上の自然数)を含み、それらを制御するメモリ管理ユニット800を含む。メモリモジュール710、...、7i0は、複数の並列インターフェースを介してメモリ管理ユニット800に接続するようになる。
一方、メモリモジュール710、...、7i0の各々は、エラー訂正の動作の後に、エラーが発生したセルの位置をデータマスキング又は他の方法でメモリ管理ユニット800に通知するように実現することができる。例えば、エラーの位置の通知に対するコマンド又はインタラプトピンを通じてエラーの種類、位置、数、頻度、処理方式などに関するメモリエラー情報をメモリ管理ユニット800に伝送することができる。
図15に示したメモリシステム30では、複数のメモリモジュール710、...、7i0が並列インターフェースを通じてメモリ管理ユニット800に接続している。しかし、本発明のメモリシステムは、これに限定される必要はない。本発明のメモリシステムは、複数のメモリモジュールが直列インターフェースを通じてメモリ管理ユニットに接続するように実現することができる。
図16は、本発明によるメモリシステムのまた別の実施形態を例示的に示す図である。図16を参照すると、メモリシステム40は、複数のメモリモジュール910、...、9i0、(iは2以上の自然数)を含み、それらを制御するメモリ管理ユニット801を含む。メモリモジュール910、...、9i0は、直列インターフェースを通じてメモリ管理ユニット801に接続するようになる。メモリモジュール910、...、9i0の各々は、直列通信方式でデータを伝送するAMB(advanced memory buffer)を備えることができる。
一方、図16は、1つの直列インターフェースのみを示すが、本発明はこれに限定されない。本発明のメモリシステム40は、複数の直列インターフェースに実現することも可能である。図示しないが、AMBに接続しない直列インターフェースを用いる場合、メモリモジュールの内部的にエラー訂正機能を実行するため、ホストのエラー訂正機能は、選択(option)的に処理可能である。つまり、必要に応じて、ホストのエラー訂正機能を使用してもよく、使用しなくてもよい。
図17は、本発明の実施形態によるメモリシステムの書き込み方法を示すフローチャートである。図17を参照すると、書き込み方法は、次の通りである。メモリモジュール100(図1参照)には、複数のバーストレングスBL=kに対応するバースト書き込みデータが入力される(S110)。入力されたバースト書き込みデータは、MビットのデータDQ_BL+Pwずつバッファ130(図1参照)に順に格納される。エラー訂正回路120は、入力されたバースト書き込みデータに対してバーストレングス単位で第1エラー訂正コードECC1を用いてエラー訂正を実行する(S120)。エラー訂正回路120は、第2エラー訂正コードECC2を用いて、エラー訂正されたユーザデータの集合DQ_BL1〜DQ_BL_k(図2参照)のパリティビットを発生する(S130)。その後、一つのバーストレングスBL=1に対応するユーザデータDQ_BLと内部パリティビットPiで構成された内部バースト書き込みデータがメモリ110(図1参照)に格納される。
図18は、本発明の実施形態によるメモリシステムの読み出し方法に対する第1実施形態を例示的に示すフローチャートである。図18を参照すると、読み出し方法は、次の通りである。読み出し命令に応答して複数のメモリ111〜119(図1参照)から複数のバーストレングスBL=kに対応するNビットのデータが読み出される(S210)。メモリモジュール100(図1参照)のエラー訂正回路120は、Nビットのデータのエラーを訂正する(S220)。エラー訂正回路120は、一つのバーストレングスBL=1に対応するユーザデータを順に区分する(S230)。エラー訂正回路120は、区分されたユーザデータDQ_BLに対応するパリティビットPr(図1参照)を順に発生する(S240)。
第1バッファ131(図2参照)は、エラー訂正回路120から区分されたデータDQ_BL及び発生したパリティビットPrで構成されたMビットのデータDQ_BL+Prが順に入力され、順にMビットのデータを出力する(S250)。ここで、第1バッファ131は、他のメモリモジュールと直列通信を行うことができるAMB(Advanced Memory Buffer)に実現することができる。
メモリ管理ユニット200(図1参照)のエラー訂正回路220(図1参照)は、メモリモジュール100から順に出力されるMビットのデータDQ_BL+Prが入力され、入力されたMビットのデータDQ_BL+Prのエラーを順に訂正する(S260)。
本発明の実施形態による読み出し方法は、メモリモジュール100で一次的にエラー訂正を実行し、メモリ管理ユニット200で二次的にエラー訂正を実行する。
一方、本発明の実施形態によるメモリシステムの読み出し方法は、メモリモジュールで格納データのエラー訂正が可能であるか否かを判別し、判別の結果に応じてエラー訂正を実行するか、又は読み出されたデータをそのまま出力するか否かを決めることができる。
図19は、本発明の実施形態によるメモリシステムの読み出し方法に対する第2実施形態を例示的に示すフローチャートである。図19を参照すると、読み出し方法は、図18に示した読み出し方法と比較して、S215の段階が追加される。S215段階では、読み出されたNビットのデータのエラー訂正が可能であるか否かが判別される。もし、エラー訂正が可能であれば、S220の段階が行われ、そうでなければS240段階に進む。
本発明の実施形態による読み出し方法は、エラー訂正が可能であるか否かに応じて互いに異なる方法でMビットのデータDQ_BL+Prを出力する。
図20は、本発明の実施形態によるメモリシステムの読み出し方法に対する第3実施形態を例示的に示すフローチャートである。図20を参照すると、読み出し方法は、次の通りである。読み出し命令に応答して複数のメモリ111〜119(図1参照)から複数のバーストレングスBL=kに対応するNビットのデータが読み出される。ここで読み出されたNビットのデータは、一つのバーストレングスBL=1に対応するM(<N)ビットのデータが複数回連続して出力されることによって構成される。つまり、Nビットのデータは、複数のMビットのデータをバッファリングしたことである(S310)。エラー訂正回路120(図1参照)は、読み出されたNビットのデータのエラーを訂正する(S320)。エラー訂正回路120は、エラー訂正されたNビットのデータから一つのバーストレングスBL=1に対応するMビットのデータを順に出力する(S330)。
本発明の実施形態によるメモリモジュールの読み出し方法は、Nビットのデータのエラーを訂正し、Mビットのデータずつ出力する。
図21は、本発明の実施形態によるメモリシステムの読み出し方法に対する第4実施形態を例示的に示すフローチャートである。図21を参照すると、読み出し方法は、次の通りである。メモリ110(図1参照)からバースト動作を通じてデータを読み出す(S410)。メモリモジュール100(図1参照)は、読み出されたデータの格納エラーを訂正するために、第1エラー訂正動作を実行する(S420)。メモリモジュール100は、第1エラー訂正されたデータをバーストレングス単位に区分し、区分されたデータに対応するパリティビットPr(図1参照)を発生し、区分されたデータとパリティをメモリ管理ユニット200に伝送する。メモリ管理ユニット200は、伝送されたデータの伝送エラーを訂正するために第2エラー訂正動作を実行する(S430)。
図22は、本発明の実施形態によるメモリシステムの入出力動作に係るパリティ発生の概要を説明する図である。図22を参照すると、パリティ発生は、次の通りである。メモリ管理ユニット200(図1参照)は、書き込み動作の時、第1エラー訂正コードECC1を利用して、ユーザデータDQ_BLの書き込みパリティビットPwを発生する(S510)。メモリモジュール100(図1参照)は、書き込み動作の時、ユーザデータDQ_BLと書き込みパリティビットPwで構成されたMビットの書き込みデータDQ_BL+Pwがk個入力され、第2エラー訂正コードECC2を利用して、ユーザデータの集合SDQ(図3参照)の内部パリティビットP1〜Pkを発生する(S520)。メモリモジュール100は、読み出し動作の時、第1エラー訂正コードECC1を利用して、ユーザデータの集合SDQのうちで一つのバーストレングスBL=1に対応するユーザデータDQ_BLの読み出しパリティビットPrを発生する(S530)。
本発明の実施形態によるメモリシステムは、伝送チャネルのエラーを訂正するために、第1エラー訂正コードECC1を用いて、読み出し/書き込みパリティビットPw、Prを発生し、データ格納のエラーを訂正するために、第2エラー訂正コードECC2を用いて、内部パリティビットPiを発生する。
図23は、本発明の実施形態によるメモリシステムで、バースト書き込み動作の時にデータ出力に係るタイミング図を例示的に示す図である。説明の便宜のためにバーストレングスBLは8であると仮定する。図23を参照すると、書き込みレングスWLは追加レングスAL(additive length)とデフォルト書き込みレングスCWLで構成される。ここで追加レングスALは、書き込まれるコードワードがバッファ130(図1参照)にバッファリングされる時間(例えば、4サイクル)及びバッファリングされたコードワードがエラー訂正される時間(例えば、3サイクル)で構成される。デフォルト書き込みレングスCWLは、5サイクルであると仮定すれば、全体的に書き込みレングスWLは12サイクルとなる。
一方、バースト書き込み動作の時に、メモリ管理ユニット200(図1参照)から出力されるデータが、エラー訂正回路120を経由せずにすぐにメインメモリ111〜119(図2参照)に格納されることも可能である。この場合には、追加レングスALが必要ない場合もある。
他の実施形態において、メモリ管理ユニット200(図1参照)から出力されるデータは、第2バッファ132にバッファリングされた後、エラー訂正回路120でエラー訂正されずにすぐにメインメモリ111〜119(図2参照)に格納され得る。この場合には、追加レングスALが4サイクルになる。
図24は、本発明の実施形態によるメモリシステムのバースト読み出し動作の時、データの出力に係るタイミング図を例示的に示す図である。説明の便宜のためにバーストレングスBLは8であると仮定する。図24を参照すると、読み出しレングスRLは追加レングスALとデフォルト読み出しレングスCLで構成される。ここで追加レングスALは、読み出されたコードワードがバッファ130(図1参照)にバッファリングされる時間(例えば、4サイクル)とバッファリングされたコードワードがエラー訂正される時間(例えば、3サイクル)で構成される。デフォルト書き込みレングスCWLは、5サイクルであると仮定すれば、全体的に読みレングスWLは12サイクルとなる。
本発明によるメモリシステムの読み出し動作は、72ビットのデータをクロックCLKに同期して順に出力することができる。
図25は、本発明によるモバイル装置を例示的に示すブロック図である。図25を参照すると、モバイル装置1000は、少なくとも1つのプロセッサ1100と、少なくとも一つのメモリ1200と、少なくとも一つの格納装置1300と、グラフィックスモジュール1400と、通信モジュール1500とを含む。少なくとも一つのメモリ1200は、本発明によるメモリモジュールを含むことができる。格納装置1300は、PCIeインターフェース、又はSATAeインターフェースを通じてプロセッサ1100に接続することができる。ここで、格納装置1300のインターフェースはPCIeインターフェースに限定されない。格納装置1300のインターフェースはSATA、SAS、UFS、eMMC、Infiniband、FCなど、様々なインターフェースのうちのいずれかを利用することができる。本発明によるモバイル装置1000は、Galaxy S、Galaxy Note、Galaxy Tab、iPhone、iPadなどに適用することができる。
図1〜図25は、本発明によるメモリモジュールにおいてメモリの各々は、バースト動作を行った。しかし、本発明は必ずしもこれに限定される必要はない。メモリは、バースト動作を実行しなくても、バッファに格納されたデータをバースト動作に対応するように実現することができる。例えば、メモリモジュールは、書き込み動作の時にバッファにコードワードのサイズの複数のバーストレングスに対応するデータが順に入力された後、バッファリングされたデータをメモリに一時に格納することができる。また、メモリモジュールは、読み出し動作の時にメモリからコードワードのサイズのデータを一時に読み出し、読み出されたデータを一つのバーストレングスに対応するデータに順に出力することができる。すなわち、メモリモジュールは、外部から見る場合、バースト書き込み動作、バースト読み出し動作を実行するが、内部的には、バッファリングされたデータを書き込むか、又は読み出すことができる。
一方、本発明の詳細な説明では具体的な実施形態について説明したが、本発明の範囲から逸脱しない範囲内で様々な変形が可能である。したがって、本発明の範囲は、上述の実施形態に限定されず、後述の特許請求の範囲だけではなく、この発明の特許請求の範囲と均等なものにより決められなければならない。
10、20、30、40 メモリシステム
100、500、710〜7i0、910〜9i0 メモリモジュール
120、520 エラー訂正回路
121 第1エラー訂正回路
122 第2エラー訂正回路
200、600、800、801 メモリ管理ユニット
130 バッファ
111〜119 メモリ
ECC1 第1エラー訂正コード
ECC2 第2エラー訂正コード
Pw 書き込みパリティビット
Pr 読み出しパリティビット
Pi 内部パリティビット

Claims (41)

  1. 複数のメモリを含むメモリモジュールの読み出し方法において、
    前記複数のメモリから複数のバーストレングスに対応するデータを読み出す段階と、
    格納エラー訂正コードを利用して前記読み出されたデータのエラーを訂正する段階と、
    前記エラー訂正されたデータを一つのバーストレングスに対応するデータずつ出力する段階とを含み、
    前記出力されるデータは、ユーザデータと、前記ユーザデータのエラーを検出するための読み出しパリティビットとを含み、
    前記読み出しパリティビットは、伝送エラー訂正コードを利用して発生し、
    前記エラー訂正されたデータを、前記ユーザデータの単位に区分する段階と、
    前記伝送エラー訂正コードを用いて前記区分されたデータの読み出しパリティビットを生成する段階とをさらに含む
    ことを特徴とするメモリモジュールの読み出し方法。
  2. 前記メモリモジュールを制御するメモリ管理ユニットから前記出力されるデータが入力される段階と、
    前記メモリ管理ユニットで、前記伝送エラー訂正コードを利用して、前記入力されたデータのエラーを訂正する段階とをさらに含む
    ことを特徴とする請求項1に記載のメモリモジュールの読み出し方法。
  3. 複数のメモリを含むメモリモジュールの読み出し方法において、
    前記複数のメモリから複数のバーストレングスに対応するデータを読み出す段階と、
    格納エラー訂正コードを利用して前記読み出されたデータのエラーを訂正する段階と、
    前記エラー訂正されたデータを一つのバーストレングスに対応するデータずつ出力する段階とを含み、
    前記読み出されたデータは、複数のバーストレングスに対応するユーザデータの集合と、内部パリティビットの集合で構成され、
    前記内部パリティビットは、前記メモリモジュールで、前記格納エラー訂正コードを利用して発生し、
    前記読み出されたデータの格納エラーが訂正可能であるか否かを判別する段階をさらに含み、
    前記読み出されたデータの格納エラーが訂正できない場合は、前記データの前記集合を前記ユーザデータのサイズにより区分する段階と、
    伝送エラー訂正コードを用いて前記区分されたデータの読み出しパリティビットを発生する段階と、
    前記区分されたデータ及び前記読み出しパリティビットを出力する段階とを含む
    ことを特徴とするメモリモジュールの読み出し方法。
  4. 前記格納エラー訂正コードと前記伝送エラー訂正コードは、互いに異なるエラー訂正コードである
    ことを特徴とする請求項3に記載のメモリモジュールの読み出し方法。
  5. 前記読み出されたデータのエラーを訂正した後に、前記読み出されたデータのエラー訂正に関連するエラー情報をメモリ管理ユニットに伝送する段階をさらに含む
    ことを特徴とする請求項1乃至請求項4のいずれか一項に記載のメモリモジュールの読み出し方法。
  6. 前記複数のメモリの各々は、不揮発性メモリである
    ことを特徴とする請求項1乃至請求項5のいずれか一項に記載のメモリモジュールの読み出し方法。
  7. バースト動作を実行するメモリと、
    複数のバーストレングスに対応するNビットのデータが前記メモリから入力され、格納エラー訂正コードを利用して、前記入力されたNビットのデータの格納エラーを訂正し、前記訂正されたデータを複数に区分し、伝送エラー訂正コードを用いて前記区分されたデータの各々に対するパリティビットを発生し、前記各々の区分されたデータ及び前記発生したパリティビットで構成された一つのバーストレングスに対応するMビットのデータを順に出力するエラー訂正回路と、
    前記エラー訂正回路から順に出力される前記Mビットのデータを格納する第1バッファと、
    前記Nビットのデータを格納する第2バッファとを含む
    ことを特徴とするメモリモジュール。
  8. 前記メモリの各々は、磁気抵抗メモリである
    ことを特徴とする請求項7に記載のメモリモジュール。
  9. 前記Nビットのデータは、ユーザデータの集合及び、前記ユーザデータのエラーを検出するためのパリティビットの集合で構成され、
    前記エラー訂正回路は、
    前記ユーザデータの集合が入力されてチェックビットを生成するチェックビット発生器と、
    前記チェックビットと前記パリティビットの集合とを比較し、前記比較の結果に基づいてシンドロームを発生する比較器と、
    前記比較の結果にエラーが発生したという情報を格納するエラー状態スレジスタと、
    前記ユーザデータの集合と、前記シンドロームが入力され、前記格納エラー訂正コードを用いて、前記ユーザデータの集合のエラーを訂正するエラー訂正エンジンと、
    前記エラー訂正されたデータを格納するバッファとを含む
    ことを特徴とする請求項7に記載のメモリモジュール。
  10. テスト動作の時、一つのバーストレングスに対応する書き込む書き込みデータが前記エラー訂正回路を経由せずにすぐに前記メモリに格納される
    ことを特徴とする請求項7に記載のメモリモジュール。
  11. バースト書き込み動作の時、複数のバーストレングスに対応する書き込まれるデータが前記エラー訂正回路によってエラー訂正された後に、メモリに格納される
    ことを特徴とする請求項7に記載のメモリモジュール。
  12. 前記Mビットのデータはクロックに応答して出力され、
    前記クロックは、前記メモリモジュールから発生する
    ことを特徴とする請求項7に記載のメモリモジュール。
  13. メモリからバースト読み出し動作を通じてNビットのデータを読み出し、前記読み出されたNビットのデータは、複数のバーストレングスに対応し、格納エラー訂正コードを利用して前記読み出されたNビットのデータの格納エラーを訂正し、前記格納エラーが訂正されたデータを複数に区分し、伝送エラー訂正コードを用いて前記区分されたデータの各々に対する読み出しパリティビットを発生し、前記区分されたデータの各々と前記発生したパリティビットで構成された一つのバーストレングスに対応するM(<N)ビットのデータを順に出力する少なくとも一つのメモリモジュールと、
    前記少なくとも一つのメモリモジュールから出力される前記Mビットのデータが入力され、前記伝送エラー訂正コードを用いて前記Mビットのデータの伝送エラーを訂正するメモリ管理ユニットを含む
    ことを特徴とするメモリシステム。
  14. 前記少なくとも一つのメモリモジュールは、バースト書き込み動作の時、Mビットのデータずつ順に入力され、
    前記入力されたMビットのデータは、ユーザデータ及び前記ユーザデータの伝送エラーを訂正するための書き込みパリティビットを含む
    ことを特徴とする請求項13に記載のメモリシステム。
  15. 前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時、前記伝送エラー訂正コードを用いて、前記入力されたMビットのデータの伝送エラーを訂正する
    ことを特徴とする請求項14に記載のメモリシステム。
  16. 前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時、前記格納エラー訂正コードを用いて、ユーザデータの集合に対する内部パリティビットを発生し、
    前記ユーザデータの集合は、前記伝送エラーを訂正した複数のバーストレングスに対応するユーザデータで構成される
    ことを特徴とする請求項15に記載のメモリシステム。
  17. 前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時、前記ユーザデータと前記内部パリティビットのうちの一部で構成されたMビットのデータを前記メモリに格納する
    ことを特徴とする請求項16に記載のメモリシステム。
  18. 前記メモリのうちの少なくとも一つは、前記内部パリティビットを格納する
    ことを特徴とする請求項16に記載のメモリシステム。
  19. 前記内部パリティビットを格納するメモリは、前記メモリのうちで固定されたことである
    ことを特徴とする請求項18に記載のメモリシステム。
  20. 前記内部パリティビットを格納するメモリは、前記少なくとも一つのメモリモジュールで流動的に前記メモリのうちで選択される
    ことを特徴とする請求項18に記載のメモリシステム。
  21. 前記少なくとも一つのメモリモジュールと、前記メモリ管理ユニットは、コマンド、アドレス、クロック、及びデータが入力されるための各々のラインを介して接続する
    ことを特徴とする請求項14に記載のメモリシステム。
  22. 前記少なくとも一つのメモリモジュールは、前記バースト読み出し動作の時、前記伝送エラー訂正コードを用いて前記読み出しパリティビットを発生する第1エラー訂正回路を含み、
    前記ユーザデータは、前記読み出されたNビットのデータの一部として一つのバーストレングスに対応するデータである
    ことを特徴とする請求項21に記載のメモリシステム。
  23. 前記第1エラー訂正回路は、前記バースト書き込み動作の時、前記入力されたMビットのデータの伝送エラーを訂正する
    ことを特徴とする請求項22に記載のメモリシステム。
  24. 前記メモリ管理ユニットは、前記バースト書き込み動作の時、前記書き込みパリティビットを発生する伝送エラー訂正回路をさらに含む
    ことを特徴とする請求項22に記載のメモリシステム。
  25. 前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時、前記Mビットのデータの伝送エラーを訂正せずにすぐに前記メモリに格納する
    ことを特徴とする請求項21に記載のメモリシステム。
  26. 前記少なくとも一つのメモリモジュールは、前記バースト書き込み動作の時、前記格納エラー訂正コードを用いて、ユーザデータの集合に対する内部パリティビットを発生する第2エラー訂正回路を含み、
    前記ユーザデータの集合は、前記複数のバーストレングスに対応するユーザデータで構成され、
    前記読み出されたNビットのデータは、前記ユーザデータの集合と前記内部パリティビットで構成されるデータである
    ことを特徴とする請求項21に記載のメモリシステム。
  27. 前記少なくとも一つのメモリモジュールは、複数のメモリモジュールを含み、
    前記複数のメモリモジュールと、前記メモリ管理ユニットは、並列インターフェースを介して接続する
    ことを特徴とする請求項13に記載のメモリシステム。
  28. 前記少なくとも一つのメモリモジュールは、複数のメモリモジュールを含み、
    前記複数のメモリモジュールと、前記メモリ管理ユニットは、直列インターフェースを介して接続する
    ことを特徴とする請求項13に記載のメモリシステム。
  29. 少なくとも一つのメモリモジュールと前記少なくとも一つのメモリモジュールを制御するメモリ管理モジュールとを含むメモリシステムの駆動方法において、
    複数のバーストレングスに対応するデータを読み出す段階と、
    前記読み出されたデータに対して格納エラー訂正コードを用いて第1エラー訂正を実行する段階と、
    前記第1エラー訂正されたデータを一つのバーストレングスに対応するデータずつ順に区分する段階と、
    前記区分されたデータに対して前記格納エラー訂正コードと異なる伝送エラー訂正コードを用いて第2エラー訂正を実行する段階とを含む
    ことを特徴とするメモリシステムの駆動方法。
  30. 前記格納エラー訂正コードは、BCHコードであり、前記伝送エラー訂正コードは、ハミングコードである
    ことを特徴とする請求項29に記載のメモリシステムの駆動方法。
  31. メモリモジュールと、前記メモリモジュールを管理するメモリ管理ユニットとを含むメモリシステムのパリティビット発生方法において、
    前記メモリ管理ユニットで書き込み動作の時、伝送エラー訂正コードを用いて、ユーザデータに対する書き込みパリティビットを発生する段階と、
    前記メモリモジュールで前記書き込み動作の時、前記メモリ管理ユニットから一つのバーストレングスに対応する書き込みデータが入力され、前記書き込みデータは、前記ユーザデータと、前記書き込みパリティビットで構成され、格納エラー訂正コードを用いて、ユーザデータの集合に対する内部パリティビットを発生する段階とを含み、
    前記ユーザデータの集合は、複数のバーストレングスに対応するユーザデータで構成される
    ことを特徴とするパリティビットの発生方法。
  32. 前記メモリモジュールで、読み出し動作の時、前記格納エラー訂正コードを用いて、前記ユーザデータの集合のエラーを訂正する段階と、
    前記メモリモジュールで、前記読み出し動作の時、前記エラー訂正されたユーザデータの集合で一つのバーストレングスに対応するユーザデータを出力する段階と、
    前記メモリモジュールで、前記読み出し動作の時、前記伝送エラー訂正コードECC1を用いて前記出力されたユーザデータに対する読み出しパリティビットを発生する段階とを含む
    ことを特徴とする請求項31に記載のパリティビットの発生方法。
  33. 複数のメモリと、
    書き込み動作の時、伝送エラー訂正コードを用いて、一つのバーストレングスに対応する書き込みデータの伝送エラーを訂正し、前記訂正された書き込みデータを複数個集め、格納エラー訂正コードを用いて、前記集められたデータの書き込みに対して、内部パリティビットを発生し、前記集められた書き込みデータと、前記発生した内部パリティビットとを前記複数のメモリに格納し、読み出し動作の時、前記格納エラー訂正コードを用いて、前記複数のメモリから読み出された複数のバーストレングスに対応する読み出しデータの格納エラーを訂正するエラー訂正回路と、
    前記書き込み動作の時、前記書き込みデータが外部から入力され、前記読み出し動作の時、前記複数のメモリから読み出された前記読み出しデータが入力されるバッファとを含み、
    前記書き込み動作の時、書き込み命令から前記伝送エラーを訂正するための第1レイテンシを有し、
    前記読み出し動作の時、読み出し命令から前記格納エラーを訂正するための第2レイテンシを有する
    ことを特徴とするメモリモジュール。
  34. 前記複数のメモリの各々は、磁気抵抗メモリに実現される
    ことを特徴とする請求項33に記載のメモリモジュール。
  35. 前記書き込みデータは、ユーザデータと書き込みパリティビットで構成される
    ことを特徴とする請求項33に記載のメモリモジュール。
  36. 前記読み出しデータは、ユーザデータと読み出しパリティビットで構成される
    ことを特徴とする請求項34に記載のメモリモジュール。
  37. 前記エラー訂正回路は、前記伝送エラー訂正コードを用いて前記読み出しパリティビットを発生する
    ことを特徴とする請求項36に記載のメモリモジュール。
  38. 前記エラー訂正回路は、
    前記伝送エラーを訂正する第1エラー訂正回路と、
    前記格納エラーを訂正する第2エラー訂正回路とを含む
    ことを特徴とする請求項33に記載のメモリモジュール。
  39. メモリモジュールでデータのエラー訂正方法において、
    第1エラー訂正コードを用いて外部と前記メモリモジュールとの間のデータ伝送エラー訂正を第1コードワード単位で実行する段階と、
    前記第1エラー訂正コードと異なる第2エラー訂正コードを用いて前記メモリモジュールに格納されたデータの格納エラー訂正を前記第1コードワードのサイズより長い第2コードワード単位で実行する段階とを含む
    ことを特徴とするエラー訂正方法。
  40. 複数のメモリを含むメモリモジュールの読み出し方法において、
    前記メモリモジュールで前記複数のメモリからN−ビットデータを読み出し、前記N−ビットデータは複数のバーストレングスに対応するデータを含み、バストレングスユニットは前記メモリモジュールのバースト動作で伝送されるデータの量であり、Nは正の整数である段階と、
    前記メモリモジュールで格納エラー訂正コードを用いて前記N−ビットデータのエラーを訂正する段階と、
    前記訂正されたN−ビットデータを複数のM−ビットデータユニットに区分し、MはNより小さい正の整数である段階と、
    前記メモリモジュールで前記格納エラー訂正コードと他の伝送エラー訂正コードとを用いて前記M−ビットデータユニットに対応する少なくとも一つの読み出しパリティビットを発生する段階と、
    前記メモリモジュールから前記M−ビットデータユニットに対応する前記少なくとも一つの読み出しパリティビットと共に前記M−ビットデータユニットを出力する段階とを含む読み出し方法。
  41. 前記メモリモジュールから前記メモリモジュールを制御するメモリ管理ユニットMMUに前記出力されたM−ビットデータユニット伝送する段階と、
    前記MMUで前記M−ビットデータユニットの各々に対応する前記少なくとも一つのパリティビットを用いて前記M−ビットデータの各々に対するエラー検出動作を実行する段階と、
    前記M−ビットデータユニットで少なくとも一つのエラーが発生する場合、前記伝送エラー訂正コードを利用して前記検出されたエラーを訂正する段階とをさらに含む
    ことを特徴とする請求項40の記載にメモリモジュールの読み出し方法。
JP2013228028A 2012-11-01 2013-11-01 メモリモジュール、それを含むメモリシステム、それの駆動方法 Active JP6266306B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120122982A KR102002925B1 (ko) 2012-11-01 2012-11-01 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
KR10-2012-0122982 2012-11-01

Publications (2)

Publication Number Publication Date
JP2014093092A JP2014093092A (ja) 2014-05-19
JP6266306B2 true JP6266306B2 (ja) 2018-01-24

Family

ID=50489912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013228028A Active JP6266306B2 (ja) 2012-11-01 2013-11-01 メモリモジュール、それを含むメモリシステム、それの駆動方法

Country Status (6)

Country Link
US (2) US9201725B2 (ja)
JP (1) JP6266306B2 (ja)
KR (1) KR102002925B1 (ja)
CN (1) CN103811076B (ja)
DE (1) DE102013111710A1 (ja)
TW (1) TWI611414B (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10236045B2 (en) 2012-09-21 2019-03-19 Samsung Electronics Co., Ltd. Semiconductor memory device having detection clock patterns phase-inverted from each other and detection clock generating method thereof
KR102002925B1 (ko) * 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US10002044B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US9513990B2 (en) * 2014-09-23 2016-12-06 Empire Technology Development Llc Memory controller with read unit length module
US9852811B2 (en) * 2014-11-13 2017-12-26 Macronix International Co., Ltd. Device and method for detecting controller signal errors in flash memory
US9740558B2 (en) 2015-05-31 2017-08-22 Intel Corporation On-die ECC with error counter and internal address generation
US9842021B2 (en) * 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
KR102469809B1 (ko) * 2016-05-18 2022-11-24 에스케이하이닉스 주식회사 반도체장치
KR102686057B1 (ko) * 2016-06-14 2024-07-17 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
CN107643876A (zh) * 2016-07-20 2018-01-30 大心电子股份有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
KR102633091B1 (ko) * 2016-09-19 2024-02-06 삼성전자주식회사 메모리 셀의 에러 확인 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 모듈
US10169126B2 (en) * 2016-10-12 2019-01-01 Samsung Electronics Co., Ltd. Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation
KR20180052154A (ko) * 2016-11-09 2018-05-18 에스케이하이닉스 주식회사 메모리 시스템
CN107039086B (zh) * 2017-05-17 2024-08-30 西安紫光国芯半导体有限公司 具有兼容不同数据长度的纠错功能的存储器和纠错方法
KR102258140B1 (ko) * 2017-07-06 2021-05-28 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
KR20200104601A (ko) 2019-02-27 2020-09-04 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US12118241B2 (en) 2017-10-27 2024-10-15 SK Hynix Inc. Memory controller, memory system, and operating method thereof
KR102456173B1 (ko) 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN109754841B (zh) * 2017-11-08 2023-03-24 三星电子株式会社 包括奇偶校验错误检测电路的存储器件
US10831653B2 (en) 2018-05-15 2020-11-10 Micron Technology, Inc. Forwarding code word address
US11003375B2 (en) 2018-05-15 2021-05-11 Micron Technology, Inc. Code word format and structure
US11216333B2 (en) 2018-10-16 2022-01-04 Micron Technology, Inc. Methods and devices for error correction
US11048649B2 (en) 2018-10-17 2021-06-29 Macronix International Co., Ltd. Non-sequential page continuous read
US10977121B2 (en) 2018-10-17 2021-04-13 Macronix International Co., Ltd. Fast page continuous read
KR20200046245A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 메모리 모듈 및 메모리 시스템의 동작 방법
KR102579014B1 (ko) * 2018-11-06 2023-09-15 삼성전자주식회사 에러 정정 코드 디코더, 반도체 메모리 장치 및 메모리 시스템
KR102242957B1 (ko) * 2019-06-03 2021-04-21 주식회사 원세미콘 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스
US11088711B2 (en) 2019-07-08 2021-08-10 Winbond Electronics Corp. Memory apparatus and data accessing method thereof
TWI723515B (zh) * 2019-08-29 2021-04-01 華邦電子股份有限公司 記憶體裝置及其資料存取方法
US10957384B1 (en) * 2019-09-24 2021-03-23 Macronix International Co., Ltd. Page buffer structure and fast continuous read
US11314588B2 (en) * 2019-11-11 2022-04-26 Winbond Electronics Corp. Memory device and multi physical cells error correction method thereof
KR102456176B1 (ko) 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
US11249913B2 (en) 2020-03-06 2022-02-15 Macronix International Co., Ltd. Continuous read with multiple read commands
US11302366B2 (en) 2020-03-06 2022-04-12 Macronix International Co., Ltd. Method and system for enhanced read performance in low pin count interface
US11249847B2 (en) 2020-04-09 2022-02-15 Micron Technology, Inc. Targeted command/address parity low lift
US11755476B2 (en) 2020-04-13 2023-09-12 SK Hynix Inc. Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device
KR102406449B1 (ko) * 2020-06-25 2022-06-08 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
KR102435253B1 (ko) 2020-06-30 2022-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR102495910B1 (ko) 2020-04-13 2023-02-06 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
CN112199041B (zh) * 2020-09-24 2022-05-17 浙江驰拓科技有限公司 存储元件、存储电路、数据存取方法及数据存取装置
JP2023512892A (ja) * 2021-01-14 2023-03-30 チャンシン メモリー テクノロジーズ インコーポレイテッド 比較システム
US11556417B1 (en) * 2021-12-22 2023-01-17 Micron Technology, Inc. Reduction of errors in data retrieved from a memory device to apply an error correction code of a predetermined code rate
CN115016981B (zh) * 2022-06-16 2023-05-09 海光信息技术股份有限公司 存储区域的设置方法、数据读取、写入方法及相关装置
CN114996050B (zh) * 2022-08-01 2022-10-25 中科亿海微电子科技(苏州)有限公司 一种参数可配置的自动检纠错电路及检纠错方法
US11955989B2 (en) 2022-08-21 2024-04-09 Nanya Technology Corporation Memory device and test method thereof
CN116974813B (zh) * 2023-09-25 2024-04-19 南方电网数字电网研究院有限公司 寄存器数据管理方法、装置、寄存器模块、计算机设备

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59168997A (ja) * 1983-03-17 1984-09-22 Fujitsu Ltd コンピユ−タの主記憶パトロ−ル方法
ATE216096T1 (de) 1994-02-22 2002-04-15 Siemens Ag Flexible fehlerkorrekturcode/paritätsbit- architektur
US5513135A (en) 1994-12-02 1996-04-30 International Business Machines Corporation Synchronous memory packaged in single/dual in-line memory module and method of fabrication
TW316976B (ja) * 1995-05-16 1997-10-01 Sony Co Ltd
JP3782840B2 (ja) 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
JPH09130269A (ja) 1995-11-06 1997-05-16 Oki Electric Ind Co Ltd 誤り訂正符号フレーム構成装置
JP3184129B2 (ja) * 1997-09-29 2001-07-09 甲府日本電気株式会社 記憶装置
US6052815A (en) 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
JP2001357637A (ja) * 2000-06-14 2001-12-26 Sony Corp 情報再生装置、情報処理方法及び情報記録媒体
US7036068B2 (en) 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6961890B2 (en) 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
JP2005025827A (ja) * 2003-06-30 2005-01-27 Toshiba Corp 半導体集積回路装置およびそのエラー検知訂正方法
JP4753549B2 (ja) * 2004-05-31 2011-08-24 パナソニック株式会社 キャッシュメモリおよびシステム
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
KR100585158B1 (ko) 2004-09-13 2006-05-30 삼성전자주식회사 Ecc 메모리 모듈
US7464241B2 (en) * 2004-11-22 2008-12-09 Intel Corporation Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding
US7287103B2 (en) 2005-05-17 2007-10-23 International Business Machines Corporation Method and apparatus for generating a mask value and command for extreme data rate memories utilizing error correction codes
US7373583B2 (en) * 2005-05-19 2008-05-13 Infineon Technologies North America Corp. ECC flag for testing on-chip error correction circuit
US20070005831A1 (en) * 2005-06-30 2007-01-04 Peter Gregorius Semiconductor memory system
GB2428496A (en) * 2005-07-15 2007-01-31 Global Silicon Ltd Error correction for flash memory
US7428689B2 (en) 2005-08-30 2008-09-23 Infineon Technologies Ag Data memory system and method for transferring data into a data memory
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
JP4747085B2 (ja) 2006-12-26 2011-08-10 沖電気工業株式会社 誤り訂正符号回路
US7721140B2 (en) * 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7945840B2 (en) 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
KR100909902B1 (ko) 2007-04-27 2009-07-30 삼성전자주식회사 플래쉬 메모리 장치 및 플래쉬 메모리 시스템
US8055976B2 (en) 2007-08-13 2011-11-08 International Business Machines Corporation System and method for providing error correction and detection in a memory system
WO2009072105A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
JP4382153B2 (ja) * 2007-12-12 2009-12-09 パナソニック株式会社 データ送受信システム、端末、中継機器及びデータ送信方法
KR101398212B1 (ko) 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
WO2010041093A1 (en) * 2008-10-09 2010-04-15 Federico Tiziani Virtualized ecc nand
US8468417B2 (en) * 2009-02-18 2013-06-18 Micron Technology, Inc. Data integrity in memory controllers and methods
KR101014040B1 (ko) 2009-03-19 2011-02-14 (주)인디링스 디램 버퍼 관리 장치 및 방법
JP2012094132A (ja) * 2010-10-01 2012-05-17 Siglead Inc 不揮発性半導体メモリ装置とデータ誤り訂正方法
KR102017506B1 (ko) 2011-04-29 2019-09-03 에스에프씨 주식회사 페난트리딘 유도체 화합물 및 이를 포함하는 유기전계발광소자
JP2013069183A (ja) * 2011-09-26 2013-04-18 Toshiba Corp コントローラおよびメモリシステム
US8693694B2 (en) * 2012-06-15 2014-04-08 Kabushiki Kaisha Toshiba Information recording device
US8938656B2 (en) * 2012-09-14 2015-01-20 Sandisk Technologies Inc. Data storage device with intermediate ECC stage
KR102002925B1 (ko) * 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법

Also Published As

Publication number Publication date
US20140122974A1 (en) 2014-05-01
KR20140055737A (ko) 2014-05-09
CN103811076A (zh) 2014-05-21
US9483348B2 (en) 2016-11-01
US9201725B2 (en) 2015-12-01
TWI611414B (zh) 2018-01-11
CN103811076B (zh) 2018-10-19
US20160041876A1 (en) 2016-02-11
DE102013111710A1 (de) 2014-05-08
KR102002925B1 (ko) 2019-07-23
JP2014093092A (ja) 2014-05-19
TW201423756A (zh) 2014-06-16

Similar Documents

Publication Publication Date Title
JP6266306B2 (ja) メモリモジュール、それを含むメモリシステム、それの駆動方法
US10198221B2 (en) Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices
US11593199B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating memory systems
KR102324769B1 (ko) 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10404286B2 (en) Memory modules, memory systems including the same and methods of operating memory systems
US10127102B2 (en) Semiconductor memory devices and memory systems including the same
KR102238706B1 (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10191805B2 (en) Semiconductor memory devices and memory systems including the same
KR20170121798A (ko) 반도체 메모리 장치 및 이의 동작 방법
US9141473B2 (en) Parallel memory error detection and correction
US10482990B2 (en) Memory device and memory system
KR20170060263A (ko) 반도체 메모리 장치 및 이의 동작 방법
TWI613666B (zh) 記憶體裝置
US10804935B2 (en) Techniques for reducing latency in the detection of uncorrectable codewords
US20150067444A1 (en) Semiconductor storage device and memory system
US10943949B2 (en) Semiconductor storage device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6266306

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250