(57)【要約】【課題】  ＤＤＲ転送方式とバス幅倍増方式の両方に対応できるようにする。【解決手段】  メモリコントローラ１６は、第１周波数のクロックＣＬＫ１をメモリ１４とデータ転送制御装置１８に供給し、第１周波数の２倍の周波数のクロックＣＬＫ２を装置１８に供給する。メモリコントローラ１６は、クロックＣＬＫ２に従いＳＤＲでデータとコマンドを装置１８に供給する。コマンド中継装置２０は、コントローラ１６からのコマンド及びメモリ１４からのレスポンスを、周波数変換して、それぞれメモリ１４及びコントローラ１６に供給する。データ中継装置２２は、ＤＤＲ転送方式のメモリ１４に対しては、コントローラ１６からのデータとメモリ１４からのデータをスルーし、バス幅倍増方式のメモリ１４に対しては、当該メモリコントローラからのデータを２チャネルに分離し、当該メモリからの２チャネルのデータを１チャネルにまとめる。【選択図】  図１
2008129616.tif 000002
【特許請求の範囲】
【請求項１】
第１の周波数の第１クロック（ＣＬＫ１）と当該第１の周波数の２倍の周波数の第２クロック（ＣＬＫ２）を発生し、当該第２クロックに従い、ＳＤＲ（シングルデータレート）でデータを出力及び取り込みし、コマンドを出力し、レスポンスを取り込むメモリコントローラ（１６）と、
当該第１クロック（ＣＬＫ１）に従って動作するメモリであって、ＤＤＲ（ダブルデータレート）転送方式及びバス幅倍増方式の何れかに対応するメモリ（１４）と、
当該メモリコントローラからのコマンドを当該メモリに中継し、当該メモリからの当該コマンドに対するレスポンスを当該メモリコントローラに中継するコマンド中継装置（２０）と、
当該メモリ（１４）がＤＤＲ転送方式に対応するかバス幅倍増方式に対応するかを検出する転送方式検出手段（１６ａ）と、
当該第２クロック（ＣＬＫ２）に従って動作し、当該メモリコントローラ（１６）からのデータを当該メモリ（１４）に供給する第１のデータ形式変換装置（２２ａ）であって、当該メモリがＤＤＲ転送方式に対応するときには、当該メモリコントローラからのデータをスルーし、当該メモリがバス幅倍増方式に対応するときには、当該メモリコントローラからのデータを２チャネルに分離するシリアル／パラレル変換器（３４）を具備する第１のデータ形式変換装置（２２ａ）と、
当該第２クロックに従って動作し、当該メモリ（１４）からのデータを当該メモリコントローラ（１６）に供給する第２のデータ形式変換装置（２２ａ）であって、当該メモリがＤＤＲ転送方式に対応するときには、当該メモリ（１４）からのデータをスルーし、当該メモリがバス幅倍増方式に対応するときには、当該メモリからの２チャネルのデータを１チャネルに合成するパラレル／シリアル変換器（７４）を具備する第２のデータ形式変換装置（２２ｂ）
とを具備することを特徴とするメモリ装置。
【請求項２】
当該第１のデータ形式変換装置（２２ａ）が、更に、スタートビット、ＣＲＣ及びエンドビットを生成する手段（３２，３６，３８）を具備することを特徴とする請求項１に記載のメモリ装置。
【請求項３】
当該第１のデータ形式変換装置（２２ｂ）が、更に、スタートビット、ＣＲＣ及びエンドビットを生成する手段（７２，７６，７８）を具備することを特徴とする請求項１又は２に記載のメモリ装置。
【請求項４】
当該転送方式検出手段（１６ａ）は、所定コマンドに対する当該メモリのレスポンスにより、当該メモリ（１４）がＤＤＲ転送方式に対応するかバス幅倍増方式に対応するかを検出することを特徴とする請求項１乃至３の何れか１項に記載のメモリ装置。
【請求項５】
当該メモリコントローラ（１６）が、当該転送方式検出手段（１６ａ）を内蔵することを特徴とする請求項１乃至４の何れか１項に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＤＲ（ダブルデータレート）転送方式とバス幅倍増転送方式を選択可能なメモリ装置に関する。
【背景技術】
【０００２】
半導体メモリは、データを一時的に記憶する手段としてだけでなく、実質的に恒久的に記憶する記憶媒体として急速に利用分野を広げている。例えば、半導体メモリカードとして、種々のデジタル機器にデータ保存媒体として採用されている。
【０００３】
半導体メモリのインターフェースとしては、基準クロックの立ち上がりと立ち下がりのいずれか片方のエッジに同期してデータを転送するＳＤＲ（シングルデータレート）転送方式に対応するバスインターフェースが一般的である。これに対し、大容量化と高速化の要求に従い、基準クロックの立ち上がりと立ち下がりの両エッジに同期してデータを転送するＤＤＲ転送方式が提案され、実用化されている（特許文献１参照）。勿論、データバス幅を増やすバス幅倍増転送方式によっても、実効転送レートを上げることができる。
【特許文献１】特開２００１−１１８３２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
メモリカードのように装置本体に着脱自在な記憶媒体の場合、種々の仕様のメモリチップが使用される可能性がある。現在、メモリチップのデータ転送方式として、ＳＤＲ転送方式、ＤＤＲ転送方式及びバス幅倍増転送方式があり、個々のメモリチップは、その何れか１つの転送方式に対応するのが一般的である。例えば、ＳＤＲ転送方式にのみ対応するメモリチップを使用するメモリカードが、商品化されている。
【０００５】
デジタルカメラ等の本体の仕様としては、特定の転送方式のメモリカードに制限するのが好ましいが、ユーザにとっては、種々の値段の種々の性能のメモリカードを選択できるのが望ましい。
【０００６】
そこで、本発明は、複数のデータ転送方式に対応できるメモリ装置を提示することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明に係るメモリ装置は、第１の周波数の第１クロックと当該第１の周波数の２倍の周波数の第２クロックを発生し、当該第２クロックに従い、ＳＤＲ（シングルデータレート）でデータを出力及び取り込みし、コマンドを出力し、レスポンスを取り込むメモリコントローラと、当該第１クロックに従って動作するメモリであって、ＤＤＲ（ダブルデータレート）転送方式及びバス幅倍増方式の何れかに対応するメモリと、当該メモリコントローラからのコマンドを当該メモリに中継し、当該メモリからの当該コマンドに対するレスポンスを当該メモリコントローラに中継するコマンド中継装置と、当該メモリがＤＤＲ転送方式に対応するかバス幅倍増方式に対応するかを検出する転送方式検出手段と、当該第２クロックに従って動作し、当該メモリコントローラからのデータを当該メモリに供給する第１のデータ形式変換装置であって、当該メモリがＤＤＲ転送方式に対応するときには、当該メモリコントローラからのデータをスルーし、当該メモリがバス幅倍増方式に対応するときには、当該メモリコントローラからのデータを２チャネルに分離するシリアル／パラレル変換器を具備する第１のデータ形式変換装置と、当該第２クロックに従って動作し、当該メモリからのデータを当該メモリコントローラに供給する第２のデータ形式変換装置であって、当該メモリがＤＤＲ転送方式に対応するときには、当該メモリからのデータをスルーし、当該メモリがバス幅倍増方式に対応するときには、当該メモリからの２チャネルのデータを１チャネルに合成するパラレル／シリアル変換器を具備する第２のデータ形式変換装置とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＤＤＲ転送方式とバス幅倍増方式のどちらのメモリにも対応可能になり、高速なメモリアクセスを実現できる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１０】
図１は、本発明の一実施例であるメモリ装置１０の概略構成ブロック図を示す。メモリソケット１２に外部メモリ（メモリカード）１４が接続される。メモリコントローラ１６は、データ転送制御装置１８を介してコマンドを外部メモリ１４に供給し、データを外部メモリ１４との間で送受信する。
【００１１】
メモリコントローラ１６は、クロックＣＬＫ１を外部メモリ１４とデータ転送制御装置１８に供給し、クロックＣＬＫ１の倍周波数のクロックＣＬＫ２をデータ転送制御装置１８に供給する。データ転送制御装置１８のコマンド中継装置２０は、メモリコントローラ１６からのコマンド信号ＣＭＤを外部メモリ１４に転送し、外部メモリ１４からのレスポンス信号ＲＥＳをメモリコントローラ１６に転送する。
【００１２】
また、データ転送制御装置１８のデータ中継装置２２は、外部メモリ１４とメモリコントローラ１６との間で、データのデータバス長とビットレートを変換する。そのために、データ中継装置２２は、メモリコントローラ１６のデータ出力端子ＤＡＴｏｕｔとＮビットバスで接続し、データ入力端子ＤＡＴｉｎともＮビットバスで接続する。データ中継装置２２は、外部メモリ１４のデータ端子ＤＡＴとは、Ｎビット又は２Ｎビットの双方向バスを介して接続する。ソケット１２は、データ用に２Ｎ個の接続端子を具備する。外部メモリ１４は、バス幅倍増方式に対応する場合、２Ｎビット幅のデータ端子ＤＡＴを具備し、バス幅倍増方式に対応しない場合には、Ｎビット幅のデータ端子ＤＡＴを具備する。
【００１３】
メモリコントローラ１６は、データ信号長を示す信号をデータ中継装置２２に供給する。データ信号長は、データがクロックの何サイクル分にあたるか示すデータ信号長を示す。
【００１４】
メモリコントローラ１６は、後述する方法で外部メモリ１４のＤＤＲ転送方式及びバス幅倍増方式への対応状況を検出する検出装置１６ａを具備する。メモリコントローラ１６は、データ転送制御装置１８との間では、ＳＤＲ方式でデータを送受信する。
【００１５】
説明上、クロックＣＬＫ１の周波数が５０ＭＨｚ、クロックＣＬＫ２の周波数が１００ＭＨｚであるとする。メモリコントローラ１６は、クロックＣＬＫ２に従い、コマンド信号とデータ信号を生成する。データ転送制御装置１８は、クロックＣＬＫ２に従い、外部メモリ１４からのレスポンス信号及びデータ信号をメモリコントローラ１６に送信し、周波数５０ＭＨｚのクロックＣＬＫ１に従い、外部メモリ１４にコマンド信号及びデータ信号を送信する。
【００１６】
図２は、コマンド中継装置２０の概略構成ブロック図を示す。コマンド中継装置２０は、コマンド用ＦＩＦＯ２０ａ、レスポンス用ＦＩＦＯ２０ｂ及び切替え器２０ｃを具備する。
【００１７】
コマンド用ＦＩＦＯ２０ａは、メモリコントローラ１６のクロックＣＬＫ２に同期して、メモリコントローラ１６からのコマンド信号をコマンド入力端子ＣＭＤｉｎで取り込み、メモリコントローラ１６のクロックＣＬＫ１に同期して、記憶するコマンドをコマンド出力端子ＣＭＤｏｕｔから切替え器２０ｃに出力する。レスポンス用ＦＩＦＯ２０ｂは、メモリコントローラ１６からのクロックＣＬＫ１に同期して切替え器２０ｃからのレスポンス信号をレスポンス入力端子ＲＥＳｉｎで取り込み、メモリコントローラ１６のクロックＣＬＫ２に同期して、記憶するレスポンス信号をレスポンス出力端子ＲＥＳｏｕｔからメモリコントローラ１６に出力する。
【００１８】
メモリコントローラ１６は、コマンド信号用ＦＩＦＯ２０ａの書込みイネーブル端子ｗｒ＿ｅｎに書込みイネーブル信号を、読出しイネーブル端子ｒｄ＿ｅｎに読出しイネーブル信号を供給する。同様に、メモリコントローラ１６は、レスポンス信号用ＦＩＦＯ２０ｂの書込みイネーブル端子ｗｒ＿ｅｎに書込みイネーブル信号を、読出しイネーブル端子ｒｄ＿ｅｎに読出しイネーブル信号を供給する。メモリコントローラ１６はまた、クロックＣＬＫ２をＦＩＦＯ２０ａの書込みクロック端子ｗｒ＿ｃｌｋとＦＩＦＯ２０ｂの読出しクロック端子ｒｄ＿ｃｌｋに供給し、クロックＣＬＫ１をＦＩＦＯ２０ａの読出しクロック端子ｒｄ＿ｃｌｋとＦＩＦＯ２０ｂの書込みクロック端子ｗｒ＿ｃｌｋに供給する。
【００１９】
メモリコントローラ１６から外部メモリ１４にコマンド信号を発行するとき、メモリコントローラ１６は、コマンド用ＦＩＦＯ２０ａにライトイネーブル信号とリードイネーブル信号を同時にアサートし、コマンド信号終了後にネゲートする。また、外部メモリ１４からメモリコントローラ１６へのレスポンス信号を受信するときに、メモリコントローラ１６は、レスポンス信号が外部メモリ１４からＦＩＦＯ２０ｂに入力するタイミングで、レスポンス用ＦＩＦＯ２０ｂにライトイネーブル信号をアサートし、レスポンス信号のビット長の半分の段階でリードイネーブル信号をアサートし、レスポンス信号の終了後にライトイネーブル信号とリードイネーブル信号をネゲートする。
【００２０】
切替え器２０ｃは、メモリコントローラ１６からの切替え制御信号に従い、ＦＩＦＯ２０のコマンド出力端子ＣＭＤｉｎから出力されるコマンド信号を外部メモリ１４のコマンド端子ＣＭＤに供給し、又は、外部メモリ１４のコマンド端子ＣＭＤからのレスポンス信号をＦＩＦＯ２０ｂのレスポンス入力端子ＲＥＳｉｎに供給する。双方向信号線に対する切替え器２０ｃの構成自体は、周知である。
【００２１】
本実施例では、外部メモリ１４がＤＤＲ転送モードに対応する場合の動作モードをＤＤＲモードと呼び、外部メモリ１４がバス幅倍増方式に対応する場合の動作モードをバス幅変更モードと呼ぶ。
【００２２】
図３は、データ中継装置２２の概略構成ブロック図を示す。本実施例では、メモリコントローラ１６が１００ＭＨｚのクロックＣＬＫ２に従いコマンド及びデータを出力し、外部メモリ１４は、５０ＭＨｚのクロックＣＬＫ１に従い、コマンド及びデータを取り込むので、メモリコントローラ１６が出力するコマンド及びデータは、ＤＤＲ転送方式に対応する外部メモリ１４にとって、ＤＤＲ転送方式のものになっている。また、逆方向についても、外部メモリ１４が、５０ＭＨｚのクロックＣＬＫ１に従い、レスポンス及びデータを出力し、メモリコントローラ１６が１００ＭＨｚのクロックＣＬＫ２に従いレスポンス及びデータを取り込むので、外部メモリ１４が出力するＤＤＲ形式のレスポンス及びデータは、メモリコントローラ１６にとって、１００ＭＨｚのＳＤＲ形式のものになっている。従って、外部メモリ１４がＤＤＲ転送方式に対応する場合、データ中継装置２２は、コマンド、レスポンス及びデータを単にスルーすればよい。
【００２３】
メモリコントローラ１６は、クロックＣＬＫ２の周波数を５０ＭＨｚとすることで、５０ＭＨｚ動作のＳＤＲ対応の外部メモリ１４にも、データ転送制御装置１８を介して、データを読み書きすることができる。
【００２４】
データ中継装置２２は、１００ＭＨｚのＳＤＲ形式のデータを５０ＭＨｚのＤＤＲ形式又はバス幅倍増形式のデータに変換するデータ形式変換装置２２ａ、５０ＭＨｚのＤＤＲ形式又はバス幅倍増形式のデータを１００ＭＨｚのＳＤＲ形式のデータに変換するデータ形式変換装置２２ｂ、及び、メモリコントローラ１６からの切替え制御信号に従い、変換装置２２ａの出力データを外部メモリ１４に供給し、外部メモリ１４からのデータを変換装置２２ｂに供給する切替え器２２ｃ，２２ｄからなる。
【００２５】
バス幅倍増方式に対応する外部メモリ１４のみが、データ端子ＤＡＴ１とデータ端子ＤＡＴ２を具備し、その他の、ＤＤＲ転送方式に対応する外部メモリ１４は、データ端子ＤＡＴ１のみを具備し、データ端子ＤＡＴ２を具備しない。
【００２６】
ＳＤＲ形式からバス幅倍増形式への変換（以下、ＳＤＲ／バス幅倍増変換という）及びその逆（以下、バス幅倍増／ＳＤＲ変換という）では、伝送エラー検出用ＣＲＣ、及び、データの始点・終点を示すスタートビット・エンドビットを２チャネルに対して生成する必要がある。変換装置２２ａは、それら信号を生成する機能を具備する。
【００２７】
イネーブル信号生成装置３０は、メモリコントローラ１６からのクロックＣＬＫ２に同期して、メモリコントローラ１６からのデータ信号からデータ転送開始を示すスタートビットを検知し、イネーブル信号ＥＮＡＢをスタートビット生成装置３２に供給する。図４は、イネーブル信号生成装置３０の1ビット分の詳細な回路ブロック図を示す。
【００２８】
例えば、メモリコントローラ１６からのデータバスラインは、データを転送していないときには、高（Ｈｉｇｈ）の状態に維持されているおり、データ転送開始時に、低（Ｌｏｗ）になる。イネーブル信号生成装置３０は、この変化によりスタートビットを検知する。その後、イネーブル信号生成装置３０は、外部メモリ１４へのクロックＣＬＫ１に同期したステータス信号（ＣＬＫ  Ｓｔａｔｕｓ信号）に従い、ＥＮＡＢ信号をアサートする。
【００２９】
スタートビット生成装置３２は、イネーブル信号生成装置３０からのイネーブル信号ＥＮＡＢに従い、データの始点を示すスタートビットを生成し、オア回路４０，４２に供給する。スタートビットは、具体的には、データを転送していないときに高（Ｈｉｇｈ）に維持されているデータラインを低（Ｌｏｗ）に下げることで、生成される。スタートビットを出力し終えると、スタートビット生成装置３２は、シリアル／パラレル（Ｓ／Ｐ）変換装置３４に始動信号を供給する。
【００３０】
メモリコントローラ１６は、データと、当該データが何サイクル分にあたるかを示すデータ信号長をＳ／Ｐ変換器３４に供給する。Ｓ／Ｐ変換装置３４は、１００ＭＨｚのＳＤＲデータをスルーすることで、５０ＭＨｚのＤＤＲデータに変換する。即ち、Ｐ／Ｓ変換装置３４は、外部メモリ１４がＤＤＲ転送対応の場合には、メモリコントローラ１６からのデータ信号をスルーして、スタートビット生成装置３２からの始動信号に応じて、データ出力端子ＤＡＴ１からオア回路４０に出力する。オア回路４０は、スタートビットに続けて、Ｓ／Ｐ変換装置３４からのデータを出力する。
【００３１】
ＳＤＲ／バス幅倍増変換の場合、Ｓ／Ｐ変換装置３４は、メモリコントローラ１６からのデータ信号を２チャネルに分割し、スタートビット生成装置３２からの始動信号に応じて、一方のチャネルのデータ信号をデータ出力端子ＤＡＴ１からオア回路４０に出力し、他方のチャネルのデータ信号をデータ出力端子ＤＡＴ２からオア回路４２に出力する。オア回路４０，４２は、スタートビットに続けて、Ｓ／Ｐ変換装置３４による変換後のデータ信号を出力する。
【００３２】
Ｓ／Ｐ変換装置３４は、データを出力し終えると、ＣＲＣ生成装置３６に始動信号を供給する。
【００３３】
ＣＲＣ生成装置３６は、Ｓ／Ｐ変換装置３４のデータ出力端子ＤＡＴ１，ＤＡＴ２から出力される各データからＣＲＣ（巡回冗長検査符号）を生成し、Ｓ／Ｐ変換装置３４からの始動信号に応じて、データ出力端子ＤＡＴ１の出力データに対するＣＲＣをＣＲＣ１端子からオア回路４０に、データ出力端子ＤＡＴ２の出力データに対するＣＲＣをＣＲＣ２端子からオア回路４２に出力する。これにより、オア回路４０，４２は、Ｓ／Ｐ変換装置３４による変換後のデータ信号に続けて、ＣＲＣを出力する。ＣＲＣ生成装置３６は、生成したＣＲＣを出力し終えると、エンドビット生成装置３８に始動信号を供給する。
【００３４】
エンドビット生成装置３８は、ＣＲＣ生成装置３６からの始動信号に従い、データ列の終点を示すエンドビットをオア回路４０，４２に出力する。具体的には、エンドビット生成装置３８は、データラインを高（Ｈｉｇｈ）にすることにより、エンドビットを送信する。これにより、オア回路４０，４２は、ＣＲＣに続けて、エンドビットを出力する。エンドビット生成装置３８は、エンドビットを出力し終えると、データ転送の終了を示す１サイクル幅のエンドパルスをイネーブル信号生成装置３０に供給する。このエンドパルスにより、イネーブル信号生成装置３０は、イネーブル信号出力をリセットする。
【００３５】
オア回路４０，４２は、スタートビット、データ信号、ＣＲＣ及びエンドビットを時間軸上で多重化する多重化装置として機能する。
【００３６】
切替え器２２ｃは、オア回路４０の出力信号を増幅して外部メモリ１４のデータ端子ＤＡＴ１に供給するアンプ５０と、外部メモリ１４のデータ端子ＤＡＴ１の出力信号を増幅して変換装置２２ｂに供給するアンプ５２とからなり、メモリコントローラ１６からの切替え制御信号に従い、オア回路４０の出力信号を外部メモリ１４のデータ端子ＤＡＴ１に供給し、外部メモリ１４のデータ出力端子ＤＡＴ１の出力信号を変換装置２２ｂに供給する。
【００３７】
また、切替え器２２ｄは、オア回路４２の出力信号を増幅して外部メモリ１４のデータ端子ＤＡＴ２に供給するアンプ６０と、外部メモリ１４のデータ端子ＤＡＴ２の出力信号を増幅して変換装置２２ｂに供給するアンプ６２とからなり、メモリコントローラ１６からの切替え制御信号に従い、オア回路４２の出力信号を外部メモリ１４のデータ端子ＤＡＴ２に供給し、外部メモリ１４のデータ端子ＤＡＴ２の出力信号を変換装置２２ｂに供給する。
【００３８】
変換装置２２ｂは、基本的に以下のように動作する。イネーブル信号生成装置７０は、メモリコントローラ１６からのクロックＣＬＫ２に同期して、切替え器２２ｃ，２２ｄのアンプ５２，６２からのデータ信号の何れかからデータ転送開始を示すスタートビットを検知し、イネーブル信号ＥＮＡＢをスタートビット生成装置７２に供給する。
【００３９】
スタートビット生成装置７２は、イネーブル信号生成装置７０からのイネーブル信号ＥＮＡＢに従い、データの始点を示すスタートビットを生成し、オア回路８０に供給する。スタートビットを出力し終えると、スタートビット生成装置７２は、パラレル／シリアル（Ｐ／Ｓ）変換装置７４に始動信号を供給する。
【００４０】
外部メモリ１４がＤＤＲ転送に対応する場合、Ｐ／Ｓ変換装置７４は、切替え器２２ｃからの５０ＭＨｚ、Ｎビット幅のデータ信号をスルーすることで、１００ＭＨｚ、Ｎビット幅のＳＤＲデータ信号に変換し、データ出力端子ＤＡＴからオア回路８０及びＣＲＣ生成装置７６に出力する。また、外部メモリ１４がバス幅倍増方式に対応する場合、Ｐ／Ｓ変換装置７４は、切替え器２２ｃ，２２ｄからの５０ＭＨｚ、Ｎビット幅の２チャネルのデータ信号を１００ＭＨｚ、Ｎビット幅のＳＤＲデータ信号に変換し、データ出力端子ＤＡＴからオア回路８０及びＣＲＣ生成装置７６に出力する。これにより、オア回路８０は、スタートビットに続けて、Ｐ／Ｓ変換装置７４による変換後のデータ信号を出力する。アンプ５２，６２からデータとＣＲＣを受け取り、それらから通信エラーを検出する機能を持つＰ／Ｓ変換装置７４は、変換後のデータを出力し終えると、ＣＲＣ生成装置７６に始動信号を供給する。
【００４１】
ＣＲＣ生成装置７６は、Ｐ／Ｓ変換装置７４のデータ出力端子ＤＡＴから出力されるデータ信号からＣＲＣを生成し、Ｐ／Ｓ変換装置７４からの始動信号に応じて、データ出力端子ＤＡＴの出力データに対するＣＲＣをＣＲＣ端子からオア回路８０に出力する。これにより、オア回路８０は、Ｐ／Ｓ変換装置７４による変換後のデータ信号に続けて、ＣＲＣを出力する。ＣＲＣ生成装置７６は、生成したＣＲＣを出力し終えると、エンドビット生成装置７８に始動信号を供給する。
【００４２】
エンドビット生成装置７８は、ＣＲＣ生成装置７６からの始動信号に従い、データ列の終点を示すエンドビットをオア回路８０に出力する。これにより、オア回路８０は、ＣＲＣに続けて、エンドビットを出力する。エンドビット生成装置７８は、エンドビットを出力し終えると、イネーブル信号生成装置７０に、データ転送の終了を示すエンドパルスを供給する。このエンドパルスにより、イネーブル信号生成装置７０は、イネーブル信号出力をリセットする。
【００４３】
オア回路８０は、スタートビット、データ信号、ＣＲＣ及びエンドビットを時間軸上で多重化する多重化装置として機能する。
【００４４】
次に、外部メモリ１４の転送方式の判別動作とデータ転送動作を説明する。本実施例では、先ず、外部メモリ１４がＤＤＲ転送方式に対応するかどうかを判別し、ＤＤＲ転送方式に対応しない場合に、バス幅倍増方式に対応するかどうかを判別する。
【００４５】
図５は、外部メモリ１４の転送方式を判別する本実施例の動作フローチャートを示す。図６は、ＤＤＲ転送方式に対応する外部メモリ１４に対するコマンド用ＦＩＦＯ２０ａ及びレスポンス用ＦＩＦＯ２０ｂのタイミングチャートを示す。図７は、バス幅倍増方式に対応する外部メモリ１４に対するコマンド用ＦＩＦＯ２０ａ及びレスポンス用ＦＩＦＯ２０ｂのタイミングチャートを示す。図６及び図７では、説明用にコマンド信号及びレスポンス信号を２サイクルで図示してあるが、２サイクル以外であってもよいことは明らかである。
【００４６】
図６の（１）はクロックＣＬＫ１（例えば、５０ＭＨｚ）を示し、同（２）はクロックＣＬＫ２（例えば、１００ＭＨｚ）を示す。同（３）はメモリコントローラ１６とデータ転送制御装置１８との間のコマンド信号とレスポンス信号を示し、同（４）は、データ転送制御装置１８と外部メモリ１４との間のコマンド信号とレスポンス信号を示す。同（５）は、コマンド用ＦＩＦＯ２０ａの動作タイミングであって、（５ａ）は書込みクロックｗｒ＿ｃｌｋ、同（５ｂ）は書込みイネーブル信号ｗｒ＿ｅｎ、同（５ｃ）は読出しクロックｒｄ＿ｃｌｋ、同（５ｄ）は読出しイネーブル信号ｒｄ＿ｅｎを示す。同（６）は、レスポンス用ＦＩＦＯ２０ｂの動作タイミングであって、（６ａ）は書込みクロックｗｒ＿ｃｌｋ、同（６ｂ）は書込みイネーブル信号ｗｒ＿ｅｎ、同（６ｃ）は読出しクロックｒｄ＿ｃｌｋ、同（６ｄ）は読出しイネーブル信号ｒｄ＿ｅｎを示す。
【００４７】
図７の（１）〜（６），（５ａ）〜（５ｄ），（６ａ）〜（６ｄ）は、図６の対応するものと同じ内容を示す。
【００４８】
メモリコントローラ１６は、外部メモリ１４がメモリソケット１２に挿入されたか否かを検出する（Ｓ１）。外部メモリ１４を検出すると（Ｓ１）、外部メモリ１４に電源が投入される（Ｓ２）。外部メモリ１４に電源が投入されると（Ｓ２）、メモリコントローラ１６は、アイドルステートに移行するためのコマンドを発行してから（Ｓ３）、アイドルステートに遷移し、外部メモリ１４からのレスポンス信号を期待しないコマンド信号ＣＭＤ１を発行する（Ｓ４）。
【００４９】
所定時間待って、メモリコントローラ１６は、ＤＤＲ転送方式に対応するコマンド信号ＣＭＤ２を発行する（Ｓ５）。コマンドＣＭＤ２の転送用に、メモリコントローラ１６は、コマンド信号ＣＭＤ２の発行に対して、コマンド信号用ＦＩＦＯ２０ａにライトイネーブル信号及びリードイネーブル信号を発行する。
【００５０】
メモリコントローラ１６は、コマンド信号ＣＭＤ２に対応するレスポンス信号がレスポンス用ＦＩＦＯ２０ｂを通過できるように、レスポンス用ＦＩＦＯ２０ｂにライトイネーブル信号とリードイネーブル信号を発行する。メモリコントローラ１６は、レスポンス用ＦＩＦＯ２０ｂからの信号により、コマンド信号ＣＭＤ２に対応するレスポンス信号が外部メモリ１４から返信されるか否かを判別する（Ｓ６）。レスポンス信号を受信すると（Ｓ６）、外部メモリ１４がＤＤＲ転送方式に対応していると認識する（Ｓ７）。
【００５１】
コマンドＣＭＤ２に対するレスポンスが無ければ（Ｓ６）、メモリコントローラ１６は、図７に示すように、バス幅倍増方式に対応するコマンド信号ＣＭＤ３を発行する（Ｓ８）。コマンドＣＭＤ３の転送用に、メモリコントローラ１６は、コマンド信号ＣＭＤ３に対して、コマンド信号用ＦＩＦＯ２０ａにライトイネーブル信号とリードイネーブル信号を発行する。
【００５２】
メモリコントローラ１６は、コマンド信号ＣＭＤ３に対応するレスポンス信号がレスポンス用ＦＩＦＯ２０ｂを通過できるように、レスポンス用ＦＩＦＯ２０ｂにライトイネーブル信号及びリードイネーブル信号を発行する。メモリコントローラ１６は、レスポンス用ＦＩＦＯ２０ｂからの信号により、コマンド信号ＣＭＤ３に対応するレスポンス信号が外部メモリ１４から返信されるか否かを判別する（Ｓ９）。レスポンス信号を受信すると（Ｓ９）、外部メモリ１４がバス幅倍増方式に対応していると認識する（Ｓ１１）。レスポンス信号を受信しなければ（Ｓ９）、外部メモリ１４がＳＤＲ転送方式に対応すると認識する（Ｓ１０）。
【００５３】
図8は、外部メモリ１４がＤＤＲ転送モードに対応するときのデータ書込み動作のタイミングチャートを示す。図８（１）は、メモリコントローラ１６とデータ転送制御装置１８との間のコマンド、レスポンス及びデータの転送タイミングを示し、同（２）は、外部メモリ１４とデータ転送制御装置１８との間のコマンド、レスポンス及びデータの転送タイミングを示す。
【００５４】
メモリコントローラ１６が外部メモリ１４にデータを書き込む場合、メモリコントローラ１６は、書込みコマンドを外部メモリ１４に送信し、外部メモリ１４からこのコマンドに対するレスポンスを受信した後、一定時間の経過を待って、書込みのデータ信号（スタートビット、データ、ＣＲＣ及びエンドビット）を出力する。メモリコントローラ１６から出力されるコマンド及びデータは、データ転送制御装置１８をスルーして、外部メモリ１４に印加され、外部メモリ１４から出力されるレスポンス及びデータは、データ転送制御装置１８を介さずに、メモリコントローラ１６に印加される。
【００５５】
なぜなら、上述したように、外部メモリ１４が、メモリコントローラ１６からの５０ＭＨｚのクロックＣＬＫ１に従って動作し、メモリコントローラ１６が、１００ＭＨｚのクロックＣＬＫ２に従いＳＤＲ形式のコマンドとデータを出力するので、メモリコントローラ１６から出力されるＳＤＲ形式のコマンド及びデータは、外部メモリ１４にとってＤＤＲ形式のコマンド及びデータとなり、外部メモリ１４から出力されるＤＤＲ形式のレスポンス及びデータは、メモリコントローラ１６にとってＳＤＲ形式のレスポンス及びデータになるからである。
【００５６】
図９は、外部メモリ１４がバス幅倍増方式に対応するときのデータ書込み動作のタイミングチャートを示す。図９（１）はクロックＣＬＫ２を示す。同（２）は、メモリコントローラ１６から出力されるコマンドとメモリコントローラ１６に入力するレスポンスを示す。同（３）は、メモリコントローラ１６から出力されるデータ信号を示す。同（４）はイネーブル信号生成装置３０の生成するイネーブル信号ＥＮＡＢを示す。同（５）はクロックＣＬＫ１を示す。同（６）は、クロックステータスを示す。同（７）はデータ転送制御装置１８から出力されるコマンドとデータ転送制御装置１８に入力するレスポンスを示す。同（８）データ転送制御装置１８のオア回路４０から出力されるデータ信号を示す。同（９）は、データ転送制御装置１８のオア回路４２から出力されるデータ信号を示す。
【００５７】
データ転送制御装置１８が、メモリコントローラ１６から発行されるコマンドと、外部メモリ１４から発行されるレスポンスを中継し、クロック周波数を変換する。外部メモリ１４にデータを書き込むためには、メモリコントローラ１６は、書込みコマンドに対する外部メモリ１４のレスポンスを受信した後、データ形式変換装置２２ａが、データ信号の始点を示すスタートビットを受け付け可能になるまでの数クロック分を待って、データ信号長Ｌのデータを含むデータ信号を出力する。この待機時間は、外部メモリ１４毎に規定されているが、図９では、５０ＭＨｚの３サイクル分として図示してある。メモリコントローラ１６は、当該待機時間の経過後、１００ＭＨｚのクロックＣＬＫ２に同期してデータ信号（スタートビット、データ、ＣＲＣ及びエンドビット）を送信する。
【００５８】
データ中継装置２２のデータ形式変換装置２２ａが、上述したように動作して、図９（８），（９）に示す２チャネルのデータ信号を生成する。各チャネルのデータ信号に含まれるデータの信号長はＬ／２になる。
【００５９】
図１０は、外部メモリ１４がバス幅倍増方式に対応するときのデータ読出し動作のタイミングチャートを示す。図１０（１）はクロックＣＬＫ１を示す。同（２）はクロックステータスを示す。同（３）はデータ転送制御装置１８から外部メモリ１４に出力されるコマンドと外部メモリ１４からデータ転送制御装置１８に出力されるレスポンスを示す。同（４）は外部メモリ１４のデータ端子ＤＡＴ１から出力されるデータ信号を示す。同（５）は、外部メモリ１４のデータ端子ＤＡＴ２から出力されるデータ信号を示す。同（６）はクロックＣＬＫ２を示す。同（７）は、メモリコントローラ１６から出力されるコマンドとメモリコントローラ１６に入力するレスポンスを示す。同（８）は、メモリコントローラ１６に入力するデータ信号を示す。同（９）はイネーブル信号生成装置７０の生成するイネーブル信号ＥＮＡＢを示す。
【００６０】
データ転送制御装置１８が、メモリコントローラ１６から発行される読出しコマンドと、外部メモリ１４から発行されるレスポンスを中継し、クロック周波数を変換する。外部メモリ１４からデータを読出す際には、外部メモリ１４は、メモリコントローラ１６からの読出しコマンドに対するレスポンスを送信した後、データ形式変換装置２２ｂが、データ信号の始点を示すスタートビットを受け付け可能になるまでの数クロック分を待って、データ信号を切替え器２２ｃ，２２ｄに出力する。この待機時間は、外部メモリ１４毎に規定されているが、図１０では、５０ＭＨｚの３サイクル分として図示してある。外部メモリ１４は、当該待機時間の経過後、５０ＭＨｚのクロックＣＬＫ１に同期してデータ信号（スタートビット、データ、ＣＲＣ及びエンドビット）を切替え器２２ｃ，２２ｄに出力する。
【００６１】
メモリコントローラ１６からＤＤＲ転送に対応する外部メモリ１４に転送されるデータのスタートビット、ＣＲＣ及びエンドビットをデータ中継装置２２の装置２２ａが生成する例を説明したが、勿論、メモリコントローラ１６自身が生成し、装置２２ａは、メモリコントローラ１６からのデータ信号を単にスルーするだけであってもよい。
【００６２】
装置２２ｂが、メモリ１４から読み出したデータに対してスタートビット、ＣＲＣ及びエンドビットを付加しているが、装置２２ｂとメモリコントローラ間のデータ転送でエラーの可能性が無い又は充分に低い場合には、ＣＲＣの生成は不要である。２チャネルのデータを１チャネルに多重した後に、スタートパルスとエンドパルスを生成すれば良い。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】コマンド中継装置２０の概略構成ブロック図である。
【図３】データ中継装置２２の概略構成ブロック図である。
【図４】イネーブル信号生成装置３０の1ビット分の詳細な回路ブロック図である。
【図５】外部メモリ１４の転送方式を判別する本実施例の動作フローチャートである。
【図６】ＤＤＲ転送方式に対応する外部メモリ１４に対するコマンド用ＦＩＦＯ２０ａ及びレスポンス用ＦＩＦＯ２０ｂのタイミングチャートである。
【図７】バス幅倍増方式に対応する外部メモリ１４に対するコマンド用ＦＩＦＯ２０ａ及びレスポンス用ＦＩＦＯ２０ｂのタイミングチャートである。
【図８】外部メモリ１４がＤＤＲ転送モードに対応するときのデータ書込み動作のタイミングチャートである。
【図９】外部メモリ１４がバス幅倍増方式に対応するときのデータ書込み動作のタイミングチャートである。
【図１０】外部メモリ１４がバス幅倍増方式に対応するときのデータ読出し動作のタイミングチャートである。
【符号の説明】
【００６４】
１０：メモリ装置
１２：メモリソケット
１４：外部メモリ（メモリカード）
１６：メモリコントローラ
１６ａ：検出装置
１８：データ転送制御回路
２０：コマンド中継装置
２０ａ：コマンド用ＦＩＦＯ
２０ｂ：レスポンス用ＦＩＦＯ
２０ｃ：切替え器
２２：データ中継装置
２２ａ：データ形式変換装置
２２ｂ：データ形式変換装置
２２ｃ，２２ｄ：切替え器
３０：イネーブル信号生成装置
３２：スタートビット生成装置
３４：シリアル／パラレル（Ｓ／Ｐ）変換装置
３６：ＣＲＣ生成装置
３８：エンドビット生成装置
４０，４２：オア回路
５０，５２：アンプ
６０，６２：アンプ
７０：イネーブル信号生成装置
７２：スタートビット生成装置
７４：パラレル／シリアル（Ｐ／Ｓ）変換装置
７６：ＣＲＣ生成装置
７８：エンドビット生成装置
８０：オア回路
【図１】
2008129616.tif 000003
【図２】
2008129616.tif 000004
【図３】
2008129616.tif 000005
【図４】
2008129616.tif 000006
【図５】
2008129616.tif 000007
【図６】
2008129616.tif 000008
【図７】
2008129616.tif 000009
【図８】
2008129616.tif 000010
【図９】
2008129616.tif 000011
【図１０】
2008129616.tif 000012