JP5302892B2 - ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 - Google Patents
ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 Download PDFInfo
- Publication number
- JP5302892B2 JP5302892B2 JP2009535301A JP2009535301A JP5302892B2 JP 5302892 B2 JP5302892 B2 JP 5302892B2 JP 2009535301 A JP2009535301 A JP 2009535301A JP 2009535301 A JP2009535301 A JP 2009535301A JP 5302892 B2 JP5302892 B2 JP 5302892B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- parity
- disk
- block
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 title claims description 20
- 238000004590 computer program Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 24
- 238000005457 optimization Methods 0.000 description 20
- 230000008859 change Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 229920006253 high performance fiber Polymers 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1052—RAID padding, i.e. completing a redundancy group with dummy data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1054—Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
上記のように、図2に示すようなストレージサーバでは、特定の幾つかの読み出し処理を省略するメカニズムを実施することがある。図2は、複数のクライアント210、ストレージサーバ200、及びディスクサブシステム240を含むネットワーク環境を示している。ストレージサーバ200は、クライアント210の代わりに、ディスク型、又はテープ型の磁気ストレージ、又は光学ストレージのような一組の大容量記憶装置に共有ファイルを記憶し、管理する働きをする。前述のように、ストレージサーバ200は、クライアント210に対し、記憶されたデータに対するブロックレベルアクセス(ファイルレベルアクセスではなく)を提供する装置であることもあれば、ブロックレベルアクセスとファイルレベルアクセスの両方をクライアントに提供する装置であることもある。図2に記載のストレージサーバ200は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、又はインターネットのような接続システム230を介して、一組のクライアント210にローカル接続される。接続システム230は、イーサネット(R)ネットワークとして実施される場合もあれば、ファイバ・チャネル(FC)ネットワークとして実施される場合もある。各クライアント210は、TCP/IPのような所定のプロトコルに従って個々のデータフレーム、又はデータパケットをやりとりすることにより、接続システム230を介してストレージサーバ200と通信することができる。
図4は、ストレージサーバ200のストレージオペレーティングシステム324の一例を示す。一実施形態として、ストレージオペレーティングシステム324は、カリフォルニア州サニーベイルにあるネットワーク・アプライアンス・インコーポレイテッドから入手可能なNetApp Data ONTAPストレージオペレーティングシステムであってもよい。このストレージオペレーティングシステムは、Write Anywhere File Layout(WAFL)ファイルシステムを実施する。ただし、当然ながら、本明細書に記載する原理に従って任意の適当なストレージシステムを使用することが可能である。本明細書では、「ストレージオペレーティングシステム」という用語は一般に、データアクセスを管理するストレージ機能を実施するために、コンピュータ上で実行されるコンピュータ実行可能コードを意味する。なお、ストレージオペレーティングシステム324は、マイクロカーネルとして実施しても、UNIXやWindows NTのような汎用オペレーティングシステム上で動作するアプリケーションプログラムとして実施してもよく、あるいは、本明細書の記載に従ってストレージアプリケーションのために構成された変更可能な機能を有する汎用ストレージオペレーティングシステムとして実施してもよい。
例示的実施形態における下記の説明を分かりやすくするために、物理データブロックに変更が加えられたときは常に、新たなデータが、ディスク250上の新たな物理的位置に書き込まれるものと仮定する。本明細書では、この性質を「アウト・オブ・プレイス書き込み」と呼ぶ。
図1Aを再び参照すると、ストレージサーバ200へ送信され、記憶されるデータは、例えば4キロバイトのような固定サイズの複数のブロック(例えば、D0からDn)に分割され、それらが、複数のディスクにわたる一、又は複数のストライプに記憶される場合がある。行パリティは、例えば、ストライプ中のデータ(例えば、D0からDn)の排他的論理和(XOR)として計算され、ディスクD上の保護ブロックに記憶される。第1のストライプ、ストライプIの行パリティは、D0、D1、及びD2のXOR演算の結果として得られ、それらのブロックから、行パリティブロックP(0−2)の値が生成される。D0を変更する要求をストレージサーバ200が受信したものと仮定する。その場合、ストレージサーバ200は、その要求を解読し、要求をファイルシステム430に渡す。ファイルシステム430は、データが書き込まれる場所の論理ブロック番号を識別し、データを特定ディスク(例えば、ディスクA)上の論理ブロック番号の位置に書き込むための要求をRAIDコントローラモジュール436へ送信する。RAIDコントローラモジュール436は、減算によるパリティ書き込み方法を使用して、あるデータブロックに、例えばD0を記憶しているデータブロックに新たなデータを書き込む。その目的のために、RAIDコントローラモジュール436は、読み出しコマンドをディスクAへ送信し、D0を記憶しているデータブロックからデータを読み出す。モジュール436はさらに、読み出しコマンドをディスクDにも送信し、P(0−2)を記憶しているパリティブロックからデータを読み出す。
再計算によるパリティ書き込み方法が、例えば、D0、及びD1を記憶しているデータブロックのような、2以上のデータブロックへの新たなデータの書き込みに使用されるものと仮定する。再計算によりパリティ書き込みを使用して新たなデータを書き込む従来のメカニズムを使用した場合、下記のステップが、RAIDコントローラモジュール436によって実施される場合がある。すなわち、新たなデータが書き込まれるデータブロック(D0、D1)以外のデータブロック、例えばD2からデータを読み出すステップ、(D2と新たなデータの)XOR演算を実施することにより新たな行パリティを計算するステップ、新たなデータを書き込むステップ、及び新たな行パリティをパリティブロックに書き込むステップである。
本発明のRAID最適化技術は、二重パリティ保護方式にも適用可能である。二重パリティ保護方式については、Peter F.Corbett他による「ROW-DIAGONAL PARITY TECHNIQUE FOR ENABLING EFFICIENT RECOVERY FRO DOUBLE FAILURES IN A STORAGE ARRAY」と題する米国特許出願第10/035,607号に記載されており、この特許出願の開示は全て、参照により、本明細書に援用される。
ディスク1上のデータを読み出すステップ;
行パリティを読み出すステップ;
対角パリティを読み出すステップ;
ディスク0に記憶されたデータ、行パリティ、及び新たなデータのXOR演算を実施することにより、新たな行パリティを計算するステップ;
D0に記憶されたデータ、対角パリティ、及び新たなデータのXOR演算を実施することにより、新たな対角パリティを計算するステップ;
新たなデータをディスク1に書き込むステップ;
新たな行パリティをディスク0に書き込むステップ;及び
新たな対角パリティをディスク5に書き込むステップである。
1.書き込むべき最初のデータブロックを、行パリティ用のメモリブロックにコピーし;
2.書き込むべき最初のデータブロックを、対角パリティ用のメモリブロックにコピーし;
3.新たなデータに基いて行パリティを計算し;
4.新たなデータに基いて対角パリティを計算し;
5.データを物理データブロックに書き込み;
6.ステップ3の結果を行パリティディスクにXPWriteし;
7.ステップ4の結果を対角パリティディスクにXPWriteする。
対角パリティセットの数=p−1
ディスク数=p+1
i=ディスク番号0...n
k=対角パリティセット0...m
For(k=0;k<対角セット数;k++)
{
対角ストライプブロックのオフセットを得る。ただし、オフセットは、メモリの先頭から始まるブロックのアドレスを示す;
(ディスク番号+k)%p=オフセット。ただし%は、モジューロ((ディスク数+k)とpの除算の余り)である;
if(オフセット==(p−1))
then skip
else
対角ストライプブロックを対角パリティ用メモリブロックに記憶されたデータのオフセットに対してXOR演算
}
If 2以上のディスクを書き込み
{
For(x=1;x<書き込まれるディスクの数;x++)
{
書き込むべきデータブロックを行パリティ用メモリブロックにXOR演算する
For(k=0;k<対角セット数;k++)
対角ストライプブロックのオフセットを得る
(ディスク番号+k)%p=オフセット
if(オフセット==(p−1))
then skip
else
対角ストライプブロックを対角パリティメモリのオフセットとXOR演算
}
}
行パリティ用ブロックに記憶された結果を、対角パリティ用メモリの中にXOR演算
}。
2.ディスク2の第1のブロックについて、対角ストライプブロック番号を見つける:(2+0)%5=2。第1のブロックを、対角ストライプブロック2に対して適当なオフセットにある対角パリティにXOR演算する。(2XOR4=6)
3.ディスク2における第2のブロックについて対角ストライプブロック番号を見つける:(2+1)%5=3;
第2のストライプブロックを、メモリ322の対角パリティ用ブロックの対角ストライプブロック3に関する適当なオフセットにあるブロックにXOR演算する。(3XOR5=6)
4.ディスク2の第3のブロックについて、対角ストライプブロック番号を見つける:(2+2)%5=4。対角ストライプブロック4は、対角パリティに属しない。従って、対角ストライプブロック4は、欠落した対角であり、対角パリティを記憶する目的に使用されない;
5.ディスク2の第4のブロックについて、対角ストライプブロック番号を見つける:(2+3)%5=0
第4のストライプブロックを、対角パリティ用メモリ322の対角ストライプブロック0に対する適当なオフセットにXOR演算する。(5XOR2=7)。
これまでのところ、ストレージサーバ200の動作は、通常動作、例えば、クライアント210からのI/Oアクセス要求に対し、ストレージサーバ200が応答するときに、ディスク250からのデータの読み出しや、ディスク250へのデータの書き込みが可能である場合を例として説明してきた。一、又は複数のディスクが故障した状況において、ストレージサーバ200は、劣化モードで動作する。新たなデータが、故障したディスクに書き込まれるとき、データ自体は、ディスクに書き込まれないが、パリティは、新たなデータを含むように計算される。その目的のために、RAIDコントローラモジュール436は、ストライプ中のアレイにおける他の全てのディスクからデータを読み出し、読み出したデータを新たなデータとXOR演算してパリティを求め、ストライプ中のパリティブロックをその新たなパリティで更新する。下記の例は、劣化モードにおけるストレージサーバ200の動作を示す。
ストライプ0におけるデータが書き込まれるディスク(ディスクA)以外のディスク(ディスクB、及びディスクC)からデータを読み出すステップ;
ディスクB上のデータ、ディスクC上のデータ、及び新たなデータに対するXORを計算することにより、ストライプ0についての新たな行パリティを求めるステップ;及び
新たな行パリティを行パリティブロックP(0−2)に書き込むステップである。
ディスク上のメディアエラーは、そのディスクから特定ブロック、又は複数のブロックからデータを読み出すことが出来ないときに発生する。次に、表2を参照すると、表2は、物理データブロックを記憶するディスクのアレイを示している。この例には、一つのストライプ(ストライプ0)しか描かれていない。データは、ディスク1〜ディスク4に記憶される。ディスク0は、行パリティを記憶する。
ディスク1、ディスク3、及びディスク4に記憶されている、ストライプ0に関するデータを読み出すステップ;
ディスク0から、ストライプ0に関する行パリティを読み出すステップ;
ディスク1、ディスク3、及びディスク4に記憶されている、ストライプ0に関するデータをXOR演算するステップ;及び
上記ステップの結果をストライプ0の行パリティとXOR演算するステップである。
ディスク3、及びディスク4上のストライプ0に関するデータを読み出すステップ;
ストライプ0の行パリティを読み出すステップ;
ディスク3、及びディスク4上のストライプ0に関するデータをXOR演算するステップ;及び
上記ステップの結果を、ストライプ0の行パリティとXOR演算するステップである。
上記の実施形態は、例えば、新たなデータをディスク上の新たな物理的場所に書き込むような、変更の加えられたデータをディスク上の「別の場所に」書き込むファイルシステム430を例として説明されている。本発明の他の実施形態によれば、ファイルシステム430は、「ライト・イン・プレイス」(WIPL)メカニズムを使用して、データを書き込む場合がある。WIPLでは、新たなデータの書き込み要求に応答し、ファイルシステム430は、そのデータをディスクに書き込むためのコマンドをRAIDコントローラモジュール436へ送信する。これに応答し、RAIDコントローラモジュール436は、ディスクから古いデータをメモリ324に読み込み、スナップショット機能を提供するために、その古いデータをディスク上のどこかに書き込む。ファイルシステム430は、その古いデータが記憶されたメモリ324上のアドレスへのポインタを生成し、その古いデータを何時でもアクセスできるようにする。
新たなデータを書きまれる場所にあるデータブロックからデータ(例えば、ディスク1に記憶されたデータ)を読み出すステップ;
行パリティを読み出すステップ;
ディスク1に記憶されたデータ、行パリティ、及び新たなデータに対するXORを計算することにより、新たな行パリティを求めるステップ;
新たなデータをディスク1に書き込むステップ;及び
新たな行パリティを行パリティディスクに書き込むステップである。
モジュール436が、新たなデータを、メモリ324に記憶された古いデータとXOR演算するステップ;
モジュール436が、新たなデータをディスク1に書き込むステップ;及び
モジュール440が、物理データブロックに変更が加えられたストライプに関するパリティを記憶しているディスク(すなわち、ディスク0)に対し、XPWriteコマンドを発行するステップである。
モジュール260が、古いパリティをディスクメモリ270に読み出すステップ;
モジュール260が、ストレージドライバモジュール435から、古いデータと新たなデータのXOR演算の結果を受信するステップ;
モジュール260が、先のステップにおけるXOR演算の結果を、古いパリティとXOR演算するステップ;及び
モジュール260が、そのXOR演算の結果を、ディスク0上の、コマンド中に示されたパリティブロックに書き込むステップである。
Claims (2)
- 複数の記憶装置を備え、そのうちの第2の記憶装置に故障があるシステムにおいて、メディアエラーを有する第1の記憶装置に記憶されたデータを復旧する方法であって、前記データが、前記複数の記憶装置にわたるストライプの一部であり、前記ストライプが、第3の記憶装置に記憶された行パリティデータを含むものにおいて、
ゼロ化モジュールによって、複数の記憶装置における空きの物理データブロックをゼロ値とみなすためのコマンドを発行し、故障を有する前記第2の記憶装置が、ゼロ値を記憶するようにするステップと、
ストレージモジュールによって、前記コマンドにより特定される空きの物理データブロックをゼロ値を有するものとみなすことにより、前記ゼロ化コマンドを実行するステップと、
メディアエラーを有する前記第1の記憶装置に記憶されているデータを読み出すための要求をクライアントから受信するステップと、
ゼロ値を有するものとみなされない前記記憶装置からの前記ストライプについてのデータ、及び前記ストライプについての前記行パリティデータを処理することによって、前記故障を有する前記第2の記憶装置からデータを読み出すことなく、メディアエラーを有する前記第1の記憶装置からデータを復旧するステップと
を含み、
前記ゼロ化コマンドを発行するステップ、及び前記ゼロ化コマンドを実行するステップは、前記クライアントからのアクセス要求が少ないと予想される空き時間に実施される方法。 - 前記メディアエラーを有する前記第1の記憶装置からデータを復旧するステップは、
メディアエラーを有する前記第1の記憶装置以外の記憶装置、及び前記故障を有する前記第2の記憶装置からデータを読み出すステップと、
メディアエラーを有する前記第1の記憶装置に記憶されたデータに関連する前記行パリティデータを読み出すステップと、
前記記憶装置から読み出されたデータ、及び前記行パリティデータに対し、排他的論理和演算を実施するステップと
をさらに含む、請求項1に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/590,446 US7822921B2 (en) | 2006-10-31 | 2006-10-31 | System and method for optimizing write operations in storage systems |
US11/590,446 | 2006-10-31 | ||
PCT/US2007/022962 WO2008054760A2 (en) | 2006-10-31 | 2007-10-31 | System and method for optimizing write operations storage systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010508604A JP2010508604A (ja) | 2010-03-18 |
JP5302892B2 true JP5302892B2 (ja) | 2013-10-02 |
Family
ID=39332103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009535301A Expired - Fee Related JP5302892B2 (ja) | 2006-10-31 | 2007-10-31 | ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7822921B2 (ja) |
EP (1) | EP2097806A2 (ja) |
JP (1) | JP5302892B2 (ja) |
WO (1) | WO2008054760A2 (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
JP2008146574A (ja) | 2006-12-13 | 2008-06-26 | Hitachi Ltd | 記憶制御装置及び記憶制御方法 |
US9632870B2 (en) * | 2007-03-29 | 2017-04-25 | Violin Memory, Inc. | Memory system with multiple striping of raid groups and method for performing the same |
US11010076B2 (en) | 2007-03-29 | 2021-05-18 | Violin Systems Llc | Memory system with multiple striping of raid groups and method for performing the same |
US8209587B1 (en) | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US8370715B2 (en) * | 2007-04-12 | 2013-02-05 | International Business Machines Corporation | Error checking addressable blocks in storage |
US20090204846A1 (en) * | 2008-02-12 | 2009-08-13 | Doug Baloun | Automated Full Stripe Operations in a Redundant Array of Disk Drives |
US8510370B2 (en) * | 2008-02-26 | 2013-08-13 | Avid Technology, Inc. | Array-based distributed storage system with parity |
JP4762289B2 (ja) | 2008-10-01 | 2011-08-31 | 株式会社日立製作所 | 特定パターンデータが格納される仮想ボリュームへの記憶領域の割り当てを制御するストレージシステム |
US8943357B2 (en) * | 2008-10-27 | 2015-01-27 | Kaminario Technologies Ltd. | System and methods for RAID writing and asynchronous parity computation |
US8516215B2 (en) * | 2009-04-23 | 2013-08-20 | Hitachi, Ltd. | Computing system having a controller for controlling allocation of a storage area of a logical volume in a pool to a virtual volume and controlling methods for the same |
WO2010144587A2 (en) | 2009-06-12 | 2010-12-16 | Violin Memory, Inc. | Memory system having persistent garbage collection |
EP3696676B1 (en) * | 2009-10-09 | 2023-12-06 | Violin Systems LLC | Memory system with multiple striping of raid groups and method for performing the same |
US20110202722A1 (en) * | 2010-01-19 | 2011-08-18 | Infinidat Ltd. | Mass Storage System and Method of Operating Thereof |
US8156368B2 (en) | 2010-02-22 | 2012-04-10 | International Business Machines Corporation | Rebuilding lost data in a distributed redundancy data storage system |
US8103904B2 (en) | 2010-02-22 | 2012-01-24 | International Business Machines Corporation | Read-other protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US8103903B2 (en) * | 2010-02-22 | 2012-01-24 | International Business Machines Corporation | Read-modify-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US8583866B2 (en) | 2010-02-22 | 2013-11-12 | International Business Machines Corporation | Full-stripe-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US8850113B2 (en) * | 2010-02-27 | 2014-09-30 | Cleversafe, Inc. | Data migration between a raid memory and a dispersed storage network memory |
US8473567B2 (en) * | 2010-03-29 | 2013-06-25 | Intel Corporation | Generating a packet including multiple operation codes |
US9507670B2 (en) * | 2010-06-14 | 2016-11-29 | Veeam Software Ag | Selective processing of file system objects for image level backups |
US9244769B2 (en) * | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US20120198195A1 (en) * | 2011-02-02 | 2012-08-02 | Hewlett-Packard Development Company, L.P. | Data storage system and method |
US8996461B1 (en) * | 2011-03-28 | 2015-03-31 | Emc Corporation | Method and apparatus for replicating the punch command |
US20120278527A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on hybrid raid storage |
US9176670B2 (en) * | 2011-04-26 | 2015-11-03 | Taejin Info Tech Co., Ltd. | System architecture based on asymmetric raid storage |
US20120278550A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on raid controller collaboration |
US8456972B2 (en) * | 2011-09-12 | 2013-06-04 | Microsoft Corporation | Efficient access to storage devices with usage bitmaps |
CN104040515B (zh) | 2011-09-30 | 2018-05-11 | 英特尔公司 | 在逻辑驱动器模型下呈现直接存取的存储设备 |
US9063939B2 (en) * | 2011-11-03 | 2015-06-23 | Zettaset, Inc. | Distributed storage medium management for heterogeneous storage media in high availability clusters |
JP5923964B2 (ja) * | 2011-12-13 | 2016-05-25 | 富士通株式会社 | ディスクアレイ装置、制御装置、およびプログラム |
US8327185B1 (en) | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
US9571356B2 (en) | 2013-09-27 | 2017-02-14 | Zettaset, Inc. | Capturing data packets from external networks into high availability clusters while maintaining high availability of popular data packets |
JP6427913B2 (ja) * | 2014-03-28 | 2018-11-28 | 日本電気株式会社 | ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム |
US10237347B2 (en) | 2015-06-08 | 2019-03-19 | Excelero Storage Ltd. | System and method for providing a client device seamless access to a plurality of remote storage devices presented as a virtual device |
US10565054B2 (en) * | 2016-08-29 | 2020-02-18 | Excelero Storage Ltd. | System and method for reducing bandwidth consumption of a client device accessing a remote storage device |
US9658782B2 (en) | 2014-07-30 | 2017-05-23 | Excelero Storage Ltd. | Scalable data using RDMA and MMIO |
US10936200B2 (en) | 2014-07-30 | 2021-03-02 | Excelero Storage Ltd. | System and method for improved RDMA techniques for multi-host network interface controllers |
US10979503B2 (en) | 2014-07-30 | 2021-04-13 | Excelero Storage Ltd. | System and method for improved storage access in multi core system |
US10176039B2 (en) * | 2014-09-19 | 2019-01-08 | Micron Technology, Inc. | Self-accumulating exclusive OR program |
US20160098211A1 (en) * | 2014-10-03 | 2016-04-07 | HGST Netherlands B.V. | Implementing enhanced phase change memory (pcm) read latency through coding |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
US10157012B2 (en) | 2015-09-29 | 2018-12-18 | Sandisk Technologies Llc | Zero read on trimmed blocks in a non-volatile memory system |
US10063261B1 (en) * | 2015-10-13 | 2018-08-28 | Sorenson Ip Holdings Llc | Communication endpoints and related methods for forward error correction of packetized data |
US10127113B1 (en) | 2016-03-31 | 2018-11-13 | EMC IP Holding Company LLC | Method and system for checkerboard RAID |
US10297274B2 (en) * | 2016-06-01 | 2019-05-21 | Spectra Logic, Corp. | Shingled magnetic recording raid scheme |
US10289491B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance |
US10466930B2 (en) | 2017-04-28 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for fast ordered writes with atomic multicast |
US10614019B2 (en) | 2017-04-28 | 2020-04-07 | EMC IP Holding Company LLC | Method and system for fast ordered writes with target collaboration |
US10339062B2 (en) | 2017-04-28 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for writing data to and read data from persistent storage |
US10564856B2 (en) * | 2017-07-06 | 2020-02-18 | Alibaba Group Holding Limited | Method and system for mitigating write amplification in a phase change memory-based storage device |
US10585749B2 (en) * | 2017-08-10 | 2020-03-10 | Samsung Electronics Co., Ltd. | System and method for distributed erasure coding |
US10379950B2 (en) * | 2017-11-30 | 2019-08-13 | Western Digital Technologies, Inc. | Updating write-in-place storage devices |
CN109976663B (zh) * | 2017-12-27 | 2021-12-28 | 浙江宇视科技有限公司 | 分布式存储响应方法和系统 |
US11029869B1 (en) * | 2018-02-05 | 2021-06-08 | Virtuozzo International Gmbh | System and method for multiqueued access to cloud storage |
Family Cites Families (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3876978A (en) | 1973-06-04 | 1975-04-08 | Ibm | Archival data protection |
US4092732A (en) | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
US4201976A (en) | 1977-12-23 | 1980-05-06 | International Business Machines Corporation | Plural channel error correcting methods and means using adaptive reallocation of redundant channels among groups of channels |
US4205324A (en) | 1977-12-23 | 1980-05-27 | International Business Machines Corporation | Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers |
JPS5637883A (en) | 1979-09-04 | 1981-04-11 | Fanuc Ltd | Information rewrite system |
US4467421A (en) | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
US4375100A (en) | 1979-10-24 | 1983-02-22 | Matsushita Electric Industrial Company, Limited | Method and apparatus for encoding low redundancy check words from source data |
US4547882A (en) | 1983-03-01 | 1985-10-15 | The Board Of Trustees Of The Leland Stanford Jr. University | Error detecting and correcting memories |
US4825403A (en) | 1983-05-16 | 1989-04-25 | Data General Corporation | Apparatus guaranteeing that a controller in a disk drive system receives at least some data from an invalid track sector |
JPS60142418A (ja) | 1983-12-28 | 1985-07-27 | Hitachi Ltd | 入出力エラ−回復方式 |
FR2561428B1 (fr) | 1984-03-16 | 1986-09-12 | Bull Sa | Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques |
US4667326A (en) | 1984-12-20 | 1987-05-19 | Advanced Micro Devices, Inc. | Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives |
US5202979A (en) | 1985-05-08 | 1993-04-13 | Thinking Machines Corporation | Storage system using multiple independently mechanically-driven storage units |
US4722085A (en) | 1986-02-03 | 1988-01-26 | Unisys Corp. | High capacity disk storage system having unusually high fault tolerance level and bandpass |
JPH0675329B2 (ja) | 1986-02-18 | 1994-09-21 | ソニー株式会社 | ディスクプレーヤ |
US4761785B1 (en) | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
USRE34100E (en) | 1987-01-12 | 1992-10-13 | Seagate Technology, Inc. | Data error correction system |
US4775978A (en) | 1987-01-12 | 1988-10-04 | Magnetic Peripherals Inc. | Data error correction system |
US4796260A (en) | 1987-03-30 | 1989-01-03 | Scs Telecom, Inc. | Schilling-Manela forward error correction and detection code method and apparatus |
US5257367A (en) | 1987-06-02 | 1993-10-26 | Cab-Tek, Inc. | Data storage system with asynchronous host operating system communication link |
US4849974A (en) | 1987-08-03 | 1989-07-18 | Scs Telecom, Inc. | PASM and TASM forward error correction and detection code method and apparatus |
US4849976A (en) | 1987-08-03 | 1989-07-18 | Scs Telecom, Inc. | PASM and TASM forward error correction and detection code method and apparatus |
US4837680A (en) | 1987-08-28 | 1989-06-06 | International Business Machines Corporation | Controlling asynchronously operating peripherals |
US4870643A (en) | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US4847842A (en) | 1987-11-19 | 1989-07-11 | Scs Telecom, Inc. | SM codec method and apparatus |
US4899342A (en) | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
US5077736A (en) | 1988-06-28 | 1991-12-31 | Storage Technology Corporation | Disk drive memory |
US4989206A (en) | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US4989205A (en) | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5128810A (en) | 1988-08-02 | 1992-07-07 | Cray Research, Inc. | Single disk emulation interface for an array of synchronous spindle disk drives |
US5218689A (en) | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
US5148432A (en) | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5101492A (en) | 1989-11-03 | 1992-03-31 | Compaq Computer Corporation | Data redundancy and recovery protection |
US5233618A (en) | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
US5088081A (en) | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
US5210860A (en) | 1990-07-20 | 1993-05-11 | Compaq Computer Corporation | Intelligent disk array controller |
US5166936A (en) | 1990-07-20 | 1992-11-24 | Compaq Computer Corporation | Automatic hard disk bad sector remapping |
US5375128A (en) | 1990-10-18 | 1994-12-20 | Ibm Corporation (International Business Machines Corporation) | Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders |
US5208813A (en) | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5235601A (en) | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
US5274799A (en) | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
US5271012A (en) | 1991-02-11 | 1993-12-14 | International Business Machines Corporation | Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs |
US5579475A (en) | 1991-02-11 | 1996-11-26 | International Business Machines Corporation | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity |
US5179704A (en) | 1991-03-13 | 1993-01-12 | Ncr Corporation | Method and apparatus for generating disk array interrupt signals |
EP0519669A3 (en) | 1991-06-21 | 1994-07-06 | Ibm | Encoding and rebuilding data for a dasd array |
US5237658A (en) | 1991-10-01 | 1993-08-17 | Tandem Computers Incorporated | Linear and orthogonal expansion of array storage in multiprocessor computing systems |
US5305326A (en) | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
US5410667A (en) | 1992-04-17 | 1995-04-25 | Storage Technology Corporation | Data record copy system for a disk drive array data storage subsystem |
US5479633A (en) * | 1992-10-30 | 1995-12-26 | Intel Corporation | Method of controlling clean-up of a solid state memory disk storing floating sector data |
US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
JP3751018B2 (ja) | 1993-06-03 | 2006-03-01 | ネットワーク・アプライアンス・インコーポレイテッド | ライトエニウエアファイルシステムレイアウト |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
EP0701716B1 (en) | 1993-06-03 | 2002-08-14 | Network Appliance, Inc. | Method and file system for allocating blocks of files to storage space in a RAID disk system |
EP0701715A4 (en) | 1993-06-04 | 1999-11-17 | Network Appliance Corp | METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY |
US5537567A (en) | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
US5623595A (en) | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
US5657468A (en) | 1995-08-17 | 1997-08-12 | Ambex Technologies, Inc. | Method and apparatus for improving performance in a reduntant array of independent disks |
US5812753A (en) | 1995-10-13 | 1998-09-22 | Eccs, Inc. | Method for initializing or reconstructing data consistency within an array of storage elements |
JPH09128165A (ja) * | 1995-10-27 | 1997-05-16 | Toshiba Corp | 固体記録再生装置 |
US5862158A (en) | 1995-11-08 | 1999-01-19 | International Business Machines Corporation | Efficient method for providing fault tolerance against double device failures in multiple device systems |
US5742752A (en) | 1995-12-29 | 1998-04-21 | Symbios Logic Inc. | Method for performing a RAID stripe write operation using a drive XOR command set |
US5884098A (en) | 1996-04-18 | 1999-03-16 | Emc Corporation | RAID controller system utilizing front end and back end caching systems including communication path connecting two caching systems and synchronizing allocation of blocks in caching systems |
US5805788A (en) | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
JPH1069420A (ja) * | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
US5950225A (en) | 1997-02-28 | 1999-09-07 | Network Appliance, Inc. | Fly-by XOR for generating parity for data gleaned from a bus |
KR100267366B1 (en) | 1997-07-15 | 2000-10-16 | Samsung Electronics Co Ltd | Method for recoding parity and restoring data of failed disks in an external storage subsystem and apparatus therefor |
US6092215A (en) | 1997-09-29 | 2000-07-18 | International Business Machines Corporation | System and method for reconstructing data in a storage array system |
JP3616487B2 (ja) | 1997-11-21 | 2005-02-02 | アルプス電気株式会社 | ディスクアレイ装置 |
US6138125A (en) | 1998-03-31 | 2000-10-24 | Lsi Logic Corporation | Block coding method and system for failure recovery in disk arrays |
US6138201A (en) | 1998-04-15 | 2000-10-24 | Sony Corporation | Redundant array of inexpensive tape drives using data compression and data allocation ratios |
JPH11312057A (ja) * | 1998-04-28 | 1999-11-09 | Nec Corp | 制御情報記録手段を有する磁気ディスク装置 |
US6247157B1 (en) | 1998-05-13 | 2001-06-12 | Intel Corporation | Method of encoding data signals for storage |
US6557123B1 (en) | 1999-08-02 | 2003-04-29 | Inostor Corporation | Data redundancy methods and apparatus |
US6742137B1 (en) | 1999-08-17 | 2004-05-25 | Adaptec, Inc. | Object oriented fault tolerance |
US6532548B1 (en) | 1999-09-21 | 2003-03-11 | Storage Technology Corporation | System and method for handling temporary errors on a redundant array of independent tapes (RAIT) |
US6581185B1 (en) | 2000-01-24 | 2003-06-17 | Storage Technology Corporation | Apparatus and method for reconstructing data using cross-parity stripes on storage media |
US6779095B2 (en) | 2000-06-19 | 2004-08-17 | Storage Technology Corporation | Apparatus and method for instant copy of data using pointers to new and original data in a data location |
US6715059B2 (en) * | 2000-07-26 | 2004-03-30 | Tas Holdings, Inc. | Methods and systems for a shared memory unit with extendable functions |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6671772B1 (en) | 2000-09-20 | 2003-12-30 | Robert E. Cousins | Hierarchical file system structure for enhancing disk transfer efficiency |
US6745284B1 (en) | 2000-10-02 | 2004-06-01 | Sun Microsystems, Inc. | Data storage subsystem including a storage disk array employing dynamic data striping |
US20020124137A1 (en) | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
US6571326B2 (en) | 2001-03-08 | 2003-05-27 | Intel Corporation | Space allocation for data in a nonvolatile memory |
US7073115B2 (en) | 2001-12-28 | 2006-07-04 | Network Appliance, Inc. | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups |
US6993701B2 (en) | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US7024586B2 (en) | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7328305B2 (en) | 2003-11-03 | 2008-02-05 | Network Appliance, Inc. | Dynamic parity distribution technique |
US7263629B2 (en) * | 2003-11-24 | 2007-08-28 | Network Appliance, Inc. | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array |
US7318190B2 (en) * | 2004-06-10 | 2008-01-08 | Intel Corporation | Storage device parity computation |
JP2006134196A (ja) * | 2004-11-09 | 2006-05-25 | Hitachi Ltd | ディスクアレイ装置 |
US20060195657A1 (en) * | 2005-02-28 | 2006-08-31 | Infrant Technologies, Inc. | Expandable RAID method and device |
-
2006
- 2006-10-31 US US11/590,446 patent/US7822921B2/en active Active
-
2007
- 2007-10-31 WO PCT/US2007/022962 patent/WO2008054760A2/en active Application Filing
- 2007-10-31 EP EP07839870A patent/EP2097806A2/en not_active Withdrawn
- 2007-10-31 JP JP2009535301A patent/JP5302892B2/ja not_active Expired - Fee Related
-
2010
- 2010-09-21 US US12/886,746 patent/US8156282B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2097806A2 (en) | 2009-09-09 |
WO2008054760A3 (en) | 2009-09-24 |
US8156282B1 (en) | 2012-04-10 |
JP2010508604A (ja) | 2010-03-18 |
WO2008054760A2 (en) | 2008-05-08 |
US7822921B2 (en) | 2010-10-26 |
US20080109616A1 (en) | 2008-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5302892B2 (ja) | ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 | |
US7647526B1 (en) | Reducing reconstruct input/output operations in storage systems | |
US8209587B1 (en) | System and method for eliminating zeroing of disk drives in RAID arrays | |
US8583984B2 (en) | Method and apparatus for increasing data reliability for raid operations | |
JP5102776B2 (ja) | ストレージアレイにおける三重故障からの効率的な復旧を可能にする三重パリティ技術 | |
US8386838B1 (en) | High-availability of a storage system in a hierarchical virtual server environment | |
JP5124792B2 (ja) | RAID(RedundantArrayofIndependentDisks)システム用のファイルサーバ | |
US8839028B1 (en) | Managing data availability in storage systems | |
US8209595B2 (en) | Storage sub-system and method for controlling the same | |
KR101758544B1 (ko) | 비휘발성 메모리 시스템에서의 동기 미러링 | |
JP6228347B2 (ja) | ストレージ装置及び記憶デバイス | |
US10691339B2 (en) | Methods for reducing initialization duration and performance impact during configuration of storage drives | |
US20050144382A1 (en) | Method, system, and program for managing data organization | |
US20030084397A1 (en) | Apparatus and method for a distributed raid | |
US8327250B1 (en) | Data integrity and parity consistency verification | |
TWI451257B (zh) | 保護在直接附加儲存(das)系統中快取資料的完整性之裝置及方法 | |
US11301324B2 (en) | Method and apparatus for consistent and highly available data storage using local and fabric attached non-volatile memory storage devices | |
US8006127B2 (en) | File server for redundant array of independent disks (RAID) system | |
US7240237B2 (en) | Method and system for high bandwidth fault tolerance in a storage subsystem | |
US6976146B1 (en) | System and method for emulating block appended checksums on storage devices by sector stealing | |
US20210271393A1 (en) | Method and apparatus for performing data access management of all flash array server | |
US11481335B2 (en) | Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof | |
US11868612B1 (en) | Managing storage operations in storage systems | |
JPH10269695A (ja) | コンピュータシステムにおける記憶装置の制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120208 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120507 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121019 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130513 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130621 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |