JP2008242944A - 統合メモリ管理装置及び方法 - Google Patents

統合メモリ管理装置及び方法 Download PDF

Info

Publication number
JP2008242944A
JP2008242944A JP2007084272A JP2007084272A JP2008242944A JP 2008242944 A JP2008242944 A JP 2008242944A JP 2007084272 A JP2007084272 A JP 2007084272A JP 2007084272 A JP2007084272 A JP 2007084272A JP 2008242944 A JP2008242944 A JP 2008242944A
Authority
JP
Japan
Prior art keywords
memory
address
main memory
cache
access
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.)
Granted
Application number
JP2007084272A
Other languages
English (en)
Other versions
JP5032172B2 (ja
Inventor
Atsushi Kunimatsu
敦 国松
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007084272A priority Critical patent/JP5032172B2/ja
Priority to US12/056,501 priority patent/US8261041B2/en
Priority to US12/236,880 priority patent/US8135900B2/en
Publication of JP2008242944A publication Critical patent/JP2008242944A/ja
Priority to US13/360,903 priority patent/US8458436B2/en
Application granted granted Critical
Publication of JP5032172B2 publication Critical patent/JP5032172B2/ja
Priority to US13/890,891 priority patent/US8738851B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

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)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】メモリのアクセスに関するメモリ階層の数を削減することができ、メモリアクセスの最適化を容易に実現する。
【解決手段】本発明の一例である統合メモリ管理装置2は、キャッシュメモリ3をアクセスするための第1論理アドレスを第1物理アドレスに変換しプロセッサ1に備えられる第1アドレス変換手段7と、メインメモリ4をアクセスするための第2論理アドレスを第2物理アドレスに変換しプロセッサ1に備えられる第2アドレス変換手段9と、第1アドレス変換手段7によって第1論理アドレスが第1物理アドレスに変換された場合に、第1物理アドレスに基づいてキャッシュメモリ3に対するアクセスを制御し、第2アドレス変換手段9によって第2論理アドレスが第2物理アドレスに変換された場合に、第2物理アドレスに基づいてメインメモリ4に対するアクセスを制御しプロセッサ1に備えられるキャッシュコントローラ8とを具備する。
【選択図】 図1

Description

本発明は、キャッシュメモリとメインメモリとについてのメモリ管理を行う統合メモリ管理装置及び方法に関する。
従来において、NANDフラッシュTMメモリの管理機能は、ファイルシステムに実装される。
MPU(Micro Processing Unit)内にキャッシュメモリが備えられており、メインメモリとしてDRAM(Dynamic Random Access Memory)が用いられており、さらにMPUがNANDフラッシュTMメモリをアクセスする場合、従来においては以下のメモリ階層にそった動作を行う。
まず、MPUは、MMU(Memory Management Unit)により、論理アドレスを物理アドレスに変換し、キャッシュメモリをアクセスする。
ここで、MPUは、オペレーティングシステム(OS)の仮想記憶管理により、一部のデータについて、メインメモリであるDRAMにアクセスを行う。
さらに、MPUは、NANDフラッシュTMメモリにアクセスが必要な場合に、フラッシュファイルシステム(Flash File System)により、NANDフラッシュTMメモリにおける不良ブロックを避ける制御、NANDフラッシュTMメモリの全ブロックを隔たりなくアクセスさせる制御などを行い、NANDフラッシュTMメモリの物理位置を決定する。
MPUは、決定された物理位置に基づいて、NANDフラッシュTMメモリをアクセスする。
特許発明1(特開2001−266580号公報)においては、種類の異なる半導体メモリ装置を共通のバスに接続することを可能にする発明が開示されている。
この特許文献1では、パッケージの有する複数のピンは、ランダムアクセスメモリ及び不揮発性半導体メモリに共通にメモリ機能を提供する。この複数のピンの各々は、不揮発性半導体メモリの対応するピンの位置に配列されている。
特開2001−266580号公報
上述したメモリ階層を持つMPUにおいては、メモリ階層の数が多くなるほど、異なる階層に含まれる動作が多くなり、異なる階層の動作間で最適化を行うことが困難である。例えば、MPUがキャッシュメモリのデータを入れ替える時に、NANDフラッシュTMメモリ特有の不良ブロック管理を行うなどのような制御は、それぞれの動作が異なるメモリ階層に属するため、実現困難である。
本発明は、上記実情に鑑みてなされたものであり、メモリのアクセスに関するメモリ階層の数を少なくし、メモリアクセス動作の最適化を容易に実現可能とするための統合メモリ管理装置及び方法を提供することを目的とする。
本願発明の一態様によれば、キャッシュメモリをアクセスするための第1論理アドレスを、第1物理アドレスに変換し、プロセッサに備えられる第1アドレス変換手段と、メインメモリをアクセスするための第2論理アドレスを、第2物理アドレスに変換し、プロセッサに備えられる第2アドレス変換手段と、第1アドレス変換手段によって第1論理アドレスが第1物理アドレスに変換された場合に、第1物理アドレスに基づいてキャッシュメモリに対するアクセスを制御し、第2アドレス変換手段によって第2論理アドレスが第2物理アドレスに変換された場合に、第2物理アドレスに基づいてメインメモリに対するアクセスを制御し、プロセッサに備えられるキャッシュコントローラとを具備する。
本発明においては、メモリのアクセスに関するメモリ階層の数を削減することができ、メモリアクセスの最適化を容易に実現することができる。
以下、図面を参照しながら本発明の各実施の形態について説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
(第1の実施の形態)
本実施の形態においては、MPUにおけるMMU及びキャッシュコントローラに、メインメモリ用のMMUを統合した統合メモリ管理装置について説明する。
図1は、本実施の形態に係る統合メモリ管理装置の一例を示すブロック図である。なお、本実施の形態においては、メインメモリがNANDフラッシュTMメモリの場合を例として説明するが、他の記憶装置を用いることもできる。また、本実施の形態において、アクセスとは、データ(プログラムであってもよい)の読み出しと書き込みの双方を含むとする。
MPU1は、統合メモリ管理装置2と、キャッシュメモリ3とを具備し、NANDフラッシュTMメインメモリ4をアクセスする。
NANDフラッシュTMメインメモリ4は、内部に、アドレス変換テーブル5、書き換え回数データ6を具備する。
アドレス変換テーブル5は、NANDフラッシュTMメインメモリ4における各ブロックの論理アドレスと物理アドレスとを関連付けたデータである。
書き換え回数データ6は、NANDフラッシュTMメインメモリ4の各ブロックの書き換え回数を表す。
統合メモリ管理装置2は、MMU7、キャッシュコントローラ8、メインメモリ用MMU9、アクセス履歴格納部10を具備する。また、キャッシュコントローラ8は、第1のキャッシュコントローラ8aと第2のキャッシュコントローラ8bとを具備する。
MMU7は、キャッシュメモリ3の論理アドレスを物理アドレスに変換する。
キャッシュメモリ3は、タグ格納領域3aと、ライン格納領域3bとを持つ。本実施の形態において、ラインサイズは、NANDフラッシュTMメインメモリ4のブロックと同じサイズ(例えば256キロバイト)か、NANDフラッシュTMメインメモリ4のブロックの倍数となるサイズとする。これにより、NANDフラッシュTMメインメモリ4のブロックをキャッシュメモリ3に移動する動作、及びキャッシュメモリ3のブロックをNANDフラッシュTMメインメモリ4に移動する動作を簡素化できる。本実施の形態において、キャッシュメモリ3は、例えばライトバック型であるとする。
メインメモリ用MMU9は、NANDフラッシュTMメインメモリ4のアドレス変換テーブル5のうちの一部又は全部のデータを格納し、NANDフラッシュTMメインメモリ4のブロックの論理アドレスを物理アドレスに変換する。
アクセス履歴格納部(NAND Information Registers)10は、NANDフラッシュTMメインメモリ4のブロックのアクセス状態の履歴を格納するとする。本実施の形態において、アクセス履歴格納部10は、NANDフラッシュTMメインメモリ4における各ブロックの書き換え回数データ6のうちの一部又は全部のブロックについての書き換え回数を格納する。
例えば、各ブロックの書き換え回数は4バイトで記録され、各ブロックサイズは256キロバイトとする。この場合において、NANDフラッシュTMメインメモリ4の記憶容量が1メガバイトであるとすると、NANDフラッシュTMメインメモリ4に記憶されるブロック数は4ブロックであり、各ブロックの書き換え回数を記憶するために必要な記憶容量は16バイトとなる。同様の場合において、NANDフラッシュTMメインメモリ4の記憶容量が1ギガバイトであるとすると、NANDフラッシュTMメインメモリ4に記憶されるブロック数は4096ブロックであり、各ブロックの書き換え回数を記憶するために必要な記憶容量は16キロバイトとなる。さらに、同様の場合において、NANDフラッシュTMメインメモリ4の記憶容量が16ギガバイトであるとすると、各ブロックの書き換え回数を記憶するために必要な記憶容量は64キロバイトとなる。
例えば、NANDフラッシュTMメインメモリ4の記憶容量が例えば128ギガバイトなどのように大きくなった場合、アクセス履歴格納部10は、NANDフラッシュTMメインメモリ4における書き換え回数データ6の一部を格納する。このように、アクセス履歴格納部10は、書き換え回数データ6の一部を格納するため、書き換え回数にはposが付されている。posはキャッシュタグと同様の手法で使用される。
キャッシュコントローラ8aは、キャッシュメモリ3に対するアクセスを制御する。
より具体的には、キャッシュコントローラ8aは、キャッシュメモリ3からブロックを読み出す場合には、MMU7から得られた物理アドレスにそって、キャッシュメモリ3における物理アドレスに対応するブロックを読み出す。
キャッシュコントローラ8aは、キャッシュメモリ3がリード・オンリー(Read Only)の場合(例えば、NANDフラッシュTMメインメモリ4から読み出したブロックをキャッシュメモリ3に書き込むのみであり、MPU1からキャッシュラインへの書き込みがない場合)、NANDフラッシュTMメインメモリ4から読み出したブロックをキャッシュメモリ3に上書きする。
キャッシュコントローラ8aは、MPU1からキャッシュライン3bにデータの書き込みがあった場合(例えば、プログラムを実行して得られたデータがキャッシュメモリ3に書き込まれる場合)、キャッシュライン3bのデータがNANDフラッシュTMメインメモリ4にライト・バック(Write Back)されることを考慮し、アクセス履歴格納部10のデータとメインメモリ用MMU9による変換後の物理アドレスとに基づいて、NANDフラッシュTMメインメモリ4において書き換え回数が所定数より少ないブロックが書き換えられるように、上書きされる位置を選択し、選択された位置に対応するキャッシュライン3bに上書きを行う。
また、キャッシュコントローラ8aは、キャッシュメモリ3のキャッシュライン3bの書き換えがあった場合に、この書き換えた内容に応じてメインメモリ用MMU9に格納されている論理アドレスと物理アドレスの関係を示すデータと、アクセス履歴格納部10に記憶されている書き換え回数との内容を更新する。
キャッシュコントローラ8bは、NANDフラッシュTMメインメモリ4に対するアクセスを制御する。キャッシュコントローラ8bは、NANDフラッシュTMメインメモリ4のアドレス変換テーブル5の一部又は全部と書き換え回数データ6の一部又は全部を、それぞれメインメモリ用MMU9とアクセス履歴格納部10とに格納する制御を行う。さらに、キャッシュコントローラ8bは、メインメモリ用MMU9に格納されている論理アドレスと物理アドレスの関係を示すデータと、アクセス履歴格納部10に記憶されている書き換え回数との内容を、NANDフラッシュTMメインメモリ4のアドレス変換テーブル5と書き換え回数データ6とに対して反映する。
より具体的には、キャッシュコントローラ8bは、キャッシュメモリ3に読み出し対象のデータが記憶されておらず、NANDフラッシュTMメインメモリ4からデータの読み出しを行う場合に、NANDフラッシュTMメインメモリ4からブロックを読み出す。さらに、キャッシュコントローラ8bは、読み出したブロックについて、アドレス変換テーブル5からアドレス変換のためのデータを読み出し、書き換え回数データ6から書き換え回数を読み出し、それぞれメインメモリ用MMU9とアクセス履歴格納部10に格納する。
キャッシュコントローラ8bは、メインメモリ用MMU9により論理アドレスを物理アドレスに変換し、キャッシュライン3bにおける書き込み対象のブロックをNANDフラッシュTMメインメモリ4に書き込む。さらに、キャッシュコントローラ8bは、書き込み対象のブロックについて、メインメモリ用MMU9から論理アドレスと物理アドレスとの関係を示すデータを読み出し、アクセス履歴格納部10から書き換え回数を読み出し、それぞれアドレス変換テーブル5と書き換え回数データ6に格納する。
図2は、本実施の形態に係る統合メモリ管理装置2によるメモリアクセスのメモリ階層の第1例を示す図である。
この例においては、まず、統合メモリ管理装置2が、論理アドレスを受け、この論理アドレスからアクセス先となるNANDフラッシュTMメインメモリ4の物理位置を決定する。この図2の例において、統合メモリ管理装置2は、このメモリ階層にて、書き込み回数が所定数以下のブロックをアクセスさせる制御を行う。
そして、統合メモリ管理装置2は、決定された物理位置に基づいて、NANDフラッシュTMメインメモリ4をアクセスする。
図3は、本実施の形態に係る統合メモリ管理装置2によるメモリアクセスのメモリ階層の第2例を示す図である。
この例においては、まず、統合メモリ管理装置2のMMU7が、論理アドレスを物理アドレスに変換する。
次に、統合メモリ管理装置2は、この物理アドレスからアクセス先となるNANDフラッシュTMメインメモリ4の物理位置を決定する。この図3の例において、統合メモリ管理装置2は、このメモリ階層にて、書き込み回数が所定数以下のブロックをアクセスさせる制御を行う。
そして、統合メモリ管理装置2は、決定された物理位置に基づいて、NANDフラッシュTMメインメモリ4をアクセスする。
図4は、本実施の形態に係る統合メモリ管理装置2を備えたMPU1におけるキャッシュメモリ3の上書き動作の一例を示すフローチャートである。
ステップS1において、キャッシュコントローラ8bは、MPU1によって使用されるNANDフラッシュTMメインメモリ4のブロックの一部(最初は、先頭から1ギガバイト分などでもよい)を読み出し、キャッシュコントローラ8aは、読み出されたブロックを、キャッシュメモリ3のキャッシュライン3bに書き込む。
ステップS2において、キャッシュコントローラ8bは、NANDフラッシュTMメインメモリ4に保管されている書き換え回数データ6の一部(キャッシュメモリ3に格納されたブロックに対応する書き換え回数など。なお、最初は、先頭から1ギガバイト分などでもよい)を、MPU1内のアクセス履歴格納部10にコピーする。
ステップS3において、キャッシュコントローラ8bは、NANDフラッシュTMメインメモリ4に保管されているアドレス変換テーブル5の一部(キャッシュメモリ3に格納されたブロックに対応する論理アドレスと物理アドレスとの関係を示すデータなど。なお、最初は、先頭から1ギガバイト分などでもよい)を、MPU1内のメインメモリ用MMU9にコピーする。
なお、このステップS1〜S3は、自由な順序で実行されてよく、並列に実行されてもよい。
ステップS4において、MPU1は、キャッシュメモリ3上のプログラムを実行する。
ステップS5において、MPU1は、キャッシュライン3aの上書きの種別を判断する。
MPU1にとってキャッシュメモリ3がRead Onlyの場合、ステップS6において、キャッシュコントローラ8bは、MPU1によって使用されるNANDフラッシュTMメインメモリ4のブロックを読み出す。
さらに、ステップS7において、キャッシュコントローラ8aは、読み出されたブロックを、キャッシュメモリ3のキャッシュライン3bに格納する。
キャッシュライン3bへの書き込みが、MPU1からキャッシュライン3bへの上書きの場合、ステップS8において、キャッシュコントローラ8aは、アクセス履歴格納部10のデータとメインメモリ用MMU9に格納されている論理アドレスと物理アドレスの関係を示すデータとに基づいて、書き換え回数が所定値より少ないブロックの位置又は一番書き換えの少ないブロックの位置を選択する。
ステップS9において、キャッシュコントローラ8aは、選択された位置に対応するキャッシュライン3bへデータを上書きする。
ステップS10において、メインメモリ用MMU9は、上書き後のキャッシュライン3bに対応するように、論理アドレスと物理アドレスとの関係を示すデータを更新し、アクセス履歴格納部10は、書き換えられたブロックについての書き換え回数を更新する。
ステップS11において、キャッシュコントローラ8bは、メインメモリ用MMU9に格納されている論理アドレスと物理アドレスとの関係を示すデータと整合するように、NANDフラッシュTMメインメモリ4のアドレス変換テーブル5を更新し、また、アクセス履歴格納部10の書き換え回数と整合するように、NANDフラッシュTMメインメモリ4の書き換え回数データ6を更新する。例えば、NANDフラッシュTMメインメモリ4の書き換え回数データの更新は、MPU1の電源が切られるとき、又は、MPU1のアクセス履歴格納部10の書き換え時に、実行される。
本実施の形態において、統合メモリ管理装置2は、書き換え回数に基づいて書き換えを行うブロックの位置を選択している。しかしながら、これに代えて、統合メモリ管理装置2は、不良ブロックを避ける制御、NANDフラッシュTMメインメモリ4の全ブロックを隔たりなくアクセスさせる制御を行うとしてもよい。この場合、アクセス履歴格納部10には、不良ブロックの発生位置、NANDフラッシュTMメインメモリ4の書き換え位置の分布などが記憶される。また、統合メモリ管理装置2は、各種の制御を自由に組み合わせて、書き換えを行うブロックの位置を選択するとしてもよい。
本実施の形態において、統合メモリ管理装置2は、キャッシュメモリ3のデータ入れ替え時に、NANDフラッシュTMメインメモリ4のガーベージコレクション処理又は消去のための制御を行うとしてもよい。
本実施の形態において、メインメモリ用MMU9とアクセス履歴格納部10とのうち、少なくとも一方について、二次キャッシュメモリを用いてデータを格納するとしてもよい。すなわち、メインメモリ用MMU9における論理アドレスと物理アドレスとの関係を示すデータは、二次キャッシュメモリに格納されるとしてもよく、また、アクセス履歴格納部10における書き込み回数は、二次キャッシュメモリに格納されるとしてもよい。
本実施の形態に係るMPU1の統合メモリ管理装置2においては、アクセス履歴格納部10に格納されているデータを用いて書き込みを行うNANDフラッシュTMメインメモリ4の位置を選択し、ライトバックするアルゴリズムを採用し、このアルゴリズムを実行するプログラムを用いることができる。例えば、書き換え回数の多いブロックの書き換えを避けるなどのような高度なアルゴリズムを用いることができる。
以上説明した本実施の形態に係る統合メモリ管理装置2においては、MPU1におけるMMU7、キャッシュコントローラ8a,8b、キャッシュメモリ3、メインメモリ用MMU9、アクセス履歴格納部10が統合された構成が採用されている。本実施の形態においては、NANDフラッシュTMメインメモリ4のメモリマッピング管理がMPU1の統合メモリ管理装置2で実行されるアーキテクチャが実現されている。
これにより、メモリ階層において、オーバーヘッドの大きい階層を削除することができる。
本実施の形態においては、多層化されていたメモリ階層を単純化することができ、アクセスに必要な時間、製造時に必要な時間、製造時に必要な費用などの様々なコストを削減することができる。
本実施の形態においては、メモリ階層がシンプルになるため、プログラマはどこの階層でMMU変換、キャッシュメモリの置き換えが発生するかを把握することが容易であり、プログラム・オプティマイズを容易に行うことができる。
本実施の形態においては、MPU1のキャッシュ動作とメインメモリのアクセス動作との間で最適化を容易に実現することができる。
(第2の実施の形態)
本実施の形態においては、上記第1の実施の形態の変形例について説明する。
図5は、本実施の形態に係る統合メモリ管理装置の一例を示すブロック図である。
MPU11には、本実施の形態に係る統合メモリ管理装置12が備えられている。統合MMU13は、上記第1の実施の形態に係るMMU7とメインメモリ用MMU9とを統合した機能を実現する。
本実施の形態において、キャッシュメモリ3のタグは、プロセスIDと論理アドレスでキャッシュメモリ3を管理するために用いられる。
本実施の形態においては、プロセッサであるMPU11の統合MMU13により、NANDフラッシュTMメインメモリ4のメモリマッピング管理が行われ、各種メモリの一括管理が行われる。
以上説明した本実施の形態においては、上記第1の実施の形態に係るMMU7とメインメモリ用MMU9とを統合することにより、構成がシンプルになり、アクセスに必要な時間コストや製造時に必要な経済コストなどの様々なコストを削減できる。
統合MMU24を用いることにより、キャッシュメモリ3に対するアドレス変換とNANDフラッシュTMメインメモリ4に対するアドレス変換とを統合することができる。例えば、あるプロセスに関する記憶内容を、なるべくNANDフラッシュTMメインメモリ4内の近い位置に記憶することにより、高速アクセスが可能となる。また、例えば、書き換え回数の少ないブロックだけを選んで一つのプロセスに割り当てることができる。
(第3の実施の形態)
本実施の形態においては、上記第1又は第2の実施の形態に係る統合メモリ管理装置2,12の適用例に付いて説明する。
図6は、本実施の形態に係る統合メモリ管理装置の適用例を示すブロック図である。
例えば、ゲーム機や、カーナビゲーションシステムでは、ディスクドライブにより読み出されたデータ又はプログラムがメインメモリに一度書き込まれ、その後、このメインメモリに書き込まれたデータ又はプログラムが多回数リードされる傾向にある。本実施の形態において、統合メモリ管理装置12は、ゲーム機に適用される場合について説明するが、カーナビゲーションシステムなどの他の装置に適用される場合も同様である。統合メモリ管理装置12の代わりに、上記第1の実施の形態に係る統合メモリ管理装置2を用いるとしてもよい。
ポータブル・ゲーム・コンソール・プロセッサ14は、グラフィクス・プロセッサ15とプロセッサ16とを具備する。
グラフィクス・プロセッサ15、プロセッサ16、二次キャッシュメモリ17、NANDフラッシュTMメインメモリ4、ディスクドライブ18はバス19に接続されている。
プロセッサ16は、一次キャッシュメモリ20、二次キャッシュメモリ17をアクセスするための二次キャッシュタグ21、キャッシュコントローラ8、統合MMU13を具備する。
さらに、プロセッサ16は、書き換え回数格納部10を具備するが、この図6では省略している。なお、プロセッサ16は、一次キャッシュメモリ20又は二次キャッシュメモリ17を、書き換え回数格納部10として用いるとしてもよい。
キャッシュコントローラ8は、一次キャッシュメモリ20、二次キャッシュメモリ17へのアクセスを制御する。二次キャッシュメモリ17には、例えば、DRAMを用いることができる。
二次キャッシュメモリ17に対するバンド幅は、NANDフラッシュTMメインメモリ4の10倍程度とする。ディスクドライブ18としては、例えば、光ディスクドライブを用いることができる。
本実施の形態において、NANDフラッシュTMメインメモリ4への書き込みは、ゲームカートリッジの交換時とし、他の時点ではNANDフラッシュTMメインメモリ4はリードオンリーで利用されるとする。頻繁に書き込まれるデータ又はプログラムコード、頻繁に読み出されるデータ又はプログラムコードは、二次キャッシュメモリ17に格納される。さらに頻繁に書き込まれるデータ又はプログラムコード、頻繁に読み出されるデータ又はプログラムコードは、一次キャッシュメモリ17に格納されるとする。なお、例えば、一次キャッシュメモリ20又は二次キャッシュメモリ17に記憶されているデータ又はプログラムコードのうち、使用頻度の低いデータ又はプログラムコードをNANDフラッシュTMメインメモリ4に書き込み、NANDフラッシュTMメインメモリ4に記憶されているデータ又はプログラムコードのうち、使用頻度の高いデータ又はプログラムコードを一次キャッシュメモリ20又は二次キャッシュメモリ17に記憶するとしてもよい。
本実施の形態では、例えば、一次キャッシュメモリ20は64キロバイト程度であり、二次キャッシュメモリ17は16〜128メガバイト程度であり、NANDフラッシュTMメインメモリ4は1ギガバイト程度であるとする。
例えば、グラフィクス・プロセッサ15の処理能力は、1/10バンド幅のNANDフラッシュTMメインメモリ4の速度とつりあうか、その2〜3倍程度の能力とする。使用頻度の低いデータは、NANDフラッシュTMメインメモリ4から読み出し、使用頻度の高いデータは、一次キャッシュメモリ20又は二次キャッシュメモリ17から読み出すとする。
本実施の形態においては、キャッシュ入れ替え(キャッシュミスなど)時にNANDフラッシュTMメインメモリ4のガーベージコレクション処理やイレースを行う、などのような最適化を実現することができるプロセッサ16を提供することができ、高度な最適化を行うことができる。
なお、二次キャッシュメモリ17のエントリーサイズを1メガバイト程度とすると、NANDフラッシュTMメインメモリ4との相性がよくなる。
本実施の形態においては、例えば2重に仮想メモリ変換が行われてオーバーヘッドが大きくなることを防止できる。
本実施の形態においては、プロセッサ16に統合メモリ13が備えられることにより、一次キャッシュメモリ20と二次キャッシュメモリ17とNANDフラッシュTMメインメモリ4とを一括管理することができる。
そして、本実施の形態では、レジューム時に保存するデータ量を削減することができる。
本実施の形態においては、NANDフラッシュTMメインメモリ4にデータ又はプログラムを記憶することにより、ディスクドライブ18へのアクセスを削減でき、待ち時間を削減でき、ユーザの操作性及び満足度を向上させることができる。
本実施の形態においては、二次キャッシュメモリ17(DRAM)よりもメモリ単価の安いNANDフラッシュTMメインメモリ4を用いることにより、より多くのデータ又はプログラムを高速にアクセスすることができる。
本発明の第1の実施の形態に係る統合メモリ管理装置の一例を示すブロック図。 第1の実施の形態に係る統合メモリ管理装置によるメモリアクセスのメモリ階層の第1例を示す図。 第1の実施の形態に係る統合メモリ管理装置によるメモリアクセスのメモリ階層の第2例を示す図。 第1の実施の形態に係る統合メモリ管理装置を備えたMPUにおけるキャッシュメモリの上書き動作の一例を示すフローチャート。 本発明の第2の実施の形態に係る統合メモリ管理装置の一例を示すブロック図。 本発明の第3の実施の形態に係る統合メモリ管理装置の適用例を示すブロック図。
符号の説明
1,11…MPU、2,12…統合メモリ管理装置、3…キャッシュメモリ、4…NANDフラッシュTMメインメモリ、5…アドレス変換テーブル、6…書き換え回数データ、7…MMU、8…キャッシュメモリ、8a…第1のキャッシュコントローラ、8b…第2のキャッシュコントローラ、9…メインメモリ用MMU、10…アクセス履歴格納部、13…統合MMU、14…ポータブル・ゲーム・コンソール・プロセッサ、15…グラフィクス・プロセッサ、16…プロセッサ、17…二次キャッシュメモリ、18…ディスクドライブ、19…バス、20…一次キャッシュメモリ、21…二次キャッシュタグ

Claims (5)

  1. キャッシュメモリをアクセスするための第1論理アドレスを、第1物理アドレスに変換し、プロセッサに備えられる第1アドレス変換手段と、
    メインメモリをアクセスするための第2論理アドレスを、第2物理アドレスに変換し、前記プロセッサに備えられる第2アドレス変換手段と、
    前記第1アドレス変換手段によって前記第1論理アドレスが前記第1物理アドレスに変換された場合に、前記第1物理アドレスに基づいて前記キャッシュメモリに対するアクセスを制御し、前記第2アドレス変換手段によって前記第2論理アドレスが前記第2物理アドレスに変換された場合に、前記第2物理アドレスに基づいて前記メインメモリに対するアクセスを制御し、前記プロセッサに備えられるキャッシュコントローラと
    を具備する統合メモリ管理装置。
  2. 請求項1記載の統合メモリ管理装置において、
    前記メインメモリに対するアクセス履歴データを格納する履歴格納手段を更に具備し、
    前記キャッシュコントローラは、前記履歴格納手段に格納されている前記アクセス履歴データに基づいて、前記メインメモリにおける記憶位置を決定する
    ことを特徴とする統合メモリ管理装置。
  3. 請求項1又は請求項2記載の統合メモリ管理装置において、
    前記第2アドレス変換手段は、前記メインメモリに記憶されているアドレス変換テーブルの一部を格納しており、
    前記アクセス履歴格納手段は、前記メインメモリに記憶されている書き換え回数データの一部を格納しており、
    前記キャッシュコントローラは、前記書き換え回数データにおいて、書き換え回数が所定回数より少ない位置を選択し、選択された位置にデータを記憶するよう制御する
    ことを特徴とする統合メモリ管理装置。
  4. 請求項1乃至請求項3のいずれか1項に記載の統合メモリ管理装置において、
    前記第1アドレス変換手段と前記第2アドレス変換手段とを統合した統合アドレス変換手段を具備することを特徴とする統合メモリ管理装置。
  5. プロセッサに備えられている第1アドレス変換手段によりキャッシュメモリをアクセスするための第1論理アドレスを第1物理アドレスに変換するか、あるいは前記プロセッサ内の第2アドレス変換手段によりメインメモリをアクセスするための第2論理アドレスを第2物理アドレスに変換し、
    前記第1アドレス変換手段によって前記第1論理アドレスが前記第1物理アドレスに変換された場合に、前記プロセッサに備えられているキャッシュコントローラにより、前記第1アドレス変換手段によって得られた前記第1物理アドレスに基づいて、前記キャッシュメモリに対するアクセスを制御し、前記第2アドレス変換手段によって前記第2論理アドレスが前記第2物理アドレスに変換された場合に、前記キャッシュコントローラにより、前記第2アドレス変換手段によって得られた前記第2物理アドレスに基づいて、前記メインメモリに対するアクセスを制御する
    ことを特徴とする統合メモリ管理方法。
JP2007084272A 2007-03-28 2007-03-28 統合メモリ管理装置及び方法並びにデータ処理システム Active JP5032172B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007084272A JP5032172B2 (ja) 2007-03-28 2007-03-28 統合メモリ管理装置及び方法並びにデータ処理システム
US12/056,501 US8261041B2 (en) 2007-03-28 2008-03-27 Memory management device for accessing cache memory or main memory
US12/236,880 US8135900B2 (en) 2007-03-28 2008-09-24 Integrated memory management and memory management method
US13/360,903 US8458436B2 (en) 2007-03-28 2012-01-30 Device and memory system for memory management using access frequency information
US13/890,891 US8738851B2 (en) 2007-03-28 2013-05-09 Device and memory system for swappable memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007084272A JP5032172B2 (ja) 2007-03-28 2007-03-28 統合メモリ管理装置及び方法並びにデータ処理システム

Publications (2)

Publication Number Publication Date
JP2008242944A true JP2008242944A (ja) 2008-10-09
JP5032172B2 JP5032172B2 (ja) 2012-09-26

Family

ID=39796283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007084272A Active JP5032172B2 (ja) 2007-03-28 2007-03-28 統合メモリ管理装置及び方法並びにデータ処理システム

Country Status (2)

Country Link
US (1) US8261041B2 (ja)
JP (1) JP5032172B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011007599A1 (ja) 2009-07-17 2011-01-20 株式会社 東芝 メモリ管理装置
JP2011186559A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
JP2011186562A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186555A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186561A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
JP2012173870A (ja) * 2011-02-18 2012-09-10 Toshiba Corp 半導体装置及びメモリ保護方法
US8612692B2 (en) 2010-07-30 2013-12-17 Kabushiki Kaisha Toshiba Variable write back timing to nonvolatile semiconductor memory
US8645612B2 (en) 2010-07-30 2014-02-04 Kabushiki Kaisha Toshiba Information processing device and information processing method
US9235507B2 (en) 2009-12-16 2016-01-12 Kabushiki Kaisha Toshiba Memory management device and method
US9280466B2 (en) 2008-09-09 2016-03-08 Kabushiki Kaisha Toshiba Information processing device including memory management device managing access from processor to memory and memory management method
US9367451B2 (en) 2010-01-13 2016-06-14 Kabushiki Kaisha Toshiba Storage device management device and method for managing storage device

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135900B2 (en) 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
JP5171448B2 (ja) * 2007-07-31 2013-03-27 キヤノン株式会社 画像形成装置及びその制御方法
TWI370969B (en) 2008-07-09 2012-08-21 Phison Electronics Corp Data accessing method, and storage system and controller using the same
US8291192B2 (en) * 2008-10-30 2012-10-16 Kyocera Document Solutions, Inc. Memory management system
JP2010165251A (ja) * 2009-01-16 2010-07-29 Toshiba Corp 情報処理装置及びプロセッサ並びに情報処理方法
JP2011118469A (ja) * 2009-11-30 2011-06-16 Toshiba Corp メモリ管理装置およびメモリ管理方法
US8909850B2 (en) * 2011-03-10 2014-12-09 Deere & Company Memory life extension method and apparatus
US9176671B1 (en) 2011-04-06 2015-11-03 P4tents1, LLC Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
US9164679B2 (en) 2011-04-06 2015-10-20 Patents1, Llc System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class
US9158546B1 (en) 2011-04-06 2015-10-13 P4tents1, LLC Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US9170744B1 (en) 2011-04-06 2015-10-27 P4tents1, LLC Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
WO2013027642A1 (en) * 2011-08-19 2013-02-28 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US20130091321A1 (en) * 2011-10-11 2013-04-11 Cisco Technology, Inc. Method and apparatus for utilizing nand flash in a memory system hierarchy
WO2016085463A1 (en) 2014-11-25 2016-06-02 Hewlett Packard Enterprise Development Lp Memory controller with memory resource memory management
CN109308270B (zh) * 2018-09-04 2021-07-23 飞腾技术(长沙)有限公司 一种加速虚实地址转换的方法及装置
KR20220032808A (ko) 2020-09-08 2022-03-15 삼성전자주식회사 프로세싱-인-메모리, 메모리 액세스 방법 및 메모리 액세스 장치

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0676586A (ja) * 1991-12-19 1994-03-18 Toshiba Corp 不揮発性半導体記憶装置及びこれを用いた記憶システム
JPH06349286A (ja) * 1993-06-04 1994-12-22 Matsushita Electric Ind Co Ltd フラッシュメモリ用書き込み制御方法および制御装置
JPH07146820A (ja) * 1993-04-08 1995-06-06 Hitachi Ltd フラッシュメモリの制御方法及び、それを用いた情報処理装置
JP2000122929A (ja) * 1998-10-13 2000-04-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP2000163313A (ja) * 1998-11-30 2000-06-16 Ricoh Co Ltd プログラム読出し制御装置およびシステム
JP2001118046A (ja) * 1999-10-19 2001-04-27 Meisho Chin 指紋照合可能な電子データ記憶媒体
JP2002073409A (ja) * 2000-08-28 2002-03-12 Toshiba Corp メモリカード及び同カードに適用されるアドレス変換方法
JP2005018428A (ja) * 2003-06-26 2005-01-20 Nec Corp 情報処理装置
JP2005235182A (ja) * 2004-02-16 2005-09-02 Samsung Electronics Co Ltd 不揮発性メモリを制御するためのコントローラ
JP2006127245A (ja) * 2004-10-29 2006-05-18 Ricoh Co Ltd 電子機器システム
WO2006098212A1 (ja) * 2005-03-15 2006-09-21 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2007528079A (ja) * 2004-03-08 2007-10-04 サンディスク コーポレイション フラッシュコントローラのキャッシュ構造
JP2008047238A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 不揮発性半導体メモリ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US600006A (en) * 1898-03-01 Lajljtllni
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US7660941B2 (en) 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US7610438B2 (en) 2000-01-06 2009-10-27 Super Talent Electronics, Inc. Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
KR100383774B1 (ko) 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
US7680977B2 (en) 2004-02-26 2010-03-16 Super Talent Electronics, Inc. Page and block management algorithm for NAND flash
US20110029723A1 (en) 2004-08-06 2011-02-03 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems
US7519754B2 (en) 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US7512767B2 (en) * 2006-01-04 2009-03-31 Sony Ericsson Mobile Communications Ab Data compression method for supporting virtual memory management in a demand paging system
US7716411B2 (en) 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
US20080140918A1 (en) 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
KR100881669B1 (ko) 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US7870446B2 (en) 2008-02-29 2011-01-11 Kabushiki Kaisha Toshiba Information processing apparatus and nonvolatile semiconductor memory drive
JP2012505441A (ja) 2009-03-24 2012-03-01 株式会社日立製作所 ストレージ装置およびそのデータ制御方法
US7948798B1 (en) 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0676586A (ja) * 1991-12-19 1994-03-18 Toshiba Corp 不揮発性半導体記憶装置及びこれを用いた記憶システム
JPH07146820A (ja) * 1993-04-08 1995-06-06 Hitachi Ltd フラッシュメモリの制御方法及び、それを用いた情報処理装置
JPH06349286A (ja) * 1993-06-04 1994-12-22 Matsushita Electric Ind Co Ltd フラッシュメモリ用書き込み制御方法および制御装置
JP2000122929A (ja) * 1998-10-13 2000-04-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP2000163313A (ja) * 1998-11-30 2000-06-16 Ricoh Co Ltd プログラム読出し制御装置およびシステム
JP2001118046A (ja) * 1999-10-19 2001-04-27 Meisho Chin 指紋照合可能な電子データ記憶媒体
JP2002073409A (ja) * 2000-08-28 2002-03-12 Toshiba Corp メモリカード及び同カードに適用されるアドレス変換方法
JP2005018428A (ja) * 2003-06-26 2005-01-20 Nec Corp 情報処理装置
JP2005235182A (ja) * 2004-02-16 2005-09-02 Samsung Electronics Co Ltd 不揮発性メモリを制御するためのコントローラ
JP2007528079A (ja) * 2004-03-08 2007-10-04 サンディスク コーポレイション フラッシュコントローラのキャッシュ構造
JP2006127245A (ja) * 2004-10-29 2006-05-18 Ricoh Co Ltd 電子機器システム
WO2006098212A1 (ja) * 2005-03-15 2006-09-21 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2008047238A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 不揮発性半導体メモリ

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280466B2 (en) 2008-09-09 2016-03-08 Kabushiki Kaisha Toshiba Information processing device including memory management device managing access from processor to memory and memory management method
WO2011007599A1 (ja) 2009-07-17 2011-01-20 株式会社 東芝 メモリ管理装置
US10310747B2 (en) 2009-12-16 2019-06-04 Toshiba Memory Corporation Memory management device and method
US9235507B2 (en) 2009-12-16 2016-01-12 Kabushiki Kaisha Toshiba Memory management device and method
US9367451B2 (en) 2010-01-13 2016-06-14 Kabushiki Kaisha Toshiba Storage device management device and method for managing storage device
JP2011186559A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
JP2011186562A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186555A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186561A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
US8612692B2 (en) 2010-07-30 2013-12-17 Kabushiki Kaisha Toshiba Variable write back timing to nonvolatile semiconductor memory
US8645612B2 (en) 2010-07-30 2014-02-04 Kabushiki Kaisha Toshiba Information processing device and information processing method
CN102693191A (zh) * 2011-02-18 2012-09-26 株式会社东芝 半导体器件和存储器保护方法
US9336065B2 (en) 2011-02-18 2016-05-10 Kabushiki Kaisha Toshiba Semiconductor device and memory protection method
US8892810B2 (en) 2011-02-18 2014-11-18 Kabushiki Kaisha Toshiba Semiconductor device and memory protection method
JP2012173870A (ja) * 2011-02-18 2012-09-10 Toshiba Corp 半導体装置及びメモリ保護方法

Also Published As

Publication number Publication date
US8261041B2 (en) 2012-09-04
JP5032172B2 (ja) 2012-09-26
US20080244165A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
JP5032172B2 (ja) 統合メモリ管理装置及び方法並びにデータ処理システム
US8458436B2 (en) Device and memory system for memory management using access frequency information
US9489301B2 (en) Memory systems
KR101038167B1 (ko) 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
US8489854B1 (en) Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US8370602B2 (en) Method for memory space management
US9367451B2 (en) Storage device management device and method for managing storage device
US8909870B2 (en) Cache evictions from data cache based on content of address translation table cache and address translation table
US9104554B2 (en) Storage apparatus, storage controller and method for relocating data in solid state drive
JP4909963B2 (ja) 統合メモリ管理装置
US11301331B2 (en) Storage device and operating method of storage device
JPH11126488A (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
JP2005182793A (ja) 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
CN105190571A (zh) 页表数据管理
JP2007293440A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2011022933A (ja) メモリ管理装置を含む情報処理装置及びメモリ管理方法
JP2011090496A (ja) 半導体記憶装置および制御方法
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
GB2411499A (en) Maintaining erased blocks in a non-volatile memory
JP4026588B2 (ja) ディスクアレイ装置およびディスクキャッシュ管理方法ならびにプログラム
US11182286B2 (en) Data storage device and control method for non-volatile memory
JP2013196155A (ja) メモリシステム
JP2013033338A (ja) メモリシステム
US20200301843A1 (en) Memory access device, memory system, and information processing system
JPH10312693A (ja) 記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120529

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

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

R151 Written notification of patent or utility model registration

Ref document number: 5032172

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350