JP6209926B2 - ストレージ制御装置、およびストレージ装置の制御プログラム - Google Patents

ストレージ制御装置、およびストレージ装置の制御プログラム Download PDF

Info

Publication number
JP6209926B2
JP6209926B2 JP2013212043A JP2013212043A JP6209926B2 JP 6209926 B2 JP6209926 B2 JP 6209926B2 JP 2013212043 A JP2013212043 A JP 2013212043A JP 2013212043 A JP2013212043 A JP 2013212043A JP 6209926 B2 JP6209926 B2 JP 6209926B2
Authority
JP
Japan
Prior art keywords
ssd
writable
data
storage medium
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013212043A
Other languages
English (en)
Other versions
JP2015075940A (ja
Inventor
吉成 大野
吉成 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013212043A priority Critical patent/JP6209926B2/ja
Priority to US14/480,693 priority patent/US9841928B2/en
Publication of JP2015075940A publication Critical patent/JP2015075940A/ja
Application granted granted Critical
Publication of JP6209926B2 publication Critical patent/JP6209926B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ制御装置、およびストレージ装置の制御プログラムに関する。
複数の情報処理端末によってデータ処理をおこなう場合、データの保全と管理の効率化を図るために、ファイルサーバ(ストレージ装置)がデータを集中管理することがおこなわれている。ファイルサーバは、たとえば、NAS(Network Attached Storage)装置がある。
NAS装置は、RAID(Redundant Array Inexpensive(Independent) Disks)などにより、多数の記憶媒体をまとめて管理し、データの信頼性の向上と、大容量の記憶領域の提供を実現する。NAS装置は、記憶媒体として、ハードディスク(HDD:Hard Disk Drive)や、半導体メモリであるSSD(Solid State Drive:フラッシュメモリドライブ)などを用いることができる。SSDは、HDDと比較して高速なアクセス性能を有し、特にランダムリード性能に優れる。また、SSDは、低消費電力、低発熱性、高耐衝撃性を有するものの、HDDと比較して容量当たりの価格が高価であり、ライト(書込)可能回数に制限があるなどのデメリットを有する。
NAS装置は、RAID(たとえば、RAID4、RAID5)を構成するSSDにライト可能回数を超える使用により故障が発生しても、パリティデータからデータを保証できる。
特開平10−269032号公報 特開2008−40713号公報 特開2010−15516号公報
しかしながら、NAS装置を含めて、ストレージ装置は、RAIDを構成する2以上のSSDに故障が発生した場合、データを喪失するおそれがある。
1つの側面では、本発明は、複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できるストレージ制御装置、およびストレージ装置の制御プログラムを提供することを目的とする。
上記目的を達成するために、以下に示すような、ストレージ制御装置が提供される。ストレージ制御装置は、書込可能回数管理部と、書込先管理部と、書込回数管理部と、決定部と、再配置部と、書込先更新部と、を備える。書込可能回数管理部は、グループを構成する記憶媒体毎の書込可能回数を管理する。書込先管理部は、記憶媒体へのデータの書込先を管理する。書込回数管理部は、データの書込先毎の書込回数を管理する。決定部は、記憶媒体間で書込可能回数が所定の差分を有するように書込可能回数の低減ペースを増大する記憶媒体と書込可能回数の低減ペースを抑制する記憶媒体とを、記憶媒体の書込可能回数にもとづいて決定する。再配置部は、グループを構成する記憶媒体のうち書込可能回数の低減ペースを抑制する第1の記憶媒体を書込先とする書込対象データを更新する場合に第1の記憶媒体の書込先における書込回数にもとづいて書込対象データが再配置対象となるか否かを判定し、再配置対象となると判定した場合に更新に際して書込可能回数の低減ペースを増大する第2の記憶媒体を書込先にして書込対象データを再配置する。書込先更新部は、再配置にしたがい書込先管理部が管理する記憶媒体へのデータの書込先を更新する。
1態様によれば、ストレージ制御装置、およびストレージ装置の制御プログラムにおいて、複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できる。
第1の実施形態のストレージ制御装置の構成の一例を示す図である。 複数の記憶媒体の書込可能回数が近接し、同時に故障するおそれのある状態の一例を示す図である。 複数の記憶媒体の書込可能回数が適切に制御された状態の一例を示す図である。 第2の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のNAS装置のハードウェア構成の一例を示す図である。 第2の実施形態のNAS装置の機能構成の一例を示す図である。 第2の実施形態の初期化処理のフローチャートを示す図である。 第2の実施形態の現書込可能回数管理テーブルの一例を示す図である。 第2の実施形態の前書込可能回数管理テーブルの一例を示す図である。 第2の実施形態の書込回数管理テーブルの一例を示す図である。 第2の実施形態の書込処理のフローチャートを示す図である。 第2の実施形態の再配置テーブルの一例を示す図である。 第2の実施形態のSSD毎の再配置数の一例を示す図である。 第2の実施形態のデータ再配置書込処理のフローチャートを示す図である。 第2の実施形態の書込データの再配置前の各SSDが保持するデータ、書込可能回数、および再配置数の一例を示す図である。 第2の実施形態の書込データの再配置後の各SSDが保持するデータ、書込可能回数、および再配置数の一例を示す図である。 第2の実施形態の書込可能回数差分制御処理のフローチャートを示す図である。 第2の実施形態の差分拡大処理のフローチャートを示す図である。 複数のSSDの書込可能回数の制御前の状態の一例を示す図である。 複数のSSDの書込可能回数の制御目標の状態の一例を示す図である。 複数のSSDの書込可能回数の制御後の状態の一例を示す図である。 第2の実施形態の差分縮小処理のフローチャートを示す図である。 複数のSSDの書込可能回数の制御前の状態の一例を示す図である。 複数のSSDの書込可能回数の制御目標の状態の一例を示す図である。 複数のSSDの書込可能回数の制御後の状態の一例を示す図である。 第2の実施形態のSSD故障状態判定処理のフローチャートを示す図である。
以下、図面を参照して実施の形態を詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のストレージ制御装置について図1を用いて説明する。図1は、第1の実施形態のストレージ制御装置の構成の一例を示す図である。
ストレージ制御装置1は、ストレージユニット2が有する複数の記憶媒体D1,D2,D3,D4をグループとして管理し、ファイル単位でデータを記憶保持可能である。また、記憶媒体D1,D2,D3,D4は、それぞれ所定の単位で分割された複数の領域(たとえば、ストライプ)SP1,SP2,SP3,SP4,SP5を有する。記憶媒体D1,D2,D3,D4は、それぞれ書込可能回数N1,N2,N3,N4の制限がある。
たとえば、ストレージ制御装置1は、複数の記憶媒体D1,D2,D3,D4によりRAIDを構成してファイル単位でデータを記憶保持し、ファイルサーバとして機能する。RAIDは、複数の記憶媒体から構成され、冗長構成により記憶保持するデータの信頼性を図るグループの一例である。記憶媒体D1,D2,D3,D4は、書込可能回数に制限があり、書込回数にもとづく故障管理の対象となる記憶媒体であり、たとえば、SSDである。
なお、図1に図示するグループは、説明を容易にするために記憶媒体D1,D2,D3,D4の4つで構成されているが、2つまたは3つ、あるいは4つ以上で構成されるものであってもよい。同様に、図1に図示する領域は、領域SP1,SP2,SP3,SP4,SP5の5つに限らず任意の数とすることができる。
ストレージ制御装置1は、書込可能回数管理部1aと、書込先管理部1bと、書込回数管理部1cと、再配置部1dと、書込先更新部1eと、を備える。書込可能回数管理部1aは、グループを構成する記憶媒体毎の書込可能回数を管理する。すなわち、書込可能回数管理部1aは、記憶媒体D1の書込可能回数N1、記憶媒体D2の書込可能回数N2、記憶媒体D3の書込可能回数N3、および記憶媒体D4の書込可能回数N4を管理する。
書込先管理部1bは、記憶媒体へのデータの書込先を管理する。たとえば、データF0が領域3(記憶媒体D1の領域SP2)を書込先とする場合、書込先管理部1bは、データF0の書込先が記憶媒体D1の領域SP2であるとして管理する。書込回数管理部1cは、データの書込先、すなわち各記憶媒体における領域毎の書込回数を管理する。
再配置部1dは、グループを構成する記憶媒体の1つ(第1の記憶媒体)を書込先とする書込対象データを更新する場合、第1の記憶媒体と異なる第2の記憶媒体を書込先にして書込対象データを再配置する。再配置部1dは、書込可能回数管理部1aが管理する記憶媒体毎の書込可能回数と、書込回数管理部1cが管理するデータの書込先毎の書込回数とにもとづいて再配置をおこなう。
たとえば、再配置部1dは、記憶媒体D1の領域3を書込先とするデータF0をデータF1に更新する場合、記憶媒体D1と異なる記憶媒体D2の領域4(記憶媒体D2の領域SP4)にデータF1を再配置する。
書込先更新部1eは、再配置にしたがい書込先管理部1bが管理する記憶媒体へのデータの書込先を更新する。
このように、ストレージ制御装置1は、第1の記憶媒体から第2の記憶媒体にデータを再配置することでデータの書き込みに伴い減少する書込可能回数を制御することができる。
なお、いずれの記憶媒体を再配置対象(再配置元、あるいは再配置先)とするかは、書込可能回数管理部1aが管理する記憶媒体毎の記憶媒体D1,D2,D3,D4の書込可能回数N1,N2,N3,N4にもとづいて決定することができる。たとえば、ストレージ制御装置1は、書込可能回数N1,N2,N3,N4のうちの2つ以上の値が近接しないようにすることで2以上の記憶媒体D1,D2,D3,D4が同時故障する可能性を低減する。
また、いずれのデータを再配置対象とするかは、書込回数管理部1cが管理する各記憶媒体における領域毎の書込回数にもとづいて決定することができる。すなわち、領域に書き込まれているデータを再配置することで、記憶媒体毎の書込頻度を変更し、各記憶媒体における領域毎の書込回数の変動を制御できる。
これにより、ストレージ制御装置1は、記憶媒体D1,D2,D3,D4の書込可能回数N1,N2,N3,N4を制御し、複数の記憶媒体の同時故障によるデータ喪失の可能性を低減できる。
たとえば、図2に示す記憶媒体D1,D2,D3は、書込可能回数がいずれも約10であり、それぞれが近接していることから同時故障の危険性が高い。図2は、複数の記憶媒体の書込可能回数が近接し、同時に故障するおそれのある状態の一例を示す図である。ストレージ制御装置1は、図3に示すように記憶媒体D1,D2,D3,D4の書込可能回数が近接しないように制御することで、図2に示すような同時に故障するおそれのある状態を回避することができる。図3は、複数の記憶媒体の書込可能回数が適切に制御された状態の一例を示す図である。
なお、ストレージ制御装置1は、ストレージユニット2と一体に設けられてストレージ装置を構成するものであってもよい。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図4を用いて説明する。図4は、第2の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム10は、複数のサーバ(情報処理装置)11,12と、NAS装置20と、制御端末装置13と、LAN(Local Area Network)14とを含む。サーバ11,12は、NAS装置20が提供するファイルサーバ機能を利用して、ユーザ毎またはアプリケーション毎のデータ処理をおこなう。NAS装置20は、サーバ11,12にファイル接続機能を提供するファイルサーバである。NAS装置20は、複数の記憶媒体部(ストレージユニット)21(記憶媒体部21a,21b,21c,…,21n)を備え、大容量の記憶領域を提供する。NAS装置20は、複数のストレージユニットを制御するストレージ制御装置の1形態である。
制御端末装置13は、NAS装置20を制御するための端末装置であり、NAS装置20の稼働監視や各種設定、異常発生時のメンテナンスなどをおこなう。LAN14は、有線または無線、あるいはその両方を含む通信路であり、サーバ11,12とNAS装置20とを接続する。なお、LAN14は、サーバ11,12とNAS装置20とを接続するネットワークの一例であり、公衆回線等を含むものであってもよい。
次に、第2の実施形態のNAS装置20について図5を用いて説明する。図5は、第2の実施形態のNAS装置のハードウェア構成の一例を示す図である。
NAS装置20は、プロセッサ22によって装置全体が制御されている。プロセッサ22には、バス30を介してRAM(Random Access Memory)23と複数の周辺機器が接続されている。
プロセッサ22は、マルチプロセッサであってもよい。プロセッサ22は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ22は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM23は、NAS装置20の主記憶装置として使用される。RAM23には、プロセッサ22に実行させるOS(Operating System)のプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM23には、プロセッサ22による処理に必要な各種データが格納される。また、RAM23には、サーバ11,12とNAS装置20との間で転送されるデータが一時的に格納される。なお、RAM23は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。RAM23は、バッテリ24に電力供給がバックアップされる。バッテリ24は、たとえば、リチウムイオン電池などがある。
バス30に接続されている周辺機器としては、ROM(Read Only Memory)25、ディスク制御部26、ネットワーク制御部27、およびシリアルインタフェース部29がある。
ROM25は、NAS装置20の電源遮断時においても記憶内容を保持する。ROM25は、たとえば、EEPROM(Electrically Erasable and Programmable ROM)やフラッシュメモリなどの半導体記憶装置や、HDDなどである。また、ROM25は、NAS装置20の補助記憶装置として使用される。ROM25には、オペレーティングシステムのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
ディスク制御部26は、ファイルを格納する記憶媒体部21を制御する。なお、記憶媒体部21は、HDD211、SSD212を含んで構成されるが、HDD211を含まない構成であってもよい。また、HDD211は、NAS装置20が内蔵するものであってもよいし、外部接続するものであってもよい。また、ディスク制御部26は、記憶媒体部21とバス30との間のデータ転送を制御する。また、ディスク制御部26は、SSD212が有する自己診断機能(たとえば、S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)によりSSD212の各種パラメータを取得できる。
ネットワーク制御部27は、外部インタフェース部28と接続する。外部インタフェース部28は、LAN14と接続するインタフェース(たとえば、Ethernet(登録商標))を制御する。外部インタフェース部28は、冗長性を有するため、あるいは負荷分散のために複数(外部インタフェース部28a,28b)設けられる。
シリアルインタフェース部29は、制御端末装置13とシリアル接続する。NAS装置20は、外部インタフェース部28またはシリアルインタフェース部29を介して制御端末装置13と接続できる。
HDD211およびSSD212は、サーバ11,12にファイル接続機能を提供するためのデータを格納する記憶媒体である。たとえば、HDD211は、HDD211a,…,211nのようにして、複数備えられ、RAID(たとえば、RAID4、RAID5、RAID6他)を構築可能にしている。また、SSD212は、SSD212a,…,212nのようにして、複数備えられ、RAIDを構築可能にしている。また、NAS装置20は、HDD211a,…,211n、またはSSD212a,…,212nのうちのいくつかは、故障したHDD211またはSSD212を置き換えるスペアディスクとして用意されている。
以上のようなハードウェア構成によって、第2の実施形態のNAS装置20の処理機能を実現することができる。なお、第1の実施形態に示したストレージ制御装置1も、図示したNAS装置20と同様のハードウェアにより実現することができる。
NAS装置20は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。NAS装置20に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、NAS装置20に実行させるプログラムをROM25に格納しておくことができる。プロセッサ22は、ROM25内のプログラムの少なくとも一部をRAM23にロードし、プログラムを実行する。またNAS装置20に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。メモリ装置は、外部インタフェース部28あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ22からの制御により、ROM25にインストールされた後、実行可能となる。またプロセッサ22が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、第2の実施形態のNAS装置20の機能構成について図6を用いて説明する。図6は、第2の実施形態のNAS装置の機能構成の一例を示す図である。
NAS装置20は、RAID制御部41と、ファイルシステム制御部42と、書込先SSD決定制御部43と、データ再配置制御部44と、SSD故障状態判定制御部45と、記憶部46と、記憶媒体交換制御部47を備える。
RAID制御部41は、複数のHDD211、または複数のSDD212から構成されるRAID制御をおこなう。たとえば、RAID制御部41は、SDD212の4つをデータディスクとしてRAID5を構成する。データディスクは、1つのデータ群がストライプという単位からなる複数のデータ群を含む。RAID制御部41は、データ群をストライプ番号によって管理し、3つのデータディスクの同一ストライプ番号にデータを格納し、残り1つのデータディスクの同一ストライプ番号にパリティを格納することで冗長性を有してデータを格納している。
ファイルシステム制御部42は、記憶媒体部21に格納するファイルの管理および制御をおこなう。たとえば、ファイルシステム制御部42は、inodeを用いてファイル(データ)管理をおこなう。ファイルシステム制御部42は、後述するデータ再配置によりファイルの書込先が変更された場合に、データブロックの制御情報を更新する。データブロックの制御情報は、記憶媒体部21の識別情報、および記憶媒体部21内の位置情報を含む。
書込先SSD決定制御部43は、データの書込先となるSSD212の決定制御をおこなう。データ再配置制御部44は、書込対象のデータの再配置制御をおこなう。SSD故障状態判定制御部45は、SSD212の故障判定をおこなう。記憶媒体交換制御部47は、SSD故障状態判定制御部45が故障したと判定したSSD212(データディスク)を交換用のSSD212(スペアディスク)に置き換える。
RAID制御部41と、ファイルシステム制御部42と、書込先SSD決定制御部43と、データ再配置制御部44と、SSD故障状態判定制御部45と、記憶媒体交換制御部47とは、プロセッサ22が記憶部46から所要の制御手順(プログラム)を読み出し、制御手順にしたがい動作することで実現される。なお、RAID制御部41と、ファイルシステム制御部42と、書込先SSD決定制御部43と、データ再配置制御部44と、SSD故障状態判定制御部45とは、プロセッサ22が他の制御部(たとえば、ディスク制御部26)と処理を分担して実現されるものであってもよい。記憶部46は、RAM23、ROM25を含む。記憶部46は、所要の制御手順の他、各種制御情報、設定情報等を記憶する。
次に、第2の実施形態の初期化処理について図7から図10を用いて説明する。図7は、第2の実施形態の初期化処理のフローチャートを示す図である。NAS装置20は、NAS装置20の起動時に初期化処理を実行する。
[ステップS11]プロセッサ22は、SSD212毎の書込可能回数を取得する。NAS装置20は、SSD212毎の書込可能回数を、SSD212が有する自己診断機能を利用して取得することができる。なお、書込可能回数は、SSD212の残寿命に対する指標であればよく、回数に限らず、割合などによって表されるものであってもよい。
[ステップS12]プロセッサ22は、取得したSSD212毎の書込可能回数によって、現書込可能回数管理テーブルを初期化する。ここで、現書込可能回数管理テーブルについて図8を用いて説明する。図8は、第2の実施形態の現書込可能回数管理テーブルの一例を示す図である。現書込可能回数管理テーブル50は、SSD212毎の書込可能回数を記録する。現書込可能回数管理テーブル50は、SSD(1)、SSD(2)、SSD(3)、…、SSD(n)のn個のSSD212について書込可能回数を記録している。たとえば、現書込可能回数管理テーブル50は、SSD(1)にCWAT(1)を記録し、SSD(2)にCWAT(2)を記録する。現書込可能回数管理テーブル50は、記憶部46に保持される。
[ステップS13]プロセッサ22は、取得したSSD212毎の書込可能回数によって、前書込可能回数管理テーブルを初期化する。前書込可能回数管理テーブルは、現書込可能回数管理テーブルと同様の構成を有する。ここで、前書込可能回数管理テーブルについて図9を用いて説明する。図9は、第2の実施形態の前書込可能回数管理テーブルの一例を示す図である。
前書込可能回数管理テーブル51は、SSD212毎の書込可能回数を記録する。前書込可能回数管理テーブル51は、SSD(1)、SSD(2)、SSD(3)、…、SSD(n)のn個のSSD212について書込可能回数を記録している。たとえば、前書込可能回数管理テーブル51は、SSD(1)にPWAT(1)を記録し、SSD(2)にPWAT(2)を記録する。前書込可能回数管理テーブル51は、記憶部46に保持される。
なお、前書込可能回数管理テーブル51は、現書込可能回数管理テーブル50が更新された場合に、現書込可能回数管理テーブル50の内容によって更新される。プロセッサ22は、書込先SSD決定制御部43として機能し、現書込可能回数管理テーブル50と前書込可能回数管理テーブル51とにより、SSD212毎に異なるタイミングの書込可能回数を管理することができる。
[ステップS14]プロセッサ22は、書込可能回数差分値をあらかじめ設定されている設定値で初期化する。書込可能回数差分値は、SSD212毎の書込可能回数間に設定される差分である。たとえば、SSD212の出荷時書込可能回数が10000回であるとき、5%の500回が初期値として設定される。書込可能回数差分値の設定値は、制御端末装置13から設定変更可能であり、初期化された書込可能回数差分値は、記憶部46に保持される。
[ステップS15]プロセッサ22は、差分制御閾値をあらかじめ設定されている設定値で初期化する。差分制御閾値は、SSD212へのある程度の書き込みの蓄積があることを判定するための閾値である。たとえば、SSD212の出荷時書込可能回数が10000回であるとき、1%の100回が初期値として設定される。差分制御閾値の設定値は、制御端末装置13から設定変更可能であり、初期化された差分制御閾値は、記憶部46に保持される。
[ステップS16]プロセッサ22は、故障判定閾値をあらかじめ設定されている設定値で初期化する。故障判定閾値は、SSD212が故障目前であることを判定するための閾値である。たとえば、SSD212の出荷時書込可能回数が10000回であるとき、1%の100回が初期値として設定される。故障判定閾値の設定値は、制御端末装置13から設定変更可能であり、初期化された故障判定閾値は、記憶部46に保持される。NAS装置20は、故障判定閾値を初期化した後、初期化処理を終了する。
次に、第2の実施形態の書込回数管理テーブルについて図10を用いて説明する。図10は、第2の実施形態の書込回数管理テーブルの一例を示す図である。
書込回数管理テーブル52は、RAIDグループを構成するSSD212毎の書込位置と、書込位置における書込回数を記録する。具体的には、書込回数管理テーブル52は、構築されているRAIDグループを特定可能な識別情報(たとえば、RAID(1))と、RAIDグループ毎にRAIDグループを構成するSSD212を特定可能な識別情報(たとえば、SSD(1))を記録する。さらに、書込回数管理テーブル52は、SSD212毎の書込位置を表すストライプを特定可能な識別情報(たとえば、ST(1))と、ストライプ毎の書込回数を記録する。RAIDグループ、書込回数、およびストライプは、RAID構築時に対応する識別情報が記録され、書込回数は「0」が初期値として記録される。
なお、書込回数は、データが書き込まれると「1」インクリメントされ、データが不要になった場合に「0」に初期化される。また、書込回数は、パリティが書き込まれている場合に「−1」に固定される。たとえば、書込回数管理テーブル52は、RAID(1)、SSD(1)、ST(1)に書き込まれているデータがWT(111)(ただし、WT(111)>0)回の書込回数があることを示す。また、書込回数管理テーブル52は、RAID(1)、SSD(1)、ST(2)にデータが書き込まれていない、または不要とされたデータが残っていることを示す。また、書込回数管理テーブル52は、RAID(1)、SSD(1)、ST(3)にパリティが書き込まれていることを示す。書込回数管理テーブル52は、記憶部46に保持される。
次に、第2の実施形態の書込処理について図11を用いて説明する。図11は、第2の実施形態の書込処理のフローチャートを示す図である。NAS装置20は、記憶媒体部21への書込(ライト)発生時に書込処理を実行する。
[ステップS21]プロセッサ22は、書込先が再配置元SSDであるか否かを判定する。再配置元SSDは、複数のSSD212の書込数に偏りを与えるためにデータを再配置する場合に、データの再配置元となるSSD212である。なお、データの再配置先となるSSD212は、再配置先SSDである。書込先が再配置元SSDであるか否かの判定は、再配置テーブルを参照しておこなう。
ここで、再配置テーブルについて図12を用いて説明する。図12は、第2の実施形態の再配置テーブルの一例を示す図である。
再配置テーブル53は、RAIDグループを構成するSSD212毎の再配置数を記録する。再配置数は、再配置をおこなうデータの数である。なお、再配置数は、再配置をおこなうデータを記録するスプライトの数として捉えることもできる。具体的には、再配置テーブル53は、構築されているRAIDグループを特定可能な識別情報(たとえば、RAID(1))と、RAIDグループ毎にRAIDグループを構成するSSD212を特定可能な識別情報(たとえば、SSD(1))を記録する。さらに、再配置テーブル53は、SSD212毎の再配置数(たとえば、RP(1))を記録する。RAIDグループ、書込回数、およびストライプは、RAID構築時に対応する識別情報が記録され、再配置数は「0」が初期値として記録される。再配置数は、RAIDグループを構成するSSD212の書込数に偏りを与えるとした場合に、所定値が設定され、以降、適宜更新される。
次に、SSD(1)、SSD(2)、SSD(3)、およびSSD(4)を有するRAIDグループの再配置数について図13を用いて説明する。図13は、第2の実施形態のSSD毎の再配置数の一例を示す図である。図13に示す再配置数によれば、SSD(1)が20個のデータの再配置先SSDであり、SSD(2)が10個のデータの再配置先SSDである。また、SSD(3)が10個のデータの再配置元SSDであり、SSD(4)が20個のデータの再配置元SSDである。なお、RAIDグループを構成するSSD212の再配置数の合計は、「0」である。
再び、書込処理の説明に戻る。プロセッサ22は、このような再配置テーブルを参照することで、書込先のSSD212が再配置元SSDであるか否かを判定できる。プロセッサ22は、書込先のSSD212が再配置元SSDである場合にステップS22にすすみ、再配置元SSDでない場合にステップS24にすすむ。
[ステップS22]プロセッサ22は、書込先データのアクセス頻度が高頻度であるか否かを判定する。書込先データのアクセス頻度は、書込回数管理テーブル52を参照して書込先データの書込回数と、全体の書込回数とを比較により算出できる。プロセッサ22は、算出したアクセス頻度をあらかじめ設定してある閾値と比較することにより、アクセス頻度が高頻度であるか、低頻度であるかを判別することができる。プロセッサ22は、書込先データのアクセス頻度が高頻度である場合にステップS23にすすみ、高頻度でない場合にステップS24にすすむ。
[ステップS23]プロセッサ22は、データ再配置書込処理を実行する。データ再配置書込処理は、書込先データの再配置を伴う書込処理である。データ再配置書込処理については、図14を用いて後で説明する。プロセッサ22は、データ再配置書込処理を実行後に書込処理を終了する。
[ステップS24]プロセッサ22は、通常の書込処理を実行する。通常の書込処理は、書込先データの再配置を伴わない書込処理である。通常の書込処理は、多くの場合、リード・モディファイ・ライトをおこなう。さらに、書込対象のSSD212がRAIDを構成していることから、プロセッサ22は、対応するSSD212についてパリティを更新することもおこなう。プロセッサ22は、通常の書込処理を実行後に書込処理を終了する。
次に、第2の実施形態のデータ再配置書込処理について図14を用いて説明する。図14は、第2の実施形態のデータ再配置書込処理のフローチャートを示す図である。NAS装置20は、書込処理のステップS23でデータ再配置書込処理を実行する。
[ステップS31]プロセッサ22は、再配置テーブル53を参照して、書込対象のRAIDグループを構成するSSD212の再配置数のうちから最大値を選択する。
[ステップS32]プロセッサ22は、選択した再配置数が「0」より大きいか否かを判定する。プロセッサ22は、選択した再配置数が「0」より大きい場合にステップS34にすすみ、選択した再配置数が「0」より大きくない場合にステップS33にすすむ。
[ステップS33]プロセッサ22は、書込処理のステップS24と同様に、通常の書込処理を実行する。プロセッサ22は、通常の書込処理を実行後にデータ再配置書込処理を終了する。
[ステップS34]プロセッサ22は、選択した再配置数に対応するSSD212を再配置先SSDに決定する。
[ステップS35]プロセッサ22は、書込回数管理テーブル52を参照して、ステップS34で選択したSSD212のデータ域(ストライプ)のうちから書込回数が最小のデータ域(最小書込回数データ域)を選択し、再配置先データ域として決定する。
[ステップS36]プロセッサ22は、再配置先のデータと、再配置先データ域に対応するパリティ(再配置先のパリティ)と、書込先(再配置元)のデータと、書込先(再配置元)データ域に対応するパリティ(書込先(再配置元)のパリティ)を読み出す。
[ステップS37]プロセッサ22は、再配置先のデータと書込先のデータを入れ替えて書き込む。すなわち、プロセッサ22は、再配置先のデータを書込先データ域に書き込み、書込先のデータを再配置先データ域に書き込む。
[ステップS38]プロセッサ22は、パリティを再構築して、再配置先のパリティおよび書込先のパリティをそれぞれ対応するデータ域に書き込む。
[ステップS39]プロセッサ22は、再配置先のデータと書込先のデータの配置場所を更新する。再配置先のデータと書込先のデータは、inodeを更新することにより配置場所を更新できる。
[ステップS40]プロセッサ22は、書込先データ域の書込回数と再配置先データ域の書込回数を入れ替えて書込回数管理テーブル52を更新する。
[ステップS41]プロセッサ22は、再配置元SSDの再配置数と再配置先SSDの再配置数を入れ替えて再配置テーブル53を更新する。プロセッサ22は、再配置テーブル53を更新後にデータ再配置書込処理を終了する。
このようにしておこなうデータ再配置の一例を図15、図16を用いて説明する。図15は、第2の実施形態の書込データの再配置前の各SSDが保持するデータ、書込可能回数、および再配置数の一例を示す図である。図16は、第2の実施形態の書込データの再配置後の各SSDが保持するデータ、書込可能回数、および再配置数の一例を示す図である。
NAS装置20は、4つのSSD212(SSD(1)、SSD(2)、SSD(3)、およびSSD(4))が構成するRAIDグループのデータA3をデータA3(NEW)に更新する書込指示を受け付けたとする(図15)。データA3は、SSD(4)のストライプ0に記録されている。SSD(4)は、再配置数が負数である「−5」であることから、再配置元SSDである。また、SSD(4)のストライプ0は、書込数が高頻度であるとした場合、データA3をデータA3(NEW)に更新する書込指示は、データ再配置書込処理により実行される。なお、SSD(4)のストライプ0の書込数が高頻度であるか否かの判定は、書込回数管理テーブル52を参照して判定できる。
再配置先SSDは、再配置数が最大値「10」であるSSD(1)が選択される。再配置先データ域は、書込回数管理テーブル52を参照して再配置先SSDのデータ域のうちから最小の書込回数のデータ域が選択される。たとえば、再配置先データ域は、SSD(1)のストライプ2が選択される。SSD(1)のストライプ2は、データB1が記録されている。
ここで、NAS装置20は、再配置先のデータ(データB1)と、再配置先データ域に対応するパリティ(パリティP2)と、再配置元のデータ(データA3)と、再配置元データ域に対応するパリティ(パリティP0)を一時記憶に読み出す。
NAS装置20は、再配置元のデータ(データA3)を再配置先データ域(SSD(1)のストライプ2)に書き込み、再配置先のデータ(データB1)を再配置元データ域(SSD(4)のストライプ0)に書き込む。
NAS装置20は、再配置元データ域に対応するパリティ(パリティP0)と再配置先のデータ(データB1)とから新たなパリティ(パリティP0(NEW))を再構築して再配置元データ域に対応するパリティを更新する。NAS装置20は、再配置先データ域に対応するパリティ(パリティP2)と再配置先のデータ(データA3)とから新たなパリティ(パリティP2(NEW))を再構築して再配置先データ域に対応するパリティを更新する。
NAS装置20は、inodeにおけるデータブロックの制御情報を更新してデータA3の書込位置をSSD(1)のストライプ2に、データB1の書込位置をSSD(4)のストライプ0に付け替える。
これにより、NAS装置20は、SSD(1)の再配置数の1デクリメントと、SSD(4)の再配置数の1インクリメントとをおこない、SSD(1)の再配置数とSSD(4)の再配置数とを更新する。また、NAS装置20は、データを更新したSSD(1)およびSSD(4)の書込可能回数の1デクリメントをおこない、SSD(1)の書込可能回数とSSD(4)の書込可能回数とを更新する。さらに、NAS装置20は、パリティを更新したSSD(3)の書込可能回数の1デクリメントをおこない、SSD(3)の書込可能回数を更新する(図16)。
このように、NAS装置20は、書込回数管理テーブルと、再配置テーブルとを更新した後、データ再配置書込処理を終了する。
このようにして、NAS装置20は、書込回数を増やしたいSSD212(SSD(1))に高頻度に更新されるデータ(データA3)を再配置することができる。これにより、NAS装置20は、データの書き込みに伴い減少する書込可能回数を制御することができ、2以上のSSD212が同時故障する可能性を低減する。
なお、NAS装置20は、パリティを再構築可能にすることで、RAID5を拡張したRAID6にも対応することができる。
次に、再配置元SSDと再配置先SSDの決定に用いる再配置テーブル53の更新について図17から図25を用いて説明する。NAS装置20は、再配置テーブル53が記録する再配置数を加減することで、各SSD212に対して書込頻度の変更の是非を制御できる。図17は、第2の実施形態の書込可能回数差分制御処理のフローチャートを示す図である。NAS装置20は、初期化処理の実行後に書込可能回数差分制御処理を実行する。
[ステップS51]プロセッサ22は、各SSDの書込可能回数が所定量減少しているか否かを判定する。プロセッサ22は、各SSDの書込可能回数が所定量減少している場合にステップS52にすすみ、所定量減少していない場合には所定量の減少を待つ。ここで所定量とは、初期化処理のステップS15で初期化した差分制御閾値である。なお、プロセッサ22は、ここで取得した各SSDの書込可能回数により現書込可能回数管理テーブル50を更新する。
[ステップS52]プロセッサ22は、現書込可能回数管理テーブル50の書込可能回数(現値)と前書込可能回数管理テーブル51の書込可能回数(前値)とを比較する。プロセッサ22は、現値が前値と比較して所定量減少している場合にステップS53にすすみ、所定量減少していない場合にステップS51にすすむ。ここで所定量とは、たとえば、2%の減少幅などの固定値であるが、差分制御閾値と同様に設定変更可能な値としてもよい。
[ステップS53]プロセッサ22は、各SSD212の書込可能回数に所定量の差分があるか否かを判定する。プロセッサ22は、各SSD212の書込可能回数に所定量の差分がある場合にステップS56にすすみ、所定量の差分がない場合にステップS54にすすむ。ここで所定量の差分とは、初期化処理のステップS14で初期化した書込可能回数差分値である。各SSD212の書込可能回数に所定量の差分があるとは、RAIDグループ構成しているSSD212の書込可能回数いずれもが他のSSD212の書込可能回数との間に書込可能回数差分値以上の差がある状態である。
[ステップS54]プロセッサ22は、各SSD212の書込可能回数の差分を拡大する必要性の有無を判定する。プロセッサ22は、各SSD212の書込可能回数の差分を拡大する必要性がある場合にステップS55にすすみ、必要性がない場合にステップS60にすすむ。各SSD212の書込可能回数の差分を拡大する必要性は、現書込可能回数管理テーブル50の書込可能回数(現値)と前書込可能回数管理テーブル51の書込可能回数(前値)とを比較して所定の変化量がある場合に必要性がないと判定する。所定の変化量は、判定基準の閾値としてあらかじめ設定される。
[ステップS55]プロセッサ22は、差分拡大処理を実行する。差分拡大処理は、各SSD212の書込可能回数の差分が拡大するように再配置テーブル53を更新する処理である。差分拡大処理については、図18から図21を用いて後で説明する。
[ステップS56]プロセッサ22は、各SSD212の書込可能回数に十分な差分があるか否かを判定する。プロセッサ22は、各SSD212の書込可能回数に十分な差分がある場合にステップS57にすすみ、十分な差分がない場合にステップS60にすすむ。各SSD212の書込可能回数に十分な差分は、許容する差分の上限値としてあらかじめ設定される。たとえば、SSD212の出荷時書込可能回数が10000回であるとき、5.5%(書込可能回数差分値に対して10%増)の550回が上限値として設定される。
[ステップS57]プロセッサ22は、各SSD212の書込可能回数の差分を縮小する必要性の有無を判定する。プロセッサ22は、各SSD212の書込可能回数の差分を縮小する必要性がある場合にステップS58にすすみ、必要性がない場合にステップS60にすすむ。各SSD212の書込可能回数の差分を縮小する必要性は、現書込可能回数管理テーブル50の書込可能回数(現値)と前書込可能回数管理テーブル51の書込可能回数(前値)とを比較して所定の変化量がある場合に必要性がないと判定する。所定の変化量は、判定基準の閾値としてあらかじめ設定される。
[ステップS58]プロセッサ22は、差分縮小処理を実行する。差分縮小処理は、各SSD212の書込可能回数の差分が縮小するように再配置テーブル53を更新する処理である。差分縮小処理については、図22から図25を用いて後で説明する。
[ステップS59]プロセッサ22は、再配置テーブル53を参照して各SSD212の再配置数が「0」であるか否かを判定する。プロセッサ22は、各SSD212の再配置数が「0」である場合にステップS60にすすみ、再配置数が「0」でない場合に各SSD212の再配置数が「0」になるのを待つ。なお、再配置テーブル53における再配置数は、データ再配置書込処理の実行により再配置数が「0」になる方向で更新される。
[ステップS60]プロセッサ22は、前書込可能回数管理テーブル51を現書込可能回数管理テーブル50によって更新する。すなわち、前書込可能回数管理テーブル51は、現書込可能回数管理テーブル50に置換される。プロセッサ22は、前書込可能回数管理テーブル51を更新した後、ステップS51にすすむ。
次に、差分拡大処理について図18から図21を用いて説明する。図18は、第2の実施形態の差分拡大処理のフローチャートを示す図である。NAS装置20は、書込可能回数差分制御処理のステップS55で差分拡大処理を実行する。
[ステップS71]プロセッサ22は、現書込可能回数管理テーブル50を参照して書込可能回数の多い順に各SSD212を並べる。ここで、現書込可能回数管理テーブル50の書込可能回数の参照値について図19に示す。図19は、複数のSSDの書込可能回数の制御前の状態の一例を示す図である。図19によれば、RAIDグループを構成するSSD(1)、SSD(2)、SSD(3)、およびSSD(4)は、それぞれ書込可能回数が「6050」、「6030」、「6010」、「6000」である。したがって、SSD(1)、SSD(2)、SSD(3)、SSD(4)は、SSD(1)、SSD(2)、SSD(3)、SSD(4)の順に並ぶ。
[ステップS72]プロセッサ22は、各SSD212の書込可能回数から目標値を決定する。目標値は、書込可能回数を増やすことができないため、最大の書込可能回数を基準にして決定される。たとえば、SSD(1)は書込可能回数に等しい「6050」が目標値であり、SSD(2)はSSD(1)の書込可能回数「6050」から書込可能回数差分値「500」を減算した「5550」が目標値となる。SSD(3)はSSD(2)の書込可能回数「5550」から書込可能回数差分値「500」を減算した「5050」が目標値となり、SSD(4)はSSD(3)の書込可能回数「5050」から書込可能回数差分値「500」を減算した「4550」が目標値となる。このようにして算出した目標値について図20に示す。図20は、複数のSSDの書込可能回数の制御目標の状態の一例を示す図である。図20によれば、各SSD212の書込可能回数が書込可能回数差分値「500」だけ異なって並び、RAIDグループを構成する複数のSSD212が同時に故障する危険が低減する状態である。
[ステップS73]プロセッサ22は、各SSD212の書込可能回数と目標値との乖離値を算出する。たとえば、図19に示した書込可能回数と図20に示した目標値とによれば、SSD(1)、SSD(2)、SSD(3)、およびSSD(4)は、それぞれ乖離値が「0」、「480」、「960」、「1450」である。
[ステップS74]プロセッサ22は、算出した乖離値から各SSD212を乖離値の大きいグループ、乖離値の小さいグループ、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないグループの3つにグループ分けする。なお、グループ分けは、乖離値の大きいグループ、乖離値の小さいグループの2つであってもよい。たとえば、SSD(3)とSSD(4)は乖離値の大きいグループであり、SSD(1)とSSD(2)は乖離値の小さいグループである。RAIDグループを構成するSSD212が奇数の場合に、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないSSD212がいずれにも属さないグループに振り分けられる。
[ステップS75]プロセッサ22は、乖離値の大きいグループの再配置数を決定する。乖離値の大きいグループの再配置数は、乖離値の大きいグループに属するSSD212の数と乖離値の大きさ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、(1)式のように決定することができる。
再配置数=(100/乖離値の大きいグループのSSD数)×(乖離値の大きいグループ内の乖離値の小さい順の順序数) … (1)
これによれば、SSD(4)の再配置数は「100(=(100/2)×2)」であり、SSD(3)の再配置数は「50(=(100/2)×1)」である。
[ステップS76]プロセッサ22は、乖離値の小さいグループの再配置数を決定する。乖離値の小さいグループの再配置数は、乖離値の小さいグループに属するSSD212の数と乖離値の小ささ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、(2)式のように決定することができる。
再配置数=(−100/乖離値の小さいグループのSSD数)×(乖離値の小さいグループ内の乖離値の大きい順の順序数) … (2)
これによれば、SSD(2)の再配置数は「−50(=(−100/2)×1)」であり、SSD(1)の再配置数は「−100(=(−100/2)×2)」である。
[ステップS77]プロセッサ22は、いずれにも属さないグループの再配置数を決定する。いずれにも属さないグループの再配置数は、「0」に決定される。
[ステップS78]プロセッサ22は、決定した再配置数で再配置テーブル53を更新する。なお、再配置テーブル53が記録する各SSD212の再配置数の和は、「0」である。
これにより、NAS装置20は、SSD212の書込可能回数の低減ペースの増大、または抑制を制御することができる。
このように決定した再配置テーブル53は、データ再配置書込処理に用いられた後、たとえば、RAIDグループを構成するSSD(1)、SSD(2)、SSD(3)、およびSSD(4)の書込可能回数は、図21に示すようになる。図21は、複数のSSDの書込可能回数の制御後の状態の一例を示す図である。図21によれば、RAIDグループを構成するSSD(1)、SSD(2)、SSD(3)、およびSSD(4)は、それぞれ書込可能回数が「5000」、「4450」、「3900」、「3380」である。したがって、SSD(1)、SSD(2)、SSD(3)、SSD(4)は、それぞれ書込可能回数差分値「500」以上を有して並ぶ。このようなSSD(1)、SSD(2)、SSD(3)、およびSSD(4)によって構成されたRAIDグループは、2以上のSSD212が同時故障する可能性が低減し、信頼性が一層向上する。
次に、差分縮小処理について図22から図25を用いて説明する。図22は、第2の実施形態の差分縮小処理のフローチャートを示す図である。NAS装置20は、書込可能回数差分制御処理のステップS58で差分縮小処理を実行する。
[ステップS81]プロセッサ22は、現書込可能回数管理テーブル50を参照して書込可能回数の少ない順に各SSD212を並べる。ここで、現書込可能回数管理テーブル50の書込可能回数の参照値について図23に示す。図23は、複数のSSDの書込可能回数の制御前の状態の一例を示す図である。図23によれば、RAIDグループを構成するSSD(1)、SSD(2)、SSD(3)、およびSSD(4)は、それぞれ書込可能回数が「6500」、「5000」、「4000」、「2500」である。したがって、SSD(1)、SSD(2)、SSD(3)、SSD(4)は、SSD(4)、SSD(3)、SSD(2)、SSD(1)の順に並ぶ。
[ステップS82]プロセッサ22は、各SSD212の書込可能回数から目標値を決定する。目標値は、最小の書込可能回数を基準にして決定される。たとえば、SSD(4)は書込可能回数に等しい「2500」が目標値であり、SSD(3)はSSD(4)の書込可能回数「2500」に書込可能回数差分値「500」を加算した「3000」が目標値となる。SSD(2)はSSD(3)の書込可能回数「3000」に書込可能回数差分値「500」を加算した「3500」が目標値となり、SSD(1)はSSD(2)の書込可能回数「3500」に書込可能回数差分値「500」を加算した「4000」が目標値となる。このようにして算出した目標値について図24に示す。図24は、複数のSSDの書込可能回数の制御目標の状態の一例を示す図である。図24によれば、各SSD212の書込可能回数が書込可能回数差分値「500」だけ異なって並び、RAIDグループを構成する複数のSSD212が同時に故障する危険が低減する状態である。
[ステップS83]プロセッサ22は、各SSD212の書込可能回数と目標値との乖離値を算出する。たとえば、図23に示した書込可能回数と図24に示した目標値とによれば、SSD(1)、SSD(2)、SSD(3)、およびSSD(4)は、それぞれ乖離値が「2500」、「1500」、「1000」、「0」である。
[ステップS84]プロセッサ22は、算出した乖離値から各SSD212を乖離値の大きいグループ、乖離値の小さいグループ、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないグループの3つにグループ分けする。なお、グループ分けは、乖離値の大きいグループ、乖離値の小さいグループの2つであってもよい。たとえば、SSD(1)とSSD(2)は乖離値の大きいグループであり、SSD(3)とSSD(4)は乖離値の小さいグループである。RAIDグループを構成するSSD212が奇数の場合に、乖離値の大きいグループと乖離値の小さいグループのいずれにも属さないSSD212がいずれにも属さないグループに振り分けられる。
[ステップS85]プロセッサ22は、乖離値の大きいグループの再配置数を決定する。乖離値の大きいグループの再配置数は、乖離値の大きいグループに属するSSD212の数と乖離値の大きさ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、(1)式のように決定することができる。
これによれば、SSD(1)の再配置数は「100(=(100/2)×2)」であり、SSD(2)の再配置数は「50(=(100/2)×1)」である。
[ステップS86]プロセッサ22は、乖離値の小さいグループの再配置数を決定する。乖離値の小さいグループの再配置数は、乖離値の小さいグループに属するSSD212の数と乖離値の小ささ順に応じた重みを付けて決定される。再配置数の決定は、あらかじめ設定した算出式にもとづいて算出してもよいし、乖離値や書込可能回数、あるいは書込可能回数の順位に応じた固定値であってもよい。たとえば、再配置数は、(2)式のように決定することができる。
これによれば、SSD(3)の再配置数は「−50(=(−100/2)×1)」であり、SSD(4)の再配置数は「−100(=(−100/2)×2)」である。
[ステップS87]プロセッサ22は、いずれにも属さないグループの再配置数を決定する。いずれにも属さないグループの再配置数は、「0」に決定される。
[ステップS88]プロセッサ22は、決定した再配置数で再配置テーブル53を更新する。なお、再配置テーブル53が記録する各SSD212の再配置数の和は、「0」である。
これにより、NAS装置20は、SSD212の書込可能回数の低減ペースの増大、または抑制を制御することができる。
このように決定した再配置テーブル53は、データ再配置書込処理に用いられた後、たとえば、RAIDグループを構成するSSD(1)、SSD(2)、SSD(3)、およびSSD(4)の書込可能回数は、図25に示すようになる。図25は、複数のSSDの書込可能回数の制御後の状態の一例を示す図である。図25によれば、RAIDグループを構成するSSD(1)、SSD(2)、SSD(3)、およびSSD(4)は、それぞれ書込可能回数が「3580」、「3050」、「2550」、「2000」である。したがって、SSD(1)、SSD(2)、SSD(3)、SSD(4)は、それぞれ書込可能回数差分値「500」以上を有して並ぶ。このようなSSD(1)、SSD(2)、SSD(3)、およびSSD(4)によって構成されたRAIDグループは、2以上のSSD212が同時故障する可能性が低減し、信頼性が一層向上する。
次に、SSD故障状態判定処理について図26を用いて説明する。図26は、第2の実施形態のSSD故障状態判定処理のフローチャートを示す図である。NAS装置20は、所要のタイミング(たとえば、書込処理の実行後)でSSD故障状態判定処理を実行する。
[ステップS91]プロセッサ22は、現書込可能回数管理テーブル50の書込可能回数を取得する。
[ステップS92]プロセッサ22は、取得した書込可能回数と、故障判定閾値を比較する。
[ステップS93]プロセッサ22は、取得した書込可能回数が故障判定閾より小さい場合(故障判定した場合)にステップS94にすすみ、取得した書込可能回数が故障判定閾より小さくない場合にSSD故障状態判定処理を終了する。
[ステップS94]プロセッサ22は、故障判定したSSD(故障判定SSD)212を、スペアディスクとして用意されているSSD(スペアSSD)212と交換する。プロセッサ22は、故障判定SSDをスペアSSDに交換した後、SSD故障状態判定処理を終了する。
これにより、NAS装置20は、SSD212を故障前に切り離して交換することができるので、信頼性の高いRAIDを構築できる。また、NAS装置20は、SSD212の故障前にスペアSSDに交換するため、故障後のデータの再構築と比較して、データの再構築に係る処理コストを低減できる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、NAS装置20、第1の実施形態に示したストレージ制御装置1が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) グループを構成する記憶媒体毎の書込可能回数を管理する書込可能回数管理部と、
前記記憶媒体へのデータの書込先を管理する書込先管理部と、
前記データの書込先毎の書込回数を管理する書込回数管理部と、
前記グループを構成する記憶媒体のうち第1の記憶媒体を書込先とする書込対象データを更新する場合、前記記憶媒体毎の書込可能回数および前記データの書込先毎の書込回数にもとづいて、前記第1の記憶媒体と異なる第2の記憶媒体を書込先にして前記書込対象データを再配置する再配置部と、
前記再配置にしたがい前記書込先管理部が管理する前記記憶媒体へのデータの書込先を更新する書込先更新部と、
を備えることを特徴とするストレージ制御装置。
(付記2) 前記再配置部は、前記第2の記憶媒体の書込先にあるデータを、前記書込対象データの再配置元に再配置することを特徴とする付記1記載のストレージ制御装置。
(付記3) 前記再配置部は、前記第1の記憶媒体における前記書込回数が所定の基準と比較して大きいと評価されたデータを、前記第1の記憶媒体を書込先とする書込対象データとすることを特徴とする付記1または付記2記載のストレージ制御装置。
(付記4) 前記再配置部は、前記記憶媒体毎の書込可能回数と、前記記憶媒体毎の書込可能回数の目標値との差分にもとづいて、前記書込可能回数の低減ペースを抑制する記憶媒体を、前記第1の記憶媒体とすることを特徴とする付記3記載のストレージ制御装置。
(付記5) 前記再配置部は、前記記憶媒体毎の書込可能回数と、前記記憶媒体毎の書込可能回数の目標値との差分にもとづいて、前記書込可能回数の低減ペースを増大する記憶媒体を、前記第2の記憶媒体とすることを特徴とする付記4記載のストレージ制御装置。
(付記6) 前記再配置部は、前記第2の記憶媒体における前記書込回数が所定の基準と比較して小さいと評価されたデータの書込先を、前記書込対象データの再配置先とすることを特徴とする付記5記載のストレージ制御装置。
(付記7) 前記再配置部は、前記グループを構成する記憶媒体毎の書込可能回数があらかじめ設定した差分を有するように前記目標値を決定することを特徴とする付記4乃至付記6のいずれか1つに記載のストレージ制御装置。
(付記8) あらかじめ交換用記憶媒体を備え、
前記記憶媒体の前記書込回数が所定の閾値を超えた場合に故障状態であると判定して、前記記憶媒体を前記交換用記憶媒体と交換する記憶媒体交換制御部を備えることを特徴とする付記1記載のストレージ制御装置。
(付記9) 前記記憶媒体は、前記書込可能回数に制限のあるソリッドステートドライブであることを特徴とする付記1記載のストレージ制御装置。
(付記10) コンピュータに、
グループを構成する記憶媒体毎の書込可能回数を管理し、
前記記憶媒体へのデータの書込先を管理し、
前記データの書込先毎の書込回数を管理し、
前記グループを構成する記憶媒体のうち第1の記憶媒体を書込先とする書込対象データを更新する場合、前記記憶媒体毎の書込可能回数および前記データの書込先毎の書込回数にもとづいて、前記第1の記憶媒体と異なる第2の記憶媒体を書込先にして前記書込対象データを再配置し、
前記再配置にしたがい前記記憶媒体へのデータの書込先を更新する、
処理を実行させることを特徴とするストレージ装置の制御プログラム。
1 ストレージ制御装置
1a 書込可能回数管理部
1b 書込先管理部
1c 書込回数管理部
1d 再配置部
1e 書込先更新部
2 ストレージユニット
10 ストレージシステム
11,12 サーバ
13 制御端末装置
14 LAN
20 NAS装置
21,21a,21b,21c,21n 記憶媒体部
22 プロセッサ
23 RAM
24 バッテリ
25 ROM
26 ディスク制御部
27 ネットワーク制御部
28,28a,28b 外部インタフェース部
29 シリアルインタフェース部
30 バス
41 RAID制御部
42 ファイルシステム制御部
43 書込先SSD決定制御部
44 データ再配置制御部
45 SSD故障状態判定制御部
46 記憶部
50 現書込可能回数管理テーブル
51 前書込可能回数管理テーブル
52 書込回数管理テーブル
53 再配置テーブル
211,211a,211n HDD
212,212a,212n SSD

Claims (6)

  1. グループを構成する記憶媒体毎の書込可能回数を管理する書込可能回数管理部と、
    前記記憶媒体へのデータの書込先を管理する書込先管理部と、
    前記データの書込先毎の書込回数を管理する書込回数管理部と、
    前記記憶媒体間で前記書込可能回数が所定の差分を有するように前記書込可能回数の低減ペースを増大する記憶媒体と前記書込可能回数の低減ペースを抑制する記憶媒体とを、前記記憶媒体の前記書込可能回数にもとづいて決定する決定部と、
    前記グループを構成する記憶媒体のうち前記書込可能回数の低減ペースを抑制する第1の記憶媒体を書込先とする書込対象データを更新する場合に前記第1の記憶媒体の書込先における前記書込回数にもとづいて前記書込対象データが再配置対象となるか否かを判定し、再配置対象となると判定した場合に更新に際して前記書込可能回数の低減ペースを増大する第2の記憶媒体を書込先にして前記書込対象データを再配置する再配置部と、
    前記再配置にしたがい前記書込先管理部が管理する前記記憶媒体へのデータの書込先を更新する書込先更新部と、
    を備えることを特徴とするストレージ制御装置。
  2. 前記再配置部は、前記第2の記憶媒体の書込先にあるデータを、前記書込対象データの再配置元に再配置することを特徴とする請求項1記載のストレージ制御装置。
  3. 前記再配置部は、前記第1の記憶媒体の書込先における前記書込対象データの前記書込回数が所定の基準と比較して高頻度である場合に前記書込対象データを再配置対象となると判定することを特徴とする請求項1または請求項2記載のストレージ制御装置。
  4. 前記再配置部は、前記第2の記憶媒体における前記書込回数が所定の基準と比較して低頻度であるデータの書込先を、前記書込対象データの再配置先とすることを特徴とする請求項記載のストレージ制御装置。
  5. 前記決定部は、前記記憶媒体間で前記書込可能回数が所定の差分を有するように前記記憶媒体毎に前記書込可能回数の目標値を設定し、前記記憶媒体毎の前記目標値と前記記憶媒体毎の前記書込可能回数との乖離値にもとづいて前記書込可能回数の低減ペースを増大する記憶媒体と前記書込可能回数の低減ペースを抑制する記憶媒体とを決定することを特徴とする請求項記載のストレージ制御装置。
  6. コンピュータに、
    グループを構成する記憶媒体毎の書込可能回数を管理し、
    前記記憶媒体へのデータの書込先を管理し、
    前記データの書込先毎の書込回数を管理し、
    前記記憶媒体間で前記書込可能回数が所定の差分を有するように前記書込可能回数の低減ペースを増大する記憶媒体と前記書込可能回数の低減ペースを抑制する記憶媒体とを、前記記憶媒体の前記書込可能回数にもとづいて決定し、
    前記グループを構成する記憶媒体のうち前記書込可能回数の低減ペースを抑制する第1の記憶媒体を書込先とする書込対象データを更新する場合に前記第1の記憶媒体の書込先における前記書込回数にもとづいて前記書込対象データが再配置対象となるか否かを判定し、再配置対象となると判定した場合に更新に際して前記書込可能回数の低減ペースを増大する第2の記憶媒体を書込先にして前記書込対象データを再配置し、
    前記再配置にしたがい前記記憶媒体へのデータの書込先を更新する、
    処理を実行させることを特徴とするストレージ装置の制御プログラム。

JP2013212043A 2013-10-09 2013-10-09 ストレージ制御装置、およびストレージ装置の制御プログラム Expired - Fee Related JP6209926B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013212043A JP6209926B2 (ja) 2013-10-09 2013-10-09 ストレージ制御装置、およびストレージ装置の制御プログラム
US14/480,693 US9841928B2 (en) 2013-10-09 2014-09-09 Storage control apparatus and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013212043A JP6209926B2 (ja) 2013-10-09 2013-10-09 ストレージ制御装置、およびストレージ装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2015075940A JP2015075940A (ja) 2015-04-20
JP6209926B2 true JP6209926B2 (ja) 2017-10-11

Family

ID=52777949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013212043A Expired - Fee Related JP6209926B2 (ja) 2013-10-09 2013-10-09 ストレージ制御装置、およびストレージ装置の制御プログラム

Country Status (2)

Country Link
US (1) US9841928B2 (ja)
JP (1) JP6209926B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839027B2 (en) * 2010-04-06 2014-09-16 Dell Products L.P. System and method for redundant object storage
WO2016006223A1 (ja) * 2014-07-11 2016-01-14 日本電気株式会社 配置装置、配置方法及び配置プログラムを記憶する記録媒体
US9747177B2 (en) 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US10241877B2 (en) 2016-12-12 2019-03-26 International Business Machines Corporation Data storage system employing a hot spare to proactively store array data in absence of a failure or pre-failure event
JP7081205B2 (ja) * 2018-02-27 2022-06-07 株式会社デンソー 通信システム、マスタ装置
US20210349781A1 (en) * 2020-05-11 2021-11-11 Samsung Electronics Co., Ltd. Systems, methods, and devices for data recovery using parity space as recovery space
JP2022078790A (ja) * 2020-11-13 2022-05-25 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269032A (ja) 1997-03-28 1998-10-09 Xing:Kk 記憶装置アレイシステム及び記憶装置アレイ
US6718435B2 (en) * 2001-08-14 2004-04-06 International Business Machines Corporation Method and system for migrating data in a raid logical drive migration
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
JP2007180610A (ja) * 2005-12-26 2007-07-12 Konica Minolta Business Technologies Inc 画像形成装置および画像形成装置における記憶装置の制御方法
JP4863814B2 (ja) 2006-08-04 2012-01-25 株式会社日立製作所 記憶媒体グループの故障を抑えるストレージシステム
JP5242264B2 (ja) * 2008-07-07 2013-07-24 株式会社東芝 データ制御装置、ストレージシステムおよびプログラム
US9063874B2 (en) * 2008-11-10 2015-06-23 SanDisk Technologies, Inc. Apparatus, system, and method for wear management
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate
JP5437373B2 (ja) * 2009-07-22 2014-03-12 株式会社日立製作所 複数のフラッシュパッケージを有するストレージシステム
JP4806089B1 (ja) * 2010-06-30 2011-11-02 株式会社東芝 情報処理装置、raidコントローラカード、およびミラーリング方法
US9043567B1 (en) * 2012-03-28 2015-05-26 Netapp, Inc. Methods and systems for replicating an expandable storage volume
US9575683B2 (en) * 2012-11-30 2017-02-21 Sandisk Technologies Llc Processing shaped data

Also Published As

Publication number Publication date
US9841928B2 (en) 2017-12-12
US20150100822A1 (en) 2015-04-09
JP2015075940A (ja) 2015-04-20

Similar Documents

Publication Publication Date Title
JP6209926B2 (ja) ストレージ制御装置、およびストレージ装置の制御プログラム
US9733844B2 (en) Data migration method, data migration apparatus, and storage device
US10296237B2 (en) System and method for raid management, reallocation, and restripping
US11287984B2 (en) Method and device for writing stored data into storage medium based on flash memory
EP3617867B1 (en) Fragment management method and fragment management apparatus
CN105657066A (zh) 用于存储系统的负载再均衡方法及装置
US9696922B2 (en) Storage system
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
CN103688248A (zh) 一种存储阵列的管理方法、装置和控制器
CN110058960B (zh) 用于管理存储系统的方法、设备和计算机程序产品
JP6115116B2 (ja) 情報処理装置、格納処理方法及びプログラム
US20150199152A1 (en) Method of managing redundant array of independent disks (raid) groups in a solid state disk array
JP6171478B2 (ja) ストレージシステム、情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法
CN113811862A (zh) 存储驱动器的动态性能等级调整
JP5949816B2 (ja) キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム
EP2642379A2 (en) Information processing apparatus, program, and data allocation method
JP6907668B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN113811861A (zh) 存储驱动器的动态性能等级调整
CN113811846A (zh) 存储驱动器的动态每天写入调整
JP2018156503A (ja) 制御装置、ディスクアレイ装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170828

R150 Certificate of patent or registration of utility model

Ref document number: 6209926

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees