(57)【要約】【課題】複数のホスト装置と記憶装置とを備える情報処理システムにおいて、ホスト装置の調停を行うアービタの負担を軽減する。【解決手段】メモリ管理装置は、複数の検出部とコマンド生成部とを備える。複数の検出部は、記憶装置のための所定の処理を実行するタイミングをそれぞれ検出する。コマンド生成部は、複数の検出部において検出対象となる所定の処理に共通するコマンドと実行するタイミングが検出された所定の処理に固有のサイドバンド信号とを生成する。【選択図】図１
2016018430.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置のための所定の処理を実行するタイミングをそれぞれ検出する複数の検出部と、
前記複数の検出部において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成部と
を具備するメモリ管理装置。
【請求項２】
前記複数の検出部が検出した前記タイミングが重複する際には最も優先順位が高い処理について前記生成部に前記コマンドと前記サイドバンド信号とを生成させる選択部をさらに具備する請求項１記載のメモリ管理装置。
【請求項３】
前記複数の検出部の１つは、所定の周期ごとに前記タイミングを検出する請求項１記載のメモリ管理装置。
【請求項４】
前記複数の検出部の１つは、揮発性メモリを備える記憶装置において所定のリフレッシュ周期ごとに前記揮発性メモリのリフレッシュを実行するタイミングを検出する請求項３記載のメモリ管理装置。
【請求項５】
前記複数の検出部の１つは、揮発性メモリを備える記憶装置において所定のキャリブレーション周期ごとに前記揮発性メモリの信号線のインピーダンスキャリブレーションを実行するタイミングを検出する請求項３記載のメモリ管理装置。
【請求項６】
前記複数の検出部の１つは、物理層を操作するためのインターフェースを備える記憶装置において所定のキャリブレーション周期ごとに前記物理層を操作するためのインターフェースの信号線のインピーダンスキャリブレーションを実行するタイミングを検出する請求項３記載のメモリ管理装置。
【請求項７】
前記複数の検出部の１つは、任意のタイミングで前記検出を行う請求項１記載のメモリ管理装置。
【請求項８】
前記コマンド生成部は、前記生成した前記サイドバンド信号を前記記憶装置のアドレス信号線を介して供給する請求項１記載のメモリ管理装置。
【請求項９】
記憶装置と、
前記記憶装置を管理するメモリ管理装置と
を具備し、
前記メモリ管理装置は、
前記記憶装置における所定の処理を実行するタイミングをそれぞれ検出する複数の検出部と、
前記複数の検出部において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成部と
を備える
情報処理システム。
【請求項１０】
記憶装置における所定の処理を実行するタイミングをそれぞれ検出する複数の検出手順と、
前記複数の検出手順において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成手順と
を具備するメモリ管理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリ管理装置に関する。詳しくは、ＤＲＡＭを備えた記憶装置に対するリフレッシュ等の処理を要求するメモリ管理装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
記憶装置に使用されるメモリであるＤＲＡＭ（dynamic random access memory）は、メモリセルに記憶させたデータの消失を防ぐため、リフレッシュが必要である。このリフレッシュは規定された周期に基づいて行う必要がある。また、ＤＲＡＭの一種であるＳＤＲＡＭ（synchronous DRAM）においては、制御信号の波形品質を高めるため、ＺＱキャリブレーション機能を備えている。これは、周囲温度の上昇等により、信号線のインピーダンスが変化した場合であっても、インピーダンス整合を行うために信号線に挿入した終端抵抗を動的に補正する機能である。この補正を行うためのキャリブレーションもリフレッシュと同様規定された周期に基づいて行う必要がある。
【０００３】
しかし、これらの処理は、データの書込みおよび読出し処理であるメモリアクセスと比較して、長い時間を必要とする。また、これらの処理中はメモリアクセスを行うことができないため、メモリアクセスも含めた記憶装置に対する処理の調停を行うアービタの負担が大きくなるという問題があった。
【０００４】
これに対し、リフレッシュとキャリブレーションが連続して生じないように制御するデータ処理システムが提案されている（例えば、特許文献１参照。）。これは、リフレッシュおよびキャリブレーションについて一方の処理を要求するコマンドが発行された後の一定期間は、他方の処理を要求するコマンドの発行を行わないように制御するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５４９０２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術では、記憶装置に対する処理が増えた際には、アービタの負担を軽減することができないという問題があった。記憶装置に対し処理を要求するプロセッサ等のホスト装置は、メモリアクセス、リフレッシュおよびキャリブレーション等の処理をそれぞれ独自に要求する。これらをアービタが調停し、調停の結果選択されたホスト装置が記憶装置に対して処理を要求する。具体的には、要求した処理に対応するコマンドを記憶装置に対して発行する。しかし、ホスト装置が増えて処理の要求が増えると、アービタによる調停件数も増加するため、アービタの負担が増大することとなる。これに対処するためには高性能なアービタが必要となり、コストの増大を招いていた。
【０００７】
本技術はこのような状況に鑑みて生み出されたものであり、記憶装置に対する処理の要求が増加しても、アービタの負担を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、記憶装置のための所定の処理を実行するタイミングをそれぞれ検出する複数の検出部と、前記複数の検出部において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成部とを具備するメモリ管理装置である。これにより、複数の検出部による処理が検出されてこれらの処理に共通のコマンドと各処理に固有のサイドバンド信号とが生成されるという作用をもたらす。
【０００９】
また、この第１の側面において、上記複数の検出部が検出した上記タイミングが重複する際には最も優先順位が高い処理について上記生成部に上記コマンドと上記サイドバンド信号とを生成させる選択部をさらに具備してもよい。これにより、最も優先順位が高い処理が選択されるという作用をもたらす。
【００１０】
また、この第１の側面において、上記複数の検出部の１つは所定の周期ごとに上記タイミングを検出してもよい。これにより、所定の周期ごとに処理を実行するタイミングを検出するという作用をもたらす。
【００１１】
また、この第１の側面において、上記複数の検出部の１つは揮発性メモリを備える記憶装置において所定のリフレッシュ周期ごとに上記揮発性メモリのリフレッシュを実行するタイミングを検出してもよい。これにより、所定のリフレッシュ周期ごとに揮発性メモリのリフレッシュを実行するタイミングを検出するという作用をもたらす。
【００１２】
また、この第１の側面において、上記複数の検出部の１つは揮発性メモリを備える記憶装置において所定のキャリブレーション周期ごとに上記揮発性メモリの信号線のインピーダンスキャリブレーションを実行するタイミングを検出してもよい。これにより、所定のキャリブレーション周期ごとに揮発性メモリの信号線のインピーダンスキャリブレーションを実行するタイミングを検出するという作用をもたらす。
【００１３】
また、この第１の側面において、上記複数の検出部の１つは物理層を操作するためのインターフェースを備える記憶装置において所定のキャリブレーション周期ごとに上記物理層を操作するためのインターフェースの信号線のインピーダンスキャリブレーションを実行するタイミングを検出してもよい。これにより、所定のキャリブレーション周期ごとに上記物理層を操作するためのインターフェースの信号線のインピーダンスキャリブレーションを実行するタイミングを検出するという作用をもたらす。
【００１４】
また、この第１の側面において、上記複数の検出部の１つは、任意のタイミングで上記検出を行ってもよい。これにより、任意のタイミングで上記検出を行うという作用をもたらす。
【００１５】
また、この第１の側面において、上記コマンド生成部は上記生成した上記サイドバンド信号を上記記憶装置のアドレス信号線を介して供給してもよい。これにより、サイドバンド信号を上記記憶装置のアドレス信号線を介して供給するという作用をもたらす。
【００１６】
また、本技術の第２の側面は、記憶装置と、上記記憶装置を管理するメモリ管理装置とを具備し、上記メモリ管理装置は、上記記憶装置における所定の処理を実行するタイミングをそれぞれ検出する複数の検出部と、上記複数の検出部において検出対象となる上記所定の処理に共通するコマンドと上記実行するタイミングが検出された上記所定の処理に固有のサイドバンド信号とを生成するコマンド生成部とを備える情報処理システムである。これにより、複数の検出部による処理が検出されてこれらの処理に共通のコマンドと各処理に固有のサイドバンド信号とが生成されるという作用をもたらす。
【００１７】
また、本技術の第３の側面は、記憶装置における所定の処理を実行するタイミングをそれぞれ検出する複数の検出手順と、上記複数の検出手順において検出対象となる上記所定の処理に共通するコマンドと上記実行するタイミングが検出された上記所定の処理に固有のサイドバンド信号とを生成するコマンド生成手順とを具備するメモリ管理装置の制御方法である。これにより、複数の検出部による処理が検出されてこれらの処理に共通のコマンドと各処理に固有のサイドバンド信号とが生成されるという作用をもたらす。
【発明の効果】
【００１８】
本技術によれば、記憶装置に対する処理の要求が増加しても、アービタの負担を軽減するという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１９】
【図１】本技術の実施の形態における情報処理システムの構成例を示す図である。
【図２】本技術の第１の実施の形態におけるメモリ管理装置の構成例を示す図である。
【図３】本技術の第１の実施の形態におけるメモリコントローラの構成例を示す図である。
【図４】本技術の第１の実施の形態におけるコマンドの構成例を示す図である。
【図５】本技術の第１の実施の形態におけるメモリ管理装置１５０の処理を説明する図である。
【図６】本技術の第１の実施の形態におけるメモリ管理装置１５０の処理を説明する図である。
【図７】本技術の第１の実施の形態におけるコマンド発行処理の処理手順の一例を示す図である。
【図８】本技術の第１の実施の形態におけるサイドバンド信号生成処理の処理手順の一例を示す図である。
【図９】本技術の第２の実施の形態におけるメモリ管理装置１５０の処理を説明する図である。
【図１０】本技術の実施の形態の変形例におけるメモリ管理装置の構成例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（記憶装置に対して単一の処理を実行する例）
２．第２の実施の形態（記憶装置に対して同時に複数の処理を実行する例）
３．変形例
【００２１】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの構成例を示す図である。本技術の実施の形態における情報処理システムは、プロセッサ１００と、メモリ管理装置１５０と、アービタ１１１と、記憶装置２００とを備える。プロセッサ１００は、記憶装置２００に対してデータの書込みまたは読出しのコマンドを発行し、記憶装置２００との間でデータのやり取りを行うものである。このプロセッサ１００は、信号線１０１を介してコマンドを発行する。このコマンドは、コマンドの種類を識別するためのオペコードとオペランドであるアドレス情報とにより構成される。信号線１０１もオペコードを伝達するオペコード信号線とアドレス情報を伝達するアドレス信号線とに分かれている。
【００２２】
メモリ管理装置１５０は、記憶装置２００に対するデータの書込みおよび読出し以外の複数の処理を管理するものである。この処理としては、例えば、メモリ素子に対するリフレッシュが該当する。処理の詳細については後述する。このメモリ管理装置１５０は、それぞれの処理に対して実行するタイミングを管理し、実行するタイミングを検出した処理に対応するコマンドを発行する。複数の処理について実行するタイミングを同時に検出した場合には、メモリ管理装置１５０内部で調停を行う。その後、調停により選択された処理に対応するコマンドを発行する。なお、メモリ管理装置１５０は、信号線１０２を介してコマンドを発行する。このコマンドもプロセッサ１００が発行するコマンドと同様にオペコードとオペランドにより構成される。しかし、このオペランドとしてアドレス情報の代わりにサイドバンド信号が出力される。このコマンドについても後述する。
【００２３】
アービタ１１１は、プロセッサ１００およびメモリ管理装置１５０の記憶装置２００に対する処理の要求について調停を行うものである。プロセッサ１００およびメモリ管理装置１５０が記憶装置２００に対してコマンドを発行する前に、アービタ１１１の調停を受ける必要がある。調停の結果、記憶装置２００の使用権を得たプロセッサ１００またはメモリ管理装置１５０のみが記憶装置２００に対しコマンドを発行することができる。アービタ１１１は、信号線１０３を介してコマンドを記憶装置２００に転送する。この際、アービタ１１１は、コマンドの発行元であるプロセッサ１００またはメモリ管理装置１５０に対し応答信号であるアクノリッジ信号を出力し、アービタ１１１における処理の終了を通知する。
【００２４】
記憶装置２００は、データを記憶するものである。この記憶装置２００は、メモリコントローラ２１０と、ＤＤＲ−ＰＨＹ（double data rate-physical interface）２０１と、ＳＤＲＡＭ２０２とを備える。メモリコントローラ２１０は、記憶装置２００全体の制御を行うものである。また、このメモリコントローラ２１０は、アービタ１１１により転送されたコマンドを解釈して、ＤＤＲ−ＰＨＹ２０１およびＳＤＲＡＭ２０２に対しリクエストを発行する。このリクエストは信号線２０３を介して発行される。
【００２５】
ＤＤＲ−ＰＨＹ２０１は、物理層を操作するためのインターフェースである。このＤＤＲ−ＰＨＹ２０１は、メモリコントローラ２１０とＳＤＲＡＭ２０２との間の信号のやり取りにおいてデータのシリアル−パラレル相互の変換やタイミングの調整等を行う。なお、メモリコントローラ２１０が発行したリクエストのうちＳＤＲＡＭ２０２に対するリクエストは、信号線２０４を介して転送される。ＳＤＲＡＭ２０２は、データを記憶する揮発性メモリである。本技術の実施の形態におけるＳＤＲＡＭ２０２は、ＤＤＲ（double data rate）方式のＳＤＲＡＭであるＤＤＲ−ＳＤＲＡＭを使用することができる。このＤＤＲ−ＳＤＲＡＭは、クロック信号の立ち上がりと立ち下がりの両方のタイミングでデータの転送を行うことにより、高速なデータ転送を可能としたＳＤＲＡＭである。
【００２６】
なお、図１では、データを伝送するためのデータ信号線および制御信号を伝送するための制御信号線等の記載を省略している。図１における情報処理システムのコマンドおよびリクエストのやり取りについて、プロセッサ１００がデータの書込みを行う場合を例に挙げて説明する。まず、プロセッサ１００は、アービタ１１１に対し記憶装置２００の使用要求を出す。アービタ１１１から記憶装置２００の使用許可が出た後、プロセッサ１００は書込みコマンドを発行し、このコマンドに係るデータも出力する。コマンドとデータとは、アービタ１１１を経由して記憶装置２００のメモリコントローラ２１０に転送される。メモリコントローラ２１０は、このコマンドを解釈してＳＤＲＡＭ２０２に対して書込みを要求するリクエストを生成して発行する。このリクエストと書込みに係るデータは、ＤＤＲ−ＰＨＹ２０１を経由してＳＤＲＡＭ２０２に転送され、ＳＤＲＡＭ２０２において書込みが実行される。
【００２７】
［メモリ管理装置１５０における処理］
メモリ管理装置１５０が記憶装置２００を管理するための処理について説明する。この処理の第１の例は、ＳＤＲＡＭ２０２のリフレッシュである。本技術の第１の実施の形態では、このリフレッシュとして、ＳＤＲＡＭ２０２のオートリフレッシュ機能を使用することができる。これは、ＳＤＲＡＭ２０２に対してオートリフレッシュのコマンドを送付することにより、ＳＤＲＡＭ２０２に内蔵されたカウンタが自動的にリフレッシュアドレスを生成し、これに基づいてリフレッシュが行われるものである。ＳＤＲＡＭ２０２に記憶させたデータの消失を防ぐため、このリフレッシュは所定の周期に基づいて実行する必要がある。
【００２８】
また、この処理の第２の例は、ＳＤＲＡＭ２０２の信号線のインピーダンスのキャリブレーションである。ＳＤＲＡＭ２０２の信号であるＤＱ信号を接続する信号線の駆動部は、ＤＱ信号線のインピーダンスの変化に合わせて終端抵抗の補正を行う機能を備えている。キャリブレーションは、この補正機能を使用してインピーダンスマッチングを行い、ＤＱ信号の伝送品質を維持する処理である。このキャリブレーションには、周囲温度上昇によるインピーダンスの変化に対応するため所定の周期に基づいて実行するＺＱＣＳ（Zero Quotient calibration short）がある。このほか、ＳＤＲＡＭ２０２の電源投入時や省電力モードからの復帰時等の任意のタイミングで行うＺＱＣＬ（Zero Quotient calibration long）も存在する。
【００２９】
また、この処理の第３の例は、ＤＤＲ−ＰＨＹ２０１の内部設定のアップデートである。このアップデート（以降の説明ではＰＨＹアップデートと記載する。）によりＤＤＲ−ＰＨＹ２０１は、駆動する信号線インピーダンスに対するキャリブレーションを行う。ＺＱＣＳキャリブレーションと同様にＰＨＹアップデートも所定の周期に基づいて実行する必要がある。
【００３０】
［メモリ管理装置の構成］
図２は、本技術の第１の実施の形態におけるメモリ管理装置の構成例を示す図である。メモリ管理装置１５０は、ＡＲＥＦタイマ部１５１と、ＺＱＣＳタイマ部１５２と、ＰＨＹＵタイマ部１５３と、選択部１５４と、コマンド生成部１５５とを備える。
【００３１】
ＡＲＥＦタイマ部１５１は、ＳＤＲＡＭ２０２に対して所定のリフレッシュ周期ごとにオートリフレッシュを実行するタイミングを検出するものである。このＡＲＥＦタイマ部１５１は、タイマ機能を備える。これは、リセットにより計時を開始し、設定された時間が経過すると、トリガー信号を出力する機能である。ＡＲＥＦタイマ部１５１は、このタイマ機能によりＳＤＲＡＭ２０２におけるオートリフレッシュを実行するタイミングを検出する。このため、ＡＲＥＦタイマ部１５１にはＳＤＲＡＭ２０２のリフレッシュ間隔に対応する時間が設定される。
【００３２】
ＺＱＣＳタイマ部１５２は、ＳＤＲＡＭ２０２に対して所定のキャリブレーション周期ごとにＺＱＣＳキャリブレーションを実行するタイミングを検出するものである。このＺＱＣＳタイマ部１５２もＡＲＥＦタイマ部１５１と同様にタイマ機能を備え、ＳＤＲＡＭ２０２におけるＺＱＣＳキャリブレーションを実行するタイミングを検出する。このため、ＺＱＣＳタイマ部１５２にはＳＤＲＡＭ２０２のＺＱＣＳキャリブレーションを実行する間隔に対応する時間が設定される。
【００３３】
ＰＨＹＵタイマ部１５３は、ＤＤＲ−ＰＨＹ２０１に対して所定のアップデート周期ごとにＰＨＹアップデートを実行するタイミングを検出するものである。このＰＨＹＵタイマ部１５３もＡＲＥＦタイマ部１５１と同様にタイマ機能を備え、ＤＤＲ−ＰＨＹ２０１におけるＰＨＹアップデートを実行するタイミングを検出する。このためＰＨＹＵタイマ部１５３にはＤＤＲ−ＰＨＹ２０１のＰＨＹアップデートを実行する間隔に対応する時間が設定される。
【００３４】
選択部１５４は、ＡＲＥＦタイマ部１５１、ＺＱＣＳタイマ部１５２およびＰＨＹＵタイマ部１５３から出力されたトリガー信号を選択するものである。ＡＲＥＦタイマ部１５１、ＺＱＣＳタイマ部１５２およびＰＨＹＵタイマ部１５３により検出された処理を実行するタイミングが重複した結果、複数のトリガー信号が同時に出力された場合に、この選択部１５４はその内の１つを選び出力する。この際、選択部１５４は、最も優先順位が高い処理に対応するトリガー信号を選択する。
【００３５】
この選択動作についてＡＲＥＦタイマ部１５１とＺＱＣＳタイマ部１５２が出力したトリガー信号が重複した場合を例に挙げて、説明する。ＡＲＥＦタイマ部１５１とＺＱＣＳタイマ部１５２は、それぞれオートリフレッシュおよびＺＱＣＳキャリブレーションを実行するタイミングを計時する。ＤＤＲ３（double data rate 3）型のＳＤＲＡＭを使用する場合を想定すると、これらを実行する時間間隔はそれぞれ７．８μｓおよび１２８ｍｓである。ＺＱＣＳキャリブレーションの時間間隔の方が長く、オートリフレッシュは規定の範囲内であれば省略可能であるため、選択部１５４はオートリフレッシュよりＺＱＣＳキャリブレーションの優先順位が高いと判断する。そして、ＺＱＣＳタイマ部１５２から出力されたトリガー信号を選択して出力する。
【００３６】
これについて補足すると、ＤＤＲ３型のＳＤＲＡＭにおいては、リフレッシュは６４ｍｓに８１９２回以上実行するように規定されている。リフレッシュの平均実行間隔ｔＲＥＦＩを計算すると、
６４ｍ／８１９２＝７．８１２５μ
より７．８１２５μｓとなる。余裕を持たせるため、これより短い７．８μｓごとにオートリフレッシュを行う。他の処理と実行するタイミングが重なったときは、当該オートリフレッシュを省いて、他の処理、ここではＺＱＣＳキャリブレーションを実行する。ＺＱＣＳキャリブレーションは１２８ｍｓごとに行うため、これにより省かれるオートリフレッシュの処理数は少なく、上記のリフレッシュの規定を満たすことができる。これらを考慮し、選択部１５４は上述の判断による選択動作を行う。なお、ＰＨＹアップデート処理を実行する時間間隔もＺＱＣＳキャリブレーションと同様に６４ｍｓとすることができる。このため、ＡＲＥＦタイマ部１５１とＰＨＹＵタイマ部１５３とが出力したトリガー信号が重複した場合には、選択部１５４はＰＨＹＵタイマ部１５３が出力したトリガー信号を選択することができる。
【００３７】
コマンド生成部１５５は、選択部１５４が選択したトリガー信号に基づくコマンドを生成するものである。このコマンドは、オペコードとオペランドにより構成される。このオペコードは、メモリ管理装置１５０が管理する処理に共通するオペコードである。本技術の第１の実施の形態では、オートリフレッシュ、ＺＱＣＳキャリブレーションおよびＰＨＹアップデートの３つに対して共通のオペコードが生成される。また、コマンド生成部１５５は、オペランドに相当するサイドバンド信号も生成する。このサイドバンド信号は、メモリ管理装置１５０が管理するそれぞれの処理に固有の信号である。本技術の第１の実施の形態では、コマンド生成部１５５により、オートリフレッシュ、ＺＱＣＳキャリブレーションおよびＰＨＹアップデートに対してそれぞれ固有のサイドバンド信号が生成される。記憶装置２００は、このサイドバンド信号によりメモリ管理装置１５０が発行したコマンドの処理を識別する。
【００３８】
なお、本技術の第１の実施の形態では、このサイドバンド信号は信号線１０２のアドレス信号線に出力される。メモリ管理装置１５０は、プロセッサ１００とは異なり、アドレスを指定したデータ転送等は行わない。そこで、このアドレス信号線を使用して、記憶装置２００にサイドバンド信号を伝達する。なお、ＡＲＥＦタイマ部１５１、ＺＱＣＳタイマ部１５２およびＰＨＹＵタイマ部１５３は、特許請求の範囲に記載の検出部の一例である。
【００３９】
［メモリコントローラの構成］
図３は、本技術の第１の実施の形態におけるメモリコントローラの構成例を示す図である。メモリコントローラ２１０は、デコード部２１１と、制御部２１２と、リクエスト生成部２１３とを備える。デコード部２１１は、アービタ１１１から転送されたコマンドをデコードするものである。このデコード部２１１は、コマンドのオペコードとサイドバンド信号とによりデコードを行う。制御部２１２は、メモリコントローラ２１０全体を制御するとともに、デコード部２１１によりデコードされたコマンドについて解釈する。リクエスト生成部２１３は、ＤＤＲ−ＰＨＹ２０１およびＳＤＲＡＭ２０２に対するリクエストを生成するものである。このリクエスト生成部２１３は、制御部２１２におけるコマンドの解釈に基づいてリクエストを生成する。これらのほか、メモリコントローラ２１０には、プロセッサ１００が指定した論理アドレスをＳＤＲＡＭ２０２における物理アドレスに変換するアドレス変換部等も存在するが、説明は省略する。
【００４０】
［コマンドの構成］
図４は、本技術の第１の実施の形態におけるコマンドの構成例を示す図である。同図におけるコマンドは３０ビットのビット幅であり、２ビットのオペコードフィールドと２８ビットのオペランドであるアドレスフィールドにより構成されている。オペコード「０」および「１」のコマンドは、主にプロセッサ１００が使用するコマンドであり、それぞれ書込みおよび読出しのコマンドである。アドレスにはデータの書込みまたは読出しアドレスを指定する。また、オペコード「２」のコマンドは、メモリ管理装置１５０が使用するコマンドである。これは、メモリ管理装置１５０が記憶装置２００を管理するための処理に対して共通のオペコードを割り当てたものである。図４においては、ＮＯＰを除いて５種類の処理を挙げた。これらを識別するためサイドバンド信号を生成し、アドレス信号のうち下位４ビット（ａｄｄｒｅｓｓ［３：０］）に出力する。なお、図４のＡＲＥＦ（ｂｇ０＝０）の表記は、オートリフレッシュの処理において制御信号入力ｂｇ０を論理「０」にした場合を意味する。同様に、ＡＲＥＦ（ｂｇ０＝１）の表記は、オートリフレッシュの処理において制御信号入力ｂｇ０を論理「１」にした場合を意味する。これらについては、次に説明する。
【００４１】
図４のオートリフレッシュについては、ＤＤＲ４（double data rate 4）型ＳＤＲＡＭの使用を考慮し、リフレッシュパラメータの異なるリフレッシュモードへの動的な変更に対応させたものを記載した。この場合、リフレッシュモードの変更は外部からの信号入力により行うことができる。制御信号入力ｂｇ０を論理「０」にすると、ＳＤＲＡＭは１ｘリフレッシュレートモードとなる。このモードにおけるｔＲＥＦＩをｔＲＥＦＩ（ｂａｓｅ）と表現すると、ｔＲＥＦＩ（ｂａｓｅ）は７．８μｓ、リフレッシュ時間を表すｔＲＦＣは１６０ｎｓと規定される。制御信号入力ｂｇ０を論理「１」とすると２ｘリフレッシュレートモードまたは４ｘリフレッシュレートモードに移行する。２ｘリフレッシュレートモードにおいては、ｔＲＥＦＩはｔＲＥＦＩ（ｂａｓｅ）／２、ｔＲＦＣは１１０ｎｓと規定される。また、４ｘリフレッシュレートモードにおいては、ｔＲＥＦＩはｔＲＥＦＩ（ｂａｓｅ）／４、ｔＲＦＣは９０ｎｓと規定される。なお、ＳＤＲＡＭ２０２のモード設定用レジスタの設定値により、制御信号入力ｂｇ０を論理「１」とした場合のモードを２ｘリフレッシュレートモードまたは４ｘリフレッシュレートモードのいずれかに変更することができる。
【００４２】
この制御信号入力ｂｇ０を論理「０」とした場合のリフレッシュ（ＡＲＥＦ（ｂｇ０＝０））が、図２において説明したオートリフレッシュ処理に該当する。図２においては、図４に表したメモリを管理するための処理のうち主要なものであるオートリフレッシュ（ＡＲＥＦ（ｂｇ０＝０））、ＺＱＣＳキャリブレーションおよびＰＨＹアップデートに対応する場合について説明した。
【００４３】
次にオートリフレッシュ処理およびＺＱＣＳキャリブレーション処理を行う場合を例に挙げて、メモリ管理装置１５０における処理について図５および図６を用いて説明する。
【００４４】
図５は、本技術の第１の実施の形態におけるメモリ管理装置１５０の処理を説明する図である。同図は、ＡＲＥＦタイマ部１５１のトリガー信号、ＺＱＣＳタイマ部１５２のトリガー信号、メモリ管理装置１５０のコマンド、アービタ１１１のアクノリッジ信号およびメモリコントローラ２１０のリクエストの関係を表したものである。同図において、ＡＲＥＦタイマ部１５１のトリガー信号は７．８μｓ周期で出力される。この際、ＺＱＣＳタイマ部１５２はトリガー信号を出力していないため、ＡＲＥＦタイマ部１５１のトリガー信号が選択部１５４により選択され、コマンド生成部１５５によりオートリフレッシュのコマンドが生成される。このとき、コマンドのオペコードは「２」、サイドバンド信号はオートリフレッシュに対応した「１」である。生成されたコマンドがアービタ１１１に対し発行される。その後、アービタ１１１は、メモリ管理装置１５０に対してアクノリッジ信号を出力する。メモリ管理装置１５０は、このアクノリッジ信号を受け取ることにより、コマンドの発行を停止する。アービタ１１１は、コマンドをメモリコントローラ２１０に転送する。メモリコントローラ２１０は、このコマンドを解釈してオートリフレッシュのリクエストを発行する。
【００４５】
図６は、本技術の第１の実施の形態におけるメモリ管理装置１５０の処理を説明する図である。同図は、ＺＱＣＳタイマ部１５２がトリガー信号を出力する点において図５と異なっている。図６において、ＡＲＥＦタイマ部１５１の２回目のトリガー信号が出力される直前に、ＺＱＣＳタイマ部１５２のトリガー信号が出力されている。このとき、選択部１５４は、より優先順位の高いＺＱＣＳタイマ部１５２が出力したトリガー信号を選択する。これに基づいて、コマンド生成部１５５によりコマンドが生成される。このとき、コマンドのオペコードは「２」であるが、サイドバンド信号はＺＱＣＳに対応した「３」である。生成されたコマンドがアービタ１１１を経由してメモリコントローラ２１０に転送される。メモリコントローラ２１０は、このコマンドを解釈し、ＺＱＣＳキャリブレーションのリクエストを発行する。
【００４６】
図７は、本技術の第１の実施の形態におけるコマンド発行処理の処理手順の一例を示す図である。メモリ管理装置１５０は、ＡＲＥＦタイマ部１５１のトリガー信号の出力を待つ（ステップＳ９０１）。その結果、ＡＲＥＦタイマ部１５１のトリガー信号が出力された場合（ステップＳ９０１：Ｙｅｓ）、サイドバンド信号生成処理を行う（ステップＳ９１０）。次に、コマンド生成部１５５がコマンドを生成する（ステップＳ９０４）。これは、ステップＳ９１０において生成されたサイドバンド信号にオペコードとして「２」を付加することにより行う。最後に、生成したコマンドを発行し（ステップＳ９０５）、コマンド発行処理を終了する。このように、コマンド発行処理は、ＡＲＥＦタイマ部１５１のトリガー信号を基準として、メモリ管理処理を行うタイミングを検出し、コマンドを生成する。
【００４７】
図８は、本技術の第１の実施の形態におけるサイドバンド信号生成処理の処理手順の一例を示す図である。選択部１５４は、ＺＱＣＳタイマ部１５２からトリガー信号が出力されているか否かを調べる（ステップＳ９１１）。その結果ＺＱＣＳタイマからトリガー信号が出力されていた場合（ステップＳ９１１：Ｙｅｓ）、選択部１５４は、より優先順位の高いＺＱＣＳタイマ部１５２からのトリガー信号を選択する。これを受けてコマンド生成部１５５は、ＺＱＣＳキャリブレーションのサイドバンド信号を生成する（ステップＳ９１２）。なお、ＺＱＣＳタイマ部１５２はリセットされる（ステップＳ９１３）。その後、ステップＳ９１８の処理に移行する。
【００４８】
一方、ＺＱＣＳタイマからトリガー信号が出力されていない場合は（ステップＳ９１１：Ｎｏ）、選択部１５４は、ＰＨＹＵタイマ部１５３からトリガー信号が出力されているか否かを調べる（ステップＳ９１４）。その結果ＰＨＹＵタイマからトリガー信号が出力されていた場合（ステップＳ９１４：Ｙｅｓ）、選択部１５４は、より優先順位の高いＰＨＹＵタイマ部１５３からのトリガー信号を選択する。これを受けてコマンド生成部１５５は、ＰＨＹアップデートのサイドバンド信号を生成する（ステップＳ９１５）。なお、ＰＨＹＵタイマ部１５２はリセットされる（ステップＳ９１６）。その後、ステップＳ９１８の処理に移行する。
【００４９】
一方、ＰＨＹＵタイマからトリガー信号が出力されていない場合（ステップＳ９１４：Ｎｏ）、選択部１５４は、ＡＲＥＦタイマ部１５１からのトリガー信号を選択する。これを受けてコマンド生成部１５５は、オートリフレッシュのサイドバンド信号を生成する（ステップＳ９１７）。その後、ステップＳ９１８の処理に移行する。ステップＳ９１８の処理において、ＡＲＥＦタイマ部１５１はリセットされ（ステップＳ９１８）、サイドバンド信号生成処理を終了する。
【００５０】
このように、本技術の第１の実施の形態では、記憶装置２００を管理するための複数の処理を実行するタイミングの検出および選択をメモリ管理装置１５０が行い、これらを共通のコマンドに集約してアービタ１１１に出力する。これにより、アービタ１１１は上述した処理について個別に調停を行う必要がなくなり、このような記憶装置２００に関する処理が増加した場合であっても、アービタ１１１の負担を軽減させることができる。また、本技術の第１の実施の形態において例示したリフレッシュおよびキャリブレーションは、平均実行間隔等の仕様がそれぞれ規定されており、アービタ１１１がこれら全ての処理に対して仕様を満足する裁定を行うことは困難である。これに対し、本技術の第１の実施の形態では、メモリ管理装置１５０により、これらの処理における個別の仕様に合わせた裁定が可能である。
【００５１】
＜２．第２の実施の形態＞
本技術の第１の実施の形態では、メモリ管理装置１５０は、１つのコマンドにおいて１つずつ処理を実行するようにコマンドを生成していた。これに対し、本技術の第２の実施の形態では、同時に実行可能な複数の処理に対応するコマンドを生成する。
【００５２】
本技術の第２の実施の形態では、オートリフレッシュとＰＨＹアップデートを同時に実行する。これらの処理はそれぞれＳＤＲＡＭ２０２とＤＤＲ−ＰＨＹ２０１とにおける処理であるため、同時に実行することができる。本技術の第２の実施の形態におけるメモリ管理装置１５０において、ＡＲＥＦタイマ部１５１およびＰＨＹＵタイマ部１５３のトリガー信号が重複して出力された際には、選択部１５４はこれら２つのトリガー信号をコマンド生成部１５５に出力する。コマンド生成部１５５は、これらのトリガー信号に基づいてオートリフレッシュとＰＨＹアップデートとに対応するサイドバンド信号を生成する。また、メモリコントローラ２１０は、このサイドバンド信号に基づいて、オートリフレッシュに対応するリクエストの発行とＰＨＹアップデートを行うための制御信号の出力とを行う。これら以外の本技術の第２の実施の形態における情報処理システムの構成は、本技術の第１の実施の形態と同様の構成にすることができる。このため説明を省略する。
【００５３】
図９は、本技術の第２の実施の形態におけるメモリ管理装置１５０の処理を説明する図である。同図は、ＺＱＣＳタイマ部１５２の代わりにＰＨＹＵタイマがトリガー信号を出力する点とメモリコントローラ２１０の制御信号およびＤＤＲ−ＰＨＹ２０１の制御信号の記載を含む点において図５と異なっている。図９において、ＡＲＥＦタイマ部１５１のトリガー信号が出力される直前に、ＰＨＹＵタイマ部１５３のトリガー信号が出力されている。オートリフレッシュとＰＨＹアップデートは同時に実行可能であるため、選択部１５４は、双方のトリガー信号をコマンド生成部１５５に出力する。これに基づいて、コマンド生成部１５５によりコマンドが生成される。このとき、コマンドのオペコードは「２」であるが、サイドバンド信号はオートリフレッシュおよびＰＨＹアップデートの両方に対応した「９」である。図４において説明したようにオートリフレッシュおよびＰＨＹアップデートを表す信号ビットは、サイドバンド信号の異なるビットに割り当てられており、両方の処理を同時に表すサイドバンド信号を生成することができる。
【００５４】
生成されたコマンドがアービタ１１１を経由してメモリコントローラ２１０に転送される。メモリコントローラ２１０は、このコマンドを解釈し、オートリフレッシュのリクエストを発行する。さらに、メモリコントローラ２１０は、ＤＤＲ−ＰＨＹ２０１に対しＰＨＹアップデートを要求する信号を出力する。これは、信号線ｄｒｉ＿ｃｔｒｌｕｐｄ＿ｒｅｑをＨレベルにすることにより行われる。ＤＤＲ−ＰＨＹ２０１は、ＤＨＹアップデートが可能である場合には、応答信号をメモリコントローラ２１０に対して出力する。これは、ｄｆｉ＿ｃｔｒｌｕｐｄ＿ａｃｋをＨレベルにすることにより行われる。なお、本技術の第２の実施の形態においては、オートリフレッシュとＰＨＹアップデートについて同時に実行する例を示したが、これに限定されるものではなく、他の組み合わせであってもよい。例えば、ＺＱＣＳキャリブレーションとＰＨＹアップデートを同時に実行してもよい。
【００５５】
このように、本技術の第２の実施の形態におけるメモリ管理装置１５０は、オートリフレッシュおよびＰＨＹアップデートについて同時実行を指示するコマンドを生成することができる。これにより、記憶装置２００に対してこれらの処理を同時に実行させることができ、個別にこれらの処理を実行させる場合と比べて処理時間を短縮することができる。
【００５６】
＜３．変形例＞
本技術の第１の実施の形態では、所定の周期ごとに記憶装置２００を管理するための処理を実行するタイミングを検出していた。これに対し、本技術の実施の形態の変形例では、任意のタイミングで検出を行う。これにより、任意のタイミングで記憶装置２００を管理するための処理を実行する場合であっても、記憶装置２００を管理するための複数の処理を実行するタイミングの検出および選択をメモリ管理装置１５０が行う。すなわち、アービタ１１１の負担を軽減させることができる。
【００５７】
図１０は、本技術の実施の形態の変形例におけるメモリ管理装置の構成例を示す図である。同図におけるメモリ管理装置１５０は、ＺＱＣＬ検出部１５６を備える点と選択部１５４が４つのトリガー信号から１つを選択する点とにおいて図２において説明したメモリ管理装置１５０と異なっている。ＺＱＣＬ検出部１５６は、ＺＱＣＬキャリブレーションを実行するタイミングを検出するものである。前述のようにＺＱＣＬキャリブレーションはＳＤＲＡＭ２０２の電源投入時や省電力モードからの復帰時等の任意のタイミングで実行される。このため、ＺＱＣＬ検出部１５６は、ＳＤＲＡＭ２０２の電源投入後および省電力モードからの復帰後にトリガー信号を生成して選択部１５４に出力する。これ以外のメモリ管理装置１５０および情報処理システムの構成は本技術の第１の実施の形態と同様の構成にすることができる。そのため説明を省略する。
【００５８】
以上説明したように、本技術の実施の形態によれば、記憶装置２００を管理するための複数の処理を実行するタイミングの検出および選択をメモリ管理装置１５０が行う。これにより、上述した処理の要求に対して事前に調停を行うことができる。このため、記憶装置２００に関する処理が増加した場合であっても、アービタ１１１の負担を軽減させることができる。
【００５９】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００６０】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００６１】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【００６２】
なお、本技術は以下のような構成もとることができる。
（１）記憶装置のための所定の処理を実行するタイミングをそれぞれ検出する複数の検出部と、
前記複数の検出部において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成部と
を具備するメモリ管理装置。
（２）前記複数の検出部が検出した前記タイミングが重複する際には最も優先順位が高い処理について前記生成部に前記コマンドと前記サイドバンド信号とを生成させる選択部をさらに具備する前記（１）に記載のメモリ管理装置。
（３）前記複数の検出部の１つは、所定の周期ごとに前記タイミングを検出する前記（１）または（２）に記載のメモリ管理装置。
（４）前記複数の検出部の１つは、揮発性メモリを備える記憶装置において所定のリフレッシュ周期ごとに前記揮発性メモリのリフレッシュを実行するタイミングを検出する前記（３）に記載のメモリ管理装置。
（５）前記複数の検出部の１つは、揮発性メモリを備える記憶装置において所定のキャリブレーション周期ごとに前記揮発性メモリの信号線のインピーダンスキャリブレーションを実行するタイミングを検出する前記（３）に記載のメモリ管理装置。
（６）前記複数の検出部の１つは、物理層を操作するためのインターフェースを備える記憶装置において所定のキャリブレーション周期ごとに前記物理層を操作するためのインターフェースの信号線のインピーダンスキャリブレーションを実行するタイミングを検出する前記（３）に記載のメモリ管理装置。
（７）前記複数の検出部の１つは、任意のタイミングで前記検出を行う前記（１）または（２）記載のメモリ管理装置。
（８）前記コマンド生成部は、前記生成した前記サイドバンド信号を前記記憶装置のアドレス信号線を介して供給する前記（１）から（７）のいずれかに記載のメモリ管理装置。
（９）記憶装置と、
前記記憶装置を管理するメモリ管理装置と
を具備し、
前記メモリ管理装置は、
前記記憶装置における所定の処理を実行するタイミングをそれぞれ検出する複数の検出部と、
前記複数の検出部において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成部と
を備える
情報処理システム。
（１０）記憶装置における所定の処理を実行するタイミングをそれぞれ検出する複数の検出手順と、
前記複数の検出手順において検出対象となる前記所定の処理に共通するコマンドと前記実行するタイミングが検出された前記所定の処理に固有のサイドバンド信号とを生成するコマンド生成手順と
を具備するメモリ管理装置の制御方法。
【符号の説明】
【００６３】
１００  プロセッサ
１０１〜１０３、２０３、２０４  信号線
１１１  アービタ
１５０  メモリ管理装置
１５１  ＡＲＥＦタイマ部
１５２  ＺＱＣＳタイマ部
１５３  ＰＨＹＵタイマ部
１５４  選択部
１５５  コマンド生成部
１５６  ＺＱＣＬ検出部
２００  記憶装置
２０１  ＤＤＲ−ＰＨＹ
２０２  ＳＤＲＡＭ
２１０  メモリコントローラ
２１１  デコード部
２１２  制御部
２１３  リクエスト生成部
【図１】
2016018430.tif 000003
【図２】
2016018430.tif 000004
【図３】
2016018430.tif 000005
【図４】
2016018430.tif 000006
【図５】
2016018430.tif 000007
【図６】
2016018430.tif 000008
【図７】
2016018430.tif 000009
【図８】
2016018430.tif 000010
【図９】
2016018430.tif 000011
【図１０】
2016018430.tif 000012