(57)【要約】【課題】メモリ（記憶媒体）が動作しないというトラブルを防止することができる記憶媒体制御装置及び記憶媒体制御方法を提供する。【解決手段】記憶媒体を制御する記憶媒体制御装置において、所定の記憶媒体にアクセスし正常にアクセスできない場合、自動的にＡＣタイミングを調整するか、又は、記憶媒体の制御信号のドライブ能力を調整することにより、正常にアクセスできるように設定する。また、ＡＣタイミング又はドライブ能力のいずれか一方の調整を行った上で正常にアクセスできなかった場合、自動的にもう一方の調整を行う。【選択図】図２
2009070233.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体を制御する記憶媒体制御装置において、
所定の記憶媒体にアクセスし正常にアクセスできない場合、自動的にＡＣタイミングを調整するか、又は、該記憶媒体の制御信号のドライブ能力を調整することにより、正常にアクセスできるように設定することを特徴とする記憶媒体制御装置。
【請求項２】
前記ＡＣタイミング又は前記ドライブ能力のいずれか一方の調整を行った上で正常にアクセスできなかった場合、自動的にもう一方の調整を行うことを特徴とする請求項１記載の記憶媒体制御装置。
【請求項３】
前記記憶媒体へのアクセス及び前記調整を、ハードウェアを用いて行うことを特徴とする請求項１又は２記載の記憶媒体制御装置。
【請求項４】
前記記憶媒体へのアクセス及び前記調整を、ソフトウェアを用いて行うことを特徴とする請求項１又は２記載の記憶媒体制御装置。
【請求項５】
前記記憶媒体へのアクセス及び前記調整を、ハードウェアを用いて行うか、又は、ソフトウェアを用いて行うかをユーザが選択できることを特徴とする請求項１又は２記載の記憶媒体制御装置。
【請求項６】
記憶媒体を制御する記憶媒体制御方法において、
所定の記憶媒体にアクセスし正常にアクセスできない場合、自動的にＡＣタイミングを調整するか、又は、該記憶媒体の制御信号のドライブ能力を調整することにより、正常にアクセスできるように設定することを特徴とする記憶媒体制御方法。
【請求項７】
前記ＡＣタイミング又は前記ドライブ能力のいずれか一方の調整を行った上で正常にアクセスできなかった場合、自動的にもう一方の調整を行うことを特徴とする請求項６記載の記憶媒体制御方法。
【請求項８】
前記記憶媒体へのアクセス及び前記調整を、ハードウェアを用いて行うことを特徴とする請求項６又は７記載の記憶媒体制御方法。
【請求項９】
前記記憶媒体へのアクセス及び前記調整を、ソフトウェアを用いて行うことを特徴とする請求項６又は７記載の記憶媒体制御方法。
【請求項１０】
前記記憶媒体へのアクセス及び前記調整を、ハードウェアを用いて行うか、又は、ソフトウェアを用いて行うかをユーザが選択できることを特徴とする請求項６又は７記載の記憶媒体制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置などに搭載され、情報処理装置に装着される記憶媒体を制御する記憶媒体制御装置及び記憶媒体制御方法に関する。
【背景技術】
【０００２】
本発明に関連する技術例として、ＡＣタイミングの調整及びドライブ能力の調整に関する技術が開示されている。
ＡＣタイミング調整に関する例としては、入力回路及び／又は出力回路のＡＣタイミング特性が、製造時の電気的特性のばらつきや使用時の電源電圧・温度などの動作条件の変化の影響を受け難くなり、高速なインターフェースの実現に寄与し得る「半導体集積回路」（例えば、特許文献１参照）や、温度、プロセス、電源電圧変動があったとしても、自動タイミング制御回路により安定したメモリアクセスが可能となる「メモリ制御回路」がある（例えば、特許文献２参照）。
ドライブ能力調整に関する例としては、ホストデバイスとスレーブデバイスとを備えた電子回路において、スレーブデバイスに供給する信号波形に生じる欠陥を軽減できる「電子回路および信号供給方法」がある（例えば、特許文献３参照）。
【特許文献１】特開２００７−００３３３７号公報
【特許文献２】特開２００３−１７７９５９号公報
【特許文献３】特開２００７−０１３８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現在、メモリ（記憶媒体）として使用できるメディアは多種存在する。例えば、ＰＣカードタイプのもの、ＳＤカード、MemoryStick、xD_Pictureなどがある。また、これらのメモリは、多数のメーカが製造しており、メーカ毎にその特性も異なる。また、メモリ制御装置も、使用するメーカや機種により配線長なども異なる。そして、これらの複合要因により、動作しないメモリが発生してしまうという課題があった。
【０００４】
上記特許文献１及び２の技術は、電気的特性のばらつき、電源電圧変動、温度などの変化に対応するためのものであり、上記課題を解決するものではない。また、上記特許文献３の技術も、上記課題を解決するものではない。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、メモリ（記憶媒体）が動作しないというトラブルを防止することができる記憶媒体制御装置及び記憶媒体制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
かかる目的を達成するために、本発明の第１の記憶媒体制御装置は、記憶媒体を制御する記憶媒体制御装置において、所定の記憶媒体にアクセスし正常にアクセスできない場合、自動的にＡＣタイミングを調整するか、又は、記憶媒体の制御信号のドライブ能力を調整することにより、正常にアクセスできるように設定することを特徴とする。
【０００７】
本発明の第２の記憶媒体制御装置は、本発明の第１の記憶媒体制御装置において、ＡＣタイミング又はドライブ能力のいずれか一方の調整を行った上で正常にアクセスできなかった場合、自動的にもう一方の調整を行うことを特徴とする。
【０００８】
本発明の第３の記憶媒体制御装置は、本発明の第１又は第２の記憶媒体制御装置において、記憶媒体へのアクセス及び調整を、ハードウェアを用いて行うことを特徴とする。
【０００９】
本発明の第４の記憶媒体制御装置は、本発明の第１又は第２の記憶媒体制御装置において、記憶媒体へのアクセス及び調整を、ソフトウェアを用いて行うことを特徴とする。
【００１０】
本発明の第５の記憶媒体制御装置は、本発明の第１又は第２の記憶媒体制御装置において、記憶媒体へのアクセス及び調整を、ハードウェアを用いて行うか、又は、ソフトウェアを用いて行うかをユーザが選択できることを特徴とする。
【００１１】
本発明の第１の記憶媒体制御方法は、記憶媒体を制御する記憶媒体制御方法において、所定の記憶媒体にアクセスし正常にアクセスできない場合、自動的にＡＣタイミングを調整するか、又は、記憶媒体の制御信号のドライブ能力を調整することにより、正常にアクセスできるように設定することを特徴とする。
【００１２】
本発明の第２の記憶媒体制御方法は、本発明の第１の記憶媒体制御方法において、ＡＣタイミング又はドライブ能力のいずれか一方の調整を行った上で正常にアクセスできなかった場合、自動的にもう一方の調整を行うことを特徴とする。
【００１３】
本発明の第３の記憶媒体制御方法は、本発明の第１又は第２の記憶媒体制御方法において、記憶媒体へのアクセス及び調整を、ハードウェアを用いて行うことを特徴とする。
【００１４】
本発明の第４の記憶媒体制御方法は、本発明の第１又は第２の記憶媒体制御方法において、記憶媒体へのアクセス及び調整を、ソフトウェアを用いて行うことを特徴とする。
【００１５】
本発明の第５の記憶媒体制御方法は、本発明の第１又は第２の記憶媒体制御方法において、記憶媒体へのアクセス及び調整を、ハードウェアを用いて行うか、又は、ソフトウェアを用いて行うかをユーザが選択できることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、メモリ（記憶媒体）が動作しないというトラブルを防止することが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００１８】
本発明の記憶媒体制御装置は、パーソナルコンピュータ（ＰＣ）等の情報処理装置に搭載され、その情報処理装置に装着されるメモリカード等の記憶媒体を制御する記憶媒体制御装置である。本発明の記憶媒体制御装置は、記憶媒体が装着される度に実際にメモリにアクセスし、アクセスできない場合には、ＡＣタイミング調整あるいはドライブ能力（スルーレート）調整を自動的に実施することを特徴とする。
【００１９】
まず、本発明の記憶媒体制御装置のＡＣタイミング調整機能について説明する。
メモリ（メモリカード・記憶媒体）に対するアクセスのＡＣタイミングは、図１に示すように、通常基本となる制御信号（通常はクロックだがクロックがない場合はそれに準ずる信号）に対するデータバスのセットアップ及びホールドで規定される。最も簡単な調整方法としては、基本制御信号の出力遅延を調整することである。但し、基本制御信号だけでは調整できない場合もあるため、他の制御信号やデータバスの全ての遅延調整をできるようにしておいてもよい。
【００２０】
次に、遅延調整の方法を示す。装置全体のブロック図を図２に示す。なお、以下の説明では、基本制御信号の調整として説明するが、他の信号も同様の方法で実現できるものとする。
【００２１】
図２に示すように、基本制御信号の遅延調整用の遅延回路１を複数段あらかじめ配置しておく。そして、各遅延回路１から出力される、遅延量の異なる信号をセレクトできるようにする。
【００２２】
セレクト信号２は、内部レジスタ３の設定で制御できるようにする。このレジスタ３を２bit、遅延回路１を３段配置することで、４段階の調整が可能となる。もちろんレジスタ３のbit、遅延の段数を増やすことで、より多くの調整が可能となる。また、初期状態の遅延を図２のようにしておくことで、早くすることも遅くすることもできるようにしておくことが望ましい。
【００２３】
以下、ＡＣアクセス調整の実際の調整シーケンスについて、図３を参照して説明する。
メモリカードが挿入され、記憶媒体制御装置がそれを認識する（ステップＳ１）。但し、ホストＣＰＵには伝えない。
【００２４】
メモリカードの電源を入れる（カード電源の制御信号をアクティブにする）（ステップＳ２）。
【００２５】
メモリカードを初期化し、メモリカードにアクセスできる状態にする（ステップＳ３）。
【００２６】
メモリカードにアクセスする（ステップＳ４）。
【００２７】
正常にアクセスできたかを判定する（ステップＳ５）。
確定した値がカードに記録されていることがあらかじめわかっている場合は、その領域をリードするだけでよい。わかっていない場合は、任意の領域にデータを書き込み、それをリードする。正しいデータが読み出せれば、正常にアクセスできたものと判断する。
【００２８】
正常にアクセスできた場合は（ステップＳ５／ＹＥＳ）、設定を変更せずに、メモリカードが挿入されたこと（カード挿入の割り込み発生）をホストＣＰＵ側に伝え、その後は通常の動作に移行する（ステップＳ６）。
【００２９】
正常にアクセスできなかった場合は（ステップＳ５／ＮＯ）、全ての設定を実施したかを判定する（ステップＳ７）。全てのタイミング設定を実施していない場合は（ステップＳ７／ＮＯ）、レジスタ３の設定を変更して（ステップＳ８）、ステップＳ４に戻る（ステップＳ３に戻ってもよい）。タイミング設定の全てを実施しても正常にアクセスできない場合は（ステップＳ７／ＹＥＳ）、動作不能として処理する（ステップＳ９）。
【００３０】
以上説明したように、本発明の記憶媒体制御装置によれば、メモリのメーカおよび機器の配線長などの違いによるＡＣタイミングの問題で生じる、メモリが動作しないというトラブルを防止することができる。
【００３１】
なお、上記はハードウェアにて対応する場合であるが、ソフトウェアにて対応する場合も同様である。ソフトウェア対応の場合は、ステップＳ１でメモリカード挿入割り込みが発生した時、メモリカードが挿入されたことをホストＣＰＵに伝える。そして、ステップＳ２〜Ｓ５の動作をソフトウェアにて実行させる。（ソフトがハードに対して命令を出し実行すると言う意味）。ステップＳ６では当然、カードが挿入をホスト側に伝える必要はなく、そのまま通常動作に移行する。但し、タイミング設定の全てを実施しても正常にアクセスできない場合は（ステップＳ５／ＮＯ→ステップＳ７／ＹＥＳ）、動作不能として処理する（ステップＳ９）。
【００３２】
ステップＳ６において、ハード対応の場合は、カード挿入を伝えると共に、動作不能であることもホストに伝え、エラーメッセージを出すようにする。一方、ソフト対応の場合は、動作不能であることが判明した時点で、エラーメッセージを出すようにする。
【００３３】
ハードでの対応が可能な場合、ハードの機能をDisableできる機能を設けておけば、両方の対応が可能となる。つまり、ユーザが好みに応じて、ハード機能のDisable／Enableを切り換えることで、ハード、ソフトの切り換え（選択）が可能となる。これにより、ユーザの自由度が上がる。
【００３４】
次に、本発明の記憶媒体制御装置のドライブ能力調整機能について説明する。
メモリカードへ正常にアクセスできない原因がＡＣタイミングの問題ではなく、オーバーシュート、アンダーシュートなどの波形品質の問題である場合も考えられる。そこで、ドライブ能力の調整（スルーレート調整）を行うことにより、図４に示すように、オーバーシュート、アンダーシュートなどの波形品質の問題にも対応できる。
【００３５】
メモリカードの制御信号のドライブ能力の調整も、上記ＡＣタイミング調整と同様のシーケンスで実現できる。以下、例として、ＡＣタイミング調整とドライブ能力調整の両方を用いて調整する場合のシーケンスについて図５を参照して説明する。なお、ステップＳ１１〜Ｓ１８までは、図３のステップＳ１〜Ｓ８と同じなので、ここでの説明は省略し、ステップＳ１９以降について説明する。
【００３６】
ＡＣタイミング調整を全てのタイミング設定で行っても、メモリカードへ正常にアクセスできない場合（ステップＳ１７／ＮＯ）、ドライブ能力調整に自動的に移行する。
【００３７】
ドライブ設定を変更し（ステップＳ１９）、メモリカードへアクセスを行う（ステップＳ２０）。
【００３８】
正常にアクセスできたかを判定し（ステップＳ２１）、正常にアクセスできた場合は（ステップＳ２１／ＹＥＳ）、通常処理に移行する（ステップＳ１６）。
【００３９】
正常にアクセスできなかった場合は（ステップＳ２１／ＮＯ）、全てのドライブ設定を実施したかを判定する（ステップＳ２２）。全てのドライブ設定を実施していない場合は（ステップＳ２２／ＮＯ）、ステップＳ１９へ戻る。ドライブ設定の全てを実施しても正常にアクセスできない場合は（ステップＳ２２／ＹＥＳ）、動作不能として処理する（ステップＳ２３）。
【００４０】
以上説明したように、本発明の記憶媒体制御装置によれば、ＡＣタイミングおよびドライブ能力のどちらか一方の調整では、メモリカードへ正常にアクセスできないという問題が解決しない可能性があるが、両方の調整ができるようにすることで、より確実に問題を解決することができる。
【００４１】
なお、上記の場合、組み合わせも多くなるのであらゆる組み合わせを実施する方法も考えられる。この方法では、ＡＣタイミングをひとつ設定するごとに、全てのドライブ設定を実施するようなフローにすればよい。
【００４２】
また、上記説明では、ＡＣタイミング調整とドライブ能力調整の両方を用いて調整する場合としたが、ドライブ能力調整のみを行うようにしてもよい。
【００４３】
また、上記説明では、ＡＣタイミング調整の後にドライブ能力調整を行うようにしたが、その逆の順序でもよい。
【００４４】
また、上記で説明した図５のフローは、図３で説明したＡＣタイミング調整と同様に、ハードウェアでも、ソフトウェアでも実現できる。
【００４５】
なお、上記ＡＣタイミング調整及びドライブ能力調整の少なくとも１つをソフトウェアにて実現する場合、当然ソフトウェアの修正が必要となる。また、ソフトウェアの場合、ホストＣＰＵを介することになり、他の動作の影響も受けるため、処理に時間が掛かることが考えられる。よって、ハードウェアのみで実現すると、ソフトウェアの修正が必要ない。また、ホスト側の動作に依存しないので、必要最小限の時間で実現が可能となる。
【００４６】
一方、上記ＡＣタイミング調整及びドライブ能力調整の少なくとも１つをハードウェアのみで実施する場合、メモリのアクセス禁止領域にアクセスしてしまう可能性があり、最悪、メモリを壊してしまう可能性がある。また、ハードウェア設計が複雑になる。よって、禁止領域等を把握しているソフトウェアにて実現することで、メモリを壊すことはなくなる。また、ハードウェアの設計は遅延部分のみなので、非常に容易となる。
【００４７】
よって、ハードウェア、ソフトウェアはそれぞれ一長一短であるため、上述したように、どちらを用いるかをユーザが選択できるようにするのが好ましい。これにより、自由度が上がる。
【００４８】
以上、本発明の実施例について説明したが、上記記載に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【産業上の利用可能性】
【００４９】
本発明は、記憶媒体へアクセスする装置・機器、システム、方法、プログラム等に適用できる。
【図面の簡単な説明】
【００５０】
【図１】本発明の記憶媒体制御装置に係るＡＣタイミング調整を説明する図である。
【図２】本発明の記憶媒体制御装置の構成を示すブロック図である。
【図３】本発明の記憶媒体制御装置のＡＣタイミング調整の動作を示すフローチャートである。
【図４】本発明の記憶媒体制御装置に係るドライブ能力調整を説明する図である。
【図５】本発明の記憶媒体制御装置のＡＣタイミング調整及びドライブ能力調整の動作を示すフローチャートである。
【符号の説明】
【００５１】
１    遅延回路
２    セレクト信号
３    内部レジスタ
４    セレクタ
５    基本制御信号
６    データバス
７    メモリカード（記憶媒体）
８    ソケット
９    電源スイッチＩＣ
１１    カード検出信号
１２    メモリインターフェースブロック
１３    ホストインターフェースブロック
１４    ホストバス
【図１】
2009070233.tif 000003
【図２】
2009070233.tif 000004
【図３】
2009070233.tif 000005
【図４】
2009070233.tif 000006
【図５】
2009070233.tif 000007