[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4486633B2 - Disk array device - Google Patents

Disk array device Download PDF

Info

Publication number
JP4486633B2
JP4486633B2 JP2006310248A JP2006310248A JP4486633B2 JP 4486633 B2 JP4486633 B2 JP 4486633B2 JP 2006310248 A JP2006310248 A JP 2006310248A JP 2006310248 A JP2006310248 A JP 2006310248A JP 4486633 B2 JP4486633 B2 JP 4486633B2
Authority
JP
Japan
Prior art keywords
data
disk drive
hard disk
read
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006310248A
Other languages
Japanese (ja)
Other versions
JP2007128527A (en
Inventor
東 加納
卓二 小河
育哉 八木沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006310248A priority Critical patent/JP4486633B2/en
Publication of JP2007128527A publication Critical patent/JP2007128527A/en
Application granted granted Critical
Publication of JP4486633B2 publication Critical patent/JP4486633B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、ディスクアレイ装置に関する。   The present invention relates to a disk array device.

近年、ディスクアレイ装置における記憶容量の増大に伴い、情報処理システムにおける重要性は益々高まってきている。そこで、情報処理装置等からのデータ入出力要求に対して、要求された位置に正しくデータの書き込みを行うこと、読み出したデータが不正である場合にはそれを検知することが重要である。   In recent years, as the storage capacity of disk array devices has increased, the importance of information processing systems has been increasing. Therefore, it is important to correctly write data at a requested position in response to a data input / output request from an information processing apparatus or the like, and to detect when the read data is invalid.

特許文献1においては、磁気ディスク装置に2つのヘッドを持たせ、同一のデータを2つのヘッドから読み出して比較することにより、磁気ディスク装置における書き込み及び読み出しの信頼性を高める方法が開示されている。
特開平5−150909号公報
Japanese Patent Application Laid-Open No. 2004-151561 discloses a method of improving the reliability of writing and reading in a magnetic disk device by providing the magnetic disk device with two heads and reading the same data from the two heads for comparison. .
Japanese Patent Laid-Open No. 5-150909

特許文献1の方法をディスクアレイ装置に適用する場合、各磁気ディスクにヘッドを2つ持たせる必要があるため、ハードディスクドライブの製造単価が高くなってしまう。そこで、ヘッドの追加等の物理的な構造の変更を行うことなく、ハードディスクドライブにおける信頼性を高める方法が求められている。   When the method of Patent Document 1 is applied to a disk array device, it is necessary to have two heads for each magnetic disk, resulting in an increase in the manufacturing cost of the hard disk drive. Therefore, there is a demand for a method for improving the reliability of the hard disk drive without changing the physical structure such as addition of a head.

また、ディスクアレイ装置においては、ファイバチャネルのハードディスクドライブに加えて、シリアルATAやパラレルATA等のハードディスクドライブ等も利用されはじめている。これは、シリアルATAやパラレルATA等のハードディスクドライブは、ファイバチャネルのハードディスクドライブと比較して信頼性は劣るが価格が低いためである。そこで、このようにファイバチャネルとシリアルATA等の規格のハードディスクドライブを組み合わせて構成するディスクアレイ装置において、ファイバチャネル以外のハードディスクドライブにおける信頼性を高める方法が求められている。   In addition, in addition to fiber channel hard disk drives, hard disk drives such as serial ATA and parallel ATA have begun to be used in disk array devices. This is because hard disks such as serial ATA and parallel ATA are less reliable but less expensive than fiber channel hard disk drives. Therefore, a method for improving the reliability of hard disk drives other than the fiber channel is demanded in the disk array apparatus configured by combining the hard disk drives of the standard such as the fiber channel and the serial ATA.

本発明は上記課題を鑑みてなされたものであり、ディスクアレイ装置を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a disk array device.

上記目的を達成する本発明のうち主たる発明に係るディスクアレイ装置は、複数の記憶領域へのデータの書き込み及び前記複数の記憶領域からのデータの読み出しを制御するコントローラと、第1のタイプのインタフェースを有する複数の第1のタイプのディスクドライブと、第2のタイプのインタフェースを有する複数の第2のタイプのディスクドライブと、を有し、前記記憶領域を有する複数のディスクドライブと、を有し、前記コントローラは、複数の前記第1及び第2のタイプのディスクドライブとの間でデータのやりとりを行うディスク制御部と、外部との間で通信を行うチャネル制御部と前記ディスク制御部との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、外部からデータの書き込み要求を受信すると、当該データの書き込み指示を前記ディスク制御部に送信するプロセッサとを有し、前記プロセッサは、前記ディスク制御部によって前記第1又は第2のタイプのディスクドライブに書き込まれたデータが規定のサイズ以上のデータとしてのシーケンシャルデータであるか否かを判断し、前記判断結果に基づいて前記書き込まれたデータが前記シーケンシャルデータでない場合、前記キャッシュメモリと前記第1又は第2のタイプのディスクドライブから前記データの全部を読み出し、これら読み出した前記データの全部同士が一致しているか否かを比較する第1の検査を行い、前記判断結果に基づいて前記書き込まれたデータが前記シーケンシャルデータである場合、前記キャッシュメモリと前記第1又は第2のタイプのディスクドライブとから前記データの一部を読み出し、これら読み出した前記データの一部同士が一致しているか否かを比較する第2の検査を行い、前記第1又は第2の検査結果に基づいて、前記第1又は第2のタイプのディスクドライブに記憶されているデータが不正な状態であるか否かを判断することとする。
A disk array device according to a main invention of the present invention that achieves the above object includes a controller that controls writing of data to a plurality of storage areas and reading of data from the plurality of storage areas, and a first type interface A plurality of first type disk drives having a plurality of second type disk drives having a second type interface, and a plurality of disk drives having the storage area. The controller includes a disk control unit that exchanges data with the plurality of first and second type disk drives, a channel control unit that communicates with the outside, and the disk control unit. When receiving a cache memory for temporarily storing data exchanged between them and a data write request from the outside A processor that transmits a write instruction of the data to the disk control unit, and the processor has data written to the first or second type of disk drive by the disk control unit having a predetermined size or more. It is determined whether the data is sequential data. If the written data is not the sequential data based on the determination result, the data is transferred from the cache memory and the first or second type disk drive. The first check is performed to compare whether or not all of the read-out data match each other, and when the written data is the sequential data based on the determination result, Cache memory and first or second type disk drive A second inspection is performed to read out a part of the data from the data and compare whether or not the read data parts match each other, and based on the first or second inspection result, It is determined whether or not the data stored in the first or second type disk drive is in an illegal state .

ディスクアレイ装置を提供することができる。   A disk array device can be provided.

==装置構成==
図1(a)は本発明の一実施例として説明するディスクアレイ装置10の正面図であり、図1(b)はディスクアレイ装置10の背面図である。図2(a)は、ディスクアレイ装置10に装着される基本筐体20を正面側から見た斜視図であり、図2(b)は基本筐体20を背面側から見た斜視図である。図3(a)は、ディスクアレイ装置10に装着される増設筐体30を正面側から見た斜視図であり、図3(b)は増設筐体30を背面側から見た斜視図である。
== Device configuration ==
FIG. 1A is a front view of a disk array device 10 described as an embodiment of the present invention, and FIG. 1B is a rear view of the disk array device 10. FIG. 2A is a perspective view of the basic casing 20 mounted on the disk array device 10 as viewed from the front side, and FIG. 2B is a perspective view of the basic casing 20 as viewed from the back side. . FIG. 3A is a perspective view of the additional enclosure 30 mounted on the disk array device 10 as viewed from the front side, and FIG. 3B is a perspective view of the additional enclosure 30 as viewed from the rear side. .

図1(a),(b)に示すように、ディスクアレイ装置10は、ラックフレーム11をベースとして構成される。ラックフレーム11の内側左右側面の上下方向には、複数段にわたって前後方向にマウントフレーム12が形成され、このマウントフレーム12に沿って基本筐体20および増設筐体30が引き出し式に装着される。図2(a),(b)に示すように、基本筐体20および増設筐体30には、ディスクアレイ装置10の各種機能を提供するボードやユニットが装着されている。   As shown in FIGS. 1A and 1B, the disk array device 10 is configured with a rack frame 11 as a base. A mount frame 12 is formed in the front-rear direction across a plurality of stages in the vertical direction of the inner left and right side surfaces of the rack frame 11, and the basic chassis 20 and the additional chassis 30 are attached in a pull-out manner along the mount frame 12. As shown in FIGS. 2A and 2B, the basic chassis 20 and the additional chassis 30 are mounted with boards and units that provide various functions of the disk array device 10.

図2(a)に示すように、基本筐体20の正面上段側には、ハードディスクドライブ51が装填された複数のディスクドライブユニット52が並べて装着されている。ハードディスクドライブ51は、例えば、FC−AL規格、SCSI1(Small Computer System Interface 1)規格、SCSI2規格、SCSI3規格、パラレルATA(AT Attachment)規格、シリアルATA規格などの通信機能を提供する通信インタフェースを有するハードディスクドライブである。   As shown in FIG. 2A, a plurality of disk drive units 52 loaded with hard disk drives 51 are mounted side by side on the upper front side of the basic housing 20. The hard disk drive 51 has a communication interface that provides communication functions such as FC-AL standard, SCSI1 (Small Computer System Interface 1) standard, SCSI2 standard, SCSI3 standard, parallel ATA (AT Attachment) standard, serial ATA standard, and the like. It is a hard disk drive.

また、基本筐体20の正面下段側には、バッテリーユニット53、ハードディスクドライブ51の稼働状態などが表示される表示パネル54、フレキシブルディスクドライブ55が装着されている。バッテリーユニット53には二次電池が内蔵されている。バッテリーユニット53は、停電などによりAC/DC電源57からの電力供給が途絶えた場合に、ボードやユニットに電力を供給するバックアップ電源として機能する。表示パネル54には、ハードディスクドライブ51の稼働状態などを表示するLEDランプなどの表示デバイスが設けられている。フレキシブルディスクドライブ55は、メンテナンス用プログラムをロードする場合などに用いられる。   A battery unit 53, a display panel 54 for displaying the operating status of the hard disk drive 51, and the flexible disk drive 55 are mounted on the lower front side of the basic housing 20. The battery unit 53 contains a secondary battery. The battery unit 53 functions as a backup power source that supplies power to the board and unit when the power supply from the AC / DC power source 57 is interrupted due to a power failure or the like. The display panel 54 is provided with a display device such as an LED lamp for displaying the operating state of the hard disk drive 51 and the like. The flexible disk drive 55 is used when a maintenance program is loaded.

図2(b)に示すように、基本筐体20の背面上段側の両側面側には、1枚ずつ電源コントローラボード56が装着されている。電源コントローラボード56は、複数のハードディスクドライブ51と通信可能に接続されている。電源コントローラボード56と複数のハードディスクドライブ51は、ループ状の通信経路、例えば、FC−ALの方式(トポロジー)で通信を行う通信経路によって通信可能に接続されている。   As shown in FIG. 2B, the power controller boards 56 are mounted one by one on both side surfaces of the upper side of the back surface of the basic housing 20. The power controller board 56 is communicably connected to the plurality of hard disk drives 51. The power controller board 56 and the plurality of hard disk drives 51 are communicably connected via a loop communication path, for example, a communication path that performs communication using an FC-AL system (topology).

電源コントローラボード56は、AC/DC電源57の状態監視やハードディスクドライブ51の状態監視、ハードディスクドライブ51の電源供給の制御、冷却装置の冷却能力の制御、表示パネル54上の表示デバイスの制御、筐体各部の温度監視などを行う回路が実装されている。なお、冷却装置は、ディスクアレイ装置10内や筐体20,30内を冷却する装置であり、例えば、インタークーラー、ヒートシンク、空冷式の冷却ファンなどである。電源コントローラボード56にはファイバチャネルケーブルのコネクタ67が設けられ、このコネクタにはファイバチャネルケーブル91が接続される。   The power controller board 56 monitors the status of the AC / DC power source 57, monitors the status of the hard disk drive 51, controls the power supply of the hard disk drive 51, controls the cooling capacity of the cooling device, controls the display devices on the display panel 54, A circuit that monitors the temperature of each part of the body is mounted. The cooling device is a device that cools the inside of the disk array device 10 and the housings 20 and 30, and is, for example, an intercooler, a heat sink, an air cooling type cooling fan, or the like. The power controller board 56 is provided with a fiber channel cable connector 67 to which a fiber channel cable 91 is connected.

図2(b)に示すように、基本筐体20の背面上段側の前記2枚の電源コントローラボード56に挟まれた空間には、AC/DC電源57が2台並べて装着されている。AC/DC電源57は、ハードディスクドライブ51、ボード、ユニットなどに電源を供給する。AC/DC電源57は、電源コントローラボード56と接続されており、電源コントローラボード56からの信号により各ハードディスクドライブ51に電源を供給できるように設定されている。   As shown in FIG. 2B, two AC / DC power supplies 57 are mounted side by side in the space between the two power controller boards 56 on the upper rear side of the basic housing 20. The AC / DC power source 57 supplies power to the hard disk drive 51, the board, the unit, and the like. The AC / DC power source 57 is connected to the power controller board 56 and is set so that power can be supplied to each hard disk drive 51 by a signal from the power controller board 56.

なお、本実施の形態においては、各筐体20,30の電源供給に関するセキュリティを確保するために、基本筐体20および増設筐体30に電源コントローラボード56とAC/DC電源57とを各2台ずつ冗長に装着させることとしているが、電源コントローラボード56とAC/DC電源57とを各1台ずつ装着させることとしてもよい。
AC/DC電源57には、AC/DC電源57の出力をオン・オフするためのブレーカスイッチ64が設けられている。
In the present embodiment, two power controller boards 56 and two AC / DC power sources 57 are provided in the basic chassis 20 and the additional chassis 30 in order to ensure security related to power supply of the chassis 20 and 30. Although the units are mounted redundantly, the power controller board 56 and the AC / DC power source 57 may be mounted one by one.
The AC / DC power source 57 is provided with a breaker switch 64 for turning on / off the output of the AC / DC power source 57.

図2(b)に示すように、AC/DC電源57の下方には、2台の空冷式の冷却ファンユニット58が並べて装着されている。冷却ファンユニット58には、1台以上の冷却ファン66が実装されている。冷却ファン66は、筐体内に空気を流入・流出させることでハードディスクドライブ51やAC/DC電源57などから発生する熱を筐体外部に排出する。なお、基本筐体20や増設筐体30、およびこれらに装着されているボードやユニットには、筐体20,30内に空気を循環させる通気路や通気口が形成され、冷却ファン66により筐体20内の熱が外部に効率よく排出される仕組みになっている。冷却ファン66は、ハードディスクドライブ51ごとに設けることとしてもよいが、チップやユニットの数を削減できることから筐体ごとに大きな冷却ファン66を設けることが好ましい。   As shown in FIG. 2B, below the AC / DC power source 57, two air-cooling cooling fan units 58 are mounted side by side. One or more cooling fans 66 are mounted on the cooling fan unit 58. The cooling fan 66 discharges heat generated from the hard disk drive 51, the AC / DC power source 57, and the like to the outside of the casing by flowing air in and out of the casing. The basic chassis 20 and the additional chassis 30 and the boards and units attached to these are provided with air passages and vents for circulating air in the chassis 20 and 30. The heat in the body 20 is efficiently discharged to the outside. Although the cooling fan 66 may be provided for each hard disk drive 51, it is preferable to provide a large cooling fan 66 for each housing because the number of chips and units can be reduced.

冷却ファンユニット58は、コントローラボード59もしくは電源コントローラボード56と制御ライン48で接続されており、冷却ファンユニット58の冷却ファン66の回転数は、この制御ライン48を通じてコントローラボード59もしくは電源コントローラボード56により制御される。   The cooling fan unit 58 is connected to the controller board 59 or the power supply controller board 56 via the control line 48, and the number of rotations of the cooling fan 66 of the cooling fan unit 58 is controlled via the control line 48. Controlled by

図2(b)に示すように、基本筐体20の背面下段側には、1枚のコントローラボード59が装着されている。コントローラボード59には、基本筐体20および増設筐体30に装着されているハードディスクドライブ51との間の通信インタフェースと、ハードディスクドライブ51の動作の制御(例えば、RAID方式による制御)やハードディスクドライブ51の状態監視を行う回路などが実装されている。   As shown in FIG. 2B, a single controller board 59 is mounted on the lower rear side of the basic housing 20. The controller board 59 includes a communication interface with the hard disk drives 51 mounted in the basic chassis 20 and the additional chassis 30, control of the operation of the hard disk drives 51 (for example, control by a RAID system), and hard disk drives 51. A circuit that monitors the status of the system is implemented.

なお、本実施の形態において、電源コントローラボード56がハードディスクドライブ51の電源供給の制御や冷却装置の冷却能力の制御を行うこととしているが、これらの制御をコントローラボード59が行うこととしてもよい。   In the present embodiment, the power supply controller board 56 controls the power supply of the hard disk drive 51 and the cooling capacity of the cooling device. However, the controller board 59 may perform these controls.

また、本実施例においては、コントローラボード59は、情報処理装置300との間の通信インタフェースの機能、例えば、SCSI規格やファイバチャネル規格の通信機能を提供する通信インタフェースボード61や、ハードディスクドライブ51への書き込みデータや読み出しデータが記憶されるキャッシュメモリ62などを実装する形態としているが、これらを別のボートが実装する形態としてもよい。   In this embodiment, the controller board 59 is connected to a communication interface board 61 that provides a communication interface function with the information processing apparatus 300, for example, a communication function of the SCSI standard or the fiber channel standard, or the hard disk drive 51. The cache memory 62 in which the write data and the read data are stored is mounted. However, these may be mounted in another boat.

コントローラボード59に装着される通信インタフェースボード61には、情報処理装置300と接続するための、ファイバチャネル、Ethernet (登録商標)などのプロトコルで構築されたSAN(Storage Area Network)、LAN(Local Area Network)、もしくは、SCSIなどの所定のインタフェース規格に準拠した外部コネクタ63が設けられ、ディスクアレイ装置10は、このコネクタ63に接続される通信ケーブル92を介して情報処理装置300と接続される。   The communication interface board 61 mounted on the controller board 59 has a SAN (Storage Area Network), LAN (Local Area) constructed by a protocol such as Fiber Channel or Ethernet (registered trademark) for connecting to the information processing apparatus 300. Network) or an external connector 63 conforming to a predetermined interface standard such as SCSI is provided, and the disk array device 10 is connected to the information processing device 300 via a communication cable 92 connected to the connector 63.

なお、基本筐体20のハードディスクドライブ51の制御に関するセキュリティを確保するために、2枚のコントローラボード59を冗長に装着させることとしてもよい。   Note that two controller boards 59 may be mounted redundantly in order to ensure security related to the control of the hard disk drive 51 of the basic chassis 20.

図3(a)に示すように、増設筐体30の正面側には、ハードディスクドライブ51が収容された複数のディスクドライブユニット52が並べて装着されている。図3(b)に示すように、増設筐体30の背面両側面側には、それぞれ一枚ずつ電源コントローラボード56が装着されている。また、2枚の電源コントローラボード56に挟まれた空間には、AC/DC電源57が2台並べて装着されている。また、AC/DC電源57の下方には、2台の冷却ファンユニット58が並べて装着されている。AC/DC電源57には、AC/DC電源57の出力をオン・オフするためのブレーカスイッチ64が設けられている。   As shown in FIG. 3A, a plurality of disk drive units 52 in which hard disk drives 51 are accommodated are mounted side by side on the front side of the additional enclosure 30. As shown in FIG. 3B, one power controller board 56 is mounted on each side of the back side of the additional enclosure 30. Two AC / DC power sources 57 are mounted side by side in a space between the two power controller boards 56. Two cooling fan units 58 are mounted side by side below the AC / DC power source 57. The AC / DC power source 57 is provided with a breaker switch 64 for turning on / off the output of the AC / DC power source 57.

本実施の形態においては、上述したように増設筐体30の電源供給に関するセキュリティを確保するために、増設筐体30に電源コントローラボード56とAC/DC電源57とを各2台ずつ冗長に装着させることとしているが、電源コントローラボード56とAC/DC電源57とを各1台ずつ装着させることとしてもよい。なお、ハードディスクドライブ51の電源供給の制御や冷却装置の冷却能力の制御などの電源コントローラボード56の機能をコントローラボード59に実装することとしてもよい。   In the present embodiment, as described above, two power controller boards 56 and two AC / DC power sources 57 are redundantly mounted on the additional chassis 30 in order to ensure security related to the power supply of the additional chassis 30. However, the power controller board 56 and the AC / DC power source 57 may be mounted one by one. Note that the function of the power controller board 56 such as control of power supply to the hard disk drive 51 and control of the cooling capacity of the cooling device may be mounted on the controller board 59.

図4にディスクドライブユニット52に収容されているハードディスクドライブ51の構成の一例を示す。ハードディスクドライブ51は、その筐体70内に、磁気ディスク73、アクチュエータ71、スピンドルモータ72、データの読み書きを行うヘッド74、ヘッド74等の機構部分を制御する機構制御回路75、磁気ディスク73へのデータの読み書き信号を制御する信号処理回路76、通信インタフェース回路77、各種コマンドやデータが入出力されるインタフェースコネクタ79、電源コネクタ80等を備えて構成される。なお、通信インタフェース回路77には、データを一時的に格納するためのキャッシュメモリも含まれている。なお、後述するコントローラ500におけるキャッシュメモリ62と区別するため、ハードディスクドライブ51が備えるキャッシュメモリをディスクキャッシュと称する。   FIG. 4 shows an example of the configuration of the hard disk drive 51 accommodated in the disk drive unit 52. The hard disk drive 51 includes in the housing 70 a magnetic disk 73, an actuator 71, a spindle motor 72, a head 74 that reads and writes data, a mechanism control circuit 75 that controls mechanical parts such as the head 74, and the magnetic disk 73. A signal processing circuit 76 for controlling data read / write signals, a communication interface circuit 77, an interface connector 79 for inputting / outputting various commands and data, a power connector 80, and the like are provided. The communication interface circuit 77 also includes a cache memory for temporarily storing data. Note that the cache memory provided in the hard disk drive 51 is referred to as a disk cache in order to distinguish it from a cache memory 62 in the controller 500 described later.

ハードディスクドライブ51は、例えば、コンタクトスタートストップ(CSS:Contact Start Stop)方式の3.5インチサイズの磁気ディスクや、ロード/アンロード方式の2.5インチサイズの磁気ディスクなどを備える記憶装置である。3.5インチサイズの磁気ディスクは、例えば、SCSI1、SCSI2、SCSI3、FC−ALなどの通信インタフェースを有している。一方、2.5インチサイズの磁気ディスクは、例えば、パラレルATA、シリアルATAなどの通信インタフェースを有している。   The hard disk drive 51 is a storage device including, for example, a contact start stop (CSS) 3.5-inch magnetic disk or a load / unload 2.5-inch magnetic disk. . The 3.5-inch magnetic disk has a communication interface such as SCSI1, SCSI2, SCSI3, FC-AL, for example. On the other hand, a 2.5-inch magnetic disk has a communication interface such as parallel ATA and serial ATA.

2.5インチサイズの磁気ディスクをディスクアレイ装置10の筐体20,30に収容する場合には、3.5インチの形状をした容器に収めるようにしてもよい。これにより、磁気ディスクの衝撃耐力性能を向上させることが可能となる。なお、2.5インチサイズの磁気ディスクと3.5インチサイズの磁気ディスクとは、通信インタフェースが異なるだけではなく、I/O性能、消費電力、寿命の点などで異なっている。2.5インチサイズの磁気ディスクは、3.5インチサイズの磁気ディスクに比べ、I/O性能が優れておらず、寿命が短い。しかし、3.5インチサイズの磁気ディスクに比べ、消費電力が少ないという点で優れている。   When a 2.5-inch magnetic disk is accommodated in the casings 20 and 30 of the disk array device 10, it may be accommodated in a container having a 3.5-inch shape. Thereby, it is possible to improve the impact strength performance of the magnetic disk. Note that the 2.5-inch magnetic disk and the 3.5-inch magnetic disk differ not only in the communication interface but also in terms of I / O performance, power consumption, life, and the like. A 2.5-inch magnetic disk does not have excellent I / O performance and has a short life compared to a 3.5-inch magnetic disk. However, it is superior in that it consumes less power than a 3.5-inch magnetic disk.

==ディスクアレイ装置のハードウェア構成==
図5は、本発明の一実施例として説明するディスクアレイ装置10のハードウェア構成を示すブロック図である。
== Hardware configuration of disk array device ==
FIG. 5 is a block diagram showing a hardware configuration of the disk array device 10 described as an embodiment of the present invention.

図5に示すように、ディスクアレイ装置10には、SANを介して情報処理装置300が接続されている。情報処理装置300は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどである。   As shown in FIG. 5, an information processing device 300 is connected to the disk array device 10 via a SAN. The information processing apparatus 300 is, for example, a personal computer, a workstation, a mainframe computer, or the like.

ディスクアレイ装置10は、前述したように、基本筐体20と1つ又は複数の増設筐体30を備えている。本実施の形態においては、基本筐体20は、コントローラ500、ハードディスクドライブ51などを備えている。コントローラ500は、チャネル制御部501、ディスク制御部502、CPU503、メモリ504、キャッシュメモリ62、及びデータコントローラ505などを備えており、前述のコントローラボード59に実装されている。また、増設筐体30は、ハードディスクドライブ51などを備えている。基本筐体及び増設筐体のハードディスクドライブ51は、FC−AL506により、ディスク制御部502と通信可能に接続されている。なお、ディスク制御部502とハードディスクドライブ51との接続形態の詳細については後述する。   As described above, the disk array device 10 includes the basic chassis 20 and one or a plurality of additional chassis 30. In the present embodiment, the basic chassis 20 includes a controller 500, a hard disk drive 51, and the like. The controller 500 includes a channel control unit 501, a disk control unit 502, a CPU 503, a memory 504, a cache memory 62, a data controller 505, and the like, and is mounted on the controller board 59 described above. The expansion enclosure 30 includes a hard disk drive 51 and the like. The hard disk drives 51 of the basic chassis and the additional chassis are connected to the disk controller 502 via the FC-AL 506 so as to be communicable. Details of the connection form between the disk control unit 502 and the hard disk drive 51 will be described later.

チャネル制御部501は情報処理装置300との間で通信を行うインタフェースである。チャネル制御部501は、ファイバチャネルプロトコルに従ってブロックアクセス要求を受け付ける機能を有する。   The channel control unit 501 is an interface that performs communication with the information processing apparatus 300. The channel control unit 501 has a function of accepting a block access request according to the fiber channel protocol.

ディスク制御部502は、CPU503からの指示により、ハードディスクドライブ51との間でデータのやりとりを行うインタフェースである。ディスク制御部502は、ハードディスクドライブ51を制御するコマンドなどを規定するプロトコルに従ってハードディスクドライブ51に対するデータ入出力要求を送信する機能を備える。   The disk control unit 502 is an interface that exchanges data with the hard disk drive 51 in accordance with an instruction from the CPU 503. The disk control unit 502 has a function of transmitting a data input / output request to the hard disk drive 51 in accordance with a protocol that defines a command or the like for controlling the hard disk drive 51.

CPU503は、ディスクアレイ装置10の全体の制御を司るもので、メモリ504に格納されたマイクロプログラムを実行することにより、チャネル制御部501、ディスク制御部502、及びデータコントローラ506等の制御を行う。マイクロプログラムとは、図6に示すデータREAD処理601やデータWRITE処理602などである。   The CPU 503 governs overall control of the disk array device 10 and controls the channel control unit 501, the disk control unit 502, the data controller 506, and the like by executing a microprogram stored in the memory 504. The microprogram includes the data READ process 601 and the data WRITE process 602 shown in FIG.

キャッシュメモリ62は、チャネル制御部501とディスク制御部502との間で授受されるデータを一時的に記憶するために用いられる。   The cache memory 62 is used for temporarily storing data exchanged between the channel control unit 501 and the disk control unit 502.

データコントローラ505は、CPU503の制御によりチャネル制御部501とキャッシュメモリ62との間又はキャッシュメモリ62とディスク制御部502との間のデータ転送を行うものである。   The data controller 505 performs data transfer between the channel control unit 501 and the cache memory 62 or between the cache memory 62 and the disk control unit 502 under the control of the CPU 503.

コントローラ500は、ハードディスクドライブ51をいわゆるRAID(Redundant Array of Inexpensive Disks)方式に規定されるRAIDレベル(例えば、0,1,5)で制御する機能を備えている。RAID方式においては、複数のハードディスクドライブ51が1つのグループ(以後、RAIDグループと称する)として管理されている。RAIDグループ上には、情報処理装置300からのアクセス単位である論理ボリュームが形成されており、各論理ボリュームにはLUN(Logical Unit Number)と呼ばれる識別子が付与されている。RAIDの構成情報は、図6に示すようにメモリ504にRAID構成テーブル603として記憶されており、データREAD処理601やデータWRITE処理602の実行時にCPU503により参照される。   The controller 500 has a function of controlling the hard disk drive 51 at a RAID level (for example, 0, 1, 5) defined in a so-called RAID (Redundant Array of Inexpensive Disks) method. In the RAID system, a plurality of hard disk drives 51 are managed as one group (hereinafter referred to as a RAID group). On the RAID group, a logical volume that is an access unit from the information processing apparatus 300 is formed, and an identifier called LUN (Logical Unit Number) is assigned to each logical volume. The RAID configuration information is stored in the memory 504 as a RAID configuration table 603 as shown in FIG. 6 and is referred to by the CPU 503 when the data READ process 601 or the data WRITE process 602 is executed.

なお、ディスクアレイ装置は、以上に説明した構成のもの以外にも、例えば、NFS(Network File System)などのプロトコルにより情報処理装置300からファイル名指定によるデータ入出力要求を受け付けるように構成されたNAS(Network Attached Storage)として機能するものなどであってもよい。   In addition to the configuration described above, the disk array device is configured to accept a data input / output request by specifying a file name from the information processing device 300 using a protocol such as NFS (Network File System), for example. What functions as NAS (Network Attached Storage) etc. may be used.

==ハードディスクドライブの接続形態==
次に、コントローラ500とハードディスクドライブ51との接続形態について説明する。
== Hard disk drive connection type ==
Next, a connection form between the controller 500 and the hard disk drive 51 will be described.

図7は、基本筐体20にファイバチャネルのハードディスクドライブ51が収容されている場合における、ディスク制御部502と各ハードディスクドライブ51との接続形態を示している。   FIG. 7 shows a connection form between the disk control unit 502 and each hard disk drive 51 when a fiber channel hard disk drive 51 is accommodated in the basic chassis 20.

ディスク制御部502は、FC−AL506で複数のハードディスクドライブ51と接続されている。FC−AL506は、複数のPBC(Port Bypass Circuit)602を備えている。ファイバチャネルのハードディスクドライブ51は、このPBC701を介してFC−AL506に接続されている。PBC701は、チップ化された電子スイッチであり、ディスク制御部502やハードディスクドライブ51などをバイパスし電気的にFC−AL506から除外する機能も有している。具体的には、PBC701は、障害が発生したハードディスクドライブ51をFC−AL506から切り離して、他のハードディスクドライブ51とディスク制御部502との間の通信を可能にする。   The disk control unit 502 is connected to a plurality of hard disk drives 51 by FC-AL506. The FC-AL 506 includes a plurality of PBC (Port Bypass Circuit) 602. The fiber channel hard disk drive 51 is connected to the FC-AL 506 via the PBC 701. The PBC 701 is a chip electronic switch, and has a function of bypassing the disk control unit 502 and the hard disk drive 51 and electrically excluding them from the FC-AL 506. Specifically, the PBC 701 disconnects the failed hard disk drive 51 from the FC-AL 506 and enables communication between the other hard disk drives 51 and the disk control unit 502.

また、PBC701は、FC−AL506の動作を維持したままでハードディスクドライブ51の抜き差しを可能にする。例えば、ハードディスクドライブ51が新たに装着された場合にはそのハードディスクドライブ51をFC−AL506に取り込み、ディスク制御部502との間の通信を可能にする。なお、PBC701の回路基板は、ディスクアレイ装置10のラックフレーム11に設けられているか、もしくは、その一部または全部がコントローラボード59や電源コントローラボード56に実装されていることとしてもよい。   Further, the PBC 701 enables the hard disk drive 51 to be inserted and removed while maintaining the operation of the FC-AL 506. For example, when the hard disk drive 51 is newly installed, the hard disk drive 51 is taken into the FC-AL 506 to enable communication with the disk control unit 502. The circuit board of the PBC 701 may be provided on the rack frame 11 of the disk array device 10 or may be partly or entirely mounted on the controller board 59 or the power controller board 56.

図8は、基本筐体20にシリアルATAのハードディスクドライブ51が収容されている場合における、ディスク制御部502と各ハードディスクドライブ51との接続形態を示している。   FIG. 8 shows a connection form between the disk control unit 502 and each hard disk drive 51 when the serial ATA hard disk drive 51 is accommodated in the basic chassis 20.

各ハードディスクドライブ51は、コンバータ801を介してFC−AL506のPBC701に接続されている。コンバータ801はファイバチャネルプロトコルとシリアルATAプロトコルとを変換する回路である。コンバータ801は、プロトコル変換機能が組み込まれた1つのチップであり、各ディスクドライブユニット52内に設けられている。   Each hard disk drive 51 is connected to the PBC 701 of the FC-AL 506 via a converter 801. The converter 801 is a circuit that converts the Fiber Channel protocol and the serial ATA protocol. The converter 801 is a single chip incorporating a protocol conversion function, and is provided in each disk drive unit 52.

図9は、基本筐体20にシリアルATAのハードディスクドライブ51が収容されている場合における、もう一つの接続形態を示している。   FIG. 9 shows another connection form when a serial ATA hard disk drive 51 is accommodated in the basic chassis 20.

コンバータ901は、図7におけるコンバータ801と同様にファイバチャネルプロトコルとシリアルATAプロトコルとを変換する回路である。コンバータ901はFC−AL506のPBC701に接続されており、1つのコンバータ901には、複数のハードディスクドライブ51がスイッチ902を介して接続されている。スイッチ902は、ハードディスクドライブ51が複数のコンバータ901に接続されている場合において、どのハードディスクドライブ51と通信を行うかを選択する回路である。スイッチ902は、各ディスクドライブユニット52内に設けられている。コンバータ901は、プロトコル変換機能が組み込まれた1つのチップであるか、複数の回路により構成されている。コンバータ901は、例えば「米国特許出願公開第2003/0135577号明細書」にて開示されているSATAマスタデバイスの構成により実現することが可能である。コンバータ901は、コントローラボード59や電源コントローラボード56等に実装されている。   The converter 901 is a circuit that converts the Fiber Channel protocol and the serial ATA protocol in the same manner as the converter 801 in FIG. The converter 901 is connected to the PBC 701 of the FC-AL 506, and a plurality of hard disk drives 51 are connected to one converter 901 via a switch 902. The switch 902 is a circuit that selects which hard disk drive 51 to communicate with when the hard disk drive 51 is connected to a plurality of converters 901. The switch 902 is provided in each disk drive unit 52. The converter 901 is a single chip in which a protocol conversion function is incorporated, or includes a plurality of circuits. The converter 901 can be realized by the configuration of the SATA master device disclosed in, for example, “US Patent Application Publication No. 2003/0135577”. The converter 901 is mounted on the controller board 59, the power controller board 56, and the like.

==信頼性を高めるための制御==
以上に説明したディスクアレイ装置10において、ハードディスクドライブ51からの読み出し又はハードディスクドライブ51への書き込みの信頼性を高める方法について説明する。
== Control for improving reliability ==
In the disk array device 10 described above, a method for improving the reliability of reading from or writing to the hard disk drive 51 will be described.

==RAID構成でのパリティチェック==
まず、RAID構成においてハードディスクドライブ51に記憶されているデータが不正な状態となっていないか検査する方法について説明する。ここで、不正な状態とは、データがディスク制御部502から指定された場所に指定された内容で書き込まれていない状態のことである。
== Parity check in RAID configuration ==
First, a method for inspecting whether data stored in the hard disk drive 51 in the RAID configuration is in an illegal state will be described. Here, the illegal state is a state in which data is not written with the specified content in the location specified by the disk control unit 502.

図10は、RAID5においてハードディスクドライブ51にデータが記憶されている様子を表している。RAID5においては、複数のハードディスクドライブ51によりRAIDグループ1001が形成されている。図10の例では、ハードディスクドライブ51には、データA〜DとデータA〜Dに対する誤りを検出するためのパリティデータP(A−D)が記憶されている。同様に、データE〜HとデータE〜Hに対するパリティデータP(E−H)が記憶されている。このような、データとパリティデータとの組合せのことを、ストライプグループ1002と呼ぶこととする。このようなストライプグループ1002が形成されているRAID構成において、コントローラ500はストライプグループ1002の全てのデータ及びパリティデータを読み出すことにより、データが不正な状態となっていないか検査することができる。まず、CPU503からの指示により、ディスク制御部502がデータA〜DとパリティデータP(A−D)とを読み出す。次に、CPU503は、データA〜DとパリティデータP(A−D)とでパリティチェックを行うことにより、データA〜Dのいずれかが不正な状態となっていないか検査することができる。   FIG. 10 shows a state in which data is stored in the hard disk drive 51 in RAID5. In RAID 5, a RAID group 1001 is formed by a plurality of hard disk drives 51. In the example of FIG. 10, the hard disk drive 51 stores data A to D and parity data P (AD) for detecting an error with respect to the data A to D. Similarly, data E to H and parity data P (E−H) for data E to H are stored. Such a combination of data and parity data is referred to as a stripe group 1002. In a RAID configuration in which such a stripe group 1002 is formed, the controller 500 can check whether the data is in an illegal state by reading all data and parity data of the stripe group 1002. First, in accordance with an instruction from the CPU 503, the disk control unit 502 reads the data A to D and the parity data P (AD). Next, the CPU 503 can check whether any of the data A to D is in an illegal state by performing a parity check on the data A to D and the parity data P (AD).

コントローラ500は、情報処理装置300からデータの読み出し要求を受信した際に、当該データを含むストライプグループの全てのデータとパリティデータとを読み出すようにすることもできる。これにより、コントローラ500がハードディスクドライブ51から不正なデータを読み出して情報処理装置300に送信することを防止することが可能となる。なお、不正なデータの検査はデータの読み出し要求を受信した際にかかわらず、任意のタイミングで行うこととしてもよい。これにより、データの読み出し性能に影響を与えずに、不正なデータの検出を行うことが可能となる。   When the controller 500 receives a data read request from the information processing apparatus 300, the controller 500 can read all data and parity data of the stripe group including the data. As a result, it is possible to prevent the controller 500 from reading illegal data from the hard disk drive 51 and transmitting it to the information processing apparatus 300. It should be noted that the illegal data inspection may be performed at an arbitrary timing regardless of the reception of the data read request. This makes it possible to detect illegal data without affecting the data reading performance.

また、図11に示す更新管理テーブル1101を用いて、ハードディスクドライブ51に書き込まれたデータが不正な状態となっていないか検査することができる。更新管理テーブル1101はドライブ番号とセクタ番号とで構成され、メモリ504に記憶されている。本実施の形態においてはセクタ番号はLBA(Logical Block Address)で定義されており、LBA#1−128のように128LBA単位で管理されている。なお、セクタ番号をまとめる単位は128に限らず任意の単位でよい。CPU503は、ディスク制御部502を介してデータをハードディスクドライブ51に書き込むと、更新管理テーブル1101の当該ハードディスクドライブ51の書き込みを行ったセクタの値を「1」に変更する。CPU503は、更新管理テーブル1101において「1」が記憶されているハードディスクドライブ51の対象セクタのストライプグループの全てのデータとパリティデータとをディスク制御部502を介して読み出し、パリティチェックを行う。CPU503は、読み出したデータが不正でない場合は、更新管理テーブル1101において当該セクタの値を「0」に変更する。CPU503は、チャネル制御部501を介して情報処理装置300からデータの読み出し要求を受信すると、更新管理テーブル1101を参照して当該データが記憶されているセクタが検査済みであるかどうかを確認する。当該データが記憶されているセクタが検査済みでない場合は、CPU503は前述の手順に従い当該データの属するストライプグループのデータを検査する。このように、ハードディスクドライブ51に書き込まれたデータについて、当該データに対する読み出し要求を受信する前に当該データの検査を実施しておくことにより、データの読み出し性能の低下を抑えることが可能となる。また、検査の未済を更新管理テーブル1101に記憶し、検査が行われていないデータを読み出す際にはパリティチェックを行うため、不正データの読み出しを防止することが可能となる。   Further, it is possible to check whether the data written in the hard disk drive 51 is in an illegal state using the update management table 1101 shown in FIG. The update management table 1101 includes a drive number and a sector number, and is stored in the memory 504. In the present embodiment, the sector number is defined by LBA (Logical Block Address) and is managed in units of 128 LBA, such as LBA # 1-128. The unit for grouping the sector numbers is not limited to 128 and may be an arbitrary unit. When the CPU 503 writes data to the hard disk drive 51 via the disk control unit 502, the CPU 503 changes the value of the sector in which the hard disk drive 51 has been written in the update management table 1101 to “1”. The CPU 503 reads all data and parity data of the stripe group of the target sector of the hard disk drive 51 in which “1” is stored in the update management table 1101 via the disk control unit 502 and performs a parity check. If the read data is not illegal, the CPU 503 changes the value of the sector in the update management table 1101 to “0”. When the CPU 503 receives a data read request from the information processing apparatus 300 via the channel control unit 501, the CPU 503 refers to the update management table 1101 and confirms whether the sector in which the data is stored has been inspected. If the sector in which the data is stored has not been inspected, the CPU 503 inspects the data of the stripe group to which the data belongs according to the above procedure. As described above, the data written in the hard disk drive 51 is inspected before receiving a read request for the data, so that it is possible to suppress a decrease in data read performance. In addition, since unchecked data is stored in the update management table 1101 and a parity check is performed when data that has not been checked is read, illegal data can be prevented from being read.

==WRITEデータに対する検査==
次に、ハードディスクドライブ51にデータを書き込んだ際に、当該データが正しく書き込まれているか検査する方法について説明する。
== Examination for WRITE data ==
Next, a method for checking whether or not the data is correctly written when the data is written to the hard disk drive 51 will be described.

図12は、コントローラ500がハードディスクドライブ51にデータを書き込む際のCPU503での制御を表すフローチャートである。CPU503は、チャネル制御部501を介して情報処理装置300からデータの書き込み要求を受信すると、当該データのハードディスクドライブ51への書き込み指示をディスク制御部502に送信する(S1201)。そして、CPU503は当該データが書き込まれた磁気ディスクのヘッドの位置を移動させるシーク処理の実行指示をディスク制御部に送信する(S1202)。次に、CPU503は、キャッシュメモリ62から当該データを読み出し(S1203)、磁気ディスクから当該データを読み出す(S1204)。CPU503は、キャッシュメモリ62のデータと磁気ディスクのデータとが一致しているか比較する(S1205)。2つのデータが一致していない場合、CPU503は、書き込みが正常に行われていないことを情報処理装置300に通知する(S1206)。このように、磁気ディスクに記憶されているデータとキャッシュメモリ62に記憶されているデータとを比較することにより、磁気ディスクに正しくデータが書き込まれているか確認することが可能である。また、書き込まれているデータが不正な状態となっている場合においても、データがキャッシュメモリ62に残っているため、データを失うことがない。なお、比較するデータを磁気ディスクとキャッシュメモリ62とから読み出す前に、シーク処理等により当該ハードディスクドライブが備えるヘッドを移動することにより、書き込み時にヘッドの位置が不正であった場合に、同じ位置から再度読み出すことを防止することが可能となる。   FIG. 12 is a flowchart showing control by the CPU 503 when the controller 500 writes data to the hard disk drive 51. When the CPU 503 receives a data write request from the information processing apparatus 300 via the channel control unit 501, the CPU 503 transmits an instruction to write the data to the hard disk drive 51 to the disk control unit 502 (S1201). Then, the CPU 503 transmits a seek processing execution instruction for moving the position of the head of the magnetic disk to which the data is written to the disk control unit (S1202). Next, the CPU 503 reads the data from the cache memory 62 (S1203), and reads the data from the magnetic disk (S1204). The CPU 503 compares whether the data in the cache memory 62 matches the data on the magnetic disk (S1205). If the two data do not match, the CPU 503 notifies the information processing apparatus 300 that the writing has not been performed normally (S1206). Thus, by comparing the data stored in the magnetic disk with the data stored in the cache memory 62, it is possible to confirm whether the data is correctly written on the magnetic disk. Even when the written data is in an illegal state, the data remains in the cache memory 62, so that the data is not lost. Before the data to be compared is read from the magnetic disk and the cache memory 62, the head included in the hard disk drive is moved by a seek process or the like. It becomes possible to prevent reading again.

図12の処理においては、書き込まれたデータの全部をキャッシュメモリ62と磁気ディスクとから読み出し比較することによりデータの検査を実施したが、データの全部ではなく、先頭と末尾の1セグメント等、そのデータの一部を読み出して比較することとしてもよい。例えば、シリアルATAのハードディスクドライブは、データのバックアップ等の用途に用いられるため、サイズの大きいデータ(シーケンシャルデータ)が書き込まれることが多い。このような場合、書き込みを行ったデータの全部について、磁気ディスクに記憶されているデータとキャッシュメモリ62に記憶されているデータとを比較することは、書き込み処理の性能を著しく低下させる要因となる。また、シーケンシャルデータの書き込み時に書き込み位置の誤り等が発生した場合は、そのデータの全部が不正となっている可能性が高い。そのため、データの一部を検査することでデータが不正となっているか判断可能である場合が多い。つまり、書き込みを行ったデータの一部、例えば先頭と末尾の1セグメント等について比較することにより、書き込み処理の性能低下を抑えたうえで、不正データのチェックを行うことが可能である。   In the process of FIG. 12, the data was inspected by reading and comparing all of the written data from the cache memory 62 and the magnetic disk, but not the entire data, but the first and last segments, etc. A part of the data may be read and compared. For example, since a serial ATA hard disk drive is used for data backup or the like, large data (sequential data) is often written. In such a case, comparing the data stored in the magnetic disk with the data stored in the cache memory 62 for all of the written data is a factor that significantly reduces the performance of the writing process. . If an error in the writing position occurs when writing sequential data, there is a high possibility that all of the data is illegal. For this reason, it is often possible to determine whether the data is illegal by inspecting a part of the data. In other words, by comparing a part of the written data, for example, one segment at the beginning and the end, it is possible to check illegal data while suppressing a decrease in performance of the writing process.

また、ハードディスクドライブ51に書き込まれたデータのサイズに応じて、データの検査方法を変更することとしてもよい。図13は、書き込まれたデータがシーケンシャルデータであるかどうかに応じて、検査方法を変更する処理を示すフローチャートである。CPU503は、ハードディスクドライブ51にデータを書き込む指示をディスク制御部502に送信する(S1301)。そして、CPU503は当該データが書き込まれた磁気ディスクのヘッドの位置を移動させるシーク処理の実行指示をディスク制御部に送信する(S1302)。CPU503は、当該データがシーケンシャルデータであるかどうか判断する(S1303)。なお、シーケンシャルデータであるかどうかの判断は、書き込まれたデータのサイズが既定のサイズ以上であるかどうかにより行う。CPU503は、当該データがシーケンシャルデータである場合は、キャッシュメモリ62と磁気ディスクとから当該データの先頭と末尾の1セグメントを読み出す。また、CPU503は、当該データがシーケンシャルデータでない場合は、キャッシュメモリ62と磁気ディスクとから当該データの全部を読み出す(S1306,S1307)。その後、CPU503は読み出した2つのデータが一致しているか比較し(S1308)、一致していない場合は書き込みが正常に行われていないことを情報処理装置300に通知する(S1309)。このように、書き込んだデータがシーケンシャルデータである場合は、当該データの一部について、磁気ディスクとキャッシュメモリ62とに記憶されているデータを比較することにより、書き込み処理の性能低下を抑えた上で、データの不正を検出することが可能である。また、書き込んだデータがシーケンシャルデータでない場合は、書き込んだデータの全部について、磁気ディスクとキャッシュメモリ62とに記憶されているデータを比較することにより、シーケンシャルデータの場合ほど書き込み処理の性能を著しく低下させることなく、データの不正を完全に検出することが可能である。   Further, the data inspection method may be changed according to the size of data written to the hard disk drive 51. FIG. 13 is a flowchart showing a process of changing the inspection method depending on whether the written data is sequential data. The CPU 503 transmits an instruction to write data to the hard disk drive 51 to the disk control unit 502 (S1301). Then, the CPU 503 transmits to the disk control unit an instruction to execute a seek process for moving the position of the head of the magnetic disk to which the data is written (S1302). The CPU 503 determines whether the data is sequential data (S1303). Whether or not the data is sequential data is determined based on whether or not the size of the written data is equal to or larger than a predetermined size. If the data is sequential data, the CPU 503 reads the first and last segments of the data from the cache memory 62 and the magnetic disk. If the data is not sequential data, the CPU 503 reads all of the data from the cache memory 62 and the magnetic disk (S1306, S1307). Thereafter, the CPU 503 compares whether the two read data match (S1308). If they do not match, the CPU 503 notifies the information processing apparatus 300 that the writing is not performed normally (S1309). As described above, when the written data is sequential data, a part of the data is compared with data stored in the magnetic disk and the cache memory 62, thereby suppressing a decrease in performance of the writing process. Thus, it is possible to detect data fraud. If the written data is not sequential data, the data stored in the magnetic disk and the cache memory 62 is compared for all the written data, so that the performance of the writing process is significantly reduced as compared to the sequential data. It is possible to completely detect fraud of data without causing it to occur.

ハードディスクドライブ51は、データの書き込み性能を向上させるため、コントローラ500からデータの書き込み要求を受信すると、当該データをディスクキャッシュのみに書き込み、コントローラ500に書き込み完了を通知する機能を備えている場合がある。この場合、図12および図13に説明した方法では、書き込まれたデータの検査を行うことができない。図14は、ハードディスクドライブ51がこのような機能を備えている場合において、書き込まれたデータの検査を行う処理のフローチャートを示す図である。CPU503は、ハードディスクドライブ51への書き込み回数が所定の回数を超過していないか監視している(S1401)。所定の回数を超過すると、CPU503はディスクキャッシュに記憶されているデータを磁気ディスクに書き込むよう、ディスク制御部4502を介してハードディスクドライブに通知する(S1402)。そして、CPU503は、当該データをキャッシュメモリ62と磁気ディスクとから読み出す(S1403,S1404)。CPU503は、キャッシュメモリ62のデータと磁気ディスクのデータとが一致しているか確認し(S1405)、一致していない場合は書き込みが正常に行われていないことを情報処理措置300に通知する(S1406)。これにより、前述した書き込み処理の性能を高める機能を用いた上で、データの不正を検出することが可能となる。なお、図14の処理では、書き込み回数が所定の回数を超過した場合に磁気ディスクへのデータの書き込みと書き込まれたデータの検査を行うこととしたが、所定の時間が経過した場合や、ディスクキャッシュの空領域が無くなった場合などを契機としてもよい。   In order to improve data writing performance, the hard disk drive 51 may have a function of receiving the data write request from the controller 500 and writing the data only to the disk cache and notifying the controller 500 of the write completion. . In this case, the method described in FIGS. 12 and 13 cannot check the written data. FIG. 14 is a diagram showing a flowchart of processing for inspecting written data when the hard disk drive 51 has such a function. The CPU 503 monitors whether the number of writes to the hard disk drive 51 has exceeded a predetermined number (S1401). When the predetermined number of times is exceeded, the CPU 503 notifies the hard disk drive via the disk control unit 4502 to write the data stored in the disk cache to the magnetic disk (S1402). The CPU 503 reads the data from the cache memory 62 and the magnetic disk (S1403, S1404). The CPU 503 checks whether the data in the cache memory 62 matches the data on the magnetic disk (S1405). If they do not match, the CPU 503 notifies the information processing unit 300 that the writing has not been performed normally (S1406). ). As a result, it is possible to detect data fraud while using the above-described function for improving the performance of the writing process. In the process of FIG. 14, the writing of data to the magnetic disk and the inspection of the written data are performed when the number of times of writing exceeds a predetermined number of times. It may be triggered when the cache has run out of space.

また、シリアルATAのハードディスクドライブ51においては、ヘッドの障害により、データの書き込みが正しく行われていないことが多い。そこで、ハードディスクドライブ51からデータを読み出す際に、ヘッドの障害を検出する方法を説明する。   Further, in the serial ATA hard disk drive 51, data is often not correctly written due to a head failure. Therefore, a method of detecting a head failure when reading data from the hard disk drive 51 will be described.

図15はヘッドチェック管理テーブル1501を示す図である。ヘッドチェック管理テーブル1501はドライブ番号とヘッド番号とセクタ番号とで構成され、メモリ504に記憶されている。セクタ番号は更新管理テーブル1101と同様にLBAにより定義されている。CPU503は、ディスク制御部502を介してデータをハードディスクドライブ51に書き込むと、ヘッドチェック管理テーブル1501の当該データの書き込みを行ったヘッドの当該セクタの「更新有無」の値を「1」に変更する。   FIG. 15 is a diagram showing a head check management table 1501. The head check management table 1501 includes a drive number, a head number, and a sector number, and is stored in the memory 504. The sector number is defined by LBA as in the update management table 1101. When the CPU 503 writes the data to the hard disk drive 51 via the disk control unit 502, the CPU 503 changes the value of “update presence / absence” of the sector of the head that has written the data in the head check management table 1501 to “1”. .

