WO2014108943A1 - ディスクアレイ制御装置およびサーバ - Google Patents

ディスクアレイ制御装置およびサーバ Download PDF

Info

Publication number
WO2014108943A1
WO2014108943A1 PCT/JP2013/004601 JP2013004601W WO2014108943A1 WO 2014108943 A1 WO2014108943 A1 WO 2014108943A1 JP 2013004601 W JP2013004601 W JP 2013004601W WO 2014108943 A1 WO2014108943 A1 WO 2014108943A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage device
active storage
drive
active
data
Prior art date
Application number
PCT/JP2013/004601
Other languages
English (en)
French (fr)
Inventor
秀一 稲葉
Original Assignee
株式会社 東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 東芝 filed Critical 株式会社 東芝
Publication of WO2014108943A1 publication Critical patent/WO2014108943A1/ja

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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration

Definitions

  • Embodiments described herein relate generally to a disk array control device and a server.
  • a high-speed access to a large amount of large-capacity data is realized by using a disk array including a plurality of storage devices such as HDD (Hard Disk Drive) and SSD (Solid State Drive).
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • a mechanism for reading and writing a plurality of data to and from the disk array is required, such as the well-known RAID (Redundant Arrays of Independent Disks).
  • RAID0 has a problem that the entire file system cannot be used if there is even one failed storage device in the disk array to be controlled. If the disk array is made redundant in order to cope with this problem, there is a problem that all the storage devices are duplicated as in RAID 1 and the number of storage devices increases. Moreover, even when redundancy is given to the entire storage device so as to cope with the failure of some storage devices, such as RAID 5, there is a problem that the scale of hardware increases.
  • the problem to be solved by the present invention is to provide a disk array control device and a server capable of suppressing the increase in the scale of hardware and improving the reliability.
  • the disk array control apparatus divides data by striping, writes the divided data in n active storage devices (n is 2 or more), and writes n active storage devices.
  • This is a disk array control device for reading data divided from the disk array.
  • the disk array control apparatus of the present invention divides input data from the host side into n active storage devices and outputs the divided data, and also outputs n divided data from n active storage devices.
  • Division / multiplexing means for multiplexing data and outputting it to the host side, n active storage devices, m (m is 1 or more) standby storage devices, and switching means for switching connections between the division / multiplexing means And control means for controlling the switching means.
  • the control unit includes a state acquisition unit, a determination unit, and a copy unit.
  • the status acquisition means acquires information indicating the status of each active storage device from the n active storage devices.
  • the determining means determines the active storage device that is likely to fail from the information indicating the states of the n active storage devices obtained by the state acquiring means.
  • the copy means connects the active storage device that is likely to fail and one of the standby storage devices determined by the determining means by the switching means, and connects from the active storage device that is likely to fail to the active storage device The stored contents of the active storage device that may possibly fail are copied to the standby storage device.
  • FIG. 1 is a diagram showing a general schematic configuration of a server for video distribution.
  • FIG. 2 is a diagram showing a state in which data is recorded on four drives by RAID0.
  • FIG. 3 is a diagram illustrating a schematic configuration of a server according to an embodiment.
  • FIG. 4 is a diagram illustrating a schematic configuration of a RAID card of the server according to the embodiment.
  • FIG. 5 is a flowchart illustrating a procedure for determining a drive state using the RAID card according to the embodiment.
  • FIG. 6 is a diagram for explaining the operation of each drive by the RAID card according to the embodiment.
  • FIG. 7 is a flowchart for explaining the operation when copying the contents from a drive with a high possibility of failure using the file system FAT to the standby drive using the RAID card of one embodiment.
  • the file system of the server is constructed using a disk array including a plurality of storage devices such as HDDs and SSDs (hereinafter, individual HDDs and SSDs are referred to as drives or DRIVEs).
  • the operation in normal data access is the same as in the RAID 0 system.
  • the embodiment uses one or more standby drives having a capacity equal to or greater than the capacity of the current drive used to construct a file system with RAID 0.
  • the server periodically acquires information including abnormal data reading, the number of rewrites, and temperature from the SMART information held by each drive.
  • the server acquires the temperature in the server from a thermometer provided in the server, and determines a working drive that may fail.
  • HDDs and SSDs have a function called SMART (Self-Monitoring, “Analysis” and “Reporting Technology”) for the purpose of early failure detection and failure prediction. With this function, the server can acquire the SMART information.
  • FIG. 1 shows an example of a server 100 that is a device for video distribution.
  • the server 100 reads out the content stored in the storage device and distributes the read video content via the network 40.
  • the server 100 includes a mother board 30, a storage device 10, and an I / F (interface) 20 disposed between the storage device 10 and the mother board 30.
  • the motherboard 30 includes an MPU (microprocessor) 31, a MEM (memory) 32, and an Ethernet I / F 33. Note that Ethernet is a registered trademark.
  • the server 100 uses a disk array composed of a plurality of HDDs and SSDs as the storage device 10 and uses a RAID card as the I / F 20 in order to read out data stored in the storage device 10 at high speed.
  • a plurality of drives are used as one drive.
  • a RAID card that provides this function provides a function called striping in RAID 0, for example. In striping, data to be written is divided to generate divided data, the divided data is distributed and written to a plurality of drives, and the divided data is read from the plurality of drives.
  • FIG. 2 shows a state in which data (DATA) is recorded on four drives (DRIVE1 to 4) by RAID0.
  • DATA data
  • DRIVE1 to 4 drives
  • FIG. 2 shows a state in which data (DATA) is recorded on four drives (DRIVE1 to 4) by RAID0.
  • the data is divided into four, and the four divided data are distributed and recorded in four drives.
  • FIG. 3 illustrates the server 101 of one embodiment.
  • the server 101 includes a motherboard 30, a disk array 11, and a RAID card 21 arranged between the motherboard 30 and the disk array 11.
  • the motherboard 30 includes an MPU (microprocessor) 31, a MEM (memory) 32, and an Ethernet I / F 33.
  • the disk array 11 has five drives DRIVE1 to DRIVE5.
  • the RAID card 21 operates the disk array 11 with RAID 0.
  • the server 101 is connected to an external network (not shown) via the Ethernet I / F 33.
  • the server 101 functions as a video distribution device that distributes video via a network.
  • Content is stored in the drives DRIVE1 to DRIVE5 of the disk array 11.
  • a storage device such as HDD or SSD is used.
  • the server 101 normally uses four drives with RAID 0 (striping), and further uses one drive as a standby drive.
  • the RAID card 21 is a disk array control device.
  • the RAID card 21 divides data to be written, which is called striping, generates divided data, writes the divided data to a plurality of drives, and writes the divided data from a plurality of drives. Provides a read function.
  • the number of drives is not limited to this, and other numbers such as eight may be used.
  • the number of standby drives may be two or three instead of one. If a plurality of standby drives are prepared, the RAID card 21 and the server 101 may fail in two or three drives at the same time as in the case of a single standby drive described below. Can cope with the case.
  • the RAID card 21 includes a division / multiplexing circuit 22, a matrix circuit 23, an alternative control circuit 24, and a temperature sensor.
  • the RAID card 21 for operating the disk array 11 at RAID 0 can switch the connection between the division / multiplexing circuit 22 and the five drives by the matrix circuit 23. Of the five drives, one drive is a standby drive, and the remaining four drives are active drives used in RAID0.
  • the division / multiplexing circuit 22 divides input data from the host (MPU 31) side for four active drives, generates divided data, and outputs the divided data to the matrix circuit 23.
  • the division / multiplexing circuit 22 multiplexes the divided data from the four active drives and outputs the multiplexed data to the host side.
  • the division / multiplexing circuit 22 is division / multiplexing means.
  • the matrix circuit 23 switches the connection among the four active drives, the standby drive, and the division / multiplexing circuit 22 under the control of the alternative control circuit 24.
  • the matrix circuit 23 is switching means.
  • the alternative control circuit 24 controls the matrix circuit 23 and switches the connection between the division / multiplexing circuit 22 and each drive.
  • FIG. 4 shows details of the RAID card.
  • the substitution control circuit 24 includes a copy circuit 26, a determination circuit 27, and a SMART information read circuit 28.
  • the alternative control circuit 24 performs control specific to the present embodiment. Note that the alternative control circuit 24 performs necessary operations in accordance with commands from the MPU 31.
  • the alternative control circuit 24 is a control unit that controls the switching unit.
  • the matrix circuit 23 connects the division / multiplexing circuit 22 and the four active drives.
  • the SMART information read circuit 28 reads the SMART information by the matrix circuit 23 in order to read SMART information which is a diagnostic report indicating the drive status from these drives. Connections between the circuit 28 and these drives are made and SMART information is acquired.
  • This SMART information includes data reading abnormality, number of rewrites, maximum temperature, current temperature, and the like.
  • the RAID card 21 includes a temperature sensor 25 that measures the temperature in the server 101, and the determination circuit 27 also acquires the temperature measured by the temperature sensor 25.
  • the SMART information reading circuit 28 is a state acquisition unit that acquires information indicating the state of each active storage device.
  • the determination circuit 27 determines the presence or absence of a drive that may fail, and there is a possibility of failure. Determine the highest drive. Here, it is assumed that DRIVE-E is the drive most likely to fail. Note that the MPU 31 may make this determination.
  • the determination circuit 27 is a determination unit that determines an active storage device that may fail.
  • the copy circuit 26 When a drive (DRIVE-E) that is likely to fail is found, the copy circuit 26 has no access to this DRIVE-E, and at the timing when the SMART information is not read from the DRIVE-E, DRIVE-E and DRIVE-S are connected by the matrix circuit 23 in order to read the file management information and create a copy on the standby drive (denoted as DRIVE-S). Then, the copy circuit 26 copies the contents (data and file management information) recorded in DRIVE-E to DRIVE-S.
  • the copy circuit 26 is a copy unit that connects the active storage device that may fail and one of the standby storage devices, and copies the storage contents of the active storage device that may fail to the standby storage device.
  • the SMART information reading circuit 28 acquires the data reading abnormality (number of occurrences of error correction), the number of rewrites, and the maximum temperature included in the SMART information read from each operating drive (each active drive).
  • the current temperature in the server 101 is acquired from the temperature sensor 25.
  • the determination circuit 27 determines the possibility of a drive failure from these pieces of information. When there is a high possibility of failure, the determination circuit 27 starts a copy operation by the copy circuit 26 that copies the contents recorded in the drive to the standby drive (DRIVE-S).
  • step S101 when there is a data reading abnormality (Yes in step S101), or when the number of rewrites is equal to or higher than a set value (Yes in step S103), or the maximum temperature is equal to or higher than the set value.
  • step S105 the copy operation by the copy circuit 26 is started, the corresponding drive is set to DRIVE-E, and the content recorded in this drive is copied to the standby drive (DRIVE-S) (step S102). , S104, or S106).
  • step S107 If none of these conditions is satisfied (No in steps S101, S103, and S105), it is confirmed whether the current temperature in the server 101 is equal to or higher than a set value. If the current temperature is equal to or higher than the set value (Yes in step S107), the count value of the counter that predicts the life of the drive is increased (the count value of this counter is set for each drive) (step S108). The difference in the count values of the counters of the respective drives is caused by the replacement of the drives, and the count value of the counter of the drive that has been used for the longest time is the largest.
  • Step S110 Details of the copy operation for the drive will be described later with reference to FIG.
  • the determination circuit 27 periodically performs the above processing in order for each drive operating as the active drive.
  • the drive status is monitored based on the SMART information and the temperature measured by the temperature sensor 25.
  • the present invention is not limited to these, and any drive that can be used to determine the drive status in the same manner may be used to monitor the drive status.
  • the above-described determination to be performed by reading (acquiring) information indicating the drive state is not limited to the above-described procedure, and may be performed by another determination procedure.
  • the server 101 is operated (STATE 1).
  • this drive is treated as a drive (DRIVE-E) that may fail.
  • DRIVE2 which is the replaced normal drive, becomes a new standby drive DRIVE-S (STATE4).
  • the file system used by the server 101 is file management information of a drive such as FAT (File Allocation Tables) for Microsoft (registered trademark) DOS and i-node (Index Node) for Linux (registered trademark).
  • the file management information records the position of data stored in the drive.
  • the FAT will be described as an example.
  • the recorded contents including the journal information are copied.
  • the recorded contents can be copied in the same manner for other file systems such as Ext4, NTFS, and zfs.
  • FIG. 7 includes processing in this case.
  • FIG. 7 includes processing in this case. That is, FIG. 7 and the following description explain the control by the copy circuit 26 or the copy means in these cases.
  • step S201 it is first determined whether copying of all data including file management information from DRIVE-E has been completed.
  • step S201 When copying of all data is completed (Yes in step S201), DRIVE-E is disconnected as described above (step S202).
  • step S203 it is determined whether there is a write request to DRIVE-E. If there is no write request (No in step S203), it is further determined in step S206 whether there is a read request to DRIVE-E.
  • Step S203 When there is a write request to DRIVE-E (Yes in step S203), the journal about the content of the request is recorded in DRIVE-S (step S204), and the data requested to be written is written in DRIVE-S. (Step S205), the process returns to Step S201.
  • step S207 If there is a read request to DRIVE-E instead of a write request to DRIVE-E (Yes in step S206), the FAT of DRIVE-E is confirmed (step S207). If there is no corresponding data in DRIVE-E, data is read from DRIVE-S (step S208). This is data originally requested to be written to DRIVE-E. Since the data written to DRIVE-S in step S204 does not exist in DRIVE-E, DRIVE to which data was actually written is written. Data is read from -S (step S208). On the other hand, if the corresponding data is in DRIVE-E, the data is read from DRIVE-E (step S209).
  • Step S210 If data copying has not been completed (No in step S210), a certain amount of data is copied from DRIVE-E to DRIVE-S (step S211).
  • step S210 it is further determined whether the FAT copy is complete. If the FAT copy is not completed (No in step S212), the FAT data is copied from DRIVE-E to DRIVE-S (step S213).
  • step S212 If the FAT-E FAT copy is completed (Yes in step S212), the DRIVE-S FAT is updated using the journal (step S214).
  • the stored contents of DRIVE-E are copied to DRIVE-S.
  • the RAID card 21 changes the standby drive (DRIVE-S) to a drive (DRIVE--) that is likely to fail as shown in FIG. Operate as a working drive instead of E).
  • the RAID card 21 of the present embodiment it is determined which drive has a high possibility of failure for each drive constituting the disk array 11, and the storage content of the drive is copied to the standby drive.
  • This standby drive is used in place of a drive that is highly likely to fail. Therefore, the RAID card (disk array control device) and server using RAID 0 can improve the reliability while suppressing the hardware scale.

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 Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 ディスクアレイ制御装置は:入力データをn台の現用記憶装置用に分割して出力し、またn台の現用記憶装置からのn個のデータを多重化してホスト側へ出力する分割・多重化手段と;n台の現用記憶装置、m台の待機記憶装置、および分割・多重化手段間の接続を切り替える切替手段と;切替手段を制御する制御手段とを備える。制御手段は:n台の現用記憶装置から各現用記憶装置の状態を示す情報を取得する状態取得手段と;取得されたn台の現用記憶装置の状態を示す情報から故障する可能性のある現用記憶装置を判定する判定手段と;切替手段によって、故障する可能性のある現用記憶装置と待機記憶装置の1つとを接続し、故障する可能性のある現用記憶装置から待機記憶装置への記憶内容へコピーするコピー手段とを有する。

Description

ディスクアレイ制御装置およびサーバ 関連出願の引用
 本出願は、2013年1月10日に出願した先行する日本国特許出願第2013-002270号による優先権の利益に基礎をおき、かつ、その利益を求めており、その内容全体が引用によりここに包含される。
 本発明の実施形態は、ディスクアレイ制御装置およびサーバに関する。
 近年、ビデオデータをはじめとする大量の大容量データを高速に配信することが求められている。このため複数のHDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置からなるディスクアレイを使用することで、大量の大容量データへの高速アクセスを実現している。また、このようなディスクアレイへの高速アクセスを行うためには、例えば周知のRAID(Redundant Arrays of Independent Disks)のような、ディスクアレイに対し複数のデータの読み書きを行う仕組みが必要である。
特表2008-509474号公報
 いくつかのタイプがあるRAIDの中で、RAID0を採用すると、ハードウェアの規模を小さくすることができる。しかし、RAID0では、制御対象のディスクアレイに故障した記憶装置が1つでもあると、ファイルシステム全体が使えなくなるという問題がある。また、この問題に対処するためにディスクアレイに冗長性を持たせると、RAID1のように全ての記憶装置が二重化され、記憶装置の数が増えるという問題がある。またRAID5などのように、一部の記憶装置の故障に対処できるように記憶装置全体で冗長性をもたせた場合でも、ハードウェアの規模が大きくなるという問題がある。
 本発明が解決しようとする課題は、ハードウェアの規模の大型化を抑え、また信頼性を向上させることができる、ディスクアレイ制御装置およびサーバを提供することである。
 本発明の実施形態のディスクアレイ制御装置は、ストライピングによりデータを分割し、この分割されたデータをn台(nは2以上)の現用記憶装置に分散して書き込み、またn台の現用記憶装置から分割されたデータを読み出すためのディスクアレイ制御装置である。
 本発明のディスクアレイ制御装置は、ホスト側からの入力データをn台の現用記憶装置用に分割して分割されたデータを出力し、またn台の現用記憶装置からの分割されたn個のデータを多重化してホスト側へ出力する分割・多重化手段と、n台の現用記憶装置、m台(mは1以上)の待機記憶装置、および分割・多重化手段間の接続を切り替える切替手段と、切替手段を制御する制御手段とを備える。
そして、制御手段は、状態取得手段と判定手段とコピー手段とを有する。状態取得手段は、n台の現用記憶装置から、各現用記憶装置の状態を示す情報を取得する。判定手段は、状態取得手段により得られたn台の現用記憶装置の状態を示す情報から、故障する可能性のある現用記憶装置を判定する。コピー手段は、切替手段によって、判定手段により判定された故障する可能性のある現用記憶装置と待機記憶装置の1つとを接続し、故障する可能性のある現用記憶装置から該現用記憶装置に接続された待機記憶装置へ、故障する可能性のある現用記憶装置の記憶内容をコピーする。
図1は、映像配信のためのサーバの一般的な概略構成を示す図である。 図2は、RAID0によって、データが4台のドライブへ記録された状態を示す図である。 図3は、一実施形態のサーバの概略構成を示す図である。 図4は、一実施形態のサーバのRAIDカードの概略構成を示す図である。 図5は、一実施形態のRAIDカードによる、ドライブの状態を判定する際の手順を示すフローチャートである。 図6は、一実施形態のRAIDカードによる各ドライブの運用について説明する図である。 図7は、一実施形態のRAIDカードによる、ファイルシステムFATを利用した故障する可能性の高いドライブからその内容を待機ドライブへコピーする際の動作を説明するフローチャートである。
 以下に説明する実施形態において、サーバのファイルシステムは、複数のHDDやSSD等の記憶装置(以下、個々のHDDやSSD等をドライブまたはDRIVEと称す)からなるディスクアレイを用いて構築される。通常のデータアクセスでの動作は、RAID0のシステムの場合と同一である。しかし、RAID0と異なり、実施形態は、RAID0でファイルシステムを構築するのに使用している現用ドライブの容量と等しい、或いはそれ以上の容量を持つ1個以上の待機ドライブを利用する。
 また、サーバは、定期的に、データの読み出し異常、書き換えの回数、及び温度を含む情報を、各ドライブが持つSMART情報から取得する。またサーバは、サーバに備えられた温度計からサーバ内の温度を取得し、故障する可能性のある現用ドライブを判定する。HDDやSSDは、障害の早期発見・故障の予測などを目的としてSMART(Self-Monitoring, Analysis and Reporting Technology)と呼ばれる機能を搭載している。サーバは、この機能により、上記SMART情報を取得することができる。
 図1は、映像配信用の装置であるサーバ100の一例を示す。サーバ100は、記憶装置に記憶されたコンテンツを読み出して読み出した映像コンテンツをネットワーク(Network)40経由で配信する。サーバ100は、マザーボード30と、記憶装置10と、記憶装置10とマザーボード30との間に配置されたI/F(インタフェース)20とを備える。マザーボード30は、MPU(マイクロプロセッサ)31、MEM(メモリ)32、およびEthernet I/F33を備える。なお、Ethernetは登録商標である。
 このサーバ100は、記憶装置10に記憶されたデータを高速に読み出すため、記憶装置10として、複数のHDDやSSDからなるディスクアレイを使用し、またI/F20として、RAIDカードを使用する。これによって、複数のドライブを1つのドライブのように使用する。この機能を提供するRAIDカードは、例えばRAID0では、ストライピングと呼ばれる機能を提供する。ストライピングは、書き込むデータを分割して分割されたデータを生成し、分割されたデータを複数のドライブに分散して書き込み、また分割されたデータを複数のドライブから読み出す。
 図2は、RAID0によって、データ(DATA)が4台のドライブ(DRIVE1~4)へ記録される状態を示す。RAID0によるストライピングでは、図2に示すように、データが4つに分割され、4つの分割されたデータが4つのドライブに分散されて記録される。
 次に、一実施形態のディスクアレイ制御装置およびサーバを説明する。 
図3は、一実施形態のサーバ101を示す。サーバ101は、マザーボード30、ディスクアレイ11、およびマザーボード30とディスクアレイ11の間に配置されたRAIDカード21を有する。マザーボード30は、MPU(マイクロプロセッサ)31、MEM(メモリ)32、およびEthernet I/F33を備える。ディスクアレイ11は、5台のドライブDRIVE1~DRIVE5を有する。RAIDカード21は、ディスクアレイ11をRAID0で動作させる。サーバ101は、Ethernet I/F33を介して、図示されない外部のネットワークと接続される。
 サーバ101は、ネットワーク経由で映像配信を行う映像配信装置として機能する。ディスクアレイ11のドライブDRIVE1~DRIVE5には、コンテンツが記憶される。各ドライブDRIVE1~DRIVE5には、HDD、SSDなどの記憶装置が使用される。
 サーバ101は、通常時は4台のドライブをRAID0(ストライピング)で使用し、さらに1台のドライブを待機ドライブとして使用する。
 RAIDカード21はディスクアレイ制御装置である。RAID0では、RAIDカード21は、ストライピングと呼ばれる、書き込むデータを分割して分割されたデータを生成し、分割されたデータを複数のドライブに分散して書き込み、また分割されたデータを複数のドライブから読み出す機能を提供する。
 なお、ここでは、現用ドライブとして4台のドライブを用いるサーバを説明するが、ドライブの台数はこれに限るものではなく、8台などの他の台数でもよい。また待機ドライブの台数も、1台ではなく、2台あるいは3台などであってもよい。待機ドライブを複数台用意すれば、以下に説明する待機ドライブが1台の場合と同様に、RAIDカード21及びサーバ101は、2台あるいは3台のドライブが同時期に故障する、可能性が生じた場合にも対処できる。
 本実施形態では、図3に示すように、RAIDカード21は、分割・多重化回路22、マトリクス回路23、代替制御回路24、温度センサを有する。ディスクアレイ11をRAID0で動作させるためのRAIDカード21は、マトリクス回路23によって、分割・多重化回路22と5台のドライブとの接続を切り替えることができる。5台のドライブのうち、1台のドライブは待機ドライブであり、残りの4台のドライブがRAID0で使用する現用ドライブである。
 分割・多重化回路22は、ホスト(MPU31)側からの入力データを4台の現用ドライブ用に分割して分割されたデータを生成し、分割されたデータをマトリクス回路23へ出力する。また分割・多重化回路22は、4台の現用ドライブからの分割されたデータを多重化し、多重化されたデータをホスト側へ出力する。分割・多重化回路22は、分割・多重化手段である。
 マトリクス回路23は、代替制御回路24の制御により、4台の現用ドライブと、待機ドライブと、分割・多重化回路22との間の接続を切り替える。マトリクス回路23は切替手段である。
 代替制御回路24は、マトリクス回路23を制御し、分割・多重化回路22と各ドライブ間の接続を切り替える。図4は、RAIDカードの詳細を示す。代替制御回路24は、コピー回路26、判定回路27、SMART情報読出回路28を有する。代替制御回路24は、本実施形態において特有の制御を行う。なお、代替制御回路24は、MPU31からのコマンドに応じて必要な動作を実行する。代替制御回路24は切替手段を制御する制御手段である。
 通常時は、マトリクス回路23により、分割・多重化回路22と4台の現用ドライブが接続される。一定の時間以上、これらの現用ドライブに対するアクセスが無いときに、SMART情報読出回路28は、これらのドライブからドライブの状態を示す診断レポートであるSMART情報を読み出すために、マトリクス回路23によりSMART情報読出回路28とこれらのドライブとの接続を形成し、SMART情報を取得する。このSMART情報は、データの読み出し異常、書き換えの回数、最高温度および現在の温度等を含む。また、RAIDカード21には、サーバ101内の温度を測定する温度センサ25を備えており、判定回路27は、温度センサ25で測定された温度も取得する。SMART情報読出回路28は、各現用記憶装置の状態を示す情報を取得する状態取得手段である。
 4台の現用ドライブから読み出されたSMART情報および温度センサ25で測定されたサーバ101内の温度から、判定回路27が、故障する可能性のあるドライブの有無を判断し、故障する可能性が最も高いドライブを決定する。ここでは、DRIVE-Eが故障する可能性が最も高いドライブである、と仮定する。なお、MPU31がこの判断を行ってもよい。判定回路27は、故障する可能性のある現用記憶装置を判定する判定手段である。
 故障する可能性の高いドライブ(DRIVE-E)が見つかった場合、コピー回路26は、このDRIVE-Eへのアクセスが無く、かつDRIVE-EからSMART情報が読み出されないタイミングで、DRIVE-Eのファイル管理情報を読み出し、待機ドライブ(DRIVE-Sと記す)にそのコピーを作成するため、マトリクス回路23によりDRIVE-EとDRIVE-Sとを接続する。そして、コピー回路26は、DRIVE-Eに記録されている内容(データおよびファイル管理情報)をDRIVE-Sへコピーする。コピー回路26は、故障する可能性のある現用記憶装置と待機記憶装置の1つとを接続し、故障する可能性のある現用記憶装置の記憶内容を待機記憶装置へコピーするコピー手段である。
 ここで判定回路27の動作について説明する。SMART情報読出回路28が、動作している各ドライブ(各現用ドライブ)から読み出されたSMART情報に含まれる、データの読み出し異常(エラー訂正の発生数)、書き換えの回数、最高温度を取得し、また温度センサ25からサーバ101内の現在の温度を取得する。そして、図5のフローチャートに示すように、判定回路27は、これらの情報からドライブが故障する可能性を判定する。故障する可能性の高い場合に、判定回路27は、そのドライブに記録されている内容を待機ドライブ(DRIVE-S)へコピーするコピー回路26によるコピー動作を起動する。
 具体的には、いずれかのドライブにおいて、データの読み出し異常がある場合(ステップS101でYes)、または書き換えの回数が設定値以上である場合(ステップS103でYes)、または最高温度が設定値以上である場合(ステップS105でYes)、コピー回路26によるコピー動作を起動して、該当ドライブをDRIVE-Eとし、このドライブに記録された内容を待機ドライブ(DRIVE-S)へコピーする(ステップS102、S104、またはS106)。
 また、これらのいずれの条件も満たされない場合(ステップS101、S103、およびS105でNo)には、サーバ101内の現在の温度が設定値以上か確認する。現在の温度が設定値以上である場合(ステップS107でYes)には、ドライブの寿命を予測するカウンタのカウント値を上げる(このカウンタのカウント値は各ドライブに設定される)(ステップS108)。なお、各ドライブのカウンタのカウント値の差は、ドライブの交換によって生じ、最も長く使用されているドライブのカウンタのカウント値が最も大きい。
 一方、現在の温度が設定値以上でない場合(ステップS107でNo)は、さらにこのカウンタのカウント値が設定値以上であるかを判定する。このカウンタのカウント値が設定値以上である場合(ステップS109でYes)にも、コピー回路26によるコピー動作を起動して、該当ドライブをDRIVE-Eとし、このドライブの内容を待機ドライブへコピーする(ステップS110)。なお、該当ドライブに対するコピー動作の詳細は、図7を用いて後述する。
 判定回路27は、以上の処理を、定期的に、現用ドライブとして動作している各ドライブに対して順に行う。
 本実施形態では、ドライブの状態の監視を、SMART情報と温度センサ25で測定された温度を基に行う。しかしながら、これらに限らず、ドライブの状態を同様に判断するのに利用できるものであれば、それを利用してドライブの状態を監視してもよい。またドライブの状態を示す情報を読み出して(取得して)行う上記判断を、上記手順に限らず、他の判断手順により行ってもよい。
 以上のようにして故障する可能性のあるドライブが見つかると、コピー動作が起動される。以下では、コピー動作の際の本実施形態のRAIDカード21による各ドライブの運用について説明する。
 ここでも、図6に示すように5台のドライブDRIVE1~DRIVE5があり、DRIVE5が待機ドライブ(DRIVE-S)であるとする。
 この状態でサーバ101を運用する(STATE1)。
 DRIVE2で異常が検出されると、このドライブを、故障する可能性のあるドライブ(DRIVE-E)として扱うことになる。
 この状態(STATE2)では、DRIVE2に記憶されている内容(データおよびファイル管理情報)をDRIVE5にコピーする。
 このコピーが完了すると、待機ドライブであったDRIVE5が現用ドライブとなり、故障する可能性のあるDRIVE2は切り離され(STATE3)、DRIVE2が他の正常なドライブと交換可能な状態となる。
 そして、このDRIVE2の交換が終了すると、交換された正常なドライブであるDRIVE2が新しい待機ドライブDRIVE-Sとなる(STATE4)。
 次に、DRIVE-EであるDRIVE2からDRIVE-SであるDRIVE5へ記憶内容をコピーする際の処理を、図7のフローチャートを参照して説明する。
 サーバ101で使用するファイルシステムには、Microsoft(登録商標)社のDOSであれば例えばFAT(File Allocation Tables)、Linux(登録商標)であればi-node(Index Node)といったドライブのファイル管理情報がある。ファイル管理情報はドライブの中に記憶されたデータの位置を記録している。以下では、FATを例に説明する。なお、Ext3のようにジャーナリング機能を持つファイルシステムでは、ジャーナル情報も含めて記録内容をコピーする。また、Ext4、NTFS、zfsなど他のファイルシステムについても、同様に記録内容をコピーできる。
 ところで、DRIVE-EからDRIVE-Sへのコピーを行っている間に、DRIVE-Eに対し書き換えを含め書き込みが生じる場合がある。本実施形態では、このような場合でも、その書き込みの内容をジャーナリングすることで、DRIVE-Eへの書き込みと、DRIVE-Sへの書き込みを完全に同期させる。図7は、この場合の処理も含んでいる。また、上記コピーを行っている間に、DRIVE-Eに対し読み出しが生じる場合がある。図7は、この場合の処理も含んでいる。すなわち、図7および以下の説明は、これらの場合における、コピー回路26、或いはコピー手段による制御を説明している。
 図7のフローチャートでは、まず、DRIVE-Eからの、ファイル管理情報を含むすべてのデータのコピーが完了したか判断している(ステップS201)。すべてのデータのコピーが完了すると(ステップS201でYes)、前述のようにDRIVE-Eを切り離す(ステップS202)。
 一方、すべてのデータのコピーが完了していない場合(ステップS201でNo)、すなわちコピー動作を行っている間に、上記のようにホスト側からDRIVE-Eに対し書き込み要求あるいは読み出し要求が生じる場合がある。このため、まずステップS203でDRIVE-Eへの書き込み要求があるか判断し、書き込み要求がない場合は(ステップS203でNo)、さらにステップS206でDRIVE-Eへの読み出し要求があるか判断する。
 DRIVE-Eへの書き込み要求があった場合(ステップS203でYes)、その要求の内容についてのジャーナルをDRIVE-Sに記録し(ステップS204)、書き込みを要求されたデータをDRIVE-Sに書き込んで(ステップS205)、処理をステップS201へ戻す。
 DRIVE-Eへの書き込み要求ではなく、DRIVE-Eへの読み出し要求があった場合(ステップS206でYes)、DRIVE-EのFATを確認する(ステップS207)。該当のデータがDRIVE-Eになければ、DRIVE-Sからデータを読み出す(ステップS208)。これは、本来DRIVE-Eへの書き込みを要求されたデータであり、上記ステップS204にてDRIVE-Sに書き込まれたデータは、DRIVE-Eには存在しないので、実際にデータが書き込まれたDRIVE-Sからデータを読み出している(ステップS208)。一方、該当のデータがDRIVE-Eにあれば、DRIVE-Eからデータを読み出す(ステップS209)。
 また、DRIVE-Eのコピーが完了しておらず、DRIVE-Eに対する書き込み要求および読み出し要求もない場合(ステップS201、S203、およびS206でNo)、さらにDRIVE-Eのデータコピーが完了したか判断する(ステップS210)。ここでデータコピーが完了していない場合は(ステップS210でNo)、DRIVE-EからDRIVE-Sへ一定量のデータのコピーを行う(ステップS211)。
 一方、DRIVE-Eのデータコピーが完了している場合は(ステップS210でYes)、さらにFATのコピーが完了しているか判断する(ステップS212)。ここでFATのコピーが完了していない場合(ステップS212でNo)、DRIVE-EからDRIVE-SへFATデータのコピーを行う(ステップS213)。
 DRIVE-EのFATのコピーが完了している場合は(ステップS212でYes)、上記ジャーナルを使ってDRIVE-SのFATのアップデートを行う(ステップS214)。
 以上のようにして、DRIVE-Eの記憶内容は、DRIVE-Sにコピーされる。そして、DRIVE-Eの記憶内容のDRIVE-Sへのコピーが完了すると、RAIDカード21は、図6に示したように待機ドライブ(DRIVE-S)を、故障する可能性の高いドライブ(DRIVE-E)の代わりに現用ドライブとして運用する。
 以上説明したように、本実施形態のRAIDカード21によれば、ディスクアレイ11を構成する各ドライブについて故障する可能性の高いドライブを判定し、そのドライブの記憶内容を待機ドライブにコピーして、この待機ドライブを、故障する可能性の高いドライブに代えて運用する。したがって、RAID0を利用するRAIDカード(ディスクアレイ制御装置)およびサーバは、ハードウェアの規模を抑えた上で、信頼性を向上させることができる。
 以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。その新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
 10 記憶装置
 11 ディスクアレイ
 20 I/F
 21 RAIDカード
 22 分割・多重化回路
 23 マトリクス回路
 24 代替制御回路
 25 温度センサ
 26 コピー回路
 27 判定回路
 28 SMART情報読出回路
 30 マザーボード
 31 MPU
 32 MEM
 33 Ethernet I/F
 40 Network

Claims (8)

  1.  ストライピングによりデータを分割して分割されたデータをn台(nは2以上)の現用記憶装置に分散して書き込み、また前記n台の現用記憶装置から分割されたデータを読み出すためのディスクアレイ制御装置であって、
     ホスト側からの入力データをn個に分割して、分割されたデータを出力し、また前記n台の現用記憶装置からの分割されたn個のデータを多重化して前記ホスト側へ出力する分割・多重化手段と、
     前記n台の現用記憶装置、m台(mは1以上)の待機記憶装置、および前記分割・多重化手段間の接続を切り替える切替手段と、
     前記切替手段を制御する制御手段と、を備え、
     前記制御手段は、
     前記n台の現用記憶装置から、各現用記憶装置の状態を示す情報を取得する状態取得手段と、
     前記状態取得手段により得られた前記n台の現用記憶装置の状態を示す情報から、故障する可能性のある現用記憶装置を判定する判定手段と、
     前記切替手段によって、前記判定手段により判定された故障する可能性のある現用記憶装置と前記待機記憶装置の1つとを接続し、前記故障する可能性のある現用記憶装置から該現用記憶装置に接続された前記待機記憶装置へ、前記故障する可能性のある現用記憶装置の記憶内容をコピーするコピー手段と、を有する、
     ディスクアレイ制御装置。
  2.  前記制御手段は、前記故障する可能性のある現用記憶装置から該現用記憶装置に接続された前記待機記憶装置への前記記憶内容のコピーが完了すると、前記故障する可能性のある現用記憶装置に代えて、前記n台の現用記憶装置の1つとみなして前記待機記憶装置に対して前記各手段による制御を行う、請求項1に記載のディスクアレイ制御装置。
  3.  前記コピー手段による前記記憶内容のコピーが完了する前に、ホスト側から前記故障する可能性のある現用記憶装置へのデータの書き込み要求があった場合、前記コピー手段は、前記故障する可能性のある現用記憶装置に代えて、該故障する可能性のある現用記憶装置からの前記記憶内容がコピーされている前記待機記憶装置に、当該書き込みにかかるジャーナル情報と書き込みが要求されたデータとを書き込む制御を行う、請求項1に記載のディスクアレイ制御装置。
  4.  前記コピー手段による前記記憶内容のコピーが完了する前に、ホスト側から前記故障する可能性のある現用記憶装置へのデータの読み出し要求があった場合で、前記コピー手段は、前記故障する可能性のある現用記憶装置に該当のデータがある場合、前記故障する可能性のある現用記憶装置から該当のデータを読み出し、また前記故障する可能性のある現用記憶装置に該当のデータがない場合、該故障する可能性のある現用記憶装置からの前記記憶内容がコピーされている前記待機記憶装置から該当のデータを読み出す、請求項1に記載のディスクアレイ制御装置。
  5.  前記n台の現用記憶装置を含む装置内部の現在の温度が所定の設定値以上である場合、各現用記憶装置に対応するカウンタのカウント値を上げ、いずれかの現用記憶装置に対応する前記カウンタのカウント値が所定の設定値以上となった場合、前記判定手段は、そのカウンタのカウント値が所定の設定値以上となった現用記憶装置を故障する可能性のある現用記憶装置であると判定する、請求項1に記載のディスクアレイ制御装置。
  6.  前記待機記憶装置の容量は、前記現用記憶装置の容量以上である、請求項1に記載のディスクアレイ制御装置。
  7.  前記状態取得手段は、各前記現用記憶装置からSMART(Self-Monitoring, Analysis and Reporting Technology)情報を取得する、請求項1に記載のディスクアレイ制御装置。
  8.  請求項1のディスクアレイ制御装置を備えるサーバ。
PCT/JP2013/004601 2013-01-10 2013-07-30 ディスクアレイ制御装置およびサーバ WO2014108943A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-002270 2013-01-10
JP2013002270A JP5535343B1 (ja) 2013-01-10 2013-01-10 ディスクアレイ制御装置およびサーバ

Publications (1)

Publication Number Publication Date
WO2014108943A1 true WO2014108943A1 (ja) 2014-07-17

Family

ID=51166623

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/004601 WO2014108943A1 (ja) 2013-01-10 2013-07-30 ディスクアレイ制御装置およびサーバ

Country Status (2)

Country Link
JP (1) JP5535343B1 (ja)
WO (1) WO2014108943A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10545548B2 (en) 2016-03-07 2020-01-28 Toshiba Memory Corporation Memory device and host device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129331A (ja) * 1993-11-05 1995-05-19 Fujitsu Ltd ディスクアレイ装置
JPH08249133A (ja) * 1994-12-15 1996-09-27 Internatl Business Mach Corp <Ibm> ディスク・ドライブ・アレイの故障対策の方法及びシステム
JPH10254634A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 記憶装置および記憶装置の復旧手段
JPH10283767A (ja) * 1997-04-03 1998-10-23 Xing:Kk 記憶装置の温度情報報知装置、記憶装置アレイ及び記憶装置アレイシステム
WO2009040995A1 (ja) * 2007-09-25 2009-04-02 Panasonic Corporation 情報処理装置、情報処理方法
JP2009075716A (ja) * 2007-09-19 2009-04-09 Nec Corp ディスクアレイ装置
JP2010128773A (ja) * 2008-11-27 2010-06-10 Nec Fielding Ltd ディスクアレイ装置、そのディスク管理方法及びそのディスク管理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4375062B2 (ja) * 1998-08-20 2009-12-02 株式会社日立製作所 記憶装置システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129331A (ja) * 1993-11-05 1995-05-19 Fujitsu Ltd ディスクアレイ装置
JPH08249133A (ja) * 1994-12-15 1996-09-27 Internatl Business Mach Corp <Ibm> ディスク・ドライブ・アレイの故障対策の方法及びシステム
JPH10254634A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 記憶装置および記憶装置の復旧手段
JPH10283767A (ja) * 1997-04-03 1998-10-23 Xing:Kk 記憶装置の温度情報報知装置、記憶装置アレイ及び記憶装置アレイシステム
JP2009075716A (ja) * 2007-09-19 2009-04-09 Nec Corp ディスクアレイ装置
WO2009040995A1 (ja) * 2007-09-25 2009-04-02 Panasonic Corporation 情報処理装置、情報処理方法
JP2010128773A (ja) * 2008-11-27 2010-06-10 Nec Fielding Ltd ディスクアレイ装置、そのディスク管理方法及びそのディスク管理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10545548B2 (en) 2016-03-07 2020-01-28 Toshiba Memory Corporation Memory device and host device

Also Published As

Publication number Publication date
JP2014134945A (ja) 2014-07-24
JP5535343B1 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
US11726850B2 (en) Increasing or decreasing the amount of log data generated based on performance characteristics of a device
US8473779B2 (en) Systems and methods for error correction and detection, isolation, and recovery of faults in a fail-in-place storage array
JP4606455B2 (ja) ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US9395938B2 (en) Storage control device and method for controlling storage devices
US20150234709A1 (en) Storage controller, storage system, and control method
WO2013157032A1 (en) Storage subsystem and data management method of storage subsystem
KR101251245B1 (ko) 연결 단절된 디스크의 콘텐츠 재구성 방법 및 시스템, 컴퓨터 판독가능한 매체
KR20090073099A (ko) 전역 핫 스패어 디스크를 이용한 고장난 드라이브의 재구성및 카피백 방법
US9417964B2 (en) Destaging cache data using a distributed freezer
US20100100677A1 (en) Power and performance management using MAIDx and adaptive data placement
US20170139605A1 (en) Control device and control method
US20120221813A1 (en) Storage apparatus and method of controlling the same
US20070101188A1 (en) Method for establishing stable storage mechanism
JP2010049637A (ja) 計算機システム、ストレージシステム及び構成管理方法
US20070245081A1 (en) Storage system and performance tuning method thereof
WO2014108943A1 (ja) ディスクアレイ制御装置およびサーバ
US10409663B2 (en) Storage system and control apparatus
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
US9760423B2 (en) Storage system and control apparatus
JP5691227B2 (ja) ストレージ装置及びその制御方法
JP6613603B2 (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
JP2014041523A (ja) データ管理装置、及び、データ管理方法
US20210247934A1 (en) Storage system and processing method
US20230244385A1 (en) Storage apparatus and control method
JP6558012B2 (ja) ストレージ管理装置、ストレージシステム、ストレージ管理方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13870859

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13870859

Country of ref document: EP

Kind code of ref document: A1