JP4555791B2 - データ読出方法及びデータ読出装置 - Google Patents

データ読出方法及びデータ読出装置 Download PDF

Info

Publication number
JP4555791B2
JP4555791B2 JP2006072738A JP2006072738A JP4555791B2 JP 4555791 B2 JP4555791 B2 JP 4555791B2 JP 2006072738 A JP2006072738 A JP 2006072738A JP 2006072738 A JP2006072738 A JP 2006072738A JP 4555791 B2 JP4555791 B2 JP 4555791B2
Authority
JP
Japan
Prior art keywords
read request
read
data
reissue
flag
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.)
Expired - Fee Related
Application number
JP2006072738A
Other languages
English (en)
Other versions
JP2007249646A (ja
Inventor
祐司 花岡
秀格 松元
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006072738A priority Critical patent/JP4555791B2/ja
Priority to US11/457,483 priority patent/US7769911B2/en
Priority to US11/723,151 priority patent/US20070220179A1/en
Publication of JP2007249646A publication Critical patent/JP2007249646A/ja
Application granted granted Critical
Publication of JP4555791B2 publication Critical patent/JP4555791B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • 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

Description

本発明はデータ読出方法及びデータ読出装置に係り、特に読出要求を発行することによりあらかじめ格納された所望の読出データを得る構成のデータ読出方法及びデータ読出装置に関する。
例えばハードディスク装置に格納されたデータを読み出す際のインタフェースの方式として、PCI−Expressと称される方式が提案されている。
PCI−Expressはインテル社が提唱し、PCI−SIGが仕様策定を進めているものであり、「3GIO(3rd Generation I/O)」の名称で知られたシリアル転送インタフェースを示す。
現在ほとんどのコンピュータで採用されているPCIバスはパラレル転送方式を使用している。このため物理的な技術レベルでは現在のPCIと上記PCI―Expressとの間に互換性はないが、通信プロトコルなどは共通する。
また現在のPCIの最大通信速度が1.06Gbpsであるのに対し、PCI−Expressの最大通信速度は2.5Gbpsである。ただし複数本を束ねて使うことも可能なため、PCI―Expressバスを2本(「2レーン」と呼ぶ)束ねて5Gbpsの通信速度を実現することが可能である。
このPCI―Expressの規約においては後述のごとく、読出要求に対し提供される読出データの順番は保証されない。他方、メモリに格納されたデータを読み出す際、読出要求の発行の時点から該当する読出データが提供されるまでの時間を測定し、所定時間内に該当する読出データが得られない場合、すなわちタイムアウト検出時には再度読出要求を発行する構成とされる場合が多い。
ここで上記のごとくPCI−Expressインタフェースの場合読出要求に対して提供される読出データの順番が保証されない。このため上記のごとくタイムアウト検出後に再度読出要求を発行した場合(以下「リトライ」と称する)、結果的に得られる該当読出データが、最初の読出要求に対するものか、あるいはタイムアウト検出後に発行された2番目の読出要求に対するものかが識別できない場合がある。
このような場合、最初の読出要求に対する読出データの獲得を一旦あきらめた上でリトライしているため、リトライ後に意に反して最初の読出要求に対する読出データが得られかつそれがリトライ前の要求に対するものかリトライ後の要求に対するものかを識別できない場合、問題が生ずる場合がある。すなわち一連の読出動作で得られた読出データ全体としてみた場合に正しいデータが得られない事態が生じ得る。
特開2002−41445号公報 特開2005−85079号公報
本発明は上記問題点に鑑みてなされたものであり、PCI−Expressのごとく、読出要求に対する読出データの順番が保証されないインタフェースを用いる場合であっても、所望の読出データを確実に識別可能とする構成の提供を目的とする。
上記目的達成のため本発明では、読出要求を再発行する際、当該読出要求にフラグを付加することにより最初に発行した読出要求と異なったものとするようにした。
読出要求の発行後にこのフラグを保持しておき、読出要求に対して得られる読出データが当該読出要求に付加されたものと同じフラグを有するようにすれば、読出データを受けた際にそのフラグを参照することにより、当該読出データが最新の読出要求に対するものかを容易かつ確実に判定可能となる。
このように本発明によれば読出データが最新の読出要求に対するものかを容易かつ確実に判定可能となるため、読出要求に対し得られる読出データの順番が保証されない方式の場合であっても、常に正しいデータ読出を実行することが可能となる。したがってデータ読出の信頼性を効果的に向上し得る。
以下本発明の実施例につき、図とともに詳細に説明する。
図1は本発明の一実施例によるファイル制御システムの構成を示す。
同ファイル制御システムはデバイス間インタフェースに上記PCI−Express IFを用いた、いわゆるRAIDx構成を有するファイル制御装置である。
図中、ファイル制御システムを構成する各セントラルモジュール10−0,10−1,...、10−n、10−mはルータ20によって互いにデータの授受が可能な構成で接続されている。
また各セントラルモジュールにはホスト(セントラルモジュール10−0の場合、H0)、及びデバイスコントローラ(同上DC0)を介してハードディスク装置(同上D0)が接続されている。
また各セントラルモジュールは、CPU1,メモリコントロールハブ(以下MCHと称する)2,メモリ4及びDMAコントローラ3を有する。
以下図2乃至4とともに、このファイル制御システムにおけるデータ転送動作例について説明する。
図2中、ホストH0からハードディスク装置D1に対するデータ読出要求が出された場合(ステップS1)、セントラルモジュール10−0のCPU1はこれを受け(ステップS2)、ハードディスク装置D1に対するデータ読出要求のコマンドをメモり4に書き込む指示をMCH2に発行する(ステップS3、S4)。これを受けたMCH2は同コマンドをメモり4に書き込む(ステップS5,S6)。
また上記CPU1は、メモリ4に書き込んだコマンドをDMA転送するよう、MCH2に対し指示する(ステップS8)。これを受けたMCH2はDMA動作を起動するよう、DMAコントローラ3に指示する(ステップS9,S10)。
これを受けたDMAコントローラ3はDMA動作を起動し、読出要求を発行する(ステップS11,S12)。これを受けたMCH2はメモリ4から、上記ハードディスク装置D1に対するデータ読出要求を読み出すとともに、DMAコントローラ3にこれを返信する(ステップS13,S15,S16)。
これを受けたDMAコントローラ3は、当該読出要求を、ルータ20を介して目的のハードディスク装置D1に係るセントラルモジュール10−1のDMAコントローラ3に対して送信する(ステップS17,S18,S19)。
図3に移り、これを受けたセントラルモジュール10−1のDMAコントローラ3は同セントラルモジュール内のMCH2を介してメモり4に対し、受信した読出要求を書き込む(ステップS20,S21,S22,S23)。
またセントラルモジュール10−1のDMAコントローラ3は、上記他のセントラルモジュールからのデータ受信の事実を同セントラルモジュール内のCPU1に通知する(ステップS25)。これを受けたCPU1はメモリ4に書き込まれたデータを読み出すよう、MCH2に指示する(ステップS26,S27)。
これを受けたセントラルモジュール10−1内のMCH2はメモリ4からデータを読み出し、これをCPU1へ返信する(ステップS28,S29,S30,S31)。なおここでメモリ4から読み出されCPU1に返信されたデータは、元々ホストH0から発行され、当該ホストH0に係るセントラルモジュール10−0を介し、さらにルータ20を介して、図2とともに上述の動作によって転送されてきた、ハードディスク装置D1に対する読出要求である。
これを受けたセントラルモジュール10−1のCPU1は当該読出要求に係るデータを解析し、その内容がハードディスク装置D1に対するデータの読出要求であることを認識する(ステップS32,S33)。そこでCPU1はこの認識内容にしたがって、ハードディスク装置D1へのデータ読出要求のコマンドをメモリ4に書き込むよう、MCH2に指示する(ステップS34、S36)。これを受けたMCH2は当該コマンドをメモり4に書き込む。
図4に移り、CPU1は当該メモリ4に書き込まれたコマンドをDMA転送する旨の指示をMCH2に行う(ステップS37)。これを受けたMCH2はデバイスコントローラDC1のDMA動作を起動させる(ステップS38,S39)。
DMA動作を起動したデバイスコントローラDC1は読出要求を発行し、これを受けたMCH2はメモリ4から上記コマンドを読み出してデバイスコントローラDC1に対し返信する(ステップS40,S41,S43,S44)。ここで返信されたコマンドは、上記ハードディスク装置D1へのデータ読出要求のコマンドである。これを受けたデバイスコントローラDC1は該当するハードディスク装置D1に対し読出要求を発行し、当該ハードディスク装置D1から該当するデータを読み出す(ステップS45,S46,S47,S48、S49)。
このようにして読み出されたデータを受けたデバイスコントローラDC1は、これをMCH2を介してメモり4に書き込む(ステップS50,S51,S52)。
以降、上述の動作、すなわちセントラルモジュール10−0のメモリ4に書き込まれたホストH0からのハードディスク装置D1に対する読出要求のデータが要求先のハードディスク装置D1へ転送された際の動作と同様の動作にて、セントラルモジュール10−1のメモリ4に書き込まれた読出データが当該セントラルモジュール10−1のDMAコントローラ3等の機能により、要求元のセントラルモジュール10−0に係るホストH0に対しDMA転送される(ステップS54,S55)。
図5は、一例として、上記セントラルモジュール10−0中のDMAコントローラ3が有するDMAエンジンDE0乃至DE3及びキューイングバッファ(以下単に「キュー」と称する)Q0乃至Q3の機能・動作を説明するための図である。
図示のごとくDMAコントローラ3は複数(この例の場合4個)のDMAエンジン及び複数(同じく4個)のキューを有することで、連続して複数のデータ読出要求を発行可能とされている。
ここで上記DMAコントローラ3は上記のごとく、MCH2に対し、メモリ読出要求(図2中、ステップS12)を発行する。その結果メモリ4から、要求元のホストH0から発行された、ハードディスク装置D1へのデータ読出要求が読み出される(ステップS13,S15,S16、S17)。これが要求先のセントラルモジュール10−1のDMAコントローラ3を介してDMA転送され、相手先セントラルモジュール10−1のCPU1により解釈される(図3のステップS33)。その結果要求先のハードディスク装置D1から該当するデータが読み出され、この読出データが相手側当該セントラルモジュール10−1のDMAコントローラ3及び当該セントラルモジュール10−0のDMAコントローラ3の機能によりDMA転送され、結果的に要求元のホストH0に転送、すなわち返信される(ステップS54)。
ここではこれらのプロセス中、例えば上記ステップS12,S13,S15,S16、S17の部分のプロセスに着目する。
このプロセス中、DMAコントローラ3からの読出要求に対する返信としてメモリ4から読み出されて当該DMAコントローラ3に転送される読出データはパケット形式とされ、コンプレション(Completion)パケットと呼ばれる。
上記のごとくPCI−Expressの規約において、読出要求(Read Request)に対するコンプレションパケットは順番保証されずに返信される。要求元のDMAコントローラ3は返ってこないコンプレションパケットに対しタイムアウト監視を行う。DMAのリソースを効率的に使用するためである。
図5に示すごとくDMAコントローラ3はDMAエンジンとキューとを複数所持している。そのため前記のごとく、読出要求を連続して複数発行することができる。このように読出要求を複数発行した場合、上記のごとく返信の順番が保証されないことにより、これら複数発行した読出要求のうちのいずれの読出要求に対するコンプレションパケットかを識別する必要がある。
図6はコンプレションパケットのヘッダ部分の構成例を示す。上記コンプレションパケットの識別は例えば以下の通り実施される。
すなわち図5に示すDMAエンジンが読出要求を発行すると、DMA要求アービタ3aによる調停を経て、当該読出要求に対しキューが割り当てられる(以下「アサイン」と称する)。そして当該アサインキューに対し、要求制御部3bにより、当該読出要求に係るメモリ4上のアドレス、読み出すデータ長を示すバイトカウント等の情報が書き込まれる。さらに当該キューに対し、要求元のデバイスを識別するリクエスタID及び当該読出要求を発行したDMAエンジンの識別番号としてのタグが書き込まれる。
これらのキューに書き込まれた情報、すなわちアドレス、バイトカウント、リクエスタID及びタグを含めた形で要求制御部3bにより読出要求が生成され、MCH2に対し発行される(図2中、ステップS12)
この読出要求を受けたMCH2はその内容にしたがってメモり2からデータを読み出し、DMAコントローラ3に対し返信する(図2中、ステップS13,S15,S16)。ここで返信されるデータは上記コンプレションパケットである。このコンプレションパケットのヘッダは、例えば図6に示すフォーマットを有する。
これを受けたDMAコントローラ3のキュー管理部3cは、当該コンプレションパケットのヘッダの該当するフィールドに書き込まれたリクエスタID,タグ、アドレス(ここでは「ローアドレス」)、バイトカウント等を参照し、当該読出要求を発行した際にキューに書き込んだ対応する情報と照合する。このようにして同一性を判定する。この同一性の判定とは、読出要求と合致するコンプレションパケットが得られたか否かの判定を意味する。
他方上記のごとくキュー管理部3cではコンプレションパケットに対するタイムアウト監視を行っており、読出要求の発行から所定のタイムアウト時間内に該当するコンプレションパケットが得られなかった場合、読出要求を再発行する。この場合、再発行した読出要求に対するものと別に最初の読出要求に係るコンプレションパケットがタイムアウト後に得られてしまうと問題が生じ得る。
すなわち、最初の読出要求に係るコンプレションパケットと再発行した読出要求に係るコンプレションパケットとがともに得られてしまった場合、キュー管理部3cではその事実を認識し得ない場合がある。これは上記同一性の判定の際に照合するアドレスが、処理の簡略化の目的から、本来の64ビットあるいは32ビットから、例えば下位7ビット等の部分的なもの(これを「ローアドレス」と称する)に簡略化されたものとされることが一般的である。
したがって順次アドレスを更新しながら読出要求を発行するような場合、連続して発行する読出要求の間で、それらの下位7ビットがたまたま一致するような場合があり得る。さらにそれ以外の照合情報、すなわち、バイトカウント、リクエスタID及びタグは、連続して順次アドレスを更新することによってメモリ2からデータを読み出すような場合、共通するものとなる。
そのような場合、仮に全く同じアドレスの読出データ、すなわち全く同一内容のデータよりなるコンプレションパケットが得られた際、キュー管理部3cではそれが全く同一のデータなのか、あるいは異なるデータであるが、たまたま下位7ビットが一致するものであるのか、区別できない。したがってキュー管理部3cは同一のデータを得たことに気づかず、予定通り順次のアドレス更新による正しいデータを得たものと誤判断して以後の処理を進めることとなる。その結果正しいデータ読み出しがなされないこととなる。
本発明の実施例によるDMAコントローラ3の構成によれば、MCH2に読出要求を発行する際、キュー管理部3cにおいて、当該読出要求に係るパケットの未使用領域にフラグを埋め込んだ状態で発行する。そして当該読出要求に対するコンプレションパケットの同一性の判定の際、上記のごとくタグ、ローアドレス、バイトカウントに加え、上記フラグを併せて判定する。その結果、タイムアウト後に再発行した読出要求に対するものか否かを確実に判定可能となる。
この動作につき、以下図7乃至図10とともに説明する。
図7は通常のデータ転送時、すなわちタイムアウトの発生の無い場合の動作の流れを示す。
一例として、ステップS61でDMAエンジンDE0から読出要求が発行されたとする。これがDMA要求アービタ3aに送られ、DMA要求アービタ3aではキュー管理部3cに対し、キューの空きについて問い合わせる(ステップS62)。キュー管理部3cではキューの空きがある場合、その旨を返信する(ステップS63)。DMA要求アービタ3aはこれを受け、要求元のDMAエンジンDE0に、その旨返信する(ステップS64)。またこの返信の事実が要求制御部3bに通知される(ステップS66)。
DMAエンジンDE0ではこの返信を受け、当該読出要求に係るアドレス及びバイトカウントをキュー管理部3c及び要求制御部3bに通知する(ステップS67)。キュー管理部3cはこれを受け、それらの読出要求に係る情報に、要求元のDMAエンジンDE0のタグ、すなわちその番号「0」を加え、該当するキューに格納する(ステップS68)。
また要求制御部3bは該当する読出要求をMCH2に対し発行する(ステップS69)。この場合、該当するキューのフラグカウンタの番号をフラグとして読出要求に埋め込む。その後キュー管理部3cは該当するキューのフラグカウンタを1インクリメントする(ステップS70)。
DMAコントローラ3の要求制御部3bから読出要求を受けたMCH2のDMA受信部2aはメモリ4に対し該当する読出要求を発行する(ステップS71)。そしてそれに対しメモリ4から読み出されたデータをコンプレションパケットとして要求元のDMAコントローラ3のキュー管理部3cに返信する(ステップS72)。
この場合、DMAエンジンDE0から該当する読出要求のアドレス及びバイトカウントの通知があった時点(ステップS68)から、該当するコンプレションパケットがMCH2から返信される時点(ステップS73)までの時間が所定のタイムアウト時間内であったため、当該読出要求の再発行はなされなかったものとする。
コンプレションパケットを受信したキュー管理部3cでは、そこに含まれるフラグ、バイトカウント、ローアドレスを参照し、同一性の判定を行う(ステップS73,S74)。すなわち、当該読出要求に対しステップS68にてキューに格納したローアドレス、バイトカウント、さらに当該読出要求発行時の当該キューに係るフラグカウンタの値とを照合する。このようにして当該読出要求に対して得られたコンプレションパケットか否かを判定する。
判定の結果同一性が確認された場合、当該コンプレションパケットを要求元のDMAエンジンDE0に返信する(ステップS76)。
図8乃至図10とともに、当初発行の読出要求に対するコンプレションパケットの返信が所定のタイムアウト時間内になされず、読出要求を再発行する場合の動作の流れにつき、説明する。
この場合、図8のステップS81でDMAエンジンDE0から読出要求が発行されるとこれがDMA要求アービタ3aに送られる。DMA要求アービタ3aではキュー管理部3cに対し、キューの空きについて問い合わせる(ステップS82)。キュー管理部3cではキューの空きがある場合、その旨を返信する(ステップS83)。DMA要求アービタ3aはこれを受け、要求元のDMAエンジンDE0に、その旨返信する(ステップS84)。またこの返信の事実が要求制御部3bに通知される(ステップS85)。
DMAエンジンDE0ではこの返信を受け、当該読出要求に係るアドレス及びバイトカウントをキュー管理部3c及び要求制御部3bに通知する(ステップS86)。キュー管理部3cはこれを受け、それらの読出要求に係る情報に、要求元のDMAエンジンDE0のタグ、すなわちその番号「0」を加え、該当するキューに格納する(ステップS87)。また要求制御部3bは該当する読出要求をMCH2に対し発行する(ステップS88)。この場合、該当するキューのフラグカウンタの番号をフラグとして読出要求に埋め込む。またこのフラグの値は、該当するキューにも格納される。
この場合当該キューのフラグカウンタは未だインクリメントされておらず「0」のままである。したがってフラグとして「0」が埋め込まれる。その後キュー管理部3cは該当するキューのフラグカウンタを1インクリメントする(ステップS90)。DMAコントローラ3の要求制御部3bから読出要求はMCH2のDMA受信部2aに受信される(ステップS89)。
ここでは上記のごとく当該読出要求に対するコンプレションパケットの返信が所定のタイムアウト時間内に届かず(ステップS91)、その結果要求元であるDMAコントローラ3のキュー管理部3cでは、該当するキューに格納されていた当該読出要求に係るフラグ、バイトカウント、アドレス及びフラグの値の各情報を一旦破棄する(ステップS93)。そして要求元のDMAエンジンDE0に対し、当該読出要求に対するタイムアウトの発生を通知する(ステップS94)。
これを受けたDMAエンジンDE0は読出要求を再発行する(ステップS95)。これがDMA要求アービタ3aに送られ、DMA要求アービタ3aではキュー管理部3cに対し、キューの空きについて問い合わせる(ステップS96)。キュー管理部3cではキューの空きがある場合、その旨を返信する(ステップS97)。DMA要求アービタ3aはこれを受け、要求元のDMAエンジンDE0に、その旨返信する(ステップS98)。またこの返信の事実が要求制御部3bに通知される(ステップS101)。
DMAエンジンDE0ではこの返信を受け、当該読出要求に係るアドレス及びバイトカウントをキュー管理部3c及び要求制御部3bに通知する(ステップS99)。キュー管理部3cはこれを受け、それらの読出要求に係る情報に、要求元のDMAエンジンDE0のタグ、すなわちその番号「0」を加え、該当するキューに格納する(ステップS102)。また要求制御部3bは該当する読出要求をMCH2に対し発行する(ステップS103)。
この場合、該当するキューのフラグカウンタの番号をフラグとして読出要求に埋め込む。なお該当するキューのフラグカウンタはすでに当初の読出要求発行の際、ステップS90において0から1にインクリメントされている。その結果、ここで埋め込まれるフラグは「1」である。このフラグの値は上記同様該当するキューに格納される。その後キュー管理部3cは該当するキューのフラグカウンタを1インクリメントする(ステップS105)。
ここで、一例として、当初の読出要求、すなわちフラグ「0」が埋め込まれた読出要求に対してメモリ4から読み出されたデータのコンプレションパケット、すなわち同じフラグ「0」が埋め込まれたコンプレションパケットがこの時点でMCH2から要求元のDMAコントローラ3に対し返信された場合(ステップS106)を想定する。
この場合、当該コンプレションパケットを受信(ステップS107)したキュー管理部3cでは、そこに含まれるフラグ、バイトカウント、ローアドレスを参照し、同一性の判定を行う(ステップS108)。すなわち、当該読出要求に対しステップS102にてキューに格納したローアドレス、バイトカウント、さらに当該読出要求発行時の当該キューに係るフラグカウンタの値とを照合することのより、当該読出要求に対して得られたコンプレションパケットか否かを判定する。
この場合、すでに当初発行され該当するキューに格納された読出要求に係るフラグ等の情報は、タイムアウト検出時に一旦破棄され(ステップS92)、該当するキューには、再発行に係る、更新後のフラグ等の情報が格納されている(ステップS102)。したがって破棄されたフラグ番号「0」を有するコンプレションパケットに対する同一性判定の結果フラグの不一致が発見されることとなり、その結果当該コンプレションパケットは破棄される(ステップS109)。
次に再発行に係る読出要求、すなわちフラグ「1」が埋め込まれた読出要求に対してメモリ4から読み出されたデータのコンプレションパケット、すなわち同じフラグ「1」が埋め込まれたコンプレションパケットがMCH2から要求元のDMAコントローラ3に対し返信された(ステップS106)とする。
この場合、当該コンプレションパケットを受信(ステップS111)したキュー管理部3cでは、そこに含まれるフラグ、バイトカウント、ローアドレスを参照し、同一性の判定を行う(ステップS112)。すなわち、当該読出要求に対しステップS102にてキューに格納したローアドレス、バイトカウント、さらに当該読出要求発行時の当該キューに係るフラグカウンタの値とを照合することのより、当該読出要求に対して得られたコンプレションパケットか否かを判定する。
この場合両者のフラグの値が一致するため同一性が確認され、キュー管理部3cは当該コンプレションパケットを正規ののデータとして要求元のDMAエンジンDE0に返信する(ステップS114)。
このように本発明の実施例によればタイムアウト検出後の読出要求の再発行時、当初発行に係る読出要求の発行後にインクリメントされたフラグを埋め込む。そして返信されるコンプレションパケットには該当する読出要求に埋め込まれていたものと同じフラグが埋め込まれている。したがって受け取ったコンプレションパケットが当初の読出要求に対するものか、あるいは再発行に係る読出要求に対するものかにつき、容易にかつ確実に識別可能となる。
次に本発明の実施の形態によるフラグの割り付け方法につき説明する。
図11に示すごとく、図5に示すキューQ0乃至Q3の各々に対応するフラグカウンタC0乃至C3が設けられ、該当するキューの動作にリンクしてそのカウント値がカウントアップされる。
図5の構成においてDMAエンジンから読出要求が発行されるとDMA要求アービタ3aが調停を行い、競合に勝ったDMAエンジンからの読出要求が要求制御部3bに転送される。
要求制御部3bではこれを受け、キューの現在の使用状況を見極め、空いているキューがアサインされる。図12の例の場合、すべてのキューが空き状態である。このような場合、後述する「キュー未使用時」の動作が実行される。
また、このような状態において連続して読出要求が要求制御部3bで受信された場合、後述する「連続要求受信時」の動作が実行される。ここで図12は読出要求が到来する前の初期状態における上記キュー及びフラグカウンタの状態を示す。
まず上記「キュー未使用時」の動作につき、図13乃至図18とともに説明する。
図16において、DMAエンジンから読出要求が発行され(ステップS121)、これがDMA要求アービタ3aを介し要求制御部3bで受信される(ステップS122)と、キューの空き状態が確認される(ステップS123)。ここでキューはすべて未使用状態なので、番号の若いキューQ0がアサインされる(図13、ステップS129)。
このようにキューの空き状態が存在するため、その旨がDMAアービタ3a及び要求制御部3bに通知される(ステップS124,S125,S126、S127)。これを受けた要求元のDMAエンジンは、当該読出要求に係るタグ、アドレス、バイトカウントの各情報を送信する(ステップS128)。
これを受けたキュー管理部3cでは、それら及び対応するフラグカウンタC0の値を、上記のごとくアサインされたキューQ0に格納する(ステップS132)。またキュー管理部3cは該当する読出要求の発行後、当該キューQ0に対応するフラグカウンタC0をインクリメントする(図13,ステップS133)。
また要求制御部3bではDMAエンジンから受信した、読出要求に係る情報及びインクリメント前の該当するフラグカウンタC0の値である「0」をフラグとして埋め込んで読出要求を生成し、MCH2に対し発行する(ステップS130)。これがMCH2で受信される(ステップS131)。
MCH2にて当該読出要求にしたがってメモリ4からデータを読み出した後、これをコンプレションパケットとして返信する(図17のステップS134)。
これを受けたキュー管理部3cでは、使用中のキューQ0に格納された発行済みの読出要求に係る情報、すなわちフラグ、バイトカウント、アドレスを、受信したコンプレションパケットに埋め込まれた対応する情報と照合する(ステップS135,S136)。この場合、両者は合致するため、正しいコンプレションパケットと判定し、これを要求元のDMAエンジンに返信する(ステップS137,S138)。
その際、該当するキューQ0のアサインを解除する(図14,ステップS139)。
そしてその後さらにDMAエンジンから新たな読出要求が発行された場合(図18のステップS140)、これがDMA要求アービタ3aを介し要求制御部3bで受信される(ステップS141)と、キューの空き状態が確認される(ステップS142)。上記アサインの解除によりこの時点で再びキューはすべて未使用状態となっているため、再び番号の若いキューQ0がアサインされる(図15、ステップS151)。
上記ステップS142以後の動作(ステップS143乃至S151)は、図16とともに上述のステップS123乃至132の動作と同様である。ただし、当該キューQ0に対応するフラグカウンタC0はすでに前回の読出要求発行後に0から1にインクリメントされているため、この場合、該当する読出要求発行後さらに1から2にインクリメントされる(ステップS152)。
次に上記「連続要求受信時」の動作につき、図19乃至図27とともに説明する。
最初にDMAエンジンから読出要求が発行された際の動作(図23乃至24中、ステップS161乃至S180)は、図16とともに上述の動作(ステップS121乃至S133)と同様である。その結果、図19に示すごとく、キューQ0が使用中となり、対応するフラグカウンタC0が1にインクリメントされた状態となる。
ここでは当該読出要求に対するコンプレションパケットの返信がある前に、DMAエンジンから他の読出要求が発行された場合を想定する。
その場合も図23乃至図24とともに上述の最初の読出要求発行時と同様の動作(図24乃至図25中、ステップS181乃至S200)が実行される。ただしこの場合、すでにキューQ0は使用中なため(図19)、ここでは残りの空きキュー中、若い番号のキューQ1がアサインされる(ステップS192)。そして当該2回目の読出要求発行後、該当するフラグカウンタC1が1にインクリメントされる(図20)。この場合、新たにアサインされたキューQ1に対応するフラグカウンタC1の値は未だインクリメントされていない状態(0)なので、この値が当該発行に係る読出要求に埋め込まれている。
なお、ほぼ同時に複数のDMAエンジンから読出要求が発行された場合も同様の動作がなされる。
その後これら一回目及び2回目の読出要求に対するコンプレションパケットの返信がある前に、DMAエンジンからさらに他の読出要求が発行された場合を想定する。
その場合も図23乃至図24とともに上述の最初の読出要求発行時と同様の動作(図25乃至図26中、ステップS201乃至S220)が実行される。ただしこの場合、すでにキューQ0、Q1は使用中なため(図20)、ここでは残りの空きキュー中、若い番号のキューQ2がアサインされる(ステップS212)。そして当該3回目の読出要求発行後、該当するフラグカウンタC2が1にインクリメントされる。この場合、新たにアサインされたキューQ2に対応するフラグカウンタC2の値は未だインクリメントされていない状態(0)なので、この値が当該発行に係る読出要求に埋め込まれている。
さらにこれら1乃至3回目の読出要求に対するコンプレションパケットの返信がある前にDMAエンジンからさらに他の読出要求が発行された場合も同様の動作がなされる(図26乃至図27中、ステップS221乃至S240)。
その結果、すべてのキューが使用中となり、これに対応してすべてのフラグカウンタも1にインクリメントされた状態となる(図21)。
ここで、最初に2回目の読出要求(図24中、ステップS181)に対するコンプレションパケットが得られた場合(図27中、ステップS241)を想定する。
この場合、図17とともに上述の動作(ステップS135乃至S138)と同様の動作(ステップS242乃至S246)が実行される。その結果該当するキューC1のアサインが解除され(ステップS246)、図22に示すごとく、アサインが解除されたキューC1が未使用状態となり、さらにDMAエンジンから読出要求が発行された場合に対応可能とされる。
なおこのようにフラグカウンタは対応するキューがアサインされ、該当する読出要求の発行の都度、インクリメントされる。また、キューには要求元のDMAエンジンの識別番号であるタグも格納される。そして同じDMAエンジンからの読出要求に対する正しいコンプレションパケットが得られるまで、最初の読出要求発行の際にアサインされたキューは、当該DMAエンジンについてのアサイン状態が維持される。
他方、その間に当該アサイン中のキューについてタイムアウトが検出されればその都度同じDMAエンジンから読出要求が再発行される。そして再発行の都度、対応するフラグカウンタがインクリメントされる。そしてその際、当該キューに格納されるフラグの値も対応して更新される。
そして当該キューのアサインに係るDMAエンジンのタグが埋め込まれたコンプレションパケットが得られた場合、そこに埋め込まれているフラグが参照され、当該キューに格納された最新のフラグと合致しない場合には破棄されるが、合致する際には正しいコンプレションパケットと判定される。その場合コンプレションパケットが要求元に返信されるととに、当該キューのアサインが解除される。
したがってコンプレションパケットの正しい識別が可能となり、識別誤りによるデータ読み出しの誤りの発生を確実に回避可能となる。
上記説明ではフラグの値を他の読出に係る情報とともにキューに格納する例を述べたが、この方法に限られない。フラグカウンタは読出要求発行後にインクリメントされる。このため、コンプレションパケットが得られた場合、そこに埋め込まれたフラグの値と、現在のフラグカウンタの値とを比較し、コンプレションパケットのフラグの値がフラグカウンタの値より1少ない値であった場合に合致と判定するように構成することも可能である。そのように構成することにより、フラグの値をキューに格納する必要が無くなる。:
なお上記の説明では本発明の実施の形態として、図2乃至4とともに上述のファイル制御システムにおける動作の流れの中で、ハードディスク装置D1に対しデータを要求する側のセントラルモジュール10−0において、DMAコントローラ3がMCH2を介し、メモリ4から当該ハードディスク装置D1に対する読出要求のコマンドのデータを読み出す場面(ステップS12乃至S17)を例にとって説明した。
しかしながら本発明の実施の形態はこれに限られず、例えば上記読み出し要求先のハードディスク装置D1に係るセントラルモジュール10−1中の、DMAコントローラ3が同じセントラルモジュール10−1中のメモリ4からデータを読み出す場面、あるいはデバイスコントローラDC1がディスク装置D1からデータを読み出す場面等、様々な場面において同様に適用可能である。
本発明は以下の付記に記載の構成をとり得る。
(付記1)
所定の格納データの読み出しのために読出要求を発行する読出要求発行段階と、
発行した読出要求に対する読出データの到来が所定時間内に到来しない場合に再度読出要求を発行する読出要求再発行段階と、
前記読出要求再発行段階では、前記再度の読出要求にフラグを付加することにより最初に発行した読出要求と異なったものとすることを特徴とするデータ読出方法。
(付記2)
前記読出要求の発行は、発行された読出要求に対する読出データの順番が保証されない構成のデータ読出システムに対してなされてなる付記1に記載のデータ読出方法。
(付記3)
読出データはパケット形式とされてなり、
前記読出要求に付加したフラグは、当該読出要求に対して得られるパケットの未使用領域に埋め込まれた状態で当該パケットとともに提供される構成とされてなる付記1に記載のデータ読出方法。
(付記4)
同時に複数のデータ読出要求を受け付ける構成の複数のキューを設け、
各キューごとに前記読出要求に付加するフラグを決定するフラグカウンタを設け、
前記フラグカウンタは該当するキューについてデータ読出要求が発行されるたびに更新される構成とされてなる付記1に記載のデータ読出方法。
(付記5)
前記読出データはDMA転送により要求元に対し提供される構成とされてなる付記1に記載のデータ読出方法。
(付記6)
前記読出データはPCI−Express方式によるインタフェースを介して得られる構成とされてなる付記1に記載のデータ読出方法。
(付記7)
所定の格納データの読み出しのために読出要求を発行する読出要求発行手段と、
発行した読出要求に対する読出データの到来が所定時間内に到来しない場合に再度読出要求を発行する読出要求再発行手段と、
前記読出要求再発行段階では、前記再度の読出要求にフラグを付加することにより最初に発行した読出要求と異なったものとすることを特徴とするデータ読出装置。
(付記8)
前記読出要求の発行は、発行された読出要求に対する読出データの順番が保証されない構成のデータ読出システムに対してなされてなる付記7に記載のデータ読出装置。
(付記9)
読出データはパケット形式とされてなり、
前記読出要求に付加したフラグは、当該読出要求に対し得られるパケットの未使用領域に埋め込まれた状態で当該パケットとともに提供される構成とされてなる付記7に記載のデータ読出装置。
(付記10)
同時に複数のデータ読出要求を受け付ける複数のキューを設け、
各キューごとに前記読出要求に付加するフラグを決定するフラグカウンタを設け、
前記フラグカウンタは該当するキューについてデータ読出要求が発行されるたびに更される構成とされてなる付記7に記載のデータ読出装置。
(付記11)
前記読出データはDMA転送により要求元に対し提供される構成とされてなる付記7に記載のデータ読出装置。
(付記12)
前記読出データはPCI−Express方式によるインタフェースを介して得られる構成とされてなる付記7に記載のデータ読出装置。
本発明の一実施例によるファイル制御システムの概略構成図である。 図1に示すファイル制御システムにおけるデータ転送動作を説明するためのシーケンス図(その1)である。 図1に示すファイル制御システムにおけるデータ転送動作を説明するためのシーケンス図(その2)である。 図1に示すファイル制御システムにおけるデータ転送動作を説明するためのシーケンス図(その3)である。 図1に示すファイル制御システムを構成する各セントラルモジュールに含まれるDMAコントローラの機能を説明するためのブロック図である。 図1に示すファイル制御システムにおいてデータ転送パケットのヘッダの構成例について説明するための図である。 図5に示すDMAコントローラが実行するDMA転送動作(通常時)を説明するためのシーケンス図である。 図5に示すDMAコントローラが実行するDMA転送動作(タイムアウト時)を説明するためのシーケンス図(その1)である。 図5に示すDMAコントローラが実行するDMA転送動作(タイムアウト時)を説明するためのシーケンス図(その2)である。 図5に示すDMAコントローラが実行するDMA転送動作(タイムアウト時)を説明するためのシーケンス図(その3)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するための図(その1)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するための図(その2)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するための図(その3)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するための図(その4)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するための図(その5)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するためのシーケンス図(その1)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するためのシーケンス図(その2)である。 図5に示すDMAコントローラが実行するフラグの割り付け動作を説明するためのシーケンス図(その3)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するための図(その1)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するための図(その2)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するための図(その3)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するための図(その4)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するためのシーケンス図(その1)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するためのシーケンス図(その2)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するためのシーケンス図(その3)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するためのシーケンス図(その4)である。 図5に示すDMAコントローラが実行する、連続的にデータ読出要求を受信した場合のフラグの割り付け動作を説明するためのシーケンス図(その5)である。
符号の説明
1 CPU
2 メモリコントロールハブ
3 DMAコントローラ
3a DMA要求アービタ
3b 要求制御部
3c キュー管理部
4 メモリ
10−1,10−2,10−n、10−m セントラルモジュール
20 ルータ
H0,H1 ホスト
D0,D1 ハードディスク装置
DC0,DC1 デバイスコントローラ
DE0,DE1,DE2,DE3 DMAエンジン
Q0,Q1,Q2,Q3 キュー
C0,C1,C2,C3 フラグカウンタ

Claims (7)

  1. 所定の格納データの読み出しのために読出要求を発行する読出要求発行段階と、
    発行した読出要求に対する読出データが所定時間内に到来しない場合に再度読出要求を発行する読出要求再発行段階とを有するデータ読出方法であって、
    前記読出要求再発行段階では、前記再度の発行に係る読出要求にフラグを付加することにより当該再度の発行に係る読出要求を最初に発行した読出要求と異なったものとし、
    前記再度の発行に係る読出要求に付加した前記フラグと同一のフラグが付加された、前記再度の発行に係る読出要求に対する読出データにつき、当該読出データに付加されたフラグと、前記再度の発行に係る読出要求に付加したフラグとを照合することにより、当該読出データが、前記最初に発行した読出要求に対する読出データか、前記再度の発行に係る読出要求に対する読出データかを判定する判定段階を有することを特徴とするデータ読出方法。
  2. 前記読出要求再発行段階では、前記再度の発行に係る読出要求に係るメモリ上のアドレスであるローアドレスおよび読み出すデータ長を示すバイトカウントを格納し、
    前記判定段階では、前記再度の発行に係る読出要求に付加した前記フラグと同一のフラグ、並びに前記再度の発行に係る読出要求に係るローアドレスおよびバイトカウントが付加された、前記再度の発行に係る読出要求に対する読出データにつき、当該読出データに付加されたフラグ、並びにローアドレスおよびバイトカウントと、前記再度の発行に係る読出要求に付加したフラグ、並びに前記再度の発行に係る読出要求に係るローアドレスおよびバイトカウントとを照合することにより、当該読出データが、前記最初に発行した読出要求に対する読出データか、前記再度の発行に係る読出要求に対する読出データかを判定する、請求項1に記載のデータ読出方法。
  3. 前記読出要求の発行は、発行された読出要求に対する読出データの順番が保証されない構成のデータ読出システムに対してなされる、請求項1または2に記載のデータ読出方法。
  4. 読出データはパケット形式とされてなり、
    前記読出要求に付加するフラグは、当該読出要求に対して提供されるパケットの未使用領域に埋め込まれた状態で当該パケットとともに提供される、請求項1乃至3のうちの何れか一項に記載のデータ読出方法。
  5. 所定の格納データの読み出しのために読出要求を発行する読出要求発行手段と、
    発行した読出要求に対する読出データが所定時間内に到来しない場合に再度読出要求を発行する読出要求再発行手段とを有するデータ読出装置であって、
    前記読出要求再発行手段は、前記再度の発行に係る読出要求にフラグを付加することにより当該再度の発行に係る読出要求を最初に発行した読出要求と異なったものとし、
    前記再度の発行に係る読出要求に付加した前記フラグと同一のフラグが付加された、前記再度の発行に係る読出要求に対する読出データにつき、当該読出データに付加されたフラグと、前記再度の発行に係る読出要求に付加したフラグとを照合することにより、当該読出データが、前記最初に発行した読出要求に対する読出データか、前記再度の発行に係る読出要求に対する読出データかを判定する判定手段を有することを特徴とするデータ読出装置。
  6. 前記読出要求再発行手段は、前記再度の発行に係る読出要求に係るメモリ上のアドレスであるローアドレスおよび読み出すデータ長を示すバイトカウントを格納し、
    前記判定手段は、前記再度の発行に係る読出要求に付加した前記フラグと同一のフラグ、並びに前記再度の発行に係る読出要求に係るローアドレスおよびバイトカウントが付加された、前記再度の発行に係る読出要求に対する読出データにつき、当該読出データに付加されたフラグ、並びにローアドレスおよびバイトカウントと、前記再度の発行に係る読出要求に付加したフラグ、並びに前記再度の発行に係る読出要求に係るローアドレスおよびバイトカウントとを照合することにより、当該読出データが、前記最初に発行した読出要求に対する読出データか、前記再度の発行に係る読出要求に対する読出データかを判定する、請求項5に記載のデータ読出装置。
    出装置。
  7. 前記読出要求の発行は、発行された読出要求に対する読出データの到来の順番が保証されない構成のデータ読出システムに対してなされる、請求項5または6に記載のデータ読出装置。
JP2006072738A 2006-03-16 2006-03-16 データ読出方法及びデータ読出装置 Expired - Fee Related JP4555791B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006072738A JP4555791B2 (ja) 2006-03-16 2006-03-16 データ読出方法及びデータ読出装置
US11/457,483 US7769911B2 (en) 2006-03-16 2006-07-14 Data reading method and data reading apparatus
US11/723,151 US20070220179A1 (en) 2006-03-16 2007-03-16 Data reading method and data reading apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006072738A JP4555791B2 (ja) 2006-03-16 2006-03-16 データ読出方法及びデータ読出装置

Publications (2)

Publication Number Publication Date
JP2007249646A JP2007249646A (ja) 2007-09-27
JP4555791B2 true JP4555791B2 (ja) 2010-10-06

Family

ID=38519291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006072738A Expired - Fee Related JP4555791B2 (ja) 2006-03-16 2006-03-16 データ読出方法及びデータ読出装置

Country Status (2)

Country Link
US (2) US7769911B2 (ja)
JP (1) JP4555791B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5440105B2 (ja) * 2009-11-06 2014-03-12 株式会社リコー 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体
WO2014186938A1 (zh) * 2013-05-20 2014-11-27 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288283A (ja) * 2002-03-08 2003-10-10 Hewlett Packard Co <Hp> 静的エンドツーエンド再送装置および方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
JPS63316539A (ja) * 1987-06-19 1988-12-23 Fujitsu Ltd マルチキャスト通信装置における再送制御装置
US5544329A (en) * 1992-07-31 1996-08-06 Grumman Aerospace Corporation Interface system with memory map locations for holding flags indicating a priority for executing instructions held within messages received by the interface
US5530848A (en) * 1992-10-15 1996-06-25 The Dow Chemical Company System and method for implementing an interface between an external process and transaction processing system
US5488706A (en) * 1992-12-18 1996-01-30 Amdahl Corporation Retry request system in a pipeline data processing system where each requesting unit preserves the order of requests
JPH06259374A (ja) * 1993-03-08 1994-09-16 Fuji Xerox Co Ltd 入出力バス制御装置
JP3401729B2 (ja) * 1993-05-28 2003-04-28 富士通株式会社 スプリットバス制御回路
JPH09252331A (ja) * 1996-03-18 1997-09-22 Hitachi Ltd 耐故障通信制御方法および予備経路構成方法
US6247077B1 (en) * 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
JP2001051943A (ja) * 1999-08-05 2001-02-23 Canon Inc アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体
US6625683B1 (en) * 1999-08-23 2003-09-23 Advanced Micro Devices, Inc. Automatic early PCI transaction retry
US6728809B1 (en) * 1999-09-09 2004-04-27 Matsushita Electric Industrial Co., Ltd. Time-out control apparatus, terminal unit, time-out control system and time-out procedure
US6766440B1 (en) * 2000-02-18 2004-07-20 Texas Instruments Incorporated Microprocessor with conditional cross path stall to minimize CPU cycle time length
JP2002041445A (ja) 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
US6694390B1 (en) * 2000-09-11 2004-02-17 Intel Corporation Managing bus transaction dependencies
US6633936B1 (en) * 2000-09-26 2003-10-14 Broadcom Corporation Adaptive retry mechanism
US6748460B2 (en) * 2001-09-28 2004-06-08 International Business Machines Corporation Initiative passing in an I/O operation without the overhead of an interrupt
US6725297B1 (en) * 2001-10-15 2004-04-20 Advanced Micro Devices, Inc. Peripheral interface circuit for an I/O node of a computer system
US20030145136A1 (en) * 2002-01-31 2003-07-31 Tierney Gregory E. Method and apparatus for implementing a relaxed ordering model in a computer system
JP2005085079A (ja) 2003-09-10 2005-03-31 Matsushita Electric Ind Co Ltd データ転送制御装置
JP3736641B2 (ja) * 2004-01-22 2006-01-18 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7774780B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Systems and methods for automatic retry of transactions
US7831882B2 (en) * 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US7519752B2 (en) * 2006-02-07 2009-04-14 International Business Machines Corporation Apparatus for using information and a count in reissuing commands requiring access to a bus and methods of using the same
WO2007099586A1 (ja) * 2006-02-28 2007-09-07 Fujitsu Limited リクエスト制御装置およびリクエスト制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288283A (ja) * 2002-03-08 2003-10-10 Hewlett Packard Co <Hp> 静的エンドツーエンド再送装置および方法

Also Published As

Publication number Publication date
US20070220178A1 (en) 2007-09-20
US20070220179A1 (en) 2007-09-20
US7769911B2 (en) 2010-08-03
JP2007249646A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
KR102466353B1 (ko) SSD 스토리지의 NVMe 명령간 연관을 위한 시스템 및 방법
US11163850B2 (en) System, method and computer program product for data transfer management
EP2406723B1 (en) Scalable interface for connecting multiple computer systems which performs parallel mpi header matching
US7069373B2 (en) USB endpoint controller flexible memory management
US8804752B2 (en) Method and system for temporary data unit storage on infiniband host channel adaptor
US20080155145A1 (en) Discovery of a Bridge Device in a SAS Communication System
KR20120027311A (ko) 주변장치 컴포넌트 상호접속 (pci) 익스프레스 네트워크에서 손실되고 고장난 기입된 기록 패킷 검출
US20110153884A1 (en) Storage system provided with function for detecting write completion
US8417853B2 (en) Universal serial bus host control methods and universal serial bus host controllers
US20230359396A1 (en) Systems and methods for processing commands for storage devices
JP5732806B2 (ja) データ転送装置及びデータ転送方法
JP4555791B2 (ja) データ読出方法及びデータ読出装置
CN100342339C (zh) 用于数据访问控制的方法、设备和系统
US20020040414A1 (en) Multiprocessor system and transaction control method for the same
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
US6694383B2 (en) Handling service requests
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
JP2019164713A (ja) ストレージシステム及びデータ転送方法
JP5079502B2 (ja) 並列通信バスを介して割り込みメッセージを伝送するためのコンピュータシステムおよび方法
CN112347012A (zh) 支持SR-IOV的NVMe控制器及方法
US20050283554A1 (en) Computer system and method for queuing interrupt messages in a device coupled to a parallel communication bus
EP3945407A1 (en) Systems and methods for processing copy commands
JP4780333B2 (ja) データプリフェッチデバイス、データプリフェッチ方法およびデータプリフェッチプログラム
JP4102769B2 (ja) 情報処理システム、その故障箇所特定方法、情報処理装置
JP2008278241A (ja) 伝送装置、伝送装置制御方法、および伝送装置制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

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: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100716

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4555791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees