(57)【要約】      （修正有）【課題】同じブロックまたは別のブロックのいずれかのブロックの未使用ページに新しいデータをプログラムすることにより、不揮発性メモリブロックのページのすべてよりも少ないページ数でデータを更新する。【解決手段】無変化のデータページを新しいブロックの中へコピーしたり、置換されたデータページの中へフラグをプログラムしたりする必要がないようにするために、この新しいデータページは、置換されたデータページと同じ論理アドレスにより特定され、各ページがいつ書込まれたかを記すタイムスタンプが付加される。上記データを読出すとき、最新のデータページが使用され、旧い置換されたデータページは無視される。この技法は、ユニットのうちの１ユニット内の単一の未使用ブロックに更新されるすべてのページを向けることにより、メモリアレイのいくつかの異なるユニットの各々から得られる１ブロックを含むメタブロックにも適用される。【選択図】図８
2008226254.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性電荷記憶エレメント群のアレイが一括消去可能な記憶エレメントのブロック群に組織化され、前記各ブロック内の複数の各ページが１ユニットとしてプログラム可能となっている前記アレイを有するメモリシステムを動作させる方法であって、
ページ内にデータを書き込むステップの中で、データがブロックのページ内に順次書き込まれるステップと、
１以上の更新ページ内に更新データを書き込むことにより、１以上のページ内に先に書き込まれていたデータを更新し、先に書き込まれていたデータのページと更新データのページを同じ論理アドレスにより特定するステップと、
データを書き込まれたのとは逆の順序でブロックのページからデータを順次読出し、すでに読出されたデータからのページと同じ論理アドレスを持ついずれのページ内のデータも無視するステップと、
を有するメモリシステムを動作させる方法。
【請求項２】
請求項１記載のメモリシステムを動作させる方法において、
前記１以上のページ内に先に書き込まれていたデータを更新するステップは、ブロック内の全てのページよりも少ない数のページ内のデータを更新しながら、同じブロックの残りの１以上のページ内のデータは更新しないように制限されている方法。
【請求項３】
請求項２記載のメモリシステムを動作させる方法において、
前記方法が実行されるメモリシステムは、電荷記憶エレメントとして導電性フローティングゲートを利用する方法。
【請求項４】
請求項１記載のメモリシステムを動作させる方法において、
前記ページ内にデータを書き込むステップの中で、データが書き込まれる個々のページの論理アドレスも個々のページ内に書き込まれる方法。
【請求項５】
請求項１記載のメモリシステムを動作させる方法において、
前記ページ内にデータを書き込むステップの中で、データが３以上の格納状態を持つページの個々の記憶エレメントに書き込まれ、それによって個々の記憶エレメントに２ビット以上のデータを格納する方法。
【請求項６】
請求項１記載のメモリシステムを動作させる方法において、
前記方法が実行されるメモリシステムは、電荷記憶エレメントとして導電性フローティングゲートを利用する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体不揮発性データ格納システムのアーキテクチャの技術分野および上記アーキテクチャの動作方法に関し、フラッシュ型の電気的に消去可能でプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）に基づくデータ格納システムに適用される。
【背景技術】
【０００２】
フラッシュＥＥＰＲＯＭデバイスの一般的利用として、電子デバイス用大容量データ記憶のサブシステムとしての利用がある。このようなサブシステムは、複数のホストシステムの中へ挿入可能な取り外し可能なメモリカードとして、または、ホストシステム内の取り外し不可能な組み込み型記憶装置としてのいずれかの形で一般に具現化される。上記双方の実装構成にはサブシステムに１以上のフラッシュデバイスが含まれ、またサブシステムコントローラが含まれる場合も多い。
【０００３】
フラッシュＥＥＰＲＯＭデバイスは、トランジスタセルからなる１以上のアレイから構成され、各セルは１以上のビットデータの不揮発性格納を行う能力を有する。したがって、フラッシュメモリは、その中でプログラムされたデータの保持用電力を必要としない。しかし、一旦セルをプログラムすると、新しいデータ値での再プログラムが可能となる前にセルの消去が必要となる。これらのセルアレイはグループに分割され、読出し、プログラム、消去の各機能の効率的実装構成が提供される。大容量記憶用の代表的なフラッシュメモリ用アーキテクチャは大きなグループのセルが消去可能なブロックとなるように構成され、１ブロックには一度に消去可能な最小数のセル（消去単位）が含まれる。
【０００４】
１つの市販の形態では、１セクタのユーザデータとユーザデータおよび／またはユーザデータが格納されているブロックと関連するいくつかのオーバヘッドデータを格納できる十分なセルが各ブロックに含まれている。１セクタに含まれるユーザデータの量は、このようなメモリシステムの１つのクラスでは標準の５１２バイトであるが、何らかの別のサイズにすることも可能である。個々のセルブロックを個々に消去可能にするために必要な個々のセルブロックを相互に絶縁するためのスペースが集積回路のチップ上にとられるため、別のクラスのフラッシュメモリではブロックをかなり大きなものにしている。そのためこのような絶縁を行うためのスペースが少なくなる。しかし、さらに小さなセクタ内でのユーザデータの処理も求められるため、大きなブロックの各々が、ユーザデータの読出しとプログラミングの基本単位（プログラミングおよび／または読出し単位）である個々にアドレス可能なページにさらに分割される場合が多い。各ページは通常１セクタのユーザデータを格納するが、１ページが部分セクタまたは複数セクタを格納することもできる。本願では、“セクタ”という用語は、１単位としてホスト間を往来して転送されるユーザデータの量を意味するために用いられる。
【０００５】
大きなブロックシステム内のサブシステム用コントローラは、メモリサブシステムがホストから受信する論理アドレス（ＬＢＡ）と、メモリセルアレイ内の物理ブロック数とページアドレスとの間の変換機能を含むいくつかの機能を実行する。この変換は、論理ブロック数（ＬＢＮ）と論理ページのための中間項の使用を伴うことが多い。また、上記コントローラは、インタフェースバスを介してフラッシュメモリデバイスへ出される一連のコマンドを通じて低レベルのフラッシュ回路の動作の管理も行う。上記コントローラが行う別の機能として、誤り訂正符号（ＥＣＣ）などを利用する種々の手段によって、上記サブシステムに対して格納されたデータの完全性を保持する機能がある。
【０００６】
理想的ケースでは、１ブロックのすべてのページ内のデータは、まだ割り当てられていない消去されたブロック内のページに対して更新データを書込むことにより通常一括更新され、論理ブロック対物理ブロック番号のテーブルが新しいアドレスで更新される。次いで、原ブロックはデータを消去することができる。しかし、所定のブロック内のページのすべてよりも少ない複数のページに格納されたデータを更新する必要がある場合の方がさらに一般的である。所定のブロックの残りのページに格納されたデータは変化しないまま残る。１ブロック当たりで格納されるデータのセクタ数が多くなるシステムではこのようなことが生じる確率が高くなる。このような部分的ブロックの更新を行うために現在用いられている１つの技法として、更新対象ページのデータを対応する数の未使用の消去されたブロックのページの中へ書込み、次いで、原ブロックから新しいブロックのページの中へ上記無変化のページをコピーする技法がある。次いで、原ブロックの消去を行い、未使用ブロックのインベントリにこのブロックを追加することができる。この未使用ブロックで後程データのプログラムを行うことができる。別の技法では、更新されたページの同様の書込みを新しいブロックに対して行い、原ブロック内のページのフラグの変更により他のデータページを新しいブロックの中へコピーすることは不要となる。上記原ブロック内のページが更新され、該ページが旧いデータを含むことが示される。次いで、データが読出されると、新しいブロックのページから読出された更新されたデータが、旧いデータとしてフラグされていない原ブロックのページから読出された無変化のデータと組み合わされる。
【特許文献１】米国特許第５，８９０，１９２号
【特許文献２】米国特許出願第０９／５０５，５５５号
【発明の開示】
【０００７】
端的にかつ一般的に述べると、本発明の１つの主要な局面によれば、１ブロック内のページのすべてよりも少ないデータの更新を行う場合、原ブロックから新しいブロックへの無変化のデータのコピーと原ブロック内でのフラグの更新の必要性の双方が回避される。これは、置換されたデータページと更新されたデータページの双方のページを共通の論理アドレスを用いて保持することにより達成される。次いで原ページと更新されたデータページとは、これらのページがプログラムされた相対的順序により識別される。読出しが行われている間、同じ論理アドレスを持つページに格納された最新のデータが無変化のデータページと組み合わされ、一方、更新されたページの原バージョン内のデータは無視される。原データとは異なるブロック内のページ、または、同じブロック内の利用可能な未使用ページのいずれかのページへ上記更新データの書込みを行うことができる。１つの具体的な実装構成では、同じ論理アドレスを持つページが書込まれた相対的順序の決定を可能にする各データページと共に、あるタイムスタンプ形式が格納される。別の具体的な実装構成では、ブロック内である特定の順序でページのプログラミングを行うシステムにおいて、あるタイムスタンプ形式が各データブロックと共に格納され、ブロック内の最新ページのコピーがブロック内の該ページの物理位置により確定される。
【０００８】
これらの技法により、原ブロックから新しいブロックへ無変化のデータをコピーする必要性と、更新されたデータを含む原ブロックのページ内でフラグまたは別のデータの変更を行う必要性とが回避される。置換ページ内でフラグまたは他のデータの変更を行う必要がなくなることにより、当該同一ブロックの隣接ページ内で前回書込まれたデータが妨害を受ける可能性が除外される。上記妨害はこのような書込み動作から生じる可能性がある。また、追加のプログラム処理のパフォーマンスペナルティも回避される。
【０００９】
上記要約された技法と関連して利用することが可能な別の動作特性により、個々のメモリセルブロック内の個々のデータページの論理オフセット値が絶えず追跡され、それによって置換されたデータと同じ物理ページオフセット値と共に更新されるデータを格納する必要がなくなる。これによって新しいブロックのページのさらに効率的な利用が可能となり、置換されたデータと同じブロックの任意の消去されたページに更新データを格納することさえ可能となる。
【００１０】
本発明の別の主要な局面によれば、メモリアレイ（“サブアレイ”とも呼ばれる）の別個のユニット内に配置された２以上のブロックが、単一動作の一部としてプログラミングと読出しを行うために一括してグループ化される。本願ではこのような複数ブロックのグループを“メタブロック”と呼ぶ。メタブロックの構成ブロックは、単一のメモリ集積回路チップ上にすべて配置されるか、２以上の異なるチップ上に配置されて、２以上のこのようなチップを使用するシステム内に存在するかのいずれかとなる。これらのブロックのうちの１ブロックのページのすべてよりも少数のページ内のデータが更新されると、当該同一ユニット内の別のブロックの使用が通常要求される。実際、上述の技法またはその他の技法をメタブロックの各ブロックで別個に採用することも可能である。したがって、メタブロックの２以上のブロックのページ内のデータを更新するとき、２以上の追加ブロック内のページを使用する必要がある。例えば、上記メタブロックを形成する４つの異なるメモリユニットからなる４つのブロックがある場合、例えば、追加の４ブロックにまで、これらユニットの各ユニット内の１つのブロックが原ブロックの更新ページを格納するために使用される或る確率が生じる。原メタブロックの各ブロックについて各ユニットで１つの更新ブロックが潜在的に要求される。さらに、本発明によれば、上記メタブロック内の２以上のブロックのページから更新されたデータを上記ユニットのうちのただ１つのユニット内の共通ブロックのページに格納することができる。これにより、更新データの格納に必要な未使用の消去されたブロックの数が大幅に減少し、それによってデータの格納に利用可能なメモリセルブロックの利用がさらに効率的になる。メモリシステムがメタブロックからの単一ページを更新する頻度が高い場合、この技法は特に有用である。
【００１１】
本発明の追加の局面、特徴および利点は、実施形態例についての以下の説明の中に含まれ、添付図面と関連して読まれることが望ましい。
【発明を実施するための最良の形態】
【００１２】
現行の大ブロック管理技法についての説明
図１は、一般的なフラッシュメモリデバイス内部のアーキテクチャを示す。その主要な特徴として、外部コントローラとのインタフェースを行うための入出力（Ｉ／Ｏ）バス４１１と制御信号４１２と、コマンド信号、アドレス信号および状態信号用のレジスタを用いて内部メモリの動作を制御するメモリ制御回路４５０が含まれる。フラッシュＥＥＰＲＯＭセルからなる１以上のアレイ４００が含まれ、各アレイは、アレイ自身の行デコーダ（ＸＤＥＣ）４０１および列デコーダ（ＹＤＥＣ）４０２、１グループのセンス増幅器およびプログラム制御回路構成（ＳＡ／ＰＲＯＧ）４５４とデータレジスタ４０４を備えている。現在、メモリセルには記憶エレメントとして１以上の導電性フローティングゲートが通常含まれているが、この代わりに別の長時間電子電荷記憶エレメントを使用してもよい。各記憶エレメントについて設定される２つのレベルの電荷を用いてメモリセルアレイを動作させることも可能であり、したがって各エレメント当り１ビットのデータが格納される。上記とは別に、各記憶エレメントと関連して３以上の記憶状態を設定してもよい。その場合、１ビット以上のデータが各エレメントに格納される。
【００１３】
所望の場合、例えば、１９９９年３月３０日発行され、本願の譲受人であるサンディスク  コーポレイションに譲渡された米国特許第５，８９０，１９２号（特許文献１）に教示されているように、関連するＸデコーダ、Ｙデコーダ、プログラム／検証された回路、データレジスタ等と一体に複数のアレイ４００が設けられる。上記特許は本願明細書で上記参照により援用されている。メモリシステムの特徴に関連して、Kevin Conleyらによる２０００年２月１７日出願の同時継続中の特許出願第０９／５０５，５５５号（特許文献２）に記載がある。上記特許は、本願明細書で上記参照により明白に援用されている。
【００１４】
外部インタフェースＩ／Ｏバス４１１と制御信号４１２とは以下を含むことができる。
ＣＳ−Ｃｈｉｐ選択              フラッシュメモリインタフェースの起動に使用され
る。
ＲＳ−ＲＥＡＤストローブ        メモリアレイからのデータ転送にＩ／Ｏバスが使用
中であることを示すために使用される。
ＷＳ−Ｗｒｉｔｅストローブ      メモリアレイへのデータ転送にＩ／Ｏバスが使用中
であることを示すために使用される。
ＡＳ−Ａｄｄｒｅｓｓストローブ  アドレス情報の転送にＩ／Ｏバスが使用中であるこ
とを示す。
ＡＤ［７：０］−アドレス        このＩ／Ｏバスは、コントローラとメモリ／データ
バス制御４５０のフラッシュメモリコマンド用レジ
スタ、アドレスレジスタおよびデータレジスタ間で
のデータ転送に使用される。
【００１５】
このインタフェースは一例として示すものにすぎず、同じ機能を提供する別の信号構成の利用も可能である。図１には、フラッシュメモリの関連する構成要素を備えた一つのフラッシュメモリアレイ４００しか示されていないが、単一のフラッシュメモリチップ上に多数の同様のアレイの存在が可能である。これらのアレイは、共通のインタフェースとメモリ制御回路構成とを共有しながら、個々に独立したＸＤＥＣ、ＹＤＥＣ、ＳＡ／ＰＲＯＧおよびＤＡＴＡ  ＲＥＧ回路構成を備えて、読出し動作とプログラム動作の同時動作を可能にすることを目的とするものである。
【００１６】
Ｉ／ＯバスＡＤ［７：０］４１１と結合しているデータレジスタを介してデータはメモリアレイからデータレジスタ４０４を通って外部コントローラへ転送される。データレジスタ４０４は、センス増幅器／プログラミング回路４５４とも結合される。各センス増幅器／プログラミング回路エレメントと結合されたデータレジスタのエレメントの数は、各メモリセルの各記憶エレメントに格納されているビット数により決めてもよい。フラッシュＥＥＰＲＯＭセルの各セルには記憶エレメントとして１以上のフローティングゲートが含まれている。多状態モードでメモリセルの処理を行う場合、各記憶エレメントは２または４などの複数ビットを格納するものであってもよい。上記とは別に、メモリセルは、２進モードで処理して１記憶エレメント当たり１ビットデータの格納を目的とするものであってもよい。
【００１７】
行デコーダ４０１は、アクセス対象の物理ページを選択するためにアレイ４００に関連する行アドレスの復号化を行う。行デコーダ４０１は、メモリ制御論理回路４５０から内部行アドレスライン４１９を介して行アドレスを受け取る。列デコーダ４０２はメモリ制御論理回路４５０から内部列アドレスライン４２９を介して列アドレスを受け取る。
【００１８】
図２は、代表的な不揮発性データ格納システムのアーキテクチャを示す。このケースでは、格納メディアとしてフラッシュメモリセルが採用されている。１つの形態では、このシステムは、一方の側部に沿って延在する電気的コネクタを備えた取り外し可能なカード内にカプセル化され、このカードがホストの差込み口の中へ挿入されると、ホストとのインタフェースが行われる。上記とは別に、図２のシステムは、永久にインストールされた組み込み型回路などの形でホストシステムの中へ組み込まれる場合もある。このシステムでは、単一のコントローラ３０１が利用され、このコントローラ３０１によりハイレベルのホスト機能とメモリ制御機能とが実行される。フラッシュメモリメディアは１以上のフフラッシュメモリデバイスから構成され、このような各デバイスはそれ自身の集積回路チップ上に形成される場合が多い。上記システムコントローラとフラッシュメモリとはバス３０２により接続され、該バスによりコントローラ３０１は、コマンド、アドレスおよびフラッシュメモリアレイ間を往来する転送データのロードを行うことが可能となる。コントローラ３０１によりホストシステム（図示せず）とのインタフェースが行われ、このホストシステムを用いてフラッシュメモリアレイ間を往来するユーザデータの転送が行われる。図２のシステムがカード内に含まれているケースでは、ホストインタフェースには、カードとホスト装置とつながる接続プラグとソケットアセンブリ（図示せず）とが含まれる。
【００１９】
コントローラ３０１は、ホストからコマンドを受け取り、ある特定の論理アドレスから始まるユーザデータの１以上のセクタの読出しあるいは書込みを行う。このアドレスは、物理メモリセルブロックの境界と整合する場合もあれば、整合しない場合もある。
【００２０】
上述したように、複数ページに分割された大容量メモリセルブロックを含む従来技術によるシステムのなかには、原ブロックからホストにより書込まれた新しい更新データを含む新しいブロックへ更新されないブロックから得られるデータのコピーを行わなければならないものもある。この技法が図４に示されており、多数のメモリブロックのうち２つのブロックが含まれている。一方のブロック１１（ＰＢＮ０）は８ページに分割されて示され、このブロックのページの各ページに１セクタのユーザデータが格納されるようになっている。各ページ内に含まれるオーバヘッド用データフィールドにはブロック１１のＬＢＮを含むフィールド１３が含まれる。１論理ブロック内での論理ページの順序は、物理ブロック内の対応する物理ページに関して固定されている。第２の同様に構成されたブロック１５（ＰＢＮ１）は未使用の消去されたブロックのインベントリから選択される。原ブロック１１のページ３〜５内のデータは、新しい３データページ１７により更新される。新しいデータが新しいブロック１５の対応するページ３〜５の中へ書込まれ、ブロック１１のページ０〜２、６、７からのユーザデータは新しいブロック１５の対応するページの中へコピーされる。新しいブロック１５のすべてのページがプログラミング動作の単一シーケンスの形で好適にプログラムされる。ブロック１５のプログラム後、原ブロック１１を消去して、後で利用するためにインベントリの中に入れておくことができる。ブロック１１と１５との間のデータのコピーは、原ブロック内の１以上のページからのデータの読出しと、新しく割り当てられたブロックのページに対する同じデータの後でのプログラミングを必要とするものであるが、このコピーにより、書込みパフォーマンスが大幅に低下し、格納システムの使用可能な耐用期間が大幅に短くなる。
【００２１】
図５Ａと５Ｂを参照すると、図４との関連で説明したデータの更新前（図５Ａ）とデータの更新後（図５Ｂ）に、部分的テーブルによる論理ブロックの対応付けが原ブロック１１と新しい物理ブロック１５とに変換されて示されている。この例では、データ更新前に、ＬＢＮ０のページ０〜７が原ブロック１１によりＰＢＮ０の対応するページ０〜７の中へ格納される。このデータ更新後、ＬＢＮ０のページ０〜７が新しいブロック１５によりＰＢＮ１の対応するページ０〜７に格納される。次いで、ＬＢＮ０からデータの読出しを求める要求の受信が物理ブロック１１の代わりに物理ブロック１５へ向けられる。一般的コントローラの動作では、データフィールド１３の読出し時にアドレス指定されるＰＢＮの物理ページと情報とから読出されるＬＢＮフィールド１３から、図５Ａと図５Ｂに示すテーブルの形のテーブルが構成される。このテーブルは、アクセスを容易にするためにコントローラの揮発性メモリの中に通常格納されるが、一般に、システム全体に関連する完全なテーブルの一部が任意の１時点に格納されるにすぎない。このテーブルの一部は、このテーブル部分に含まれるブロックに関わる読出し動作またはプログラミング動作の直前に通常形成される。
【００２２】
従来技術による別のシステムでは、ユーザデータと共にフラグがページに記録され、これらのフラグを用いて、新しく書込まれたデータにより置換された原ブロック内のデータページが無効であることが示される。この新しいデータだけが新しく割り当てられたブロックへ書込まれる。したがって、書込み動作に関与しないが、置換されたデータと同じ物理ブロック内に含まれるこのブロックのページ内のデータを新しいブロックの中へコピーする必要はない。この処理が図６に示され、原ブロック２１（ＰＢＮ０）内のデータページ３〜５が再び更新されている。データ２３からなる更新ページ３〜５が新しいブロック２５の対応するページ内へ書込まれる。同じ処理の一部として、新／旧フラグ２７がページ３〜５の各々の中へ書込まれ、当該ページのデータが旧いデータであることが示されているが、一方、残りのページ０〜２、６、７用のフラグ２７は“新”にセットされた状態のままである。同様に、新しいＰＢＮ１がブロック２１のページ３〜５の各々別のオーバヘッドデータフィールドの中へ書込まれ、更新データがどこに位置するかが示される。ＬＢＮとページとは物理ページの各範囲内のフィールド３１に格納される。
【００２３】
図７Ａと７Ｂは、データの更新完了前（図７Ａ）とデータの更新完了後（図７Ｂ）のデータＬＢＮ／ページとＰＢＮ／ページとの間の対応関係を示すテーブルである。ＬＢＮの無変化のページ０〜２、６と７はＰＢＮ０の中へ対応づけられた状態のまま残り、一方、更新されたページ３〜５はＰＢＮ１内に存在することが示される。図７Ｂのテーブルは、ブロックＰＢＮ０内のページのオーバヘッドデータフィールド２７、２９、３１をデータ更新後に読出すことによりメモリコントローラにより構成される。フラグ２７が、原ブロックＰＢＮ０のページ３〜５の各ページで“旧”にセットされているため、当該ブロックは、当該ページに関連するテーブルに二度と現れることはない。逆に、新しいブロック番号ＰＢＮ１が、更新ページのオーバヘッドフィールド２９’から読出された後、代わりに出現する。データがＬＢＮ０から読出されると、図７Ｂの右欄にリストされたページに格納されたユーザデータが読出され、次いで、図示された順序で組み立てられてホストへ転送される。
【００２４】
一般に種々のフラグが、ＬＢＮやＥＣＣなどの関連する別のオーバヘッドデータと同じ物理ページに配置される。したがって、データがすでに置換されているページに新／旧のフラグ２７およびその他のフラグをプログラムすることは、１ページが複数のプログラミングサイクルをサポートすることを必要とする。すなわち、メモリアレイは、消去が行われる間にそのページが少なくとも２段階のプログラミングを行い得る能力を備えていなければならない。さらに、より高いオフセット値またはアドレスを持つブロック内の別のページが予めプログラムされているとき、ページをプログラムする能力がブロックによりサポートされている必要がある。しかし、物理的にシーケンシャルな方法でしかブロック内のページをプログラムできない旨の指定により設けられた制限に起因して、フラッシュメモリによってはこのようなフラグの利用ができないものもある。さらに、ページによっては有限回のプログラムサイクルしかサポートされていないものもあり、場合によっては、プログラムされたページの追加プログラミングが許されていない場合もある。
【００２５】
求められるメカニズムは、無変化のデータの現行ブロックからのコピー、あるいは、予めプログラムされたページに対するフラグのプログラミングのいずれも行わずに、現行のブロックに格納されたデータを部分的に置き換えるデータ書込みを行うことが可能なメカニズムである。
【００２６】
本発明の実施形態例についての説明
多くの異なるタイプのフラッシュＥＥＰＲＯＭが存在するが、これらの各ＥＥＰＲＯＭには、狭い集積回路の面積に形成される高いパフォーマンスを示すメモリシステムを動作させるために避ける必要があるそれ自身の制限が存在する。上記タイプのＥＥＰＲＯＭのなかには、予めプログラムされたページの中へデータの書込みを全く行わないものもあるため、上述したような置換されたデータを含むページ内でのフラグの更新が不可能なものもある。別のタイプのＥＥＰＲＯＭのなかには、このようなフラグの書込みが可能なものもあるが、置換されたデータを含むページに書込みを行うことにより使用状態のままになっている同じブロックの他のページ内のデータが妨害を受ける可能性がある。
【００２７】
上記の事実が問題となることが判明したメモリシステムの一例として、ビットラインと共通電位との間で連続する回路列としてメモリセルの列が形成されるＮＡＮＤ型メモリシステムがある。各ワードラインは、上記のような各回路列内の１つのセルから形成されるメモリセルの行の両端にわたって延在する。多状態モードでこのようなメモリを処理して、上記のような各セルに２ビット以上のデータを格納する場合、上記メモリは、特にメモリ状態に対する上記のような妨害を受けやすくなる。メモリセルトランジスタのしきい値電圧の範囲の利用可能なウィンドウは上記のような処理により非オーバラップ電圧レベルの狭い範囲に分割されるが、上記各範囲はレベル数、したがって、各セルに格納されているビット数の増加につれてより狭くなる。例えば、４つのしきい値範囲を用いる場合、２ビットのデータが各セルの記憶エレメントに格納される。さらに、４つのしきい値電圧の各範囲が必然的に狭いため、同じブロック内の別のセルのプログラミングによりセル状態が妨害を受ける可能性は多状態処理に伴って大きくなる。この場合、図６および図７Ａと７Ｂとに関連して説明したような新／旧または別のフラグの書込みを許容することはできなくなる。
【００２８】
図４〜７Ｂとに関連して上述した現行の各メモリ管理技法の一般的特徴として、論理ブロック数（ＬＢＮ）とページオフセット値とが、システム内で多くて２つの物理ブロック数（ＰＢＮ）に対応づけられるという点が挙げられる。一方のブロックは原ブロックであり、他方のブロックは更新されたページデータを含むブロックである。データは、上記ブロックの論理アドレス（ＬＢＡ）の下位ビットに対応するブロック内のページ位置へ書込まれる。この対応付けにより、種々のタイプのメモリシステムでの固有の特徴が示される。以下で説明する技法では、置換されたデータを含むページと同じＬＢＮとページオフセット値とが更新データを含むページに割り当てられる。しかし、置換した形で原データを含むページのタグ付けを行う代わりに、メモリコントローラは、この置換されたデータを含むページを新しい更新バージョンを含むページと識別する。この識別は、（１）カウンタなどを用いて追跡することにより、同じ論理アドレスを含むページが書込まれる順序の識別を行う、および／または、（２）ブロック内で最下位のページアドレスから最高位のページアドレスへページが順に書込まれるとき、より高位の物理アドレスに最新のデータコピーが含まれる物理ページアドレスと更新バージョンを含むページとの識別を行うかのいずれかにより行われる。したがって、読出しのためにデータのアクセスを行うとき、同じ論理アドレスを持つ置換されたデータが含まれるページが存在する場合には最新のページ内のデータが使用され、一方、置換されたデータは無視される。
【００２９】
図８と図９に関連して上記技法の第１の具体的な実装構成について説明する。この例でも状況は図４〜７Ｂに関連して説明した従来の技術の状況と同じである。すなわち、ブロック３５内でデータの部分的再書込みが行われる。但し、この例では各ブロックが１６ページを含むように示されている。ブロック３５（ＰＢＮ３５）のページ３〜５の各々に関連する新しいデータ３７が、上述の場合と同様に、予め消去された新しいブロック３９（ＰＢＮ１）の３ページの中へ書込まれる。ＬＢＮおよび更新データを含むＰＢＮ１のページの中へ書込まれるページオフセット値のオーバヘッドデータフィールド４１は、最初のブロックＰＢＮ０内の置換されたデータのページのオーバヘッドデータフィールドと同じである。フィールド４１と４１’内のデータから形成される図９のテーブルに上記のことが示されている。第１列内の論理ＬＢＮとページオフセット値とが対応づけられて、第２列内の第１の物理ブロック（ＰＢＮ０）の中へ入れられ、次いで、上記論理ＬＢＮとページオフセット値は、更新されたページについては、第３列内の第２の物理ブロック（ＰＢＮ１）の中へも入れられる。新しいブロックＰＢＮ１内の３ページの更新されたデータの各ページの中へ書込まれたＬＢＮおよび論理ページオフセット値４１’は、原ブロックＰＢＮ０の対応する論理ページの各ページの中へ書込まれるオフセット値４１と同じものである。
【００３０】
同じＬＢＮとページオフセット値とを持つ２つのページのうちいずれのページが更新データを含むかを決定するために、各ページは別のオーバヘッドフィールド４３を含み、このオーバヘッドフィールドによって、同じ論理アドレスを持つ別のページのプログラミング時刻に対する上記各ページの少なくとも相対的なプログラミング時刻の表示が行われる。これによって、メモリからデータを読出す際に、コントローラは、同じ論理アドレスが割り当てられているデータページの相対的作成時期の決定を行うことが可能となる。
【００３１】
タイムスタンプ形式を含むフィールド４３に書込みを行ういくつかの方法がある。最も単純な方法としては、当該フィールドの関連ページのデータをプログラムする際に、システム内のリアルタイムのクロック出力を当該フィールドに記録するという方法がある。その場合、同じ論理アドレスを持つ後でプログラムされたページには、フィールド４３に記録された後の時刻が出力される。しかし、このようなリアルタイムのクロックがシステムで利用できない場合、別の技法を利用することができる。１つの具体的な技法として、フィールド４３の値としてモジュロ−Ｎカウンタの出力を格納する方法がある。このカウンタ値の範囲は、同じ論理ページ番号を用いて格納することが意図されているページ数よりも１だけ大きい値にすることが望ましい。例えば、原ブロックＰＢＮ０内のある特定ページのデータを更新するとき、コントローラは、更新データを持つページのフィールド４３に格納されたカウント値をまず読出し、１などのある量だけこのカウント値を増分し、次いで、フィールド４３’として増分された当該カウント値を新しいブロックＰＢＮ１に書込む。このカウンタ値は、Ｎ＋１のカウントに達すると、０へロールオーバーする。同じＬＢＮを持つブロックの数はＮよりも少ないため、格納されたカウント値には常に不連続なポイントが存在する。この不連続ポイントに対する正規化を行って上記ロールオーバーの処理を行うことは容易である。
【００３２】
データの読出し要求が行われると、同じＬＢＡとページオフセット値とを持つページフィールド４３と４３’内のカウント値を比較して、新しいページと置換ページのデータ間の識別がコントローラにより容易に行われる。データファイルの最新バージョンを読出す必要に応じて、特定した新しいページから得られるデータは更新されていない原ページと共に組み立てられ、データファイルの最新バージョンの中へ入れられる。
【００３３】
図８の例では、新しいデータページ３７は、原ブロックＰＢＮ０内で上記新しいデータページにより置き換えられる同じページ３〜５に格納されるのではなく、新しいブロックＰＢＮ１の最初の３ページ０〜２に格納されることに留意されたい。個々の論理ページ番号を追跡することにより、置換されたデータを含む旧いブロックのページオフセット値と同じ新しいブロックのページオフセット値に上記更新データを必ずしも格納する必要はない。置換されたデータのページと同じブロックの消去されたページへ更新されたデータページを書込むことも可能である。
【００３４】
この結果、どの物理ページの中へ新しいデータの書込みが可能かについて制限を設けるような上述した技法が示す制約は存在しなくなる。しかし、これらの技法が実行されるメモリシステムに若干の制約が設けられる場合がある。例えば、１つのＮＡＮＤシステムでは、シーケンシャルな順序でブロック内のページをプログラムすることが求められる。これは、新しいブロック２５で行われたような（図６）中程のページ３〜５のプログラミングによって、後でプログラムを行うことができないページ０〜２が無駄になることを意味する。新しいブロック３９の利用可能な最初のページの新しいデータ３７をこのような限定的システムに格納すること（図８）により、別のデータを格納するために後で使用する残りのページ３〜７が利用可能となる。実際、新しいデータ３７の３ページが格納された時刻にブロック３９がそのページ０〜４に別のデータを格納すれば、残りの未使用ページ５〜７に新しいデータを格納することが可能となる。これによって、このようなシステムの利用可能な記憶容量が最大限に利用される。
【００３５】
図８のブロックの個々のページに格納されたデータの構造の一例を図１０に示す。最も大きな部分はユーザデータ４５である。ユーザデータから計算された誤り訂正符号（ＥＣＣ）４７もこのページに格納される。ＬＢＮとページタグ４１（論理ページオフセット値）とを含むオーバヘッドデータ４９、タイムスタンプ４３およびオーバヘッドデータから計算されたＥＣＣ５１もこのページに格納される。ユーザデータＥＣＣ４７から独立したオーバヘッドデータをカバーするＥＣＣ５０をオーバヘッド４９が含むことにより、オーバヘッド４９は上記ユーザデータから独立に個々に読出され、ページに格納されたデータのすべての転送を必要とせずに、このオーバヘッド４９を有効なデータとして評価することができる。しかし、上記とは別に、オーバヘッドデータ４９の別個の読出しが頻繁ではないイベントの場合、１ページ内のＥＣＣの総ビット数を減らすために、単一のＥＣＣによりこのページ内のデータのすべてをカバーする場合もある。
【００３６】
発明性を有する上記技法の第２の具体的な実装構成について図８と関連して説明することもできる。本例では、タイムスタンプを用いてブロックに格納したデータの相対的作成時期のみが決定され、一方、同じＬＢＮとページ数とを担持するページのうちの最新ページについては、そのページの相対的物理位置により当該最新ページが決定される。この場合、各ページの一部としてタイムスタンプ４３を格納する必要はない。代わりに、各ブロックについて、該ブロックの一部として単一のタイムスタンプを記録するか、不揮発性メモリ内のどこかに単一のタイムスタンプを記録するかのいずれかが行われ、次いで、ブロックの中へ１データページが書込まれる度にこのタイムスタンプの更新を行うようにしてもよい。次いで、データは、同じＬＢＮを持つデータページを含む最新の更新ブロックの最後のページから始まる降順の物理アドレスの順序でページから読出される。
【００３７】
例えば、図８では、最後のページ（ページ１５）から第１ページ（ページ０）へ新しいブロックＰＢＮ１で上記ページがまず読出され、次いで原ブロックＰＢＮ０のページの同じ逆順で読出しが後続する。一旦新しいブロックＰＢＮ１から論理ページ３、４、５が読出されてしまうと、同じ論理ページ番号により特定される原ブロックＰＢＮ０の当該ページ内の置換されたデータについては読出し処理が行われている間スキップすることができる。詳細には、一旦物理ページ３、４、５のＬＢＮ／ページ４１が、新しいブロックＰＢＮ１からすでに読出されたページのＬＢＮ／ページと同じであることがコントローラにより決定されると、この例では、読出しが行われている間、旧いブロックＰＢＮ０の物理ページ３、４、５はスキップされる。この処理により、読出し速度が上昇し、各ページについて格納の必要があるオーバヘッドビット４９の数を減らすことができる。さらに、この逆順のページ読出し技法を用いると、読出し動作中にコントローラが使用する図９のテーブルを図５Ａと５Ｂの形に単純化することが可能となる。この効率的な読出し処理を実行するためには、共通論理ブロックのデータと物理ブロックがプログラムされた相対的時刻とを含む当該物理ブロックの識別子を知るだけで十分である。
【００３８】
図１１は、ブロックＰＢＮ０に最初に書込まれたデータに対する第２の更新データが含まれる図８の例の拡張を示す図である。論理ページ５、６、７、８に関連する新しいデータ５１が、該データのＬＢＮとページ番号と共に新しいブロックＰＢＮ１のそれぞれの物理ページ３、４、５、６へ書込まれる。この例では、論理ページ５のデータは２度目に更新されたものである点に留意されたい。新しいブロックＰＢＮ１の最後のページから始まる読出し動作の最中に、関心対象データからなる最も新しく書込まれた論理ページ８、７、６、５が上記順序でまず読出される。その後、ＰＢＮ１の物理ページ２内のＬＢＮ／ページのオーバヘッドフィールドが物理ページ３から読出されるオーバヘッドフィールドと同じであるため、ページ２のユーザデータは読出されないことに留意されたい。次いで、物理ページ１と０が読出される。次に、物理ページ１５から始まる原ブロックＰＢＮ０のページが読出される。物理ページ１５〜９の読出し後、ページ８〜３の各々のＬＢＮ／ページフィールドがすでに読出されているデータを持つページのＬＢＮ／ページフィールドに一致し、したがって、当該ページから旧いデータを読出す必要がないことにコントローラは気づく。このようにして読出し処理の効率が改善される。最後に、当該データが更新されなかったため、物理ページ２〜０の原データが読出される。
【００３９】
データがページ０から順に消去されたブロックの物理ページ位置に書込まれるため、逆順にページを読出すこの例によって、置換されたデータページから新しいデータページが効率的にソートされることに留意されたい。しかし、この技法は、このようなある特定のプログラミング上の制約を持つメモリシステムの場合の使用に限定されるものではない。ページが所定のブロック内でプログラムされる順序がわかっている限り、当該ページから得られるデータが書込まれた逆順で該データを読出すことも可能である。所望のこととして、以前にプログラムされた他のページと共通のＬＢＮを持つ最新のプログラムされたページがまず読出され、次いで、これらのページが最新のプログラムされたページとなるということが挙げられる。置換されたバージョンを後で容易に特定できるように、更新ページの最新バージョンがまず読出される。
【００４０】
論理データと物理ページアドレス間の対応関係を示す図１１の例に関連するテーブルを図１２に示す。２回のデータ更新が行われたにもかかわらず、双方の更新データとも第２のブロックＰＢＮ１の単一の列により表されている。論理ページ５に関連してＰＢＮ１に書かれている物理ページは、２回目の更新時に、作成される当該ページへ単に変更されるにすぎない。この更新で第３のブロックを用いる場合、この別のブロック用の別の列が追加される。図１２のテーブルは、共通のＬＢＮのデータが書込まれたブロック内の各ページからオーバヘッドデータを読出すことにより構成され、逆方向からのページ読出し技法を利用しないときには、１回目の実装構成でこのテーブルを利用することが可能である。上述した逆方向からのページ読出し技法を利用する場合、図１２のテーブルを構成して、ＬＢＮと当該ＬＢＮのデータを含むすべてのＰＢＮとの間の対応関係を特定する必要がある。
【００４１】
１以上のページの更新が行われた、物理ブロックから読出されたデータページの効率的組織化方法が図１３により例示されている。少なくともいくつかのデータページの、好ましくは最大のデータブロックを一度にバッファできるだけの十分なスペースがコントローラの揮発性メモリの中に設けられる。これが図１３に示されている方法である。不揮発性メモリブロックに格納されている量に等しい１６のデータページがコントローラメモリに格納される。これらのページは一般に順不同に読出されるため、各データページは他のページに関してその正しい位置に格納される。例えば、図１１の逆方向からのページ読出し動作時に、論理ページ８は、この論理ページが最初の読出しページであれば、円で囲んで記した“１”で示すように、コントローラメモリの位置８に格納される。次に論理ページ７等々と処理が行われ、ホストが望むすべてのデータページが読出されて、コントローラメモリに格納されるまで処理が続けられる。次いで、バッファメモリ内のデータの順序を操作する必要なくページデータのセット全体がホストへ転送される。これらのデータページは、コントローラメモリ内のこれらのページの正しい位置への書込みによりすでに組織化されている。
【００４２】
図８と図９とに関連して説明した技法を利用する不揮発性メモリシステムのプログラミング方法が図１４のフローチャートに示されている。ブロック５２により示されるように、更新対象の現行ファイルのページに関連するデータがホストシステムから受信される。格納すべき更新データのページ数が、システムの１ブロックの記憶容量以上か否かがステップ５３によりまず判定される。説明を簡略化するために、上記記載例ではブロック容量として１６ページが示されている。格納すべき更新データのページ数がシステムの１ブロックの記憶容量以上であれば、１以上の未使用の消去されたブロックのアドレス指定がステップ５５で行われ、ステップ５７で、新しいデータページがアドレス指定されたブロックへ書込まれる。一般に、１以上のデータブロックの更新により、新しいデータにより置換されたデータを格納する１以上のブロックが結果として生じることになる。その場合、ステップ５９に示されるように、置換されたデータを持つ当該ブロックが消去用として特定される。パフォーマンスを上げるために、消去動作は、バックグラウンドで行われるか、ホストから要求されるプログラミング動作または読出し動作が行われていない時に行われることが望ましい。消去後、ブロックは別途使用するために未使用の消去されたブロックのインベントリへ戻される。上記とは別に、プログラミング動作の必要が生じるまでブロックの消去を延期することもできる。
【００４３】
一方、ステップ５３で、ブロックの最大記憶容量を利用するページよりも新しいデータページ数が少ないと判定された場合、次のステップ６１により、他のデータを用いてプログラムしたいくつかのページを持つ十分な未使用ページが１ブロック内に存在するかどうかの判定が行われる。十分な未使用ページが１ブロック内に存在すれば、ステップ６３でそのようなブロックのアドレス指定が行われる。存在しなければ、ステップ６５で、全く未使用の消去されたブロックのアドレス指定が行われる。いずれの場合も、ステップ６７で、アドレス指定したブロックの未使用ページの中へ新しいデータがプログラムされる。このプログラミング処理の一部として、上述した方法で、ＬＢＮとページオフセット値とがフィールド４１の中へ書込まれ、タイムスタンプが、更新されたデータのページ（図８）の各フィールド４３の中へ書込まれる。
【００４４】
上記プログラミング処理の望ましい特徴として、置換されたデータだけが格納された任意のブロックが将来のプログラミングに利用できるようになることが挙げられる。したがって、データ更新処理の結果、ブロック全体が単に置換されたデータと共に残っているか否かという問いがステップ６９で行われる。残っていれば、このようなブロックはステップ７１で消去用として待ち行列に入れられ、プロセスは完了する。残っていなければ、ステップ７１はスキップされ、データ更新は終了する。
【００４５】
メタブロック処理
プログラミング時間の短縮によりパフォーマンスの改善を図るために、目標として、他のペナルティを受けることなく同時にプログラム可能なできるだけ多くの数のセルをプログラムすることが挙げられる。１つの実装構成では、メモリアレイが、図１５の複数ユニット８０〜８３のような実質的に独立しているサブアレイやユニットに分割され、各ユニットは、図に示すように、多数のブロックに分割される。次いで、データページは２以上のユニットに同時にプログラムされる。別の構成では、これらユニットのうちの１以上のユニットが複数のメモリチップからさらに組み合わされる。これら複数のチップは、より高いデータスループットを達成するための（図２に示すような）単一のバスまたは複数の独立バスと接続することも可能である。この拡張として、プログラミング、読出し、消去を一括して行うために、異なるユニットからのブロックをリンクする方法がある。一例を図１５に示す。例えば、ユニット８０〜８３のそれぞれのユニットから得られるブロック８５〜８８をメタブロックとして一体に動作させることが可能である。上述したメモリの実施形態の場合と同様、メモリアレイの消去可能な最小のグループである各ブロックが複数ページに分割され、１ページにはブロック内で一体にプログラム可能な最小数のセルが含まれる。したがって、図１５に示すメタブロックのプログラミング動作には、通常、メタブロックを形成するブロック８５〜８８の各ブロックの少なくとも１ページの中へデータを同時にプログラムするステップが含まれ、このプログラミングステップは、メタブロックがいっぱいになるか、着信データがすべてプログラムされてしまうまで反復される。他のメタブロックは、各ユニットから１ブロックずつ、アレイユニットからの異なるブロックから形成される。
【００４６】
このようなメモリを動作させる過程で、他のメモリの場合と同様、ブロック全体よりも少ないデータページ数を更新する必要が生じる場合が多い。この更新は、図４または図６のいずれかと関連して上述した方法と同様の方法でメタブロックの個々のブロックについて行うこともできるが、好ましくは図８と関連して説明した改善された技法を用いて行うことが望ましい。これら３つの技法のうちのいずれかを用いてメタブロックの１ブロックのデータを更新する場合、同じユニット内の追加のメモリブロックも使用される。さらに、データ更新は、メタブロックのブロックの２以上のページうちの１以上のページに関連する新しいデータの書込みを必要とする場合もある。この書込みには、たとえ数ページ内だけのデータ更新にすぎない場合でも、メタブロックに格納されたデータファイルを更新するために、４までの追加ブロック９０〜９３（４つのユニットの各ユニット内で１ブロック）の使用が必要となる場合もある。
【００４７】
このような部分的ブロックの更新に必要なブロック数を減らすために、本発明の別の局面に基づいて、図１６に示されているように、ブロック８０内に未使用ページが残っている限り、図示されたメタブロックのブロックのうちのいずれかのブロック内でメモリユニット８０内の単一の追加ブロック９０に対するデータページの更新が行われる。例えば、３ページのブロック８６と２ページのブロック８８内のデータを一度に更新する場合、５ページ分のすべての新しいデータがブロック９０の中へ書込まれる。これにより１メモリブロックの使用が節減されるため、利用可能な消去されたブロックの数を実際に１ブロック分増やすことが可能となる。このブロックの増加は、消去されたブロックのインベントリが使い果たされるまでの時間の回避または少なくとも延長に役立つ。４つのブロック８５〜８８の各々から得られる１以上のページを更新する場合、新しいデータページのすべてが単一ブロック９０の中でプログラムされ、それによって追加の３メモリブロックの更新が回避される。新しいデータページ数が未使用ブロックの容量を上回る場合、ブロック９０が受け入れることができないページは、別の未使用ブロックへ書込まれる。この未使用ブロックは、同じユニット８０または別のユニット８１〜８３のうちの１つの中にあるものであってもよい。
【００４８】
様々な実施形態例と関連して本発明を説明してきたが、本発明は添付の特許請求の範囲の最大の範囲内において権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【００４９】
【図１】メモリ制御論理回路とデータとアドレスレジスタとを備えた従来技術による代表的なフラッシュＥＥＰＲＯＭメモリアレイのブロック図である。
【図２】システムコントローラを備えた図１のメモリを利用するアーキテクチャを示す。
【図３】図２のメモリシステムの代表的なコピー処理を示すタイミング図である。
【図４】複数ページブロックのページのすべてよりも少ない数のページでデータを更新する現行プロセスを示す。
【図５Ａ】図４の原ブロックに関連する対応する論理ブロックアドレスと物理ブロックアドレスのテーブルである。
【図５Ｂ】図４の新しいブロックに関連する対応する論理ブロックアドレスと物理ブロックアドレスのテーブルである。
【図６】複数ページのブロックのページのすべてよりも少ない数のページでデータを更新する別の現行プロセスを示す。
【図７Ａ】図６の原ブロックに関連する対応する論理ページアドレスと物理ページアドレスのテーブルである。
【図７Ｂ】図６の新しいブロックに関連する対応する論理ページアドレスと物理ページアドレスのテーブルである。
【図８】複数ページブロックのページのすべてよりも少ない数のページでデータを更新する改善されたプロセスの一例を示す。
【図９】図８の新しいブロックに関連する対応する論理的ページ数と物理ページ数のテーブルである。
【図１０】図８に示すページのデータのレイアウトの一例を示す。
【図１１】図８の例の別の発展例を示す。
【図１２】図１１の新しいブロックに関連する対応する論理ページ数と物理ページ数のテーブルである。
【図１３】更新されたデータを図１１のブロックで読出す１つの方法を示す。
【図１４】データをプログラムして図８と図９に例示のように組織化されたメモリシステムの中へ入れるプロセスを示すフローチャートである。
【図１５】まとめてリンクされて１メタブロックに形成されている個々のユニットから得られるブロックを備えた現行の複数ユニットのメモリを示す。
【図１６】更新されたデータ量がメタブロックのデータ記憶容量よりずっと少ない場合、図１２の複数ユニットメモリ内のメタブロックのデータを更新する改善された方法を示す。
【図１】
2008226254.tif 000003
【図２】
2008226254.tif 000004
【図３】
2008226254.tif 000005
【図４】
2008226254.tif 000006
【図５Ａ】
2008226254.tif 000007
【図５Ｂ】
2008226254.tif 000008
【図６】
2008226254.tif 000009
【図７Ａ】
2008226254.tif 000010
【図７Ｂ】
2008226254.tif 000011
【図８】
2008226254.tif 000012
【図９】
2008226254.tif 000013
【図１０】
2008226254.tif 000014
【図１１】
2008226254.tif 000015
【図１２】
2008226254.tif 000016
【図１３】
2008226254.tif 000017
【図１４】
2008226254.tif 000018
【図１５】
2008226254.tif 000019
【図１６】
2008226254.tif 000020