JP2013206009A - Drive control device, storage system, and drive control method - Google Patents

Drive control device, storage system, and drive control method Download PDF

Info

Publication number
JP2013206009A
JP2013206009A JP2012072681A JP2012072681A JP2013206009A JP 2013206009 A JP2013206009 A JP 2013206009A JP 2012072681 A JP2012072681 A JP 2012072681A JP 2012072681 A JP2012072681 A JP 2012072681A JP 2013206009 A JP2013206009 A JP 2013206009A
Authority
JP
Japan
Prior art keywords
disk
memory
data
drive
control unit
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.)
Pending
Application number
JP2012072681A
Other languages
Japanese (ja)
Inventor
Katsumi Nakajima
勝巳 中島
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.)
Mitsubishi Electric Information Technology Corp
Original Assignee
Mitsubishi Electric Information Technology Corp
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 Mitsubishi Electric Information Technology Corp filed Critical Mitsubishi Electric Information Technology Corp
Priority to JP2012072681A priority Critical patent/JP2013206009A/en
Publication of JP2013206009A publication Critical patent/JP2013206009A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To effectively use disks which stop revolving, while preventing occurrence of I/O delay and reduction of energy saving effect.SOLUTION: When revolution of disks of HDD 300 are stopped, a disk array device 100 writes data in a memory of SSD 400 each time a host computer 500 requires writing data. If a situation of writing data in the memory of SSD 400 satisfies a predetermined condition, the disk array device 100 starts revolution of the disks of HDD 300, and transfers the data from the memory of SSD 400 to the disks of HDD 300.

Description

本発明は、ドライブ制御装置及びストレージシステム及びドライブ制御方法に関するものである。本発明は、特に、省エネモード付ディスクアレイ装置に関するものである。   The present invention relates to a drive control device, a storage system, and a drive control method. The present invention particularly relates to a disk array device with an energy saving mode.

二重化したディスクアレイのうち一方のディスクアレイのディスクの回転を停止する省エネ(パワーセーブ)機能を持つディスクアレイ装置が知られている(例えば、特許文献1,2参照)。   2. Description of the Related Art A disk array apparatus having an energy saving function that stops the rotation of a disk of one of the duplex disk arrays is known (see, for example, Patent Documents 1 and 2).

特開2010−61291号公報JP 2010-61291 A 特開2009−80603号公報JP 2009-80603 A

従来のディスクアレイ装置では、ディスクの回転が停止しているディスクアレイを有効に利用できないか、あるいは、利用できたとしても、アクセス要求がある度にディスクの回転を開始するため、I/O(インプット/アウトプット)遅延が発生したり、省エネ効果が低減したりしてしまうという課題があった。   In the conventional disk array device, the disk array in which the rotation of the disk is stopped cannot be used effectively, or even if it can be used, the disk rotation starts every time there is an access request. Input / output) delays occurred, and energy saving effects were reduced.

本発明は、例えば、I/O遅延の発生や省エネ効果の低減を回避しつつ、回転を停止するディスクを有効に利用することを目的とする。   An object of the present invention is to effectively use a disk that stops rotating while avoiding, for example, the occurrence of an I / O delay and a reduction in energy saving effect.

本発明の一の態様に係るドライブ制御装置は、
ディスクにデータを記憶するディスクドライブと、メモリにデータを記憶するメモリドライブとを制御するドライブ制御装置であって、
ホストコンピュータから入力を受け付けるホストインタフェース部と、
前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記メモリに書き込むよう前記メモリドライブを制御するメモリアクセス制御部と、
前記ディスクドライブが前記ディスクの回転を停止している状態で、前記メモリアクセス制御部の制御による前記メモリへのデータの書き込み状況が予め定められた条件を満たしたかどうかを判定するメモリ書き込み状況判定部と、
前記メモリ書き込み状況判定部により前記書き込み状況が前記条件を満たしたと判定された場合、前記ディスクの回転を開始するよう前記ディスクドライブを制御するディスク回転制御部と、
前記ディスク回転制御部の制御により前記ディスクドライブが前記ディスクの回転を開始した場合、前記メモリに書き込まれているデータを転送するよう前記メモリドライブを制御するとともに前記メモリドライブから転送されるデータを前記ディスクに書き込むよう前記ディスクドライブを制御するディスクアクセス制御部とを備える。
A drive control device according to one aspect of the present invention includes:
A drive control device that controls a disk drive that stores data in a disk and a memory drive that stores data in a memory,
A host interface for receiving input from the host computer;
When the disk drive has stopped rotating, the memory drive writes the data to the memory each time a request to write data to the disk is input from the host computer to the host interface unit. A memory access control unit for controlling
A memory write status determination unit that determines whether a data write status to the memory under the control of the memory access control unit satisfies a predetermined condition in a state where the disk drive stops rotating the disk When,
A disk rotation control unit for controlling the disk drive to start the rotation of the disk, when the memory writing state determination unit determines that the writing state satisfies the condition;
When the disk drive starts rotating the disk under the control of the disk rotation control unit, the memory drive is controlled to transfer the data written in the memory and the data transferred from the memory drive is transferred to the memory drive. A disk access control unit for controlling the disk drive to write to the disk.

一例において、
前記ドライブ制御装置は、さらに、
前記メモリとは別のメモリであり、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを記憶するキャッシュを備え、
前記メモリアクセス制御部は、前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記キャッシュから前記メモリドライブに転送して当該データを前記メモリに書き込むよう前記メモリドライブを制御し、
前記ディスクアクセス制御部は、前記ディスクドライブが前記ディスクの回転を開始している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記キャッシュから前記ディスクドライブに転送して当該データを前記ディスクに書き込むよう前記ディスクドライブを制御する。
In one example,
The drive control device further includes:
The memory is different from the memory, and includes a cache for storing the data every time a request to write data to the disk is input from the host computer to the host interface unit,
When the disk drive stops the rotation of the disk, the memory access control unit stores the data every time a request to write data to the disk is input from the host computer to the host interface unit. Controlling the memory drive to transfer from the cache to the memory drive and write the data to the memory;
When the disk drive has started rotating the disk, the disk access control unit receives the data every time a request to write data to the disk is input from the host computer to the host interface unit. The disk drive is controlled to transfer data from the cache to the disk drive and write the data to the disk.

一例において、
前記メモリ書き込み状況判定部は、前記メモリアクセス制御部の制御により前記メモリに書き込まれ、かつ、まだ前記ディスクアクセス制御部の制御により前記ディスクに書き込まれていないデータの量が予め定められた量に達した場合、前記書き込み状況が前記条件を満たしたと判定する。
In one example,
The memory write status determination unit sets the amount of data written to the memory under the control of the memory access control unit and not yet written into the disk under the control of the disk access control unit to a predetermined amount. If it has reached, it is determined that the write status satisfies the condition.

一例において、
前記メモリ書き込み状況判定部は、前記メモリアクセス制御部の制御により前記メモリにデータが書き込まれる頻度が予め定められた頻度に達した場合、前記書き込み状況が前記条件を満たしたと判定する。
In one example,
The memory write status determination unit determines that the write status satisfies the condition when the frequency at which data is written to the memory reaches a predetermined frequency under the control of the memory access control unit.

一例において、
前記ドライブ制御装置は、さらに、
前記ディスクの記憶領域を分割した複数の論理ユニットと、それぞれの論理ユニットに個別に割り当てられる前記メモリのアドレスとの対応関係を記憶するアドレスマッピング部を備え、
前記メモリアクセス制御部は、前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求として、前記複数の論理ユニットのうちいずれかの論理ユニットを指定する書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該論理ユニットに対応する前記メモリのアドレスを前記アドレスマッピング部から読み出し、当該データを当該アドレスに書き込むよう前記メモリドライブを制御する。
In one example,
The drive control device further includes:
An address mapping unit for storing a correspondence relationship between a plurality of logical units obtained by dividing the storage area of the disk and addresses of the memory individually assigned to the respective logical units;
When the disk drive has stopped rotating the disk, the memory access control unit receives a write request for designating any one of the plurality of logical units as a data write request to the disk. Each time the host computer inputs the host interface unit, the memory drive corresponding to the logical unit is read from the address mapping unit and the memory drive is controlled to write the data to the address.

一例において、
前記メモリ書き込み状況判定部は、前記ディスクドライブが前記ディスクの回転を停止している状態で、前記メモリアクセス制御部の制御による前記メモリへのデータの書き込み状況が、前記条件として、予め論理ユニットごとに定められた条件を満たしたかどうかを判定する。
In one example,
The memory write status determination unit is configured to determine whether the data write status to the memory under the control of the memory access control unit is in advance for each logical unit in a state where the disk drive has stopped rotating the disk. Judgment is made as to whether or not the conditions specified in the above are satisfied.

一例において、
前記ドライブ制御装置は、さらに、
前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクからのデータの読み取り要求が前記ホストコンピュータから前記ホストインタフェース部に入力されると、当該データが前記メモリに書き込まれているかどうかを判定するメモリ書き込み有無判定部を備え、
前記ディスク回転制御部は、前記メモリ書き込み有無判定部により前記ホストコンピュータから読み取りを要求されたデータが前記メモリに書き込まれていないと判定された場合、前記ディスクの回転を開始するよう前記ディスクドライブを制御し、
前記ディスクアクセス制御部は、前記ディスク回転制御部の制御により前記ディスクドライブが前記ディスクの回転を開始した場合、前記ホストコンピュータから読み取りを要求されたデータを前記ディスクから読み取るよう前記ディスクドライブを制御し、
前記ホストインタフェース部は、前記ディスクアクセス制御部の制御により前記ディスクから読み取られたデータを前記ホストコンピュータに対して出力し、
前記メモリアクセス制御部は、前記ディスクアクセス制御部の制御により前記ディスクから読み取られたデータを前記メモリに書き込むよう前記メモリドライブを制御する。
In one example,
The drive control device further includes:
When the disk drive stops rotating the disk, when a data read request from the disk is input from the host computer to the host interface unit, it is determined whether the data is written in the memory. A memory writing presence / absence determining unit for determining,
The disk rotation control unit determines the disk drive to start rotation of the disk when the memory write presence / absence determination unit determines that the data requested to be read from the host computer is not written to the memory. Control
The disk access control unit controls the disk drive to read data requested to be read from the host computer from the disk when the disk drive starts rotating the disk under the control of the disk rotation control unit. ,
The host interface unit outputs data read from the disk to the host computer under the control of the disk access control unit;
The memory access control unit controls the memory drive to write data read from the disk into the memory under the control of the disk access control unit.

本発明の一の態様に係るストレージシステムは、
前記ドライブ制御装置と、
前記ディスクドライブと、
前記メモリドライブとを備える。
A storage system according to an aspect of the present invention includes:
The drive control device;
The disk drive;
And the memory drive.

本発明の一の態様に係るドライブ制御方法は、
ディスクにデータを記憶するディスクドライブと、メモリにデータを記憶するメモリドライブとを制御するドライブ制御方法であって、
ホストコンピュータから入力を受け付けるホストインタフェース部を備えるドライブ制御装置が、前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記メモリに書き込むよう前記メモリドライブを制御し、
前記ドライブ制御装置が、前記ディスクドライブが前記ディスクの回転を停止している状態で、前記メモリへのデータの書き込み状況が予め定められた条件を満たしたかどうかを判定し、
前記ドライブ制御装置が、前記書き込み状況が前記条件を満たしたと判定した場合、前記ディスクの回転を開始するよう前記ディスクドライブを制御し、
前記ドライブ制御装置が、前記ディスクドライブが前記ディスクの回転を開始した場合、前記メモリに書き込まれているデータを転送するよう前記メモリドライブを制御するとともに前記メモリドライブから転送されるデータを前記ディスクに書き込むよう前記ディスクドライブを制御するものである。
A drive control method according to one aspect of the present invention includes:
A drive control method for controlling a disk drive for storing data in a disk and a memory drive for storing data in a memory,
When a drive control device including a host interface unit that receives an input from a host computer stops the rotation of the disk, a data write request to the disk is input from the host computer to the host interface unit. Each time the memory drive is controlled to write the data to the memory,
The drive control device determines whether or not the state of writing data to the memory satisfies a predetermined condition in a state where the disk drive stops rotating the disk,
If the drive control device determines that the write status satisfies the condition, the drive control device controls the disk drive to start rotation of the disk;
When the disk drive starts to rotate the disk, the drive control device controls the memory drive to transfer data written in the memory and transfers data transferred from the memory drive to the disk. The disk drive is controlled to write.

本発明の一の態様によれば、ディスクの回転が停止している場合、書き込み要求がある度にデータをメモリに書き込み、メモリへのデータの書き込み状況が一定の条件を満たしたら、ディスクの回転を開始してメモリからディスクにデータを転送するため、I/O遅延の発生や省エネ効果の低減を回避しつつ、回転を停止するディスクを有効に利用することが可能となる。   According to one aspect of the present invention, when the rotation of the disk is stopped, the data is written to the memory every time there is a write request, and the disk rotation is performed when the condition of data writing to the memory satisfies a certain condition. Since the data is transferred from the memory to the disk by starting the process, it is possible to effectively use the disk that stops rotating while avoiding the occurrence of I / O delay and the reduction of the energy saving effect.

