JP2008299855A - エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 - Google Patents

エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 Download PDF

Info

Publication number
JP2008299855A
JP2008299855A JP2008147195A JP2008147195A JP2008299855A JP 2008299855 A JP2008299855 A JP 2008299855A JP 2008147195 A JP2008147195 A JP 2008147195A JP 2008147195 A JP2008147195 A JP 2008147195A JP 2008299855 A JP2008299855 A JP 2008299855A
Authority
JP
Japan
Prior art keywords
memory
data
controller
communication channels
error
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.)
Withdrawn
Application number
JP2008147195A
Other languages
English (en)
Inventor
Namphil Jo
南 泌 趙
Kyuhyun Shim
揆 玄 沈
Chang-Il Son
昌 ▲イル▼ 孫
Sungchung Park
チュン パク スン
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 JP2008299855A publication Critical patent/JP2008299855A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダ、それを備えたメモリシステム、及びその方法を提供する。
【解決手段】メモリシステムは、多数のメモリ装置と、多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備える。メモリコントローラは、多数の通信チャンネルを通じてメモリコントローラから伝達されるデータをエンコーディングするエラー訂正エンコーダ及び/または多数の通信チャンネルを通じてメモリコントローラに伝達されるデータでエラーを探索して訂正するエラー訂正デコーダを備える。
【選択図】図4

Description

本発明は、メモリシステムに係り、より詳細には、エラー訂正エンコーディングを採用したメモリシステムに関する。
フラッシュメモリシステムにおいて、マルチチャンネルエラー訂正コーダ(ECC)構造は、ホストシステムからフラッシュメモリに伝送されるデータをエンコーディングし、フラッシュメモリからデータをデコーディングするためのバッファメモリを使う。
図1は、前記のフラッシュメモリシステム10のブロック図を表わす。フラッシュメモリシステム10は、フラッシュメモリコントローラ100とメモリブロック200とを含む。メモリコントローラ100は、ホストインターフェース110、ユーザーデータバッファ120、システムデータバッファ130、NANDインターフェース140、及びCPU(Central Processing Unit)150を含み、いずれもシステムバス160によって連結される。NANDインターフェース140は、DMA(Direct Memory Access)コントローラ144とエラー訂正コーダ(ECC)ブロック145とを含む。ECCブロック145は、ECCモジュール141、142及び143を含む複数(N)のECCモジュールを含む。メモリブロック200は、メモリ装置211、212及び213を含む複数(N)のNANDメモリ装置を含む。ECCモジュール141、142及び143と対応するメモリ装置211、212及び213との間は、チャンネル0、1、N(CH0、CH1、CHN)などで連結される。
図2は、フラッシュメモリシステム10でECCブロック145とメモリ装置211、212及び213との間の相互連結をより詳細に図示している。図2のように、ECCモジュール141は、エンコーダ161及びデコーダブロック165を含み、デコーダブロック165は、エラー検出器162及びエラー訂正器163をさらに含む。このように、ECCモジュール142は、エンコーダ171及びデコーダブロック175を含み、デコーダブロック175は、エラー検出器172及びエラー訂正器173をさらに含む。そして、ECCモジュール143は、エンコーダ181及びデコーダブロック185を含み、デコーダブロック185は、エラー検出器182及びエラー訂正器183をさらに含む。
動作において、メモリ装置211に保存されるように予定されたホスト装置(例えば、プロセッサ)からのデータは、例えば、DMAコントローラ144によってECCモジュール141に送られる。ECCモジュール141において、データは、まずエンコーダ161によってエンコーディングされてチャンネル0(CH0)を通じてメモリ装置211に伝達される。データが、メモリ装置211からリード(Read)されてホスト装置に提供する場合、デコーダ165によって先にデコーディングされてデコーディングされたデータはDMAコントローラ144に提供される。デコーダ165で、エラー検出器162は、メモリ装置211から受信されたデータにエラーがあるか否かを検出し、もしエラーがあれば、エラー訂正器163はエラーを訂正する。
図3は、図2でのECC141でデコーダブロック165のような、デコーダブロックの実施形態による通常のデコーディング動作を表わす。メモリ装置211からデータを受けるやいなや、BCH(Bose−Chaudhuri−Hocquenghem)デコーダ(例えば、デコーダ162)は、受信されたデータでエラーが存在するか否かを決定するためにシンドロームを計算する。シンドロームの値がゼロ(Zero)であれば、受信されたデータがエラーがないと決定される。もしゼロでなければ、KES(Key Equation Solver)ブロックは、キー方程式(key equation)を解いて、CSEE(Chien Search and Error Evaluator)ブロックは、エラー値とエラー位置とを決定する。次いで、ファームウエア(例えば、エラー訂正器163)は、データがデコーダブロック162から読み出されば(read−out)エラーを訂正する。
低ビット−密度セルを有するメモリ装置を含むメモリシステムでは、メモリ装置でのエラー率は比較的低く、よって、エラー検出とエラー訂正は、全体システム性能の観点で重要ではない。しかし、高ビット−密度シングル−ビット/セル構造またはマルチ−ビット/セル構造を有するメモリ装置を含むメモリシステムでは、メモリ装置からデータリーディングで発生したエラーが大きくなり、さらに多いエラー検出と訂正段階とが必要であり、これは、メモリシステムでリード性能を減少させる。
したがって、向上した処理量を有する強力なエラー検出器及び訂正器を提供できるメモリシステムを提供することが望ましい。また、高ビット−密度シングル−ビット/セル構造、またはマルチ−ビット/セル構造を有するメモリ装置を使う時、高いリード性能を維持することができるメモリシステムを提供することが望ましい。
本発明の目的は、エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダ、それを備えたメモリシステム、及びその方法を提供することである。
本発明の一側面によれば、メモリシステムは、多数のメモリ装置と、前記多数のメモリ装置とのデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備える。前記メモリコントローラは、エラー訂正エンコーダを含み、エラー訂正エンコーダは、多数の通信チャンネルを通じてメモリコントローラから伝送されるデータをエンコーディングする。
本発明の他の一側面によれば、メモリシステムは、多数のメモリ装置と、前記多数のメモリ装置とのデータ通信のための多数の通信チャンネルを有するメモリコントローラと、を含む。前記メモリコントローラは、エラー訂正デコーダを含み、エラー訂正デコーダは、前記多数の通信チャンネルを通じて前記メモリコントローラに伝達されたデータからエラーを検出して訂正する。
本発明のまた他の一側面によれば、多数の通信チャンネルを通じてメモリコントローラから多数のメモリ装置に伝達されるプロセッシングデータのためのメモリシステムでの方法が提供される。前記方法は、前記多数のメモリ装置に伝送される予定であるデータをメモリバッファに保存する段階と、前記多数のメモリ装置に伝送される予定である前記メモリバッファに保存された前記データをシングルエンコーダを用いてエンコーディングする段階と、前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送する段階と、を含む。
本発明のさらに他の一側面によれば、多数の通信チャンネルを通じてメモリコントローラから多数のメモリ装置に伝達されるプロセッシングデータのためのメモリシステムでの方法が提供される。前記方法は、前記多数のメモリ装置に伝送される予定であるデータを受信する段階と、シングルエンコーダが、前記多数のメモリ装置に伝送される予定である前記受信されたデータをエンコーディングする段階と、メモリバッファに前記多数のメモリ装置に伝送される予定である前記エンコーディングされたデータを保存する段階と、前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階と、を含む。
本発明によるメモリシステムは、エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えることによって、チャンネル増加によるメモリシステムの大型化を防止し、データの高速処理を可能にする。
以下、添付した図面を参照して、本発明を詳しく説明する。
図4は、エラー訂正コーダ(ECC)が内部バッファ回路に提供されたメモリシステム400の第1実施形態を表わす。メモリシステム400は、フラッシュメモリコントローラ405と、複数(N)のNANDメモリ装置を含むメモリブロックとを含む。複数(N)のNANDメモリ装置は、メモリ装置411、421、そして、図4に図示されていない他のメモリ装置を含む。メモリコントローラ405は、ホストインターフェース(または、カードインターフェース)410及びバッファ420を含む。また、メモリコントローラ405は、NANDインターフェース440、CPU(中央処理装置(central processing unit))450、エンコーダ445及びSRAM(Static Random Access Memory)430を含み、いずれもシステムバス460によって連結される。NANDインターフェース440は、図4に図示されたように、対応する通信チャンネルを通じて各メモリ装置411、421に連結されるDMA(Direct Memory Access)コントローラ444を含む。
図5は、図4のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。図5に図示されているように、バッファ420は、ユーザーデータのためのバッファとFTL(Flash Translation Layer)データのためのバッファとを含む。すべてのバッファは、同一のエンコーダ445にデータを供給する。メモリシステム400で、エンコーディングされたパリティ値はSFR(Special Function Register)メモリに保存され、外部インターフェースを通じてNANDインターフェース440に伝達される。
図4及び図5に図示された前述の実施形態で、エンコーダは、メモリコントローラ405のバッファコントローラに備えられる。望ましくは、各通信チャンネルのために分離されたECCを含む図1及び図2に図示された通常の配置とは対照的に、図4及び図5の配置では、ユーザーデータバッファとFTLデータバッファとがマルチ(multiple)メモリ装置用のマルチ通信チャンネルにエンコーディングされたデータを伝送するようにシングルECCが提供される。
図6は、ECCが内部バッファ回路に提供されたメモリシステム600の第2実施形態を表わす。メモリシステム600は、フラッシュメモリコントローラ605と、複数(N)のNANDメモリ装置を含むメモリブロックとを含む。複数(N)のNANDメモリ装置は、メモリ装置611、621、そして、図6に図示されていない他のメモリ装置を含む。メモリコントローラ605は、ホストインターフェース(または、カードインターフェース)610及びエンコーダ645を含む。また、メモリコントローラ605は、NANDインターフェース640、そして、CPU650、バッファ620、そして、デコーダ630を含み、いずれもシステムバス660によって連結される。NANDインターフェース640は、図6に図示されたように、対応する通信チャンネルを通じて各メモリ装置611、621に連結されるDMAコントローラ644を含む。
図7は、図6のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。図7に図示されているように、エンコーダ645は、多数のメモリ装置611、621のためのユーザーデータをエンコーディングし、パリティビットを含むエンコーディングされたユーザーデータをバッファ620に保存する。エンコーディングされたユーザーデータは、バッファ620からDMAコントローラ644を通じて多数のメモリ装置611、621に伝達される。
図6及び図7に図示された前述の実施形態で、エンコーダ645は、メモリコントローラ605のバッファコントローラに備えられる。エンコーダ645は、ホストインターフェース(または、カードインターフェース)610とバッファ620との間に備えられ、ホストからメモリシステムに送られたユーザーデータをエンコーディングする。また、FTLデータのための他のエンコーダも利用可能である。パリティビットを含むエンコーディングされたデータは、バッファメモリに保存される。また、ただ一つのシングルデコーダのみが使われる。
望ましくは、各通信チャンネルのために分離されたECCを含む図1及び図2に図示された通常の配置とは対照的に、図6及び図7の配置では、すべての通信チャンネルを通じてすべてのメモリ装置に供給されるユーザーデータのためにシングルECCが提供される。
図8は、ECCが内部バッファ回路に提供されたメモリシステム800の第3実施形態を表わす。メモリシステム800は、フラッシュメモリコントローラ805と、複数(N)のNANDメモリ装置を含むメモリブロックとを含む。複数(N)のNANDメモリ装置は、メモリ装置811、821、そして、図8に図示されていない他のメモリ装置を含む。メモリコントローラ805は、ホストインターフェース(または、カードインターフェース)810及びエンコーダ845(図8には図示しないが、図9には図示されている)を含む。また、メモリコントローラ805は、NANDインターフェース840、CPU850、バッファ820、そして、デコーダ830を含み、いずれもシステムバス860によって連結される。NANDインターフェース840は、図8に図示されたように、対応する通信チャンネルを通じて前記各メモリ装置811、821に連結されるDMAコントローラ844を含む。
図9は、図8のメモリシステムに含まれるバッファコントローラの実施形態を表わす。図9に図示されているように、エンコーダ845は、エンコーディングされたユーザーデータをバッファ820に保存し、バッファコントローラのレジスタ990に個別的にパリティビットを保存する。
図8及び図9に図示された前述の実施形態で、エンコーダ845は、メモリコントローラ805のバッファコントローラに備えられる。エンコーダ845は、ホストインターフェース(または、カードインターフェース)とバッファとの間に備えられ、ホストからメモリシステムに送られたユーザーデータをエンコーディングする。また、FTLデータのための他のエンコーダも利用可能である。エンコーディングされたデータは、バッファメモリに保存され、パリティビットは、バッファコントローラのレジスタにそれぞれ保存される。一方、ただ一つのシングルデコーダのみが使われる。
望ましくは、各通信チャンネルのために分離されたECCを含む図1及び図2に図示された通常の配置とは対照的に、図8及び図9の配置では、多数の通信チャンネルを通じてメモリ装置に提供されるユーザーデータのためにシングルECCが提供される。
図10は、ECCが内部バッファ回路に提供されたメモリシステム1000の第4実施形態を表わす。メモリシステム1000は、フラッシュメモリコントローラ1005と、複数(N)のNANDメモリ装置を含むメモリブロックとを含む。複数(N)のNANDメモリ装置は、メモリ装置1011、1021、そして、図10に図示されていない他のメモリ装置を含む。メモリコントローラ1005は、ホストインターフェース(または、カードインターフェース)1010及びバッファ1020を含む。また、メモリコントローラ1005は、NANDインターフェース1040、そして、CPU1050、シンドローム計算(syndrome calculation:SC)ブロック1045、さらに、SRAM1030を含み、いずれもシステムバス1060によって連結される。NANDインターフェース1040は、図10に図示されたように、対応する通信チャンネルを通じて各メモリ装置1011、1021に連結されるDMAコントローラ1044を含む。
図11は、図10のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。図11に図示されているように、シンドローム計算(SC)ブロック1045は、シンドローム値を計算し、エラーが発生すれば、デコーダ1190は、エラーを訂正する。
図10及び図11に図示された前述の実施形態で、シンドローム計算(SC)ブロック1045とデコーダ1190は、メモリコントローラ1005のバッファコントローラに備えられる。エラー検出プロセッサは、インターリーブモード(interleave mode)でDMAを利用したバッファメモリへのデータ伝送と結合されて実行される。SCブロック1045は、シンドローム値を計算し、エラーが発生すれば、エラーを訂正するためにパイプラインモード(pipelined mode)がデコーダ1190によって実行される。
望ましくは、各通信チャンネルのために分離されたシンドローム計算器とデコーダとを含む図1と図2とに図示された通常の配置と対照的に、図10と図11の配置では、多数のメモリ装置から多数の通信チャンネルを経て抽出された多数のデータのためにシングルECCが提供される。
図12は、ECCが内部バッファ回路に提供されたメモリシステムのデコーディング動作を表わす。
T0からT1の間に、データは、メモリ装置からバッファメモリまで二つのチャンネルを通じて同時に伝送され、同時にシンドローム値は計算される。第1及び第2バッファは、同時にデータを読み取ってチャンネルがエラーを有すれば、前記動作はエラー訂正段階に進行する。
T1からT2の間に、デコーダブロックは、シングルデコーダと多数のバッファとを用いてパイプラインモードで動作するので、先に第1チャンネルのシンドローム値でエラー位置を計算し、連続的に第2チャンネルのエラー位置を計算する。バッファは、シンドローム値を計算するためにリードデータを保存し、バッファは、デコーディングプロセスの間にエラー位置とパターンを計算するためのデータとを保存し、そして、バッファは、ホストへの伝送のために訂正されたデータを保存する。T2からT3までの区間の間に、プロセスが続いて反復され、同じ区間の間に二つのチャンネルからデータを出力し、二つのチャンネルに対する連続データが入力されて次のフレームで検出及びデコーディングされる。
図13は、ECCが内部バッファ回路に提供されたメモリシステムの性能対比図で、メモリシステムの処理量とセクターエラー率とを比べた図である。図13に図示されたように、ECCが内部バッファ回路に提供されるメモリシステムは、高セクターエラー率がある場合に増加した処理量の性能を表わす。
ここでは、望ましい実施形態が説明されたが、本発明の概念と範囲内で多様な変形が可能である。このような変形は、ここで、明細書、図面、請求項の検査後に、当業者に明確化になるであろう。したがって、本発明は、特許請求の範囲の技術的思想を除外して制限してはならない。
本発明は、エラー訂正エンコーディングを採用したメモリシステムに関連の技術分野に適用可能である。
フラッシュメモリシステムのブロック図を表わす。 エラー訂正コーダ(ECC)ブロックとメモリ装置との間の連結を表わす。 フラッシュメモリデコーダの通常のデコーディング動作を表わす。 ECCが内部バッファ回路に提供されたメモリシステムの第1実施形態を表わす。 図4のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。 ECCが内部バッファ回路に提供されたメモリシステムの第2実施形態を表わす。 図6のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。 ECCが内部バッファ回路に提供されたメモリシステムの第3実施形態を表わす。 図8のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。 ECCが内部バッファ回路に提供されたメモリシステムの第4実施形態を表わす。 図10のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。 ECCが内部バッファ回路に提供されたメモリシステムのデコーディング動作を表わす。 ECCが内部バッファ回路に提供されたメモリシステムの性能対比図でメモリシステムの処理量とセクターエラー率とを比べた図である。
符号の説明
400:メモリシステム
405:フラッシュメモリコントローラ
410:ホストインターフェース(または、カードインターフェース)
411、421:メモリ装置
420:バッファ
430:SRAM
440:NANDインターフェース
444:DMAコントローラ
445:エンコーダ
450:CPU
460:システムバス
600:メモリシステム
605:フラッシュメモリコントローラ
610:ホストインターフェース(または、カードインターフェース)
611、621:メモリ装置
620:バッファ
630:デコーダ
640:NANDインターフェース
644:DMAコントローラ
645:エンコーダ
650:CPU
660:システムバス
800:メモリシステム
805:フラッシュメモリコントローラ
810:ホストインターフェース(または、カードインターフェース)
811、821:メモリ装置
820:バッファ
830:デコーダ
840:NANDインターフェース
844:DMAコントローラ
845:エンコーダ
850:CPU
860:システムバス
990:レジスタ
1000:メモリシステム
1005:フラッシュメモリコントローラ
1010:ホストインターフェース(または、カードインターフェース)
1011、1021:メモリ装置
1020:バッファ
1030:SRAM
1040:NANDインターフェース
1044:DMAコントローラ
1045:SCブロック
1050:CPU
1060:システムバス
1190:デコーダ

Claims (25)

  1. 多数のメモリ装置と、
    前記多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備え、
    前記メモリコントローラは、前記多数の通信チャンネルを通じて前記メモリコントローラから伝達されるデータをエンコーディングするエラー訂正エンコーダを備えることを特徴とするメモリシステム。
  2. 前記メモリコントローラは、
    前記エラー訂正エンコーダによってデータがエンコーディングされる前/後にデータを保存する多数のメモリバッファと、
    前記多数のメモリバッファへのアクセスをコントロールするためのバッファコントローラと、をさらに含むことを特徴とする請求項1に記載のメモリシステム。
  3. 前記メモリバッファは、
    前記エラー訂正エンコーダによってエンコーディングされる前にデータを保存することを特徴とする請求項2に記載のメモリシステム。
  4. 前記メモリコントローラは、
    前記メモリシステムに対する内部システムデータを保存するSRAMをさらに含み、
    前記エンコーダは、多数の通信チャンネルに対して前記内部システムデータをエンコーディングすることを特徴とする請求項3に記載のメモリシステム。
  5. 前記メモリコントローラは、
    前記エンコーディングされたデータに対するパリティビットを保存するパリティレジスタをさらに含むことを特徴とする請求項3に記載のメモリシステム。
  6. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するDMAコントローラをさらに含むことを特徴とする請求項3に記載のメモリシステム。
  7. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項3に記載のメモリシステム。
  8. 前記メモリバッファは、
    前記エンコーディングされたデータと前記エンコーディングされたデータとに対するパリティビットを保存することを特徴とする請求項2に記載のメモリシステム。
  9. 前記メモリコントローラは、
    前記メモリシステムに対する内部システムデータを保存するSRAMと、
    前記多数の通信チャンネルに対して前記内部システムデータをエンコーディングする第2エンコーダと、をさらに含むことを特徴とする請求項8に記載のメモリシステム。
  10. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項8に記載のメモリシステム。
  11. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するDMAコントローラをさらに含むことを特徴とする請求項8に記載のメモリシステム。
  12. 前記メモリバッファは、前記エンコーディングされたデータを保存し、前記メモリコントローラは、前記エンコーディングされたデータに対するパリティビットを保存するパリティレジスタをさらに含むことを特徴とする請求項2に記載のメモリシステム。
  13. 前記メモリコントローラは、
    前記メモリシステムに対する内部システムデータを保存するSRAMと、
    前記多数の通信チャンネルに対して前記内部システムデータをエンコーディングする第2エンコーダと、をさらに含むことを特徴とする請求項12に記載のメモリシステム。
  14. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項12に記載のメモリシステム。
  15. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するDMAコントローラをさらに含むことを特徴とする請求項12に記載のメモリシステム。
  16. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記メモリコントローラによって受信されたデータからエラーを検出するエラー検出器と、
    多数のデータセットに対する多数のデータセット用前記エラー検出器からエラー検出情報を保存する多数のメモリバッファと、
    前記エラー検出情報を用いて前記データセット内でエラー位置を検出するエラー位置識別器と、をさらに含むことを特徴とする請求項1に記載のメモリシステム。
  17. 前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記受信されたデータを前記エラー検出器に伝送するDMAコントローラをさらに含むことを特徴とする請求項16に記載のメモリシステム。
  18. 多数のメモリ装置と、
    前記多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備え、
    前記メモリコントローラは、
    前記多数の通信チャンネルを通じて前記メモリコントローラに伝達されるデータからエラーを検出して訂正するエラー訂正デコーダを備えることを特徴とするメモリシステム。
  19. 前記メモリコントローラは、
    前記多数の通信チャンネルから前記データを前記エラー訂正デコーダに伝送するDMAコントローラをさらに含むことを特徴とする請求項18に記載のメモリシステム。
  20. メモリシステムでメモリコントローラから多数の通信チャンネルを通じて多数のメモリ装置に伝達されるデータをプロセッシングする方法において、
    多数のメモリ装置に伝送される予定であるデータをメモリバッファに保存する段階と、
    前記多数のメモリ装置に対する前記メモリバッファに保存された前記データをシングルエンコーダでエンコーディングする段階と、
    前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階と、を含むことを特徴とするデータプロセッシング方法。
  21. 前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階は、
    前記エンコーディングされたデータをDMAコントローラを用いて前記多数のメモリ装置に伝送する段階を含むことを特徴とする請求項20に記載のデータプロセッシング方法。
  22. シングルエラー訂正デコーダは、
    前記メモリコントローラによって前記多数のメモリ装置から前記多数の通信チャンネルを通じて受信したデータでエラーを訂正する段階をさらに含むことを特徴とする請求項20に記載のデータプロセッシング方法。
  23. メモリシステムでメモリコントローラから多数の通信チャンネルを通じて多数のメモリ装置に伝達されるデータをプロセッシングする方法において、
    多数のメモリ装置に伝送される予定であるデータを受信する段階と、
    シングルエンコーダが、前記多数のメモリ装置に伝送される予定である前記受信されたデータをエンコーディングする段階と、
    メモリバッファに前記多数のメモリ装置に伝送される予定である前記エンコーディングされたデータを保存する段階と、
    前記多数の通信チャンネルを通じて前記エンコーディングされたデータを多数のメモリ装置に伝送する段階と、を含むことを特徴とするデータプロセッシング方法。
  24. 前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階は、
    前記エンコーディングされたデータをDMAコントローラを用いて前記多数のメモリ装置に伝送する段階を含むことを特徴とする請求項23に記載のデータプロセッシング方法。
  25. シングルエラー訂正デコーダが、
    前記多数の通信チャンネルを通じて前記メモリコントローラによって前記多数のメモリ装置から受信したデータでエラーを訂正する段階をさらに含むことを特徴とする請求項23に記載のデータプロセッシング方法。
JP2008147195A 2007-06-04 2008-06-04 エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 Withdrawn JP2008299855A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070054620A KR100921748B1 (ko) 2007-06-04 2007-06-04 Ecc 회로를 포함하는 메모리 시스템 및 그 구동 방법

Publications (1)

Publication Number Publication Date
JP2008299855A true JP2008299855A (ja) 2008-12-11

Family

ID=40173269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008147195A Withdrawn JP2008299855A (ja) 2007-06-04 2008-06-04 エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法

Country Status (4)

Country Link
US (1) US20090024902A1 (ja)
JP (1) JP2008299855A (ja)
KR (1) KR100921748B1 (ja)
TW (1) TW200907994A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514274A (ja) * 2008-12-31 2012-06-21 インテル コーポレイション ソリッドステートディスクにおける改良された誤り訂正
JP2012518224A (ja) * 2009-02-18 2012-08-09 マイクロン テクノロジー, インク. メモリコントローラ及び方法におけるデータ完全性
JP2012155541A (ja) * 2011-01-26 2012-08-16 Toshiba Corp データ記憶装置、メモリ制御装置及びメモリ制御方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
US8510631B2 (en) * 2009-11-24 2013-08-13 Mediatek Inc. Multi-channel memory apparatus and method thereof
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8484529B2 (en) 2010-06-24 2013-07-09 International Business Machines Corporation Error correction and detection in a redundant memory system
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8549378B2 (en) * 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8583992B2 (en) * 2011-01-20 2013-11-12 Taejin Info Tech Co., Ltd. SAS-based semiconductor storage device memory disk unit
US8522122B2 (en) 2011-01-29 2013-08-27 International Business Machines Corporation Correcting memory device and memory channel failures in the presence of known memory device failures
KR101209914B1 (ko) * 2011-06-08 2012-12-11 주식회사 태진인포텍 프로그램 가능한 호스트 인터페이스를 갖는 반도체 저장 장치 메모리 디스크 유닛
KR101212809B1 (ko) * 2011-06-08 2012-12-18 주식회사 태진인포텍 복수의 호스트 인터페이스를 갖는 반도체 저장 장치 메모리 디스크 유닛 및 그 구동 방법
US9207879B2 (en) 2011-07-06 2015-12-08 Taejin Info Tech Co., Ltd. Redundant array of independent disk (RAID) controlled semiconductor storage device (SSD)-based system having a high-speed non-volatile host interface
WO2013095672A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Multi-register gather instruction
TWI486963B (zh) * 2012-11-08 2015-06-01 Jmicron Technology Corp 錯誤檢查及校正方法以及錯誤檢查及校正電路
CN103824598B (zh) * 2012-11-19 2017-02-22 联芸科技(杭州)有限公司 错误检查及校正方法以及错误检查及校正电路
US10496437B2 (en) 2017-11-14 2019-12-03 International Business Machines Corporation Context switch by changing memory pointers
US10901738B2 (en) 2017-11-14 2021-01-26 International Business Machines Corporation Bulk store and load operations of configuration state registers
US10698686B2 (en) 2017-11-14 2020-06-30 International Business Machines Corporation Configurable architectural placement control
US10592164B2 (en) 2017-11-14 2020-03-17 International Business Machines Corporation Portions of configuration state registers in-memory
US10552070B2 (en) 2017-11-14 2020-02-04 International Business Machines Corporation Separation of memory-based configuration state registers based on groups
US10635602B2 (en) 2017-11-14 2020-04-28 International Business Machines Corporation Address translation prior to receiving a storage reference using the address to be translated
US10664181B2 (en) 2017-11-14 2020-05-26 International Business Machines Corporation Protecting in-memory configuration state registers
US10761983B2 (en) 2017-11-14 2020-09-01 International Business Machines Corporation Memory based configuration state registers
US10558366B2 (en) 2017-11-14 2020-02-11 International Business Machines Corporation Automatic pinning of units of memory
US10761751B2 (en) 2017-11-14 2020-09-01 International Business Machines Corporation Configuration state registers grouped based on functional affinity
US10642757B2 (en) 2017-11-14 2020-05-05 International Business Machines Corporation Single call to perform pin and unpin operations
US10866859B1 (en) * 2019-05-28 2020-12-15 Silicon Motion, Inc. Non-volatile memory accessing method using data protection with aid of look-ahead processing, and associated apparatus
CN110971244A (zh) * 2019-10-18 2020-04-07 天津大学 基于突发错误检测的前向纠错译码译码器
US20240289218A1 (en) * 2023-02-24 2024-08-29 Micron Technology, Inc. Touchup for memory device using embedded encoder/decoder

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
US6243845B1 (en) 1997-06-19 2001-06-05 Sanyo Electric Co., Ltd. Code error correcting and detecting apparatus
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US7383362B2 (en) * 2003-12-02 2008-06-03 Super Talent Electronics, Inc. Single-chip multi-media card/secure digital (MMC/SD) controller reading power-on boot code from integrated flash memory for user storage
JP2001297038A (ja) 2000-04-11 2001-10-26 Toshiba Corp データ記憶装置および記録媒体並びに記録媒体制御方法
US7055081B2 (en) * 2001-03-02 2006-05-30 Storage Technology Corporation System and method for multi-channel decoding error correction
JP4437519B2 (ja) * 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US6711663B2 (en) 2001-11-15 2004-03-23 Key Technology Corporation Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
IL154346A (en) * 2003-02-06 2010-06-16 Eyal Cohen Method and system for protecting against illegal copy and/or use of digital content stored on optical or other media
JP4391170B2 (ja) * 2003-09-05 2009-12-24 株式会社日立製作所 データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
JP2006134064A (ja) * 2004-11-05 2006-05-25 Hitachi Ltd 記憶メディアへの書込みエラーを検出する記憶制御装置及び方法
KR100725271B1 (ko) * 2005-05-20 2007-06-04 주식회사 엠피오 복수개의 dma 채널을 갖는 usb-sd 저장 장치 및 그저장 방법
US7519894B2 (en) * 2005-06-14 2009-04-14 Infineon Technologies Ag Memory device with error correction code module
JP4751123B2 (ja) * 2005-07-29 2011-08-17 株式会社日立製作所 ストレージシステム、フォーマット方法及びコンピュータプログラム
US7562285B2 (en) * 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514274A (ja) * 2008-12-31 2012-06-21 インテル コーポレイション ソリッドステートディスクにおける改良された誤り訂正
JP2012518224A (ja) * 2009-02-18 2012-08-09 マイクロン テクノロジー, インク. メモリコントローラ及び方法におけるデータ完全性
US9015553B2 (en) 2009-02-18 2015-04-21 Round Rock Research, Llc Data integrity in memory controllers and methods
JP2012155541A (ja) * 2011-01-26 2012-08-16 Toshiba Corp データ記憶装置、メモリ制御装置及びメモリ制御方法
US8713410B2 (en) 2011-01-26 2014-04-29 Kabushiki Kaisha Toshiba Data storage apparatus, memory control apparatus and method for controlling flash memories

Also Published As

Publication number Publication date
KR100921748B1 (ko) 2009-10-15
KR20080106775A (ko) 2008-12-09
US20090024902A1 (en) 2009-01-22
TW200907994A (en) 2009-02-16

Similar Documents

Publication Publication Date Title
JP2008299855A (ja) エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法
JP5424596B2 (ja) 面積効率が高いエラー訂正デコーダ構造を含むマルチチャンネルメモリシステム
US9037941B2 (en) Systems and methods for error checking and correcting for memory module
JP5473275B2 (ja) レイテンシを減らし、処理量を増加させうるエラー訂正デコーダ構造を含むメモリシステム
US9619324B2 (en) Error correction in non—volatile memory
EP2297641B1 (en) Efficient in-band reliability with separate cyclic redundancy code frames
US20110246853A1 (en) Semiconductor device and decoding method thereof
US20120185747A1 (en) Methods of encoding/decoding for error correction code utilizing interdependent portions of codewords and related circuits
KR20180089104A (ko) 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
US20110060965A1 (en) Semiconductor memory device and data processing method thereof
KR20170035795A (ko) 오류 정정 코드를 디코딩하기 위한 방법 및 이와 관련된 디코딩 회로
KR20180086816A (ko) 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법
JP2008090442A (ja) メモリ制御装置
US9164831B2 (en) Memory controller, semiconductor storage device, and decoding method
KR20160017922A (ko) 반도체 메모리 장치
US8370699B2 (en) Semiconductor memory apparatus for reducing bus traffic between NAND flash memory device and controller
US9239755B2 (en) Semiconductor device and semiconductor system including the same
US8239737B2 (en) Data line storage and transmission utilizing both error correcting code and synchronization information
US11437114B1 (en) Reduced error correction code for dual channel DDR dynamic random-access memory
US10740179B2 (en) Memory and method for operating the memory
TWI501083B (zh) 針對快閃儲存系統以bch及ldpc引擎進行檢測與修正錯誤的方法
US11809272B2 (en) Error correction code offload for a serially-attached memory device
US11747985B2 (en) Memory system, integrated circuit system, and operation method of memory system
KR101788737B1 (ko) 반도체 시스템
JP2010140132A (ja) メモリシステム及びメモリコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120613