(57)【特許請求の範囲】
【請求項１】
容量値データを含むデータを格納するメモリとコントローラとを備える記録媒体が装着されたとき前記コントローラに読み出し制御信号を与えて前記メモリから所望のデータを読み出すメモリアクセス制御回路において、
前記メモリに格納された容量値データを読み出すべく前記読み出し制御信号のアクティブ期間を所定期間に設定する第１設定手段、
前記第１設定手段の設定動作に関連して読み出された容量値データに基づいて前記メモリの容量を検出する検出手段、
前記検出手段によって検出された容量が閾値以下のとき前記所定期間を前記読み出し制御信号のアクティブ期間として有効化する第１有効化手段、
前記検出手段によって検出された容量が前記閾値を上回るとき前記読み出し制御信号のアクティブ期間を互いに異なる複数の期間に設定する第２設定手段、
前記第２設定手段の設定動作に関連して前記メモリから読み出されたデータが正当であるか否かを判別する判別手段、および
前記判別手段の判別結果に基づいて前記メモリからデータを正当に読み出すことができる最短のアクティブ期間を有効化する第２有効化手段を備え、
前記第２設定手段によって設定される複数の期間の各々は前記所定期間よりも短いことを特徴とする、メモリアクセス制御回路。
【請求項２】
前記メモリは記録媒体間で共通する共通データを格納し、
前記第２設定手段の設定動作に関連して注目される読み出し制御信号は前記共通データの格納先のアドレス情報を含み、
前記判別手段は前記メモリから読み出された前記共通データが所定値を示すか否かを判別する、請求項１記載のメモリアクセス制御回路。
【請求項３】
請求項１または２記載のメモリアクセス制御回路を備える、データ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、メモリアクセス制御回路に関し、特にたとえば着脱可能な記録媒体に設けられたコントローラを通して同じ記録媒体内のメモリにアクセスする、メモリアクセス制御回路に関する。
【０００２】
【従来の技術】
電子機器に離脱可能に装着できる記録媒体としては、コンパクトフラッシュのように、媒体内に設けられたコントローラを通して半導体メモリへのアクセスを行うものがある。ここで、コントローラのアクセス速度は、メモリの容量が大きくなるにつれて高速化する傾向がある。つまり、技術の進歩によって半導体メモリの大容量化が実現されると、コントローラのアクセス速度も技術の進歩によって高速化される。このような記録媒体にアクセスするとき、従来技術では、容量の小さな記録媒体が装着されたときでも確実にアクセス処理を行えるように、コントローラに与えるアクセス制御信号のアクティブ期間を長めに設定していた。
【０００３】
【発明が解決しようとする課題】
しかし、アクセス制御信号のアクティブ期間を長めに設定することで、コントローラの性能を十分に発揮させることができないという問題があった。
【０００４】
それゆえに、この発明の主たる目的は、記録媒体内に設けられたコントローラの性能を十分に発揮させることができる、メモリアクセス制御回路を提供することである。
【０００５】
【課題を解決するための手段】
この発明に従うメモリアクセス制御回路は、容量値データを含むデータを格納するメモリとコントローラとを備える記録媒体が装着されたときコントローラに読み出し制御信号を与えてメモリから所望のデータを読み出すメモリアクセス制御回路において、メモリに格納された容量値データを読み出すべく読み出し制御信号のアクティブ期間を所定期間に設定する第１設定手段、第１設定手段の設定動作に関連して読み出された容量値データに基づいてメモリの容量を検出する検出手段、検出手段によって検出された容量が閾値以下のとき所定期間を読み出し制御信号のアクティブ期間として有効化する第１有効化手段、検出手段によって検出された容量が閾値を上回るとき読み出し制御信号のアクティブ期間を互いに異なる複数の期間に設定する第２設定手段、第２設定手段の設定動作に関連してメモリから読み出されたデータが正当であるか否かを判別する判別手段、および判別手段の判別結果に基づいてメモリからデータを正当に読み出すことができる最短のアクティブ期間を有効化する第２有効化手段を備え、第２設定手段によって設定される複数の期間の各々は所定期間よりも短いことを特徴とする。
【０００６】
【作用】
記録媒体は、容量値データを含むデータを格納するメモリとコントローラとを備える。コントローラに読み出し制御信号を与えてメモリから所望のデータを読み出す動作は、かかる記録媒体が装着されたときに実行される。第１設定手段は、メモリに格納された容量値データを読み出すべく、読み出し制御信号のアクティブ期間を所定期間に設定する。メモリの容量は、第１設定手段の設定動作に関連して読み出された容量値データに基づいて、検出手段によって検出される。検出手段によって検出された容量が閾値以下であれば、第１有効化手段が所定期間を読み出し制御信号のアクティブ期間として有効化する。検出手段によって検出された容量が閾値を上回れば、読み出し制御信号のアクティブ期間は、第２設定手段によって互いに異なる複数の期間に設定される。判別手段は、第２設定手段の設定動作に関連してメモリから読み出されたデータが正当であるか否かを判別する。第２有効化手段は、判別手段の判別結果に基づいて、メモリからデータを正当に読み出すことができる最短のアクティブ期間を有効化する。ここで、第２設定手段によって設定される複数の期間の各々は、所定期間よりも短い。
【０００７】
このように、互いにアクティブ期間の異なる複数の読み出し制御信号によって読み出されたデータの正当性が判別され、データを正当に読み出すことができる最短のアクティブ期間が有効化されるため、コントローラの性能が最大限に発揮される。
【０００８】
この発明のある例では、メモリは記録媒体間で共通する共通データを格納し、第２設定手段の設定動作に関連して注目される読み出し制御信号は共通データの格納先のアドレス情報を含み、判別手段はメモリから読み出された共通データが所定値を示すか否かを判別する。
【００１１】
【発明の効果】
この発明によれば、記録媒体が備えるコントローラの性能を最大限に発揮させることができる。
【００１２】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１３】
【実施例】
図１を参照して、この実施例のデータ処理装置１０は、同期バス方式のＣＰＵ１２を含む。ＣＰＵ１２は、データバス１４を介してカメラＡＳＩＣ１６および双方向バッファ２０と接続される。メモリカード２２は、スロット２４に装着されたとき、双方向バッファ２０と接続される。メモリカード２２にはコントローラ２２ａおよびメモリ２２ｂが設けられ、コントローラ２２ａが双方向バッファ２０と接続される。このため、メモリ２２ｂへのアクセスはコントローラ２２ａを通して行なわれる。なお、メモリカード２２は、ＰＣＭＣＩＡフォーマットに対応するコンパクトフラッシュのような記録媒体であり、着脱自在にスロット２４に保持される。
【００１４】
メモリカード２２からデータを読み出すとき、ＣＰＵ１２は、アドレスストローブ信号（ＡＳ信号），チップセレクト信号（ＣＳ信号），アクセス内容を識別するＲ／Ｗ信号およびアドレス信号を出力する。このうち、ＡＳ信号，ＣＳ信号およびＲ／Ｗ信号はカメラＡＳＩＣ１６に設けられたメモリ制御回路１８に与えられ、アドレス信号はメモリカード２２に与えられる。メモリ制御回路１８は、入力された信号に応答して、双方向バッファ２０の制御信号（Ｗｃ０信号，Ｗｃ１信号），ＣＳ信号およびアウトプットイネーブル信号（Ｗｅ信号）を発生する。これによって、メモリ２２ｂの所望のアドレスからデータ信号が読み出され、読み出されたデータ信号が双方向バッファ２０およびバス１４を介してＣＰＵ１２に出力される。なお、カメラＡＳＩＣ１６は、データ信号がＣＰＵ１２に与えられるタイミングで、ＲＥＡＤＹ信号を自らＣＰＵ１２に出力する。
【００１５】
ＣＰＵ１２は、具体的には、図２に示すフロー図を処理する。まずメモリカード２２がスロット２４に装着されたかどうかをステップＳ１で判断し、装着されていなければステップＳ３でディスプレイ（図示せず）に警告を表示する。一方、メモリカード２２が装着されていれば、ステップＳ５でアクセス時間を最大値に設定する。具体的には、自ら出力するＣＳ信号，Ｒ／Ｗ信号およびアドレス信号のアクティブ期間を最大値に設定するとともに、カメラＡＳＩＣ１６に制御信号を与えてＷｃ０信号，Ｗｃ１信号，ＣＳ信号およびＷｅ信号のアクティブ期間を最大値に設定する。
【００１６】
ステップＳ７では、ＡＳ信号，ＣＳ信号および“読み出し”を示すＲ／Ｗ信号をカメラＡＳＩＣ１６に与えるとともに、ＩＤデータ信号の格納アドレスを示すアドレス信号をメモリカード２２に与える。メモリカード２２に設けられたコントローラ２２ａには、アクティブ期間が最大値に設定されたＣＳ信号，Ｗｅ信号およびアドレス信号が与えられ、これによってメモリ２２ｂのＩＤ格納アドレスからＩＤデータ信号が読み出される。ステップＳ９では、読み出されたＩＤデータ信号からメモリ２２ｂの容量値を検出する。つまり、ＩＤデータ信号は、型式番号のようないずれのメモリカードにも共通する共通データならびに容量値を示す容量値データを有しており、ステップＳ９ではＩＤデータ信号から容量値データを検出する。
【００１７】
ステップＳ１１では、検出された容量値データに基づいてメモリ２２ｂの容量値が所定値（たとえば８Ｍバイト）よりも大きいかどうか判断する。容量値≦所定値であれば、そのままステップＳ２３における所望データ信号のアクセス処理に移行する。つまり、ステップＳ１１におけるＮＯの判断によって、最大アクティブ期間が最適アクティブ期間（最大アクセス時間）として決定される。この結果、ステップＳ２３ではアクティブ期間が最大となるＣＳ信号，Ｗｅ信号およびアドレス信号がメモリカード２２に与えられ、アクセス処理は最大アクセス時間をかけて行われる。
【００１８】
一方、ステップＳ１１で容量値＞所定値と判断されると、ステップＳ１３でアクセス時間を１ステップ短縮する。つまり、自ら出力するＣＳ信号，Ｒ／Ｗ信号およびアドレス信号のアクティブ期間ならびにメモリ制御回路１８から出力されるＷｃ０信号，Ｗｃ１信号，ＣＳ信号およびＷｅ信号のアクティブ期間を、現時点よりも１ステップ短い期間に設定する。ステップＳ１５では、アクティブ期間が再設定された各種信号によってステップＳ７と同じ要領でメモリカード２２にアクセスし、メモリ２２ｂからＩＤデータ信号を読み出す。
【００１９】
ステップＳ１７では読み出されたＩＤデータ信号から共通データを検出し、続くステップＳ１９では検出された共通データ値を所定値と比較してＩＤデータ信号が正当であるかどうかを判別する。ここで共通データ値が所定値を示せば、ＩＤデータ信号は適切に読み出されたとみなして（ＩＤデータ信号は正当であるとみなして）ステップＳ１３に戻る。ステップＳ１３に戻る結果、アクセス時間はさらに１ステップ短縮され、短縮されたアクセス時間で再度ＩＤデータ信号が読み出される。
【００２０】
アクセス時間が短縮された結果、ＩＤデータ信号が適切に読み出されず、共通データ値が所定値と異なる値を示すと、ステップＳ１９でＮＯ（読み出されたＩＤデータ信号は不当）と判断される。このときは、ステップＳ２１でアクセス時間を１ステップ延長する。つまり、自ら出力するＣＳ信号，Ｒ／Ｗ信号およびアドレス信号のアクティブ期間ならびにメモリ制御回路１８から出力されるＷｃ０信号，Ｗｃ１信号，ＣＳ信号およびＷｅ信号のアクティブ期間を、ＩＤデータ信号が適切に読み出される最短の期間に設定する。これによって、ＩＤデータ信号を適切に読み出すことができる最短アクティブ期間が、最適アクティブ期間として決定される。最適アクティブ期間が決定されると、ステップＳ２３で所望のデータ信号のアクセス処理を実行する。
【００２１】
メモリ制御回路１８は、詳しくは図３に示すように構成される。また、最大アクセス時間をかけてＩＤデータ信号をメモリカード２２から読み出すとき、ＣＰＵ１２およびメモリ制御回路１８は図４に示すタイミングで動作する。
【００２２】
ＡＳ信号，ＣＳ信号，アドレス信号および“読み出し”を示すＲ／Ｗ信号は、図４（Ｂ）〜図４（Ｅ）に示すタイミングでＣＰＵ１２から出力される。ＡＳ信号およびＣＳ信号は、いずれもアクティブローの信号である。アクセス開始回路２４は、ＡＳ信号，ＣＳ信号およびＲ／Ｗ信号を受け、ＡＳ信号の立ち上がりに応答して、図４（Ｆ）に示すＣＳ信号および図４（Ｇ）に示すアクセス制御窓信号（Ｗａ信号）を出力する。ＣＳ信号およびＷａ信号もまたアクティブローの信号であり、かつラッチ回路２６で図４（Ａ）に示すクロックに同期される。ＣＳ信号はコントローラ２２ａに与えられ、Ｗａ信号はアクセス制御用のカウンタ２８に与えられ、これによって両者がアクティブにされる。なお、メモリ２２ｂの読み出し先アドレス（ＩＤ格納アドレス）は、ＣＰＵ１２から直接与えられるアドレス信号によって特定される。
【００２３】
カウンタ２８のカウント値（Ｗｂ信号）は、クロックに応答して図４（Ｈ）に示すようにインクリメントされる。このようなカウント値が、ＯＥ制御回路３０，双方向バッファ制御回路３２，出力バッファ制御回路３４，データラッチ制御回路３６およびＲＥＡＤＹ制御回路３８に与えられる。ＯＥ制御回路３０は、カウント値が“１”〜“５”をとるときアウトプットイネーブル信号（Ｗｅ信号）を生成し、このＷｅ信号はラッチ回路４０を経て図４（Ｋ）に示すタイミングで出力される。また、双方向バッファ制御回路３２は、カウント値が“０”〜“５”をとるとき制御信号（Ｗｃ０信号、Ｗｃ１信号）を生成し、これらの信号もまたラッチ回路４２を経て図４（Ｉ）に示すタイミングで出力される。さらに、出力バッファ制御回路３４は、カウント値が“６”〜“７”をとるとき制御信号（Ｗｄ信号）を生成し、このＷｄ信号も図４（Ｊ）に示すタイミングで出力される。さらにまた、データラッチ制御回路３６は、カウント値が“６”をとるとき図４（Ｍ）に示す制御信号（Ｗｆ信号）を生成する。また、ＲＥＡＤＹ制御回路３８は、カウント値が“７”をとるときＲＥＡＤＹ信号を生成し、このＲＥＡＤＹ信号はラッチ回路４６を介して図４（Ｐ）に示すタイミングで出力される。
【００２４】
つまり、アクティブローの信号であるＷｃ０信号，Ｗｃ１信号，Ｗｄ信号，Ｗｅ信号およびＲＥＡＤＹ信号は、ラッチ回路４０〜４６によって１クロック遅延される。一方、アクティブハイのＷｆ信号は、遅延することなくそのまま出力される。
【００２５】
ラッチ回路４０から出力されたＷｅ信号は、コントローラ２２ａに与えられる。上述のように、Ｗｅ信号はアクティブローのアウトプットイネーブル信号であるため、この信号がローレベルとなる期間に、コントローラ２２ａがメモリ２２ｂからＩＤデータ信号を読み出す。ＩＤデータ信号は、Ｗｅ信号が立ち上がった後もわずかな期間だけホールドされ、ＩＤデータ信号の読み出しタイミングは図４（Ｌ）のように表される。一方、ラッチ回路４２から出力されたＷｃ０信号およびＷｃ１信号は、双方向バッファ２０に与えられる。Ｗｃ０信号によって双方向バッファ２０に電源が投入され、Ｗｃ１信号によって、バッファ２０ａが不能化されるとともにバッファ２０ｂが能動化される。したがって、図４に示す期間Ａだけ、メモリカード２２側からデータバス１４側へのデータ転送が可能となる。この結果、読み出されたＩＤデータ信号（データＤａ）は、図４（Ｏ）に示すタイミングで双方向バッファ２０およびデータバス１４を通過し、メモリ制御回路１８に入力される。
【００２６】
データＤａは、バッファ４８を通してラッチ回路５０に与えられ、データラッチ制御回路３６から出力されたＷｆ信号の立ち上がり期間におけるクロックの立ち上がりでラッチされる。つまり、データＤａは、カウント値が“７”になった時点でラッチされる。ラッチされたＩＤデータ信号をＤｂとすると、このデータＤｂは、図４（Ｎ）に示すタイミングでラッチ回路５０から出力され、選択回路５２を介してバッファ５４に入力される。バッファ５４は、ラッチ回路４４から出力されるＷｄ信号によって図４に示す期間Ｂに能動化され、この期間ＢだけデータＤｂをデータバス１４に出力する。この結果、データバス１４上を転送されるＩＤデータ信号は、図４（Ｏ）に示すタイミングでＤａからＤｂに切り換えられる。
【００２７】
ラッチ回路４６からは、カウント値が“８”になったときにＲＥＡＤＹ信号が出力される。このＲＥＡＤＹ信号は、ＣＰＵ１２の他にアクセス開始回路２４およびカウンタ２８にも与えられる。アクセス開始回路２４は、ＲＥＡＤＹ信号の立ち上がりで不能化され、これによってＣＳ信号およびＷａ信号の出力が中止される。また、カウンタ２８は、ＲＥＡＤＹ信号の立ち上がりでリセットされる。この結果、コントローラ２２ａはデータＤａがラッチされてから２クロック後に不能化される。一方、ＣＰＵ１２は、ＲＥＡＤＹ信号の入力期間におけるクロックの立ち上がりでデータＤｂを取り込み、ＲＥＡＤＹ信号の立ち上がりでＡＳ信号、ＣＳ信号、Ｒ／Ｗ信号およびアドレス信号の出力を中止する。
【００２８】
アクセス時間が１ステップ短縮されたとき、ＣＰＵ１２およびメモリ制御回路１８は図５に示すタイミングで動作する。
【００２９】
ＡＳ信号，ＣＳ信号，アドレス信号およびＲ／Ｗ信号は、図５（Ｂ）〜図５（Ｅ）に示すタイミングでＣＰＵ１２から出力される。ここで、ＣＳ信号，アドレス信号およびＲ／Ｗ信号のアクティブ期間は、図４（Ｂ）〜図４（Ｅ）と比較して１クロック期間短い。アクセス開始回路２４は、ＡＳ信号の立ち上がりに応答して図５（Ｆ）に示すＣＳ信号および図５（Ｇ）に示すＷａ信号を出力する。ＣＳ信号およびＷａ信号もまた、図４（Ｆ）および図４（Ｇ）と比較して１クロック期間短い。
【００３０】
カウンタ２８のカウント値（Ｗｂ信号）は、図５（Ｈ）に示すタイミングでインクリメントされる。ＯＥ制御回路３０は、カウント値が“１”〜“４”をとるときＷｅ信号を生成し、このＷｅ信号はラッチ回路４０を経て図５（Ｋ）に示すタイミングで出力される。また、双方向バッファ制御回路３２は、カウント値が“０”〜“４”をとるときＷｃ０信号およびＷｃ１信号を生成し、これらの信号もまたラッチ回路４２を経て図５（Ｉ）に示すタイミングで出力される。さらに、出力バッファ制御回路３４は、カウント値が“５”〜“６”をとるときＷｄ信号を生成し、このＷｄ信号も図５（Ｊ）に示すタイミングで出力される。さらにまた、データラッチ制御回路３６は、カウント値が“５”をとるとき図５（Ｍ）に示すＷｆ信号を生成する。また、ＲＥＡＤＹ制御回路３８は、カウント値が“６”をとるときＲＥＡＤＹ信号を生成し、このＲＥＡＤＹ信号はラッチ回路４６を介して図５（Ｐ）に示すタイミングで出力される。
【００３１】
つまり、Ｗｃ０信号，Ｗｃ１信号およびＷｅ信号のアクティブ期間は、図４（Ｉ）および図４（Ｋ）と比較して１クロック分短縮される。Ｗｄ信号，Ｗｆ信号およびＲＥＡＤＹ信号については、アクティブとなるタイミングが１クロック期間進められる。
【００３２】
コントローラ２２ａは、ＩＤデータ信号を図５（Ｌ）に示すタイミングでメモリ２２ｂから読み出す。バッファ２０ｂは、Ｗｃ１信号によって図５に示す期間Ａに能動化される。このため、メモリ２２ｂから読み出されたＩＤデータ信号（データＤａ）は、図５（Ｏ）に示すタイミングで双方向バッファ２０およびデータバス１４を通過し、メモリ制御回路１８に入力される。データＤａは、バッファ４８を通してラッチ回路５０に与えられ、Ｗｆ信号の立ち上がり期間におけるクロックの立ち上がりでラッチされる。つまり、データＤａは、カウント値が“６”になった時点でラッチされる。ラッチされたＩＤデータ信号（データＤｂ）は、図５（Ｎ）に示すタイミングでラッチ回路５０から出力され、選択回路５２を介してバッファ５４に入力される。バッファ５４は、Ｗｄ信号によって図５に示す期間Ｂに能動化され、この期間ＢだけデータＤｂをデータバス１４に出力する。
【００３３】
ラッチ回路４６からは、カウント値が“７”になったときにＲＥＡＤＹ信号が出力される。アクセス開始回路２４からのＣＳ信号およびＷａ信号の出力は、ＲＥＡＤＹ信号の立ち上がりに応答して中止され、カウンタ２８もまたＲＥＡＤＹ信号の立ち上がりでリセットされる。一方、ＣＰＵ１２は、ＲＥＡＤＹ信号の入力期間におけるクロックの立ち上がりでデータＤｂを取り込み、ＲＥＡＤＹ信号の立ち上がりでＡＳ信号、ＣＳ信号、Ｒ／Ｗ信号およびアドレス信号の出力を中止する。
【００３４】
アクセス時間がさらに１ステップ短縮されたとき、ＣＰＵ１２およびメモリ制御回路１８は図６に示すタイミングで動作する。
【００３５】
ＣＰＵ１２は、ＡＳ信号，ＣＳ信号，アドレス信号およびＲ／Ｗ信号を図６（Ｂ）〜図６（Ｅ）に示すタイミングで出力する。図５（Ｂ）〜図５（Ｅ）と比較すれば分かるように、ＣＳ信号，アドレス信号およびＲ／Ｗ信号のアクティブ期間は１クロック期間短縮されている。アクセス開始回路２４は、ＡＳ信号の立ち上がりに応答して図５（６）に示すＣＳ信号および図６（Ｇ）に示すＷａ信号を出力する。ＣＳ信号およびＷａ信号もまた、図５（Ｆ）および図５（Ｇ）と比較して１クロック期間短い。
【００３６】
カウンタ２８のカウント値（Ｗｂ信号）は、図６（Ｈ）に示すタイミングでインクリメントされる。ＯＥ制御回路３０はカウント値が“１”〜“３”をとるときＷｅ信号を生成し、生成されたＷｅ信号は図６（Ｋ）に示すタイミングでラッチ回路４０から出力される。また、双方向バッファ制御回路３２は、カウント値が“０”〜“３”をとるときＷｃ０信号およびＷｃ１信号を生成し、Ｗｃ０信号およびＷｃ１信号もまた図６（Ｉ）に示すタイミングでラッチ回路４２から出力される。さらに、出力バッファ制御回路３４は、カウント値が“４”〜“５”をとるときＷｄ信号を生成し、このＷｄ信号も図６（Ｊ）に示すタイミングでラッチ回路４４から出力される。さらにまた、データラッチ制御回路３６は、カウント値が“４”をとるとき図６（Ｍ）に示すＷｆ信号を生成する。また、ＲＥＡＤＹ制御回路３８は、カウント値が“５”をとるときＲＥＡＤＹ信号を生成し、このＲＥＡＤＹ信号は図６（Ｐ）に示すタイミングでラッチ回路４６から出力される。
【００３７】
このように、Ｗｃ０信号，Ｗｃ１信号およびＷｅ信号のアクティブ期間は、図５（Ｉ）および図５（Ｋ）と比較して１クロック分短縮される。Ｗｄ信号，Ｗｆ信号およびＲＥＡＤＹ信号については、アクティブとなるタイミングが１クロック期間進められる。
【００３８】
図６（Ｋ）に示すＷｅ信号を受けたコントローラ２２ａは、ＩＤデータ信号（データＤ）を図６（Ｌ）に示すタイミングでメモリ２２ｂから読み出す。バッファ２０ｂはＷｃ１信号によって図６に示す期間Ａに能動化されるため、読み出されたデータＤａは、図６（Ｏ）に示すタイミングで双方向バッファ２０およびデータバス１４を通過し、メモリ制御回路１８に入力される。データＤａは、バッファ４８を通してラッチ回路５０に与えられ、Ｗｆ信号の立ち上がり期間におけるクロックの立ち上がりでラッチされる。つまり、データＤａは、カウント値が“５”になった時点でラッチされる。ラッチされたＩＤデータ信号（データＤｂ）は、図６（Ｎ）に示すタイミングでラッチ回路５０から出力され、選択回路５２を介してバッファ５４に入力される。バッファ５４は、Ｗｄ信号によって図６に示す期間Ｂに能動化され、この期間ＢだけデータＤｂをデータバス１４に出力する。
【００３９】
ＲＥＡＤＹ信号は、カウント値が“６”になったときにラッチ回路４６から出力される。アクセス開始回路２４からのＣＳ信号およびＷａ信号の出力は、このＲＥＡＤＹ信号の立ち上がりに応答して中止され、カウンタ２８もまたＲＥＡＤＹ信号の立ち上がりでリセットされる。一方、ＣＰＵ１２は、ＲＥＡＤＹ信号の入力期間におけるクロックの立ち上がりでデータＤｂを取り込み、ＲＥＡＤＹ信号の立ち上がりでＡＳ信号，ＣＳ信号，Ｒ／Ｗ信号およびアドレス信号の出力を中止する。
【００４０】
この実施例によれば、スロットに保持されたメモリカードからデータ信号を読み出すとき、まず最大アクティブ期間のアドレス信号，ＣＳ信号およびＷｅ信号がコントローラに与えられ、メモリのＩＤ格納アドレスからＩＤデータ信号が読み出される。このＩＤデータ信号にはメモリの容量値（総容量値）データが含まれており、この容量値データによってメモリの容量が所定値よりも大きいかどうか判断される。そして、容量値が所定値以下であれば、最大アクティブ期間が最適アクティブ期間として決定される。つまり、最大アクティブ期間が有効化される。
【００４１】
一方、容量値が所定値以上であれば、アクティブ期間が互いに異なるアドレス信号，ＣＳ信号およびＷｅ信号によってメモリからＩＤデータ信号が読み出され、読み出された各々のＩＤデータ信号について正当性の有無が判別される。具体的には、ＩＤデータ信号に含まれる共通データの値が所定値と比較され、共通データ値が所定値を示せばＩＤデータ信号は正当であると判断されるが、共通データ値が所定値を示さなければＩＤデータ信号は不当であると判断される。そして、正当であると判断されたＩＤデータ信号を読み出したときのアクティブ期間のうち、最短のアクティブ期間が最適アクティブ期間として決定される。つまり、ＩＤデータ信号が適切に読み出される最短のアクティブ期間が有効化される。
【００４２】
このように、メモリの容量が所定値以下であれば最大アクティブ期間を有効化し、メモリの容量が所定値よりも大きければデータ信号を適切に読み出すことができる最短のアクティブ期間を有効化するようにしている。このため、容量が所定値以下のメモリカードが装着されたときは、所望のデータのアクセスが可能となるまでの時間を短縮でき、容量が所定値を上回るメモリカードが装着されたときは、コントローラの機能を最大限に発揮させることができる。
【００４３】
なお、この実施例では、ＩＤデータ信号を適切に読み出すことができる最短アクティブ期間を求めるとき、アクティブ期間を１ステップずつ短縮するようにしているが、アクティブ期間を１ステップずつ延長して上述の最短アクティブ期間を求めるようにしてもよい。また、この実施例では、記録媒体としてコンパクトフラッシュを用いているが、コンパクトフラッシュの代わりにマイクロドライブやメモリスティックなどを用いてもよい。さらに、この実施例では制御信号Ｗｃ０，Ｗｃ１，Ｗｄ，Ｗｅ，ＷｆおよびＲＥＡＤＹ信号の出力タイミングをカウンタによって制御するようにしたが、タイミングの制御にはカウンタ以外のステートマシンを用いてもよい。
【００４４】
また、この実施例では読み出し動作についてのみ説明したが、この発明は書き込み動作についても有効である。
【図面の簡単な説明】
【図１】この発明の１実施例を示すブロック図である。
【図２】図１実施例の動作の一部を示すフロー図である。
【図３】メモリ制御回路を示すブロック図である。
【図４】図１実施例の動作の一部を示すタイミング図である。
【図５】図１実施例の動作の他の一部を示すタイミング図である。
【図６】図１実施例の動作のその他の一部を示すタイミング図である。
【符号の説明】
１０  …データ処理装置
１２  …ＣＰＵ
１４  …データバス
１８  …メモリ制御回路
２０  …双方向バッファ
２２  …メモリカード
【図１】
0003691340.tif 000002
【図２】
0003691340.tif 000003
【図３】
0003691340.tif 000004
【図４】
0003691340.tif 000005
【図５】
0003691340.tif 000006
【図６】
0003691340.tif 000007