JP2008299855A - エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 - Google Patents
エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection 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
【解決手段】メモリシステムは、多数のメモリ装置と、多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備える。メモリコントローラは、多数の通信チャンネルを通じてメモリコントローラから伝達されるデータをエンコーディングするエラー訂正エンコーダ及び/または多数の通信チャンネルを通じてメモリコントローラに伝達されるデータでエラーを探索して訂正するエラー訂正デコーダを備える。
【選択図】図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を含む。
図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が提供される。
望ましくは、各通信チャンネルのために分離されたシンドローム計算器とデコーダとを含む図1と図2とに図示された通常の配置と対照的に、図10と図11の配置では、多数のメモリ装置から多数の通信チャンネルを経て抽出された多数のデータのためにシングルECCが提供される。
図12は、ECCが内部バッファ回路に提供されたメモリシステムのデコーディング動作を表わす。
T0からT1の間に、データは、メモリ装置からバッファメモリまで二つのチャンネルを通じて同時に伝送され、同時にシンドローム値は計算される。第1及び第2バッファは、同時にデータを読み取ってチャンネルがエラーを有すれば、前記動作はエラー訂正段階に進行する。
T0からT1の間に、データは、メモリ装置からバッファメモリまで二つのチャンネルを通じて同時に伝送され、同時にシンドローム値は計算される。第1及び第2バッファは、同時にデータを読み取ってチャンネルがエラーを有すれば、前記動作はエラー訂正段階に進行する。
T1からT2の間に、デコーダブロックは、シングルデコーダと多数のバッファとを用いてパイプラインモードで動作するので、先に第1チャンネルのシンドローム値でエラー位置を計算し、連続的に第2チャンネルのエラー位置を計算する。バッファは、シンドローム値を計算するためにリードデータを保存し、バッファは、デコーディングプロセスの間にエラー位置とパターンを計算するためのデータとを保存し、そして、バッファは、ホストへの伝送のために訂正されたデータを保存する。T2からT3までの区間の間に、プロセスが続いて反復され、同じ区間の間に二つのチャンネルからデータを出力し、二つのチャンネルに対する連続データが入力されて次のフレームで検出及びデコーディングされる。
図13は、ECCが内部バッファ回路に提供されたメモリシステムの性能対比図で、メモリシステムの処理量とセクターエラー率とを比べた図である。図13に図示されたように、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:デコーダ
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に記載のメモリシステム。 - 前記メモリコントローラは、
前記メモリシステムに対する内部システムデータを保存するSRAMをさらに含み、
前記エンコーダは、多数の通信チャンネルに対して前記内部システムデータをエンコーディングすることを特徴とする請求項3に記載のメモリシステム。 - 前記メモリコントローラは、
前記エンコーディングされたデータに対するパリティビットを保存するパリティレジスタをさらに含むことを特徴とする請求項3に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するDMAコントローラをさらに含むことを特徴とする請求項3に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項3に記載のメモリシステム。 - 前記メモリバッファは、
前記エンコーディングされたデータと前記エンコーディングされたデータとに対するパリティビットを保存することを特徴とする請求項2に記載のメモリシステム。 - 前記メモリコントローラは、
前記メモリシステムに対する内部システムデータを保存するSRAMと、
前記多数の通信チャンネルに対して前記内部システムデータをエンコーディングする第2エンコーダと、をさらに含むことを特徴とする請求項8に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項8に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するDMAコントローラをさらに含むことを特徴とする請求項8に記載のメモリシステム。 - 前記メモリバッファは、前記エンコーディングされたデータを保存し、前記メモリコントローラは、前記エンコーディングされたデータに対するパリティビットを保存するパリティレジスタをさらに含むことを特徴とする請求項2に記載のメモリシステム。
- 前記メモリコントローラは、
前記メモリシステムに対する内部システムデータを保存するSRAMと、
前記多数の通信チャンネルに対して前記内部システムデータをエンコーディングする第2エンコーダと、をさらに含むことを特徴とする請求項12に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項12に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するDMAコントローラをさらに含むことを特徴とする請求項12に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記メモリコントローラによって受信されたデータからエラーを検出するエラー検出器と、
多数のデータセットに対する多数のデータセット用前記エラー検出器からエラー検出情報を保存する多数のメモリバッファと、
前記エラー検出情報を用いて前記データセット内でエラー位置を検出するエラー位置識別器と、をさらに含むことを特徴とする請求項1に記載のメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記受信されたデータを前記エラー検出器に伝送するDMAコントローラをさらに含むことを特徴とする請求項16に記載のメモリシステム。 - 多数のメモリ装置と、
前記多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備え、
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記メモリコントローラに伝達されるデータからエラーを検出して訂正するエラー訂正デコーダを備えることを特徴とするメモリシステム。 - 前記メモリコントローラは、
前記多数の通信チャンネルから前記データを前記エラー訂正デコーダに伝送するDMAコントローラをさらに含むことを特徴とする請求項18に記載のメモリシステム。 - メモリシステムでメモリコントローラから多数の通信チャンネルを通じて多数のメモリ装置に伝達されるデータをプロセッシングする方法において、
多数のメモリ装置に伝送される予定であるデータをメモリバッファに保存する段階と、
前記多数のメモリ装置に対する前記メモリバッファに保存された前記データをシングルエンコーダでエンコーディングする段階と、
前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階と、を含むことを特徴とするデータプロセッシング方法。 - 前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階は、
前記エンコーディングされたデータをDMAコントローラを用いて前記多数のメモリ装置に伝送する段階を含むことを特徴とする請求項20に記載のデータプロセッシング方法。 - シングルエラー訂正デコーダは、
前記メモリコントローラによって前記多数のメモリ装置から前記多数の通信チャンネルを通じて受信したデータでエラーを訂正する段階をさらに含むことを特徴とする請求項20に記載のデータプロセッシング方法。 - メモリシステムでメモリコントローラから多数の通信チャンネルを通じて多数のメモリ装置に伝達されるデータをプロセッシングする方法において、
多数のメモリ装置に伝送される予定であるデータを受信する段階と、
シングルエンコーダが、前記多数のメモリ装置に伝送される予定である前記受信されたデータをエンコーディングする段階と、
メモリバッファに前記多数のメモリ装置に伝送される予定である前記エンコーディングされたデータを保存する段階と、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを多数のメモリ装置に伝送する段階と、を含むことを特徴とするデータプロセッシング方法。 - 前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階は、
前記エンコーディングされたデータをDMAコントローラを用いて前記多数のメモリ装置に伝送する段階を含むことを特徴とする請求項23に記載のデータプロセッシング方法。 - シングルエラー訂正デコーダが、
前記多数の通信チャンネルを通じて前記メモリコントローラによって前記多数のメモリ装置から受信したデータでエラーを訂正する段階をさらに含むことを特徴とする請求項23に記載のデータプロセッシング方法。
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)
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)
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)
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 |
-
2007
- 2007-06-04 KR KR1020070054620A patent/KR100921748B1/ko not_active IP Right Cessation
-
2008
- 2008-06-04 US US12/132,692 patent/US20090024902A1/en not_active Abandoned
- 2008-06-04 JP JP2008147195A patent/JP2008299855A/ja not_active Withdrawn
- 2008-06-04 TW TW097120788A patent/TW200907994A/zh unknown
Cited By (5)
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 |