実施の形態1に係るディスクアレイ装置の構成を示すブロック図。1 is a block diagram showing a configuration of a disk array device according to a first embodiment. 実施の形態1の比較例に係るディスクアレイ装置の構成を示すブロック図。1 is a block diagram showing a configuration of a disk array device according to a comparative example of Embodiment 1. FIG. 実施の形態1に係るディスクアレイ装置が書き込み要求を処理する際のデータの流れを示す図。FIG. 3 is a diagram showing a data flow when the disk array device according to the first embodiment processes a write request. 実施の形態1に係るディスクアレイ装置が書き込み要求を処理する際のデータの流れを示す図。FIG. 3 is a diagram showing a data flow when the disk array device according to the first embodiment processes a write request. 実施の形態2に係るディスクアレイ装置の構成を示すブロック図。FIG. 3 is a block diagram showing a configuration of a disk array device according to a second embodiment. 実施の形態2に係るディスクアレイ装置が読み取り要求を処理する際のデータの流れを示す図。FIG. 10 is a diagram showing a data flow when the disk array device according to the second embodiment processes a read request. 実施の形態2に係るディスクアレイ装置が読み取り要求を処理する際のデータの流れを示す図。FIG. 10 is a diagram showing a data flow when the disk array device according to the second embodiment processes a read request. 実施の形態2に係るディスクアレイ装置が読み取り要求を処理する際のデータの流れを示す図。FIG. 10 is a diagram showing a data flow when the disk array device according to the second embodiment processes a read request. 実施の形態2に係るディスクアレイ装置が読み取り要求を処理する際のデータの流れを示す図。FIG. 10 is a diagram showing a data flow when the disk array device according to the second embodiment processes a read request.

以下、本発明の実施の形態について、図を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

実施の形態1.
本実施の形態では、HDD(Hard・Disk・Drive)を複数搭載し、複数のHDDによるRAID(Redundant・Arrays・of・Independent・Disks)機能を持ち、搭載HDDを停止することで省エネルギーを実現するためのパワーセーブ機能を有するディスクアレイ装置において、ディスクアレイコントローラ内のキャッシュメモリとディスク制御部との間にSSD(Solid・State・Drive)を設ける。ディスクアレイ装置に搭載しているHDDがパワーセーブ機能によりスピンドルモータの回転を停止(スピンダウン)している場合に、ホストコンピュータからのアクセス要求があったときは、HDDがReady(スピンアップ)状態になるまでのアクセス遅延をSSDへのRead/Write(読み取り/書き込み)によって吸収することで、アクセス性能の低下を抑えながら、HDDのスピンアップ/ダウンを自動制御する省エネモードを実現する。また、この省エネモードによって、主にバックアップ用途のストレージにしか利用できなかったパワーセーブ機能を通常ホストコンピュータが使用するオンラインストレージにも適用できるようになり、省エネルギーの効果を上げることが可能となる。
Embodiment 1 FIG.
In this embodiment, a plurality of HDDs (Hard, Disks, Drives) are mounted, and a RAID (Redundant, Arrays, of, Independent, Disks) function with a plurality of HDDs is provided, and energy saving is realized by stopping the mounted HDDs. In a disk array device having a power saving function, an SSD (Solid / State / Drive) is provided between a cache memory in the disk array controller and a disk control unit. When the HDD installed in the disk array device has stopped the spindle motor from being rotated (spin down) by the power save function, and there is an access request from the host computer, the HDD is in the Ready (spin up) state. By absorbing the access delay until the time is reached by Read / Write (read / write) to the SSD, an energy saving mode for automatically controlling the spin-up / down of the HDD is realized while suppressing a decrease in access performance. In addition, this energy saving mode makes it possible to apply the power saving function that was mainly available only for backup storage to online storage that is normally used by the host computer, thereby improving the energy saving effect.

図1は、本実施の形態に係るディスクアレイ装置100の構成を示すブロック図である。図2は、本実施の形態の比較例に係るディスクアレイ装置200の構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of a disk array device 100 according to the present embodiment. FIG. 2 is a block diagram showing a configuration of a disk array device 200 according to a comparative example of the present embodiment.

まず、図2に示した比較例に係るディスクアレイ装置200の構成について説明する。   First, the configuration of the disk array device 200 according to the comparative example shown in FIG. 2 will be described.

図2において、ディスクアレイ装置200は、n個(nは自然数)のRAIDグループ1〜nと、2個のコントローラ201とを備える。   In FIG. 2, the disk array device 200 includes n (n is a natural number) RAID groups 1 to n and two controllers 201.

RAIDグループ1〜nは、ディスクアレイであり、それぞれ複数のHDD300で構成されている。   The RAID groups 1 to n are disk arrays, each of which is composed of a plurality of HDDs 300.

コントローラ201は、それぞれホストインタフェース部202(ホストI/F部)、ネットワークインタフェース部203(ネットワークI/F部)、ディスク制御部204、ディスクアレイ制御部205、キャッシュメモリ206を備える。   The controller 201 includes a host interface unit 202 (host I / F unit), a network interface unit 203 (network I / F unit), a disk control unit 204, a disk array control unit 205, and a cache memory 206, respectively.

ホストインタフェース部202は、ホストコンピュータ500と接続されている。ネットワークインタフェース部203は、管理用のLAN(Local・Area・Network)と接続されている。ディスク制御部204は、RAIDグループ1〜nのHDD300と接続されている。ディスクアレイ制御部205は、ホストインタフェース部202を介してホストコンピュータ500からの要求を受け取ると、ディスク制御部204を介してRAIDグループ1〜nのHDD300へのデータの書き込み、又は、RAIDグループ1〜nのHDD300からのデータの読み取りを行う。また、ディスクアレイ制御部205は、ネットワークインタフェース部203を介して入力されるLANからの指示を受けると、ディスクアレイ装置200の各部の設定や状態通知等を行う。キャッシュメモリ206は、RAIDグループ1〜nのHDD300に書き込まれるデータ、及び、RAIDグループ1〜nのHDD300から読み取られるデータを一時的に保存する揮発性メモリである。   The host interface unit 202 is connected to the host computer 500. The network interface unit 203 is connected to a management LAN (Local / Area / Network). The disk control unit 204 is connected to the HDDs 300 of the RAID groups 1 to n. When the disk array control unit 205 receives a request from the host computer 500 via the host interface unit 202, the disk array control unit 205 writes data to the HDDs 300 of the RAID groups 1 to n via the disk control unit 204 or The data is read from the n HDDs 300. In addition, when receiving an instruction from the LAN input via the network interface unit 203, the disk array control unit 205 performs setting, status notification, and the like of each unit of the disk array device 200. The cache memory 206 is a volatile memory that temporarily stores data written to the HDDs 300 of the RAID groups 1 to n and data read from the HDDs 300 of the RAID groups 1 to n.

ディスクアレイ装置200のパワーセーブ機能を実現する第1の方式において、ディスクアレイ制御部205は、ホストコンピュータ500からホストインタフェース部202を経由してSCSI(Small・Computer・System・Interface)のSTART・STOP・Unitコマンドを受信する。あるいは、ディスクアレイ制御部205は、LANからネットワークインタフェース部203を経由して指示を受ける。そして、ディスクアレイ制御部205は、SCSIのコマンド又は指示に従ってHDD300のスピンドルモータのオン/オフを行う。   In the first method for realizing the power saving function of the disk array device 200, the disk array control unit 205 is connected to the start / stop of SCSI (Small / Computer / System / Interface) via the host interface unit 202 from the host computer 500. • Receive a Unit command. Alternatively, the disk array control unit 205 receives an instruction from the LAN via the network interface unit 203. Then, the disk array control unit 205 turns on / off the spindle motor of the HDD 300 in accordance with a SCSI command or instruction.

ディスクアレイ装置200のパワーセーブ機能を実現する第2の方式において、ディスクアレイ制御部205は、ホストコンピュータ500からのアクセスが予め設定された時間を経過してもなかった場合、自動的にHDD300のスピンドルモータの回転を停止してスタンバイモードに移行する。   In the second method for realizing the power saving function of the disk array device 200, the disk array control unit 205 automatically performs the operation of the HDD 300 when the access from the host computer 500 has not passed a preset time. Stop the spindle motor rotation and enter standby mode.

第1の方式では、HDD300へのアクセス再開時に、ディスクアレイ制御部205は、再度SCSIのSTART・STOP・Unitコマンドを受信してHDD300のスピンドルモータをオンにする。第2の方式では、ディスクアレイ制御部205は、スタンバイモード中に書き込み(ライト)又は読み取り(リード)のコマンドを受信することで自動的にHDD300のスピンドルモータの回転を開始し、アイドルモードに戻る。   In the first method, when access to the HDD 300 is resumed, the disk array control unit 205 receives the SCSI START / STOP / Unit command again and turns on the spindle motor of the HDD 300. In the second method, the disk array control unit 205 automatically starts rotation of the spindle motor of the HDD 300 upon receiving a write (read) or read (read) command during the standby mode, and returns to the idle mode. .

どちらの方式でもスピンドルモータが規定の回転数に到達し、Ready状態となるまではホストコンピュータ500から実際のディスクアクセスはできないため、HDD300へのアクセス再開時にはホストアクセスのI/O遅延が発生する。したがって、これらの方式は、予め長時間ディスクアクセスのないことが分かっている場合や、バックアップ用途等、ディスクアクセスの時間帯をスケジュール可能な場合にしか利用できない。また、これらの方式では、スピンドルモータがオフのときに書き込み又は読み取りの要求があると、毎回スピンドルモータの回転を再開しなければならないため、省エネルギー効果が限定的である。   In either method, the host computer 500 cannot perform actual disk access until the spindle motor reaches the specified rotation speed and enters the Ready state. Therefore, when access to the HDD 300 is resumed, a host access I / O delay occurs. Therefore, these methods can be used only when it is known in advance that there is no disk access for a long time, or when a disk access time zone can be scheduled, such as for backup purposes. Further, in these methods, if there is a write or read request when the spindle motor is off, the spindle motor must be rotated every time, so the energy saving effect is limited.

次に、図1に示した本実施の形態に係るディスクアレイ装置100の構成について説明する。   Next, the configuration of the disk array device 100 according to the present embodiment shown in FIG. 1 will be described.

図1において、ディスクアレイ装置100は、ストレージシステムの一例であり、n個(nは1以上の自然数)のRAIDグループ1〜nと、2個のコントローラ101とを備える。   In FIG. 1, a disk array device 100 is an example of a storage system, and includes n (n is a natural number of 1 or more) RAID groups 1 to n and two controllers 101.

RAIDグループ1〜nは、図2に示した例と同様に、ディスクアレイであり、それぞれ複数のHDD300で構成されている。なお、RAIDグループ1〜nのそれぞれのRAIDレベル(例えば、RAID1、RAID5、RAID6)は任意である。RAIDレベルの異なるRAIDグループが混在していても構わない。また、RAIDグループ1〜nの代わりに、RAID以外の技術によるディスクアレイを使用してもよいし、ディスクアレイではない単体のディスクドライブを1つ又は複数使用してもよい。   The RAID groups 1 to n are disk arrays, each of which is composed of a plurality of HDDs 300, as in the example shown in FIG. Each RAID level (for example, RAID1, RAID5, RAID6) of the RAID groups 1 to n is arbitrary. RAID groups with different RAID levels may be mixed. Further, instead of the RAID groups 1 to n, a disk array by a technique other than RAID may be used, or one or a plurality of single disk drives that are not disk arrays may be used.

それぞれのRAIDグループでは、任意のディスク容量をLU(Logical・Unit)(論理ユニット)として複数設定できる。例えば、RAIDグループ1が5個のHDD300で構成されたディスクアレイであれば、5個のHDD300それぞれの特定のアドレス範囲をLU1、5個のHDD300それぞれの別のアドレス範囲をLU2、・・・といった形で複数のLUを設定することができる。各LUは、ホストコンピュータ500から別々の物理ディスクとして認識される。   In each RAID group, a plurality of arbitrary disk capacities can be set as LUs (Logical Units) (logical units). For example, if the RAID group 1 is a disk array composed of five HDDs 300, a specific address range of each of the five HDDs 300 is LU1, another address range of each of the five HDDs 300 is LU2, and so on. A plurality of LUs can be set in the form. Each LU is recognized by the host computer 500 as a separate physical disk.

HDD300は、ディスク(具体的には、磁気ディスク)にデータを記憶するディスクドライブである。なお、HDD300の代わりに、他の種類のディスクドライブ(例えば、光ディスクにデータを記憶するディスクドライブ)を使用してもよい。   The HDD 300 is a disk drive that stores data on a disk (specifically, a magnetic disk). Instead of the HDD 300, another type of disk drive (for example, a disk drive that stores data on an optical disk) may be used.

コントローラ101は、RAIDグループ1〜nのHDD300と、内蔵するSSD400とを制御するドライブ制御装置である。なお、SSD400はコントローラ101の外部に設置されてもよい。   The controller 101 is a drive control device that controls the HDDs 300 of the RAID groups 1 to n and the built-in SSD 400. The SSD 400 may be installed outside the controller 101.

SSD400は、メモリ(具体的には、フラッシュメモリ)にデータを記憶するメモリドライブである。なお、SSD400の代わりに、他の種類のメモリドライブを使用してもよい。また、SSD400又はその他の種類のメモリドライブを複数使用してもよい。   The SSD 400 is a memory drive that stores data in a memory (specifically, a flash memory). Note that other types of memory drives may be used instead of the SSD 400. Also, a plurality of SSD 400 or other types of memory drives may be used.

本実施の形態では、同じ機能を持つコントローラ101をディスクアレイ装置100に2個搭載して冗長構成をとっているが、コントローラ101を1個のみ搭載するようにしてもよいし、3個以上搭載するようにしてもよい。   In this embodiment, two controllers 101 having the same function are mounted on the disk array device 100 to have a redundant configuration. However, only one controller 101 may be mounted, or three or more controllers 101 are mounted. You may make it do.

コントローラ101は、それぞれホストインタフェース部102、ネットワークインタフェース部103、ディスク制御部104、ディスクアレイ制御部105、キャッシュメモリ106(キャッシュ)を備える。   The controller 101 includes a host interface unit 102, a network interface unit 103, a disk control unit 104, a disk array control unit 105, and a cache memory 106 (cache).

ホストインタフェース部102は、ホストコンピュータ500と接続されている。ホストインタフェース部102は、ホストコンピュータ500からの入力を受け付けたり、ホストコンピュータ500に対する出力を行ったりする。そのために、ホストインタフェース部102は、例えば、ホストコンピュータ500とSCSIチャネルの接続を行う。   The host interface unit 102 is connected to the host computer 500. The host interface unit 102 receives input from the host computer 500 and outputs to the host computer 500. For this purpose, the host interface unit 102 performs a SCSI channel connection with the host computer 500, for example.

ネットワークインタフェース部103は、管理用のLANと接続されている。ネットワークインタフェース部103は、LAN(実際には、LANに接続された管理用の端末等)からの信号(ディスクアレイ装置100の各部の設定や状態通知等を行うための信号)を受信したり、LANに対する信号を送信したりする。   The network interface unit 103 is connected to a management LAN. The network interface unit 103 receives a signal (a signal for performing setting or status notification of each unit of the disk array device 100) from a LAN (actually, a management terminal connected to the LAN), Send signals to the LAN.

ディスク制御部104は、RAIDグループ1〜nのHDD300と接続されている。ディスク制御部104は、HDD300に対するディスクI/Oを制御する。そのために、ディスク制御部104は、例えば、HDD300とファイバチャネル、SCSIチャネル、SAS(Serial・Attached・SCSI)チャネル等の接続を行う。   The disk control unit 104 is connected to the HDDs 300 of the RAID groups 1 to n. The disk control unit 104 controls disk I / O for the HDD 300. For this purpose, for example, the disk control unit 104 connects the HDD 300 to a fiber channel, a SCSI channel, a SAS (Serial Attached SCSI) channel, or the like.

ディスクアレイ制御部105は、ホストインタフェース部102又はネットワークインタフェース部103を介して、RAIDグループ単位(LU単位でもよい)で省エネモードの指定の入力を受け付ける。ディスクアレイ制御部105は、省エネモードを指定されたRAIDグループ又はそのRAIDグループに属するLUに対してホストコンピュータ500からのアクセスが予め設定された時間を経過してもなかった場合、自動的に、そのRAIDグループのHDD300のスピンドルモータの回転を停止してスタンバイモードに移行する。あるいは、ディスクアレイ制御部105は、ホストコンピュータ500からホストインタフェース部102を経由して、特定のRAIDグループの稼働停止を指示するSCSIのSTART・STOP・Unitコマンドを受信するか、又は、LANからネットワークインタフェース部103を経由して同様の指示を受けた場合、そのRAIDグループのHDD300のスピンドルモータの回転を停止してスタンバイモードに移行する。   The disk array control unit 105 accepts an input of energy saving mode designation in RAID group units (or LU units) via the host interface unit 102 or the network interface unit 103. If the access from the host computer 500 does not elapse for a preset time for the RAID group designated for the energy saving mode or the LU belonging to the RAID group, the disk array control unit 105 automatically The rotation of the spindle motor of the HDD 300 of the RAID group is stopped and the standby mode is entered. Alternatively, the disk array control unit 105 receives a SCSI START / STOP / Unit command for instructing to stop the operation of a specific RAID group from the host computer 500 via the host interface unit 102 or a network from the LAN. When the same instruction is received via the interface unit 103, the rotation of the spindle motor of the HDD 300 of the RAID group is stopped and the standby mode is entered.

本実施の形態では、スタンバイモード中のRAIDグループのHDD300がスピンアップしてアイドルモード(Ready状態)になるまでの間、そのRAIDグループ又はそのRAIDグループに属するLUに対するホストコンピュータ500からのアクセスを、キャッシュメモリ106とRAIDグループ1〜nのHDD300を制御するディスク制御部104との間に設けられたSSD400が受ける。このような方式を採用することにより、ディスクI/Oの遅延を極小化することが可能となる。   In the present embodiment, access from the host computer 500 to the RAID group or an LU belonging to the RAID group until the HDD 300 of the RAID group in the standby mode is spun up and enters the idle mode (Ready state). It is received by the SSD 400 provided between the cache memory 106 and the disk control unit 104 that controls the HDDs 300 of the RAID groups 1 to n. By adopting such a system, it is possible to minimize the delay of the disk I / O.

ディスクアレイ制御部105は、上記のような方式を実施するための構成要素として、ディスクアクセス制御部107、メモリアクセス制御部108、アドレスマッピング部109、メモリ書き込み状況判定部110、ディスク回転制御部111を備える。ディスクアレイ制御部105の各部の動作については後述する。   The disk array control unit 105 includes, as components for implementing the above-described method, a disk access control unit 107, a memory access control unit 108, an address mapping unit 109, a memory write status determination unit 110, and a disk rotation control unit 111. Is provided. The operation of each unit of the disk array control unit 105 will be described later.

キャッシュメモリ106は、RAIDグループ1〜nのHDD300に書き込まれるデータ、及び、RAIDグループ1〜nのHDD300から読み取られるデータを一時的に保存する揮発性メモリである。なお、キャッシュメモリ106として、不揮発性メモリを使用してもよい。   The cache memory 106 is a volatile memory that temporarily stores data written to the HDDs 300 of the RAID groups 1 to n and data read from the HDDs 300 of the RAID groups 1 to n. Note that a non-volatile memory may be used as the cache memory 106.

図示していないが、本実施の形態において、コントローラ101は、それぞれコンピュータであり、各種ハードウェアデバイスを備えている。ハードウェアデバイスはケーブルや信号線で接続されている。   Although not shown, in the present embodiment, each of the controllers 101 is a computer and includes various hardware devices. Hardware devices are connected by cables and signal lines.

コントローラ101は、処理装置として、例えばプログラムを実行するCPU(Central・Processing・Unit)を備えている。CPUは、バスを介して各種インタフェース部や記憶装置と接続され、これらを制御する。コントローラ101は、インタフェース部として、ホストインタフェース部102、ネットワークインタフェース部103、ディスク制御部104等を備えている。コントローラ101は、記憶装置として、キャッシュメモリ106、SSD400のほか、ROM(Read・Only・Memory)、RAM(Random・Access・Memory)等を備えている。記憶装置には、プログラム群、ファイル群が記憶されている。プログラム群のプログラムは、CPUにより実行される。プログラム群には、ディスクアレイ制御部105を構成する各部の機能を実行するプログラムが含まれている。プログラムは、CPUにより読み出されて実行される。ファイル群には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、記憶装置に記憶される。記憶装置に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPUによりメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPUの処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPUの処理中、データや情報や信号値や変数値やパラメータは、メモリに一時的に記憶される。   The controller 101 includes, as a processing device, for example, a CPU (Central Processing Unit) that executes a program. The CPU is connected to various interface units and storage devices via a bus and controls them. The controller 101 includes a host interface unit 102, a network interface unit 103, a disk control unit 104, and the like as interface units. In addition to the cache memory 106 and the SSD 400, the controller 101 includes a ROM (Read / Only / Memory), a RAM (Random / Access / Memory), and the like as storage devices. A program group and a file group are stored in the storage device. The programs in the program group are executed by the CPU. The program group includes a program for executing the function of each unit constituting the disk array control unit 105. The program is read and executed by the CPU. The file group includes data, information, signal values, and the like that are described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, “˜result” in the description of the present embodiment. Variable values and parameters are included as items of “˜file”, “˜database”, and “˜table”. The “˜file”, “˜database”, and “˜table” are stored in the storage device. Data, information, signal values, variable values, and parameters stored in the storage device are read into the memory by the CPU via a read / write circuit, and extracted, searched, referenced, compared, operated, calculated, controlled, output, printed, Used for CPU processing (operation) such as display. During CPU processing such as extraction, search, reference, comparison, calculation, calculation, control, output, printing, and display, data, information, signal values, variable values, and parameters are temporarily stored in the memory.

本実施の形態の説明において用いる図面の矢印の部分は主としてデータや信号の入出力を示す。データや信号は、記憶装置に記録される。また、データや信号は、バス、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。   The arrows in the drawings used in the description of this embodiment mainly indicate input / output of data and signals. Data and signals are recorded in a storage device. Data and signals are transmitted by a bus, a signal line, a cable, or other transmission media.

本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROMに記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、記憶装置に記憶される。プログラムはCPUにより読み出され、CPUにより実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。   In the description of the present embodiment, what is described as “to part” may be “to circuit”, “to device”, “to device”, and “to step”, “to process”, “to”. ~ Procedure "," ~ process ". That is, what is described as “˜unit” may be realized by firmware stored in the ROM. Alternatively, what is described as “˜unit” may be realized only by software, or only by hardware such as an element, a device, a board, and wiring. Alternatively, what is described as “to part” may be realized by a combination of software and hardware, or a combination of software, hardware and firmware. Firmware and software are stored in the storage device as programs. The program is read by the CPU and executed by the CPU. That is, the program causes the computer to function as “to part” described in the description of the present embodiment. Or a program makes a computer perform the procedure and method of "-part" described by description of this Embodiment.

以下では、図1に示した本実施の形態に係るディスクアレイ装置100の各部の動作(本実施の形態に係るドライブ制御方法、本実施の形態に係るプログラムの処理手順)について説明する。   In the following, the operation of each part of the disk array device 100 according to the present embodiment shown in FIG. 1 (drive control method according to the present embodiment, program processing procedure according to the present embodiment) will be described.

図3及び図4は、ディスクアレイ装置100が書き込み要求を処理する際のデータの流れを示す図である。   3 and 4 are diagrams showing a data flow when the disk array device 100 processes a write request.

図3は、省エネモードを指定されたRAIDグループのHDD300がスピンアップ状態(稼働中)のときに、そのRAIDグループ又はそのRAIDグループに属するLUを指定した書き込み要求があった場合のデータの流れを示している。   FIG. 3 shows the data flow when there is a write request specifying the RAID group or an LU belonging to the RAID group when the HDD 300 of the RAID group to which the energy saving mode is specified is in a spin-up state (in operation). Show.

この場合、ディスクアレイ装置100の各部は、以下のように動作する。
(1)ホストインタフェース部102は、ホストコンピュータ500からの書き込み要求(Write要求)の入力を受け付ける。書き込み要求は、例えばSCSIのWriteコマンドであり、RAIDグループやLUの識別子(例えば、番号)を指定するパラメータ等を含む。
(2)ディスクアレイ制御部105は、書き込み要求がホストコンピュータ500からホストインタフェース部102に入力されると、書き込みが要求されたデータ、即ち、書き込みデータ(Writeデータ)を、ホストインタフェース部102を介してホストコンピュータ500から受信する。ディスクアレイ制御部105は、受信した書き込みデータをキャッシュメモリ106に保存する。
(3)ディスクアレイ制御部105は、書き込みの完了報告(I/O終了の報告)を、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
(4)ディスクアレイ制御部105のディスクアクセス制御部107は、キャッシュメモリ106に保存した書き込みデータを、ディスク制御部104を介して、書き込み要求で指定されたRAIDグループ又はLUのHDD300に転送する。HDD300は、ディスクアクセス制御部107により転送された書き込みデータをディスクに書き込む。この動作はいわゆるライトバック方式であり、キャッシュメモリ106に書き込まれたデータは、ホストコンピュータ500のI/Oとは非同期にデステージ処理によってHDD300に書き込まれる。
In this case, each unit of the disk array device 100 operates as follows.
(1) The host interface unit 102 receives an input of a write request (Write request) from the host computer 500. The write request is, for example, a SCSI Write command, and includes a parameter specifying a RAID group or LU identifier (for example, a number).
(2) When a write request is input from the host computer 500 to the host interface unit 102, the disk array control unit 105 sends the write requested data, that is, write data (write data) via the host interface unit 102. From the host computer 500. The disk array control unit 105 stores the received write data in the cache memory 106.
(3) The disk array control unit 105 transmits a write completion report (I / O completion report) to the host computer 500 via the host interface unit 102.
(4) The disk access control unit 107 of the disk array control unit 105 transfers the write data stored in the cache memory 106 to the HDD 300 of the RAID group or LU specified by the write request via the disk control unit 104. The HDD 300 writes the write data transferred by the disk access control unit 107 to the disk. This operation is a so-called write back method, and data written to the cache memory 106 is written to the HDD 300 by destage processing asynchronously with the I / O of the host computer 500.

上記のように、本実施の形態において、キャッシュメモリ106は、HDD300のディスクへのデータの書き込み要求がホストコンピュータ500からホストインタフェース部102に入力される度に、当該データを記憶する。   As described above, in this embodiment, the cache memory 106 stores the data every time a data write request to the disk of the HDD 300 is input from the host computer 500 to the host interface unit 102.

また、本実施の形態において、ディスクアクセス制御部107は、HDD300がディスクの回転を開始している場合、HDD300のディスクへのデータの書き込み要求がホストコンピュータ500からホストインタフェース部102に入力される度に、当該データをキャッシュメモリ106からHDD300に転送して当該データをディスクに書き込むようHDD300を制御する。   In the present embodiment, the disk access control unit 107 receives a data write request to the disk of the HDD 300 from the host computer 500 to the host interface unit 102 when the HDD 300 starts rotating the disk. Then, the HDD 300 is controlled to transfer the data from the cache memory 106 to the HDD 300 and write the data to the disk.

図4は、省エネモードを指定されたRAIDグループのHDD300がスピンダウン状態(稼働停止)のときに、そのRAIDグループ又はそのRAIDグループに属するLUを指定した書き込み要求があった場合のデータの流れを示している。   FIG. 4 shows the data flow when there is a write request specifying the RAID group or an LU belonging to the RAID group when the HDD 300 of the RAID group to which the energy saving mode is specified is in the spin-down state (operation stop). Show.

この場合、ディスクアレイ装置100の各部は、以下のように動作する。
(1)ホストインタフェース部102は、ホストコンピュータ500からの書き込み要求(Write要求)の入力を受け付ける。前述したように、書き込み要求は、例えばSCSIのWriteコマンドであり、RAIDグループやLUの識別子(例えば、番号)を指定するパラメータ等を含む。
(2)ディスクアレイ制御部105は、書き込み要求がホストコンピュータ500からホストインタフェース部102に入力されると、書き込みデータ(Writeデータ)を、ホストインタフェース部102を介してホストコンピュータ500から受信する。ディスクアレイ制御部105は、受信した書き込みデータをキャッシュメモリ106に保存する。
(3)ディスクアレイ制御部105は、書き込みの完了報告を、ホストインタフェース部102を介してホストコンピュータ500へ送信する。なお、ここまでの動作は、図3の場合と同様である。
(4)ディスクアレイ制御部105のメモリアクセス制御部108は、所定のタイミングで(例えば、書き込みデータがキャッシュメモリ106に保存されるのとほとんど同時に)、書き込みデータをSSD400に転送する。このとき、メモリアクセス制御部108は、書き込み要求で指定されたRAIDグループ又はLUに対応するSSD400のメモリのアドレスをアドレスマッピング部109から読み出し、そのアドレスをSSD400に対して指定する。ここで、アドレスマッピング部109は、RAIDグループ1〜n又はRAIDグループ1〜nの各LUと、SSD400のメモリのアドレスとの対応関係を予め記憶しているものとする。SSD400は、メモリアクセス制御部108により転送された書き込みデータを、メモリアクセス制御部108により指定されたメモリのアドレスに書き込む。このように、キャッシュメモリ106に書き込まれたデータは、ホストコンピュータ500のI/Oとは非同期にデステージ処理によってSSD400に書き込まれる。
(5)ディスクアレイ制御部105のメモリ書き込み状況判定部110は、SSD400のメモリへのデータの書き込み状況が予め定められた条件を満たしたかどうかを判定する。例えば、メモリ書き込み状況判定部110は、SSD400のメモリに書き込まれ、かつ、まだHDD300のディスクに書き込まれていないデータの量が予め定められた量に達した場合、あるいは、SSD400のメモリにデータが書き込まれる頻度が予め定められた頻度に達した場合、SSD400のメモリへのデータの書き込み状況が上記条件を満たしたと判定する。ディスクアレイ制御部105のディスク回転制御部111は、メモリ書き込み状況判定部110によりSSD400のメモリへのデータの書き込み状況が上記条件を満たしたと判定されると、HDD300に対してディスクのスピンドルモータの回転を再開するよう要求する。ディスクアレイ制御部105のディスクアクセス制御部107は、HDD300がスピンアップ状態(稼働再開)になると、まだHDD300に書き込まれていない書き込みデータをSSD400のメモリから、ディスク制御部104を介して、対応するRAIDグループ又はLUのHDD300に転送する。HDD300は、ディスクアクセス制御部107により転送された書き込みデータをディスクに書き込む。このように、SSD400に書き込まれたデータは、HDD300のスピンアップ後、さらにデステージ処理によってHDD300に最終的に書き込まれる。
In this case, each unit of the disk array device 100 operates as follows.
(1) The host interface unit 102 receives an input of a write request (Write request) from the host computer 500. As described above, the write request is, for example, a SCSI Write command, and includes a parameter specifying a RAID group and an LU identifier (for example, a number).
(2) When a write request is input from the host computer 500 to the host interface unit 102, the disk array control unit 105 receives write data (Write data) from the host computer 500 via the host interface unit 102. The disk array control unit 105 stores the received write data in the cache memory 106.
(3) The disk array control unit 105 transmits a write completion report to the host computer 500 via the host interface unit 102. The operation so far is the same as in the case of FIG.
(4) The memory access control unit 108 of the disk array control unit 105 transfers the write data to the SSD 400 at a predetermined timing (for example, almost simultaneously with the write data being stored in the cache memory 106). At this time, the memory access control unit 108 reads the address of the memory of the SSD 400 corresponding to the RAID group or LU designated by the write request from the address mapping unit 109 and designates the address to the SSD 400. Here, it is assumed that the address mapping unit 109 stores a correspondence relationship between each LU of the RAID groups 1 to n or RAID groups 1 to n and the memory address of the SSD 400 in advance. The SSD 400 writes the write data transferred by the memory access control unit 108 to the memory address designated by the memory access control unit 108. As described above, the data written to the cache memory 106 is written to the SSD 400 by destage processing asynchronously with the I / O of the host computer 500.
(5) The memory write status determination unit 110 of the disk array control unit 105 determines whether the data write status to the memory of the SSD 400 satisfies a predetermined condition. For example, the memory write status determination unit 110 writes data in the memory of the SSD 400 when the amount of data that has been written to the disk of the HDD 300 and has not yet been written to the disk of the HDD 300 reaches a predetermined amount, or When the frequency of writing reaches a predetermined frequency, it is determined that the state of data writing to the memory of the SSD 400 satisfies the above condition. The disk rotation control unit 111 of the disk array control unit 105 rotates the spindle motor of the disk with respect to the HDD 300 when the memory write state determination unit 110 determines that the data write state to the memory of the SSD 400 satisfies the above condition. Request to resume. When the HDD 300 is in the spin-up state (resumed operation), the disk access control unit 107 of the disk array control unit 105 handles write data that has not yet been written to the HDD 300 from the memory of the SSD 400 via the disk control unit 104. The data is transferred to the HDD 300 of the RAID group or LU. The HDD 300 writes the write data transferred by the disk access control unit 107 to the disk. As described above, the data written to the SSD 400 is finally written to the HDD 300 by destage processing after the HDD 300 is spun up.

上記のように、本実施の形態において、アドレスマッピング部109は、HDD300のディスクの記憶領域を分割した複数のLUと、それぞれのLUに個別に割り当てられるSSD400のメモリのアドレス(記憶領域)との対応関係を記憶する。例えば、RAIDグループ1に20GB(ギガバイト)のLU1と40GBのLU2とが設定され、RAIDグループ2に100GBのLU3が設定されているとする。この場合、SSD400のメモリの先頭アドレスから10GB(上限は20GB)をLU1、その次のアドレスから5GB(上限は40GB)をLU2、・・・といった形で各LUにSSD400のメモリのアドレスを割り当てることができる。例えば、LU1に対して割り当てられたSSD400のメモリのアドレス範囲は、LU1が指定された書き込み要求の書き込みデータを記憶するための領域となる。各LUに割り当てられる容量がLUの容量(HDD300の容量)より小さい場合、LRU(Least・Recently・Used)方式やLFU(Least・Frequently・Used)方式等によって参照されていないデータ(使用頻度の低いデータ)を置換対象とする。   As described above, in the present embodiment, the address mapping unit 109 includes a plurality of LUs obtained by dividing the storage area of the disk of the HDD 300 and the addresses (storage areas) of the memory of the SSD 400 that are individually assigned to the respective LUs. Memorize the correspondence. For example, it is assumed that 20 GB (gigabyte) LU1 and 40 GB LU2 are set in RAID group 1, and 100 GB LU3 is set in RAID group 2. In this case, 10 GB (upper limit is 20 GB) from the start address of the SSD 400 memory is LU1, the next address is 5 GB (upper limit is 40 GB) is LU2, and the address of the SSD 400 memory is allocated to each LU. Can do. For example, the address range of the SSD 400 memory allocated to LU1 is an area for storing write data of a write request in which LU1 is designated. When the capacity allocated to each LU is smaller than the capacity of the LU (capacity of the HDD 300), data that is not referred to by the LRU (Least, Recently Used) or LFU (Least, Frequently Used) system, etc. (low usage frequency) Data) is the replacement target.

LUとSSD400のメモリのアドレスとの対応関係は、予め静的に設定(即ち、固定)してもよいし、動的に設定してもよいし、まったく設定しなくてもよいし、LUを区別せずにRAIDグループとSSD400のメモリのアドレスとの対応関係を設定してもよい。対応関係を動的に設定するのであれば、例えば、アドレスマッピング部109において、SSD400のメモリの使用状況(LUごとの使用量、使用頻度等)を監視し、使用状況に応じてLUごとの割り当て量を調整する(例えば、メモリの使用量が多いLUやメモリの使用頻度が高いLUにはアドレスを多めに割り当てる)。対応関係をまったく設定しないのであれば、アドレスマッピング部109は不要となる。   The correspondence relationship between the LU and the memory address of the SSD 400 may be statically set (that is, fixed) in advance, may be dynamically set, may not be set at all, You may set the correspondence of a RAID group and the address of the memory of SSD400, without distinguishing. If the correspondence relationship is dynamically set, for example, the address mapping unit 109 monitors the memory usage state (usage amount, usage frequency, etc. of each LU) of the SSD 400, and assigns each LU according to the usage state. The amount is adjusted (for example, a larger number of addresses are allocated to an LU having a large memory usage or an LU having a high memory usage frequency). If no correspondence is set, the address mapping unit 109 is unnecessary.

また、本実施の形態において、メモリアクセス制御部108は、HDD300がディスクの回転を停止している場合、HDD300のディスクへのデータの書き込み要求がホストコンピュータ500からホストインタフェース部102に入力される度に、当該データをキャッシュメモリ106からSSD400に転送して当該データをメモリに書き込むようSSD400を制御する。例えば、メモリアクセス制御部108は、HDD300がディスクの回転を停止している場合、HDD300のディスクへのデータの書き込み要求として、複数のLUのうちいずれかのLUを指定する書き込み要求がホストコンピュータ500からホストインタフェース部102に入力される度に、当該LUに対応するSSD400のメモリのアドレスをアドレスマッピング部109から読み出す。そして、メモリアクセス制御部108は、当該データを当該アドレスに書き込むようSSD400を制御する。   Further, in the present embodiment, the memory access control unit 108, when the HDD 300 stops the rotation of the disk, every time a data write request to the disk of the HDD 300 is input from the host computer 500 to the host interface unit 102. In addition, the SSD 400 is controlled to transfer the data from the cache memory 106 to the SSD 400 and write the data to the memory. For example, when the HDD 300 has stopped rotating the disk, the memory access control unit 108 receives a write request for designating one of a plurality of LUs as a data write request to the disk of the HDD 300. Is input to the host interface unit 102, the address of the memory of the SSD 400 corresponding to the LU is read from the address mapping unit 109. Then, the memory access control unit 108 controls the SSD 400 to write the data at the address.

