JP2011013909A - メモリ制御回路 - Google Patents

メモリ制御回路 Download PDF

Info

Publication number
JP2011013909A
JP2011013909A JP2009157100A JP2009157100A JP2011013909A JP 2011013909 A JP2011013909 A JP 2011013909A JP 2009157100 A JP2009157100 A JP 2009157100A JP 2009157100 A JP2009157100 A JP 2009157100A JP 2011013909 A JP2011013909 A JP 2011013909A
Authority
JP
Japan
Prior art keywords
command
access
memory
address
issuing
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
JP2009157100A
Other languages
English (en)
Other versions
JP2011013909A5 (ja
Inventor
Koichi Ueda
浩市 上田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009157100A priority Critical patent/JP2011013909A/ja
Publication of JP2011013909A publication Critical patent/JP2011013909A/ja
Publication of JP2011013909A5 publication Critical patent/JP2011013909A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】実際のシステムにメモリデバイスを組み込んだ際に利用されないメモリアドレス空間を利用し、上記で述べたようなページミス時のアクセスペナルティを軽減する。
【解決手段】メモリ制御回路は、メモリデバイスへのアクセス種別およびアクセスアドレスを判別し適切なメモリデバイスに対してアクセスコマンドを発行させるコマンド振り分け手段と、実際のメモリデバイスにアクセスコマンドを発行させるコマンド発行手段とを備える。コマンド振り分け手段はメモリアクセスがライトであった場合には、アドレス変換手段が示すデバイスの物理アドレスに対しライトコマンドを発行する。メモリアクセスがリードであった場合には前記アドレス変換手段が示す物理アドレスの状態を確認して最適なデバイスに対してリードコマンドを発行する。
【選択図】図1

Description

本発明は、メモリ制御方法及びその実施装置に関し、特に、複数のバンクを有するメモリ制御回路であって、メモリデバイスへの高速なメモリ・アクセスを行うメモリ制御方法及びその実施装置に適用して有効な技術に関するものである。
昨今のメモリデバイスの大容量化、高速化は目覚しいものがあり、また、メモリアクセスへの高速化としてバンクインターリーブアクセスが一般化されている。バンクインターリーブアクセスは最近のメモリデバイスのようにメモリデバイス内部が複数のバンクに分割されている。各々のバンクが独立した構成になっていることを利用し、異なるバンクに対するアクセスコマンドを交互に、かつオーバーラップさせながら発行することでコマンド間隔を小さくする手法である。また、メモリコントローラがメモリの共有領域の最終アドレスへの書き込み要求がメモリに対して発行されたことをバスマスタBに通知する、といったものが提案されている。
特開2007−241612号公報
しかしながら、上記バンクインターリーブアクセスを行わせるためには、メモリ制御回路あるいはそのメモリ制御回路を使用するシステムにおいて、メモリアクセスがバンクインターリーブ条件を満足できるようにメモリ割り振りを行う必要がある。この条件を必ず満足させることは不可能に近く、一定の割合でバンクインターリーブ条件を満足できないアクセスが発生する。昨今のメモリデバイスは、バンクへのアクセスが同一のロウアドレスであるか、あるいは上記バンクインターリーブアクセスが可能な場合にはメモリデバイスの持つ高速アクセスの恩恵を得られる。一度ページミスとなった場合には、そのアクセスペナルティーが与える影響がクロック周期に対し大きく、問題となる。
上記問題は、特に、複数の機能モジュールが同一のメモリ制御回路を共有する、いわゆるユニファイドメモリ構成を用いたシステムの場合に特に問題となる。加えていえば、複数のマスターモジュール内にメモリのページアサインが困難なマスターモジュール、例えばディスクリプターテーブルを参照する。その結果に基づき、アクセスアドレスを決定するDMACのようなマスターモジュールが存在する場合に、その他のマスターモジュールのメモリアクセスまで影響が及び、メモリアクセス効率を大幅に下げてしまうため問題となる。
先にも述べたように、昨今のメモリデバイスはデータ転送の高速化が図られているが、これは、内部構造を並列化することにより得られている。そのため、上記従来例で示したようなページミスが発生したときのアクセスペナルティの時間は実は改善されていない。つまり、高速メモリデバイスになるに従い、ページミスが発生したときのクロックサイクル数でのアクセスペナルティは実は大きくなることが良く知られている。
そこで、本発明の目的は、論理アドレスエリアにおけるページミスの発生確率を低減させ、結果的にシステム全体としての高速アクセスを可能とすることにある。
本発明のメモリ制御回路は、複数のバンクを有する複数のメモリデバイスが接続され、それぞれのメモリデバイスにアクセス可能なメモリ制御回路において、論理アドレスと実際のメモリデバイスにおける物理アドレスとの変換を行うアドレス変換手段と、前記メモリデバイスの各バンクにおけるアクセス状態を管理する管理手段と、メモリデバイスへのアクセスコマンドと物理アドレスとに基づいて適切なメモリデバイスに対してアクセスコマンドを発行させるコマンド振り分け手段と、実際のメモリデバイスにアクセスコマンドを発行させるコマンド発行手段とを備え、前記コマンド振り分け手段は、メモリアクセスがライトであった場合には前記アドレス変換手段が示すデバイスの物理アドレスに対しライトコマンドを発行し、メモリアクセスがリードであった場合には前記アドレス変換手段が示す物理アドレスの状態を確認してデバイスに対してリードコマンドを発行することを特徴とする。
本発明によれば、論理アドレスエリアにおけるページミスの発生確率を低減させ、結果的にシステム全体としての高速アクセスを可能とするものである。
本発明の第1の実施形態に係るメモリ制御回路の内部構成を概略的に示すブロック図である。 本発明の第1の実施形態におけるメモリマップの例を示す図である。 メモリ制御回路におけるアドレス変換/コマンド振り分け回路のライトコマンド発行時の処理を示すフローチャートである。 メモリ制御回路におけるアドレス変換/コマンド振り分け回路のリードコマンド発行時の処理を示すフローチャートである。 本発明の第1実施形態の効果を説明するためのタイミングチャートである。 本発明の第2の実施形態に係るメモリ制御回路の内部構成を概略的に示すブロック図である。 本発明の第2の実施形態におけるメモリマップの例を示す図である。 本発明の第2の実施形態の効果を説明するためのタイミングチャートである。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係るメモリ制御回路の内部構成を概略的に示すブロック図である。図1において、1は各マスターモジュールに接続されて受け取ったメモリへの論理アクセスを一時記憶しておくコマンドFIFOである。2はコマンドFIFOから取り出したメモリアクセスコマンドを解析し、リード/ライトコマンドおよびデバイス側で用いられる物理アドレスに変換するアドレス変換/コマンド振り分け回路である。また、アドレス変換/コマンド振り分け回路2は、アクセス可能なデバイス側のアドレスが複数ある場合に各デバイスの状態に応じてどのデバイスにアクセスするかを決定する。3は各デバイスの各バンク状態を保持/管理するバンク状態管理回路である。4はアドレス変換/コマンド振分け回路2から受け取ったコマンドにより、該当するメモリデバイスに対し、メモリデバイスに適合するタイミングでコマンドを発行するコマンド発行回路4である。また、コマンド発行回路4は、該当するメモリデバイスのバンク状態管理回路に対し、アクセス状態を知らせる機能を有する。
本実施形態において用いられるメモリマップの例を図2に示す。マスターモジュール102(M0)がデバイス0のバンクAおよびBを使用する。マスターモジュール103(M1)がデバイス0のバンクCおよびDを使用する。マスターモジュール104がデバイス1のバンクCおよびDを使用するものとする。
コマンドFIFO1がマスターモジュールからのメモリアクセスコマンドを受け取っているとき、アドレス変換/コマンド振り分け回路2はコマンドFIFO1からメモリアクセスコマンドを取り出す。アドレス変換/コマンド振り分け回路2は、まず、メモリアクセスコマンドのアドレスから該当する物理アドレスの状態をバンク状態管理回路3に問い合わせる。このとき、複数の物理アドレスが同じ論理アドレスに割り振られている場合があるので、その場合は1つの論理アドレスに割り振られている全ての物理アドレスを有するバンク状態管理回路出力をその後は使用する。バンク状態管理回路からの問い合わせ結果を得たアドレス変換/コマンド振り分け回路2は次にアクセスコマンドの種別(ライトであるかリードであるか)を確認し、その後の処理フローを決定する。ライトであった場合には図3に一例を示すフローに従いコマンドを発行する。図3で示されるように、ライトアクセス要求のあったアドレスが2重化されたアドレスであるかをチェックし(Step1)、2重化されていないアドレスであった場合には通常のアクセスとしてアクセスコマンドの発行を行わせる(Step4)。アクセス要求の対象である物理アドレスを有するバンクが複数存在する場合には、まず、現在アクセスされているかどうかをチェックし(Step2)、アクセスされている場合には先に発行されているアクセスが完了するまで発行を待たせる。全てのバンクに対し、現在アクセスされていないアドレスであったならば、全てのバンクに対する対象アドレスのヒット/ページミスをチェックする(Step3)。全てに対しヒットであった場合にはヒットとして書き込みコマンドを出力させる(Step5)。一方、どれか1つでもページミスとして扱われるデバイスがあった場合には、ページミス相当として全てのデバイスに対して書き込みコマンドを発行させる(Step6)。リードであった場合には図4に一例を示すようなフローに従いコマンドを発行する。図4で示されるように、リードアクセス要求のあったアドレスが2重化されたアドレスであるかをチェックし(Step1)2重化されていないアドレスであった場合には通常のアクセスとしてアクセスコマンドの発行を行わせる(Step7)。アクセス要求の対象である物理アドレスを有するバンクが複数存在する場合には直前のアクセスコマンドをチェック(Step2)し、異なるデバイスへのアクセスを優先させる。先のアクセス対象のデバイスとことなるデバイスに対し、アクセスするアドレスがヒットであるかどうかをチェックする(Step3および4)。ヒットする場合には先のアクセス対象であったデバイスと異なるデバイスに対してリードコマンドを発行する(Step8)。ページミスである場合には、さらに、直前にアクセスを行ったデバイスに対しヒットであるかどうかをチェックする(Step5および6)。ヒットであった場合には直前にアクセスを行ったデバイスに対してリードコマンドを発行する(Step9)。ページミスであった場合には直前のアクセスと異なるデバイスに対してリードコマンドを発行する。直前のアクセス対象であるかどうかとは、コマンド発行回路4は対象となるアクセスコマンドの開始から完了までの期間をバンク状態管理回路3に知らせる。これにより、現在使用されているデバイスについての情報をバンク状態管理回路4にしらせ、この情報がアドレス変換/コマンド振り分け回路2における直前のアクセスデバイス情報として参照される。
これらのフローに従い本発明を用いた場合のタイミングチャートを図5に示す。図5では、コマンド発行回路は極単純にコマンド発行が完了しないと次のコマンド(データは別途適切なタイミング管理を行う)を受け付けないという条件でタイミングを図示してある。また、図5ではライトデータとリードデータの区別をしやすくするため別々に示してあるが、実際のシステムではデータバスとして同じ信号線上に観測されることはいうまでもない。
図5にてt0でのマスターモジュールM0からのライトコマンドは図2のメモリマップからメモリデバイス0およびメモリデバイス1の両方が該当する。よって、図3のライト時の処理フローに従いデバイス0(CS0)およびデバイス1(CS1)の両方に対し同時にライトコマンドの発行が行われる。このライトコマンドに対応するライトデータは図5のData#oにてt1からのデータとして図示されている。次にマスターモジュールM2からのライトコマンドは対象アドレスがデバイス1のみであることからデバイス1に対してのみのライトコマンドとしてt3に出力される。このライトコマンドに対応する出力データはt4からのデータとして図示されている。次のマスターモジュールMOからの最初のリードコマンドは、図2のメモリマップからデバイス0およびデバイス1の両方に対応するアドレスが存在する。従来例の説明時に用いた仮定からページミスであるため、図4のリード時の処理フローに従い、デバイス0に対して発行される。このとき、ページミスであるため、リードコマンドはデバイスのアクセス仕様に従いt4のプリチャージから発行される。t7のアクティベート、t10のリードコマンドのように発行され、対応するリードデータはt12から得られるものとして図示してある。マスターモジュールM0の2つ目のリードは最初のリードコマンドと同様な処理フローに従い今度はデバイス1に対して発行される。このリードコマンドは最初のリードコマンド同様にページミスであるためプリチャージから発行される必要がある。本発明では異なるデバイスにたいするアクセスとしてアクセスが可能であるため、最初のリードコマンドがデータの取り込みまで完了するのを待たずにコマンド発行が可能である。よって、図5に図示されるようにt12のタイミングでプリチャージコマンドの発行が可能となる。
上記説明では、コマンド発行回路の機能を大幅に制限した形で本発明の効果を説明しているが、コマンド発行をより効率よく行えるシステムでは上記タイミング図にて示した以上のアクセスの効率化が得られることは明らかである。
次に、本発明の第2の実施形態について説明する。メモリ制御回路から各デバイスに対しバンク選択信号を独立に制御できるようにすればより自由にアドレスマッピングができることは明らかである。図6はバンク選択信号を独立に制御できるようにした本発明の第2の実施形態を示し、図7にはそのときのアドレスマップ例を示す。また図8にタイミング図を示す。図8ではマスターモジュールM0のアクセスはデバイス0に対してはバンク0へ、デバイス1に対してはバンク1へのアクセスであったとして図示してある。
図6にて1は第1の実施形態と同じコマンドFIFO、3は第1の実施形態と同じバンク状態管理回路であり、第1の実施形態から変更されているものは21のアドレス変換/コマンド振り分け回路と22のコマンド発行回路である。コマンド発行回路にコマンドを指示する際、対象となるデバイス毎にバンク情報を出力し、コマンド発行回路22は指示されたデバイス毎のバンク情報をデバイスにコマンドを発行する際に併せて発行できる。このような構成とすることで、容量の異なるメモリデバイスを組み合わせることが可能となる。その一例として、図7ではメモリデバイス0とメモリデバイス1は異なる容量のデバイス(デバイス1はデバイス0の半分の容量)をシステムで使用している例を示している。本発明の第2の実施例で利用可能なメモリデバイスの組み合わせ条件としては2つのメモリデバイスのカラムアドレスビット数が等しく、クロック周期で数えたタイミング特性が等しければよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
1:コマンドFIFO、2:アドレス変換/コマンド振り分け回路、3:バンク状態管理回路、4:コマンド発行回路、21:アドレス変換/コマンド振り分け回路、22:コマンド発行回路

Claims (1)

  1. 複数のバンクを有する複数のメモリデバイスが接続され、それぞれのメモリデバイスにアクセス可能なメモリ制御回路において、
    論理アドレスと実際のメモリデバイスにおける物理アドレスとの変換を行うアドレス変換手段と、
    前記メモリデバイスの各バンクにおけるアクセス状態を管理する管理手段と、
    メモリデバイスへのアクセスコマンドと物理アドレスとに基づいて適切なメモリデバイスに対してアクセスコマンドを発行させるコマンド振り分け手段と、
    実際のメモリデバイスにアクセスコマンドを発行させるコマンド発行手段とを備え、
    前記コマンド振り分け手段は、メモリアクセスがライトであった場合には前記アドレス変換手段が示すデバイスの物理アドレスに対しライトコマンドを発行し、メモリアクセスがリードであった場合には前記アドレス変換手段が示す物理アドレスの状態を確認してデバイスに対してリードコマンドを発行することを特徴とするメモリ制御回路。
JP2009157100A 2009-07-01 2009-07-01 メモリ制御回路 Pending JP2011013909A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009157100A JP2011013909A (ja) 2009-07-01 2009-07-01 メモリ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009157100A JP2011013909A (ja) 2009-07-01 2009-07-01 メモリ制御回路

Publications (2)

Publication Number Publication Date
JP2011013909A true JP2011013909A (ja) 2011-01-20
JP2011013909A5 JP2011013909A5 (ja) 2012-08-09

Family

ID=43592727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009157100A Pending JP2011013909A (ja) 2009-07-01 2009-07-01 メモリ制御回路

Country Status (1)

Country Link
JP (1) JP2011013909A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103173A (ja) * 1992-03-25 1994-04-15 Nec Corp 携帯型データ処理装置
JPH09282223A (ja) * 1996-04-12 1997-10-31 Ricoh Co Ltd メモリ制御装置
JP2002149487A (ja) * 2000-11-08 2002-05-24 Matsushita Electric Ind Co Ltd メモリアクセス装置および遅延データ発生装置
JP2008152687A (ja) * 2006-12-20 2008-07-03 Matsushita Electric Ind Co Ltd メモリコントローラ
JP2008158804A (ja) * 2006-12-22 2008-07-10 Nec Corp メモリコントローラ、コンピュータ、データ読み出し方法
WO2008084681A1 (ja) * 2006-12-25 2008-07-17 Panasonic Corporation メモリ制御装置、メモリ装置およびメモリ制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103173A (ja) * 1992-03-25 1994-04-15 Nec Corp 携帯型データ処理装置
JPH09282223A (ja) * 1996-04-12 1997-10-31 Ricoh Co Ltd メモリ制御装置
JP2002149487A (ja) * 2000-11-08 2002-05-24 Matsushita Electric Ind Co Ltd メモリアクセス装置および遅延データ発生装置
JP2008152687A (ja) * 2006-12-20 2008-07-03 Matsushita Electric Ind Co Ltd メモリコントローラ
JP2008158804A (ja) * 2006-12-22 2008-07-10 Nec Corp メモリコントローラ、コンピュータ、データ読み出し方法
WO2008084681A1 (ja) * 2006-12-25 2008-07-17 Panasonic Corporation メモリ制御装置、メモリ装置およびメモリ制御方法

Similar Documents

Publication Publication Date Title
EP1110151B1 (en) Buffering system bus for external-memory accesses
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
JP5365336B2 (ja) メモリ制御装置およびメモリ制御方法
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
JP5666722B2 (ja) メモリ・インターフェース
KR20090132512A (ko) 메모리 시스템, 그 액세스 제어 방법, 및 컴퓨터 프로그램
US6651148B2 (en) High-speed memory controller for pipelining memory read transactions
US8954644B2 (en) Apparatus and method for controlling memory
JP6053384B2 (ja) 情報処理装置、メモリ制御装置およびその制御方法
JP2013542493A (ja) 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て
CN108139989B (zh) 配备有存储器中的处理和窄访问端口的计算机设备
JP2018205859A (ja) メモリコントローラとその制御方法
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US6360305B1 (en) Method and apparatus for optimizing memory performance with opportunistic pre-charging
JP2011013835A (ja) メモリシステム、メモリアクセス方法、及びプログラム
JP6226200B2 (ja) メモリーコントローラー
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
WO2010122607A1 (ja) 記憶制御装置及びその制御方法
JPH10260895A (ja) 半導体記憶装置およびそれを用いた計算機システム
US8099530B2 (en) Data processing apparatus
JP5383159B2 (ja) バス中継装置及び制御方法
JP2011013909A (ja) メモリ制御回路
JP6170363B2 (ja) 制御装置、コンピュータシステム、制御方法、及びプログラム
CN111290977B (zh) 一种基于ddr多数据单元的寄存器访问系统及方法
EP1990725B1 (en) Central processing unit, central processing unit control method, and information processing system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141021