JP5137002B2 - メモリコントローラ - Google Patents

メモリコントローラ Download PDF

Info

Publication number
JP5137002B2
JP5137002B2 JP2007015096A JP2007015096A JP5137002B2 JP 5137002 B2 JP5137002 B2 JP 5137002B2 JP 2007015096 A JP2007015096 A JP 2007015096A JP 2007015096 A JP2007015096 A JP 2007015096A JP 5137002 B2 JP5137002 B2 JP 5137002B2
Authority
JP
Japan
Prior art keywords
address
read
host system
data
memory
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
JP2007015096A
Other languages
English (en)
Other versions
JP2008181399A5 (ja
JP2008181399A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2007015096A priority Critical patent/JP5137002B2/ja
Priority to US11/968,427 priority patent/US8375169B2/en
Publication of JP2008181399A publication Critical patent/JP2008181399A/ja
Publication of JP2008181399A5 publication Critical patent/JP2008181399A5/ja
Priority to US13/618,921 priority patent/US8725952B2/en
Application granted granted Critical
Publication of JP5137002B2 publication Critical patent/JP5137002B2/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
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、不揮発性メモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる可能性を回避または低減する技術に関する。
不揮発性メモリの中でも、NANDフラッシュメモリは、単純な回路構成による高集積化や製造コスト減、ユーザによる書き込みの容易化を図ることを可能とするため、SDメモリカードなどに大量に採用されている。
最近では、NANDフラッシュメモリは、ゲーム機などにも採用されている。NANDフラッシュメモリがゲーム機などで使用される際には、書き込みは発生せず、連続的な読み出しが発生する。すなわち、NANDフラッシュメモリがROMとして採用されることが多くなりつつある。
しかし、ゲーム機などでは、特定のプログラムが繰り返し読み出されることが多いため、プログラムが意図せず書き換えられる可能性が指摘され始めている。このような現象は“Read Disturb”現象と呼ばれており、本現象が発生するメカニズムについて、以下に簡単に説明する。
図7は、NANDフラッシュメモリの模式図である。NANDフラッシュメモリは、格子状に配線されたビット線41とワード線42、43、44、メモリセル52、53、選択トランジスタ54などから構成されている。
メモリセル52が格納する二値データ(“0”または“1”)を読み出す場合を考える。この場合、メモリセル52は選択セル52、メモリセル53は非選択セル53と呼ばれている。まず、選択トランジスタ54により、選択セル52が属するビット線41が指定される。次に、選択セル52が属するワード線42に対して、低ゲート電圧V(Low)=0Vが印加される。そして、非選択セル53が属するワード線43に対して、高ゲート電圧V(High)〜5Vが印加される。このとき、非選択セル53は微弱な書き込み状態にあるため、非選択セル53のフローティングゲートに、電子がトラップされ、蓄積される。すなわち、選択セル52が格納する二値データが繰り返し読み出されると、非選択セル53の閾値電圧がシフトして、非選択セル53が格納している二値データが、“1”から“0”に意図せず書き換えられる可能性がある。
もっとも、非選択セル53が格納している二値データが意図せず書き換えられたとしても、データが新たに書き込まれる前に一括して消去される際に、非選択セル53の機能を回復させることができる。しかし、書き込みは発生せず、連続的な読み出しが発生する場合には、非選択セル53の機能を回復させることができなくなる。
以上に説明した“Read Disturb”現象を回避する手段を提供する文献として、以下の特許文献が挙げられる。
米国特許出願公開第2005/0210184号明細書
上述の特許文献は、メモリセル内部の制御方法により、“Read Disturb”現象を回避する手段を提供するものである。しかし、ここで開示されている方法は、特定のセル構造を有するメモリに対して適用可能な方法であり、他のセル構造に適用可能なものではない。つまり、メモリのセル構造に依存することなく、“Read Disturb”現象を回避できる方策ではない。
そこで、本発明は前記問題点に鑑み、メモリのセル構造に制約を受けることなく、様々なタイプの不揮発性メモリにおいても、“Read Disturb”現象を回避または低減することができる手段を提供することを目的とする。
請求項記載の発明は、記憶装置に対するアクセスを制御するメモリコントローラであって、前記記憶装置が格納するデータを処理するホストシステムが出力する読み出しアドレス(第1アドレス)と、前記ホストシステムが前記第1アドレスを出力する前に出力した読み出しアドレス(第2アドレス)と、を比較するアドレス比較部と、前記第2アドレスのデータを格納するバッファ部と、前記第1アドレスが前記第2アドレスに含まれている場合には、前記ホストシステムに対して、前記バッファ部から前記第1アドレスのデータを出力し、前記第1アドレスが前記第2アドレスに含まれていない場合には、前記ホストシステムに対して、前記記憶装置から読み出した前記第1アドレスのデータを出力する手段と、を備え、前記第2アドレスは、前記ホストシステムが前記第1アドレスを出力する直前の所定回の出力に係る読み出しアドレスのうち、読み出し回数が上位の読み出しアドレス、を含むことを特徴とする。
請求項記載の発明は、請求項に記載のメモリコントローラにおいて、前記第2アドレスは、前記ホストシステムの電源がオンにされる際に、前記ホストシステムが前記第1アドレスを出力する前に出力したものとして処理される固定アドレス、を含むことを特徴とする。
請求項記載の発明は、請求項に記載のメモリコントローラにおいて、前記第2アドレスは、前記ホストシステムの電源がオンにされる際に、前記ホストシステムが前記第1アドレスを出力する前に出力したものとして処理されるみなし読み出しアドレス、を含み、前記みなし読み出しアドレスは、前記ホストシステムの電源がオンにされる直前にオフにされた際における前記第2アドレス、を含むことを特徴とする。
請求項記載の発明は、請求項1ないし請求項のいずれかに記載のメモリコントローラにおいて、さらに、前記バッファ部からデータを出力する場合には、前記バッファ部と前記ホストシステム間のアクセスを設定し、前記記憶装置から読み出したデータを出力する場合には、前記記憶装置と前記ホストシステム間のアクセスを設定するデータセレクタ部、を備えることを特徴とする。
請求項記載の発明は、請求項1ないし請求項のいずれかに記載のメモリコントローラにおいて、さらに、前記バッファ部からデータを出力する場合には、前記ホストシステムに対して通知する前記バッファ部の動作状態をアクセス可能状態に固定する手段と、前記記憶装置から読み出したデータを出力する場合には、前記ホストシステムに対して、前記記憶装置の動作状態を通知する手段と、を備えることを特徴とする。
請求項1記載の発明は、ホストシステムが繰り返し読み出すデータを、メモリコントローラ内部のバッファ部に格納することにより、ホストシステムが新たにそのデータを読み出す際には、メモリからではなく、バッファ部から読み出すことができる。そこで、ホストシステムがそのデータをメモリから繰り返し読み出すことはなくなるため、“Read Disturb”現象を回避または低減することができる。請求項1記載の発明は、ホストシステムが最近所定回の読み出しに係るデータのうち、読み出し回数が上位のデータを今回も読み出す際には、メモリからではなく、バッファ部から読み出すことができる。
請求項記載の発明は、ホストシステムの電源をオンにする際に、バッファ部が格納するデータを、固定データに初期化することができる。
請求項記載の発明は、ホストシステムの電源をオンにする際に、バッファ部が格納するデータを初期化することができる。また、請求項記載の発明は、ホストシステムに対する操作を中断した後に再開する場合に、中断直前にバッファ部が格納していたデータを、再開直後にバッファ部がそのまま格納することができる。
請求項記載の発明は、ホストシステムおよびバッファ部またはメモリの間に、アクセスパスを設定することができる。
請求項記載の発明は、ホストシステムがバッファ部からデータを読み出す場合に、バッファ部の動作状態を示す信号を,READY状態を示す信号に固定することにより、高速にバッファ部からデータを読み出すことができる。
{第1の実施の形態}
以下、図面を参照しつつ第1の実施の形態について説明する。図1は、第1の実施の形態に係るメモリモジュールのブロック図である。ホストシステム1とメモリモジュール2は、メモリモジュール2内部のインターフェース部31を介して接続されている。ホストシステム1は、メモリモジュール2に読み出しコマンドを出力する。また、メモリモジュール2内部のメモリ4から読み出すプログラムなどのデータを処理する。ホストシステム1としてゲーム機本体、メモリモジュール2としてゲームカートリッジなどが挙げられる。
メモリモジュール2は、メモリコントローラ3とメモリ4から構成されている。メモリコントローラ3は、ホストシステム1がメモリ4からデータを読み出す際に、メモリ4に対するアクセスを制御することができる。その一方で、ホストシステム1がメモリ4からデータを繰り返し読み出す際には、メモリ4に対する直接的なアクセスを行わないこともできる。このメモリコントローラ3により、“Read Disturb”現象を回避または低減することができる。本現象を回避または低減する具体的な方法については、後で詳述する。
メモリ4は、ホストシステム1が読み出すデータを格納するための記憶装置である。ホストシステム1がゲーム機本体である場合、メモリ4が格納するデータは、ホストシステム1が処理するゲームプログラムである。メモリ4は、不揮発性メモリであり、第1の実施の形態においては、Single−Level Cell(SLC)方式のNANDフラッシュメモリである。しかし、Multi−Level Cell(MLC)方式のNANDフラッシュメモリ、NORフラッシュメモリなどの他の不揮発性メモリにおいても、本発明を実施することは可能である。
メモリコントローラ3は、インターフェース部31、アドレスデコーダ部32、アドレス比較部33、データセレクタ部34、RDY/BSYセレクタ部35、アクセスコントローラ部36、バッファ部37などから構成されている。
インターフェース部31は、ホストシステム1とメモリモジュール2の間で、読み出しコマンドや読み出しデータなどのやりとりを行うためのインターフェースである。
アドレスデコーダ部32は、ホストシステム1から入力される読み出しコマンドから、読み出しアドレスを抽出する。そして、その読み出しアドレスを、アドレス比較部33およびアクセスコントローラ部36に出力する。
アドレス比較部33は、アドレスデコーダ部32から入力される読み出しアドレスを格納する。そして、今回入力される読み出しアドレスと、前回入力された読み出しアドレスを比較する。
今回入力される読み出しアドレスが、前回入力された読み出しアドレスと一致している場合、アドレス比較部33は、バッファアクセスパスへの切替信号を、データセレクタ部34およびRDY/BSYセレクタ部35に出力する。また、メモリアクセス不可信号を、アクセスコントローラ部36に出力する。すなわち、ホストシステム1が前回読み出したデータを今回も読み出す際には、メモリ4にアクセスすることはできず、バッファ部37にアクセスすることになる。
今回入力される読み出しアドレスが、前回入力された読み出しアドレスと一致していない場合、アドレス比較部33は、メモリアクセスパスへの切替信号を、データセレクタ部34およびRDY/BSYセレクタ部35に出力する。また、メモリアクセス要求信号を、アクセスコントローラ部36に出力する。
アドレス比較部33において、今回入力される読み出しアドレスと前回入力された読み出しアドレスを比較することにより、ホストシステム1が前回読み出したデータを今回も読み出す際には、メモリ4にアクセスすることなく、バッファ部37にアクセスすれば足りるため、“Read Disturb”現象を回避または低減することができる。
データセレクタ部34は、アドレス比較部33から入力されるバッファアクセスパスへの切替信号に従って、バッファ部37とホストシステム1の間のアクセスを設定する。また、データセレクタ部34は、アドレス比較部33から入力されるメモリアクセスパスへの切替信号に従って、メモリ4とホストシステム1の間のアクセスを設定する。
RDY/BSYセレクタ部35は、アドレス比較部33から入力されるバッファアクセスパスへの切替信号に従って、バッファ部37の常時READY状態を示す常時RDY信号を、ホストシステム1に対して出力する。また、RDY/BSYセレクタ部35は、アドレス比較部33から入力されるメモリアクセスパスへの切替信号に従って、メモリ4のそれぞれREADY状態およびBUSY状態を示すRDY信号およびBSY信号を、ホストシステム1に対して出力する。
ホストシステム1がバッファ部37からデータを読み出す場合に、バッファ部37の動作状態を示す信号をRDY信号に固定することにより、高速にバッファ部37からデータを読み出すことができる。
アクセスコントローラ部36は、メモリ4に対する直接的なアクセスを制御することができる。すなわち、アクセスコントローラ部36は、アドレス比較部33から入力されるメモリアクセス不可信号に従って、アドレスデコーダ部32からアドレス比較部33に入力される読み出しアドレスにアクセスしない。また、アクセスコントローラ部36は、アドレス比較部33から入力されるメモリアクセス要求信号に従って、アドレスデコーダ部32からアドレス比較部33に入力される読み出しアドレスにアクセスする。
バッファ部37は、ホストシステム1が読み出すデータを格納する。ホストシステム1がメモリ4からデータを読み出す場合、バッファ部37は、その読み出しデータを新たにメモリ4から読み出して格納する。ホストシステム1がバッファ部37からデータを読み出す場合、バッファ部37は、その読み出しデータを新たにメモリ4から読み出して格納することなく、すでに格納されている読み出しデータをそのまま保持する。
バッファ部37は、読み出しデータを新たに格納することがあるため、書き換え可能なメモリである必要がある。第1の実施の形態においては、ホストシステム1とバッファ部37の間のアクセスを高速にするため、バッファ部37としてSRAMを使用している。しかし、他の書き換え可能なメモリにおいても、本発明を実施することは可能である。
以上に説明したホストシステム1およびメモリモジュール2から構成される情報処理装置において、“Read Disturb”現象を回避または低減するための処理の流れを説明する。図2は、第1の実施の形態に係るホストシステム1がデータを読み出す処理の流れを示す図である。図2でのステップSは、図1でのステップSに対応している。第1の実施の形態においては、ホストシステム1は、ページ単位でデータを読み出している。また、バッファ部37は、1ページ分のデータを格納することができる。
まず、ホストシステム1にメモリモジュール2を装着する。ホストシステム1がゲーム機本体、メモリモジュール2がゲームカートリッジである場合、ホストシステム1にメモリモジュール2を挿入する。そして、ホストシステム1の電源をオンにする。
アクセスコントローラ部36は、アドレス比較部33が設定した初期値を取得する(ステップS1)。ここで、初期値および後で詳述する現在値は、ページやブロックの先頭箇所などである。第1の実施の形態においては、ホストシステム1は、ページ単位でデータを読み出しているため、初期値および現在値は、ページの先頭箇所としている。
アドレス比較部33が初期値を設定する方法について、具体例を挙げて説明する。まず、以前にホストシステム1の電源をオフにした際に、アドレス比較部33が設定していた現在値を、ホストシステム1の電源をオンにする際に、そのまま初期値として設定する方法がある。次に、ホストシステム1の電源をオンにするたびに、ある特定の初期値を設定する方法がある。
アドレス比較部33が初期値を設定するにあたり、ホストシステム1の電源をオフにしているときにも初期値を格納している不揮発性メモリを、メモリモジュール2が有していることが望ましい。初期値を格納する不揮発性メモリとして、アドレス比較部33内部の不揮発性メモリ、不揮発性メモリであるメモリ4の一部、その他の別個の不揮発性メモリなどが挙げられる。もっとも、ホストシステム1の電源をオンにするたびに、ある特定の初期値を設定するときには、メモリ4がその特定の初期値を格納するようにしてもよい。
アドレス比較部33が設定した初期値を取得したアクセスコントローラ部36は、その初期値が示すアドレスのデータを、メモリ4にアクセスして読み出す。そして、そのデータは、バッファ部37に格納される(ステップS2)。以上に説明した処理の流れにより、初期化段階は終了する。
次に、ホストシステム1から出力された読み出しコマンドが、インターフェース部31を介して、アドレスデコーダ部32に入力される(ステップS3)。アドレスデコーダ部32は、その読み出しコマンドから読み出しアドレスを抽出して、アドレス比較部33およびアクセスコントローラ部36に出力する(ステップS4)。
アドレス比較部33は、ステップS1で設定した初期値が示すアドレスと、アドレスデコーダ部32から入力された読み出しアドレスを比較する(ステップS5)。初期値が示すアドレスと読み出しアドレスが一致することは、ホストシステム1が読み出そうとするデータは、ステップS2でバッファ部37に格納されたデータと一致することを示している。また、初期値が示すアドレスと読み出しアドレスが一致しないことは、ホストシステム1が読み出そうとするデータは、ステップS2でバッファ部37に格納されたデータと一致しないことを示している。以下において、初期値が示すアドレスと読み出しアドレスが一致する場合と一致しない場合のそれぞれについて、処理の流れを説明する。
まず、ステップS1で設定した初期値が示すアドレスと、アドレスデコーダ部32から入力された読み出しアドレスが一致する場合を考える。アドレス比較部33は、バッファアクセスパスへの切替信号“0”を、データセレクタ部34およびRDY/BSYセレクタ部35に出力する(ステップS6)。また、アドレス比較部33は、アクセスコントローラ部36に、メモリアクセス不可信号を出力する(ステップS7)。
アドレス比較部33は、ステップS1で設定した初期値が示すアドレスを、アドレスデコーダ部32から入力された読み出しアドレスに更新する(ステップS8)。ステップS1で説明した現在値は、後者のアドレスを示すものである。両アドレスが一致する場合を考えているため、アドレス比較部33がステップS1で設定した初期値が示すアドレスを更新しないようにしてもよい。
メモリアクセス不可信号を入力されたアクセスコントローラ部36は、No operation状態になる(ステップS9)。バッファアクセスパスへの切替信号“0”を入力されたRDY/BSYセレクタ部35は、インターフェース部31を介して、RDY/BSY信号(固定値“1”)を、ホストシステム1に出力する。RDY/BSY信号(固定値“1”)は、バッファ部37の動作状態によらない、常時RDY信号を示している。ホストシステム1は、RDY/BSY信号(固定値“1”)をポーリングして、ステップS2でバッファ部37に格納されたデータを読み出す(ステップS10)。すなわち、バッファ部37の動作状態によらず、ホストシステム1は、バッファ部37から高速にデータを読み出すことができる。バッファ部37は、ステップS2で格納されたデータをそのまま保持する(ステップS11)。
ホストシステム1の電源をオフにしないならば、処理はステップS3から続行される。続行される処理の流れについては、後で簡単に説明する。ホストシステム1の電源をオフにするならば、処理は終了する。
以上に説明した処理の流れにより、ステップS1で設定した初期値が示すアドレスと、アドレスデコーダ部32から入力された読み出しアドレスが一致する場合には、ホストシステム1は、メモリ4にアクセスすることなく、バッファ部37にアクセスすることにより、“Read Disturb”現象を回避または低減して、データを読み出すことができる。
次に、ステップS1で設定した初期値が示すアドレスと、アドレスデコーダ部32から入力された読み出しアドレスが一致しない場合を考える。アドレス比較部33は、メモリアクセスパスへの切替信号“1”を、データセレクタ部34およびRDY/BSYセレクタ部35に出力する(ステップS12)。また、アドレス比較部33は、アクセスコントローラ部36に、メモリアクセス要求信号を出力する(ステップS13)。
アドレス比較部33は、ステップS1で設定した初期値が示すアドレスを、アドレスデコーダ部32から入力された読み出しアドレスに更新する(ステップS14)。ステップS1で説明した現在値は、後者のアドレスを示すものである。
メモリアクセス要求信号を入力されたアクセスコントローラ部36は、アドレスデコーダ部32からアドレス比較部33に入力された読み出しアドレスにアクセスする(ステップS15)。メモリアクセスパスへの切替信号“1”を入力されたRDY/BSYセレクタ部35は、インターフェース部31を介して、RDY/BSY信号をホストシステム1に出力する。ホストシステム1は、RDY/BSY信号をポーリングすることにより、メモリ4がREADY状態にあることを確認したうえで、メモリ4に格納されたデータを読み出す(ステップS16)。バッファ部37は、ステップS2で格納されたデータを、ホストシステム1が読み出したデータに更新する(ステップS17)。
ホストシステム1の電源をオフにしないならば、処理はステップS3から続行される。すなわち、ホストシステム1から出力された新たな読み出しコマンドに係る読み出しアドレスと、現在値が示すアドレスを、アドレス比較部33が比較する(ステップS5)。読み出しコマンドと現在値が示すアドレスが一致する場合には、ホストシステム1はバッファ部37からデータを読み出す(ステップS10)。読み出しコマンドと現在値が示すアドレスが一致しない場合には、ホストシステム1はメモリ4からデータを読み出す(ステップS16)。ホストシステム1がさらに新たな読み出しコマンドを出力する際にも、同様の処理が続行される。ホストシステム1の電源をオフにするならば、処理は終了する。
以上に説明した処理の流れにおいて、ホストシステム1が次々に読み出しコマンドを出力する際に、アドレス比較部33が格納する初期値または現在値が示すアドレスおよび読み出しアクセス対象がどのように変化するかを具体的に説明する。
図3は、第1の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。上部から下部まで移動するに従って、時間が経過していることを示している。図3の二重線以下の1行目は、初期値または現在値が示すアドレスがページP1である際に、ホストシステム1がページP1を読み出しアドレスとする読み出しコマンドを出力すると(ステップS3)、アドレス比較部33が両アドレスは一致していると判断したため(ステップS5)、バッファ部37が読み出しアクセス対象となることを示している(ステップS10)。
アドレス比較部33は、初期値または現在値が示すアドレスを、読み出しアドレスに更新する(ステップS8)。両アドレスが一致する場合には、アドレス比較部33が、初期値または現在値が示すアドレスを更新しないようにしてもよい。また、バッファ部37は、すでに格納されているページP1のデータをそのまま保持する(ステップS11)。
図3の二重線以下の3行目は、現在値が示すアドレスがページP1である際に、ホストシステム1がページP2を読み出しアドレスとする読み出しコマンドを出力すると(ステップS3)、アドレス比較部33が両アドレスは一致しないと判断したため(ステップS5)、メモリ4が読み出しアクセス対象となることを示している(ステップS16)。
アドレス比較部33は、現在値が示すアドレスを、読み出しアドレスに更新する(ステップS14)。また、バッファ部37は、すでに格納されているページP1のデータを、ページP2のデータに更新する(ステップS17)。図3の二重線以下の5行目および7行目においても、図3の二重線以下の1行目および3行目で説明したような処理が行われている。
{第2の実施の形態}
第1の実施の形態において、ホストシステム1が前回読み出したデータを今回も読み出す際には、メモリ4にアクセスすることなく、バッファ部37にアクセスすることにより、“Read Disturb”現象を回避または低減することができる。ここで、ホストシステム1が、ページP1およびページP2を読み出しアドレスとする読み出しコマンドを、たとえば交互に出力するような場合であっても、“Read Disturb”現象を回避または低減することができる手段について、第2ないし第4の実施の形態において、それぞれ、図4ないし図6を用いて説明する。ここで、第2ないし第4の実施の形態におけるメモリモジュール2の構成と機能などは、図1で示した第1の実施の形態におけるものと同様である。
図4は、第2の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。初期値または現在値が示すアドレスは、ホストシステム1が最近3回出力した読み出しコマンドに係る読み出しアドレスであり、アドレス比較部33に格納されている。図4では、アドレス比較部33に格納されている読み出しアドレスを、ホストシステム1から出力された順序で、左端から右端に向けて記載している。たとえば、「ページP1、P2、P3」とは、ホストシステム1が、P1、P2、P3の順序で読み出しアドレスを出力したことを示している。ホストシステム1は、ページ単位でデータを読み出している。また、バッファ部37は、アドレス比較部33が3個のアドレスを格納することに対応して、3ページ分のデータを格納することができる。
新たな読み出しアドレスが初期値または現在値が示すアドレスに含まれている場合には、バッファ部37が読み出しアクセス対象となる。バッファ部37は、すでに格納されたデータをそのまま保持する。
新たな読み出しアドレスが初期値または現在値が示すアドレスに含まれていない場合には、メモリ4が読み出しアクセス対象となる。バッファ部37は、上述した最近3回の読み出しコマンドのデータのうち、最先の読み出しコマンドのデータを、新たな読み出しコマンドのデータに更新する。
新たな読み出しアドレスが初期値または現在値が示すアドレスに含まれている場合と含まれていない場合に関わらず、アドレス比較部33は、初期値または現在値が示すアドレスを更新する。すなわち、ホストシステム1が新たな読み出しコマンドを出力する前における、上述した最近3回の読み出しコマンドに係る読み出しアドレスのうち、最先の読み出しコマンドに係る読み出しアドレスを削除して、新たな読み出しコマンドに係る読み出しアドレスを追加する更新をする。
{第3の実施の形態}
図5は、第3の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。初期値または現在値が示すアドレスは、ホストシステム1が最近5回出力した読み出しコマンドに係る読み出しアドレスのうち、読み出し回数が多い上位2位の読み出しアドレスであり、アドレス比較部33に格納されている。ホストシステム1は、ページ単位でデータを読み出している。また、バッファ部37は、アドレス比較部33が読み出し回数が多い上位2位のアドレスを格納することに対応して、2ページ分のデータを格納することができる。
ここで、第3の実施の形態においては、アドレス比較部33は、初期値または現在値が示すアドレスのみならず、ホストシステム1が最近5回に出力した読み出しコマンドに係る読み出しアドレスをも格納する必要がある。もっとも、バッファ部37は、最近5回に出力した読み出しコマンドのデータすべてを格納する必要はなく、読み出し回数が多い上位2位のデータを格納すればよい。
第3の実施の形態を応用する実施例として、アドレス比較部33は、ホストシステム1が出力した読み出しコマンドに係る読み出しアドレスについて、出力回数のヒストグラムを格納する。そして、アドレス比較部33は、格納するヒストグラムを参照して、出力回数の多い読み出しアドレスを選択して、ホストシステム1が今回出力する読み出しコマンドに係る読み出しアドレスと比較するのである。
アドレス比較部33が出力回数のヒストグラムを格納する実施例として、まず、ホストシステム1の電源をオンにしてからオフにするまでの間に、ホストシステム1が出力した読み出しコマンドに係る読み出しアドレスについて、アドレス比較部33は出力回数のヒストグラムを格納する。そして、出力回数が多い読み出しアドレスを、次回にホストシステム1の電源をオンにする際に、初期値が示すアドレスとして設定することができる。
アドレス比較部33が出力回数のヒストグラムを格納する実施例として、次に、ホストシステム1が所定回数の出力において出力した読み出しコマンドに係る読み出しアドレスについて、アドレス比較部33は出力回数のヒストグラムを格納する。出力回数が多い所定条件を満たす読み出しアドレスを比較アドレスとして設定して、比較アドレスに係るデータをバッファ部37に格納する。
比較アドレスに係るデータをバッファ部37に格納した後に、アドレス比較部33は既に格納している出力回数のヒストグラムを消去する。ホストシステム1が次の所定回数の出力において出力する読み出しコマンドに係る読み出しアドレスが、既に設定されている比較アドレスと一致する場合には、ホストシステム1はバッファ部37から読み出しアドレスに係るデータを読み出す。
ホストシステム1が次の所定回数の出力において出力した読み出しコマンドに係る読み出しアドレスについて、アドレス比較部33は出力回数のヒストグラムを新たに格納する。出力回数が多い所定条件を満たす読み出しアドレスを新たな比較アドレスとして設定して、新たな比較アドレスに係るデータをバッファ部37に格納する。ここで、新たな比較アドレスに係るデータが既にバッファ部37に格納されていれば、新たな比較アドレスに係るデータをメモリ4からバッファ部37に改めて格納しなくてもよい。以後は同様な処理の流れが続行されることになる。
{第4の実施の形態}
図6は、第4の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。初期値または現在値が示すアドレスは、ある特定の初期値が示す3個のアドレスであり、ホストシステム1が次々に読み出しコマンドを出力する際にも、アドレス比較部33によって更新されないアドレスである。ホストシステム1は、ページ単位でデータを読み出している。また、バッファ部37は、アドレス比較部33が3個のアドレスを格納することに対応して、3ページ分のデータを格納することができる。
上述したある特定の初期値が示すアドレスとして、具体例として以下のようなアドレスが挙げられる。まず、ホストシステム1が繰り返し出力する可能性が高いと想定される読み出しコマンドに係る読み出しアドレスが挙げられる。この場合には、アドレス比較部33は、このアドレスを更新することなく格納して、バッファ部37は、このアドレスに係るデータを更新することなく格納することになる。メモリ4が格納するデータを設計する際に、ホストシステム1がある特定のデータを繰り返し読み出す可能性が高いと想定される場合に便利である。
上述したある特定の初期値が示すアドレスとして、次に、ホストシステム1が処理する際にエラーが発生する可能性が高いと想定されるデータに係るアドレスが挙げられる。ホストシステム1がデータを処理する際にエラーが発生する場合として、たとえば、メモリ4からデータが読み出される際に、そのデータにエラーが発生する場合と、メモリ4からデータが読み出される際に、他のデータにエラーが発生する場合などが考えられる。メモリ4からデータが読み出される際に、他のデータにエラーが発生する場合においては、読み出し対象でないメモリセルが格納するデータが意図せず書き換えられる場合を考慮している。
ホストシステム1がデータを処理する際にエラーが発生する場合においても、アドレス比較部33は、このアドレスを更新することなく格納して、バッファ部37は、このアドレスに係るデータを更新することなく格納することになる。メモリ4のメモリセルアレイの構造上、エラーが発生する可能性が高いと想定されるデータが特定されている場合に便利である。
{第5の実施の形態}
第1ないし第4の実施の形態において、ホストシステム1が繰り返し読み出すデータについて、“Read Disturb”現象を回避または低減することができる。ここで、ホストシステム1が繰り返し読み出すデータについて、実際にエラーが発生した場合にも、本発明を実施することができる。
ホストシステム1がデータを処理してエラーが発生するたびに、アドレス比較部33は、エラーが発生したデータに係るアドレスを格納する。また、バッファ部37は、誤り訂正が施されたデータを格納する。ホストシステム1の電源をオフにした際に、アドレス比較部33が格納していたエラーが発生したデータに係るアドレスを、ホストシステム1の電源をオンにする際に、アドレス比較部33はそのまま格納する。
ホストシステム1は、実際にエラーが発生した後に誤り訂正が施されたデータを今後も繰り返し読み出す場合にも、メモリ4から読み出すことなく、バッファ部37から読み出すことができるため、更なる“Read Disturb”現象を回避または低減することができる。
第1ないし第4の実施の形態に係るメモリモジュールのブロック図である。 第1の実施の形態に係るホストシステムがデータを読み出す処理の流れを示す図である。 第1の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。 第2の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。 第3の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。 第4の実施の形態に係る初期値または現在値が示すアドレスおよび読み出しアクセス対象の時系列変化を示す図である。 NANDフラッシュメモリの模式図である。
符号の説明
1 ホストシステム
2 メモリモジュール
3 メモリコントローラ
4 メモリ
31 インターフェース部
32 アドレスデコーダ部
33 アドレス比較部
34 データセレクタ部
35 RDY/BSYセレクタ部
36 アクセスコントローラ部
37 バッファ部
41 ビット線
42、43、44 ワード線
52 選択セル
53 非選択セル
54 選択トランジスタ

Claims (5)

  1. 記憶装置に対するアクセスを制御するメモリコントローラであって、
    前記記憶装置が格納するデータを処理するホストシステムが出力する読み出しアドレス(第1アドレス)と、前記ホストシステムが前記第1アドレスを出力する前に出力した読み出しアドレス(第2アドレス)と、を比較するアドレス比較部と、
    前記第2アドレスのデータを格納するバッファ部と、
    前記第1アドレスが前記第2アドレスに含まれている場合には、前記ホストシステムに対して、前記バッファ部から前記第1アドレスのデータを出力し、前記第1アドレスが前記第2アドレスに含まれていない場合には、前記ホストシステムに対して、前記記憶装置から読み出した前記第1アドレスのデータを出力する手段と、
    を備え、
    前記第2アドレスは、
    前記ホストシステムが前記第1アドレスを出力する直前の所定回の出力に係る読み出しアドレスのうち、読み出し回数が上位の読み出しアドレス、
    を含むことを特徴とするメモリコントローラ。
  2. 請求項に記載のメモリコントローラにおいて、
    前記第2アドレスは、
    前記ホストシステムの電源がオンにされる際に、前記ホストシステムが前記第1アドレスを出力する前に出力したものとして処理される固定アドレス、
    を含むことを特徴とするメモリコントローラ。
  3. 請求項に記載のメモリコントローラにおいて、
    前記第2アドレスは、
    前記ホストシステムの電源がオンにされる際に、前記ホストシステムが前記第1アドレスを出力する前に出力したものとして処理されるみなし読み出しアドレス、
    を含み、
    前記みなし読み出しアドレスは、
    前記ホストシステムの電源がオンにされる直前にオフにされた際における前記第2アドレス、
    を含むことを特徴とするメモリコントローラ。
  4. 請求項1ないし請求項のいずれかに記載のメモリコントローラにおいて、さらに、
    前記バッファ部からデータを出力する場合には、前記バッファ部と前記ホストシステム間のアクセスを設定し、前記記憶装置から読み出したデータを出力する場合には、前記記憶装置と前記ホストシステム間のアクセスを設定するデータセレクタ部、
    を備えることを特徴とするメモリコントローラ。
  5. 請求項1ないし請求項のいずれかに記載のメモリコントローラにおいて、さらに、
    前記バッファ部からデータを出力する場合には、前記ホストシステムに対して通知する前記バッファ部の動作状態をアクセス可能状態に固定する手段と、
    前記記憶装置から読み出したデータを出力する場合には、前記ホストシステムに対して、前記記憶装置の動作状態を通知する手段と、
    を備えることを特徴とするメモリコントローラ。
JP2007015096A 2007-01-25 2007-01-25 メモリコントローラ Expired - Fee Related JP5137002B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007015096A JP5137002B2 (ja) 2007-01-25 2007-01-25 メモリコントローラ
US11/968,427 US8375169B2 (en) 2007-01-25 2008-01-02 Memory controller
US13/618,921 US8725952B2 (en) 2007-01-25 2012-09-14 Memory controller for suppressing read disturb when data is repeatedly read out

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007015096A JP5137002B2 (ja) 2007-01-25 2007-01-25 メモリコントローラ

Publications (3)

Publication Number Publication Date
JP2008181399A JP2008181399A (ja) 2008-08-07
JP2008181399A5 JP2008181399A5 (ja) 2010-05-13
JP5137002B2 true JP5137002B2 (ja) 2013-02-06

Family

ID=39669268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007015096A Expired - Fee Related JP5137002B2 (ja) 2007-01-25 2007-01-25 メモリコントローラ

Country Status (2)

Country Link
US (2) US8375169B2 (ja)
JP (1) JP5137002B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050339B1 (ko) * 2008-08-19 2011-07-19 재단법인서울대학교산학협력재단 플래시 메모리 장치 및 데이터 읽기 방법
US8826042B2 (en) 2009-04-14 2014-09-02 Megachips Corporation Memory controller, memory control apparatus, memory device, memory information protection system, control method for memory control apparatus, and control method for memory device
JP5564197B2 (ja) 2009-04-23 2014-07-30 株式会社メガチップス メモリ制御装置、半導体メモリ装置、メモリシステム及びメモリ制御方法
US8688893B2 (en) * 2009-06-23 2014-04-01 Intel Mobile Communications GmbH Memory device and memory interface
JP5764392B2 (ja) 2011-06-13 2015-08-19 株式会社メガチップス メモリコントローラ
US10114750B2 (en) * 2012-01-23 2018-10-30 Qualcomm Incorporated Preventing the displacement of high temporal locality of reference data fill buffers
US9672887B2 (en) 2015-09-09 2017-06-06 Kabushiki Kaisha Toshiba Semiconductor memory capable of reading data without accessing memory cell
US20170075812A1 (en) * 2015-09-16 2017-03-16 Intel Corporation Technologies for managing a dynamic read cache of a solid state drive
KR20180019791A (ko) * 2016-08-16 2018-02-27 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
CN107403643B (zh) * 2017-07-17 2019-12-24 华中科技大学 一种通过重定向提高3d fg nand闪存可靠性的方法
GB2566729B (en) 2017-09-22 2020-01-22 Imagination Tech Ltd Sorting memory address requests for parallel memory access
US10579517B2 (en) 2018-03-19 2020-03-03 Dell Products, Lp System and method for providing per channel frequency optimization in a double data rate memory system
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61253564A (ja) 1985-05-02 1986-11-11 Mitsubishi Electric Corp 記憶装置
JPS62130443A (ja) 1985-12-03 1987-06-12 Nec Corp メモリアクセス制御装置
JPS63276648A (ja) * 1987-05-08 1988-11-14 Mitsubishi Electric Corp デ−タ読出方式
JPH01100799A (ja) 1987-10-14 1989-04-19 Mitsubishi Electric Corp 読出し専用メモリ制御回路
JPH01134798A (ja) 1987-11-20 1989-05-26 Nec Corp メモリ制御装置
JPH0359741A (ja) 1989-07-28 1991-03-14 Mitsubishi Electric Corp キャッシュメモリ
JPH0594367A (ja) * 1991-10-02 1993-04-16 Shikoku Nippon Denki Software Kk バツフア記憶装置
JP2654603B2 (ja) * 1993-03-31 1997-09-17 日本電気株式会社 バッファ記憶装置におけるブロック置き換え制御方式
JPH0795307A (ja) 1993-09-21 1995-04-07 Omron Corp 自動通報装置の送信機
JP3130796B2 (ja) * 1996-06-26 2001-01-31 甲府日本電気株式会社 制御記憶装置
JPH10161939A (ja) * 1996-11-27 1998-06-19 Omron Corp メモリ制御装置
JP3474474B2 (ja) 1998-12-21 2003-12-08 モトローラ株式会社 半導体メモリ装置
US6715039B1 (en) * 2001-09-12 2004-03-30 Emc Corporation Cache slot promotion in a replacement queue cache using determinations of probabilities and costs
US20030206442A1 (en) * 2002-05-02 2003-11-06 Jerry Tang Flash memory bridiging device, method and application system
US6918020B2 (en) * 2002-08-30 2005-07-12 Intel Corporation Cache management
US6961821B2 (en) * 2002-10-16 2005-11-01 International Business Machines Corporation Reconfigurable cache controller for nonuniform memory access computer systems
US7117306B2 (en) * 2002-12-19 2006-10-03 Intel Corporation Mitigating access penalty of a semiconductor nonvolatile memory
TW200417850A (en) * 2003-03-06 2004-09-16 Macronix Int Co Ltd Device for reading sequential memory and method thereof
US7028156B1 (en) * 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
KR100562906B1 (ko) * 2003-10-08 2006-03-21 삼성전자주식회사 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
KR101085406B1 (ko) * 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
US7177977B2 (en) 2004-03-19 2007-02-13 Sandisk Corporation Operating non-volatile memory without read disturb limitations
US7337277B2 (en) * 2004-11-18 2008-02-26 International Business Machines Corporation Apparatus, system, and method for flushing cache data
JP2006209415A (ja) * 2005-01-27 2006-08-10 Matsushita Electric Ind Co Ltd マイクロコンピュータ
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
US7711902B2 (en) * 2006-04-07 2010-05-04 Broadcom Corporation Area effective cache with pseudo associative memory

Also Published As

Publication number Publication date
US8375169B2 (en) 2013-02-12
JP2008181399A (ja) 2008-08-07
US8725952B2 (en) 2014-05-13
US20130013887A1 (en) 2013-01-10
US20080183982A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP5137002B2 (ja) メモリコントローラ
US10303370B2 (en) Flash memory system
JP4925301B2 (ja) 半導体メモリシステム
US7663933B2 (en) Memory controller
US7679965B2 (en) Flash memory with improved programming precision
JP5002201B2 (ja) メモリシステム
US20170103815A1 (en) Data Storage Device and Data Maintenance Method
US20170285953A1 (en) Data Storage Device and Data Maintenance Method thereof
JP4177360B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US11409470B2 (en) Memory system, memory controller, and method of operating memory system
US8275934B2 (en) Nonvolatile memory device and cache read method using the same
KR100953062B1 (ko) 불휘발성 메모리 소자의 어드레스 입력 방법 및 동작 방법
JP5207434B2 (ja) メモリシステム
US11237767B2 (en) Memory system, memory controller and method for operating memory controller
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US20110228605A1 (en) Nonvolatile memory
US11544204B2 (en) Memory system, memory controller and method for operating memory controller
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008077468A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4366283B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
KR20240015986A (ko) 메모리 컨트롤러, 메모리 컨트롤러를 포함하는 메모리 시스템 및 그것의 동작 방법
JP2013205944A (ja) コントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120926

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5137002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees