(57)【要約】  不揮発性メモリデバイスはコントローラを備え、メモリ動作を制御しかつレガシーメモリデバイスのメモリおよび通信特性を模倣する方法を含む。かくして、メモリデバイスは、レガシーメモリデバイスとともに動作するように本来設計されたホストに適合する。とりわけコントローラは、マルチビットメモリ、誤り訂正要求、メモリの上書き支援状況、消去可能なブロックサイズ等の差異を考慮に入れながらホストに対し模倣を遂行する。
2009516889.tif 000002
【特許請求の範囲】
【請求項１】
第１のセットのメモリおよび通信特性を有するメモリデバイスを、前記第１のセットとは異なる第２のセットのメモリおよび通信特性を有するレガシーメモリデバイスとともに動作するように本来設計されたホストとともに動作するように適応させる方法であって、
前記メモリデバイスと前記ホストとの間にインターフェイス回路を設けるステップと、
前記第１のセットのメモリおよび通信特性を有する前記メモリデバイスを、前記第２のセットのメモリおよび通信特性とともに動作する前記ホストに連係するステップと、を備え、
前記連係するステップは、前記第１および第２のセットのメモリおよび通信特性間に存在する少なくとも１つの差異を解決し、前記少なくとも１つの差異は、基本的には誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択される方法。
【請求項２】
請求項１記載の方法において、
前記メモリデバイスはマルチビットメモリセルを備え、前記レガシーメモリデバイスは、単一ビットメモリセルを有する前記レガシーメモリデバイスを動作させるように設計される方法。
【請求項３】
請求項１記載の方法において、
前記少なくとも１つの差異は、前記第１のセットの動作特性の中でメモリ動作状態を指示するステータスビットを含み、
前記連係するステップは、
前記メモリデバイスに格納されたディレクトリを保守するステップと、
前記メモリ動作状態の有無に応じて前記ステータスビットの値を前記ディレクトリに格納するステップと、をさらに備える方法。
【請求項４】
請求項１記載の方法において、
前記少なくとも１つの差異は消去可能なメモリブロックサイズを含み、前記メモリデバイスのメモリブロックサイズは、前記ホストが本来動作するように設計された、前記レガシーメモリデバイスに適合するメモリブロックサイズとは異なり、
前記連係するステップは、前記メモリデバイスのメモリブロックと前記レガシーメモリデバイスに適合するメモリブロックとをマッピングする方法。
【請求項５】
請求項４記載の方法において、
前記メモリデバイスのメモリブロックサイズは、前記レガシーメモリデバイスに適合するメモリブロックサイズより大きいメモリデバイス。
【請求項６】
請求項１記載の方法において、
前記メモリデバイスと前記ホストとを連係するステップは、非同期である方法。
【請求項７】
第１のメモリシステムとともに動作するように設計されたホストを有するシステムであって、前記ホストは前記第１のメモリシステムから引き出されたデータの誤りを第１の誤り訂正符号（ＥＣＣ）により訂正し、第２のＥＣＣを使用する第２のメモリシステムとともに前記ホストを動作させる方法であって、
前記第２のメモリシステムに第２のＥＣＣ計算モジュールを設けるステップと、
前記第２のメモリシステムから引き出されたデータのため、前記第２のＥＣＣ計算モジュールを用いて前記第２のＥＣＣを処理するステップと、
第２のＥＣＣによって処理された前記データを用いて前記第１のＥＣＣを計算するステップと、
前記データを前記第１のＥＣＣとともに前記ホストへ提示するステップと、
を備える方法。
【請求項８】
請求項７記載の方法において、
前記第２のメモリシステムはマルチビットメモリセルを備え、前記第１のメモリシステムは単一ビットメモリセルを備える方法。
【請求項９】
メモリデバイスであって、
第１のセットのメモリおよび通信特性を備える少なくとも１つのメモリチップと、
レガシーホストへ結合するためのコネクタと、
前記レガシーホストは、第２のセットのメモリおよび通信特性を有するレガシーメモリデバイスとともに動作するように設計されているが、前記少なくとも１つのメモリチップと直接的に動作するようには設計されておらず、
前記レガシーホストが前記コネクタへ結合されているときに前記メモリデバイスが前記レガシーメモリを模倣することを可能にするため、前記コネクタと前記少なくとも１つのメモリチップとの間に結合されるインターフェイス回路と、を備え、
前記インターフェイス回路は、前記第１および第２のセットのメモリおよび通信特性間に存在する少なくとも１つの差異を解決し、前記少なくとも１つの差異は、基本的には誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択されるメモリデバイス。
【請求項１０】
請求項９記載のメモリデバイスにおいて、
前記メモリデバイスはマルチビットメモリセルを備え、前記レガシーホストは単一ビットメモリセルを有する前記レガシーメモリデバイスを動作させるように設計されるメモリデバイス。
【請求項１１】
請求項９記載のメモリデバイスにおいて、
前記少なくとも１つの差異は、前記第２のセットの動作特性の中で誤り訂正符号（ＥＣＣ）を含み、
前記インターフェイス回路は、前記ＥＣＣを処理するＥＣＣ計算モジュールを含むメモリデバイス。
【請求項１２】
請求項９記載のメモリデバイスにおいて、
前記少なくとも１つの差異は、前記第１のセットの動作特性の中でメモリ動作状態を指示するステータスビットを含み、
前記インターフェイス回路は、
前記少なくとも１つのメモリチップに格納されるディレクトリと、
前記メモリ動作状態の有無に応じて前記ステータスビットの一状態または代替の状態を前記ディレクトリに格納する回路と、を含むメモリデバイス。
【請求項１３】
請求項９記載のメモリデバイスにおいて、
前記少なくとも１つの差異はメモリブロックサイズを含み、前記メモリデバイスは前記レガシーメモリデバイスのメモリブロックサイズより大きいメモリブロックサイズを有するメモリデバイス。
【請求項１４】
請求項９記載のメモリデバイスにおいて、
前記少なくとも１つの差異は各メモリセルに格納されるビット数を含み、前記メモリデバイスは、前記レガシーホストが本来動作するように設計された、前記レガシーメモリデバイスより多くのビットを各メモリセルにつき格納するメモリデバイス。
【請求項１５】
請求項９記載のメモリデバイスにおいて、
前記インターフェイス回路は、
前記ホストと連係する非同期ホストインターフェイス装置と、
前記少なくとも１つのメモリチップと連係する非同期メモリチップインターフェイス装置と、
前記非同期ホストインターフェイス装置と前記非同期メモリチップインターフェイス装置とを制御する制御装置と、
をさらに備えるメモリデバイス。
【請求項１６】
請求項１５記載のメモリデバイスにおいて、
前記インターフェイス回路は、
前記第１および第２のセットのメモリおよび通信特性間に存在する差異を解決するために前記制御装置によって実行される１セットのコードをさらに備えるメモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に不揮発性半導体メモリに関し、具体的には２状態の小ブロックサイズメモリと協働するように本来設計されたレガシーホストに対し後方互換性を持つ不揮発性半導体メモリに関する。
【背景技術】
【０００２】
不揮発性電荷蓄積が可能な固体メモリは、特に小形形状のファクタカードとしてパッケージ化されたＥＥＰＲＯＭとフラッシュＥＥＰＲＯＭの形状をとり、最近では情報家電や家庭用電子製品を中心に様々なモバイル／ハンドヘルドデバイスの記憶装置として好まれるようになった。同じく固体メモリであるＲＡＭ（ランダムアクセスメモリ）と違って、フラッシュメモリは不揮発性であり、電源を切った後でもその格納データを保持する。また、フラッシュメモリは、ＲＯＭ（読み出し専用メモリ）と違って、ディスク記憶デバイスのように書き換え可能である。磁気ディスクドライブに比べてコストが高いにもかかわらず、大容量記憶の用途におけるフラッシュメモリの使用は拡大しつつある。ハードドライブやフロッピーディスク等、回転磁気媒体に基づく従来の大容量記憶は、モバイル／ハンドヘルド環境に不向きである。なぜならば、ディスクドライブはかさばり、機械的故障が起きやすく、長い待ち時間と電力要求が大きいからである。このような望ましくない特性を持つディスク方式の記憶装置は、ほとんどのモバイル／ポータブル用途において実用的でない。一方、フラッシュメモリは、埋め込み形でも着脱可能なカードの形状をとるものでも、その小さなサイズ、低い消費電力、高速、高信頼性の特性ゆえにモバイル／ハンドヘルド環境に最適である。
【０００３】
フラッシュＥＥＰＲＯＭは、消去が可能でそのメモリセルに新しいデータを書き込める、すなわち「プログラム」できる、不揮発性メモリであるという点がＥＥＰＲＯＭ（電気的に消去可能でプログラム可能な読み出し専用メモリ）に類似する。いずれも通常は、半導体基板のチャネル領域上、ソース領域とドレイン領域との間に配置された電界効果トランジスタ構造によるフローティング（分離）導電性ゲートを利用する。フローティングゲートの上にはコントロールゲートを設ける。トランジスタのしきい値電圧特性は、フローティングゲート上に保持される電荷の量によって制御される。つまり、フローティングゲート上の一定レベルの電荷に応じてコントロールゲートに印加すべき対応する電圧（しきい値）があり、これが印加されることによりトランジスタは「オン」に切り替わり、そのソース領域とドレイン領域との導通が可能となる。特にフラッシュＥＥＰＲＯＭ等のフラッシュメモリでは、メモリセルからなるブロック全体を同時に消去できる。
【０００４】
フローティングゲートは幅広い電荷を保持でき、それによりしきい値電圧ウィンドウの中の任意のしきい値電圧レベルまでプログラムできる。しきい値電圧ウィンドウのサイズはデバイスの最小しきい値レベルと最大しきい値レベルによって決まり、これはフローティングゲートにプログラムできる電荷の範囲に一致する。しきい値ウィンドウは普通、メモリデバイスの特性と、動作条件と、履歴とに依存する。原則として、ウィンドウの中の各固有の分解可能なしきい値電圧レベル範囲が一定のメモリセル状態を指定するために用いられる。
【０００５】
メモリセルとして働くトランジスタは通常、２通りの手段の一方によって「プログラム済み」状態までプログラムされる。「ホットエレクトロン注入法」では、ドレインに印加される高電圧によって基板チャネル領域上の電子が加速する。同時に、コントロールゲートに印加される高電圧は、薄いゲート誘電体を通じてフローティングゲートまでホットエレクトロンを引き寄せる。「トンネル注入法」では、基板を基準としてコントロールゲートに高電圧を印加する。かくして、電子は基板から介在するフローティングゲートまで引き寄せられる。これまで、メモリ状態を変えるためメモリセルの最初に消去済みの電荷蓄積単位に電子を注入することによってメモリに書き込むことを表す用語として「プログラム」が歴史的に使われてきたが、現在は「書き込み」や「記録」等、より一般的な用語が代わりに使われるようになっている。
【０００６】
メモリデバイスの消去にはいくつか手段がある。ＥＥＰＲＯＭの場合、コントロールゲートを基準として基板に高電圧を印加し、フローティングゲートの電子を薄い酸化物を通じて基板チャネル領域まで誘導することによってメモリセルを電気的に消去できる（すなわち、ファウラ・ノルドハイム・トンネル）。ＥＥＰＲＯＭは通常、バイト毎に消去可能である。フラッシュＥＥＰＲＯＭの場合、メモリは一度に全部または一度に１つ以上の最小の消去可能なブロックを電気的に消去でき、最小の消去可能なブロックは１つ以上のセクタからなり、各セクタは５１２バイト以上のデータを格納する。
【０００７】
メモリデバイスは通常、カード上に装着される１つ以上のメモリチップを備える。各メモリチップは、復号器や消去回路、書き込み回路、および読み出し回路等の周辺回路によって支援されるメモリセルアレイを備える。より精緻なメモリデバイスには、知的で高度なメモリ操作とインターフェイスを遂行するコントローラも付属する。
【０００８】
現在、商業的に成功を収めた不揮発性の固体メモリデバイスが数多く使われている。これらのメモリデバイスはフラッシュＥＥＰＲＯＭであったり、タイプの異なる不揮発性メモリセルを採用するものであったりしてもよい。米国特許第５，０７０，０３２号（特許文献１）、第５，０９５，３４４号（特許文献２）、第５，３１５，５４１号（特許文献３）、第５，３４３，０６３号（特許文献４）、および第５，６６１，０５３号（特許文献５）、第５，３１３，４２１号（特許文献６）、並びに第６，２２２，７６２号（特許文献７）には、フラッシュメモリの例とこれを製造するシステムおよび方法の例が記載されている。特に、米国特許第５，５７０，３１５号（特許文献８）、第５，９０３，４９５号（特許文献９）、第６，０４６，９３５号（特許文献１０）には、ＮＡＮＤストリング構造を持つフラッシュメモリデバイスが説明されている。また、不揮発性メモリデバイスは、電荷蓄積のための誘電体層を備えるメモリセルから製造される。前述した導電性フローティングゲート素子の代わりに誘電体層が使われる。誘電体蓄積素子を利用するそのようなメモリデバイスは、Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell", IEEE Electron Device Letters, vol.21, no.11, November 2000, pp. 543-545（非特許文献１）によって説明されている。ＯＮＯ誘電体層は、ソースおよびドレイン拡散間のチャネルにわたって延在する。１データビットの電荷はドレインに隣接する誘電体層に局在化し、他のデータビットの電荷はソースに隣接する誘電体層に局在化する。例えば、米国特許第５，７６８，１９２号（特許文献１１）および第６，０１１，７２５号（特許文献１２）には、２つの二酸化シリコン層にトラッピング誘電体を挟んだ不揮発性メモリセルが開示されている。多状態データ記憶は、誘電体の中で空間的に分離した電荷蓄積領域のバイナリ状態を別々に読み出すことによって実装される。
【０００９】
先行世代のフラッシュメモリの特徴として、メモリ集積度は低く、各メモリ素子（例えば、セル）は１ビットのデータを格納し、そのアーキテクチャにおける消去ブロックのサイズは小さい。これらのレガシーメモリデバイスには、比較的単純なメモリ管理とデータ操作が求められる。着脱可能メモリカードとして実施されたこれらのレガシーメモリデバイスは通常、単純なメモリコントローラによって制御される。コストを節約するため、この単純なメモリコントローラは通常、ある特定のレガシーメモリデバイスとともに動作するように設計されたレガシーホストシステム上のソフトウェアドライバとして実装される。レガシーホストシステムとその着脱可能なメモリデバイスとの間のインターフェイスは単純なメモリコントローラが求めるのと同様に、初歩的である。
【００１０】
フラッシュメモリのメモリ容量と性能は世代ごとに向上している。メモリ容量の拡大は、半導体技術における大規模集積の向上と、各メモリ素子に２ビット以上のデータを格納する多状態メモリの実装によって可能となる。
【００１１】
読み出しおよびプログラミング性能を高めるには、アレイ内の複数の電荷蓄積素子またはメモリトランジスタを並行して読み出すか、またはプログラムする。こうして、メモリ素子の「ページ」はともに読み出されるか、またはプログラムされる。既存のメモリアーキテクチャでは通常、１行が数個の交互ページを収容し、あるいは１行で１ページを構成する。１ページのメモリ素子は全部まとめて読み出されるか、またはプログラムされる。
【００１２】
フラッシュメモリシステムの消去操作には読み出しおよびプログラミング操作とは桁違いの時間がかかることがある。そこで、かなりのサイズの消去ブロックを有しているのが望ましい。かくして、消去時間は大きなメモリセル集団にわたって償却される。
【００１３】
フラッシュメモリの性質上、データは通常、消去済みのメモリ位置に書き込まなければならない。ホストからのある特定の論理アドレスのデータを更新する場合、更新データを同じ物理メモリ位置で書き換える方法がある。つまり、論理アドレスから物理アドレスへのマッピングに変化はない。しかし、これは、その物理位置を含む消去ブロック全体を先に消去し、その後で更新済みデータを再度書き換えなければならないことを意味する。この更新方法は消去ブロック全体の消去と再書き込みを要するために非効率的であり、更新されるデータが消去ブロックのごく僅かな部分しか占めない場合はなおさらである。また、これは、メモリブロックのより頻繁な消去リサイクルを招くが、これはこの種のメモリデバイスの限られた耐久性の観点から望ましくない。
【００１４】
このように、読み出しと、プログラミングと、消去の粒度はメモリ技術の世代によって異なることがある。同様に、２状態から多状態に進歩したメモリには異なる読み出しおよびプログラミング手法が求められるほか、より精緻な誤り訂正方式が求められる。概して、後続世代のメモリは先行世代のメモリとともに動作するように設計されたレガシーホストに適合しないと言える。
【００１５】
他方、先行世代のメモリデバイスと協動するように設計された電子・計算装置は既に数多く存在する。これらのレガシーホストは通常、メモリセルアレイと単純なメモリインターフェイスを内蔵する着脱可能メモリカードと協働する。そのメモリセルはサイズが比較的小さい消去可能なブロックに編制され、各セルは僅か１ビットのデータを格納する。これらのレガシーメモリデバイスには、より新しい世代のものと違って、独自のインテリジェントメモリコントローラは付属していない。そこで、求められる僅かなメモリブロック管理はホスト側のホストプロセッサによって遂行される。このため、これらのレガシーホストは専ら特定世代のメモリデバイスと協動するように設計され、そのインターフェイスは所与のメモリシステムのハードウェア特性に合わせてカスタマイズされている。
【００１６】
メモリアーキテクチャ、コントロール、操作の差異にもかかわらず、最新のメモリ技術を用いて、これらのレガシーホストのためのメモリデバイスを製造し、それによって高集積、大容量および低コストの利点を得ることが望ましい。
【特許文献１】米国特許第５，０７０，０３２号
【特許文献２】米国特許第５，０９５，３４４号
【特許文献３】米国特許第５，３１５，５４１号
【特許文献４】米国特許第５，３４３，０６３号
【特許文献５】米国特許第５，６６１，０５３号
【特許文献６】米国特許第５，３１３，４２１号
【特許文献７】米国特許第６，２２２，７６２号
【特許文献８】米国特許第５，５７０，３１５号
【特許文献９】米国特許第５，９０３，４９５号
【特許文献１０】米国特許第６，０４６，９３５号
【特許文献１１】米国特許第５，７６８，１９２号
【特許文献１２】米国特許第６，０１１，７２５号
【特許文献１３】米国公開特許出願第２００５−０１４４３６０号
【非特許文献１】Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell", IEEE Electron Device Letters, vol.21, no.11, November 2000, pp. 543-545
【発明の開示】
【００１７】
第１のセットのメモリおよび通信特性を有する不揮発性メモリデバイスにコントローラを設け、コントローラの機能は、第２のセットのメモリおよび通信特性を有するレガシーメモリデバイスを模倣するインターフェイスおよび方法を提供することを含む。かくして、メモリデバイスは、レガシーメモリデバイスと協動するように本来設計されたレガシーホストに適合する。インターフェイスは、第１および第２のセットのメモリおよび通信特性間に存在する少なくとも１つの差異を解決し、少なくとも１つの差異は、基本的には誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択される。
【００１８】
本発明の一態様によると、非レガシーメモリデバイスは、非レガシーメモリデバイスの誤り訂正とは異なるレガシーメモリデバイスの誤り訂正を処理するように本来設計されたレガシーホストとともに動作するように適応する。これは、非レガシーメモリデバイスに適したＥＣＣ（誤り訂正符号）を処理し、次にレガシーＥＣＣを計算して、ホストに提示するためのメモリコントローラを非レガシーメモリデバイスとともに提供することにより達成される。かくして、ホストに変更を施さずとも非レガシーメモリデバイスの誤り訂正は処理される。
【００１９】
本発明のもうひとつの態様によると、レガシーホストがセクタのヘッダで更新することを期待するステータス情報は、非レガシーメモリデバイスのコントローラによって格納されるテーブルの中で保守され、更新される。かくして、非レガシーメモリデバイスが書き込み済みバイトまたはセクタの部分上書きを支援しない場合でも、レガシーホストとの適合性は保たれる。
【００２０】
本発明のさらなる特徴と利点は、その好適な実施形態の以降の説明を添付の図面と併せて解釈することにより理解される。
【発明を実施するための最良の形態】
【００２１】
レガシーホスト
図１は、レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを概略的に示す。レガシーホスト１０はコネクタ２０を有し、このコネクタがレガシーメモリデバイス３０の相補形コネクタ２０’と嵌合すると、レガシーホスト１０からレガシーメモリデバイス３０にかけて１セットのデータおよび制御線２１がつながる。
【００２２】
レガシーメモリデバイス３０は、ホスト内の埋め込みシステムの一部であってよく、あるいはメモリカード等の外部で着脱可能な記憶デバイスの形状をとる。これはメモリアレイ３２と、レガシーホストによってこれを動作させるためのインターフェイス３４とを含む。メモリセルアレイは消去可能なブロックの形に編制され、各ブロック内の全メモリセルは１つの単位として消去できる。レガシーメモリデバイスの場合、消去可能なブロックのサイズは通常、ＤＯＳセクタに一致する５１２ＭＢ等、比較的小さい。また、メモリセルは、通常は１セル当たり１ビットのデータを格納できる。レガシーメモリデバイスのメモリアーキテクチャと動作条件は、後続世代のメモリに比べて比較的単純である。その結果、レガシーメモリデバイスの場合は通常、その動作の制御にあたって単純なメモリコントローラしか要求されない。レガシーメモリデバイスのコストを抑えるため、単純なメモリコントローラは、ホスト側制御部とメモリ側制御部とに分かれる。インテリジェンスの多くはホスト側に置かれ、メモリ側制御部は最低限の機能を遂行する。したがって、メモリインターフェイス３４はメモリ側制御部として働き、通常は必要な動作電圧を提供し、場合によっては単純な連続論理機能を遂行する状態マシンを提供する。
【００２３】
レガシーホスト１０は、レガシーメモリデバイス３０に専用のホスト側制御部１２を内蔵するので、メモリデバイス３０等の特定のレガシーメモリデバイスと協動するように設計されている。前述したように、レガシーメモリデバイス３０では、それよりも新しい世代のものと違って、メモリブロック管理のほとんどがより知的なホスト側制御部によって処理される。経済的見地から、インテリジェンスはホストプロセッサから提供され、メモリコントローラ機能は通常、ホストにある１セットのソフトウェアドライバによって実装される。
【００２４】
したがって、レガシーホスト１０は専ら特定世代のメモリデバイスと協動するように設計され、そのインターフェイスは所与のメモリデバイスのハードウェア特性に合わせてカスタマイズされているとみなすことができる。通常、これらのレガシーメモリデバイスは集積回路チップの形状をとり、そのインターフェイスは単にチップのピン配列仕様によって決まる。逆に、レガシーホスト１０は概して後続世代のメモリデバイスと協働せず、したがってこれらの非レガシーメモリデバイスから提供される低コストと大容量を活かすことはできない。
【００２５】
非レガシーメモリデバイス
また、図１は、本発明の好適な実施形態に従い、レガシーホストとともに動作するように適応する非レガシーメモリデバイスを示す。非レガシーメモリデバイス１００はメモリアレイ１１０を含み、このメモリアレイは通常、単位記憶当たりの低コストと大容量を提供する後続世代のメモリ技術によって製造される。好適な実施形態において、多状態メモリセルからメモリアレイ１１０が構成され、そのメモリセルは１ビットより多くのデータを個別に格納する。
【００２６】
メモリデバイス１００は通常、レガシーメモリデバイス３０とは異なるメモリアーキテクチャおよび特性を有する。しかし、これは、レガシーホスト１０とともに動作するときに、あたかもこれがレガシーメモリデバイス３０のように見えるように実装される。メモリデバイス１００は、これを果たすため、１セットのデータおよび制御線２１をレガシーホストに接続する相補形コネクタ２０”の形状で同じホスト−メモリデバイスインターフェイスを有する。さらに、一方で後続世代のメモリアレイ１１０の要求を処理し、他方でレガシーインターフェイスエミュレーションを処理できるインテリジェンスが埋め込まれたメモリコントローラ１２０を有する。
【００２７】
メモリコントローラ１２０は、メモリアレイインターフェイス１３０と、ホストインターフェイス１４０と、メモリ管理モジュール１５０とを含む。メモリアレイインターフェイス１３０は、メモリアレイ１１０とメモリ管理モジュール１５０とを連係させる。ホストインターフェイス１４０は、レガシーホスト１０とメモリ管理モジュール１５０とを連係させる。また、メモリコントローラ１２０は、必要な供給電圧とクロックを制御するアナログモジュール（図示せず）等の他のモジュールを含む。
【００２８】
メモリ管理モジュール１５０はさらに、誤り訂正符号（「ＥＣＣ」）モジュール２００と、メモリブロック管理モジュール３００と、ステータスビット管理モジュール４００とを含む。ＥＣＣモジュール２００は、メモリアレイ１１０から引き出される、またはメモリアレイ１１０に格納される、データに対し誤り訂正操作を遂行するために使用される。メモリブロック管理モジュール３００は、消去可能なブロックにおけるデータの格納とその後の更新およびガーベッジコレクションを管理するために使用される。ステータスビット管理モジュール４００は、メモリデバイスとホストの様々な状態についてステータス情報を与えるために使用される。
【００２９】
図２は、図１に示すメモリコントローラのハードウェアコンポーネントを示す。好適な実施形態において、メモリコントローラ１２０はメモリアレイインターフェイス装置１３０’とホストインターフェイス装置１４０’とを有する。図１に示すメモリ管理モジュール１５０は、バス１６０を通じて通信するマイクロプロセッサ方式のシステムの一部として実装される。
【００３０】
メモリアレイインターフェイス装置１３０’は、メモリＩ／Ｏインターフェイスコントロール１３２と、読み出しＦＩＦＯ１３４と、書き込みＦＩＦＯ１３６とを含む。読み出しおよび書き込みＦＩＦＯはそれぞれ、図１に示す線１１１を通じてメモリコントローラ１２０とメモリアレイ１１０との間で転送される非同期の読み出しまたは書き込みデータをバッファする役割を果たす。読み出しＦＩＦＯ１３４は、（後述する）メモリアレイとコントローラ内のＤＰＲＡＭバッファとの間でデータ転送の同期を図るキューである。書き込みＦＩＦＯ１３６は、ＤＰＲＡＭバッファとメモリアレイとの間でデータ転送の同期を図るキューである。メモリＩ／Ｏインターフェイスコントロール１３２は、メモリアレイとメモリ管理モジュール１５０との、特にＤＰＲＡＭバッファとの転送を制御する。メモリアレイ１１０のための制御／タイミング信号もすべてこれが生成する。好適な実施形態において、有限な状態マシンによってこれが実装される。
【００３１】
ホストインターフェイス装置１４０’は、ホストＩ／Ｏインターフェイスコントロール１４２とコマンドＦＩＦＯ１４４とを含む。コマンドＦＩＦＯ１４４は、ホストＩ／Ｏインターフェイスコントロール１４２の制御下でホスト−メモリデバイスインターフェイス２０”および２１を通じて受信するホストコマンドをバッファする。また、ホストＩ／Ｏインターフェイスコントロールは、ホストインターフェイス装置とメモリ管理モジュール１５０内のＤＰＲＡＭとの転送を制御する。ホストインターフェイス装置はホストにとって、あたかもそれがレガシーメモリデバイスのそれであるかのように見える。これは、ホストによって提供される読み出しおよび書き込みストローブからクロック制御される非同期インターフェイスである。ホストは、コントローラ１２０が低電力モードに入っているときにコマンドの発行を開始でき、コントローラが平常動作に戻っている間はコマンドＦＩＦＯ１４４によってコマンドがバッファされる。また、ホストは、実際には非レガシーメモリデバイスとともに動作している場合でも、レガシーメモリデバイス向けのユーザコマンドを発行できる。
【００３２】
図１に示すメモリ管理モジュール１５０の各種機能単位はマイクロプロセッサ方式のシステムによって実装される。インテリジェンスは、読み出し専用メモリ（「ＲＯＭ」）１５４に格納されたコードを実行するプログラム可能な制御装置（「ＰＣＵ」）１５２によって提供される。メモリコントローラ１２０を出入りするデータはデュアルポートランダムアクセスメモリ（「ＤＰＲＡＭ」）１７０に格納されて、ＰＣＵによって処理される。データ転送装置１５６は、ＤＰＲＡＭを出入りするデータのバス転送を促進する。シンクロナイザ（「ＳＹＮＣ」）１５８は、様々な非同期データ転送のタイミングを提供する。ＥＣＣ装置１８０は、データの誤り訂正を処理する。
【００３３】
ＰＣＵ１５２は、データ転送装置１５６へ至る制御信号等の動作の流れを制御する。ＰＣＵはＲＯＭ１５４またはＲＡＭに格納された必要なコードデータを実行して様々なタスクを遂行する。これらのタスクは、コマンドＦＩＦＯ１４４の解析と、しかるべきメモリアレイコマンド／アドレスシーケンスの生成、データフローの制御、書き込み保護機能の遂行、割り込み処理、ブートシーケンスの遂行、ＩＤ／ステータス読み出しの遂行等、様々な論理ブロックの制御とを含む。ＰＣＵは、ＤＰＲＡＭ１７０内のレジスタ、ホストインターフェイス装置１４０’にアクセスするほか、メモリコントローラ内のその他のレジスタおよびＦＩＦＯにアクセスする。好適な実施形態において、ＰＣＵのアーキテクチャは効率化のための別々の命令およびデータバスを有する。
【００３４】
データ転送装置１５６は状態マシンとして実装され、メモリＩ／Ｏインターフェイスコントロール１３２、ＥＣＣ装置２００、読み出しＦＩＦＯ１３４、および書き込みＦＩＦＯ１３６に対し数多くの制御信号を提供し、データバッファとメモリアレイとの間の実際のデータ転送を制御する。データ転送装置１５６はＰＣＵ１５２によって制御される。
【００３５】
デュアルポートＲＡＭ（ＤＰＲＡＭ）１７０は双方向および同期である。これは、ホストの書き込み／読み出しイネーブルクロックでデータの同期を図る。これは、ＥＣＣ処理の中間ページデータの記憶と、デバイスＩＤデータの記憶と、デバイスステータスデータの記憶とを提供する。また、これは、ＰＣＵデータのスクラッチパッドとしての役割を果たす。
【００３６】
ＥＣＣ装置２００は通常、符号器と、復号器と、訂正ロジックとを通常含むリード・ソロモン処理ロジックである。好適な実施形態において、符号器は１０バイトのパリティデータを生成する。復号器は誤りを検出し、訂正ロジックはＤＰＲＡＭバッファ１７０内のデータを訂正する。符号化、復号化、および訂正操作は、ＰＣＵ１５２とデータ転送装置１５６の制御下で遂行される。
【００３７】
レガシーホストとともに動作するときのメモリデバイスの誤り訂正
本発明の一態様によると、非レガシーメモリデバイスは、非レガシーメモリデバイスの誤り訂正とは異なるレガシーメモリデバイスの誤り訂正を処理するように本来設計されたレガシーホストとともに動作するように適応する。これは、非レガシーメモリデバイスに適したＥＣＣ（誤り訂正符号）を処理し、次にレガシーＥＣＣを計算し、ホストに提示するためのメモリコントローラを非レガシーメモリデバイスとともに提供することにより達成される。かくして、ホストに変更を施さずとも非レガシーメモリデバイスの誤り訂正は処理される。
【００３８】
前述したように、レガシーホスト１０はレガシーメモリデバイス３０とともに動作するように設計されている。レガシーメモリデバイス３０は通常、１メモリセル当たり１ビットのデータ格納を支援するメモリだから、これに求められる誤り訂正は単純であり、さもなくば誤り訂正は必要ない。
【００３９】
図３は、レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを満足させながら同時に非レガシーメモリデバイスにも対応するためのコントローラによって提供されるＥＣＣモジュールを示す。ホスト１０は、前述したように、レガシーメモリデバイス３０を制御するソフトウェアドライバとして通常実装される埋め込みメモリコントローラ１２を有する。レガシーメモリデバイスに誤り訂正が必要ではない場合、ホストの設計にＥＣＣ機能はおりこまれない。レガシーメモリデバイスに誤り訂正が必要な場合、その誤り訂正は通常は比較的単純であり、単一ビットエラーを訂正すれば事足りる。この場合のＥＣＣ計算はソフトウェアメモリコントローラ１２によって相応に処理される。
【００４０】
しかし、例えば１メモリセル当たり２ビット以上を支援するもの等の、非レガシーメモリデバイス１００の場合、より精緻で複雑な誤り訂正が求められる。これは、レガシーメモリデバイス３０向けに本来設計されたホスト１０に元のＥＣＣが組み込まれている場合には元のＥＣＣに適合しない。
【００４１】
図１に示すように、非レガシーメモリデバイス１００はメモリコントローラ１２０を含み、このメモリコントローラはＥＣＣモジュール２００を有する。ＥＣＣモジュール２００は、レガシーメモリデバイスＥＣＣコンポーネント２１０と非レガシーメモリデバイスＥＣＣコンポーネント２２０とを備える。非レガシーメモリデバイスＥＣＣコンポーネント２２０は好ましくは、図２に示すＥＣＣ装置１８０と同様に、ハードウェアＥＣＣ装置である。レガシーメモリデバイスＥＣＣコンポーネント２１０は、ソフトウェアプロセッサとして、ＲＯＭ１５４とＰＣＵ１５２でのコードの組み合わせにより実装できる。
【００４２】
図４Ａは、ホストとレガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のＥＣＣを示す。論理セクタ３０２は、ユーザデータを格納するデータ部３０４と、システム情報を格納するヘッダまたはオーバーヘッド部３０６とを備える。セクタのデータ部が書き込まれると、ホスト内のレガシーコントローラ１２によって誤り訂正符号ＥＣＣ１が計算され、セクタのヘッダ部に格納される。セクタのデータ部がレガシーメモリ３２から読み出されるときには、ヘッダのＥＣＣ１がデータから計算されたＥＣＣ１’に照合される。不一致がある場合には、格納されたＥＣＣ１を使って引き出されたデータを訂正する。
【００４３】
図４Ｂは、ホストと非レガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のＥＣＣを示す。本発明は、この場合、各セクタにデータとともに格納される適切なＥＣＣ２の処理にあたって、（図３に示す）非レガシーメモリデバイスＥＣＣコンポーネント２２０を必要とする。同様に、読み出されるデータで誤りを検出し訂正するのに格納されたＥＣＣ２を使用する。（図２に示す）ハードウェアＥＣＣ装置１８０の使用により、たとえ訂正するべきビットが数ビットある場合でも、ＰＣＵ１５２を拘束することなく、効率的な誤り訂正が保証される。
【００４４】
図４Ｃは、ホストと非レガシーメモリデバイスとの間でやり取りされる論理セクタのヘッダ内のＥＣＣを示す。レガシーメモリデバイスのＥＣＣ１を処理することを期待するレガシーホストの場合に、非レガシーメモリデバイスのＥＣＣ２が代わりに提示され処理されるとエラーが発生する。本発明は、読み出し中にデータからホストのレガシーＥＣＣ１を計算するのに、レガシーメモリデバイスＥＣＣコンポーネント２１０の使用を必要とする。書き込みの場合、ホストによって計算されるレガシーＥＣＣ１は無視できる。非レガシーメモリデバイスＥＣＣコンポーネント２２０は、適切なＥＣＣ２を計算して、セクタデータとともに非レガシーメモリ１１０に格納される。
【００４５】
非レガシーおよびレガシーメモリアーキテクチャの差異処理
単一ビット記憶とマルチビット記憶の違いのほかに、非レガシーメモリデバイスは通常、性能を高めるためにより大きい消去可能なブロックサイズを持つ。レガシーメモリデバイス向けに本来設計されたホストに非レガシーメモリデバイスを適合させる場合、ホストにとって、これが、レガシーメモリデバイスと同様のアーキテクチャとアドレス方式を持つものとして映らなければならない。
【００４６】
図５Ａは、レガシーメモリデバイスのメモリアーキテクチャとアドレス方式を示す。レガシーメモリ３０は、消去可能なブロックＨＰＢ０，ＨＰＢ１，．．．の形に編制されたメモリアレイ３２を有する。例えば消去可能なブロックは、それぞれ約５１２バイトのセクタを３２セクタ収容する。図１との関係で前に説明したように、レガシーメモリデバイス３０には経済的見地から、インテリジェンスが皆無かごく僅かな最低限のコントローラ３４だけが用意され、メモリ管理にあたってはコントローラ１２を提供するホスト１０に依存する。簡素と便宜を図るため、ホストはレガシーメモリデバイスの物理ブロックに直接アクセスし、これを管理する。このため、ホストとメモリデバイスとの間でやり取りされる実体を「ホスト物理ブロック」または（「ＨＰＢ」）と呼ぶ。ＨＰＢ番号とＨＰＢ内のセクタオフセットによって完全なアドレスが与えられる。ホストは通常、データを生成するアプリケーションを有し、そのデータはオペレーティングシステム（「ＯＳ」）によってファイルにパッケージ化される。データが生成されると、ＯＳは、生成されたデータを論理セクタに入れる。コントローラ１２はメモリ管理を担当し、論理−物理マッピングモジュール１４は論理セクタのグループをＨＰＢにマッピングする。
【００４７】
図５Ｂは、レガシーメモリデバイスの論理セクタ３０２の編制を示す。図４Ａに示すものと同様に、セクタはデータ部３０４とヘッダ部３０６に分かれている。とりわけ、ヘッダ部は、このセクタが割り振られるＨＰＢを識別するＨＰＢフィールド３０８を収容する。
【００４８】
図５Ｃは、ホストによって割り当てられ、レガシーメモリ３２のホスト物理ブロックＨＰＢに割り振られる１論理ブロックのセクタを示す。
【００４９】
図５Ｄは、ホストによって遂行される論理ブロックとホスト物理ブロックとの論理−物理マッピングを示す。コントローラは、個々の論理セクタが修正され削除されるときに、ブロック全体が消去された後に限り更新を行うことができるという制約に従い、ブロック内に格納された論理セクタの更新と削除のタスクを管理しなければならない。
【００５０】
図６Ａは、非レガシーメモリのメモリアーキテクチャを示す。メモリは、これより「メタブロック」と呼ぶ消去可能なブロックＭＢ0 ，ＭＢ1 ，．．．に分割される。各メタブロックはＨ個のセクタを収容する。よって、ＭＢ0 はセクタＳ（０），Ｓ（１），．．．Ｓ（Ｈ−１）を収容する。例えば、各メタブロックは、レガシーメモリブロックの８倍にあたる２５６個のセクタを収容する。一般的に、メタブロックは好ましくは異なるプレーンに属するセクタからなり、各プレーンのセクタは並行して操作できる。かくして、最大限の並列性が達成される。更新と削除を管理するため、論理ブロックＬＢはメタブロックＭＢにマッピングされる。
【００５１】
図６Ｂは、非レガシーメモリデバイスのコントローラによって遂行される論理ブロック−メタブロックマッピングを示す。かくして、システムは、論理ブロック内のデータを、たとえその物理位置が変化した場合でも、絶えず把握することができる。
【００５２】
図６Ｃは、レガシーホストに適合するために非レガシーメモリデバイスのコントローラによって遂行されるアドレス翻訳を示す。前述したように、レガシーホスト１０はレガシーメモリデバイス３０ともに動作するように設計され、ホスト物理ブロックＨＰＢのアドレスを交換する。非レガシーメモリデバイス１００のコントローラ２００は、ＨＰＢアドレスをメタブロックアドレスに翻訳するアドレス翻訳コンポーネント２３０と、論理ＬＢから物理ＭＢへのブロックマッピングを処理するブロックマネージャ２４０とを含む。ホスト側では、アドレス翻訳コンポーネント２３０は、ホスト側から着信するホスト物理ブロックＨＰＢを受け取り、それらをメタブロックに格納するために論理ブロック単位にパッケージ化する。非レガシーメモリコントローラ２００ではＨＰＢアドレスが論理アドレスとして扱われ、論理−論理マッピングによって論理ブロックを満たすように割り当てられ、ＨＰＢ−ＬＢマッピングテーブル２３２の中で保守される。論理ブロックＬＢ−物理ＭＢブロックマッピングは論理ブロックを記憶装置内の特定のメタブロックに結び付け、その結び付きをＬＢ−ＭＢマッピングテーブル２３４の中で保守する。
【００５３】
その後、論理ブロックに対するメタブロックの管理はブロックマネージャ２４０によって処理される。当該技術分野ではいくつかのブロック管理方式が知られている。「Non-Volatile Memory and Method with Block Management System （不揮発性メモリとブロック管理システムを用いた方法）」という米国公開特許出願第２００５−０１４４３６０号（特許文献１３）には好適な方式が開示されている。この特許出願は、その全体が本願明細書において参照により援用されている。
【００５４】
特殊なレガシーステータス処理
本発明のもうひとつの態様によると、レガシーホストがセクタのヘッダで更新することを期待するステータス情報は、非レガシーメモリデバイスのコントローラによって格納されるテーブルの中で代わりに保守され、更新される。かくして、非レガシーメモリデバイスが後述する部分上書きを支援しない場合でも、レガシーホストとの適合性は保たれる。
【００５５】
図７は、レガシーメモリデバイスにおいてステータスを伝えるヘッダフラグを収容するセクタのヘッダを示す。レガシーメモリデバイス３０の場合、ヘッダ３０６のヘッダフラグフィールド３０９を使ってステータス情報を格納する。さらに、ステータスフィールド３０９のビットは上書きできるので、フィールド内のビットは、これが設定される前に１つの状態を伝え、これが設定された後には別の状態を伝える。つまり、個別のビットは、当初の書き込みの後でも「１」から「０」へ書き換えることができる。
【００５６】
しかし、一部のデバイスではメモリの書き換えによってメモリが壊れることがあるため、非レガシーメモリデバイス１００は上書き機能を支援しない場合がある。これは特に、数あるしきい値レベルの内の１つが個別のメモリセルにプログラムされるマルチレベルメモリデバイスに当てはまる。各セルにつき２つ以上のレベルを解決する必要があるため、誤差の許容範囲は狭くなる。よって、これらのメモリは、既存のプログラム済みビットにプログラミングによる混乱をきたすことから、バイトまたはセクタの選択されたビットをプログラムする２回目の行程に耐えることができない。このように上書き機能が支援されない場合にレガシーホスト１０との互換性を保つには、オーバーヘッドビットをシミュレートする。
【００５７】
図８は、コントローラのテーブルにおける上書きステータスビットの保守を示す。コントローラ２００（図６Ｃ参照）で保守するＨＰＢ−ＬＢマッピングテーブル２３２は、ヘッダフラグを保存するために使われる。ホストは、ホストセクタ書き込み操作のたびにヘッダとセクタデータを送信する。（前に例として用いた）３２セクタの全てのヘッダは、同じＨＰＢ（ホスト物理ブロック）に対し同じＬＢ（論理ブロック）番号を収容する。この結び付きは先々の読み出しコマンドで使用するためにＨＰＢ−ＬＢテーブル２３２に保存される。コントローラがＬＢ番号をメタブロックに割り振ると、ＬＢ−ＭＢテーブル２３４（図６Ｃ参照）にこのマッピングが保存される。ホストコントローラ１２がＨＰＢでヘッダの上書きを決定する場合、この情報は、上書きできない媒体上のヘッダ３０９ではなく、ＨＰＢ−ＬＢテーブル２３２の中に保存される。
【００５８】
例えば、コピー操作（ブロック内の書き込み更新）中に元のホストブロックのセクタの更新ステータスビットは、ホストがそのブロックを消去するまで、設定（アクティブ）される。この状態は更新操作中にＨＰＢ−ＬＢテーブル２３２に格納される。この状態は電源投入後にホストがこのＨＰＢのヘッダを読み出すときに正しく復帰させなければならないから、テーブルは媒体へ書き込まれる。更新操作が完了したらホストブロックは消去され、テーブル項目はクリアできる。
【００５９】
もうひとつの例は２ビットページステータスである。これらのビットは、全て良好であること（＝３）、セクタに異常が生じたこと（＝１）、または不良セクタからコピーされた壊れたデータがセクタに収容されていること（＝０）を指示するために使われる。不良ページを含むブロック（＝１）に向けて消去が発行されると、消去の代わりにブロック全体が不良（＝１）とマーク付けされる。新たなブロックへのコピー操作のときに不良（＝１）とマーク付けされたセクタのページステータスは新たなブロックにおいて０に設定される。ページフラグは、フラグ値をＨＰＢ−ＬＢテーブルに保存することによってシミュレートできる。
【００６０】
さらにもうひとつの例は、ブロックが大きな欠陥を含み、もはや使用されていないことを示すブロックステータスビットである。上書きビットはこのブロックのＨＰＢ−ＬＢテーブルをマーク付けし、現在のブロックを欠陥リストに加えることによってシミュレートできる。
【００６１】
これまで本発明の様々な態様を特定の実施形態との関係で説明してきたが、添付の特許請求の範囲の最大の範囲内においてその権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【００６２】
【図１】レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストとともに動作するように適応する非レガシーメモリデバイスを概略的に示す。
【図２】図１に示すメモリコントローラのハードウェアコンポーネントを示す。
【図３】レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを満足させながら同時に非レガシーメモリデバイスにも対応するためにコントローラによって提供されるＥＣＣモジュールを示す。
【図４Ａ】ホストとレガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のＥＣＣを示す。
【図４Ｂ】ホストと非レガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のＥＣＣを示す。
【図４Ｃ】ホストと非レガシーメモリデバイスとの間でやり取りされる論理セクタのヘッダ内のＥＣＣを示す。
【図５Ａ】レガシーメモリデバイスのメモリアーキテクチャとアドレス方式を示す。
【図５Ｂ】レガシーメモリデバイスの論理セクタの編制を示す。
【図５Ｃ】ホストによって割り当てられ、レガシーメモリのホスト物理ブロックＨＰＢに割り振られる１論理ブロックのセクタを示す。
【図５Ｄ】ホストによって遂行される論理ブロックとホスト物理ブロックとの間の論理−物理マッピングを示す。
【図６Ａ】非レガシーメモリのメモリアーキテクチャを示し、かつ異なるプレーンの最小消去単位を結び付けて構成されるメタブロックを示す。
【図６Ｂ】非レガシーメモリデバイスのコントローラによって遂行される論理ブロック−メタブロックマッピングを示す。
【図６Ｃ】レガシーホストに適合するために非レガシーメモリデバイスのコントローラによって遂行されるアドレス翻訳を示す。
【図７】レガシーメモリデバイスにおいてステータスを伝えるヘッダフラグを収容するセクタのヘッダを示す。
【図８】コントローラのテーブルにおける上書きステータスビットの保守を示す。
【図１】
2009516889.tif 000003
【図２】
2009516889.tif 000004
【図３】
2009516889.tif 000005
【図４Ａ】
2009516889.tif 000006
【図４Ｂ】
2009516889.tif 000007
【図４Ｃ】
2009516889.tif 000008
【図５Ａ】
2009516889.tif 000009
【図５Ｂ−５Ｃ】
2009516889.tif 000010
【図５Ｄ】
2009516889.tif 000011
【図６Ａ】
2009516889.tif 000012
【図６Ｂ】
2009516889.tif 000013
【図６Ｃ】
2009516889.tif 000014
【図７】
2009516889.tif 000015
【図８】
2009516889.tif 000016
【国際調査報告】
2009516889.tif 000017
2009516889.tif 000018
2009516889.tif 000019