JP2012532398A - データ転送管理 - Google Patents

データ転送管理 Download PDF

Info

Publication number
JP2012532398A
JP2012532398A JP2012519670A JP2012519670A JP2012532398A JP 2012532398 A JP2012532398 A JP 2012532398A JP 2012519670 A JP2012519670 A JP 2012519670A JP 2012519670 A JP2012519670 A JP 2012519670A JP 2012532398 A JP2012532398 A JP 2012532398A
Authority
JP
Japan
Prior art keywords
data transfer
memory
characteristic
value
controller
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
JP2012519670A
Other languages
English (en)
Other versions
JP5758386B2 (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 JP2012532398A publication Critical patent/JP2012532398A/ja
Application granted granted Critical
Publication of JP5758386B2 publication Critical patent/JP5758386B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Abstract

ソリッドステートドライブ(SSD)におけるような、データ転送を管理するための方法、コントローラ、およびシステムについて説明する。いくつかの実施形態では、ホストとメモリとの間でのデータ転送がモニタリングされ、その後、評価されて、評価結果を提供する。別のデータ転送を処理するために割り当てられるメモリの記憶装置数が、その評価結果に基づき調整される。追加の方法およびシステムも説明される。
【選択図】図3

Description

〔関連出願〕
本特許出願は、2009年7月6日に出願された米国特許出願第12/498,151号からの利益の優先権を主張し、その内容が参照により本明細書に組み込まれる。
電子機器は、通常、大容量記憶装置など、それらが利用可能な一種のメモリシステムを有する。一般的な例は、ハードディスクドライブ(HDD)である。HDDは、比較的低コストで大容量記憶を可能にし、現在のコンシューマ向けHDDでは、1テラバイト以上の容量が利用可能である。HDDは、一般に、回転磁気媒体またはディスク(platter)上にデータを格納する。実際には、結果として生じるデータ信号はアナログ信号であって、その山と谷がデータパターンの磁束反転の結果である。
HDDは、その機械的な本質に起因して、ある欠点を有する。HDDは、衝撃、振動または強磁場が原因で、ダメージを受けやすいか、または過度の読み取り書き込みエラーを起こしやすい。さらに、それらは、携帯用電子機器で、比較的大量の電力を消費する。大容量記憶装置のもう1つの例は、ソリッドステートドライブ(SSD)である。回転媒体上にデータを格納する代わりに、SSDは、それらのデータを格納するために、半導体メモリ装置を利用するが、多くの場合、それらのホストシステムに対して、それらがあたかも典型的なHDDであるかのように見えるようにするインタフェースおよびフォームファクタを含む。SSDの記憶装置は非揮発性のフラッシュ記憶装置を含み得る。
本開示の技術のいくつかの実施形態は、例として示されており、添付の図に限定されるものではない。
本発明の様々な実施形態に従い、ソリッドステートドライブ(SSD)へのデータ書き込みを管理するためのシステムを示す概略図である。 本発明の様々な実施形態に従い、データ書き込みを管理するように構成されたSSDを示す概略図である。 本発明の様々な実施形態に従い、データ書き込みを管理するように構成されたSSDコントローラのモジュールを示す概略図である。 本発明の様々な実施形態に従い、SSDへのデータ書き込みの管理に関与するいくつかの変数のリストを示す表である。 本発明の様々な実施形態に従い、図4に示す表の変数における変化を示すグラフである。 本発明の様々な実施形態に従い、SSDのデータ書き込み管理のためのアルゴリズムの実装を示す状態図である。 本発明の様々な実施形態に従い、SSDのデータ書き込み管理の方法を示す流れ図である。 本発明の様々な実施形態に従い、SSDのデータ書き込み管理のためのシステム例を示す概略図である。
データ転送管理のための方法およびシステムの例が説明される。説明のための次の記述では、実施形態例に対する理解を与えるために、例固有の詳細を有する多数の例が示される。しかし、当業者には、本例が、これら例固有の詳細がなくても、かつ/または本明細書で提供されるものとは異なる組み合わせの詳細でも、実施され得ることが明白であろう。
本明細書で説明されるいくつかの実施形態例は、ホストとメモリ間のデータ転送(例えば、データ書き込み)のモニタリングを含み得る。データ転送プロファイルが評価され得、評価結果が提供され得る。将来のデータ転送が、その評価結果に基づき調整され得る。本文書では、データ転送プロファイルは、以下でより詳細に説明される通り、例えば、データ転送サイズ(例えば、転送されるバイト数)、書き込み増幅(write amplification)値、および書き込み帯域幅(write bandwidth)に関連する1つまたは複数の値などを含む。
図1は、本発明の様々な実施形態に従い、ソリッドステートドライブ(SSD)110へのデータ書き込み管理のためのシステム100を示す概略図である。システム00は、プロセッサ120などのメモリアクセス装置と通信するSSD 110を含み得る。システム100は、例えば、プロセッサ120を経由して、SSD 110の操作を制御する、SSD 110のホストシステムと見なされ得る。システム100は、SSD 110にアクセスするために、1つまたは複数のアプリケーション(ホストアプリケーション)を使用し得る。システム100のいくつかの例は、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、デジタルカメラ、コンピュータゲーム、デジタルメディアプレーヤ/レコーダ、および同種類のものを含み得る。
プロセッサ120は、ディスクドライブコントローラまたは他の外部プロセッサを含み得る。プロセッサ120は、通信バス130を経由してSSD 110と通信し得る。通信バス130は、プロセッサ120をSSD 110と接続するために、周知のプロトコルを使用し得る。通信バス130のタイプは、システム100で利用されているドライブインタフェースのタイプによって決まり得る。従来型のディスクドライブインタフェースバスプロトコルのいくつかの例は、Integrated Drive Electronics(IDE)、Advanced Technology Attachment(ATA)、シリアルATA(SATA)、パラレルATA(PATA)、ファイバチャネルおよび小型コンピュータシステムインタフェース(SCSI)である。他のドライブインタフェースも存在し、当技術分野で周知である。SSD 110のメモリ装置は、不揮発性フラッシュメモリ装置を含み得る。SSD 110の特徴が、データ書き込み管理に関連して、以下でより詳細に説明される。
図2は、本発明の様々な実施形態に従い、データ書き込みを管理するように構成されたSSD 110を示す概略図である。SSD 110は、通信バス130(図1)を経由してホスト(例えば、図1のプロセッサ120、またはホストアプリケーション)との通信を可能にするインタフェース230に結合されているコントローラ210を含み得る。インタフェース230は、当業者には周知の多数のコネクタの1つであり得る。これらインタフェース230コネクタのいくつかの例は、IDE、拡張IDE、ATA、SATA、およびPersonal Computer Memory Card International Association(PCMCIA)コネクタを含み得る。
SSD 110内のメモリは、複数の記憶装置に構成され得、各々が、フラッシュメモリ装置など、1つまたは複数のメモリ装置を含む。メモリ装置内の記憶域は、ブロックにグループ分けされ得る。フラッシュメモリ装置では、128キロバイト(KB)、256KBおよび512KBの記憶容量を持つブロックが一般的である。ホストは、データ読み取り/書き込み操作のために、どのフラッシュメモリ装置が現在アドレス指定されているかを意識していない可能性がある。つまり、ホストは、実際のデータ転送(例えば、読み取りまたは書き込み)でアクセスされている、どの物理ブロックアドレス(PBA)も知らない。ホストは単に、論理ブロックアドレス(LBA)を処理するだけで、これがPBAに変換される。LBAからPBAへのこの変換は、SSD 110が、論理アドレスを指定したデータ転送要求を受信した後、SSD 110内で起こり得る。
フラッシュメモリ装置では、新規のデータを書き込む前に、その新規データ用に場所を空けるために、1ブロックのメモリが消去される。例えば、ホストが4KBだけのデータ書き込みを要求すると、4KBのデータを収容するために、1ブロックのメモリ(例えば、128KB)が消去される。その要求を処理するために2つの記憶装置(各々が、128KBの記憶容量を持つブロックからそれぞれ構成される)が割り当てられる場合には、4KBのデータを収容するために、2ブロック(2の割り当てられた記憶装置の各々から1つ)が消去される。
消去時間が、フラッシュメモリ装置のアクセス時間を遅くする主要な要因を構成し得る。従来型のメモリ装置では、データは、フラッシュメモリ内の記憶域に有限数回、書き込むことができる。書き込み可能な回数が大規模(通常、10,100〜100,000)であっても、同じ位置に繰り返し書き込むと、その位置が摩耗(wear)し得る。従って、摩耗量を均一にするため、データ書き込みを利用可能な記憶域全体に均一に分散するのが賢明である。ウェアレベリングは、コントローラ210(SSDコントローラとも呼ばれる)が管理に対して責任を持つタスクの1つと考えられる。
データをSSD 110の複数の位置に格納し、ホスト120から隠して、SSD 110に対してデータの書き込みおよび取り出しを行うためには、大量の操作が実行され得る。データが次第にフラグメンテーションを生じるに従い、データを適切に書き込むために十分なサイズのメモリブロックが不足し得る。この時点で、SSD 110への追加の書き込みを可能にするために、メモリブロックを再利用するため、データ再利用(当業者によりガーベッジコレクションとも呼ばれる)プロシージャが使用される。データがSSD 110内で物理的に頻繁に移動されるほど、プログラムの消去サイクルが原因でドライブがより速く摩耗し得る。
一実施形態例では、ホストのデータ転送要求を処理する際に、ホストは、コントローラ210によって考慮される、データ転送帯域幅(例えば、最低許容書き込み帯域幅などの書き込み帯域幅、または読み取り帯域幅など)を指定し得る。「データ転送帯域幅(data transfer bandwidth)」という用語は、単位時間当たりに転送されるデータ量を含むと解釈されるべきであり、通常、キロビット/秒(Kb/s)またはメガビット/秒(Mb/s)で表される。データ転送要求を処理するために、より多くの記憶装置220を割り当てる(例えば、データ転送要求の処理に使用されるブロックを持ち得る記憶装置の数を確立する)ことにより、より大規模のデータ転送帯域幅が得られる。
コントローラ210にとって関係のある別の変数は、書き込み増幅(WA:write amplification)である。「書き込み増幅」という用語は、例えば、データ書き込み処理に使用するために割り当てられたメモリサイズの、その要求を処理するために割り当てられたメモリへ書き込まれた実際のデータサイズに対する比を指す。例えば、4KBのデータのSSD 110への書き込みは、コントローラ210が、最低使用可能な記憶装置数、つまり、1つのメモリ記憶装置で書き込み操作を処理するという結果になり、それは、例えば、128KBを格納できる1ブロックを含み得る。この場合、書き込み要求を構成する4KBの実際のデータだけがそのブロックに書き込まれるとしても、1つの割り当てられた記憶装置220の125KBデータブロック内の記憶域が消去される。これは、WAが128/4、すなわち32、という結果になり、それは、望ましくないかもしれない。
より低いWA値でのSSD 110による操作は、SSD 110内のメモリ装置のより効率的な使用に繋がり得る。より低いWA値で操作すると、より均等に分散されたウェアレベリングにもなり得るが、同時に書き込み帯域幅も低くり得る。それ故、SSD 110は、ホストによって指定される書き込み帯域幅と、そのデータ書き込みから生じるWAとの間のトレードオフに直面し得る。
SSD 110は、このトレードオフに対処するように構成できる。例えば、SSD 110は、以下に説明する実施形態に基づき、コントローラ210を使用して、記憶装置220の割り当てを調整することにより、このトレードオフを解決し得る。
図3は、本発明の様々な実施形態に従い、データ書き込みを管理するためのSSDコントローラ210のモジュールを示す概略図である。図3に示すSSDコントローラ210は、例えば、1つまたは複数のマイクロプロセッサを備え得る。SSDコントローラ210は、メモリ310、モニタリングモジュール320、評価モジュール330、および調整モジュール340を含み得る。モニタリングモジュール320、評価モジュール330、および調整モジュール340は、メモリ310、または図2の記憶装置220に格納されたソフトウェアモジュールを包含し得る。一実施形態例では、これらのモジュールは、SSDコントローラ210内の組み込みハードウェアとして実装され得る。
モニタリングモジュール320は、ホスト(例えば、図1のプロセッサ120、またはホストアプリケーション)と、図2の記憶装置220に構成されたメモリなどのメモリとの間のデータ転送をモニタリングする働きをし得る。例えば、モニタリングモジュール320は、データ転送サイズ(例えば、転送されるバイト数)、書き込み増幅(データ転送に関連するWA)、およびそのデータ転送に関連する書き込み帯域幅(BW)など、1つまたは複数のデータ転送の特性をモニタリングする能力を有し得る。実施形態例では、再利用帯域幅(例えば、ガーベッジコレクション用に確保されたプロセッサ帯域幅)および読み取り帯域幅などの他の特性もモニタリングされ得る。
モニタリングモジュール320は、モニタリングした特性に関連する1つまたは複数の値をメモリ310に格納し得る。メモリ310は、1つまたは複数の構成レジスタの形式で使用されるスタティックランダムアクセスメモリ(SRAM)を含み得る。一実施形態例では、モニタリングモジュール320は、特性値を、図2の記憶装置220に構成されたフラッシュメモリ装置に格納し得る。格納された特性値は、ホストに関連付けられ得る。
一実施形態例では、評価モジュール330は、プロセッサ(例えば、マイクロプロセッサ)を備え得る。いくつかの実施形態では、モニタリングモジュール320および/または調整モジュール340も同じプロセッサを備え得る。評価モジュール330は、一定の期間に渡って記憶された特性値をメモリ310から取り出す働きをし得る。評価モジュール330は、少なくとも一部は特性値に基づき、統計値を決定し得る。例えば、評価モジュール330は、一定の期間に渡って記憶されたWAまたは書き込み帯域幅の平均値を決定し得る。評価モジュール330は、一定の期間に渡るメモリ要求サイズの平均値も決定し得る。
評価モジュール330は、1つまたは複数の特性値および/または統計値(本明細書では、総称しておよび/または個別に、「データ転送プロファイル」と呼ぶ)を1つまたは複数のターゲット値と比較し得る。評価モジュール330は、例えば、平均WAをターゲットWAと比較して、結果を調整モジュール340に報告し得る。一実施形態例では、評価モジュール330は、特性値(例えば、WA)が、以前の値に比べて改善を示していることを示し得る。
調整モジュール340は、図5に関連して、以下でより詳細に説明する通り、2つ以上の特性値および/または統計値の間の関係を評価して、将来のデータ転送を処理するために割り当てられた記憶装置の数を調整するようなアルゴリズムを実装し得る。
当技術分野で周知のように、本開示の範囲から逸脱することなく、追加または異なるモジュールをSSD 210内に実装できる。しかし、本開示は、かかる追加のモジュールなしで理解され得る。
図4は、本発明の様々な実施形態に従い、図1のSSD 110へのデータ書き込みの管理に関わるいくつかの変数の表400である。表400の変数は、メモリ要求サイズ(KB)、WA、およびデータ転送要求を処理するために割り当てられた記憶装置数(すなわち、LU)である。列420は、ホスト(例えば、図1のプロセッサ120またはホストアプリケーション)によって行われたいくつかの書き込み要求サイズをリストする。図2のコントローラ210は、データ書き込み用に、いくつかの記憶装置を割り当てることにより、各要求に応答し得る。列430、440、450、および460は、それぞれ、データ書き込み要求に対する2、4、6、および10の記憶装置(すなわち、各2、4、6、および10 LUからの1ブロック)の割り当てから生じた対応するWA値を表す。表400では、記憶装置の各ブロックは、128KBの記憶容量を持つと仮定される。他の容量も使用され得る。表400のデータは、図5に示すグラフにも示されている。
図5は、本発明の様々な実施形態に従い、図4に示す表400の変数における変化を示すグラフ500である。グラフ500は、データ書き込み要求を処理するために割り当てられた異なる数の記憶装置に対するデータ書き込み要求サイズの機能として、WAの変化を示す。曲線510、520、530、および540の各々に対して割り当てられた対応する記憶装置の数が、LU=2、4、6、および10として、グラフの凡例に示されている。グラフ500を見て分かるように、一般的な傾向は、要求されたデータ書き込みサイズの増加に伴って、WAが減少する。小規模なデータ書き込み要求サイズ(例えば、128KB未満)に対して、コントローラ210は、単一の記憶装置(要求を処理するために、単一の記憶装置からの単一ブロックが使用される)を割り当てる以外に選択肢がない可能性がある。しかし、要求されたデータ書き込みのサイズが増加するに従って、コントローラ210は、より多くの選択肢を持ち得る。
例えば、要求されたデータ書き込みのサイズが512KBに等しい場合、図2のコントローラ210は、4つの記憶装置を割り当て得、この場合、書き込み増幅は値1になる。そのデータ書き込み要求に対して8つの記憶装置を割り当てることを選択する場合、コントローラは、2の書き込み増幅を達成し得る。各記憶装置に対して128KBの記憶容量を仮定すると、1〜2の好ましいWAは、128KBより大きいデータ書き込み要求サイズで起こることが示されている。
図6は、本発明の様々な実施形態に従い、SSDデータ書き込み管理のためのアルゴリズムの実装を示す状態図600である。図3の調整モジュール340は、状態図600に示すアルゴリズムを実装し得る。状態図600は、いくつかの状態およびその状態間の遷移を示す。その状態は、図2のコントローラ210による、図1のSSD 110へのデータ書き込みに関連する、書き込みBWおよびWAなどの、変数によって定義され得る。望ましい状態610では、書き込み帯域幅は、BW0より大きいと考えられ、好ましい書き込み増幅は、WA1より小さいと考えられる。書き込み増幅BW0に対する下限またはWAに対する許容範囲(例えば、WA1とWA2の間)も、ホストによって指定され得る。例えば、ホストのユーザーは、70%読み取り、書き込みの30%および500Mb/sの最小書き込みBWなど、望ましい書き込みスループットのターゲットを指定し得る。ユーザーは、そのターゲット値をSSDコントローラ210(例えば、図3のメモリ310に)に格納し得る。
許容できる状態620では、書き込み帯域幅がBW0より大きく、WAが許容範囲内(例えば、WA2より小さく、WA1より大きい)である。アルゴリズムの目的は、他の全ての状態から、望ましい状態610または許容できる状態620に移行させることである。例えば、図3の調整モジュール340によって考えられている最初の状態は、状態630であると考えられ得る。この状態に入る前に、図2のコントローラ210は、図1のSSD 110上のN個の記憶装置を割り当てることにより、データ書き込み要求を処理している。かかる割り当ての結果は、図3のモニタリングモジュール320によってモニタリングされる通り、BW0より小さい書き込み帯域幅、およびWA1より小さいWAである。この状況に基づき、調整モジュール340はその状態を調整し得る。
調整モジュール340は、データ書き込み要求に対してより多くの記憶装置を割り当てることにより、状況を調整しようとし得る。これにより、望ましい状態610、許容できる状態620、または、状態640など、別の状態への遷移を引き起こし得る。状態640で、WAは許容範囲内であるが、書き込み帯域幅はBW0より小さい。書き込み帯域幅を増加するため、調整モジュール340は、さらに多くの記憶装置を割り当てることにより、状況を改善しようとし得る。より多くの記憶装置の割り当てると、望ましい状態610、許容できる状態620、または状態650に入るという結果になり得る。
状態650は、帯域幅は許容値まで増加しているが、WAは許容範囲外であるため、十分な数の記憶装置よりも多くを割り当てた結果と思われる。その状況は、図3の調整モジュール340に、割り当てられた記憶装置の数を減らさせ、その結果、望ましい状態610または許容できる状態620のいずれかに入ることになり得る。それは状態660に入ることにもなり得、これは、書き込み帯域幅および書き込み増幅のいずれも、状態620で指定された許容範囲内にないため、許容できない。従って、状態660からの次の遷移は、状態650に戻り、割り当てる記憶装置数に対して別の値(例えば、以前に試した値よりも大きな値)を試すことであろう。
実施形態例では、調整モジュール340は、図3のメモリ310での各遷移の後に、記憶装置数に対して行われた調整およびモニタリング結果(例えば、書き込みBW、およびWA)などの遷移情報を格納し得る。調整モジュール340は、その遷移情報を使用して、中間状態を回避しようとして、図6のそれぞれ望ましいまたは許容できる状態610および620に直接移行することにより、その効率を高め得る。それぞれ、望ましいまたは許容できる状態610および620への直接移行が可能でない状況では、調整モジュール340は、WA値を大幅にさえ引き下げようとし得る。
図7は、本発明の様々な実施形態に従い、SSDデータ書き込み管理の方法700を示す流れ図である。操作710で、図3のモニタリングモジュール320は、ホストと、図1のSSD 110の記憶装置220に構成されたメモリなどのメモリとの間のデータ転送をモニタリングし得る。モニタリングモジュール320は、一定の期間に渡ってデータ転送をモニタリングし得る。その期間は、データ転送に関連するトラフィック量によって決まり得る。図3の評価モジュール330は、操作720で、データ転送を評価して、評価結果を提供し得る。
評価結果は、WA,データ転送BW,および/または記憶装置数を含む、特性値を含み得る。いくつかの実施形態例では、特性値は追加または代替として、再利用帯域幅および読み取り帯域幅を含み得る。評価モジュール330は、特性値の平均値(例えば、一定の期間に渡る平均書き込み増幅)などのモニタリングした特性値に少なくとも一部基づいて、統計値を決定し得る。
評価モジュール330は、特性値および/または統計値の少なくとも1つが、ホストによって指定された通り、1つまたは複数のターゲット値を満足するか否かを示す評価結果を提供し得る。分岐記号730で、評価結果が満足できる場合、制御は操作710に移る。そうでない場合は、操作740で、図3の調整モジュール340が、例えば、その評価結果に基づき、データ転送の特性の調整に使用され得る。アルゴリズムは、前述の通り、図3の調整モジュール340によって実装され得る。例えば、調整モジュール340は、書き込み帯域幅、書き込み増幅、および記憶装置数などの特性を調整する働きをする。
図3の調整モジュール340は、この操作を実行し得る。調整モジュール340は、前述の通り、評価結果に基づき、1つまたは複数のデータ転送の特性を変更するか、または特性を変更しないように機能し得る。例えば、データ書き込み要求を処理するために割り当てられた記憶装置数が適切である場合(入った状態が、それぞれ望ましいまたは許容できる状態610または620の場合に判断される)、調整モジュール340は、割り当てられた記憶装置数を変更しない可能性がある。データ書き込み要求に対して割り当てられた記憶装置数が適切でない(例えば、書き込みBWがBW0より小さいことによって示されるように)場合、調整モジュール340は、書き込みBWを改善するために、より多くの記憶装置を割り当てることにより、その状況を改善し得る。
図8は、本発明の様々な実施形態に従い、SSDデータ書き込みを管理するためのシステム例800を示す概略図である。システム800は、プロセッサ810、メモリ820、メモリコントローラ830、グラフィックコントローラ840、および入出力(I/O)コントローラ850、ディスプレイ852、キーボード854、ポインティングデバイス856、および周辺機器858を含み得る。バス860がこれらの装置全てを連結する。クロック発生器870は、バス860を経由して、システム800の少なくとも1つの装置にクロック信号を提供する。クロック発生器870の一例は、マザーボードなどの回路基板内の発振器を含み得る。システム800に示す2つ以上の装置が単一チップ内に構成され得る。
メモリ820は、スタティックランダムアクセスメモリ(SRAM)、ダイナミックRAM、またはフラッシュメモリを含む不揮発性メモリを含み得る。バス860は、回路基板上の相互接続配線(interconnect trace)であり得るか、または1つまたは複数のケーブルであり得る。バス860はまた、システム800の各装置を、例えば、電波などの電磁波放射によるなどの無線手段により、結合し得る。周辺機器858は、プリンタ、ディスクドライブ装置(例えば、CD−ROMおよびDVD読み取り装置および書き込み装置などの光デバイス、フロッピィディスクドライバなどの磁気デバイス読み取り装置および書き込み装置など)、またはマイクロホンなどのオーディオ装置を含み得る。
図8によって表されるシステム800は、コンピュータ(例えば、デスクトップ、ラップトップ、ハンドヘルド、サーバー、Webアプライアンス、ルーター、など)、無線通信装置(例えば、携帯電話、コードレス電話、ポケットベル、携帯情報端末、など)、コンピュータ関連周辺機器(例えば、プリンタ、スキャナ、モニター、など)、娯楽機器(例えば、テレビ、ラジオ、ステレオ、テープおよびコンパクトディスクプレーヤ、ビデオカセットレコーダ/プレーヤ、ビデオカメラ、デジタルカメラ、MP3(Motion Picture Experts Group、Audio Layer 3)プレーヤ/レコーダ、テレビゲーム、時計、など)、および同種類のものを含み得る。
実施形態例では、周辺機器858は、本明細書で説明した1つまたは複数の方法または機能を具体化する1つまたは複数の命令セット(例えば、ソフトウェア)が格納されている機械可読媒体を含み得る。メモリ820およびプロセッサ810も機械可読媒体を備え、その命令は、コンピュータシステム800によるその実行中にはメモリ820内および/またはプロセッサ810内にも、完全にまたは少なくともその一部が常駐し得る。
機械可読媒体は、実施形態例では単一媒体として示されているが、「機械可読媒体」という用語は、1つまたは複数の命令セットを格納する単一媒体または複数媒体(例えば、集中または分散データベース、および/または関連するキャッシュおよびサーバー)を含むと解釈されるべきである。「機械可読媒体」という用語はまた、機械で実行するための命令セットの格納、コード化、または持ち運びが可能であって、機械に本発明の任意の1つまたは複数の方法を実行させる任意の媒体を含むとも解釈されるべきである。「機械可読媒体」という用語は、従って、ソリッドステートメモリならびに光および磁気媒体を含むが、それらに限定されない、と解釈されるべきである。
SSDデータ書き込み操作を管理するための特定の方法およびシステムを説明してきたが、これらの実施形態に対して様々な修正および変更がなされ得ることは明らかであろう。それ故、明細書および図は、限定的意味ではなく、例示として考えられる。
発明の概要は、技術開示の本質を読者が素早く確認できるようにする要約を必要とする、米国特許規則37 C.F.R.§1.72(b)に従うために提供されている。それは、特許請求の範囲の解釈または限定に使用されないという了解の下で提示されている。さらに、前述した発明の詳細な説明では、本開示を簡素化する目的で、様々な特徴が単一の実施形態にまとめられているのが見られるであろう。開示のこの方法は、特許請求の範囲を制限するものと解釈されてはならない。従って、次の特許請求の範囲は、各請求項がそのまま別個の実施形態として、本明細書により発明の詳細な説明に組み込まれる。

Claims (30)

  1. ホストとメモリとの間のデータ転送をモニタリングすることと、
    前記データ転送を評価して評価結果を提供することと、
    前記評価結果に少なくとも一部基づき、別のデータ転送を調整することとを含む、方法。
  2. 前記データ転送が、前記メモリに対する少なくとも1つの書き込みまたは読み取りを含む、請求項1に記載の方法。
  3. 前記ホストがメモリアクセス装置を備え、前記メモリが、フラッシュメモリを含む不揮発性メモリを含む、請求項1に記載の方法。
  4. 前記ホストがデータ転送帯域幅および/または許容できる書き込み増幅の範囲を指定する、請求項1に記載の方法。
  5. 前記データ転送の評価が、前記データ転送の特性の評価を含み、
    前記特性が、前記データ転送サイズ、書き込み増幅、書き込み帯域幅、再利用帯域幅、または読み取り帯域幅の少なくとも1つを含む、請求項1に記載の方法。
  6. 一定の期間に渡る前記評価された特性に関連する値の格納をさらに含む方法であって、前記期間が前記データ転送に関連するトラフック量によって決まる、請求項1に記載の方法。
  7. 前記特性に関連する値に少なくとも一部基づく統計値の決定をさらに含む、請求項6に記載の方法。
  8. 前記統計値が平均値を含む、請求項7に記載の方法。
  9. 前記評価が、前記特性値および/または前記統計値の少なくとも1つと、ターゲット値との比較を含む、請求項8に記載の方法。
  10. 前記提供された評価結果が、前記特性値および/または前記統計値の少なくとも1つが前記ターゲット値を満足するか否かを示す、請求項9に記載の方法。
  11. 前記提供された評価結果が、前記特性が改善を示しているか否かを示す、請求項5に記載の方法。
  12. 前記調整が、前記他のデータ転送の特性の調整を含む、請求項1に記載の方法。
  13. 別のデータ転送の特性の前記調整が、前記他のデータ転送を処理するために割り当てられた記憶装置数の調整を含む、請求項12に記載の方法。
  14. 前記他のデータ転送を処理するために割り当てられた前記記憶装置数の調整が、前記評価結果に基づき、前記数を変更することまたは前記数を変更しないことの少なくとも1つを含む、請求項13に記載の方法。
  15. ホストとメモリとの間でのデータ転送をモニタリングするためのモニタリングモジュールと、
    前記データ転送を評価して評価結果を提供する評価モジュールと、
    前記評価結果に少なくとも一部基づき、別のデータ転送を調整するための調整モジュールと、を備える記憶装置コントローラ。
  16. 前記モニタリングモジュールが、前記データ転送の特性をモニタリングするためであり、前記特性が、前記データ転送サイズ、書き込み増幅、書き込み帯域幅、再利用帯域幅、および/または読み取り帯域幅の少なくとも1つを含む、請求項15に記載のコントローラ。
  17. 一定の期間に渡る前記特性値を格納するためのメモリをさらに備え、前記期間が前記データ転送に関連するトラフック量によって決まる、請求項16に記載のコントローラ。
  18. 前記評価モジュールが、前記期間に渡って格納された前記特性値を取り出すためである、請求項17に記載のコントローラ。
  19. 前記評価モジュールが、1つまたは複数のプロセッサを備える、請求項15に記載のコントローラ。
  20. 前記評価モジュールが、前記特性値に関連した統計値を決定するためであり、前記統計値が平均値を含む、請求項17に記載のコントローラ。
  21. 前記評価モジュールが、前記特性値および/または前記統計値の少なくとも1つをターゲット値と比較するためである、請求項20に記載のコントローラ。
  22. 前記評価モジュールが、前記特性値および/または前記統計値の少なくとも1つが、前記ターゲット値を満足するか否かを判断するためである、請求項21に記載のコントローラ。
  23. 前記評価モジュールが、少なくとも1つの前記特性値が改善を示しているか否かを判断するためである、請求項17に記載のコントローラ。
  24. 前記調整モジュールが、前記他のデータ転送を処理するために割り当てられた記憶装置数を調整するためである、請求項17に記載のコントローラ。
  25. 前記調整モジュールが、前記特性値および/または統計値に対するターゲット値を達成するために、いくつかの遷移において記憶装置数を調整するためであって、遷移情報がメモリに格納されて、調整効率を高めるために使用される、請求項24に記載のコントローラ。
  26. 前記記憶装置がメモリブロックを備える、請求項24に記載のコントローラ。
  27. メモリアクセス装置と、
    前記メモリアクセス装置に結合された記憶装置であって、
    メモリと、
    前記メモリアクセス装置と前記メモリとの間のデータ転送をモニタリングするためのモニタリングモジュールと、
    前記データ転送を評価して評価結果を提供する評価モジュールと、
    前記評価結果に少なくとも一部基づき、別のデータ転送を調整するための調整モジュールと
    を備える記憶装置と
    を備えるシステム。
  28. 前記メモリが、フラッシュメモリを含む不揮発性メモリを含む、請求項27に記載のシステム。
  29. 1つまたは複数のプロセッサによって実行される場合に、
    ホストとメモリとの間でのデータ転送をモニタリングすることと、
    前記データ転送を評価して評価結果を提供することと、
    前記評価結果に少なくとも一部基づき別のデータ転送を調整することと
    を実行する、命令を格納する機械可読媒体。
  30. ホストとメモリとの間でのデータ転送の特性をモニタリングすることであって、前記特性が、前記データ転送サイズ、書き込み増幅、書き込み帯域幅、再利用帯域幅、および/または読み取り帯域幅の少なくとも1つを含む、特性をモニタリングすることと、
    前記モニタリングした特性に一部基づき、前記モニタリングした特性値および/または統計値の少なくとも1つを、ターゲット値と比較することと、
    前記比較に少なくとも一部基づき、別のデータ転送に対して割り当てられる前記メモリの記憶装置数を調整することとを含む方法。
JP2012519670A 2009-07-06 2010-07-06 データ転送管理 Active JP5758386B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/498,151 US8291131B2 (en) 2009-07-06 2009-07-06 Data transfer management
US12/498,151 2009-07-06
PCT/US2010/041070 WO2011005763A2 (en) 2009-07-06 2010-07-06 Data transfer management

Publications (2)

Publication Number Publication Date
JP2012532398A true JP2012532398A (ja) 2012-12-13
JP5758386B2 JP5758386B2 (ja) 2015-08-05

Family

ID=43413233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012519670A Active JP5758386B2 (ja) 2009-07-06 2010-07-06 データ転送管理

Country Status (7)

Country Link
US (3) US8291131B2 (ja)
EP (1) EP2452267B1 (ja)
JP (1) JP5758386B2 (ja)
KR (1) KR101600467B1 (ja)
CN (1) CN102473147B (ja)
TW (1) TWI485562B (ja)
WO (1) WO2011005763A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170113343A (ko) * 2016-03-28 2017-10-12 시게이트 테크놀로지 엘엘씨 고체-상태 드라이브들에 대한 동적 대역폭 리포팅
US9830293B2 (en) 2014-08-11 2017-11-28 Fujitsu Limited Information processing apparatus, storage system, and computer-readable non-transitory storage medium storing communication control program

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
WO2008070814A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US8291131B2 (en) 2009-07-06 2012-10-16 Micron Technology, Inc. Data transfer management
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
WO2011031900A2 (en) 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US8984216B2 (en) * 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
US8671249B2 (en) * 2011-07-22 2014-03-11 Fusion-Io, Inc. Apparatus, system, and method for managing storage capacity recovery
US8850153B2 (en) 2011-09-30 2014-09-30 International Business Machines Corporation Enabling throttling on average write throughput for solid state storage devices
US9329948B2 (en) 2012-09-15 2016-05-03 Seagate Technology Llc Measuring cell damage for wear leveling in a non-volatile memory
US11037625B2 (en) * 2012-11-20 2021-06-15 Thstyme Bermuda Limited Solid state drive architectures
MX364783B (es) * 2012-11-20 2019-05-07 Thstyme Bermuda Ltd Estructuras de unidades de estado sólido.
US9092146B2 (en) 2013-06-28 2015-07-28 International Business Machines Corporation Dynamically varying transfer size in a storage device for improved performance
US9348520B2 (en) * 2014-03-24 2016-05-24 Western Digital Technologies, Inc. Lifetime extension of non-volatile semiconductor memory for data storage device
US9342255B2 (en) * 2014-06-10 2016-05-17 International Business Machines Corporation Transfer size monitor, determination, and optimization engine for storage devices
US9678677B2 (en) * 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
US9569136B2 (en) 2015-04-29 2017-02-14 International Business Machines Corporation Smart load balancing replication when adding or removing storage disks in a distributed storage system
CN105487823B (zh) * 2015-12-04 2018-06-05 华为技术有限公司 一种数据迁移的方法及装置
CN107422995B (zh) * 2017-08-08 2020-06-19 苏州浪潮智能科技有限公司 一种固态硬盘写带宽调整方法及装置
US10733114B2 (en) * 2018-08-28 2020-08-04 International Business Machines Corporation Data cache performance
US11568179B2 (en) 2018-10-19 2023-01-31 Oracle International Corporation Selecting an algorithm for analyzing a data set based on the distribution of the data set
US11573962B2 (en) * 2018-10-19 2023-02-07 Oracle International Corporation Dynamic performance tuning based on implied data characteristics
US11163485B2 (en) * 2019-08-15 2021-11-02 International Business Machines Corporation Intelligently choosing transport channels across protocols by drive type
KR20210074876A (ko) 2019-12-12 2021-06-22 삼성전자주식회사 호스트 장치와 인터페이스를 수행하는 스토리지 장치 및 이의 동작 방법
CN114398303B (zh) * 2022-01-19 2022-10-28 扬州万方科技股份有限公司 一种实现低延时的数据传输方法及系统
CN114691698B (zh) * 2022-04-24 2022-11-08 山西中汇数智科技有限公司 一种计算机系统的数据处理系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036205A (ja) * 2001-07-24 2003-02-07 Matsushita Electric Ind Co Ltd 記憶装置
JP2005539303A (ja) * 2002-09-12 2005-12-22 コパン システムズ, インコーポレイテッド 電力効率高容量なスケーラブルな記憶システムのための方法および装置
JP2006195569A (ja) * 2005-01-11 2006-07-27 Sony Corp 記憶装置
JP2006228138A (ja) * 2005-02-21 2006-08-31 Canon Inc 半導体記憶装置、記憶制御方法および情報機器
JP2006318246A (ja) * 2005-05-13 2006-11-24 Fujitsu Ltd 記憶制御方法、プログラム及び装置
JP2008102819A (ja) * 2006-10-20 2008-05-01 Hitachi Ltd 記憶装置及び記憶方法
JP2009521051A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ 給電中のメモリバンク数の低減方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181578B1 (en) * 2002-09-12 2007-02-20 Copan Systems, Inc. Method and apparatus for efficient scalable storage management
KR101404083B1 (ko) 2007-11-06 2014-06-09 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
CN101174994A (zh) * 2006-11-01 2008-05-07 英业达股份有限公司 网络卡测试系统及其方法
TW200823667A (en) * 2006-11-24 2008-06-01 Phison Electronics Corp Single-serial-port-to-multiple-parallel-port high-speed data transmission device with SATA interface
WO2008070814A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
US7853759B2 (en) * 2007-04-23 2010-12-14 Microsoft Corporation Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US8438356B2 (en) * 2007-10-01 2013-05-07 Marvell World Trade Ltd. Flash memory controller
US8244995B2 (en) * 2008-10-30 2012-08-14 Dell Products L.P. System and method for hierarchical wear leveling in storage devices
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
US8291131B2 (en) 2009-07-06 2012-10-16 Micron Technology, Inc. Data transfer management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036205A (ja) * 2001-07-24 2003-02-07 Matsushita Electric Ind Co Ltd 記憶装置
JP2005539303A (ja) * 2002-09-12 2005-12-22 コパン システムズ, インコーポレイテッド 電力効率高容量なスケーラブルな記憶システムのための方法および装置
JP2006195569A (ja) * 2005-01-11 2006-07-27 Sony Corp 記憶装置
JP2006228138A (ja) * 2005-02-21 2006-08-31 Canon Inc 半導体記憶装置、記憶制御方法および情報機器
JP2006318246A (ja) * 2005-05-13 2006-11-24 Fujitsu Ltd 記憶制御方法、プログラム及び装置
JP2009521051A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ 給電中のメモリバンク数の低減方法
JP2008102819A (ja) * 2006-10-20 2008-05-01 Hitachi Ltd 記憶装置及び記憶方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830293B2 (en) 2014-08-11 2017-11-28 Fujitsu Limited Information processing apparatus, storage system, and computer-readable non-transitory storage medium storing communication control program
KR20170113343A (ko) * 2016-03-28 2017-10-12 시게이트 테크놀로지 엘엘씨 고체-상태 드라이브들에 대한 동적 대역폭 리포팅
KR102302649B1 (ko) 2016-03-28 2021-09-14 시게이트 테크놀로지 엘엘씨 고체-상태 드라이브들에 대한 동적 대역폭 리포팅

Also Published As

Publication number Publication date
US8291131B2 (en) 2012-10-16
US9047273B2 (en) 2015-06-02
EP2452267A2 (en) 2012-05-16
KR101600467B1 (ko) 2016-03-14
US8706929B2 (en) 2014-04-22
JP5758386B2 (ja) 2015-08-05
CN102473147B (zh) 2015-07-22
US20130042030A1 (en) 2013-02-14
CN102473147A (zh) 2012-05-23
US20140223069A1 (en) 2014-08-07
EP2452267A4 (en) 2013-07-17
KR20120058506A (ko) 2012-06-07
WO2011005763A2 (en) 2011-01-13
TW201107979A (en) 2011-03-01
US20110004722A1 (en) 2011-01-06
WO2011005763A3 (en) 2011-04-14
TWI485562B (zh) 2015-05-21
EP2452267B1 (en) 2016-03-23

Similar Documents

Publication Publication Date Title
JP5758386B2 (ja) データ転送管理
US10042586B2 (en) Managing operational state data in memory module
JP5907255B2 (ja) Lsb及びmsbページにおける選択的データ記憶
US9817755B2 (en) Garbage collection management in memories
US9852061B2 (en) Memory device and operating method of memory device
JP6355650B2 (ja) 不揮発性記憶デバイスのためのメモリーのリアドレシング
US20100217920A1 (en) Memory system and address allocating method of flash translation layer thereof
US11392309B2 (en) Memory system for performing migration operation and operating method thereof
US11899580B2 (en) Cache space management method and apparatus
KR20150055413A (ko) 데이터 저장 장치
US20220269609A1 (en) Apparatus and method for improving input/output throughput of memory system
EP1688922A2 (en) Method and system of erasing a data pool residing over multiple data storage drives
KR20200115831A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20150041873A (ko) 데이터 처리 시스템
US11409444B2 (en) Memory system and operation method thereof
KR20230081505A (ko) 메모리 컨트롤러 및 그의 동작 방법
US20220156003A1 (en) Controller and operation method thereof
KR20200114354A (ko) 메모리 시스템 및 그것의 동작 방법
KR20220072357A (ko) 컨트롤러, 및 이를 포함하는 메모리 시스템 및 데이터 처리 시스템
KR20210008604A (ko) 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법
KR20200121621A (ko) 메모리 시스템 내 복수의 메모리 블록의 특성을 결정하는 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130603

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140424

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140523

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140523

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140625

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140625

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140723

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150323

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150323

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150603

R150 Certificate of patent or registration of utility model

Ref document number: 5758386

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250