JP6175566B2 - ストレージシステム及び記憶制御方法 - Google Patents
ストレージシステム及び記憶制御方法 Download PDFInfo
- Publication number
- JP6175566B2 JP6175566B2 JP2016530687A JP2016530687A JP6175566B2 JP 6175566 B2 JP6175566 B2 JP 6175566B2 JP 2016530687 A JP2016530687 A JP 2016530687A JP 2016530687 A JP2016530687 A JP 2016530687A JP 6175566 B2 JP6175566 B2 JP 6175566B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- data
- controller
- processor
- page
- 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 description 33
- 238000005192 partition Methods 0.000 claims description 101
- 230000002950 deficient Effects 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 34
- 239000002131 composite material Substances 0.000 claims description 11
- 239000007787 solid Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 30
- 230000014509 gene expression Effects 0.000 description 26
- 238000007689 inspection Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 230000008439 repair process Effects 0.000 description 4
- 238000013403 standard screening design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
Images
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2084—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring on the same storage unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2017—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2087—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
- G06F2212/284—Plural cache memories being distributed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Hardware Redundancy (AREA)
Description
本発明は、概して、記憶制御に関し、例えば、ストレージコントローラの技術に関する。
従来、ストレージシステムに関する構成情報及びコンピュータプログラム等(以下「構成情報等」という)は、ストレージコントローラ(以下「コントローラ」という)の備えるフラッシュメモリに格納されていた。しかし、ストレージシステムの大容量化及び高性能化に伴い、構成情報等の量が増大し、構成情報等をフラッシュメモリに格納しきれなくなってきた。そこで、フラッシュメモリに代えて、コントローラがキャッシュデータの格納用に備えるSSD(Solid State Drive)(「キャッシュ用SSD」という)に構成情報等を格納することが検討されている(特許文献1、2)。
しかし、構成情報等の格納先となるSSDは、或るページが、その性質上、リード及びライトが不可能となってしまう「不良ページ」の発生する確率が高い。また、SSDがコントローラから着脱可能であり、さらに、そのコントローラがストレージシステムから着脱可能な構成においては、或るストレージシステムに、他のストレージシステムの構成情報等を有するSSDが、誤って装着されてしまうおそれがある。
そこで、本発明の目的は、不良ページの発生しやすいSSDのような記憶デバイス内に、信頼性の高い記憶領域を設けることにある。また、本発明の別の目的は、着脱可能な記憶デバイスに構成情報等を格納するような構成において、誤って他のストレージシステムの構成情報等が使用されることを防止することにある。
一実施例に係るストレージシステムは、プロセッサと、記憶デバイスとを備え、プロセッサは、記憶デバイス内の物理的な記憶領域を構成する複数の区画を正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、正区画にライトしたデータを、その正区画に対応する副区画にもライトする。
本発明によれば、不良ページの発生しやすいSSDのような記憶デバイス内に、信頼性の高い記憶領域を設けることができる。また、本発明によれば、着脱可能な記憶デバイスに構成情報等を格納する構成において、誤って他のストレージシステムの構成情報等が使用されることを防止することができる。
以下、一実施例を説明する。
以下の説明では、「xxxテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と呼ぶことができる。
また、以下の説明では、コンピュータプログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
以下の説明では、「xxxテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と呼ぶことができる。
また、以下の説明では、コンピュータプログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
図1は、実施例1に係るストレージシステムの構成例を示す。
ストレージシステム1には、通信ネットワーク3を通じて、ホストコンピュータ2が接続されている。ストレージシステム1は、ホストコンピュータ2に対して、データの記憶領域としての論理ボリュームを提供する。ストレージシステム1は、ホストコンピュータ2から送信されたライト要求に従ってデータを格納する。ストレージシステム1は、ホストコンピュータ2から送信されたリード要求に従って所望のデータをホストコンピュータ2に送信する。通信ネットワーク3の一例としては、SAN(Storage Area Network)、LAN(Local Area Network)及びインターネット網などがある。
ストレージシステム1は、1又は2以上のコントローラ20を備えるコントローラユニット10と、スイッチ31及び複数の記憶デバイス32を備えるドライブユニット11とを有する。
ドライブユニット11において、複数の記憶デバイス32がスイッチ31に接続されている。記憶デバイス32の一例としては、HDD(Hard Disk Drive)又はSSDなどがある。
コントローラ20は、記憶デバイス32の記憶領域を制御する。コントローラ20は、ホストコンピュータ2から送信されたライト要求に従って記憶デバイス32の記憶領域にデータをライトしたり、ホストコンピュータ2から送信されたリード要求に従って記憶デバイス32の記憶領域から所望のデータをリードしたりする。コントローラ20は、プロセッサ21と、メインメモリ22と、キャッシュ用SSD23と、通信I/F(Interface)24と、ドライブI/F25とを有し、これらの要素21〜25は双方向にデータ通信可能な内部バス26で接続されている。
プロセッサ21は、メインメモリ22内のコンピュータプログラムを実行し、ストレージシステム1(コントローラ20)が提供する機能を実現する。
メインメモリ22は、プロセッサ21、通信I/F24及びドライブI/F25等から使用されるコンピュータプログラム及びデータ等を保持する。メインメモリ22の一例としては、DRAM(Dynamic Random Access Memory)、MRAM(magnetoresistive random access memory)又はFeRAM(Ferroelectric Random Access Memory)などがある。
通信I/F24は、コントローラ20を通信ネットワーク3に接続するためのI/Fである。すなわち、コントローラ20は、通信I/F24を通じて、ホストコンピュータ2とデータをやり取りする。例えば、通信ネットワーク3がSANで構成されており、内部バス26がPCIe(PCI Express)で構成されている場合、通信I/F24は、FibreChannelプロトコルとPCIeプロトコルとを変換するアダプタの機能を有してもよい。
ドライブI/F25は、ドライブユニット11をコントローラ20に接続するためのI/Fである。すなわち、コントローラ20は、ドライブI/F25を通じて記憶デバイス32とデータをやり取りする。
キャッシュ用SSD23には、キャッシュデータが格納される。コントローラ20は、ホストコンピュータ2に対する応答性能を高めるために、リード要求及びライト要求に係るデータを、キャッシュデータとして、キャッシュ用SSD23に格納する。
また、キャッシュ用SSD23には、従来フラッシュメモリに格納されていたコンピュータプログラム及び構成情報等(まとめて「構成情報等」という)も格納される。構成情報とは、ストレージシステム1の構成に関する情報である。例えば、構成情報は、複数の記憶デバイス32に基づくRAIDグループの構成を表す情報である。例えば、構成情報は、論理ボリュームアドレスと物理ボリュームアドレスとを対応付ける情報である。
キャッシュ用SSD23は、例えば、複数のNAND型フラッシュメモリチップによって構成されたSSDである。SSDの物理的な記憶領域は、複数のブロックで構成されており、各ブロックは複数のページで構成されている。そして、SSDは、ページ単位でデータをライトする必要があり、ブロック単位でデータを消去する必要がある。また、SSDは、その性質上、HDDと比較して、不良ページが発生する確率が高い。不良ページとは、例えば、所定回数以上の何らかの又は所定種類のエラーが生じたページであってよい。所定種類のエラーとは、例えば、読み出したデータに訂正可能な又は不可能なデータ化けが生じたエラーであってよい。
SSDには、高機能のSSDと低機能のSSDとがある。高機能のSSDは、一般に、論理空間を提供し論理空間におけるアクセス先の論理領域に物理ページを割り当てたり、不良の物理ページを管理し不良の物理ページを論理領域に割り当てないようにしたりできる。低機能のSSDは、単純に複数の物理ページを提供し、論理空間の提供や不良の物理ページの管理を行わない。低機能のSSDは、高機能のSSDと比較してコストが安いというメリットがある。本実施例におけるキャッシュ用SSD23は、この低機能のSSDであってよい。
キャッシュ用SSD23が有する物理的な記憶領域を構成する複数のページは、正ページの領域(「正面」といってもよい)と、副ページの領域(「副面」といってもよい)とに分けられる。そして、1の正ページと1の副ページとが対応付けられる。例えば、その記憶領域がページ番号「1」から「2000」までのページで構成されている場合、ページ番号「1」〜「1000」までが正ページの領域に、ページ番号「1001」〜「2000」までが副ページの領域に分けられてよい。そして、ページ番号「1」の正ページと、ページ番号「1001」の副ページとが対応付けられる。同様に、ページ番号「2」の正ページと、ページ番号「1002」の副ページとが対応付けられる。そして、対応関係を有する正ページ及び副ページには、同一のデータが格納される。これにより、一方のページに不良が発生しリード不可となったとしても、そのページに対応する他方のページからデータをリードできる。
キャッシュ用SSD23が有する物理的な記憶領域の一部の記憶領域のみを、正ページの領域と副ページの領域とに分けてよい。そして、正ページの領域と副ページの領域とに分けた一部の記憶領域には、例えば、構成情報等の重要なデータのみが格納されるとしてもよい。そして、それ以外の記憶領域に、リード及びライトに係るキャッシュデータが格納されるとしてもよい。なぜなら、構成情報等はキャッシュ用SSD23から消えてしまうと、ストレージシステム1の信頼性及び可用性の低下に繋がってしまう。しかし、キャッシュデータはキャッシュ用SSD23から消えたとしても、再度RAIDから読めば良いからである。また、正ページと副ページとに分けて管理する記憶領域を小さくすることにより、後述の図7に示す「副ページ検査処理」に要する時間を短くすることができる。
図2は、キャッシュ用SSD23に対するリード処理時に不良ページを検知した場合のプロセッサ21の処理概要を示す。
プロセッサ21は、コンピュータプログラムの一種として、カーネル101と、上位ジョブ102と、SSDドライバ103と、検査部104とを実行することができる。カーネル101は、コントローラ20の動作の基本的な機能(I/O機能、リソース制御機能など)を有する。上位ジョブ102は、カーネル101から受けた指示に基づき、SSDドライバ103を制御する機能を有する。
SSDドライバ103は、キャッシュ用SSD23を制御する機能を有する。例えば、SSDドライバ103は、キャッシュ用SSD23にデータをライトしたり、キャッシュ用SSD23からデータをリードする機能を有する。また、SSDドライバ103は、後述するように、不良ページに代えて、空きページを割り当てる機能を有する。空きページとは、データが消去されおり、新たなデータをライト可能なページである。キャッシュ用SSD23には割り当て用の空きページが予め確保されており、SSDドライバ103は、その確保されている何れかの空きページを割り当てるとしてもよい。又は、SSDドライバ103は、割り当ての時点における何れかの空きページを割り当てるとしてもよい。
検査部104は、キャッシュ用SSD23における正ページ及び副ページについて、不良の有無を検査する機能を有する。検査部104の詳細については後述する(図7参照)。
次に、図2を参照しながら、SSDドライバ103が、ページ番号「3」の正ページ300aからデータをリードする処理について説明する。
(S11)上位ジョブ102からリードコマンドを受けたSSDドライバ103は、ページ番号「3」の正ページ300aに対してデータのリードを行う。ここで、正ページ300aが不良でデータがリードできなかった場合、SSDドライバ103は、次の処理を行う。
(S12)SSDドライバ103は、ページ番号「3」に、不良な正ページ300aに代えて、予備ページ300cを割り当てる。つまり、この予備ページ300cが、ページ番号「3」の新しい正ページとなる。
(S13)SSDドライバ103は、ページ番号「3」に対応する(例えば、ページ番号「1003」の)副ページ300bからデータ「C」をリードし、メインメモリ22に格納する。
(S14)SSDドライバ103は、ページ番号「3」の新たな正ページ300cに、メインメモリ22のデータ「C」をライトする。
(S15)SSDドライバ103は、メインメモリ22のデータ「C」を、リードコマンドの応答として上位ジョブ102へ返す。
(S12)SSDドライバ103は、ページ番号「3」に、不良な正ページ300aに代えて、予備ページ300cを割り当てる。つまり、この予備ページ300cが、ページ番号「3」の新しい正ページとなる。
(S13)SSDドライバ103は、ページ番号「3」に対応する(例えば、ページ番号「1003」の)副ページ300bからデータ「C」をリードし、メインメモリ22に格納する。
(S14)SSDドライバ103は、ページ番号「3」の新たな正ページ300cに、メインメモリ22のデータ「C」をライトする。
(S15)SSDドライバ103は、メインメモリ22のデータ「C」を、リードコマンドの応答として上位ジョブ102へ返す。
なお、上記の処理において、SSDドライバ103は、S12の前に、S13及びS15を実行してもよい。上位ジョブ102に対する応答性能を高めるためである。また、SSDドライバ103は、S13及びS15の処理と、S12及びS14の処理とを並列に実行してもよい。
以上の処理により、正ページが不良であったとしても、SSDドライバ103は、その正ページに対応する副ページからデータをリードし、上位ジョブ102へデータを返すことができる。すなわち、SSDドライバ103は、リード先の正ページが不良であったことを上位ジョブ102から隠蔽することができる。さらに、SSDドライバ103は、リード処理を通じて、不良ページを検知及び修復することができる。さらに、SSDドライバ103は、リード処理において不良ページを検知した際に、データの二重化も回復させることができる。
図3は、キャッシュ用SSD23に対するライト処理時に不良ページを検知した場合のプロセッサ21の処理概要を示す。
ここでは、図3を参照しながら、SSDドライバ103が、ページ番号「3」の正ページ301aにデータをライトする処理について説明する。
(S21)上位ジョブ102からライトコマンドを受けたSSDドライバ103は、メインメモリ22にデータ「X」を格納する。
(S22)SSDドライバ103は、ページ番号「3」の正ページ301aに対して、データ「X」のライトを行う。ここで、ページ番号「3」の正ページ301aが不良でデータ「X」がライトできなかった場合、SSDドライバ103は、次の処理を行う。
(S23)SSDドライバ103は、ページ番号「3」に、不良な正ページ301aに代えて、予備ページ301cを割り当てる。つまり、この予備ページ301cが、ページ番号「3」の新しい正ページとなる。
(S24)SSDドライバ103は、ページ番号「3」に対応する副ページ301bに、メインメモリ22のデータ「X」をライトする。
(S25)SSDドライバ103は、ページ番号「3」の新たな正ページ300cに、メインメモリ22のデータ「X」をライトし、上位ジョブ102に完了応答を返す。
(S22)SSDドライバ103は、ページ番号「3」の正ページ301aに対して、データ「X」のライトを行う。ここで、ページ番号「3」の正ページ301aが不良でデータ「X」がライトできなかった場合、SSDドライバ103は、次の処理を行う。
(S23)SSDドライバ103は、ページ番号「3」に、不良な正ページ301aに代えて、予備ページ301cを割り当てる。つまり、この予備ページ301cが、ページ番号「3」の新しい正ページとなる。
(S24)SSDドライバ103は、ページ番号「3」に対応する副ページ301bに、メインメモリ22のデータ「X」をライトする。
(S25)SSDドライバ103は、ページ番号「3」の新たな正ページ300cに、メインメモリ22のデータ「X」をライトし、上位ジョブ102に完了応答を返す。
なお、上記の処理において、SSDドライバ103は、S23〜S24の前に、S25を実行してもよい。上位ジョブ102に対する応答性能を高めるためである。また、SSDドライバ103は、S23及びS24の処理と、S25の処理とを並列に実行してもよい。
以上の処理により、正ページが不良であったとしても、SSDドライバ103は、その正ページに対応する副ページにデータをライトし、上位ジョブ102へ完了応答を返すことができる。すなわち、SSDドライバ103は、ライト先の正ページが不良であったことを上位ジョブ102から隠蔽することができる。さらに、SSDドライバ103は、ライト処理を通じて、不良ページを検知及び修復することができる。さらに、SSDドライバ103は、ライト処理において不良ページを検知した際に、データの二重化も回復させることができる。
図4は、データが格納済みのページに新たなデータをオーバーライトする処理概要を示す。
フラッシュメモリは、その特性上、データが格納済みのページに直接新しいデータをオーバーライトすることができない。また、ライト対象のデータのサイズが、ページのサイズよりも小さい場合もある。以下、このような場合の処理について説明する。
(S31)上位ジョブ102からライトコマンドを受けたSSDドライバ103は、メインメモリ22にデータ「Z」を格納する。ここで、データ「Z」のサイズは、ページのサイズよりも小さいとする。
(S32)SSDドライバ103は、ページ番号「3」の正ページ302aから、格納済みデータのリードを行う。ここで、ページ番号「3」の正ページ302aが不良でデータをリードできなった場合、SSDドライバ103は、次の処理を行う。
(S33)SSDドライバ103は、ページ番号「3」に、不良な正ページ302aに代えて、予備ページ302cを割り当てる。つまり、この予備ページ302cが、ページ番号「3」の新しい正ページとなる。
(S34)SSDドライバ103は、ページ番号「3」に対応する副ページ302bから格納済みデータをリードし、メインメモリ22に格納する。
(S35)SSDドライバ103は、副ページ302bからリードした格納済みデータにライト対象のデータ「Z」をオーバーライトし、合成データ310を生成する。
(S36)SSDドライバ103は、ページ番号「3」の新たな正ページ302cに、メインメモリ22の合成データ310をライトする。
(S37)また、SSDドライバ103は、ページ番号「3」の正ページに対応する例えばページ番号「1003」に新たな副ページ302dを割り当て、その副ページ302dに、メインメモリ22の合成データ310をライトする。
(S32)SSDドライバ103は、ページ番号「3」の正ページ302aから、格納済みデータのリードを行う。ここで、ページ番号「3」の正ページ302aが不良でデータをリードできなった場合、SSDドライバ103は、次の処理を行う。
(S33)SSDドライバ103は、ページ番号「3」に、不良な正ページ302aに代えて、予備ページ302cを割り当てる。つまり、この予備ページ302cが、ページ番号「3」の新しい正ページとなる。
(S34)SSDドライバ103は、ページ番号「3」に対応する副ページ302bから格納済みデータをリードし、メインメモリ22に格納する。
(S35)SSDドライバ103は、副ページ302bからリードした格納済みデータにライト対象のデータ「Z」をオーバーライトし、合成データ310を生成する。
(S36)SSDドライバ103は、ページ番号「3」の新たな正ページ302cに、メインメモリ22の合成データ310をライトする。
(S37)また、SSDドライバ103は、ページ番号「3」の正ページに対応する例えばページ番号「1003」に新たな副ページ302dを割り当て、その副ページ302dに、メインメモリ22の合成データ310をライトする。
以上の処理により、データを、正ページ及び副ページにオーバーライトすることができる。なお、空きページにデータをライトする場合に図4に示す処理を行っても良い。
図5は、キャッシュ用SSD23に対するリード処理の一例のフローチャートを示す。この図5は、図2の処理の詳細に相当する。
SSDドライバ103は、上位ジョブ102からリードコマンドを受けると、次の処理を行う。SSDドライバ103は、リードコマンドが指定するページ番号(「対象ページ番号」という)の正ページからデータのリードを行う(S101)。
ここで、正ページが不良でなく(S102:NO)、正常にデータをリードできた場合、SSDドライバ103は、そのリードしたデータを上位ジョブ102に返し(S106)、処理を終了する(END)。
一方、正ページが不良であり(S102:YES)、正常にデータをリードできない場合、SSDドライバ103は、次の処理を行う。
SSDドライバ103は、対象ページ番号に、不良な正ページに代えて、空きページを割り当てる(S103)。この新たに割り当てられた空きページを「新たな正ページ」という。
SSDドライバ103は、正ページに対応する副ページからデータをリードする(S104)。ここで、副ページも不良であり(S105:YES)、正常にデータをリードできなかった場合、SSDドライバ103は、エラー通知を上位ジョブ102へ返して(S120)、処理を終了する(END)。
一方、副ページが不良でなく(S105:NO)、正常にデータをリードできた場合、SSDドライバ103は、その副ページからリードしたデータを、対象ページ番号の新たな正ページにライトする(S106)。ここで、SSDドライバ103は、新たな正ページに正しくデータがライトされたか否かを確認してもよい。例えば、SSDドライバ103は、新たな正ページからデータをリードし、そのリードしたデータが先ほどライトしたデータと一致する場合、データが正しくライトされたと判定してもよい。
SSDドライバ103は、副ページからリードしたデータを、上位ジョブ102へ返し(S107)、処理を終了する(END)。
る。
る。
図6は、キャッシュ用SSD23に対するライト処理の一例のフローチャートを示す。この図6は、図3の処理の詳細に相当する。
SSDドライバ103は、上位ジョブ102からライトコマンド及びライト用のデータを受けると、次の処理を行う。SSDドライバ103は、ライトコマンドが指定するページ番号(「対象ページ番号」という)の正ページからデータのリードを行う(S201)。
ここで、正ページが不良でなく(S202:NO)、正常にデータをリードできた場合、SSDドライバ103は、正ページからリードしたデータとライト対象のデータとを合成(オーバーライト)して合成データを生成する(S210)。そして、SSDドライバ103は、その合成データを、対象ページ番号に対応する新たな正ページ及び新たな副ページにライトし(S211)、処理を終了する(END)。
一方、正ページが不良であり(S202:YES)、正常にデータをリードできなかった場合、SSDドライバ103は、次の処理を行う。
SSDドライバ103は、対象ページ番号に、不良な正ページに代えて、空きページを割り当てる(S203)。この新たに割り当てられた空きページを「新たな正ページ」という。
SSDドライバ103は、正ページに対応する副ページからデータをリードする(S204)。ここで、副ページも不良であり(S205:YES)、正常にデータをリードできなかった場合、SSDドライバ103は、エラー通知を上位ジョブ102へ返して(S220)、処理を終了する(END)。
一方、副ページが不良でなく(S205:NO)、正常にデータをリードできた場合、SSDドライバ103は、その副ページからリードしたデータと、ライト対象のデータを合成して合成データを生成する(S206)。
そして、SSDドライバ103は、その合成データを、対象ページ番号に対応する新たな正ページ及び新たな副ページにライトする(S211)。ここで、SSDドライバ103は、新たな正ページ及び新たな副ページに正しく合成データがライトされたことを確認してもよい。例えば、SSDドライバ103は、新たな正ページ及び新たな副ページから合成データをリードし、先ほどライトした合成データと一致した場合、正しく合成データがライトされたと判定してもよい。そして、SSDドライバ103は、処理を終了する(END)。
図7は、副ページの検査処理の一例のフローチャートを示す。
検査部104は、副ページの不良の有無を検査するため、所定のタイミングで(例えば、1日1回)、次の副ページ検査処理を行う。ここで、副ページのみを検査の対象としているのは、正ページは、上述のとおり、リード処理及びライト処理のタイミングで不良の有無が検知され修復され得るからである。ただし、検査部104は、この副ページと同じように正ページを検査してもよい。
検査部104は、キャッシュ用SSD23の各副ページに対して、S301〜S306の処理を行う。ここで、各回の処理対象の副ページを「対象副ページ」という。
検査部104は、対象副ページの不良の有無を判定する(S302)。対象副ページが不良でない場合(S302:NO)、検査部104は、S306へ進む。
対象副ページが不良である場合(S302:YES)、検査部104は、次の処理を行う。検査部104は、この対象副ページに係る対象ページ番号に、不良な対象副ページに代えて、空きページを割り当てる(S303)。この新たなに割り当てられた空きページを「新たな対象副ページ」という。
検査部104は、対象副ページに対応する正ページからデータをリードする(S304)。
検査部104は、その正ページからからリードしたデータを、新たな対象副ページにライトする(S305)。ここで、検査部104は、新たな対象副ページに正しくデータがライトされたか否かを確認してもよい。例えば、検査部104は、新たな対象副ページからデータをリードし、そのリードしたデータが先ほどライトしたデータと一致する場合、データが正しくライトされたと判定してもよい。
検査部104は、全ての副ページに対してS301〜S306を行った後(S306)、処理を終了する(END)。
これにより、副ページの不良が修復され、データの二重化が維持される。すなわち、キャッシュ用SSD23の信頼性が向上する。
本実施例は、例えば、以下の作用効果を奏する。
(1)本実施例に係る正ページと副ページをそれぞれ異なるSSDに設けた場合、排他処理が必要となったり、他のコントローラにI/O要求が必要となり、正ページと副ページとの間のI/O処理が、システムの性能に大きな影響を及ぼす。これに対し、本実施例は、1つのSSD内に正ページと副ページを設け、SSDドライバ103上で処理を行うため、正ページと副ページとの間のI/O処理がシステムの性能に及ぼす影響が小さい。
(1)本実施例に係る正ページと副ページをそれぞれ異なるSSDに設けた場合、排他処理が必要となったり、他のコントローラにI/O要求が必要となり、正ページと副ページとの間のI/O処理が、システムの性能に大きな影響を及ぼす。これに対し、本実施例は、1つのSSD内に正ページと副ページを設け、SSDドライバ103上で処理を行うため、正ページと副ページとの間のI/O処理がシステムの性能に及ぼす影響が小さい。
(2)キャッシュ用SSD23の全体の記憶領域の内、必要な記憶領域の部分のみを正ページと副ページの2面構成とし、さらに、上記図6に示す修復対象の領域を副ページのみとすることにより、上記図6に示した修復処理に要する時間を短縮すると共に、その修復処理によって発生する処理負荷を低減することができる。
図8は、実施例2に係るストレージシステム1のコントローラユニット10の構成例を示す。
ストレージシステム1は、コントローラユニット10からコントローラ20が着脱可能に構成されている。また、コントローラ20からキャッシュ用SSD23が着脱可能に構成されている。キャッシュ用SSD23には、プロセッサ21で実行されるコンピュータプログラム、及び、ストレージシステムに関する構成情報などが格納されている。したがって、コントローラ20又はキャッシュ用SSD23が交換された場合、キャッシュ用SSD23に格納されている構成情報は、実際のストレージシステム1の構成と整合していないおそれがある。本実施例では、このような不整合な構成情報がリストアされて利用されてしまうことを防止する。
コントローラユニット10は、コントローラユニット10を識別可能なユニットID201を有する。また、コントローラ20も、コントローラ20を識別可能なコントローラID202を有する。そして、コントローラユニット10に新規にコントローラ20及びキャッシュ用SSD23が装着された際、コントローラ20は、自分のコントローラID202と、自分が属するコントローラユニット10のユニットID201とを、キャッシュ用SSD23に格納しておく(図8に示すユニットID211及びコントローラID212を参照)。
プロセッサ21で実行されるリストア処理部110は、ストレージシステム1の起動時に、キャッシュ用SSD23に格納されているコンピュータプログラム及び構成情報等をメインメモリ22にリストアし、プロセッサ21が構成情報等を継続して使用することを許可する。ここで、リストア処理部110は、コントローラ20又はキャッシュ用SSD23が交換されていると判断した場合、キャッシュ用SSD23に格納されている構成情報等をメインメモリ22にリストアせず、この構成情報等の使用を許可しない。実際のストレージシステム1の構成と不整合が生じるおそれがあるからである。
すなわち、リストア処理部110は、自分のコントローラ20が有するコントローラID202と、キャッシュ用SSD23に格納されているコントローラID212とを比較することにより、キャッシュ用SSD23が交換されたものであるか否かを判定する。また、リストア処理部110は、自分のコントローラ20が属するコントローラユニット10が有するユニットID201と、キャッシュ用SSD23に格納されているユニットID211とを比較することにより、自分のコントローラ20が交換されたものであるか否かを判定する。
図9は、交換パターンの一例のテーブル800を示す。
テーブル800において、例えば、レコード821は、自分の属するコントローラユニットのID(803)と、キャッシュ用SSDに格納されているユニットID(804)とが一致し、且つ、自分のコントローラのID(805)とキャッシュ用SSDに格納されているコントローラID(806)とが一致する場合、通常の計画的な停止後の再起動であり(802)、キャッシュ用SSD23及びコントローラ20は交換されていないと判断してよいことを表す。よって、リストア処理部110は、レコード821に該当する場合、キャッシュ用SSD23に格納されている構成情報等を、メインメモリ22にリストア可能(807)と判断してよい。
例えば、レコード822、825、826、828は、キャッシュ用SSD23内にユニットID(804)及びコントローラID(806)の何れもが格納されていない(NULLである)場合、少なくともキャッシュ用SSD23が交換されたか(802)、若しくは、ストレージシステム1の初めての起動である(802)と判断してよいことを表す。よって、リストア処理部110は、レコード822、825、826、828の何れかに該当する場合、キャッシュ用SSD23に格納されている構成情報等を、メインメモリ22にリストア不可(807)と判断してよい。
例えば、レコード823は、自分の属するコントローラユニットのID(803)とキャッシュ用SSD内のユニットID(804)とが一致し、且つ、自分のコントローラのID(805)とキャッシュ用SSD内のコントローラID(806)とが一致しない場合、キャッシュ用SSD23は交換されず、コントローラ20のみの交換である(802)と判断してよいことを表す。よって、リストア処理部110は、レコード823に該当する場合、キャッシュ用SSD23に格納されている構成情報等を、メインメモリ22にリストア可能(807)と判断してよい。
例えば、レコード824は、自分の属するコントローラユニットのID(803)とキャッシュ用SSD23内のユニットID(804)とが一致せず、且つ、自分のコントローラのID(805)とキャッシュ用SSD23内のコントローラID(806)とが一致する場合、キャッシュ用SSD23は交換されず、コントローラユニット10のみの交換である(802)と判断してよいことを表す。よって、リストア処理部110は、レコード824に該当する場合、キャッシュ用SSD23に格納されている構成情報等を、メインメモリ22にリストア可能(807)と判断してよい。
例えば、レコード827は、自分の属するコントローラユニットのID(803)とキャッシュ用SSD23内のユニットID(804)とが一致せず、且つ、自分のコントローラのID(805)とキャッシュ用SSD23内のコントローラID(806)も一致しない場合、コントローラユニット10及びコントローラ20が交換された(802)と判断してよいことを表す。よって、リストア処理部110は、レコード827に該当する場合、キャッシュ用SSD23に格納されている構成情報等を、メインメモリ22にリストア不可(807)と判断してよい。
図10は、リストア処理の一例のフローチャートを示す。
リストア処理部110は、自分のコントローラが有するコントローラIDと、自分のコントローラが属するコントローラユニットのIDとを取得する(S401)。
リストア処理部110は、その取得したコントローラIDと、キャッシュ用SSD内のコントローラIDとが一致するか否かを判定する(S402)。
その取得したコントローラIDと、キャッシュ用SSD内のコントローラIDとが一致する場合(S402:YES)、リストア処理部110は、キャッシュ用SSDに格納されている構成情報等を、メインメモリ22にリストアし(S403)、S420へ進む。
その取得したコントローラIDと、キャッシュ用SSD内のコントローラIDとが一致しない場合(S402:NO)、リストア処理部110は、次に、その取得したユニットIDと、キャッシュ用SSD内のユニットIDとが一致するか否かを判定する(S410)。
その取得したユニットIDと、キャッシュ用SSD内のユニットIDとが一致する場合(S410:YES)、リストア処理部110は、キャッシュ用SSDに格納されている構成情報等を、メインメモリ22にリストアし(S403)、S420へ進む。
その取得したユニットIDと、キャッシュ用SSD内のユニットIDとが一致しない場合(S410:NO)、リストア処理部110は、キャッシュ用SSDに格納されている構成情報等を破棄(削除)し(S412)、S420へ進む。
S420において、リストア処理部110は、その取得したコントローラID及びユニットIDを、キャッシュ用SSDに格納(更新登録)し、処理を終了する(END)。
以上の処理により、リストア処理部110は、ストレージシステム1の実際の構成と整合しない構成情報等がリストアされることを防止すると共に、ストレージシステム1の実際の構成と整合する構成情報等についてはリストアすることができる。
上述した実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
上述の本実施例は、以下の様に表現することができる。
<表現1>
プロセッサと、記憶デバイスとを備え、
前記プロセッサは、
前記記憶デバイス内の物理的な記憶領域を構成する複数の区画を正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、
正区画にライトしたデータを、前記正区画に対応する副区画にもライトする
ストレージシステム。
<表現2>
前記プロセッサは、
前記記憶デバイス内の全体の物理的な記憶領域の一部の記憶領域を、正区画と副区画とに分けて管理する
表現1に記載のストレージシステム。
<表現3>
前記プロセッサは、
前記一部の記憶領域に、当該ストレージシステムの構成に関する情報である構成情報を格納し、それ以外の記憶領域に、リード及びライトの処理で用いられるキャッシュデータを格納する
表現2に記載のストレージシステム。
<表現4>
前記記憶デバイスは、複数のフラッシュメモリから構成されるSSD(Solid State Drive)である
表現1乃至3の何れか1に記載のストレージシステム。
<表現5>
前記プロセッサは、
リード先の第1の正区画が不良であった場合、前記第1の正区画に対応する第1の副区画からデータをリードし、そのリードしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第1の正区画を、前記第1の正区画に代えて前記第1の副区画と対応付ける
表現1乃至4の何れか1に記載のストレージシステム。
<表現6>
前記プロセッサは、
前記新たな第1の正区画からデータをリードし、そのリードしたデータと、前記第1の副区画からリードしたデータとが一致するか否かを判定する
表現5に記載のストレージシステム。
<表現7>
前記プロセッサは、
ライト先の第2の正区画が不良であった場合、前記第2の正区画に対応する第2の副区画にデータをライトし、そのライトしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第2の正区画を、前記第2の正区画に代えて前記第2の副区画と対応付ける
表現1乃至6の何れか1に記載のストレージシステム。
<表現8>
前記プロセッサは、
ライト先の第3の正区画が不良であった場合、前記第3の正区画に対応する第3の副区画からデータをリードし、そのリードしたデータにライト対象のデータをオーバーライトした合成データを生成し、その合成データを、ライト可能な空き区画にライトし、その合成データのライトされた空き区画である新たな第3の正区画を、前記第3の正区画に代えて前記第3の副区画と対応付ける
表現1乃至7の何れか1に記載のストレージシステム。
<表現9>
前記プロセッサは、
前記複数の副区画の各々の不良を検査し、第4の副区画が不良であった場合、前記第4の副区画に対応する第4の正区画からデータをリードし、そのリードしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第4の副区画を、前記第4の副区画に代えて前記第4の正区画と対応付ける
表現1乃至8の何れか1に記載のストレージシステム。
<表現10>
コントローラと、ユニットとを有し、
前記コントローラには、コントローラIDが付与され、前記プロセッサと、着脱可能な前記記憶デバイスとが備えられ、
前記ユニットには、ユニットIDが付与され、着脱可能な前記コントローラが備えられ、
前記プロセッサは、
前記記憶デバイスに格納されているコントローラIDと、自分のプロセッサが属するコントローラに付与されているコントローラIDとが一致せず、且つ、前記記憶デバイスに格納されているユニットIDと、自分のプロセッサが属するユニットに付与されているユニットIDとが一致しない場合、前記記憶デバイス内の前記一部の記憶領域に格納されている前記構成情報の使用を許可しない
表現1乃至9の何れか1に記載のストレージシステム。
<表現11>
前記プロセッサは、
前記記憶デバイスに格納されているコントローラIDと、自分のプロセッサが属するコントローラに付与されているコントローラIDとが一致するか、又は、前記記憶デバイスに格納されているユニットIDと、自分のプロセッサが属するユニットに付与されているユニットIDとが一致する場合、前記記憶デバイス内の前記一部の記憶領域に格納されている前記構成情報の使用を許可する
表現10に記載のストレージシステム。
<表現12>
前記プロセッサは、
前記構成情報の使用を許可しないとした場合、自分のプロセッサが属するコントローラに付与されているコントローラIDと、自分のプロセッサが属するユニットに付与されているユニットIDとを、前記記憶デバイスに格納する
表現10又は11に記載のストレージシステム。
<表現13>
ストレージシステムに備えられているプロセッサと、記憶デバイスとにおいて、
前記記憶デバイス内の物理的な記憶領域を構成する複数の区画を正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、
正区画にライトしたデータを、前記正区画に対応する副区画にもライトする
記憶制御方法。
<表現1>
プロセッサと、記憶デバイスとを備え、
前記プロセッサは、
前記記憶デバイス内の物理的な記憶領域を構成する複数の区画を正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、
正区画にライトしたデータを、前記正区画に対応する副区画にもライトする
ストレージシステム。
<表現2>
前記プロセッサは、
前記記憶デバイス内の全体の物理的な記憶領域の一部の記憶領域を、正区画と副区画とに分けて管理する
表現1に記載のストレージシステム。
<表現3>
前記プロセッサは、
前記一部の記憶領域に、当該ストレージシステムの構成に関する情報である構成情報を格納し、それ以外の記憶領域に、リード及びライトの処理で用いられるキャッシュデータを格納する
表現2に記載のストレージシステム。
<表現4>
前記記憶デバイスは、複数のフラッシュメモリから構成されるSSD(Solid State Drive)である
表現1乃至3の何れか1に記載のストレージシステム。
<表現5>
前記プロセッサは、
リード先の第1の正区画が不良であった場合、前記第1の正区画に対応する第1の副区画からデータをリードし、そのリードしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第1の正区画を、前記第1の正区画に代えて前記第1の副区画と対応付ける
表現1乃至4の何れか1に記載のストレージシステム。
<表現6>
前記プロセッサは、
前記新たな第1の正区画からデータをリードし、そのリードしたデータと、前記第1の副区画からリードしたデータとが一致するか否かを判定する
表現5に記載のストレージシステム。
<表現7>
前記プロセッサは、
ライト先の第2の正区画が不良であった場合、前記第2の正区画に対応する第2の副区画にデータをライトし、そのライトしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第2の正区画を、前記第2の正区画に代えて前記第2の副区画と対応付ける
表現1乃至6の何れか1に記載のストレージシステム。
<表現8>
前記プロセッサは、
ライト先の第3の正区画が不良であった場合、前記第3の正区画に対応する第3の副区画からデータをリードし、そのリードしたデータにライト対象のデータをオーバーライトした合成データを生成し、その合成データを、ライト可能な空き区画にライトし、その合成データのライトされた空き区画である新たな第3の正区画を、前記第3の正区画に代えて前記第3の副区画と対応付ける
表現1乃至7の何れか1に記載のストレージシステム。
<表現9>
前記プロセッサは、
前記複数の副区画の各々の不良を検査し、第4の副区画が不良であった場合、前記第4の副区画に対応する第4の正区画からデータをリードし、そのリードしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第4の副区画を、前記第4の副区画に代えて前記第4の正区画と対応付ける
表現1乃至8の何れか1に記載のストレージシステム。
<表現10>
コントローラと、ユニットとを有し、
前記コントローラには、コントローラIDが付与され、前記プロセッサと、着脱可能な前記記憶デバイスとが備えられ、
前記ユニットには、ユニットIDが付与され、着脱可能な前記コントローラが備えられ、
前記プロセッサは、
前記記憶デバイスに格納されているコントローラIDと、自分のプロセッサが属するコントローラに付与されているコントローラIDとが一致せず、且つ、前記記憶デバイスに格納されているユニットIDと、自分のプロセッサが属するユニットに付与されているユニットIDとが一致しない場合、前記記憶デバイス内の前記一部の記憶領域に格納されている前記構成情報の使用を許可しない
表現1乃至9の何れか1に記載のストレージシステム。
<表現11>
前記プロセッサは、
前記記憶デバイスに格納されているコントローラIDと、自分のプロセッサが属するコントローラに付与されているコントローラIDとが一致するか、又は、前記記憶デバイスに格納されているユニットIDと、自分のプロセッサが属するユニットに付与されているユニットIDとが一致する場合、前記記憶デバイス内の前記一部の記憶領域に格納されている前記構成情報の使用を許可する
表現10に記載のストレージシステム。
<表現12>
前記プロセッサは、
前記構成情報の使用を許可しないとした場合、自分のプロセッサが属するコントローラに付与されているコントローラIDと、自分のプロセッサが属するユニットに付与されているユニットIDとを、前記記憶デバイスに格納する
表現10又は11に記載のストレージシステム。
<表現13>
ストレージシステムに備えられているプロセッサと、記憶デバイスとにおいて、
前記記憶デバイス内の物理的な記憶領域を構成する複数の区画を正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、
正区画にライトしたデータを、前記正区画に対応する副区画にもライトする
記憶制御方法。
上記表現において、「区画」は本実施例における「ページ」に相当するものであってよい。また、「記憶デバイス」は本実施例における「キャッシュ用SSD23」に相当するものであってよい。
1:ストレージシステム 2:ホストコンピュータ 10:コントローラユニット 11:ドライブユニット 20:コントローラ 21:プロセッサ 22:メインメモリ 23:キャッシュ用SSD 32:記憶デバイス
Claims (10)
- プロセッサと、複数のフラッシュメモリから構成されるSSD(Solid State Drive)である記憶デバイスとを備えるストレージシステムであって、
前記プロセッサは、
前記記憶デバイス内の物理的な記憶領域を構成する複数の区画の内、所定の一部の記憶領域を構成する複数の区画を、正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、
前記一部の記憶領域に、当該ストレージシステムの構成に関する情報である構成情報を格納し、それ以外の記憶領域に、リード及びライトの処理で用いられるキャッシュデータを格納し、
正区画にライトしたデータを、前記正区画に対応する副区画にもライトする
ストレージシステム。 - 前記プロセッサは、
前記構成情報に係るデータを、前記一部の記憶領域を構成する複数の区画の内の第1の正区画からリードするとき、前記第1の正区画が不良であるか否かを判定し、
前記第1の正区画が不良であると判定した場合、前記第1の正区画に対応する第1の副区画からデータをリードし、そのリードしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第1の正区画を、前記第1の正区画に代えて前記第1の副区画と対応付ける
請求項1に記載のストレージシステム。 - 前記プロセッサは、
前記新たな第1の正区画からデータをリードし、そのリードしたデータと、前記第1の副区画からリードしたデータとが一致するか否かを判定する
請求項5に記載のストレージシステム。 - 前記プロセッサは、
ライト先の第2の正区画が不良であった場合、前記第2の正区画に対応する第2の副区画にデータをライトし、そのライトしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第2の正区画を、前記第2の正区画に代えて前記第2の副区画と対応付ける
請求項1に記載のストレージシステム。 - 前記プロセッサは、
ライト先の第3の正区画が不良であった場合、前記第3の正区画に対応する第3の副区画からデータをリードし、そのリードしたデータにライト対象のデータをオーバーライトした合成データを生成し、その合成データを、ライト可能な空き区画にライトし、その合成データのライトされた空き区画である新たな第3の正区画を、前記第3の正区画に代えて前記第3の副区画と対応付ける
請求項1に記載のストレージシステム。 - 前記プロセッサは、
前記複数の副区画の各々の不良を検査し、前記複数の副区画の内の第4の副区画が不良であった場合、前記第4の副区画に対応する第4の正区画から前記構成情報に係るデータをリードし、そのリードしたデータを、ライト可能な空き区画にライトし、そのデータのライトされた空き区画である新たな第4の副区画を、前記第4の副区画に代えて前記第4の正区画と対応付ける
請求項1に記載のストレージシステム。 - コントローラと、ユニットとを有し、
前記コントローラには、コントローラIDが付与され、前記プロセッサと、着脱可能な前記記憶デバイスとが備えられ、
前記ユニットには、ユニットIDが付与され、着脱可能な前記コントローラが備えられ、
前記プロセッサは、
前記記憶デバイスに格納されているコントローラIDと、自分のプロセッサが属するコントローラに付与されているコントローラIDとが一致せず、且つ、前記記憶デバイスに格納されているユニットIDと、自分のプロセッサが属するユニットに付与されているユニットIDとが一致しない場合、前記記憶デバイス内の前記一部の記憶領域に格納されている前記構成情報の使用を許可しない
請求項1に記載のストレージシステム。 - 前記プロセッサは、
前記記憶デバイスに格納されているコントローラIDと、自分のプロセッサが属するコントローラに付与されているコントローラIDとが一致するか、又は、前記記憶デバイスに格納されているユニットIDと、自分のプロセッサが属するユニットに付与されているユニットIDとが一致する場合、前記記憶デバイス内の前記一部の記憶領域に格納されている前記構成情報の使用を許可する
請求項10に記載のストレージシステム。 - 前記プロセッサは、
前記構成情報の使用を許可しないとした場合、自分のプロセッサが属するコントローラに付与されているコントローラIDと、自分のプロセッサが属するユニットに付与されているユニットIDとを、前記記憶デバイスに格納する
請求項10に記載のストレージシステム。 - ストレージシステムに備えられているプロセッサと、複数のフラッシュメモリから構成される記憶デバイスとにおいて、
前記記憶デバイス内の物理的な記憶領域を構成する複数の区画の内、所定の一部の記憶領域を構成する複数の区画を、正区画と副区画とに分け、1の正区画と1の副区画とを対応付けて管理し、
前記一部の記憶領域に、当該ストレージシステムの構成に関する情報である構成情報を格納し、それ以外の記憶領域に、リード及びライトの処理で用いられるキャッシュデータを格納し、
正区画にライトしたデータを、前記正区画に対応する副区画にもライトする
記憶制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/067336 WO2016001962A1 (ja) | 2014-06-30 | 2014-06-30 | ストレージシステム及び記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016001962A1 JPWO2016001962A1 (ja) | 2017-04-27 |
JP6175566B2 true JP6175566B2 (ja) | 2017-08-02 |
Family
ID=55018564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016530687A Expired - Fee Related JP6175566B2 (ja) | 2014-06-30 | 2014-06-30 | ストレージシステム及び記憶制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10061667B2 (ja) |
JP (1) | JP6175566B2 (ja) |
WO (1) | WO2016001962A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015168609A1 (en) * | 2014-05-02 | 2015-11-05 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
JP2019082897A (ja) * | 2017-10-31 | 2019-05-30 | 富士通株式会社 | 情報処理装置、情報処理システム及びプログラム |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05204560A (ja) * | 1992-01-23 | 1993-08-13 | Nec Corp | 磁気ディスク装置及びそのデータ復旧方法 |
US5553230A (en) * | 1995-01-18 | 1996-09-03 | Hewlett-Packard Company | Identifying controller pairs in a dual controller disk array |
US5790775A (en) * | 1995-10-23 | 1998-08-04 | Digital Equipment Corporation | Host transparent storage controller failover/failback of SCSI targets and associated units |
US6553510B1 (en) * | 1999-09-02 | 2003-04-22 | Micron Technology, Inc. | Memory device including redundancy routine for correcting random errors |
US6578158B1 (en) * | 1999-10-28 | 2003-06-10 | International Business Machines Corporation | Method and apparatus for providing a raid controller having transparent failover and failback |
JP3705731B2 (ja) * | 2000-06-05 | 2005-10-12 | 富士通株式会社 | 入出力制御装置 |
JP4818812B2 (ja) * | 2006-05-31 | 2011-11-16 | 株式会社日立製作所 | フラッシュメモリストレージシステム |
JP2003162377A (ja) | 2001-11-28 | 2003-06-06 | Hitachi Ltd | ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法 |
US20040268116A1 (en) * | 2003-06-30 | 2004-12-30 | Vasisht Virender K | Fault tolerant recovery block with reduced flash footprint |
US7454533B2 (en) * | 2004-02-06 | 2008-11-18 | Nec Corporation | Redundant path control apparatus and redundant path control method |
US7328324B2 (en) * | 2005-04-27 | 2008-02-05 | Dot Hill Systems Corp. | Multiple mode controller method and apparatus |
US7880913B2 (en) * | 2005-12-13 | 2011-02-01 | Infoprint Solutions Company, Llc | Methods and systems for segmenting logical pages into work units for processing on multiple compute systems |
US20070294598A1 (en) * | 2006-05-24 | 2007-12-20 | Gateway Inc. | Hard disk drive with built-in mirror |
US7444541B2 (en) * | 2006-06-30 | 2008-10-28 | Seagate Technology Llc | Failover and failback of write cache data in dual active controllers |
JP4305778B2 (ja) | 2006-12-28 | 2009-07-29 | コニカミノルタビジネステクノロジーズ株式会社 | メモリ装置、キャッシュ制御方法、およびキャッシュ制御プログラム |
US8615678B1 (en) * | 2008-06-30 | 2013-12-24 | Emc Corporation | Auto-adapting multi-tier cache |
US8041991B2 (en) * | 2008-11-18 | 2011-10-18 | Lsi Corporation | System and method for recovering solid state drive data |
JP2010176201A (ja) * | 2009-01-27 | 2010-08-12 | Tokai Rika Co Ltd | フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法 |
CN101576966A (zh) * | 2009-06-02 | 2009-11-11 | 中兴通讯股份有限公司 | 一种读写存储卡的方法及装置 |
JP4874368B2 (ja) * | 2009-06-22 | 2012-02-15 | 株式会社日立製作所 | フラッシュメモリを用いたストレージシステムの管理方法及び計算機 |
US20110029716A1 (en) * | 2009-07-29 | 2011-02-03 | Stec, Inc. | System and method of recovering data in a flash storage system |
US20110041016A1 (en) * | 2009-08-12 | 2011-02-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory errors and redundancy |
WO2011102429A1 (ja) * | 2010-02-19 | 2011-08-25 | 国立大学法人 東京工業大学 | ストレージ装置、その制御方法およびシステム管理プログラム |
WO2011114384A1 (en) * | 2010-03-19 | 2011-09-22 | Hitachi, Ltd. | Storage system and method for changing configuration of cache memory for storage system |
US8627065B2 (en) * | 2010-11-09 | 2014-01-07 | Cleversafe, Inc. | Validating a certificate chain in a dispersed storage network |
JP5664236B2 (ja) * | 2010-12-29 | 2015-02-04 | ソニー株式会社 | データ記憶装置、情報処理装置、および情報処理方法、並びにプログラム |
US8924778B2 (en) * | 2010-12-29 | 2014-12-30 | Lsi Corporation | Method to synchronize a replacement controller's firmware version to the native configuration database version on a simplex array |
US9424128B2 (en) * | 2011-08-12 | 2016-08-23 | Futurewei Technologies, Inc. | Method and apparatus for flexible RAID in SSD |
US20130219125A1 (en) * | 2012-02-21 | 2013-08-22 | Microsoft Corporation | Cache employing multiple page replacement algorithms |
KR101959738B1 (ko) * | 2012-05-24 | 2019-03-19 | 삼성전자 주식회사 | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 |
JP2014026376A (ja) * | 2012-07-25 | 2014-02-06 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及び記憶制御方法 |
WO2014084836A1 (en) * | 2012-11-29 | 2014-06-05 | Hewlett-Packard Development Company, L.P. | Fault tolerance in a multi-core circuit |
US9183055B2 (en) * | 2013-02-07 | 2015-11-10 | Advanced Micro Devices, Inc. | Selecting a resource from a set of resources for performing an operation |
US8959615B2 (en) * | 2013-02-25 | 2015-02-17 | Kabushiki Kaisha Toshiba | Storage system in which fictitious information is prevented |
US10002059B2 (en) * | 2013-06-13 | 2018-06-19 | Vmware, Inc. | System and method for assigning memory available for high availability failover to virtual machines |
US9465705B2 (en) * | 2014-04-15 | 2016-10-11 | Infineon Technologies Ag | Processing a target memory |
US9471428B2 (en) * | 2014-05-06 | 2016-10-18 | International Business Machines Corporation | Using spare capacity in solid state drives |
-
2014
- 2014-06-30 US US15/122,202 patent/US10061667B2/en active Active
- 2014-06-30 JP JP2016530687A patent/JP6175566B2/ja not_active Expired - Fee Related
- 2014-06-30 WO PCT/JP2014/067336 patent/WO2016001962A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US10061667B2 (en) | 2018-08-28 |
WO2016001962A1 (ja) | 2016-01-07 |
JPWO2016001962A1 (ja) | 2017-04-27 |
US20160371009A1 (en) | 2016-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015371B2 (en) | Storage apparatus and method of managing data storage area | |
US9946616B2 (en) | Storage apparatus | |
JP4958739B2 (ja) | 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム | |
US9501231B2 (en) | Storage system and storage control method | |
US10120769B2 (en) | Raid rebuild algorithm with low I/O impact | |
US10310764B2 (en) | Semiconductor memory device and storage apparatus comprising semiconductor memory device | |
WO2016067328A1 (ja) | 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス | |
JP6526235B2 (ja) | データチェック方法および記憶システム | |
JP6459644B2 (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
US20170315725A1 (en) | Changing Storage Volume Ownership Using Cache Memory | |
JP6175566B2 (ja) | ストレージシステム及び記憶制御方法 | |
JP6817340B2 (ja) | 計算機 | |
US10162573B2 (en) | Storage management system, storage management method, storage medium and information processing system | |
US11079956B2 (en) | Storage system and storage control method | |
US10915441B2 (en) | Storage system having non-volatile memory device | |
US8935488B2 (en) | Storage system and storage control method | |
US9836359B2 (en) | Storage and control method of the same | |
WO2016139774A1 (ja) | 情報処理装置、情報処理システム | |
JP6805838B2 (ja) | ディスク管理システム、ディスク管理方法、および、ディスク管理プログラム | |
JP6276208B2 (ja) | メモリシステム及びプログラム | |
US11221790B2 (en) | Storage system | |
JP6605762B2 (ja) | 記憶ドライブの故障により消失したデータを復元する装置 | |
US20180052749A1 (en) | Information processing system and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20170627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170710 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6175566 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |