JP2016177478A - 信号転送装置、情報処理装置、及び信号転送方法 - Google Patents

信号転送装置、情報処理装置、及び信号転送方法 Download PDF

Info

Publication number
JP2016177478A
JP2016177478A JP2015056492A JP2015056492A JP2016177478A JP 2016177478 A JP2016177478 A JP 2016177478A JP 2015056492 A JP2015056492 A JP 2015056492A JP 2015056492 A JP2015056492 A JP 2015056492A JP 2016177478 A JP2016177478 A JP 2016177478A
Authority
JP
Japan
Prior art keywords
write
request
address
data
signal transfer
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
JP2015056492A
Other languages
English (en)
Inventor
鈴木 正宏
Masahiro Suzuki
正宏 鈴木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015056492A priority Critical patent/JP2016177478A/ja
Priority to US15/056,916 priority patent/US10078470B2/en
Publication of JP2016177478A publication Critical patent/JP2016177478A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

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)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

【課題】リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したPosted−Write方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供する。
【解決手段】信号転送装置102は、共有メモリ101へのアクセスを制御するメモリ制御装置103にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェース205と、共有メモリ101へインターフェース205を介して書き込むライト要求があった場合、ライト要求からライトアドレスを取得し、ライトデータの転送量が共有メモリ101までの信号転送経路上のバッファの合計量を上回るまで、アドレスのリードを待機する待機手段206と、を備える
【選択図】図1

Description

本発明は、信号転送装置、情報処理装置、及び信号転送方法に関する。
複数のデバイス間、例えばマスタとスレーブの間においてデータを転送する場合、一方のデバイスは他方のデバイスにライト要求とリード要求を送信する。
リード要求とライト要求が同一の信号線を用いて転送されるプロトコル(例えばOCP規格:Open Core Protocol)の場合、同一のマスタから出力されたリード要求とライト要求は前後関係を保ったままスレーブに到達する。
ところが、リード要求とライト要求とが異なる信号線を用いて転送されるプロトコル(例えばAXI規格:Advanced eXtensible Interface)では経路上のバッファや他のマスタから発行されたリード/ライト要求とのアービトレーションによって発生する待ち時間によっては同一のマスタから出力されたリード要求とライト要求の前後関係が逆転してしまう可能性がある。同一アドレスに対するライト要求をリード要求が追越した場合、追越されたライト要求によって書き換えられる前のデータがリードされることとなり、リード要求を発行したマスタの意図に反した間違ったデータが返ってしまうことになる。
この点に関し、リード要求とライト要求の前後関係を保つ仕組みとして、マスタがライト要求に対するライトレスポンスを待ってからリード要求を発行するという方法がAXII/Fの規格書に記載されている。
また、ライトレスポンスが返らないPosted−Write方式によるライト要求に対してはライト要求発行後に同一のメモリデバイスにダミーリードコマンドを出力し、このダミーリードコマンドに対するレスポンスを待つことによって、ライト要求がメモリに書き込まれるのを待ってからリード要求を発行する方法が既に知られている(例えば、特許文献1)。
しかし、従来のマスタがライト要求に対してライトレスポンスを待ってからリード要求を発行するという方法によっては、ライトレスポンスが返らないPosted Write方式の転送プロトコルをもつI/Fを介した1つ以上の「リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス」を経由したメモリアクセスにおいて、自デバイス内でのリード要求とライト要求の前後関係を保証することは出来ても、経由する「リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス」内部でのリード要求のライト要求追越しを防止できないという問題があった。
また、Posted−Write方式において、ライト要求発行後に同一のメモリデバイスにダミーリードのレスポンスを待つことでライト要求がメモリに書き込まれるのを待ってからリード要求を発行する方法によっては、「リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス」を経由した場合に、そのデバイス内部でのリード要求のライト要求追越しを防止できないという問題があった。
本発明は、このような課題を解決するためになされたものであり、リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したPosted−Write方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供することを目的とする。
上記課題を解決するための本発明は、共有メモリへのアクセスを制御するメモリ制御装置にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェースと、共有メモリへ前記インターフェースを介して書き込むライト要求があった場合、ライト要求からライトアドレスを取得し、ライトデータの転送量が共有メモリまでの信号転送経路上のバッファの合計量を上回るまで、アドレスのリードを待機する待機手段と、を備える信号転送装置を提供する。
本発明によれば、リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したPosted−Write方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供することができる。
信号転送装置を備える情報処理装置の構成を示す図である。 情報処理装置の他の構成例を示す図である。 第1の実施形態に係る待機手段の構成を示す図である。 ライトアドレス管理手段に実装されるライトアドレスFIFOに登録されるデータを示す図である。 ライトアドレス管理手段の動作を示すフローチャートである。 アドレス照合手段の動作を示すフローチャートである。 第2の実施形態に係る待機手段の構成を示す図である。 ダミーライト指示手段の動作を示すフローチャートである。 第3の実施形態に係る待機手段の構成を示す図である。 第4の実施形態に係る待機手段の構成を示す図である。 第5の実施形態に係るライトアドレス管理手段に実装されるライトアドレスFIFOが格納するデータの構成を示す図である。 第6の実施形態に係るライトアドレス管理手段に実装されるライトアドレスFIFOが格納するデータの構成を示す図である。 第7の実施形態に係る待機手段の構成を示す図である。
以下、本発明の一実施形態に係る信号転送装置について図面を参照しながら説明する。
(第1の実施形態)
図1は、信号転送装置102を備える情報処理装置の構成を示す図である。図1に示すように、情報処理装置は、共有メモリ101、と、共有メモリへのアクセスを制御するメモリ制御装置103と、共有メモリ101へのメモリアクセスを要求するマスタ(機能A201〜機能C203)を備えた信号転送装置102と、を備える。本実施例ではメモリ制御装置103が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』であり、信号転送装置102とメモリ制御装置103との間のライト要求がPosted−Write方式のI/Fで接続されている。インターフェース110は、ライトコマンドがPostedのインターフェースである。
メモリ制御装置103の内部のバスであるアービタ302が、AXI I/F(以下、インターフェースをI/Fという。)のようなリード要求とライト要求が異なる信号線を用いて転送されるプロトコルを用いている場合がある。この場合、連続したライト要求とリード要求のアドレスが同一であった場合に、先のライト要求のライトレスポンスを待ってからリード要求を通すなどの仕組みがAXI I/Fの起点となるI/F制御機能301のメモリ側、もしくはアービタ302のマスタ側の部分に実装されていないと、信号転送装置102の機能A201等がマスタとなって発行されたライト要求を同一アドレスへのリード要求が追越してしまう場合が発生してしまう。
メモリ制御装置103がこのような『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』であった場合であって、メモリ制御装置103とのライト要求のI/F110がPosted−Write方式であっても同一アドレスに対するライト要求をリード要求が追越さないようにする必要がある。そこで、信号転送装置102はリード要求待機手段(以下、待機手段206という。)を備える。
待機手段206は共有メモリ101へのアクセスアドレスを監視し、先に発行されたライト要求と同一のアドレスへのリード要求が発行された場合は、待機手段206以降のデータバッファ段数分のデータ量がライトされるまでリード要求を待機させる機能を持つ。
本実施例では図1に示すように、待機手段206は、信号転送装置102のI/F制御機能205とメモリ制御装置103のI/F制御機能301、アービタ302、メモリコントローラ306のバッファ(図1中はBufと記載)のサイズを合計した量のライトデータが通過するのを待ってからリード要求を発行するよう制御する。
図1のアービタ302に2箇所のバッファが記載されているのは、アービタでは一般的に各マスタポートとスレーブポートにそれぞれバッファが搭載されることが多いことからそのように表記したものである。
信号転送装置102は、ライトデータが待機手段206から共有メモリ101までの経路に存在するバッファサイズ以上のライトデータの通過を待つことにより、先に発行されたライト要求が共有メモリ101に書き込まれたことが保証され、その後に発行したリード要求が同一アドレスへのライト要求を追越すことが防止される。
共有メモリ101は、画像やCPU(central processing unit)のためのプログラムを一時蓄積する主記憶部である。機能A201〜機能C203や機能1(303)〜機能3(305)において処理するデータは、共有メモリ101に展開される。
信号転送装置102は、機能A201のような共有メモリ101に対してマスタとしてメモリアクセスする機能(機能A201)を一つ以上備え、共有メモリ101に対して一つ以上の『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』を介してアクセスし、かつ共有メモリ101へのアクセス経路にPosted−Write方式のライト要求を行うI/F制御機能205を備えるデバイスである。
本実施例ではメモリ制御装置103が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』に該当し、かつメモリ制御装置103に対してPosted−Write方式のライト要求を行うI/Fによって接続される。
待機手段206はライト要求のアドレスを監視し、先に発行されたライト要求と同一のアドレスへのリード要求が発行された場合は、待機手段206以降のデータバッファ段数分のデータ量がライトされるまでリード要求を待機させることにより、同一アドレスへのライト要求を追越すことを防止する。図1の中の機能B202、機能C203及びアービタ204は本発明の必要要件ではないが、構成の一例として図示した。
メモリ制御装置103は、信号転送装置102から共有メモリ101へのリード/ライト要求を受け渡すI/F制御機能301と、共有メモリ101と接続するメモリコントローラ306と、を備える。メモリ制御装置103は、アービタ302等により信号転送装置102から受信したリード要求とライト要求の前後関係を保つ制御をせずに共有メモリ101へアクセスする。
この構成において、例えば次のような場合にはリード要求とライト要求の前後関係が保たれず、リードとライトの追い越しが発生する。アービタ302がAXIのようなリード要求とライト要求を異なる信号線を用いて転送するプロトコルを採用している場合に、ライト要求やリード要求をそれぞれライトレスポンス、リードレスポンスが返ってから発行する方式を取っていない場合、もしくはライト要求やリード要求をそれぞれライトレスポンス、リードレスポンスを待たずに発行する方式であってもライト要求とリード要求のアドレスを監視していてレスポンスが返る前に同一のアドレスに対するアクセス要求があったときだけは該当するアクセス要求のレスポンスが返ってから次のアクセスを開始する仕組みを持たない場合である。
図1の中の機能1(303)〜機能3(305)は本発明の必要要件ではないが、構成の一例として図示した。
図2は、情報処理装置の他の構成例を示す図である。図1においては、メモリコントローラ306を備えたメモリ制御装置103が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』である構成例として図示した。
図2に示すように、情報処理装置は、共有メモリ101に対してマスタとしてアクセスする信号転送装置102から共有メモリ101までの経路に『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』である中継装置104を備えていてもよい。図2の情報処理装置の場合、待機手段206によって待機させるライトデータのデータ量の合計は中継装置104の内部のI/F制御機能104AからI/F制御機能104Bまでのライトデータのバッファの合計サイズとなる。
図3は、第1の実施形態に係る待機手段206の構成を示す図である。図3に示すように、待機手段206は、信号転送装置102から出力されるライト要求のアドレスをラッチし、リード要求のアドレスと照合し、先に出力したライト要求と同一アドレスへのリード要求があれば、そのリード要求の出力を待機させる。待機されたリード要求は、上記ライト要求出力後に待機手段206から共有メモリ101までの経路に存在するライトデータのバッファサイズ分のライトデータが信号転送装置102から出力された後に出力される。
待機手段206は、アドレス照合手段401と、リード要求転送手段402と、リードデータ転送手段403と、ライトアドレス管理手段404と、ライト要求転送手段405と、ライトデータ転送手段406と、を備える。
アドレス照合手段401は、ライトアドレス管理手段404から通知されるアクセス中のライトアドレス情報と、リード要求転送手段402において転送を行おうとしているリード要求のアドレスを照合し、同一アドレスかどうかを判断する。アドレスが同一でなかった場合、リード要求転送手段402にリード要求転送指示を通知する。同一アドレスであった場合は、該当するライト要求のアクセスが完了し、ライトアドレス管理手段404から通知されるアクセス中のライトアドレス情報から該当するアドレス情報が削除されるまで待ってから、リード要求転送指示をリード要求転送手段402に通知する。
ここで、アクセス中のライトアドレス情報とは、共有メモリ101に書込みが完了したかどうか判断できないライト要求のライトアドレスの情報を示し、該当するライト要求のライトアドレスとそのライトデータサイズのことである。Posted−Write方式の場合、ライト完了のレスポンスが返らないため、経路上のライトデータのバッファサイズ以上のライトデータが通過したかをカウントすることにより共有メモリ101に書込みが完了したと判断する。もしくは、ライト要求が図2に示す中継装置104、すなわち『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』を通過完了と判断する。
リード要求転送手段402は、リード要求を受けるとアドレス照合手段401にリードアドレス情報を通知し、アドレス照合手段401からのリード要求転送指示を受けて、リード要求をI/F制御機能205に転送する。
リードデータ転送手段403は、I/F制御機能205から受け取ったリードデータをアービタ204に転送する。本発明の必要要件ではないが実施例として記載した。
ライトアドレス管理手段404は、ライト要求転送手段405からライト要求のあったライトアドレス情報を受け取り、内部のライトアドレスFIFOにラッチする。ライトアドレス管理手段404は、ライトアドレスFIFOに登録されたアドレスはアクセス中のライトアドレス情報としてアドレス照合手段401に通知する。
また、ライトアドレス管理手段404は、ライト転送量情報をライトデータ転送手段406から受け取り、ライト要求を出力した後に通過したライトデータのサイズをライトアドレスFIFOに登録されたライト要求毎にカウントし、待機手段206から共有メモリ101までの経路に存在するライトデータのバッファサイズと比較して、それを超えるとライトアクセス完了と判断し、ライトアドレスFIFOから削除する。ライトアドレス管理手段404は、ライトアドレスFIFOから削除されたアドレスはアドレス照合手段401に通知するアクセス中のライトアドレス情報からも削除する。
ライト要求転送手段405は、アービタ204から受け取ったライト要求をI/F制御機能205に転送すると共に、そのライトアドレス情報をライトアドレス管理手段404に通知する。
ライトデータ転送手段406は、アービタ204から受け取ったライトデータをI/F制御機能205に転送すると共に、そのライト転送量情報をライトアドレス管理手段404に通知する。
待機手段206から共有メモリ101までの経路に存在するライトデータのバッファサイズはシステム構成に依存する。信号転送装置102を複数のシステムに適用することが出来るよう、ライトアドレス管理手段404が比較に用いる転送ライトデータ量はレジスタ等によりシステム毎に設定変更できる仕組みとしてもよい。
ライト要求とライトデータが非同期に転送されるスプリットトランザクション方式のI/Fに本発明を適用する場合は、ライトアドレス管理手段404は、ライト要求転送手段405から通知されるライトアドレス情報とライトデータ転送手段406から通知されるライト転送量情報とを紐付けて管理し、ライトアドレスFIFOに登録されたライト要求に該当するライトデータ転送後に通過したライトデータ量をカウントする必要がある。
図4は、ライトアドレス管理手段404に実装されるライトアドレスFIFOに登録されるデータを示す図である。図4(A)は、ライトアドレスFIFOに登録されるデータを、図4(B)は別途記憶されるライトアクセス経路のバッファサイズを示す。
図4に示すように、ライトアドレスFIFOは、登録されたデータが有効であるか否かを示す「有効フラグ」と、書き込み先のアドレスを示す「ライトアドレス」と、ライトデータの大きさを示す「ライトデータサイズ」と、待機手段206を通過したデータの量を示す「通過ライトデータカウンタ」と、を先入先出にて格納する。ライトアドレスFIFOは例えば、8個のレコード(データ)を格納する。
ライトアドレス管理手段404は、ライト要求が転送されるたびにライト要求転送手段405から通知されるライトアドレスと、そのライトデータサイズをライトアドレスFIFOに登録し、登録されたライトアドレスが有効であることを示す有効フラグを1にする。
ライトアドレス管理手段404は、登録されたライト要求毎に、ライト要求が転送された後に通過したライトデータサイズをライトデータ転送手段406から通知されるライト転送量情報に基づいてカウントする。ライトアドレス管理手段404は、「通過ライトデータカウンタ」の値が「ライトアクセス経路のバッファサイズ」の値を超えると、当該データをライトアドレスFIFOから削除し、アドレス照合手段401に通知する「アクセス中のライトアドレス情報」からも削除する。
図5は、ライトアドレス管理手段404の動作を示すフローチャートである。図5に示すように、ステップ501において、ライトアドレス管理手段404は、ライト要求転送手段405から新たなライトアドレス情報の入力があったかを判定する。
ライト要求転送手段405は、ライト要求が入力されるたびにライトアドレス情報をライトアドレス管理手段404に通知する。
ライトアドレス管理手段404は、ライトアドレス情報を通知された場合は、ライトアドレスFIFOに登録するためステップ502に移行する。ライトアドレス情報の通知がなければ、既にライトアドレスFIFOに登録されているライト要求(ライトアドレス)に対応した通過ライトデータカウンタを更新するためステップ503に移行する。
ステップ502において、ライトアドレス管理手段404は、新たなライトアドレス情報をライトアドレスFIFOの有効フラグ0の領域に登録し、当該データの有効フラグを1に変更する。
ステップ503において、ライトアドレス管理手段404は、ライトアドレスFIFOの有効フラグに1があるデータがあるかを判定する。
ライトアドレスFIFOに有効フラグが1となっているライトアドレスのデータがあれば、そのことはメモリ制御装置103にPosted−Writeされた後、確実に共有メモリ101に書込みが完了したかどうかを判断できないライト要求があることを示す。
ライトアドレス管理手段404は、有効フラグが1となっているライトアドレスのデータがあれば、対応する通過ライトデータカウンタを更新するためステップ504に、なければステップ507に移行する。
通過ライトデータカウンタは新たなライト要求に伴うライトデータの転送がなければ更新されないため、一度、ライトアドレスFIFOにライトアドレスが登録されると有効フラグが全て0となる状態にはならない。従って、第1の実施形態においては、ステップ504ステップは不要であるため省略し、常にステップ505に移行しても良い。ステップ504は、ダミーライトを発生させた場合にのみ、新たなライトアドレスの登録がないまま通過ライトデータカウンタが更新されることにより、有効フラグが全て0となる状態が発生するため、この場合にのみ実行されるようにしてもよい。
ステップ504において、ライトアドレス管理手段404は、ライトデータ転送手段406のライト転送量情報を取得し、ライトアドレスFIFOに登録された各ライトアドレスに対応する通過ライトデータカウンタを更新する。ライトアドレス管理手段404は、ライトデータ転送手段406から受け取るライト転送量情報から新たに転送されたライトデータ量を取得し、ライトアドレスFIFOの通過ライトデータカウンタに加算する。
ステップ505において、ライトアドレス管理手段404は、ライトアドレスFIFOに登録された各ライト要求(ライトアドレス)について、[通過ライトデータカウンタ]>[ライトアクセス経路のライトデータバッファサイズ]の関係にあるものがないかを判定する。ライトアドレス管理手段404は、この条件を満たすライトアドレスのデータがあればステップ507へ、なければステップ508に移行する。
ステップ506において、ライトアドレス管理手段404は、ライトアドレスFIFOからステップ505の式を満たすライトアドレスのデータを抹消する。具体的には、ライトアドレスFIFOの登録領域の当該ライトアドレスのデータの有効フラグを1から0に変更する。
ライトアクセス経路のライトデータバッファサイズを越えるライトデータが通過したことは、すなわちライトデータが共有メモリ101に書き込み済みであることを示す。書込み済みが確定したライト要求に対応するライトアドレスの有効フラグを0に書き換えることでライトアドレスFIFOから抹消する。
ステップ507において、ライトアドレス管理手段404は、アドレス照合手段401に通知するアクセス中のライトアドレス情報を更新する。
ステップ502とステップ506において追加・削除した有効フラグ情報を元に、共有メモリ101に書込みが完了したかどうか判断できないライト要求のライトアドレスを示す「アクセス中のライトアドレス情報」を更新し、アドレス照合手段401に通知する。
ステップ508において、ライトアドレス管理手段404は、クロック(同期信号)を待ってステップ501に移行する。
図6は、アドレス照合手段401の動作を示すフローチャートである。図6に示すように、ステップ601において、アドレス照合手段401は、リード要求転送手段402から新たなリードアドレス情報の入力があったかを判定する。
リード要求転送手段402はリード要求が入力されるたびにリードアドレス情報をアドレス照合手段401に通知する。アドレス照合手段401はリードアドレス情報を通知された場合は、該当するリード要求を転送して良いか判断するためステップ602に移行する。
ステップ602において、アドレス照合手段401は、ライトアドレス管理手段404からアクセス中のライトアドレス情報を取得する。
アドレス照合手段401は、リードアドレスと比較するため共有メモリ101に書込みが完了したかどうか判断できないライト要求のライトアドレスを示す「アクセス中のライトアドレス情報」をライトアドレス管理手段404から取得する。
ステップ603において、アドレス照合手段401は、ステップ602において取得したリードアドレスと一致するアクセス中のライトアドレスがあるかを判定する。
アドレス照合手段401は、ステップ601において取得したリードアドレスと、ステップ602において取得した1つ以上の書込みが完了したかどうか判断できないライト要求のライトアドレスとを比較し、一致するライトアドレスがあった場合は「アクセス中のライトアドレス情報」から削除されるまで待つためステップ604に移行し、一致するライトアドレスがなければステップ605に移行する。
ステップ604において、アドレス照合手段401は、クロック(同期信号)を待ってステップ602に移行し、リードアドレスと一致したライトアドレスが抹消されたか確認する。
ステップ605において、アドレス照合手段401は、リード要求転送手段402へのリード要求転送指示を通知する。
アドレス照合手段401は、同一アドレスへのライト要求が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』であるメモリ制御装置103の内部に滞留した状態でないことがステップ604において確認されたことを受けて、リード要求転送手段402にリード要求転送指示を通知する。
ステップ606において、アドレス照合手段401は、クロック(同期信号)を待ってステップ601に移行する。
以上述べたように、本実施形態の信号転送装置102は、共有メモリ101へのライト要求があった場合、このライト要求からライトアドレスを取得し、ライトデータの転送量が信号転送経路上のバッファの合計量を上回るまで、当該アドレスのリードを待機する待機手段206を備える。
従って、リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したPosted−Write方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供することができるという効果がある。
(第2の実施形態)
第2の実施形態の構成は、第1の実施形態の構成に対し、待機手段206の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
図7は、第2の実施形態に係る待機手段206の構成を示す図である。図7に示すように、第2の実施形態における待機手段206の構成は、第1の実施形態における待機手段206の構成に加え、ダミーライト指示手段407が追加されたこと以外は第1の実施形態の待機手段206の構成と同様である。
待機手段206は、ダミーライト指示手段407が、ライト要求の転送間隔が一定時間を超えた場合にダミーライトを行うようライト要求転送手段405及びライトデータ転送手段406に指示を送る。
また、ライト要求転送手段405及びライトデータ転送手段406はダミーライト指示手段407からのダミーライト指示を受けてアービタ204からライト要求(ライトコマンド)及びライトデータを受け取らなくても、内部でライト要求及びライトデータを生成しI/F制御機能205に出力する機能を備える。
ダミーライトを行うことによりライトデータ転送手段408からライトアドレス管理手段404に通知されるライト転送量情報が更新され、アービタ204からのライト間隔が開いた場合でも待機中のリード要求が一定期間以内に出力できるようになり、同一アドレスへのライト待ちによるリード性能の低下を一定の値に抑えることが出来る。
ダミーライト先のアドレスは共有メモリ101上のいずれかを指定するのが望ましく、その場合はシステムとして共有メモリ101上にダミーライト領域を確保する必要がある。
図8は、ダミーライト指示手段407の動作を示すフローチャートである。図8に示すように、ステップ801において、ダミーライト指示手段407は、クロック(同期信号)を待ってステップ802に移行する。
ステップ802において、ダミーライト指示手段407は、ライトアドレス情報の更新があったかを判定する。ダミーライト指示手段407は、ライト要求転送手段405が新たなライト要求を受けることに伴うライトアドレス情報の更新があった場合はステップ806に移行する。ダミーライト指示手段407は、ライトアドレス情報の更新がなかった場合はステップ803に移行する。
ステップ803において、ダミーライト指示手段407は、ライト要求間隔カウンタをインクリメントする。ダミーライト指示手段407は、ダミーライト指示手段407の内部に備えたライト要求間隔カウンタをインクリメントする。
ステップ804において、ダミーライト指示手段407は、ライト要求間隔カウンタの値がCPU等により予め設定された最大ライト要求間隔を超えた場合は、ステップ805に移行する。ダミーライト指示手段407は、ライト要求間隔カウンタの値がこの最大ライト要求間隔設定値以下であった場合は、ステップ801に移行する。
ステップ805において、ダミーライト指示手段407は、ステップ804において[ライト要求間隔カウンタ]>[最大ライト要求間隔設定値]の関係にあった場合は、ライト要求転送手段405及びライトデータ転送手段406にダミーライト指示を通知する。
ステップ806において、ダミーライト指示手段407は、ダミーライト指示手段407の内部に備えたライト要求間隔カウンタをリセットし、ステップ801に移行する。
以上述べたように、本実施形態の信号転送装置102は、第1の実施形態の信号転送装置102の構成に加えて、ライト要求の転送間隔を計測し、ライト要求の転送間隔が所定時間を超えた場合にダミーライトを指示するダミーライト指示手段407を備える。
ライト要求が連続して発生していない場合、ライトデータの転送量が変化せず、ライトアドレスFIFOに登録されたライトアドレスが抹消されない状況となる場合において、アドレス照合手段401において待機中のリード要求があると、いつまでも待機が解除されず、リードが遅くなることや、ハングアップが発生するという障害が発生することがある。
これに対し、本実施形態の信号転送装置102は、タイマーであるライト要求間隔カウンタによって一定間隔のダミーライトを発生させることで、アドレス照合手段401において待機するリード要求の最大待機時間が決定され、一定のリードレイテンシが保証され、ハングアップ障害も発生しなくなるという効果がある。
(第3の実施形態)
第3の実施形態の構成は、第2の実施形態の構成に対し、待機手段206の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
図9は、第3の実施形態に係る待機手段206の構成を示す図である。図9に示すように、第3の実施形態における待機手段206の構成は、第2の実施形態における待機手段206の構成に加え、ライトアドレス管理手段404がダミーライト指示手段407に、ライトアドレスFIFOに登録された有効フラグに、1であるものがあるかどうかを通知する有効フラグ情報を出力することが追加されたこと以外は第2の実施形態の待機手段206の構成と同様である。
ダミーライト指示手段407は有効フラグ情報を参照し、有効フラグがアサートされている時のみダミーライト指示を出し、有効フラグがすべて0である場合はライト要求転送手段405及びライトデータ転送手段406に対するダミーライト指示を発行しないよう制御する。有効フラグ情報を参照してダミーライトの指示をブロックする動作以外は図8に示した第2の実施形態の動作フローと同様の動作を行う。
以上述べたように、本実施形態においては、ダミーライト指示手段407は有効フラグ情報を参照し、有効フラグがあるライトアドレスのデータがライトアドレスFIFOある場合にのみダミーライト指示を出す。
従って、本実施形態の信号転送装置102は、第2の実施形態における信号転送装置102と比べて、ダミーライトパケットが発行される回数が減り、トラフィックが減ることによるシステムとしての共有メモリアクセス性能が向上する。
(第4の実施形態)
第4の実施形態の構成は、第2の実施形態の構成に対し、待機手段206の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
図10は、第4の実施形態に係る待機手段206の構成を示す図である。図10に示すように、第3の実施形態における待機手段206の構成は、第2の実施形態における待機手段206の構成に加え、アドレス照合手段401がダミーライト指示手段407に、待機させているリード要求があるかを示す「リード待機情報」を通知することが追加されたこと以外は第2の実施形態の待機手段206の構成と同様である。
ダミーライト指示手段407はリード待機情報を参照し、待機させているリード要求があるときのみダミーライト指示を出し、待機させているリード要求がない場合はライト要求転送手段405及びライトデータ転送手段406に対するダミーライト指示を発行しないよう制御する。待機手段206の動作は、リード待機情報を参照してダミーライトの指示をブロックする動作以外は図8に示す第2の実施形態における待機手段206の動作フローと同様の動作を行う。
以上述べたように、本実施形態の信号転送装置102は、ダミーライト指示手段407はリード待機情報を参照し、待機させているリード要求があるときのみダミーライト指示を出す。
従って、本実施形態の信号転送装置102は、第2の実施形態における信号転送装置102と比べてダミーライトパケットが発行される回数が減り、トラフィックが減ることによるシステムとしての共有メモリアクセス性能が向上する。
(第5の実施形態)
第5の実施形態の構成は、第1の実施形態の構成に対し、ライトアドレス管理手段404に実装されるライトアドレスFIFOが格納するデータの構成が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
図11は、第5の実施形態に係るライトアドレス管理手段404に実装されるライトアドレスFIFOが格納するデータの構成を示す図である。図11(A)は、ライトアドレスFIFOに登録されるデータを、図11(B)は別途記憶されるライトアクセス経路のバッファサイズを示す。
図11に示すように、ライトアドレスFIFOは、登録されたデータが有効であるか否かを示す「有効フラグ」と、書き込み先のアドレスを示す「ライトアドレス」と、待機手段206を通過したデータの量を示す「通過ライトデータカウンタ」と、を先入先出にて格納する。ライトアドレスFIFOは例えば、8個のレコード(データ)を格納する。
転送効率を向上させるため、画像データ等の大きな画像を転送するシステムにおいてはコマンドのバースト長情報やデータバスのバイトイネーブル情報を用いて、複数バイト量のデータを1パケットで転送することが多い。第1の実施形態においてはライトアドレスと共にそのライトデータサイズも合わせてライトアドレスFIFOに保存し、リードアドレスとの照合を行う例を示した。
本実施形態では、信号転送装置102の物理的なシリコンサイズ削減のため、ライトアドレスFIFOにライト要求ごとのライトデータサイズを蓄積しない方法を示す。
ライトデータサイズを蓄積しないため、ライトアドレスFIFOは図11に示すようなフォーマットとなる。
ライトデータサイズは待機手段206を通過するライトパケットの最大サイズという固定値となり、アドレス照合手段に通知しなくてもよく、ライトアドレスFIFOに記憶する必要もない。
アドレス照合手段401では、実際にはアクセスしていないライトアドレスも含めてリードアドレスと照合をしてしまうため、待たせる必要がないリード要求まで待機がかかる可能性もあるが、シリコンサイズを小さくすることでコストを削減出来るメリットを享受できるという点で、システム最適となるケースが考えられる。
以上述べたように、本実施形態の信号転送装置102は、ライトアドレスFIFOにライト要求ごとのライトデータサイズを蓄積しない。
従って、記憶手段にライトデータサイズを記憶する必要がなくなるため、記憶手段のサイズが削減でき、デバイスのコストダウンに繋がるという効果がある。
(第6の実施形態)
第6の実施形態の構成は、第1の実施形態の構成に対し、ライトアドレス管理手段404に実装されるライトアドレスFIFOが格納するデータの構成が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
図12は、第6の実施形態に係るライトアドレス管理手段404に実装されるライトアドレスFIFOが格納するデータの構成を示す図である。図12(A)は、ライトアドレスFIFOに登録されるデータを、図12(B)は別途記憶されるライトアクセス経路のバッファサイズを示す。
図12に示すように、ライトアドレスFIFOは、登録されたデータが有効であるか否かを示す「有効フラグ」と、書き込み先のアドレスを示す「ライトアドレス」と、を先入先出にて格納する。ライトアドレスFIFOは例えば、8個のレコード(データ)を格納する。
ライト要求に対してライトデータサイズを固定長として扱うのは第5の実施形態と同様である。本実施形態においては、ライトアドレス1つにつき決まったライトデータサイズとなることから、通過ライトデータカウンタの代わりに蓄積中のライトアドレス個数で管理する。
ライトアドレスFIFOに登録された順番を管理することで、有効フラグが1となっているライトアドレスの個数に固定値のライトデータサイズをかけたものを通過ライトデータカウンタ情報として管理することで通過ライトデータカウンタは不要となり、図3、7、9、10に図示したライトデータ転送手段406からライトアドレス管理手段404に通知されるライト転送量情報も不要となる。
本実施例の形態を取る場合はダミーライトもライトアドレスFIFOに登録し管理する仕組みとする必要がある。
アドレス照合手段401においては、実際にはアクセスしていないライトアドレスも含めてリードアドレスと照合をしてしまうため、待たせる必要がないリード要求まで待機がかかるという第5の実施形態と同様のデメリットはあるが、よりシリコンサイズを小さくなり、コスト削減メリットを享受できるという点で、システム最適となるケースが考えられる。
以上述べたように、本実施形態の信号転送装置102は、ライトアドレスFIFOがライトアドレスFIFOにライト要求ごとのライトデータサイズ及び通過ライトデータカウンタを蓄積しない。
従って、記憶手段にライトデータサイズを記憶する必要がなくなるため、記憶手段のサイズが削減でき、デバイスのさらなるコストダウンに繋がるという効果がある。
(第7の実施形態)
第7の実施形態の構成は、第2の実施形態の構成に対し、待機手段206の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
図13は、第7の実施形態に係る待機手段206の構成を示す図である。図13に示すように、第7の実施形態における待機手段206の構成は、第2の実施形態における待機手段206の構成に加え、ライトアドレス管理手段404がダミーライト指示手段407に、ライトアドレスFIFOがフルになったことを示すFIFOフル通知を出力することが追加されたこと以外は第2の実施形態の待機手段206の構成と同様である。
ダミーライト指示手段407は、ライトアドレスFIFOに登録されたライトアドレスがフルとなり、これ以上ライトアドレスが書き込めなくなったことを条件にダミーライト指示を行う。
本実施形態の信号転送装置102は、第2の実施形態の信号転送装置102とは以下の点が異なる。
ライト要求転送手段405及びライトデータ転送手段406はダミーライト指示を受けるとアービタ204からのライト要求の受け付けを止めて、ダミーのライトアクセスを発行する。
ライトアドレス管理手段404はライトアドレスFIFOがフルになると、FIFOフル通知をダミーライト指示手段407に通知する。
ダミーライト指示手段407はFIFOフル通知を受けてライト要求転送手段405及びライトデータ転送手段406にダミーライト指示を通知する。
ライト要求が常に一定のデータサイズでライトアクセスするとは限らない場合、最大で
[最大バーストサイズ] × [経路上のライトデータバッファサイズ]
のFIFO段数をもつ必要がある。
例えば512Byteが最大のバーストサイズであるシステムにおいて、全てのライト要求が1Byte単位で発生した場合、512×[経路上のライトデータバッファサイズ]分のライトアドレスFIFOを持つ必要があるが、通常は512Byte単位のライト要求が転送されるシステムにおいて512倍ものFIFOを物理的に実装しておくのはコスト的に不利である。たまに発生するショートパケットに対して本実施例による回避策を適用しておくことで、ライトアドレスFIFOサイズをフルに実装する必要がなくなり、コスト削減が可能となる。
以上述べたように、本実施形態の信号転送装置102は、ダミーライト指示手段407は、ライトアドレスFIFOに登録されたライトアドレスがフルとなったことを条件にダミーライト指示を行う。
従って、本実施形態の信号転送装置102は、たまに発生するショートパケットに対して本構成を取ることで、ライトアドレスFIFOサイズをフルに実装する必要がなくなり、コスト削減が可能となるという効果がある。
なお、ライトアドレス管理手段404は、ライト要求に付加されたライトパケットのバースト長情報に基づいてライト転送量を取得してもよい。
また、ライトアドレス管理手段404は、ライトデータ転送量をライトデータと同期したデータイネーブルビットでカウントしてもよい。
またさらに、ライトアドレス管理手段404は、データ転送量の代わりに、待機手段206からライト要求とリード要求の順番を保つ機能のないデータパスを通過するまでの経路に存在するライト要求そのもののバッファサイズと、待機手段206を通過したライト要求の個数とを比較してライトアドレスを管理するようにしてもよい。
以上、本発明について、好ましい実施形態を挙げて説明したが、本発明の信号転送装置102は上記実施形態の構成に限定されるものでない。
当業者は、従来公知の知見に従い、本発明の信号転送装置102を適宜改変することができる。このような改変によってもなお本発明の信号転送装置102の構成を具備する限り、もちろん、本発明の範疇に含まれるものである。
101 共有メモリ
102 信号転送装置
103 メモリ制御装置
104 中継装置
104A 制御機能
104B 制御機能
110 インターフェース
205 インターフェース制御機能
206 待機手段
301 制御機能
306 メモリコントローラ
401 アドレス照合手段
402 リード要求転送手段
403 リードデータ転送手段
404 ライトアドレス管理手段
405 ライト要求転送手段
406 ライトデータ転送手段
407 ダミーライト指示手段
408 ライトデータ転送手段
特許第4410270号公報

Claims (7)

  1. 共有メモリへのアクセスを制御するメモリ制御装置にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェースと、
    前記共有メモリへ前記インターフェースを介して書き込むライト要求があった場合、前記ライト要求からライトアドレスを取得し、ライトデータの転送量が前記共有メモリまでの信号転送経路上のバッファの合計量を上回るまで、前記ライトアドレスのリードを待機する待機手段と、
    を備える信号転送装置。
  2. 前記待機手段は、
    前記ライト要求の転送間隔を計測し、前記ライト要求の転送間隔が所定時間を超えた場合にダミーライトを指示するダミーライト指示手段をさらに備える請求項1に記載の信号転送装置。
  3. 前記待機手段は、
    前記ライト要求から取得した前記ライトアドレス及び前記共有メモリへのライト中であることを示す有効フラグを先入先出にて記憶するライトアドレスFIFOを備え、
    前記ライトアドレスFIFOに前記有効フラグが有効である前記ライトアドレスが登録されている場合に、ダミーライト指示を出す請求項2に記載の信号転送装置。
  4. 前記待機手段は、
    待機しているリード要求がある場合にのみダミーライト指示を出す請求項2に記載の信号転送装置。
  5. 前記待機手段は、
    前記ライトアドレスFIFOに登録された前記ライトアドレスがフルとなった場合にダミーライト指示を出す請求項3に記載の信号転送装置。
  6. 前記共有メモリへのアクセスを制御するメモリ制御装置と、
    請求項1から請求項5までのいずれか1項に記載の信号転送装置と、
    を備える情報処理装置。
  7. 共有メモリへのアクセスを制御するメモリ制御装置にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェースを介して前記共有メモリへ書き込むライト要求があった場合、前記ライト要求からライトアドレスを取得するステップと、
    ライトデータの転送量が前記共有メモリまでの信号転送経路上のバッファの合計量を上回るまで、前記ライトアドレスのリードを待機するステップと、
    を含む信号転送方法。
JP2015056492A 2015-03-19 2015-03-19 信号転送装置、情報処理装置、及び信号転送方法 Pending JP2016177478A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015056492A JP2016177478A (ja) 2015-03-19 2015-03-19 信号転送装置、情報処理装置、及び信号転送方法
US15/056,916 US10078470B2 (en) 2015-03-19 2016-02-29 Signal transfer device that maintains order of a read request and write request in posted write memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015056492A JP2016177478A (ja) 2015-03-19 2015-03-19 信号転送装置、情報処理装置、及び信号転送方法

Publications (1)

Publication Number Publication Date
JP2016177478A true JP2016177478A (ja) 2016-10-06

Family

ID=56925093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015056492A Pending JP2016177478A (ja) 2015-03-19 2015-03-19 信号転送装置、情報処理装置、及び信号転送方法

Country Status (2)

Country Link
US (1) US10078470B2 (ja)
JP (1) JP2016177478A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018124769A (ja) * 2017-01-31 2018-08-09 キヤノン株式会社 情報処理装置とその制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6642243B2 (ja) 2016-04-27 2020-02-05 株式会社リコー 半導体集積回路及び情報処理方法
JP2018156428A (ja) * 2017-03-17 2018-10-04 富士ゼロックス株式会社 転送制御装置、処理システム及び処理装置
KR102456173B1 (ko) 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200104601A (ko) * 2019-02-27 2020-09-04 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR102421149B1 (ko) 2018-01-02 2022-07-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11262942B2 (en) * 2018-07-16 2022-03-01 ScaleFlux, Inc. Integrating host-side storage device management with host-side non-volatile memory
CN112395245B (zh) * 2019-08-16 2023-04-28 上海寒武纪信息科技有限公司 处理器的访问装置、方法及计算机设备
CN112395244B (zh) * 2019-08-16 2023-04-28 上海寒武纪信息科技有限公司 处理器的访问装置及方法
US11449417B2 (en) * 2019-10-31 2022-09-20 SK Hynix Inc. Memory controller performing host-aware performance booster mode and method of operating the same
US11693774B2 (en) * 2021-08-05 2023-07-04 Micron Technology, Inc. Selectively utilizing a read page cache mode in a memory subsystem

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214642A (en) * 1989-02-21 1993-05-25 Hitachi, Ltd. ATM switching system and adaptation processing apparatus
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5613075A (en) * 1993-11-12 1997-03-18 Intel Corporation Method and apparatus for providing deterministic read access to main memory in a computer system
JPH0934784A (ja) * 1995-07-14 1997-02-07 Sony Corp データ書込み回路、データ読出し回路及びデータ伝送装置
US5917839A (en) * 1996-06-07 1999-06-29 Texas Instruments Incoporated Apparatus and method for a read-modify-write operation in a dynamic random access memory
US5822777A (en) * 1996-08-23 1998-10-13 Emc Corporation Dual bus data storage system having an addressable memory with timer controller fault detection of data transfer between the memory and the buses
KR100214333B1 (ko) * 1996-09-25 1999-08-02 윤종용 디스크 구동 기록장치의 위글 노이즈 제거방법
JP3308912B2 (ja) * 1998-09-08 2002-07-29 エヌイーシーマイクロシステム株式会社 Fifoメモリ装置とその制御方法
JP3699839B2 (ja) * 1998-11-30 2005-09-28 松下電器産業株式会社 半導体記憶装置
US6567094B1 (en) * 1999-09-27 2003-05-20 Xerox Corporation System for controlling read and write streams in a circular FIFO buffer
US7054987B1 (en) * 2003-12-19 2006-05-30 Nvidia Corporation Apparatus, system, and method for avoiding data writes that stall transactions in a bus interface
US20070245016A1 (en) * 2006-04-18 2007-10-18 Lian Li System and method of single-channel account reporting
JP4410270B2 (ja) 2007-04-17 2010-02-03 株式会社東芝 バス制御装置
US7870350B1 (en) * 2007-06-07 2011-01-11 Nvidia Corporation Write buffer for read-write interlocks
US7941584B2 (en) * 2009-03-26 2011-05-10 Arm Limited Data processing apparatus and method for performing hazard detection
JP5419653B2 (ja) * 2009-12-01 2014-02-19 ルネサスエレクトロニクス株式会社 記録装置及び記録方法
US8239589B1 (en) * 2010-03-31 2012-08-07 Amazon Technologies, Inc. Balancing latency and throughput for shared resources
US9792044B2 (en) * 2016-02-12 2017-10-17 Oracle International Corporation Decompression history buffer read/write pipelines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018124769A (ja) * 2017-01-31 2018-08-09 キヤノン株式会社 情報処理装置とその制御方法

Also Published As

Publication number Publication date
US10078470B2 (en) 2018-09-18
US20160274820A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
JP2016177478A (ja) 信号転送装置、情報処理装置、及び信号転送方法
US8868809B2 (en) Interrupt queuing in a media controller architecture
US9280290B2 (en) Method for steering DMA write requests to cache memory
CN112527730A (zh) 用于处理具有设备附接的存储器的远程直接存储器存取操作的系统、装置和方法
US7502896B2 (en) System and method for maintaining the integrity of data transfers in shared memory configurations
CN104205078B (zh) 具有降低的延迟的远程直接存储器访问
JP6408514B2 (ja) 複数のメモリ領域にわたる強順序付けされたデバイス、および排他的トランザクションの自動順序付け
US7647436B1 (en) Method and apparatus to interface an offload engine network interface with a host machine
JP2012073851A (ja) バスシステムおよびそのデッドロック回避回路
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
US20070162637A1 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
JPH10504665A (ja) バスブリッジにおけるトランザクション順序を維持し、遅延応答をサポートする方法及びそのための装置
US20190146935A1 (en) Data transfer device, arithmetic processing device, and data transfer method
EP3077914A1 (en) System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface
US6754751B1 (en) Method and apparatus for handling ordered transactions
US7334056B2 (en) Scalable architecture for context execution
US20080040530A1 (en) Data processing apparatus for controlling access to a memory
US8886844B2 (en) Efficient scheduling of read and write transactions in dynamic memory controllers
US7472212B2 (en) Multi CPU system
JP2002198987A (ja) ハブおよびポート付き転送コントローラのアクティブ・ポート
US7039747B1 (en) Selective smart discards with prefetchable and controlled-prefetchable address space
US20230236742A1 (en) NONVOLATILE MEMORY EXPRESS (NVMe) OVER COMPUTE EXPRESS LINK (CXL)
US8296481B2 (en) Device and method for improving transfer efficiency of odd number of data blocks
JP2000293480A (ja) Dma転送装置
US9448954B2 (en) Method and an apparatus for coherency control