JP2013512519A - いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム - Google Patents

いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2013512519A
JP2013512519A JP2012541555A JP2012541555A JP2013512519A JP 2013512519 A JP2013512519 A JP 2013512519A JP 2012541555 A JP2012541555 A JP 2012541555A JP 2012541555 A JP2012541555 A JP 2012541555A JP 2013512519 A JP2013512519 A JP 2013512519A
Authority
JP
Japan
Prior art keywords
peripheral device
memory
data
controller
command
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
JP2012541555A
Other languages
English (en)
Inventor
クベ,フイリツプ
フイセ,ジヤン−バンサン
カランカリアン,ヤン
Original Assignee
ブル・エス・アー・エス
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 ブル・エス・アー・エス filed Critical ブル・エス・アー・エス
Publication of JP2013512519A publication Critical patent/JP2013512519A/ja
Pending legal-status Critical Current

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

本発明の主題は、詳細には通信バスを介して接続される第1および第2の周辺装置の間のデータの直接転送である。この目的のために、第1の周辺装置は、前記第1の周辺装置の外部のメモリ領域に直接アクセスするための少なくとも1つのコマンドを開始するための手段(425)と、前記第1の周辺装置のメモリ領域に直接アクセスするための、前記少なくとも1つの第2の周辺装置から受信される少なくとも1つのコマンドを、受信するための手段(400)と、前記少なくとも1つの受信される直接アクセスコマンドを、前記第1の周辺装置の構成要素に送信するための手段(415)とを有する、メモリに直接アクセスするためのコントローラを含む。したがって、コントローラは、前記少なくとも1つの第2の周辺装置のメモリに直接アクセスするコントローラが、前記第1の周辺装置のメモリと、前記第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を行うことができるようにする。

Description

本発明は、コンピュータシステムの少なくとも一部のメモリ領域間でのデータの転送に関し、より詳細には、いくつかの周辺装置のメモリ間でデータの直接転送を可能にする、メモリに直接アクセスするためのコントローラだけでなく、そのようなコントローラを実現可能にする方法およびコンピュータプログラムに関する。
現代のコンピュータシステムは、しばしば、周辺装置とも呼ばれる入出力システムにより中央メモリへ直接アクセスするための機構を一体化している。これらの機構は、一般にDMA型コントローラ(DMAはDirect Memory Accessの略)と呼ばれる。
このデータ送信機構によれば、周辺装置、たとえばネットワークカードまたはハードディスクインタフェースが、1つまたは複数のプロセッサによる介在なしに、それ自体でその装置の内部メモリと、その装置の外部に位置する中央メモリとの間のデータ転送を行うことができ、これらの後者は、転送すべきメモリ領域の開始アドレスおよびその領域の長さを含む読出コマンドまたは書込コマンドを送信するだけである。データ転送は、内部メモリから外部メモリに、およびその逆に行われることができる。
DMA型コントローラは、データ転送中にブロック状態に導かないように、高速な周辺装置を使用して、マルチタスクコンピュータシステムで特に使用される。DMA型コントローラは、周辺装置の内部メモリから中央メモリに、およびその逆にデータを転送するための読出要求または書込要求のイニシエータのように挙動する。
さらに、DMA型コントローラは、周辺装置の内部メモリへの直接アクセスを防止することにより、周辺装置の内部メモリを保護することができるようにする。
図1は、DMA型コントローラをそれぞれ備える2つの周辺装置を含むコンピュータシステムを概略的に示す。
図示されるように、コンピュータシステム100は、1つまたは複数のプロセッサ115を一体化するマザーボード110が接続される入出力バス105、中央メモリ120、ならびにネットワークカード125および130を含む。これらの図解は、図1では簡略化されているが、コンピュータシステム100は、表されているハードウェア構成要素だけでなく、ソフトウェア構成要素、たとえばシステムを実現できるようにするファームウェアも含む。ネットワークカード125は、バス105を介して、中央メモリ120とネットワークインタフェース140の間でデータが交換されることができるようにするDMA型コントローラ135を含む。同様に、ネットワークカード130は、バス105を介して中央メモリ120とインタフェース150の間でデータを交換されることができるようにするDMA型コントローラ145を含む。
したがって、たとえば、ネットワークインタフェース140が、ネットワークからデータを受信するとき、DMA型コントローラ135は、バッファメモリ(表されていない)にローカルに記憶される受信データをメモリ120に転送するために、メモリ120に書き込む要求を開始する。同様に、DMA型コントローラ135が、ネットワークを介してデータを送信する読出要求をプロセッサ115から受信したとき、メモリ120内のデータを読み出すための読出要求を開始し、データをインタフェース140に送信する。
同様に、DMA型コントローラ145は、メモリ120と、カード130が接続されるネットワークとの間でデータが交換されることができるようにする。
DMA型コントローラは、数多くのアーキテクチャでその有効性を証明したが、コンピュータシステム、特にHPC型コンピュータシステム(HPCはHigh−performance computingの略)の性能を絶えず改善する必要がある。
したがって、本発明の目的は、特に、いくつかの周辺装置のメモリ間でデータを直接転送できるようにするために、メモリに直接アクセスするためのコントローラを改善することである。
本発明は、第1の周辺装置と呼ばれる周辺装置のためのメモリに直接アクセスするコントローラに関し、コントローラは、前記第1の周辺装置が通信バスを介して第2の周辺装置と呼ばれる少なくとも1つの別の周辺装置に接続されることが可能であり、コントローラは、
前記第1の周辺装置の外部のメモリ領域に直接アクセスするための少なくとも1つのコマンドを開始するための手段と、
前記第1の周辺装置のメモリ領域に直接アクセスするための、前記少なくとも1つの第2の周辺装置から受信される少なくとも1つのコマンドを、受信するための手段と、
前記少なくとも1つの受信される直接アクセスコマンドを、前記第1の周辺装置の構成要素に送信するための手段と
を含み、前記コントローラは、前記少なくとも1つの第2の周辺装置のメモリに直接アクセスするためのコントローラが、前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を行うことができるようにする。
したがって、本発明によるコントローラは、特に、コンピュータシステムで使用される中央メモリの量を低減し、中央プロセッサを特定のデータ転送タスクから解放し、かつ読出し/書込みの操作による待ち時間を低減することができるようにするデータの直接転送が、コンピュータシステムの周辺装置のメモリ間で行われることを許可する。
有利なことに、コントローラは、許可されないアクセスからその装置のメモリを保護するために、前記少なくとも1つの受信される直接アクセスコマンドの妥当性をチェックするための手段をさらに含む。
特定の一実施形態によれば、前記チェックする手段は、前記少なくとも1つの直接アクセスコマンドの送信者の識別子を、少なくとも1つの所定の識別子と比較するための手段を含む。したがって、許可された周辺装置だけが、所与の周辺装置のメモリに直接アクセスすることができる。
さらに、特定の一実施形態によれば、前記チェックする手段は、前記第1の周辺装置の前記メモリ領域を、少なくとも1つの所定のメモリ領域と比較するための手段を含む。したがって、どの周辺装置も、または一部の周辺装置しか、メモリの前記領域にアクセスすることができないように、周辺装置のメモリ領域を保護することが可能である。
コントローラは、好ましくは、前記開始する手段から得られる直接アクセスコマンドにより関係させられるメモリが、前記少なくとも1つの第2の周辺装置に属するときに、前記少なくとも1つの第2の周辺装置を識別するための手段と、前記第2の装置の領域に直接アクセスするコマンドを送信するための手段とをさらに含む。したがって、第1の装置は、前記少なくとも1つの第2の装置のメモリへの直接アクセスを開始することができる。
本発明はまた、上述のコントローラを実現する方法に関し、方法は、
前記第1の周辺装置が、前記通信バスを介して前記第1の周辺装置に連結される別の周辺装置により識別されることができるように、前記第1の周辺装置を登録するステップと、
前記第1の周辺装置のメモリ領域に直接アクセスするための、前記少なくとも1つの第2の周辺装置から受信される少なくとも1つのコマンドを、受信するステップと、
前記少なくとも1つの受信される直接アクセスコマンドを前記第1の周辺装置の構成要素に送信するステップと
を含み、前記少なくとも1つの第2の周辺装置のメモリに直接アクセスするためのコントローラが、前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を行うことができるようにする。
したがって、前記第1の周辺装置は、前記少なくとも1つの第2の周辺装置により識別されることができ、次に、前記少なくとも1つの第2の周辺装置は、前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置のメモリとの間で、データの直接転送を開始することができる。
有利なことに、方法は、第2の周辺装置が前記少なくとも1つの領域との間で直接転送を開始することができるようにするために、前記少なくとも1つの第2の周辺装置によりアクセス可能な前記第1の周辺装置の少なくとも1つのメモリ領域を宣言するステップをさらに含む。
方法は、好ましくは、第1の前記周辺装置のメモリ領域にアクセスするための規則の少なくとも定義を、特にその領域を保護するために含む、前記第1の周辺装置を構成するステップをさらに含む。
さらに、特定の一実施形態によれば、方法は、ユーザが、前記第1の周辺装置の少なくとも1つのパラメータを修正して、前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を制御することができるようにする、前記第1の周辺装置を制御するステップをさらに含む。
本発明はまた、コンピュータ上で実行されたときに、前述の方法のステップのそれぞれを実現するように適合される命令を含むコンピュータプログラムに関する。そのコンピュータプログラムにより生み出される有利な点は、上記で言及された有利な点に類似する。
本発明の別の有利な点、目的、および特徴が、添付図面に関する非限定的な例によって示される以下の詳細な説明から明らかになるであろう。
DMA型コントローラをそれぞれ備える2つの周辺装置を含むコンピュータシステムを概略的に示す図である。 本発明が実現されることができるコンピュータシステムの特定の構成要素を概略的に示す図である。 周辺装置間でデータの直接転送を可能にするために、特定の周辺装置のDMA型コントローラで実行されるフェーズを概略的に示す図である。 いくつかの周辺装置間でデータを直接転送するために、本発明に従うDMA型コントローラで実行される特定のステップを概略的に示す図である。 マルチポイントモードでデータ転送を実現するように適合されるコンピュータシステムを示す図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。 いくつかの周辺装置間でデータを直接送信し、その間に、転送されるデータに対して操作が行われることができる例を提示する図である。
一般的な言葉で言えば、本発明は、中央メモリで書き込むステップに続いて読み出すステップを必要とせずに、DMA型コントローラを提供される周辺装置のメモリ間でデータの直接送信を可能にすることを対象にする。換言すれば、本発明は、当該の周辺装置の中へのデータ転送の最後の部分を行う間に、DMA型コントローラがイニシエータであり、少なくとも1つの別のDMA型コントローラがターゲットとして挙動するプラットフォームトランザクションにDMA型コントローラが対応可能とする、DMA型コントローラ間の対話のための機構の実現を可能にする。
したがって、図解により、図1を参照して、ネットワークカード125のネットワークインタフェース140により受信されるデータが、中央メモリ120を使用することなく、カード130のインタフェース150の中に直接転送されることができる。
いくつかの周辺装置間、特にグラフィックスカードまたはGPU(Graphics Processing Unitsの略)とInfinibandカードの間、InfinibandカードとEthernet(登録商標)カード間、およびInfinibandカード間の直接通信には、特に高性能科学計算に関連して有利な点が数多くある。
特に、従来、ノードの演算器により行われていた計算を行うために、ますます多くのコンピューティングセンタが、グラフィックスカードを使用することが認められ、グラフィックスカードのより大きな能力が、システムの物理的設置面積を低減することができるようにする。計算を並列に行うために、相互接続ネットワークが必要とされる。中央メモリを必要とせずに、ネットワークからグラフィックスカードに、およびその逆にデータの直接転送を可能にすることにより、実装されるノードは、より少ないメモリを必要とし、そのことが電気の消費を低減し、一方、コンピュータの全コストを低減することができるようにする。同じことが、内部ネットワークと外部ネットワークの間のデータの転送に適用される。さらに、データの直接転送により、遭遇することの多い、一様ではないメモリアクセスの問題および位置の問題を克服できる。
本発明の実装形態は、特に、周辺機器間で使用される転送バスのアーキテクチャに、および関与する異なる装置のメモリアーキテクチャに連結される。本発明の実装形態は、好ましくは、
DMA型コントローラ間でデータの直接転送を開始することができる、およびデータ転送の最後の部分を行うためにターゲットのように挙動することができるDMA型コントローラを含む周辺装置の識別、
DMA型コントローラ間で、すなわちDMA型コントローラにより制御されるメモリ領域から、データを直接転送するために使用されることができ、別のDMA型コントローラ型コントローラによりアクセス可能なメモリ領域の宣言、
本発明を実現することができるDMA型コントローラを含む周辺装置のメモリから、別の類似する周辺装置へのデータ転送のための規則、特に直接のまたはプログラムされたデータ転送のための規則の定義、および
本発明を実現して、そのような装置のメモリに記憶されるデータを別の類似する周辺装置に転送することを自動化することができるようにすることができるDMA型コントローラを含む周辺装置の制御
の機能が有利に実現されることができるようにする所定のプロトコルを使用して、装置内に埋め込まれる、ハードウェアのレベルおよびソフトウェアのレベルで作られることができる。
図2は、本発明が実現されることができるコンピュータシステム200の特定の構成要素を概略的に示す。この場合、システムは、バスコントローラ215にも連結されるホストCPUと呼ばれる、システムバス210に連結される中央メモリ205を含む。バスコントローラ215の特定の目的が、情報を変換して、システムバス210から周辺バス220に転送することである。これらの目的のために、バスコントローラ215は、システムバスインタフェース225、データインタフェース230、および周辺バスインタフェース235を含む。
コンピュータシステム200は、周辺バス220に接続される2つの周辺装置240−1および240−2をさらに含む。
ここで、周辺装置240−1は、ネットワークカード、たとえばイーサネット(登録商標)カードである。周辺装置240−1は、周辺バスインタフェース245−1、およびその周辺バスインタフェースを介して交換されるデータパケットを処理するための関連する処理ユニット250−1を含む。周辺装置240−1は、ネットワークインタフェース255、およびそのネットワークインタフェースを介して交換されるデータパケットを処理するための関連する処理ユニット260をさらに含む。さらに、周辺装置240−1は、中央処理装置(またはCPU)265、およびたとえばSRAM型(SRAMはStatic Random Access Memoryの略)のローカルメモリ270を含む。
同様に、周辺装置240−2は、この場合、グラフィックスカードは、周辺バスインタフェース245−2、およびその周辺バスインタフェースを介して交換されるデータパケットを処理するための関連する処理ユニット250−2を含む。この装置は、共有メモリ、ローカルメモリ、および基本演算器をそれぞれ含む複数の演算器275−1〜275−nをさらに含む。この装置はまた、すべての演算器に共通のメモリ280、たとえば汎用メモリおよびテクスチャメモリ(texture memory)を含む。
インタフェース245−1および245−2は、バスコントローラ215を介して、中央メモリ205と、周辺装置240−1および240−2の内部メモリとの間で、ならびにその逆に直接データ転送を可能にするDMA型コントローラを一体化する。
これらのDMA型コントローラは、データがこれらの装置の内部メモリ間で直接転送されることができるようにする機能をさらに一体化する。例示として、矢印285により示されるように、装置240−1の処理ユニット260のバッファメモリから、装置240−2のメモリ280に、データを転送することが可能である。同様に、矢印290により示されるように、装置240−2の演算器275−iの共有メモリから、装置240−1のローカルメモリ270に、データを転送することが可能である。
これらの目的のために、前述のように、この場合、DMA型コントローラは、定義、宣言、構成、および制御のための機能を含む。
図3は、特定の周辺装置のそのようなDMA型コントローラで実現されるフェーズのシーケンスの一例を概略的に示す。ここで、図3に表されるフェーズは、必ずしも順次実行されるわけではないこと、および表される順序と異なる順序で実行されてもよいことが留意されたい。特に、制御するフェーズが、登録フェーズの次に来てもよい。
第1のフェーズ(フェーズ300)の目的は、周辺装置が、周辺装置に直接連結されるその他の装置により識別可能であるための、周辺装置の登録である。この登録は、たとえば、共通ディレクトリ内で実行されてもよい。このフェーズは、特に、装置が活動化されたときに、自動的に実行されてもよい。登録フェーズは、好ましくは、特に装置の型を定義するために、装置を記述するステップをさらに含む。ここで、型は、PCI−E規格(PCI−EはPeripheral Component Interconnect Expressの略)で実現される類型学に類似する方法で定義されてもよいことが留意されたい。この記述はまた、周辺装置に特有の別の特徴、特に例示として示される以下の特徴、すなわち
装置の内部メモリ容量、
不要なトラフィックを避けるためにデータストリームを制御するためのクレジット(外部メモリにアクセスするために各コマンドを送信することは、コマンドに応答して受信の確認が受信されたときに、再度利用可能になる1単位のクレジットを使用する)、
たとえば符号化キー機構に基づき、書き込むときおよび/または読み出すときに、装置の内部メモリのデータへのアクセスを保護するためのセキュリティの指示、
交換されるデータが、チェックデータ、たとえばCRCデータ(CRCはCyclic Redundancy Checkの略)を含むかどうかを指定するための完全性チェックの指示、
装置の内部メモリに記憶されるデータの消費の速度。この指示は、特に、本発明を実現するDMA型コントローラを実現する2つの周辺装置の互換性を検証することができるようにする、
装置によりサポートされる操作のリスト
を定義することができる。
このフェーズはまた、考慮される装置がデータを直接交換することができる周辺装置のリストを確立するために、考慮される装置と同じバスに連結される別の周辺装置、特に本発明によるDMA型コントローラを含む装置を識別するために使用されることができる。
自分を登録した後、装置のDMAコントローラは、メモリ領域宣言フェーズ(フェーズ305)を開始することができる。このフェーズで実現される機能が、特に、別の装置がデータを書き込むおよび/または読み出すことができる(これは特定の条件に従ってもよい)装置の内部メモリ領域の宣言を対象とする。有利なことに、そのような宣言は、同じバスに連結される周辺装置を識別するために使用される共通ディレクトリ内で行われる。
このフェーズの間、DMA型コントローラが、別の周辺装置により前もって宣言されたメモリ部分を共通ディレクトリ内で探すための機能を実現することも可能である。さらに、装置の内部メモリ領域と別の装置の内部メモリ領域との間の関係を確立することができるようにするツールが、ソース/宛先のリンクを確立するために実現されることができる。
次のフェーズ(フェーズ310)で、装置は、別の周辺装置との間のデータの直接転送を可能にするように、すなわちデータ転送規則を設定するように構成されることができる。このフェーズの間、有利なことに、装置に連結される別の周辺装置との互換性を、特に考慮される装置のサービスおよび速度に関して評価するために、評価ステップが試験期間に実現される。
このフェーズはまた、実現される装置、当該のメモリ領域、および可能なデータ送信パラメータたとえばセキュリティおよび完全性のチェックを指定することにより、ポイントツーポイントモードで転送するためのプリミティブを生成することを対象にする。この場合、プリミティブを生成する目的が、読出コマンドおよび/または書込コマンドの定義であるが、条件が満たされたときに、たとえばデータ項目が内部メモリに書き込まれたときに、またはユーザもしくはアプリケーションの要求により行われる、それらのコマンドの実行ではないことが留意されたい。
例示として、そのようなプリミティブは、図2の装置240−2を参照すると、演算器275−iの共有メモリから得られるデータを、装置240−1のローカルメモリ270に書き込む(矢印290)のためのコマンドを対象にしてもよい。そのようなプリミティブはまた、装置240−1の処理ユニット260のバッファメモリからメモリ280にデータを読み出す(矢印285)のためのコマンドでもよい。
例示として、プリミティブは、以下の形で表されてもよい。
読出し(ソース、宛先、長さ、パラメータ)
ここで、ソースおよび宛先の指示は、考慮される周辺装置の識別子およびメモリの識別子だけでなく当該のメモリ領域も含み、長さは、転送すべきデータの量を指示し、パラメータは、たとえばセキュリティに、データのチェックに、およびプリミティブに対応するコマンドの実行に連結される、使用されるべきパラメータに関係がある。
プリミティブはまた、特に図6を参照して以下で説明されるように、共通のソースからいくつかの異なる装置にデータが転送されることができるようにする、マルチキャスト型またはブロードキャスト型の一括モード(collective mode)でデータを送信するために生成されることができる。そのような転送モードは、コンピュータシステムの信頼性を増大させるために装置が二重化されるときに、特に有用である。
プリミティブはまた、いくつかの周辺装置のメモリから得られるまたはそのメモリ行きのデータのグルーピングまたはアングルーピングの操作を含むことができ、コンピュータシステムの性能を改善することができるようにする。そのような操作は、スキャッタギャザの名前で公知の操作の拡張と考えられることができ、それにより、DMA型コントローラは、メモリからのデータをグルーピングして大量のデータを1回で交換することができる。
これらのプリミティブに対応するコマンドの実行は、明示的でもよい(ユーザによる、またはオペレーティングシステムのカーネルからのコマンドに従う)、イベントに応じてあらかじめ決められてもよい(たとえばデータ項目が、メモリに受信されたときに、書込コマンドの対象となってもよい)、または周期的でもよい(転送は、計画される、すなわち、メモリの内容が、所定の時間周期に従って全部または一部転送されるように計画される)。
最後に、制御フェーズが、周辺装置にユーザがアクセスすることができるようにするために実現されことができる(フェーズ315)。このアクセスは、好ましくは、インタフェースを介して行われる。このとき、このアクセスは、装置のバージョンおよび能力を得るだけでなく、装置を構成することもできるようにする。このアクセスはまた、別の装置にアクセス可能な装置の内部メモリ領域を宣言する、および/またはそのようなメモリ領域に関する規則を定義して、たとえばこれらの領域に、だれが、どの操作で、どの転送モードを使用してアクセスすることができるかを示すことができるようにする。
図4は、いくつかの周辺装置間でデータを直接転送するために、本発明に従うDMA型コントローラで実現される特定のステップを概略的に示す。
DMA型コントローラを含む装置の内部メモリにアクセスするためのコマンド、たとえば読出しまたは書込みのためのコマンドを受信した(ステップ400)後、好ましくは、受信されたコマンドのチェックが行われる(ステップ405)。そのようなチェックは、特に、コマンドを受信した装置の内部メモリを保護するためのものである。前述のように、そのようなチェックは、コマンドのイニシエータ、およびコマンドの対象であるメモリ領域に特に関係があることがある。次に、コマンドが妥当であるかどうか、すなわちこの場合、コマンドのイニシエータは、コマンドを受信した装置の内部メモリに、より詳細にはコマンドで指定されるメモリ領域にアクセスする権利を有するかどうかを決定するために、試験が行われる(ステップ410)。
コマンドが妥当ではない場合、コマンドは拒絶される。このとき、エラーメッセージが要求のイニシエータに送信されてもよい(図示せず)。反対に、コマンドが妥当である場合、コマンドは、コマンドを受信したDMA型コントローラを含む装置の別の構成要素に、典型的にはメモリコントローラに送信される(ステップ415)。次に、コマンドは標準的方法で実行される。
同時に、DMA型コントローラがデータ転送の活動化の通知を受信したとき(ステップ420)、対応するコマンドを標準的方法で実行する。データ転送活動化通知は、DMAコントローラを含む装置の構成要素、たとえばネットワークインタフェースから、または外部の構成要素、特にコンピュータシステムの中央システムのプロセッサから受信されてもよい。この場合、転送は、コンピュータシステムの中央メモリとの間であるが、同様に前述のステップ400〜415に類似するステップをこのとき実現する1つまたは複数の周辺装置との間で読み出すまたは書き込むためのコマンドに関係があってもよいことが留意されたい。
換言すれば、この場合、DMA型コントローラは、従来のDMA型コントローラの機能(ステップ420および425)、ならびに外部周辺装置から、外部周辺装置と相対してメモリコントローラの挙動をそのようにシミュレートするDMA型コントローラを含む周辺装置の内部構成要素に、コマンドが転送されることができるようにするブリッジの機能(ステップ400〜415)を対で有する。
すでに示されたように、本発明を実現するように適合されるDMA型コントローラは、一括転送、すなわちマルチポイントデータ転送のために使用されることができる。
図5は、直接データ伝送をマルチポイントモードで実現するように適合されるコンピュータシステム500を示す。この場合、コンピュータシステム500は、システムバス515により連結される、プロセッサ505および中央メモリ510を含む。システム500は、システムバス515にも連結されるバススイッチ520だけでなく、複数の周辺装置525−1〜525−nもさらに含む。
バススイッチ520は、たとえば、周辺装置のDMAコントローラにより開始される交換に従ったバス幅に起因する全二重リンクに従って、独立してポイントツーポイントモードで装置525−1〜525−nに接続されるPCI−Eスイッチである。
この場合、1つの仕様では、PCI−SIG規格が、PCI−EスイッチのDMAコントローラに適切なプロトコルを実現して、中央メモリと、マルチキャストグループの形に一緒にグループ化される周辺装置との間で、データの直接転送を可能にすることにより、マルチキャスト型のPCI−E交換を作る可能性を提供することが留意されたい。
たとえば、16レーンを備えるPCI−Eスイッチが、特別にマルチキャスト交換専用の記述子に従って直接データ交換を行うために4つのDMA型コントローラまで含む。これらの記述子は、異なるターゲットに向けられるマルチキャスト型コントローラのそれぞれに対して共通のソースを指示し、それにより多数の交換を可能にする。これらの記述子はまた、各DMA型コントローラに対して割り込みが生成されなければならないかどうかを指示しても、マルチキャスト転送の終了時のみ指示してもよい。
そのようなスイッチは、前述のように、本発明を実現するために使用されることができ、したがって、前述の機能を実現するDMA型コントローラをそれぞれ含むマルチキャストグループの形でグループ化された周辺装置間で、データの直接転送を可能にする。
したがって、そのようなスイッチは、一括転送プリミティブに基づき、すなわち(n+1)の参加者との対話で、データ交換を可能にする。
前述の仕様に従ってDMA型コントローラを提供される周辺装置間で、および前述の仕様に従ってDMA型コントローラを提供される周辺装置と中央メモリの間で、いくつかの操作が可能である。
そのような操作の例が、図6a〜図6gを参照して示される。
表される周辺装置600−1〜600−4は、前述の仕様に従うDMA型コントローラをそれぞれ含む。この場合、これらの装置のそれぞれが、一括転送(マルチキャストおよびブロードキャスト)を管理するように適合されるスイッチ605に連結される。
図6aは、装置600−1から装置600−2および600−3へのマルチキャスト型送信を示す。したがって、データの配布は、ソースから、装置600−1が属するマルチキャストグループのいくつかのターゲットに対して行われる。これは、転送されるデータ項目を含む装置により開始される1対n型通信である。
図6bは、装置600−1から装置600−2、600−3、および600−4へのブロードキャスト型送信を示す。したがって、データの配布は、ソースから、装置600−1が属するマルチキャストグループの全ターゲットに対して行われる。これは、転送されるデータ項目を含む装置により開始される1対全型通信である。
図6cは、装置600−1から装置600−2、600−3、および600−4への計算されたマルチキャスト型送信を示す。したがって、データの配布は、ソースから、装置600−1が属するマルチキャストグループの全ターゲットに対して行われる。さらに、転送されるデータに対して操作が、たとえば「論理和」、「論理積」、または「排他的論理和」などの論理演算、加算もしくは乗算などの算術演算、またはデータをソートするもしくは暗号化する操作などの、装置により定義される操作が行われる。この場合、行われる操作は、転送されるデータと、ターゲット装置内に存在するデータ項目の間の加算である。送信は、転送されるデータ項目を含む装置により開始される。
図6dは、装置6002−2および600−3から装置600−1への集約型のデータ送信を示す。これは、いくつかのソースから、送信されるデータを集約することにより、1つまたは複数のターゲットにデータを送信することができるようにする操作である。送信は、転送されるデータを受信する装置により開始される。
図6eは、装置600−2および600−3から装置600−1への計算された集約型のデータ送信を示す。これは、いくつかのソースから、送信されるデータに対して計算を行うことにより、ターゲットにデータを送信することができるようにする操作である。この場合、操作は、使用されるソースから受信されるデータ間の加算である。送信は、転送されるデータを受信する装置により開始される。当然、別の型の操作が実現されてもよい。
図6fは、装置600−2および600−3から、ならびに中央メモリ610から、装置600−1への計算された集約型のデータ送信を示す。これは、いくつかのソースから、送信されるデータに対して計算を行うことにより、ターゲットにデータを送信することができるようにする操作である。この場合、操作は、使用されるソースから受信されるデータ間の加算である。送信は、転送されるデータを受信する装置により開始される。別の型の操作も実現されてもよい。
図6gは、装置600−1から、装置600−2および600−3、ならびに中央メモリ610へのマルチキャスト型送信を示す。したがって、データの配布は、ソースから、装置600−1が属するマルチキャストグループのいくつかのターゲットに対して行われる。これは1対n型通信である。送信は、転送されるデータ項目を含む装置により開始される。
したがって、特に、データの直接送信および集約送信のときに、以下の操作を行うことが可能である、
配布:ソースから得られるデータが、同じグループに属するいくつかのまたはすべてのその他の周辺装置に送信され、そのデータが中央メモリに送信されることも可能である、
操作付き配布:ソースから得られるデータが、同じグループに属するいくつかのまたはすべてのその他の周辺装置に送信され、そのデータが、それらのデータに対して操作を、特に、「論理和」、「論理積」、および「排他的論理和」などの論理型演算、加算および乗算などの数学演算、ならびにデータのソーティングまたは暗号化の操作などの、1つまたは複数のターゲット装置により定義される操作を行うことにより、中央メモリに送信されることも可能である、
集約:いくつかのソースから得られるデータが集約され、同じグループに属する1つ、いくつかの、またはすべてのその他の周辺装置に送信され、そのデータが中央メモリに送信されることも可能である、そして、
操作付き集約:いくつかのソースから得られるデータに対して操作が行われ、これらの操作の結果が、同じグループに属する1つ、いくつか、またはすべてのその他の周辺装置に送信され、そのデータが、中央メモリに送信されることも可能である。そのような操作は、特に、「論理和」、「論理積」、および「排他的論理和」などの論理型演算、加算および乗算などの数学演算、ならびにデータのソーティングまたは暗号化の操作などの、1つまたは複数のターゲット装置により定義される操作である。
特定の一実施形態によれば、行われる操作の選択は、データを読み出すコマンドに応答して受信されるデータの一部に依存する。
いくつかの周辺装置間のデータの直接転送、または一括転送は、周辺装置の少なくとも1つで決定される一括転送のためのプリミティブを使用して実現されることができる。
この実装形態は、前述の実装形態に類似する。この実装形態は、識別、宣言、構成、および制御のフェーズを含む。一括転送のためのプリミティブのパラメータは、好ましくは、前述のように2つの周辺装置のメモリ間でデータの直接転送を行うために使用されるプリミティブのパラメータに類似する。しかしながら、一括転送のためのプリミティブのパラメータは、特にデータを組み合わせる操作に連結される特有の特徴をさらに含む。
そのような一括転送プリミティブの一例が、以下の形で表されてもよい。
読出し(ソース_1、宛先_1、長さ_1、…、ソース_n、宛先_n、長さ_n、パラメータ)
ここで、
ソース_iおよび宛先_iは、考慮される周辺装置およびメモリだけでなく、当該のメモリ領域の識別子も含む。プリミティブの性質によれば、操作が行われた後に、同じデータ項目がいくつかの装置に転送されることができるように、および異なる装置から得られるデータが、装置の異なるメモリ領域の中に、または同じ領域の中に転送されることができるように、すべてのソースまたはすべての宛先は、同じ装置、および同一のまたは異なるメモリ領域に関係がある。
長さ_iは、ソース_iから宛先_iに転送すべきデータの量を指示する。さらに
パラメータは、たとえばセキュリティに、データのチェックに、行われる操作に、およびプリミティブに対応するコマンドの実行に連結される、使用されるべきパラメータを指定する。
転送されるデータに対して特定の操作が行われなければならないとき、直接アクセスコマンドの起点でのプリミティブからの情報に従って、図4で示されるステップ425でコマンドを開始する装置により、または図4で示されるステップ415でコマンドを受信した装置により、特定の操作が行われる。
したがって、たとえば、図6eを参照すると、装置600−2および600−3に記憶されるデータにアクセスするコマンドを開始した後、装置600−1は、転送されたデータを受信するのを待ち、次に、プリミティブで指定される操作を行う。このとき、前述のステップ425は、別の装置のメモリに直接アクセスするためのコマンドを開始するステップと、待たれているデータを得るために同期するステップと、活動化された転送に連結されるプリミティブで指定される操作の実行を対象とするステップとを含む。
同様に、たとえば図6cを参照すると、直接アクセスコマンドが、そのコマンドの起点の装置と異なる別の装置で操作の実行を指示するプリミティブに従って開始されるとき、行うべき操作に対する指示が、その別の装置に送信される直接アクセスコマンドに追加される。そのようなコマンドが、DMA型コントローラにより受信され、妥当であるとき、行うべき操作は、受信された指示に従ってDMAにより識別される。次に、ステップ415の間にそのようなコマンドが実行されるように、DMAは、コマンドを送信する前に、操作の実行を開始する。
当然、特定の必要性を満たすために、当業者は、前述の説明に修正を行うことができるであろう。

Claims (10)

  1. 第1の周辺装置と呼ばれる周辺装置(240−1)のためのメモリに直接アクセスするための、前記第1の周辺装置が、通信バス(220)を介して、第2の周辺装置と呼ばれる少なくとも1つの別の周辺装置(240−2)に接続されることが可能なコントローラであって、
    前記第1の周辺装置の外部のメモリ領域に直接アクセスするための少なくとも1つのコマンドを開始するための手段(425)と、
    前記第1の周辺装置のメモリ領域に直接アクセスするための、前記少なくとも1つの第2の周辺装置から受信される少なくとも1つのコマンドを受信するための手段(400)と、
    前記少なくとも1つの受信される直接アクセスコマンドを、前記第1の周辺装置の構成要素に送信するための手段(415)と
    を含み、前記少なくとも1つの第2の周辺装置のメモリに直接アクセスするためのコントローラが、前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を行うことができるようにすることを特徴とする、コントローラ。
  2. 前記少なくとも1つの受信される直接アクセスコマンドの妥当性をチェックするための手段(410)をさらに含む、請求項1に記載のコントローラ。
  3. 前記チェックする手段が、前記少なくとも1つの直接アクセスコマンドの送信者の識別子を、少なくとも1つの所定の識別子と比較するための手段を含む、請求項2に記載のコントローラ。
  4. 前記チェックする手段が、前記第2の周辺装置のメモリの前記領域を、少なくとも1つの所定のメモリ領域と比較するための手段を含む、請求項2または3に記載のコントローラ。
  5. 前記開始する手段から得られる直接アクセスコマンドにより関係させられるメモリが、前記少なくとも1つの第2の周辺装置に属するとき、前記少なくとも1つの第2の周辺装置を識別するための手段と、前記第2の装置の領域に直接アクセスするためのコマンドを送信するための手段とをさらに含む、請求項1から4のいずれか一項に記載のコントローラ。
  6. 請求項1から5のいずれか一項に記載のコントローラを実現するための方法であって、
    前記第1の周辺装置が、前記通信バスを介して前記第1の周辺装置に連結される別の周辺装置により識別されることができるように、前記第1の周辺装置を登録するステップ(300)と、
    前記第1の周辺装置のメモリ領域に直接アクセスするための、前記少なくとも1つの第2の周辺装置から受信される少なくとも1つのコマンドを、受信するステップ(400)と、
    前記少なくとも1つの受信される直接アクセスコマンドを前記第1の周辺装置の構成要素に送信するステップ(415)と
    を含み、前記少なくとも1つの第2の周辺装置のメモリに直接アクセスするためのコントローラが、前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を行うことができるようにすることを特徴とする、方法。
  7. 前記少なくとも1つの第2の周辺装置によりアクセス可能な前記第1の周辺装置の少なくとも1つのメモリ領域を宣言するステップ(305)をさらに含む、請求項6に記載の方法。
  8. 第1の前記周辺装置のメモリ領域にアクセスするための規則の少なくとも定義を含む、前記第1の周辺装置を構成するステップ(310)をさらに含む、請求項6または7に記載の方法。
  9. 前記第1の周辺装置のメモリと、前記少なくとも1つの第2の周辺装置との間で、少なくとも1つのデータ項目の直接転送を制御するために、ユーザが、前記第1の周辺装置の少なくとも1つのパラメータを修正することができるようにする、前記第1の周辺装置を制御するステップ(315)をさらに含む、請求項6から8のいずれか一項に記載の方法。
  10. コンピュータ上で実行されたとき、請求項6から9のいずれか一項に記載の方法のステップのそれぞれを実行するように適合される命令を含むコンピュータプログラム。
JP2012541555A 2009-12-01 2010-11-24 いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム Pending JP2013512519A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR09/05776 2009-12-01
FR0905776A FR2953307B1 (fr) 2009-12-01 2009-12-01 Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques
PCT/FR2010/052500 WO2011070262A1 (fr) 2009-12-01 2010-11-24 Controleur d'acces dircet a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques

Publications (1)

Publication Number Publication Date
JP2013512519A true JP2013512519A (ja) 2013-04-11

Family

ID=42270158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012541555A Pending JP2013512519A (ja) 2009-12-01 2010-11-24 いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム

Country Status (6)

Country Link
US (1) US8990451B2 (ja)
EP (1) EP2507711B1 (ja)
JP (1) JP2013512519A (ja)
BR (1) BR112012010402A2 (ja)
FR (1) FR2953307B1 (ja)
WO (1) WO2011070262A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011119693A1 (de) * 2011-11-29 2013-05-29 Universität Heidelberg System, Computer-implementiertes Verfahren und Computerprogrammprodukt zur direkten Kommunikation zwischen Hardwarebeschleunigern in einem Computercluster
GB2497528B (en) 2011-12-12 2020-04-22 Nordic Semiconductor Asa Peripheral communication
ITRM20120094A1 (it) * 2012-03-14 2013-09-14 Istituto Naz Di Fisica Nuclea Re Scheda di interfaccia di rete per nodo di rete di calcolo parallelo su gpu, e relativo metodo di comunicazione internodale
US9262349B2 (en) 2012-09-04 2016-02-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Efficient memory content access
SG11201706914TA (en) 2015-03-06 2017-10-30 Toshiba Memory Corp Memory device controlling method and memory device
US9875202B2 (en) 2015-03-09 2018-01-23 Nordic Semiconductor Asa Peripheral communication system with shortcut path
GB2539455A (en) 2015-06-16 2016-12-21 Nordic Semiconductor Asa Memory watch unit
GB2540341B (en) 2015-06-16 2019-06-26 Nordic Semiconductor Asa Event generating unit
US10332235B1 (en) 2018-05-01 2019-06-25 At&T Intellectual Property I, L.P. Direct memory access for graphics processing unit packet processing
US10795840B2 (en) 2018-11-12 2020-10-06 At&T Intellectual Property I, L.P. Persistent kernel for graphics processing unit direct memory access network packet processing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02207363A (ja) * 1989-02-08 1990-08-17 Hitachi Ltd データ転送制御方式、デバイスコントローラ、およびメモリ・コントローラ
JPH04257049A (ja) * 1991-02-12 1992-09-11 Toshiba Corp Dmaコントローラ
JP2005078598A (ja) * 2003-09-03 2005-03-24 Murata Mach Ltd コンピュータシステム及びその電子回路
JP2008146541A (ja) * 2006-12-13 2008-06-26 Fujitsu Ltd Dma転送システム、dmaコントローラ及びdma転送方法
JPWO2006114822A1 (ja) * 2005-04-01 2008-12-11 富士通株式会社 Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
WO2009123933A1 (en) * 2008-03-31 2009-10-08 Advanced Micro Devices, Inc. Peer-to-peer special purpose processor architecture and method
JP2009259209A (ja) * 2008-03-28 2009-11-05 Fujitsu Ltd データ通信制御装置、データ通信制御方法およびそのためのプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002207363A (ja) 2000-11-13 2002-07-26 Ricoh Co Ltd 現像ロール及びそれを有する現像装置
US6748479B2 (en) 2001-11-20 2004-06-08 Broadcom Corporation System having interfaces and switch that separates coherent and packet traffic
TWI226545B (en) * 2002-06-18 2005-01-11 Via Tech Inc Method and device for reducing LDRQ input pin counts of LPC host
JP4079007B2 (ja) 2003-02-25 2008-04-23 東レ株式会社 構造物の補強方法
JP2005202767A (ja) * 2004-01-16 2005-07-28 Toshiba Corp プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路
GB0724439D0 (en) * 2007-12-14 2008-01-30 Icera Inc Data transfer

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02207363A (ja) * 1989-02-08 1990-08-17 Hitachi Ltd データ転送制御方式、デバイスコントローラ、およびメモリ・コントローラ
JPH04257049A (ja) * 1991-02-12 1992-09-11 Toshiba Corp Dmaコントローラ
JP2005078598A (ja) * 2003-09-03 2005-03-24 Murata Mach Ltd コンピュータシステム及びその電子回路
JPWO2006114822A1 (ja) * 2005-04-01 2008-12-11 富士通株式会社 Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
JP2008146541A (ja) * 2006-12-13 2008-06-26 Fujitsu Ltd Dma転送システム、dmaコントローラ及びdma転送方法
JP2009259209A (ja) * 2008-03-28 2009-11-05 Fujitsu Ltd データ通信制御装置、データ通信制御方法およびそのためのプログラム
WO2009123933A1 (en) * 2008-03-31 2009-10-08 Advanced Micro Devices, Inc. Peer-to-peer special purpose processor architecture and method

Also Published As

Publication number Publication date
BR112012010402A2 (pt) 2016-07-12
EP2507711A1 (fr) 2012-10-10
US8990451B2 (en) 2015-03-24
FR2953307A1 (fr) 2011-06-03
WO2011070262A8 (fr) 2011-08-18
WO2011070262A1 (fr) 2011-06-16
US20120260005A1 (en) 2012-10-11
EP2507711B1 (fr) 2014-01-22
FR2953307B1 (fr) 2011-12-16

Similar Documents

Publication Publication Date Title
JP2013512519A (ja) いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム
US11500810B2 (en) Techniques for command validation for access to a storage device by a remote client
TWI765138B (zh) 主機系統及其方法和加速模組
JP6871957B2 (ja) エミュレートされたエンドポイントコンフィグレーション
TWI239187B (en) System and method for managing and validating remote keys which correspond to outstanding data transactions
US9311110B2 (en) Techniques to initialize from a remotely accessible storage device
US7404190B2 (en) Method and apparatus for providing notification via multiple completion queue handlers
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
US9986028B2 (en) Techniques to replicate data between storage servers
CN106575206B (zh) 计算机系统中的存储器写入管理
JP4589384B2 (ja) 高速メモリモジュール
TWI479356B (zh) 將存取控制功能性併入單晶片系統(SoC)
TW201539196A (zh) 用於處理多個交易之資料處理系統及方法
US10990544B2 (en) PCIE root complex message interrupt generation method using endpoint
JP5904948B2 (ja) システムのいくつかの構成要素のメモリ間の直接データ転送を許可するそのシステム
Shim et al. Design and implementation of initial OpenSHMEM on PCIe NTB based cloud computing
JP2011113163A (ja) Ioアクセス通信システムにおけるエンドポイント間通信制御装置および方法
US9652296B1 (en) Efficient chained post-copy virtual machine migration
US12111779B2 (en) Node identification allocation in a multi-tile system with multiple derivatives
WO2009113571A1 (ja) 複数の基盤ソフトウェアを動作可能な情報処理装置および方法
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
Li et al. A new high-performance distributed Shared I/O System
JPH058459B2 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140805