JP5068108B2 - メモリ・アドレスの変換およびピン止めのための方法およびシステム - Google Patents
メモリ・アドレスの変換およびピン止めのための方法およびシステム Download PDFInfo
- Publication number
- JP5068108B2 JP5068108B2 JP2007166028A JP2007166028A JP5068108B2 JP 5068108 B2 JP5068108 B2 JP 5068108B2 JP 2007166028 A JP2007166028 A JP 2007166028A JP 2007166028 A JP2007166028 A JP 2007166028A JP 5068108 B2 JP5068108 B2 JP 5068108B2
- Authority
- JP
- Japan
- Prior art keywords
- consumer
- memory
- mapping
- address space
- dma request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Description
本発明は、2006年1月11日出願の「A METHOD AND SYSTEM FOR MEMORY PROTECTION AND SECURITY USING CREDENTIALS」という名称の米国特許出願第11/333066号、および2006年1月11日出願の「A METHOD AND SYSTEM FOR PROTECTION AND SECURITY of IO DEVICES USING CREDENTIALS」という名称の米国特許出願第11/333716号に関連する。
以下の詳細な説明では、本発明を完全に理解するために、多数の特定の細部について説明する。しかしながら、当業者であれば、本発明がこれらの特定の細部なしに実施可能であることを理解されよう。他のインスタンスでは、本発明をわかりにくくしないために、良く知られた方法、手順、および構成要素については詳細に説明しない。
次に、本発明の諸実施形態に従った、メモリのピン止めおよび変換のための方法を示す概略流れ図である、図3を参照する。この方法の以下の説明では、メモリのピン止めおよび変換の責務を負うエンティティ、たとえばHG 42は、処理ユニット12から分離している。この構成によれば、HG 42は、メモリ・アドレス・スペース識別子を着信するDMA要求に付加する(ステップ300)責務を負うことができる。その後HG 42は、着信するDMA要求を受信すると必ず、たとえば、DMA要求に付加されたアドレス・スペース識別子によって識別されるアドレス・スペース、または他の事前に定義されたアドレス・スペース内で、バッファの仮想アドレスを探索することによって、要求内で参照されたバッファに関する変換が存在するかどうかをチェックする(ステップ302)。すべての変換が存在し、有効である場合、HG 42は(ホスト・ページ・テーブルまたは何らかの他の変換情報を使用して)、仮想アドレスを対応する物理ページ・フレームに変換する(ステップ304)ことができる。
図2および3に関連して、次に、本発明の実施形態に従った、データ・トランザクションの方法を示す例示的流れ図である、図4を参照する。
前述のように、HG 42は、ページがDMAオペレーションに関与している間、たとえばデータが書き込まれている間は、上位層がそのページをマップ解除するのを防ぐ必要がある。したがって、たとえばハイパーバイザまたはOSがページのマップを解除する必要がある場合、マップ解除が意図されているページがI/Oオペレーションに関与している可能性があり、その場合はデータの破損を避けるためにマップ解除オペレーションを防ぐべきであるため、ページをマップ解除するという意図をHG 42に伝えなければならない。
本発明のいくつかの実施形態によれば、提案されたシステムはスケーラブルであり、以下で詳細に説明するように、たとえば追加のコンシューマ、I/Oデバイス、ホスト・ゲートウェイ(HG)、およびデバイス・コントローラ(DC)を、システムに容易に追加することが可能である。
TCEi=[仮想アドレス領域、物理アドレス、フラグ]
CAPMi=[MID、TCEi、時間、保護ビット]
i:同じMIDによって識別される1つまたは複数のTCEエントリ
・遅延ピン止めが要求された(たとえばnull CAPMによって)場合
・前のTW内にOSまたはハイパーバイザからのマッピング更新が受信された場合
後者の場合、HG 42は取り消されたリストにMIDを追加することが可能であり、これを任意の新しい受信変換をチェックするために使用することができる。CAPMはあらゆるTWを更新しなければならないため、本出願の譲受人に譲渡された、2006年1月11日出願の「A METHOD AND SYSTEM FOR MEMORY PROTECTION AND SECURITY USING CREDENTIALS」という名称の米国特許出願第11/333066号に記載されたように、取り消されたリストの長さは制限される。
14 I/Oデバイス
16 I/Oバス
17 I/Oブリッジ
18 ノース・ブリッジ
22 キャッシュ
24 MMU
26 CPU
28 DMAエンジン
40 コンピュータ・システム
42 HG
46 DC
50 メモリ
Claims (9)
- コンピュータ・システムにおけるホスト・ゲートウェイによる集中メモリ・アドレス変換およびピン止めのための方法であって、
コンシューマによって送られた直接メモリ・アクセス(DMA)要求に、前記コンシューマのメモリ・アドレス・スペースのためのメモリ・アドレス・スペース識別子を付加するステップと、
前記コンシューマのメモリ・アドレス・スペースにおける仮想アドレスを物理ページ・フレームへマップするマッピングを用いて、前記DMA要求に含まれる仮想アドレスをメモリにおける物理ページ・フレームに変換するステップと、
前記マッピングが存在しないと判断することに応答して、マッピングを確立するため、前記コンシューマを動作させるハイパーバイザまたはオペレーティング・システムに対するI/Oミス割り込み呼び出しを発生させるステップと、
前記所与のアドレス・スペース内の前記仮想アドレスのマップ解除オペレーションを防ぐために、前記DMA要求が進行中である限りは、前記物理ページ・フレームをピン止めするステップとを有し、
前記DMA要求が前記メモリ・アドレス・スペース識別子を決定するために使用されるコンシューマ識別子をさらに含み、
前記コンシューマを動作させるハイパーバイザまたはオペレーティング・システムは、前記物理アドレスがピン止めされていると判断することに応答して、マップ解除を中止し、または待機期間の後マッピングを試行し、
前記付加、変換及びピン止めは、前記コンシューマを動作させるハイパーバイザまたはオペレーティング・システムとは独立に行われ、
前記ピン止めは、前記コンシューマを動作させるハイパーバイザまたはオペレーティング・システムに、物理ページ・フレームが現在DMA要求に関与していることを通知するために、該物理ページ・フレームをマークすることを含み、
第1のタイプのマークは、物理ページ・フレームが現在、読み取りまたは書き込み処理に関与していることを示し、
第2のタイプのマークは、物理ページ・フレームが、前記コンシューマを動作させるハイパーバイザまたはオペレーティング・システムの知識なしに、少なくとも1つの読み取りI/Oに以前関与していたことを示す、
方法。 - 前記DMA要求が、前記コンシューマの少なくとも1つの識別子、前記コンシューマのアドレス・スペース内の仮想アドレス、および前記DMA要求の長さを含む、請求項1に記載の方法。
- 前記変換ステップが、前記コンシューマのメモリ内に配置されたページ・テーブルにおける探索ステップをさらに有する、請求項1に記載の方法。
- 前記変換ステップが、前記DMA要求を行うI/Oデバイスと結合されたデバイス・コントローラ内に配置された変換制御エントリ(TCE)テーブルにおけるマッピングを探索するステップをさらに有する、請求項1に記載の方法。
- 前記マッピングが、マッピング識別子と関連付けられている、請求項4に記載の方法。
- DMA要求の正しさを保護するために、マッピング証明書を作成することをさらに有する、請求項5に記載の方法。
- 前記マッピング識別子と前記マッピング証明書を使用して仮想アドレスを検証することをさらに有する、請求項6に記載の方法。
- 前記ホスト・ゲートウェイが処理ユニットのメモリ管理ユニット(MMU)と統合される、請求項1に記載の方法。
- 前記付加するステップが前記ホスト・ゲートウェイによって制御され、前記変換ステップおよびピン止め・ステップが前記MMUによって制御される、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/426,588 US7636800B2 (en) | 2006-06-27 | 2006-06-27 | Method and system for memory address translation and pinning |
US11/426588 | 2006-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008009982A JP2008009982A (ja) | 2008-01-17 |
JP5068108B2 true JP5068108B2 (ja) | 2012-11-07 |
Family
ID=38874758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007166028A Expired - Fee Related JP5068108B2 (ja) | 2006-06-27 | 2007-06-25 | メモリ・アドレスの変換およびピン止めのための方法およびシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US7636800B2 (ja) |
JP (1) | JP5068108B2 (ja) |
CN (1) | CN100538667C (ja) |
TW (1) | TW200817901A (ja) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209683B2 (en) * | 2007-04-17 | 2012-06-26 | International Business Machines Corporation | System and method for probing hypervisor tasks in an asynchronous environment |
US8166254B2 (en) | 2008-06-06 | 2012-04-24 | International Business Machines Corporation | Hypervisor page fault processing in a shared memory partition data processing system |
US10437865B1 (en) * | 2009-01-21 | 2019-10-08 | Vmware, Inc. | Computer storage deduplication |
US8090911B2 (en) | 2009-04-16 | 2012-01-03 | International Business Machines Corporation | Selecting a target number of pages for allocation to a partition |
US8386745B2 (en) * | 2009-07-24 | 2013-02-26 | Advanced Micro Devices, Inc. | I/O memory management unit including multilevel address translation for I/O and computation offload |
US9535849B2 (en) * | 2009-07-24 | 2017-01-03 | Advanced Micro Devices, Inc. | IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect |
US20110153877A1 (en) * | 2009-12-23 | 2011-06-23 | King Steven R | Method and apparatus to exchange data via an intermediary translation and queue manager |
US8631404B2 (en) * | 2010-02-18 | 2014-01-14 | Red Hat Israel, Ltd. | Mechanism for downloading hypervisor updates via a virtual hardware device using existing virtual machine-host channels |
US8954959B2 (en) * | 2010-09-16 | 2015-02-10 | Red Hat Israel, Ltd. | Memory overcommit by using an emulated IOMMU in a computer system without a host IOMMU |
US8631170B2 (en) | 2010-09-16 | 2014-01-14 | Red Hat Israel, Ltd. | Memory overcommit by using an emulated IOMMU in a computer system with a host IOMMU |
JP5593195B2 (ja) * | 2010-10-19 | 2014-09-17 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US9021465B2 (en) | 2010-12-15 | 2015-04-28 | Red Hat Israel, Ltd. | Downloading guest software updates by a hypervisor |
US9164923B2 (en) | 2011-07-01 | 2015-10-20 | Intel Corporation | Dynamic pinning of virtual pages shared between different type processors of a heterogeneous computing platform |
US20140165196A1 (en) | 2012-05-22 | 2014-06-12 | Xockets IP, LLC | Efficient packet handling, redirection, and inspection using offload processors |
WO2013177310A2 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Offloading of computation for rack level servers and corresponding methods and systems |
US9021476B1 (en) * | 2012-06-19 | 2015-04-28 | Bromium, Inc. | Ensuring the privacy and integrity of a hypervisor |
US9135046B1 (en) | 2012-06-19 | 2015-09-15 | Bromium, Inc. | Preventing host operating system from inspecting or modifying data received by hardware controller by moving host operating system into a virtual machine after boot up |
US10140139B1 (en) | 2012-06-19 | 2018-11-27 | Bromium, Inc. | Ensuring the privacy and integrity of a hypervisor |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
US9197446B2 (en) | 2012-12-12 | 2015-11-24 | Google Inc. | Address pinning |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
US9348638B2 (en) | 2013-01-17 | 2016-05-24 | Xockets, Inc. | Offload processor modules for connection to system memory, and corresponding methods and systems |
CN103455438A (zh) * | 2013-07-30 | 2013-12-18 | 华为技术有限公司 | 一种内存管理方法及设备 |
US9037753B2 (en) * | 2013-08-29 | 2015-05-19 | International Business Machines Corporation | Automatic pinning and unpinning of virtual pages for remote direct memory access |
US9239804B2 (en) * | 2013-10-03 | 2016-01-19 | Advanced Micro Devices, Inc. | Back-off mechanism for a peripheral page request log |
JP6294732B2 (ja) * | 2014-03-31 | 2018-03-14 | 株式会社メガチップス | データ転送制御装置及びメモリ内蔵装置 |
CN107209738B (zh) * | 2015-05-02 | 2020-01-10 | 慧与发展有限责任合伙企业 | 储存存储器直接访问 |
US10025722B2 (en) * | 2015-10-28 | 2018-07-17 | International Business Machines Corporation | Efficient translation reloads for page faults with host accelerator directly accessing process address space without setting up DMA with driver and kernel by process inheriting hardware context from the host accelerator |
WO2018053830A1 (en) * | 2016-09-26 | 2018-03-29 | Intel Corporation | Apparatus and method for mediate pass through and shared memory page merge |
US10387186B2 (en) * | 2017-06-28 | 2019-08-20 | Vmware, Inc. | Hypervisor with virtual-memory file system |
US10761983B2 (en) * | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Memory based configuration state registers |
US10698686B2 (en) * | 2017-11-14 | 2020-06-30 | International Business Machines Corporation | Configurable architectural placement control |
US10664181B2 (en) | 2017-11-14 | 2020-05-26 | International Business Machines Corporation | Protecting in-memory configuration state registers |
US10761751B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Configuration state registers grouped based on functional affinity |
US10552070B2 (en) * | 2017-11-14 | 2020-02-04 | International Business Machines Corporation | Separation of memory-based configuration state registers based on groups |
US10901738B2 (en) | 2017-11-14 | 2021-01-26 | International Business Machines Corporation | Bulk store and load operations of configuration state registers |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US10496437B2 (en) | 2017-11-14 | 2019-12-03 | International Business Machines Corporation | Context switch by changing memory pointers |
US10635602B2 (en) * | 2017-11-14 | 2020-04-28 | International Business Machines Corporation | Address translation prior to receiving a storage reference using the address to be translated |
US10558366B2 (en) | 2017-11-14 | 2020-02-11 | International Business Machines Corporation | Automatic pinning of units of memory |
US10642757B2 (en) | 2017-11-14 | 2020-05-05 | International Business Machines Corporation | Single call to perform pin and unpin operations |
CN113660336B (zh) * | 2018-03-30 | 2024-03-15 | 北京忆芯科技有限公司 | 利用kv存储设备的云计算与雾计算系统 |
US11243891B2 (en) * | 2018-09-25 | 2022-02-08 | Ati Technologies Ulc | External memory based translation lookaside buffer |
CN110046106B (zh) * | 2019-03-29 | 2021-06-29 | 海光信息技术股份有限公司 | 一种地址转换方法、地址转换模块及系统 |
KR20210016188A (ko) | 2019-08-01 | 2021-02-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4638426A (en) * | 1982-12-30 | 1987-01-20 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
US6119214A (en) * | 1994-04-25 | 2000-09-12 | Apple Computer, Inc. | Method for allocation of address space in a virtual memory system |
US5666514A (en) * | 1994-07-01 | 1997-09-09 | Board Of Trustees Of The Leland Stanford Junior University | Cache memory containing extra status bits to indicate memory regions where logging of data should occur |
US5765022A (en) * | 1995-09-29 | 1998-06-09 | International Business Machines Corporation | System for transferring data from a source device to a target device in which the address of data movement engine is determined |
US5659798A (en) * | 1996-02-02 | 1997-08-19 | Blumrich; Matthias Augustin | Method and system for initiating and loading DMA controller registers by using user-level programs |
US5983332A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture |
US6493343B1 (en) * | 1998-01-07 | 2002-12-10 | Compaq Information Technologies Group | System and method for implementing multi-pathing data transfers in a system area network |
US6356996B1 (en) * | 1998-03-24 | 2002-03-12 | Novell, Inc. | Cache fencing for interpretive environments |
US6859867B1 (en) * | 2000-05-31 | 2005-02-22 | Intel Corporation | Translation and protection table and method of using the same to validate access requests |
US6658522B1 (en) * | 2000-06-16 | 2003-12-02 | Emc Corporation | Method to reduce overhead associated with system I/O in a multiprocessor computer system |
US6779049B2 (en) * | 2000-12-14 | 2004-08-17 | International Business Machines Corporation | Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism |
CN1528080B (zh) * | 2001-02-13 | 2011-04-20 | 西门子公司 | 确定终端设备的虚拟地址的方法和设备 |
US7254696B2 (en) * | 2002-12-12 | 2007-08-07 | Alacritech, Inc. | Functional-level instruction-set computer architecture for processing application-layer content-service requests such as file-access requests |
US7664909B2 (en) * | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US7594053B2 (en) * | 2003-12-12 | 2009-09-22 | Alcatel-Lucent Usa Inc. | Adaptive object level locking |
US7278008B1 (en) * | 2004-01-30 | 2007-10-02 | Nvidia Corporation | Virtual address translation system with caching of variable-range translation clusters |
US20050246453A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Providing direct access to hardware from a virtual environment |
US8214622B2 (en) * | 2004-05-27 | 2012-07-03 | International Business Machines Corporation | Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment |
-
2006
- 2006-06-27 US US11/426,588 patent/US7636800B2/en not_active Expired - Fee Related
-
2007
- 2007-06-15 TW TW096121851A patent/TW200817901A/zh unknown
- 2007-06-25 JP JP2007166028A patent/JP5068108B2/ja not_active Expired - Fee Related
- 2007-06-26 CN CNB2007101126416A patent/CN100538667C/zh not_active Expired - Fee Related
-
2009
- 2009-09-29 US US12/568,712 patent/US20100049883A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100049883A1 (en) | 2010-02-25 |
CN100538667C (zh) | 2009-09-09 |
US7636800B2 (en) | 2009-12-22 |
CN101097546A (zh) | 2008-01-02 |
JP2008009982A (ja) | 2008-01-17 |
US20070299990A1 (en) | 2007-12-27 |
TW200817901A (en) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5068108B2 (ja) | メモリ・アドレスの変換およびピン止めのための方法およびシステム | |
JP5870206B2 (ja) | 効率的なメモリ及びリソース管理 | |
US8850098B2 (en) | Direct memory access (DMA) address translation between peer input/output (I/O) devices | |
US7882330B2 (en) | Virtualizing an IOMMU | |
US8627040B2 (en) | Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults | |
JP4776586B2 (ja) | 共用仮想記憶を管理する方法および装置 | |
US7739466B2 (en) | Method and apparatus for supporting immutable memory | |
US7516247B2 (en) | Avoiding silent data corruption and data leakage in a virtual environment with multiple guests | |
US9875208B2 (en) | Method to use PCIe device resources by using unmodified PCIe device drivers on CPUs in a PCIe fabric with commodity PCI switches | |
US20090037614A1 (en) | Offloading input/output (I/O) virtualization operations to a processor | |
US20130145055A1 (en) | Peripheral Memory Management | |
US7861095B2 (en) | Data processing apparatus security | |
JP2006252554A (ja) | 仮想マシン環境内でのゲスト物理アドレスの仮想化の方法およびシステム | |
TWI417724B (zh) | 使用替代頁池管理直接記憶器存取寫入頁錯誤之電腦執行方法、裝置、及電腦程式產品 | |
US20070038799A1 (en) | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) | |
US7454787B2 (en) | Secure direct memory access through system controllers and similar hardware devices | |
US20140006737A1 (en) | Protected access to virtual memory | |
WO2010097925A1 (ja) | 情報処理装置 | |
US20220308755A1 (en) | Migrating Pages of Memory Accessible by Input-Output Devices | |
TWI297831B (en) | Method for managing a memory device, computer system and computer-readable medium | |
JP2024503259A (ja) | 入出力デバイスによってアクセス可能なメモリのページの移行 | |
US10545885B2 (en) | Information processing device, information processing method, and computer program product | |
WO2013075443A1 (zh) | 一种内存区间相互隔离的程序之间的通讯方法及处理单元 | |
KR20220014272A (ko) | 복사 명령 처리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100319 |
|
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: 20120702 |
|
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: 20120731 |
|
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: 20120814 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150824 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |