(57)【要約】【課題】ポインタが記憶される記憶領域を有効活用することで、フラッシュメモリの疲弊を少なくするメモリシステムを提供する。【解決手段】スナップショット条件が成立したときに、管理テーブルを第１の記憶部から第２の記憶部の第１のブロックにスナップショットとして保存し、管理テーブルの保存位置を示すポインタを第２の記憶部の第２のブロック内の書き込み単位に保存し、さらにポインタが保存された第２のブロックの書き込み単位内の未書き込み領域に管理テーブルの一部を保存する。【選択図】図１
2013196155.tif 000002
【特許請求の範囲】
【請求項１】
揮発性の第１の記憶部と、
所定の書き込み単位で書き込みが行われ、前記書き込み単位より大きなブロック単位で消去が行われる不揮発性の第２の記憶部と、
前記第１の記憶部を介してホスト装置と前記第２の記憶部との間のデータ転送を行なうとともに、ホスト装置から指定された論理アドレスと第２の記憶部でのデータの記憶位置とを対応付ける論物変換情報を含む管理テーブルを起動時に第２の記憶部から第１の記憶部に転送し、該転送された管理テーブルを更新しながら管理テーブルに基づいて前記第２の記憶部でのデータ管理を行なうコントローラと、
を備え、
前記コントローラは、
第１の条件が成立したときに、前記管理テーブルを第１の記憶部から第２の記憶部の第１のブロックにスナップショットとして保存し、前記管理テーブルの保存位置を示すポインタを第２の記憶部の第２のブロック内の書き込み単位に保存し、さらに前記ポインタが保存された第２のブロック内の書き込み単位内の未書き込み領域に前記管理テーブルの一部を保存するテーブル管理部
を備えることを特徴とするメモリシステム。
【請求項２】
前記ポインタが保存される第２のブロックは、
前記管理テーブルの保存位置を示すセカンドポインタが保存される第３のブロックと、セカンドポインタの保存位置を示すルートポインタが保存される第４のブロックとを有し、
前記テーブル管理部は、
セカンドポインタが保存される第３のブロック内の書き込み単位、ルートポインタが保存される第４のブロック内の書き込み単位のうちの少なくともセカンドポインタが保存される第３のブロック内の書き込み単位内の未書き込み領域に前記管理テーブルの一部を保存することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
スナップショットが保存された第１のブロックの未書き込み領域から次のスナップショットを追加記録することを特徴とする請求項１に記載のメモリシステム。
【請求項４】
前記コントローラは、
前記管理テーブルに変更が生じた場合の変更前後での差分情報であるログを第１の記憶部に格納し、第２の条件が成立したときに、前記ログを、第１の記憶部から第２の記憶部におけるスナップショットが保存された第１のブロックの未書き込み領域から追加記録するログ管理部
をさらに備えることを特徴とする請求項１に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性半導体メモリを備えたメモリシステムに関する。
【背景技術】
【０００２】
ＳＳＤ（solid state drive）においては、外部から供給される論理アドレス（ＬＢＡ）と、フラッシュメモリ上でデータが記憶されている位置を示す物理アドレスとの対応関係を表す論物変換テーブルなどの管理テーブルを用いて、データを管理することが多い。これらの管理テーブルは、起動時、不揮発性のフラッシュメモリからＤＲＡＭなどの揮発性メモリに展開され、揮発性メモリに展開された管理テーブルはフラッシュメモリ上にデータが書き込まれるたびに更新される。管理テーブルは、電源断をまたいで使用するので、揮発性メモリからフラッシュメモリにバックアップすることが必要となる。
【０００３】
また、フラッシュメモリ上での管理情報の記憶位置を示すポインタをフラッシュメモリ上に記憶する方式がある。このポインタ方式では、まずポインタをフラッシュメモリから読み出して、その後ポインタが示すフラッシュメモリ上の位置のデータを読み出すことで、管理情報を取得する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一つの実施形態は、ポインタが記憶される記憶領域を有効活用することで、フラッシュメモリの疲弊を少なくするメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一つの実施形態によれば、メモリシステムは、揮発性の第１の記憶部と、所定の書き込み単位で書き込みが行われ、前記書き込み単位より大きなブロック単位で消去が行われる不揮発性の第２の記憶部と、第１の記憶部を介してホスト装置と前記第２の記憶部との間のデータ転送を行なうとともに、ホスト装置から指定された論理アドレスと第２の記憶部でのデータの記憶位置とを対応付ける論物変換情報を含む管理テーブルを起動時に第２の記憶部から第１の記憶部に転送し、該転送された管理テーブルを更新しながら管理テーブルに基づいて前記第２の記憶部でのデータ管理を行なうコントローラとを備える。コントローラは、第１の条件が成立したときに、前記管理テーブルを第１の記憶部から第２の記憶部の第１のブロックにスナップショットとして保存し、前記管理テーブルの保存位置を示すポインタを第２の記憶部の第２のブロック内の書き込み単位に保存し、さらに前記ポインタが保存された第２のブロックの書き込み単位内の未書き込み領域に前記管理テーブルの一部を保存するテーブル管理部を備える。
【図面の簡単な説明】
【０００７】
【図１】図１は、ＳＳＤの構成例を示すブロック図。
【図２】図２は、スナップショットとログの生成形態を概念的に示す図。
【図３】図３は、比較例によるスナップショット記憶方式を示す図。
【図４】図４は、実施形態によるスナップショット記憶方式を示す図。
【図５】図５は、ブロックの未書き込み領域に次のスナップショットを保存する例を示す図。
【図６】図６は、ブロックの未書き込み領域にログ保存する例を示す図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００９】
（第１の実施形態）
図１は、ＳＳＤ（Solid  State  Drive）１００の構成例を示すブロック図である。ＳＳＤ１００は、ＡＴＡインタフェース（ＡＴＡ  Ｉ／Ｆ）などのホストインタフェース２を介してパーソナルコンピュータあるいはＣＰＵなどのホスト装置（以下、ホストと略す）１と接続され、ホスト１の外部記憶装置として機能する。ホスト１は、例えば、パーソナルコンピュータのＣＰＵ、スチルカメラ、ビデオカメラなどの撮像装置のＣＰＵである。ＳＳＤ１００は、ホストインタフェース２と、不揮発性半導体メモリとしてのＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤと略す）１０と、ＮＡＮＤ１０よりも高速アクセスが可能な揮発性の半導体メモリであるＲＡＭ２０と、コントローラ３０とを備える。
【００１０】
ＲＡＭ２０は、ホスト１からのデータをＮＡＮＤ１０にライトする際に一時的にデータを保存するためのライトバッファ２１としての記憶領域と、ＳＳＤ１００を管理するための管理情報を記憶、更新するための記憶領域と、ＮＡＮＤ１０からリードされたデータを一時記憶するなどのための作業領域を有する。ＳＳＤ１００を管理するための管理情報としては、ＳＳＤ１００を管理するための管理テーブルであるマスターテーブル２２と、マスターテーブル２２に加えるべき変更に関する変更前後の差分情報を含むマスターログ２３とを含む。マスターテーブル２２は、ＮＡＮＤ１０に記憶されているバックアップ管理テーブル１２が起動時などに展開されたものである。ＲＡＭ２０としては、揮発性のＤＲＡＭ、ＳＲＡＭなどが採用される。
【００１１】
ＮＡＮＤ１０は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有し、個々のメモリセルは上位ページ及び下位ページを使用して多値記憶が可能である。ＮＡＮＤ１０は、複数のメモリチップによって構成され、各メモリチップは、データ消去の単位であるブロックを複数配列して構成される。また、ＮＡＮＤ１０では、ページごとにデータの書き込み及びデータの読み出しが行われる。すなわち、ＮＡＮＤ１０でのデータの書き込み単位及び読み出し単位は、ページである。ブロックは、複数のページによって構成されている。
【００１２】
ＮＡＮＤ１０には、ホスト１によって指定されたユーザデータを記憶するユーザデータ記憶部１１と、ＳＳＤ１００を管理するための各種管理情報が記憶されている。管理情報としては、マスターテーブル２２のバックアップとしてのバックアップ管理テーブル１２と、マスターログ２３のバックアップとしてのバックアップログ１３などを含む。
【００１３】
ホスト１はＳＳＤ１００に対しデータをライトする際には、ホストインタフェース２を介して論理アドレスとしてのＬＢＡ（Logical Block Addressing）と、データサイズとを含むライトコマンドとライトデータとをＳＳＤ１００に入力する。ＬＢＡは、セクタ（サイズ：例えば５１２Ｂ）に対して０からの通し番号をつけた論理アドレスである。
【００１４】
マスターテーブル２２（バックアップ管理テーブル１２）で管理される管理情報としては、論理アドレスとしてのＬＢＡとデータがデータが記憶されているＮＡＮＤ１０上の記憶位置（物理アドレス）との関係を示す論物変換テーブル、ＮＡＮＤ１０の各ブロックが使用中であるか未使用であるかを示すブロック使用／未使用情報や、エラーが多いなど記憶領域として使用できないバッドブロックを識別するバッドブロック情報などを管理するブロック管理テーブルなどを含む。
【００１５】
ＮＡＮＤ１０上の管理情報とＲＡＭ２０上の管理情報の関係について説明する。マスターテーブル２２で管理される管理情報によって、ホスト１とＮＡＮＤ１０との間のデータのやり取りを行うことが可能となる。バックアップ管理テーブル１２は、不揮発性のＮＡＮＤ１０に記憶されており、起動時に、ＮＡＮＤ１０に記憶されていたバックアップ管理テーブル１２をＲＡＭ２０の作業領域にマスターテーブル２２として展開し、この展開されたマスターテーブル２２をコントローラ３０が使用することで、マスターテーブル２２は更新されていく。
【００１６】
マスターテーブル２２は、電源が切れても、電源が切れる以前の状態に復元する必要があり、このためマスターテーブルを不揮発性のＮＡＮＤ１０にバックアップ管理テーブル１２として保存する。スナップショットは、ＮＡＮＤ１０上のバックアップ管理テーブル１２の全体を指し、ＲＡＭ２０に展開されたマスターテーブル２２をそのままＮＡＮＤ１０に保存することを、スナップショットをとるとも表現する。マスターログ２３は、前述したように、マスターテーブル２２の変更差分情報を含む。マスターテーブル２２の更新の度に、スナップショットをとっていたのでは、速度も遅く、ＮＡＮＤ１０への書き込み数が増えるために、通常は変更差分としてのログだけをバックアップログ１３としてＮＡＮＤ１０に保存していく。マスターログ２３をマスターテーブル２２に反映し、ＮＡＮＤ１０に保存することを、コミットするとも表現する。
【００１７】
図２に、データ更新時に、スナップショットとログがどのように更新されるかを示す。コントローラ３０がデータ更新する際に、マスターテーブル２２に加えた変更内容をＲＡＭ２０上のマスターログ２３に蓄積する。管理テーブルの種類によっては、マスターテーブル２２を直接更新し、更新内容をマスターログ２３に蓄積したり、マスターテーブル２２には直接変更を加えず、変更領域をマスターログ２３上に確保して、その領域に更新内容を記録したりする。データの読み書き処理の際には、マスターテーブル２２の他に蓄積されたマスターログ２３も参照する。
【００１８】
データの更新が安定したら、ログのコミットを行う。コミット処理では、マスターログ２３の内容を必要に応じてマスターテーブル２２に反映させ、さらにマスターログ２３の内容をバックアップログ１３としてＮＡＮＤ１０に保存して不揮発化する。スナップショットをＮＡＮＤメモリ１０に保存するのは、正常な電源断シーケンスの際あるいはマスターログ２３の保存領域が不足した場合などのスナップショット条件が成立したときとする。ログまたはスナップショットがＮＡＮＤ１０に書き終わった時点で、管理テーブルの不揮発化が完了する。
【００１９】
図１において、コントローラ３０は、読み書き制御部３１、テーブル管理部３２、ログ管理部３３を有する。読み書き制御部３１は、ホスト１からリードコマンドおよびリードアドレスとしてのＬＢＡが入力されると、マスターテーブル２２およびマスターログ２３を参照してＬＢＡに対応するデータをライトバッファ２１あるいはＮＡＮＤ１０から読み出し、読み出したデータをホスト１に送信する。読み書き制御部３１は、ライコマンド、ライトアドレスとしてのＬＢＡ、ライトデータが入力されると、ＬＢＡで指定されたデータをライトバッファ２１に書き込む。ライトバッファ２１に空き領域がない場合は、マスターテーブル２２およびマスターログ２３を参照してライトバッファ２１からデータを追い出して、ＮＡＮＤ１０に書き込む。ライトバッファ２１へのデータ書込み、ＮＡＮＤ１０へのデータ書込みに応じて、マスターテーブル２２あるいはマスターログ２３を更新する。
【００２０】
ＳＳＤ１００では、例えば、同じＬＢＡのデータを上書きする場合、読み書き制御部３１は、つぎのような処理を実行する。論理アドレスＡ１にブロックサイズの有効なデータが保存されており、記憶領域としてはブロックＢ１が使用されていたとする。ホスト１から論理アドレスＡ１のブロックサイズの更新データを上書きするコマンドを受信した場合、内部に有効データを含まない用途未割り当てのブロックであるフリーブロック（ブロックＢ２とする）を１個確保し、そのフリーブロックにホスト１から受信したデータを書き込む。その後、論理アドレスＡ１とブロックＢ２を関係付ける管理情報の更新を行う。その結果、ブロックＢ２は、内部に有効データを含み、用途が割り当てられたブロックであるアクティブブロックになり、ブロックＢ１に保存されたデータは無効になるためブロックＢ１はフリーブロックとなる。
【００２１】
このように、ＳＳＤ１００では、同じ論理アドレスＡ１のデータであっても、実際の記録領域として使用されるブロックは書込みの度に変化する。なお、ブロックサイズの更新データ書き込みでは、必ず書き込み先ブロックが変化するが、ブロックサイズ未満の更新データ書き込みでは、同じブロックに更新データが書き込まれることもある。例えばブロックサイズ未満のページデータが更新される場合、当該ブロック内において同じ論理アドレスの旧ページデータが無効化され、新たに書き込まれた最新のページデータが有効ページとして管理される。ブロック内の全データが無効化されると、当該ブロックはフリーブロックとして解放される。
【００２２】
テーブル管理部３２は、
・ＮＡＮＤ１０に保存されたバックアップ管理テーブル（スナップショット）１２を起動時にマスターテーブル２２としＲＡＭ２０に転送する処理、
・正常な電源断シーケンスが発生する、マスターログ２３の保存領域が不足した場合などのスナップショット条件が成立したときに、ＲＡＭ２０上のマスターテーブル２２をＮＡＮＤ１０にスナップショットとして保存するスナップショット処理を実行する。
【００２３】
ログ管理部３３は、
・マスターテーブル２２を更新すべき事象が発生した際、マスターテーブル２２の更新前後の差分情報である差分ログをマスターログ２３に蓄積記憶する処理、
・マスターログ２３の量がある値に達するとか、更新した各管理テーブル間で整合がとれる時点に達するなどの所定のコミット条件が成立したときに、ＲＡＭ２０上のマスターログ２３をＮＡＮＤ１０のバックアップログ（不揮発ログ）１３に順次追記的に保存するとともに、マスターログ２３をマスターテーブル２２に反映する前述のコミット処理を実行する。
【００２４】
スナップショットまたはコミットが行われると、ＲＡＭ２０上に蓄積されてきたマスターログ２３は、無効化される。
【００２５】
つぎに、スナップショットについてより詳細に説明する。図３は、スナップショット記憶方式の比較例を示すものである。図３においては、ＮＡＮＤ１０の所定のブロックであるルートブロックＲＢのページにルートポインタＲＰ（左下がりハッチング部分）を記憶し、ルートポインタＲＰが指し示すブロックであるセカンドブロックＳＢにセカンドポインタＳＰ（左下がりハッチング部分）を記憶し、セカンドポインタＳＰが指し示すブロックであるデータブロックＤＢにバックアップ管理テーブル（スナップショット）１２を記憶している。このポインタ方式では、まずルートポインタＲＰをフラッシュメモリから読み出して、ルートポインタＲＰが指し示すＮＡＮＤ１０上の位置のデータであるセカンドポインタＳＰを読み出し、さらにセカンドポインタＳＰが指し示すＮＡＮＤ１０上の位置のデータであるスナップショット１２を読み出すことで、管理情報を取得する。
【００２６】
図３では、ブロック内の１つの区画がＮＡＮＤの書き込み単位である１ページを示している。ルートブロックＲＢ、セカンドブロックＳＢに保存するポインタ情報は次のブロックのアドレスなので、数１０バイトあれば足りる。それに対して、ＮＡＮＤ１０のページサイズは８ＫｉＢ、または１６ＫｉＢであり、各ページには情報が書き込まれない無駄な未書き込み領域ＭＭが多く含まれている。
【００２７】
そこで、本実施形態においては、図４に示すように、ルートブロックＲＢ、セカンドブロックＳＢの各ページには、ポインタ情報（ルートポインタＲＰ、セカンドポインタＳＰ）の他に、ポインタ情報でその記憶位置がポインティングされるデータであるバックアップ管理テーブル（スナップショット）１２の一部を保存することとする。以下、図４を用いて、本実施形態のスナップショット記憶方式について詳述する。
【００２８】
図４に示すように、この実施形態では、書き換え数増大によるルートブロックＲＢの疲弊を防ぐために、ルートブロックＲＢおよびセカンドブロックＳＢを用いデータ領域へのポインタを２段管理している。ルートブロックＲＢとしては、ＮＡＮＤ１０の固定領域（予め決められた所定のブロックであり、コントローラ３０はそのブロックアドレスを認識している）が使用される。ルートポインタＲＰには、セカンドブロックＳＢのブロックアドレスを示す情報が書き込まれており、ルートポインタＲＰは、最初、ルートブロックＲＢの先頭ページに書き込まれる。セカンドポインタＳＰが書き込まれるセカンドブロックＳＢが満杯となって、次の異なるブロックがセカンドブロックＳＢとして使用されるときに、ルートポインタＲＰは、ルートブロックＲＢの先頭ページの次のページに書き込まれる。このような処理が繰り返される。したがって、ルートブロックＲＢにおける未書き込み状態のページの直前のページが最新のルートポインタＲＰである。
【００２９】
セカンドブロックＳＢとしては、ＮＡＮＤ１０の任意のブロックが使用される。セカンドポインタＳＰには、バックアップ管理テーブル（スナップショット）１２を記憶しているＮＡＮＤ１０上の位置を示す情報が書き込まれており、セカンドポインタＳＰは、最初、セカンドブロックＳＢの先頭ページに書き込まれる。すなわち、セカンドポインタＳＰがポインティングするポインタ情報としては、バックアップ管理テーブル（スナップショット）１２が保存されるデータブロックＤＢの記憶位置（スナップショット１２の記憶開始位置を示すブロックアドレス＋ページアドレスと、使用されるブロックの識別情報）を示す情報を含む。
【００３０】
バックアップ管理テーブル（スナップショット）１２のＮＡＮＤ１０上の記憶位置が変更されたときに、セカンドポインタＳＰは、セカンドブロックＳＢの先頭ページの次のページに書き込まれる。このような処理が繰り返される。したがって、セカンドブロックＳＢにおける未書き込み状態のページの直前のページが最新のセカンドポインタＳＰである。セカンドポインタＳＰが書き込まれるセカンドブロックＳＢが満杯となって場合、他のブロックがセカンドブロックＳＢとして使用される。このとき、前述したように、ルートポインタＲＰが更新され、その更新データが現ページの次のページに書き込まれる。
【００３１】
バックアップ管理テーブル（スナップショット）１２が保存されるデータブロックＤＢとしては、ＮＡＮＤ１０の任意の１〜複数のブロックが使用される。スナップショットを保存した後、ブロックに未書き込みページが残った場合は、図５に示すように、次回のスナップショットをこの未書き込みページから保存するようにしてもよいし、図６に示すように、コミット条件が成立したときに、ログをこの未書き込みページから保存するようにしてもよい。
【００３２】
図４の場合は、スナップショットは、データブロックＤＢの他に、ルートブロックＲＢおよびセカンドブロックＳＢにも保存している。すなわち、セカンドブロックＳＢの最新のセカンドポインタＳＰが保存されたページ内の未書き込み領域には、常にスナップショットの一部が保存される。ポインタはサイズが固定であるので、ページ内で、ポインタ記憶部分とスナップショット記憶部分とを識別することが可能である。
【００３３】
また、ルートブロックＲＢの最新のルートポインタＲＰが保存されたページ内の未書き込み領域には、セカンドポインタＳＰを保存するセカンドブロックＳＢが変更されてルートポインタＲＰが変更されるときのみに、スナップショットの一部が保存される。ルートブロックＲＢに保存されたスナップショットの一部は、セカンドブロックＳＢが変更されてセカンドブロックＳＢの先頭ページにセカンドポインタＳＰおよびスナップショットの一部が保存されるときのみに有効なスナップショットとして使用され、セカンドポインタＳＰがこのセカンドブロックＳＢの次のページ以降に保存されるときには、無効なスナップショットとして扱われる。
【００３４】
本実施形態において、ＮＡＮＤ１０に保存されたスナップショットを読み出す際には、コントローラ３０は、まずルートポインタＲＰを含むページをルートブロックＲＢから読み出し、ルートポインタＲＰが指し示すＮＡＮＤ１０上のブロックであるセカンドブロックＳＢ内の未使用ページの直前のページを読み出してセカンドポインタＳＰを含むページを取得し、さらにセカンドポインタＳＰが指し示すＮＡＮＤ１０上の位置のデータを読み出して、データブロックＤＢ中のスナップショット１２を取得する。さらに、コントローラは、データブロックＤＢ中のスナップショット１２と、セカンドポインタＳＰを含むページ中のスナップショット１２とを合成し、さらにルートポインタＲＰを含むページ中のスナップショット１２が有効である場合は、ルートポインタＲＰを含むページ中のスナップショット１２も合成することで、スナップショットの全体を取得する。
【００３５】
なお、ルートブロックＲＢには、スナップショットの一部を一切保存せず、セカンドブロックＳＢのみにスナップショットの一部を保存するようにしてもよい。
【００３６】
このようにこの実施形態においては、ルートブロックＲＢ、セカンドブロックＳＢにおいて、ポインタ情報を保存するページの空き領域にスナップショットの一部を保存することでポインタ情報が記憶される記憶領域を有効活用することとしているので、データブロックへ保存するスナップショットのデータ量を削減することができ、これにより、その分だけブロックを有効活用できブロックの摩耗を防ぐことができる。また、データブロックへの保存に使用するページ数が少なくなるので、その分だけスナップショットの書き込み、読み出しに必要な時間が短縮される。
【００３７】
なお、ブロック内の書き込み単位がページと異なる場合は、この書き込み単位毎に、ポインタ情報およびスナップショットの一部を保存するようにすればよい。また、実施形態では、二重ポインタ方式を採用したが、一重ポインタ方式、三重以上のポインタ方式が採用された場合でも、ポインタ情報が保存されるページの空き領域にスナップショットの一部を保存するようにすればよい。
【００３８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３９】
１  ホスト装置、２  ホストインタフェース、１０  ＮＡＮＤ型フラッシュメモリ、１１  ユーザデータ記憶部、１２  バックアップ管理テーブル、１３  バックアップログ、２０  ＲＡＭ、２１  ライトバッファ、２２  マスターテーブル、２３  マスターログ、３０  コントローラ、３１  読み書き制御部、３２  テーブル管理部、３３  ログ管理部。
【図１】
2013196155.tif 000003
【図２】
2013196155.tif 000004
【図３】
2013196155.tif 000005
【図４】
2013196155.tif 000006
【図５】
2013196155.tif 000007
【図６】
2013196155.tif 000008