また、本実施の形態において、メモリ書き込み状況判定部110は、HDD300がディスクの回転を停止している状態で、メモリアクセス制御部108の制御によるSSD400のメモリへのデータの書き込み状況が予め定められた条件を満たしたかどうかを判定する。例えば、メモリ書き込み状況判定部110は、HDD300がディスクの回転を停止している状態で、あるLUに対応するSSD400のメモリのアドレス範囲に書き込まれ、かつ、まだHDD300のディスクに書き込まれていないデータの量が、そのLUに対して定められた閾値(例えば、割り当て量に対する比率[%]や絶対的な容量[GB])以上であれば、そのLUについて上記条件が満たされたと判定する。あるいは、メモリ書き込み状況判定部110は、HDD300がディスクの回転を停止している状態で、あるLUに対応するSSD400のメモリのアドレス範囲にデータが書き込まれる頻度が、一定の頻度以上、又は、そのLUに対して定められた閾値(例えば、単位時間当たりの回数[回/単位時間])以上であれば、そのLUについて上記条件が満たされたと判定する。メモリ書き込み状況判定部110は、同様の判定をLUごとに行う。これにより、書き込みデータをSSD400からHDD300に転送するためにHDD300をスピンアップさせるタイミングを最適化することができる(HDD300のスピンアップをなるべく遅らせたほうが省エネになるが、過度に遅らせてしまうと新たな書き込みデータを書き込むためのSSD400のメモリの容量がなくなってしまう)。   In the present embodiment, the memory write status determination unit 110 determines in advance the data write status to the memory of the SSD 400 under the control of the memory access control unit 108 in a state where the HDD 300 stops rotating the disk. Judgment is made as to whether the conditions are satisfied. For example, the memory write status determination unit 110 writes data that has been written to the address range of the memory of the SSD 400 corresponding to a certain LU and has not yet been written to the disk of the HDD 300 while the HDD 300 has stopped rotating the disk. Is equal to or greater than a threshold (for example, a ratio [%] to an allocated amount or an absolute capacity [GB]) determined for the LU, it is determined that the above condition is satisfied for the LU. Alternatively, the memory write status determination unit 110 may be configured such that the frequency at which data is written to the address range of the memory of the SSD 400 corresponding to a certain LU in a state where the HDD 300 stops rotating the disk, If it is equal to or greater than a threshold value determined for the LU (for example, the number of times per unit time [times / unit time]), it is determined that the above condition is satisfied for the LU. The memory write status determination unit 110 performs the same determination for each LU. As a result, it is possible to optimize the timing of spinning up the HDD 300 in order to transfer write data from the SSD 400 to the HDD 300 (delaying the spin-up of the HDD 300 as much as possible saves energy, but if it is delayed too much, a new The memory capacity of the SSD 400 for writing the write data is lost.

また、本実施の形態において、ディスク回転制御部111は、メモリ書き込み状況判定部110によりSSD400のメモリへのデータの書き込み状況が上記条件を満たしたと判定された場合、ディスクの回転を開始するようHDD300を制御する。なお、ディスク回転制御部111は、省エネモードを指定されたRAIDグループ、又は、省エネモードを指定されたLUが属するRAIDグループに対するアクセスが一定時間ない場合、ディスクの回転を開始するよう、そのRAIDグループのHDD300を制御する。   Further, in the present embodiment, the disk rotation control unit 111 causes the HDD 300 to start the disk rotation when the memory writing state determination unit 110 determines that the data writing state to the memory of the SSD 400 satisfies the above condition. To control. It should be noted that the disk rotation control unit 111 is configured to start the disk rotation when there is no access to the RAID group to which the energy saving mode is designated or the RAID group to which the LU to which the energy saving mode is assigned belongs for a certain period of time. The HDD 300 is controlled.

また、本実施の形態において、ディスクアクセス制御部107は、ディスク回転制御部111の制御によりHDD300がディスクの回転を開始した場合、メモリに書き込まれているデータを転送するようSSD400を制御するとともにSSD400から転送されるデータをディスクに書き込むようHDD300を制御する。   In the present embodiment, the disk access control unit 107 controls the SSD 400 to transfer the data written in the memory and the SSD 400 when the HDD 300 starts to rotate the disk under the control of the disk rotation control unit 111. The HDD 300 is controlled to write data transferred from the disk to the disk.

以上説明したように、本実施の形態では、HDD300のディスクの回転が停止している場合、書き込み要求がある度にデータをSSD400のメモリに書き込み、SSD400のメモリへのデータの書き込み状況が一定の条件を満たしたら、HDD300のディスクの回転を開始してSSD400のメモリからHDD300のディスクにデータを転送する。このため、本実施の形態によれば、I/O遅延の発生や省エネ効果の低減を回避しつつ、回転を停止するディスク(省エネモードを指定したRAIDグループ又はLUのHDD300)を有効に利用することが可能となる。   As described above, in the present embodiment, when the rotation of the disk of the HDD 300 is stopped, data is written to the memory of the SSD 400 every time there is a write request, and the state of data writing to the memory of the SSD 400 is constant. If the condition is satisfied, the disk of the HDD 300 starts to rotate, and data is transferred from the memory of the SSD 400 to the disk of the HDD 300. Therefore, according to the present embodiment, while avoiding the occurrence of I / O delay and the reduction of the energy saving effect, the disk (the RAID group or LU HDD 300 in which the energy saving mode is designated) that stops the rotation is effectively used. It becomes possible.

本実施の形態では、HDD300がスピンダウンしているときには、ホストコンピュータ500からの書き込みデータをキャッシュメモリ106からSSD400に書き込むことでI/Oアクセス遅延を極小化させることができる。   In the present embodiment, when the HDD 300 is spun down, I / O access delay can be minimized by writing write data from the host computer 500 to the SSD 400 from the cache memory 106.

また、省エネモード対象とするHDD300をRAIDグループやLUごとにディスクアレイ装置100内に設定する機能を有することで、従来、人手や外部から意図的に制御していたHDD300のスピンダウン/スピンアップを装置内で自動的に動作させることが可能となる。常時アクセスが必要なRAIDグループに対しては、省エネモード対象外とし、常時スピンアップ状態のまま動作させることもできる。なお、RAIDグループ又はLUに対するI/Oの統計情報を参照することで、省エネモードでの稼動を自動化することも可能である。   Also, by having the function of setting the HDD 300 targeted for the energy-saving mode in the disk array device 100 for each RAID group or LU, it is possible to perform spin-down / spin-up of the HDD 300 that has been intentionally controlled manually or externally. It can be automatically operated in the apparatus. A RAID group that requires constant access can be excluded from the energy-saving mode and operated while always in the spin-up state. The operation in the energy saving mode can be automated by referring to the I / O statistical information for the RAID group or LU.

実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.

図5は、本実施の形態に係るディスクアレイ装置100の構成を示すブロック図である。   FIG. 5 is a block diagram showing the configuration of the disk array device 100 according to the present embodiment.

図5において、コントローラ201のディスクアレイ制御部105は、さらに、メモリ書き込み有無判定部112を備える。その他の構成については、図1に示した実施の形態1に係るディスクアレイ装置100の構成と同様である。   In FIG. 5, the disk array control unit 105 of the controller 201 further includes a memory write presence / absence determination unit 112. Other configurations are the same as those of the disk array device 100 according to the first embodiment shown in FIG.

以下では、図5に示した本実施の形態に係るディスクアレイ装置100の各部の動作(本実施の形態に係るドライブ制御方法、本実施の形態に係るプログラムの処理手順)について説明する。   Hereinafter, the operation of each part of the disk array device 100 according to the present embodiment shown in FIG. 5 (drive control method according to the present embodiment, program processing procedure according to the present embodiment) will be described.

図6〜図9は、ディスクアレイ装置100が読み取り要求を処理する際のデータの流れを示す図である。   6 to 9 are diagrams showing the flow of data when the disk array device 100 processes a read request.

図6は、省エネモードを指定されたRAIDグループのHDD300がスピンアップ状態(稼働中)のときに、そのRAIDグループ又はそのRAIDグループに属するLUを指定した読み取り要求があり、読み取りが要求されたデータがキャッシュメモリ106に保存されていた場合(キャッシュヒット時)のデータの流れを示している。   FIG. 6 shows the data requested to be read when there is a read request specifying the RAID group or an LU belonging to the RAID group when the HDD 300 of the RAID group to which the energy saving mode is specified is in the spin-up state (in operation). Shows the flow of data when is stored in the cache memory 106 (at the time of a cache hit).

この場合、ディスクアレイ装置100の各部は、以下のように動作する。
(1)ホストインタフェース部102は、ホストコンピュータ500からの読み取り要求(Read要求)の入力を受け付ける。読み取り要求は、例えばSCSIのReadコマンドであり、RAIDグループやLUの識別子(例えば、番号)を指定するパラメータ等を含む。
(2)ディスクアレイ制御部105は、読み取り要求がホストコンピュータ500からホストインタフェース部102に入力されると、読み取りが要求されたデータ、即ち、読み取りデータ(Readデータ)をキャッシュメモリ106から読み取り、ホストインタフェース部102を介してホストコンピュータ500へ送信する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上に存在している場合、キャッシュメモリ106からデータが読み出される。
(3)ディスクアレイ制御部105は、読み取りの完了報告(I/O終了の報告)を、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
In this case, each unit of the disk array device 100 operates as follows.
(1) The host interface unit 102 receives an input of a read request (Read request) from the host computer 500. The read request is, for example, a SCSI Read command, and includes a parameter that specifies an identifier (for example, a number) of a RAID group or LU.
(2) When a read request is input from the host computer 500 to the host interface unit 102, the disk array control unit 105 reads the data requested to be read, that is, read data (Read data) from the cache memory 106, and The data is transmitted to the host computer 500 via the interface unit 102. As described above, when the data requested from the host computer 500 exists on the cache memory 106, the data is read from the cache memory 106.
(3) The disk array control unit 105 transmits a read completion report (I / O end report) to the host computer 500 via the host interface unit 102.

なお、省エネモードを指定されたRAIDグループのHDD300がスピンダウン状態(稼働停止)のときでも、キャッシュヒット時のデータの流れは、図6に示したものと同様である。   Even when the HDD 300 of the RAID group to which the energy saving mode is designated is in the spin-down state (operation stop), the data flow at the time of a cache hit is the same as that shown in FIG.

図7は、省エネモードを指定されたRAIDグループのHDD300がスピンアップ状態(稼働中)のときに、そのRAIDグループ又はそのRAIDグループに属するLUを指定した読み取り要求があり、読み取りが要求されたデータがキャッシュメモリ106に保存されていないが、SSD400のメモリに書き込まれていた場合(キャッシュミス・SSDヒット時)のデータの流れを示している。   FIG. 7 shows the data requested to be read when there is a read request specifying the RAID group or an LU belonging to the RAID group when the HDD 300 of the RAID group to which the energy saving mode is specified is in the spin-up state (in operation). Is stored in the cache memory 106 but is written in the memory of the SSD 400 (at the time of a cache miss / SSD hit), the data flow is shown.

この場合、ディスクアレイ装置100の各部は、以下のように動作する。
(1)ホストインタフェース部102は、ホストコンピュータ500からの読み取り要求(Read要求)の入力を受け付ける。前述したように、読み取り要求は、例えばSCSIのReadコマンドであり、RAIDグループやLUの識別子(例えば、番号)を指定するパラメータ等を含む。
(2)ディスクアレイ制御部105のメモリアクセス制御部108は、読み取り要求をSSD400に送信する。このとき、メモリアクセス制御部108は、ホストコンピュータ500からの読み取り要求で指定されたRAIDグループ又はLUに対応するSSD400のメモリのアドレスをアドレスマッピング部109から読み出し、そのアドレスをSSD400に対して指定する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上に存在していない場合、SSD400に対して読み取り要求が行われる。このとき、ディスクアレイ制御部105のメモリ書き込み有無判定部112は、読み取りデータ(Readデータ)がSSD400のメモリに書き込まれているかどうかを判定する。ここでは、メモリ書き込み有無判定部112は、読み取りデータがSSD400のメモリに書き込まれていると判定する。
(3)SSD400は、ディスクアレイ制御部105のメモリアクセス制御部108により送信された読み取り要求に応じて、メモリアクセス制御部108により指定されたメモリのアドレスから読み取りデータを読み取り、ディスクアレイ制御部105へ送信する。ディスクアレイ制御部105は、SSD400から送信された読み取りデータを受信し、キャッシュメモリ106に保存する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上に存在していないが、SSD400のメモリ上に存在している場合、SSD400のメモリからデータが読み出される。
(4)SSD400は、読み取りの完了報告を、ディスクアレイ制御部105へ送信する。
(5)ディスクアレイ制御部105は、SSD400から受信した読み取りデータをキャッシュメモリ106から読み取り、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
(6)ディスクアレイ制御部105は、読み取りの完了報告を、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
In this case, each unit of the disk array device 100 operates as follows.
(1) The host interface unit 102 receives an input of a read request (Read request) from the host computer 500. As described above, the read request is, for example, a SCSI Read command, and includes a parameter specifying a RAID group or an LU identifier (for example, a number).
(2) The memory access control unit 108 of the disk array control unit 105 transmits a read request to the SSD 400. At this time, the memory access control unit 108 reads the address of the memory of the SSD 400 corresponding to the RAID group or LU designated by the read request from the host computer 500 from the address mapping unit 109, and designates the address to the SSD 400. . As described above, when the data requested from the host computer 500 does not exist in the cache memory 106, a read request is made to the SSD 400. At this time, the memory writing presence / absence determining unit 112 of the disk array control unit 105 determines whether read data (Read data) is written in the memory of the SSD 400. Here, the memory writing presence / absence determining unit 112 determines that the read data is written in the memory of the SSD 400.
(3) The SSD 400 reads the read data from the memory address designated by the memory access control unit 108 in response to the read request transmitted by the memory access control unit 108 of the disk array control unit 105, and the disk array control unit 105 Send to. The disk array control unit 105 receives the read data transmitted from the SSD 400 and stores it in the cache memory 106. As described above, the data requested from the host computer 500 does not exist on the cache memory 106, but when it exists on the memory of the SSD 400, the data is read from the memory of the SSD 400.
(4) The SSD 400 transmits a read completion report to the disk array control unit 105.
(5) The disk array control unit 105 reads the read data received from the SSD 400 from the cache memory 106 and transmits it to the host computer 500 via the host interface unit 102.
(6) The disk array control unit 105 transmits a read completion report to the host computer 500 via the host interface unit 102.

なお、省エネモードを指定されたRAIDグループのHDD300がスピンダウン状態(稼働停止)のときでも、キャッシュミス・SSDヒット時のデータの流れは、図7に示したものと同様である。   Even when the HDD 300 of the RAID group to which the energy saving mode is designated is in the spin-down state (operation stop), the data flow at the time of a cache miss / SSD hit is the same as that shown in FIG.

上記のように、本実施の形態において、メモリ書き込み有無判定部112は、HDD300がディスクの回転を開始している場合、及び、ディスクの回転を停止している場合のいずれにおいても、HDD300のディスクからのデータの読み取り要求がホストコンピュータ500からホストインタフェース部102に入力されると、当該データがSSD400のメモリに書き込まれているかどうかを判定する。   As described above, in the present embodiment, the memory writing presence / absence determining unit 112 determines whether the HDD 300 has a disk in the HDD 300 both when the disk 300 starts rotating and when the disk rotation stops. When a data read request from the host computer 500 is input to the host interface unit 102, it is determined whether or not the data is written in the memory of the SSD 400.

また、本実施の形態において、メモリアクセス制御部108は、メモリ書き込み有無判定部112によりホストコンピュータ500から読み取りを要求されたデータがSSD400のメモリに書き込まれていると判定された場合、ホストコンピュータ500から読み取りを要求されたデータをメモリから読み取るようSSD400を制御する。   In the present embodiment, the memory access control unit 108 determines that the data requested to be read from the host computer 500 by the memory write presence / absence determination unit 112 is written in the memory of the SSD 400. The SSD 400 is controlled so as to read the data requested to be read from the memory.

また、本実施の形態において、ホストインタフェース部202は、メモリアクセス制御部108の制御によりSSD400のメモリから読み取られたデータをホストコンピュータ500に対して出力する。   In the present embodiment, the host interface unit 202 outputs data read from the memory of the SSD 400 to the host computer 500 under the control of the memory access control unit 108.

また、本実施の形態において、キャッシュメモリ106は、HDD300のディスクからのデータの読み取り要求がホストコンピュータ500からホストインタフェース部102に入力された場合に当該データを記憶していなければ、SSD400のメモリから読み取られた当該データを記憶する。これにより、キャッシュミスの頻度の低減を図ることができる。   Further, in the present embodiment, the cache memory 106 reads from the memory of the SSD 400 if it does not store the data when a request to read data from the disk of the HDD 300 is input from the host computer 500 to the host interface unit 102. The read data is stored. As a result, the frequency of cache misses can be reduced.

図8は、省エネモードを指定されたRAIDグループのHDD300がスピンアップ状態(稼働中)のときに、そのRAIDグループ又はそのRAIDグループに属するLUを指定した読み取り要求があり、読み取りが要求されたデータがキャッシュメモリ106に保存されておらず、SSD400のメモリにも書き込まれていない場合(キャッシュミス・SSDミス時)のデータの流れを示している。   FIG. 8 shows the data requested to be read when there is a read request designating the RAID group or an LU belonging to the RAID group when the HDD 300 of the RAID group designated with the energy saving mode is in a spin-up state (in operation). Shows the flow of data when is not stored in the cache memory 106 and is not written in the memory of the SSD 400 (at the time of cache miss / SSD miss).

この場合、ディスクアレイ装置100の各部は、以下のように動作する。
(1)ホストインタフェース部102は、ホストコンピュータ500からの読み取り要求(Read要求)の入力を受け付ける。前述したように、読み取り要求は、例えばSCSIのReadコマンドであり、RAIDグループやLUの識別子(例えば、番号)を指定するパラメータ等を含む。
(2)ディスクアレイ制御部105のメモリアクセス制御部108は、読み取り要求をSSD400に送信する。このとき、メモリアクセス制御部108は、ホストコンピュータ500からの読み取り要求で指定されたRAIDグループ又はLUに対応するSSD400のメモリのアドレスをアドレスマッピング部109から読み出し、そのアドレスをSSD400に対して指定する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上に存在していない場合、SSD400に対して読み取り要求が行われる。このとき、ディスクアレイ制御部105のメモリ書き込み有無判定部112は、読み取りデータ(Readデータ)がSSD400のメモリに書き込まれているかどうかを判定する。ここでは、メモリ書き込み有無判定部112は、読み取りデータがSSD400のメモリに書き込まれていないと判定する。
(3)ディスクアレイ制御部105のディスクアクセス制御部107は、メモリ書き込み有無判定部112により読み取りデータがSSD400のメモリに書き込まれていないと判定されると、読み取り要求を、ホストコンピュータ500からの読み取り要求で指定されたRAIDグループ又はLUのHDD300に送信する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上にもSSD400のメモリ上にも存在していない場合、指定されたRAIDグループ又はLUを構成しているHDD300に対して読み取り要求が行われる。
(4)HDD300は、ディスクアレイ制御部105のディスクアクセス制御部107により送信された読み取り要求に応じて、ディスクから読み取りデータを読み取り、ディスクアレイ制御部105へ送信する。ディスクアレイ制御部105は、HDD300から送信された読み取りデータを受信し、キャッシュメモリ106に保存する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上にもSSD400のメモリ上にも存在していない場合、指定されたRAIDグループ又はLUを構成しているHDD300に対して読み取り要求が行われる。
(5)HDD300は、読み取りの完了報告を、ディスクアレイ制御部105へ送信する。
(6)ディスクアレイ制御部105は、HDD300から受信した読み取りデータをキャッシュメモリ106から読み取り、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
(7)ディスクアレイ制御部105は、読み取りの完了報告を、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
(8)ディスクアレイ制御部105のメモリアクセス制御部108は、所定のタイミングで(例えば、読み取りデータがキャッシュメモリ106に保存されるのとほとんど同時、あるいは、読み取りの完了報告がホストコンピュータ500へ送信された直後に)、読み取りデータをSSD400に転送する。このとき、メモリアクセス制御部108は、書き込み要求で指定されたRAIDグループ又はLUに対応するSSD400のメモリのアドレスをSSD400に対して指定する。SSD400は、メモリアクセス制御部108により転送された読み取りデータを、メモリアクセス制御部108により指定されたメモリのアドレスに書き込む。このように、HDD300からキャッシュメモリ106に書き込まれたデータは、ホストコンピュータ500のI/Oとは非同期にデステージ処理によってSSD400に複製される。
In this case, each unit of the disk array device 100 operates as follows.
(1) The host interface unit 102 receives an input of a read request (Read request) from the host computer 500. As described above, the read request is, for example, a SCSI Read command, and includes a parameter specifying a RAID group or an LU identifier (for example, a number).
(2) The memory access control unit 108 of the disk array control unit 105 transmits a read request to the SSD 400. At this time, the memory access control unit 108 reads the address of the memory of the SSD 400 corresponding to the RAID group or LU designated by the read request from the host computer 500 from the address mapping unit 109, and designates the address to the SSD 400. . As described above, when the data requested from the host computer 500 does not exist in the cache memory 106, a read request is made to the SSD 400. At this time, the memory writing presence / absence determining unit 112 of the disk array control unit 105 determines whether read data (Read data) is written in the memory of the SSD 400. Here, the memory writing presence / absence determining unit 112 determines that the read data is not written in the memory of the SSD 400.
(3) The disk access control unit 107 of the disk array control unit 105 reads a read request from the host computer 500 when the memory write presence / absence determination unit 112 determines that read data is not written to the memory of the SSD 400. The data is transmitted to the HDD 300 of the RAID group or LU specified in the request. As described above, when the data requested from the host computer 500 does not exist in the cache memory 106 or the memory of the SSD 400, a read request is issued to the HDD 300 constituting the specified RAID group or LU. Done.
(4) The HDD 300 reads the read data from the disk and transmits it to the disk array control unit 105 in response to the read request transmitted by the disk access control unit 107 of the disk array control unit 105. The disk array control unit 105 receives the read data transmitted from the HDD 300 and stores it in the cache memory 106. As described above, when the data requested from the host computer 500 does not exist in the cache memory 106 or the memory of the SSD 400, a read request is issued to the HDD 300 constituting the specified RAID group or LU. Done.
(5) The HDD 300 transmits a read completion report to the disk array control unit 105.
(6) The disk array control unit 105 reads the read data received from the HDD 300 from the cache memory 106 and transmits it to the host computer 500 via the host interface unit 102.
(7) The disk array control unit 105 transmits a read completion report to the host computer 500 via the host interface unit 102.
(8) The memory access control unit 108 of the disk array control unit 105 transmits the read completion report to the host computer 500 at a predetermined timing (for example, almost simultaneously with the read data being stored in the cache memory 106 or the read completion report). Immediately after that, the read data is transferred to the SSD 400. At this time, the memory access control unit 108 specifies the address of the memory of the SSD 400 corresponding to the RAID group or LU specified by the write request to the SSD 400. The SSD 400 writes the read data transferred by the memory access control unit 108 to the memory address designated by the memory access control unit 108. As described above, data written from the HDD 300 to the cache memory 106 is copied to the SSD 400 by destage processing asynchronously with the I / O of the host computer 500.

上記のように、本実施の形態において、ディスクアクセス制御部107は、メモリ書き込み有無判定部112によりホストコンピュータ500から読み取りを要求されたデータがSSD400のメモリに書き込まれていないと判定された場合、ホストコンピュータ500から読み取りを要求されたデータをディスクから読み取るようHDD300を制御する。   As described above, in the present embodiment, the disk access control unit 107 determines that the data requested to be read from the host computer 500 by the memory write presence / absence determination unit 112 is not written to the memory of the SSD 400. The HDD 300 is controlled so that the data requested to be read from the host computer 500 is read from the disk.

また、本実施の形態において、ホストインタフェース部202は、ディスクアクセス制御部107の制御によりHDD300のディスクから読み取られたデータをホストコンピュータ500に対して出力する。   In the present embodiment, the host interface unit 202 outputs data read from the disk of the HDD 300 to the host computer 500 under the control of the disk access control unit 107.

また、本実施の形態において、キャッシュメモリ106は、HDD300のディスクからのデータの読み取り要求がホストコンピュータ500からホストインタフェース部102に入力された場合に当該データを記憶していなければ、HDD300のディスクから読み取られた当該データを記憶する。これにより、キャッシュミスの頻度の低減を図ることができる。   Further, in the present embodiment, the cache memory 106 starts from the disk of the HDD 300 if it does not store the data when a request to read data from the disk of the HDD 300 is input from the host computer 500 to the host interface unit 102. The read data is stored. As a result, the frequency of cache misses can be reduced.

また、本実施の形態において、メモリアクセス制御部108は、ディスクアクセス制御部107の制御によりHDD300のディスクから読み取られたデータをメモリに書き込むようSSD400を制御する。これにより、SSDミスの頻度の低減を図ることができる。   In this embodiment, the memory access control unit 108 controls the SSD 400 to write data read from the disk of the HDD 300 to the memory under the control of the disk access control unit 107. As a result, the frequency of SSD misses can be reduced.

図9は、省エネモードを指定されたRAIDグループのHDD300がスピンダウン状態(稼働停止)のときに、そのRAIDグループ又はそのRAIDグループに属するLUを指定した読み取り要求があり、読み取りが要求されたデータがキャッシュメモリ106に保存されておらず、SSD400のメモリにも書き込まれていない場合(キャッシュミス・SSDミス時)のデータの流れを示している。   FIG. 9 shows the data requested to be read when there is a read request specifying the RAID group or an LU belonging to the RAID group when the HDD 300 of the RAID group to which the energy saving mode is specified is in a spin-down state (operation stop). Shows the flow of data when is not stored in the cache memory 106 and is not written in the memory of the SSD 400 (at the time of cache miss / SSD miss).

この場合、ディスクアレイ装置100の各部は、以下のように動作する。
(1)ホストインタフェース部102は、ホストコンピュータ500からの読み取り要求(Read要求)の入力を受け付ける。前述したように、読み取り要求は、例えばSCSIのReadコマンドであり、RAIDグループやLUの識別子(例えば、番号)を指定するパラメータ等を含む。
(2)ディスクアレイ制御部105のメモリアクセス制御部108は、読み取り要求をSSD400に送信する。このとき、メモリアクセス制御部108は、ホストコンピュータ500からの読み取り要求で指定されたRAIDグループ又はLUに対応するSSD400のメモリのアドレスをアドレスマッピング部109から読み出し、そのアドレスをSSD400に対して指定する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上に存在していない場合、SSD400に対して読み取り要求が行われる。このとき、ディスクアレイ制御部105のメモリ書き込み有無判定部112は、読み取りデータ(Readデータ)がSSD400のメモリに書き込まれているかどうかを判定する。ここでは、メモリ書き込み有無判定部112は、読み取りデータがSSD400のメモリに書き込まれていないと判定する。
(3)ディスクアレイ制御部105のディスク回転制御部111は、メモリ書き込み有無判定部112により読み取りデータがSSD400のメモリに書き込まれていないと判定されると、HDD300に対してディスクのスピンドルモータの回転を再開するよう要求する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上にもSSD400のメモリ上にも存在しておらず、しかも、HDD300がスピンダウンしている場合、指定されたRAIDグループ又はLUを構成しているHDD300に対して読み取り要求前にスピンアップ要求が行われる。
(4)HDD300は、スピンアップ状態(稼働再開)になると、その旨をディスクアレイ制御部105に報告する。
(5)ディスクアレイ制御部105のディスクアクセス制御部107は、HDD300がスピンアップ状態になったことを確認すると、読み取り要求を、ホストコンピュータ500からの読み取り要求で指定されたRAIDグループ又はLUのHDD300に送信する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上にもSSD400のメモリ上にも存在しておらず、しかも、HDD300がスピンダウンしている場合、HDD300がアイドルモード(Ready状態)になるのを待ってから、指定されたRAIDグループ又はLUを構成しているHDD300に対して読み取り要求が行われる。
(6)HDD300は、ディスクアレイ制御部105のディスクアクセス制御部107により送信された読み取り要求に応じて、ディスクから読み取りデータを読み取り、ディスクアレイ制御部105へ送信する。ディスクアレイ制御部105は、HDD300から送信された読み取りデータを受信し、キャッシュメモリ106に保存する。このように、ホストコンピュータ500から要求されるデータがキャッシュメモリ106上にもSSD400のメモリ上にも存在していない場合、指定されたRAIDグループ又はLUを構成しているHDD300に対して読み取り要求が行われる。
(7)HDD300は、読み取りの完了報告を、ディスクアレイ制御部105へ送信する。
(8)ディスクアレイ制御部105は、HDD300から受信した読み取りデータをキャッシュメモリ106から読み取り、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
(9)ディスクアレイ制御部105は、読み取りの完了報告を、ホストインタフェース部102を介してホストコンピュータ500へ送信する。
(10)ディスクアレイ制御部105のメモリアクセス制御部108は、所定のタイミングで(例えば、読み取りデータがキャッシュメモリ106に保存されるのとほとんど同時、あるいは、読み取りの完了報告がホストコンピュータ500へ送信された直後に)、読み取りデータをSSD400に転送する。このとき、メモリアクセス制御部108は、書き込み要求で指定されたRAIDグループ又はLUに対応するSSD400のメモリのアドレスをSSD400に対して指定する。SSD400は、メモリアクセス制御部108により転送された読み取りデータを、メモリアクセス制御部108により指定されたメモリのアドレスに書き込む。このように、HDD300からキャッシュメモリ106に書き込まれたデータは、ホストコンピュータ500のI/Oとは非同期にデステージ処理によってSSD400に複製される。
In this case, each unit of the disk array device 100 operates as follows.
(1) The host interface unit 102 receives an input of a read request (Read request) from the host computer 500. As described above, the read request is, for example, a SCSI Read command, and includes a parameter specifying a RAID group or an LU identifier (for example, a number).
(2) The memory access control unit 108 of the disk array control unit 105 transmits a read request to the SSD 400. At this time, the memory access control unit 108 reads the address of the memory of the SSD 400 corresponding to the RAID group or LU designated by the read request from the host computer 500 from the address mapping unit 109, and designates the address to the SSD 400. . As described above, when the data requested from the host computer 500 does not exist in the cache memory 106, a read request is made to the SSD 400. At this time, the memory writing presence / absence determining unit 112 of the disk array control unit 105 determines whether read data (Read data) is written in the memory of the SSD 400. Here, the memory writing presence / absence determining unit 112 determines that the read data is not written in the memory of the SSD 400.
(3) The disk rotation control unit 111 of the disk array control unit 105 rotates the spindle motor of the disk with respect to the HDD 300 when the memory writing presence / absence determination unit 112 determines that the read data is not written in the memory of the SSD 400. Request to resume. As described above, when the data requested from the host computer 500 does not exist in the cache memory 106 or the memory of the SSD 400, and the HDD 300 is spun down, the specified RAID group or LU is stored. A spin-up request is made to the HDD 300 that is configured before a read request.
(4) When the HDD 300 enters the spin-up state (resumption of operation), the HDD 300 reports to that effect to the disk array control unit 105.
(5) When the disk access control unit 107 of the disk array control unit 105 confirms that the HDD 300 is in the spin-up state, the read request is sent to the HDD 300 of the RAID group or LU specified by the read request from the host computer 500. Send to. Thus, when the data requested from the host computer 500 does not exist in the cache memory 106 or the memory of the SSD 400 and the HDD 300 is spun down, the HDD 300 is in the idle mode (Ready state). After waiting for this, a read request is made to the HDD 300 constituting the designated RAID group or LU.
(6) The HDD 300 reads the read data from the disk in response to the read request transmitted by the disk access control unit 107 of the disk array control unit 105 and transmits it to the disk array control unit 105. The disk array control unit 105 receives the read data transmitted from the HDD 300 and stores it in the cache memory 106. As described above, when the data requested from the host computer 500 does not exist in the cache memory 106 or the memory of the SSD 400, a read request is issued to the HDD 300 constituting the specified RAID group or LU. Done.
(7) The HDD 300 transmits a read completion report to the disk array control unit 105.
(8) The disk array control unit 105 reads the read data received from the HDD 300 from the cache memory 106 and transmits it to the host computer 500 via the host interface unit 102.
(9) The disk array control unit 105 transmits a read completion report to the host computer 500 via the host interface unit 102.
(10) The memory access control unit 108 of the disk array control unit 105 transmits the read completion report to the host computer 500 at a predetermined timing (for example, almost simultaneously with the read data being stored in the cache memory 106 or the read completion report). Immediately after that, the read data is transferred to the SSD 400. At this time, the memory access control unit 108 specifies the address of the memory of the SSD 400 corresponding to the RAID group or LU specified by the write request to the SSD 400. The SSD 400 writes the read data transferred by the memory access control unit 108 to the memory address designated by the memory access control unit 108. As described above, data written from the HDD 300 to the cache memory 106 is copied to the SSD 400 by destage processing asynchronously with the I / O of the host computer 500.

上記のように、本実施の形態において、ディスク回転制御部111は、メモリ書き込み有無判定部112によりホストコンピュータ500から読み取りを要求されたデータがSSD400のメモリに書き込まれていないと判定された場合、ディスクの回転を開始するようHDD300を制御する。   As described above, in this embodiment, the disk rotation control unit 111 determines that the data requested to be read from the host computer 500 by the memory writing presence / absence determination unit 112 is not written to the memory of the SSD 400. The HDD 300 is controlled to start the disk rotation.

また、本実施の形態において、ディスクアクセス制御部107は、ディスク回転制御部111の制御によりHDD300がディスクの回転を開始した場合、ホストコンピュータ500から読み取りを要求されたデータをディスクから読み取るようHDD300を制御する。   In this embodiment, when the HDD 300 starts rotating the disk under the control of the disk rotation control unit 111, the disk access control unit 107 reads the HDD 300 so that the data requested to be read from the host computer 500 is read from the disk. Control.

以上説明したように、本実施の形態では、HDD300がスピンダウンしているときには、読み取りデータをスピンダウン前の読み取りI/OによってSSD400に保存することでI/Oアクセス遅延を極小化させることができる。   As described above, in the present embodiment, when the HDD 300 is spun down, the I / O access delay can be minimized by storing the read data in the SSD 400 by the read I / O before spin down. it can.

キャッシュメモリ106に使用される揮発性メモリの容量は、一般的には数ギガバイトである。SSD400に使用されるフラッシュメモリの容量は、一般的には数十〜数百ギガバイトである。HDD300に使用される磁気ディスクの容量は、一般的には数テラバイトである。図2に示した例のように、キャッシュメモリ106とHDD300との間にSSD400を設けていない場合、スタンバイモードのHDD300を通常(アイドルモード)のHDD300と同様に利用しようとすると、キャッシュミスが頻繁に発生することになる。その結果、HDD300のスピンアップを再開する回数が多かったり、HDD300がスピンアップしている時間が長かったりして、省エネ効果がほとんど得られないおそれがある。一方、本実施の形態では、キャッシュメモリ106とHDD300との間にSSD400を設けているため、キャッシュミスが発生したとしても、SSD400に読み取りデータが保存されている可能性が高い。したがって、本実施の形態によれば、省エネ効果を高めることができる。   The capacity of the volatile memory used for the cache memory 106 is generally several gigabytes. The capacity of the flash memory used for the SSD 400 is generally several tens to several hundreds gigabytes. The capacity of a magnetic disk used for the HDD 300 is generally several terabytes. As in the example illustrated in FIG. 2, when the SSD 400 is not provided between the cache memory 106 and the HDD 300, when trying to use the standby mode HDD 300 in the same manner as the normal (idle mode) HDD 300, cache misses frequently occur. Will occur. As a result, the number of times that the HDD 300 is spun up may be increased, or the HDD 300 may be spun up for a long time, and the energy saving effect may hardly be obtained. On the other hand, in the present embodiment, since the SSD 400 is provided between the cache memory 106 and the HDD 300, there is a high possibility that read data is stored in the SSD 400 even if a cache miss occurs. Therefore, according to the present embodiment, the energy saving effect can be enhanced.

従来は、バックアップ用途のRAIDグループ等、長時間停止し、その時間帯も予め決まっているRAIDグループにしか省エネ機能を適用できなかったが、本実施の形態では、通常ホストコンピュータ500が使用するボリュームのRAIDグループに対しても省エネ機能を適用することが可能となり、消費電力の削減が期待できる。   Conventionally, the energy saving function can be applied only to a RAID group that has been stopped for a long time, such as a RAID group for backup use, and the time period is also determined in advance. It is possible to apply the energy saving function to the RAID group, and reduction of power consumption can be expected.

以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。   As mentioned above, although embodiment of this invention was described, you may implement in combination of 2 or more among these embodiment. Alternatively, one of these embodiments may be partially implemented. Alternatively, two or more of these embodiments may be partially combined. In addition, this invention is not limited to these embodiment, A various change is possible as needed.

100 ディスクアレイ装置、101 コントローラ、102 ホストインタフェース部、103 ネットワークインタフェース部、104 ディスク制御部、105 ディスクアレイ制御部、106 キャッシュメモリ、107 ディスクアクセス制御部、108 メモリアクセス制御部、109 アドレスマッピング部、110 メモリ書き込み状況判定部、111 ディスク回転制御部、112 メモリ書き込み有無判定部、200 ディスクアレイ装置、201 コントローラ、202 ホストインタフェース部、203 ネットワークインタフェース部、204 ディスク制御部、205 ディスクアレイ制御部、206 キャッシュメモリ、300 HDD、400 SSD、500 ホストコンピュータ。   100 disk array device, 101 controller, 102 host interface unit, 103 network interface unit, 104 disk control unit, 105 disk array control unit, 106 cache memory, 107 disk access control unit, 108 memory access control unit, 109 address mapping unit, 110 memory write status determination unit, 111 disk rotation control unit, 112 memory write presence / absence determination unit, 200 disk array device, 201 controller, 202 host interface unit, 203 network interface unit, 204 disk control unit, 205 disk array control unit, 206 Cache memory, 300 HDD, 400 SSD, 500 Host computer.

Claims (9)

ディスクにデータを記憶するディスクドライブと、メモリにデータを記憶するメモリドライブとを制御するドライブ制御装置であって、
ホストコンピュータから入力を受け付けるホストインタフェース部と、
前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記メモリに書き込むよう前記メモリドライブを制御するメモリアクセス制御部と、
前記ディスクドライブが前記ディスクの回転を停止している状態で、前記メモリアクセス制御部の制御による前記メモリへのデータの書き込み状況が予め定められた条件を満たしたかどうかを判定するメモリ書き込み状況判定部と、
前記メモリ書き込み状況判定部により前記書き込み状況が前記条件を満たしたと判定された場合、前記ディスクの回転を開始するよう前記ディスクドライブを制御するディスク回転制御部と、
前記ディスク回転制御部の制御により前記ディスクドライブが前記ディスクの回転を開始した場合、前記メモリに書き込まれているデータを転送するよう前記メモリドライブを制御するとともに前記メモリドライブから転送されるデータを前記ディスクに書き込むよう前記ディスクドライブを制御するディスクアクセス制御部と
を備えることを特徴とするドライブ制御装置。
A drive control device that controls a disk drive that stores data in a disk and a memory drive that stores data in a memory,
A host interface for receiving input from the host computer;
When the disk drive has stopped rotating, the memory drive writes the data to the memory each time a request to write data to the disk is input from the host computer to the host interface unit. A memory access control unit for controlling
A memory write status determination unit that determines whether a data write status to the memory under the control of the memory access control unit satisfies a predetermined condition in a state where the disk drive stops rotating the disk When,
A disk rotation control unit for controlling the disk drive to start the rotation of the disk, when the memory writing state determination unit determines that the writing state satisfies the condition;
When the disk drive starts rotating the disk under the control of the disk rotation control unit, the memory drive is controlled to transfer the data written in the memory and the data transferred from the memory drive is transferred to the memory drive. A drive control apparatus comprising: a disk access control unit that controls the disk drive to write to a disk.
前記ドライブ制御装置は、さらに、
前記メモリとは別のメモリであり、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを記憶するキャッシュ
を備え、
前記メモリアクセス制御部は、前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記キャッシュから前記メモリドライブに転送して当該データを前記メモリに書き込むよう前記メモリドライブを制御し、
前記ディスクアクセス制御部は、前記ディスクドライブが前記ディスクの回転を開始している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記キャッシュから前記ディスクドライブに転送して当該データを前記ディスクに書き込むよう前記ディスクドライブを制御することを特徴とする請求項1のドライブ制御装置。
The drive control device further includes:
The memory is different from the memory, and includes a cache for storing the data every time a request to write data to the disk is input from the host computer to the host interface unit,
When the disk drive stops the rotation of the disk, the memory access control unit stores the data every time a request to write data to the disk is input from the host computer to the host interface unit. Controlling the memory drive to transfer from the cache to the memory drive and write the data to the memory;
When the disk drive has started rotating the disk, the disk access control unit receives the data every time a request to write data to the disk is input from the host computer to the host interface unit. 2. The drive control apparatus according to claim 1, wherein the disk drive is controlled to transfer the data from a cache to the disk drive and write the data to the disk.
前記メモリ書き込み状況判定部は、前記メモリアクセス制御部の制御により前記メモリに書き込まれ、かつ、まだ前記ディスクアクセス制御部の制御により前記ディスクに書き込まれていないデータの量が予め定められた量に達した場合、前記書き込み状況が前記条件を満たしたと判定することを特徴とする請求項1又は2のドライブ制御装置。   The memory write status determination unit sets the amount of data written to the memory under the control of the memory access control unit and not yet written into the disk under the control of the disk access control unit to a predetermined amount. 3. The drive control device according to claim 1, wherein when it reaches, the write status is determined to satisfy the condition. 前記メモリ書き込み状況判定部は、前記メモリアクセス制御部の制御により前記メモリにデータが書き込まれる頻度が予め定められた頻度に達した場合、前記書き込み状況が前記条件を満たしたと判定することを特徴とする請求項1から3のいずれかのドライブ制御装置。   The memory write status determination unit determines that the write status satisfies the condition when the frequency at which data is written to the memory reaches a predetermined frequency under the control of the memory access control unit. The drive control apparatus according to claim 1. 前記ドライブ制御装置は、さらに、
前記ディスクの記憶領域を分割した複数の論理ユニットと、それぞれの論理ユニットに個別に割り当てられる前記メモリのアドレスとの対応関係を記憶するアドレスマッピング部
を備え、
前記メモリアクセス制御部は、前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求として、前記複数の論理ユニットのうちいずれかの論理ユニットを指定する書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該論理ユニットに対応する前記メモリのアドレスを前記アドレスマッピング部から読み出し、当該データを当該アドレスに書き込むよう前記メモリドライブを制御することを特徴とする請求項1から4のいずれかのドライブ制御装置。
The drive control device further includes:
An address mapping unit for storing a correspondence relationship between a plurality of logical units obtained by dividing the storage area of the disk and addresses of the memory individually assigned to the respective logical units;
When the disk drive has stopped rotating the disk, the memory access control unit receives a write request for designating any one of the plurality of logical units as a data write request to the disk. The memory drive is controlled so that the address of the memory corresponding to the logical unit is read from the address mapping unit and the data is written to the address each time the host computer inputs the host interface unit. The drive control device according to any one of claims 1 to 4.
前記メモリ書き込み状況判定部は、前記ディスクドライブが前記ディスクの回転を停止している状態で、前記メモリアクセス制御部の制御による前記メモリへのデータの書き込み状況が、前記条件として、予め論理ユニットごとに定められた条件を満たしたかどうかを判定することを特徴とする請求項5のドライブ制御装置。   The memory write status determination unit is configured to determine whether the data write status to the memory under the control of the memory access control unit is in advance for each logical unit in a state where the disk drive has stopped rotating the disk. 6. The drive control apparatus according to claim 5, wherein it is determined whether or not a condition defined in the above is satisfied. 前記ドライブ制御装置は、さらに、
前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクからのデータの読み取り要求が前記ホストコンピュータから前記ホストインタフェース部に入力されると、当該データが前記メモリに書き込まれているかどうかを判定するメモリ書き込み有無判定部
を備え、
前記ディスク回転制御部は、前記メモリ書き込み有無判定部により前記ホストコンピュータから読み取りを要求されたデータが前記メモリに書き込まれていないと判定された場合、前記ディスクの回転を開始するよう前記ディスクドライブを制御し、
前記ディスクアクセス制御部は、前記ディスク回転制御部の制御により前記ディスクドライブが前記ディスクの回転を開始した場合、前記ホストコンピュータから読み取りを要求されたデータを前記ディスクから読み取るよう前記ディスクドライブを制御し、
前記ホストインタフェース部は、前記ディスクアクセス制御部の制御により前記ディスクから読み取られたデータを前記ホストコンピュータに対して出力し、
前記メモリアクセス制御部は、前記ディスクアクセス制御部の制御により前記ディスクから読み取られたデータを前記メモリに書き込むよう前記メモリドライブを制御することを特徴とする請求項1から6のいずれかのドライブ制御装置。
The drive control device further includes:
When the disk drive stops rotating the disk, when a data read request from the disk is input from the host computer to the host interface unit, it is determined whether the data is written in the memory. A memory writing presence / absence determining unit for determining,
The disk rotation control unit determines the disk drive to start rotation of the disk when the memory write presence / absence determination unit determines that the data requested to be read from the host computer is not written to the memory. Control
The disk access control unit controls the disk drive to read data requested to be read from the host computer from the disk when the disk drive starts rotating the disk under the control of the disk rotation control unit. ,
The host interface unit outputs data read from the disk to the host computer under the control of the disk access control unit;
7. The drive control according to claim 1, wherein the memory access control unit controls the memory drive to write data read from the disk into the memory under the control of the disk access control unit. apparatus.
請求項1から7のいずれかのドライブ制御装置と、
前記ディスクドライブと、
前記メモリドライブと
を備えることを特徴とするストレージシステム。
A drive control device according to any one of claims 1 to 7;
The disk drive;
A storage system comprising the memory drive.
ディスクにデータを記憶するディスクドライブと、メモリにデータを記憶するメモリドライブとを制御するドライブ制御方法であって、
ホストコンピュータから入力を受け付けるホストインタフェース部を備えるドライブ制御装置が、前記ディスクドライブが前記ディスクの回転を停止している場合、前記ディスクへのデータの書き込み要求が前記ホストコンピュータから前記ホストインタフェース部に入力される度に、当該データを前記メモリに書き込むよう前記メモリドライブを制御し、
前記ドライブ制御装置が、前記ディスクドライブが前記ディスクの回転を停止している状態で、前記メモリへのデータの書き込み状況が予め定められた条件を満たしたかどうかを判定し、
前記ドライブ制御装置が、前記書き込み状況が前記条件を満たしたと判定した場合、前記ディスクの回転を開始するよう前記ディスクドライブを制御し、
前記ドライブ制御装置が、前記ディスクドライブが前記ディスクの回転を開始した場合、前記メモリに書き込まれているデータを転送するよう前記メモリドライブを制御するとともに前記メモリドライブから転送されるデータを前記ディスクに書き込むよう前記ディスクドライブを制御することを特徴とするドライブ制御方法。
A drive control method for controlling a disk drive for storing data in a disk and a memory drive for storing data in a memory,
When a drive control device including a host interface unit that receives an input from a host computer stops the rotation of the disk, a data write request to the disk is input from the host computer to the host interface unit. Each time the memory drive is controlled to write the data to the memory,
The drive control device determines whether or not the state of writing data to the memory satisfies a predetermined condition in a state where the disk drive stops rotating the disk,
If the drive control device determines that the write status satisfies the condition, the drive control device controls the disk drive to start rotation of the disk;
When the disk drive starts to rotate the disk, the drive control device controls the memory drive to transfer data written in the memory and transfers data transferred from the memory drive to the disk. A drive control method comprising controlling the disk drive to write.
JP2012072681A 2012-03-28 2012-03-28 Drive control device, storage system, and drive control method Pending JP2013206009A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012072681A JP2013206009A (en) 2012-03-28 2012-03-28 Drive control device, storage system, and drive control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012072681A JP2013206009A (en) 2012-03-28 2012-03-28 Drive control device, storage system, and drive control method

Publications (1)

Publication Number Publication Date
JP2013206009A true JP2013206009A (en) 2013-10-07

Family

ID=49525045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012072681A Pending JP2013206009A (en) 2012-03-28 2012-03-28 Drive control device, storage system, and drive control method

Country Status (1)

Country Link
JP (1) JP2013206009A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016041470A (en) * 2014-08-14 2016-03-31 キヤノン株式会社 Printer, control device of storage connected to the printer, control method and program of the printer
WO2016139787A1 (en) * 2015-03-04 2016-09-09 株式会社日立製作所 Storage system and data writing control method
US9990155B2 (en) 2015-04-30 2018-06-05 Fujitsu Limited Storage control device, storage system and method of controlling a storage device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016041470A (en) * 2014-08-14 2016-03-31 キヤノン株式会社 Printer, control device of storage connected to the printer, control method and program of the printer
WO2016139787A1 (en) * 2015-03-04 2016-09-09 株式会社日立製作所 Storage system and data writing control method
US9990155B2 (en) 2015-04-30 2018-06-05 Fujitsu Limited Storage control device, storage system and method of controlling a storage device

Similar Documents

Publication Publication Date Title
US8024516B2 (en) Storage apparatus and data management method in the storage apparatus
US7856526B2 (en) Storage apparatus and power-saving control method of storage apparatus
US8301852B2 (en) Virtual storage migration technique to minimize spinning disks
US7904651B2 (en) Storage device with disk power control based on logical storage area
US8392670B2 (en) Performance management of access to flash memory in a storage device
US8196034B2 (en) Computer system and method for reducing power consumption of storage system
Bisson et al. A hybrid disk-aware spin-down algorithm with I/O subsystem support
JP2007293442A (en) Storage system and its control method
US9653110B2 (en) Speed control of data storage device using service controller
US9696929B2 (en) Storage control apparatus and computer-readable recording medium storing program for removing prefetches to storage devices currently in power-saving mode
US8036076B2 (en) Method of reducing storage power consumption by use of prefetch and computer system using the same
US9626997B1 (en) Variable spinning rates for hard disk drives
JP2010072777A (en) Method of allocating physical volume area to virtualized volume, and storage device
JP2013206009A (en) Drive control device, storage system, and drive control method
JP2011238038A (en) Disk array device, disk array device control system, and disk array device control program
US8171324B2 (en) Information processing device, data writing method, and program for the same
JP2000330729A (en) Disk array system having on-line backup function
JP5246872B2 (en) Storage system and storage management method
US11720164B1 (en) Achieving power savings and low latency for storage
US9032150B2 (en) Storage apparatus and control method of storage apparatus
JP5807942B2 (en) Disk array device and control method thereof
JP2010055287A (en) Storage system with power-saving function
JP2014238771A (en) Storage controller, access control method, and control program
JP2000305717A (en) Disk array device and method for quickening disk access
JP5047342B2 (en) Storage apparatus and control method thereof