JP2008146581A - メモリバス共有システム - Google Patents

メモリバス共有システム Download PDF

Info

Publication number
JP2008146581A
JP2008146581A JP2006336038A JP2006336038A JP2008146581A JP 2008146581 A JP2008146581 A JP 2008146581A JP 2006336038 A JP2006336038 A JP 2006336038A JP 2006336038 A JP2006336038 A JP 2006336038A JP 2008146581 A JP2008146581 A JP 2008146581A
Authority
JP
Japan
Prior art keywords
memory
data
bus
controller
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006336038A
Other languages
English (en)
Inventor
Masayuki Tawara
正之 田原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Japan Ltd
Original Assignee
Texas Instruments Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Japan Ltd filed Critical Texas Instruments Japan Ltd
Priority to JP2006336038A priority Critical patent/JP2008146581A/ja
Priority to US11/955,664 priority patent/US7984319B2/en
Publication of JP2008146581A publication Critical patent/JP2008146581A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

【課題】同期型メモリと非同期型メモリとに並列的または同時的にアクセスするコントローラのピン端子数を削減すること。
【解決手段】SDRAMにカラム・アドレスをラッチさせたなら、その直後にFLASHへのアクセスを開始し、共有バスコントローラがアドレスバス上にFLASHに対する書き込みまたは読み出しのアドレスを出力する。そして、データバス上のデータ転送が終了した後に、共有バスコントローラが書き込みのデータを出力するか、もしくはFLASHがその読み出したデータをストローブ信号によりデータバス上に出力できるようにする。次いで、FLASHでアドレスの入力が確定し、かつ共有バスコントローラがストローブ信号をアサートすると、FLASHがデータバス上の書き込みデータを取り込むか、もしくは共有バスコントローラがデータバス上の読み出しデータを取り込む。
【選択図】 図7

Description

本発明は、信号処理やデータ処理に用いるメモリシステムに係り、特に異なるタイプのメモリにバスを共有させるメモリバス共有システムに関する。
一般に、ディジタル信号処理にはマイクロプロセッサに付随して半導体メモリが用いられている。半導体メモリには揮発性メモリと不揮発性メモリの2つのタイプがあり、1つのシステムで両タイプを併用する場合は揮発性メモリが主にデータの一時的な蓄積に用いられ、不揮発性メモリが主にプログラムや固定値の保存に用いられる。
近年、マイクロプロセッサ(MPU)の処理性能の向上に伴って、揮発性メモリには高速化が要求され、不揮発性メモリには大容量化が要求されている。高速の揮発性メモリとしてはシンクロナスDRAM(SDRAM)が、大容量の不揮発性メモリとしてはフラッシュメモリが、それぞれ主流になっている。
たとえば、DVD(Digital Versatile Disk)ドライブ装置においては、信号処理用のプリント基板上に、光ピックアップの出力信号を入力してアナログ信号演算処理を行うアナログフロントエンド(AFE)の半導体パッケージや、AFEからの再生データ信号に基づいた光ディスク再生のためのディジタル信号処理およびパーソナルコンピュータあるいはMPEGエンコーダ/デコーダ(バックエンド)からの書き込みデータに基づいた光ディスク記録のためのディジタル信号処理を行うディジタルフロントエンド(DFE)の半導体パッケージなどと一緒に、DFEに付随するDRAMおよびフラッシュメモリの各半導体パッケージも実装される。ここで、SDRAMには、光ディスクから読み出された直後のデータや光ディスクに書き込む直前のデータが一時的に保存される。また、フラッシュメモリには、DFE内のMPUを動作させるためのプログラムや各種固定値(たとえば学習機能で獲得した制御用設定値)等が定常的に保存される。
従来は、DFEに対してSDRAMとフラッシュメモリとが完全個別または独立に接続されていた。したがって、たとえば、SDRAMパッケージおよびフラッシュメモリ・パッケージのピン数がそれぞれ35本、32本である場合は、DFEパッケージにSDRAM分とフラッシュメモリ分を合わせて計67本のピンを割り当てなければならず、DFEパッケージのピン数増大とパッケージサイズの大型化を来たしていた。通常、DVDドライブ基板においては、DFEパッケージが他のパッケージよりも格段に大きくて基板サイズを律則することから、DFEパッケージの大型化は基板サイズの大型化ひいてはDVDドライブ装置の大型化に直結する。しかも、今後はDFEとAFEとのデバイス・インテグレーション(1チップ化または1パッケージ化)もなされる方向にあり、DFEパッケージのピン数削減は喫緊の課題になっている。
本発明は、上記のような従来技術の問題点に鑑みてなされたもので、同期型メモリと非同期型メモリとに並列的または同時的にアクセスするコントローラのピン端子数を削減してパッケージサイズ、基板サイズ、実装コストを改善するメモリバス共有システムを提供することを目的とする。
さらに、本発明は、同期型メモリおよび非同期型メモリ間のアクセス競合に対して最適なプロトコルを用いることにより、両メモリ共にデータ転送効率ないしデータ転送速度を落とすことなくアクセスタイムを保障するようにしたメモリバス共有システムを提供することを目的とする。
上記の目的を達成するために、本発明の第1のメモリバス共有システムは、クロック信号に同期してデータの書き込みと読み出しを行う第1のメモリと、クロック信号に依存せずに非同期でデータの書き込みと読み出しを行う第2のメモリと、前記第1および第2のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、前記コントローラと前記第1のメモリとをアドレス指定のために繋ぐ第1のアドレスバスと、前記コントローラと前記第1のメモリとをデータ転送のために繋ぐ第1のデータバスと、前記コントローラと前記第1のメモリとをメモリ制御のために繋ぐ第1の制御線と、前記コントローラと前記第2のメモリとをアドレス指定のために繋ぐ第2のアドレスバスと、前記コントローラと前記第2のメモリとをデータ転送のために繋ぐ第2のデータバスと、前記コントローラと前記第2のメモリとをメモリ制御のために繋ぐ第2の制御線とを有し、前記コントローラのアドレス端子の一部または全部を前記第1および第2のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第1および第2のデータバスに共通接続し、前記コントローラが、前記第1のメモリに対するアクセスと前記第2のメモリに対するアクセスとが競合するときは、前記第1のアドレスバス上に送出した第1のアドレス信号を前記第1のメモリに取り込ませた後に前記第2のアドレスバス上に第2のアドレス信号を送出し、前記第1のデータバス上で前記第1のメモリとのデータ転送が終了し、かつ前記第2のメモリにおける前記第2のアドレス信号の入力が確定した後に前記第2のデータバス上で前記第2のメモリとのデータ転送を行う。
上記の構成においては、コントローラのアドレス端子およびデータ端子が第1および第2のメモリに対するアドレス指定およびデータ転送に共用されるので、コントローラのピン端子数を大幅に削減できる。そして、クロックに同期する第1のメモリとクロックに依存しない非同期の第2のメモリとを同一のアドレスバスおよびデータバス上で競合または衝突させずに相互に入れ替えで動作させることにより、データ転送効率(バス使用効率)のみならずデータ転送速度の改善も図ることができる。
本発明の好適な一態様においては、第1のメモリ、第2のメモリおよびコントローラが、それぞれ個別の半導体チップに搭載され、同一の基板上もしくはパッケージ上に実装される。この場合、コントローラをピン数の少ない半導体パッケージで構成できるので、基板コスト、実装コストの低減を図れる。
本発明の好適な一態様においては、第1のメモリがシンクロナスDRAMであり、第2のメモリは不揮発性メモリ(たとえばフラッシュメモリ)である。
好適な一態様によれば、アイドル状態のシンクロナスDRAMにデータを書き込むときは、コントローラが、第1の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを第1の制御線および第1のアドレスバス上にそれぞれ送出し、第1の時点から所定時間経過後の第2の時点で同時にライト・コマンドおよび所望のカラム・アドレスを第1の制御線および第1のアドレスバス上にそれぞれ送出し、第2の時点から予め設定したバースト長のデータをクロックに同期して第1のデータバス上に送出する。さらには、該第2の時点からバースト長に応じた所定時間経過後の第3の時点でプリチャージ・コマンドを第1の制御線上に送出する。
また、アイドル状態のシンクロナスDRAMからデータを読み出すときは、コントローラは、第1の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを第1の制御線および第1のアドレスバス上にそれぞれ送出し、第1の時点から所定時間経過後の第2の時点で同時にリード・コマンドおよび所望のカラム・アドレスを第1の制御線および第1のアドレスバス上にそれぞれ送出し、第2の時点から予め設定したCASレイテンシの期間経過後の第3の時点から予め設定したバースト長のデータをクロックに同期して第1のデータバス上から取り込む。さらには、該第3の時点からバースト長に応じた所定時間経過後の第4の時点でプリチャージ・コマンドを第1の制御線上に送出する。
また、好適な一態様として、コントローラは、第1のアドレスバスとデータバスの使用を伴わないコマンドを第1の制御線を介してシンクロナスDRAMに与えてシンクロナスDRAMにコマンドを実行させている間は、第2のメモリに対して第2のアドレスバスと第2のデータバスと第2の制御線とを通じて任意にデータの書き込みまたは読み出しを行う。
また、好適な一態様として、コントローラは、第1のデータバス上のデータ転送が終了した後に第2のデータバス上に書き込みのデータを出力し、次いで書き込み用のストローブ信号を出力して不揮発性メモリにデータを書き込む。
また、好適な一態様として、コントローラは 第1のデータバス上のデータ転送が終了した後に読み出し用のストローブ信号を出力して不揮発性メモリに読み出しのデータを第2のデータバス上に出力させ、第2のデータバス上からその読み出しデータを取り込む。
また、好適な一態様によれば、コントローラは、第1のデータバス上のデータ転送が終了した直後にいったん第1および第2のデータバスをそれぞれハイ・インピーダンス状態にしてから第2のデータバス上でデータの送受を行う。
本発明の第2のメモリバス共有システムは、クロックに同期してデータの書き込みと読み出しを行う第1のメモリと、クロックに依存せずに非同期でデータの書き込みと読み出しを行う第2のメモリと、前記第1および第2のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、前記コントローラと前記第1のメモリとをアドレス指定のために繋ぐ第1のアドレスバスと、前記コントローラと前記第1のメモリとをデータ転送のために繋ぐ第1のデータバスと、前記コントローラと前記第1のメモリとをメモリ制御のために繋ぐ第1の制御線と、前記コントローラと前記第2のメモリとをアドレス指定のために繋ぐ第2のアドレスバスと、前記コントローラと前記第2のメモリとをデータ転送のために繋ぐ第2のデータバスと、前記コントローラと前記第2のメモリとをメモリ制御のために繋ぐ第2の制御線とを有し、前記コントローラのアドレス端子の一部または全部を前記第1および第2のアドレスバスに共通接続し、前記コントローラが、前記第1のメモリに対するアクセスと前記第2のメモリに対するアクセスとが競合するときは、前記第1のアドレスバス上に送出した第1のアドレスを前記第1のメモリに取り込ませた後に前記第2のアドレスバス上に第2のアドレスを送出し、前記第1のデータバス上の前記第1のメモリとのデータ送受と前記第2のデータバス上の前記第2のメモリとのデータ送受とを独立的に行う。
上記の構成においては、コントローラのアドレス端子が第1および第2のメモリに対するアドレス指定に共用されるので、コントローラのピン端子数を削減できる。そして、クロックに同期する第1のメモリとクロックに依存しない非同期の第2のメモリとを同一のアドレスバス上で競合または衝突させずに相互に入れ替えで動作させることにより、データ転送効率(バス使用効率)あるいはデータ転送速度の改善を図ることができる。
また、本発明の第3のメモリバス共有システムは、クロックに同期してデータの書き込みと読み出しを行うシンクロナスDRAMと、クロックに依存せずに非同期でデータの書き込みと読み出しを行うフラッシュメモリと、前記シンクロナスDRAMおよび前記フラッシュメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、前記コントローラと前記シンクロナスDRAMとをアドレス指定のために繋ぐ第1のアドレスバスと、前記コントローラと前記シンクロナスDRAMとをデータ転送のために繋ぐ第1のデータバスと、前記コントローラと前記シンクロナスDRAMとをメモリ制御のために繋ぐ第1の制御線と、前記コントローラと前記フラッシュメモリとをアドレス指定のために繋ぐ第2のアドレスバスと、前記コントローラと前記フラッシュメモリとをデータ転送のために繋ぐ第2のデータバスと、前記コントローラと前記フラッシュメモリとをメモリ制御のために繋ぐ第2の制御線とを有し、前記コントローラのアドレス端子の一部または全部を前記第1および第2のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第1および第2のデータバスに共通接続し、前記コントローラが、前記シンクロナスDRAMに対するアクセスと前記フラッシュメモリに対するアクセスとが競合するときは、前記第1のアドレスバス上に送出した第1のアドレスを前記シンクロナスDRAMに取り込ませた後に前記第2のアドレスバス上に第2のアドレスを送出し、前記第1のデータバス上で所望の書き込みデータまたは読み出しデータの一部に相当する第1のバースト長のデータ転送を終えた時点から前記シンクロナスDRAMに対するメモリアクセス動作を停止し、代わりに前記第2のデータバス上で前記フラッシュメモリとデータの送受を行い、その後に前記シンクロナスDRAMに対するメモリアクセス動作を再開させて前記書き込みデータまたは読み出しデータの残りに相当する第2のバースト長のデータ転送を行う。
上記の構成においては、コントローラのアドレス端子がシンクロナスDRAMおよびフラッシュメモリに対するアドレス指定およびデータ転送に共用されるので、コントローラのピン端子数を大幅に削減できる。そして、クロックに同期するシンクロナスDRAMとクロックに依存しない非同期のフラッシュメモリとを同一のアドレスバスおよびデータバス上で競合または衝突させずに相互に入れ替えで動作させ、しかもシンクロナスDRAMのバースト長が長くてもフラッシュメモリのデータアクセスを挟んでバースト転送を複数回に分けて実行することができる。これにより、データ転送効率(バス使用効率)およびデータ転送速度を一層向上させることができる。
本発明のメモリバス共有システムによれば、上記のような構成および作用により、同期型メモリと非同期型メモリとに並列的または同時的にアクセスするコントローラのピン端子数を削減してパッケージサイズ、基板サイズ、実装コストを改善できるとともに、システム全体のデータ転送効率やデータ転送速度を向上させることも可能である。
以下、添付図を参照して本発明の好適な実施形態を説明する。
図1に、本発明の一実施形態におけるメモリバス共有システムを含むDVDドライブ装置の構成を示す。このDVDドライブ装置は、光ディスク10、光ピックアップユニット(OPU)12およびメカ部(MECH)14等の光学・駆動機構と、アナログフロントエンド(AFE)16、ディシタルフロントエンド(DFE)18、SDRAM(シンクロナスSDRAM)20、FLASH(フラッシュメモリ)22およびモータ駆動回路23等の電子回路とで構成されている。電子回路の各部16〜23は半導体チップの形態で個別の半導体パッケージに搭載され、単一または複数のプリント基板(図示せず)上に実装されている。
DFE18は、1チップ上または1パッケージ内に、システムMPU24、SRAM26、共有バスコントローラ28、再生信号処理部30、SDRAMコントローラ32、アービタ回路34、記録信号処理部36、フォーマット処理部38、PCインタフェース部40、サーボコントローラ42を含んでいる。
以下に、このDVDドライブ装置の動作をDFE18内の信号処理を中心に説明する。
光ディスク10に記録されているデータを読み取って再生する場合は、光ディスク10を一定または可変の速度で回転させながら、OPU12に光ディスク10上のランド列およびピット列を光学的に読み取らせ、AFE16がOPU12の出力信号を基に増幅・演算処理により再生データ信号およびサーボエラー信号を生成し、それらの信号をDFE18に送る。
DFE18では、再生信号処理部30が、AFE16より再生データ信号を受け取り、クロック生成(RF)、復調・符号変換(DEM)、エラー訂正(ECC)等の信号処理を行う。再生信号処理部30より出力される再生データは、アービタ回路34を通してSDRAMコントローラ32に送られ、次いで共有バスコントローラ28によりSDRAM20にいったん格納(バッファリング)され、直後に読み出される。SDRAM20より読み出された再生データは、SDRAMコントローラ32、アービタ回路34を経てPCインタフェース部40に送られ、そこからATAプロトコルでパーソナルコンピュータ(PC)またはMPEGエンコーダ/デコーダ等のバックエンド(BE)44に送られる。
また、AFE16からのサーボエラー信号はサーボコントローラ42に与えられる。サーボコントローラ42は、たとえばDSP(Digital Signal Processor)からなり、サーボエラー信号に基づいてフォーカシング制御およびトラッキング制御用の各種制御信号を生成する。サーボコントローラ42で生成された制御信号は、モータ駆動回路23を介してメカ部(MECH)14の各部たとえばスピンドルモータ、アクチエータ、スレッドおよびトレーモータ等に与えられる。
光ディスク10にデータを記録する場合は、PCまたはBE44からのデータをPCインタフェース部40がATAプロトコルで受け取り、アービタ回路34を通してSDRAMコントローラ32に送り、共有バスコントローラ28がSDRAM20にいったん格納(バッファリング)する。次いで、共有バスコントローラ28がSDRAM20よりデータを読み出し、読み出したデータをSDRAMコントローラ32、アービタ回路34を介してフォーマット処理部38に送る。フォーマット処理部38は、DVD記録フォーマットにしたがってエラー訂正符号、ID生成等のフォーマット処理を行う。次いで、記録信号処理部36が符号逆変換(ENC)、ライトパルス制御(WST)を行い、OPU12内のレーザドライバに光ディスク10への書き込み信号を送る。
上記のようなデータ再生処理およびデータ記録処理における一連の動作の制御(システム制御)は、DFE18内のシステムMPU24によって行われる。このMPU24の処理動作を規定するプログラムは、SRAM26とFLASH22に保持される。MPU24は、所要のプログラムをSRAM26からは直接読み出し、FLASH22からは共有バスコントローラ28を介して間接的に読み出す。
図2に、SDRAM20におけるメモリアクセスの基本動作を示す。SDRAM20は、システムクロックCLKに同期してデータ書き込み動作および読み出し動作を行うように構成されている。システムクロックCLKにはたとえば133MHzの周波数が用いられる。
SDRAM20にデータを書き込むときは、先ずアクティブ・コマンドACTおよびロウ・アドレスROWを同時にSDRAM20に与える(クロックCLKの立ち上がりエッジで取り込ませる)。SDRAM20はアクティブ・コマンドACTに応じてそれまでのアイドル状態からアクティブ状態に切り替わり、入力したロウ・アドレスROWの指定するロウ番地のメモリセル群を選択する。次いで、一定時間後たとえば3クロック後にライト・コマンドWおよびカラム・アドレスCOLを同時にSDRAM20に与える(クロックCLKの立ち上がりエッジで取り込ませる)。そうすると、SDRAM20内では、カラム・アドレスCOLで指定されたカラム番地からカラム方向に連続してデータの書き込みが行われる。この書き込み動作はクロックCLKに同期して行われ、予め設定したバースト長のデータがクロックCLK毎に1単位(1バイトまたは1ワード)ずつ、SDRAM20のタイプによっては2単位ずつデータバス上からSDRAM20に入力される。そして、書き込み動作が終了した時点でプリチャージ・コマンドPRをSDRAM20に与える。SDRAM20は、プリチャージ・コマンドPRを入力すると、アイドル状態になる。
SDRAM20からデータを読み出すときも、先ずアクティブ・コマンドACTおよびロウ・アドレスROWを同時にSDRAM20に与える。SDRAM20はやはりアクティブ・コマンドACTに応じてそれまでのアイドル状態からアクティブ状態に切り替わり、入力したロウ・アドレスROWの指定するロウ番地のメモリセル群を選択する。次いで、一定時間後たとえば3クロック後にリード・コマンドRおよびカラム・アドレスCOLを同時にSDRAM20に与える。そうすると、SDRAM20内では、カラム・アドレスCOLで指定されたカラム番地からカラム方向に連続してデータの読み出しが行われる。この読み出し動作はクロックCLKに同期して行われ、予め設定したCASレイテンシの遅延時間(図示の例は3クロック期間)を経過してから予め設定したバースト長のデータが各クロックCLK毎に1単位(1バイトまたは1ワード)ずつSDRAM20からデータバス上に出力される。そして、読み出し動作が終了する直前にプリチャージ・コマンドPRをSDRAM20に与える。SDRAM20は、プリチャージ・コマンドPRを入力すると、CASレイテンシに相当する遅延時間の経過後にアイドル状態になる。
図3に、FLASH22におけるメモリアクセスの基本動作を示す。FLASH22は、システムクロックCLKに依存せずに非同期でデータの書き込みと読み出しを行うように構成されている。図3に示すように、アドレスバス上から与えられるアドレスの入力が確定した後に、書き込みのときはライト・イネーブル信号の立ち上がりでFLASH22に書き込みデータを入力(ラッチ)させ、読み出しのときは出力イネーブル信号をLレベルにしてFLASH22よりデータを出力させ、その読み出されたデータをコントローラ側が取り込む。
このDVDドライブ装置では、DFE18(特に共有バスコントローラ28)、SDRAM20およびFLASH22が、この実施形態における本発明のメモリバス共有システムを構成している。上記したように、SDRAM20およびFLASH22に対するデータの書き込みおよび読み出しは全て共有バスコントローラ28が一元的に制御し、SDRAMコントローラ32は共有バスコントローラ28を通じてSDRAM20にアクセスし、MPU24は共有バスコントローラ28を通じてFLASH22にアクセスするようになっている。従来は、図1中の点線46,48で示すように、SDRAMコントローラ32がSDRAM20に直接アクセスし、MPU24がFLASH22に直接アクセスするようになっており、共有バスコントローラ28のようなものは備わっていなかった。
図4に実施形態(実施例1)によるDFE18とSDRAM20、FLASH22間の接続形態を示し、図6に各半導体パッケージ18,20,22の詳細なピン配置およびプリント配線のレイアウト例を示す。図6において、これらの半導体パッケージ18,20,22が実装されるプリント基板(図示せず)は多層配線板からなり、配線群50A,50B,50C,50Dは第1層配線であり、配線群52A,52B,52Cは第2層配線である。
図4において、DFE18のMCLKはシステムクロック出力端子,MCKEはクロックイネーブル出力端子であり、それぞれ個別の制御線を介してSDRAM20のクロック入力端子CLK,クロックイネーブル入力端子CKEに接続される。
DFE18のMRASはロウ・アドレス・ストローブ出力端子、MCASはカラム・アドレス・ストローブ出力端子、MWEはライト・イネーブル出力端子であり、それぞれ個別の制御線を介してSDRAM20のロウ・アドレス・ストローブ入力端子RASN、カラム・アドレス・ストローブ入力端子CASN、ライト・イネーブル入力端子WENに接続される。
DFE18のMDQMH,MDQMLはデータ・マスク・ストローブ出力端子であり、それぞれ個別の制御線を介してSDRAM20のデータ・マスク・ストローブ入力端子に接続される。
DFE18のMBAはバンク・アドレス端子であり、個別の制御線を介してSDRAM20のバンク・アドレス端子BAに接続される。DFE18のMA[10]は10番目のアドレス端子であるが、ここではプリチャージ・モード選択アドレス端子として使用され、個別の制御線を介してSDRAM20の対応する端子A[10](AP)に接続される。
DFE18のMD[15:0]/CD[15:0]は16ビット(1ワード)の共有データ端子であり、データバスD-Bus1を介してSDRAM20のデータ端子DQ[15:0]にパラレルに接続されるとともに、データバスD-Bus2を介してFLASH22のデータ端子DQ[15:0]にもパラレルに接続される。
DFE18のMA[9:0]/CA[9:0]は10ビット分の共有アドレス端子であり、アドレスバスA-Bus1を介してSDRAM20の全アドレス端子A[9:0]にパラレルに接続されるとともに、アドレスバスA-Bus2を介してFLASH22の下位10ビット分のアドレス端子A[9:0]にもパラレルに接続される。
DFE18のCA[19:10]は上位10ビット分のアドレス端子であり、アドレスバスA-Bus3を介してFLASH22の上位10ビット分のアドレス端子A[19:10]にパラレルに接続される。DFE18とFLASH22との間では、アドレスバスA-Bus2,A-Bus3が合流して20ビット幅の一体的なアドレスバスを構成する。
DFE18のCSNはチップ・イネーブル出力端子、RDNは出力イネーブル端子、WRNはライト・イネーブル出力端子であり、個別の制御線を介してFLASH22のチップ・イネーブル入力端子CEN、出力イネーブル端子OEN、ライト・イネーブル出力端子WRNにそれぞれ接続される。
上記のように、この実施形態(実施例1)では、DFE18のアドレス端子A[19:0]の一部[9:0]をSDRAM20側のアドレスバスA-Bus1とFLASH22側のアドレスバスA-Bus2とに共通接続するとともに、DFE18のデータ端子D[15:0]の全部をSDRAM20側のデータバスD-Bus1とFLASH22側のデータバスD-Bus2とに共通接続している。すなわち、DFE18に対してSDRAM20とFLASH22がアドレスバスの一部を共有し、データバスの全部を共有している。このアドレス/データ・バス共有化により、図4の実施例の場合、SDRAM20のピンが35本、FLASH22のピンが39本であるところ、DFE18が両メモリ20,22に割り当てるピンは48本で済んでいる。
比較例として、図5に従来方式にしたがってDFE18にSDRAM20とFLASH22とを接続する構成を示す。従来方式は、DFE18に対してSDRAM20とFLASH22とを完全に独立させて接続しており、アドレスバス、データバス、制御線のいずれも各メモリ別に配線され、両メモリ間で共有する部分はない。図示の例の場合、SDRAM20のピンが35本、FLASH22のピンが32本であり、DFE18が両メモリ20,22に割り当てるピンは合わせて67(35+32)本である。なお、FLASH22のデータバス幅を8ビット(1バイト)としているのは、DFE18のピン数をそれ以上増やさないためである。すなわち、FLASH22のデータバス幅を16ビット(1ワード)にした場合は、DFE18の両メモリ20,22に割り当てるピンはさらに7本増えて計74本にもなる。
もっとも、この実施形態のようにSDRAM20および/またはFLASH22にアドレスバスおよびデータバスを共有させるシステムにおいては、両メモリ20,22へのアクセスを同時的に行う場合の競合を回避または解消しなければならず、アクセス競合回避のための特別なプロトコルが必要となる。
上記のように、SDRAM20はバースト転送によりクロックCLK(133MHz)に同期してクロック毎に1単位(たとえば1ワード)のデータを連続的に入出力することができる。一方で、SDRAM20は、アドレスをクロックでラッチするため、そのタイミング以外の期間中はアドレスバス上の信号を無視するという特性があり、特に図2の[2]に示すように、バースト転送中はアドレスバスを使用せず、プリチャージ期間中はアドレスバスもデータバスも使用せず、開放したままになる。
FLASH22は、ライト/リード・サイクルが比較的長く、たとえば70ns程度であり、これはクロックCLKに換算して約10クロック分の時間に相当する。とりわけ多くの時間を必要とするのはアドレスを入力してから確定するまでであり、読み出し動作ではこのアドレス入力確定期間tACCがリード・サイクルの過半ないし大部分(たとえば7〜9クロック分)を占める。このようにアドレス入力確定期間が長いので、これを確保するため、データバス上にデータを出力するタイミングよりも相当早めにアドレスバス上にアドレスを出しておくアクセス動作が求められる。
この実施形態では、上記のようなSDRAM20およびFLASH22のそれぞれのライト/リード・サイクルの特性に鑑みて、DFE18内の共有バスコントローラ28に両メモリ20,22に対するメモリアクセスの競合を効率よく回避するためのプロトコル機能をもたせている。
図7に、この実施形態におけるSDRAM20およびFLASH22に対するメモリアクセスの通信フローを模式的に示す。図示のように、SDRAM20は、データの送受(ライト/リード)を行わない間も、たとえば「アイドル」、「セルフ・リフレッシュ」、「自動リフレッシュ」、「パワーダウン」等のコマンドを実行することができる。これらの非データ送受型コマンドは、制御信号MRAS、MCAS、MWE、MBA、MA[10]のロジックの組み合わせで各々定義され、共有バスコントローラ28より制御線を通じてSDRAM20に与えられる。SDRAM20が非データ送受型のコマンドを実行している間は、アドレスバスA-Bus1およびデータバスD-Bus1のいずれも使用されない。つまり、SDRAM20は、非データ送受型のコマンドを実行している間、アドレスバスA-Bus1上またはデータバスD-Bus1上の信号を完全に無視する。
そこで、この実施形態においては、SDRAM20が非データ送受型のコマンドを実行している期間中に、DFE18(共有バスコントローラ28)側は、アドレスバスA-Bus1、データバスD-Bus1、制御線(WRN,RDN,CSN)を通じて任意にFLASH22に対してメモリアクセスを要求し、データの書き込みまたは読み出しを行うようにしている。
また、SDRAM20においては、「モード・レジスタ設定」コマンドを実行することにより、レイテンシ、バースト長等の設定を行うことができる。この場合、「モード・レジスタ設定」のコマンドと同時にアドレスバスA-Bus1を通じて各パラメータの設定値を与え、この設定値をSDRAM20内のモード・レジスタに格納する。
SDRAM20にデータの送受(ライト/リード)を行わせる動作の基本型は図2を参照して前述したシーケンスである。すなわち、アイドル状態のSDRAM20に先ずアクティブ・コマンドとロウ・アドレスを同時に与えて、SDRAM20をアイドル状態からアクティブ状態に切り替え、入力したロウ・アドレスROWの指定するロウ番地のメモリセル群を選択する。SDRAM20が2バンク構成の場合は、MBAの1ビットでバンクを指定する。次いで、一定時間後たとえば3クロック後にライト/リード・コマンドとカラム・アドレスを同時にSDRAM20に与え、書き込み動作のときはその時点からクロック同期で設定バースト長のデータ転送を開始し、読み出し動作のときはCASレイテンシの遅延時間を経過してからクロック同期で設定バースト長のデータ転送を開始する。このデータ転送または送受はデータバスD-Bus1上で行われる。SDRAM20は、カラム・アドレスをラッチすると、その後はアドレスバスA-Bus1上の信号を無視(遮断)するようになり、アドレスバスA-Bus1を開放する。
そこで、この実施形態においては、SDRAM20にカラム・アドレスをラッチさせたなら、その直後に、好ましくは次のクロックサイクルからFLASH22へのメモリアクセスを開始し、共有バスコントローラ28がアドレスバス(A-Bus2,A-Bus3)上にFLASH22に対する書き込みまたは読み出しのアドレスを出力する。そして、データバスD-Bus1上のSDRAM20のデータ転送が終了した後に、好ましくはその直後から、共有バスコントローラ28がFLASH22への書き込みのデータを出力するか(ライト・サイクルの場合)、もしくはFLASH22がその読み出したデータをストローブ信号RDNによりデータバスD-Bus2上に出力できるようにする(リード・サイクルの場合)。次いで、FLASH22でアドレスの入力が確定し、かつ共有バスコントローラ28がストローブ信号(WRN,RDN)をアサートすると、FLASH22がデータバスD-Bus2上の書き込みデータを取り込むか(ライト・サイクルの場合)、もしくは共有バスコントローラ28がデータバスD-Bus2上の読み出しデータを取り込む(リード・サイクルの場合)。
図8に、この実施形態(実施例1)においてSDRAM20に対する書き込みのアクセスとFLASH22に対する読み出しのアクセスとの競合を回避するプロトコルをタイミング図で示す。図示の例は、SDRAM20におけるバースト長を8ワードに設定している。
共有バスコントローラ28は、SDRAM20に対してデータ送受のアクセスを行っていない間は、MPU24よりFLASH22へのアクセス要求があれば随時それを実行する。SDRAM20に対するデータ書き込みの要求をSDRAMコントローラ32より受けて共有バスをSDRAM20側に切り替える場合は、図8に示すように、データバスD-Bus2上でFLASH22側の読み出しデータ(CDn-1)の転送が終了した直後に、いったん全データバスをハイ・インピーダンス状態にしてからデータバスD-Bus1上でSDRAM20側の書き込みデータ(#1・・#N)の転送を開始するのが好ましい。なお、FLASH22におけるデータ転送終了末期の期間tDFは、FLASH22上で出力イネーブル信号OENが立ち上がってからデータバスD-Bus2がフローティングになるまでの期間(不安定な期間)である。
また、SDRAM20のデータアクセスの終了後に共有バスをFLASH22側に切り替える場合も、データバスD-Bus1上のSDRAM20側のデータ(#1・・#N)の転送が終了した直後に、いったん全データバスをハイ・インピーダンス状態にしてから、データバスD-Bus2上でFLASH22側の読み出しデータ(CDn)の転送を開始するのが好ましい。
図8において、ストローブ信号RDNの立ち上がり付近のタイミングで、FLASH22よりデータバスD-Bus2上に読み出されたデータは共有バスコントローラ28に取り込まれる。
図9に、この実施形態(実施例1)においてSDRAM20に対する読み出しのアクセスとFLASH22に対する読み出しのアクセスとの競合を回避するためのプロトコルをタイミング図で示す。図示の例は、SDRAM20におけるCASレイテンシを「3」に設定し、バースト長を「8ワード」に設定している。SDRAM20の動作においてリード・コマンド(READ)とカラムアドレス(COL)をラッチした時からデータバスD-Bus1上に読み出しデータを出力するまでにCASレイテンシの時間が挿入される点を除いては、図8と同様のシーケンスでSDRAM20のデータアクセスとFLASH22のデータアクセスとの競合の回避が図られている。
図8および図9に示すように、バス共有化によりSDRAM20およびFLASH22の双方にメモリアクセス上の待ち(ウエイト)時間が発生する。しかし、上記のようにバス共有化によりFLASH22のデータ幅が8ビットから16ビットに拡張されており、この点を踏まえてアクセスマージンを設定ないし評価してよい。
図10に、FLASHアクセスを一定速度としてみた場合のバスのアクセスマージンを示す。[R1],[R2]はSDRAM20の読み出し動作、[W1],[W2]は書き込み動作であり、太線で囲まれた部分がSDRAM20とFLASH22がバスを共有している基本型のブロックになる。なお、基本型ブロックを構成する小ブロック(升目1個)はクロックCLKの一周期に相当する。
図10に示すように、[R1]または[W1]動作から[R2]動作に移行する場合は、相前後する2ブロックのアドレスバス間のDon't Care部分の長さ(×部分の個数)がバスのアクセスマージンに相当し、図示の例は1クロックである。また、[R1]または[W1]動作から[W2]動作に移行する場合は、相前後する2ブロックのデータバス間のDon't Care部分の長さ(×部分の個数)がバスのアクセスマージンに相当し、図示の例は3クロックである。
MPU24からのアクセスを受けるFLASH22の転送速度が設計上13MB/s必要であるとすると、FLASHアクセス・サイクル=20クロック分となる。この条件の下でバスのアクセスマージン分だけSDRAM20のバースト長を延ばせることを考慮すると、図10においては[R1]または[W1]動作から[R2]動作に移行するパターンではバースト長を1クロック分つまり1ワード延ばし、[R1]または[W1]動作から[W2]動作に移行するパターンではバースト長を3クロック分つまり3ワード延ばすことができ、SDRAM20のデータ転送能力は101〜114MB/s程度となる。これは、現行のDVDドライブ装置上で十分動作可能なデータ転送能力である。
図11に、SDRAMのバースト長を横軸の変数にとって、従来型(図5)によるSDRAM20単体での最大転送能力SDaと、実施例のバス共有システム(図4)においてSDRAM20のアクセスとFLASH22のアクセスとを交互に繰り返す場合のSDRAM20,FLASH22の最大転送能力(プロトコルの能力)SDb,FLbとを対比して示す。
図示のように、SDRAM20の転送速度はバス独立方式SDaのときに較べてバス共有方式SDbになると幾らか低下するが、それでも8ワードのバースト長で106MB/sのSDRAM転送速度と13MB/sのFLASH転送速度とを同時に実現でき、SDRAM20およびFLASH22の双方ともそれぞれ実用上必要な転送速度条件をクリアすることができる。また、バス共有方式によれば転送効率(バス使用効率)を大幅に向上させる点が大なる特長であり、一例としてバス独立方式のときの転送効率44%をバス共有方式によって85%まで向上できることが確認されている。
図11には、現行の代表的なDVD用のDFEチップである日本テキサス・インスツルメンツ社製のDVD10、DVD14におけるSDRAM転送速度の仕様をも示している。DVD10は、SDRAMのバースト長が最大16ワードに設計され、最大転送速度が54.3MB/sである。より高速型のDVD14は、SDRAMのバースト長が最大16ワードに設計され、最大転送速度が81.82MB/sである。
この実施形態のバス共有システムでは、従来のようにFLASHに8ビットで独立アクセスをしていた場合と同程度の転送速度(12.5MB/s)を保障するためには、SDRAM転送のバースト長を最大10ワード程度に抑える必要があり、16ワードのバースト転送要求(仕様)に対しては8ワードのバースト転送を2回に分けて対処する方法をとってよい。その場合、SDRAM転送には5〜20%のオーバーヘッドが出てくるため、そのオーバーヘッド分を見込むと、上記最大転送速度81.82MBは20%増しの98.2MB/sになる。しかし、この実施形態のバス共有方式によれば図示のように8ワードのバースト長で106MB/sのSDRAM転送速度を実現できるので、かかる要求性能に余裕をもって応じることができる。
その他、FLASH22を上記のように固定サイクルで一定に読み出す方法ではなく、SDRAM20がバスアクセスをしていない場合や、バースト長が短い場合には、図10のアクセスマージンを無くさせることで、より早くFLASHアクセス(動的アクセス)を行わせ、内部MPU24に対するウエイトを低減することもできる。その場合は、FLASHデータの先読みキャッシュ制御を行い、MPU24内部では固定アクセスの処理を行うようにするか、動的アクセスを行ってもシステムに支障が出ないようにプログラムを構築すればよい。
また、図7に示すように、ロウ・アドレスを固定したままカラム・アドレスを逐次更新してSDRAM20のリード/ライト動作を連続的に実行することも可能であり、もちろん各回のリード/ライト・サイクルの中でSDRAMアクセスだけでなくFLASHアクセスも併せて実行することができる。この連続リード/ライト動作のシーケンスは、詳細なタイミング図は省略するが、図8、図9においてアクティブ・コマンドACTおよびロウ・アドレスROWをSDRAM20に取り込ませる動作を省いたものとなる。
プリント基板上の実装においては、図6に示すように、DFE18からSDRAM20への接続は2層基板でも従来通り最短距離で配線できるとともに、DFE18からFLASH22への接続は更に最大でも40mm延長する程度で見積もることができる。また、共有する信号の出力周波数は133MHz/2=66.5MHz以下であり、ノイズへの懸念も少ない。容量負荷は、バス共有化によりSDRAM20の端子からはFLASH22の容量負荷も見え、更に配線基板の容量も加味すると、20pF程度である。この容量負荷と信号の出力周波数(133MHz/2=66.5MHz)から、DFE18側に必要なドライブ能力は3mA程度であり、特に大きなI/Oバッファを備える必要はない。
また、DFE18の半導体パッケージをピン数の少ないQFP(Quad Flat Package)として製作できるため、基板コストや実装コストを抑えられるとともに、直にピンをプローブできるので、BGA(Ball Grid Array)と比べてデバッグ効率を上げることができる。
上記した実施例1(図4)はSDRAM20とFLASH22にアドレスバスおよびデータバスの双方を共有させたが、図12,図13に示すように、アドレスバスだけを共有させ、データバスを個別または独立に持たせるバス共有方式も可能である。
図12の実施例2は、FLASH22のデータを8ビット構成とし、アドレスを21ビット構成としている。より詳細には、SDRAM20の16ビットのデータ端子D[15:0]が16ビット幅のデータバスD-Bus1を介してDFE18の16ビットのデータ端子MD[15:0]に接続され、SDRAM20の10ビットのアドレス端子A[9:0]が10ビット幅のアドレスバスA-Bus1を介してDFE18の10ビットのアドレス端子MA[9:0]に接続される。また、FLASH22の21ビットのアドレス端子A[20:0]が、10ビット幅のアドレスバスA-Bus2および11ビット幅のアドレスバスA-Bus3を介してDFE18の10ビットのアドレス端子CA[9:0]および11ビットのアドレス端子CA[20:10]に接続される。ここで、DFE18においてアドレス端子CA[9:0]とアドレス端子MA[9:0]とは同一のものである。また、FLASH22の8ビットのデータ端子DQ[7:0]は、8ビット幅のデータバスD-Bus2を介してDFE18の8ビットのデータ端子CD[7:0]に接続される。
上記のように、この実施例2は、DFE18のアドレス端子A[19:0]の一部[9:0]をSDRAM20側のアドレスバスA-Bus1とFLASH22側のアドレスバスA-Bus2とに共通接続している。このアドレスバス共有化により、SDRAM20のピンが35本、FLASH22のピンが32本で、DFE18が両メモリ20,22に割り当てるピンは57本である。
図13の実施例3は、FLASH22のデータを16ビット構成とし、アドレスを20ビット構成としている。より詳細には、SDRAM20は上記実施例2(図12)と同じ構成でDFE18に接続されている。FLASH22は、20ビットのアドレス端子A[19:0]が、10ビット幅のアドレスバスA-Bus2および10ビット幅のアドレスバスA-Bus3を介してDFE18の10ビットのアドレス端子CA[9:0]および10ビットのアドレス端子CA[19:10]に接続される。やはり、DFE18においてアドレス端子CA[9:0]とアドレス端子MA[9:0]とは同一のものである。また、FLASH22の16ビットのデータ端子DQ[15:0]は、16ビット幅のデータバスD-Bus2を介してDFE18の16ビットのデータ端子CD[15:0]に接続される。
この実施例3も、DFE18のアドレス端子A[19:0]の一部[9:0]をSDRAM20側のアドレスバスA-Bus1とFLASH22側のアドレスバスA-Bus2とに共通接続している。このアドレスバス共有化により、SDRAM20のピンが35本、FLASH22のピンが32本で、DFE18が両メモリ20,22に割り当てるピンは64本である。
図14および図15に、実施例2,3のバス共有方式においてSDRAM20のアクセスとFLASH22のアクセスとの競合を回避するためのプロトコルをタイミング図で示す。図14は、SDRAM20のアクセスがライト・アクセス、FLASH22のアクセスはリード・アクセスである。図15は、SDRAM20のアクセスがリード・アクセス、FLASH22のアクセスはリード・アクセスである。
図示のように、データバスD-Bus1上でSDRAM20側の書き込みデータ(#1・・#N)の転送が終了する前から、FLASH22よりのデータバスD-Bus2上に読み出しデータを出力させることができるので、そのぶんアクセス競合が少なく、読み出しのストローブ信号RDN(OEN)を早めにアサートし、FLASHアクセス・サイクルを短縮することができる。これにより、FLASH22が16ビット構成である実施例3(図13)はFLASH22のデータ転送速度を一層向上させることができる。しかし、FLASH22が8ビット構成である実施例2(図12)では、FLASH22のデータ転送速度が実施例3の1/2になる。FLASHデータ転送速度については、従来方式(図5)に比して、実施例1(図4)は約1.52倍、実施例2は約1.84倍、実施例3は約0.92倍のシミュレーション結果が得られている。
図16に、従来方式(図5)と対比した実施例1,2,3の諸特性を表にまとめて示す。実施形態の中で、特に実施例3によれば、DFE18のピンを従来方式より19本削減し、SDRAM転送効率を従来方式の44%から87%に改善し、FLASH転送速度を従来方式の1.52倍に向上させることができる。
図17に、実施形態の一変形例として、FLASHデータの転送効率を上げるためにクロック・イネーブル信号CKEで制御する方法を示す。動作としては、SDRAM20に対するライト・コマンド(Write)発行後のFLASHリード・サイクルCAnの期間でFLASH22のアドレスが確定した後、直ぐにFLASHデータをアクセスすることができるようSDRAM20に対してクロック・イネーブル信号CKEをネゲートし、SDRAM20のライト動作を一時停止する。このライト動作停止期間中は、DFE18からSDRAM20へのデータ出力のディセーブル(ハイ・インピーダンス化)ができるため、FLASH22側のデータアクセスを行わせる。そして、FLASH22のアクセスが終了した後に、SDRAM20のライト動作を再開させる。
SDRAM20のリード動作では、SDRAMデータをマスクしないでバスをハイ・インピーダンス化することはできないので、クロック・イネーブル信号CKEによる一時停止は行えない。代替として、SDRAM20のリード動作を途中でいったん終了させて、FLASH22側のアクセスを行い、その後にSDRAM22に再度リード・コマンドを発行し、データの続きを取り込むようにすればよい。
また、実施例1の応用例として、SDRAM20,FLASH22間でデータを直接取り込む方法も可能である。すなわち、バス共有する利点として、ピン削減の効果以外に、SDRAM20,FLASH22間でデータバス同士が接続されている点を利用し、DFE18を経由せずにハードウェア上で制御信号を操作することで、SDRAM20とFLASH22のデータ信号の送受を可能とすることができる。
また、実施例1では、プリチャージ・コマンド(PRE)を使用しているため、FLASH22のアドレスバスとの競合を避けるために、SDRAM20用のMBA、MA[10]のピンをバス共有させなかった。しかし、オート・プリチャージ・コマンドを使う方式であれば、その競合が避けられるため、これらのピンも共有化が可能である。その他、SDRAM20のコントロールピン(MCAS,MRAS,MWE)をチップ・セレクト・ピンMCSの制御と組み合わせる等、図2の[1]、[2]、[3]区間の組み合わせによって更なるバス共有が可能である。
本発明のバス共有方式においては、SDR(Single Data Rate)−SDRAMの場合は汎用FLASHとI/Oレベルが同じであるため使用しやすいが、バス共有する方式自体はDDR(Double Data Rate)−SDRAM、Mobile型SDRAMにおいてもオペレーション・コマンドはほぼ同じなので、同様に有効である。また、プリント基板上のみならず、SiP(シリコン・イン・パッケージ)やPoP(パッケージ・オン・パッケージ)等の複数のチップを実装したパッケージ上でSDRAMとバスを兼用する場合にも応用可能である。また、SDRAMとのバス共有は、FLASH以外にも、外付け回路を加えることで汎用I/Oの追加や、内部信号のモニタを定期的に出力する等にも使用することも可能である。なお、本発明において不揮発性メモリはフラッシュメモリに限るものではなく、たとえばFeRAM等も可能である。
また、DFE18においては、SDRAM20,FLASH22に割り当てるピン数の削減により、その削減分を他のディジタル信号用、アナログ周辺ピンや電源ピンに割り当てることができ、アーキテクチャの自由度を確保することができる。このことにより、AFE16とDFE18とをインテグレーションしても小型のパッケージで実現することができる。
上記した実施形態はDVDドライブ装置に係るものであったが、本発明によるSDRAMと不揮発性メモリのバス共有システムは他のチップセット、たとえばAVエンコード/デコード・チップ、グラフィック処理チップ、HDD(Hard Disk Drive)信号処理チップ等にも適用可能である。
本発明の一実施形態におけるメモリバス共有システムを含むDVDドライブ装置の構成を示すブロック図である。 SDRAM(シンクロナスDRAM)におけるメモリアクセスの基本動作を示すタイミング図である。 FLASH(フラッシュメモリ)におけるメモリアクセスの基本動作を示すタイミング図である。 実施例1によるDFEとSDRAM、FLASH間の接続形態を示す図である。 従来方式によるDFEとSDRAM、FLASH間の接続形態を示す図である。 実施形態におけるDFE、SDRAM、FLASH(半導体パッケージ)の詳細なピン配置およびプリント配線のレイアウト例を示す図である。 実施形態におけるSDRAMおよびFLASHに対するメモリアクセスの通信フローを模式的に示す図である。 実施形態(実施例1)においてSDRAMライト・アクセスとFLASHリード・アクセスとの競合を回避するプロトコルを示すタイミング図である。 実施形態(実施例1)においてSDRAMライト・アクセスとFLASHリード・アクセスとの競合を回避するプロトコルを示すタイミング図である。 実施形態においてFLASHアクセスを一定速度としてみた場合のバスのアクセスマージンを示す図である。 SDRAMのバースト長を横軸の変数にとって、従来方式によるSDRAMの最大転送能力と、実施例におけるSDRAM,FLASHの最大転送能力とを対比して示す図である。 実施例2によるDFEとSDRAM、FLASH間の接続形態を示す図である。 実施例3によるDFEとSDRAM、FLASH間の接続形態を示す図である。 実施例2,3のバス共有方式においてSDRAMライト・アクセスとFLASHリード・アクセスとの競合を回避するためのプロトコルを示すタイミング図である。 実施例2,3のバス共有方式においてSDRAMリード・アクセスとFLASHリード・アクセスとの競合を回避するためのプロトコルを示すタイミング図である。 従来方式と対比して実施例1〜3の諸特性を表で示す図である。 実施例1の一変形例によるSDRAMリード・アクセスとFLASHリード・アクセスとの競合を回避するためのプロトコルを示すタイミング図である。
符号の説明
10 光ディスク
12 光ピックアップユニット
16 アナログフロントエンド
18 ディジタルフロントエンド
20 SDRAM(シンクロナスDRAM)
22 FLASH(フラッシュメモリ)
23 モータ駆動回路
24 システムMPU
28 共有バスコントローラ
32 SDRAMコントローラ

Claims (17)

  1. クロックに同期してデータの書き込みと読み出しを行う第1のメモリと、
    クロックに依存せずに非同期でデータの書き込みと読み出しを行う第2のメモリと、
    前記第1および第2のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、
    前記コントローラと前記第1のメモリとをアドレス指定のために繋ぐ第1のアドレスバスと、
    前記コントローラと前記第1のメモリとをデータ転送のために繋ぐ第1のデータバスと、
    前記コントローラと前記第1のメモリとをメモリ制御のために繋ぐ第1の制御線と、
    前記コントローラと前記第2のメモリとをアドレス指定のために繋ぐ第2のアドレスバスと、
    前記コントローラと前記第2のメモリとをデータ転送のために繋ぐ第2のデータバスと、
    前記コントローラと前記第2のメモリとをメモリ制御のために繋ぐ第2の制御線と
    を有し、
    前記コントローラのアドレス端子の一部または全部を前記第1および第2のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第1および第2のデータバスに共通接続し、
    前記コントローラが、前記第1のメモリに対するアクセスと前記第2のメモリに対するアクセスとが競合するときは、前記第1のアドレスバス上に送出した第1のアドレスを前記第1のメモリに取り込ませた後に前記第2のアドレスバス上に第2のアドレスを送出し、前記第1のデータバス上で前記第1のメモリとのデータ転送が終了し、かつ前記第2のメモリにおける前記第2のアドレスの入力が確定した後に前記第2のデータバス上で前記第2のメモリとのデータ転送を行うメモリバス共有システム。
  2. 前記第1のメモリ、前記第2のメモリおよび前記コントローラが、それぞれ個別の半導体チップに搭載され、同一の基板上もしくはパッケージ上に実装される請求項1に記載のメモリバス共有システム。
  3. 前記第1のメモリがシンクロナスDRAMである請求項1または請求項2に記載のメモリバス共有システム。
  4. 前記コントローラは、アイドル状態の前記シンクロナスDRAMにデータを書き込むときは、第1の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを前記第1の制御線および前記第1のアドレスバス上にそれぞれ送出し、前記第1の時点から所定時間経過後の第2の時点で同時にライト・コマンドおよび所望のカラム・アドレスを前記第1の制御線および前記第1のアドレスバス上にそれぞれ送出し、前記第2の時点から予め設定したバースト長のデータをクロックに同期して前記第1のデータバス上に送出する請求項3に記載のメモリバス共有システム。
  5. 前記コントローラは、前記第2の時点から前記バースト長に応じた所定時間経過後の第3の時点でプリチャージ・コマンドを前記第1の制御線上に送出する請求項4に記載のメモリバス共有システム。
  6. 前記コントローラは、アイドル状態の前記シンクロナスDRAMからデータを読み出すときは、第1の時点で同時にアクティブ・コマンドおよび所望のロウ・アドレスを前記第1の制御線および前記第1のアドレスバス上にそれぞれ送出し、前記第1の時点から所定時間経過後の第2の時点で同時にリード・コマンドおよび所望のカラム・アドレスを前記第1の制御線および前記第1のアドレスバス上にそれぞれ送出し、前記第2の時点から予め設定したCASレイテンシの期間経過後の第3の時点から予め設定したバースト長のデータをクロックに同期して前記第1のデータバス上から取り込む請求項3に記載のメモリバス共有システム。
  7. 前記コントローラは、前記第3の時点から前記バースト長に応じた所定時間経過後の第4の時点でプリチャージ・コマンドを前記第1の制御線上に送出する請求項6に記載のメモリバス共有システム。
  8. 前記コントローラは、前記第1のアドレスバスと前記データバスの使用を伴わないコマンドを前記第1の制御線を介して前記シンクロナスDRAMに与えて前記シンクロナスDRAMに前記コマンドを実行させている間は、前記第2のメモリに対して前記第2のアドレスバスと前記第2のデータバスと前記第2の制御線とを通じて任意にデータの書き込みまたは読み出しを行う請求項3〜7のいずれか一項に記載のメモリバス共有システム。
  9. 前記第2のメモリが不揮発性メモリである請求項3〜8のいずれか一項に記載のメモリバス共有システム。
  10. 前記コントローラは、前記第1のデータバス上のデータ転送が終了した後に前記第2のデータバス上に書き込みのデータを出力し、次いで書き込み用のストローブ信号を出力して前記不揮発性メモリに前記データを書き込む請求項9記載のメモリバス共有システム。
  11. 前記コントローラは、前記第1のデータバス上のデータ転送が終了した後に読み出し用のストローブ信号を出力して前記不揮発性メモリに読み出しのデータを前記第2のデータバス上に出力させ、前記第2のデータバス上から前記読み出しのデータを取り込む請求項10に記載のメモリバス共有システム。
  12. 前記コントローラは、前記第1のデータバス上のデータ転送が終了した直後にいったん前記第1および第2のデータバスをそれぞれハイ・インピーダンス状態にしてから前記第2のデータバス上でデータの送受を行う請求項10または請求項11に記載のメモリバス共有システム。
  13. クロックに同期してデータの書き込みと読み出しを行う第1のメモリと、
    クロックに依存せずに非同期でデータの書き込みと読み出しを行う第2のメモリと、
    前記第1および第2のメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、
    前記コントローラと前記第1のメモリとをアドレス指定のために繋ぐ第1のアドレスバスと、
    前記コントローラと前記第1のメモリとをデータ転送のために繋ぐ第1のデータバスと、
    前記コントローラと前記第1のメモリとをメモリ制御のために繋ぐ第1の制御線と、
    前記コントローラと前記第2のメモリとをアドレス指定のために繋ぐ第2のアドレスバスと、
    前記コントローラと前記第2のメモリとをデータ転送のために繋ぐ第2のデータバスと、
    前記コントローラと前記第2のメモリとをメモリ制御のために繋ぐ第2の制御線と
    を有し、
    前記コントローラのアドレス端子の一部または全部を前記第1および第2のアドレスバスに共通接続し、
    前記コントローラが、前記第1のメモリに対するアクセスと前記第2のメモリに対するアクセスとが競合するときは、前記第1のアドレスバス上に送出した第1のアドレスを前記第1のメモリに取り込ませた後に前記第2のアドレスバス上に第2のアドレスを送出し、前記第1のデータバス上の前記第1のメモリとのデータ送受と前記第2のデータバス上の前記第2のメモリとのデータ送受とを独立的に行うメモリバス共有システム。
  14. 前記第1のメモリ、前記第2のメモリおよび前記コントローラが、それぞれ個別の半導体チップに搭載され、同一の基板上もしくはパッケージ上に実装される請求項13に記載のメモリバス共有システム。
  15. 前記第1のメモリがシンクロナスDRAMである請求項13または請求項14に記載のメモリバス共有システム。
  16. 前記第2のメモリが不揮発性メモリである請求項13〜15のいずれか一項に記載のメモリバス共有システム。
  17. クロックに同期してデータの書き込みと読み出しを行うシンクロナスDRAMと、
    クロックに依存せずに非同期でデータの書き込みと読み出しを行うフラッシュメモリと、
    前記シンクロナスDRAMおよび前記フラッシュメモリにアクセスしてデータの書き込みまたは読み出しを制御するコントローラと、
    前記コントローラと前記シンクロナスDRAMとをアドレス指定のために繋ぐ第1のアドレスバスと、
    前記コントローラと前記シンクロナスDRAMとをデータ転送のために繋ぐ第1のデータバスと、
    前記コントローラと前記シンクロナスDRAMとをメモリ制御のために繋ぐ第1の制御線と、
    前記コントローラと前記フラッシュメモリとをアドレス指定のために繋ぐ第2のアドレスバスと、
    前記コントローラと前記フラッシュメモリとをデータ転送のために繋ぐ第2のデータバスと、
    前記コントローラと前記フラッシュメモリとをメモリ制御のために繋ぐ第2の制御線と
    を有し、
    前記コントローラのアドレス端子の一部または全部を前記第1および第2のアドレスバスに共通接続するとともに、前記コントローラのデータ端子の一部または全部を前記第1および第2のデータバスに共通接続し、
    前記コントローラが、前記シンクロナスDRAMに対するアクセスと前記フラッシュメモリに対するアクセスとが競合するときは、前記第1のアドレスバス上に送出した第1のアドレスを前記シンクロナスDRAMに取り込ませた後に前記第2のアドレスバス上に第2のアドレスを送出し、前記第1のデータバス上で所望の書き込みデータまたは読み出しデータの一部に相当する第1のバースト長のデータ転送を終えた時点から前記シンクロナスDRAMに対するメモリアクセス動作を停止し、代わりに前記第2のデータバス上で前記フラッシュメモリとデータの送受を行い、その後に前記シンクロナスDRAMに対するメモリアクセス動作を再開させて前記書き込みデータまたは読み出しデータの残りに相当する第2のバースト長のデータ転送を行うメモリバス共有システム。
JP2006336038A 2006-12-13 2006-12-13 メモリバス共有システム Pending JP2008146581A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006336038A JP2008146581A (ja) 2006-12-13 2006-12-13 メモリバス共有システム
US11/955,664 US7984319B2 (en) 2006-12-13 2007-12-13 Memory bus shared system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006336038A JP2008146581A (ja) 2006-12-13 2006-12-13 メモリバス共有システム

Publications (1)

Publication Number Publication Date
JP2008146581A true JP2008146581A (ja) 2008-06-26

Family

ID=39606653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006336038A Pending JP2008146581A (ja) 2006-12-13 2006-12-13 メモリバス共有システム

Country Status (2)

Country Link
US (1) US7984319B2 (ja)
JP (1) JP2008146581A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011119731A (ja) * 2009-11-30 2011-06-16 Numonyx Bv パッケージと基板または別のパッケージとの間の領域の一部分にアンダーフィル材料を含むパッケージ

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845527B1 (ko) * 2006-12-06 2008-07-10 삼성전자주식회사 메모리 장치 및 메모리 컨트롤러의 클럭 싸이클 제어방법
KR101153795B1 (ko) * 2009-12-24 2012-06-13 에스케이하이닉스 주식회사 반도체 회로 장치
JP5570619B2 (ja) 2010-02-23 2014-08-13 ラムバス・インコーポレーテッド 異なるメモリ種類にアクセスする異なる速度での時分割多重化
US8607089B2 (en) * 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
US20160124797A1 (en) * 2013-06-27 2016-05-05 Hewlett-Packard Development Company, L.P. Memory Bus Error Signal
WO2015065426A1 (en) 2013-10-31 2015-05-07 Hewlett-Packard Development Company, L.P. Memory access for busy memory
KR102249416B1 (ko) 2014-06-11 2021-05-07 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 구동 방법
US20160092383A1 (en) * 2014-09-26 2016-03-31 Kuljit S. Bains Common die implementation for memory devices
JP6527420B2 (ja) * 2015-07-31 2019-06-05 ルネサスエレクトロニクス株式会社 半導体装置
CN113573072B (zh) * 2021-09-22 2021-12-17 苏州浪潮智能科技有限公司 一种图像处理方法、装置及相关组件

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625716B2 (en) * 2001-06-28 2003-09-23 Intel Corporation Method apparatus, and system for efficient address and data protocol for a memory
JP2005346513A (ja) * 2004-06-04 2005-12-15 Renesas Technology Corp 半導体装置
US7426607B2 (en) * 2005-08-05 2008-09-16 Infineon Technologies Ag Memory system and method of operating memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011119731A (ja) * 2009-11-30 2011-06-16 Numonyx Bv パッケージと基板または別のパッケージとの間の領域の一部分にアンダーフィル材料を含むパッケージ
US9374902B2 (en) 2009-11-30 2016-06-21 Micron Technology, Inc. Package including an underfill material in a portion of an area between the package and a substrate or another package

Also Published As

Publication number Publication date
US7984319B2 (en) 2011-07-19
US20090177909A1 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
JP2008146581A (ja) メモリバス共有システム
US10860216B2 (en) Mechanism for enabling full data bus utilization without increasing data granularity
JP4569915B2 (ja) 半導体記憶装置
US20060090056A1 (en) Dynamically setting burst length and type
JP2009503682A (ja) 複数アドレス、データ及びコマンドバスを有するメモリデバイス及び方法
JP2002063069A (ja) メモリ制御装置、データ処理システム及び半導体装置
JP4199658B2 (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
JP2001189077A (ja) 半導体記憶装置及びそのデータ読み出し方法
JP7216247B1 (ja) バンク割り当てを備えたマルチポート不揮発性メモリデバイスおよび関連するシステムおよび方法
JP2000030456A (ja) メモリデバイス
US20050182908A1 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
US20060007758A1 (en) Method and apparatus for setting CAS latency and frequency of heterogenous memories
JP4727241B2 (ja) 半導体メモリ装置、並びに、この装置のデータ書込み及び読出し方法
JP2012226491A (ja) メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法
JP4060527B2 (ja) クロック同期型ダイナミックメモリ
US7103707B2 (en) Access control unit and method for use with synchronous dynamic random access memory device
US20140059304A1 (en) Semiconductor memory device
JP4817477B2 (ja) 半導体記憶装置
JP2005346502A (ja) メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム
US20070171735A1 (en) Latency circuit for semiconductor memories
JPH10112180A (ja) 半導体記憶装置およびそれを用いたコンピュータシステム
JP5200914B2 (ja) 半導体メモリおよびシステム
JP4379948B2 (ja) ディスクドライブインターフェース装置
JP3563340B2 (ja) メモリコントローラ
JP2007026545A (ja) Avプレーヤおよびavレコーダ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090609