JP2015516640A - メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法 - Google Patents

メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法 Download PDF

Info

Publication number
JP2015516640A
JP2015516640A JP2015505779A JP2015505779A JP2015516640A JP 2015516640 A JP2015516640 A JP 2015516640A JP 2015505779 A JP2015505779 A JP 2015505779A JP 2015505779 A JP2015505779 A JP 2015505779A JP 2015516640 A JP2015516640 A JP 2015516640A
Authority
JP
Japan
Prior art keywords
block
step size
storage device
data storage
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.)
Granted
Application number
JP2015505779A
Other languages
English (en)
Other versions
JP2015516640A5 (ja
JP6014748B2 (ja
Inventor
アントニオ ドブリュー,マヌエル
アントニオ ドブリュー,マヌエル
パンテラキス,ディミトリス
スカラ,スティーブン
Original Assignee
サンディスク テクノロジィース インコーポレイテッド
サンディスク テクノロジィース インコーポレイテッド
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 サンディスク テクノロジィース インコーポレイテッド, サンディスク テクノロジィース インコーポレイテッド filed Critical サンディスク テクノロジィース インコーポレイテッド
Publication of JP2015516640A publication Critical patent/JP2015516640A/ja
Publication of JP2015516640A5 publication Critical patent/JP2015516640A5/ja
Application granted granted Critical
Publication of JP6014748B2 publication Critical patent/JP6014748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

不揮発性メモリをプログラムする方法は、メモリ装置の或るブロックに対して、プログラミングステップサイズを第1の値から第2の値へ低減することを含む。プログラミングステップサイズは、ブロックの誤り数がしきい値を超過しているとする判断に少なくとも部分的に基づいて低減される。

Description

本発明は、一般的に、メモリのブロックに対してプログラミングステップサイズを調整することに関する。
ユニバーサルシリアルバス(USB)フラッシュメモリ装置や取り外し可能なストレージカード等の不揮発性メモリ装置により、データやソフトウェアアプリケーションの可搬性は向上している。フラッシュメモリ装置は、個々のフラッシュメモリセルに複数のビットを蓄積することによってデータ蓄積密度と費用効率を向上させることができる。
単一のフラッシュメモリセルで複数の情報ビットを蓄積することは、ビット列をフラッシュメモリセル状態にマップすることを通常含む。特定のフラッシュメモリセルにビット列を蓄積することが決定した後、フラッシュメモリセルはビット列に相当する状態までプログラムされ得る。小さいプログラミングステップサイズでフラッシュメモリセルをプログラムすると、プログラミングの精度は向上し得るが、プログラミングステップ数が増加し得るため、プログラミングの待ち時間が長くなる。大きいプログラミングステップサイズでフラッシュメモリセルをプログラムすると、プログラミングステップ数が減少し得るため、プログラミングの待ち時間は短くなるが、プログラミングの精度は低下する。一度メモリ装置内のメモリセルがプログラムされると、メモリセルのプログラミング状態を検知することにより、メモリセルからデータが読み出され得る。
データ蓄積装置内のメモリの或るブロックに対するプログラミングステップのサイズは、そのブロックの誤り数がしきい値を満たすとする判断に少なくとも部分的に基づいて低減される。その結果、低減されたプログラミングステップサイズを用いてブロックの蓄積素子に書き込まれるしきい値電圧の分布を引き締めることができ、誤りを減らすとともにブロックにデータをプログラムすることが可能となる。「若い」メモリは通常、「老いた」メモリより誤りが少ない。このため、若いメモリのブロックは大きいプログラミングステップサイズでプログラムされ得る。
大きいプログラミングステップサイズでブロックをプログラムすると、プログラミングステップ数が少なくなり得るため、プログラミングの待ち時間は短くなる。メモリの加齢にともない、ブロック内の蓄積素子から読み出されるデータの誤り数は通常増える。メモリの加齢にともない、誤り数がしきい値に達することに応じて低減されたプログラミングステップサイズでブロックをプログラムすれば、精度を向上させ、誤りを減らし、メモリの寿命を延ばし得る。
メモリ装置の或るブロックに対して、そのブロックの誤り数に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減するシステムの第1の例証的な実施形態のブロック図である。 図1のメモリの或るブロックから読み出され得る1蓄積素子群の代表的な電圧特性を示し、かつプログラミングステップサイズの変更によるビット誤り訂正を示す概略図である。 メモリ装置の或るブロックに対して、そのブロックの誤り数に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減するシステムの第2の例証的な実施形態のブロック図である。 メモリ装置の或るブロックに対して、そのブロックの誤り数に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減する方法の一実施形態を示す流れ図である。
データ蓄積装置内のメモリの或るブロックに対して、プログラミングステップサイズを第1の値から第2の値へ低減するシステムおよび方法が開示される。プログラミングステップサイズは、少なくとも部分的に、ブロックの誤り数がしきい値に達したという判断に応じて、低減される。(例えば、メモリの加齢にともない)プログラミングステップサイズを低減することにより、ブロックの蓄積素子に書き込まれるしきい値電圧の分布を引き締めることで、誤りを減らすとともにブロックにデータをプログラムすることが可能となり得る。
図1を参照すると、メモリ装置の或るブロックに対して、そのブロックの誤り数に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減するように構成されたシステムの例証的な実施形態が示され、全体的に100と呼称されている。プログラミングステップサイズはまた、ブロックで行われたメモリ読み出し回数、ブロックの書き込み/消去サイクル数、またはこれらの組み合わせに基づき得る。システム100はホスト装置130へ結合されるデータ蓄積装置102を含む。データ蓄積装置102はバス150経由でコントローラ106へ結合されたメモリ104を含む。
ホスト装置130は、メモリ104に蓄積されるべきデータを提供するように構成されるか、あるいはメモリ104から読み出すべきデータを要求するように構成され得る。例えば、ホスト装置130は、携帯電話機、音楽または映像再生機、ゲーム機、電子書籍リーダ、個人用携帯情報端末(PDA)、ラップトップコンピュータ、ノートブックコンピュータ、タブレット等のコンピュータ、他の何らかの電子装置、またはこれらの組み合わせを含み得る。
データ蓄積装置102は、メモリカードであってよく、例えばSecure Digital(登録商標)(SD)カード、microSD(登録商標)カード、miniSD(登録商標)カード(デラウェア州ウィルミントンのSD−3C LLCの商標)、MultiMediaCard(登録商標)(MMC)カード(バージニア州アーリントンのJEDEC Solid State Technology Associationの商標)、またはCompactFlash(登録商標)(CF)カード(カリフォルニア州ミルピタスのサンディスク コーポレイションの商標)であってよい。別の例として、データ蓄積装置102は、ホスト装置130に組み込まれたメモリであってよく、例えば説明的な例として、eMMC(登録商標)(バージニア州アーリントンのJEDEC
Solid State Technology Associationの商標)、ならびにeSDメモリであってよい。
メモリ104は、フラッシュ装置(例えば、NANDフラッシュ装置、NORフラッシュ装置、またはその他の類のフラッシュ装置)の不揮発性メモリであってよい。メモリ104は、複数のブロック(例えば、第1の代表的なブロック110と第2の代表的なブロック112)を含む。メモリ104はまた、プログラミングステップサイズに従いブロック110、112のいずれか1つ以上にデータをプログラムするように構成された書き込み回路114を含む。例えば、書き込み回路114は、プログラミングステップサイズ(例えば、図2に関して詳述する第1のプログラミングステップサイズ116)を有する一連のプログラミングパルスにより、ブロック110、112のいずれか1つ以上にデータをプログラムし得る。書き込み回路114は、第1のプログラミングステップサイズ116をデフォルトのプログラミングステップサイズとして蓄積するように構成され得る。書き込み回路114は、別のプログラミングステップサイズ(例えば、第2のプログラミングステップサイズ118)をコントローラ106から受信し、デフォルトのプログラミングステップサイズの代わりに使用するように構成され得る。例えば、書き込み回路114は、第1のプログラミングステップサイズ116に従ってブロック110に第1のデータをプログラムするように構成され、かつ第2のプログラミングステップサイズ118に従ってブロック112に第2のデータをプログラムするように構成され得る(例えば、コントローラ106がブロック112にデータを書き込み、この書き込み操作を遂行するため、第2のプログラミングステップサイズ118を書き込み回路114へ送信する場合)。つまり、コントローラ106は、書き込み回路114を介してメモリへ書き込まれるデータについて、プログラミングステップサイズをブロック単位で選択し得る。
コントローラ106は、ホスト装置130からメモリアクセス要請を受信し、かつメモリ104からのデータ読み出しを処理するように構成され得る。コントローラ106は、しきい値122とブロック誤り数124を受信するように構成されたブロック単位プログラミング調整エンジン120を含む。ブロック単位プログラミング調整エンジン120は、受信したしきい値122と受信したブロック誤り数124に少なくとも部分的に基づいて、書き込み回路114で使用するプログラミングステップサイズを調整するように構成され得る。ブロック単位プログラミング調整エンジン120はしきい値122とブロック誤り数124を比較し、その結果に基づき第2のプログラミングステップサイズ118を選択し得る。例えば、ブロック誤り数124がしきい値122に満たなければ、第2のプログラミングステップサイズ118が選択されない場合がある。ブロック誤り数124がしきい値122を上回るなら、第2のプログラミングステップサイズ118が選択され、メモリ104へ提供される場合がある。第2のプログラミングステップサイズ118は、第1のプログラミングステップサイズ116に基づき計算されてもよいし、あるいは図3に関して説明するように表から選択されてもよい。
コントローラ106は、メモリの或るブロックに対して、そのブロックの誤り数がしきい値を満たすとする判断に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減するように構成され得る。例えば、ブロック110の誤り数は、ブロック110のメモリ読み出し回数またはブロック110の書き込み/消去サイクル数のため、メモリ104の加齢にともない増加し得る。ブロック110の誤り数(例えば、ブロック誤り数124)がしきい値(例えば、しきい値122)を満たすと、ブロック110に対するプログラミングステップのサイズは、第1のプログラミングステップサイズ116から第2のプログラミングステップサイズ118へ低減され得る。具体的に説明すると、ブロック単位プログラミング調整エンジン120は、受信したしきい値122と受信したブロック誤り数124を比較した結果に基づき、第1のプログラミングステップサイズ116から第2のプログラミングステップサイズ118にプログラミングステップサイズを調整することを判断し得る。コントローラ106は、ブロック110のプログラミング(データ書き込み)に使用する第2のプログラミングステップサイズ118を書き込み回路114へ送信し得る。
作動中、ホスト装置130はブロック110のデータを読み出すことをコントローラ106に指図し得る。コントローラ106は読み出されたデータに基づきブロック誤り数124を判断し、ブロック誤り数124をしきい値122と比較し得る。ブロック誤り数124がしきい値122を満たす場合(例えば、ブロック誤り数124がしきい値122を超過する場合)、プログラミングステップサイズは、第1のプログラミングステップサイズ116から第2のプログラミングステップサイズ118へ低減され得る。
メモリ装置の或るブロックに対して、プログラミングステップサイズを第1の値(例えば、第1のプログラミングステップサイズ116)から第2の値(例えば、第2のプログラミングステップサイズ118)へ低減すると、プログラミングステップ数が増加し得るため、プログラミングの待ち時間は長くなり得る。ただし、図2に関して説明するように、低減されたプログラミングステップサイズを用いてブロックにブログラムされるデータで誤りは減るため、メモリ装置の寿命は延びる。通常、プログラミングステップサイズはメモリ装置の耐用寿命の終末に向けて低減されていき、メモリ装置の寿命の大半にわたり待ち時間は増加しない。
図2は、メモリの或るブロック(例えば、図1のブロック110)から読み出され得る1蓄積素子群の代表的な電圧特性210、220、および230を示し、かつプログラミングステップサイズを低減することによって電圧しきい値分布の重なりによるデータ破損を軽減する効果を示す。例えば、第1のセル電圧分布(CVD)210には、2ビットセル等の1群のマルチレベルセルから読み出されるしきい値電圧特性が示されている。第1のCVD210は、第1のプログラミングステップサイズを用いて特定のしきい値電圧までプログラムされたセルの分布を示している。例えば、第1のグラフ表現250は、或るプログラミングステップサイズ(例えば、第1のプログラミングステップサイズ116)を有する一連のプログラミングパルスを示している。第1のプログラミングステップサイズ116は第1の電圧値を示している。一連のプログラミングパルスは、図1のメモリ104の1つ以上のブロック(例えば、ブロック110)をプログラムし得る。一例として、4つのプログラミングパルスが図に示されている。相継ぐ個々のプログラミングパルスの電圧値は、第1のプログラミングステップサイズ116の電圧値ずつ増加される。具体的に説明すると、第3のプログラミングパルスは、第2のプログラミングパルスの電圧値に加えた第1の電圧値に等しい電圧値を有し得る。図に示されているように、ブロック110のプログラミングは第1のプログラミング待ち時間、すなわち遅延t1を含み得る。
図に示されているように、第1のCVD210は4つの代表的なしきい値電圧範囲を含み、これらのしきい値電圧範囲は3つの読み出し電圧T0 202、T1 204、およびT2 206によって画定され、セル状態Er、A、B、およびCにそれぞれ相当する。例えば、2ビット値「11」は「Er」状態に相当する第1のしきい値電圧範囲232内のしきい値電圧に相当し、2ビット値「10」は「A」状態に相当する第2のしきい値電圧範囲234内のしきい値電圧に相当し、2ビット値「00」は「B」状態に相当する第3のしきい値電圧範囲236内のしきい値電圧に相当し、2ビット値「01」は「C」状態に相当する第4のしきい値電圧範囲238内のしきい値電圧に相当し得る。
データは、セルしきい値電圧を読み出し電圧T0 202〜T2 206のいずれか1つ以上と比較することによって蓄積素子から読み出され得る。第1のCVD210は誤りがない(全てのセルが当初プログラムされた状態に保たれている)ものとして図に示されている。各セルはそれぞれのしきい値電圧範囲の中心にしきい値電圧を有するように当初プログラムされ得るが、様々な要因(例えば、蓄積素子を含むブロックのメモリ読み出し回数や書き込み/消去サイクル数)により、実際のセルしきい値電圧は中心電圧から「ずれる」場合があり、結果的に第2のCVD220になる。
第2のCVD220は、(例えば、メモリが加齢し)第1のCVD210から時間が経過した後にマルチレベルセル群から読み出され得る別のしきい値電圧特性を表している。CVD220は第1のプログラミングステップサイズ116を用いて特定のしきい値電圧までプログラムされたセルの分布を示している。誤り領域222は状態「Er」および「A」まで当初プログラムされたセルのブロックの蓄積素子で起こり得る誤りを含み、それらのしきい値電圧は読み出し電圧T0 202をまたいで別の状態にずれ込んでいる。具体的に説明すると、誤りはメモリの加齢にともない起こり、蓄積素子を含むブロックのメモリ読み出し回数や書き込み/消去サイクル数に一致し得る。誤りは、図に示されているように、「Er」状態まで当初プログラムされたセルのしきい値電圧が上がって、「Er」状態と「A」状態との間の読み出し電圧T0 202を越えることによって起こり得る。読み出し電圧T0 202を用いてこれらのセルを読み出すと、セルは「Er」状態ではなく「A」状態にあると誤認される。誤り領域222では「A」状態まで当初プログラムされたセルを含み、これらセルのしきい値電圧が読み出し電圧T0 202より下がっている。読み出し電圧T0 202を用いてこれらのセルを読み出すと、セルは「A」状態ではなく「Er」状態にあると誤認される。
第3のCVD230には第2のCVD220の2ビットマルチレベルセル群から読み出された別の代表的なしきい値電圧特性が示され、ここで、セルを特定のしきい値電圧までプログラムするのに使われるプログラミングステップサイズが、例えば図1のブロック単位プログラミング調整エンジン120によって低減されることにより、第2のCVD220の誤りが回避されている。例えば、第2のグラフ表現260は第2の一連のプログラミングパルスを示し、これらのプログラミングパルスは、第1のプログラミングステップサイズ116から低減された第2のプログラミングステップサイズ(例えば、第2のプログラミングステップサイズ118)を有する。第2のプログラミングステップサイズ118は第1の電圧値に満たない第2の電圧値に相当する。メモリ104の加齢にともない、ブロック110は第2のプログラミングステップサイズ118に従ってプログラムされ得る。一例として、8つのプログラミングパルスが図に示されている。相継ぐ個々のプログラミングパルスの電圧値は、第2のプログラミングステップサイズ118の電圧値ずつ増加される。図に示されているように、ブロック110のプログラミングは第2のプログラミング待ち時間t2を含み得る。プログラミングパルス数の増加のため、第2のプログラミング待ち時間t2は第1のプログラミング待ち時間t1より長い。
第2のCVD220において読み出し電圧T0 202で読み出されたときに「A」状態と誤認された「Er」状態のセルは、プログラミングステップサイズの低減により、第3のCVD230では「Er」状態として正しく識別されている。第2のCVD220において読み出し電圧T0 202で読み出されたときに「Er」状態と誤認された「A」状態のセルは、プログラミングステップサイズの低減により、第3のCVD230では「A」状態として正しく識別されている。
メモリの特定ブロック内の蓄積素子のプログラミングステップサイズを低減することにより、その特定のブロックの蓄積素子に書き込まれるしきい値電圧の分布を引き締めることができ、誤りを減らすとともにブロックにデータをプログラムすることおよびメモリの寿命を延ばすことが可能となる。
図3を参照すると、システム構成品のさらなる詳細を示す図1のシステムの一例証的な実施形態が示され、全体的に300と呼称されている。システム300は、ホスト装置130へ結合されるデータ蓄積装置102を含む。データ蓄積装置102は、バス150経由でコントローラ106へ結合されたメモリ104を含む。
メモリ104は、第1のブロック110とN番目のブロック112とを含む複数のブロックを含んでいる。第1のブロック110は、複数のワード線(例えば、代表的なワード線319)を含む。それぞれのワード線は1群の蓄積素子(例えば、1群の蓄積素子311)を含む。蓄積素子群311は複数のマルチレベルセル蓄積素子(例えば、フラッシュメモリ装置の代表的な蓄積素子313、315、および317)を含み得る。メモリ104は、書き込み回路114を含み、第1のプログラミングステップサイズ116の指示を蓄積する。例えば、書き込み回路114は、第1のプログラミングステップサイズ116に従ってブロック110に第1のデータをプログラムするように構成され、かつ第2のプログラミングステップサイズ118に従ってブロック112に第2のデータをプログラムするように構成され得る(例えば、コントローラ106がブロック112にデータを書き込み、この書き込み操作を遂行するため、第2のプログラミングステップサイズ118を書き込み回路114へ送信する場合)。つまり、コントローラ106は、書き込み回路114を介してメモリへ書き込まれるデータについて、プログラミングステップサイズをブロック単位で選択し得る。
コントローラ106は、ブロック単位プログラミング調整エンジン120を含む。コントローラ106は誤り訂正符号化(ECC)エンジン320をさらに含み、ECCエンジン320は復号化操作を遂行し、かつ復号化操作で検出された誤り数に相当するデータを提供するように構成され、その提供されたデータは誤り数格納部322に蓄積される。例えば、ブロック110内の蓄積素子311から読み出されたデータはECCエンジン320によって受信され得る。ECCエンジン320は読み出されたデータに対して復号化操作を遂行し、復号化操作に基づいて誤り数をブロック単位プログラミング調整エンジン120に提供し得る。
ブロック単位プログラミング調整エンジン120へ提供される、メモリ104のブロックの誤り数は、ブロック110の各ワード線のワード線誤り数の加算に基づく、ブロック110から読み出されるデータで検出される合計誤り数を含み得る。ブロック110の誤り数は、ブロック110のワード線319の読み出し回数、ブロック110のワード線319の書き込み/消去サイクル数、1つ以上の要因、またはこれらの組み合わせのため、メモリ104の加齢にともない増加し得る。読み出し回数326は、ブロック110の最後の消去以降にブロック110で行われたメモリ読み出しの回数に一致し得る。書き込み/消去回数328はブロック110の書き込み/消去サイクル数に一致し得る。
ブロック110の誤り数がしきい値を満たすと、ブロック110にデータを書き込むときに使用されるプログラミングステップのサイズが第1のプログラミングステップサイズ116から第2のプログラミングステップサイズ118へ低減され得る。具体的に説明すると、ブロック単位プログラミング調整エンジン120は、受信したしきい値と受信したブロック誤り数に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値(例えば、第1のプログラミングステップサイズ116)から第2の値(例えば、第2のプログラミングステップサイズ118)に調整し得る。
コントローラ106は、第1の値に基づいて第2の値を計算するように構成され得る。例えば、第2のプログラミングステップサイズ118は、第1のプログラミングステップサイズ116に倍率を乗じることによって計算され得る。具体的に説明すると、第2のプログラミングステップサイズ118は、第1のプログラミングステップサイズ116に係数1.2を乗じることによって計算され得る(例えば、第2の値は第1の値より20%大きい)。別の実施例では、表、レジスタ、ラッチ等の格納域から第2のプログラミングステップサイズ118を引き出すためのインデックスとして第1のプログラミングステップサイズ116が使用され得る。
コントローラ106は、プログラミングステップサイズ表324から第2の値を選択するように構成され得る。例えば、プログラミングステップサイズ表324から第2の値を引き出すためのインデックスとして第1の値が使用され得る。別の実施例では、図1のブロック誤り数124の値に少なくとも部分的に基づいて、プログラミングステップサイズ表324から第2の値が選択され得る。具体的に説明すると、ブロック誤り数124の値がしきい値122を大差で超過する場合には、第1の値からの低減を、ブロック誤り数124の値がしきい値122を小差で超過した場合の低減より大きくする、第2の値が、プログラミングステップサイズ表324から選択され得る。プログラミングステップサイズ表324はコントローラ106内にあるものとして図に示されているが、別の実施例では、メモリ104内にプログラミングステップサイズ表324があってもよい。
コントローラ106は、コントローラ106におけるブロック110の読み出し回数とブロック110の書き込み/消去サイクル数との比較に基づき、ブロック110のプログラミングステップサイズを低減するように構成され得る。例えば、「より新しい」メモリでは、ブロック110の書き込み/消去サイクル数によって誤りが生じるのではなく、むしろ消去状態(図2の「Er」状態)のセルがプログラム済み状態(図2の「A」状態)として読み出される、高い電圧ストレスを受け、読み出されていないセルから得られる読み出しディスターブによって誤りが生じ得る。誤りの主な原因が装置の加齢か読み出しディスターブなのかを判断するため、コントローラ106は読み出し回数326と書き込み/消去回数328を比較し、読み出し回数326と書き込み/消去回数328との比較結果がしきい値を満たす場合には、プログラミングステップサイズを第1の値から第2の値へ低減し得る。コントローラ106はまた、読み出し回数326と書き込み/消去回数328との比較結果が読み出しディスターブしきい値を満たす場合に、プログラミングステップサイズを調整する代わりにブロック110でリフレッシュ操作340を遂行するように構成され得る。例えば、読み出し回数326が比較的高く、かつ書き込み/消去回数328が比較的低く、かつ誤り数がしきい値を満たすなら、誤りの主な原因は読み出しディスターブにあるので、コントローラ106はプログラミングステップサイズを低減するのではなく、リフレッシュ操作340を遂行し得る(例えば、読み出し後にデータが再度書き換えられる)。
作動中、ホスト装置130は、ブロック110のデータを読み出すことをコントローラ106に指図し得る。コントローラ106は、ワード線319から読み出された誤りを判断し、誤り数格納部322を更新し得る。例えば、コントローラは、ワード線319から読み出された以前の誤り数をワード線319から読み出された新しい誤り数に差し替え得る。
コントローラ106は、(例えば、図1のブロック誤り数124を判断するために)誤り数格納部322にあるブロック110のワード線誤りを合計し、ブロック誤り数124をしきい値122と比較し得る。この比較はバックグラウンドプロセスで遂行されるか、あるいはブロック110の書き込み要請を受けて遂行され得る。ブロック誤り数124がしきい値122を上回る場合は、誤りの原因が読み出しディスターブなのか否かを判断するため、読み出し回数326が書き込み/消去回数328と比較され得る。読み出し回数326と書き込み/消去回数328の比較が読み出し誤りの可能性を指摘するなら、コントローラはリフレッシュ操作340を遂行し得る。さもなくば、コントローラ106は、ブロック110に対する次の書き込み操作で使用する第2のプログラミングステップサイズ118をメモリ104へ送信し得る。
メモリの特定ブロック内にある蓄積素子のプログラミングステップサイズを低減することにより、誤りを減らすとともにブロックにデータをプログラムすることおよびメモリの寿命を延ばすことが可能となる。
メモリ装置の或るブロックに対してプログラミングステップサイズを第1の値から第2の値へ低減する方法400の一実施形態を示す流れ図を図4に示す。方法400は、図1および図3のデータ蓄積装置102によって遂行され得る。
402では、誤り数をしきい値と比較する。具体的に説明すると、コントローラ106は、第1のプログラミングステップサイズ116に従って予めプログラムされていたブロック110のデータを読み出し得る。図3のECCエンジン320は読み出されたデータに対して復号化操作を遂行し、ワード線319の誤り数を提供し得る。ブロック誤り数124を判断するため、ブロック110の全ワード線の誤り数が合計され得る。ブロック誤り数124は、ブロック単位プログラミング調整エンジン120へ送信され、しきい値122と比較され得る。
404では、誤り数がしきい値を満たすか否かが判断される。誤り数がしきい値を満たさない場合には、402へ戻る。誤り数がしきい値を満たす場合には、406で、メモリ装置の或るブロックに対して、そのブロックの誤り数がしきい値を満たすとする判断に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減し得る。具体的に説明すると、コントローラ106は、ブロック誤り数124をしきい値122と比較し、その比較結果に基づいてプログラミングステップサイズを低減し得る。コントローラ106はまた、読み出しディスターブしきい値を満たした比較結果を受けて、プログラミングステップサイズを調整する代わりにブロック110でリフレッシュ操作340を遂行し得る。例えば、ブロック誤り数124がしきい値122を上回る場合には、誤りの原因が読み出しディスターブなのか否かを判断するため、読み出し回数326を書き込み/消去回数328と比較し得る。読み出し回数326が書き込み/消去回数328を上回る場合には、コントローラは、プログラミングステップサイズを低減するのではなく、リフレッシュ操作340を遂行し得る。読み出し回数326が書き込み/消去回数328を下回る場合には、コントローラ106は、ブロック110に対する次の書き込み操作で使用する第2のプログラミングステップサイズ118をメモリ104へ送信し得る。
大きいプログラミングステップサイズでブロック110をプログラムすると、プログラミングステップ数が減少し得るため、プログラミングの待ち時間は短くなる。通常、誤りの数はメモリの加齢にともない増加する。メモリの加齢にともない低減されたプログラミングステップサイズでブロックをプログラムすれば、精度を向上させ、誤りを減らし、メモリの寿命を延ばし得る。
本願の図面に示された種々の構成品はブロック構成品として描かれ、一般的な用語で説明されているが、これらの構成品は、データ蓄積装置(例えば、図1および図3のデータ蓄積装置102)がこれらの構成品に起因する特定の機能を遂行することを可能にするように構成された1つ以上のマイクロプロセッサ、状態マシン、または他の回路、またはこれらのいかなる組み合わせを含んでもよい。例えば、図1および図3のコントローラ106は、プログラミングステップサイズを第1の値(例えば、第1のプログラミングステップサイズ116)から第2の値(例えば、第2のプログラミングステップサイズ118)へ低減することをブロック単位プログラミング調整エンジン120に指図する物理的構成品であってよく、例えばコントローラ、プロセッサ、状態マシン、論理回路、または他の構造であってよい。
コントローラ106は、制御情報を生成してブロック単位プログラミング調整エンジン120に指図するようにプログラムされたマイクロプロセッサまたはマイクロコントローラを用いて実装されてよい。一実施形態において、コントローラ106は、メモリ104に蓄積された命令を実行するプロセッサを含む。この代わりにまたはこれに加えて、プロセッサによって実行される実行可能命令が、不揮発性メモリ104とは別の独立したメモリ位置(例えば、読み出し専用メモリ(ROM))に蓄積されてもよい。
一実施形態において、データ蓄積装置102は、1つ以上の外部装置に選択的に結合されるように構成された可搬型装置であってよい。例えば、データ蓄積装置102は、ユニバーサルシリアルバス(USB)フラッシュドライブや取り外し可能なメモリカード等の取り外し可能な装置であってよい。ただし、別の実施形態において、データ蓄積装置102は、1つ以上のホスト装置(例えば、可搬型通信装置の筐体)の中に取り付けられてよく、あるいは組み込まれてもよい。例えば、データ蓄積装置102はパッケージされた機器(例えば、無線電話機、個人用携帯情報端末(PDA)、ゲーム装置またはコンソール、可搬型ナビゲーション装置、コンピュータ、または内蔵型不揮発性メモリを使用する他の装置)の中にあってもよい。一実施形態において、データ蓄積装置102は、不揮発性メモリを含み、例えばフラッシュメモリ(例えば、NAND、NOR、マルチレベルセル(MLC)、分割ビット線NOR(DINOR)、AND、高容量結合比(HiCR)、非対称コンタクトレストランジスタ(ACT)、または他のフラッシュメモリ)、消去可能でプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、ワンタイムプログラマブルメモリ(OTP)、またはその他の類のメモリを含む。
ここに記載された実施形態の説明は、種々の実施形態を全般的に理解するためのものである。本願明細書の開示から別の実施形態を導き出し利用することもでき、本願明細書に開示された範囲から逸脱することなく、構造的および論理的な代替および変更を行うことができる。本願明細書の開示は、種々の実施形態のいかなるおよび全ての後続の適用または変形例を対象として含む。
ここに開示された題材は制限的ではなく説明的とみなすべきものであり、添付の特許請求の範囲は本願明細書の範囲内にあるこのような全ての修正、改良、および他の実施形態を含むことを意図する。法律で許される最大限の範囲において、本発明の範囲は添付の特許請求の範囲およびその同等物の最も広義な解釈によって決定され、前述した詳細な説明によって制限または限定されない。

Claims (20)

  1. 方法であって、
    メモリ装置の或るブロックに対して、前記ブロックの誤り数がしきい値を満たすとする判断に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減することを含む方法。
  2. 請求項1記載の方法において、
    前記プログラミングステップサイズを低減してプログラミングステップ数を増やすことにより、前記ブロックの蓄積素子に書き込まれるしきい値電圧の分布が引き締まり、前記ブロックにデータをプログラムする際に誤りを減らすことが可能となる方法。
  3. 請求項1記載の方法において、
    誤り数は、前記ブロックの各ワード線のワード線誤り数の加算に基づく、前記ブロックのワード線内の蓄積素子から読み出されるデータの合計誤り数を含む方法。
  4. 請求項1記載の方法において、
    第2の値を表から選択することをさらに含む方法。
  5. 請求項4記載の方法において、
    前記表は、前記メモリ装置のメモリ内にある方法。
  6. 請求項4記載の方法において、
    前記表は、前記メモリ装置のコントローラ内にある方法。
  7. 請求項1記載の方法において、
    第1の値に基づき第2の値を計算することをさらに含む方法。
  8. 請求項1記載の方法において、
    前記プログラミングステップサイズを低減することは、前記ブロックの読み出し回数と前記ブロックの書き込み/消去サイクル数との比較にさらに基づく方法。
  9. 請求項8記載の方法において、
    読み出しディスターブ誤りしきい値を満たした比較結果を受けて、前記プログラミングステップサイズを調整する代わりにリフレッシュ操作を遂行することをさらに含む方法。
  10. 請求項1記載の方法において、
    前記メモリ装置は、フラッシュメモリを含む方法。
  11. データ蓄積装置であって、
    メモリと、
    コントローラと、を備え、
    前記コントローラは、前記メモリの或るブロックに対して、前記ブロックの誤り数がしきい値を満たすとする前記コントローラによる判断に少なくとも部分的に基づいて、プログラミングステップサイズを第1の値から第2の値へ低減するように構成されるデータ蓄積装置。
  12. 請求項11記載のデータ蓄積装置において、
    前記プログラミングステップサイズに従って前記ブロックにデータをプログラムするように構成された書き込み回路をさらに備えるデータ蓄積装置。
  13. 請求項11記載のデータ蓄積装置において、
    受信したしきい値データと受信した誤り数データに少なくとも部分的に基づいて、前記プログラミングステップサイズを調整するように構成されたブロック単位プログラミング調整エンジンをさらに備えるデータ蓄積装置。
  14. 請求項13記載のデータ蓄積装置において、
    前記ブロックから読み出されたデータに対して復号化操作を遂行し、かつ誤り数を前記ブロック単位プログラミング調整エンジンに提供するように構成された誤り訂正符号化エンジンをさらに備えるデータ蓄積装置。
  15. 請求項13記載のデータ蓄積装置において、
    誤り数は、前記ブロックの各ワード線のワード線誤り数の加算に基づく合計誤り数を含むデータ蓄積装置。
  16. 請求項11記載のデータ蓄積装置において、
    前記コントローラは、第2の値を表から選択するようにさらに構成されるデータ蓄積装置。
  17. 請求項16記載のデータ蓄積装置において、
    前記表は、前記データ蓄積装置のメモリ内にあるデータ蓄積装置。
  18. 請求項16記載のデータ蓄積装置において、
    前記表は、前記データ蓄積装置のコントローラ内にあるデータ蓄積装置。
  19. 請求項11記載のデータ蓄積装置において、
    前記プログラミングステップサイズを低減することは、前記コントローラにおける前記ブロックの読み出し回数と前記ブロックの書き込み/消去サイクル数との比較にさらに基づくデータ蓄積装置。
  20. 請求項19記載のデータ蓄積装置において、
    前記コントローラは、読み出しディスターブ誤りしきい値を満たした比較結果を受けて、前記プログラミングステップサイズを調整する代わりに、前記ブロックでリフレッシュ操作を遂行するようにさらに構成されるデータ蓄積装置。
JP2015505779A 2012-04-13 2013-03-27 メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法 Active JP6014748B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/446,206 US8838883B2 (en) 2012-04-13 2012-04-13 System and method of adjusting a programming step size for a block of a memory
US13/446,206 2012-04-13
PCT/US2013/034160 WO2013154836A1 (en) 2012-04-13 2013-03-27 System and method of adjusting a programming step size for a block of a memory

Publications (3)

Publication Number Publication Date
JP2015516640A true JP2015516640A (ja) 2015-06-11
JP2015516640A5 JP2015516640A5 (ja) 2015-12-17
JP6014748B2 JP6014748B2 (ja) 2016-10-25

Family

ID=48326386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015505779A Active JP6014748B2 (ja) 2012-04-13 2013-03-27 メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法

Country Status (5)

Country Link
US (1) US8838883B2 (ja)
JP (1) JP6014748B2 (ja)
KR (1) KR101891378B1 (ja)
CN (1) CN104272393A (ja)
WO (1) WO2013154836A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US9697905B2 (en) 2013-05-31 2017-07-04 Sandisk Technologies Llc Updating read voltages using syndrome weight comparisons
US10475523B2 (en) 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
WO2015059804A1 (ja) * 2013-10-24 2015-04-30 株式会社日立製作所 ストレージシステムおよびその制御方法
TWI527037B (zh) * 2014-04-10 2016-03-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
US20160162185A1 (en) * 2014-12-05 2016-06-09 Sandisk Technologies Inc. Data programming for a memory having a three-dimensional memory configuration
US9548124B1 (en) * 2015-10-14 2017-01-17 Sandisk Technologies Llc Word line dependent programming in a memory device
KR20170045928A (ko) * 2015-10-20 2017-04-28 삼성에스디에스 주식회사 인메모리 데이터베이스를 이용한 데이터 관리 방법 및 그 장치
CN106816179B (zh) * 2015-11-30 2020-12-25 华为技术有限公司 一种闪存纠错方法和装置
TWI587304B (zh) * 2016-03-09 2017-06-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI631463B (zh) * 2016-03-22 2018-08-01 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
KR102395727B1 (ko) * 2016-04-25 2022-05-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US10290353B2 (en) * 2016-09-06 2019-05-14 Western Digital Technologies, Inc. Error mitigation for 3D NAND flash memory
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
CN106653095B (zh) * 2016-11-01 2020-05-15 上海华力微电子有限公司 一种快速收集阈值电压分布的方法
US10373695B2 (en) * 2016-12-30 2019-08-06 Western Digital Technologies, Inc. Methods and apparatus for read disturb detection and handling
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10418097B2 (en) 2017-11-27 2019-09-17 Western Digital Technologies, Inc. Non-volatile storage system with read calibration
US10732890B2 (en) * 2018-03-06 2020-08-04 Micron Technology, Inc. Adjusting a parameter for a programming operation based on the temperature of a memory system
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
CN110634527B (zh) * 2018-06-25 2021-06-22 西安格易安创集成电路有限公司 一种非易失存储器处理方法及装置
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US10811091B2 (en) 2018-10-12 2020-10-20 Western Digital Technologies, Inc. Adaptive processing for read threshold voltage calibration
KR102599046B1 (ko) * 2018-11-16 2023-11-06 삼성전자주식회사 리커버리 동작을 수행하는 메모리 컨트롤러, 이의 동작 방법 및 이를 포함하는 메모리 시스템
KR102651129B1 (ko) 2018-12-21 2024-03-26 삼성전자주식회사 메모리 장치의 데이터 재기입 방법, 상기 메모리 장치를 제어하는 메모리 컨트롤러 및 상기 메모리 컨트롤러의 제어 방법
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US10984876B2 (en) * 2019-06-19 2021-04-20 SanDiskTechnologies LLC Temperature based programming in memory
US11182242B2 (en) 2019-06-21 2021-11-23 Intel Corporation Technologies for preserving error correction capability in compute-in-memory operations
KR20210110382A (ko) 2019-10-29 2021-09-07 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 디바이스를 프로그래밍하는 방법
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11967391B2 (en) * 2021-08-06 2024-04-23 SK Hynix Inc. System and method for testing multicore SSD firmware based on preconditions generation
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2008027511A (ja) * 2006-07-20 2008-02-07 Toshiba Corp 半導体記憶装置およびその制御方法
JP2009087509A (ja) * 2007-10-03 2009-04-23 Toshiba Corp 半導体記憶装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909449A (en) 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
JP3987715B2 (ja) 2001-12-06 2007-10-10 富士通株式会社 不揮発性半導体メモリおよび不揮発性半導体メモリのプログラム電圧制御方法
US7593259B2 (en) 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR101343597B1 (ko) 2007-08-09 2013-12-20 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US8423866B2 (en) 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
KR101662309B1 (ko) 2010-02-08 2016-10-04 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US8441861B2 (en) * 2011-03-16 2013-05-14 Micron Technology, Inc. Self-check calibration of program or erase and verify process using memory cell distribution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2008027511A (ja) * 2006-07-20 2008-02-07 Toshiba Corp 半導体記憶装置およびその制御方法
JP2009087509A (ja) * 2007-10-03 2009-04-23 Toshiba Corp 半導体記憶装置

Also Published As

Publication number Publication date
US20130275651A1 (en) 2013-10-17
CN104272393A (zh) 2015-01-07
JP6014748B2 (ja) 2016-10-25
US8838883B2 (en) 2014-09-16
KR20150014437A (ko) 2015-02-06
KR101891378B1 (ko) 2018-08-24
WO2013154836A1 (en) 2013-10-17

Similar Documents

Publication Publication Date Title
JP6014748B2 (ja) メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法
US8683297B2 (en) Systems and methods of generating a replacement default read threshold
US8605502B1 (en) Systems and methods of updating read voltages
US9153331B2 (en) Tracking cell erase counts of non-volatile memory
US8874992B2 (en) Systems and methods to initiate updating of reference voltages
US9141534B2 (en) Tracking read accesses to regions of non-volatile memory
US8811076B2 (en) Systems and methods of updating read voltages
US8811081B2 (en) Systems and methods of updating read voltages in a memory
US9240235B2 (en) Mitigating disturb effects for non-volatile memory
US9025374B2 (en) System and method to update read voltages in a non-volatile memory in response to tracking data
US8917559B2 (en) Multiple write operations without intervening erase
US9129689B2 (en) Tracking erase pulses for non-volatile memory
US8787079B2 (en) Reading data from multi-level cell memory
US8737130B2 (en) System and method of determining a programming step size for a word line of a memory
WO2014110183A1 (en) Systems and methods to update reference voltages in response to data retention in non-volatile memory
US9117533B2 (en) Tracking erase operations to regions of non-volatile memory

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150827

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150827

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160926

R150 Certificate of patent or registration of utility model

Ref document number: 6014748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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