(57)【要約】【課題】メモリカードからデータを読み出すときの転送効率の低下を抑制する【解決手段】基準クロック信号を用いて転送される、データ本体と検出情報を含むデータブロックを取り込む位相キャリブレーション回路３９０であって、基準クロック信号に対して位相をずらした第１クロック信号と、第１クロック信号に対して位相を早めた第２クロック信号と、第１クロック信号に対して位相を遅らせた第３クロック信号とを生成する受信クロック生成部３１０と、データブロックを、複数のクロック信号に応じて取り込み、検出情報を用いてリードエラーが発生したか否かを判定し、第１〜第３のクロック信号それぞれに応じて取り込んだデータブロックを判定した第１〜第３判定結果を出力する判定部３２０と、複数の判定結果に応じて、第１クロック信号の位相を調整することを受信クロック生成部３１０へ指示する位相調整部３３０と、を備える。【選択図】図１
2011090361.tif 000002
【特許請求の範囲】
【請求項１】
データ本体と、誤りを検出するための検出情報を含むデータブロックを使用し、基準クロック信号を用いて転送される前記データブロックを取り込む位相キャリブレーション回路であって、
前記基準クロック信号に対して位相をずらした第１クロック信号と、前記第１クロック信号に対して位相を早めた第２クロック信号と、前記第１クロック信号に対して位相を遅らせた第３クロック信号とを少なくとも含む複数のクロック信号を生成する受信クロック生成部と、
前記データブロックを、前記複数のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、前記第１のクロック信号に応じて取り込んだデータブロックを判定した第１判定結果、前記第２のクロック信号に応じて取り込んだデータブロックを判定した第２判定結果、及び前記第３のクロック信号に応じて取り込んだデータブロックを判定した第３判定結果を少なくとも含む複数の判定結果を出力する判定部と、
前記複数の判定結果に応じて、前記第１クロック信号の位相を調整することを前記受信クロック生成部へ指示する位相調整部と、を備える位相キャリブレーション回路。
【請求項２】
前記位相調整部は、前記第２判定結果がエラー発生を示す場合、前記第１クロック信号の位相を遅らせることを指示し、前記第３判定結果がエラー発生を示す場合、前記第１クロック信号の位相を早めることを指示することを特徴とする請求項１記載の位相キャリブレーション回路。
【請求項３】
前記受信クロック生成部は、あらかじめ設定された位相調整単位の位相を前記第１クロック信号に対して早めた前記第２クロック信号を生成し、前記位相調整単位の位相を前記第１クロック信号に対して遅らせた前記第３クロック信号を生成することを特徴とする請求項１または２記載の位相キャリブレーション回路。
【請求項４】
前記受信クロック生成部は、前記第１クロック信号の位相を遅らせることを指示された場合、前記第１クロック信号を前記位相調整単位の位相遅らせ、前記第１クロック信号の位相を早めることを指示された場合、前記第１クロック信号を前記位相調整単位の位相早めることを特徴とする請求項３記載の位相キャリブレーション回路。
【請求項５】
前記位相調整単位は、データウィンドウ幅の３分の１以下であることを特徴とする請求項３または４記載の位相キャリブレーション回路。
【請求項６】
前記データブロックは、データ本体として、メモリカードへ送信したコマンドへ応答するレスポンスデータと、メモリカードから読み出したリードデータとのいずれかを含み、
前記判定部は、
前記レスポンスデータを含むデータブロックを、前記第１のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、判定した結果を前記第１判定結果として出力する第１レスポンスデータ判定部と、
前記レスポンスデータを含むデータブロックを、前記第２のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、判定した結果を前記第２判定結果として出力する第２レスポンスデータ判定部と、
前記レスポンスデータを含むデータブロックを、前記第３のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、判定した結果を前記第３判定結果として出力する第３レスポンスデータ判定部と、
前記リードデータを含むデータブロックを、前記第１のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、判定した結果を前記第１判定結果として出力する第１リードデータ判定部と、
前記リードデータを含むデータブロックを、前記第２のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、判定した結果を前記第２判定結果として出力する第２リードデータ判定部と、
前記リードデータを含むデータブロックを、前記第３のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、判定した結果を前記第３判定結果として出力する第３リードデータ判定部と、
を備えることを特徴とする請求項１乃至５のいずれか一項に記載の位相キャリブレーション回路。
【請求項７】
前記位相調整部は、前記判定部が一つのデータブロックを取り込んだ後、次に受信するデータブロックを取り込む前に前記第１クロック信号の位相を調整することを前記受信クロック生成部へ指示することを特徴とする請求項１乃至６のいずれか一項に記載の位相キャリブレーション回路。
【請求項８】
前記誤り検出するための検出情報を含むデータは、データ本体へ誤り検出符号が付加されたデータであり、
前記判定部は、前記データブロックと前記誤り検出符号とを比較してエラーが発生した否かを判定することを特徴とする請求項１乃至７のいずれか一項に記載の位相キャリブレーション回路。
【請求項９】
前記誤り検出データは、サイクル・リダンダンシ・チェック符号、パリティ符号、チェックサム、ハッシュ符号のうちのいずれかを用いることを特徴とする請求項８記載の位相キャリブレーション回路。
【請求項１０】
前記誤り検出するための検出情報を含むデータは、データ本体と誤り訂正符号とを含むデータであり、
前記判定部は、前記データブロックと前記誤り訂正符号とを用いてエラーが発生した否かを判定することを特徴とする請求項１乃至７のいずれか一項に記載の位相キャリブレーション回路。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の位相キャリブレーション回路と、
前記データ本体を保持するメモリと、
を備えるメモリカード制御装置。
【請求項１２】
データ本体と、誤りを検出するための検出情報を含むデータブロックを使用し、基準クロック信号を用いて転送される前記データブロックを取り込む位相キャリブレーション回路の位相キャリブレーション方法であって、
前記基準クロック信号に対して位相をずらした第１クロック信号と、前記第１クロック信号に対して位相を早めた第２クロック信号と、前記第１クロック信号に対して位相を遅らせた第３クロック信号を少なくとも含む複数のクロック信号を生成し、
前記データブロックを、前記複数のクロック信号に応じて取り込み、
前記検出情報を用いてリードエラーが発生したか否かを判定し、
前記第１のクロック信号に応じて取り込んだデータブロックを判定した第１判定結果、前記第２のクロック信号に応じて取り込んだデータブロックを判定した第２判定結果、及び前記第３のクロック信号に応じて取り込んだデータブロックを判定した第３判定結果を少なくとも含む複数の判定結果を生成し、
前記複数の判定結果に応じて、前記第１クロック信号の位相を調整する位相キャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカード制御装置、特に、メモリカードからのデータ読み出すときに、クロック制御を行う位相キャリブレーション回路及び位相キャリブレーション方法に関する。
【背景技術】
【０００２】
メモリカードとデータを送受するため、メモリカード制御装置（以降、適宜「ホストコントローラ」ともいう）はメモリカードに転送クロック信号（基準クロック信号）を供給し、メモリカードは供給された転送クロック信号を元にデータ送受する。また、ホストコントローラは、メモリカードからデータを読み出す場合、メモリカードから転送されるデータを当該転送クロック信号に同期したクロック信号に応じて取り込む。
【０００３】
しかし、メモリカードへ供給する転送クロック信号と、読み出しデータを取り込むクロック信号とが同一であるため、あわせ込みが困難となっている。すなわち、メモリカードに供給されるクロック（転送クロック）と、ホスト側がメモリカードからのデータを取り込むレジスタに供給されるクロック（取り込みクロック）は、同一クロックが各々分配回路を通じて分配されるので一定の位相差を有する。ここで、あわせ込みとは、実際のＬＳＩ（Large Scale Integration）の設計において、メモリカードから読み出したデータを確実に取り込むために、データを取り込む際に用いるクロック信号へ遅延を付加することや、メモリカードへ供給する転送クロック信号の位相を早める等、クロック信号の微調整を行うことである。このようなあわせ込みは高速化に伴って困難化する。
【０００４】
例えば、特許文献１にはクロック信号及びデータの伝播遅延に起因するアクセスエラーを解消するデータプロセッサが開示されている。この例では、図９の構成図のように、メモリカードからの読み出しデータの取り込みを、メモリカードに供給する転送クロック信号の立ち上り同期で行なうか立ち下がり同期で行うかを、セレクタ３２、３５により選択可能となっている。これにより、クロック信号の半サイクルずれたタイミングで読み出しデータの取り込みタイミングを調整することができるようにしている。
【０００５】
また、当該クロック信号の周波数の切り換えを周波数制御回路１３で行なう事ができ、周波数の切り換えを併用したタイミング調整を行うことができるようになっている。タイミング調整は、読み出しデータのリードエラーに応答してクロック信号の立ち上り同期による取り込みと立ち下がり同期による取込みとを切り換える事により行なう。また、読み出しデータのリードエラーに応答してクロック信号を高周波から低周波に変更する事により行なう。
【０００６】
タイミング調整にはＣＰＵ等によりアクセス可能なレジスタＤ１、Ｄ２を利用する。レジスタＤ１に設定される制御データにしたがって、前記読み出しデータの取り込みをクロック信号の立ち上り同期で行なうか立ち下がり同期で行うかが決定される。レジスタＤ２に設定される制御データにしたがって、前記クロック信号の高周波又は低周波が決定される。
リードエラーの検出はリードデータに付加されるＣＲＣ（サイクル・リダンダンシ・チェック）コード等を用いて行なわれる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１９２４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示されたメモリコントローラでは、読み出しデータの取り込みエッジ決定後、またはクロック信号の周波数決定後の、電圧・温度変化などに起因した読み出しデータの伝播遅延変動に対応できなかった。また、データの伝播遅延変動により読み出しデータのリードエラーが発生した場合、読み出しデータの取り込みエッジ決定、およびクロック信号の周波数の決定を再度実施する必要があった。そのため、その期間本来のデータ転送を行なう事ができず、その結果、転送効率の低下につながっていた。
また一般に転送クロック信号の周波数は、そのメモリカードが採用する規格における最大周波数である事が望ましい。しかしながら、特許文献１に開示された技術ではクロック信号の周波数調整は、高周波から低周波に変更されるのみであり、規格上の最大周波数で動作できない可能性があった。
【０００９】
このように、従来技術では、メモリカードからデータを読み出すときに、転送効率の低下が生じているという問題があった。
【課題を解決するための手段】
【００１０】
本発明に係る位相キャリブレーション回路の一態様は、データ本体と、誤りを検出するための検出情報を含むデータブロックを使用し、基準クロック信号を用いて転送される前記データブロックを取り込む位相キャリブレーション回路であって、受信クロック生成部、判定部及び位相調整部を備える。受信クロック生成部は、基準クロック信号に対して位相をずらした第１クロック信号と、前記第１クロック信号に対して位相を早めた第２クロック信号と、前記第１クロック信号に対して位相を遅らせた第３クロック信号とを少なくとも含む複数のクロック信号を生成する。判定部は、前記データブロックを、前記複数のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、前記第１のクロック信号に応じて取り込んだデータブロックを判定した第１判定結果、前記第２のクロック信号に応じて取り込んだデータブロックを判定した第２判定結果、及び前記第３のクロック信号に応じて取り込んだデータブロックを判定した第３判定結果を少なくとも含む複数の判定結果を出力する。位相調整部は、前記複数の判定結果に応じて、前記第１クロック信号の位相を調整することを前記受信クロック生成部へ指示する。上述したように、位相キャリブレーション回路は、データ本体と検出情報（例えば、ＣＲＣ符号）とを含むデータブロックを、基準クロックを用いて転送するインターフェースを実現するものである。そして、位相キャリブレーション回路は、第１〜第３のクロック信号によって、データブロックをシリアルに受信し、受信したデータブロックの各データの検出情報を用いてリードエラーの発生を検出する。位相調整判定部はリードエラーの発生に応じて、第１〜第３のクロック信号と基準クロックとの位相を調整する。このような構成を備えることにより、データブロックを受信する度に、受信クロック信号となる第１クロック信号の位相調整を行なうことが可能となる。これにより、リードエラーの発生を抑制できる。また、受信クロック信号の位相を補正するための特別な調整期間を不要とする。その結果、データの転送効率の低下を抑制することが可能となる。
【００１１】
また、本発明に係るメモリカード制御装置の一態様は、上述した位相キャリブレーション回路と、前記データ本体を保持するメモリと、を備える。
【００１２】
さらに、本発明に係る位相キャリブレーション方法の一態様は、データ本体と、誤りを検出するための検出情報を含むデータブロックを使用し、基準クロック信号を用いて転送される前記データブロックを取り込む位相キャリブレーション回路の位相キャリブレーション方法であって、前記基準クロック信号に対して位相をずらした第１クロック信号と、前記第１クロック信号に対して位相を早めた第２クロック信号と、前記第１クロック信号に対して位相を遅らせた第３クロック信号を少なくとも含む複数のクロック信号を生成し、前記データブロックを、前記複数のクロック信号に応じて取り込み、前記検出情報を用いてリードエラーが発生したか否かを判定し、前記第１のクロック信号に応じて取り込んだデータブロックを判定した第１判定結果、前記第２のクロック信号に応じて取り込んだデータブロックを判定した第２判定結果、及び前記第３のクロック信号に応じて取り込んだデータブロックを判定した第３判定結果を少なくとも含む複数の判定結果を生成し、前記複数の判定結果に応じて、前記第１クロック信号の位相を調整する。
【発明の効果】
【００１３】
本発明によれば、メモリカードからデータを読み出すときの転送効率の低下を抑制することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るメモリカード制御装置の構成例を示すブロック図である。
【図２】本発明の実施形態１に係るメモリカード制御装置の構成例を示すブロック図である。
【図３】位相調整のために必要となる分解能を説明する図である。
【図４】メモリカードから転送されるデータブロックを取り込むリード動作のタイミング例を模式的に示す図である。
【図５】データブロックを取り込むリード動作における、エラー検出の動作例を示すフローチャートである。
【図６】メモリカードへデータブロックを書き込むライト動作のタイミング例を模式的に示す図である。
【図７】メモリカードへのデータ転送を伴わないアクセス動作のタイミングタイミング例を模式的に示す図である。
【図８】第１〜第３クロック信号の位相調整例を説明する図である。
【図９】特許文献１に開示されたメモリカード制御装置のブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
【００１６】
本発明は、メモリカード制御装置において、メモリカードから読み出したデータブロックを取り込む場合に、受信用のクロック信号の位相を調整（キャリブレーション）することを特徴とする。ここで、データブロックは、データ本体と誤り検出するための検出情報とを含むものである。
データ本体は、メモリカード制御装置からリードコマンドによって読み出しを要求したデータである。データ本体は、メモリカードからメモリカード制御装置に転送され、メモリカード制御装置が取り込む対象である。以降では、データ本体が、（１）メモリカードから読み出したリードデータ、（２）メモリカード制御装置から送信されたコマンドに応じて、メモリカードがコマンドへ応答するレスポンスデータ、のいずれかの場合において、メモリカード制御装置（位相キャリブレーション回路）が受信用のクロック信号の位相を調整する方式を説明する。
検出情報は、データ本体にリードエラーが発生したか否かを検出するための情報であり、誤り検出符号や誤り訂正符号等が用いられる。例えばＣＲＣ符号などを用いることができる。
【００１７】
図１は、本発明に係るメモリカード制御装置の構成例の概略を示すブロック図である。メモリカード制御装置３００は、受信クロック生成部３１０、判定部３２０、位相調整部３３０、制御部３４０、クロック発振部３５０、及びメモリ３６０を備える。通常、メモリカードからメモリカード制御装置３００へ、複数のバスを用いてデータブロックを転送するが、図１では、説明を容易にするため、１本のバス３０１を表している。また、メモリカード制御装置３００は、図９におけるメモリカードインタフェースコントローラ３に対応するものである。
【００１８】
受信クロック生成部３１０は、クロック発振部３５０から基準クロック信号が供給され、当該基準クロック信号に対して位相をずらした第１クロック信号と、第１クロック信号に対して位相を早めた第２クロック信号と、第１クロック信号に対して位相を遅らせた第３クロック信号を含む複数のクロック信号を生成する。図１では、第１〜第３クロック信号それぞれを、１ST_CLK、2ND_CLK、3RD_CLKと表示している。第１クロック信号が、メモリカードから転送されたデータブロックを受信する（取り込む）受信クロック信号（受信用のクロック信号）となる。受信クロック生成部３１０は、第１クロック信号の位相を調整することによって、第２及び第３クロック信号を生成する。ここでは、受信クロック生成部３１０は、３相のクロック信号を生成する場合を説明するが、これに限られるわけではない。
【００１９】
判定部３２０は、複数のクロックに応じて取り込んだデータブロックについて、データ本体と検出情報を用いてリードエラーが発生したか否かを判定し、判定結果を位相調整部３３０へ出力する。具体的には、判定部３２０は、メモリカードから転送されたデータブロックを、第１クロック信号、第２クロック信号、及び第３クロック信号それぞれに応じて取り込む。データ本体と検出情報とを用いてリードエラーが発生したか否かを判定する。そして、判定部３２０は、第１のクロック信号に応じて取り込んだデータブロックを判定した第１判定結果、第２のクロック信号に応じて取り込んだデータブロックを判定した第２判定結果、第３のクロック信号に応じて取り込んだデータブロックを判定した第３判定結果として、位相調整部３３０へ出力する。このとき第１判定結果は、制御部３４０へ出力される。
【００２０】
図１では、判定部３２０は、第１判定部３２１、第２判定部３２２及び第３判定部３２３を備える場合を示している。第１判定部３２１は、第１のクロック信号に応じて取り込んだデータブロックを判定した第１判定結果を生成・出力する。第２判定部３２２は、第２のクロック信号に応じて取り込んだデータブロックを判定した第２判定結果を生成・出力する。第３判定部は、第３のクロック信号に応じて取り込んだデータブロックを判定した第３判定結果を生成・出力する。
【００２１】
位相調整部３３０は、複数の判定結果に応じて、第１クロック信号の位相を調整することを受信クロック生成部３１０へ指示する。具体的には、位相調整部３３０は、複数の判定結果を比較し、位相の調整が必要であるか否かを判定する。位相調整部３３０が受信クロック生成部３１０へ位相の調整を指示することによって、受信クロック生成部３１０は、第１クロック信号の位相をシフトさせるとともに、第１クロック信号に応じて第２クロック信号及び第３クロック信号の位相をシフトさせる。これにより、判定部３２０がデータブロックを取り込むタイミングを調整する。
【００２２】
制御部３４０は、データブロックが判定部３２０で取り込まれた受信終了タイミングに、複数の判定結果を比較（位相比較）させる指示を位相調整部３３０へ出す。制御部３４０は、受信信終了のタイミングを、データブロックの受信を開始した時点から、基準クロックでデータブロック長分カウントする事により求める。位相調整部３３０は、制御部３４０からの指示に応じて、位相の補正が必要である場合には受信クロック生成器１１６に対し、位相変更の指示を行なう。また、制御部３４０は、第１判定結果に基づいてエラーの発生を検出し、データブロックの取り込み（データブロックの受信）にエラーが発生した場合には、メモリ３６０に保存されたデータ本体の破棄、あるいは、メモリカード制御装置から送信したコマンドの再発行などの処理を、メモリカード制御装置３００の外部に備えられるＣＰＵ（Central Processing Unit）へ通知する。
【００２３】
クロック発振部３５０は、基準クロック（転送クロック）を発信し、受信クロック生成部３１０及びメモリカードへ供給する。図１では、クロック発振部３５０をメモリカード制御装置３００内に備える例を示している。この構成に限られことはなく、クロック発振部３５０をメモリカード制御装置３００内に備えずに、外部から基準クロックを供給してもよい。
メモリ３６０は、判定部３２０が取り込んだデータ本体を保存するメモリである。
【００２４】
位相キャリブレーション回路３９０は、メモリカード制御装置３００内に搭載され、メモリカードから転送されるデータブロックを取り込むタイミングを調整する機能を備える回路である。図１において、位相キャリブレーション回路３９０は、少なくとも受信クロック生成部３１０、判定部３２０、及び位相調整部３３０によって実現される。
なお、図１では、位相調整部３３０と制御部３４０とを別個の構成要素として表しているが、制御部３４０が位相調整部３３０の機能を含む構成、あるいは、制御部３４０内に位相調整部３３０を配置する構成であってもかまわない。
【００２５】
図１に示す位相キャリブレーション回路３９０を備えることにより、メモリカード制御装置３００は、データブロックを受信する度に、受信クロック信号の位相調整を行なうことが可能となる。これにより、リードエラーの発生を抑制することができる。また、受信クロックの位相を補正するための特別な調整（キャリブレーション）期間を不要とする。その結果、転送効率の低下を抑制することができる。
【００２６】
（実施形態１）
実施形態１では、誤りを検出するための検出情報として、メモリカードから転送されるデータ本体に冗長データが付加される場合、具体的には、データ本体にＣＲＣ符号が付加される場合を一例として説明する。
【００２７】
図２は、本発明の実施形態１に係るメモリカード制御装置（ホストコントローラ）の構成例を示すブロック図である。図２では、図１に示すメモリカード制御装置３００の具体例としてホストコントローラ１０１の構成例を示す。また、ホストコントローラ１０１とメモリカード１０２との関係を明確に示すため、メモリカード１０２も表している。ホストコントローラ１０１は、メモリカード１０２とデータブロックを送受する。また、以降の説明では、レスポンスデータは、メモリカード１０２のＣＭＤの端子と接続するバス１２１を介して転送され、リードデータは、メモリカード１０２のＤＡＴ０〜Ｍ（Ｍは０以上の整数）の端子と接続するバス１２２、１２３を介して転送される場合を説明する。
【００２８】
図２では、図１の各構成要素と次のように対応している。ホストコントローラ１０１において、受信クロック生成部３１０は受信クロック生成器１１６、位相調整部３３０は位相調整器１１５、制御部３４０は制御回路１１４、クロック発振部３５０はＳＤＣＬＫ１１７と対応し、メモリ３６０は、シリアル・パラレル変換器（Serial Parallel）１０３、リードデータバッファ（Read Data Buffer）１０４、シリアル・パラレル変換器（Serial Parallel）１０５、及び応答レジスタ（Response Register）１０６から構成される例を示す。図２では、ＳＤＣＬＫ１１７をホストコントローラ１０１内に備える例を示している。この構成に限られことはなく、ＳＤＣＬＫ１１７をホストコントローラ１０１内に備えずに、外部から基準クロックを供給してもよい。
【００２９】
また、判定部３２０は、データ本体のうち、リードデータを取り込む３つのＣＲＣ１６演算・比較器１０８〜１１０と、コマンドへ応答するレスポンスデータを取り込む３つのＣＲＣ７演算・比較器１１１〜１１３と対応する。具体的には、判定部３２０は、第１クロック信号に応じてデータブロックを取り込むＣＲＣ１６演算・比較器（第１リードデータ判定部）１０９及びＣＲＣ７演算・比較器（第１レスポンスデータ判定部）１１２、第２クロック信号に応じてデータブロックを取り込むＣＲＣ１６演算・比較器（第２リードデータ判定部）１０８及びＣＲＣ７演算・比較器（第２レスポンスデータ判定部）１１１、第３クロック信号に応じてデータブロックを取り込むＣＲＣ１６演算・比較器（第３リードデータ判定部）１１０及びＣＲＣ７演算・比較器（第３レスポンスデータ判定部）１１３によって実現している。
なお、図２では、ＣＲＣ１６演算・比較器を「ＣＲＣ１６  Ｇ／Ｃ」（CRC16 Generator/Checker）、ＣＲＣ７演算・比較器を「ＣＲＣ７  Ｇ／Ｃ」（CRC7 Generator/Checker）と示す。また、ＣＲＣ１６演算・比較器と、ＣＲＣ７演算・比較器とを総称して「ＣＲＣ演算・比較器」と称することもある。
さらに、ホストコントローラ１０１は、ＣＲＣ１６演算・比較器１０７を備える。
【００３０】
受信クロック生成器１１６は、第１クロック信号δ（Ｎ）を、ＳＤＫＬＫ１１７が供給する基準クロックを所定の位相をずらすことによって生成する。ここで、所定の位相は、メモリカードのデータ出力タイミングや、ホストコントローラ１０１とメモリカード１０２間の距離(フライトタイム)等に依存する値を設定することになる。Ｎはクロック信号の順番を示す正の整数である。また、受信クロック生成器１１６は、第２クロック信号δ（Ｎ＋１）を、位相調整単位の位相を第１クロック信号に対して早めて生成し、第３クロック信号δ（Ｎ−１）を、位相調整単位の位相を第１クロック信号に対して遅らせて生成する。位相調整単位は、予め設定された値であり、受信クロック生成器１１６に保持される。
【００３１】
第１クロック信号は、クロック信号線１１８を介してＣＲＣ１６演算・比較器１０７〜１１０及びＣＲＣ７演算・比較器１１１〜１１３へ供給される。同様に第２クロック信号はクロック信号線１１９、第３クロック信号はクロック信号線１２０を介して供給される。
このようにして、メモリカード１０２に供給する基準クロック信号の位相を変化させた第１〜第３クロック信号の３相の受信用クロック信号を生成する。
【００３２】
ＣＲＣ１６演算・比較器１０７〜１１０及びＣＲＣ７演算・比較器１１１〜１１３は、リードエラーの発生を検出するＣＲＣ演算・比較器である。
【００３３】
ＣＲＣ７演算・比較器１１１〜１１３は、ＣＭＤ（コマンドへ応答するレスポンスデータ）に対して、第１〜第３クロック信号それぞれに同期してＣＲＣ演算・比較を行なうＣＲＣ演算・比較器である。ＣＭＤで行われるデータ転送には７ｂｉｔのＣＲＣが付加されるため、ここでのＣＲＣ演算・比較器１１１〜１１３は７ｂｉｔのＣＲＣを計算し比較を行なう。ＣＭＤは、バス（コマンドバス信号線）１２１を介してメモリカード１０２から転送され、ＣＲＣ７演算・比較器１１１〜１１３に取り込まれる。ＣＲＣ７演算・比較器１１１〜１１３は、ＣＲＣ演算・比較を行い、リードエラーが発生したか否かを判定した判定結果（第１〜第３判定結果）を位相調整器１１５へ出力する。
【００３４】
ＣＲＣ１６演算・比較器１０８〜１１０は、ＤＡＴ０（リードデータの一つ）に対して、第１〜第３クロック信号それぞれに同期してＣＲＣ演算・比較を行なうＣＲＣ演算・比較器である。ＤＡＴ０で行われるデータ転送には１６ｂｉｔのＣＲＣが付加されるため、ここでのＣＲＣ演算・比較器１０８〜１１０は１６ｂｉｔのＣＲＣを計算し比較を行なう。ＤＡＴ０（データバス信号）は、バス（データバス信号線）１２２を介してメモリカード１０２から転送され、ＣＲＣ１６演算・比較器１０８〜１１０に取り込まれる。ＣＲＣ１６演算・比較器１０８〜１１０は、ＣＲＣ演算・比較を行い、リードエラーが発生したか否かを判定した判定結果（第１〜第３判定結果）を位相調整器１１５へ出力する。
【００３５】
ＣＲＣ１６演算・比較器１０７は、ＤＡＴ０以外のＤＡＴ１〜Ｍに対して、第１クロック信号に同期してＣＲＣ演算・比較を行なうＣＲＣ演算・比較器１０７である。ＤＡＴ１〜Ｍで行われるデータ転送には１６ｂｉｔのＣＲＣが付加されるため、ここでのＣＲＣ演算・比較器１０７は１６ｂｉｔのＣＲＣを計算し比較を行なう。バス１２２〜１２３のデータバス幅（Ｍ＋１）は、メモリカード１０２の規格により、例えばＭＭＣ（Multi Media Card）であれば１，４，８のいずれかであり、ＳＤ（Secure Digital）カードであれば１，４のいずれかである。データバス１ビット毎に、ＣＲＣ演算・比較器１０７を備える。
【００３６】
なお、ＤＡＴ１〜Ｍについて、３相のクロック信号を取り込むＣＲＣ１６演算・比較器を備えることも可能であるが、図２の構成例では、回路サイズを優先してＤＡＴ０のみを多重化している。
【００３７】
制御回路１１４は、受信終了タイミングを検出し、位相調整器１１５に対し位相比較の指示を出す。受信終了タイミングは、ＤＡＴ０がＣＲＣ１６演算・比較器１０８〜１１０に取り込まれたタイミング、あるいは、ＣＲＣ７演算・比較器１１１〜１１３から出力される、レスポンスデータに基づいた判定結果である場合、ＲＲ（Read Response）、ＷＲ（Write Response）またはＮＤＲ（No Data Response）のデータブロックがＣＲＣ７演算・比較器１１１〜１１３に取り込まれたタイミングである。
位相調整器１１５は、第１〜第３判定結果（３つのＣＲＣの演算・比較結果）に基づいて、次の受信用クロックの位相調整を行なう。位相調整器１１５は、制御回路１１４から位相調整を行うタイミングを通知される。位相調整器１１５は制御回路１１４からの指示に基づいて、位相の補正が必要である場合には受信クロック生成器１１６に対し、位相変更の指示を行なう。
【００３８】
図３は、位相調整のために必要となる分解能を説明する図である。本実施形態において、受信クロック信号は、ある位相の第１クロック信号と、第１クロック信号から位相を早めた第２クロック信号と、第１クロック信号から位相を遅らせた第３クロック信号の３つのクロックとから構成される。この３相の受信クロック信号は、必ず同時にデータウィンドウの内部に入る設定が存在する事を保証することが望ましい。図３では、データウィンドウの期間を「ＶＡＬＩＤ」で示している。このために、位相調整単位はデータウィンドウ幅の１／３以下とする。
【００３９】
続いて、ホストコントローラ１０１の動作を図４，５を用いて説明する。
図４は、メモリカードから転送されるデータブロックを取り込むリード動作のタイミング例を模式的に示す図である。リードコマンドＲＣは、リードコマンド（COMMAND）ＲＣ１と７ビットのＣＲＣ符号が付加されたＣＲＣ部（CRC7）ＲＣ２とを含み、応答ＲＲは、レスポンスデータ（RESPONSE）ＲＲ１と７ビットのＣＲＣ符号が付加されたＣＲＣ部（CRC7）ＲＲ２とを含む。リードコマンドＲＣは、リードコマンドをデータ本体とするデータブロックであり、応答ＲＲは、レスポンスデータをデータ本体とするデータブロックである。また、データブロックＲＤは、データ本体（DATA BODY）ＲＤ１と１６ビットのＣＲＣ符号が付加されたＣＲＣ部（CRC16）ＲＤ２とを含む。データブロックＲＤのデータ本体は、リードデータである。例えば、ＭＭＣ、ＳＤカードに類するメモリカードのデータブロックＲＤは、データ本体ＲＤ１と、そのデータ本体ＲＤ１から計算したＣＲＣ部ＲＤ２から構成されている。
【００４０】
図５は、データブロックを取り込むリード動作における、エラー検出の動作例を示すフローチャートである。図５のフローチャートでは、データを取り込む動作については一部省略している。
【００４１】
まず、ホストコントローラ１０１は、メモリカード１０２に対し、データ送出要求を意味するリードコマンドＲＣを送出する（Ｓ１１）。リードコマンドＲＣに応じて、メモリカード１０２は、リードコマンドＲＣに対応する応答ＲＲを返送する（Ｓ１２）。
ホストコントローラ１０１は、応答ＲＲのレスポンスデータＲＲ１を、シリアル・パラレル変換器１０５によってシリアルデータからパラレルデータに変換し、応答レジスタ１０６へ蓄える。
【００４２】
また、ホストコントローラ１０１は、リードコマンドＲＣの受信期間中、ＣＲＣ７演算・比較器１１１〜１１３において逐次ＣＲＣの算出・更新を行なう。このとき、ホストコントローラ１０１では、レスポンスデータＲＲ１に続いて転送されるＣＲＣ部ＲＲ２の受信期間において、ＣＲＣ７演算・比較器１１１〜１１３は、レスポンスデータＲＲ１から算出されたＣＲＣ計算結果と、メモリカードから送られてきたＣＲＣ部ＲＲ２とを比較し、リードエラーの検出を行なう。そして、ＣＲＣ７演算・比較器１１１〜１１３によって検出されたリードエラー検出結果（第１〜第３判定結果）を位相調整器１１５へ出力する（Ｓ１３）。
【００４３】
ＣＲＣ演算・比較器の具体的な構成については、例えば、ＭＭＣカードの仕様書に記載された構成を用いる。ここでは、ＣＲＣ演算・比較器の具体的な構成については説明を省略するが、ＣＲＣ演算・比較器はＣＲＣ符号のビット数分のフリップフロップを備えている。コマンドＲＣ１に続けてＣＲＣ部ＲＣ２を入力することにより、ＣＲＣ部の入力完了後フリップフロップ内に演算・比較結果を保持する構成となっている。すべてのフリップフロップが「０」であればＣＲＣ部の検証が成功（リードエラー無）しており、いずれかのフリップフロップの中に「１」が残っていれば、ＣＲＣ部の検証が失敗（リードエラー有）であることを示すものである。
【００４４】
位相調整器１１５はリードエラー検出結果を元に、受信クロックの位相を補正する必要があると判断した場合、すなわち、リードエラー発生と判断した場合（Ｓ１４でＹＥＳ）、受信クロック生成器１１６に対し、位相を進める、もしくは遅らせるための制御信号（ＵＰまたはＤＯＷＮ）を出力し、受信クロック生成器１１６は受信クロックの位相変更を行なう（Ｓ１５）。データ受信中の位相変更を避けるため、受信クロック生成器１１６の位相変更は、リードデータとリードデータとの間に存在するギャップＧＡＰ１（図４）期間に行なわれる。これにより、データブロックＲＤの受信において、調整後の受信クロック信号を用いることを可能にする。
【００４５】
第１クロック信号で動作するＣＲＣ７演算・比較器１１２で検出されたリードエラー検出結果は、制御回路１１４に伝えられる。制御回路１１４はエラー処理を行う（Ｓ１６及びＳ２２）。具体的には、制御回路１１４は、第一判定結果にリードエラーが検出された場合に（Ｓ１６でＹＥＳ）、応答レジスタ１０６の中身の破棄や、ＣＰＵへの割り込み生成等の処理を指示する（Ｓ２２）。その後、ホストコントローラ１０１は、処理を終了する。ここではエラー処理の詳細な説明を省略する。また、エラー処理後、ホストコントローラ１０１は、ステップＳ１１の処理へ戻り、再度リード動作を行う場合であってもよい。なお、ＣＰＵは、ホストコントローラ１０１の外部に配置されており、図２には示されていない。
【００４６】
リードエラーが発生していないと判断された場合（Ｓ１４でＮＯもしくはＳ１６でＮＯ）、メモリカード１０２は、ホストコントローラ１０１へデータブロックＲＤの転送を開始する。
ホストコントローラ１０１は、データ本体ＲＤ１を、シリアル・パラレル変換器１０３によってシリアルデータからパラレルデータに変換し、リードデータバッファ１０４へ蓄える。
また、ホストコントローラ１０１は、データ本体ＲＤ１の受信期間中、図２におけるＣＲＣ１６演算・比較器１０７〜１１０において逐次ＣＲＣの算出・更新を行なう。このとき、ホストコントローラ１０１では、データ本体ＲＤ１に続いて転送されるＣＲＣ部ＲＤ２の受信期間において、ＣＲＣ演算・比較器１０７〜１１０は、データ本体ＲＤ１から算出されたＣＲＣ計算結果と、メモリカードから送られてきたＣＲＣ部ＲＤ２とを比較し、リードエラーの検出を行なう。そして、検出結果（第１〜第３判定結果）を位相調整器１１５へ出力する（Ｓ１７）。
【００４７】
位相調整器１１５はリードエラー検出結果を元に、受信クロックの位相を補正する必要があると判断した場合、すなわち、リードエラー発生と判断した場合（Ｓ１８でＹＥＳ）、受信クロック生成器１１６に対し、位相を進める、もしくは遅らせるための制御信号（ＵＰまたはＤＯＷＮ）を出力し、受信クロック生成器１１６は受信クロックの位相変更を行なう（Ｓ１９）。データ受信中の位相変更を避けるため、受信クロック生成器１１６の位相変更は、データブロックＲＤとデータブロックＲＤとの間に存在するギャップＧＡＰ２（図４）期間に行なわれる。
第１クロック信号で動作するＣＲＣ１６演算・比較器１０７、１０９で検出されたリードエラー検出結果は、制御回路１１４に伝えられる。制御回路１１４はエラー処理を行う（Ｓ２０およびＳ２２）。具体的には、制御回路１１４は、第一判定結果にリードエラーが検出された場合に（Ｓ２０でＹＥＳ）、リードデータバッファ１０４の中身の破棄や、ＣＰＵへの割り込み生成等の処理を指示する（Ｓ２２）。その後の動作はステップＳ１６でＹＥＳの場合と同様に処理を終了する。
リードエラーが発生していない場合（Ｓ１８でＮＯ、もしくはＳ２０でＮＯ）、ホストコントローラ１０１は、メモリカード１０２から読み込むべきリードデータが存在するか否かを判断する（Ｓ２１）。読み込むべきデータが存在する場合（Ｓ２１でＹＥＳ）、ホストコントローラ１０１は、ステップＳ１７からの処理をリードデータがなくなるまで（Ｓ２１でＮＯ）繰り返す。
【００４８】
図６は、メモリカードへデータブロックを書き込むライト動作のタイミング例を模式的に示す図である。ライトコマンドＷＣは、ライトコマンド（COMMAND）と７ビットのＣＲＣ符号が付加されたＣＲＣ部（CRC7）とを含み、応答ＷＲは、レスポンスデータ（RESPONSE）と７ビットのＣＲＣ符号が付加されたＣＲＣ部（CRC7）とを含む。また、データブロックＷＤは、データ本体（DATA BODY）と１６ビットのＣＲＣ符号が付加されたＣＲＣ部（CRC16）とを含む。
ライト動作ではデータブロックＷＤはホストコントローラ１０１からメモリカード１０２方向へ転送されるため、データブロックＷＤを用いた受信クロックの補正は行なうことは不可能である。そのかわりに、ライトコマンドＷＣに対する応答ＷＲのリードエラー検出結果を用いることで、リード動作同様に受信クロックの補正を行なう事が可能である。
【００４９】
応答ＷＲのリードエラー検出結果を利用する補正方式では、ＣＲＣ７比較器１１１〜１１３が用いられる。応答ＷＲのリードエラー検出結果の動作は、図５のステップＳ１３〜Ｓ１６、Ｓ２２の動作と同様である。また、制御回路１１４、位相調整器１１５、及び受信クロック生成器１１６の動作は、メモリカードからのデータ受信時と同様である。
【００５０】
また、メモリカードからの応答を使用する受信クロックの位相調整は、図７のようにデータを伴わないアクセス動作でも適用する事ができる。図７は、メモリカードへのデータ転送を伴わないアクセス動作のタイミングタイミング例を模式的に示す図である。ホストコントローラ１０１は、コマンドＮＤＣ（No Data Command）をメモリカード１０２へ送出し、メモリカード１０２は、コマンドＮＤＣに応じた応答ＮＤＲをホストコントローラ１０１へ返送する例を示している。応答ＮＤＲのリードエラー検出結果は、応答ＷＲのリードエラー検出と同様である。
【００５１】
図８は、第１〜第３クロック信号の位相調整例を説明する図である。図８では、受信クロック信号が、第１クロック信号（クロック信号線１１８）、および位相を進めた第２クロック信号（クロック信号線１１９）、及び位相を遅らせた第３クロック信号（クロック信号線１２０）の３相のクロック信号である場合を示す。
当該３相の受信クロック信号で動作する全てのＣＲＣ演算・比較器（ＣＲＣ１６演算・比較器１０８〜１１０、ＣＲＣ７演算・比較器１１１〜１１３）においてリードエラーが検出されない場合、受信クロックはデータウィンドウの十分内側に存在していると判断し、受信クロックの位相補正を行わない。
【００５２】
第３クロック信号において、ＣＲＣ演算結果にリードエラーが検出された場合、受信クロック信号は位相が遅れかけていると判断し、受信クロック信号をデータウィンドウのより内側に補正するために、次の受信クロック信号として位相が進んだ第２クロック信号を次の受信クロックとして選択する。
第２クロック信号において、ＣＲＣ演算結果にリードエラーが検出された場合、受信クロック信号は位相が進みかけていると判断し、受信クロック信号をデータウィンドウのより内側に補正するために、次の受信クロックとして位相が遅れた第３クロック信号を次の受信クロックとして選択する。
【００５３】
第１クロック信号と第３クロック信号とにおいて、ＣＲＣ演算結果にリードエラーが検出された場合、受信クロック信号が遅れていると判断し、受信クロック信号をデータウィンドウの中央に補正するために、次の受信クロックとして、クロック信号δ（Ｎ＋２）を選択する。クロック信号δ（Ｎ＋２）は、現在の第１クロック信号に対して位相調整単位の２倍の位相を早めるシフトを行ったクロック信号である。なお、受信クロックでのＣＲＣ演算結果にリードエラーが検出されたため、同一データの再読み出しを行なう。
第１クロック信号と、第２クロック信号とにおいて、ＣＲＣ演算結果にリードエラーが検出された場合、受信クロック信号が進んでいる判断し、受信クロックをデータウィンドウの中央に補正するために、次の受信クロックとしてクロック信号δ（Ｎ−２）を選択する。クロック信号δ（Ｎ−２）は、現在の第１クロック信号に対して位相調整単位の２倍の位相を遅くするシフトを行ったクロック信号である。なお、受信クロックでのＣＲＣ演算結果にリードエラーが検出されたため、同一データの再読み出しを行なう。
【００５４】
さらに、第１〜第３クロック信号の全てにおいて、ＣＲＣ演算結果でリードエラーが検出された場合、受信クロックの初期位相のリチューニングを行なう。メモリカード初期化タイミングにおいて、受信クロックの位相がデータウィンドウの中央となるように、初期位相の探査が必要である。３つ受信クロック信号全てにおいて、エラーが検出された場合には、この再探査・リチューニングを実施する。再探査・リチューニングの動作の詳細については説明を省略する。
【００５５】
なお、ＤＡＴ１〜Ｍについて、ＤＡＴ０と同様に３重化、すなわち、３相の受信クロック信号を用いて受信する構成を用いることも可能である。ＤＡＴ０〜Ｍについて３重化することにより、図８に示す２つの受信クロック信号に応じたエラー検出結果において、リードエラーが検出された場合でも、リトライ（再転送）が不要になる。しかしながら回路規模が大きくなるという問題が生じる。従って、本実施形態では、ＤＡＴ０のみ３重化した場合の構成例を示した。これは、２ステップ分ずれる可能性と、回路規模を考えて、ＤＡＴ０のみを多重化する事としたものである。
【００５６】
このように、メモリカード１０２からの読み出し時、受信クロック信号として用いる第１クロック信号に加え、第１クロック信号から位相を早めた第２クロック信号と、第１クロック信号から位相を遅らせた第３クロック信号によりリードエラーの検出を行なう。これにより、第１クロック信号の位相がデータウィンドウに対して最適であるかどうかを判定する事が可能となる。この判定結果に応じて、次のデータを読み出すときに用いる第１クロック信号の調整を継続的に行なう。その結果、リードエラー発生を抑止することが可能となる。
【００５７】
以上説明したように、本実施形態のホストコントローラ１０１は、データ本体とＣＲＣ符号とを含むデータブロックを、基準クロックを用いて転送するインターフェースを実現するものである。そして、メモリカード制御装置３００は、上述した第１〜第３のクロック信号によって、データブロックを（シリアル）に受信し、受信したデータブロックの各データのＣＲＣを算出する。そして、算出されたＣＲＣと、データブロックに備えられたＣＲＣとを比較し、比較結果に応じて、第１〜第３のクロック信号と基準クロックとの位相を調整する位相キャリブレーション回路を実現する。
これにより、データブロックを受信する度に、受信クロック信号（第１クロック信号）の位相調整を行なうことが可能となり、リードエラーの発生を抑制できる。また、受信クロック信号の位相を補正するための特別な調整期間を不要とする。その結果、データの転送効率の低下を抑制することが可能となる。
【００５８】
（実施形態２）
実施形態１は、ＭＭＣ、ＳＤカードに類する、データブロックの誤り検出方法としてＣＲＣを用いるようなメモリカードに対する実施形態であったが、本キャリブレーション方式は、異なる誤り検出方法を使用するデータブロック転送手段に容易に適用可能である。例えば、データブロックのデータ本体（図４に示すＲＤ１）と、それに基づいて算出された冗長ブロック（ＲＤ２）というフォーマットで表わせる誤り検出方法を用いることができる。一般的な「誤り検出符号」や、一部の「誤り訂正符号」を用いることが可能である。具体的には、誤り検出符号としては、パリティ、チェックサム、ハッシュ等を用いることができる。また、誤り訂正符号としては、ＢＣＨ符号、ハミング符号等を用いることができる。さらに、上述した誤り訂正符号のように冗長データを付加する方法以外であっても、図２に示すようなＣＲＣ１６演算・比較器１１１〜１１３のようにリードエラーの発生を位相調整器１１５へ通知することが可能な誤り訂正符号を用いてもよい。この場合、データ受信後のデータの復号結果により誤りの発生が検出可能であり、位相調整器１１５へ比較結果（第１〜第３判定結果）と通知できればよい。
【００５９】
（実施形態３）
実施形態１は、同期式メモリカードを想定した物であったが、メモリカードからのデータ出力遅延がクロックの１サイクルで定義しきれないメモリ規格に対しても、容易に適用可能である。例えば、調整範囲を３６０°とする。この場合、出力遅延が動作クロック信号と相関が無い場合においても、位相調整範囲を３６０°としたことにより、サンプリングポイントを任意の角度に調整することで受信が可能となる。かつ出力遅延がふらつく場合においても、受信クロックの位相を追従させ受信を継続させることができる。
【００６０】
（その他の実施形態）
上記各実施形態では、受信クロック生成部３１０（クロック生成器１１６）は、３つのクロック信号を用いる場合を説明したが、３以上のクロック信号を生成してもよい。この場合、判定部３２０は、３以上のクロック信号を用いて取り込んだデータブロックそれぞれについて判定した３以上の複数の判定結果を位相調整部３３０へ出力し、位相調整部３３０は、３以上の複数の判定結果を用いて位相を調整する。
【００６１】
上記各実施形態によれば、誤り検出機能を備える高速なデータインタフェースにおいて、位相を変えた３相の受信クロック信号を用いて受信データのリードエラーの検出を行なうことによって、継続的な受信クロックの位相調整が可能となる。これにより、リードエラーの発生を抑制するとともに、特別なキャリブレーション期間が不要となる。その結果、転送効率の低下を抑制することができる。
【００６２】
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
【符号の説明】
【００６３】
１０１  ホストコントローラ
１０２  メモリカード
１０３  シリアル・パラレル変換器（Serial Parallel）
１０４  リードデータバッファ
１０５  シリアル・パラレル変換器
１０６  応答レジスタ（Response Register）
１０７〜１１０  ＣＲＣ１６演算・比較器
１１１〜１１３  ＣＲＣ７演算・比較器
１１４  制御回路
１１５  位相調整器
１１６  受信クロック生成器
１１７  ＳＤＣＬＫ
１２１〜１２３、３０１  バス
３００  メモリカード制御装置
３１０  受信クロック生成部
３２０  判定部
３３０  位相調整部
３４０  制御部
３５０  クロック発振部
３６０  メモリ
３９０  位相キャリブレーション回路
【図１】
2011090361.tif 000003
【図２】
2011090361.tif 000004
【図３】
2011090361.tif 000005
【図４】
2011090361.tif 000006
【図５】
2011090361.tif 000007
【図６】
2011090361.tif 000008
【図７】
2011090361.tif 000009
【図８】
2011090361.tif 000010
【図９】
2011090361.tif 000011