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

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

Info

Publication number
JP2016012287A
JP2016012287A JP2014134436A JP2014134436A JP2016012287A JP 2016012287 A JP2016012287 A JP 2016012287A JP 2014134436 A JP2014134436 A JP 2014134436A JP 2014134436 A JP2014134436 A JP 2014134436A JP 2016012287 A JP2016012287 A JP 2016012287A
Authority
JP
Japan
Prior art keywords
ssd
threshold
solid state
state drive
storage control
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
JP2014134436A
Other languages
English (en)
Other versions
JP6331773B2 (ja
Inventor
佑磨 田村
Yuma Tamura
佑磨 田村
博紀 斎藤
Hiroki Saito
博紀 斎藤
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 JP2014134436A priority Critical patent/JP6331773B2/ja
Priority to US14/669,391 priority patent/US9563552B2/en
Publication of JP2016012287A publication Critical patent/JP2016012287A/ja
Application granted granted Critical
Publication of JP6331773B2 publication Critical patent/JP6331773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • 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/1083Reserve area on a disk of a RAID system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

【課題】ソリッドステートドライブ群におけるマルチデッドのリスクを低減できる。
【解決手段】ストレージ制御装置1は、SSD群2を制御対象とする。SSD群2は、データ保持を分担する2以上のSSD3を含み、たとえばSSD3a,3bを含む。検出部1aは、SSD3ごとの消耗状態を検出する。切り離し制御部1bは、消耗状態を示す消耗値が第1の閾値を超えたSSD3の切り離しをおこなう。拡大制御部1cは、SSD群2のうちに消耗値が第1の閾値に至る前の第2の閾値を超えたSSD3がある場合に、第2の閾値を超えたSSD3と、他のSSD3との消耗値の差を拡大する。これにより、ストレージ制御装置1は、データ保持を分担する2以上のSSD3のうちの1つについて安全な切り離しをおこなうことができる。
【選択図】図1

Description

本発明は、ストレージ制御装置、およびストレージ制御プログラムに関する。
データセンタは、信頼性を確保しながら大規模なデータを扱うことが求められ、一般に、多数のHDD(Hard Disk Drive:ハードディスクドライブ)を使用したRAID(Redundant Arrays of Inexpensive Disks)をストレージ装置(RAID装置)に採用している。また、HDDより高速な記憶装置としてSSD(Solid State Drive)を使用するストレージ装置がある。SSDは、データの書き込みや消去により記憶素子が劣化することから信頼性確保の観点で、負荷の平準化などの寿命管理がおこなわれる。
特開2007−265265号公報 特開2011−150590号公報
しかしながら、2以上のSSDにより構成されたRAID(ソリッドステートドライブ群)は、複数のSSDが同時に寿命を迎えるマルチデッドを生じる恐れがある。特に、SSDにかかる負荷の平準化がおこなわれている場合、ソリッドステートドライブ群は、マルチデッドのリスクがより顕著なものとなる。
1つの側面では、本発明は、ソリッドステートドライブ群におけるマルチデッドのリスクを低減できるストレージ制御装置、およびストレージ制御プログラムを提供することを目的とする。
上記目的を達成するために、以下に示すような、データ保持を分担する2以上のソリッドステートドライブを含むソリッドステートドライブ群を制御対象とするストレージ制御装置が提供される。ストレージ制御装置は、検出部と、切り離し制御部と、拡大制御部とを備える。検出部は、ソリッドステートドライブごとの消耗状態を検出する。切り離し制御部は、消耗状態を示す消耗値が第1の閾値を超えたソリッドステートドライブの切り離しをおこなう。拡大制御部は、ソリッドステートドライブ群のうちに消耗値が第1の閾値に至る前の第2の閾値を超えたソリッドステートドライブがある場合に、第2の閾値を超えたソリッドステートドライブと、他のソリッドステートドライブとの消耗値の差を拡大する。
1態様によれば、ストレージ制御装置、およびストレージ制御プログラムにおいて、ソリッドステートドライブ群におけるマルチデッドのリスクを低減できる。
第1の実施形態のストレージ制御装置の構成の一例を示す図である。 第2の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のRAID装置の構成の一例を示す図である。 第2の実施形態のCMのハードウェア構成の一例を示す図である。 第2の実施形態のSSD監視処理のフローチャートを示す図である。 第2の実施形態の管理テーブルの一例を示す図である。 第2の実施形態のマルチデッド低減処理のフローチャートを示す図である。 第3の実施形態のマルチデッド低減処理のフローチャートを示す図である。 第3の実施形態のRAID1に属するSSDの領域割当初期の領域構成の一例を示す図である。 第3の実施形態のRAID1に属するSSDの領域割当から所定期間経過後の領域構成の一例を示す図である。 第3の実施形態のRAID1に属するSSDのマルチデッド低減処理後の領域構成の一例を示す図である。 第3の実施形態のRAID1に属する特定SSDの寿命到達時の領域構成の一例を示す図である。 第3の実施形態のRAID1に属するSSDの領域割当初期の領域構成の一例を示す図である。 第3の実施形態のRAID1に属するSSDの領域割当から所定期間経過後の領域構成の一例を示す図である。 第3の実施形態のRAID1に属するSSDのマルチデッド低減処理後の領域構成の一例を示す図である。 第3の実施形態のRAID1に属する特定SSDの寿命到達時の領域構成の一例を示す図である。
以下、実施の形態について、図面を参照しながら詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のストレージ制御装置について図1を用いて説明する。図1は、第1の実施形態のストレージ制御装置の構成の一例を示す図である。
ストレージ制御装置1は、SSD(ソリッドステートドライブ)群2を制御対象とする。SSD群2は、データ保持を分担する2以上のSSD3を含み、たとえばSSD3a,3bを含む。たとえば、2以上のSSD3は、RAIDによりデータ保持を分担する。なお、2以上のSSD3によるデータ保持の分担は、2以上のSSD3によりデータの保護と可用性を実現するものであり、各SSD3が異なるデータを保持するほかに、2以上のSSD3が重複するデータを保持することを含む。また説明を簡単にするために、SSD群2は、2つのSSD3a,3bを含むとしたが、3つ以上のSSD3を含むものであってもよい。
SSD3は、使用開始からおこなわれる書き替え動作により消耗状態が変化する。消耗状態は、SSD3が使用不能に至る程度を示す情報である。たとえば、消耗状態は、使用不能とされる閾値に向かって変化する値や百分率などであってもよい。消耗状態は、所定の閾値と比較化可能な数値(消耗値)によって表すことができる。
ストレージ制御装置1は、検出部1aと、切り離し制御部1bと、拡大制御部1cとを備える。検出部1aは、SSD3ごとの消耗状態を検出する。すなわち、検出部1aは、SSD3aの消耗状態と、SSD3bの消耗状態とを検出する。なお、検出部1aが検出する消耗状態は、消耗値と等価であってもよいし、所定の変換式あるいは変換規則により消耗値として数値化されるものであってもよい。このような消耗値は、SSD3の消耗状態を示すことができる。
切り離し制御部1bは、消耗状態を示す消耗値が第1の閾値を超えたSSD3の切り離しをおこなう。たとえば、SSD3aの消耗状態6aが第1の閾値を超えた場合に、切り離し制御部1bは、SSD3aの切り離しをおこなう。たとえば、切り離し制御部1bは、SSD3aが保持する情報を図示しない他のSSDに移すことでSSD3aの切り離しをおこなうことができる。第1の閾値は、SSD3の切り離し契機となる閾値である。たとえば、第1の閾値は、SSD3の自己診断機能が障害予兆警告を発生する契機となる値である。
拡大制御部1cは、SSD群2のうちに消耗値が第1の閾値に至る前の第2の閾値を超えたSSD3がある場合に、第2の閾値を超えたSSD3と、他のSSD3との消耗値の差を拡大する。第2の閾値は、マルチデッドの警戒を開始する契機となる閾値である。
たとえば、拡大制御部1cは、SSD3aの消耗状態4aを示す消耗値とSSD3bの消耗状態4bを示す消耗値とのうち、いずれか一方または両方が第2の閾値を超えた場合に、SSD3aの消耗値とSSD3bの消耗値との差を拡大する。なお、図示する消耗状態のハッチング部の大きさは、消耗状態を示す消耗値の大きさを表すとする。
拡大制御部1cは、SSD3aに対して書き替え動作をおこなうことで、SSD3aの消耗値とSSD3bの消耗値との差を拡大することができる。拡大制御部1cは、たとえばSSD3aに対してガベージコレクションをおこなわせることで、SSD3aに対する書き替え動作をおこなうことができる。これにより、SSD3aの消耗状態4aは消耗状態5aとなり、SSD3bの消耗状態4bは消耗状態5bとなり、SSD3aの消耗状態5aを示す消耗値とSSD3bの消耗状態5bを示す消耗値との差が拡大する。
これにより、ストレージ制御装置1は、SSD3aとSSD3bとが同時に寿命を迎えるマルチデッドのリスクを低減できる。このようなストレージ制御装置1は、SSD3bより先にSSD3aが第1の閾値に至る消耗状態6aに達することが期待できる。すなわち、ストレージ制御装置1は、データ保持を分担する2以上のSSD3のうちの1つについて安全な切り離しをおこなうことができる。
なお、SSD3,4がRAIDによりデータ保持を分担している場合、ストレージ制御装置1は、マルチデッドを回避することでデータの喪失を抑制することができる。これにより、ストレージ制御装置1は、2以上のSSD3がデータ保持を分担するRAIDにおいて、データの保護と可用性を提供することができる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図2を用いて説明する。図2は、第2の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム10は、ホスト11と、ネットワーク12を介してホスト11と接続するRAID装置13を備える。ストレージシステム10は、ホスト11が要求するI/O(Input/Output)要求に応じて、RAID装置13にデータを書き込み、あるいはRAID装置13からデータを読み出す。
次に、第2の実施形態のRAID装置13の構成について図3を用いて説明する。図3は、第2の実施形態のRAID装置の構成の一例を示す図である。
RAID装置13は、CM(Controller Module:コントローラモジュール)100と複数のSSD20(20a,20b,・・・,20c)を含む。RAID装置13は、複数のSSD20を用いてRAIDを実装する。たとえば、RAID装置13は、SSD20aをマスタとし、SSD20bをスレーブとしてRAID1を実装する。
複数のSSD20は、ストレージ装置の1つである。CM100は、RAID装置13のコントローラモジュールである。CM100は、ホスト11からホストI/O(ホスト11からのI/O要求)を受け付けてSSD20を制御する。したがって、RAID装置13(CM100)は、ストレージ装置を制御対象とするストレージ制御装置に相当する。なお、RAID装置13は、SSD20を内蔵するものであってもよいし、外部接続するものであってもよい。
次に、第2の実施形態のCM100のハードウェア構成について図4を用いて説明する。図4は、第2の実施形態のCMのハードウェア構成の一例を示す図である。
CM100は、ホストインタフェース101と、プロセッサ102と、RAM(Random Access Memory)103と、HDD104と、機器接続インタフェース105と、ディスクインタフェース106と、バス107を含む。
CM100は、プロセッサ102によって装置全体が制御されている。プロセッサ102には、バス107を介してRAM103と複数の周辺機器が接続されている。プロセッサ102は、2以上のプロセッサからなるマルチコアプロセッサであってもよい。
プロセッサ102は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。
RAM103は、CM100の主記憶装置として使用される。RAM103には、プロセッサ102に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、RAM103には、プロセッサ102による処理に必要な各種データが格納される。また、RAM103は、プロセッサ102のキャッシュメモリとして機能する。
バス107に接続されている周辺機器としては、ホストインタフェース101、HDD104、機器接続インタフェース105、およびディスクインタフェース106がある。
ホストインタフェース101は、ネットワーク12を介してホスト11との間でデータの送受信をおこなう。たとえば、ホストインタフェース101は、チャネルアダプタである。
HDD104は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しをおこなう。HDD104は、CM100の補助記憶装置として使用される。HDD104には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
機器接続インタフェース105は、CM100に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース105には、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、機器接続インタフェース105との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、たとえば、カード型の記録媒体である。
また、機器接続インタフェース105には、図示しないモニタを接続してもよい。その場合、機器接続インタフェース105は、プロセッサ102からの命令にしたがって、画像をモニタの画面に表示させるグラフィック処理機能を有する。
また、機器接続インタフェース105は、図示しないキーボードやマウスを接続してもよい。その場合、機器接続インタフェース105は、キーボードやマウスから送られてくる信号をプロセッサ102に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
また、機器接続インタフェース105は、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
ディスクインタフェース106は、1または2以上のSSD20との間でデータの送受信をおこなう。たとえば、ディスクインタフェース106は、I/Oコントローラとエキスパンダを含んで構成される。
以上のようなハードウェア構成によって、第2の実施形態のCM100の処理機能を実現することができる。なお、ホスト11、および第1の実施形態に示したストレージ制御装置1も、図4に示したCM100と同様のハードウェアにより実現することができる。
CM100は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。CM100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、CM100に実行させるプログラムをHDD104に格納しておくことができる。プロセッサ102は、HDD104内のプログラムの少なくとも一部をRAM103にロードし、プログラムを実行する。また、CM100に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ102からの制御により、HDD104にインストールされた後、実行可能となる。またプロセッサ102が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、第2の実施形態のSSD監視処理について図5を用いて説明する。図5は、第2の実施形態のSSD監視処理のフローチャートを示す図である。
SSD監視処理は、RAIDを構成するSSD20についてマルチデッドの可能性を評価してマルチデッドに至るリスクを低減する処理である。SSD監視処理は、CM100の起動後にCM100が実行する処理である。CM100は、RAIDグループごとにSSD監視処理を実行する。
[ステップS11]CM100は、監視対象となるSSD20を特定する。CM100は、RAIDグループに属する2以上のSSD20を、監視対象となるSSD20として特定する。たとえば、SSD20a,20bがRAID1に属する場合、CM100は、SSD20a,20bを監視対象となるSSD20として特定する。
[ステップS12]CM100は、監視対象となるSSD20を対象とした定期パトロールにより、監視対象となるSSD20ごとの消耗度を測る情報を取得する。CM100は、各SSD20がメタデータとし内部メモリに保持する情報を、消耗度を測る情報としてSSD20の自己診断機能(S.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology))を介して取得できる。消耗度を測る情報は、たとえば、SSD20の不良ブロック数(G−List)や、書込量(累積書き込み回数)、書き替え回数指標値、ユーザ領域とスペア領域の割合などがある。
CM100は、消耗度を測る情報から、あるいは消耗度を測る情報に基づいて算出した情報から、SSD20の消耗度を検出することができる。CM100は、あらかじめ設定する周期で定期パトロールをおこなう。たとえば、CM100は、10分ごとに定期パトロールをおこなう。CM100は、各SSD20から取得した情報を管理テーブルに記録する。管理テーブルについては、後で図6を用いて説明する。
[ステップS13]CM100は、マルチデッド監視状態遷移条件の成立を判定する。マルチデッド監視状態は、定期パトロールの結果から監視対象となるSSD20でマルチデッドの危険を監視する状態である。CM100は、マルチデッド監視状態遷移条件の成立の判定を、定期パトロールにより検出したSSD20の消耗度と、あらかじめ設定する閾値(状態遷移閾値)との比較によりおこなう。CM100は、監視対象となるSSD20のうちのいずれか1つ以上の消耗度が状態遷移閾値を超えた場合にマルチデッド監視状態遷移条件の成立を判定する。
たとえば、CM100は、SSD20の書込量を消耗度とするときに、いずれかのSSD20の書込量が状態遷移閾値「100000」を超えた場合にマルチデッド監視状態遷移条件の成立を判定する。また、CM100は、SSD20の書込量を消耗度とするときに、すべてのSSD20の書込量が状態遷移閾値「100000」を超えない、たとえば、すべてのSSD20の書込量が「70000」の場合にマルチデッド監視状態遷移条件の不成立を判定する。
CM100は、マルチデッド監視状態遷移条件が成立する場合にステップS14にすすむ。一方、CM100は、マルチデッド監視状態遷移条件が成立しない場合にステップS12にすすむ。すなわち、ステップS12とステップS13をループする監視状態は、マルチデッドの危険が低い通常監視状態である。
[ステップS14]CM100は、監視対象となるSSD20を対象とした定期パトロールにより、監視対象となるSSD20ごとの消耗度を測る情報を取得する。なお、ステップS14における定期パトロールは、ステップS12における定期パトロールよりもパトロール頻度が高いものであってもよい。たとえば、CM100は、5分ごとにステップS14における定期パトロールをおこなう。CM100は、各SSD20から取得した情報を管理テーブルに記録する。
[ステップS15]CM100は、管理テーブルが保持する情報にしたがいマルチデッド危険性評価をおこなう。マルチデッド危険性評価は、2以上のSSD20がマルチデッドに至る危険性の評価である。たとえば、CM100は、消耗度が最大のSSD20と、消耗度が次に大きいSSD20との消耗度の差があらかじめ定める閾値(危険性評価閾値)を超えるか否かによりマルチデッド危険性評価の評価をおこなう。
たとえば、CM100は、消耗度が最大のSSD20と、消耗度が次に大きいSSD20との消耗度の差が危険性評価閾値「10」を超えない場合に「マルチデッド危険性あり」を判定する。また、CM100は、消耗度が最大のSSD20と、消耗度が次に大きいSSD20との消耗度の差が危険性評価閾値「10」を超える場合に「マルチデッド危険性なし」を判定する。
[ステップS16]CM100は、マルチデッド危険性評価の結果がマルチデッド危険性ありか否かを判定する。CM100は、2つのSSD20の消耗度の差が危険性評価閾値を超える場合に、「マルチデッド危険性あり」としてステップS17にすすむ。一方、CM100は、2つのSSD20の消耗度の差が危険性評価閾値を超えない場合に、「マルチデッド危険性なし」としてステップS14にすすむ。
[ステップS17]CM100は、マルチデッド低減処理を実行する。マルチデッド低減処理は、RAIDグループにおけるSSD20のマルチデッドの危険性を低減する処理である。マルチデッド低減処理については、図7を用いて後で説明する。CM100は、マルチデッド低減処理の実行後にステップS14にすすむ。すなわち、ステップS14からステップS16、あるいはステップS14からステップS17をループする監視状態は、マルチデッドの危険が高いマルチデッド監視状態である。
このように、RAID装置13は、消耗度が最大のSSD20と、消耗度が次に大きいSSD20との消耗度の差を拡大して、RAIDグループに含まれるSSD20のマルチデッドのリスクを低減することができる。
なお、CM100は、定期パトロールに代えて、ホスト11から受け付けた書き込み要求の回数(たとえば、100回ごと)に応じたイベントトリガパトロールをおこなうものとすることもできる。その場合、CM100は、ステップS12におけるイベントトリガパトロールよりもステップS14におけるイベントトリガパトロールのパトロール頻度が高いものであってもよい。たとえば、CM100は、書き込み要求100回ごとにステップS12におけるイベントトリガパトロールを実行し、書き込み要求20回ごとにステップS14におけるイベントトリガパトロールを実行する。
次に、CM100が保持する管理テーブルについて図6を用いて説明する。図6は、第2の実施形態の管理テーブルの一例を示す図である。CM100は、監視対象とするSSD20から定期パトロールにより取得した情報を、管理テーブル200に保持する。管理テーブル200が保持する情報は、CM100がSSD20の自己診断機能を通じて、SSD20から収集する情報である。管理テーブル200は、たとえば、RAM103に記憶される。
管理テーブル200は、項目「SSD識別情報」と、項目「不良ブロック数」と、項目「書込量」とを含む。項目「SSD識別情報」は、監視対象とするSSD20を識別可能な情報である。たとえば、RAID装置13がSSD20a,20bを監視対象とするとき、SSD20a,20bのSSD識別情報は、一方が「#A」であり、他方が「#B」である。項目「不良ブロック数」は、SSD20のメモリセル(たとえば、NANDセル)が不良化したブロック数である。たとえば、SSD識別情報「#A」の不良ブロック数は「2」であり、SSD識別情報「#B」の不良ブロック数は「4」である。項目「書込量」は、SSD20への累積書き込み回数である。たとえば、SSD識別情報「#A」の書込量は「20000」であり、SSD識別情報「#B」の書込量は「25000」である。なお、管理テーブル200は、その他の項目、たとえば、書き替え回数指標値や、ユーザ領域とスペア領域の割合などを含むものであってもよい。
なお、管理テーブル200が保持する情報は、定期パトロールの都度、CM100によって更新される。また、CM100は、定期パトロールによる情報の取得にかかる処理を、プロセッサ102とディスクインタフェース106とで分担してもよい。
次に、第2の実施形態のマルチデッド低減処理について図7を用いて説明する。図7は、第2の実施形態のマルチデッド低減処理のフローチャートを示す図である。
マルチデッド低減処理は、RAIDグループにおけるSSD20のマルチデッドの危険性を低減する処理である。マルチデッド低減処理は、SSD監視処理のステップS17でCM100が実行する処理である。
[ステップS21]CM100は、管理テーブルを参照して、消耗度が最大のSSD20(以下、消耗度拡大対象SSD)を選択する。
[ステップS22]CM100は、消耗度拡大対象SSDに対して消耗度を拡大する目標消耗度を設定する。CM100は、消耗度が次に大きいSSD20に対して所定の差の消耗度が生じるように目標消耗度を設定する。たとえば、消耗度の指標として不良ブロック数を用いている場合、CM100は、不良ブロック数が次に大きいSSD20に対して不良ブロック数の差が「+10」となるように目標不良ブロック数(目標消耗度)を設定する。
[ステップS23]CM100は、消耗度を拡大する手段として、消耗度拡大対象SSDに対してガベージコレクションを指示する。なお、ガベージコレクションの指示は、消耗度を拡大する手段の一例であって、たとえば、トリムの実行指示などの積極的なイレース動作や、ダミーデータの書き込みと消去の実行などであってもよい。
[ステップS24]CM100は、消耗度拡大対象SSDからメタデータを取得する。
[ステップS25]CM100は、取得したメタデータから、消耗度拡大対象SSDが目標消耗度に到達したか否かを判定する。CM100は、消耗度拡大対象SSDが目標消耗度に到達していない場合にステップS23にすすみ、消耗度拡大対象SSDに対するさらなる消耗度拡大をおこなう。一方、CM100は、消耗度拡大対象SSDが目標消耗度に到達した場合にマルチデッド低減処理を終了する。
これにより、RAID装置13は、消耗度が最大のSSD20と、消耗度が次に大きいSSD20との消耗度の差を拡大して、RAIDグループに含まれるSSD20のマルチデッドのリスクを低減することができる。
[第3の実施形態]
次に、第3の実施形態のRAID装置が実行するマルチデッド低減処理について図8を用いて説明する。図8は、第3の実施形態のマルチデッド低減処理のフローチャートを示す図である。第2の実施形態のマルチデッド低減処理が消耗度拡大対象SSDについて積極的に消耗度を拡大したのに対して、第3の実施形態のマルチデッド低減処理は、スペア領域の調整を図ることによりマルチデッドのリスクを低減する点で相違する。以下、第3の実施形態の説明では、第2の実施形態と同様の構成について符号を同じにして説明を省略する。
マルチデッド低減処理は、RAIDグループにおけるSSD20のマルチデッドの危険性を低減する処理である。マルチデッド低減処理は、SSD監視処理のステップS17でCM100が実行する処理である。
[ステップS31]CM100は、管理テーブルを参照して、消耗度が最大のSSD20を特定SSDに選択する。
[ステップS32]CM100は、監視対象となるSSD20(監視対象SSD)に未割当領域があるか否かを判定する。CM100は、監視対象SSDに未割当領域がある場合にステップS33にすすみ、監視対象SSDに未割当領域がない場合にステップS34にすすむ。なお、CM100は、監視対象SSDから特定SSDを除いたSSD20(非特定SSD)を対象にして、未割当領域があるか否かの判定をおこなうようにしてもよい。
[ステップS33]CM100は、非特定SSDの未割当領域から一部または全部をスペア領域に割り当てて、マルチデッド低減処理を終了する。これにより、CM100は、非特定SSDのスペア領域を拡大する。
[ステップS34]CM100は、特定SSDのスペア領域について一部または全部の割当を解除して、マルチデッド低減処理を終了する。これにより、CM100は、特定SSDのスペア領域を縮小する。
これにより、RAID装置13は、消耗度が最大のSSD20と、消耗度が次に大きいSSD20との消耗度の差を拡大して、RAIDグループに含まれるSSD20のマルチデッドのリスクを低減することができる。
次に、マルチデッド低減処理におけるスペア領域の加減について図9から図16を用いて説明する。先に、監視対象SSDに未割当領域がある場合について図9から図12を用いて説明する。
まず、RAID1に属するSSD20の領域割当初期の領域構成について図9を用いて説明する。図9は、第3の実施形態のRAID1に属するSSDの領域割当初期の領域構成の一例を示す図である。SSD識別情報「#A」とSSD識別情報「#B」の2つのSSD20は、RAID1に属する。以下、一方のSSD20をSSD#A、他方のSSD20をSSD#Bとする。領域割当の初期において、SSD#AとSSD#Bは、ユーザ領域、RAID未割当領域、およびスペア領域をそれぞれ等しく有する領域構成である。
次に、領域割当から所定期間経過後のSSD20について図10を用いて説明する。図10は、第3の実施形態のRAID1に属するSSDの領域割当から所定期間経過後の領域構成の一例を示す図である。SSD#AとSSD#Bは、領域割当から所定期間経過後に、書き替え動作により不良ブロックが増加する。不良ブロックは、スペア領域と交替してユーザ領域を一定に保持する。なお、SSD#AとSSD#Bは、RAID1に属することから書き替え動作による不良ブロック数の増加(消耗度の増加)が均等である。したがって、領域割当から所定期間経過後において、SSD#AとSSD#Bは、ユーザ領域、RAID未割当領域、スペア領域、および不良ブロック交替領域をそれぞれ等しく有する領域構成である。
ここで、SSD#AとSSD#Bが属するRAID1は、マルチデッド監視状態を経て「マルチデッド危険性あり」とされたとする。このとき、SSD#AとSSD#Bは、スペア領域を有することから、マルチデッド低減処理において、CM100は、非特定SSDのスペア領域を拡大する。
次に、非特定SSDのスペア領域拡大時のSSD20について図11を用いて説明する。図11は、第3の実施形態のRAID1に属するSSDのマルチデッド低減処理後の領域構成の一例を示す図である。SSD#Aが特定SSDであり、SSD#Bが非特定SSDであるときに、CM100は、SSD#BについてRAID未割当領域の一部または全部をスペア領域に割り当てる。これにより、SSD#AとSSD#Bは、ユーザ領域、および不良ブロック交替領域をそれぞれ等しく有するが、SSD#BがSSD#Aに比較してスペア領域を多く有する。SSD#B、すなわち非特定SSDのスペア領域の拡大は、SSD#AとSSD#Bの消耗度の差を拡大する。
次に、特定SSDの寿命到達時のSSD20について図12を用いて説明する。図12は、第3の実施形態のRAID1に属する特定SSDの寿命到達時の領域構成の一例を示す図である。SSD#AとSSD#Bの消耗度の差が拡大した後の書き替え動作によるSSD#AとSSD#Bの不良ブロック数の均等増加により、特定SSDであるSSD#Aは、非特定SSDであるSSD#Bより先に寿命を迎える。すなわち、SSD#Aは、交替できるスペア領域がSSD#Bより先に枯渇し、障害予兆警告を発する。
これにより、RAID装置13は、SSD#AとSSD#Bが同時に寿命を迎えるマルチデッドのリスクを低減する。また、RAID装置13は、SSD#AとSSD#Bについて不良ブロック交替領域の上限を減らすこともないため、マルチデッドのリスクを低減した状態でSSD20のより長期間の使用を実現する。
なお、スペア領域の割当をコントロールできないSSDについては、CM100は、あらかじめRAID未割当領域から使用しないユーザ領域の1つとしてダミー領域を確保し、スペア領域の拡大時にダミー領域を解放するようにしてもよい。
次に、監視対象SSDに未割当領域がない場合について図13から図16を用いて説明する。まず、RAID1に属するSSD20の領域割当初期の領域構成について図13を用いて説明する。図13は、第3の実施形態のRAID1に属するSSDの領域割当初期の領域構成の一例を示す図である。SSD#AとSSD#Bは、RAID1に属する。領域割当の初期において、SSD#AとSSD#Bは、ユーザ領域、およびスペア領域をそれぞれ等しく有する領域構成である。
次に、領域割当から所定期間経過後のSSD20について図14を用いて説明する。図14は、第3の実施形態のRAID1に属するSSDの領域割当から所定期間経過後の領域構成の一例を示す図である。SSD#AとSSD#Bは、領域割当から所定期間経過後に、書き替え動作により不良ブロックが増加する。不良ブロックは、スペア領域と交替してユーザ領域を一定に保持する。なお、SSD#AとSSD#Bは、RAID1に属することから書き替え動作による不良ブロック数の増加(消耗度の増加)が均等である。したがって、領域割当から所定期間経過後において、SSD#AとSSD#Bは、ユーザ領域、スペア領域、および不良ブロック交替領域をそれぞれ等しく有する領域構成である。
ここで、SSD#AとSSD#Bが属するRAID1は、マルチデッド監視状態を経て「マルチデッド危険性あり」とされたとする。このとき、SSD#AとSSD#Bは、スペア領域を有しないことから、マルチデッド低減処理において、CM100は、特定SSDのスペア領域を縮小する。
次に、特定SSDのスペア領域縮小時のSSD20について図15を用いて説明する。図15は、第3の実施形態のRAID1に属するSSDのマルチデッド低減処理後の領域構成の一例を示す図である。SSD#Aが特定SSDであり、SSD#Bが非特定SSDであるときに、CM100は、SSD#Aについてスペア領域の一部または全部をユーザ領域に割り当てる。これにより、SSD#AとSSD#Bは、不良ブロック交替領域を等しく有するが、SSD#BがSSD#Aに比較してスペア領域を多く有する。SSD#A、すなわち特定SSDのスペア領域の縮小は、SSD#AとSSD#Bの消耗度の差を拡大する。
次に、特定SSDの寿命到達時のSSD20について図16を用いて説明する。図16は、第3の実施形態のRAID1に属する特定SSDの寿命到達時の領域構成の一例を示す図である。SSD#AとSSD#Bの消耗度の差が拡大した後の書き替え動作によるSSD#AとSSD#Bの不良ブロック数の均等増加により、特定SSDであるSSD#Aは、非特定SSDであるSSD#Bより先に寿命を迎える。すなわち、SSD#Aは、交替できるスペア領域がSSD#Bより先に枯渇し、障害予兆警告を発する。これにより、RAID装置13は、SSD#AとSSD#Bが同時に寿命を迎えるマルチデッドのリスクを低減する。
なお、スペア領域の割当をコントロールできないSSDについては、CM100は、スペア領域の縮小時に使用しないユーザ領域の1つとしてダミー領域を設定するようにしてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージ制御装置1、RAID装置13が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1 ストレージ制御装置
1a 検出部
1b 切り離し制御部
1c 拡大制御部
2 SSD群
3,3a,3b,20,20a,20b,20c SSD
10 ストレージシステム
11 ホスト
12 ネットワーク
13 RAID装置
100 CM
101 ホストインタフェース
102 プロセッサ
103 RAM
104 HDD
105 機器接続インタフェース
106 ディスクインタフェース
107 バス
200 管理テーブル

Claims (7)

  1. データ保持を分担する2以上のソリッドステートドライブを含むソリッドステートドライブ群を制御対象とするストレージ制御装置であって、
    前記ソリッドステートドライブごとの消耗状態を検出する検出部と、
    前記消耗状態を示す消耗値が第1の閾値を超えた前記ソリッドステートドライブの切り離しをおこなう切り離し制御部と、
    前記ソリッドステートドライブ群のうちに前記消耗値が前記第1の閾値に至る前の第2の閾値を超えた前記ソリッドステートドライブがある場合に、前記第2の閾値を超えた前記ソリッドステートドライブと、他のソリッドステートドライブとの前記消耗値の差を拡大する拡大制御部と、
    を備えるストレージ制御装置。
  2. 前記拡大制御部は、前記差が所定の閾値より小さい場合に、前記差を拡大する請求項1記載のストレージ制御装置。
  3. 前記拡大制御部は、前記第2の閾値を超えた前記ソリッドステートドライブの前記消耗値を拡大する請求項1または請求項2記載のストレージ制御装置。
  4. 前記拡大制御部は、前記第2の閾値を超えた前記ソリッドステートドライブに対してガベージコレクションを実行させる請求項3記載のストレージ制御装置。
  5. 前記拡大制御部は、前記第2の閾値を超えた前記ソリッドステートドライブのスペア領域を縮小する請求項1または請求項2記載のストレージ制御装置。
  6. 前記拡大制御部は、前記他のソリッドステートドライブのスペア領域を拡大する請求項1または請求項2記載のストレージ制御装置。
  7. データ保持を分担する2以上のソリッドステートドライブを含むソリッドステートドライブ群を制御対象とする処理をコンピュータに実行させるストレージ制御プログラムであって、
    コンピュータに、
    前記ソリッドステートドライブごとの消耗状態を入力する入力処理と、
    前記消耗状態を示す消耗値が第1の閾値を超えた前記ソリッドステートドライブの切り離しをおこなう切り離し処理と、
    前記ソリッドステートドライブ群のうちに前記消耗値が前記第1の閾値に至る前の第2の閾値を超えた前記ソリッドステートドライブがある場合に、前記第2の閾値を超えた前記ソリッドステートドライブと、他のソリッドステートドライブとの前記消耗値の差を拡大する拡大処理と、
    を実行させるストレージ制御プログラム。
JP2014134436A 2014-06-30 2014-06-30 ストレージ制御装置、およびストレージ制御プログラム Active JP6331773B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014134436A JP6331773B2 (ja) 2014-06-30 2014-06-30 ストレージ制御装置、およびストレージ制御プログラム
US14/669,391 US9563552B2 (en) 2014-06-30 2015-03-26 Storage control device and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014134436A JP6331773B2 (ja) 2014-06-30 2014-06-30 ストレージ制御装置、およびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2016012287A true JP2016012287A (ja) 2016-01-21
JP6331773B2 JP6331773B2 (ja) 2018-05-30

Family

ID=54931251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014134436A Active JP6331773B2 (ja) 2014-06-30 2014-06-30 ストレージ制御装置、およびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US9563552B2 (ja)
JP (1) JP6331773B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018116392A1 (ja) * 2016-12-21 2018-06-28 株式会社日立製作所 情報処理システム、及び、情報処理方法
JP2018156582A (ja) * 2017-03-21 2018-10-04 キヤノン株式会社 情報処理装置および画像形成装置等のストレージ制御方法
JP2018169979A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 ストレージアレイ装置、ストレージシステム、ストレージアレイ制御方法、及び、プログラム
JP2022138311A (ja) * 2021-03-10 2022-09-26 Necプラットフォームズ株式会社 情報処理装置、システム、プログラムおよび制御方法
JP7552141B2 (ja) 2020-08-21 2024-09-18 日本電気株式会社 情報処理装置、情報処理方法およびプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474370B1 (en) 2016-05-20 2019-11-12 EMC IP Holding Company LLC Method and system for mitigating the effect of write and read disturbances in solid state memory regions
KR102653401B1 (ko) * 2016-07-18 2024-04-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
JP6614062B2 (ja) * 2016-08-08 2019-12-04 株式会社バッファロー 磁気ディスク装置、コンピュータプログラム、および記録媒体
KR102409760B1 (ko) * 2017-03-17 2022-06-17 에스케이하이닉스 주식회사 메모리 시스템
CN108733313B (zh) * 2017-04-17 2021-07-23 伊姆西Ip控股有限责任公司 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质
CN110058788B (zh) 2018-01-18 2022-06-14 伊姆西Ip控股有限责任公司 分配存储的方法、电子设备、存储系统和计算机程序产品
JP7346311B2 (ja) * 2020-01-16 2023-09-19 キオクシア株式会社 メモリシステム
JP7490469B2 (ja) * 2020-06-25 2024-05-27 キオクシア株式会社 ストレージデバイス、ストレージシステム及び制御方法
US11561891B1 (en) * 2021-10-13 2023-01-24 Micron Technology, Inc. Adaptive user defined health indication

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030002366A1 (en) * 2001-06-27 2003-01-02 Mitsubishi Denki Kabushiki Kaisha Life warning generation system and method of semiconductor storage device equipped with flash memory
US20090046512A1 (en) * 2007-08-17 2009-02-19 Munif Farhan Halloush Reliability System for Use with Non-Volatile Memory Devices
US20090138671A1 (en) * 2007-11-28 2009-05-28 Radoslav Danilak System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US20100005228A1 (en) * 2008-07-07 2010-01-07 Kabushiki Kaisha Toshiba Data control apparatus, storage system, and computer program product
WO2011036902A1 (en) * 2009-09-25 2011-03-31 Kabushiki Kaisha Toshiba Memory system
US20110141833A1 (en) * 2009-12-15 2011-06-16 Seagate Technology Llc Low-wear writing in a solid state memory device
US8627181B1 (en) * 2012-09-12 2014-01-07 Kabushiki Kaisha Toshiba Storage apparatus, storage controller, and method for managing locations of error correcting code blocks in array

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863749B2 (ja) 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
JP5331018B2 (ja) 2010-01-22 2013-10-30 株式会社日立製作所 ソリッド・ステート・ドライブ装置およびミラー構成再構成方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030002366A1 (en) * 2001-06-27 2003-01-02 Mitsubishi Denki Kabushiki Kaisha Life warning generation system and method of semiconductor storage device equipped with flash memory
US20090046512A1 (en) * 2007-08-17 2009-02-19 Munif Farhan Halloush Reliability System for Use with Non-Volatile Memory Devices
US20090138671A1 (en) * 2007-11-28 2009-05-28 Radoslav Danilak System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
JP2011505046A (ja) * 2007-11-28 2011-02-17 サンドフォース インコーポレイテッド メモリの寿命を延長するためにメモリ内のスペア領域を増加させること
US20100005228A1 (en) * 2008-07-07 2010-01-07 Kabushiki Kaisha Toshiba Data control apparatus, storage system, and computer program product
JP2010015516A (ja) * 2008-07-07 2010-01-21 Toshiba Corp データ制御装置、ストレージシステムおよびプログラム
WO2011036902A1 (en) * 2009-09-25 2011-03-31 Kabushiki Kaisha Toshiba Memory system
JP2011070365A (ja) * 2009-09-25 2011-04-07 Toshiba Corp メモリシステム
US20110141833A1 (en) * 2009-12-15 2011-06-16 Seagate Technology Llc Low-wear writing in a solid state memory device
US8627181B1 (en) * 2012-09-12 2014-01-07 Kabushiki Kaisha Toshiba Storage apparatus, storage controller, and method for managing locations of error correcting code blocks in array
WO2014041638A1 (ja) * 2012-09-12 2014-03-20 株式会社 東芝 アレイにおける誤り訂正符号ブロック配置位置を管理するストレージ装置、ストレージコントローラ及び方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018116392A1 (ja) * 2016-12-21 2018-06-28 株式会社日立製作所 情報処理システム、及び、情報処理方法
JP2018156582A (ja) * 2017-03-21 2018-10-04 キヤノン株式会社 情報処理装置および画像形成装置等のストレージ制御方法
JP2018169979A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 ストレージアレイ装置、ストレージシステム、ストレージアレイ制御方法、及び、プログラム
JP7552141B2 (ja) 2020-08-21 2024-09-18 日本電気株式会社 情報処理装置、情報処理方法およびプログラム
JP2022138311A (ja) * 2021-03-10 2022-09-26 Necプラットフォームズ株式会社 情報処理装置、システム、プログラムおよび制御方法
JP7235346B2 (ja) 2021-03-10 2023-03-08 Necプラットフォームズ株式会社 システム、および制御方法

Also Published As

Publication number Publication date
US9563552B2 (en) 2017-02-07
JP6331773B2 (ja) 2018-05-30
US20150380110A1 (en) 2015-12-31

Similar Documents

Publication Publication Date Title
JP6331773B2 (ja) ストレージ制御装置、およびストレージ制御プログラム
US9047219B2 (en) Storage system, storage control device, and storage control method
US8156381B2 (en) Storage management apparatus and storage system
US10198318B2 (en) Storage apparatus having nonvolatile memory device, and nonvolatile memory device
JP6135276B2 (ja) ストレージ装置、制御装置、および制御プログラム
US9658796B2 (en) Storage control device and storage system
US8868864B2 (en) Storage apparatus and storage apparatus control method
US8909984B2 (en) Node apparatus of multi-node storage system and method for managing processing speed
US20170139605A1 (en) Control device and control method
JP2004038290A (ja) 情報処理システムおよび同システムで用いられるディスク制御方法
EP4036735B1 (en) Method, apparatus and readable storage medium
US9235486B1 (en) Techniques for spare storage pool management
US10234929B2 (en) Storage system and control apparatus
EP2981920A1 (en) Detection of user behavior using time series modeling
JP2018010557A (ja) ストレージシステムおよび管理装置
JP6708928B2 (ja) ストレージ管理装置、ストレージ管理プログラム、およびストレージシステム
JP2019191886A (ja) 情報処理装置,情報処理方法およびプログラム
US10168944B2 (en) Information processing apparatus and method executed by an information processing apparatus
US11481324B2 (en) Storage control device, storage medium and storage control method
US20200264946A1 (en) Failure sign detection device, failure sign detection method, and recording medium in which failure sign detection program is stored
JP6497233B2 (ja) ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
US9836359B2 (en) Storage and control method of the same
US10503403B2 (en) Storage control apparatus and storage system
JP6805838B2 (ja) ディスク管理システム、ディスク管理方法、および、ディスク管理プログラム
JPWO2008126169A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6331773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150