(57)【要約】【課題】エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダ、それを備えたメモリシステム、及びその方法を提供する。【解決手段】メモリシステムは、多数のメモリ装置と、多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備える。メモリコントローラは、多数の通信チャンネルを通じてメモリコントローラから伝達されるデータをエンコーディングするエラー訂正エンコーダ及び／または多数の通信チャンネルを通じてメモリコントローラに伝達されるデータでエラーを探索して訂正するエラー訂正デコーダを備える。【選択図】図４
2008299855.tif 000002
【特許請求の範囲】
【請求項１】
多数のメモリ装置と、
前記多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備え、
前記メモリコントローラは、前記多数の通信チャンネルを通じて前記メモリコントローラから伝達されるデータをエンコーディングするエラー訂正エンコーダを備えることを特徴とするメモリシステム。
【請求項２】
前記メモリコントローラは、
前記エラー訂正エンコーダによってデータがエンコーディングされる前/後にデータを保存する多数のメモリバッファと、
前記多数のメモリバッファへのアクセスをコントロールするためのバッファコントローラと、をさらに含むことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記メモリバッファは、
前記エラー訂正エンコーダによってエンコーディングされる前にデータを保存することを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記メモリコントローラは、
前記メモリシステムに対する内部システムデータを保存するＳＲＡＭをさらに含み、
前記エンコーダは、多数の通信チャンネルに対して前記内部システムデータをエンコーディングすることを特徴とする請求項３に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、
前記エンコーディングされたデータに対するパリティビットを保存するパリティレジスタをさらに含むことを特徴とする請求項３に記載のメモリシステム。
【請求項６】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するＤＭＡコントローラをさらに含むことを特徴とする請求項３に記載のメモリシステム。
【請求項７】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項３に記載のメモリシステム。
【請求項８】
前記メモリバッファは、
前記エンコーディングされたデータと前記エンコーディングされたデータとに対するパリティビットを保存することを特徴とする請求項２に記載のメモリシステム。
【請求項９】
前記メモリコントローラは、
前記メモリシステムに対する内部システムデータを保存するＳＲＡＭと、
前記多数の通信チャンネルに対して前記内部システムデータをエンコーディングする第２エンコーダと、をさらに含むことを特徴とする請求項８に記載のメモリシステム。
【請求項１０】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項８に記載のメモリシステム。
【請求項１１】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するＤＭＡコントローラをさらに含むことを特徴とする請求項８に記載のメモリシステム。
【請求項１２】
前記メモリバッファは、前記エンコーディングされたデータを保存し、前記メモリコントローラは、前記エンコーディングされたデータに対するパリティビットを保存するパリティレジスタをさらに含むことを特徴とする請求項２に記載のメモリシステム。
【請求項１３】
前記メモリコントローラは、
前記メモリシステムに対する内部システムデータを保存するＳＲＡＭと、
前記多数の通信チャンネルに対して前記内部システムデータをエンコーディングする第２エンコーダと、をさらに含むことを特徴とする請求項１２に記載のメモリシステム。
【請求項１４】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記多数のメモリ装置から前記メモリコントローラによって受信されたデータのエラーを検出して訂正するエラー訂正デコーダをさらに含むことを特徴とする請求項１２に記載のメモリシステム。
【請求項１５】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送するＤＭＡコントローラをさらに含むことを特徴とする請求項１２に記載のメモリシステム。
【請求項１６】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記メモリコントローラによって受信されたデータからエラーを検出するエラー検出器と、
多数のデータセットに対する多数のデータセット用前記エラー検出器からエラー検出情報を保存する多数のメモリバッファと、
前記エラー検出情報を用いて前記データセット内でエラー位置を検出するエラー位置識別器と、をさらに含むことを特徴とする請求項１に記載のメモリシステム。
【請求項１７】
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記受信されたデータを前記エラー検出器に伝送するＤＭＡコントローラをさらに含むことを特徴とする請求項１６に記載のメモリシステム。
【請求項１８】
多数のメモリ装置と、
前記多数のメモリ装置とデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備え、
前記メモリコントローラは、
前記多数の通信チャンネルを通じて前記メモリコントローラに伝達されるデータからエラーを検出して訂正するエラー訂正デコーダを備えることを特徴とするメモリシステム。
【請求項１９】
前記メモリコントローラは、
前記多数の通信チャンネルから前記データを前記エラー訂正デコーダに伝送するＤＭＡコントローラをさらに含むことを特徴とする請求項１８に記載のメモリシステム。
【請求項２０】
メモリシステムでメモリコントローラから多数の通信チャンネルを通じて多数のメモリ装置に伝達されるデータをプロセッシングする方法において、
多数のメモリ装置に伝送される予定であるデータをメモリバッファに保存する段階と、
前記多数のメモリ装置に対する前記メモリバッファに保存された前記データをシングルエンコーダでエンコーディングする段階と、
前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階と、を含むことを特徴とするデータプロセッシング方法。
【請求項２１】
前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階は、
前記エンコーディングされたデータをＤＭＡコントローラを用いて前記多数のメモリ装置に伝送する段階を含むことを特徴とする請求項２０に記載のデータプロセッシング方法。
【請求項２２】
シングルエラー訂正デコーダは、
前記メモリコントローラによって前記多数のメモリ装置から前記多数の通信チャンネルを通じて受信したデータでエラーを訂正する段階をさらに含むことを特徴とする請求項２０に記載のデータプロセッシング方法。
【請求項２３】
メモリシステムでメモリコントローラから多数の通信チャンネルを通じて多数のメモリ装置に伝達されるデータをプロセッシングする方法において、
多数のメモリ装置に伝送される予定であるデータを受信する段階と、
シングルエンコーダが、前記多数のメモリ装置に伝送される予定である前記受信されたデータをエンコーディングする段階と、
メモリバッファに前記多数のメモリ装置に伝送される予定である前記エンコーディングされたデータを保存する段階と、
前記多数の通信チャンネルを通じて前記エンコーディングされたデータを多数のメモリ装置に伝送する段階と、を含むことを特徴とするデータプロセッシング方法。
【請求項２４】
前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階は、
前記エンコーディングされたデータをＤＭＡコントローラを用いて前記多数のメモリ装置に伝送する段階を含むことを特徴とする請求項２３に記載のデータプロセッシング方法。
【請求項２５】
シングルエラー訂正デコーダが、
前記多数の通信チャンネルを通じて前記メモリコントローラによって前記多数のメモリ装置から受信したデータでエラーを訂正する段階をさらに含むことを特徴とする請求項２３に記載のデータプロセッシング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに係り、より詳細には、エラー訂正エンコーディングを採用したメモリシステムに関する。
【背景技術】
【０００２】
フラッシュメモリシステムにおいて、マルチチャンネルエラー訂正コーダ（ＥＣＣ）構造は、ホストシステムからフラッシュメモリに伝送されるデータをエンコーディングし、フラッシュメモリからデータをデコーディングするためのバッファメモリを使う。
【０００３】
図１は、前記のフラッシュメモリシステム１０のブロック図を表わす。フラッシュメモリシステム１０は、フラッシュメモリコントローラ１００とメモリブロック２００とを含む。メモリコントローラ１００は、ホストインターフェース１１０、ユーザーデータバッファ１２０、システムデータバッファ１３０、ＮＡＮＤインターフェース１４０、及びＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０を含み、いずれもシステムバス１６０によって連結される。ＮＡＮＤインターフェース１４０は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ１４４とエラー訂正コーダ（ＥＣＣ）ブロック１４５とを含む。ＥＣＣブロック１４５は、ＥＣＣモジュール１４１、１４２及び１４３を含む複数（Ｎ）のＥＣＣモジュールを含む。メモリブロック２００は、メモリ装置２１１、２１２及び２１３を含む複数（Ｎ）のＮＡＮＤメモリ装置を含む。ＥＣＣモジュール１４１、１４２及び１４３と対応するメモリ装置２１１、２１２及び２１３との間は、チャンネル０、１、Ｎ（ＣＨ０、ＣＨ１、ＣＨＮ）などで連結される。
【０００４】
図２は、フラッシュメモリシステム１０でＥＣＣブロック１４５とメモリ装置２１１、２１２及び２１３との間の相互連結をより詳細に図示している。図２のように、ＥＣＣモジュール１４１は、エンコーダ１６１及びデコーダブロック１６５を含み、デコーダブロック１６５は、エラー検出器１６２及びエラー訂正器１６３をさらに含む。このように、ＥＣＣモジュール１４２は、エンコーダ１７１及びデコーダブロック１７５を含み、デコーダブロック１７５は、エラー検出器１７２及びエラー訂正器１７３をさらに含む。そして、ＥＣＣモジュール１４３は、エンコーダ１８１及びデコーダブロック１８５を含み、デコーダブロック１８５は、エラー検出器１８２及びエラー訂正器１８３をさらに含む。
【０００５】
動作において、メモリ装置２１１に保存されるように予定されたホスト装置（例えば、プロセッサ）からのデータは、例えば、ＤＭＡコントローラ１４４によってＥＣＣモジュール１４１に送られる。ＥＣＣモジュール１４１において、データは、まずエンコーダ１６１によってエンコーディングされてチャンネル０（ＣＨ０）を通じてメモリ装置２１１に伝達される。データが、メモリ装置２１１からリード（Ｒｅａｄ）されてホスト装置に提供する場合、デコーダ１６５によって先にデコーディングされてデコーディングされたデータはＤＭＡコントローラ１４４に提供される。デコーダ１６５で、エラー検出器１６２は、メモリ装置２１１から受信されたデータにエラーがあるか否かを検出し、もしエラーがあれば、エラー訂正器１６３はエラーを訂正する。
【０００６】
図３は、図２でのＥＣＣ１４１でデコーダブロック１６５のような、デコーダブロックの実施形態による通常のデコーディング動作を表わす。メモリ装置２１１からデータを受けるやいなや、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）デコーダ（例えば、デコーダ１６２）は、受信されたデータでエラーが存在するか否かを決定するためにシンドロームを計算する。シンドロームの値がゼロ（Ｚｅｒｏ）であれば、受信されたデータがエラーがないと決定される。もしゼロでなければ、ＫＥＳ（Ｋｅｙ  Ｅｑｕａｔｉｏｎ  Ｓｏｌｖｅｒ）ブロックは、キー方程式（ｋｅｙ  ｅｑｕａｔｉｏｎ）を解いて、ＣＳＥＥ（Ｃｈｉｅｎ  Ｓｅａｒｃｈ  ａｎｄ  Ｅｒｒｏｒ  Ｅｖａｌｕａｔｏｒ）ブロックは、エラー値とエラー位置とを決定する。次いで、ファームウエア（例えば、エラー訂正器１６３）は、データがデコーダブロック１６２から読み出されば（ｒｅａｄ−ｏｕｔ）エラーを訂正する。
【０００７】
低ビット−密度セルを有するメモリ装置を含むメモリシステムでは、メモリ装置でのエラー率は比較的低く、よって、エラー検出とエラー訂正は、全体システム性能の観点で重要ではない。しかし、高ビット−密度シングル−ビット／セル構造またはマルチ−ビット／セル構造を有するメモリ装置を含むメモリシステムでは、メモリ装置からデータリーディングで発生したエラーが大きくなり、さらに多いエラー検出と訂正段階とが必要であり、これは、メモリシステムでリード性能を減少させる。
【０００８】
したがって、向上した処理量を有する強力なエラー検出器及び訂正器を提供できるメモリシステムを提供することが望ましい。また、高ビット−密度シングル−ビット／セル構造、またはマルチ−ビット／セル構造を有するメモリ装置を使う時、高いリード性能を維持することができるメモリシステムを提供することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダ、それを備えたメモリシステム、及びその方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、メモリシステムは、多数のメモリ装置と、前記多数のメモリ装置とのデータ通信のための多数の通信チャンネルを含むメモリコントローラと、を備える。前記メモリコントローラは、エラー訂正エンコーダを含み、エラー訂正エンコーダは、多数の通信チャンネルを通じてメモリコントローラから伝送されるデータをエンコーディングする。
【００１１】
本発明の他の一側面によれば、メモリシステムは、多数のメモリ装置と、前記多数のメモリ装置とのデータ通信のための多数の通信チャンネルを有するメモリコントローラと、を含む。前記メモリコントローラは、エラー訂正デコーダを含み、エラー訂正デコーダは、前記多数の通信チャンネルを通じて前記メモリコントローラに伝達されたデータからエラーを検出して訂正する。
【００１２】
本発明のまた他の一側面によれば、多数の通信チャンネルを通じてメモリコントローラから多数のメモリ装置に伝達されるプロセッシングデータのためのメモリシステムでの方法が提供される。前記方法は、前記多数のメモリ装置に伝送される予定であるデータをメモリバッファに保存する段階と、前記多数のメモリ装置に伝送される予定である前記メモリバッファに保存された前記データをシングルエンコーダを用いてエンコーディングする段階と、前記多数の通信チャンネルを通じて前記エンコーディングされたデータを前記多数のメモリ装置に伝送する段階と、を含む。
【００１３】
本発明のさらに他の一側面によれば、多数の通信チャンネルを通じてメモリコントローラから多数のメモリ装置に伝達されるプロセッシングデータのためのメモリシステムでの方法が提供される。前記方法は、前記多数のメモリ装置に伝送される予定であるデータを受信する段階と、シングルエンコーダが、前記多数のメモリ装置に伝送される予定である前記受信されたデータをエンコーディングする段階と、メモリバッファに前記多数のメモリ装置に伝送される予定である前記エンコーディングされたデータを保存する段階と、前記エンコーディングされたデータを前記多数の通信チャンネルを通じて前記多数のメモリ装置に伝送する段階と、を含む。
【発明の効果】
【００１４】
本発明によるメモリシステムは、エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えることによって、チャンネル増加によるメモリシステムの大型化を防止し、データの高速処理を可能にする。
【発明を実施するための最良の形態】
【００１５】
以下、添付した図面を参照して、本発明を詳しく説明する。
図４は、エラー訂正コーダ（ＥＣＣ）が内部バッファ回路に提供されたメモリシステム４００の第１実施形態を表わす。メモリシステム４００は、フラッシュメモリコントローラ４０５と、複数（Ｎ）のＮＡＮＤメモリ装置を含むメモリブロックとを含む。複数（Ｎ）のＮＡＮＤメモリ装置は、メモリ装置４１１、４２１、そして、図４に図示されていない他のメモリ装置を含む。メモリコントローラ４０５は、ホストインターフェース（または、カードインターフェース）４１０及びバッファ４２０を含む。また、メモリコントローラ４０５は、ＮＡＮＤインターフェース４４０、ＣＰＵ（中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ））４５０、エンコーダ４４５及びＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４３０を含み、いずれもシステムバス４６０によって連結される。ＮＡＮＤインターフェース４４０は、図４に図示されたように、対応する通信チャンネルを通じて各メモリ装置４１１、４２１に連結されるＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ４４４を含む。
【００１６】
図５は、図４のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。図５に図示されているように、バッファ４２０は、ユーザーデータのためのバッファとＦＴＬ（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ）データのためのバッファとを含む。すべてのバッファは、同一のエンコーダ４４５にデータを供給する。メモリシステム４００で、エンコーディングされたパリティ値はＳＦＲ（Ｓｐｅｃｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｒｅｇｉｓｔｅｒ）メモリに保存され、外部インターフェースを通じてＮＡＮＤインターフェース４４０に伝達される。
【００１７】
図４及び図５に図示された前述の実施形態で、エンコーダは、メモリコントローラ４０５のバッファコントローラに備えられる。望ましくは、各通信チャンネルのために分離されたＥＣＣを含む図１及び図２に図示された通常の配置とは対照的に、図４及び図５の配置では、ユーザーデータバッファとＦＴＬデータバッファとがマルチ（ｍｕｌｔｉｐｌｅ）メモリ装置用のマルチ通信チャンネルにエンコーディングされたデータを伝送するようにシングルＥＣＣが提供される。
【００１８】
図６は、ＥＣＣが内部バッファ回路に提供されたメモリシステム６００の第２実施形態を表わす。メモリシステム６００は、フラッシュメモリコントローラ６０５と、複数（Ｎ）のＮＡＮＤメモリ装置を含むメモリブロックとを含む。複数（Ｎ）のＮＡＮＤメモリ装置は、メモリ装置６１１、６２１、そして、図６に図示されていない他のメモリ装置を含む。メモリコントローラ６０５は、ホストインターフェース（または、カードインターフェース）６１０及びエンコーダ６４５を含む。また、メモリコントローラ６０５は、ＮＡＮＤインターフェース６４０、そして、ＣＰＵ６５０、バッファ６２０、そして、デコーダ６３０を含み、いずれもシステムバス６６０によって連結される。ＮＡＮＤインターフェース６４０は、図６に図示されたように、対応する通信チャンネルを通じて各メモリ装置６１１、６２１に連結されるＤＭＡコントローラ６４４を含む。
【００１９】
図７は、図６のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。図７に図示されているように、エンコーダ６４５は、多数のメモリ装置６１１、６２１のためのユーザーデータをエンコーディングし、パリティビットを含むエンコーディングされたユーザーデータをバッファ６２０に保存する。エンコーディングされたユーザーデータは、バッファ６２０からＤＭＡコントローラ６４４を通じて多数のメモリ装置６１１、６２１に伝達される。
【００２０】
図６及び図７に図示された前述の実施形態で、エンコーダ６４５は、メモリコントローラ６０５のバッファコントローラに備えられる。エンコーダ６４５は、ホストインターフェース（または、カードインターフェース）６１０とバッファ６２０との間に備えられ、ホストからメモリシステムに送られたユーザーデータをエンコーディングする。また、ＦＴＬデータのための他のエンコーダも利用可能である。パリティビットを含むエンコーディングされたデータは、バッファメモリに保存される。また、ただ一つのシングルデコーダのみが使われる。
【００２１】
望ましくは、各通信チャンネルのために分離されたＥＣＣを含む図１及び図２に図示された通常の配置とは対照的に、図６及び図７の配置では、すべての通信チャンネルを通じてすべてのメモリ装置に供給されるユーザーデータのためにシングルＥＣＣが提供される。
【００２２】
図８は、ＥＣＣが内部バッファ回路に提供されたメモリシステム８００の第３実施形態を表わす。メモリシステム８００は、フラッシュメモリコントローラ８０５と、複数（Ｎ）のＮＡＮＤメモリ装置を含むメモリブロックとを含む。複数（Ｎ）のＮＡＮＤメモリ装置は、メモリ装置８１１、８２１、そして、図８に図示されていない他のメモリ装置を含む。メモリコントローラ８０５は、ホストインターフェース（または、カードインターフェース）８１０及びエンコーダ８４５（図８には図示しないが、図９には図示されている）を含む。また、メモリコントローラ８０５は、ＮＡＮＤインターフェース８４０、ＣＰＵ８５０、バッファ８２０、そして、デコーダ８３０を含み、いずれもシステムバス８６０によって連結される。ＮＡＮＤインターフェース８４０は、図８に図示されたように、対応する通信チャンネルを通じて前記各メモリ装置８１１、８２１に連結されるＤＭＡコントローラ８４４を含む。
【００２３】
図９は、図８のメモリシステムに含まれるバッファコントローラの実施形態を表わす。図９に図示されているように、エンコーダ８４５は、エンコーディングされたユーザーデータをバッファ８２０に保存し、バッファコントローラのレジスタ９９０に個別的にパリティビットを保存する。
【００２４】
図８及び図９に図示された前述の実施形態で、エンコーダ８４５は、メモリコントローラ８０５のバッファコントローラに備えられる。エンコーダ８４５は、ホストインターフェース（または、カードインターフェース）とバッファとの間に備えられ、ホストからメモリシステムに送られたユーザーデータをエンコーディングする。また、ＦＴＬデータのための他のエンコーダも利用可能である。エンコーディングされたデータは、バッファメモリに保存され、パリティビットは、バッファコントローラのレジスタにそれぞれ保存される。一方、ただ一つのシングルデコーダのみが使われる。
【００２５】
望ましくは、各通信チャンネルのために分離されたＥＣＣを含む図１及び図２に図示された通常の配置とは対照的に、図８及び図９の配置では、多数の通信チャンネルを通じてメモリ装置に提供されるユーザーデータのためにシングルＥＣＣが提供される。
【００２６】
図１０は、ＥＣＣが内部バッファ回路に提供されたメモリシステム１０００の第４実施形態を表わす。メモリシステム１０００は、フラッシュメモリコントローラ１００５と、複数（Ｎ）のＮＡＮＤメモリ装置を含むメモリブロックとを含む。複数（Ｎ）のＮＡＮＤメモリ装置は、メモリ装置１０１１、１０２１、そして、図１０に図示されていない他のメモリ装置を含む。メモリコントローラ１００５は、ホストインターフェース（または、カードインターフェース）１０１０及びバッファ１０２０を含む。また、メモリコントローラ１００５は、ＮＡＮＤインターフェース１０４０、そして、ＣＰＵ１０５０、シンドローム計算（ｓｙｎｄｒｏｍｅ  ｃａｌｃｕｌａｔｉｏｎ：ＳＣ）ブロック１０４５、さらに、ＳＲＡＭ１０３０を含み、いずれもシステムバス１０６０によって連結される。ＮＡＮＤインターフェース１０４０は、図１０に図示されたように、対応する通信チャンネルを通じて各メモリ装置１０１１、１０２１に連結されるＤＭＡコントローラ１０４４を含む。
【００２７】
図１１は、図１０のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。図１１に図示されているように、シンドローム計算（ＳＣ）ブロック１０４５は、シンドローム値を計算し、エラーが発生すれば、デコーダ１１９０は、エラーを訂正する。
【００２８】
図１０及び図１１に図示された前述の実施形態で、シンドローム計算（ＳＣ）ブロック１０４５とデコーダ１１９０は、メモリコントローラ１００５のバッファコントローラに備えられる。エラー検出プロセッサは、インターリーブモード（ｉｎｔｅｒｌｅａｖｅ  ｍｏｄｅ）でＤＭＡを利用したバッファメモリへのデータ伝送と結合されて実行される。ＳＣブロック１０４５は、シンドローム値を計算し、エラーが発生すれば、エラーを訂正するためにパイプラインモード（ｐｉｐｅｌｉｎｅｄ  ｍｏｄｅ）がデコーダ１１９０によって実行される。
望ましくは、各通信チャンネルのために分離されたシンドローム計算器とデコーダとを含む図１と図２とに図示された通常の配置と対照的に、図１０と図１１の配置では、多数のメモリ装置から多数の通信チャンネルを経て抽出された多数のデータのためにシングルＥＣＣが提供される。
【００２９】
図１２は、ＥＣＣが内部バッファ回路に提供されたメモリシステムのデコーディング動作を表わす。
Ｔ０からＴ１の間に、データは、メモリ装置からバッファメモリまで二つのチャンネルを通じて同時に伝送され、同時にシンドローム値は計算される。第１及び第２バッファは、同時にデータを読み取ってチャンネルがエラーを有すれば、前記動作はエラー訂正段階に進行する。
【００３０】
Ｔ１からＴ２の間に、デコーダブロックは、シングルデコーダと多数のバッファとを用いてパイプラインモードで動作するので、先に第１チャンネルのシンドローム値でエラー位置を計算し、連続的に第２チャンネルのエラー位置を計算する。バッファは、シンドローム値を計算するためにリードデータを保存し、バッファは、デコーディングプロセスの間にエラー位置とパターンを計算するためのデータとを保存し、そして、バッファは、ホストへの伝送のために訂正されたデータを保存する。Ｔ２からＴ３までの区間の間に、プロセスが続いて反復され、同じ区間の間に二つのチャンネルからデータを出力し、二つのチャンネルに対する連続データが入力されて次のフレームで検出及びデコーディングされる。
【００３１】
図１３は、ＥＣＣが内部バッファ回路に提供されたメモリシステムの性能対比図で、メモリシステムの処理量とセクターエラー率とを比べた図である。図１３に図示されたように、ＥＣＣが内部バッファ回路に提供されるメモリシステムは、高セクターエラー率がある場合に増加した処理量の性能を表わす。
【００３２】
ここでは、望ましい実施形態が説明されたが、本発明の概念と範囲内で多様な変形が可能である。このような変形は、ここで、明細書、図面、請求項の検査後に、当業者に明確化になるであろう。したがって、本発明は、特許請求の範囲の技術的思想を除外して制限してはならない。
【産業上の利用可能性】
【００３３】
本発明は、エラー訂正エンコーディングを採用したメモリシステムに関連の技術分野に適用可能である。
【図面の簡単な説明】
【００３４】
【図１】フラッシュメモリシステムのブロック図を表わす。
【図２】エラー訂正コーダ（ＥＣＣ）ブロックとメモリ装置との間の連結を表わす。
【図３】フラッシュメモリデコーダの通常のデコーディング動作を表わす。
【図４】ＥＣＣが内部バッファ回路に提供されたメモリシステムの第１実施形態を表わす。
【図５】図４のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。
【図６】ＥＣＣが内部バッファ回路に提供されたメモリシステムの第２実施形態を表わす。
【図７】図６のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。
【図８】ＥＣＣが内部バッファ回路に提供されたメモリシステムの第３実施形態を表わす。
【図９】図８のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。
【図１０】ＥＣＣが内部バッファ回路に提供されたメモリシステムの第４実施形態を表わす。
【図１１】図１０のメモリシステムに含まれるバッファコントローラの一実施形態を表わす。
【図１２】ＥＣＣが内部バッファ回路に提供されたメモリシステムのデコーディング動作を表わす。
【図１３】ＥＣＣが内部バッファ回路に提供されたメモリシステムの性能対比図でメモリシステムの処理量とセクターエラー率とを比べた図である。
【符号の説明】
【００３５】
４００：メモリシステム
４０５：フラッシュメモリコントローラ
４１０：ホストインターフェース（または、カードインターフェース）
４１１、４２１：メモリ装置
４２０：バッファ
４３０：ＳＲＡＭ
４４０：ＮＡＮＤインターフェース
４４４：ＤＭＡコントローラ
４４５：エンコーダ
４５０：ＣＰＵ
４６０：システムバス
６００：メモリシステム
６０５：フラッシュメモリコントローラ
６１０：ホストインターフェース（または、カードインターフェース）
６１１、６２１：メモリ装置
６２０：バッファ
６３０：デコーダ
６４０：ＮＡＮＤインターフェース
６４４：ＤＭＡコントローラ
６４５：エンコーダ
６５０：ＣＰＵ
６６０：システムバス
８００：メモリシステム
８０５：フラッシュメモリコントローラ
８１０：ホストインターフェース（または、カードインターフェース）
８１１、８２１：メモリ装置
８２０：バッファ
８３０：デコーダ
８４０：ＮＡＮＤインターフェース
８４４：ＤＭＡコントローラ
８４５：エンコーダ
８５０：ＣＰＵ
８６０：システムバス
９９０：レジスタ
１０００：メモリシステム
１００５：フラッシュメモリコントローラ
１０１０：ホストインターフェース（または、カードインターフェース）
１０１１、１０２１：メモリ装置
１０２０：バッファ
１０３０：ＳＲＡＭ
１０４０：ＮＡＮＤインターフェース
１０４４：ＤＭＡコントローラ
１０４５：ＳＣブロック
１０５０：ＣＰＵ
１０６０：システムバス
１１９０：デコーダ
【図１】
2008299855.tif 000003
【図２】
2008299855.tif 000004
【図３】
2008299855.tif 000005
【図４】
2008299855.tif 000006
【図５】
2008299855.tif 000007
【図６】
2008299855.tif 000008
【図７】
2008299855.tif 000009
【図８】
2008299855.tif 000010
【図９】
2008299855.tif 000011
【図１０】
2008299855.tif 000012
【図１１】
2008299855.tif 000013
【図１２】
2008299855.tif 000014
【図１３】
2008299855.tif 000015