JP2012226491A - メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法 - Google Patents

メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法 Download PDF

Info

Publication number
JP2012226491A
JP2012226491A JP2011092275A JP2011092275A JP2012226491A JP 2012226491 A JP2012226491 A JP 2012226491A JP 2011092275 A JP2011092275 A JP 2011092275A JP 2011092275 A JP2011092275 A JP 2011092275A JP 2012226491 A JP2012226491 A JP 2012226491A
Authority
JP
Japan
Prior art keywords
command
memories
memory
access request
signal line
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.)
Withdrawn
Application number
JP2011092275A
Other languages
English (en)
Inventor
Takeshi Shimoyama
健 下山
Yoshito Nagao
吉人 長尾
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2011092275A priority Critical patent/JP2012226491A/ja
Publication of JP2012226491A publication Critical patent/JP2012226491A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】信号線やチップのピン数等の増加を抑制して必要なメモリ帯域を確保する。
【解決手段】複数のメモリには、メモリ毎に独立してデータバスが接続される。また、複数のメモリには、メモリ毎に独立して選択信号線が接続される。コマンド信号線は、複数のメモリの間で共有して接続される。制御部は、複数のメモリのうちの少なくとも2つのメモリに対するバスマスタからのアクセス要求が出力された場合に、当該アクセス要求に応じたコマンドがコマンド信号線において重複して発行されないようにコマンド制御を行う。
【選択図】図1

Description

本技術は、メモリ制御装置に関する。詳しくは、複数のメモリを扱うメモリ制御装置、集積回路、情報処理装置およびメモリ制御方法に関する。
近年、デジタルスチルカメラ、ビデオレコーダ、携帯電話装置、ネットワーク端末等の情報処理装置(いわゆる、デジタル機器)が広く普及している。これらの情報処理装置では、高精細な画像処理、高音質・高機能な音声処理等のように複雑なデータ処理が行われている。このように複雑なデータ処理が求められるため、信号処理やソフトウェアの実行等を行う場合には、大容量・広帯域のメモリが必要となることが多い。
そこで、メモリ帯域を増やすため、複数のメモリを備える情報処理装置が提案されている(例えば、特許文献1参照。)。
特開平06−75799号公報
上述の従来技術では、複数のメモリを用いて各データ処理を行うことができる。このように、複数のメモリを用いる場合には、メモリ帯域を増やすことができるが、信号線やチップのピン数等も増加する。このため、これらの増加を抑制してメモリ帯域を確保することが重要である。
本技術はこのような状況に鑑みて生み出されたものであり、信号線やチップのピン数等の増加を抑制して必要なメモリ帯域を確保することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスであって上記複数のメモリ毎に独立して接続されるデータバスと、上記複数のメモリのうちの対象メモリを選択するための選択信号を出力する選択信号線であって上記複数のメモリ毎に独立して接続される選択信号線と、上記アクセス要求に応じたコマンドを上記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線であって上記複数のメモリとの間で共有して接続されるコマンド信号線と、上記複数のメモリのうちの少なくとも2つのメモリに対する上記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが上記コマンド信号線において重複して発行されないようにコマンド制御を行う制御部とを具備するメモリ制御装置、これに対応する集積回路、情報処理装置およびそのメモリ制御方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、独立したデータバスが接続される複数のメモリを、複数のメモリとの間で共有して接続されるコマンド信号線を用いて制御させるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記アクセス要求に係る複数のメモリのうち1つのメモリ以外の他のメモリに対する上記コマンドを順次遅延させることにより上記コマンド制御を行い、当該アクセス要求に係る複数のメモリとの間で上記データバスを介して行われるデータのやり取りを行う期間の一部を重複させるようにしてもよい。これにより、複数のメモリにおいて、データバスを介して行われるデータのやり取りを行う期間の一部が重複されるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記バスマスタから上記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該各メモリの優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させるようにしてもよい。これにより、メモリの優先度に基づいてコマンドの発行順序が決定されるという作用をもたらす。また、この場合において、上記制御部は、上記優先度としてラウンドロビン方式により上記複数のメモリの優先度を決定するようにしてもよい。これにより、ラウンドロビン方式により複数のメモリの優先度が決定されるという作用をもたらす。また、この場合において、上記制御部は、上記優先度として上記複数のメモリのそれぞれに設定されている優先度に基づいて上記コマンドの発行順序を決定するようにしてもよい。これにより、複数のメモリのそれぞれに設定されている優先度に基づいてコマンドの発行順序が決定されるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記バスマスタから上記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該アクセス要求の優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させるようにしてもよい。これにより、コマンドの優先度に基づいてコマンドの発行順序が決定されるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記バスマスタから上記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該アクセス要求が発行されたバスマスタの優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させるようにしてもよい。これにより、コマンドが発行されたバスマスタの優先度に基づいてコマンドの発行順序が決定されるという作用をもたらす。
また、この第1の側面において、上記データバスおよび上記選択信号線の何れかを介して出力される信号を含む所定信号以外の信号を出力するための信号線は、上記複数のメモリとの間で共有して接続されるようにしてもよい。これにより、所定信号以外の信号を出力するための信号線は、複数のメモリとの間で共有して接続されるという作用をもたらす。
本技術によれば、信号線やチップのピン数等の増加を抑制して必要なメモリ帯域を確保することができるという優れた効果を奏し得る。
本技術の第1の実施の形態における情報処理装置100の構成例を示すブロック図である。 本技術の第1の実施の形態におけるコマンド調停部230によるコマンド発行例を示すタイミングチャートである。 本技術の第1の実施の形態におけるメモリコントローラ200と各メモリとの間の接続と、他のメモリコントローラにおける接続とを模式的に示す図である。 本技術の第1の実施の形態における情報処理装置100と方式1乃至3との比較例を簡略化して示す図である。 本技術の第1の実施の形態におけるメモリコントローラ200によるコマンド発行と、方式1のメモリコントローラ811によるコマンド発行例とを示すタイミングチャートである。 本技術の第1の実施の形態における情報処理装置100によってコマンドが発行される際の情報処理手順例を示すフローチャートである。 本技術の第2の実施の形態における情報処理装置によってコマンドが発行される際の情報処理手順例を示すフローチャートである。 本技術の第3の実施の形態における情報処理装置によってコマンドが発行される際の情報処理手順例を示すフローチャートである。 本技術の第4の実施の形態における情報処理装置のコマンド調停部において、コマンド発行要求信号を同時に受けとった場合のコマンドの発行例を示す図である。 本技術の第5の実施の形態における情報処理装置100の構成例を示すブロック図である。 本技術の第5の実施の形態におけるコマンドセレクタ330によるコマンド発行例を示すタイミングチャートである。 本技術の第5の実施の形態の第2方法によってコマンドが発行される際の情報処理手順例を示すフローチャートである。 本技術の第6の実施の形態における情報処理装置100の構成例を示すブロック図である。 本技術の第6の実施の形態におけるコマンドセレクタ・クロック乗換部430によるコマンド発行例を示すタイミングチャートである。 本技術の第7の実施の形態におけるコマンドセレクタ・クロック乗換部によるコマンド発行例を示すタイミングチャートである。 本技術の第8の実施の形態における情報処理装置100の構成例を示すブロック図である。 本技術の第8の実施の形態における情報処理装置によってコマンドが発行される際の情報処理手順例を示すフローチャートである。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(メモリ制御:コマンドに係る信号線を共有させ、アクセス要求が重なった場合にはメモリ(0)を優先させる例)
2.第2の実施の形態(メモリ制御:メモリの優先順序をラウンドロビンさせる例)
3.第3の実施の形態(メモリ制御:メモリアクセス要求に優先度が設定される例)
4.第4の実施の形態(メモリ制御:コマンドに優先度を付けラウンドロビンさせる例)
5.第5の実施の形態(メモリ制御:コマンド選択信号により優先度を設定する例)
6.第6の実施の形態(メモリ制御:メモリクロックの半分のクロックでコマンド発行要求信号を発行させる例)
7.第7の実施の形態(メモリ制御:反相の半速クロックを用いる例)
8.第8の実施の形態(メモリ制御:メモリが3つの例)
<1.第1の実施の形態>
[メモリ制御装置の構成例]
図1は、本技術の第1の実施の形態における情報処理装置100の構成例を示すブロック図である。
情報処理装置100は、DRAM(Dynamic Random Access Memory)に対するメモリアクセスを制御するものであり、バスマスタ180と、メモリコントローラ200と、メモリ(0)160と、メモリ(1)170とを備える。なお、同図では、説明の便宜上、制御対象のメモリは2つ(メモリ(0)160、メモリ(1)170)であることを想定して説明するが、3以上のメモリを備える場合についても適用可能である。なお、3以上のメモリを備える場合については、本技術の第8の実施の形態で示す。
バスマスタ180は、バスにアクセスして、そのバスに対してバス信号(アドレス、制御信号、書込みデータ等)を送出するデータ処理装置である。バスマスタ180は、例えば、バスを介してメモリ(0)160およびメモリ(1)170にアクセス要求を送信して、データ処理に必要なデータの記録および読み出しを行う。すなわち、バスマスタ180は、複数のメモリへのアクセス要求を行い、複数のメモリに保持されているデータを用いたデータ処理を行う。なお、バスマスタ180は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)等に相当する。
メモリ(0)160およびメモリ(1)170は、バスマスタ180において処理対象となる各種データを記憶するメモリである。メモリ(0)160およびメモリ(1)170は、それぞれがメモリを管理する際の管理単位である。なお、メモリ(0)160およびメモリ(1)170は、物理的に異なるメモリであり、それぞれが専用のメモリバス(同図では、信号線212および222)を備えていることを想定する。そのため、本技術の実施の形態では、メモリ(0)160とメモリ(1)170との間において、重複するバンク番号およびアドレスがあることを想定する。
メモリコントローラ200は、メモリ(0)160およびメモリ(1)170に関する動作の指示を行うものである。メモリコントローラ200は、メモリコントローラ(0)210と、メモリコントローラ(1)220と、コマンド調停部230とを備える。なお、メモリコントローラ200は、特許請求の範囲に記載の集積回路の一例である。
メモリコントローラ(0)210およびメモリコントローラ(1)220は、バスマスタ180から供給されるアクセス要求に基づいて、メモリ(0)160およびメモリ(1)170に関する動作を指示するコマンドを生成するものである。メモリコントローラ(0)210は、信号線181を介して供給されるメモリ(0)210へのアクセス要求に基づいてコマンドを生成し、その生成したコマンドを、コマンド発行要求信号に含めて、信号線211を介してコマンド調停部230に供給する。また、メモリコントローラ(1)220は、信号線182を介して供給されるメモリ(1)170へのアクセス要求に基づいてコマンドを生成し、その生成したコマンドを、コマンド発行要求信号に含めて、信号線221を介してコマンド調停部230に供給する。
また、メモリコントローラ(0)210およびメモリコントローラ(1)220は、コマンド発行要求信号をコマンド調停部230に供給した場合には、次のコマンドの生成を一時待機状態にする。そして、コマンド調停部230からコマンド発行終了信号が供給された場合には、その一時待機状態を解除して、次のコマンドの発行の制御(タイミング待ちおよび発行)を開始する。
コマンド調停部230は、メモリコントローラ(0)210およびメモリコントローラ(1)220から供給されるコマンド発行要求信号に基づいて、メモリ(0)160およびメモリ(1)170に対してコマンドを発行するものである。このコマンド調停部230は、コマンド発行要求信号に基づいてコマンドを発行した場合には、コマンドが発行されたことを通知する信号(コマンド発行終了信号)を、そのコマンド発行要求信号を生成したメモリコントローラに供給する。すなわち、メモリコントローラ(0)210が発行したコマンド発行要求信号に基づいてコマンドを発行した場合には、コマンド発行終了信号を信号線231を介してメモリコントローラ(0)210に供給する。また、メモリコントローラ(1)220が発行したコマンド発行要求信号に基づいてコマンドを発行した場合には、コマンド発行終了信号を信号線232を介してメモリコントローラ(1)220に供給する。
また、コマンド調停部230は、メモリ(0)160に信号線234を介してチップセレクト(CS:Chip Select)信号を供給し、メモリ(1)170に信号線235を介してチップセレクト信号を供給する。このチップセレクト信号とコマンドとの組み合わせにより、メモリ(0)160およびメモリ(1)170は、信号線233を介して供給されたコマンドが自分に対する命令であるのか否かを判断する。例えば、コマンド調停部230は、メモリ(0)160のコマンドを発行する場合には、信号線234のチップセレクト信号を選択状態(オン)とし、信号線235のチップセレクト信号を未選択状態(オフ)として、コマンドを発行する。また、メモリ(1)170のコマンドを発行する場合には、信号線234のチップセレクト信号をオフとし、信号線235のチップセレクト信号をオンとする。
また、コマンド調停部230は、メモリコントローラ(0)210およびメモリコントローラ(1)220の双方から同じタイミングでコマンド発行要求信号を受けとった場合には、優先度に基づいて、何れかのコマンドを発行する。そして、コマンド調停部230は、優先度が高いコマンドに係るコマンド発行要求信号を生成したメモリコントローラにコマンド発行終了信号を供給し、次のコマンドの発行の制御を開始させる。また、コマンド調停部230は、次のタイミング(メモリクロックの次のサイクル)で、優先度が低いコマンド発行要求信号に係るコマンドを発行する。そして、コマンド調停部230は、優先度が低いコマンドに係るコマンド発行要求信号を生成したメモリコントローラにコマンド発行終了信号を供給し、次のコマンドの発行の制御を開始させる。なお、優先度に基づくコマンドの発行については、図2を参照して詳細に説明する。
このように、コマンド調停部230は、複数のメモリに対するバスマスタ180からのアクセス要求が出力された場合に、それらのアクセス要求に応じたコマンドがコマンド信号線(信号線233)において重複して発行されないようにコマンド制御を行う。
また、信号線212および222は、バスマスタ180からのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスであり、複数のメモリ毎に独立して接続される。なお、信号線212および222は、特許請求の範囲に記載のデータバスの一例である。
また、信号線234、235は、複数のメモリのうちの対象メモリを選択するための選択信号を出力する選択信号線であり、複数のメモリ毎に独立して接続される。なお、信号線212および222は、特許請求の範囲に記載の選択信号線の一例である。
また、信号線233は、アクセス要求に応じたコマンドを複数のメモリのうち、そのアクセス要求に係るメモリに発行するためのコマンド信号線であり、複数のメモリとの間で共有して接続される。なお、信号線233は、特許請求の範囲に記載のコマンド信号線の一例である。
また、メモリコントローラ200において、データバスおよび選択信号線の何れかを介して出力される信号を含む所定信号以外の信号を出力するための信号線(例えば、図4(a)に示すカテゴリB)は、複数のメモリとの間で共有して接続される。
[コマンド調停部によるコマンド発行例]
図2は、本技術の第1の実施の形態におけるコマンド調停部230によるコマンド発行例を示すタイミングチャートである。ここでは、横軸をメモリクロックを示す軸として、コマンド調停部230から信号線233を介して各メモリ(メモリ(0)160およびメモリ(1)170)に供給されるコマンド(CMD(CoMmanD))が示されている。また、ここでは、信号線212を介してメモリ(0)160とやり取りされるデータ(DATA(0))と、信号線222を介してメモリ(1)170とやり取りされるデータ(DATA(1))とが示されている。
同図では、時間「1」において、メモリコントローラ(0)210と、メモリコントローラ(1)220との双方からコマンド発行要求信号が生成されることを想定する。また、情報処理装置100では、tRCDが「3」であり、CL(Cas Latency)が「3.5」であり、バースト長は「8」であることを想定する。ここで、tRCDは、アクティベイトコマンド(ACT:ACTivate command)から同じバンクのリードコマンド(RD:ReaD command)/ライトコマンド(WR:WRight command)までの最小間隔をメモリクロックのサイクル数でカウントした値である。また、CLは、リードコマンド/ライトコマンドから実際にデータが読み書きされるまでの最小間隔をメモリクロックのサイクル数でカウントした値である。
また、同図では、メモリコントローラ(0)210およびメモリコントローラ(1)220のうち、メモリコントローラ(0)210のコマンド発行要求信号の優先度が高い場合を想定する。なお、同図において示すコマンド(ACT(図面上では、スペースの都合上ACと記す)、RD)に付されている番号(0または1)は、チップセレクト信号によるチップ(メモリ(0)およびメモリ(1))の選択を示している。この番号は、「0」がメモリ(0)160に対応し、「1」がメモリ(1)170に対応する。
ここで、コマンド調停部230によるコマンド発行の一例を、同図を参照して説明する。
まず、時間「0」において、バスマスタ180からメモリアクセス要求を同じタイミングで受けとったメモリコントローラ(0)210およびメモリコントローラ(1)220は、コマンド発行要求信号をコマンド調停部230に供給する。
そして、時間「1」において、コマンド調停部230は、受けとった2つのコマンド発行要求信号のうちからメモリコントローラ(0)210のコマンド発行要求信号を優先させ、メモリ(0)160に対するコマンド(AC0)を発行する。また、コマンド(AC0)の発行とともに、コマンド調停部230は、メモリコントローラ(0)210にコマンド発行終了信号を供給し、コマンド(AC0)の発行が終了したことを通知する。
時間「2」において、コマンド調停部230は、時間「1」において受けとった2つのコマンド発行要求信号のうち、まだコマンドを発行していないメモリコントローラ(1)220のコマンド発行要求信号に基づいて、コマンド(AC1)を発行する。そして、コマンド調停部230は、メモリコントローラ(1)220にコマンド発行終了信号を供給し、コマンド(AC1)の発行が終了したことを通知する。
時間「4」において、メモリコントローラ(0)210は、アクティベイトコマンド(AC0)のコマンド発行終了信号が供給されてから「3」サイクル(tRCD)が経過したため、リードコマンド(RD)を含むコマンド発行要求信号を生成する。そして、メモリコントローラ(0)210は、生成したコマンド発行要求信号を、コマンド調停部230に供給する。なお、メモリコントローラ(1)220は、アクティベイトコマンド(AC1)のコマンド発行終了信号が供給されてから「3」サイクル(tRCD)がまだ経過していないため、何もしない。
この時間「4」において、メモリコントローラ(0)210からコマンド発行要求信号が供給されたコマンド調停部230は、他にコマンド発行要求信号がないため、即座に、メモリ(0)160に対するリードコマンド(RD0)を発行する。そして、コマンド調停部230は、メモリコントローラ(0)210にコマンド発行終了信号を供給する。
時間「5」では、メモリコントローラ(1)220は、アクティベイトコマンド(AC1)のコマンド発行終了信号が供給されてから「3」サイクル(tRCD)が経過したため、リードコマンド(RD)を含むコマンド発行要求信号を生成する。そして、メモリコントローラ(1)220は、生成したコマンド発行要求信号を、コマンド調停部230に供給する。また、コマンド調停部230では、メモリコントローラ(1)220から供給されたコマンド発行要求信号に基づいて、メモリ(1)170に対するリードコマンド(RD1)を発行するとともに、メモリコントローラ(1)220にコマンド発行終了信号を供給する。
そして、時間「7」の半サイクル経過時(時間「7.5」)に、リードコマンド(RD0)の発行から「3.5」サイクル(CL)が経過して待ち時間が終了したメモリ(0)160において、読み出されたデータの転送が開始する。そして、この時間「7.5」から「4」サイクル(バースト長)が経過するまで(時間「11.5」まで)、メモリ(0)160から読み出されたデータが、信号線212を介してメモリコントローラ(0)210に転送される。なお、同図では、その転送対象となるデータをD0乃至D7で示す。
続いて、時間「8」の半サイクル経過時(時間「8.5」)に、リードコマンド(RD1)の発行から「3.5」サイクル(CL)が経過したメモリ(1)170において、読み出されたデータの転送が開始する。そして、この時間「8.5」から「4」サイクル(バースト長)が経過するまで(時間「12.5」まで)、メモリ(1)170から読み出されたデータが、信号線222を介してメモリコントローラ(1)220に転送される。なお、同図では、その転送対象となるデータをD0乃至D7で示す。
このように、コマンド調停部230によって、信号線233を介して各メモリに供給されるコマンドが調停されるため、コマンドを送信する信号線が複数のメモリで共有されている場合においても、適切にコマンドを送信することができる。また、コマンド要求信号が同時に供給された場合には、一方のコマンドが僅かに遅れる(同図では「1」サイクル)が、データの転送が僅かに遅れるだけで誤動作などは生じないため、効率良くデータを転送することができる。すなわち、コマンドを送信する信号線(同図では、信号線233)を2つのメモリで共有させて信号線の数を減らすことができるとともに、データを転送する線を別々にする(同図では信号線212、222)ことで、データを効率良く転送することができる。
[メモリコントローラとメモリとの間の接続例]
図3は、本技術の第1の実施の形態におけるメモリコントローラ200と各メモリとの間の接続と、他のメモリコントローラにおける接続とを模式的に示す図である。
同図(a)には、1つのメモリ(メモリ(0)892)が接続されるメモリコントローラ(メモリコントローラ891)が示されている。そして、メモリコントローラ891と、メモリ(0)892との間には、3本の信号線(信号線897乃至899)が示されている。
信号線899は、チップ(本技術ではメモリの制御単位)のオンオフに関する信号の信号線の接続をまとめて模式的に示す線である。この信号線899には、チップセレクト(CS:Chip Select)信号の信号線およびクロックイネーブル(CKE:Clock Enable)信号の信号線などが含まれる。
信号線898は、コマンド(CMD)を供給する信号線の接続をまとめて模式的に示す線である。なお、コマンド(CMD)を供給する信号線は、アドレス(A:Address)信号の信号線、バンクアドレス(BA:Bank Address)信号の信号線などのメモリの動作を制御するためのコマンドに関与する信号の信号線が含まれる。また、A信号やBA信号の信号線の他に、ロウアドレスストローブ(RAS:Row Address Strobe)信号、カラムアドレスストローブ(CAS:Column Address Strobe)信号、ライトイネーブル(WE:Write Enable)信号の信号線などが含まれる。
信号線897は、データ(DQ)の転送に係る信号の信号線の接続をまとめて模式的に示す線である。この信号線897には、データ信号線、データマスク(DM:Data Mask)信号の信号線、データストローブ(DS;Data Strobe)信号の信号線などが含まれる。
同図(a)に示すように、メモリコントローラ891とメモリ(0)892との間には、メモリの制御に必要な信号線がそれぞれ独立して接続される。
同図(b)には、1つのメモリコントローラ(メモリコントローラ811)に2つのメモリ(メモリ(0)812およびメモリ(1)813)が独立して接続されるメモリ制御装置(方式1)が示されている。なお、同図(b)における信号線819および816は同図(a)の信号線899に対応し、信号線818および815は信号線898に対応し、信号線817および814は信号線897に対応する。
同図(b)に示すように、2つのメモリに信号線が完全に独立して接続される場合には、2つのメモリを完全に独立して制御できるため、高速なデータ転送(理論帯域が2倍)を実現することができる。しかしながら、信号線の数が2倍になるためピン数も2倍になり、ピン配置の増加によるチップ面積の肥大などを引き起こす。すなわち、方式1は、省スペースを目指したり、コスト削減を目指す場合には適さない方式である。
同図(c)には、1つのメモリコントローラ(メモリコントローラ821)と2つのメモリ(メモリ(0)822およびメモリ(1)823)とを、データに関する信号線以外の線は共有されるように接続するメモリ制御装置(方式2)が示されている。なお、同図(c)では、各信号線を、同図(a)において示した文字(CS,CKEと、CMDと、DQ)でのみ示し、符号を省略する。
この方式2のメモリ制御装置は、2つのメモリを1系統のビット幅の広いメモリとして扱う方法である。データに関する信号線だけを独立に用意するため、方式1と比較して、ピン数を減少させることができる。さらに、2つのメモリにまったく同じ動作をさせるため、1回のメモリ動作(リード/ライト)で扱うデータ量が2倍になる。
しかしながら、1回のメモリ動作で扱うデータ量が2倍になるが、まったく同じ動作であるために、2つのメモリにおける同じアドレスのデータの読み書きしか行うことができない。また、複数の不連続なアドレスからの読み出しが必要なランダムアクセスを行う場合には、2倍となったデータを一時的に保持するための大きなバッファが必要となる。すなわち、方式1と比較して、2倍の大きさのシステム側のバッファが必要となる。このように、方式2では、システム側に回路変更が必要なため、全体の規模が増加する要因となる。
なお、このバッファの増加は、1回のアクセス(読み書き)におけるデータ転送量を、1つのメモリの場合と同じにする(バースト長を半分にして1つのメモリからの1回の転送量を半分にする)ことにより回避できる。しかしながら、この場合には、コマンドの数の増加やコマンド間の待ち時間の増加を引き起こし、理論帯域は2倍でも、実効帯域は2倍にはいかないメモリアクセス効率の低下を引き起こす。すなわち、メモリアクセス効率の低下を引き起こさないためには、システム側の回路変更が必要となる。
同図(d)には、1つのメモリコントローラ(メモリコントローラ831)と2つのメモリ(メモリ(0)832およびメモリ(1)833)との接続を、チップのオンオフの信号線以外の線を共有させるメモリ制御装置(方式3)が示されている。
この方式3のメモリ制御装置で共有させるチップのオンオフの信号線は、数が少ないため、方式2よりもピン数の増加を抑制することができる。しかしながら、データ線が共有されてしまうため、2つのメモリからのデータの読み書きが重複しないようにする必要があり、帯域を増やすことができない。すなわち、方式3は、メモリの容量を増加させるとともに、1データ当たりの待ち時間を減少(1つのメモリの場合と比較して、時間当たりのコマンド数を多くできる)させることができるが、帯域を増やしたい場合には採用することができない。
同図(e)には、本技術の第1の実施の情報処理装置100が示されている。情報処理装置100では、コマンド(CMD)に関する信号線のみが2つのメモリ間で共有される。メモリコントローラ200が図1および図2において説明したようにメモリを制御することにより、ピン数を少なくするとともに、帯域を増加させることを実現している。
次に、図3において説明した方式1乃至3と、本技術の第1の実施の形態との違いについて、表にまとめて図4で示す。
[比較例]
図4は、本技術の第1の実施の形態における情報処理装置100と方式1乃至3との比較例を簡略化して示す図である。
図4(a)には、情報処理装置100における各信号線をカテゴリ毎に分類した場合におけるカテゴリおよび信号線の関係を示す。例えば、カテゴリAには、CS、CKEが属し、カテゴリBには、A、BA、RAS、CAS、WEが属し、カテゴリCには、DQ、DM、DQS(Data Strobe(データストローブ信号))が属するものとする。
図4(b)には、情報処理装置100と方式1乃至3との比較例を表形式で簡略化して示す。図4(b)では、1つのメモリが接続されているメモリコントローラを基準とした場合における比較結果を簡略化して示す。また、図4(b)に示すA乃至Cは、図4(a)に示すカテゴリ(カテゴリA乃至C)に対応する。
次に、方式と本技術の第1の実施の形態との間の違いについて、方式1のタイミングチャートと本技術の第1の実施の形態のタイミングチャートとを比較して、図5を参照にして説明する。
[コマンドに関する信号線の共有による効果例]
図5は、本技術の第1の実施の形態におけるメモリコントローラ200によるコマンド発行と、方式1のメモリコントローラ811によるコマンド発行例とを示すタイミングチャートである。
なお、同図では、メモリコントローラがメモリアクセス要求を受けとるタイミング、tRCD、CL、およびバースト長などの条件は、図2と同じ条件であることとする。また、各信号線の符号は、図1および図3に示す信号線の符号に対応させて示す。
図5(a)には、方式1のメモリコントローラ811によるコマンド発行の一例を示すタイミングチャートが示されている。このタイミングチャートには、信号線818(図3参照)を介してメモリ(0)812に対して供給されるコマンド(CMD(0))と、信号線817を介してメモリ(0)812とやり取りされるデータ(DATA(0))とが示されている。また、このタイミングチャートには、信号線815を介してメモリ(1)813に対して供給されるコマンド(CMD(1))と、信号線814を介してメモリ(1)813とやり取りされるデータ(DATA(1))とが示されている。
まず、時間「0」において、メモリ(0)812に対するメモリアクセス要求およびメモリ(1)813に対するメモリアクセス要求をメモリコントローラ811が同時に受け取った場合を想定する。この場合には、メモリコントローラ811は、メモリ(0)812およびメモリ(1)813に対するコマンドを生成する。
そして、時間「1」において、メモリコントローラ811は、信号線818を介してメモリ(0)812に対するコマンド(AC0)を発行するとともに、信号線815を介してメモリ(1)813に対するコマンド(AC1)を発行する。
そして、時間「4」において、メモリコントローラ811は、コマンド(AC0)のコマンドを発行してから「3」サイクル(tRCD)が経過したため、信号線818を介してリードコマンド(RD0)をメモリ(0)812に対して発行する。また、メモリコントローラ811は、コマンド(AC1)のコマンドを発行してから「3」サイクル(tRCD)が経過したため、信号線815を介してリードコマンド(RD1)をメモリ(1)813に対して発行する。
そして、時間「7」の半サイクル経過時(時間「7.5」)に、リードコマンド(RD0)の発行から「3.5」サイクル(CL)が経過して待ち時間が終了したメモリ(0)812において、読み出されたデータの転送が開始する。また、時間「7.5」には、リードコマンド(RD1)の発行から「3.5」サイクル(CL)が経過して待ち時間が終了したメモリ(1)813において、読み出されたデータの転送が開始する。そして、この時間「7.5」から「4」サイクル(バースト長)が経過するまで(時間「11.5」まで)、メモリ(0)812から読み出されたデータが信号線818を介してメモリコントローラ811に転送される。同様に、時間「7.5」から時間「11.5」まで、メモリ(1)813から読み出されたデータが信号線814を介してメモリコントローラ811に転送される。なお、同図では、その転送対象となるデータをD0乃至D7で示す。
図5(b)には、本技術の第1の実施の形態におけるメモリコントローラ200によるコマンド発行の一例を示すタイミングチャートが示されている。なお、このタイミングチャートは、図2において示したものと同様のものであるため、ここでの説明を省略する。
同図(a)および(b)に示すように、本技術の第1の実施では、従来技術1と比較して、優先度が低いコマンドが発行されたメモリからのデータ転送(DATA(1))が、コマンドを遅らせたサイクルの時間(同図(b)では「1」サイクル)だけ遅れる。しかしながら、コマンド(CMD)に関する信号線を共有させることによりピン数を削除することができるとともに、専用のデータ線により同時にデータを転送させることにより帯域を増加させることができる。
[情報処理装置の動作例]
次に、本技術の第1の実施の形態における情報処理装置100の動作について図面を参照して説明する。
図6は、本技術の第1の実施の形態における情報処理装置100によってコマンドが発行される際の情報処理手順例を示すフローチャートである。
同図では、コマンド調停部230によるコマンドの発行に着目して、コマンド調停部230の動作について説明する。また、コマンド調停部230によるコマンドの調停方法には種々の方法が考えられるため、同図ではメモリ(0)160に対するコマンドの優先度が常に高い場合の情報処理手順例を示す。
まず、メモリコントローラ(0)210からコマンド発行要求信号を受けとったか否かが、コマンド調停部230により判断される(ステップS901)。そして、メモリコントローラ(0)210からコマンド発行要求信号を受けとったと判断された場合には(ステップS901)、このコマンド発行要求信号に基づくコマンドが発行され(ステップS902)、情報処理の動作を終了する。また、このコマンドの発行とともに、コマンド発行終了信号が、メモリコントローラ(0)210に供給される。
一方、メモリコントローラ(0)210からコマンド発行要求信号を受けとっていないと判断された場合には、(ステップS901)、メモリコントローラ(1)220からコマンド発行要求信号を受けとったか否かが判断される(ステップS903)。そして、メモリコントローラ(1)220からコマンド発行要求信号を受けとっていないと判断された場合には(ステップS903)、コマンドを何も発行しないで、情報処理の動作を終了する。
一方、メモリコントローラ(1)220からコマンド発行要求信号を受けとったと判断された場合には(ステップS903)、このコマンド発行要求信号に基づくコマンドが発行され(ステップS904)、情報処理の動作を終了する。また、このコマンドの発行とともに、コマンド発行終了信号が、メモリコントローラ(1)220に供給される。なお、ステップS901およびステップS903は、特許請求の範囲に記載の制御手順の一例である。また、ステップS902およびステップS904は、特許請求の範囲に記載の発行手順の一例である。
このように、コマンド調停部230は、アクセス要求に係る複数のメモリのうち1つのメモリ以外の他のメモリに対するコマンドを順次遅延させることにより、コマンド制御を行う。これにより、そのアクセス要求に係る複数のメモリとの間でデータバス(信号線212、222)を介して行われるデータのやり取りを行う期間の一部を重複させる。また、コマンド調停部230は、バスマスタ180から複数のメモリに対するアクセス要求が同時に発行された場合には、それらの各メモリの優先度に基づいて、それらのアクセス要求に応じたコマンドの発行順序を決定し、この決定された発行順序に従ってコマンドを順次発行させる。この場合には、例えば、複数のメモリのそれぞれに設定されている優先度に基づいてコマンドの発行順序を決定することができる。
このように、本技術の第1の実施の形態では、コマンドを供給するための信号線を共有化するため、信号線やチップのピン数等の増加を抑制することができる。また、データをやり取りするための信号線については、独立して接続するため、必要なメモリ帯域を確保することができる。
例えば、LSI(Large Scale Integration)のピン数を抑えることができる。また、基板の配線を容易にすることができるため、配線層を減らすことができる。さらに、信号線を減らすことができるため、I/O(Input/Output)に起因する電力を削減することができる。また、メモリコントローラ側の制御回路変更を少なくすることができる
また、情報処理装置100のシステム側のバッファ容量やランダムアクセス性能などを変更する必要がないため、製造コストを削減することができる。
<2.第2の実施の形態>
本技術の第1の実施の形態では、コマンドの調停方法として、メモリ(0)160に対するコマンド(メモリコントローラ(0)210のコマンド発行要求信号)を常に優先させる(優先度が常に高い)場合の例について説明した。なお、コマンドの調停方法には種々の方法が考えられる。
そこで、別の調停方法として、コマンドの発行を優先させるメモリをラウンドロビンさせて調停する例を、第2の実施の形態として、図7を参照して説明する。
本技術の第2の実施の形態のコマンド調停部は、2つのメモリコントローラ((0)および(1))のうちどちらのメモリコントローラのコマンド発行要求信号を優先させるかを示す値(優先状態情報)を保持している。そして、コマンド調停部は、コマンドを発行するとともにこの優先状態情報を更新し、優先順位をラウンドロビンさせる。
なお、本技術の第2の実施の形態の情報処理装置では、コマンド調停部がコマンドの発行を優先させるメモリをラウンドロビンさせる以外は、本技術の第1の実施の形態と同様である。そのため、本技術の第2の実施の形態の情報処理装置の構成図およびタイミングチャートについては、図1および図2を参照して説明を省略し、情報処理装置の動作例についてのみ説明する。
[情報処理装置の動作例]
図7は、本技術の第2の実施の形態における情報処理装置によってコマンドが発行される際の情報処理手順例を示すフローチャートである。
なお、同図では、図6と同様に、コマンド調停部によるコマンドの発行に着目して、コマンド調停部の動作について説明する。また、情報処理装置における各構成については、図1と同様であるため、ここでは図1の符号を用いて説明する。
まず、メモリコントローラ(0)210からコマンド発行要求信号を受けとったか否かが、コマンド調停部230により判断される(ステップS921)。そして、メモリコントローラ(0)210からコマンド発行要求信号を受けとっていないと判断された場合には(ステップS921)、メモリコントローラ(1)220からコマンド発行要求信号を受けとったか否かが判断される(ステップS922)。
そして、メモリコントローラ(1)220からコマンド発行要求信号を受けとっていないと判断された場合には(ステップS922)、コマンドを何も発行しないで、情報処理の動作を終了する。
一方、メモリコントローラ(1)220からコマンド発行要求信号を受けとったと判断された場合には(ステップS922)、メモリコントローラ(1)220からのコマンド発行要求信号に基づくコマンドが発行される(ステップS923)。また、このコマンドの発行とともに、コマンド発行終了信号が、メモリコントローラ(1)220に供給される。続いて、優先状態情報が更新されてメモリコントローラ(0)210が優先状態に設定(ラウンドロビン)され(ステップS924)、情報処理の動作を終了する。
なお、メモリコントローラ(0)210からコマンド発行要求信号を受けたと判断された場合には(ステップS921)、メモリコントローラ(1)220からコマンド発行要求信号を受けとったか否か(2つの要求が同時か否か)が判断される(ステップS925)。そして、メモリコントローラ(1)220からコマンド発行要求信号を受けとっていない(メモリコントローラ(0)210のみ)と判断された場合には(ステップS925)、ステップS927に進む。
一方、メモリコントローラ(1)220からコマンド発行要求信号を受けた(2つの要求が同時)と判断された場合には(ステップS925)、優先状態情報に基づいて、メモリコントローラ(0)210が優先状態であるか否かが判断される(ステップS926)。ここで、メモリコントローラ(0)210が優先状態でないと判断された場合には(ステップS926)、ステップS923に進む。
なお、メモリコントローラ(0)210が優先状態であると判断された場合には(ステップS926)、メモリコントローラ(0)210からのコマンド発行要求信号に基づくコマンドが発行される(ステップS927)。また、このコマンドの発行とともに、コマンド発行終了信号が、メモリコントローラ(0)210に供給される。続いて、優先状態情報が更新されてメモリコントローラ(1)220が優先状態に設定(ラウンドロビン)され(ステップS928)、情報処理の動作を終了する。
このように、コマンド調停部230は、ラウンドロビン方式により、複数のメモリの優先度を決定する。また、本技術の第2の実施の形態によれば、複数のメモリについての優先度を順次変更することができる。
<3.第3の実施の形態>
本技術の第1および第2の実施の形態において説明したコマンドの調停方法では、メモリごと(メモリコントローラごと)に優先度を設定する例について説明したが、この他にも種々のコマンドの調停方法が考えられる。例えば、バスマスタから供給されるメモリアクセス要求ごとに優先度を設定し、この優先度に基づいてコマンドの発行の順序を決定する方法なども考えられる。
そこで、メモリアクセス要求により読み書きされるデータの用途に応じて優先度(優先順位)を設定して、その優先度に応じてコマンドを発行させる例を、第3の実施の形態として、図8を参照して説明する。
なお、本技術の第3の実施の形態の情報処理装置では、バスマスタがデータのリード/ライトを優先的に行わせたいメモリアクセス要求には、比較的高い優先度が設定される。一方、その他のアクセス要求(遅延させて処理しても問題がないメモリアクセス要求)には、比較的低い優先度が設定される。
そして、メモリコントローラにおいては、メモリコントローラ(0)およびメモリコントローラ(1)は、供給されたメモリアクセス要求に基づくコマンド発行要求信号をコマンド調停部に供給する際に、コマンド発行要求信号に優先度を付して供給する。そして、コマンド調停部は、コマンド発行要求信号が双方から同時に供給された場合に、コマンド発行要求信号とともに供給された優先度に基づいて優先するコマンドを判断し、コマンドを発行する。
例えば、画像処理や表示系の出力など一定時間に一定転送量を確保しないと破綻する処理に用いられるデータのメモリアクセス要求には、比較的高い優先度が設定される。一方、ユーザーインターフェイス関連の処理やネットワークやメディアへのデータ転送など処理に用いられるデータのメモリアクセス要求には、比較的低い優先度が設定される。この処理(優先度が比較的低く設定される処理)は、例えば、転送速度を速くした場合には装置としての性能が向上するものの後回しにしても処理に破綻などが発生しない処理である。
なお、本技術の第3の実施の形態の情報処理装置は、メモリアクセス要求ごとに優先度が設定されて、この優先度に基づいてコマンド調停部がコマンドを調停すること以外は、本技術の第1の実施の形態と同様である。そのため、本技術の第3の実施の形態の情報処理装置の構成図およびタイミングチャートについては、図1および図2を参照して説明を省略し、情報処理装置の動作例についてのみ説明する。
[情報処理装置の動作例]
図8は、本技術の第3の実施の形態における情報処理装置によってコマンドが発行される際の情報処理手順例を示すフローチャートである。
なお、同図では、図6と同様に、コマンド調停部によるコマンドの発行に着目して、コマンド調停部の動作について説明する。また、情報処理装置における各構成については、図1と同様であるため、ここでは図1の符号を用いて説明する。
まず、メモリコントローラ(0)210およびメモリコントローラ(1)220の双方から同時にコマンド発行要求信号を受けとったか否かが、コマンド調停部230により判断される(ステップS911)。そして、双方からコマンド発行要求信号を受けていないと判断された場合には(ステップS911)、メモリコントローラ(0)210およびメモリコントローラ(1)220のどちらかからコマンド発行要求信号を受けとったか否かが判断される(ステップS912)。この際に、どちらからもコマンド発行要求信号を受けとっていないと判断された場合には(ステップS912)、何もコマンドを発行せずに、情報処理の動作を終了する。
一方、どちらかからコマンド発行要求信号を受けとったと判断された場合には(ステップS912)、受けとったコマンド発行要求信号に基づいてコマンドが発行され(ステップS913)、情報処理の動作を終了する。また、このコマンドの発行とともに、コマンド発行終了信号がコマンド発行要求信号を供給したメモリコントローラに供給される。
なお、双方から同時にコマンド発行要求信号を受けとったと判断された場合には(ステップS911)、双方のコマンド発行要求信号に付与されている優先度が比較される(ステップS914)。すなわち、メモリコントローラ(1)220のコマンド発行要求信号に付与されている優先度よりも、メモリコントローラ(0)210のコマンド発行要求信号に付与されている優先度の方が優先度が高いか否かが判断される(ステップS914)。
そして、メモリコントローラ(0)210のコマンド発行要求信号の優先度のほうが高くないと判断された場合には(ステップS914)、双方のコマンド発行要求信号に付与されている優先度が同じであるか比較される(ステップS914)。すなわち、メモリコントローラ(0)210のコマンド発行要求信号の優先度と、メモリコントローラ(1)220のコマンド発行要求信号の優先度とが同じであるか否かが判断される(ステップS915)。この際に、双方のコマンド発行要求信号の優先度が同じでないと判断された場合には(ステップS915)、メモリコントローラ(1)220のコマンド発行要求信号に基づいてコマンドが発行され(ステップS916)、情報処理の動作を終了する。また、このコマンドの発行とともに、コマンド発行終了信号がメモリコントローラ(1)220に供給される。
なお、メモリコントローラ(0)210のコマンド発行要求信号の優先度と、メモリコントローラ(1)220のコマンド発行要求信号の優先度とが同じであると判断された場合には(ステップS915)、ステップS917に進む。
一方、メモリコントローラ(0)210のコマンド発行要求信号の優先度のほうが高いと判断された場合には(ステップS914)、メモリコントローラ(0)210のコマンド発行要求信号に基づいてコマンドが発行される(ステップS917)。また、このコマンドの発行とともに、コマンド発行終了信号がメモリコントローラ(1)220に供給され、、情報処理の動作を終了する。
このように、本技術の第3の実施の形態によれば、メモリアクセス要求の優先度に基づいて、各メモリへのコマンドの発行の優先度を適切に決定することができる。
なお、図8では、データ処理の内容に基づいて優先度が決定される場合について説明したが、これに限定されるものではない。例えば、バスマスタが複数ある場合には、バスマスタの種類や属性に応じて優先度が決定されるようにしてもよい。
このように、バスマスタから複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には、それらのアクセス要求が発行されたバスマスタの優先度に基づいてコマンドの発行順序が決定される。すなわち、コマンド調停部230は、それらのアクセス要求が発行されたバスマスタの優先度に基づいて、それらのアクセス要求に応じたコマンドの発行順序を決定し、その決定された発行順序に従ってコマンドを順次発行させる。
また、図8では、優先度が同じ場合にはメモリコントローラ(0)210のコマンド発行要求を優先させたが、これに限定されるものではなく、例えば、ラウンドロビン方式により選択する場合なども考えられる。
<4.第4の実施の形態>
本技術の第4の実施の形態では、コマンドに優先度を付けてコマンド調停を行う場合を説明する。なお、所定のコマンドの組み合わせにおいては、ラウンドロビン方式によりコマンド調停を行うことを想定して説明する。なお、情報処理装置における各構成については、図1と同様であるため、図1を参照してここでの説明を省略する。
[コマンド発行例]
図9は、本技術の第4の実施の形態における情報処理装置のコマンド調停部において、コマンド発行要求信号を同時に受けとった場合のコマンドの発行例を示す図である。
この図9において示す表には、横軸にメモリコントローラ(0)のコマンド発行要求信号のコマンドを示し、縦軸にメモリコントローラ(1)のコマンド発行要求信号のコマンドを示す。コマンドとして、「ACT(アクティベイト)」、「RD/WR(リード/ライト)」、「PRE(プリチャージ)」、「REF(リフレッシュ)」の4つのコマンドを示す。
そして、表の各セルには、横軸に示すメモリコントローラ(0)のコマンドのコマンド発行要求信号と、縦軸に示すメモリコントローラ(1)のコマンドのコマンド発行要求信号とを同時に受けとった場合におけるコマンド調停部の動作を示す。コマンドの名前が記載されているセルは、優先して発行されるコマンドを示す。また、「ラウンドロビン」と記載されているセルは、優先して発行するコマンドがラウンドロビン方式により決定される場合を示す。なお、「同時発行」と記載されているセルは、メモリ(0)およびメモリ(1)の双方に対して発行される場合(メモリ識別情報を両方を示す値にする)を示す。
このように、コマンド発行要求信号に含まれるコマンドに基づいて優先度を決定し、コマンドが同じ場合にはラウンドロビン方式により優先度を決定するようなコマンドの調停方法も考えられる。なお、アドレスが不要なリフレッシュ(REF)コマンドに関しては、メモリ識別情報を両方のメモリを示す値にすることにより、同時に発行することができる。
このように、バスマスタから複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には、それらのアクセス要求の優先度に基づいてコマンドの発行順序が決定される。すなわち、コマンド調停部230は、それらのアクセス要求の優先度に基づいて、それらのアクセス要求に応じたコマンドの発行順序を決定し、その決定された発行順序に従ってコマンドを順次発行させる。
このように、本技術の第4の実施の形態によれば、メモリアクセス要求の優先度に基づいて、各メモリへのコマンドの発行の優先度を適切に決定することができる。
<5.第5の実施の形態>
本技術の第5の実施の形態では、メモリコントローラ(0)とメモリコントローラ(1)との間における優先度を、優先度を特定するためのクロックを用いて決定する例について、図10および図11を参照して説明する。
[メモリ制御装置の構成例]
図10は、本技術の第5の実施の形態における情報処理装置100の構成例を示すブロック図である。
なお、同図の情報処理装置100は、図1において示したメモリコントローラ200に代えて、メモリコントローラ300を備える。図10では、メモリコントローラ200とメモリコントローラ300との違いに着目して説明する。
メモリコントローラ300は、メモリコントローラ(0)310と、メモリコントローラ(1)320と、コマンドセレクタ330とを備える。
このメモリコントローラ300には、メモリコントローラ200と比較して、コマンド発行終了信号の信号線(図1の信号線231および232)が省かれている。また、メモリコントローラ300には、優先度を特定するためのクロック(コマンド選択信号)を供給するための信号線(信号線301)が備えられている。この信号線301は、メモリコントローラ(0)310、メモリコントローラ(1)320、および、コマンドセレクタ330に接続される。なお、信号線311、312、321、322、333は、図1の信号線211、212、221、222、233に対応する。
コマンドセレクタ330は、信号線301を介して供給されるコマンド選択信号がメモリ(0)のコマンドの発行可能を示している場合には、メモリコントローラ(0)310から供給されたコマンド発行要求信号に基づいてコマンドを発行する。また、コマンドセレクタ330は、信号線301を介して供給されるコマンド選択信号がメモリ(1)のコマンドの発行可能を示している場合には、メモリコントローラ(1)320から供給されたコマンド発行要求信号に基づいて、コマンドを発行する。すなわち、コマンドセレクタ330は、コマンド発行要求信号が両方から供給されている場合には、コマンド選択信号が示しているメモリ(1)のコマンドの方が優先度が高いと判断し、このコマンドを発行する。
なお、本技術の第5の実施の形態では、コマンド選択信号に基づいてコマンドセレクタ330が発行するコマンドを調停する例について説明するが、別の方法も考えられる。この方法は、メモリコントローラ(0)310およびメモリコントローラ(1)320が、コマンド選択信号が自分を示す値であるタイミングに、コマンド発行要求信号をコマンドセレクタ330に供給する方法(第5の実施の形態の第2方法)である。そしてコマンドセレクタ330は、供給されたコマンド発行要求信号に基づくコマンドを、メモリクロックに乗せて信号線333を介してメモリ(0)160およびメモリ(1)170に順次供給する。
次に、コマンドセレクタ330がコマンド選択信号に基づいてコマンドを発行する場合におけるコマンド発行例を図11を参照して説明する。
[コマンドセレクタによるコマンド発行例]
図11は、本技術の第5の実施の形態におけるコマンドセレクタ330によるコマンド発行例を示すタイミングチャートである。
同図では、CMD、DATA(0)、DATA(1)に加えて、信号線301のコマンド選択信号と、メモリコントローラ(0)のコマンドの発行可能時間(CMD(0)発行可能時間)とが示されている。
信号線301のコマンド選択信号は、CMD(0)発行可能時間に示すように、信号レベルが低(ロー)でメモリ(0)のコマンドが出力可能となることを示し、信号レベルが高(ハイ)でメモリ(1)のコマンドが出力可能となることを示す信号である。このコマンド選択信号のレベルが低いサイクルで、コマンドセレクタ330は、メモリコントローラ(0)310のコマンド発行要求信号に基づいてコマンドを発行する。同様に、コマンド選択信号のレベルが高いサイクルで、コマンドセレクタ330は、メモリコントローラ(1)320のコマンド発行要求信号に基づいてコマンドを発行する。
なお、tRCD、CLなどのコマンド間隔(待ち時間)を偶数に設定しておくことにより、コマンド間隔が偶数となり、コマンドの発行タイミングが重ならなくなる(コマンド選択信号の遷移待ちを無駄にしなくてよくなる)。
ここで、図11において示すタイミングチャートについて簡単に説明する。なお、同図に示す例では、tRCDが「4」であり、CLが「2.5」であり、バースト長は「8」に設定される。
まず、時間「0」において、バスマスタ180からメモリアクセス要求を同じタイミングで受けとったメモリコントローラ(0)210およびメモリコントローラ(1)220は、コマンド発行要求信号をコマンド調停部230に供給する。
時間「1」において、コマンド選択信号の信号レベルはハイに遷移する。そして、コマンドセレクタ330は、コマンド選択信号がメモリ(1)のコマンドの発行を示しているため、受けとった2つのコマンド発行要求信号のうちから、メモリコントローラ(1)320のコマンド発行要求信号に基づくコマンド(AC1)を発行する。
時間「2」において、コマンド選択信号の信号レベルはローに遷移する。そして、コマンドセレクタ330は、コマンド選択信号の信号レベルがメモリ(0)のコマンドの発行を示していることから、時間「1」において受けとったメモリコントローラ(0)210のコマンド発行要求信号に基づくコマンド(AC0)を発行する。
このような、コマンドの発行制御がリードコマンドの時にも行われる。そして、時間「8.5」から時間「12.5」において、メモリ(1)170から読み出されたデータが、信号線322を介してメモリコントローラ(1)320に転送される。また、時間「9.5」から時間「13.5」において、メモリ(0)160から読み出されたデータが、信号線312を介してメモリコントローラ(0)310に転送される。
なお、図10において示した第5の実施の形態の第2方法では、次のようになる。
メモリコントローラ(0)310はコマンド選択信号のレベルがハイでコマンド発行要求信号を出力し、メモリコントローラ(1)320はコマンド選択信号のレベルがローでコマンド発行要求信号を出力する。
まず、時間「0」において、メモリコントローラ(0)310およびメモリコントローラ(1)320は、バスマスタ180からメモリアクセス要求を同じタイミングで受けとる。この時間「0」において、コマンド選択信号の信号レベルはローであるため、メモリコントローラ(1)320がコマンド発行要求信号を出力する。なお、メモリコントローラ(0)310は、コマンド選択信号の信号レベルが自分の出力タイミングを示していない(ハイでない)ため、コマンド発行要求信号の発行を待機状態とする。
時間「1」において、コマンドセレクタ330は、受けとったメモリコントローラ(1)320のコマンド発行要求信号に基づくコマンド(AC1)を発行する。また、メモリコントローラ(0)310は、コマンド選択信号の信号レベル(ハイ)が自分の出力タイミングを示しているため、コマンド発行要求信号を出力する。
時間「2」において、コマンドセレクタ330は、受けとったメモリコントローラ(0)310のコマンド発行要求信号に基づくコマンド(AC0)を発行する。
[情報処理装置の動作例]
次に、本技術の第5の実施の形態における情報処理装置100の動作について図面を参照して説明する。
なお、コマンド選択信号に基づいてコマンドセレクタ330が発行するコマンドを調停する例については、コマンドセレクタ330がコマンド選択信号の信号レベルに合うコマンドを発行するのみであるため、ここでの説明を省略する。
そこで、図12では、図10および図11において示した第5の実施の形態の第2方法における情報処理装置100の動作について図面を参照して説明する。
図12は、本技術の第5の実施の形態の第2方法によってコマンドが発行される際の情報処理手順例を示すフローチャートである。
なお、同図では、メモリコントローラ(0)310およびメモリコントローラ(1)320のどちらか一方における動作について説明する。なお、この動作は、コマンド選択信号の信号レベルが異なること以外は、メモリコントローラ(0)310およびメモリコントローラ(1)320において共通の動作である。
また、説明の便宜上、メモリコントローラ(0)310における動作を想定して説明する。
まず、発行するコマンドがあるか否かが、メモリコントローラ(0)310によって判断される(ステップS931)。そして、発行する予定のコマンドがないと判断された場合には(ステップS931)、情報処理の動作を終了する。
一方、発行するコマンドがあると判断された場合には(ステップS931)、コマンド選択信号が自分を指している(信号レベルがハイ)か否かが判断される(ステップS933)。そして、コマンド選択信号が自分を指していると判断された場合には(ステップS933)、コマンド発行要求信号(コマンド)をコマンドセレクタ330に供給し(ステップS935)、情報処理の動作を終了する。
なお、コマンド選択信号が自分を指していないと判断された場合には(ステップS933)、その判断したサイクルにおいてはコマンド発行要求信号を供給しないで、1クロック待機した後(次のサイクル)でコマンド発行要求信号を供給する(ステップS934)。このステップS934の後に、情報処理の動作を終了する。
このように、本技術の第5の実施の形態によれば、コマンド選択信号を用いて、各メモリへのコマンドの発行の優先度を適切に決定することができる。
<6.第6の実施の形態>
本技術の第6の実施の形態では、本技術の第5の実施の形態において示したコマンド選択信号によるコマンドの優先度の決定に加えて、メモリコントローラにおける各構成をメモリクロックの半分のクロックで動作させる例について説明する。
[メモリ制御装置の構成例]
図13は、本技術の第6の実施の形態における情報処理装置100の構成例を示すブロック図である。
なお、同図の情報処理装置100は、図10において示したメモリコントローラ300に代えて、メモリコントローラ400を備える。図13では、メモリコントローラ300とメモリコントローラ400との違いに着目して説明する。
メモリコントローラ400は、メモリコントローラ(0)410と、メモリコントローラ(1)420と、コマンドセレクタ・クロック乗換部430とを備える。なお、このメモリコントローラ400における信号線401、412、411、421、422、433、434、435は、図10における信号線301、311、312、321、322、333,334、335にそれぞれ対応する。また、このメモリコントローラ400には、メモリクロックの半分の周波数のクロック(半速クロック)の信号線(信号線403)が、メモリコントローラ(0)410と、メモリコントローラ(1)420とに接続される。また、図13には、図1および図10において図示を省略したメモリクロック信号の信号線(信号線402)が示されている。
メモリコントローラ(0)410およびメモリコントローラ(1)420は、この第6の実施の形態においては、メモリクロックの半分の周波数(半速クロック)で動作する。すなわち、このメモリコントローラ(0)410およびメモリコントローラ(1)420は、メモリクロックで2サイクルの期間(半速クロックで1サイクル)ごとにコマンド発行要求信号をコマンドセレクタ・クロック乗換部430に供給する。
コマンドセレクタ・クロック乗換部430は、複数のコマンド発行要求信号が供給された場合には、コマンド選択信号に基づいて優先させるコマンドを決定し、そのコマンドをメモリクロックに乗せて信号線433を介して発行するものである。このコマンドセレクタ・クロック乗換部430は、図10において示したコマンドセレクタ330と同様に、コマンド選択信号に基づいて優先させるコマンドを決定する。また、コマンド発行要求信号がメモリクロックで2サイクルの期間ごとに供給されるため、コマンドの周波数をメモリクロックに乗せ換えて(メモリクロックで1サイクルの信号に変換して)、メモリ(0)160およびメモリ(1)170に発行する。
[コマンドセレクタ・クロック乗換部によるコマンド発行例]
図14は、本技術の第6の実施の形態におけるコマンドセレクタ・クロック乗換部430によるコマンド発行例を示すタイミングチャートである。
同図では、CMD、DATA(0)、DATA(1)、コマンド選択信号、CMD(0)発行可能時間に加えて、信号線403半速クロックと、メモリコントローラ(0)のコマンドの発行可能時間(CMD(0)発行可能時間)とが示されている。
なお、本技術の第6の実施の形態における各条件(コマンドセレクタ・クロック乗換部430によるコマンド選択信号に基づくコマンドの発行の条件、tRCD、CLなど)は、図11において示したタイミングチャートと同じであることとする。ここでは、半速クロックに基づくメモリコントローラ(0)410およびメモリコントローラ(1)420の動作に着目して説明する。
メモリクロックの時間「0」および「1」のタイミングにおいて、メモリコントローラ(0)410およびメモリコントローラ(1)420は、バスマスタ180からメモリアクセス要求を同じタイミングで受けとる。そして、メモリコントローラ(0)410およびメモリコントローラ(1)420は、受けとったメモリアクセス要求に基づいて生成したコマンド発行要求信号を、コマンドセレクタ・クロック乗換部430に供給する。なお、メモリクロック時間「1」において、コマンドセレクタ・クロック乗換部430は、何もコマンド発行要求信号を受けとっていないため、コマンドを何も発行しない。
メモリクロック時間「2」において、コマンド選択信号の信号レベルはローに遷移する。そして、コマンドセレクタ・クロック乗換部430は、コマンド選択信号の信号レベルがメモリ(0)のコマンドの発行を示しているため、受けとった2つのコマンド発行要求信号のうちから、メモリコントローラ(0)410のコマンド発行要求信号を選択する。そして、コマンドセレクタ・クロック乗換部430は、メモリコントローラ(0)410のコマンド発行要求信号に基づくコマンド(AC0)を発行する。
メモリクロック時間「3」において、コマンド選択信号の信号レベルはハイに遷移する。そして、コマンド選択信号の信号レベルがメモリ(1)のコマンドの発行を示している。このため、コマンドセレクタ・クロック乗換部430は、メモリクロック時間「2」において受けとったメモリコントローラ(1)420のコマンド発行要求信号に基づくコマンド(AC1)を発行する。
メモリクロック時間「4」および「5」のタイミングでは、メモリコントローラ(0)410およびメモリコントローラ(1)420のACTコマンドのコマンド発行要求信号の発行からメモリクロックで「4」サイクル(半速クロックで「2」)が経過する。このことから、メモリコントローラ(0)410およびメモリコントローラ(1)420は、tRCDが示す待ち時間が経過したと判断する。そして、この時間「4」および「5」のタイミングにおいて、メモリコントローラ(0)410およびメモリコントローラ(1)420の双方は、RDコマンドのコマンド発行要求信号を発行する。
メモリクロック時間「6」では、コマンド選択信号の信号レベルがローに遷移する。このことから、コマンドセレクタ・クロック乗換部430は、受けとった2つのコマンド発行要求信号のうちから、メモリコントローラ(0)410のコマンド発行要求信号に基づくコマンド(RD0)を発行する。
メモリクロック時間「7」では、コマンド選択信号の信号レベルがハイに遷移する。このことから、コマンドセレクタ・クロック乗換部430は、メモリクロック時間「6」において受けとったメモリコントローラ(1)420のコマンド発行要求信号に基づくコマンド(RD0)を発行する。
そして、時間「9」の半サイクル経過時(時間「9.5」)に、リードコマンド(RD0)の発行から「2.5」サイクル(CL)が経過して待ち時間が終了したメモリ(0)160において、読み出されたデータの転送が開始する。そして、この時間「9.5」から「4」サイクル(バースト長)が経過するまで(時間「13.5」まで)、メモリ(0)160から読み出されたデータが、信号線412を介してメモリコントローラ(0)410に転送される。なお、同図では、その転送対象となるデータをD0乃至D7で示す。
続いて、時間「10」の半サイクル経過時(時間「10.5」)に、リードコマンド(RD1)の発行から「2.5」サイクル(CL)が経過したメモリ(1)170において、読み出されたデータの転送が開始する。そして、この時間「10.5」から「4」サイクル(バースト長)が経過するまで(時間「14.5」まで)、メモリ(1)170から読み出されたデータが、信号線422を介してメモリコントローラ(1)420に転送される。なお、同図では、その転送対象となるデータをD0乃至D7で示す。
このように、本技術の第6の実施の形態によれば、半速クロックを用いて、各メモリへのコマンドの発行の優先度を適切に決定することができる。
<7.第7の実施の形態>
本技術の第6の実施の形態では、メモリコントローラ(0)およびメモリコントローラ(1)に共通の半速クロックを供給したが、逆相のクロックを供給するようにしてもよい。そこで、本技術の第7の実施の形態では、本技術の第6の実施の形態に逆相の半速クロックを追加した例について説明する。
[コマンドセレクタ・クロック乗換部によるコマンド発行例]
図15は、本技術の第7の実施の形態におけるコマンドセレクタ・クロック乗換部によるコマンド発行例を示すタイミングチャートである。
なお、同図では、図13において示したメモリコントローラ(0)410およびメモリコントローラ(1)420に、それぞれ異なる半速クロックが供給されることとする。なお、メモリコントローラ(0)410に供給される半速クロックと、メモリコントローラ(1)420に供給される半速クロックとは、逆相の関係にあることとする。
図15には、図14において示した信号線403の半速クロックに代えて、メモリコントローラ(0)410に供給される半速クロック(半速クロック(0))と、メモリコントローラ(1)420に供給される半速クロック(半速クロック(1))とが示されている。
同図に示すように、メモリコントローラ(0)410の半速クロックと逆相の半速クロックをメモリコントローラ(1)420に供給する場合においても、各メモリへのコマンドの発行の優先度を適切に決定することができる。
<8.第8の実施の形態>
本技術の第1乃至第7の実施の形態では、説明の便宜上、コマンドに関する信号線が共有されるメモリが2つの場合を想定して説明した。しかしながら、上述したように、3以上のメモリについても適用可能である。このように、メモリの数を増やした場合には、メモリの増加に応じて、削減されるピン数(メモリ全体におけるピン数)が増加する。
そこで、本技術の第8の実施の形態では、3つのメモリにおいてコマンドに関する信号線が共有される場合を説明する。
[メモリ制御装置の構成例]
図16は、本技術の第8の実施の形態における情報処理装置100の構成例を示すブロック図である。
なお、本技術の第8の実施の形態の情報処理装置100は、図1において示した情報処理装置100に、第3のメモリ(メモリ(2)580)を加えたものである。また、メモリコントローラ500は、図1において示したメモリコントローラ200に、メモリ(2)580のコマンド発行要求信号を供給するメモリコントローラ(2)560を加えたものである。また、コマンド調停部230は、2また3のコマンド発行要求信号について調停する。なお、この調停については、2のコマンド発行要求信号の調停方法を適宜適用することができる。なお、図17では、2また3のコマンド発行要求信号の調停方法の一例を示す。
第3のメモリ(メモリ(2)580)と、このメモリのコマンド発行要求信号を供給するメモリコントローラ(メモリコントローラ(2)560)が加えられた以外は図1と略同様である。
[情報処理装置の動作例]
図17は、本技術の第8の実施の形態における情報処理装置によってコマンドが発行される際の情報処理手順例を示すフローチャートである。
図17において示す情報処理手順は、図6において示した情報処理手順の変形例であり、第3のメモリ(メモリ(2)580)に対するコマンドの発行に関する手順が追加された点が異なる。また、この点以外については、図6と同一であるため、図6と共通する部分については、図6と同一の符号を付してここでの説明を省略する。
メモリコントローラ(1)220からコマンド発行要求信号を受けとっていないと判断した後に(ステップS903)、メモリコントローラ(2)560からコマンド発行要求信号を受けとったか否かが、コマンド調停部230により判断される(ステップS955)。そして、メモリコントローラ(2)560からコマンド発行要求信号を受けとっていないと判断された場合には(ステップS955)、コマンドを何も発行しないで、情報処理の動作を終了する。
一方、メモリコントローラ(2)560からコマンド発行要求信号を受けとったと判断された場合には(ステップS955)、このコマンド発行要求信号に基づくコマンドが発行され(ステップS956)、情報処理の動作を終了する。また、このコマンドの発行とともに、メモリコントローラ(2)560にコマンド発行終了信号が供給される。
本技術の第8の実施の形態に示すように、3以上のメモリについてもメモリ制御を適切に行うことができる。
このように、本技術の実施の形態によれば、複数のメモリのそれぞれに専用のデータ線を設け、コマンドに係る信号線は複数のメモリで共有させることにより、信号線やチップのピン数等の増加を抑制して必要なメモリ帯域を確保することができる。特に、データ線の本数が少ない場合(例えば、16bit)には、信号線の総数におけるコマンドに関する信号線の割合が高いため、コマンドに関する信号線の削除の効果が大きくなる。
なお、本技術の実施の形態では、複数のメモリとして、物理的に異なるメモリを想定したが、これに限定されるものではなく、メモリマクロやメモリパッケージなどにおいても実施することができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
なお、本技術は以下のような構成もとることができる。
(1) バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスであって前記複数のメモリ毎に独立して接続されるデータバスと、
前記複数のメモリのうちの対象メモリを選択するための選択信号を出力する選択信号線であって前記複数のメモリ毎に独立して接続される選択信号線と、
前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線であって前記複数のメモリとの間で共有して接続されるコマンド信号線と、
前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御部と
を具備するメモリ制御装置。
(2) 前記制御部は、前記アクセス要求に係る複数のメモリのうち1つのメモリ以外の他のメモリに対する前記コマンドを順次遅延させることにより前記コマンド制御を行い、当該アクセス要求に係る複数のメモリとの間で前記データバスを介して行われるデータのやり取りを行う期間の一部を重複させる前記(1)に記載のメモリ制御装置。
(3) 前記制御部は、前記バスマスタから前記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該各メモリの優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させる前記(1)に記載のメモリ制御装置。
(4) 前記制御部は、前記優先度としてラウンドロビン方式により前記複数のメモリの優先度を決定する前記(3)に記載のメモリ制御装置。
(5) 前記制御部は、前記優先度として前記複数のメモリのそれぞれに設定されている優先度に基づいて前記コマンドの発行順序を決定する前記(3)に記載のメモリ制御装置。
(6) 前記制御部は、前記バスマスタから前記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該アクセス要求の優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させる前記(1)から(5)のいずれかに記載のメモリ制御装置。
(7) 前記制御部は、前記バスマスタから前記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該アクセス要求が発行されたバスマスタの優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させる前記(1)から(6)のいずれかに記載のメモリ制御装置。
(8) 前記データバスおよび前記選択信号線の何れかを介して出力される信号を含む所定信号以外の信号を出力するための信号線は、前記複数のメモリとの間で共有して接続される前記(1)から(7)のいずれかに1記載のメモリ制御装置。
(9) バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスが前記複数のメモリ毎に独立して接続され、
前記複数のメモリのうちの何れかを選択するための選択信号を出力する選択信号線が前記複数のメモリ毎に独立して接続され、
前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線が前記複数のメモリとの間で共有して接続され、
前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御回路を具備する
集積回路。
(10) 複数のメモリへのアクセス要求を行い、前記複数のメモリに保持されているデータを用いたデータ処理を行うバスマスタと、
前記バスマスタからのアクセス要求に基づいて前記複数のメモリとの間でデータのやり取りを行うためのデータバスであって前記複数のメモリ毎に独立して接続されるデータバスと、
前記複数のメモリのうちの対象メモリを選択するための選択信号を出力する選択信号線であって前記複数のメモリ毎に独立して接続される選択信号線と、
前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線であって前記複数のメモリとの間で共有して接続されるコマンド信号線と、
前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御部と
を具備する情報処理装置。
(11) バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスが前記複数のメモリ毎に独立して接続され、前記複数のメモリのうちの何れかを選択するための選択信号を出力する選択信号線が前記複数のメモリ毎に独立して接続され、前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線が前記複数のメモリとの間で共有して接続されている制御部が、前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御手順と、
前記コマンド制御に基づいて前記アクセス要求に応じたコマンドを前記メモリに発行する発行手順と
を具備するメモリ制御方法。
100 情報処理装置
180 バスマスタ
200、300、400、500 メモリコントローラ
230 コマンド調停部
330 コマンドセレクタ
430 コマンドセレクタ・クロック乗換部

Claims (11)

  1. バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスであって前記複数のメモリ毎に独立して接続されるデータバスと、
    前記複数のメモリのうちの対象メモリを選択するための選択信号を出力する選択信号線であって前記複数のメモリ毎に独立して接続される選択信号線と、
    前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線であって前記複数のメモリとの間で共有して接続されるコマンド信号線と、
    前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御部と
    を具備するメモリ制御装置。
  2. 前記制御部は、前記アクセス要求に係る複数のメモリのうち1つのメモリ以外の他のメモリに対する前記コマンドを順次遅延させることにより前記コマンド制御を行い、当該アクセス要求に係る複数のメモリとの間で前記データバスを介して行われるデータのやり取りを行う期間の一部を重複させる請求項1記載のメモリ制御装置。
  3. 前記制御部は、前記バスマスタから前記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該各メモリの優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させる請求項1記載のメモリ制御装置。
  4. 前記制御部は、前記優先度としてラウンドロビン方式により前記複数のメモリの優先度を決定する請求項3記載のメモリ制御装置。
  5. 前記制御部は、前記優先度として前記複数のメモリのそれぞれに設定されている優先度に基づいて前記コマンドの発行順序を決定する請求項3記載のメモリ制御装置。
  6. 前記制御部は、前記バスマスタから前記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該アクセス要求の優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させる請求項1記載のメモリ制御装置。
  7. 前記制御部は、前記バスマスタから前記複数のメモリのうちの少なくとも2つのメモリに対するアクセス要求が同時に発行された場合には当該アクセス要求が発行されたバスマスタの優先度に基づいて当該アクセス要求に応じたコマンドの発行順序を決定して当該決定された発行順序に従って当該コマンドを順次発行させる請求項1記載のメモリ制御装置。
  8. 前記データバスおよび前記選択信号線の何れかを介して出力される信号を含む所定信号以外の信号を出力するための信号線は、前記複数のメモリとの間で共有して接続される請求項1記載のメモリ制御装置。
  9. バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスが前記複数のメモリ毎に独立して接続され、
    前記複数のメモリのうちの何れかを選択するための選択信号を出力する選択信号線が前記複数のメモリ毎に独立して接続され、
    前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線が前記複数のメモリとの間で共有して接続され、
    前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御回路を具備する
    集積回路。
  10. 複数のメモリへのアクセス要求を行い、前記複数のメモリに保持されているデータを用いたデータ処理を行うバスマスタと、
    前記バスマスタからのアクセス要求に基づいて前記複数のメモリとの間でデータのやり取りを行うためのデータバスであって前記複数のメモリ毎に独立して接続されるデータバスと、
    前記複数のメモリのうちの対象メモリを選択するための選択信号を出力する選択信号線であって前記複数のメモリ毎に独立して接続される選択信号線と、
    前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線であって前記複数のメモリとの間で共有して接続されるコマンド信号線と、
    前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御部と
    を具備する情報処理装置。
  11. バスマスタからのアクセス要求に基づいて複数のメモリとの間でデータのやり取りを行うためのデータバスが前記複数のメモリ毎に独立して接続され、前記複数のメモリのうちの何れかを選択するための選択信号を出力する選択信号線が前記複数のメモリ毎に独立して接続され、前記アクセス要求に応じたコマンドを前記複数のメモリのうちの当該アクセス要求に係るメモリに発行するためのコマンド信号線が前記複数のメモリとの間で共有して接続されている制御部が、前記複数のメモリのうちの少なくとも2つのメモリに対する前記バスマスタからのアクセス要求が出力された場合に当該アクセス要求に応じたコマンドが前記コマンド信号線において重複して発行されないようにコマンド制御を行う制御手順と、
    前記コマンド制御に基づいて前記アクセス要求に応じたコマンドを前記メモリに発行する発行手順と
    を具備するメモリ制御方法。
JP2011092275A 2011-04-18 2011-04-18 メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法 Withdrawn JP2012226491A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011092275A JP2012226491A (ja) 2011-04-18 2011-04-18 メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011092275A JP2012226491A (ja) 2011-04-18 2011-04-18 メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2012226491A true JP2012226491A (ja) 2012-11-15

Family

ID=47276606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011092275A Withdrawn JP2012226491A (ja) 2011-04-18 2011-04-18 メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2012226491A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180006101A (ko) * 2016-07-08 2018-01-17 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10585820B2 (en) 2015-09-18 2020-03-10 Hitachi, Ltd. Memory controller, memory control method and semiconductor storage apparatus
CN112306917A (zh) * 2019-07-29 2021-02-02 瑞昱半导体股份有限公司 存储器时分控制的方法及存储器系统
CN112699067A (zh) * 2021-01-04 2021-04-23 瑞芯微电子股份有限公司 一种指令寻址方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585820B2 (en) 2015-09-18 2020-03-10 Hitachi, Ltd. Memory controller, memory control method and semiconductor storage apparatus
KR20180006101A (ko) * 2016-07-08 2018-01-17 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR102615659B1 (ko) * 2016-07-08 2023-12-20 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
CN112306917A (zh) * 2019-07-29 2021-02-02 瑞昱半导体股份有限公司 存储器时分控制的方法及存储器系统
CN112699067A (zh) * 2021-01-04 2021-04-23 瑞芯微电子股份有限公司 一种指令寻址方法及装置
CN112699067B (zh) * 2021-01-04 2024-05-14 瑞芯微电子股份有限公司 一种指令寻址方法及装置

Similar Documents

Publication Publication Date Title
KR102401271B1 (ko) 메모리 시스템 및 그 동작 방법
JP5893632B2 (ja) ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
US20120079180A1 (en) DRAM Controller and a method for command controlling
JP2010003067A (ja) メモリシステムおよびそのアクセス制御方法、並びにプログラム
JP4752882B2 (ja) メモリアクセスシステム、メモリ制御装置、メモリ制御方法、および、プログラム
JP6146128B2 (ja) データ処理装置
US9606738B2 (en) Memory system with a bridge part provided between a memory and a controller
US8799565B2 (en) Memory controlling device
JP2009015832A (ja) アクセス間調停回路、半導体装置およびアクセス間調停方法
JP2008146581A (ja) メモリバス共有システム
JP4615461B2 (ja) メモリコントローラ
JP5428687B2 (ja) メモリ制御装置
JP2016218721A (ja) メモリ制御回路およびメモリ制御方法
JP2014154119A (ja) メモリ制御装置及び半導体記憶装置
US7373453B2 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
JP2012226491A (ja) メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法
JP2011113119A (ja) データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
US20160117123A1 (en) Device, method, and computer program for scheduling access requests to shared memory
JP2013089030A (ja) 情報処理システム、制御システム及び半導体装置
US20070121398A1 (en) Memory controller capable of handling precharge-to-precharge restrictions
JP2003316642A (ja) メモリ制御回路、dma要求ブロック及びメモリアクセスシステム
JP2011034214A (ja) メモリ制御装置
JPWO2009081551A1 (ja) メモリ装置及びその制御方法
US9235504B2 (en) Prioritizing read-command issuance in a data storage apparatus
TWI736155B (zh) 用於多個記憶裝置的控制方法及相關的記憶體系統

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140701