(57)【要約】      （修正有）【課題】同期型メモリと非同期型メモリとに並列的または同時的にアクセスするコントローラのピン端子数を削減すること。【解決手段】ＳＤＲＡＭにカラム・アドレスをラッチさせたなら、その直後にＦＬＡＳＨへのアクセスを開始し、共有バスコントローラがアドレスバス上にＦＬＡＳＨに対する書き込みまたは読み出しのアドレスを出力する。そして、データバス上のデータ転送が終了した後に、共有バスコントローラが書き込みのデータを出力するか、もしくはＦＬＡＳＨがその読み出したデータをストローブ信号によりデータバス上に出力できるようにする。次いで、ＦＬＡＳＨでアドレスの入力が確定し、かつ共有バスコントローラがストローブ信号をアサートすると、ＦＬＡＳＨがデータバス上の書き込みデータを取り込むか、もしくは共有バスコントローラがデータバス上の読み出しデータを取り込む。【選択図】    図７
2008146581.tif 000002
【特許請求の範囲】
【請求項１】
クロックに同期してデータの書き込みと読み出しを行う第１のメモリと、
クロックに依存せずに非同期でデータの書き込みと読み出しを行う第２のメモリと、
前記第１および第２のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、
前記コントローラと前記第１のメモリとをアドレス指定のために繋ぐ第１のアドレスバスと、
前記コントローラと前記第１のメモリとをデータ転送のために繋ぐ第１のデータバスと、
前記コントローラと前記第１のメモリとをメモリ制御のために繋ぐ第１の制御線と、
前記コントローラと前記第２のメモリとをアドレス指定のために繋ぐ第２のアドレスバスと、
前記コントローラと前記第２のメモリとをデータ転送のために繋ぐ第２のデータバスと、
前記コントローラと前記第２のメモリとをメモリ制御のために繋ぐ第２の制御線と
を有し、
前記コントローラのアドレス端子の一部または全部を前記第１および第２のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第１および第２のデータバスに共通接続し、
前記コントローラが、前記第１のメモリに対するアクセスと前記第２のメモリに対するアクセスとが競合するときは、前記第１のアドレスバス上に送出した第１のアドレスを前記第１のメモリに取り込ませた後に前記第２のアドレスバス上に第２のアドレスを送出し、前記第１のデータバス上で前記第１のメモリとのデータ転送が終了し、かつ前記第２のメモリにおける前記第２のアドレスの入力が確定した後に前記第２のデータバス上で前記第２のメモリとのデータ転送を行うメモリバス共有システム。
【請求項２】
前記第１のメモリ、前記第２のメモリおよび前記コントローラが、それぞれ個別の半導体チップに搭載され、同一の基板上もしくはパッケージ上に実装される請求項１に記載のメモリバス共有システム。
【請求項３】
前記第１のメモリがシンクロナスＤＲＡＭである請求項１または請求項２に記載のメモリバス共有システム。
【請求項４】
前記コントローラは、アイドル状態の前記シンクロナスＤＲＡＭにデータを書き込むときは、第１の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを前記第１の制御線および前記第１のアドレスバス上にそれぞれ送出し、前記第１の時点から所定時間経過後の第２の時点で同時にライト・コマンドおよび所望のカラム・アドレスを前記第１の制御線および前記第１のアドレスバス上にそれぞれ送出し、前記第２の時点から予め設定したバースト長のデータをクロックに同期して前記第１のデータバス上に送出する請求項３に記載のメモリバス共有システム。
【請求項５】
前記コントローラは、前記第２の時点から前記バースト長に応じた所定時間経過後の第３の時点でプリチャージ・コマンドを前記第１の制御線上に送出する請求項４に記載のメモリバス共有システム。
【請求項６】
前記コントローラは、アイドル状態の前記シンクロナスＤＲＡＭからデータを読み出すときは、第１の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを前記第１の制御線および前記第１のアドレスバス上にそれぞれ送出し、前記第１の時点から所定時間経過後の第２の時点で同時にリード・コマンドおよび所望のカラム・アドレスを前記第１の制御線および前記第１のアドレスバス上にそれぞれ送出し、前記第２の時点から予め設定したＣＡＳレイテンシの期間経過後の第３の時点から予め設定したバースト長のデータをクロックに同期して前記第１のデータバス上から取り込む請求項３に記載のメモリバス共有システム。
【請求項７】
前記コントローラは、前記第３の時点から前記バースト長に応じた所定時間経過後の第４の時点でプリチャージ・コマンドを前記第１の制御線上に送出する請求項６に記載のメモリバス共有システム。
【請求項８】
前記コントローラは、前記第１のアドレスバスと前記データバスの使用を伴わないコマンドを前記第１の制御線を介して前記シンクロナスＤＲＡＭに与えて前記シンクロナスＤＲＡＭに前記コマンドを実行させている間は、前記第２のメモリに対して前記第２のアドレスバスと前記第２のデータバスと前記第２の制御線とを通じて任意にデータの書き込みまたは読み出しを行う請求項３〜７のいずれか一項に記載のメモリバス共有システム。
【請求項９】
前記第２のメモリが不揮発性メモリである請求項３〜８のいずれか一項に記載のメモリバス共有システム。
【請求項１０】
前記コントローラは、前記第１のデータバス上のデータ転送が終了した後に前記第２のデータバス上に書き込みのデータを出力し、次いで書き込み用のストローブ信号を出力して前記不揮発性メモリに前記データを書き込む請求項９記載のメモリバス共有システム。
【請求項１１】
前記コントローラは、前記第１のデータバス上のデータ転送が終了した後に読み出し用のストローブ信号を出力して前記不揮発性メモリに読み出しのデータを前記第２のデータバス上に出力させ、前記第２のデータバス上から前記読み出しのデータを取り込む請求項１０に記載のメモリバス共有システム。
【請求項１２】
前記コントローラは、前記第１のデータバス上のデータ転送が終了した直後にいったん前記第１および第２のデータバスをそれぞれハイ・インピーダンス状態にしてから前記第２のデータバス上でデータの送受を行う請求項１０または請求項１１に記載のメモリバス共有システム。
【請求項１３】
クロックに同期してデータの書き込みと読み出しを行う第１のメモリと、
クロックに依存せずに非同期でデータの書き込みと読み出しを行う第２のメモリと、
前記第１および第２のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、
前記コントローラと前記第１のメモリとをアドレス指定のために繋ぐ第１のアドレスバスと、
前記コントローラと前記第１のメモリとをデータ転送のために繋ぐ第１のデータバスと、
前記コントローラと前記第１のメモリとをメモリ制御のために繋ぐ第１の制御線と、
前記コントローラと前記第２のメモリとをアドレス指定のために繋ぐ第２のアドレスバスと、
前記コントローラと前記第２のメモリとをデータ転送のために繋ぐ第２のデータバスと、
前記コントローラと前記第２のメモリとをメモリ制御のために繋ぐ第２の制御線と
を有し、
前記コントローラのアドレス端子の一部または全部を前記第１および第２のアドレスバスに共通接続し、
前記コントローラが、前記第１のメモリに対するアクセスと前記第２のメモリに対するアクセスとが競合するときは、前記第１のアドレスバス上に送出した第１のアドレスを前記第１のメモリに取り込ませた後に前記第２のアドレスバス上に第２のアドレスを送出し、前記第１のデータバス上の前記第１のメモリとのデータ送受と前記第２のデータバス上の前記第２のメモリとのデータ送受とを独立的に行うメモリバス共有システム。
【請求項１４】
前記第１のメモリ、前記第２のメモリおよび前記コントローラが、それぞれ個別の半導体チップに搭載され、同一の基板上もしくはパッケージ上に実装される請求項１３に記載のメモリバス共有システム。
【請求項１５】
前記第１のメモリがシンクロナスＤＲＡＭである請求項１３または請求項１４に記載のメモリバス共有システム。
【請求項１６】
前記第２のメモリが不揮発性メモリである請求項１３〜１５のいずれか一項に記載のメモリバス共有システム。
【請求項１７】
クロックに同期してデータの書き込みと読み出しを行うシンクロナスＤＲＡＭと、
クロックに依存せずに非同期でデータの書き込みと読み出しを行うフラッシュメモリと、
前記シンクロナスＤＲＡＭおよび前記フラッシュメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、
前記コントローラと前記シンクロナスＤＲＡＭとをアドレス指定のために繋ぐ第１のアドレスバスと、
前記コントローラと前記シンクロナスＤＲＡＭとをデータ転送のために繋ぐ第１のデータバスと、
前記コントローラと前記シンクロナスＤＲＡＭとをメモリ制御のために繋ぐ第１の制御線と、
前記コントローラと前記フラッシュメモリとをアドレス指定のために繋ぐ第２のアドレスバスと、
前記コントローラと前記フラッシュメモリとをデータ転送のために繋ぐ第２のデータバスと、
前記コントローラと前記フラッシュメモリとをメモリ制御のために繋ぐ第２の制御線と
を有し、
前記コントローラのアドレス端子の一部または全部を前記第１および第２のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第１および第２のデータバスに共通接続し、
前記コントローラが、前記シンクロナスＤＲＡＭに対するアクセスと前記フラッシュメモリに対するアクセスとが競合するときは、前記第１のアドレスバス上に送出した第１のアドレスを前記シンクロナスＤＲＡＭに取り込ませた後に前記第２のアドレスバス上に第２のアドレスを送出し、前記第１のデータバス上で所望の書き込みデータまたは読み出しデータの一部に相当する第１のバースト長のデータ転送を終えた時点から前記シンクロナスＤＲＡＭに対するメモリアクセス動作を停止し、代わりに前記第２のデータバス上で前記フラッシュメモリとデータの送受を行い、その後に前記シンクロナスＤＲＡＭに対するメモリアクセス動作を再開させて前記書き込みデータまたは読み出しデータの残りに相当する第２のバースト長のデータ転送を行うメモリバス共有システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理やデータ処理に用いるメモリシステムに係り、特に異なるタイプのメモリにバスを共有させるメモリバス共有システムに関する。
【背景技術】
【０００２】
一般に、ディジタル信号処理にはマイクロプロセッサに付随して半導体メモリが用いられている。半導体メモリには揮発性メモリと不揮発性メモリの２つのタイプがあり、１つのシステムで両タイプを併用する場合は揮発性メモリが主にデータの一時的な蓄積に用いられ、不揮発性メモリが主にプログラムや固定値の保存に用いられる。
【０００３】
近年、マイクロプロセッサ（ＭＰＵ）の処理性能の向上に伴って、揮発性メモリには高速化が要求され、不揮発性メモリには大容量化が要求されている。高速の揮発性メモリとしてはシンクロナスＤＲＡＭ（ＳＤＲＡＭ）が、大容量の不揮発性メモリとしてはフラッシュメモリが、それぞれ主流になっている。
【０００４】
たとえば、ＤＶＤ（Digital Versatile Disk）ドライブ装置においては、信号処理用のプリント基板上に、光ピックアップの出力信号を入力してアナログ信号演算処理を行うアナログフロントエンド（ＡＦＥ）の半導体パッケージや、ＡＦＥからの再生データ信号に基づいた光ディスク再生のためのディジタル信号処理およびパーソナルコンピュータあるいはＭＰＥＧエンコーダ／デコーダ（バックエンド）からの書き込みデータに基づいた光ディスク記録のためのディジタル信号処理を行うディジタルフロントエンド（ＤＦＥ）の半導体パッケージなどと一緒に、ＤＦＥに付随するＤＲＡＭおよびフラッシュメモリの各半導体パッケージも実装される。ここで、ＳＤＲＡＭには、光ディスクから読み出された直後のデータや光ディスクに書き込む直前のデータが一時的に保存される。また、フラッシュメモリには、ＤＦＥ内のＭＰＵを動作させるためのプログラムや各種固定値（たとえば学習機能で獲得した制御用設定値）等が定常的に保存される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来は、ＤＦＥに対してＳＤＲＡＭとフラッシュメモリとが完全個別または独立に接続されていた。したがって、たとえば、ＳＤＲＡＭパッケージおよびフラッシュメモリ・パッケージのピン数がそれぞれ３５本、３２本である場合は、ＤＦＥパッケージにＳＤＲＡＭ分とフラッシュメモリ分を合わせて計６７本のピンを割り当てなければならず、ＤＦＥパッケージのピン数増大とパッケージサイズの大型化を来たしていた。通常、ＤＶＤドライブ基板においては、ＤＦＥパッケージが他のパッケージよりも格段に大きくて基板サイズを律則することから、ＤＦＥパッケージの大型化は基板サイズの大型化ひいてはＤＶＤドライブ装置の大型化に直結する。しかも、今後はＤＦＥとＡＦＥとのデバイス・インテグレーション（１チップ化または１パッケージ化）もなされる方向にあり、ＤＦＥパッケージのピン数削減は喫緊の課題になっている。
【０００６】
本発明は、上記のような従来技術の問題点に鑑みてなされたもので、同期型メモリと非同期型メモリとに並列的または同時的にアクセスするコントローラのピン端子数を削減してパッケージサイズ、基板サイズ、実装コストを改善するメモリバス共有システムを提供することを目的とする。
【０００７】
さらに、本発明は、同期型メモリおよび非同期型メモリ間のアクセス競合に対して最適なプロトコルを用いることにより、両メモリ共にデータ転送効率ないしデータ転送速度を落とすことなくアクセスタイムを保障するようにしたメモリバス共有システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明の第１のメモリバス共有システムは、クロック信号に同期してデータの書き込みと読み出しを行う第１のメモリと、クロック信号に依存せずに非同期でデータの書き込みと読み出しを行う第２のメモリと、前記第１および第２のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、前記コントローラと前記第１のメモリとをアドレス指定のために繋ぐ第１のアドレスバスと、前記コントローラと前記第１のメモリとをデータ転送のために繋ぐ第１のデータバスと、前記コントローラと前記第１のメモリとをメモリ制御のために繋ぐ第１の制御線と、前記コントローラと前記第２のメモリとをアドレス指定のために繋ぐ第２のアドレスバスと、前記コントローラと前記第２のメモリとをデータ転送のために繋ぐ第２のデータバスと、前記コントローラと前記第２のメモリとをメモリ制御のために繋ぐ第２の制御線とを有し、前記コントローラのアドレス端子の一部または全部を前記第１および第２のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第１および第２のデータバスに共通接続し、前記コントローラが、前記第１のメモリに対するアクセスと前記第２のメモリに対するアクセスとが競合するときは、前記第１のアドレスバス上に送出した第１のアドレス信号を前記第１のメモリに取り込ませた後に前記第２のアドレスバス上に第２のアドレス信号を送出し、前記第１のデータバス上で前記第１のメモリとのデータ転送が終了し、かつ前記第２のメモリにおける前記第２のアドレス信号の入力が確定した後に前記第２のデータバス上で前記第２のメモリとのデータ転送を行う。
【０００９】
上記の構成においては、コントローラのアドレス端子およびデータ端子が第１および第２のメモリに対するアドレス指定およびデータ転送に共用されるので、コントローラのピン端子数を大幅に削減できる。そして、クロックに同期する第１のメモリとクロックに依存しない非同期の第２のメモリとを同一のアドレスバスおよびデータバス上で競合または衝突させずに相互に入れ替えで動作させることにより、データ転送効率（バス使用効率）のみならずデータ転送速度の改善も図ることができる。
【００１０】
本発明の好適な一態様においては、第１のメモリ、第２のメモリおよびコントローラが、それぞれ個別の半導体チップに搭載され、同一の基板上もしくはパッケージ上に実装される。この場合、コントローラをピン数の少ない半導体パッケージで構成できるので、基板コスト、実装コストの低減を図れる。
【００１１】
本発明の好適な一態様においては、第１のメモリがシンクロナスＤＲＡＭであり、第２のメモリは不揮発性メモリ（たとえばフラッシュメモリ）である。
【００１２】
好適な一態様によれば、アイドル状態のシンクロナスＤＲＡＭにデータを書き込むときは、コントローラが、第１の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを第１の制御線および第１のアドレスバス上にそれぞれ送出し、第１の時点から所定時間経過後の第２の時点で同時にライト・コマンドおよび所望のカラム・アドレスを第１の制御線および第１のアドレスバス上にそれぞれ送出し、第２の時点から予め設定したバースト長のデータをクロックに同期して第１のデータバス上に送出する。さらには、該第２の時点からバースト長に応じた所定時間経過後の第３の時点でプリチャージ・コマンドを第１の制御線上に送出する。
【００１３】
また、アイドル状態のシンクロナスＤＲＡＭからデータを読み出すときは、コントローラは、第１の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを第１の制御線および第１のアドレスバス上にそれぞれ送出し、第１の時点から所定時間経過後の第２の時点で同時にリード・コマンドおよび所望のカラム・アドレスを第１の制御線および第１のアドレスバス上にそれぞれ送出し、第２の時点から予め設定したＣＡＳレイテンシの期間経過後の第３の時点から予め設定したバースト長のデータをクロックに同期して第１のデータバス上から取り込む。さらには、該第３の時点からバースト長に応じた所定時間経過後の第４の時点でプリチャージ・コマンドを第１の制御線上に送出する。
【００１４】
また、好適な一態様として、コントローラは、第１のアドレスバスとデータバスの使用を伴わないコマンドを第１の制御線を介してシンクロナスＤＲＡＭに与えてシンクロナスＤＲＡＭにコマンドを実行させている間は、第２のメモリに対して第２のアドレスバスと第２のデータバスと第２の制御線とを通じて任意にデータの書き込みまたは読み出しを行う。
【００１５】
また、好適な一態様として、コントローラは、第１のデータバス上のデータ転送が終了した後に第２のデータバス上に書き込みのデータを出力し、次いで書き込み用のストローブ信号を出力して不揮発性メモリにデータを書き込む。
【００１６】
また、好適な一態様として、コントローラは  第１のデータバス上のデータ転送が終了した後に読み出し用のストローブ信号を出力して不揮発性メモリに読み出しのデータを第２のデータバス上に出力させ、第２のデータバス上からその読み出しデータを取り込む。
【００１７】
また、好適な一態様によれば、コントローラは、第１のデータバス上のデータ転送が終了した直後にいったん第１および第２のデータバスをそれぞれハイ・インピーダンス状態にしてから第２のデータバス上でデータの送受を行う。
【００１８】
本発明の第２のメモリバス共有システムは、クロックに同期してデータの書き込みと読み出しを行う第１のメモリと、クロックに依存せずに非同期でデータの書き込みと読み出しを行う第２のメモリと、前記第１および第２のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、前記コントローラと前記第１のメモリとをアドレス指定のために繋ぐ第１のアドレスバスと、前記コントローラと前記第１のメモリとをデータ転送のために繋ぐ第１のデータバスと、前記コントローラと前記第１のメモリとをメモリ制御のために繋ぐ第１の制御線と、前記コントローラと前記第２のメモリとをアドレス指定のために繋ぐ第２のアドレスバスと、前記コントローラと前記第２のメモリとをデータ転送のために繋ぐ第２のデータバスと、前記コントローラと前記第２のメモリとをメモリ制御のために繋ぐ第２の制御線とを有し、前記コントローラのアドレス端子の一部または全部を前記第１および第２のアドレスバスに共通接続し、前記コントローラが、前記第１のメモリに対するアクセスと前記第２のメモリに対するアクセスとが競合するときは、前記第１のアドレスバス上に送出した第１のアドレスを前記第１のメモリに取り込ませた後に前記第２のアドレスバス上に第２のアドレスを送出し、前記第１のデータバス上の前記第１のメモリとのデータ送受と前記第２のデータバス上の前記第２のメモリとのデータ送受とを独立的に行う。
【００１９】
上記の構成においては、コントローラのアドレス端子が第１および第２のメモリに対するアドレス指定に共用されるので、コントローラのピン端子数を削減できる。そして、クロックに同期する第１のメモリとクロックに依存しない非同期の第２のメモリとを同一のアドレスバス上で競合または衝突させずに相互に入れ替えで動作させることにより、データ転送効率（バス使用効率）あるいはデータ転送速度の改善を図ることができる。
【００２０】
また、本発明の第３のメモリバス共有システムは、クロックに同期してデータの書き込みと読み出しを行うシンクロナスＤＲＡＭと、クロックに依存せずに非同期でデータの書き込みと読み出しを行うフラッシュメモリと、前記シンクロナスＤＲＡＭおよび前記フラッシュメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、前記コントローラと前記シンクロナスＤＲＡＭとをアドレス指定のために繋ぐ第１のアドレスバスと、前記コントローラと前記シンクロナスＤＲＡＭとをデータ転送のために繋ぐ第１のデータバスと、前記コントローラと前記シンクロナスＤＲＡＭとをメモリ制御のために繋ぐ第１の制御線と、前記コントローラと前記フラッシュメモリとをアドレス指定のために繋ぐ第２のアドレスバスと、前記コントローラと前記フラッシュメモリとをデータ転送のために繋ぐ第２のデータバスと、前記コントローラと前記フラッシュメモリとをメモリ制御のために繋ぐ第２の制御線とを有し、前記コントローラのアドレス端子の一部または全部を前記第１および第２のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第１および第２のデータバスに共通接続し、前記コントローラが、前記シンクロナスＤＲＡＭに対するアクセスと前記フラッシュメモリに対するアクセスとが競合するときは、前記第１のアドレスバス上に送出した第１のアドレスを前記シンクロナスＤＲＡＭに取り込ませた後に前記第２のアドレスバス上に第２のアドレスを送出し、前記第１のデータバス上で所望の書き込みデータまたは読み出しデータの一部に相当する第１のバースト長のデータ転送を終えた時点から前記シンクロナスＤＲＡＭに対するメモリアクセス動作を停止し、代わりに前記第２のデータバス上で前記フラッシュメモリとデータの送受を行い、その後に前記シンクロナスＤＲＡＭに対するメモリアクセス動作を再開させて前記書き込みデータまたは読み出しデータの残りに相当する第２のバースト長のデータ転送を行う。
【００２１】
上記の構成においては、コントローラのアドレス端子がシンクロナスＤＲＡＭおよびフラッシュメモリに対するアドレス指定およびデータ転送に共用されるので、コントローラのピン端子数を大幅に削減できる。そして、クロックに同期するシンクロナスＤＲＡＭとクロックに依存しない非同期のフラッシュメモリとを同一のアドレスバスおよびデータバス上で競合または衝突させずに相互に入れ替えで動作させ、しかもシンクロナスＤＲＡＭのバースト長が長くてもフラッシュメモリのデータアクセスを挟んでバースト転送を複数回に分けて実行することができる。これにより、データ転送効率（バス使用効率）およびデータ転送速度を一層向上させることができる。
【発明の効果】
【００２２】
本発明のメモリバス共有システムによれば、上記のような構成および作用により、同期型メモリと非同期型メモリとに並列的または同時的にアクセスするコントローラのピン端子数を削減してパッケージサイズ、基板サイズ、実装コストを改善できるとともに、システム全体のデータ転送効率やデータ転送速度を向上させることも可能である。
【発明を実施するための最良の形態】
【００２３】
以下、添付図を参照して本発明の好適な実施形態を説明する。
【００２４】
図１に、本発明の一実施形態におけるメモリバス共有システムを含むＤＶＤドライブ装置の構成を示す。このＤＶＤドライブ装置は、光ディスク１０、光ピックアップユニット（ＯＰＵ）１２およびメカ部（ＭＥＣＨ）１４等の光学・駆動機構と、アナログフロントエンド（ＡＦＥ）１６、ディシタルフロントエンド（ＤＦＥ）１８、ＳＤＲＡＭ（シンクロナスＳＤＲＡＭ）２０、ＦＬＡＳＨ（フラッシュメモリ）２２およびモータ駆動回路２３等の電子回路とで構成されている。電子回路の各部１６〜２３は半導体チップの形態で個別の半導体パッケージに搭載され、単一または複数のプリント基板（図示せず）上に実装されている。
【００２５】
ＤＦＥ１８は、１チップ上または１パッケージ内に、システムＭＰＵ２４、ＳＲＡＭ２６、共有バスコントローラ２８、再生信号処理部３０、ＳＤＲＡＭコントローラ３２、アービタ回路３４、記録信号処理部３６、フォーマット処理部３８、ＰＣインタフェース部４０、サーボコントローラ４２を含んでいる。
【００２６】
以下に、このＤＶＤドライブ装置の動作をＤＦＥ１８内の信号処理を中心に説明する。
【００２７】
光ディスク１０に記録されているデータを読み取って再生する場合は、光ディスク１０を一定または可変の速度で回転させながら、ＯＰＵ１２に光ディスク１０上のランド列およびピット列を光学的に読み取らせ、ＡＦＥ１６がＯＰＵ１２の出力信号を基に増幅・演算処理により再生データ信号およびサーボエラー信号を生成し、それらの信号をＤＦＥ１８に送る。
【００２８】
ＤＦＥ１８では、再生信号処理部３０が、ＡＦＥ１６より再生データ信号を受け取り、クロック生成（ＲＦ）、復調・符号変換（ＤＥＭ）、エラー訂正（ＥＣＣ）等の信号処理を行う。再生信号処理部３０より出力される再生データは、アービタ回路３４を通してＳＤＲＡＭコントローラ３２に送られ、次いで共有バスコントローラ２８によりＳＤＲＡＭ２０にいったん格納（バッファリング）され、直後に読み出される。ＳＤＲＡＭ２０より読み出された再生データは、ＳＤＲＡＭコントローラ３２、アービタ回路３４を経てＰＣインタフェース部４０に送られ、そこからＡＴＡプロトコルでパーソナルコンピュータ（ＰＣ）またはＭＰＥＧエンコーダ／デコーダ等のバックエンド（ＢＥ）４４に送られる。
【００２９】
また、ＡＦＥ１６からのサーボエラー信号はサーボコントローラ４２に与えられる。サーボコントローラ４２は、たとえばＤＳＰ（Digital Signal Processor）からなり、サーボエラー信号に基づいてフォーカシング制御およびトラッキング制御用の各種制御信号を生成する。サーボコントローラ４２で生成された制御信号は、モータ駆動回路２３を介してメカ部（ＭＥＣＨ）１４の各部たとえばスピンドルモータ、アクチエータ、スレッドおよびトレーモータ等に与えられる。
【００３０】
光ディスク１０にデータを記録する場合は、ＰＣまたはＢＥ４４からのデータをＰＣインタフェース部４０がＡＴＡプロトコルで受け取り、アービタ回路３４を通してＳＤＲＡＭコントローラ３２に送り、共有バスコントローラ２８がＳＤＲＡＭ２０にいったん格納（バッファリング）する。次いで、共有バスコントローラ２８がＳＤＲＡＭ２０よりデータを読み出し、読み出したデータをＳＤＲＡＭコントローラ３２、アービタ回路３４を介してフォーマット処理部３８に送る。フォーマット処理部３８は、ＤＶＤ記録フォーマットにしたがってエラー訂正符号、ＩＤ生成等のフォーマット処理を行う。次いで、記録信号処理部３６が符号逆変換（ＥＮＣ）、ライトパルス制御（ＷＳＴ）を行い、ＯＰＵ１２内のレーザドライバに光ディスク１０への書き込み信号を送る。
【００３１】
上記のようなデータ再生処理およびデータ記録処理における一連の動作の制御（システム制御）は、ＤＦＥ１８内のシステムＭＰＵ２４によって行われる。このＭＰＵ２４の処理動作を規定するプログラムは、ＳＲＡＭ２６とＦＬＡＳＨ２２に保持される。ＭＰＵ２４は、所要のプログラムをＳＲＡＭ２６からは直接読み出し、ＦＬＡＳＨ２２からは共有バスコントローラ２８を介して間接的に読み出す。
【００３２】
図２に、ＳＤＲＡＭ２０におけるメモリアクセスの基本動作を示す。ＳＤＲＡＭ２０は、システムクロックＣＬＫに同期してデータ書き込み動作および読み出し動作を行うように構成されている。システムクロックＣＬＫにはたとえば１３３ＭＨｚの周波数が用いられる。
【００３３】
ＳＤＲＡＭ２０にデータを書き込むときは、先ずアクティブ・コマンドＡＣＴおよびロウ・アドレスＲＯＷを同時にＳＤＲＡＭ２０に与える（クロックＣＬＫの立ち上がりエッジで取り込ませる）。ＳＤＲＡＭ２０はアクティブ・コマンドＡＣＴに応じてそれまでのアイドル状態からアクティブ状態に切り替わり、入力したロウ・アドレスＲＯＷの指定するロウ番地のメモリセル群を選択する。次いで、一定時間後たとえば３クロック後にライト・コマンドＷおよびカラム・アドレスＣＯＬを同時にＳＤＲＡＭ２０に与える（クロックＣＬＫの立ち上がりエッジで取り込ませる）。そうすると、ＳＤＲＡＭ２０内では、カラム・アドレスＣＯＬで指定されたカラム番地からカラム方向に連続してデータの書き込みが行われる。この書き込み動作はクロックＣＬＫに同期して行われ、予め設定したバースト長のデータがクロックＣＬＫ毎に１単位（１バイトまたは１ワード）ずつ、ＳＤＲＡＭ２０のタイプによっては２単位ずつデータバス上からＳＤＲＡＭ２０に入力される。そして、書き込み動作が終了した時点でプリチャージ・コマンドＰＲをＳＤＲＡＭ２０に与える。ＳＤＲＡＭ２０は、プリチャージ・コマンドＰＲを入力すると、アイドル状態になる。
【００３４】
ＳＤＲＡＭ２０からデータを読み出すときも、先ずアクティブ・コマンドＡＣＴおよびロウ・アドレスＲＯＷを同時にＳＤＲＡＭ２０に与える。ＳＤＲＡＭ２０はやはりアクティブ・コマンドＡＣＴに応じてそれまでのアイドル状態からアクティブ状態に切り替わり、入力したロウ・アドレスＲＯＷの指定するロウ番地のメモリセル群を選択する。次いで、一定時間後たとえば３クロック後にリード・コマンドＲおよびカラム・アドレスＣＯＬを同時にＳＤＲＡＭ２０に与える。そうすると、ＳＤＲＡＭ２０内では、カラム・アドレスＣＯＬで指定されたカラム番地からカラム方向に連続してデータの読み出しが行われる。この読み出し動作はクロックＣＬＫに同期して行われ、予め設定したＣＡＳレイテンシの遅延時間（図示の例は３クロック期間）を経過してから予め設定したバースト長のデータが各クロックＣＬＫ毎に１単位（１バイトまたは１ワード）ずつＳＤＲＡＭ２０からデータバス上に出力される。そして、読み出し動作が終了する直前にプリチャージ・コマンドＰＲをＳＤＲＡＭ２０に与える。ＳＤＲＡＭ２０は、プリチャージ・コマンドＰＲを入力すると、ＣＡＳレイテンシに相当する遅延時間の経過後にアイドル状態になる。
【００３５】
図３に、ＦＬＡＳＨ２２におけるメモリアクセスの基本動作を示す。ＦＬＡＳＨ２２は、システムクロックＣＬＫに依存せずに非同期でデータの書き込みと読み出しを行うように構成されている。図３に示すように、アドレスバス上から与えられるアドレスの入力が確定した後に、書き込みのときはライト・イネーブル信号の立ち上がりでＦＬＡＳＨ２２に書き込みデータを入力（ラッチ）させ、読み出しのときは出力イネーブル信号をＬレベルにしてＦＬＡＳＨ２２よりデータを出力させ、その読み出されたデータをコントローラ側が取り込む。
【００３６】
このＤＶＤドライブ装置では、ＤＦＥ１８（特に共有バスコントローラ２８）、ＳＤＲＡＭ２０およびＦＬＡＳＨ２２が、この実施形態における本発明のメモリバス共有システムを構成している。上記したように、ＳＤＲＡＭ２０およびＦＬＡＳＨ２２に対するデータの書き込みおよび読み出しは全て共有バスコントローラ２８が一元的に制御し、ＳＤＲＡＭコントローラ３２は共有バスコントローラ２８を通じてＳＤＲＡＭ２０にアクセスし、ＭＰＵ２４は共有バスコントローラ２８を通じてＦＬＡＳＨ２２にアクセスするようになっている。従来は、図１中の点線４６，４８で示すように、ＳＤＲＡＭコントローラ３２がＳＤＲＡＭ２０に直接アクセスし、ＭＰＵ２４がＦＬＡＳＨ２２に直接アクセスするようになっており、共有バスコントローラ２８のようなものは備わっていなかった。
【００３７】
図４に実施形態（実施例１）によるＤＦＥ１８とＳＤＲＡＭ２０、ＦＬＡＳＨ２２間の接続形態を示し、図６に各半導体パッケージ１８，２０，２２の詳細なピン配置およびプリント配線のレイアウト例を示す。図６において、これらの半導体パッケージ１８，２０，２２が実装されるプリント基板（図示せず）は多層配線板からなり、配線群５０Ａ，５０Ｂ，５０Ｃ，５０Ｄは第１層配線であり、配線群５２Ａ，５２Ｂ，５２Ｃは第２層配線である。
【００３８】
図４において、ＤＦＥ１８のＭＣＬＫはシステムクロック出力端子，ＭＣＫＥはクロックイネーブル出力端子であり、それぞれ個別の制御線を介してＳＤＲＡＭ２０のクロック入力端子ＣＬＫ，クロックイネーブル入力端子ＣＫＥに接続される。
【００３９】
ＤＦＥ１８のＭＲＡＳはロウ・アドレス・ストローブ出力端子、ＭＣＡＳはカラム・アドレス・ストローブ出力端子、ＭＷＥはライト・イネーブル出力端子であり、それぞれ個別の制御線を介してＳＤＲＡＭ２０のロウ・アドレス・ストローブ入力端子ＲＡＳＮ、カラム・アドレス・ストローブ入力端子ＣＡＳＮ、ライト・イネーブル入力端子ＷＥＮに接続される。
【００４０】
ＤＦＥ１８のＭＤＱＭＨ，ＭＤＱＭＬはデータ・マスク・ストローブ出力端子であり、それぞれ個別の制御線を介してＳＤＲＡＭ２０のデータ・マスク・ストローブ入力端子に接続される。
【００４１】
ＤＦＥ１８のＭＢＡはバンク・アドレス端子であり、個別の制御線を介してＳＤＲＡＭ２０のバンク・アドレス端子ＢＡに接続される。ＤＦＥ１８のＭＡ［10］は１０番目のアドレス端子であるが、ここではプリチャージ・モード選択アドレス端子として使用され、個別の制御線を介してＳＤＲＡＭ２０の対応する端子Ａ［10］（ＡＰ）に接続される。
【００４２】
ＤＦＥ１８のＭＤ［15:0］／ＣＤ［15:0］は１６ビット（１ワード）の共有データ端子であり、データバスD-Bus１を介してＳＤＲＡＭ２０のデータ端子ＤＱ［15:0］にパラレルに接続されるとともに、データバスD-Bus2を介してＦＬＡＳＨ２２のデータ端子ＤＱ［15:0］にもパラレルに接続される。
【００４３】
ＤＦＥ１８のＭＡ［9:0］／ＣＡ［9:0］は１０ビット分の共有アドレス端子であり、アドレスバスA-Bus１を介してＳＤＲＡＭ２０の全アドレス端子Ａ［９:0］にパラレルに接続されるとともに、アドレスバスA-Bus2を介してＦＬＡＳＨ２２の下位１０ビット分のアドレス端子Ａ［９:0］にもパラレルに接続される。
【００４４】
ＤＦＥ１８のＣＡ［19:10］は上位１０ビット分のアドレス端子であり、アドレスバスA-Bus3を介してＦＬＡＳＨ２２の上位１０ビット分のアドレス端子Ａ［19:10］にパラレルに接続される。ＤＦＥ１８とＦＬＡＳＨ２２との間では、アドレスバスA-Bus2，A-Bus3が合流して２０ビット幅の一体的なアドレスバスを構成する。
【００４５】
ＤＦＥ１８のＣＳＮはチップ・イネーブル出力端子、ＲＤＮは出力イネーブル端子、ＷＲＮはライト・イネーブル出力端子であり、個別の制御線を介してＦＬＡＳＨ２２のチップ・イネーブル入力端子ＣＥＮ、出力イネーブル端子ＯＥＮ、ライト・イネーブル出力端子ＷＲＮにそれぞれ接続される。
【００４６】
上記のように、この実施形態（実施例１）では、ＤＦＥ１８のアドレス端子Ａ［19:0］の一部［9:0］をＳＤＲＡＭ２０側のアドレスバスA-Bus１とＦＬＡＳＨ２２側のアドレスバスA-Bus2とに共通接続するとともに、ＤＦＥ１８のデータ端子Ｄ［15:0］の全部をＳＤＲＡＭ２０側のデータバスD-Bus１とＦＬＡＳＨ２２側のデータバスD-Bus2とに共通接続している。すなわち、ＤＦＥ１８に対してＳＤＲＡＭ２０とＦＬＡＳＨ２２がアドレスバスの一部を共有し、データバスの全部を共有している。このアドレス／データ・バス共有化により、図４の実施例の場合、ＳＤＲＡＭ２０のピンが３５本、ＦＬＡＳＨ２２のピンが３９本であるところ、ＤＦＥ１８が両メモリ２０，２２に割り当てるピンは４８本で済んでいる。
【００４７】
比較例として、図５に従来方式にしたがってＤＦＥ１８にＳＤＲＡＭ２０とＦＬＡＳＨ２２とを接続する構成を示す。従来方式は、ＤＦＥ１８に対してＳＤＲＡＭ２０とＦＬＡＳＨ２２とを完全に独立させて接続しており、アドレスバス、データバス、制御線のいずれも各メモリ別に配線され、両メモリ間で共有する部分はない。図示の例の場合、ＳＤＲＡＭ２０のピンが３５本、ＦＬＡＳＨ２２のピンが３２本であり、ＤＦＥ１８が両メモリ２０，２２に割り当てるピンは合わせて６７（３５＋３２）本である。なお、ＦＬＡＳＨ２２のデータバス幅を８ビット（１バイト）としているのは、ＤＦＥ１８のピン数をそれ以上増やさないためである。すなわち、ＦＬＡＳＨ２２のデータバス幅を１６ビット（１ワード）にした場合は、ＤＦＥ１８の両メモリ２０，２２に割り当てるピンはさらに７本増えて計７４本にもなる。
【００４８】
もっとも、この実施形態のようにＳＤＲＡＭ２０および／またはＦＬＡＳＨ２２にアドレスバスおよびデータバスを共有させるシステムにおいては、両メモリ２０，２２へのアクセスを同時的に行う場合の競合を回避または解消しなければならず、アクセス競合回避のための特別なプロトコルが必要となる。
【００４９】
上記のように、ＳＤＲＡＭ２０はバースト転送によりクロックＣＬＫ（１３３ＭＨｚ）に同期してクロック毎に１単位（たとえば１ワード）のデータを連続的に入出力することができる。一方で、ＳＤＲＡＭ２０は、アドレスをクロックでラッチするため、そのタイミング以外の期間中はアドレスバス上の信号を無視するという特性があり、特に図２の［２］に示すように、バースト転送中はアドレスバスを使用せず、プリチャージ期間中はアドレスバスもデータバスも使用せず、開放したままになる。
【００５０】
ＦＬＡＳＨ２２は、ライト／リード・サイクルが比較的長く、たとえば７０ｎｓ程度であり、これはクロックＣＬＫに換算して約１０クロック分の時間に相当する。とりわけ多くの時間を必要とするのはアドレスを入力してから確定するまでであり、読み出し動作ではこのアドレス入力確定期間ｔACCがリード・サイクルの過半ないし大部分（たとえば７〜９クロック分）を占める。このようにアドレス入力確定期間が長いので、これを確保するため、データバス上にデータを出力するタイミングよりも相当早めにアドレスバス上にアドレスを出しておくアクセス動作が求められる。
【００５１】
この実施形態では、上記のようなＳＤＲＡＭ２０およびＦＬＡＳＨ２２のそれぞれのライト／リード・サイクルの特性に鑑みて、ＤＦＥ１８内の共有バスコントローラ２８に両メモリ２０，２２に対するメモリアクセスの競合を効率よく回避するためのプロトコル機能をもたせている。
【００５２】
図７に、この実施形態におけるＳＤＲＡＭ２０およびＦＬＡＳＨ２２に対するメモリアクセスの通信フローを模式的に示す。図示のように、ＳＤＲＡＭ２０は、データの送受（ライト／リード）を行わない間も、たとえば「アイドル」、「セルフ・リフレッシュ」、「自動リフレッシュ」、「パワーダウン」等のコマンドを実行することができる。これらの非データ送受型コマンドは、制御信号ＭＲＡＳ、ＭＣＡＳ、ＭＷＥ、ＭＢＡ、ＭＡ［10］のロジックの組み合わせで各々定義され、共有バスコントローラ２８より制御線を通じてＳＤＲＡＭ２０に与えられる。ＳＤＲＡＭ２０が非データ送受型のコマンドを実行している間は、アドレスバスA-Bus1およびデータバスD-Bus1のいずれも使用されない。つまり、ＳＤＲＡＭ２０は、非データ送受型のコマンドを実行している間、アドレスバスA-Bus1上またはデータバスD-Bus1上の信号を完全に無視する。
【００５３】
そこで、この実施形態においては、ＳＤＲＡＭ２０が非データ送受型のコマンドを実行している期間中に、ＤＦＥ１８（共有バスコントローラ２８）側は、アドレスバスA-Bus1、データバスD-Bus1、制御線（WRN，RDN，CSN）を通じて任意にＦＬＡＳＨ２２に対してメモリアクセスを要求し、データの書き込みまたは読み出しを行うようにしている。
【００５４】
また、ＳＤＲＡＭ２０においては、「モード・レジスタ設定」コマンドを実行することにより、レイテンシ、バースト長等の設定を行うことができる。この場合、「モード・レジスタ設定」のコマンドと同時にアドレスバスA-Bus1を通じて各パラメータの設定値を与え、この設定値をＳＤＲＡＭ２０内のモード・レジスタに格納する。
【００５５】
ＳＤＲＡＭ２０にデータの送受（ライト／リード）を行わせる動作の基本型は図２を参照して前述したシーケンスである。すなわち、アイドル状態のＳＤＲＡＭ２０に先ずアクティブ・コマンドとロウ・アドレスを同時に与えて、ＳＤＲＡＭ２０をアイドル状態からアクティブ状態に切り替え、入力したロウ・アドレスＲＯＷの指定するロウ番地のメモリセル群を選択する。ＳＤＲＡＭ２０が２バンク構成の場合は、ＭＢＡの１ビットでバンクを指定する。次いで、一定時間後たとえば３クロック後にライト／リード・コマンドとカラム・アドレスを同時にＳＤＲＡＭ２０に与え、書き込み動作のときはその時点からクロック同期で設定バースト長のデータ転送を開始し、読み出し動作のときはＣＡＳレイテンシの遅延時間を経過してからクロック同期で設定バースト長のデータ転送を開始する。このデータ転送または送受はデータバスD-Bus1上で行われる。ＳＤＲＡＭ２０は、カラム・アドレスをラッチすると、その後はアドレスバスA-Bus1上の信号を無視（遮断）するようになり、アドレスバスA-Bus1を開放する。
【００５６】
そこで、この実施形態においては、ＳＤＲＡＭ２０にカラム・アドレスをラッチさせたなら、その直後に、好ましくは次のクロックサイクルからＦＬＡＳＨ２２へのメモリアクセスを開始し、共有バスコントローラ２８がアドレスバス（A-Bus2，A-Bus3）上にＦＬＡＳＨ２２に対する書き込みまたは読み出しのアドレスを出力する。そして、データバスD-Bus1上のＳＤＲＡＭ２０のデータ転送が終了した後に、好ましくはその直後から、共有バスコントローラ２８がＦＬＡＳＨ２２への書き込みのデータを出力するか（ライト・サイクルの場合）、もしくはＦＬＡＳＨ２２がその読み出したデータをストローブ信号ＲＤＮによりデータバスD-Bus2上に出力できるようにする（リード・サイクルの場合）。次いで、ＦＬＡＳＨ２２でアドレスの入力が確定し、かつ共有バスコントローラ２８がストローブ信号（ＷＲＮ，ＲＤＮ）をアサートすると、ＦＬＡＳＨ２２がデータバスD-Bus2上の書き込みデータを取り込むか（ライト・サイクルの場合）、もしくは共有バスコントローラ２８がデータバスD-Bus2上の読み出しデータを取り込む（リード・サイクルの場合）。
【００５７】
図８に、この実施形態（実施例１）においてＳＤＲＡＭ２０に対する書き込みのアクセスとＦＬＡＳＨ２２に対する読み出しのアクセスとの競合を回避するプロトコルをタイミング図で示す。図示の例は、ＳＤＲＡＭ２０におけるバースト長を８ワードに設定している。
【００５８】
共有バスコントローラ２８は、ＳＤＲＡＭ２０に対してデータ送受のアクセスを行っていない間は、ＭＰＵ２４よりＦＬＡＳＨ２２へのアクセス要求があれば随時それを実行する。ＳＤＲＡＭ２０に対するデータ書き込みの要求をＳＤＲＡＭコントローラ３２より受けて共有バスをＳＤＲＡＭ２０側に切り替える場合は、図８に示すように、データバスD-Bus2上でＦＬＡＳＨ２２側の読み出しデータ（ＣＤn-1）の転送が終了した直後に、いったん全データバスをハイ・インピーダンス状態にしてからデータバスD-Bus1上でＳＤＲＡＭ２０側の書き込みデータ（＃１・・＃Ｎ）の転送を開始するのが好ましい。なお、ＦＬＡＳＨ２２におけるデータ転送終了末期の期間ｔDFは、ＦＬＡＳＨ２２上で出力イネーブル信号ＯＥＮが立ち上がってからデータバスD-Bus2がフローティングになるまでの期間（不安定な期間）である。
【００５９】
また、ＳＤＲＡＭ２０のデータアクセスの終了後に共有バスをＦＬＡＳＨ２２側に切り替える場合も、データバスD-Bus1上のＳＤＲＡＭ２０側のデータ（＃１・・＃Ｎ）の転送が終了した直後に、いったん全データバスをハイ・インピーダンス状態にしてから、データバスD-Bus2上でＦＬＡＳＨ２２側の読み出しデータ（ＣＤn）の転送を開始するのが好ましい。
【００６０】
図８において、ストローブ信号ＲＤＮの立ち上がり付近のタイミングで、ＦＬＡＳＨ２２よりデータバスD-Bus2上に読み出されたデータは共有バスコントローラ２８に取り込まれる。
【００６１】
図９に、この実施形態（実施例１）においてＳＤＲＡＭ２０に対する読み出しのアクセスとＦＬＡＳＨ２２に対する読み出しのアクセスとの競合を回避するためのプロトコルをタイミング図で示す。図示の例は、ＳＤＲＡＭ２０におけるＣＡＳレイテンシを「３」に設定し、バースト長を「８ワード」に設定している。ＳＤＲＡＭ２０の動作においてリード・コマンド（READ）とカラムアドレス（COL）をラッチした時からデータバスD-Bus1上に読み出しデータを出力するまでにＣＡＳレイテンシの時間が挿入される点を除いては、図８と同様のシーケンスでＳＤＲＡＭ２０のデータアクセスとＦＬＡＳＨ２２のデータアクセスとの競合の回避が図られている。
【００６２】
図８および図９に示すように、バス共有化によりＳＤＲＡＭ２０およびＦＬＡＳＨ２２の双方にメモリアクセス上の待ち（ウエイト）時間が発生する。しかし、上記のようにバス共有化によりＦＬＡＳＨ２２のデータ幅が８ビットから１６ビットに拡張されており、この点を踏まえてアクセスマージンを設定ないし評価してよい。
【００６３】
図１０に、ＦＬＡＳＨアクセスを一定速度としてみた場合のバスのアクセスマージンを示す。［Ｒ1］，［Ｒ2］はＳＤＲＡＭ２０の読み出し動作、［Ｗ1］，［Ｗ2］は書き込み動作であり、太線で囲まれた部分がＳＤＲＡＭ２０とＦＬＡＳＨ２２がバスを共有している基本型のブロックになる。なお、基本型ブロックを構成する小ブロック（升目１個）はクロックＣＬＫの一周期に相当する。
【００６４】
図１０に示すように、［Ｒ1］または［Ｗ1］動作から［Ｒ2］動作に移行する場合は、相前後する２ブロックのアドレスバス間のDon't Care部分の長さ（×部分の個数）がバスのアクセスマージンに相当し、図示の例は１クロックである。また、［Ｒ1］または［Ｗ1］動作から［Ｗ2］動作に移行する場合は、相前後する２ブロックのデータバス間のDon't Care部分の長さ（×部分の個数）がバスのアクセスマージンに相当し、図示の例は３クロックである。
【００６５】
ＭＰＵ２４からのアクセスを受けるＦＬＡＳＨ２２の転送速度が設計上１３ＭＢ／ｓ必要であるとすると、ＦＬＡＳＨアクセス・サイクル＝２０クロック分となる。この条件の下でバスのアクセスマージン分だけＳＤＲＡＭ２０のバースト長を延ばせることを考慮すると、図１０においては［Ｒ1］または［Ｗ1］動作から［Ｒ2］動作に移行するパターンではバースト長を１クロック分つまり１ワード延ばし、［Ｒ1］または［Ｗ1］動作から［Ｗ2］動作に移行するパターンではバースト長を３クロック分つまり３ワード延ばすことができ、ＳＤＲＡＭ２０のデータ転送能力は１０１〜１１４ＭＢ／ｓ程度となる。これは、現行のＤＶＤドライブ装置上で十分動作可能なデータ転送能力である。
【００６６】
図１１に、ＳＤＲＡＭのバースト長を横軸の変数にとって、従来型（図５）によるＳＤＲＡＭ２０単体での最大転送能力ＳＤａと、実施例のバス共有システム（図４）においてＳＤＲＡＭ２０のアクセスとＦＬＡＳＨ２２のアクセスとを交互に繰り返す場合のＳＤＲＡＭ２０，ＦＬＡＳＨ２２の最大転送能力（プロトコルの能力）ＳＤｂ，ＦＬｂとを対比して示す。
【００６７】
図示のように、ＳＤＲＡＭ２０の転送速度はバス独立方式ＳＤａのときに較べてバス共有方式ＳＤｂになると幾らか低下するが、それでも８ワードのバースト長で１０６ＭＢ／ｓのＳＤＲＡＭ転送速度と１３ＭＢ／ｓのＦＬＡＳＨ転送速度とを同時に実現でき、ＳＤＲＡＭ２０およびＦＬＡＳＨ２２の双方ともそれぞれ実用上必要な転送速度条件をクリアすることができる。また、バス共有方式によれば転送効率（バス使用効率）を大幅に向上させる点が大なる特長であり、一例としてバス独立方式のときの転送効率４４％をバス共有方式によって８５％まで向上できることが確認されている。
【００６８】
図１１には、現行の代表的なＤＶＤ用のＤＦＥチップである日本テキサス・インスツルメンツ社製のＤＶＤ１０、ＤＶＤ１４におけるＳＤＲＡＭ転送速度の仕様をも示している。ＤＶＤ１０は、ＳＤＲＡＭのバースト長が最大１６ワードに設計され、最大転送速度が５４．３ＭＢ／ｓである。より高速型のＤＶＤ１４は、ＳＤＲＡＭのバースト長が最大１６ワードに設計され、最大転送速度が８１．８２ＭＢ／ｓである。
【００６９】
この実施形態のバス共有システムでは、従来のようにＦＬＡＳＨに８ビットで独立アクセスをしていた場合と同程度の転送速度（１２．５ＭＢ／ｓ）を保障するためには、ＳＤＲＡＭ転送のバースト長を最大１０ワード程度に抑える必要があり、１６ワードのバースト転送要求（仕様）に対しては８ワードのバースト転送を２回に分けて対処する方法をとってよい。その場合、ＳＤＲＡＭ転送には５〜２０％のオーバーヘッドが出てくるため、そのオーバーヘッド分を見込むと、上記最大転送速度８１．８２ＭＢは２０％増しの９８．２ＭＢ／ｓになる。しかし、この実施形態のバス共有方式によれば図示のように８ワードのバースト長で１０６ＭＢ／ｓのＳＤＲＡＭ転送速度を実現できるので、かかる要求性能に余裕をもって応じることができる。
【００７０】
その他、ＦＬＡＳＨ２２を上記のように固定サイクルで一定に読み出す方法ではなく、ＳＤＲＡＭ２０がバスアクセスをしていない場合や、バースト長が短い場合には、図１０のアクセスマージンを無くさせることで、より早くＦＬＡＳＨアクセス（動的アクセス）を行わせ、内部ＭＰＵ２４に対するウエイトを低減することもできる。その場合は、ＦＬＡＳＨデータの先読みキャッシュ制御を行い、ＭＰＵ２４内部では固定アクセスの処理を行うようにするか、動的アクセスを行ってもシステムに支障が出ないようにプログラムを構築すればよい。
【００７１】
また、図７に示すように、ロウ・アドレスを固定したままカラム・アドレスを逐次更新してＳＤＲＡＭ２０のリード／ライト動作を連続的に実行することも可能であり、もちろん各回のリード／ライト・サイクルの中でＳＤＲＡＭアクセスだけでなくＦＬＡＳＨアクセスも併せて実行することができる。この連続リード／ライト動作のシーケンスは、詳細なタイミング図は省略するが、図８、図９においてアクティブ・コマンドＡＣＴおよびロウ・アドレスＲＯＷをＳＤＲＡＭ２０に取り込ませる動作を省いたものとなる。
【００７２】
プリント基板上の実装においては、図６に示すように、ＤＦＥ１８からＳＤＲＡＭ２０への接続は２層基板でも従来通り最短距離で配線できるとともに、ＤＦＥ１８からＦＬＡＳＨ２２への接続は更に最大でも４０ｍｍ延長する程度で見積もることができる。また、共有する信号の出力周波数は１３３ＭＨｚ／２＝６６．５ＭＨｚ以下であり、ノイズへの懸念も少ない。容量負荷は、バス共有化によりＳＤＲＡＭ２０の端子からはＦＬＡＳＨ２２の容量負荷も見え、更に配線基板の容量も加味すると、２０ｐＦ程度である。この容量負荷と信号の出力周波数（１３３ＭＨｚ／２＝６６．５ＭＨｚ）から、ＤＦＥ１８側に必要なドライブ能力は３ｍＡ程度であり、特に大きなＩ／Ｏバッファを備える必要はない。
【００７３】
また、ＤＦＥ１８の半導体パッケージをピン数の少ないＱＦＰ（Quad Flat Package）として製作できるため、基板コストや実装コストを抑えられるとともに、直にピンをプローブできるので、ＢＧＡ（Ball Grid Array）と比べてデバッグ効率を上げることができる。
【００７４】
上記した実施例１（図４）はＳＤＲＡＭ２０とＦＬＡＳＨ２２にアドレスバスおよびデータバスの双方を共有させたが、図１２，図１３に示すように、アドレスバスだけを共有させ、データバスを個別または独立に持たせるバス共有方式も可能である。
【００７５】
図１２の実施例２は、ＦＬＡＳＨ２２のデータを８ビット構成とし、アドレスを２１ビット構成としている。より詳細には、ＳＤＲＡＭ２０の１６ビットのデータ端子Ｄ［15:0］が１６ビット幅のデータバスD-Bus1を介してＤＦＥ１８の１６ビットのデータ端子ＭＤ［15:0］に接続され、ＳＤＲＡＭ２０の１０ビットのアドレス端子Ａ［9:0］が１０ビット幅のアドレスバスA-Bus1を介してＤＦＥ１８の１０ビットのアドレス端子ＭＡ［9:0］に接続される。また、ＦＬＡＳＨ２２の２１ビットのアドレス端子Ａ［20:0］が、１０ビット幅のアドレスバスA-Bus2および１１ビット幅のアドレスバスA-Bus3を介してＤＦＥ１８の１０ビットのアドレス端子ＣＡ［9:0］および１１ビットのアドレス端子ＣＡ［20:10］に接続される。ここで、ＤＦＥ１８においてアドレス端子ＣＡ［9:0］とアドレス端子ＭＡ［9:0］とは同一のものである。また、ＦＬＡＳＨ２２の８ビットのデータ端子ＤＱ［7:0］は、８ビット幅のデータバスD-Bus2を介してＤＦＥ１８の８ビットのデータ端子ＣＤ［7:0］に接続される。
【００７６】
上記のように、この実施例２は、ＤＦＥ１８のアドレス端子Ａ［19:0］の一部［9:0］をＳＤＲＡＭ２０側のアドレスバスA-Bus１とＦＬＡＳＨ２２側のアドレスバスA-Bus2とに共通接続している。このアドレスバス共有化により、ＳＤＲＡＭ２０のピンが３５本、ＦＬＡＳＨ２２のピンが３２本で、ＤＦＥ１８が両メモリ２０，２２に割り当てるピンは５７本である。
【００７７】
図１３の実施例３は、ＦＬＡＳＨ２２のデータを１６ビット構成とし、アドレスを２０ビット構成としている。より詳細には、ＳＤＲＡＭ２０は上記実施例２（図１２）と同じ構成でＤＦＥ１８に接続されている。ＦＬＡＳＨ２２は、２０ビットのアドレス端子Ａ［19:0］が、１０ビット幅のアドレスバスA-Bus2および１０ビット幅のアドレスバスA-Bus3を介してＤＦＥ１８の１０ビットのアドレス端子ＣＡ［9:0］および１０ビットのアドレス端子ＣＡ［19:10］に接続される。やはり、ＤＦＥ１８においてアドレス端子ＣＡ［9:0］とアドレス端子ＭＡ［9:0］とは同一のものである。また、ＦＬＡＳＨ２２の１６ビットのデータ端子ＤＱ［15:0］は、１６ビット幅のデータバスD-Bus2を介してＤＦＥ１８の１６ビットのデータ端子ＣＤ［15:0］に接続される。
【００７８】
この実施例３も、ＤＦＥ１８のアドレス端子Ａ［19:0］の一部［9:0］をＳＤＲＡＭ２０側のアドレスバスA-Bus１とＦＬＡＳＨ２２側のアドレスバスA-Bus2とに共通接続している。このアドレスバス共有化により、ＳＤＲＡＭ２０のピンが３５本、ＦＬＡＳＨ２２のピンが３２本で、ＤＦＥ１８が両メモリ２０，２２に割り当てるピンは６４本である。
【００７９】
図１４および図１５に、実施例２，３のバス共有方式においてＳＤＲＡＭ２０のアクセスとＦＬＡＳＨ２２のアクセスとの競合を回避するためのプロトコルをタイミング図で示す。図１４は、ＳＤＲＡＭ２０のアクセスがライト・アクセス、ＦＬＡＳＨ２２のアクセスはリード・アクセスである。図１５は、ＳＤＲＡＭ２０のアクセスがリード・アクセス、ＦＬＡＳＨ２２のアクセスはリード・アクセスである。
【００８０】
図示のように、データバスD-Bus1上でＳＤＲＡＭ２０側の書き込みデータ（＃１・・＃Ｎ）の転送が終了する前から、ＦＬＡＳＨ２２よりのデータバスD-Bus2上に読み出しデータを出力させることができるので、そのぶんアクセス競合が少なく、読み出しのストローブ信号ＲＤＮ（ＯＥＮ）を早めにアサートし、ＦＬＡＳＨアクセス・サイクルを短縮することができる。これにより、ＦＬＡＳＨ２２が１６ビット構成である実施例３（図１３）はＦＬＡＳＨ２２のデータ転送速度を一層向上させることができる。しかし、ＦＬＡＳＨ２２が８ビット構成である実施例２（図１２）では、ＦＬＡＳＨ２２のデータ転送速度が実施例３の１／２になる。ＦＬＡＳＨデータ転送速度については、従来方式（図５）に比して、実施例１（図４）は約１．５２倍、実施例２は約１．８４倍、実施例３は約０．９２倍のシミュレーション結果が得られている。
【００８１】
図１６に、従来方式（図５）と対比した実施例１，２，３の諸特性を表にまとめて示す。実施形態の中で、特に実施例３によれば、ＤＦＥ１８のピンを従来方式より１９本削減し、ＳＤＲＡＭ転送効率を従来方式の４４％から８７％に改善し、ＦＬＡＳＨ転送速度を従来方式の１．５２倍に向上させることができる。
【００８２】
図１７に、実施形態の一変形例として、ＦＬＡＳＨデータの転送効率を上げるためにクロック・イネーブル信号ＣＫＥで制御する方法を示す。動作としては、ＳＤＲＡＭ２０に対するライト・コマンド（Write）発行後のＦＬＡＳＨリード・サイクルＣＡｎの期間でＦＬＡＳＨ２２のアドレスが確定した後、直ぐにＦＬＡＳＨデータをアクセスすることができるようＳＤＲＡＭ２０に対してクロック・イネーブル信号ＣＫＥをネゲートし、ＳＤＲＡＭ２０のライト動作を一時停止する。このライト動作停止期間中は、ＤＦＥ１８からＳＤＲＡＭ２０へのデータ出力のディセーブル（ハイ・インピーダンス化）ができるため、ＦＬＡＳＨ２２側のデータアクセスを行わせる。そして、ＦＬＡＳＨ２２のアクセスが終了した後に、ＳＤＲＡＭ２０のライト動作を再開させる。
【００８３】
ＳＤＲＡＭ２０のリード動作では、ＳＤＲＡＭデータをマスクしないでバスをハイ・インピーダンス化することはできないので、クロック・イネーブル信号ＣＫＥによる一時停止は行えない。代替として、ＳＤＲＡＭ２０のリード動作を途中でいったん終了させて、ＦＬＡＳＨ２２側のアクセスを行い、その後にＳＤＲＡＭ２２に再度リード・コマンドを発行し、データの続きを取り込むようにすればよい。
【００８４】
また、実施例１の応用例として、ＳＤＲＡＭ２０，ＦＬＡＳＨ２２間でデータを直接取り込む方法も可能である。すなわち、バス共有する利点として、ピン削減の効果以外に、ＳＤＲＡＭ２０，ＦＬＡＳＨ２２間でデータバス同士が接続されている点を利用し、ＤＦＥ１８を経由せずにハードウェア上で制御信号を操作することで、ＳＤＲＡＭ２０とＦＬＡＳＨ２２のデータ信号の送受を可能とすることができる。
【００８５】
また、実施例１では、プリチャージ・コマンド（PRE）を使用しているため、ＦＬＡＳＨ２２のアドレスバスとの競合を避けるために、ＳＤＲＡＭ２０用のＭＢＡ、ＭＡ［10］のピンをバス共有させなかった。しかし、オート・プリチャージ・コマンドを使う方式であれば、その競合が避けられるため、これらのピンも共有化が可能である。その他、ＳＤＲＡＭ２０のコントロールピン（ＭＣＡＳ，ＭＲＡＳ，ＭＷＥ）をチップ・セレクト・ピンＭＣＳの制御と組み合わせる等、図２の［１］、［２］、［３］区間の組み合わせによって更なるバス共有が可能である。
【００８６】
本発明のバス共有方式においては、ＳＤＲ（Single Data Rate）−ＳＤＲＡＭの場合は汎用ＦＬＡＳＨとＩ／Ｏレベルが同じであるため使用しやすいが、バス共有する方式自体はＤＤＲ（Double Data Rate）−ＳＤＲＡＭ、Mobile型ＳＤＲＡＭにおいてもオペレーション・コマンドはほぼ同じなので、同様に有効である。また、プリント基板上のみならず、ＳｉＰ（シリコン・イン・パッケージ）やＰｏＰ（パッケージ・オン・パッケージ）等の複数のチップを実装したパッケージ上でＳＤＲＡＭとバスを兼用する場合にも応用可能である。また、ＳＤＲＡＭとのバス共有は、ＦＬＡＳＨ以外にも、外付け回路を加えることで汎用Ｉ／Ｏの追加や、内部信号のモニタを定期的に出力する等にも使用することも可能である。なお、本発明において不揮発性メモリはフラッシュメモリに限るものではなく、たとえばＦｅＲＡＭ等も可能である。
【００８７】
また、ＤＦＥ１８においては、ＳＤＲＡＭ２０，ＦＬＡＳＨ２２に割り当てるピン数の削減により、その削減分を他のディジタル信号用、アナログ周辺ピンや電源ピンに割り当てることができ、アーキテクチャの自由度を確保することができる。このことにより、ＡＦＥ１６とＤＦＥ１８とをインテグレーションしても小型のパッケージで実現することができる。
【００８８】
上記した実施形態はＤＶＤドライブ装置に係るものであったが、本発明によるＳＤＲＡＭと不揮発性メモリのバス共有システムは他のチップセット、たとえばＡＶエンコード／デコード・チップ、グラフィック処理チップ、ＨＤＤ（Hard Disk Drive）信号処理チップ等にも適用可能である。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態におけるメモリバス共有システムを含むＤＶＤドライブ装置の構成を示すブロック図である。
【図２】ＳＤＲＡＭ（シンクロナスＤＲＡＭ）におけるメモリアクセスの基本動作を示すタイミング図である。
【図３】ＦＬＡＳＨ（フラッシュメモリ）におけるメモリアクセスの基本動作を示すタイミング図である。
【図４】実施例１によるＤＦＥとＳＤＲＡＭ、ＦＬＡＳＨ間の接続形態を示す図である。
【図５】従来方式によるＤＦＥとＳＤＲＡＭ、ＦＬＡＳＨ間の接続形態を示す図である。
【図６】実施形態におけるＤＦＥ、ＳＤＲＡＭ、ＦＬＡＳＨ（半導体パッケージ）の詳細なピン配置およびプリント配線のレイアウト例を示す図である。
【図７】実施形態におけるＳＤＲＡＭおよびＦＬＡＳＨに対するメモリアクセスの通信フローを模式的に示す図である。
【図８】実施形態（実施例１）においてＳＤＲＡＭライト・アクセスとＦＬＡＳＨリード・アクセスとの競合を回避するプロトコルを示すタイミング図である。
【図９】実施形態（実施例１）においてＳＤＲＡＭライト・アクセスとＦＬＡＳＨリード・アクセスとの競合を回避するプロトコルを示すタイミング図である。
【図１０】実施形態においてＦＬＡＳＨアクセスを一定速度としてみた場合のバスのアクセスマージンを示す図である。
【図１１】ＳＤＲＡＭのバースト長を横軸の変数にとって、従来方式によるＳＤＲＡＭの最大転送能力と、実施例におけるＳＤＲＡＭ，ＦＬＡＳＨの最大転送能力とを対比して示す図である。
【図１２】実施例２によるＤＦＥとＳＤＲＡＭ、ＦＬＡＳＨ間の接続形態を示す図である。
【図１３】実施例３によるＤＦＥとＳＤＲＡＭ、ＦＬＡＳＨ間の接続形態を示す図である。
【図１４】実施例２，３のバス共有方式においてＳＤＲＡＭライト・アクセスとＦＬＡＳＨリード・アクセスとの競合を回避するためのプロトコルを示すタイミング図である。
【図１５】実施例２，３のバス共有方式においてＳＤＲＡＭリード・アクセスとＦＬＡＳＨリード・アクセスとの競合を回避するためのプロトコルを示すタイミング図である。
【図１６】従来方式と対比して実施例１〜３の諸特性を表で示す図である。
【図１７】実施例１の一変形例によるＳＤＲＡＭリード・アクセスとＦＬＡＳＨリード・アクセスとの競合を回避するためのプロトコルを示すタイミング図である。
【符号の説明】
【００９０】
１０    光ディスク
１２    光ピックアップユニット
１６    アナログフロントエンド
１８    ディジタルフロントエンド
２０    ＳＤＲＡＭ（シンクロナスＤＲＡＭ）
２２    ＦＬＡＳＨ（フラッシュメモリ）
２３    モータ駆動回路
２４    システムＭＰＵ
２８    共有バスコントローラ
３２    ＳＤＲＡＭコントローラ
【図１】
2008146581.tif 000003
【図２】
2008146581.tif 000004
【図３】
2008146581.tif 000005
【図４】
2008146581.tif 000006
【図５】
2008146581.tif 000007
【図６】
2008146581.tif 000008
【図７】
2008146581.tif 000009
【図８】
2008146581.tif 000010
【図９】
2008146581.tif 000011
【図１０】
2008146581.tif 000012
【図１１】
2008146581.tif 000013
【図１２】
2008146581.tif 000014
【図１３】
2008146581.tif 000015
【図１４】
2008146581.tif 000016
【図１５】
2008146581.tif 000017
【図１６】
2008146581.tif 000018
【図１７】
2008146581.tif 000019