図16は、CPU503が実行するヘッドチェック処理のフローチャートを示す図である。CPU503は、検査ヘッド番号に初期値として1を設定する(S1601)。CPU503は、一定時間経過するのを待ち(S1602)、検査ヘッド番号で指定されるヘッドを用いて磁気ディスクの管理領域に検査用のデータを書き込む(S1603)。なお管理領域は磁気ディスク上の予め定められている記憶領域である。次にCPU503は、管理領域に書き込まれているデータを読み出し(S1604)、読み出したデータと検査用のデータとが一致しているか確認する(S1605)。   FIG. 16 is a diagram illustrating a flowchart of head check processing executed by the CPU 503. The CPU 503 sets 1 as the initial value for the inspection head number (S1601). The CPU 503 waits for a predetermined time to elapse (S1602), and writes inspection data in the management area of the magnetic disk using the head specified by the inspection head number (S1603). The management area is a predetermined storage area on the magnetic disk. Next, the CPU 503 reads the data written in the management area (S1604), and checks whether the read data matches the inspection data (S1605).

データが一致している場合、CPU503は当該ヘッドに異常が無いと判断し、ヘッドチェック管理テーブル1501の当該ヘッドの「更新有無」を「0」に変更する(S1606)。CPU503は、検査ヘッド番号に1を加算する(S1607)。検査ヘッド番号がヘッド番号の最大値より大きいか確認し(S1608)、大きい場合は検査ヘッド番号を1に設定する。CPU503は、設定されたヘッド番号について、ヘッドチェック処理を繰り返し実行する。   If the data match, the CPU 503 determines that there is no abnormality in the head, and changes the “update presence / absence” of the head in the head check management table 1501 to “0” (S1606). The CPU 503 adds 1 to the inspection head number (S1607). It is confirmed whether the inspection head number is larger than the maximum value of the head number (S1608). If it is larger, the inspection head number is set to 1. The CPU 503 repeatedly executes the head check process for the set head number.

管理領域から読み出したデータと検査用のデータとが一致していない場合、CPU503は当該ハードディスクドライブ51に異常が発生していることを情報処理装置300に通知し、処理を終了する。   If the data read from the management area does not match the inspection data, the CPU 503 notifies the information processing apparatus 300 that an abnormality has occurred in the hard disk drive 51 and ends the processing.

図17は、CPU503が情報処理装置300からデータの読み出し要求を受信した際の処理のフローチャートを示す図である。CPU503は、チャネル制御部501を介して情報処理装置300からデータの読み出し要求を受信する(S1701)。CPU503は、ヘッドチェック管理テーブル1501から、当該データが記憶されているハードディスクドライブ51の対象セクタの「更新有無」を確認する(S1702,S1703)。「更新有無」が「1」である場合は、当該ハードディスクドライブ51の当該LBAについてデータの書き込みが行われているが、前述したヘッドチェック処理が行われていない状態を示している。「更新有無」が「0」である場合は、CPU503は当該データをハードディスクドライブ51から読み出す(S1708)。   FIG. 17 is a flowchart illustrating processing when the CPU 503 receives a data read request from the information processing apparatus 300. The CPU 503 receives a data read request from the information processing apparatus 300 via the channel control unit 501 (S1701). The CPU 503 confirms “update presence / absence” of the target sector of the hard disk drive 51 storing the data from the head check management table 1501 (S1702, S1703). When “update presence / absence” is “1”, data is written to the LBA of the hard disk drive 51, but the above-described head check process is not performed. If the “update presence / absence” is “0”, the CPU 503 reads the data from the hard disk drive 51 (S1708).

「更新有無」が「1」である場合、CPU503は前述したヘッドチェック処理と同様に、当該ヘッドを用いて磁気ディスクの管理領域に検査用のデータを書き込む(S1704)。なお管理領域は磁気ディスク上の予め定められている記憶領域である。次にCPU503は、管理領域に書き込まれているデータを読み出し(S1705)、読み出したデータと検査用のデータとが一致しているか確認する(S1706)。   When the “update presence / absence” is “1”, the CPU 503 writes the inspection data in the management area of the magnetic disk using the head, similarly to the head check process described above (S1704). The management area is a predetermined storage area on the magnetic disk. Next, the CPU 503 reads the data written in the management area (S1705), and checks whether the read data matches the inspection data (S1706).

データが一致している場合、CPU503は当該ヘッドに異常が無いと判断し、ヘッドチェック管理テーブル1501の当該ヘッドの「更新有無」を「0」に変更する(S1707)。そして、CPU503は当該読み出し要求に従いハードディスクドライブ51からデータを読み出す(S1708)。   If the data match, the CPU 503 determines that there is no abnormality in the head, and changes the “update presence / absence” of the head in the head check management table 1501 to “0” (S1707). Then, the CPU 503 reads data from the hard disk drive 51 in accordance with the read request (S1708).

管理領域から読み出したデータと検査用のデータとが一致していない場合、CPU503は当該ハードディスクドライブ51に異常が発生していることを情報処理装置300に通知し(S1709)、当該ハードディスクドライブ51からデータを読み出さずに処理を終了する。   If the data read from the management area does not match the inspection data, the CPU 503 notifies the information processing apparatus 300 that an abnormality has occurred in the hard disk drive 51 (S1709). The process ends without reading the data.

これにより、ハードディスクドライブ51に書き込まれているデータを読み出す際に、当該データの書き込みを行ったヘッドが正常であるかどうかを確認することができる。ヘッドが異常である場合、データが正しく書き込まれていない可能性や、データの読み出しを正しく行うことができない可能性がある。データの読み出し時にヘッドの異常を検知することにより、不正なデータを読み出すことを防止することが可能となる。   As a result, when data written to the hard disk drive 51 is read, it can be confirmed whether or not the head that has written the data is normal. If the head is abnormal, there is a possibility that data has not been written correctly or that data cannot be read correctly. By detecting an abnormality of the head when reading data, it is possible to prevent reading illegal data.

==パリティ付与による検査==
前述したRAID構成でのストライプグループの全てのデータを読み出してパリティチェックする方法では、ストライプグループの中のどのデータが不正な状態となっているか判断することができなかった。そのため、不正なデータの読み出しを防止することは可能であるが、不正なデータを復旧させることができず、データを損失してしまう可能性がある。そこで、ストライプグループにおけるパリティデータとは別に、各データにパリティデータを付与する方法について説明する。
== Checking by adding parity ==
With the above-described method of reading all data in a stripe group with a RAID configuration and performing a parity check, it has not been possible to determine which data in the stripe group is in an illegal state. Therefore, it is possible to prevent illegal data from being read, but there is a possibility that the illegal data cannot be recovered and data may be lost. Therefore, a method for giving parity data to each data separately from the parity data in the stripe group will be described.

CPU503は、データをハードディスクドライブ51に書き込む際の最小単位を必ず複数セクタとし、これら複数セクタに対する誤りを検出するためのパリティデータを生成する。本実施の形態において、この複数セクタのデータとパリティデータとの組合せをデータユニットと称することとする。CPU503は、チャネル制御部501を介して情報処理装置300からデータの書き込み要求を受信すると、当該データからデータユニットを形成する。CPU503は当該データユニットをディスク制御部502を介してハードディスクドライブ51に書き込む。図18は、ハードディスクドライブに1つのデータ1801が書き込まれている様子を示す図である。データ1801は複数のセクタS#1〜S#4で構成され、これら複数セクタのデータ1801に対するパリティデータ1802とでデータユニット1803が形成されている。CPU503はチャネル制御部501を介して情報処理装置300からデータの読み出し要求を受信すると、ディスク制御部502を介して当該データのデータユニット1803を読み出し、当該データのパリティチェックを行うことで当該データが不正な状態となっていないか検査する。このように、読み出し要求の対象となっているデータのみを読み出して、当該データが不正な状態となっていないか判断することが可能となる。また、ハードディスクドライブ51がRAID5のように冗長性のあるRAID構成である場合には、ストライプグループにおける他のデータ及びパリティデータを用いて、当該データを復元することが可能であるため、データを損失することがない。   The CPU 503 always sets the minimum unit for writing data to the hard disk drive 51 as a plurality of sectors, and generates parity data for detecting errors in the plurality of sectors. In the present embodiment, the combination of data of a plurality of sectors and parity data is referred to as a data unit. When the CPU 503 receives a data write request from the information processing apparatus 300 via the channel control unit 501, the CPU 503 forms a data unit from the data. The CPU 503 writes the data unit to the hard disk drive 51 via the disk control unit 502. FIG. 18 is a diagram illustrating a state in which one piece of data 1801 is written to the hard disk drive. The data 1801 is composed of a plurality of sectors S # 1 to S # 4, and a data unit 1803 is formed by parity data 1802 for the data 1801 of the plurality of sectors. When the CPU 503 receives a data read request from the information processing apparatus 300 via the channel control unit 501, the CPU 503 reads the data unit 1803 of the data via the disk control unit 502, and performs a parity check on the data, thereby obtaining the data. Check for illegal status. In this way, it is possible to read only the data that is the target of the read request and determine whether the data is in an illegal state. Further, when the hard disk drive 51 has a redundant RAID configuration such as RAID 5, it is possible to restore the data using other data and parity data in the stripe group. There is nothing to do.

1つのハードディスクドライブ51においてヘッドの障害等が発生している場合は、不正な状態となっているセクタが複数発生する可能性が高い。データユニット1803が1つのハードディスクドライブ51に書き込まれている場合にデータユニット1803のうちの複数のセクタが不正な状態となると、パリティチェックにより不正を検出できない場合がある。   When a head failure or the like occurs in one hard disk drive 51, there is a high possibility that a plurality of illegal sectors are generated. If the data unit 1803 is written in one hard disk drive 51 and a plurality of sectors in the data unit 1803 are in an illegal state, the illegality may not be detected by a parity check.

そこで、図19に示すように、CPU503は、前述したデータユニット1803をディスク制御部502を介してRAIDグループ内の複数のハードディスクドライブ51に分散して書き込むこととしてもよい。図20は、データユニット管理テーブル2001を示している図である。データユニット管理テーブル2001は、複数セクタで構成されるデータユニット1803がどのハードディスクドライブ51のどのLBAに対応しているかを示している。図20の例では、000〜129までの130セクタで1つのデータユニット1803が形成され、このデータユニットはドライブ番号#0とドライブ番号#1のハードディスクドライブ51の000〜064までのLBAにより構成されていることが示されている。CPU503は、情報処理装置300からデータの書き込み要求を受信すると、データユニット管理テーブル2001を参照し、データユニット1803ごとに複数のハードディスクドライブ51に分散してデータを書き込む。
これにより、1つのハードディスクドライブに障害が発生している場合においても、データの不正を検出することができる可能性が高くなる。
Therefore, as shown in FIG. 19, the CPU 503 may write the above-described data unit 1803 in a distributed manner to the plurality of hard disk drives 51 in the RAID group via the disk control unit 502. FIG. 20 is a diagram showing the data unit management table 2001. The data unit management table 2001 indicates which LBA of which hard disk drive 51 corresponds to the data unit 1803 composed of a plurality of sectors. In the example of FIG. 20, one data unit 1803 is formed by 130 sectors from 000 to 129, and this data unit is composed of LBA from 000 to 064 of the hard disk drive 51 of drive number # 0 and drive number # 1. It is shown that. When the CPU 503 receives a data write request from the information processing apparatus 300, the CPU 503 refers to the data unit management table 2001 and writes the data in a distributed manner to the plurality of hard disk drives 51 for each data unit 1803.
As a result, even when a failure occurs in one hard disk drive, there is a high possibility that data fraud can be detected.

==ファイバチャネルとシリアルATAとが混在する環境==
次に、ファイバチャネルのハードディスクドライブ51とシリアルATAのハードディスクドライブ51とが混在しているディスクアレイ装置10における説明を行う。
== Environment where Fiber Channel and Serial ATA coexist ==
Next, a description will be given of the disk array device 10 in which the fiber channel hard disk drive 51 and the serial ATA hard disk drive 51 are mixed.

図21は、第一の筐体2101にファイバチャネルのハードディスクドライブ51、第二の筐体2102にシリアルATAのハードディスクドライブ51が収容されているディスクアレイ装置を示すブロック図である。なお、第一の筐体2101及び第二の筐体2102とは、基本筐体20または増設筐体30のことである。各ハードディスクドライブ51のディスク制御部502との接続形態については、前述した通りである。また、図19においては、1つのコンバータ901に複数のシリアルATAのハードディスクドライブが接続される形態を示しているが、前述したように、コンバータ801が各ディスクドライブユニットに設けられて接続されているものとしてもよい。   FIG. 21 is a block diagram showing a disk array device in which a fiber channel hard disk drive 51 is housed in a first housing 2101 and a serial ATA hard disk drive 51 is housed in a second housing 2102. The first casing 2101 and the second casing 2102 are the basic casing 20 or the additional casing 30. The connection form of each hard disk drive 51 with the disk control unit 502 is as described above. FIG. 19 shows a mode in which a plurality of serial ATA hard disk drives are connected to one converter 901. As described above, converters 801 are provided and connected to each disk drive unit. It is good.

このようなディスクアレイ装置10においては、ファイバチャネルのハードディスクドライブ51と比較して信頼性の低いシリアルATAのハードディスクドライブ51の信頼性を高めることが求められている。そこで、コントローラ500は、シリアルATAのハードディスクドライブ51のみに対して、前述した信頼性を高める方法を適用する。これにより、基幹業務等の高いアクセス性能が要求される処理に用いられるファイバチャネルのハードディスクドライブ51に対するデータの読み書き性能を落とさずに、シリアルATAのハードディスクドライブ51に対するデータの読み書きの信頼性を高めることができる。また、シリアルATAのハードディスクドライブ51の各磁気ディスクにヘッドを2つずつ設ける等の物理的な構造の変更が必要でないため、シリアルATAのハードディスクドライブ51の製造コストを抑えることが可能である。   In such a disk array device 10, it is required to improve the reliability of the serial ATA hard disk drive 51, which is less reliable than the fiber channel hard disk drive 51. Therefore, the controller 500 applies the above-described method for improving the reliability only to the hard disk drive 51 of the serial ATA. As a result, the reliability of data read / write with respect to the serial ATA hard disk drive 51 is improved without degrading the data read / write performance with respect to the fiber channel hard disk drive 51 used for processing that requires high access performance such as core business. Can do. Further, since it is not necessary to change the physical structure such as providing two heads for each magnetic disk of the serial ATA hard disk drive 51, the manufacturing cost of the serial ATA hard disk drive 51 can be reduced.

なお、本実施の形態においては、ファイバチャネルのハードディスクドライブ51とシリアルATAのハードディスクドライブ51とが混在しているとしたが、信頼性の異なるインタフェース規格のハードディスクドライブ51であれば他のものでもよい。例えば、シリアルATAのハードディスクドライブ51の代わりにパラレルATAのハードディスクドライブ51であるとしてもよい。   In this embodiment, the fiber channel hard disk drive 51 and the serial ATA hard disk drive 51 are mixed, but any other hard disk drive 51 having an interface standard with different reliability may be used. . For example, a parallel ATA hard disk drive 51 may be used instead of the serial ATA hard disk drive 51.

以上、本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。   Although the present embodiment has been described above, the above examples are for facilitating the understanding of the present invention, and are not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.

本実施の形態における、ディスクアレイ装置の外観を示す図である。It is a figure which shows the external appearance of the disk array apparatus in this Embodiment. 本実施の形態における、ディスクアレイ装置の基本筐体の構成を示す図である。It is a figure which shows the structure of the basic housing | casing of the disk array apparatus in this Embodiment. 本実施の形態における、ディスクアレイ装置の増設筐体の構成を示す図である。It is a figure which shows the structure of the expansion enclosure of a disk array apparatus in this Embodiment. 本実施の形態における、ハードディスクドライブの構成を示す図である。It is a figure which shows the structure of the hard-disk drive in this Embodiment. 本実施の形態における、ディスクアレイ装置の構成を示す図である。It is a figure which shows the structure of the disk array apparatus in this Embodiment. 本実施の形態における、コントローラのCPUが実行するマイクロプログラムがメモリに記憶されている状態を示す図である。It is a figure which shows the state in which the microprogram which CPU of the controller in this Embodiment performs is memorize | stored in memory. 本実施の形態における、ファイバチャネルのハードディスクドライブをコントローラのディスク制御部と接続する形態を示す図である。FIG. 3 is a diagram showing a form in which a fiber channel hard disk drive is connected to a disk control unit of a controller in the present embodiment. 本実施の形態における、シリアルATAのハードディスクドライブをコントローラのディスク制御部と接続する第一の形態を示す図である。It is a figure which shows the 1st form which connects the hard disk drive of serial ATA in this Embodiment with the disk control part of a controller. 本実施の形態における、シリアルATAのハードディスクドライブをコントローラのディスク制御部と接続する第二の形態を示す図である。It is a figure which shows the 2nd form which connects the hard disk drive of serial ATA in this Embodiment with the disk control part of a controller. 本実施の形態における、RAIDグループを構成するハードディスクドライブにデータが書き込まれている例を示す図である。It is a figure which shows the example in which data is written in the hard disk drive which comprises a RAID group in this Embodiment. 本実施の形態における、更新管理テーブルを示す図である。It is a figure which shows the update management table in this Embodiment. 本実施の形態における、データ書き込み時にキャッシュメモリと磁気ディスクとに記憶されているデータを比較するフローチャートを示す図である。It is a figure which shows the flowchart which compares the data memorize | stored in the cache memory and the magnetic disk at the time of data writing in this Embodiment. 本実施の形態における、データ書き込み時にデータサイズを考慮してキャッシュメモリと磁気ディスクとに記憶されているデータを比較するフローチャートを示す図である。It is a figure which shows the flowchart which compares the data memorize | stored in a cache memory and a magnetic disk in consideration of data size at the time of data writing in this Embodiment. 本実施の形態における、ディスクキャッシュに記憶されているデータを磁気ディスクに書き込む際にキャッシュメモリと磁気ディスクとに記憶されているデータを比較するフローチャートを示す図である。It is a figure which shows the flowchart which compares the data memorize | stored in a cache memory and a magnetic disk, when writing the data memorize | stored in the disk cache in a magnetic disk in this Embodiment. 本実施の形態における、ヘッドチェック管理テーブルを示す図である。It is a figure which shows the head check management table in this Embodiment. 本実施の形態における、定期的に実施するヘッドチェックのフローチャートを示す図である。It is a figure which shows the flowchart of the head check implemented regularly in this Embodiment. 本実施の形態における、データの読み出し時にヘッドチェックを実施するフローチャートを示す図である。It is a figure which shows the flowchart which implements a head check at the time of reading of data in this Embodiment. 本実施の形態における、データユニットが1つのハードディスクドライブに書き込まれている例を示す図である。It is a figure which shows the example in which the data unit in this Embodiment is written in one hard disk drive. 本実施の形態における、データユニットが複数のハードディスクドライブに分散して書き込まれている例を示す図である。It is a figure which shows the example in which the data unit in this Embodiment is distributed and written in the some hard-disk drive. 本実施の形態における、データユニット管理テーブルを示す図である。It is a figure which shows the data unit management table in this Embodiment. 本実施の形態における、第一の筐体にファイバチャネルのハードディスクドライブが収容され、第二の筐体にシリアルATAのハードディスクドライブが収容されているディスクアレイ装置の構成を示す図である。FIG. 2 is a diagram illustrating a configuration of a disk array device in which a fiber channel hard disk drive is accommodated in a first housing and a serial ATA hard disk drive is accommodated in a second housing in the present embodiment.

符号の説明Explanation of symbols

10 ディスクアレイ装置 11 ラックフレーム
12 マウントフレーム 20 基本筐体
30 増設筐体 48 制御ライン
49 電源供給ライン 51 ハードディスクドライブ
52 ディスクドライブユニット 56 電源コントローラボード
57 AC/DC電源 58 冷却ファンユニット
59 コントローラボード 61 通信インタフェースボード
62 キャッシュメモリ 64 ブレーカスイッチ
66 冷却ファン 67 コネクタ
70 ディスクドライブの筐体 73 磁気ディスク
85 メインスイッチ 81 電源コントローラ
91 ファイバチャネルケーブル 300 情報処理装置
500 コントローラ 501 チャネル制御部
502 ディスク制御部 503 CPU
504 メモリ 505 データコントローラ
506 FC−AL 701 PBC
801 コンバータ 901 コンバータ
902 スイッチ
1001 RAIDグループ 1002 ストライプグループ
1101 更新管理テーブル 1501 ヘッドチェック管理テーブル
1801 複数セクタのデータ 1802 パリティデータ
1803 データユニット 2001 データユニット管理テーブル
10 disk array device 11 rack frame 12 mount frame 20 basic chassis 30 additional chassis 48 control line 49 power supply line 51 hard disk drive 52 disk drive unit 56 power controller board 57 AC / DC power supply 58 cooling fan unit 59 controller board 61 communication interface Board 62 Cache memory 64 Breaker switch 66 Cooling fan 67 Connector 70 Disk drive housing 73 Magnetic disk 85 Main switch 81 Power supply controller 91 Fiber channel cable 300 Information processing device 500 Controller 501 Channel controller 502 Disk controller 503 CPU
504 Memory 505 Data controller 506 FC-AL 701 PBC
801 Converter 901 Converter 902 Switch 1001 RAID group 1002 Stripe group 1101 Update management table 1501 Head check management table 1801 Data of multiple sectors 1802 Parity data 1803 Data unit 2001 Data unit management table

Claims (3)

複数の記憶領域へのデータの書き込み及び前記複数の記憶領域からのデータの読み出しを制御するコントローラと、
第1のタイプのインタフェースを有する複数の第1のタイプのディスクドライブと、第2のタイプのインタフェースを有する複数の第2のタイプのディスクドライブと、を有し、前記記憶領域を有する複数のディスクドライブと、
を有し、
前記コントローラは、
複数の前記第1及び第2のタイプのディスクドライブとの間でデータのやりとりを行うディスク制御部と、
外部との間で通信を行うチャネル制御部と前記ディスク制御部との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、
外部からデータの書き込み要求を受信すると、当該データの書き込み指示を前記ディスク制御部に送信するプロセッサとを有し、
前記プロセッサは、
前記ディスク制御部によって前記第1又は第2のタイプのディスクドライブに書き込まれたデータが規定のサイズ以上のデータとしてのシーケンシャルデータであるか否かを判断し、
前記判断結果に基づいて前記書き込まれたデータが前記シーケンシャルデータでない場合、前記キャッシュメモリと前記第1又は第2のタイプのディスクドライブから前記データの全部を読み出し、これら読み出した前記データの全部同士が一致しているか否かを比較する第1の検査を行い、
前記判断結果に基づいて前記書き込まれたデータが前記シーケンシャルデータである場合、前記キャッシュメモリと前記第1又は第2のタイプのディスクドライブとから前記データの一部を読み出し、これら読み出した前記データの一部同士が一致しているか否かを比較する第2の検査を行い、
前記第1又は第2の検査結果に基づいて、前記第1又は第2のタイプのディスクドライブに記憶されているデータが不正な状態であるか否かを判断する
ことを特徴とするディスクアレイ装置。
A controller that controls writing of data to a plurality of storage areas and reading of data from the plurality of storage areas;
A plurality of first type disk drives having a first type interface; a plurality of second type disk drives having a second type interface; and a plurality of disks having the storage area Drive,
Have
The controller is
A disk controller for exchanging data with the plurality of first and second type disk drives;
A cache memory for temporarily storing data exchanged between the disk control unit and a channel control unit that communicates with the outside;
A processor for receiving a data write request from the outside and transmitting an instruction to write the data to the disk controller;
The processor is
Determining whether the data written to the first or second type disk drive by the disk control unit is sequential data as data of a specified size or more;
When the written data is not the sequential data based on the determination result, all of the data is read from the cache memory and the first or second type disk drive, and all of the read data is Perform a first check to see if they match,
If the written data is the sequential data based on the determination result, a part of the data is read from the cache memory and the first or second type disk drive, and the read data Perform a second test to see if parts match,
Based on the first or second inspection result, it is determined whether or not the data stored in the first or second type disk drive is in an illegal state.
A disk array device characterized by that .
請求項1に記載のディスクアレイ装置であって、
前記第1及び第2のタイプのディスクドライブは、それぞれ、複数のヘッドを有し、
前記プロセッサは、
前記第1又は第2のタイプのディスクドライブから前記データを読み出す際に、前記複数のヘッドのいずれかを順番に選択し、前記選択されたヘッドを用いて、前記第1又は第2のタイプのディスクドライブの管理領域に検査用のデータを書き込み、
その後、前記管理領域に書き込まれた前記データを読み出し、前記読み出したデータと前記検査用データとが一致しているか否かを確認する
ことを特徴とするディスクアレイ装置。
The disk array device according to claim 1,
Each of the first and second type disk drives has a plurality of heads,
The processor is
When reading the data from the first or second type disk drive, one of the plurality of heads is selected in order, and the selected head is used to select the first or second type. Write inspection data to the management area of the disk drive,
Thereafter, the data written in the management area is read, and it is confirmed whether or not the read data matches the inspection data.
A disk array device characterized by that .
請求項に記載のディスクアレイ装置であって、
前記コントローラは、
複数の前記第1及び第2のタイプのディスクドライブを識別するためのドライブ番号と、前記複数のヘッドを識別するためのヘッド番号と、前記管理領域を含む記憶領域のセクタ番号と、前記セクタ番号に対応する特定領域が更新されたか否かを表す更新有無情報とを管理するためのヘッドチェック管理テーブルを記憶する記憶部を有し、
前記プロセッサは、
前記チャネル制御部を介して前記データの読み出し要求を受信すると、前記ヘッドチェック管理テーブルを参照して、前記データが記憶されている前記セクタ番号に関する更新有無情報を確認し、
前記更新有無情報に基づいて前記セクタ番号に対応する特定領域が更新されている場合、当該セクタ番号に対応する特定領域に前記検査用のデータを書き込んで前記選択されたヘッドの検査を行う一方、前記更新有無情報に基づいて前記セクタ番号に対応する特定領域が更新されていない場合、前記管理領域に前記検査用のデータを書き込まず、前記読み出し要求に応じて前記第1又は第2のタイプのディスクドライブから前記データを読み出す
ことを特徴とするディスクアレイ装置。
The disk array device according to claim 2 ,
The controller is
A drive number for identifying the plurality of first and second type disk drives, a head number for identifying the plurality of heads, a sector number of a storage area including the management area, and the sector number A storage unit for storing a head check management table for managing update presence / absence information indicating whether or not a specific area corresponding to the
The processor is
Upon receiving the data read request via the channel control unit, referring to the head check management table, confirms update presence / absence information regarding the sector number in which the data is stored,
When the specific area corresponding to the sector number is updated based on the update presence / absence information, the inspection data is written in the specific area corresponding to the sector number and the selected head is inspected. If the specific area corresponding to the sector number is not updated based on the update presence / absence information, the inspection data is not written in the management area, and the first or second type of Read the data from the disk drive
A disk array device characterized by that .
JP2006310248A 2006-11-16 2006-11-16 Disk array device Expired - Fee Related JP4486633B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006310248A JP4486633B2 (en) 2006-11-16 2006-11-16 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006310248A JP4486633B2 (en) 2006-11-16 2006-11-16 Disk array device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003400517A Division JP4156499B2 (en) 2003-11-28 2003-11-28 Disk array device

Publications (2)

Publication Number Publication Date
JP2007128527A JP2007128527A (en) 2007-05-24
JP4486633B2 true JP4486633B2 (en) 2010-06-23

Family

ID=38151065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006310248A Expired - Fee Related JP4486633B2 (en) 2006-11-16 2006-11-16 Disk array device

Country Status (1)

Country Link
JP (1) JP4486633B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4505520B2 (en) * 2008-06-27 2010-07-21 富士通株式会社 Disk array device and its control device, control method and control program
JP2015099430A (en) * 2013-11-18 2015-05-28 三菱電機株式会社 Storage control device and storage control system
JP6224186B1 (en) 2016-08-01 2017-11-01 株式会社東芝 RAID storage system, storage controller, and RAID array patrol method
CN112732163B (en) * 2019-10-14 2023-02-03 成都华为技术有限公司 Data verification method and device

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200156A (en) * 1999-01-07 2000-07-18 Hitachi Ltd Disk array controller
JP2001216206A (en) * 2000-02-01 2001-08-10 Nec Corp Fault analysis method for loop-like interface, and system provided with fault analysis function
JP2002007077A (en) * 2000-06-21 2002-01-11 Nec Corp System and method for diagnosing loop of disk array device
JP2002023962A (en) * 2000-07-07 2002-01-25 Fujitsu Ltd Disk device and its controlling method
JP2002023966A (en) * 2000-06-30 2002-01-25 Toshiba Corp Disk system for making transfer data as redundant data
JP2002150699A (en) * 2000-11-06 2002-05-24 Sony Corp Information processor, information processing method, and recording medium with this method recorded thereon
JP2002259062A (en) * 2001-02-28 2002-09-13 Hitachi Ltd Storage device system and data copying method for data for the same
WO2003083636A1 (en) * 2002-04-02 2003-10-09 International Business Machines Corporation Adapter, converted data storage device and method of operation of a converted data storage device
JP2003303055A (en) * 2002-04-09 2003-10-24 Hitachi Ltd Disk device connecting disk adapter and array through switch
JP2003330629A (en) * 2002-05-16 2003-11-21 Nec Corp Disk array controller and disk array control method and disk array control program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02289950A (en) * 1989-04-28 1990-11-29 Toshiba Corp Magnetic tape device
JPH0343820A (en) * 1989-07-11 1991-02-25 Nec Eng Ltd Data verifying device

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200156A (en) * 1999-01-07 2000-07-18 Hitachi Ltd Disk array controller
JP2001216206A (en) * 2000-02-01 2001-08-10 Nec Corp Fault analysis method for loop-like interface, and system provided with fault analysis function
JP2002007077A (en) * 2000-06-21 2002-01-11 Nec Corp System and method for diagnosing loop of disk array device
JP2002023966A (en) * 2000-06-30 2002-01-25 Toshiba Corp Disk system for making transfer data as redundant data
JP2002023962A (en) * 2000-07-07 2002-01-25 Fujitsu Ltd Disk device and its controlling method
JP2002150699A (en) * 2000-11-06 2002-05-24 Sony Corp Information processor, information processing method, and recording medium with this method recorded thereon
JP2002259062A (en) * 2001-02-28 2002-09-13 Hitachi Ltd Storage device system and data copying method for data for the same
WO2003083636A1 (en) * 2002-04-02 2003-10-09 International Business Machines Corporation Adapter, converted data storage device and method of operation of a converted data storage device
JP2005520258A (en) * 2002-04-02 2005-07-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Adapter for converting interface of data storage device, converted data storage device, and method of operating converted data storage device
JP2003303055A (en) * 2002-04-09 2003-10-24 Hitachi Ltd Disk device connecting disk adapter and array through switch
JP2003330629A (en) * 2002-05-16 2003-11-21 Nec Corp Disk array controller and disk array control method and disk array control program

Also Published As

Publication number Publication date
JP2007128527A (en) 2007-05-24

Similar Documents

Publication Publication Date Title
JP4156499B2 (en) Disk array device
JP4060235B2 (en) Disk array device and disk array device control method
US8250453B2 (en) Storage apparatus and data verification method in storage apparatus
US8392756B2 (en) Storage apparatus and method of detecting power failure in storage apparatus
US8677181B2 (en) Storage apparatus and method of detecting power failure in storage apparatus
US20060059408A1 (en) Disk array system
JP2006113648A (en) Disk array device
JP2005182245A (en) Connection support method for disk array device
JP4486633B2 (en) Disk array device
US20110093625A1 (en) Storage system, control device, and diagnosis method
US20170242613A1 (en) Processing Circuit Controlled Data Storage Unit Selection
US8736993B2 (en) Failure-resistant multi-LUN hard disk drive
US8341347B2 (en) Storage controller
US20210271623A1 (en) Data storage system with supplemental processing bus
US20060212777A1 (en) Medium storage device and write path diagnosis method
CN108475091B (en) Storage device and storage device management program
US11455225B2 (en) Electronic device having infrared light-emitting diode for data transmission
US20180129432A1 (en) Form factor compatible laptop pc raid array
US20060061957A1 (en) Multi-disk based data storage unit and tape emulation system for offsite data backup
US20130212302A1 (en) Disk array apparatus
KR100674946B1 (en) Method and apparatus for copying data in disk drive
US20140040678A1 (en) Storage device and method for managing storage device
JP2008135031A (en) Disk array device and control method therefor

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070316

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees