JP5947397B2 - 競合のないメモリ構成 - Google Patents

競合のないメモリ構成 Download PDF

Info

Publication number
JP5947397B2
JP5947397B2 JP2014545893A JP2014545893A JP5947397B2 JP 5947397 B2 JP5947397 B2 JP 5947397B2 JP 2014545893 A JP2014545893 A JP 2014545893A JP 2014545893 A JP2014545893 A JP 2014545893A JP 5947397 B2 JP5947397 B2 JP 5947397B2
Authority
JP
Japan
Prior art keywords
memory
access
memory blocks
blocks
ports
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.)
Active
Application number
JP2014545893A
Other languages
English (en)
Other versions
JP2015506025A (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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of JP2015506025A publication Critical patent/JP2015506025A/ja
Application granted granted Critical
Publication of JP5947397B2 publication Critical patent/JP5947397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Static Random-Access Memory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Dram (AREA)

Description

発明の分野
1つ以上の実施の形態は、一般的にデータ記憶および検索に関する。
背景
多くのネットワーク装置は、ブリッジインターフェイスを含んで、データを1つのプロトコルフォーマットから別のプロトコルフォーマットに変換するか、データをルーティングするか、または他の処理を実行する。たとえば、ブリッジインターフェイスはネットワーク間でデータパケットフォーマットを変換するよう実現されてもよい。
別の例として、ブリッジインターフェイスは、ネットワークとコンピューティングシステムとの間でデータフォーマットを変換するために用いられてもよい。説明を容易にするため、実施の形態および実施例は、主に、光ネットワークとそれに接続されるコンピューティングシステムとの間においてインターフェイスを設けるよう構成されるネットワークブリッジを参照して記載される。
設計およびデバッギングのために必要とされる時間ならびに投資の低減のために、ブリッジインターフェイスはプログラマブル集積回路(IC)を用いて実現されてもよく、それは回路設計を実施するように構成されてもよい多くのロジックおよびルーティングリソースを含む。プログラマブルICは、回路設計の実施、試験および修正を、当該回路設計を特定用途向けIC(ASIC)として実現することなく、可能にする。このような態様で、開発時間およびコストが低減され得る。
ブリッジインターフェイスは、しばしば効率的な処理のためにメモリにおいてデータパケットをバッファ処理する。従来のブリッジインターフェイスは、データバッファ処理を実施するためにオフチップメモリ(たとえばDRAM)を用いる。しかしながら、光ネットワークにおいて用いられるもののような高速通信速度適用例(たとえば400Gbps全二重方式)の場合、多くの場合、プログラマブルICパッケージには、メモリへのアクセスコンフリクトによってもたらされるスループットにおける低減を補償するように十分なピンはない。
1つ以上の実施の形態は、上記の問題の1つ以上に対応してもよい。
概要
メモリ構成の1つの実施の形態は、複数のメモリブロック、第1の群のアクセスポート、および第2の群のアクセスポートを含むことができる。ルーティング回路系は、第1および第2の群のアクセスポートの各対を、複数のメモリブロックのそれぞれのメモリブロックに結合することができる。アクセスポートの各対は、第1の群からの第1のアクセスポートおよび第2の群からの第2のアクセスポートを含むことができる。第1のアクセスポートは、複数のメモリブロックのそれぞれのメモリブロックの第1の部分への書込アクセスを有することが可能であり、当該メモリブロックの第2の部分への書込アクセスを有することが可能ではなく、当該メモリブロックの第2の部分への読出アクセスを有することが可能であり、当該メモリブロックの第1の部分への読出アクセスを有することが可能ではない。第2のアクセスポートは、当該それぞれのメモリブロックの第2の部分への書込アクセスを有することが可能であり、当該メモリブロックの第1の部分への書込アクセスを有することが可能ではなく、当該メモリブロックの第1の部分への読出アクセスを有することが可能であり、当該メモリブロックの第2の部分への読出アクセスを有することが可能ではない。
この実施の形態においては、複数のメモリブロックの各々の各第1の部分は排他的に出口データをバッファ処理するために用いられることが可能であり、複数のメモリブロックの各々の各第2の部分は排他的に入来データをバッファ処理するために用いられることが可能である。複数のメモリブロックは複数の積層された半導体ダイ上に実現されることが可能である。複数のメモリブロックの各々は、複数の積層された半導体ダイのそれぞれの半導体ダイ上に実現されることが可能である。
この実施の形態においては、メモリ構成は、インターポーザをさらに含むことが可能であり、複数の積層された半導体ダイは、インターポーザの前側においてコンタクトに電気的に結合されることが可能である。複数のメモリブロックの各々は2つのメモリスライスを含むことが可能である。ルーティング回路系は、複数のメモリブロックと第1および第2の群のアクセスポートとの間において1つ以上の経路においてタイミングを調整するよう設定可能なプログラマブル遅延回路系を含むことが可能である。タイミングは、1つ以上の経路のうち、最小のレイテンシを示す経路に対しては調整されない。プログラマブル遅延回路系は複数のMUX選択可能経路を含むことが可能であり、MUX選択可能経路の各々は、異なる数のフリップフロップを含むことが可能である。複数のブロックの各々ごとに、メモリブロックの第1および第2の部分は、各々、整数のメモリバンクを含むことが可能である。
この実施の形態においては、ルーティング回路系は、複数のメモリブロックならびに第1および第2の群のアクセスポートに結合されるクロスバースイッチを含むことが可能であり、クロスバースイッチは、メモリブロックのシーケンシャルなアクセスが生じ得る速度より速い速度でクロック制御されて、行頭ブロッキングを低減することが可能である。複数のメモリブロックおよびルーティング回路系は、各メモリブロックごとに、それぞれの第1の部分に含まれるメモリブロックの量、およびそれぞれの第2の部分に含まれるメモリブロックの量を、コンフィギュレーションビットストリームに応答して調整するよう構成されることが可能である。この実施の形態においては、複数のメモリブロックの各々は、複数のメモリバンクを含むことができ、各メモリバンクは1つ以上のアクセスポートを有することが可能であり、複数のメモリブロックの各々は、さらに、各メモリバンクごとに、それぞれの選択回路を含むことができ、それぞれの選択回路は、読出要求を、コンフィギュレーションビットストリームによって示される第1および第2の群のアクセスポートの対応する対の一方のアクセスポートから、当該メモリバンクの1つ以上のアクセスポートに、送るよう構成されることが可能であり、書込要求を、第1および第2の群のアクセスポートの対応する対の他方のアクセスポートから、当該メモリバンクの1つ以上のアクセスポートに、送るよう構成されることが可能である。
ネットワークインターフェイス回路の実施の形態は、ネットワーク側の並直列変換器/直並列変換器(SerDer)回路、ネットワーク側のSerDes回路に結合される第1の群のアクセスポート、システム側のSERDES回路、およびシステム側のSerDes回路に結合される第2の群のアクセスポートを含むことが可能である。複数のメモリブロックおよびルーティング回路系が、半導体ダイの積層に含まれることが可能である。ルーティング回路系は、複数のメモリブロックを第1および第2の群のアクセスポートに結合することが可能である。各メモリブロックごとに、それぞれの第1のアクセスポートは、当該メモリブロックの第1の部分への書込アクセスを有することが可能であり、当該メモリブロックの第2の部分への書込アクセスを有することが可能ではなく、当該メモリブロックの第2の部分への読出アクセスを有することが可能であり、当該メモリブロックの第1の部分への読出アクセスを有することが可能ではない。第2のアクセスポートは、当該それぞれのメモリブロックの第2の部分への書込アクセスを有することが可能であり、当該メモリブロックの第1の部分への書込アクセスを有することが可能ではなく、当該メモリブロックの第1の部分への読出アクセスを有することが可能であり、当該メモリブロックの第2の部分への読出アクセスを有することが可能ではない。
この実施の形態においては、ルーティング回路は、メモリブロックのシーケンシャルなアクセスが生じ得る速度の2倍より速い速度でクロック制御されるクロスバースイッチを含むことが可能である。各メモリブロックの各第1の部分は排他的に出口データをバッファ処理するために用いられることが可能であり、各メモリブロックの各第2の部分は排他的に入来データをバッファ処理するために用いられることが可能である。各ブロックごとに、メモリブロックの第1および第2の部分は、各々、整数のメモリバンクを含むことが可能である。
ブリッジインターフェイス回路の実施の形態は第1のデータフォーマットでデータを送受信するように構成された第1のトランシーバ回路を含むことが可能である。第2のトランシーバ回路は、第2のフォーマットでデータを送受信するよう構成することが可能である。変換回路は第1および第2のトランシーバ回路に結合されることが可能である。変換回路は、データを第1のフォーマットから第2のフォーマットに変換し、データを第2のフォーマットから第1のフォーマットに変換するよう、構成することができる。メモリ回路は変換回路に結合されることが可能である。メモリ回路は複数のメモリブロックと、第1の群のアクセスポートと、第2の群のアクセスポートと、複数のメモリブロックのそれぞれのメモリブロックに第1および第2の群のアクセスポートの各対を結合するルーティング回路系とを含むことが可能である。第1および第2の群のアクセスポートの各対のアクセスポートは、第1の群のアクセスポートからの第1のアクセスポート、および第2の群のアクセスポートからの第2のアクセスポートを含むことが可能である。各第1のアクセスポートは、複数のメモリブロックのそれぞれのメモリブロックの第1の部分への書込アクセスを有することが可能であり、当該メモリブロックの第2の部分への書込アクセスを有することが可能ではなく、当該メモリブロックの第2の部分への読出アクセスを有することが可能であり、当該メモリブロックの第1の部分への読出アクセスを有することが可能ではない。各第2のアクセスポートは、当該それぞれのメモリブロックの第2の部分への書込アクセスを有することが可能であり、当該メモリブロックの第1の部分への書込アクセスを有することが可能ではなく、当該メモリブロックの第1の部分への読出アクセスを有することが可能であり、当該メモリブロックの第2の部分への読出アクセスを有することが可能ではない。
この実施の形態においては、変換回路は、第1のトランシーバ回路とメモリ回路との間において第1のポート群のみを通ってデータをルーティングし、第2のトランシーバ回路とメモリ回路との間において第2のポート群のみを通ってデータをルーティングするよう構成することが可能である。第1のポート群は第2のポート群より第1のトランシーバに接近して位置することが可能であり、第2のポート群は第1のポート群より第2のトランシーバに接近して位置することが可能である。
方法の実施の形態は、第1の群のアクセスポートおよび第2の群のアクセスポートの各対を複数のメモリブロックのそれぞれのメモリブロックに結合するステップを含み、第1および第2の群のアクセスポートの各対は、第1の群のアクセスポートからの第1のアクセスポート、および第2の群のアクセスポートからの第2のアクセスポートを含むことが可能であり、さらに、複数のメモリブロックのそれぞれのメモリブロックの第1の部分への書込アクセスを有するように、および複数のメモリブロックのそれぞれのメモリブロックの第2の部分への読出アクセスを有するように、第1の群のアクセスポートの各々を設定するステップと、複数のメモリブロックのそれぞれのメモリブロックの第1の部分への読出アクセスを有さないように、および複数のメモリブロックのそれぞれのメモリブロックの第2の部分への書込アクセスを有さないように、第1の群のアクセスポートの各々を設定するステップと、複数のメモリブロックのそれぞれのメモリブロックの第2の部分への書込アクセスを有するように、および複数のメモリブロックのそれぞれのメモリブロックの第1の部分への読出アクセスを有するように、第2の群のアクセスポートの各々を設定するステップと、複数のメモリブロックのそれぞれのメモリブロックの第2の部分への読出アクセスを有さないように、および複数のメモリブロックのそれぞれのメモリブロックの第1の部分への書込アクセスを有さないように、第2の群のアクセスポートの各々を設定するステップとを含むことが可能である。
この方法のこの実施の形態は、さらに、各メモリブロックごとに、それぞれの第1の部分に含まれるメモリブロックの量、およびそれぞれの第2の部分に含まれるメモリブロックの量を、コンフィギュレーションビットストリームに応答して調整するステップを含むことが可能である。
他の実施の形態は以下の詳細な記載および特許請求の範囲の考察から認識される。
開示された実施の形態のさまざまな局面および利点は、以下の詳細な記載の検討、および図面への参照で明らかになる。
1つ以上の実施の形態に従ってプログラマブルICとともに実現されたネットワークインターフェイスのブロック図を示す。 メモリアーキテクチャのブロック図を示す。 メモリブロックが入来データおよび出口データのためにメモリバンクのそれぞれの群に区分されるのを示す。 区分されたメモリスライスのメモリバンクの読出/書込ポートへのアクセスを制御するよう構成されてもよい回路のブロック図を示す。 1つ以上の実施の形態に従って、ポート群とメモリとの間においてデータをルーティングするために用いられてもよいルーティング回路系のブロック図を示す。 1つ以上の実施の形態に従って集積回路に結合されてもよいインターポーザ上に積層された複数のダイを用いて実施されたメモリ構成の側面図を示す。 1つ以上の実施の形態に従って構成されてもよい例示のプログラマブルICを示す。
図面の詳細な説明
高速ブリッジインターフェイス適用例については、多くの場合、プログラマブルICパッケージには、メモリの競合するアクセスによるスループットにおける低減を補償するように利用可能なピンは十分にはない。しかしながら、ブリッジインターフェイスのためのメモリ容量要件は、一般的に、現在の加工技術を用いてメモリがプログラマブルICパッケージ内に集積されることを可能にするように十分に低い(たとえば1GB〜2GB)。以前のブリッジインターフェイス実現例は、制御ロジックを利用してメモリアクセスを調停してアクセスコンフリクトを回避する。しかしながら、プログラマブルICにおいてそのような制御ロジックを実現することは多くのプログラマブルなリソースを必要とし、それによって、ブリッジインターフェイスのロジックを実現するよう利用可能なプログラマブルリソースの数を低減する。1つ以上の実施の形態は、コンフリクトがない効率的なメモリ構成を提供する。システムはコンフリクトがないので、プログラマブルなリソースは調停回路系を実現することを求められない。
1つ以上の実施の形態においては、メモリ構成が、コンフリクトのないメモリアクセスのために提供される。メモリ構成は、調停が必要でないように、アクセスを特定のメモリアドレスに向けるよう、効率的なルーティングシステムを実現する。
図1は、1つ以上の実施の形態に従ってプログラマブルICとともに実現されたブリッジインターフェイスのブロック図を示す。この例において、ネットワークブリッジインターフェイス100はプログラマブルIC102を用いて実現される。プログラマブルIC102は、ネットワークによって用いられる第1のプロトコルフォーマットにおけるデータの送信および受信のための第1の組の並直列変換器/直並列変換器(SerDes)トランシーバ回路106と、システムによって用いられる第2のプロトコルフォーマットにおけるデータの送信および受信のための第2の組のSerDesトランシーバ回路110とを含む。参照を容易にするため、ネットワークからシステム側への送信のために受けられるデータは、入来データと呼ばれ得、システムからネットワークへの送信のために受けられるデータは出口データと呼ばれ得る。この例において、矢印120および122は、入来メモリバッファ104Aを通る入来データフローを示す。矢印124および126は、出口メモリバッファ104Bを通る出口データフローを示す。プログラマブルなリソース108は、第1および第2のプロトコルフォーマット間でデータを変換し、それぞれのメモリバッファ104Aおよび104B間で入来データおよび出口データをルーティングする変換回路109を実現するために用いられる。
図2は、1つ以上の実施の形態に従ってブリッジインターフェイス回路を実現するために用いられてもよいメモリアーキテクチャ200のブロック図を示す。ネットワークから受けられるデータおよびネットワークに向けられるデータは、第1のポート群204(ポート群A)を介してメモリ208において書込みおよび読出しされ、システムから受けられるデータおよびシステムに向けられるデータは、第2のポート群206(ポート群B)を介してメモリにおいて書込みおよび読出しされる。メモリアーキテクチャは2つのポート群のポートを対に組織化し、各対のメモリアクセスをメモリのそれぞれの区分に制限する。この例において、メモリは4つのメモリブロックに区分され、各メモリブロックはメモリスライスの対を含む。たとえば、ルーティング回路系209は、ポート1Aおよびポート1Bにのみ、メモリスライス1Aおよび1Bからなる第1のメモリブロックへのアクセスを許すよう構成される。別の例として、ポート2Aおよび2Bのみが、メモリスライス2Aおよび2Bからなる第2のメモリブロックにアクセスを許される。各ポート群対ごとに、入来データは、対応ブロックのメモリスライスの第1のメモリスライスを用いて処理され、出口データは、対応ブロックのメモリスライスの第2のメモリスライスを用いて処理される。たとえば、1つの実現例においては、ポート1Aおよび1Bを含むポート群対ごとに、入来データはメモリスライス1Aを用いて処理され、出口データはメモリスライス1Bを用いて処理される。メモリブロックの各スライスが、ポート群対(たとえば1Aおよび1B)の一方のポートに排他的な書込アクセスを与え、他方に排他的な読出アクセスを与えるよう実現される限り、入来データおよび出口データを、データブロックの異なる部分(つまり異なるメモリスライス)を用いて処理することにより、ポート群対におけるポートがメモリの部分への読出アクセスまたは書込アクセスのために競合するのを防ぐことが可能である。このように、入来データおよび出口データは、コンフリクトのない態様においては処理することが可能である。
上記の例が各メモリブロックを入来データのための1つのスライスおよび出口データのための1つのスライスに区分する一方で、1つ以上の実施の形態においては、異なる量のメモリを入来データおよび出口データのために用いるために、各メモリブロックが区分されてもよいことが、認識される。たとえば、多くの適用例においては、入来データバッファ処理は、輻輳を軽減するよう、出口データバッファ処理より多くのメモリを必要とするかもしれない。図3は、1つ以上の実施の形態に従ってメモリブロックが入来データおよび出口データのためにメモリバンクのそれぞれの群に区分されるのを示す。メモリブロック302および304はメモリブロックのいくつかの異なる区分構成を示す。この例においては、各メモリブロック302および304は、0x000000から0xFFFFFFの範囲のアドレス空間をともになって含む2つのそれぞれのメモリスライス(たとえばスライス1Aおよび1B)を含む。
各メモリスライス(たとえばスライス1A)は、独立してアクセスされてもよい4つのメモリバンク(たとえばバンク5〜8)を含む。たとえば、各バンクは、マルチポートメモリ(たとえば1読出1書込メモリ)であってもよい。メモリブロック302および304はメモリバンク間において任意のアドレス境界で区分されてもよい。右向き矢印は、入来データのために用いられるメモリバンクを示し、左向き矢印は、出口データのために用いられるバンクを示す。この例においては、メモリブロック302および304の各々は、出口データのために2つのメモリバンクを割当て、入来データのために6つのメモリバンクを割当てるよう、区分される。メモリブロック302は境界306でメモリバンクの2つの隣接する群に区分される。境界306より下のアドレスは入来データのために用いられ、境界より上のアドレスは出口データのために用いられる。別の実施の形態においては、メモリブロックはメモリバンク間において任意の態様で区分されてもよい。たとえば、メモリブロック304において示されるように、メモリスライス2Bにおけるバンク1〜3、ならびにメモリスライス2Aにおけるバンク5、6および8は、入来データ向けであり;メモリスライス2Bにおけるバンク4およびメモリスライス2Aにおけるバンク7は、出口データ向けである。
各メモリブロックを実現するために用いられるメモリ回路は、メモリ回路のメモリセルに読出または書込を行なうよう用いられてもよい、ある数のポートを有することが理解される。個々のメモリ回路のポートをポート群AおよびBのポートと区別するために、メモリ回路のポートは内部ポートと呼ばれ得る。区分されたスライスのために排他的な読出および書込アクセスを与えるために、各スライスは、2つの内部書込ポート−ポート群(たとえばポート群Aおよびポート群B)の各ポートごとに1つ−とともに実現される。これは、ポート群Aからのポートがスライスの第1の区分にデータを書込むこと、およびポート群Bからのポートがスライスの第2の区分にデータを書込むことを、競合なく可能にする。同様に、各スライスは2つの内部の読出ポートを有する。メモリスライスを実現するよう用いられるメモリの読出および書込内部ポートの構成に依って、各メモリスライスは、各ポートが読出および書込可能な2つの内部ポートを有することが可能である(「2RW」)か、または各メモリスライスは、2つの専用読出ポートおよび2つの専用書込ポートを有することが可能である(「2R2W」)。
1つ以上の実施の形態においては、メモリスライスは、特定用途の要件に依って、入来部分および出口部分に動的に区分されてもよい。たとえば、各スライスのメモリバンクは1R1Wメモリであってもよい。各バンクの内部の読出ポートおよび書込ポートは、1つのポート群によって読出され、異なるポート群によって書込まれるように、独立してプログラミングされてもよい。そのようなコンフィギュレーション能力は両方のポート群(たとえばスライスの内部ポート)からスライスにおけるすべてのバンクの内部ポートへの読出アドレスおよび書込アドレスのプログラマブルな接続を必要とする。
図4は、区分されたメモリスライスのメモリバンクへの読出アクセスを制御するように構成されてもよい回路系のブロック図を示す。各メモリバンクへの書込アクセスは同様の態様で実現されてもよい。この例においては、各バンク(たとえば402)は、読出イネーブル制御入力(RE)および読出アドレス入力(RA)を有する。RE入力は2:1マルチプレクサ(たとえば406)の出力に結合される。マルチプレクサ406は、設定信号(たとえばConfig[0])に基づいて、それぞれのバンクに入力するよう、イネーブル信号を選択する。この2:1マルチプレクサ406への2つの入力は、ポート1Aにおけるポートからの読出要求信号およびポート1Bからの読出要求信号に応答する。マルチプレクサへの選択入力は、静的な信号(Config[0]または短縮して「Config」)であり、それは、このバンクがポート1Aまたはポート1Bによって読出されるべきかどうかを選択する。Config信号は、初期設定中に(たとえばFPGAコンフィギュレーションビットストリームの一部として)設定される。ANDゲート408は、読出アドレス(たとえばRAddr_P1AまたはRAddr_P1B)のバンクアドレス(BA)が、それぞれのバンク(たとえば402)のバンクアドレスである場合にのみ、ポート1Aおよび1Bに対応するイネーブル信号RE_P1AおよびRE_P1Bをマルチプレクサ406に送る。
バンク402に対する読出アドレスポートは、マルチプレクサ404によって同様に多重化される。マルチプレクサ404は、Config信号に基づいてアドレス信号(たとえばRAddr_P1AまたはRAddr_P1B)を選択する。たとえば、Config[0]が0であることに応答して、バンク402はポート1Bではなくポート1Aによってのみ読出可能であり、Config[0]が1であることに応答して、バンク402はポート1Aではなくポート1Bによってのみ読出可能である。この選択信号は不法な読出アドレスを効果的に無視する。同様のロジックを用いて、アクセス違反を検出し、エラー信号を生成してもよい。エラー信号を用いて、読出/書込要求はメモリに対するアクセスを与えられなかった旨を外部回路、たとえばメモリコントローラに信号で知らせてもよい。
1つ以上の実施の形態においては、各それぞれのポートの対(たとえば図2のポート1Aおよび1B)のメモリブロックのメモリアクセスは、ポートの各対ごとにルーティングシステムを実現することによって実施される。図5は、1つ以上の実施の形態に従って、ポート502の対とメモリスライス1Aおよび1Bを有するメモリブロック506との間においてデータをルーティングするために用いられてもよいルーティング回路504のブロック図を示す。ルーティング回路系504は、読出経路および書込経路が対のポート502の各ポートからメモリブロック506の各区分(つまりスライス1Aおよび1B)に与えられるバタフライレイアウトで構成される。
ポート間においてメモリを介して入来データまたは出口データをルーティングすることは、各信号経路の長さに依って、異なる量の遅延を招くかもしれない。例示の目的のために、メモリスライス1Aを通る経路についての遅延を視覚的に表すために、破線のフリップフロップ516、518、522、524、526および528が、図5において与えられる。ルーティング回路系はこれらのフリップフロップを実際には含まないことが理解されるべきである。各破線のフリップフロップは、信号伝播遅延の1クロックサイクルを表す。同様に、メモリスライス1Bを通る経路に関する遅延は、破線のフリップフロップ542、544、546、548、550および552によって示される。対角線の経路はこの例においてはより長く、したがって、より多くの遅延を招く。未補正の場合、経路の長さにおける差は、2つの異なるメモリ位置から読出されたデータを、ポート502の対のポート1Aに同時に到着させ、それによってコンフリクトを生じさせるか、または正しくない順序で到着させるかもしれない。たとえば、メモリスライス1Aはアクセスポート502に近く位置され、メモリスライス1Bはアクセスポート502からより大きな距離に位置される、と仮定する。第1の入来データパケットが、メモリスライス1Bに書込まれ、次いでメモリスライス1Bから読出され(たとえば、長い信号経路で書込まれ読出され)、次の入来データパケットが、メモリスライス1Aに書込まれ、次いで、メモリスライス1Aから読出される(たとえば、短い信号経路で書込まれ読出される)場合、第2の入来データパケットは第1の入来データパケットの前に出力され得る。
コンフリクトおよび乱れたデータを回避するために、アクセスポート502の対間の各入来および出口経路は、入来経路および出口経路の遅延を調整し、遅延変動を低減するために、プログラマブル遅延回路系を含んでもよい。この例においては、2つのマルチプレクサ(MUX)選択可能経路(たとえば510および560)が、プログラマブル遅延回路の各々を実現する。各入来および出口経路ごとに、ルーティング回路系504は、補正のために用いられてもよいさらなる遅延を与えるためにフリップフロップ(560、562、564および566)を含む。それぞれのMUX(570、572、574および578)は、データを、MUX選択可能経路の1つから、それぞれの制御信号(遅延調整1〜4)によって向けられるようにルーティングする。このように、さまざまな経路の伝播遅延における変動が補償されてもよい。
図5において示されるルーティング回路系504は、アクセスポート502とメモリブロック506との間において固定されたルーティングを実現して、上に論じられるようなメモリアクセスコンフリクトを回避する。1つ以上の実施の形態は、クロスバースイッチのような動的なルーティング回路系を用いて、同様のルーティング制限を実施してもよい。1つ以上の実施の形態においては、クロスバースイッチは、1つのポートと別のポートが同じサイクルにおいて同じメモリアドレスに書込もうとしているときに、別のポートのデータをルーティングしバッファ処理するために用いられる。十分なスループットを与えるために、クロスバースイッチは、メモリブロックへのアクセスが生じ得る速度の少なくとも2倍である速度でクロック制御されてもよい。データパケットがアクセスコンフリクトのためにポートでバッファ処理される場合、スイッチは、(データパケットは異なるメモリ位置に書込まれることになると仮定して、)バッファ処理されるデータパケットおよび任意の新たなデータパケットを次のサイクルにおいてルーティングする能力がある。(行頭ブロッキングのような)クロスバースイッチの競合低減効果の輻輳使用に関する詳細は、Sundar Iyer and Nick McKeown, On the Speedup Required for a Multicast Parallel Packet Switch, IEEE Communication Letters, vol. 5, no. 6, pp. 269(2001年6月)にさらに説明されており、その全体をここにその全体をここに引用により援用する。
1つ以上の実施の形態においては、上記の例を参照して論じられたような、競合のないメモリ構成が、プログラマブルIC上に積層することが可能である1つ以上のダイ上にASIC回路系を用いて実施されてもよい。メモリ構成は、プログラマブルICとは別途実施されるので、プログラマブルICの、より多くのプログラマブルなリソースが、回路設計の実現のために利用可能なままである。
図6は、1つ以上の実施の形態に従って集積回路に結合されてもよいインターポーザ上に積層された複数のダイを用いて実施されるメモリ構成の側面図を示す。インターポーザ606は、メモリ構成602のコンタクトを電気的にIC604に結合し、それはメモリ構成にアクセスする。インターポーザはインターポーザ本体610を含み、インターポーザ本体610は、ある数の貫通シリコンビアホール(TSV)612がそこに形成される。複数のハンダボールコンタクト614を有するコンタクトアレイが、インターポーザ本体610の背面上に形成される。ハンダボールコンタクト614はTSVのそれぞれに結合される。1つ以上の配線層616が複数の回路経路を実現し、それらは、TSVを第2のコンタクトアレイのそれぞれのコンタクトパッド618に結合する。第2のコンタクトアレイは、メモリ構成602のマイクロバンプコンタクト620と整列するように構成される。インターポーザはIC604とメモリ構成602との間においてルーティングを調整するために容易に再設計し実現することが可能であるので、IC604の回路は、メモリ構成602のどのマイクロバンプ620がどの特定のポート群に対応するかに配慮をせずに、(ICにおいて)配置されルーティングされてもよい。これは、IC604の配置およびルーティングがより最適に実行されることを可能にし、メモリ構成602のレイアウトが、さまざまな設計がIC604上に実現される状態で、容易に用いられることを可能にする。例および実施の形態が、メモリ構成602をIC604に接続するよう、インターポーザの使用を参照して主に記載される一方で、メモリ構成602はインターポーザなしにIC604に直接結合されてもよいことが認識される。
メモリ構成602のメモリダイはある数の代替的な構成において構成され接続されてもよい。たとえば、メモリ構成を実施するダイは、複数のダイからなる単一の積層、または1つ以上のダイを有する複数の積層において構成されてもよい。図6の例においては、メモリ構成は2つの積層において実現されるとして示される。図1〜図4を参照して論じられたルーティング回路は、ある数の代替的なダイ積層構成において構成されてもよい。たとえば、左の積層においては、メモリダイ632Aおよび632Bは、ルーティング回路系を実現するICダイ630上に積層される。ルーティングはダイ630において実施されるので、ルーティング回路は、メモリダイの異なる構成と適合するよう構成および構築されることが可能である。別の例として、右の積層のメモリダイ640Aおよび640Bの各々は、メモリ構成602のいくつかのメモリブロックおよびルーティング回路系を実現する。ポートの各対はメモリブロックへの排他的アクセスを有するので、ポートの各対は他のものから独立して動作する。その結果、異なるポート群対のメモリおよび対応するルーティング回路系は、積層されたダイのうちの異なるダイにおいて実現することが可能である。
図7は、1つ以上の実施の形態に従って構成されてもよい例示のプログラマブルICを示す。示されたプログラマブルICは、フィールドプログラマブルゲートアレイ(FPGA)として公知である。FPGAは、アレイにいくつかの異なる種類のプログラマブルロジックブロックを含むことができる。たとえば、図7は、マルチギガビットトランシーバ(MGT701)、コンフィギュラブルロジックブロック(CLB702)、ランダムアクセスメモリブロック(BRAM703)、入力/出力ブロック(IOB704)、コンフィギュレーションおよびクロッキングロジック(CONFIG/CLOCKS705)、デジタル信号処理ブロック(DSP706)、専用入力/出力ブロック(I/O707)たとえばクロックポート、ならびにデジタルクロックマネージャ、アナログ−デジタル変換器、システムモニタロジックなどの他のプログラマブルロジック708を含む多数の異なるプログラマブルタイルを含むFPGAアーキテクチャ(700)を図示する。いくつかのFPGAはさらに専用プロセッサブロック(PROC710)ならびに内部および外部のコンフィギュレーションポート(図示せず)を含む。
いくつかのFPGAにおいて、各々のプログラマブルタイルは、各々の隣接するタイル中の対応のインターコネクト素子へおよびそれからの標準化された接続部を有するプログラマブルインターコネクト素子(INT711)を含む。したがって、プログラマブルインターコネクト素子は、図示されるFPGAのためのプログラマブルインターコネクト構造をともに実現する。プログラマブルインターコネクト素子INT711は、図7の上部に含まれる例によって示されるように、同じタイル内にプログラマブルロジック素子へのおよびそれからの接続部も含む。
たとえば、CLB702は、ユーザロジックに単一のプログラマブルインターコネクト素子INT711を加えたものを実現するようにプログラミング可能なコンフィギュラブルロジック素子CLE712を含むことができる。BRAM703は、1つ以上のプログラマブルインターコネクト素子に加えてBRAMロジック素子(BRL713)を含むことができる。典型的に、タイルに含まれるインターコネクト素子の数はタイルの高さに依存する。図示される実施の形態では、BRAMタイルは5つのCLBと同じ高さを有するが、他の数(たとえば4つ)を用いることも可能である。DSPタイル706は適切な数のプログラマブルインターコネクト素子に加えてDSPロジック素子(DSPL714)を含むことができる。IOB704は、たとえば、プログラマブルインターコネクト素子711の1つのインスタンスに加えて入力/出力ロジック素子(IOL715)の2つのインスタンスを含むことができる。当業者には明らかなように、たとえばI/Oロジック素子715に接続される実際のI/Oパッドは、さまざまな示されたロジックブロックより上に層になった金属を用いて製造され、典型的には、入力/出力ロジック素子715の領域に閉じ込められない。
図示される実施形態では、(図7において影付きで示される)ダイの中央近くの列状領域がコンフィギュレーションロジック、クロックロジックおよび他の制御ロジックのために用いられる。この列から延在する水平方向領域709はFPGAの幅に亘ってクロックおよびコンフィギュレーション信号を分配するのに用いられる。
図7に図示されるアーキテクチャを利用するいくつかのFPGAは、FPGAの大きな部分を構成する規則的な列状構造を分断する付加的なロジックブロックを含む。付加的なロジックブロックはプログラマブルブロックおよび/または専用ロジックであり得る。たとえば、図7に示されるプロセッサブロックPROC710は、CLBおよびBRAMのいくつかの列に跨っている。
図7は単に例示的なFPGAアーキテクチャを図示することを意図していることに注目されたい。列の中のロジックブロックの数、列の相対的な幅、列の数および順番、列に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、ならびに図7の上部に含まれるインターコネクト/ロジック実現例は純粋に例示的なものである。たとえば、実際のFPGAにおいては、CLBの、2つ以上の近接する列は、典型的には、CLBが現れるところならどこでも含まれて、ユーザロジックの効率的な実現を容易にする。
実施の形態はメモリを用いるさまざまな適用例に適用可能であると考えられる。他の局面および実施の形態は明細書の考察から当業者には明らかとなる。実施の形態は、特定用途向け集積回路(ASIC)として、またはプログラマブルロジックデバイス上のロジックとして、ソフトウェアを実行するように構成される、1つ以上のプロセッサとして実現されてもよい。明細書および示される実施の形態は、例としてのみ考えられ、この発明の真の範囲は以下の特許請求の範囲によって示されることが意図される。

Claims (15)

  1. メモリ構成であって、
    複数のメモリブロックと、
    第1の群のアクセスポートおよび第2の群のアクセスポートと、
    前記第1および第2の群のアクセスポートの各対を前記複数のメモリブロックのそれぞれのメモリブロックに結合するルーティング回路系とを含み、前記第1および第2の群のアクセスポートの各対は、前記第1の群のアクセスポートからの第1のアクセスポート、および前記第2の群のアクセスポートからの第2のアクセスポートを含み、
    各第1のアクセスポートは、前記複数のメモリブロックのそれぞれのメモリブロックの第1の部分への書込アクセスを許され、前記複数のメモリブロックの前記それぞれのメモリブロックの第2の部分への読出アクセスを許され、前記複数のメモリブロックの前記それぞれのメモリブロックの前記第1の部分への読出アクセスを許されず、前記複数のメモリブロックの前記それぞれのメモリブロックの前記第2の部分への書込アクセスを許されず
    各第2のアクセスポートは、前記複数のメモリブロックの前記それぞれのメモリブロックの前記第2の部分への書込アクセスを許され、前記複数のメモリブロックの前記それぞれのメモリブロックの前記第1の部分への読出アクセスを許され、前記複数のメモリブロックの前記それぞれのメモリブロックの前記第2の部分への読出アクセスを許されず、前記複数のメモリブロックの前記それぞれのメモリブロックの前記第1の部分への書込アクセスを許されない、メモリ構成。
  2. 前記メモリ構成はネットワークおよびシステムの間に接続されたブリッジインターフェースに含まれ、
    前記複数のメモリブロックの各々の各第1の部分はシステムへの送信のためにネットワークから受けられるデータのみをバッファ処理するために用いられ、
    前記複数のメモリブロックの各々の各第2の部分はネットワークへの送信のためにシステムから受けられるデータのみをバッファ処理するために用いられる、請求項1に記載のメモリ構成。
  3. 前記複数のメモリブロックは複数の積層された半導体ダイ上に実現される、請求項1または2に記載のメモリ構成。
  4. 前記複数のメモリブロックの各々は、前記複数の積層された半導体ダイのそれぞれの半導体ダイ上に実現される、請求項3に記載のメモリ構成。
  5. インターポーザをさらに含み、前記複数の積層された半導体ダイは、前記インターポーザの前側においてコンタクトに電気的に結合される、請求項3または4に記載のメモリ構成。
  6. 前記複数のメモリブロックの各々は2つのメモリスライスを含む、請求項1〜5のいずれか1つに記載のメモリ構成。
  7. 前記ルーティング回路系は、前記複数のメモリブロックと前記第1および第2の群のアクセスポートとの間において1つ以上の経路において遅延を調整するよう設定可能なプログラマブル遅延回路系を含む、請求項1〜6のいずれか1つに記載のメモリ構成。
  8. 遅延は、前記1つ以上の経路のうち、最小のレイテンシを示す経路に対しては調整されない、請求項7に記載のメモリ構成。
  9. 前記プログラマブル遅延回路系は複数のMUX選択可能経路を含み、前記MUX選択可能経路の各々は異なる数のフリップフロップを含む、請求項7に記載のメモリ構成。
  10. 前記複数のメモリブロックの各々ごとに、前記メモリブロックの前記第1および第2の部分は、各々、整数のメモリバンクを含む、請求項1〜9のいずれか1つに記載のメモリ構成。
  11. 前記ルーティング回路系は、前記複数のメモリブロックならびに前記第1および第2の群のアクセスポートに結合されるクロスバースイッチを含み、前記クロスバースイッチは、前記メモリブロックのシーケンシャルなアクセスが生じ得る速度より速い速度でクロック制御される、請求項1〜9のいずれか1つに記載のメモリ構成。
  12. 前記複数のメモリブロックおよび前記ルーティング回路系は、
    各メモリブロックごとに、それぞれの第1の部分に含まれるメモリブロックの量、およびそれぞれの第2の部分に含まれるメモリブロックの量を、調整するよう構成される、請求項1〜11のいずれか1つに記載のメモリ構成。
  13. 前記複数のメモリブロックの各々は、
    複数のメモリバンクを含み、各メモリバンクは1つ以上のアクセスポートを有し、前記複数のメモリブロックの各々は、さらに、
    各メモリバンクごとに、それぞれの選択回路を含み、前記選択回路は、読出要求を、前記第1および第2の群のアクセスポートの対応する対の一方のアクセスポートから、前記メモリバンクの前記1つ以上のアクセスポートに、送るよう構成され、書込要求を、前記第1および第2の群のアクセスポートの対応する対の他方のアクセスポートから、前記メモリバンクの前記1つ以上のアクセスポートに、送るよう構成される、請求項12に記載のメモリ構成。
  14. ルーティング回路系を使用することを備える方法であって、
    第1の群のアクセスポートおよび第2の群のアクセスポートの各対を複数のメモリブロックのそれぞれのメモリブロックに結合するステップを含み、前記第1および第2の群のアクセスポートの各対は、前記第1の群のアクセスポートからの第1のアクセスポート、および前記第2の群のアクセスポートからの第2のアクセスポートを含み、さらに、
    複数のメモリブロックのそれぞれのメモリブロックの第1の部分への書込アクセおよび前記複数のメモリブロックの前記それぞれのメモリブロックの第2の部分への読出アクセスのみを前記第1の群のアクセスポートの各々に許すステップと
    前記複数のメモリブロックの前記それぞれのメモリブロックの第2の部分への書込アクセおよび前記複数のメモリブロックの前記それぞれのメモリブロックの前記第1の部分への読出アクセスのみを前記第2の群のアクセスポートの各々に許すステップと、を含む、方法。
  15. 各メモリブロックごとに、それぞれの第1の部分に含まれるメモリブロックの量、およびそれぞれの第2の部分に含まれるメモリブロックの量を、コンフィギュレーション信号に応答して調整するステップをさらに含む、請求項14に記載の方法。
JP2014545893A 2011-12-07 2012-09-28 競合のないメモリ構成 Active JP5947397B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/314,079 US8611175B2 (en) 2011-12-07 2011-12-07 Contention-free memory arrangement
US13/314,079 2011-12-07
PCT/US2012/058039 WO2013085606A2 (en) 2011-12-07 2012-09-28 Contention-free memory arrangement

Publications (2)

Publication Number Publication Date
JP2015506025A JP2015506025A (ja) 2015-02-26
JP5947397B2 true JP5947397B2 (ja) 2016-07-06

Family

ID=47172872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014545893A Active JP5947397B2 (ja) 2011-12-07 2012-09-28 競合のないメモリ構成

Country Status (7)

Country Link
US (1) US8611175B2 (ja)
EP (1) EP2788983B1 (ja)
JP (1) JP5947397B2 (ja)
KR (1) KR101816970B1 (ja)
CN (1) CN104106115B (ja)
IN (1) IN2014CN04171A (ja)
WO (1) WO2013085606A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8947931B1 (en) * 2014-06-13 2015-02-03 Sandisk Technologies Inc. Memory module
US9864710B2 (en) * 2015-03-30 2018-01-09 EMC IP Holding Company LLC Writing data to storage via a PCI express fabric having a fully-connected mesh topology
JP2018032141A (ja) * 2016-08-23 2018-03-01 東芝メモリ株式会社 半導体装置
US10141938B2 (en) * 2016-09-21 2018-11-27 Xilinx, Inc. Stacked columnar integrated circuits
US10635331B2 (en) 2017-07-05 2020-04-28 Western Digital Technologies, Inc. Distribution of logical-to-physical address entries across bank groups
US10346093B1 (en) * 2018-03-16 2019-07-09 Xilinx, Inc. Memory arrangement for tensor data
KR20210065195A (ko) * 2018-10-23 2021-06-03 에트론 테크놀로지 아메리카 아이엔씨. 버스 및 시스템 내부에서 사용하기 위한 슈퍼스칼라 메모리 ic
JP7563082B2 (ja) * 2020-09-29 2024-10-08 富士フイルムビジネスイノベーション株式会社 プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62145172A (ja) * 1985-12-20 1987-06-29 Fujitsu Ltd 試験回路付入出力パツフア
JP2546901B2 (ja) * 1989-12-05 1996-10-23 株式会社日立製作所 通信制御装置
JPH0668022A (ja) * 1992-08-18 1994-03-11 Oki Electric Ind Co Ltd ダイレクトメモリアクセス装置
GB9618137D0 (en) * 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
JP2000209172A (ja) * 1999-01-14 2000-07-28 Matsushita Electric Ind Co Ltd 多重化装置及び多重化システム
KR100546331B1 (ko) * 2003-06-03 2006-01-26 삼성전자주식회사 스택 뱅크들 마다 독립적으로 동작하는 멀티 포트 메모리장치
DE102004038211A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh Botschaftsverwalter und Verfahren zur Steuerung des Zugriffs auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins
KR100655081B1 (ko) 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
US8861300B2 (en) 2009-06-30 2014-10-14 Infinera Corporation Non-blocking multi-port memory formed from smaller multi-port memories
US8547774B2 (en) * 2010-01-29 2013-10-01 Mosys, Inc. Hierarchical multi-bank multi-port memory organization

Also Published As

Publication number Publication date
IN2014CN04171A (ja) 2015-07-17
JP2015506025A (ja) 2015-02-26
KR20140102718A (ko) 2014-08-22
CN104106115B (zh) 2017-03-22
US8611175B2 (en) 2013-12-17
CN104106115A (zh) 2014-10-15
WO2013085606A3 (en) 2014-08-14
EP2788983B1 (en) 2016-04-06
KR101816970B1 (ko) 2018-01-09
US20130148450A1 (en) 2013-06-13
EP2788983A2 (en) 2014-10-15
WO2013085606A2 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
JP5947397B2 (ja) 競合のないメモリ構成
JP7806036B2 (ja) データ処理エンジンアレイを有するマルチダイ集積回路
KR102381158B1 (ko) 적층형 실리콘 상호 연결(ssi) 기술 통합을 위한 독립형 인터페이스
US10916516B2 (en) High bandwidth memory (HBM) bandwidth aggregation switch
US10749811B2 (en) Interface virtualization and fast path for Network on Chip
US9537679B2 (en) Bi-modal arbitration nodes for a low-latency adaptive asynchronous interconnection network and methods for using the same
CN113704137B (zh) 存内计算模块和方法、存内计算网络及构建方法
CN113688065B (zh) 近存计算模块和方法、近存计算网络及构建方法
CN118012794B (zh) 计算芯粒及电子设备
Mora et al. Towards an efficient switch architecture for high-radix switches
KR102057246B1 (ko) 메모리 중심 시스템 인터커넥트 구조
US7965705B2 (en) Fast and fair arbitration on a data link
US11144457B2 (en) Enhanced page locality in network-on-chip (NoC) architectures
Eberle et al. High-radix crossbar switches enabled by proximity communication
TWI802275B (zh) 晶片系統架構
KR20060008205A (ko) 크로스바
Daneshtalab et al. High-performance on-chip network platform for memory-on-processor architectures
JP5245658B2 (ja) バス接続におけるチップ間信号の共有化方法及び回路
Qi et al. A delay model of two-cycle noc router in 2d-mesh network
CN103383671A (zh) 一种基于片上网络的dram通讯优化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150806

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150806

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160602

R150 Certificate of patent or registration of utility model

Ref document number: 5947397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250