JP2016085515A - 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム - Google Patents

共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2016085515A
JP2016085515A JP2014216196A JP2014216196A JP2016085515A JP 2016085515 A JP2016085515 A JP 2016085515A JP 2014216196 A JP2014216196 A JP 2014216196A JP 2014216196 A JP2014216196 A JP 2014216196A JP 2016085515 A JP2016085515 A JP 2016085515A
Authority
JP
Japan
Prior art keywords
access request
mode
access
request
transferable
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.)
Granted
Application number
JP2014216196A
Other languages
English (en)
Other versions
JP5911548B1 (ja
Inventor
里華 長原
Rika Nagahara
里華 長原
久人 松尾
Hisato Matsuo
久人 松尾
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014216196A priority Critical patent/JP5911548B1/ja
Priority to US14/835,660 priority patent/US9620215B2/en
Application granted granted Critical
Publication of JP5911548B1 publication Critical patent/JP5911548B1/ja
Publication of JP2016085515A publication Critical patent/JP2016085515A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

【課題】共有メモリに対する複数のアクセス要求をうまくスケジューリングすることによって、ターンアラウンドタイムおよびバス利用効率を改善すること【解決手段】本発明に従うスケジューリング装置は、各要求元からのアクセス要求を受け付けるアクセス要求受け付け部と、アクセス要求受け付け部が受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択し、この最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択し、BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択する、アクセス要求選択部とを含み、アクセス要求選択部は、CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、最初のアクセス要求、BIモードで転送可能なアクセス要求、およびCNモードで転送可能なアクセス要求の選択を繰り返すように構成される。【選択図】 図3

Description

本発明は、共有メモリのアクセス制御に関し、特に、複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラムに関する。
コンピュータやストレージデバイスを含む様々な情報処理装置では、電力消費およびコストの削減が重要な課題になっている。例えば、最近のテープドライブは、プロセッサ(CPU)を含む複数の装置によって、DRAMのような外部メモリを共有する構成を採用している。メモリを共有すると、各装置が固有のメモリを持つ場合に比べて、メモリのチップ数を減らすことができ、ひいては、電力消費およびコストの削減や、回路ボードの縮小に役立つ。
しかしながら、共有メモリシステムを使用すると、プロセッサ等の要求元のメモリアクセスのターンアラウンドタイムが長くなって、パフォーマンスに悪影響を及ぼすことがある。パフォーマンスは、共有メモリシステムのバスの利用効率が悪い場合にも低下する。従って、共有メモリシステムにおいては、ターンアラウンドタイムの短縮と、バス利用効率の改善が急務になっている。
プロセッサからのアクセス要求が外部DRAMに送られる場合、アクセス要求のターンアラウンドタイムは、少なくともDRAMのプロトコルオーバーヘッド(アクセス対象のアドレスが有効化されてから、アクセスが終わって無効化されるまでの時間)に依存する。また、最初のアクセス要求が処理されているときに、第2のプロセッサが別のアクセス要求を出すと、第2のプロセッサは最初のアクセス要求の処理が終わるまで、自身のアクセス要求が処理されるのを待たなければならない。これは、第2のプロセッサのターンアラウンドタイムを増加させる。共有メモリシステムにおいてターンアラウンドタイムを改善するための手法として、バンクインターリーブモード(以下、BIモードという)および連続リード/ライトモード(以下、CNモードという)が知られている。
BIモードでは、例えばアクティブコマンドによって、DRAMの複数のバンクを同時に開く、すなわち有効化することができる。コントローラは、異なるバンクアドレスを持つ複数のアクセス要求を、それらの有効化された複数のバンクに対してインターリーブ式に送り、それによりターンアラウンドタイムを短くすることができる。
CNモードでは、コントローラは、前のアクセス要求で指定されたバンクアドレスおよびロウアドレスと同じバンクアドレスおよびロウアドレスを持つライトコマンドまたはリードコマンドを発行することによって、アクセスサイクルを連続させることができ、それによりプロトコルオーバーヘッドおよびターンアラウンドタイムの短縮が可能になる。
BIモードおよびCNモードは、プロトコルオーバーヘッドの低減およびDRAMバス利用効率の改善に寄与するが、アクセス要求のアドレスが、BIモードおよびCNモードの条件を満たさない場合は、ノーマルモードの転送が行われることになる。ノーマルモードでは、リードまたはライトのコマンド毎に、アドレスの有効化および無効化が実行される。
DRAMとしてDDR3 SDRAMを用いた場合に、2つのリードコマンドを連続的に処理する場合のプロトコルオーバーヘッドの例を図1に示す。図1中の1文字のアルファベットは、下記非特許文献1に記載のコマンドを表しており、Aはアクティブコマンド、Rはリードコマンド、Pはプリチャージコマンドである。また、DQはデータ信号、DQSはデータストローブ信号を表している。
(A)ノーマル転送
ノーマル転送では、リードコマンドRごとに、アクティブコマンドAでバンクアドレス及びロウアドレスの有効化を開始してから、プリチャージコマンドPでそれらの無効化を終了するまでに26クロックを要し、従って、2つのリードコマンドRを連続的に処理する場合のプロトコルオーバーヘッドは52クロックである。
(B)BIモード
BIモードでは、2つのバンクからのリードが実行されるので、まずそれらをアクティブコマンドAで有効化した後2つのリードが連続的に実行され、最後にプリチャージコマンドが1度だけ実行される。トータルのプロトコルオーバーヘッドは35クロックである。
(c)ノーマル+CNモード
CNモードの転送は、先行コマンド(ここではノーマルモードのリードコマンド)と同じバンクアドレス及びロウアドレスに対して行われるので、アクティブコマンドAによるそれらのアドレスの有効化は最初だけでよく、プリチャージコマンドも最後に1度だけ実行すればよいので、プロトコルオーバーヘッドは最短の28クロックである。プロトコルオーバーヘッドだけを考えれば、CNモードがベストということになる。
下記の特許文献1には、1回のバスサイクルで複数のアクセス要求を処理するようにしたメモリアクセス装置が記載されている。このメモリアクセス装置は、メモリをメインメモリとして使用する複数のCPUと、メモリをバッファとして使用する他の機能ブロックとに接続され、メモリへの複数のCPUからのアクセス転送を制御するCPUインターフェースと、メモリへのアクセス転送の調停を行うDRAMコントローラとを含んでいる。CPUインターフェースは、複数のCPUからのアクセス要求を待機させ、かつ各アクセスのアドレス、データ転送モード及びデータサイズを受取り保管し、DRAMコントローラにアクセス要求を知らせ、アクセス要求に対して許可信号を受けた場合に、許可信号に応じてDRAMコントローラに情報を送り、DRAMコントローラは、アクセス要求信号を受取り、アクセス調停に基づいて転送を許可されたCPUを指定して許可信号をCPUインターフェースに送るようになっている。
また、下記の特許文献2には、共有メモリシステムを使用する複数の要求元の待ち時間を均等にするための手法が記載されており、それによれば、複数の要求元からのアクセス要求のうち、最も待ち時間の長い要求を選択して、その最長待ち時間要求を他のアクセス要求の後で共有メモリシステムに送り、最長待ち時間要求を出した要求元は、許可された最長待ち時間要求に続けて追加のアクセス要求を共有メモリシステムへ送ることができるようになっている。
米国特許出願公開第2014/0059286A1 米国特許出願公開第2013/0179645A1
DDR3 SDRAM STANDARD, JESD79-3F, July 2012 (http://www.jedec.org/standards-documents/docs/jesd-79-3d)
共有メモリシステムのパフォーマンスの面からは、バス利用効率、すなわち、共有メモリに対するインターフェースの帯域幅(単位時間あたりの転送バイト数)を増大することが重要であり、そのためには、各インターフェースに割り当てられている許容可能なアクセスタイムの制限内で複数のアクセス要求のバースト転送サイズを最大化する必要がある。しかし、特許文献2では、転送の先頭でBIモードができない場合、共有メモリアクセスの要求元であるN台のプロセッサからのアクセス要求がノーマル転送されるため、オーバーヘッドが大きい。また、特許文献2では、1つの転送サイクルで転送可能なアクセス要求の数が制限されているが、上述のように、転送モードによってオーバーヘッドは異なるため、割り当て済みの許容可能なアクセスタイムに余裕がある場合にも転送が打ち切られることがある。従って、特許文献2に記載の手法はバースト転送サイズの最大化には向いていない。
従って、本発明の目的は、共有メモリに対する複数のアクセス要求をうまくスケジューリングすることによって、ターンアラウンドタイムおよびバス利用効率を改善することにある。
本発明の第1の態様は、複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするための装置を提供し、該装置は、
前記各要求元からのアクセス要求を受け付けるアクセス要求受け付け部と、
前記アクセス要求受け付け部が受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択し、前記最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択し、前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択する、アクセス要求選択部と、
を含み、
前記アクセス要求選択部は、前記BIモードで転送可能なアクセス要求または前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択を繰り返すように構成される。
本発明の第2の態様は、複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするための方法を提供し、該方法は、
前記各要求元からのアクセス要求を受け付けるステップと、
前記受け付けるステップで受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択するステップと、
前記最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択するステップと、
前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択するステップと、
を含み、
前記BIモードで転送可能なアクセス要求または前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップを繰り返すように構成される。
本発明の第3の態様は、複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするためのコンピュータプログラムを提供し、該コンピュータプログラムは、コンピュータに前記第2の態様に係る方法の各ステップを実行させる。
いずれの態様においても、アクセス要求選択の基準となる最初のアクセス要求は、FIFOバッファに保管されているアクセス要求のうち、最も待ち時間の長いアクセス要求であってもよい。
また、BIモードで転送可能なアクセス要求の選択、およびCNモードで転送可能なアクセス要求の選択は、FIFOバッファに保管されているアクセス要求を待ち時間の長いものから順に走査することにより、BIモードで転送可能なアクセス要求があるかどうか、およびCNモードで転送可能なアクセス要求があるかどうかをそれぞれ判断するようにしてもよい。
また、スケジューリング装置に対してあらかじめ決められたアクセスタイムを割り当て、最初のアクセス要求、BIモードで転送可能なアクセス要求、およびCNモードで転送可能なアクセス要求を選択するときは、このアクセスタイムの制限内で、それぞれのアクセス要求の選択を繰り返すようにしてもよい。
また、最初のアクセス要求、BIモードで転送可能なアクセス要求、およびCNモードで転送可能なアクセス要求を選択するときは、アクセス要求の選択のたびに、選択したアクセス要求のプロトコルオーバーヘッドを累算し、その累算値を割り当て済みのアクセスタイムと比較することによって累算値がアクセスタイムの制限を超えたかどうかを判断するようにしてもよい。
2つのリードコマンドをノーマルモード、BIモードおよびCNモードで処理したときのプロトコルオーバーヘッドを示す図。 本発明に従うスケジューリング装置を含む共有メモリシステムの構成例を示すブロック図。 本発明に従うスケジューリング装置として機能するプロセッサインターフェースの詳細を示すブロック図。 プロセッサインターフェースのアクセス要求受け付け部に含まれる要求FIFOのエントリの一例を示すブロック図 要求FIFOの内容の具体例を示す図。 本発明に従うスケジューリング方法の実施形態を示すフローチャート。 図6の実施形態におけるアクセス要求を選択するステップの詳細を示すフローチャート。 図7の実施形態においてアクセス要求が選択されるたびに実行される動作を示すフローチャート。 DRAMコントローラへ送るために本発明の実施態様に従って作成されたアクセス要求の転送パッケージの一例を示す図。
本発明に従うスケジューリング装置を含む共有メモリシステムの一構成例を図2に示す。図2において、本発明に従うスケジューリング装置として機能するのはプロセッサインターフェース11である。プロセッサインターフェース11には、それぞれのローカルバスを介して複数のプロセッサ12(プロセッサ1、プロセッサ2・・・プロセッサm)が接続されており、これらのプロセッサ12は共有DRAM14に対する要求元となる。プロセッサインターフェース11は、以下で説明するスケジューリングにより、各プロセッサ12からのアクセス要求を1つの転送パッケージにまとめて、DRAMコントローラ13に送る。DRAMコントローラ13は、この転送パッケージに含まれるアクセス要求(リードまたはライト)に従って共有DRAM14をアクセスする。
プロセッサインターフェース11の詳細を図3に示す。図示のように、プロセッサインターフェース11は、各プロセッサからローカルバスを介してアクセス要求を受け付けるアクセス要求受け付け部31と、アクセス要求受け付け部31が受け付けたアクセス要求を所定の基準に従って選択し、1つの転送パッケージにまとめるアクセス要求選択部32と、プロセッサローカルバスとDRAMコントローラ13との間でリードデータまたはライトデータを転送するデータ転送部33と、DRAMコントローラ13へのインターフェースを提供するDRAMコントローラインターフェース34とを含んでいる。
アクセス要求受け付け部31は、ローカルバスの要求ライン、R/Wラインおよびアドレスラインに接続されており、アクセス要求を持つプロセッサが要求ラインを上げたことに応答して、リードまたはライトを示すR/Wライン上の信号と、アドレスライン上のアドレス信号、すなわち共有DRAM14のバンクアドレス、ロウアドレスおよびカラムアドレスを保管する。本実施形態では、アクセス要求受け付け部31はFIFOバッファ(以下、要求FIFOという)を含み、そのエントリの一例を図4に示す。
図4に示すように、要求FIFOの各エントリは、アクセス要求を出したプロセッサを識別するプロセッサIDと、上述のアドレス信号およびR/W信号とを含む。アクセス要求を出したプロセッサは、ローカルバスから識別することができる。すなわち、図2に示すように、各プロセッサ12には専用のローカルバスが接続されているので、アクセス要求受け付け部31は、要求ラインが上がったローカルバスにより、アクセス要求を出したプロセッサを識別することができる。アクセス要求受け付け部31は、識別したプロセッサのID(図2に示すように、各プロセッサの番号1、2・・・mでもよい)を要求FIFOに保管する。アクセス要求受け付け部31は、プロセッサ12からのアクセス要求を受け付けると、そのことをDRAMコントローラインターフェース34に知らせる。
アクセス要求選択部32は、後で詳しく説明するように、DRAMコントローラ13によって許可されると、アクセス要求受け付け部31の要求FIFOに保管されているアクセス要求から、所定の基準に従ってアクセス要求を選択し、それらのアクセス要求を含む転送パッケージを作成して、DRAMコントローラインターフェース34へ送る。
データ転送部33は、共有DRAM14から読み出したリードデータ及び共有DRAM14に書き込むライトデータを一時的に保管して、リードデータを要求元のプロセッサに転送し、ライトデータをDRAMコントローラ13へ転送する回路で、本実施形態においては、アクセス要求受け付け部31と同様に、FIFOバッファを使用して、それらのデータを保管する。図には示していないが、このFIFOバッファは、リードデータ用のFIFOバッファ(以下、リードFIFOという)およびライトデータ用のFIFOバッファ(以下、ライトFIFOという)を含む。
DRAMコントローラインターフェース34は、DRAMコントローラ13へのインターフェースを提供するもので、アクセス要求受け付け部31からアクセス要求の受け付けを通知されると、DRAMコントローラ13に要求信号を送り、DRAMコントローラ13からの許可信号を待つ。DRAMコントローラ13は、共有DRAM14のアクセスが可能であれば、DRAMコントローラインターフェース34に許可信号を返す。DRAMコントローラインターフェース34は、許可信号を受け取ると、アクセス要求選択部32にアクセス要求の選択および転送パッケージの作成を開始させ、そしてアクセス要求選択部32からの転送パッケージに含まれる各アクセス要求に応じて、必要なモード信号およびアドレス信号をDRAMコントローラ13に送る。モード信号には、上述のR/W信号の他に、BIモードまたはCNモードを示す信号も含まれる。DRAMコントローラ13は、これらの信号に応じて、共有DRAMのアクセスを実行する。
図3に示す各構成要素は、アクセス要求選択部32を除き、上記の特許文献1に記載の対応する構成要素と同じものでもよい。
なお、図2および図3には示していないが、DRAMコントローラ13は、プロセッサインターフェース11の他にも、共有DRAM14を使用する他の機能装置(例えば、テープドライブでは、サーボ回路、エラー訂正回路などが共有DRAMを使用する)のインターフェースに接続することも可能である。その場合、DRAMコントローラ13は、特許文献1にも記載されているように、各インターフェースからの要求を調停するためのアービタを含み、このアービタにより許可されたインターフェースに許可信号を送る。DRAMコントローラ13に複数のインターフェースが接続されている構成では、一般に、あらかじめ決められた許容可能なアクセスタイムが各インターフェースに割り当てられ、各インターフェースは、その制限内で複数のアクセス要求を時分割的にDRAMコントローラ13に送ることができる。
次に、アクセス要求受け付け部31に含まれる要求FIFOの具体的な内容を示す図5と、図6〜図8のフローチャートを参照しながら、本発明に従うスケジューリング装置、すなわちプロセッサインターフェース11の動作について説明する。なお、図6〜図8のフローチャートにおいては、「アクセス要求」を単に「要求」と表記している。
図5に示す要求FIFOは、各プロセッサ12からのアクセス要求に関する情報、すなわちプロセッサID、アドレスおよびリード/ライト(R/W)信号を、アクセス要求の到着順に、上から下に向かって順に保管するよう構成されている。「プロセッサID」の欄に示されているPi(j)は、i番目(i=1、2・・・m)のプロセッサPiからのj番目(j=1、2・・・n)のアクセス要求に係るプロセッサIDである。なお、図5の要求FIFOの場合は、これらの情報がアクセス要求の到着順に上から順に保管されるので、アクセス要求の順番を示す情報(j)を保管しておかなくても、その順番を特定することは可能である。以下では、説明の便宜上、「プロセッサID」の欄に示されているPi(j)がアクセス要求も識別するものとする。
「アドレス」の欄に示されているBankはバンクアドレス、Rowはロウアドレスを表している。実際には、共有DRAM14はこれら2つのアドレスと、カラムアドレスとを用いてアクセスされるが、後述のように、本発明は、これら3つのアドレスのうち、バンクアドレスおよびロウアドレスだけを用いて、アクセス要求の転送をスケジューリングするので、図5ではカラムアドレスの表記を省略している。
「R/W」の欄に示されているRは、アクセス要求がリードであることを表し、Wは、アクセス要求がライトであることを表している。
図5は、最初にプロセッサ1(P1)がBank1、Row10に対してリードのアクセス要求を出したことを示す。アクセス要求受け付け部31は、図6のステップS61でこのアクセス要求P1(1)を受け付け、そのことをDRAMコントローラインターフェース34に通知する。DRAMコントローラインターフェース34は、この通知に応答して、DRAMコントローラ13に要求信号を送り、許可されるのを待つ(ステップS62)。DRAMコントローラ13は、要求信号を受け取ったとき、共有DRAMがアクセス中でなければ、DRAMコントローラインターフェース34に許可信号を送るが、アクセス中の場合は、アクセスが終了するまで許可信号の返送を遅らせる。その間、アクセス要求受け付け部31の要求FIFOには、後続のアクセス要求が到着順に保管され続ける(S62からの「いいえ」のパス)。ここでは、DRAMコントローラ13によって許可されるまでに、プロセッサm(Pm)のn番目のアクセス要求Pm(n)までが要求FIFOに保管されているものとする(図5参照)。DRAMコントローラ13から許可されると、DRAMコントローラインターフェース34は、それに応答して、アクセス要求選択部32にアクセス要求の選択を開始させる。
アクセス要求選択部32は、要求FIFOに保管されている複数のアクセス要求から、以下で説明する所定の基準に従って、アクセス要求を順に選択し、それらを含む転送パッケージを作成する(ステップS63)。次に、アクセス要求選択部32は、選択した1つまたは複数のアクセス要求を含む転送パッケージを、DRAMコントローラインターフェース34を介してDRAMコントローラ13に転送する(ステップS64)。最後に、データ転送部33は、アクセス要求がリードの場合には、共有DRAM14から読み出されたデータをDRAMコントローラ13から受け取って、リードFIFOに保管し、要求元のプロセッサにリードデータがあることをレディ信号で知らせ、リードデータを要求元プロセッサに転送する(ステップS65)。また、データ転送部33は、アクセス要求がライトの場合には、共有DRAM14に書き込むべきライトデータを要求元プロセッサに要求して、ライトFIFOに保管し、次いでそれをDRAMコントローラ14へ転送する(ステップS65)。
上記の各ステップのうち、アクセス要求を選択するステップS63以外は、例えば特許文献1にも記載のように、よく知られているので、それらの詳細については省略する。
アクセス要求選択部32が実行するステップS63の詳細を図7および図8に示す。
アクセス要求選択部32は、まず、アクセス要求受け付け部31の要求FIFOに保管されている複数のアクセス要求から、あとのアクセス要求選択の基準となる最初のアクセス要求を選択する(ステップS71)。この最初のアクセス要求は、要求FIFOにおいて最も待ち時間が長いものが好ましい。その場合、図5の例では、アクセス要求選択部は、プロセッサ1からのリードのアクセス要求P1(1)を選択することになる。
次に、プロセッサインターフェース11に割り当てられている許容可能なアクセスタイムの制限を超えたかどうかを判断するために、アクセス要求選択部32は、最初のアクセス要求P1(1)の選択に続いて、図8のステップS81に進み、プロトコルオーバーヘッドを累算する。最初のアクセス要求P1(1)は、図5の例ではリードであるので、そのプロトコルオーバーヘッドは、例えば26クロックである(図1参照)。次に、アクセス要求選択部32は、プロトコルオーバーヘッドの累算値を許容可能なアクセスタイムと比較することによって、その制限(例えば、1000クロック)を超えたかどうかを判断し(ステップS82)、超えていなければ選択したアクセス要求を転送パッケージに含めて(ステップS83)、次のステップ(今の場合は、図7のステップS72)に進む。最初のアクセス要求P1(1)の場合は、上の例では、累算値は制限を超えていないが、図8のフローは、後述のように、アクセス要求の選択のたびに実行されるので、複数のアクセス要求が選択されて、それらのプロトコルオーバーヘッドの累算値が制限を超えると、アクセス要求選択部32は、直前に選択したアクセス要求を廃棄して、アクセス要求選択プロセスを終了し(ステップS84)、図6のステップS64に進んで、作成した転送パッケージをDRAMコントローラインターフェース34に転送する。ステップS84で廃棄されたアクセス要求は要求FIFOには残っているので、図7のフローを再び実行するときは、選択の対象となる。
アクセス要求選択部32は、次のステップS72で、要求FIFOのエントリを上から順に、すなわち、待ち時間が長いものから順に走査することにより、最初のアクセス要求に対してBIモードで転送可能なアクセス要求があるかどうかを判断する。図5の例では、最初のアクセス要求のバンクアドレスはBank1であり、これと異なるバンクアドレスを持つアクセス要求として、プロセッサ3(P3)からの2番目のアクセス要求P3(2)が見つかるので、アクセス要求選択部はこのアクセス要求を選択する(ステップS73)。もし見つからなければ、ステップS74に進む。
前述のように、従来は、最初のアクセス要求に対してCNモードで転送可能なアクセス要求(図5の例では、同じプロセッサ1(P1)からの2番目のアクセス要求P1(2))が次に選択されていたが、本発明はBIモードを優先する。BIモードでは、少なくとも2つの異なった(Bank、Row)の組み合わせが使用されるため、それらの組み合わせに対して、後続のアクセス要求をCNモードで転送できるようになるからである。
アクセス要求選択部32は、BIモードで転送可能なアクセス要求の選択に続いて、図8のプロセスを前述のようにして実行し、累算値が制限を超えていなければ、選択したアクセス要求を転送パッケージに含めた後、ステップS72に戻って、ステップS73で前に選択したアクセス要求の次のアクセス要求(図5の例では、P2(1))のところから順に走査することにより、BIモードで転送可能なアクセス要求がまだあるかどうか、すなわちBank1およびBank8以外のバンクアドレスを持つアクセス要求があるかどうかを判断する。このように、ステップS72では、要求FIFOのエントリを上から順に、すなわち待ち時間が長いものから順に走査されるので、ステップS73で選択されるアクセス要求が複数の場合には、それらは待ち時間の長い順に選択されることになる。
アクセス要求選択部32は、BIモードで転送可能なアクセス要求がなければ、ステップS74に進んで、要求FIFOにおいて選択済みのアクセス要求の次のアクセス要求から順に走査し、選択済みアクセス要求のバンクアドレスおよびロウアドレスの組み合わせを、まだ選択されていない他のアクセス要求のバンクアドレスおよびロウアドレスの組み合わせと比較することによって、CNモードで転送可能なアクセス要求があるかどうかを判断する。図5の例では、最初に選択したアクセス要求P1(1)は、バンクアドレスおよびロウアドレスの組み合わせが(Bank1、Row10)であり、これと同じ組み合わせを持つアクセス要求は、上から順に、すなわち待ち時間の長いものから順に、P1(2)〜P1(n)、P2(2)、Pm(3)である。また、2番目に選択したアクセス要求P3(2)は、バンクアドレスおよびロウアドレスの組み合わせが(Bank8、Row6)であり、これと同じ組み合わせを持つアクセス要求はP3(3)である。このように、本発明によれば、CNモードに優先して、BIモードで転送可能なアクセス要求を選択しているので、その後でCNモードで転送可能なアクセス要求を少なくとも2組選択することができる。
アクセス要求選択部32は、要求FIFOにおいて選択済みのアクセス要求の次のアクセス要求から順に走査することによって、CNモードで転送可能なアクセス要求を見つけると(図5の例では、最初にP1(2)が見つかる)、それを選択し(ステップS75)、続いて図8のプロセスを実行する。図8のプロセスで累算値が制限を超えていなければ、選択したアクセス要求を転送パッケージに含めた後、ステップS74に戻って、CNモードで転送可能なアクセス要求の選択を繰り返す。ステップS74およびS75を繰り返すことにより、アクセス先のバンクが異なる2つのアクセス要求P1(1)およびP3(2)に対してCNモードで転送可能なアクセス要求が待ち時間の長い順に選択されることになる。
上記の説明から明らかなように、CNモードで転送可能なアクセス要求が選択されるのは、BIモードで転送可能なアクセス要求がない場合(図7のステップS72の「いいえ」からステップS74を経由してステップS75に至るパス)、先行アクセス要求がBIモードの場合(ステップS73からステップS74を経由してステップS75に至るパス)、または先行アクセス要求がCNモードの場合(図8のステップS83から図7のステップS74を経由してステップS75に至るパス)である。
アクセス要求選択部32は、CNモードで転送可能なアクセス要求がない場合は、ステップS71に戻って、まだ選択されていないアクセス要求を対象として、アクセス要求選択の基準となる次のアクセス要求(図5の例では、Pm(1))を選択し、上述の各ステップを繰り返す。
図9は、このようにして選択された複数のアクセス要求からなる転送パッケージの例を示す。図9の転送パッケージにおいて、アクセス要求P1(1)からアクセス要求P1(n)までは、図7のステップS74において「いいえ」のパスに出るまでに選択されたアクセス要求であり、アクセス要求Pm(1)からアクセス要求Pm(n)までは、ステップS74からステップS71に戻って開始される2回目の選択プロセスで選択されたアクセス要求である。アクセス要求Pm(1)の直後のアクセス要求P2(1)は、それまでに選択されなかったアクセス要求のうちで、アクセス要求Pm(1)に対してBIモードで転送可能なアクセス要求、すなわち、アクセス要求Pm(1)とは異なるバンクアドレスを持つアクセス要求であり、その後ろには、アクセス要求Pm(1)と同じバンクアドレスおよびロウアドレスを持つアクセス要求Pm(2)およびPm(n)が、CNモードで転送可能なアクセス要求として、待ち時間の長い順に選択されている。
アクセス要求選択部32は、この転送パッケージをDRAMコントローラインターフェース34に送る。DRAMコントローラインターフェース34は、受け取った転送パッケージに含まれる各アクセス要求に応じて、モード信号(R/Wと、BIモードまたはCNモードを示す信号)およびアドレスをDRAMコントローラ13に順次供給し、アクセス要求がライトの場合は、データ転送部33からライトデータをDRAMコントローラ13に転送させ、アクセス要求がリードの場合は、DRAMコントローラ13から送られてきたリードデータをデータ転送部33に受け取らせる。
DRAMコントローラ13は、DRAMコントローラインターフェース34からのモード信号に応じて適切なコマンドシーケンスを共有DRAMに送り、リードまたはライトを実行する。例えば、図9の例では、最初のリードアクセス要求P1(1)に対して次のリードアクセス要求P3(2)がBIモードになっているので、DRAMコントローラ13は、図1の(B)に示されるようなコマンドシーケンスを発行する。ただし、3番目のアクセス要求P1(2)からP1(n)まではCNモードになっているので、プリチャージコマンドPは、CNモードの最後のアクセス要求P1(n)まで発行されない。その次のPm(1)からは、前と同様のコマンドシーケンスが繰り返される。
以上のように、本発明によれば、基準となる最初のアクセス要求が選択された後は、CNモードに優先して、BIモードで転送可能なアクセス要求が選択される。従って、その後、CNモードで転送可能なアクセス要求を選択する際には、バンクアドレスが異なる少なくとも2つのアクセス要求に対して連続的にアクセス要求を選択できるので、バースト転送サイズの最大化を図ることができる。ただし、最初にBIモードで転送可能なアクセス要求を選択すると、FIFOの順番外の選択になることがあるので、例えば、要求FIFOの対応するエントリに選択済みのタグをつけておけば、2回目以降のアクセス要求選択プロセスにおいて、当該アクセス要求が再度選択されるという不都合を回避することができる。
以上、本発明の好ましい実施形態について説明してきたが、本発明は上述の実施形態に限定されるものではなく、本発明の範囲および趣旨から逸脱することなく様々な変更や修正を行うことが可能である。例えば、上述の実施形態では、あらかじめ決められた許容可能なアクセスタイムがプロセッサインターフェース11に割り当てられていたが、DRAMコントローラ13に接続されているのがプロセッサインターフェース11だけであれば、そのような割り当てを行わなくてもよい。その場合は、図8のフローは不要になるため、ステップS84に代わって、どのようなときに転送を打ち切るかをあらかじめ定義しておく必要があるが、それは任意に決めてよい。
11:プロセッサインターフェース
12:プロセッサ
13:DRAMコントローラ
14:共有DRAM
31:アクセス要求受け付け部
32:アクセス要求選択部
33:データ転送部
34:DRAMコントローラインターフェース

Claims (11)

  1. 複数の要求元によって共有される共有メモリに対して、各要求元からのアクセス要求をスケジューリングするための装置であって、
    前記各要求元からのアクセス要求を受け付けるアクセス要求受け付け部と、
    前記アクセス要求受け付け部が受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択し、前記最初のアクセス要求に対して、バンク・インターリーブ・モード(以下、BIモードという)で転送可能なアクセス要求を選択し、前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくは連続リード/ライト・モード(以下、CNモードという)の場合に、CNモードで転送可能なアクセス要求を選択する、アクセス要求選択部と、
    を含み、
    前記アクセス要求選択部は、前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択を繰り返す、スケジューリング装置。
  2. 前記アクセス要求受け付け部は、前記各要求元からのアクセス要求を到着順にFIFOバッファに保管し、
    前記アクセス要求選択部は、前記FIFOバッファに保管されているアクセス要求のうち、最も待ち時間の長いアクセス要求を前記最初のアクセス要求として選択する、
    請求項1に記載のスケジューリング装置。
  3. 前記アクセス要求選択部は、前記FIFOバッファに保管されているアクセス要求を待ち時間の長いものから順に走査することにより、前記BIモードまたは前記CNモードで転送可能なアクセス要求があるかどうかを判断する、請求項2に記載のスケジューリング装置。
  4. 前記スケジューリング装置に対してあらかじめ決められたアクセスタイムが割り当てられており、前記アクセス要求選択部は、前記アクセスタイムの制限内で、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択を繰り返す、請求項1乃至3のいずれか1項に記載のスケジューリング装置。
  5. 前記アクセス要求選択部は、アクセス要求の選択のたびに、選択したアクセス要求のプロトコルオーバーヘッドを累算し、その累算値を前記アクセスタイムと比較することによって前記累算値が前記アクセスタイムの制限を超えたかどうかを判断する、請求項4に記載のスケジューリング装置。
  6. 複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするための方法であって、
    前記各要求元からのアクセス要求を受け付けるステップと、
    前記受け付けるステップで受け付けたアクセス要求のうち、アクセス要求選択の基準となる最初のアクセス要求を選択するステップと、
    前記最初のアクセス要求に対して、BIモードで転送可能なアクセス要求を選択するステップと、
    前記BIモードで転送可能なアクセス要求がない場合、または先行アクセス要求がBIモードもしくはCNモードの場合に、CNモードで転送可能なアクセス要求を選択するステップと、
    を含み、
    前記BIモードで転送可能なアクセス要求または前記CNモードで転送可能なアクセス要求がない場合に、まだ選択されていないアクセス要求を対象に、前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップを繰り返す、スケジューリング方法。
  7. 前記アクセス要求を受け付けるステップは、前記各要求元からのアクセス要求を到着順にFIFOバッファに保管し、
    前記最初のアクセス要求を選択するステップは、前記FIFOバッファに保管されているアクセス要求のうち、最も待ち時間の長いアクセス要求を前記最初のアクセス要求として選択する、
    請求項6に記載のスケジューリング方法。
  8. 前記BIモードで転送可能なアクセス要求を選択するステップおよび前記CNモードで転送可能なアクセス要求を選択するステップは、前記FIFOバッファに保管されているアクセス要求を待ち時間の長いものから順に走査することにより、前記BIモードで転送可能なアクセス要求があるかどうか、および前記CNモードで転送可能なアクセス要求があるかどうかをそれぞれ判断する、請求項7に記載のスケジューリング方法。
  9. 当該スケジューリング方法を実行する装置に対してあらかじめ決められたアクセスタイムが割り当てられており、前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップは、前記アクセスタイムの制限内で、前記最初のアクセス要求、前記BIモードで転送可能なアクセス要求、および前記CNモードで転送可能なアクセス要求の選択をそれぞれ繰り返す、請求項6乃至8のいずれか1項にスケジューリング方法。
  10. 前記最初のアクセス要求を選択するステップ、前記BIモードで転送可能なアクセス要求を選択するステップ、および前記CNモードで転送可能なアクセス要求を選択するステップは、アクセス要求の選択のたびに、選択したアクセス要求のプロトコルオーバーヘッドを累算し、その累算値を前記アクセスタイムと比較することによって前記累算値が前記アクセスタイムの制限を超えたかどうかを判断する、請求項9に記載のスケジューリング方法。
  11. 複数の要求元によって共有されるメモリに対して、各要求元からのアクセス要求をスケジューリングするためのコンピュータプログラムであって、請求項6乃至10のいずれか1項に記載のスケジューリング方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
JP2014216196A 2014-10-23 2014-10-23 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム Active JP5911548B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014216196A JP5911548B1 (ja) 2014-10-23 2014-10-23 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US14/835,660 US9620215B2 (en) 2014-10-23 2015-08-25 Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014216196A JP5911548B1 (ja) 2014-10-23 2014-10-23 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP5911548B1 JP5911548B1 (ja) 2016-04-27
JP2016085515A true JP2016085515A (ja) 2016-05-19

Family

ID=55792042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014216196A Active JP5911548B1 (ja) 2014-10-23 2014-10-23 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US9620215B2 (ja)
JP (1) JP5911548B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210134749A (ko) * 2019-03-27 2021-11-10 우시 히스키 메디칼 테크놀로지스 컴퍼니., 리미티드. 데이터를 저장하는 장치, 방법 및 판독 가능 저장매체

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210081093A (ko) * 2019-12-23 2021-07-01 주식회사 실리콘웍스 메모리 컨트롤러, 및 이의 동작 방법
CA3073723A1 (en) 2020-02-26 2021-08-26 The Toronto-Dominion Bank Data rendering for applications
US20220107924A1 (en) * 2020-10-01 2022-04-07 The Toronto-Dominion Bank Data reporting architecture for applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784875A (ja) * 1993-09-16 1995-03-31 Oki Electric Ind Co Ltd ライトバッファ制御機構
JP2000315172A (ja) * 1997-12-05 2000-11-14 Texas Instr Inc <Ti> アクセス待ち時間を減少するためにメモリ状態情報を使用するメモリ制御
JP2012083946A (ja) * 2010-10-12 2012-04-26 Canon Inc メモリ制御装置、メモリ制御方法
JP2014167763A (ja) * 2013-02-28 2014-09-11 Canon Inc 電子機器及びその制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282223A (ja) 1996-04-12 1997-10-31 Ricoh Co Ltd メモリ制御装置
JP3265226B2 (ja) 1997-05-28 2002-03-11 甲府日本電気株式会社 バンクアクセス制御方式
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6119207A (en) 1998-08-20 2000-09-12 Seiko Epson Corporation Low priority FIFO request assignment for DRAM access
JP2000330866A (ja) 1999-05-20 2000-11-30 Nec Corp メモリ制御方法およびメモリ制御システム
EP1482412B1 (en) 2003-05-30 2006-08-23 Agilent Technologies Inc Shared storage arbitration
US7356631B2 (en) 2005-01-21 2008-04-08 Himax Technologies, Inc. Apparatus and method for scheduling requests to source device in a memory access system
JP4416694B2 (ja) 2005-05-12 2010-02-17 株式会社ソニー・コンピュータエンタテインメント データ転送調停装置およびデータ転送調停方法
JP2008140065A (ja) 2006-11-30 2008-06-19 Toshiba Corp アクセス調停装置、アクセス調停方法、及び情報処理装置
WO2009130888A1 (ja) * 2008-04-22 2009-10-29 パナソニック株式会社 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法
JP5068300B2 (ja) * 2009-11-24 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
US9268721B2 (en) * 2010-11-25 2016-02-23 International Business Machines Corporation Holding by a memory controller multiple central processing unit memory access requests, and performing the multiple central processing unit memory requests in one transfer cycle
CN102207918B (zh) * 2011-06-07 2014-04-23 北京北大众志微系统科技有限责任公司 一种片上总线仲裁方法及装置
US9208002B2 (en) * 2012-01-06 2015-12-08 International Business Machines Corporation Equalizing bandwidth for multiple requesters using a shared memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784875A (ja) * 1993-09-16 1995-03-31 Oki Electric Ind Co Ltd ライトバッファ制御機構
JP2000315172A (ja) * 1997-12-05 2000-11-14 Texas Instr Inc <Ti> アクセス待ち時間を減少するためにメモリ状態情報を使用するメモリ制御
JP2012083946A (ja) * 2010-10-12 2012-04-26 Canon Inc メモリ制御装置、メモリ制御方法
JP2014167763A (ja) * 2013-02-28 2014-09-11 Canon Inc 電子機器及びその制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210134749A (ko) * 2019-03-27 2021-11-10 우시 히스키 메디칼 테크놀로지스 컴퍼니., 리미티드. 데이터를 저장하는 장치, 방법 및 판독 가능 저장매체
KR102589643B1 (ko) * 2019-03-27 2023-10-16 우시 히스키 메디칼 테크놀로지스 컴퍼니., 리미티드. 데이터를 저장하는 장치, 방법 및 판독 가능 저장매체
US11836098B2 (en) 2019-03-27 2023-12-05 Wuxi Hisky Medical Technologies Co., Ltd. Data storage apparatus and method, and readable storage medium

Also Published As

Publication number Publication date
JP5911548B1 (ja) 2016-04-27
US9620215B2 (en) 2017-04-11
US20160117123A1 (en) 2016-04-28

Similar Documents

Publication Publication Date Title
KR100724557B1 (ko) 아웃 오브 오더 dram 시퀀서
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
US7093094B2 (en) Random access memory controller with out of order execution
JP4715801B2 (ja) メモリアクセス制御装置
JP5666722B2 (ja) メモリ・インターフェース
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
JP4805351B2 (ja) Dramの並列処理を向上するシステム及び方法
TWI710910B (zh) 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點
JPH0219945A (ja) 主記憶制御装置
CN108139994B (zh) 内存访问方法及内存控制器
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US6836831B2 (en) Independent sequencers in a DRAM control structure
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US7913013B2 (en) Semiconductor integrated circuit
US20120159024A1 (en) Semiconductor apparatus
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
KR20240000773A (ko) 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 메모리 컨트롤러
JP5383159B2 (ja) バス中継装置及び制御方法
EP1704487B1 (en) Dmac issue mechanism via streaming id method
US20100131677A1 (en) Data transfer device and data transfer method
JP6165104B2 (ja) 情報処理装置および調停方法
JP4593220B2 (ja) メモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法
JP2006268734A (ja) メモリアクセス制御装置
JP2003228512A (ja) データ転送装置
JP5076574B2 (ja) メモリアクセス装置及び方法

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160212

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160329

R150 Certificate of patent or registration of utility model

Ref document number: 5911548

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150