JP2008102759A - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置 Download PDFInfo
- Publication number
- JP2008102759A JP2008102759A JP2006285018A JP2006285018A JP2008102759A JP 2008102759 A JP2008102759 A JP 2008102759A JP 2006285018 A JP2006285018 A JP 2006285018A JP 2006285018 A JP2006285018 A JP 2006285018A JP 2008102759 A JP2008102759 A JP 2008102759A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- access
- information
- bank
- control device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
Abstract
【課題】複数バンクを持つメモリを使用するシステムにおいて、実際にはアクセスしないバンクまでも一定時間ビジー状態となることで、アクセス性能が低下してしまう。
【解決手段】メモリアクセス要求信号S01に応じてアクセスするメモリのバンクを示すアクセス要求バンク情報S02を生成するアクセス要求バンク解析部110と、アクセス要求バンク情報S02を一定サイクル時間保持してバンク使用状態情報S03とするバンク使用状態情報保持部125と、アクセス要求バンク情報S02とバンク使用状態情報S03とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号S04を生成するアクセス許可信号生成部130とを設ける。アクセス許可されたメモリバンクに係るバンク使用状態情報S03は、転送方向情報、アクセス単位情報、メモリ初期化情報等であるアクセス情報S06に従って更新される。
【選択図】図1
【解決手段】メモリアクセス要求信号S01に応じてアクセスするメモリのバンクを示すアクセス要求バンク情報S02を生成するアクセス要求バンク解析部110と、アクセス要求バンク情報S02を一定サイクル時間保持してバンク使用状態情報S03とするバンク使用状態情報保持部125と、アクセス要求バンク情報S02とバンク使用状態情報S03とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号S04を生成するアクセス許可信号生成部130とを設ける。アクセス許可されたメモリバンクに係るバンク使用状態情報S03は、転送方向情報、アクセス単位情報、メモリ初期化情報等であるアクセス情報S06に従って更新される。
【選択図】図1
Description
本発明は、複数バンクを持つメモリを有するシステムにおけるメモリアクセス制御装置に関するものである。
データ処理システムにおいて、プロセッサ、描画エンジン等の演算処理装置(マスタ)が複数バンクを持つメモリにアクセスする際、先行アクセスのアドレスと後続アクセスのアドレスとからそれぞれがアクセスするメモリバンクを判定し、同一のメモリバンクにアクセスしようとする後続アクセスの要求を受け付けるか否かを判断することで、メモリアクセスの競合を制御する。
ところが、アクセスするメモリ幅は固定されており、その固定値(最大メモリ幅)以下のデータ幅(実アクセスデータ幅)のメモリアクセスでは「最大メモリ幅−実アクセスデータ幅」分のバンクが実際にはアクセス対象外であるにもかかわらず、ビジー範囲に含まれてしまい、「最大メモリ幅−実アクセスデータ幅」分のバンクへの他のメモリアクセスが拒否されてしまうという欠点があった。
そこで、ある従来技術によれば、アクセス中のアドレスから使用するアドレスを計算し、複数バンクのうち実際に使用しているバンクを判定し、その他のバンクへのアクセスを可能としている(特許文献1参照)。
特開平2−202650号公報
しかしながら、上記従来技術によれば、先頭アドレスと最終アドレスとから要素間距離を計算して使用するバンクを決定するので、実際に使用するメモリバンクを決定するためには少なくとも先頭アドレスと最終アドレスとの2アクセスが行われるのを待たなければならず、アクセス性能が低下してしまう可能性があった。
本発明の目的は、上記問題を鑑み、ビジー状態とすべきバンク幅をそのバンクアクセスの範囲に限定することにより、その他のバンク範囲をフリー状態として、そのフリー状態のバンクへのアクセスを可能とするために、アドレス情報とアクセス情報とを用いて柔軟なメモリアクセス制御を提供し、高いアクセス性能を実現するメモリアクセス制御装置を提供することにある。
前記の目的を達成するために、本発明は、複数バンクを持つメモリを有するシステムにおけるメモリアクセス制御装置において、メモリアクセス時に与えられるアドレス情報とアクセス情報とによりアクセスするメモリのバンクを示すアクセス要求バンク情報を生成するアクセス要求バンク解析部と、前記アクセス要求バンク情報を一定サイクル時間保持してバンク使用状態情報とするバンク使用状態情報保持部と、前記アクセス要求バンク情報と前記バンク使用状態情報とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号を生成するアクセス許可信号生成部とを備えた構成を採用し、前記バンク使用状態情報保持部は、同一メモリバンクへの競合アクセスを前記アクセス情報に応じて制御するように、アクセス許可されたメモリバンクに係る前記バンク使用状態情報を前記アクセス情報に従って更新することとしたものである。
ここで、前記アクセス情報とは、転送方向情報、アクセス単位情報、マスタ情報、スレーブクロックギア比情報、マスタクロックギア比情報、リマップ情報、使用シーン情報、温度情報、故障検出情報、メモリ初期化情報のいずれかである。
本発明では、取得したアクセス情報に応じてメモリアクセスの可否を制御することにより、アクセス不可のメモリバンクを極力減らし、アクセス可能なメモリバンクを増やすことで、アクセス性能を高める。
本発明によれば、処理装置(マスタ)からのアクセスの種類、メモリの使用方法、システムの環境、メモリの状態等に応じて、最適なメモリアクセスを行うことが可能となる。
図1は、本発明に係るメモリアクセス制御装置を有するシステムの構成例を示すブロック図である。図1のシステムは、複数のバスマスタ141,142,143がメモリ180を共有するものである。100はメモリアクセス制御装置であり、151,152,153はバスインタフェースであり、160はバスマトリクスであり、170はメモリインタフェースである。
メモリ180は、例えば4つのバンク181,182,183,184を持つ。以下の説明では、これら4つのメモリバンクをそれぞれバンク1、バンク2、バンク3及びバンク4という。また、適宜3つのバスマスタ141,142,143をそれぞれマスタA、マスタB及びマスタCという。
メモリアクセス制御装置100は、アクセス要求バンク解析部110と、バンク使用状態情報保持部125と、アクセス許可信号生成部130とを備える。
各バスマスタ141〜143は、それぞれ異なるバスプロトコル、異なるデータ幅でメモリアクセスを要求する処理装置である。それぞれのメモリアクセス要求は、バスインタフェース151〜153により同一プロトコルに変換され、同一のデータ幅に整形される。バスマトリクス160は、複数のバスマスタ141〜143からのメモリアクセスをハードウェア又はソフトウェアで実装された調停方式に従って調停し、アクセスを制御する。各バスマスタ141〜143からのメモリアクセスは、バスマトリクス160によって調停されたメモリアクセス要求信号S01として、アドレス情報とアクセス情報とをメモリアクセス制御装置100に入力する。
メモリアクセス制御装置100において、アクセス要求バンク解析部110は、メモリアクセス要求信号S01のアドレス情報とアクセス情報とからアクセス要求がどのバンクに対するものかを示すアクセス要求バンク情報S02を生成する。アクセス許可信号生成部130は、アクセス要求バンク情報S02とバンク使用状態情報保持部125のバンク使用状態情報S03とを照らし合わせ、同一バンクへのアクセス要求であった場合、バンク使用状態情報S03がアクセス要求のあったバンクのいずれか1つでも現在ビジー状態であることを示していれば、アクセス許可信号S04を「アクセス不許可」とする。アクセス要求のあったバンクの全てが現在ビジー状態でない(つまり、フリー状態である)ことをバンク使用状態情報S03が示していれば、「アクセス許可」を示すように生成する。バンク使用状態情報保持部125は、アクセス許可信号S04によってアクセス許可となったメモリアクセスのアドレス情報により得られたバンクのバンク使用状態情報S03を「ビジー状態」とし、アクセス要求バンク解析部110からのアクセス情報S06に応じたサイクル時間が経過したとき、あるいは当該アクセス情報S06が特定条件を満たしたときに、該当するバンクを「フリー状態」とするようにバンク使用状態情報S03を更新する。
バスマトリクス160は、現在調停によりアクセス許可を出したメモリアクセス要求信号S01がメモリアクセスできるか否かをアクセス許可信号S04により判断し、アクセス許可信号S04がアクセス許可を示しているならば後続のアクセスの調停を行い、アクセス不許可を示しているならば引き続きアクセス許可の判定が行われるまで調停結果を保ち、引き続きメモリアクセス制御装置100にアクセス許可を求める。
アクセス許可信号S04は同時にメモリインタフェース170にも入力され、メモリアクセス制御装置100によりアクセス許可を受けたメモリアクセスS05はメモリインタフェース170によりメモリアクセスを行うためのプロトコルに変換され、メモリアクセス信号S07としてメモリ180にアクセスされる。ここで、メモリインタフェース170は、アドレス情報、アクセスサイズ情報等から実際に必要なデータ幅の分のバンクのみをアクティブとしてアクセスを行う。
アクセス要求バンク解析部110は、アドレス解析部111と、転送方向解析部112と、アクセス単位解析部113と、マスタ解析部114と、スレーブクロックギア比解析部115と、マスタクロックギア比解析部116と、リマップ情報解析部117と、使用シーン解析部118と、温度解析部119と、故障検出解析部120と、メモリ初期化認知部121とを備える。
アドレス解析部111は、メモリアクセス要求信号S01のアドレス情報からアクセス要求がどのバンクに対するものかを示すアクセス要求バンク情報S02を生成する。
転送方向解析部112は、転送方向情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。転送方向情報とは、メモリ180へのアクセスが書き込みアクセスであるか、読み出しアクセスであるかを、各マスタ141〜143が明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、読み出しアクセスと書き込みアクセスとの完了時間が異なるようなメモリ180を用いた場合、あるいは読み出しアクセスと書き込みアクセスとの完了時間の相違にメモリ以外の要因がある場合に、読み出しアクセス、書き込みアクセスそれぞれに応じたメモリバンクへのアクセス禁止時間が設定できるようになる。例えば、読み出しアクセスでは数サイクルのデータ待ち時間を要するが、書き込みアクセスでは毎サイクルのアクセスが可能であるメモリ180を用いた場合、読み出しアクセスの場合のみ数サイクルのアクセス不可時間を設定し、書き込みアクセスではケアしなくて済む等、回路コストを抑えるとともに書き込みアクセス性能を読み出しアクセス性能に合わせる必要がないため、全体としてのアクセス性能を高めることが可能となる。
アクセス単位解析部113は、アクセス単位情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。アクセス単位情報とは、各マスタ141〜143からメモリ180へのアクセス単位を、各マスタ141〜143が明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、実際にはアクセス対象外にあるにもかかわらず、ビジー範囲に含まれてしまい他のバンクへのメモリアクセスが拒否されてしまうことを解消し、ビジー状態とすべきバンク幅をそのバンクアクセスの幅に限定することにより、その他のバンク範囲をフリー状態として、そのフリー状態のバンクへのアクセスが可能となる。
マスタ解析部114は、マスタ情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。マスタ情報とは、各マスタ141〜143からメモリ180へのアクセス単位を、各マスタ141〜143が明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、各マスタ141〜143によってアクセス単位が決まっている場合、どのマスタがアクセスしてくるかによってアクセス単位が分かることで、アクセス対象外のバンク範囲をフリー状態として、そのフリー状態のバンクへのアクセスが可能となる。また、マスタによって要求アクセス速度が異なる場合、各マスタ141〜143のアクセス速度の要求に応じたアクセス不可時間を設定することが可能となる。
例えば、高速なメモリと、低速なメモリとが接続され、高速なメモリと低速なメモリとで使用しているアドレスは同じであるものとする。また、マスタA,B及びCのうちアクセスしてくるマスタにより要求するアクセス応答時間が異なり、マスタAは高速なメモリに対するアクセスを、マスタBは低速なメモリに対するアクセスを、メモリインタフェース170が自動的に切り替えることで行う。各マスタ141〜143は、それぞれ明示的に高速なメモリにアクセスするか低速なメモリにアクセスするかの指定は行わない。
なお、マスタAからのアクセス後、及びマスタBからのアクセス後にアクセス不可である期間(「ビジー期間」)は、ハードウェアで予め実装していてもよいし、レジスタを通して設定可能であるようにしてもよい。
スレーブクロックギア比解析部115は、スレーブクロックギア比情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。スレーブクロックギア比情報とは、メモリアクセス制御装置100とメモリ180とのクロックギア比を変えることができるシステムにおいて、クロックギア比を各マスタ141〜143が明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、クロックギア比に応じたアクセス不可時間を設定することが可能となる。
例えば、メモリアクセス制御装置100とメモリ180とのクロックギア比が1:1と3:1を切り替えられる場合、クロックギア比が1:1のとき高速なメモリにアクセスし、3:1のとき低速なメモリにアクセスすることで、クロックギア比に適したメモリへの対応と、そのためのアクセス制御とを容易に行うことができる。
マスタクロックギア比解析部116は、マスタクロックギア比情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。マスタクロックギア比情報とは、各マスタ141〜143とメモリアクセス制御装置100とのクロックギア比を変えることができるシステムにおいて、クロックギア比を各マスタ141〜143が明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、クロックギア比に応じたアクセス不可時間を設定することが可能となる。
例えば、アクセス後の1サイクルはアクセス不可である高速なメモリと、アクセス後の3サイクルはアクセス不可である低速なメモリとが接続され、各マスタ141〜143とメモリアクセス制御装置100とのクロックギア比が1:1と3:1を切り替えられるものとすると、クロックギア比が1:1の場合にはメモリアクセス制御装置100のクロックを基準サイクルとしたときに1サイクルアクセス不可とし、3:1の場合には3サイクルアクセス不可とする。
リマップ情報解析部117は、リマップ情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。リマップ情報とは、メモリ180のデータ配置のアドレッシングを変えることができるシステムにおいて、リマップが行われていることを明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、アクセス速度の異なる複数種類のメモリを持つシステムにおいて、リマップによってアクセス速度の異なるメモリへのデータアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
使用シーン解析部118は、使用シーン情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。使用シーン情報とは、システムが起動するアプリケーションに基づいて動作する各マスタ141〜143の要求する動作速度及びメモリ容量に応じて、アドレッシングを変えることができ、アクセス速度の異なる複数種類のメモリを切り替えるシステムにおいて、リマップが行われていることを明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、アクセス速度の異なる複数種類のメモリを持つシステムにおいて、動作するアプリケーションの必要とする速度や容量に応じたデータアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
例えば、各マスタ141〜143が動作する使用シーン(動作アプリケーション)によりメモリ180に対するアクセス性能の要求が異なり、各マスタ141〜143はそれぞれ明示的にいくつかに分類された使用シーン情報をメモリアクセス制御装置100に指定する。メモリアクセス制御装置100の使用シーン解析部118は、送られた使用シーン情報と予めハードウェアあるいはソフトウェアで指定された使用シーンごとの要求性能とに基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース170にも行われ、メモリインタフェース170により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
温度解析部119は、温度情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。温度情報とは、システムが動作する環境から得られた温度に応じてアクセス速度の異なる複数種類のメモリを切り替えるシステムにおいて、温度が異なることで使用するメモリの種類をアドレッシングによって切り替えることを明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、アクセス速度の異なる複数種類のメモリを持つシステムにおいて、動作する環境の温度特性等によりスペック上動作不可能となったメモリへのアクセスを止め、動作可能なメモリへのアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
例えば、メモリ180及びメモリアクセス制御装置100が動作する温度によりメモリアクセスの遅延が異なり、温度が一定温度より下にあれば高速なメモリにアクセスを行い、温度が一定温度より上にあれば低速なメモリにアクセスを行うものとする。メモリアクセス制御装置100の温度解析部119は、送られた温度情報と予めハードウェアあるいはソフトウェアで指定された温度と動作可能なメモリとの対応表に基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース170にも行われ、メモリインタフェース170により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
故障検出解析部120は、故障検出情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。故障検出情報とは、メモリ180が動作可能であるかを識別することができるシステムにおいて、故障したメモリを避けて使用可能であるメモリだけに切り替えることを明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、故障検出手段のあるシステムにおいて、故障したメモリへのアクセスを止め、動作可能なメモリへのアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
例えば、高速なメモリをメインとして使用し、故障検出手段により高速なメモリの故障が検出されると、予備の低速なメモリが使用される。メモリアクセス制御装置100の故障検出解析部120は、送られた故障検出情報と予めハードウェアあるいはソフトウェアで指定された故障検出時の動作可能なメモリの対応表に基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース170にも行われ、メモリインタフェース170により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
メモリ初期化認知部121は、メモリ初期化情報をアクセス情報S06としてバンク使用状態情報保持部125へ供給する。メモリ初期化情報とは、メモリを初期化して使用するシステムにおいて、初期化中のメモリを避けて使用可能であるメモリだけに切り替えることを明示的にメモリアクセス制御装置100に対し指定してくるものである。したがって、初期化中であることを検出する手段のあるシステムにおいて、初期化中のメモリへのアクセスを止め、動作可能なメモリへのアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
例えば、高速なメモリをメインとして使用し、メモリ初期化検出手段により高速なメモリが初期化中であることを検出されると、予備の低速なメモリが使用される。メモリアクセス制御装置100のメモリ初期化認知部121は、送られたメモリ初期化情報と予めハードウェアあるいはソフトウェアで指定されたメモリ初期化中と初期化完了時の動作可能なメモリの対応表に基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース170にも行われ、メモリインタフェース170により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
なお、高速なメモリへのアクセス後、及び低速なメモリへのアクセス後にアクセス不可である期間(「ビジー期間」)は、ハードウェアで予め実装していてもよいし、レジスタを通して設定可能であるようにしてもよい。
以上、転送方向情報、アクセス単位情報、マスタ情報等の利用について概略説明を行ったが、以下では、特に転送方向情報及びアクセス単位情報の利用について図面を参照しながら詳細に説明する。
図2は、本実施形態の処理フローの一例として、図1におけるバンク使用状態情報保持部125に入力されるアクセス情報S06が転送方向情報であった場合にバンク使用状態情報S03を更新するためのタイミング図である。転送方向情報は、メモリアクセス要求信号S01に付加されてアクセス要求バンク解析部110及びバンク使用状態情報保持部125に入力されるものとする。また、接続されたメモリ180に対して書き込みアクセス後の1サイクルはアクセス不可、読み出しアクセス後の3サイクルはアクセス不可であるものとする。
図2の転送方向情報S06は、HIGHのとき書き込みアクセス、LOWのとき読み出しアクセスである。アクセス要求バンク情報S02[1]〜S02[4]はアクセス要求バンク解析部110でアドレス情報のデコードから得られたそれぞれバンク1〜4に対するアクセス要求であり、HIGHであればアクセス要求があり、LOWであればアクセス要求がないものとする。バンク使用状態情報S03[1]〜S03[4]はバンク使用状態情報保持部125で得られるバンク1〜4のバンク使用状態情報であり、LOWであれば該当するバンクは「フリー状態」、HIGHであれば「ビジー状態」であるものとする。アクセス許可信号S04はLOWであれば「アクセス不可」、HIGHであれば「アクセス許可」であるものとし、アクセス要求がない状態ではLOWである。
図2によれば、時刻t1においてバンク1〜4が全て「フリー状態」であり(バンク使用状態情報S03[1]〜S03[4]が全てLOW)、時刻t2においてバンク1〜4に対し、書き込みアクセスのアクセス要求が行われる(転送方向情報S06はHIGH、アクセス要求バンク情報S02[1]〜S02[4]がHIGH)。同じく時刻t2においてアクセス要求されたバンク1〜4が全て「フリー状態」であるため(バンク使用状態情報S03[1]〜S03[4]が全てLOW)、「アクセス許可」となる(アクセス許可信号S04がHIGH)。時刻t2において「アクセス許可」とされたバンクに対応するバンク使用状態情報S03[1]〜S03[4]は時刻t3で「ビジー状態(HIGH)」となり、バンク1〜4に対する読み出しアクセス要求(転送方向情報S06はLOW、アクセス要求バンク情報S02[1]〜S02[4]がHIGH)は「アクセス不可」となる(アクセス許可信号S04がLOW)。時刻t4では書き込みアクセスの「ビジー状態」が解かれ「フリー状態」となる(バンク使用状態情報S03[1]〜S03[4]が全てLOW)。そのため、バンク1〜4に対する読み出しアクセス要求(転送方向情報S06はLOW、アクセス要求バンク情報S02[1]〜S02[4]がHIGH)は時刻t4にて受け付けられる(アクセス許可信号S04がHIGH)。同様に時刻t5から時刻t7の3サイクルに渡ってバンク1〜4は「ビジー状態」となり(バンク使用状態情報S03[1]〜S03[4]がHIGH)、時刻t8で「フリー状態」となる(バンク使用状態情報S03[1]〜S03[4]がLOW)。
図3は、本実施形態の処理フローの一例として、図1におけるバンク使用状態情報保持部125に入力されるアクセス情報S06がアクセス単位情報であった場合にバンク使用状態情報S03を更新するためのタイミング図である。アクセス単位情報は、メモリアクセス要求信号S01に付加されてアクセス要求バンク解析部110及びバンク使用状態情報保持部125に入力されるものとする。また、アクセス後の1サイクルはメモリ180がアクセス不可であるものとする。図3のアクセス単位情報S06の行に示す数字は、アクセス要求されたバンクの個数を表す。
図3によれば、時刻t1においてバンク1〜4が全て「フリー状態」であり(バンク使用状態情報S03[1]〜S03[4]が全てLOW)、時刻t2においてバンク1〜4に対し、アクセス要求が行われる(アクセス単位情報S06は4、アクセス要求バンク情報S02[1]〜S02[4]がHIGH)。同じく時刻t2においてアクセス要求されたバンク1〜4が全て「フリー状態」であるため(バンク使用状態情報S03[1]〜S03[4]が全てLOW)、「アクセス許可」となる(アクセス許可信号S04がHIGH)。時刻t5においてバンク3及び4に対し、アクセス要求が行われる(アクセス単位情報S06は2、アクセス要求バンク情報S02[3]及びS02[4]がHIGH)。同じく時刻t5においてアクセス要求されたバンク3及び4が「フリー状態」であるため(バンク使用状態情報S03[3]及びS03[4]がLOW)、「アクセス許可」となる(アクセス許可信号S04がHIGH)。時刻t5において「アクセス許可」とされたバンク3及び4に対応するバンク使用状態情報S03[3]及びS03[4]は時刻t6で「ビジー状態(HIGH)」となり、時刻t6のバンク1〜4に対するアクセス要求(アクセス単位情報S06は4、アクセス要求バンク情報S02[1]〜S02[4]がHIGH)は「アクセス不可」となる(アクセス許可信号S04がLOW)。時刻t7ではバンク3及び4の「ビジー状態」が解かれて「フリー状態」となる(バンク使用状態情報S03[3]及びS03[4]がLOW)。そのため、バンク1〜4に対するアクセス要求(アクセス単位情報S06は4、アクセス要求バンク情報S02[1]〜S02[4]がHIGH)は、時刻t7にて受け付けられる(アクセス許可信号S04がHIGH)。
以上、図1に示したメモリアクセス制御装置100について説明してきたが、メモリアクセス制御装置100とメモリ180とは同一チップ内にあってもよいし、メモリ180が外部メモリでありメモリアクセス制御装置100の実装されたチップとは別チップに存在してもよい。アクセス要求バンク解析部110は、ハードウェアによって実現されてもよいし、プログラムによって実現されてもよい。
以上説明してきたとおり、本発明に係るメモリアクセス制御装置は、複数バンクを持つメモリへのアクセス要求をアドレス情報とアクセス情報とにより制御し、アクセスの種類、システムの状況、メモリの種類等に応じてメモリアクセスの制御を行うので、複数バンクを持つメモリへアクセスを行うシステムにおいて有用である。
100 メモリアクセス制御装置
110 アクセス要求バンク解析部
111 アドレス解析部
112 転送方向解析部
113 アクセス単位解析部
114 マスタ解析部
115 スレーブクロックギア比解析部
116 マスタクロックギア比解析部
117 リマップ情報解析部
118 使用シーン解析部
119 温度解析部
120 故障検出解析部
121 メモリ初期化認知部
125 バンク使用状態情報保持部
130 アクセス許可信号生成部
141〜143 バスマスタ(マスタA〜C)
151〜153 バスインタフェース
160 バスマトリクス
170 メモリインタフェース
180 メモリ
181〜184 メモリバンク(バンク1〜4)
S01 メモリアクセス要求信号
S02 アクセス要求バンク情報
S03 バンク使用状態情報
S04 アクセス許可信号
S05 メモリアクセス
S06 アクセス情報
S07 メモリアクセス信号
110 アクセス要求バンク解析部
111 アドレス解析部
112 転送方向解析部
113 アクセス単位解析部
114 マスタ解析部
115 スレーブクロックギア比解析部
116 マスタクロックギア比解析部
117 リマップ情報解析部
118 使用シーン解析部
119 温度解析部
120 故障検出解析部
121 メモリ初期化認知部
125 バンク使用状態情報保持部
130 アクセス許可信号生成部
141〜143 バスマスタ(マスタA〜C)
151〜153 バスインタフェース
160 バスマトリクス
170 メモリインタフェース
180 メモリ
181〜184 メモリバンク(バンク1〜4)
S01 メモリアクセス要求信号
S02 アクセス要求バンク情報
S03 バンク使用状態情報
S04 アクセス許可信号
S05 メモリアクセス
S06 アクセス情報
S07 メモリアクセス信号
Claims (23)
- 複数バンクを持つメモリを有するシステムにおけるメモリアクセス制御装置であって、
メモリアクセス時に与えられるアドレス情報とアクセス情報とによりアクセスするメモリのバンクを示すアクセス要求バンク情報を生成するアクセス要求バンク解析部と、
前記アクセス要求バンク情報を一定サイクル時間保持してバンク使用状態情報とするバンク使用状態情報保持部と、
前記アクセス要求バンク情報と前記バンク使用状態情報とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号を生成するアクセス許可信号生成部とを備え、
前記バンク使用状態情報保持部は、同一メモリバンクへの競合アクセスを前記アクセス情報に応じて制御するように、アクセス許可されたメモリバンクに係る前記バンク使用状態情報を前記アクセス情報に従って更新することを特徴とするメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリへの読み出しアクセスか書き込みアクセスかを示す転送方向情報であるメモリアクセス制御装置。 - 請求項2記載のメモリアクセス制御装置において、
前記アドレス情報と前記転送方向情報とにより、それぞれ決められた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリへのアクセス単位を示すアクセス単位情報であるアクセス制御装置。 - 請求項4記載のメモリアクセス制御装置において、
前記アドレス情報と前記アクセス単位情報とから、前記アクセス単位と同じビット幅のメモリのみをアクティブにし、アクセスされたバンクのみ決められた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリへのアクセスを行っている処理装置の種類を一意に示すマスタ情報であるメモリアクセス制御装置。 - 請求項6記載のメモリアクセス制御装置において、
前記アドレス情報と前記マスタ情報とによりアクセスされたメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされたバンクのみ前記マスタ情報により決められた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリと当該メモリアクセス制御装置とのクロックギア比を示すスレーブクロックギア比情報であるメモリアクセス制御装置。 - 請求項8記載のメモリアクセス制御装置において、
前記アドレス情報と前記スレーブクロックギア比情報とによりアクセスされたメモリのバンクを前記アクセス要求バンク解析部によって解析し、前記クロックギア比に応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリにアクセスを行っている処理装置と当該メモリアクセス制御装置とのクロックギア比を示すマスタクロックギア比情報であるメモリアクセス制御装置。 - 請求項10記載のメモリアクセス制御装置において、
前記アドレス情報と前記マスタクロックギア比情報とによりアクセスされたメモリのバンクを前記アクセス要求バンク解析部によって解析し、前記クロックギア比に応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリのアドレッシングを示すリマップ情報であるメモリアクセス制御装置。 - 請求項12記載のメモリアクセス制御装置において、
前記アドレス情報と前記リマップ情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、前記リマップ情報から得られたアクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、アプリケーションがどのように前記メモリを使用するかを示す使用シーン情報であるメモリアクセス制御装置。 - 請求項14記載のメモリアクセス制御装置において、
前記アドレス情報と前記使用シーン情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、温度情報であるメモリアクセス制御装置。 - 請求項16記載のメモリアクセス制御装置において、
アクセスするメモリが温度に応じて物理的に変更されるように、前記アドレス情報と前記温度情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリが故障しているかどうかを示す故障検出情報であるメモリアクセス制御装置。 - 請求項18記載のメモリアクセス制御装置において、
前記メモリが故障しているか否かに応じてアクセスするメモリが物理的に変更されるように、前記アドレス情報と前記故障検出情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリのアクセスが初期化中であるかどうかを示すメモリ初期化情報であるメモリアクセス制御装置。 - 請求項20記載のメモリアクセス制御装置において、
前記メモリが初期化中か否かに応じてアクセスするメモリが物理的に変更されるように、前記アドレス情報と前記初期化情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。 - 請求項1〜21のいずれか1項に記載のメモリアクセス制御装置において、
当該メモリアクセス制御装置を通して前記複数バンクを持つメモリにアクセスしてくる処理装置の最大のアクセス単位の整数倍のデータ幅を、前記メモリを並列に並べることで構成し、
前記アクセス要求バンク解析部で生成された前記アクセス要求バンク情報に従って、対応するメモリへのアクセスを制御するメモリアクセス制御装置。 - 請求項1〜22のいずれか1項に記載のメモリアクセス制御装置において、
当該メモリアクセス制御装置を通して前記複数バンクを持つメモリにアクセスしてくる処理装置の最小のアクセス単位に等しいデータ幅とするように、
前記アクセス要求バンク解析部で生成された前記アクセス要求バンク情報に従って、対応するバンクのメモリアクセスのみをアクティブにするメモリアクセス制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006285018A JP2008102759A (ja) | 2006-10-19 | 2006-10-19 | メモリアクセス制御装置 |
| US11/892,334 US20080098153A1 (en) | 2006-10-19 | 2007-08-22 | Memory access controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006285018A JP2008102759A (ja) | 2006-10-19 | 2006-10-19 | メモリアクセス制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008102759A true JP2008102759A (ja) | 2008-05-01 |
Family
ID=39319404
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006285018A Withdrawn JP2008102759A (ja) | 2006-10-19 | 2006-10-19 | メモリアクセス制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20080098153A1 (ja) |
| JP (1) | JP2008102759A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8032722B2 (en) | 2009-10-29 | 2011-10-04 | Kabushiki Kaisha Toshiba | Information processing apparatus and memory control method |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102346629B1 (ko) * | 2014-12-05 | 2022-01-03 | 삼성전자주식회사 | 메모리 접근 제어 방법 및 장치 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3010947B2 (ja) * | 1992-11-26 | 2000-02-21 | 日本電気株式会社 | メモリアクセス制御装置 |
| US6360285B1 (en) * | 1994-06-30 | 2002-03-19 | Compaq Computer Corporation | Apparatus for determining memory bank availability in a computer system |
| AU3832297A (en) * | 1996-02-29 | 1997-09-16 | Hitachi Limited | Semiconductor memory device having faulty cells |
| US5774704A (en) * | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
| US6513103B1 (en) * | 1997-10-10 | 2003-01-28 | Rambus Inc. | Method and apparatus for adjusting the performance of a synchronous memory system |
| US6965974B1 (en) * | 1997-11-14 | 2005-11-15 | Agere Systems Inc. | Dynamic partitioning of memory banks among multiple agents |
| US6151268A (en) * | 1998-01-22 | 2000-11-21 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory and memory system |
| US6021076A (en) * | 1998-07-16 | 2000-02-01 | Rambus Inc | Apparatus and method for thermal regulation in memory subsystems |
| US6928520B2 (en) * | 2000-04-30 | 2005-08-09 | Hewlett-Packard Development Company, L.P. | Memory controller that provides memory line caching and memory transaction coherency by using at least one memory controller agent |
| US7082075B2 (en) * | 2004-03-18 | 2006-07-25 | Micron Technology, Inc. | Memory device and method having banks of different sizes |
| US7394716B1 (en) * | 2005-04-01 | 2008-07-01 | Cypress Semiconductor Corporation | Bank availability indications for memory device and method therefor |
-
2006
- 2006-10-19 JP JP2006285018A patent/JP2008102759A/ja not_active Withdrawn
-
2007
- 2007-08-22 US US11/892,334 patent/US20080098153A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8032722B2 (en) | 2009-10-29 | 2011-10-04 | Kabushiki Kaisha Toshiba | Information processing apparatus and memory control method |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080098153A1 (en) | 2008-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4926963B2 (ja) | 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法 | |
| CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
| US6202107B1 (en) | Host controller interface descriptor fetching unit | |
| JP2023539737A (ja) | 複数のコマンドサブキュー及び対応するアービタを有するメモリコントローラ | |
| CN111198839B (zh) | 存储装置及操作其的方法、控制器 | |
| JP4715801B2 (ja) | メモリアクセス制御装置 | |
| US7039737B1 (en) | Method and apparatus for resource arbitration | |
| JP2002117002A (ja) | 共用型ペリフェラルアーキテクチャ | |
| JP6880402B2 (ja) | メモリアクセス制御装置及びその制御方法 | |
| JP2002502070A (ja) | 共有メモリリソースを有するマルチプロセッサコンピュータシステムにおける動的優先度競合解消のためのシステムおよび方法 | |
| JP6232936B2 (ja) | 情報処理装置、記憶装置制御回路及び記憶装置の制御方法 | |
| JP4616586B2 (ja) | メモリ初期化制御装置 | |
| US8930641B1 (en) | Systems and methods for providing memory controllers with scheduler bypassing capabilities | |
| JP2008102759A (ja) | メモリアクセス制御装置 | |
| JP5218413B2 (ja) | 情報処理装置及びその制御方法 | |
| US20040034748A1 (en) | Memory device containing arbiter performing arbitration for bus access right | |
| JP2005293596A (ja) | データ要求のアービトレーション | |
| US20060248247A1 (en) | Apparatus and method for controlling access to a memory | |
| JP2005107873A (ja) | 半導体集積回路 | |
| JP2011248551A (ja) | アクセス制御装置 | |
| JP2000099391A (ja) | プリンタ装置およびプリンタ制御方法、並びに記録媒体 | |
| JP4983133B2 (ja) | 入出力制御装置およびその制御方法、並びにプログラム | |
| US8732131B2 (en) | Processing system capable of performing download and execution processes concurrently and related method thereof | |
| CN119556849A (zh) | 用于存储器池化的系统和方法 | |
| JP6535516B2 (ja) | マルチ・プログラマブルデバイス・システムとその制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091009 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100513 |