JP5087954B2 - メモリ管理装置 - Google Patents

メモリ管理装置 Download PDF

Info

Publication number
JP5087954B2
JP5087954B2 JP2007050933A JP2007050933A JP5087954B2 JP 5087954 B2 JP5087954 B2 JP 5087954B2 JP 2007050933 A JP2007050933 A JP 2007050933A JP 2007050933 A JP2007050933 A JP 2007050933A JP 5087954 B2 JP5087954 B2 JP 5087954B2
Authority
JP
Japan
Prior art keywords
memory
heap
logical
physical
blocks
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
JP2007050933A
Other languages
English (en)
Other versions
JP2008217183A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2007050933A priority Critical patent/JP5087954B2/ja
Publication of JP2008217183A publication Critical patent/JP2008217183A/ja
Application granted granted Critical
Publication of JP5087954B2 publication Critical patent/JP5087954B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動的にメモリを管理するメモリ管理装置に関し、特に、フラグメンテーションを原理的に引き起こさないメモリ管理装置に関する。
一般に、MMU(メモリ マネジメント ユニット)は、論理アドレスを物理アドレスに写像するものであり、通常固定長ブロック単位で論理アドレスと物理アドレスの対応をマッピングメモリに登録しておくと論理アドレスへのリード/ライトアクセスが対応する物理アドレスのリード/ライトに置き換わるものである。また、MMUの役割の一つに動的メモリ管理が挙げられる。
すなわち、MMUを利用して動的メモリを管理すると、必要なときに必要なサイズのメモリを獲得し、不要になったときはメモリを返却することができるので、搭載されたメモリを有効に活用することができる。メモリ管理装置の先行技術文献としては特許文献1のようなものがある。
特開平4―145554号公報
以下、図3を参照して従来のメモリ管理装置について説明するが、図3の具体的な動作説明に先立ち、図3の動作の理解に必要とされるmalloc()関数とfree()関数の利用方法を説明する。
malloc()関数はメモリ資源を獲得する関数であるが、使用方法としては、
void *malloc(size_t size)
からなる要求バイトを渡すことで、要求バイトの連続メモリ空間が獲得され、そのアドレスを戻り値として得ることができる。また、メモリ資源を解放する際は、
void free(void *ptr)
からなるコマンドにより、獲得されたメモリのアドレスを渡すことで、そのメモリ空間をヒープ領域に返却することができる。
次に、これらの関数の利用方法を踏まえて図3の動作を具体的に説明する。
(動的メモリの獲得)
制御部11は、サイズSのヒープメモリ17(動的メモリ)を取得するため、malloc(S)を呼び出し、後述するヒープ管理部12に通知する(符号s1)。なお、制御部11の機能は、例えばプログラム(アプリケーション)がCPUを動作させることで実現できる。また、図3はプログラムがシングルプロセスのとき、すなわちプログラムの実行開始から実行終了までCPUを独占して実行するときに正しく動作する。
ヒープ管理部12はメモリ割付部にサイズSのメモリの割付を依頼する(符号s2)。メモリ割付部13は、後述する管理メモリ14の使用中メモリのリストを参照して未使用領域を把握し、そこから依頼されたサイズSが連続に確保できるアドレスAを検索すると共に、確定したアドレスAとサイズSの対を管理メモリ14に登録する(符号s3)。獲得されたアドレスAはヒープ管理部14を経由して制御部11に渡される(符号s4)。
(動的メモリへのアクセス)
制御部11は獲得されたアドレスAからサイズSの範囲を自由にヒープメモリ17からリード/ライトする(符号s5)。
(動的メモリの返却)
制御部11は、ヒープメモリ17が不要になった時点で free(A)を呼び出すと共に、ヒープ管理部12に通知する(符号s6)。ヒープ管理部12はメモリ解放部15にアドレスAのメモリの解放を依頼する(符号s7)。メモリ解放部15は管理メモリ14の使用中メモリのリストを参照して登録されているアドレスAを検索し、その内容を削除する(符号s8)。
次に、図4の動作を説明する。図4は、図3で説明したフラグメンテーション(メモリの断片化)を発生させない方法として、ヒープメモリを固定長のメモリブロックとして管理するものである。
(動的メモリの獲得)
制御部21はサイズSの動的メモリを取得するため、malloc(S)を呼び出すと共に、ヒープ管理部に通知する(符号s1)。ヒープ管理部22は、後述するメモリ割付部23にメモリの割付を依頼する(符号s2)。メモリ割付部23は管理メモリ24の使用中メモリのリストを参照して未使用ブロックを把握し、そこから1つの未使用のブロックを検索すると共に、そのブロックのアドレスAを管理メモリに登録する(符号s3)。獲得されたアドレスAはヒープ管理部22を経由して制御部21に渡される(符号s4)。
(動的メモリのアクセス)
制御部21は獲得されたアドレスAからサイズSの範囲をヒープメモリ27から自由にリード/ライトする(符号s5)。
(動的メモリの返却)
制御部21は、動的メモリが不要になった時点で free(A)を呼び出し、ヒープ管理部に通知する(符号s6)。ヒープ管理部22はメモリ解放部25にアドレスAのメモリの解放を依頼する(符号s7)。メモリ解放部25は管理メモリ24の使用中メモリのリストを参照して登録されているアドレスAを検索し、その内容を削除する(符号s8)。
以下、従来のメモリ管理装置の問題点について説明する。図3のメモリ管理装置はシングルプロセスでは問題が起こらないが、複数のプロセス(マルチプロセス)が非同期にmalloc()、free()を繰返す場合にはフラグメンテーション(メモリの断片化)が発生する。ここで複数のプロセスとは、マルチタスクOSやスレッドライブラリによって複数のプロセスが切り替りながら並列動作することを意味し、さらに複数のプロセスからmalloc()、free()が呼ばれる状態を意味している。また、このような現象は、malloc()が可変長サイズを要求するサービスであるところから発生するものである。
図5はフラグメンテーションが発生したヒープメモリの様子である。図5の斜線部分はmalloc()中の領域、それ以外は未使用領域である。未使用領域が分散しているため、未使用領域の総サイズにくらべ実際にmalloc()可能な連続領域のサイズが小さくなっていることが分かる。このフラグメンテーションが発生すると、容量的には余裕があるのにメモリ獲得できたりできないといった事象が発生する。
一方、図4はメモリを固定サイズのブロックとして扱うのでフラグメンテーションは発生しないが、固定サイズ以上の領域を獲得することはできないため自由度が制限される。また固定サイズより小さいサイズの獲得を行っても実際には固定サイズ分の領域が割り付けられるため、メモリ使用効率が非常に悪いものとなる。
本発明は、これらの問題点に鑑みてなされたものであり、フラグメンテーションを原理的に引き起こさないメモリ管理装置を提供することを目的とする。
このような課題を解決するために請求項1記載の発明は、
割付けられた論理アドレスと物理アドレスの対応を記憶するマッピングメモリと、
固定長ブロックで領域の獲得又は解放が行われるヒープメモリと、
論理アドレスへのアクセスを前記マッピングメモリによって対応付けられた物理アドレスへのアクセスに写像し、前記ヒープメモリにアクセスするメモリマネジメントユニットと、
前記ヒープメモリの領域の動的な獲得、又は獲得した領域が不要になると、前記ヒープメモリの物理アドレスの割付、解放を行う、物理空間管理メモリを有する物理空間管理ブロックと、
前記ヒープメモリのメモリ領域の動的な獲得、又は獲得したメモリ領域が不要になると、前記ヒープメモリの論理アドレスの割付、解放を行う、論理空間管理メモリを有する論理空間管理ブロックと、
前記ヒープメモリの領域の動的な獲得又は解放に必要な関数を呼び出すと共に、割付された論理アドレスにアクセスする制御部と、
前記制御部から前記関数の通知を受けると、前記物理空間管理メモリに登録された物理アドレスと、前記論理空間管理メモリに登録された論理アドレスの対応を前記マッピングメモリへ登録し又は削除するヒープ管理ブロックと、を備え、
前記ヒープ管理ブロックは、
前記関数により前記ヒープメモリの所定サイズの領域の動的な獲得が必要な場合に、
前記所定のサイズから必要なブロック数を求め、前記物理空間管理メモリを参照することにより未使用ブロックを把握して前記必要なブロック数に相当するブロックを割付け、当該割付けられたブロックの物理アドレス情報を前記物理空間管理メモリに登録すると共に、
前記論理空間管理メモリを参照することにより未使用ブロックを把握して前記必要なブロック数に相当するブロックを割付け、当該割付けられたブロックの論理アドレス情報を前記論理空間管理メモリに登録し、
前記通知された関数により前記ヒープメモリのメモリ領域の解放が必要な場合において、
前記マッピングメモリから対応する物理アドレスを得、当該物理アドレス、および対応する論理アドレス情報を、前記物理空間管理メモリ、および前記論理空間管理メモリから削除する、
ことを特徴とする。
固定長ブロックで獲得又は解放が行われるヒープメモリと、論理アドレスへのアクセスをマッピングメモリによって対応づけられた物理アドレスへのアクセスに写像し、ヒープメモリにアクセスするメモリマネジメントユニットとを備えたので、実際には不連続なメモリブロックを連続したサイズのメモリとして働かせることが可能になる。また、固定長ブロックのヒープメモリを使用しているのでフラグメンテーションを引き起こさない。
以下、本発明のメモリ管理装置の構成例について図1を参照して説明する。ヒープ管理ブロック100は、後述するヒープ管理部32、メモリ割付部33、メモリ解放部43で構成され、物理アドレスと論理アドレスの対応をマッピングメモリ40へ登録し又は削除する。物理空間管理ブロック110は、物理空間管理部34、物理空間割付部35、物理空間解放部44、物理空間管理メモリ36で構成され、ヒープメモリ42の物理アドレスの割付、解放を行う。論理空間管理ブロックは、論理空間管理部37、論理空間割付部38、論理空間解放部45で構成され、ヒープメモリ42の論理アドレスの割付、解放を行う。
制御部31は、サイズsの動的メモリを取得するためmalloc(s)を呼び出し、後述するヒープ管理部32に通知する。ヒープ管理部32は、メモリの割付と解放を制御するユニットである。メモリ割付部33は、後述する物理空間管理メモリ36と論理空間管理メモリ39の割付を行うユニットである。物理空間管理部34は、物理空間管理メモリ36の割付と解放を制御するユニットである。
物理空間割付部35は、物理空間管理メモリ36の割付を行うユニットである。物理空間管理メモリ36は、物理空間の割付情報を記憶しておくメモリである。論理空間管理部37は、論理空間メモリ39の割付と解放を制御するユニットである。論理空間割付部38は、論理空間管理メモリ39の割付を行うユニットである。論理空間管理メモリ39は、論理空間の割付情報を記憶しておくメモリである。マッピングメモリ40は、割付けられた論理空間と割付された物理空間の対応を記憶するメモリである。
メモリマネジメントユニット41は、論理アドレスへのアクセスを、マッピングメモリ40によって対応づけられた物理アドレスへのアクセスに写像するユニットである。ヒープメモリ42は、固定サイズのブロックの配列で、動的メモリ管理で割り付けられる物理メモリである。メモリ解放部43は、対象となる物理空間管理メモリ36と論理空間管理メモリ39の開放を行うユニットである。物理空間解放部44は、物理空間管理メモリ36の解放を行うユニットである。論理空間解放部45は、論理空間管理メモリ39の解放を行うユニットである。
次に、図1の動作を説明する。
(動的メモリの獲得)
制御部31はサイズsの動的メモリを取得するため、malloc(s)を呼び出し、ヒープ管理部Aに通知する(符号s1)。ヒープ管理部32はメモリ割付部33にサイズsのメモリの割付を依頼する(符号s2)。メモリ割付部33はサイズsから必要なブロック数mを計算し(m*ヒープメモリのブロックサイズ >= s)、物理空間管理部34にブロック数mの割付を依頼する(符号s3)。物理空間管理部34は物理空間割付部35にブロック数mの割付を依頼する(符号s4)。
物理空間割付部35は物理空間管理メモリ36を参照して未使用ブロックを把握し、そこから依頼された個数mのブロックを割付け、割り付けられたブロックの情報を物理空間管理メモリ36に登録する(符号s5)。獲得されたm個のブロックのアドレスリストp[ ]が物理空間管理部34を介してメモリ割付33に渡される(符号s6)。メモリ割付部33は論理空間管理部37にサイズsのメモリ割付を依頼する(符号s7)。
論理空間管理部37は論理空間割付部38にサイズsのメモリ割付を依頼する(符号s8)。論理空間割付部38は論理空間管理メモリ39を参照して未使用空間を把握し、そこから依頼されたサイズsの空間を割付け、割付られた空間の情報を論理空間管理メモリ39に登録する(符号s9)。獲得された論理アドレスvが論理空間管理部37を介してメモリ割付部33に渡される(符号s10)。
物理アドレスリストp[ ]と論理アドレスvを得たメモリ割付部33は、vとp[ ]の対応をマッピングメモリ40に登録する(符号s11)。割付られた論理アドレスvはヒープ管理部32を介して制御部31に渡される(符号s12)。
(動的メモリのアクセス)
制御部31は獲得された論理アドレスvからサイズsの範囲を自由にリード/ライトする(符号s13)。論理アドレスvへのアクセスが発生すると、メモリ マネジメント ユニットMが働き、マッピングメモリ40に書かれた論理アドレスvと物理メモリp[ ]に従って対応付けられたヒープメモリ42のブロックがアクセスされる(符号s14)。
(動的メモリの返却)
制御部31は動的メモリが不要になった時点でfree(v)を呼び出し、これはヒープ管理部32に通知される(符号s15)。ヒープ管理部32はメモリ解放部43に論理アドレスvの解放を依頼する(符号s16)。メモリ解放部43はマッピングメモリ40から論理アドレスvを検索し、対応する物理アドレスリストp[ ]を得て、物理空間管理部34に物理アドレスリストp[ ]の解放を依頼する(符号s17)。
物理空間管理部34は物理空間解放部44に物理アドレスリストp[ ]の解放を依頼する(符号s18)。物理空間解放部44はアドレスリストp[ ]の内容を物理空間管理メモリ36から削除する(符号s19)。
メモリ解放部43は論理空間管理部37に論理アドレスvの解放を依頼する(符号s20)。
論理空間管理部37は論理空間解放部45に論理アドレスvの解放を依頼する(符号s21)。
論理空間解放部45は論理アドレスvの内容を論理空間管理メモリ39から削除する(符号s22)。物理アドレスリストp[ ]と論理アドレスvの解放を終えたメモリ解放部43は、最後にマッピングメモリ40からも論理アドレスvと物理アドレスの対応情報を削除する(符号s23)。
このように、固定長ブロックで獲得又は解放が行われるヒープメモリ42と、論理アドレスへのアクセスをマッピングメモリ40によって対応づけられた物理アドレスへのアクセスに写像し、ヒープメモリ42にアクセスするメモリマネジメントユニット41とを備えたので、例えば図2のヒープメモリ52にあるように実際には不連続なメモリブロック1〜3を論理アドレスAから配置された連続したサイズ3Δのメモリとして働かせることが可能になる。また、フラグメンテーションを起こさない固定長ブロック管理に不連続な複数ブロックを連続空間にマッピングできるMMUを利用することによって、固定長ブロックサイズを小さくし、1ブロック内の死蔵領域を小さくすることができる。また、複数ブロックをメモリマネジメントユニットの機能で連続空間にマッピングすることにより取得可能な最大メモリサイズの制限をなくすことが可能となる。
本発明によるメモリ管理装置の構成例である。 不連続なメモリブロックを連続したメモリとして動作させることが可能となることを示した図面である。 可変長ブロックでヒープメモリ17を管理するメモリ管理装置の構成例である。 固定長ブロックでヒープメモリ27を管理するメモリ管理装置の構成例である。 フラグメンテーションの説明図である。
符号の説明
31 制御部
32 ヒープ管理部
33 メモリ割付部
34 物理空間管理部
35 物理空間割付部
36 物理空間管理メモリ
37 論理空間管理部
38 論理空間割付部
39 論理空間管理メモリ
40 マッピングメモリ
41 メモリマネジメントユニット
42 ヒープメモリ
43 メモリ解放部
44 物理空間解放部
45 論理空間解放部
100 ヒープ管理ブロック
110 物理空間管理ブロック
120 論理空間管理ブロック

Claims (1)

  1. 割付けられた論理アドレスと物理アドレスの対応を記憶するマッピングメモリと、
    固定長ブロックで領域の獲得又は解放が行われるヒープメモリと、
    論理アドレスへのアクセスを前記マッピングメモリによって対応付けられた物理アドレスへのアクセスに写像し、前記ヒープメモリにアクセスするメモリマネジメントユニットと、
    前記ヒープメモリの領域の動的な獲得、又は獲得した領域が不要になると、前記ヒープメモリの物理アドレスの割付、解放を行う、物理空間管理メモリを有する物理空間管理ブロックと、
    前記ヒープメモリのメモリ領域の動的な獲得、又は獲得したメモリ領域が不要になると、前記ヒープメモリの論理アドレスの割付、解放を行う、論理空間管理メモリを有する論理空間管理ブロックと、
    前記ヒープメモリの領域の動的な獲得又は解放に必要な関数を呼び出すと共に、割付された論理アドレスにアクセスする制御部と、 前記制御部から前記関数の通知を受けると、前記物理空間管理メモリに登録された物理アドレスと、前記論理空間管理メモリに登録された論理アドレスの対応を前記マッピングメモリへ登録し又は削除するヒープ管理ブロックと、を備え、
    前記ヒープ管理ブロックは、
    前記関数により前記ヒープメモリの所定サイズの領域の動的な獲得が必要な場合に、
    前記所定のサイズから必要なブロック数を求め、前記物理空間管理メモリを参照することにより未使用ブロックを把握して前記必要なブロック数に相当するブロックを割付け、当該割付けられたブロックの物理アドレス情報を前記物理空間管理メモリに登録すると共に、
    前記論理空間管理メモリを参照することにより未使用ブロックを把握して前記必要なブロック数に相当するブロックを割付け、当該割付けられたブロックの論理アドレス情報を前記論理空間管理メモリに登録し、
    前記通知された関数により前記ヒープメモリのメモリ領域の解放が必要な場合において、
    前記マッピングメモリから対応する物理アドレスを得、当該物理アドレス、および対応する論理アドレス情報を、前記物理空間管理メモリ、および前記論理空間管理メモリから削除する、
    ことを特徴とするメモリ管理装置。
JP2007050933A 2007-03-01 2007-03-01 メモリ管理装置 Active JP5087954B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007050933A JP5087954B2 (ja) 2007-03-01 2007-03-01 メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007050933A JP5087954B2 (ja) 2007-03-01 2007-03-01 メモリ管理装置

Publications (2)

Publication Number Publication Date
JP2008217183A JP2008217183A (ja) 2008-09-18
JP5087954B2 true JP5087954B2 (ja) 2012-12-05

Family

ID=39837184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007050933A Active JP5087954B2 (ja) 2007-03-01 2007-03-01 メモリ管理装置

Country Status (1)

Country Link
JP (1) JP5087954B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7170953B2 (ja) 2020-09-30 2022-11-14 三菱電機株式会社 時間演算装置及び時間演算方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291192B2 (en) 2008-10-30 2012-10-16 Kyocera Document Solutions, Inc. Memory management system
JP5352284B2 (ja) * 2009-02-27 2013-11-27 京セラドキュメントソリューションズ株式会社 メモリ管理システム、電子機器及びメモリ管理プログラム
JP5376973B2 (ja) * 2009-01-30 2013-12-25 京セラドキュメントソリューションズ株式会社 メモリ管理システム、電子機器及びメモリ管理プログラム
JP5377001B2 (ja) * 2009-02-27 2013-12-25 京セラドキュメントソリューションズ株式会社 メモリ管理システム、電子機器及びメモリ管理プログラム
KR102517685B1 (ko) * 2017-11-07 2023-04-05 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 블록 복구 방법 및 디바이스

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216745A (ja) * 1992-02-04 1993-08-27 Matsushita Electric Ind Co Ltd メモリ管理装置
GB9213563D0 (en) * 1992-06-26 1992-08-12 Philips Electronics Uk Ltd Data processing apparatus with dynamic memory allocation
JPH11275158A (ja) * 1998-03-19 1999-10-08 Nec Corp 自動メモリ割り付け方式
US6986016B2 (en) * 2002-09-30 2006-01-10 International Business Machines Corporation Contiguous physical memory allocation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7170953B2 (ja) 2020-09-30 2022-11-14 三菱電機株式会社 時間演算装置及び時間演算方法

Also Published As

Publication number Publication date
JP2008217183A (ja) 2008-09-18

Similar Documents

Publication Publication Date Title
US6401181B1 (en) Dynamic allocation of physical memory space
JP5087954B2 (ja) メモリ管理装置
US9513815B2 (en) Memory management based on usage specifications
KR102061079B1 (ko) 파일 액세스 방법 및 관련 기기
US10310997B2 (en) System and method for dynamically allocating memory to hold pending write requests
TWI459201B (zh) Information processing device
CN105917319B (zh) 存储器单元和方法
US20060218347A1 (en) Memory card
KR20100081880A (ko) 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법
JP5422652B2 (ja) フラッシュメモリ記憶装置における動的メモリ割当てに起因する自己エビクションの回避
JP7279889B2 (ja) メモリブロックリクレーム方法およびメモリブロックリクレーム装置
WO2015053966A9 (en) Memory system with shared file system
US10817186B2 (en) Memory system
JP2006513493A5 (ja)
US20160026399A1 (en) Block i/o interface for a host bus adapter that utilizes nvdram
WO2009110168A1 (ja) Dma転送装置
US20160266793A1 (en) Memory system
KR20150062039A (ko) 반도체 장치 및 그 동작 방법
US8151086B2 (en) Early detection of an access to de-allocated memory
CN110674051A (zh) 一种数据存储方法及装置
KR101950759B1 (ko) 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러
US20150074334A1 (en) Information processing device
JP2007102314A (ja) ディスクキャッシュ制御装置
CN117130955A (zh) 用于管理相关联的存储器的方法和***
KR101549569B1 (ko) 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120726

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

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

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

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5087954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150