JP6062714B2 - メモリ制御装置、メモリ制御方法およびプログラム - Google Patents

メモリ制御装置、メモリ制御方法およびプログラム Download PDF

Info

Publication number
JP6062714B2
JP6062714B2 JP2012241103A JP2012241103A JP6062714B2 JP 6062714 B2 JP6062714 B2 JP 6062714B2 JP 2012241103 A JP2012241103 A JP 2012241103A JP 2012241103 A JP2012241103 A JP 2012241103A JP 6062714 B2 JP6062714 B2 JP 6062714B2
Authority
JP
Japan
Prior art keywords
command
transfer request
precharge
head
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.)
Expired - Fee Related
Application number
JP2012241103A
Other languages
English (en)
Other versions
JP2014092813A (ja
JP2014092813A5 (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2012241103A priority Critical patent/JP6062714B2/ja
Priority to US14/018,855 priority patent/US9336163B2/en
Publication of JP2014092813A publication Critical patent/JP2014092813A/ja
Publication of JP2014092813A5 publication Critical patent/JP2014092813A5/ja
Application granted granted Critical
Publication of JP6062714B2 publication Critical patent/JP6062714B2/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31708Analysis of signal quality
    • G01R31/3171BER [Bit Error Rate] test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Dram (AREA)

Description

本発明は、使用するメモリアクセスコマンドを制御するメモリ制御装置、メモリ制御方法およびプログラムに関する。
コンピュータシステムの主記憶装置として、一般的に同期DRAMが使用されている。コンピュータシステムの高機能化、高性能化に伴い、同期DRAMのアクセス性能に対する要求は高まっており、その性能を最大限に引き出すために、これまで同期DRAMのアクセスを制御するメモリ制御装置の様々な手法が提案されている。
同期DRAMについて複数のバンクへのメモリアクセスを独立に制御する場合に、複数のコマンドの発行タイミングが重なる場合がある。同期DRAMの仕様として、複数のコマンドを同一タイミングで発行することは出来ないため、いずれかのコマンドの発行を遅らせる必要があった。
特許文献1では、現在のメモリ転送の列アドレスと次のメモリ転送の列アドレスとを比較し、列アドレスが異なる場合は、READAコマンド(プリチャージ付きREADコマンド)またはWRITEAコマンド(プリチャージ付きライトコマンド)を発行している。一方、比較の結果、列アドレスが同一である場合は、列アドレスが同一であるREADコマンドまたはWRITEコマンドを連続的に発行する。
特開2007−249837号公報
しかし、特許文献1に示される手法によると、現在のメモリ転送の列アドレスを次のメモリ転送の列アドレスと比較しているが、次の次以降のメモリ転送アドレスとは比較していない。従って、同一列アドレスの転送が、コマンドを発行する転送の次の次にある場合、READAコマンドまたはWRITEAコマンドが使用される。ここで、次の転送が異なるバンクの転送の場合は、プリチャージせずにアクセスが可能であるため、不要なプリチャージが発生し、転送効率が低下することとなる。
本発明は、上記課題に鑑みてなされたものであり、プリチャージを行うコマンドの発行を適応的に制御することにより、メモリアクセス性能を向上させることを目的とする。
上記目的を達成するための、本発明の一態様によるメモリ制御装置は、以下の構成を備える。すなわち、複数のバンクを備えるメモリを制御するコマンドを発行するメモリ制御装置であって、入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するコマンド制御手段を有し、前記コマンド制御手段は、前記バンク毎に転送要求を格納する転送要求格納手段と、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する転送要求比較手段と、前記転送要求格納手段の先頭に格納された転送要求について、前記転送要求比較手段による比較結果に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定するコマンド判定手段と、前記コマンド判定手段で判定されたコマンドを発行するコマンド発行手段とを備え、前記コマンド判定手段は、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、前記転送要求格納手段の先頭に格納された転送要求がバースト中断可能ならば、プリチャージ無しコマンドを発行し、前記転送要求格納手段の先頭に格納された転送要求がバースト中断禁止ならば、プリチャージ付きコマンドを発行することを特徴とする。
本発明によれば、プリチャージを行うコマンドの発行を適応的に制御することにより、メモリアクセス性能を向上させることが可能となる。
第1実施形態によるメモリ制御装置の構成図。 第1実施形態によるコマンド発行制御部の処理の流れを示す図。 第2実施形態によるコマンド発行制御部の処理の流れを示す図。 第3実施形態によるコマンド発行制御部の処理の流れを示す図。 第4実施形態によるコマンド発行制御部の処理の流れを示す図。 第5実施形態によるメモリ制御装置の構成図。 同期DRAMの構成を説明する図。 (a)はREADコマンド及びWRITEコマンドによるメモリアクセス手順、(b)はREADAコマンド及びWRITEAコマンドによるメモリアクセス手順を説明する図。 (a)はREADコマンド及びWRITEコマンドによる4バンクメモリのメモリアクセス手順、(b)はREADAコマンド及びWRITEAコマンドによる4バンクメモリのメモリアクセス手順を説明する図。
[第1実施形態]
まず、本実施形態で用いる同期DRAMについて説明する。同期DRAMは、図7に示すように多数の記憶要素が二次元格子状に配置され、外部から入力される行アドレス及び列アドレスの組によって、アクセス対象となる記憶要素が特定される。図7では、網掛けを施して示した記憶要素が特定される様子を表している。同期DRAMへのデータの入出力は、メモリ制御装置が以下に示すコマンドを発行することによって行う。このようなコマンドとしては、
(A)列アドレスを指定して活性化するACTIVEコマンド、
(B)行アドレスの指定とデータの出力を指示するREADコマンド、
(C)行アドレスの指定とデータの格納を指示するWRITEコマンド、
(D)非活性化(プリチャージ)を行うPREコマンド、
(E)行アドレスの指定とデータの出力、及びデータの出力後に自動的にプリチャージを行うREADAコマンド、
(F)行アドレスの指定とデータの格納、及びデータの格納後に自動的にプリチャージを行うWRITEAコマンド等のコマンドがある。この他、同期DRAMへのリフレッシュを指示するREFRESHコマンド等がある。
同期DRAMからのデータの読み出しは、上記のコマンドを以下のように用いて実現できる。すなわち、
(1)ACTIVEコマンドによって列アドレスを指定し、
(2)READコマンドによって行アドレスを指定してデータを出力させる。また、同期DRAMへのデータの書き込みは、
(1)ACTIVEコマンドによって列アドレスを指定し、
(2)WRITEコマンドによって行アドレスを指定してデータを格納する。
このとき、図7で斜線を施して示した記憶要素のように、同一の列アドレスに対応する記憶要素へ続けてアクセスする場合は、2番目以降の読み出し又は書き込みでは、上記(1)に示すACTIVEコマンドを省略し、直前のREADコマンド又はWRITEコマンドに続けて次のREADコマンドまたはWRITEコマンドを発行することが可能である。従って、同期DRAMでは同一の列アドレス上の記憶要素に連続アクセスする場合、高速なメモリアクセスが可能という特徴がある。
一方、直前のメモリアクセスとは異なる列アドレス上の記憶要素へアクセスする場合は、一旦PREコマンドを発行して非活性化した後、ACTIVEコマンドを発行して、その異なる列アドレスを活性化し、READ又はWRITEを実行することになる。すなわち、上述の(1)及び(2)に続けて、
(3)PREコマンドによって非活性化を指示し、
(4)ACTIVEコマンドによって異なる列アドレスを指定し、
(5)READコマンド又はWRITEコマンドによってデータのリード又はライトを行う。
従って、異なる列アドレスに連続してアクセスする場合にREADコマンド及びWRITEコマンド使用すると、メモリ制御装置は、図8(a)に示すコマンド列を発行することが必要になる。すなわち、READコマンドとWRITEコマンドの間に、PREコマンドとACTIVEコマンドが必要となり、コマンドの数が多くなる。そこで、このようなメモリアクセスの場合には、自動的にプリチャージを行うREADAコマンド及びWRITEAコマンドを使用することで、図8(b)に示すようにコマンドの数を少なくして、図8(a)と同じアクセスを実現できる。即ち、PREコマンドの発行を省略できるので、READコマンド及びWRITEコマンドを使った場合に比べて発行するコマンドの数を少なくすることが出来る。
ところで、同期DRAMは、列アドレスと行アドレスの他に、バンクと呼ばれる単位で分かれており、各バンクへのメモリアクセスを独立に行うことが出来る。異なるバンクの異なる列アドレスに連続してアクセスする場合にREADコマンド及びWRITEコマンド使用すると、メモリ制御装置は、図9(a)に示すコマンド列を発行することが必要になる。このようなメモリアクセスの場合には、図8(b)と同様に、READAコマンド及びWRITEAコマンドを使用することで、図9(b)に示すように発行するコマンドの数を少なくすることが出来る。
次に、本実施形態について説明する。図1は、本実施形態による情報処理装置を説明する図であり、メモリ制御装置100の概略構成が示されている。メモリ制御装置100は、CPU13などの外部からメモリ転送要求を受け取り、この要求に基づいて同期DRAMとしてのメモリ101に対しコマンドを発行してメモリアクセスを行う。受け取ったメモリ転送要求は、転送要求振分け部102によって、アクセスするバンクごと(バンク0〜3)に用意されたコマンド制御部103〜106に振り分けられる。この振り分けは、メモリ転送要求に含まれるアドレス情報をデコードして得た情報に基づいて行われる。コマンド制御部103〜106は同じ構成を有し、ここでは、バンク0に振り分けられた転送要求を処理するコマンド制御部103について説明する。なお、CPU113はROM114で保持しているプログラムや、ROM114の内容をメモリ101に展開したプログラムに沿ってシステムバス115を介してメモリ転送要求を発行する。また、図1のメモリ制御装置100ではデータの経路について省略し、コマンドの経路しか図示していない。
バンクごと(ここではバンク0)に振分けられた転送要求は、コマンド制御部内の転送要求キュー(コマンドキュー)107に一旦格納される。図1の例では転送要求キューは4段であり、4つの転送要求を受け付け順にFIFO方式で保持することができる。転送要求比較部108は、転送要求格納部である転送要求キュー107に格納された先頭の転送要求に含まれるアクセス先の列アドレスを、後続の転送要求の其々に含まれるアクセス先の列アドレスに対して総当たりで比較する。従って、図1の例では転送要求比較部108は先頭の列アドレスと比較できる3つの比較器(コンパレーター)を有する。その後、転送要求比較部108は、同じ列アドレスの有無を、比較結果としてコマンド判定部109に出力する。
各コマンド制御部103〜106の列アドレス状態記憶部111は、コマンド発行部110が発行するコマンドを監視して、自コマンド制御部103〜106に対応するバンクについて現在の列アドレスの選択状態(列アドレス、プリチャージ状態等)を記憶し、さらにこの選択状態をコマンド判定部109へ出力する。なお、選択状態にあるアクティブな列は、ページと呼称される。コマンド判定部109は、転送要求キューから先頭に格納されている要求情報を受け、この情報と、転送要求比較部108から入力される比較結果及び列アドレス状態記憶部111から入力された選択状態とに基づいて、出力するコマンドを判定する。そして、判定結果をコマンド発行部110へ出力する。コマンド発行部110は、コマンド判定部109から入力される判定結果に基づき、コマンドを発行する。コマンド選択部112は、コマンド制御部103〜106から出力されたそれぞれのバンクごとのコマンドを、所定のルールに従い選択し、選択したコマンドをメモリ101に発行する。このルールとは、例えばバンク毎に固定の優先順位で決まる場合などが考えられる。
図1のメモリ制御装置100は、メモリアクセスのコマンドに着目して記載されているが、当然、データの入出力用のバッファ等も有する。なお、転送要求振分け部102の前段に転送要求の優先順位を決定する調停部が有る場合もあるが、本発明の本質とは直接関係ないため不図示としている。なお、図1ではバンクが4つの場合で、コマンド制御部の数が4の場合の例を示している、バンクの数に合わせて、コマンド制御部の数を設定可能である。また、転送要求キュー107に格納される転送要求の数は、いずれかの自然数を設定可能である。
図2は、本実施形態によるコマンド制御部103〜106が実行する処理を示すフローチャートである。コマンド判定部109は、転送要求キュー107の先頭に格納されている要求情報を用いて列アドレスを検出する(S201)。そして、コマンド判定部109は、列アドレス状態記憶部111から入力される選択状態情報により、検出した列アドレスが、現在指定(活性化)されているか否かを判定する(S202)。指定されていない場合(S202のNo)、コマンド判定部109は、列アドレス状態記憶部111から入力される選択状態情報により、現在、列アドレスが選択されているかを確認する(S203)。列アドレスが選択されている場合(S203のYes)は、現在、次にアクセスする列アドレスと別の列アドレスが指定されていることになり、コマンド発行部110は、PREコマンドを発行する(S204)。そして引き続き、列アドレスを指定するACTIVEコマンドを発行する(S205)。別の列アドレスも指定されていないプリチャージ状態の場合(S203のNo)は、コマンド発行部110は、PREコマンドは発行しないで、ACTIVEコマンドだけを発行する(S205)。ここまでのステップで、次にアクセスする列アドレスの指定が完了する。
コマンド判定部109は、次にアクセスする列アドレスの指定が完了すると、その列アドレスを転送要求比較部108へ出力する。転送要求比較部108は、転送要求キュー107に格納された後続の全ての転送を比較する(S206)。後続の転送群に、これからアクセスする列アドレスと同一の列アドレスのアクセスがある場合(S206のYes)は、自動的にプリチャージを行わない(プリチャージ無しの)、READまたはWRITEコマンドを発行してメモリアクセスする(S208)。また、後続の転送に、同一列アドレスのアクセスがない場合(S206のNo)は、プリチャージ付きコマンドを使用する設定が有効かどうかを確認する(S207)。有効ではない場合(S207のNo)、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスする(S208)。プリチャージ付きコマンドを使用する設定が有効の場合(S207のYes)は、自動的にプリチャージを行う、READAまたはWRITEAコマンドを発行してメモリアクセスする(S209)。そして、転送要求キュー(コマンドキュー)107が空かどうかを判定し、空でなければ(S210のNo)、処理はS201に戻り、空であれば(S210のYes)、処理は終了する。
上述のようなコマンド制御部の処理は、バンクごと設けられた複数のコマンド制御部によって並列に実行される。また、プリチャージ付きコマンドを使用する設定が有効かどうかを判定する手段として、転送要求ごとにプリチャージ付きコマンドの有効・無効を示す属性情報を受信して、属性情報に基づいて判定することが考えられる。あるいは、メモリ制御装置に動作モード設定手段を設け、ソフトウェアの設定により決定することも可能である。
このように、本実施形態では、各バンクにおいて転送要求キューに格納されている複数の転送要求の比較を行うことで、異なるバンクの転送の場合にも、READまたはWRITEコマンドを発行できる。従って、不要なプリチャージの発生を抑制でき、転送効率の低下を防ぐことができる。なお、第1実施形態では、転送要求振り分け部102により、転送要求がバンクごとに転送要求キュー107に保持される。したがって、バンクごとのアクセスが、この転送要求キュー107に格納された順番で実行されることが保証されているのであれば、S207で直後の転送要求のアドレスのみを確認するようにしてもよい。
[第2実施形態]
1回のメモリ転送におけるデータ量が、DRAMのバースト転送単位よりも小さい場合、DRAMに対する不要なメモリアクセスを少なくするために、DRAMにはバースト転送を中断する機能が実装されている。例えば、DDR2仕様のDRAMの場合、READコマンドまたはWRITEコマンドは中断機能が使用出来るが、READAコマンドまたはWRITEAコマンドに対するバースト中断は禁止されている。従って、READAコマンドやWRITEAコマンドを使用することで、コマンドの総発行数を少なくすることは可能であるが、バースト中断することは出来ない。そこで、本実施形態ではバースト中断の必要がないREADコマンドやWRITEについて、プリチャージ付きコマンドを用いることを検討する。
図3は、本実施形態によるコマンド制御部103〜106が実行する処理を示すフローチャートである。図3のS301〜S305は、それぞれ図2のS201〜S205と同様の処理であり、S306以降の処理が第1実施形態と異なる。従って、S306以降の処理について説明する。列アドレスの指定が完了すると、転送要求キュー107に格納された後続の転送を確認する(S306)。後続の転送に、同一列アドレスのアクセスがある場合(S306のYes)は、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスする(S308)。また、後続の転送に、同一列アドレスのアクセスがない場合(S306のNo)は、これから発行するメモリアクセスが、バースト中断することが出来るかを確認して(S307)、バースト中断が出来ない転送の場合(S307のNo)は、自動的にプリチャージを行う、READAまたはWRITEAコマンドを発行してメモリアクセスする(S309)。バースト中断が出来る場合(S307のYes)は、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスし(S310)、バースト中断が可能なタイミングでバースト中断コマンドを発行する(S311)。そして、転送要求キュー(コマンドキュー)107が空かどうかを判定し、空でなければ(S312のNo)、処理はS301に戻り、空であれば(S312のYes)、処理は終了する。
バースト転送の中断が出来るかの判断は、制御するDRAMデバイスの仕様と、実際に転送が必要なバースト長と、DRAMデバイスに設定したバースト長で決定する。DRAMデバイスのバースト長が、転送要求されたメモリアクセスより短い場合は、DRAMデバイスがバースト中断機能を持つ場合、バースト転送を中断することが出来る。
このように、本実施形態では、バースト中断のコマンド発行が必要ない場合にのみプリチャージ付きコマンドを使用することで、バースト中断の機会を奪うことを避けながらメモリアクセスを行っている。従って、転送効率の低下を防ぐことができる。
[第3実施形態]
図4は、本実施形態によるコマンド制御部103〜106が実行する処理を示すフローチャートである。図4のS401〜S405は、それぞれ図2のS201〜S205と同様の処理であり、S406以降の処理が第1実施形態と異なる。従って、S406以降の処理について説明する。列アドレスの指定が完了すると、転送要求キュー107に格納された後続の転送群を確認する(S406)。後続の転送群に、同一列アドレスのアクセスがある場合(S406のYes)は、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスする(S408)。また、後続の転送に、同一列アドレスのアクセスがない場合(S406のNo)は、DRAMコマンド発行の混雑を予測する(S407)。DRAMコマンドが混雑しないことが予測される場合(S407のNo)は、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスする(S408)。DRAMコマンドが混雑することが予測される場合(S407のYes)は、READAまたはWRITEAコマンドを発行してメモリアクセスする(S409)。そして、転送要求キュー(コマンドキュー)107が空かどうかを判定し、空でなければ(S410のNo)、処理はS401に戻り、空であれば(S410のYes)、処理は終了する。
DRAMコマンド発行の混雑の予測は、各コマンド制御に格納された転送要求キュー107に格納されている転送要求を確認し、この転送要求の数によって決定することが可能である。また、転送要求キュー107の転送が、異なる列アドレスの転送の数が多いか、同一の列アドレスの転送の数が多いかによって決定することも可能である。また、これらの数を閾値等と比較して決定することも可能である。
このように、本実施形態では、DRAMのコマンドバスの混雑状態を監視して、コマンド発行が多い混雑状態の場合、すなわち、バースト中断コマンド発行が必要ない場合にのみプリチャージ付きコマンドを使用する。これにより、バースト中断の機会を奪うことを避けながらメモリアクセスを行うことができ、転送効率低下を防ぐことができる。
[第4実施形態]
図5は、本実施形態によるコマンド制御部103〜106が実行する処理を示すフローチャートである。図5のS501〜S505は、それぞれ図2のS201〜S205と同様の処理であり、S506以降の処理が第1実施形態と異なる。従って、S506以降の処理について説明する。列アドレスの指定が完了すると、転送要求キュー107に格納された後続の転送群を確認する(S506)。後続の転送群に、同一列アドレスのアクセスがある場合(S506のYes)は、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスする(S508)。また、後続の転送に、同一列アドレスのアクセスがない場合(S506のNo)は、転送要求キュー107に格納されている後続の転送に、アクセスする転送とは別の列アドレスのアクセスがあるかを確認する(S507)。すなわち、転送要求キュー107が、後続のアクセスがなく空か、別の列アドレスのアクセスがあるかを確認する。別の列アドレスのアクセスがある場合(S507のYes)は、自動的にプリチャージを行う、READAまたはWRITEAコマンドを発行してメモリアクセスする(S509)。
転送要求キュー107が空の場合(S507のNo)は、プリチャージ付きコマンドを使用する設定が有効か確認する(S510)。これは、後続のアクセスが、同一ページと予想される場合はプリチャージせずに活性化状態を維持し、異なるページと予想される場合はプリチャージして不活性化することが好ましいためである。有効の場合(S510のYes)は、自動的にプリチャージを行う、READAまたはWRITEAコマンドを発行してメモリアクセスする(S509)。有効ではない場合(S510のNo)は、自動的にプリチャージを行わない、READまたはWRITEコマンドを発行してメモリアクセスする(S508)。なお、プリチャージ付きコマンドを使用する設定が有効かどうかを判定する手段については、前述のS207で説明したとおりである。そして、転送要求キュー(コマンドキュー)107が空かどうかを判定し、空でなければ(S511のNo)、処理はS501に戻り、空であれば(S511のYes)、処理は終了する。
このように、本実施形態では、転送要求キューに後続する転送要求がない場合に、プリチャージ付きコマンドの発行を制御することで、転送効率の低下を抑制することが出来るようになる。
[第5実施形態]
上述の実施形態においては、図1に示したように、メモリ転送要求は、転送要求振り分け部102によってアクセスするバンクごとに、コマンド制御部103〜106に振り分け、バンク毎にコマンド発行の制御を行う例を示した。しかし、メモリ転送要求の振り分けをせずに全てのメモリ転送要求を全てのコマンド制御部に入力してもよい。図6は、そのような第5実施形態によるメモリ制御装置100'の概略構成を説明する図である。図6は、図1と比較して転送要求振り分け部102とコマンド制御部104〜106がなく、全てのメモリ転送要求が全てのコマンド制御部に入力されている(なお、CPU、ROMバスは省略している)。また、本実施形態によるメモリ制御装置では、図1のコマンド発行部110に替えてコマンド発行部110'を有する。コマンド発行部110'は、対応するバンクへの転送要求であった場合に、コマンドを発行するようにする。他は第1実施形態において述べた動作と同様である。本実施形態の場合、異なるバンクへの転送要求が転送要求キュー107に混在することになるが、S206において複数の要求について調べることで、無駄なプリチャージの発生が防止される。
以上の実施形態において説明したように、本発明では、プリチャージを行うコマンドの発行を適応的に制御することにより、不要なプリチャージの発生を抑制することができ、転送効率の低下を抑制することが可能となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (17)

  1. 複数のバンクを備えるメモリを制御するコマンドを発行するメモリ制御装置であって、
    入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するコマンド制御手段を有し、
    前記コマンド制御手段は、
    前記バンク毎に転送要求を格納する転送要求格納手段と、
    前記転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する転送要求比較手段と、
    前記転送要求格納手段の先頭に格納された転送要求について、前記転送要求比較手段による比較結果に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定するコマンド判定手段と、
    前記コマンド判定手段で判定されたコマンドを発行するコマンド発行手段とを備え
    前記コマンド判定手段は、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、前記転送要求格納手段の先頭に格納された転送要求がバースト中断可能ならば、プリチャージ無しコマンドを発行し、前記転送要求格納手段の先頭に格納された転送要求がバースト中断禁止ならば、プリチャージ付きコマンドを発行することを特徴とするメモリ制御装置。
  2. 複数のバンクを備えるメモリを制御するコマンドを発行するメモリ制御装置であって、
    入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するコマンド制御手段を有し、
    前記コマンド制御手段は、
    前記バンク毎に転送要求を格納する転送要求格納手段と、
    前記転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する転送要求比較手段と、
    前記転送要求格納手段の先頭に格納された転送要求について、前記転送要求比較手段による比較結果に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定するコマンド判定手段と、
    前記コマンド判定手段で判定されたコマンドを発行するコマンド発行手段とを備え、
    前記コマンド判定手段は、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、メモリのコマンドバスが混雑するか否かの判断に基づき、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定することを特徴とするモリ制御装置。
  3. 前記コマンドバスの混雑状態は、前記転送要求格納手段に格納される転送要求の数や転送要求に含まれる列アドレスで判定されることを特徴とする請求項記載のメモリ制御装置。
  4. 複数のバンクを備えるメモリを制御するコマンドを発行するメモリ制御装置であって、
    入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するコマンド制御手段を有し、
    前記コマンド制御手段は、
    前記バンク毎に転送要求を格納する転送要求格納手段と、
    前記転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する転送要求比較手段と、
    前記転送要求格納手段の先頭に格納された転送要求について、前記転送要求比較手段による比較結果に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定するコマンド判定手段と、
    前記コマンド判定手段で判定されたコマンドを発行するコマンド発行手段とを備え、
    前記コマンド判定手段は、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、前記後続の転送要求が空か否かの判断に基づき、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定することを特徴とするモリ制御装置。
  5. 前記コマンド発行手段は、対応するバンクへの転送要求であった場合のみ、前記コマンド判定手段によって判定されたコマンドを発行することを特徴とする請求項1乃至のいずれか1項に記載のメモリ制御装置。
  6. 入力された転送要求を、バンクごとに振り分けて、それぞれのバンクに対応する前記コマンド制御手段へ入力する転送要求振り分け手段を更に有することを特徴とする請求項1乃至のいずれか1項に記載のメモリ制御装置。
  7. 所定のルールに従って、それぞれのバンクに対応する前記コマンド制御手段によって発行されたコマンドのいずれかを選択して前記メモリを制御するコマンドを発行するコマンド選択手段を更に有することを特徴とする請求項1乃至のいずれか1項に記載のメモリ制御装置。
  8. 前記メモリの列アドレスの現在の選択状態を記憶する列アドレス状態記憶手段を更に備え、
    前記コマンド判定手段は、前記選択状態が前記転送要求格納手段の先頭に格納された転送要求の列アドレスではない場合に、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定する前に、列アドレスを指定するコマンドを発行するか、不活性化するコマンドを発行するかを判定することを特徴とする請求項1乃至のいずれか1項に記載のメモリ制御装置。
  9. 前記メモリはDRAMであることを特徴とする請求項1乃至のいずれか1項に記載のメモリ制御装置。
  10. 複数のバンクを備えるメモリを制御するために、入力された転送要求に基づいて、当該転送要求が示すバンクについてのコマンドを発行するメモリ制御装置であって、
    複数の転送要求を受信する受信手段と、
    前記複数の転送要求を格納するコマンドキューと、
    前記コマンドキューの先頭に格納されている転送要求を、後続の複数の転送要求のそれぞれと比較する比較手段と、
    前記比較手段による比較結果に基づいて、前記後続の複数の転送要求のうち前記コマンドキューの先頭に格納されている転送要求と同じバンクに対する転送要求について、前記コマンドキューの先頭の転送要求と同じ列を指定しているか否かに応じて、プリチャージ付きのコマンドを発行するかプリチャージ無しのコマンドを発行するかを制御する発行手段とを備え
    前記発行手段は、前記後続の複数の転送要求の列アドレスの中に、前記コマンドキューの先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記コマンドキューの先頭に格納された転送要求の列アドレスと異なる場合は、前記コマンドキューの先頭に格納された転送要求がバースト中断可能ならば、プリチャージ無しコマンドを発行し、前記コマンドキューの先頭に格納された転送要求がバースト中断禁止ならば、プリチャージ付きコマンドを発行することを特徴とするメモリ制御装置。
  11. 複数のバンクを備えるメモリを制御するために、入力された転送要求に基づいて、当該転送要求が示すバンクについてのコマンドを発行するメモリ制御装置であって、
    複数の転送要求を受信する受信手段と、
    前記複数の転送要求を格納するコマンドキューと、
    前記コマンドキューの先頭に格納されている転送要求を、後続の複数の転送要求のそれぞれと比較する比較手段と、
    前記比較手段による比較結果に基づいて、前記後続の複数の転送要求のうち前記コマンドキューの先頭に格納されている転送要求と同じバンクに対する転送要求について、前記コマンドキューの先頭の転送要求と同じ列を指定しているか否かに応じて、プリチャージ付きのコマンドを発行するかプリチャージ無しのコマンドを発行するかを制御する発行手段とを備え、
    前記発行手段は、前記後続の複数の転送要求の列アドレスの中に、前記コマンドキューの先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記コマンドキューの先頭に格納された転送要求の列アドレスと異なる場合は、メモリのコマンドバスが混雑するか否かの判断に基づき、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定することを特徴とするメモリ制御装置。
  12. 複数のバンクを備えるメモリを制御するために、入力された転送要求に基づいて、当該転送要求が示すバンクについてのコマンドを発行するメモリ制御装置であって、
    複数の転送要求を受信する受信手段と、
    前記複数の転送要求を格納するコマンドキューと、
    前記コマンドキューの先頭に格納されている転送要求を、後続の複数の転送要求のそれぞれと比較する比較手段と、
    前記比較手段による比較結果に基づいて、前記後続の複数の転送要求のうち前記コマンドキューの先頭に格納されている転送要求と同じバンクに対する転送要求について、前記コマンドキューの先頭の転送要求と同じ列を指定しているか否かに応じて、プリチャージ付きのコマンドを発行するかプリチャージ無しのコマンドを発行するかを制御する発行手段とを備え、
    前記発行手段は、前記後続の複数の転送要求の列アドレスの中に、前記コマンドキューの先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記コマンドキューの先頭に格納された転送要求の列アドレスと異なる場合は、前記後続の転送要求が空か否かの判断に基づき、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定することを特徴とするメモリ制御装置。
  13. 前記発行手段は、前記比較手段による比較結果に基づいて、前記後続の複数の転送要求のうち前記コマンドキューの先頭に格納されている転送要求と同じバンクに対する転送要求であって、前記コマンドキューの先頭に続く転送要求について、前記コマンドキューの先頭の転送要求と同じ列を指定しているか否かに応じて、プリチャージ付きのコマンドを発行するかプリチャージ無しのコマンドを発行するかを制御することを特徴とする請求項12に記載のメモリ制御装置。
  14. 入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するメモリ制御方法であって、
    前記バンク毎に転送要求を格納する転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する比較工程と、
    前記転送要求格納手段の先頭に格納された転送要求について、前記比較に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定する判定工程と、
    前記判定工程で判定されたコマンドを発行する工程とを有し、
    前記判定工程では、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、前記転送要求格納手段の先頭に格納された転送要求がバースト中断可能ならば、プリチャージ無しコマンドを発行し、前記転送要求格納手段の先頭に格納された転送要求がバースト中断禁止ならば、プリチャージ付きコマンドを発行することを特徴とするメモリ制御方法。
  15. 入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するメモリ制御方法であって、
    前記バンク毎に転送要求を格納する転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する比較工程と、
    前記転送要求格納手段の先頭に格納された転送要求について、前記比較に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定する判定工程と、
    前記判定工程で判定されたコマンドを発行する工程とを有し、
    前記判定工程では、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、メモリのコマンドバスが混雑するか否かの判断に基づき、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定することを特徴とするメモリ制御方法。
  16. 入力された転送要求に基づいて、当該転送要求に対応するバンクについてのコマンドを発行するメモリ制御方法であって、
    前記バンク毎に転送要求を格納する転送要求格納手段の先頭に格納された転送要求の列アドレスと後続の複数の転送要求の列アドレスとを比較する比較工程と、
    前記転送要求格納手段の先頭に格納された転送要求について、前記比較に応じて、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定する判定工程と、
    前記判定工程で判定されたコマンドを発行する工程とを有し、
    前記判定工程では、前記後続の複数の転送要求の列アドレスの中に、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと同一のものがある場合は、プリチャージ無しのコマンドを発行し、前記後続の複数の転送要求の列アドレスが、前記転送要求格納手段の先頭に格納された転送要求の列アドレスと異なる場合は、前記後続の転送要求が空か否かの判断に基づき、プリチャージ付きのコマンドを発行するか、プリチャージ無しのコマンドを発行するかを判定することを特徴とするメモリ制御方法。
  17. コンピュータを、請求項1から13のいずれか1項に記載のメモリ制御装置の各手段として機能させるためのプログラム。
JP2012241103A 2012-10-31 2012-10-31 メモリ制御装置、メモリ制御方法およびプログラム Expired - Fee Related JP6062714B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012241103A JP6062714B2 (ja) 2012-10-31 2012-10-31 メモリ制御装置、メモリ制御方法およびプログラム
US14/018,855 US9336163B2 (en) 2012-10-31 2013-09-05 Precharge control for memory bank commands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012241103A JP6062714B2 (ja) 2012-10-31 2012-10-31 メモリ制御装置、メモリ制御方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2014092813A JP2014092813A (ja) 2014-05-19
JP2014092813A5 JP2014092813A5 (ja) 2015-11-19
JP6062714B2 true JP6062714B2 (ja) 2017-01-18

Family

ID=50548538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012241103A Expired - Fee Related JP6062714B2 (ja) 2012-10-31 2012-10-31 メモリ制御装置、メモリ制御方法およびプログラム

Country Status (2)

Country Link
US (1) US9336163B2 (ja)
JP (1) JP6062714B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002106A (ko) * 2014-06-30 2016-01-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작방법
JP2021157604A (ja) * 2020-03-27 2021-10-07 株式会社村田製作所 データ通信装置、データ通信モジュール
US20230102680A1 (en) * 2021-09-30 2023-03-30 Advanced Micro Devices, Inc. Stacked command queue

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3506175B2 (ja) * 2000-10-05 2004-03-15 日本電気株式会社 メモリ制御回路とメモリ制御方法
JP2002334050A (ja) * 2001-05-10 2002-11-22 Canon Inc メモリ制御回路およびメモリ制御方法
JP2004310394A (ja) * 2003-04-07 2004-11-04 Sharp Corp Sdramアクセス制御装置
JP4069078B2 (ja) * 2004-01-07 2008-03-26 松下電器産業株式会社 Dram制御装置およびdram制御方法
US7280428B2 (en) * 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
JP4229958B2 (ja) * 2005-08-26 2009-02-25 Necエレクトロニクス株式会社 メモリ制御システムおよびメモリ制御回路
JP2007249837A (ja) * 2006-03-17 2007-09-27 Nec Electronics Corp メモリ制御装置、メモリ制御方法及び携帯機器
JP4996626B2 (ja) * 2006-12-25 2012-08-08 パナソニック株式会社 メモリ制御装置、およびメモリ制御方法
US9015399B2 (en) * 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
CN102016809A (zh) * 2008-04-22 2011-04-13 松下电器产业株式会社 存储器控制装置、存储器***、半导体集成电路和存储器控制方法
US20110238870A1 (en) * 2008-12-03 2011-09-29 Rambus Inc. Memory System With Command Filtering
JP5428687B2 (ja) * 2009-09-14 2014-02-26 株式会社リコー メモリ制御装置
US8572322B2 (en) * 2010-03-29 2013-10-29 Freescale Semiconductor, Inc. Asynchronously scheduling memory access requests

Also Published As

Publication number Publication date
JP2014092813A (ja) 2014-05-19
US20140122789A1 (en) 2014-05-01
US9336163B2 (en) 2016-05-10

Similar Documents

Publication Publication Date Title
TWI498918B (zh) 存取緩衝器
EP2815321B1 (en) Memory reorder queue biasing preceding high latency operations
JP4715801B2 (ja) メモリアクセス制御装置
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
US8099567B2 (en) Reactive placement controller for interfacing with banked memory storage
JP6146128B2 (ja) データ処理装置
JP2009193107A (ja) メモリアクセス装置
JP4752882B2 (ja) メモリアクセスシステム、メモリ制御装置、メモリ制御方法、および、プログラム
US20160034406A1 (en) Memory controller and method for controlling a memory device to process access requests issued by at least one master device
JP6062714B2 (ja) メモリ制御装置、メモリ制御方法およびプログラム
JP5428687B2 (ja) メモリ制御装置
JP2014154119A (ja) メモリ制御装置及び半導体記憶装置
JP6180398B2 (ja) メモリーアクセス装置
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
CN102405466B (zh) 存储控制装置及其控制方法
CN109491785B (zh) 内存访问调度方法、装置及设备
JP4934857B2 (ja) メモリアクセス制御装置、コンピュータ、メモリアクセス制御方法およびメモリアクセス制御プログラム
EP1513069A2 (en) Resource management apparatus
JP2014092813A5 (ja)
JP4882116B2 (ja) バッファ制御装置およびバッファ制御方法
JP2011034214A (ja) メモリ制御装置
JP3698902B2 (ja) メモリアクセス装置及びそのアクセス方法
WO2006011063A2 (en) Dmac issue mechanism via streaming id method
JP3820831B2 (ja) メモリ制御方法及び装置
JP2006331008A (ja) メモリインタフェース

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160901

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161215

R151 Written notification of patent or utility model registration

Ref document number: 6062714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees