JP2012014313A - Storage device, control method therefor and program - Google Patents

Storage device, control method therefor and program Download PDF

Info

Publication number
JP2012014313A
JP2012014313A JP2010148589A JP2010148589A JP2012014313A JP 2012014313 A JP2012014313 A JP 2012014313A JP 2010148589 A JP2010148589 A JP 2010148589A JP 2010148589 A JP2010148589 A JP 2010148589A JP 2012014313 A JP2012014313 A JP 2012014313A
Authority
JP
Japan
Prior art keywords
storage medium
data
storage
redundant data
nonvolatile
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.)
Withdrawn
Application number
JP2010148589A
Other languages
Japanese (ja)
Inventor
Shugo Ogawa
周吾 小川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010148589A priority Critical patent/JP2012014313A/en
Publication of JP2012014313A publication Critical patent/JP2012014313A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a storage device in which power consumption is reduced at a low cost even for a storage like a primary storage, which has a difficulty of classifying and recording less accessed data.SOLUTION: A storage medium recorded with redundant data is discontinued by utilizing the redundancy of data between the storage media constituting a storage. The data retrieval is then performed only by other storage media. Also, data updates are recorded in the storage medium having higher speed and lower power than the discontinued storage medium. The updated data are reflected collectively when the discontinued storage medium is reactivated.

Description

本発明は、ストレージ装置、その制御方法及びプログラムに関する。特に、冗長性を持つアレイを構成する記憶装置の一部を停止するストレージ装置に関する。   The present invention relates to a storage apparatus, a control method therefor, and a program. In particular, the present invention relates to a storage device that stops a part of storage devices that form a redundant array.

昨今の情報通信技術の進化とその適用分野の拡大に伴い、情報処理システムにおいて扱われるデータ量、及びそのデータに対する即時性に対する要求が年々高まっている。そのため、HDD(Hard Disk Drive)に代表されるデータを格納するストレージに対して、大容量のデータを短時間で処理が出来るようにアクセス性能の高速化が図られている。   With the recent evolution of information communication technology and the expansion of its application fields, the demand for the amount of data handled in the information processing system and the immediacy of the data is increasing year by year. For this reason, the access performance is speeded up so that a large amount of data can be processed in a short time with respect to a storage that stores data represented by an HDD (Hard Disk Drive).

また、ストレージを含めた多数の情報通信機器がデータセンターに集約され、大規模なシステムとして運用されている。このようなデータセンターでは、設置場所の広さに比例した運用費用が必要である。そのため、システム全体の運用コストの削減を目的としてストレージ装置の高密度化が図られている。   In addition, a large number of information communication devices including storage are integrated in a data center and operated as a large-scale system. In such a data center, an operation cost proportional to the size of the installation site is required. For this reason, the density of storage apparatuses has been increased for the purpose of reducing the operation cost of the entire system.

一方、ストレージを含めた情報通信機器に対する省電力化への要求が拡大している。その第一の理由は、データセンター等の消費電力及び発熱の制約である。ストレージの消費電力の増加により、システム運用時の電気料金が増加する。また、情報通信機器を納めるラックは、全体で許容可能な消費電力の上限が定められており、ラック全体の消費電力の上限を超えた場合には別のラックに分離する必要がある。このような分離は、装置及び機器の設置コスト増につながる。また、消費電力の増加は多くの場合発熱量の増加につながり、空調コストの増加を招く。従って、ストレージを含めた各装置の消費電力の低減が必要となる。第二の理由は、環境負荷に対する社会的要求の増加である。情報通信機器を利用する企業に対して、環境負荷の低減が求められる。このような状況下では、情報通信機器についても、電力消費量の削減を通じて環境への負荷を低減することが要求される。   On the other hand, demands for power saving for information communication devices including storage are increasing. The first reason is restrictions on power consumption and heat generation in data centers and the like. Due to the increase in power consumption of storage, the electricity charge during system operation increases. In addition, the upper limit of power consumption that can be accepted as a whole is set for the rack that accommodates the information communication equipment, and when the upper limit of the power consumption of the entire rack is exceeded, it is necessary to separate it into another rack. Such separation leads to an increase in the installation cost of the apparatus and equipment. In addition, an increase in power consumption often leads to an increase in calorific value, resulting in an increase in air conditioning costs. Therefore, it is necessary to reduce the power consumption of each device including the storage. The second reason is an increase in social demand for environmental impact. Companies that use information and communication equipment are required to reduce their environmental impact. Under such circumstances, information and communication devices are also required to reduce the environmental load through reduction of power consumption.

このような背景の下、ストレージに対する省電力化を目的とした各種の技術が存在する。その具体例として、MAID(Massive Array of Idle Disks)が挙げられる。MAIDは主にHDDを用いたストレージに対して適用される。電源が投入されたHDDは、アクセスの無い間もデータを記録した円盤を内部で回転させ続けるため多くの電力を消費する。MAIDでは、ストレージ内でアクセスが無い、又はアクセスの頻度が低いHDDを停止することで消費電力を抑える。しかし、停止したHDDに格納されたデータに対してアクセスする際には、HDDの電源を投入して起動完了を待つ必要があるためアクセス性能は大きく低下してしまう。そこで、MAIDではアクセス予定のないデータ、或いはアクセス頻度が低いデータを格納したHDDに限定し、その動作を停止することで性能低下を抑えている。   Under such a background, there are various technologies aiming at power saving for storage. Specific examples thereof include MAID (Massive Array of Idle Disks). MAID is mainly applied to storage using an HDD. The HDD that is powered on consumes a lot of power because the disk on which data is recorded continues to rotate while there is no access. In MAID, power consumption is suppressed by stopping an HDD that is not accessed or is not frequently accessed in the storage. However, when accessing the data stored in the stopped HDD, it is necessary to turn on the HDD and wait for the start-up to complete, so the access performance is greatly reduced. Therefore, in the MAID, the performance degradation is suppressed by limiting the data to HDDs storing data that is not scheduled to be accessed or data with low access frequency and stopping the operation.

また、ストレージを構成する記憶媒体として、消費電力が元々低い記憶媒体を使用することで省電力化が実現できる。近年、ストレージを構成する記憶媒体として主に使われているHDDに代わり、フラッシュメモリを用いたSSD(Solid State Drive)の普及が始まっている。SSDはHDDに比べてアクセス性能が高く、物理的な可動部分を持たないため、アクセスの有無に関わらず電力の消費が少ない。そのため、HDDからSSDにそのまま置き換えるだけでストレージの省電力化が達成できる。   Further, power saving can be realized by using a storage medium that originally has low power consumption as a storage medium constituting the storage. In recent years, an SSD (Solid State Drive) using a flash memory has started to spread in place of an HDD mainly used as a storage medium constituting a storage. SSDs have higher access performance than HDDs and do not have any physically movable parts, so they consume less power regardless of whether they are accessed. Therefore, power saving of the storage can be achieved by simply replacing the HDD with the SSD as it is.

さらに、特許文献1に複数の記憶媒体を有するストレージ装置において、ディスクのミラー構成を維持しながら、システムの消費電力を監視して所定の値を超えた場合にはミラーリング構成の片側のディスクの動作を停止し、その間は不揮発性メモリにデータを記録することによってシステム全体の消費電力を低減するディスクアレイシステムが開示されている。   Furthermore, in the storage apparatus having a plurality of storage media described in Patent Document 1, when the power consumption of the system is monitored and a predetermined value is exceeded while maintaining the disk mirror configuration, the operation of the disk on one side of the mirroring configuration A disk array system is disclosed in which the power consumption of the entire system is reduced by recording data in a nonvolatile memory during this period.

特開2009−187450号公報JP 2009-187450 A

以下の分析は、本発明の観点からなされたものである。   The following analysis has been made from the viewpoint of the present invention.

上述のように、MAIDはアクセス頻度の低いストレージに着目した技術である。一方、システム上には、頻繁にアクセスされるデータを格納したストレージ、つまりプライマリストレージが存在する。このような、プライマリストレージには特に高いアクセス性能が求められる。従って、プライマリストレージには高回転のHDDが用いられるのが通常である。しかし、高回転のHDDは高性能である反面、消費電力及び発熱が通常のHDDより大きい。そのため、通常のHDDと比較し、システムにおける電力や発熱の制約がより厳しくなる。つまり、プライマリストレージは電力及び発熱の制約を伴う高密度化という側面においては、特に厳しい要件を持つ。   As described above, MAID is a technology that focuses on storage with low access frequency. On the other hand, a storage storing frequently accessed data, that is, a primary storage exists on the system. Such primary storage is required to have particularly high access performance. Therefore, a high-speed HDD is usually used for the primary storage. However, while a high-speed HDD has high performance, it consumes more power and generates heat than a normal HDD. For this reason, the restrictions on power and heat generation in the system become more severe as compared with a normal HDD. In other words, primary storage has particularly strict requirements in terms of high density with restrictions on power and heat generation.

このようなプライマリストレージに対して、MAIDを用いた省電力化の効果は限定的である。そもそも、MAIDではアクセスが行われない、又はアクセス頻度の低いHDDを停止することで省電力化を図っている。これに対してプライマリストレージは、頻繁にアクセスされるデータを格納することを目的としている。よって、プライマリストレージにはMAIDによる停止対象のHDDが存在せず、省電力化の効果は得られない。   The effect of power saving using MAID is limited for such primary storage. In the first place, power saving is achieved by stopping HDDs that are not accessed by MAID or that are not accessed frequently. In contrast, the primary storage is intended to store frequently accessed data. Therefore, there is no HDD to be stopped by MAID in the primary storage, and the power saving effect cannot be obtained.

一方、SSDをHDDの代わりに記憶媒体として採用する場合、省電力化と同時にストレージ全体のアクセス性能の向上が達成できる。またアクセス性能の向上により、装置の台数自体が削減され、システムの高密度化が期待できる。そのため、HDDを全てSSDに置き換えれば、高性能化、高密度化、省電力化の全てにおいて有効である。しかし、これは、コスト的な理由により現実的ではない。SSDはHDDに比べて記憶容量が小さく、高価であるためHDDと同容量のSSDへの置き換えに要するコストが非常に大きいためである。   On the other hand, when the SSD is adopted as a storage medium instead of the HDD, the access performance of the entire storage can be improved simultaneously with the power saving. In addition, due to improved access performance, the number of devices themselves can be reduced, and higher system density can be expected. Therefore, replacing all HDDs with SSDs is effective in all of high performance, high density, and power saving. However, this is not practical for cost reasons. This is because the SSD has a smaller storage capacity than the HDD and is expensive, so that the cost required to replace the SSD with the same capacity as the HDD is very high.

以上のように、プライマリストレージのように頻繁にアクセスがあり、高いアクセス性能が求められ、かつ消費電力が大きいストレージに対する低消費電力化が必要である。   As described above, it is necessary to reduce the power consumption of a storage that is frequently accessed like the primary storage, requires high access performance, and consumes a large amount of power.

以上のとおり、従来技術には、解決すべき問題点が存在する。   As described above, there are problems to be solved in the prior art.

本発明の一側面において、高性能かつ消費電力を抑えたストレージ装置、その制御方法及びプログラムが、望まれる。   In one aspect of the present invention, a storage device with high performance and low power consumption, a control method thereof, and a program are desired.

本発明の第1の視点によれば、冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、前記記憶媒体よりも高速にアクセス可能であり、前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求のあった際に、前記冗長データの一時的な記録先として使用する不揮発性記憶媒体と、データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせ、記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す制御部と、を備えるストレージ装置が提供される。   According to the first aspect of the present invention, a plurality of storage media that are used as storage destinations of data including redundant data and can be brought into a stopped state independently, and can be accessed at higher speed than the storage media A non-volatile storage medium used as a temporary recording destination of the redundant data when there is a data write request to the storage medium that is stopped among the plurality of storage media, and when the data read request, A storage device is provided that includes a controller that inquires of the non-volatile storage medium whether or not there is redundant data corresponding to the data requested to be read, and reads the redundant data from the non-volatile storage medium if recorded. The

本発明の第2の視点によれば、冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、を備えるストレージ装置の制御方法であって、前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する工程と、データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる工程と、前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す工程と、を含むストレージ装置の制御方法が提供される。   According to the second aspect of the present invention, a plurality of storage media that are used as storage destinations of data including redundant data and can be brought into a stopped state independently, and can be accessed at higher speed than the storage media A non-volatile storage medium, wherein the redundant data is stored in the non-volatile storage medium in response to a data write request to a storage medium that is stopped among the plurality of storage media. A step of recording, a step of inquiring of the nonvolatile storage medium whether or not there is redundant data corresponding to the data for which the read request has been received, and a nonvolatile storage medium if the redundant data is recorded. And reading the redundant data from the storage device.

本発明の第3の視点によれば、冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する処理と、データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる処理と、前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す処理と、を前記コンピュータに実行させるプログラムが提供される。   According to the third aspect of the present invention, a plurality of storage media that are used as storage destinations of data including redundant data and can be independently brought into a stopped state, and can be accessed at higher speed than the storage media. A non-volatile storage medium, and a program executed by a computer that controls a storage apparatus, wherein the redundant data is stored in response to a data write request to a stopped storage medium among the plurality of storage media. If the process of recording in the nonvolatile storage medium, the process of querying the nonvolatile storage medium for the presence or absence of redundant data corresponding to the data that has received the read request at the time of a data read request, and the redundant data are recorded, A program for causing the computer to execute a process of reading the redundant data from the nonvolatile storage medium is provided.

本発明の各視点によれば、記憶媒体の動作を一部停止し、不揮発性メモリをキャッシュとして使うことで、アクセス性能が高く、消費電力を抑えたストレージ装置を提供することができる。   According to each aspect of the present invention, it is possible to provide a storage device with high access performance and low power consumption by partially stopping the operation of the storage medium and using the nonvolatile memory as a cache.

本発明の概要を説明するための図である。It is a figure for demonstrating the outline | summary of this invention. 本発明の実施形態に係るストレージ装置を含むシステム全体の構成を示す図である。1 is a diagram illustrating a configuration of an entire system including a storage apparatus according to an embodiment of the present invention. 本発明の第1の実施形態に係るストレージ装置全体のブロック図である。1 is a block diagram of an entire storage apparatus according to a first embodiment of the present invention. 図3のアクセス要求処理部21の構成を示すブロック図である。It is a block diagram which shows the structure of the access request process part 21 of FIG. 図3におけるコマンド実行部26の構成を示すブロック図である。It is a block diagram which shows the structure of the command execution part 26 in FIG. アクセス要求管理テーブルの内容を示す図である。It is a figure which shows the content of the access request management table. コマンド管理テーブルの内容を示す図である。It is a figure which shows the content of the command management table. キャッシュ管理テーブルの内容を示す図である。It is a figure which shows the content of a cache management table. 図3のストレージ装置全体の動作を示すフローチャートである。4 is a flowchart showing the operation of the entire storage apparatus of FIG. 図5のコマンド制御実行部261のデータ読み込み処理を示すフローチャートである。It is a flowchart which shows the data reading process of the command control execution part 261 of FIG. 図5のコマンド制御実行部261のデータ書き込み処理を示すフローチャートである。6 is a flowchart showing data write processing of a command control execution unit 261 in FIG. 5. 図5のコマンド制御実行部261が不揮発キャッシュ24に空き領域を確保する処理を示したフローチャートである。FIG. 6 is a flowchart showing a process in which a command control execution unit 261 in FIG. 図5のコマンド制御実行部261が不揮発キャッシュ24の更新データを記憶媒体に反映する処理を示したフローチャートである。6 is a flowchart showing a process in which the command control execution unit 261 of FIG. 5 reflects the update data of the nonvolatile cache 24 on a storage medium. 第2の実施形態におけるHDDのアドレス空間内の領域について示した図である。It is the figure shown about the area | region in the address space of HDD in 2nd Embodiment. 第2の実施形態におけるホストからのアクセス要求の順序を示した図である。It is the figure which showed the order of the access request from the host in 2nd Embodiment.

はじめに、図1を用いて本発明の概要について説明する。上述のとおり、プライマリストレージに対してMAIDの適用、及びSSD等の省電力な記憶媒体への置き換えは、非常に困難である。また、複数の記憶媒体を持つストレージでは記憶媒体に対する耐障害性を確保するために、RAID(Redundant Arrays of Inexpensive Disks)を始めとした、複数の記憶媒体間でデータの冗長性を有する構成が採用される。このようなストレージでは、データ本体とデータに対するパリティ情報、又はミラー(複製)がそれぞれ異なる記憶媒体に記録される。これは、複数の記憶媒体間で冗長構成を取るストレージからデータを読み出す場合、冗長データを格納した記憶媒体へのアクセスは不要であることを意味する。そのため、目的とするデータを格納した記憶媒体にアクセス可能であれば、前述の冗長データを格納した記憶媒体が停止した状態でも、データの読み込みは可能である。   First, the outline of the present invention will be described with reference to FIG. As described above, it is very difficult to apply MAID to the primary storage and to replace it with a power-saving storage medium such as SSD. In addition, in a storage system having a plurality of storage media, a configuration having data redundancy among a plurality of storage media such as RAID (Redundant Arrays of Independent Disks) is employed in order to ensure fault tolerance for the storage media. Is done. In such a storage, the data main body and the parity information for the data or the mirror (replica) are recorded in different storage media. This means that when data is read from a storage having a redundant configuration among a plurality of storage media, access to the storage medium storing the redundant data is unnecessary. Therefore, if the storage medium storing the target data can be accessed, the data can be read even when the storage medium storing the redundant data is stopped.

一方、前述のストレージに対してデータの書き込みを行う場合には、データ本体と共にデータに対するパリティ、ミラー等の冗長データの更新が必要である。つまり、データ本体を格納した記憶媒体、及び冗長データを格納した記憶媒体の両方への書き込みが必要である。しかし、更新された冗長データを別の記憶媒体に一時的に記録することができれば、冗長データを記録した記憶媒体へのアクセスを行わずに書き込み処理が可能となる。   On the other hand, when data is written to the above-mentioned storage, it is necessary to update redundant data such as parity and mirror for the data together with the data body. That is, it is necessary to write to both the storage medium storing the data body and the storage medium storing redundant data. However, if the updated redundant data can be temporarily recorded on another storage medium, the writing process can be performed without accessing the storage medium on which the redundant data is recorded.

そこで、本発明では、複数記憶媒体間の冗長構成を取るストレージにおいて、パリティ、ミラー等の冗長データを格納する記憶媒体を停止した状態で運用する。その際、停止した記憶媒体に格納するデータは、ストレージを構成する記憶媒体より高速かつ省電力な別の種類の記憶媒体に一時的に格納する。この一時的に記憶媒体に格納されたデータは、その空き容量が不足する迄の任意の時期に、元の格納先である記憶媒体を起動して、更新が反映される。   Therefore, in the present invention, in a storage having a redundant configuration between a plurality of storage media, the storage media for storing redundant data such as parity and mirror are operated in a stopped state. At that time, the data to be stored in the stopped storage medium is temporarily stored in another type of storage medium that is faster and saves power than the storage medium constituting the storage. The data temporarily stored in the storage medium is updated by activating the storage medium that is the original storage destination at any time until the free space becomes insufficient.

具体的には更新されたデータ及びデータに対応するアドレスを一時的に記録する記憶媒体(以下、不揮発キャッシュ)として、SSDのような高性能かつ省電力な媒体を採用する。そして、読み込みアクセスの対象データが不揮発キャッシュ上に存在する場合、そのデータを読み出し、不揮発キャッシュに記録したデータは冗長データを記録した記憶媒体にアクセス可能な時に書き込む。   Specifically, a high-performance and power-saving medium such as SSD is adopted as a storage medium (hereinafter referred to as a non-volatile cache) for temporarily recording updated data and an address corresponding to the data. When the target data for read access exists on the nonvolatile cache, the data is read, and the data recorded in the nonvolatile cache is written when the storage medium storing the redundant data is accessible.

このように、ストレージの中で主に使われる記憶媒体とは別に、不揮発キャッシュを用いることで、記憶媒体のうち停止可能な記憶媒体を停止させ、省電力化を実現する。また、不揮発キャッシュに高性能な媒体を採用し、ストレージに対する読み込み要求の際には、最初に不揮発キャッシュにデータの存在を確認し、データが存在すれば、その不揮発キャッシュのデータを用いることで、ストレージ全体の性能を向上させる。   In this way, by using a non-volatile cache separately from the storage medium that is mainly used in the storage, the storage medium that can be stopped is stopped among the storage media, thereby realizing power saving. In addition, a high-performance medium is used for the nonvolatile cache, and when a read request is made to the storage, first, the existence of data is confirmed in the nonvolatile cache, and if data exists, the data of the nonvolatile cache is used. Improve overall storage performance.

[第1の実施形態]
次に、本発明の第1の実施形態について、図面を用いてより詳細に説明する。図2は、本発明の実施形態に係るストレージ装置を含むシステム全体の構成を示す図である。本システムは、データにアクセスするホストと、複数の記憶媒体から構成されるストレージ2と、これらを接続するネットワーク3から構成されている。ネットワークに接続するホストは1台に限定されず、複数のホストがストレージ2にアクセス可能である。また、ネットワーク3は、ストレージ2に対して複数のホストが接続可能な形態のみならず、ホストとストレージ2を直接接続する構成でも良い。
[First Embodiment]
Next, the first embodiment of the present invention will be described in more detail with reference to the drawings. FIG. 2 is a diagram showing a configuration of the entire system including the storage apparatus according to the embodiment of the present invention. This system includes a host that accesses data, a storage 2 composed of a plurality of storage media, and a network 3 that connects them. The number of hosts connected to the network is not limited to one, and a plurality of hosts can access the storage 2. The network 3 is not limited to a form in which a plurality of hosts can be connected to the storage 2 but may be configured to directly connect the host and the storage 2.

続いて、ストレージ2の構成について図3を参照して説明を行う。図3は本発明の一実施形態に係るストレージ装置の構成を示したブロック図である。ストレージ2は、アクセス要求処理部21と、記憶媒体22と、冗長データ記憶媒体23と、不揮発キャッシュ24と、記憶媒体電源制御部25と、コマンド実行部26から構成される。   Next, the configuration of the storage 2 will be described with reference to FIG. FIG. 3 is a block diagram showing the configuration of the storage apparatus according to an embodiment of the present invention. The storage 2 includes an access request processing unit 21, a storage medium 22, a redundant data storage medium 23, a nonvolatile cache 24, a storage medium power supply control unit 25, and a command execution unit 26.

アクセス要求処理部21は、ホスト1からのアクセス要求を受け取り、その要求に応じたコマンドを生成する。さらに、アクセス要求処理部21は、読み込んだ冗長データから元のデータの復元を行う。逆に、書き込みデータから冗長データ記憶媒体23に格納するための冗長データの生成を行う機能も有する。   The access request processing unit 21 receives an access request from the host 1 and generates a command corresponding to the request. Further, the access request processing unit 21 restores the original data from the read redundant data. Conversely, it also has a function of generating redundant data to be stored in the redundant data storage medium 23 from the written data.

次に、アクセス要求処理部21の構成について詳細に説明する。図4は、アクセス要求処理部21の内部構成のブロック図である。アクセス要求処理部21は、アクセス解釈部211と、アクセス要求情報格納部212と、データ復元部213と、冗長データ生成部214から構成される。   Next, the configuration of the access request processing unit 21 will be described in detail. FIG. 4 is a block diagram of the internal configuration of the access request processing unit 21. The access request processing unit 21 includes an access interpretation unit 211, an access request information storage unit 212, a data restoration unit 213, and a redundant data generation unit 214.

アクセス解釈部211は、ホスト1からのアクセス要求を受け取り、その要求に応じて記憶媒体22及び冗長データ記憶媒体23に対するコマンドを生成する。アクセス解釈部211は、生成したコマンドをコマンド実行部26に通知すると共に、コマンドの管理情報をアクセス要求情報格納部212において記録する。また、生成したコマンドがWriteコマンドである場合、書き込み対象となるデータをコマンド実行部26に渡す。その後、コマンド実行部26から、Readコマンドで読み出されたデータ、又はWriteコマンドに対する完了通知を受理すれば、読み出されたデータ又は書き込み要求に対する完了通知を対応する要求元であるホスト1に返す。   The access interpretation unit 211 receives an access request from the host 1, and generates commands for the storage medium 22 and the redundant data storage medium 23 in response to the request. The access interpretation unit 211 notifies the command execution unit 26 of the generated command, and records management information of the command in the access request information storage unit 212. If the generated command is a write command, the data to be written is passed to the command execution unit 26. After that, when the completion notice for the data read by the Read command or the Write command is received from the command execution unit 26, the completion notice for the read data or write request is returned to the corresponding host 1 as the request source. .

さらに、アクセス解釈部211は、ホスト1からのアクセス要求が完了すると任意のタイミングで、アクセス要求情報格納部212に記録された、該当するアクセス要求の管理情報を削除する。アクセス要求情報格納部212は、アクセス解釈部211が受け取ったアクセス要求、及びアクセス解釈部211が生成したコマンドとの対応をアクセス要求管理テーブル(図6参照)により管理する。   Further, when the access request from the host 1 is completed, the access interpretation unit 211 deletes the management information of the corresponding access request recorded in the access request information storage unit 212 at an arbitrary timing. The access request information storage unit 212 manages the correspondence between the access request received by the access interpreting unit 211 and the command generated by the access interpreting unit 211 using the access request management table (see FIG. 6).

データ復元部213は、冗長データ記憶媒体23から読み出した冗長データについて、他の記憶媒体22及び冗長データ記憶媒体23から読み出したデータと合わせて、冗長データに対応するデータ本体を生成する。   The data restoration unit 213 generates a data main body corresponding to the redundant data by combining the redundant data read from the redundant data storage medium 23 with the data read from the other storage medium 22 and the redundant data storage medium 23.

冗長データ生成部214は、ストレージ2に対する書き込みデータから冗長データ記憶媒体23に記録するための冗長データを生成する。   The redundant data generation unit 214 generates redundant data to be recorded in the redundant data storage medium 23 from data written to the storage 2.

続いて、ストレージ2に含まれる記憶媒体について説明する。記憶媒体22はストレージ2に書き込まれたデータを恒久的に記録する。記憶媒体22は、コマンド実行部26からのコマンドによりデータのRead又はWriteアクセスを行う。また、コマンド実行部26の指示により動作状態及び停止状態の切り替えが可能である。   Next, the storage medium included in the storage 2 will be described. The storage medium 22 permanently records the data written in the storage 2. The storage medium 22 performs data read or write access according to a command from the command execution unit 26. The operation state and the stop state can be switched by an instruction from the command execution unit 26.

冗長データ記憶媒体23は、記憶媒体22に格納されたデータに対するパリティ、又はミラー(複製)等の冗長データを恒久的に記録する。冗長データ記憶媒体23は、記憶媒体22と同様に、コマンドによりデータのRead又はWriteアクセスを行い、動作状態及び停止状態の切り替えが可能である。   The redundant data storage medium 23 permanently records redundant data such as parity or mirror (replication) for the data stored in the storage medium 22. As with the storage medium 22, the redundant data storage medium 23 can perform read or write access of data by a command and can be switched between an operation state and a stop state.

不揮発キャッシュ24は、記憶媒体22及び冗長データ記憶媒体23よりもアクセス性能が高く、ホスト1から受理したデータを停止状態の記憶媒体22又は冗長データ記憶媒体23に書き込む前に一時的に保存する。つまり、不揮発キャッシュ24は、記憶媒体22又は冗長データ記憶媒体23に書き込むべきデータをこれらの記憶媒体が停止している間、更新されたデータを保持する役割を持つ。また、不揮発キャッシュ24は停止状態の記憶媒体22又は冗長データ記憶媒体23に書き込まれるデータを保持するだけでなく、記憶媒体22及び冗長データ記憶媒体23のデータを一時的にキャッシュとして利用することで、ストレージ2に対する読み込み要求、書き込み要求の処理性能を高める。   The nonvolatile cache 24 has higher access performance than the storage medium 22 and the redundant data storage medium 23, and temporarily stores the data received from the host 1 before it is written to the stopped storage medium 22 or the redundant data storage medium 23. That is, the nonvolatile cache 24 has a role of holding data to be written to the storage medium 22 or the redundant data storage medium 23 while the storage medium is stopped while the storage medium is stopped. Further, the non-volatile cache 24 not only holds data written to the stopped storage medium 22 or the redundant data storage medium 23, but also temporarily uses the data in the storage medium 22 and the redundant data storage medium 23 as a cache. The processing performance of read requests and write requests to the storage 2 is improved.

なお、記憶媒体電源制御部25により、記憶媒体22及び冗長データ記憶媒体23の動作又は停止を記録し、電源を制御することでこれらの記録媒体の動作状態と停止状態が切り替えられる。以上が、記憶媒体についての説明である。   The storage medium power control unit 25 records the operation or stop of the storage medium 22 and the redundant data storage medium 23, and the power supply is controlled to switch between the operation state and the stop state of these recording media. This completes the description of the storage medium.

次に、コマンド実行部26について説明する。コマンド実行部26は、アクセス要求処理部21からReadコマンド又はWriteコマンドを受け取る。そのコマンドが、Readコマンドの場合には、不揮発キャッシュ24に要求されたデータが記録されているか確認し、記録されている場合には不揮発キャッシュ24から該当するアドレスのデータを読み込み、そのデータをアクセス要求処理部21に返す。一方、不揮発キャッシュ24に要求されたデータが存在しなかった場合は、記憶媒体22又は冗長データ記憶媒体23から当該データ又は当該データに対応する冗長データの読み込みをする。Writeコマンドの場合には、記憶媒体22が停止している場合は書き込みデータ本体を不揮発キャッシュ24に書き込みし、記憶媒体22が動作状態に遷移するまで書き込みデータの保持をする。同様に、冗長データ記憶媒体23が停止している場合には、冗長データ生成部214で生成した冗長データを不揮発キャッシュ24に書き込み、冗長データ記憶媒体23が動作状態に遷移するまで冗長データを保持する。   Next, the command execution unit 26 will be described. The command execution unit 26 receives a Read command or a Write command from the access request processing unit 21. If the command is a Read command, it is confirmed whether the requested data is recorded in the nonvolatile cache 24. If the command is recorded, the data at the corresponding address is read from the nonvolatile cache 24 and the data is accessed. It returns to the request processing unit 21. On the other hand, if the requested data does not exist in the nonvolatile cache 24, the data or redundant data corresponding to the data is read from the storage medium 22 or the redundant data storage medium 23. In the case of the Write command, when the storage medium 22 is stopped, the write data body is written into the nonvolatile cache 24 and the write data is held until the storage medium 22 transitions to the operating state. Similarly, when the redundant data storage medium 23 is stopped, the redundant data generated by the redundant data generation unit 214 is written to the non-volatile cache 24, and the redundant data is retained until the redundant data storage medium 23 changes to the operating state. To do.

コマンド実行部26は、不揮発キャッシュ24でデータ本体の保持をしている場合、任意のタイミングで記憶媒体22を停止状態から動作状態に切り替え、不揮発キャッシュ24で保持する書き込みデータを記憶媒体22に書き込む。同様に、不揮発キャッシュ24で書き込みデータに対する冗長データの保持をしている場合、任意のタイミングで冗長データ記憶媒体23を停止状態から動作状態に切り替え、不揮発キャッシュ24で保持する冗長データを冗長データ記憶媒体23に書き込む。   When the data body is held in the nonvolatile cache 24, the command execution unit 26 switches the storage medium 22 from the stopped state to the operating state at an arbitrary timing, and writes the write data held in the nonvolatile cache 24 to the storage medium 22. . Similarly, when the redundant data for the write data is held in the nonvolatile cache 24, the redundant data storage medium 23 is switched from the stopped state to the operating state at an arbitrary timing, and the redundant data held in the nonvolatile cache 24 is stored in the redundant data storage. Write to medium 23.

また、コマンド実行部26は、不揮発キャッシュ24を介さず、記憶媒体22及び冗長データ記憶媒体23に発行したコマンドが完了した場合、又は、不揮発キャッシュ24に対する読み込み又は書き込みが完了するとアクセス要求処理部21に対しReadコマンドの場合は読み出されたデータ、Writeコマンドの場合は書き込み完了の通知を行う。   In addition, the command execution unit 26 does not go through the non-volatile cache 24, and when the command issued to the storage medium 22 and the redundant data storage medium 23 is completed, or when reading or writing to the non-volatile cache 24 is completed, the access request processing unit 21 On the other hand, in the case of the Read command, the read data is notified, and in the case of the Write command, the writing completion is notified.

次に、コマンド実行部26について詳細に説明する。図5は、コマンド実行部26の内部構成のブロック図である。コマンド実行部26は、コマンド実行制御部261と、コマンド管理情報格納部262と、データ更新制御部263から構成される。   Next, the command execution unit 26 will be described in detail. FIG. 5 is a block diagram of the internal configuration of the command execution unit 26. The command execution unit 26 includes a command execution control unit 261, a command management information storage unit 262, and a data update control unit 263.

コマンド実行制御部261は、アクセス要求処理部21からReadコマンド又はWriteコマンドを受理し、コマンド管理情報格納部262にアクセスコマンドの実行管理に必要な情報を格納する。また、受理したコマンドがReadコマンドである場合、不揮発キャッシュ24、記憶媒体22、又は冗長データ記憶媒体23から対象データを読み出す。受理したコマンドがWriteコマンドである場合は、記憶媒体電源制御部25からデータの書き込み先の記憶媒体22又は冗長データ記憶媒体23の動作状態を取得し、これらが動作中であれば書き込みデータ又はその冗長データを記憶媒体22又は冗長データ記憶媒体23に直接書き込む。一方、書き込み先の記憶媒体22又は冗長データ記憶媒体23が停止した状態である場合には、不揮発キャッシュ24に書き込みデータ又はその冗長データを一時的に格納する。また、不揮発キャッシュ24に記録されており、記憶媒体22及び冗長データ記憶媒体23に格納されていない書き込みデータが存在すれば、データ更新制御部263の指示により、記憶媒体22及び冗長データ記憶媒体23にデータの書き込みを行う。記憶媒体22、冗長データ記憶媒体23又は不揮発キャッシュ24へのアクセスが完了したコマンドは、Readコマンドであればデータを、Writeコマンドであれば完了通知をアクセス要求処理部21に返す。   The command execution control unit 261 receives a Read command or a Write command from the access request processing unit 21, and stores information necessary for execution management of the access command in the command management information storage unit 262. If the received command is a Read command, the target data is read from the nonvolatile cache 24, the storage medium 22, or the redundant data storage medium 23. If the received command is a write command, the operating state of the storage medium 22 or the redundant data storage medium 23 to which data is written is obtained from the storage medium power supply control unit 25. Redundant data is written directly to the storage medium 22 or the redundant data storage medium 23. On the other hand, when the write destination storage medium 22 or the redundant data storage medium 23 is in a stopped state, the write data or the redundant data is temporarily stored in the nonvolatile cache 24. If there is write data recorded in the non-volatile cache 24 but not stored in the storage medium 22 and the redundant data storage medium 23, the storage medium 22 and the redundant data storage medium 23 are instructed by the data update control unit 263. Write data to. When the access to the storage medium 22, the redundant data storage medium 23, or the nonvolatile cache 24 is completed, the command returns data to the access request processing unit 21 if it is a Read command, and a notification of completion if it is a Write command.

コマンド管理情報格納部262には、アクセス要求処理部21から受理したコマンドの管理をするコマンド管理テーブルが記録されている(図7参照)。   The command management information storage unit 262 records a command management table for managing commands received from the access request processing unit 21 (see FIG. 7).

データ更新制御部263は不揮発キャッシュ24の状態を監視し、不揮発キャッシュ24の更新データを格納する領域の空き容量が不足した場合、又は予め定められた時間や一定間隔経過といった条件で、記憶媒体電源制御部25を通じて記憶媒体22若しくは冗長データ記憶媒体23を動作状態に切り替え、不揮発キャッシュ24の更新データを書き込めるようにする。さらに、更新データが格納されるべき記憶媒体22若しくは冗長データ記憶媒体23が動作状態になると、コマンド実行制御部261に対して不揮発キャッシュ24上の更新データを記憶媒体22若しくは冗長データ記憶媒体23に書き込みを求める要求を行う。   The data update control unit 263 monitors the state of the non-volatile cache 24, and when the free space of the area for storing the update data in the non-volatile cache 24 is insufficient, or the storage medium power The storage medium 22 or the redundant data storage medium 23 is switched to the operating state through the control unit 25 so that the update data of the nonvolatile cache 24 can be written. Further, when the storage medium 22 or the redundant data storage medium 23 in which the update data is to be stored is in an operating state, the update data on the nonvolatile cache 24 is transferred to the storage medium 22 or the redundant data storage medium 23 with respect to the command execution control unit 261. Make a request to write.

ここで、ストレージ2で用いる各種のテーブルについて説明する。図6は、前述のアクセス要求管理テーブルの内容を示す図である。アクセス要求管理テーブルは、ホスト1からの各アクセス要求に付随する情報を保持する。アクセス要求に付随する情報として、アクセス要求毎に付与する固有のIDと、読み込み要求であるか書き込み要求であるかのアクセス種別(図6ではR/Wと表現する)と、ストレージ2全体におけるアドレス空間内での先頭ブロックのアドレスと、アクセス長、アクセス要求の要求元ホストと、アクセス要求を処理するためにコマンド実行部26に対して処理を依頼したコマンドに付加され、1個以上の各記憶媒体に対するアクセスコマンドのID(以下コマンドID)を記録する。アクセス要求管理テーブルは、ホスト1からの各アクセス要求に付随する情報が必要になる際に、アクセス解釈部211が参照する。   Here, various tables used in the storage 2 will be described. FIG. 6 is a diagram showing the contents of the access request management table described above. The access request management table holds information associated with each access request from the host 1. As information accompanying the access request, a unique ID given for each access request, an access type (represented as R / W in FIG. 6) indicating whether it is a read request or a write request, and an address in the entire storage 2 The address of the first block in the space, the access length, the requesting source host of the access request, and one or more of each storage added to the command requested to process the command execution unit 26 to process the access request The ID of the access command for the medium (hereinafter referred to as command ID) is recorded. The access request management table is referred to by the access interpreter 211 when information associated with each access request from the host 1 is required.

次に、コマンド管理テーブルについて説明する。図7は、コマンド管理テーブルの内容を示す図である。コマンド管理テーブルでは、アクセス要求処理部21から処理を依頼されたコマンドを処理するため、記憶媒体22、冗長データ記憶媒体23又は不揮発キャッシュ24に対して発行されるコマンドに付随する情報を保持する。コマンドに付随する情報としては、記憶媒体に対する各アクセスコマンドをアクセス要求管理テーブルにおいて識別するために用いるIDと、読み込み要求であるか書き込み要求であるかのアクセス種別(図7ではR/Wと表現する)と、コマンドを発行するアクセス先を指し示すIDと、アクセス先の先頭ブロックのアドレスと、アクセス長と、Writeコマンドについては記憶媒体22に書き込まれるデータ、又は冗長データ記憶媒体23に書き込まれる冗長データを格納する。   Next, the command management table will be described. FIG. 7 is a diagram showing the contents of the command management table. The command management table holds information accompanying commands issued to the storage medium 22, redundant data storage medium 23, or nonvolatile cache 24 in order to process a command requested to be processed by the access request processing unit 21. The information accompanying the command includes an ID used to identify each access command for the storage medium in the access request management table, and an access type indicating whether it is a read request or a write request (represented as R / W in FIG. 7). ), The ID indicating the access destination that issues the command, the address of the head block of the access destination, the access length, and the write command, the data written in the storage medium 22 or the redundant data written in the redundant data storage medium 23 Store the data.

続いて、不揮発キャッシュ管理テーブルについて説明する。図8は、不揮発キャッシュ管理テーブルの内容を示す図である。不揮発キャッシュ管理テーブルは、不揮発キャッシュ24又はコマンド実行部26で管理され、不揮発キャッシュ24に格納された記憶媒体22及び冗長データ記憶媒体23を更新するためのデータ、又は更新済みのデータを管理するために必要な情報を保持するテーブルである。管理に必要な情報として、データが更新済みであるため不揮発キャッシュ24上から追い出される際に記憶媒体22及び冗長データ記憶媒体23に対する更新処理が必要であるかを表すdirtyフラグ(1の場合は更新が必要)と、データの先頭ブロックのアドレスと、アクセス長と、不揮発キャッシュ24上のデータの格納先の先頭ブロックのアドレスを格納する。また記憶媒体22、冗長データ記憶媒体23に対して既に更新が完了しているデータについては読み出し処理時にキャッシュとして利用する。   Next, the non-volatile cache management table will be described. FIG. 8 shows the contents of the non-volatile cache management table. The non-volatile cache management table is managed by the non-volatile cache 24 or the command execution unit 26, and manages data for updating the storage medium 22 and redundant data storage medium 23 stored in the non-volatile cache 24 or updated data. This table holds information necessary for As information necessary for management, since the data has been updated, a dirty flag indicating whether update processing is required for the storage medium 22 and the redundant data storage medium 23 when the data is evicted from the nonvolatile cache 24 (updated in the case of 1). ), The address of the first block of data, the access length, and the address of the first block of the data storage destination on the nonvolatile cache 24 are stored. Further, data that has already been updated with respect to the storage medium 22 and the redundant data storage medium 23 is used as a cache at the time of read processing.

次に、図面を参照して本実施形態に係るストレージ装置の動作について説明する。図9は、ホスト1からストレージ2へアクセス要求が行われた際のストレージ2全体の動作について示している。   Next, the operation of the storage apparatus according to this embodiment will be described with reference to the drawings. FIG. 9 shows the operation of the entire storage 2 when an access request is made from the host 1 to the storage 2.

ステップS101において、アクセス解釈部211はホスト1からのアクセス要求を解釈し、記憶媒体22、若しくは冗長データ記憶媒体23に対するアクセスコマンド(Readコマンド又はWriteコマンド)を生成する。   In step S101, the access interpretation unit 211 interprets an access request from the host 1, and generates an access command (Read command or Write command) for the storage medium 22 or the redundant data storage medium 23.

ステップS102では、ステップS101で生成したコマンドが冗長データ記憶媒体23に対する書き込みコマンドか否か判断する。書き込みコマンドでなければ、ステップS104に遷移する。書き込みコマンドである場合は、ステップS103に遷移する。   In step S102, it is determined whether or not the command generated in step S101 is a write command for the redundant data storage medium 23. If it is not a write command, the process proceeds to step S104. If it is a write command, the process proceeds to step S103.

ステップS103では、アクセス解釈部211は冗長データ生成部214を用いて、ステップS101で受理した書き込みデータから冗長データ記憶媒体23に実際に書き込む冗長データを生成する。   In step S103, the access interpretation unit 211 uses the redundant data generation unit 214 to generate redundant data that is actually written to the redundant data storage medium 23 from the write data received in step S101.

ステップS104では、アクセス解釈部211が、ステップS101で受理したアクセス要求の管理情報と生成したコマンドの対応情報をアクセス要求情報格納部212に格納する。このとき格納する情報は、図6のアクセス要求管理テーブルで示す内容である。また、アクセス解釈部211はコマンド実行部26に対してステップS101で生成したコマンドの処理を要求する。コマンドがWriteコマンドである場合は、書き込み対象のデータをコマンド実行部26に渡す。   In step S104, the access interpretation unit 211 stores the management information of the access request received in step S101 and the correspondence information of the generated command in the access request information storage unit 212. The information stored at this time is the content shown in the access request management table of FIG. Further, the access interpretation unit 211 requests the command execution unit 26 to process the command generated in step S101. If the command is a write command, the write target data is passed to the command execution unit 26.

ステップS105においては、コマンド実行制御部261は、ステップS104でコマンド実行部26に渡されたコマンドを受理し、そのコマンドの管理情報をコマンド管理情報格納部262にコマンド管理テーブルの形式で記録する。   In step S105, the command execution control unit 261 receives the command passed to the command execution unit 26 in step S104, and records management information of the command in the command management information storage unit 262 in the form of a command management table.

ステップS106では、コマンド実行制御部261が受け取ったコマンドがWriteコマンドの場合にはステップS111に遷移し、WriteコマンドでなければステップS107に遷移する。   In step S106, if the command received by the command execution control unit 261 is a write command, the process proceeds to step S111. If the command is not a write command, the process proceeds to step S107.

ステップS107では、コマンド実行制御部261が受理したコマンドがReadコマンドなので、Readコマンドに対するアクセス処理を実行する。この時、コマンド実行制御部261は、Readコマンドの処理を記憶媒体22、冗長データ記憶媒体23又は不揮発キャッシュ24に対して実行する。   In step S107, since the command received by the command execution control unit 261 is a Read command, access processing for the Read command is executed. At this time, the command execution control unit 261 executes Read command processing on the storage medium 22, the redundant data storage medium 23, or the nonvolatile cache 24.

続いて、ステップS108において、コマンド実行制御部261は、発行したReadコマンドの処理が完了すると、その読み込み結果をアクセス要求処理部21に渡す。また、コマンド実行制御部261は、コマンド管理情報格納部262に記録された前述のReadコマンドの管理情報を任意のタイミングで削除する。   Subsequently, in step S108, the command execution control unit 261 passes the read result to the access request processing unit 21 when the processing of the issued Read command is completed. In addition, the command execution control unit 261 deletes the above-described read command management information recorded in the command management information storage unit 262 at an arbitrary timing.

ステップS109では、ステップS107、S108で完了したReadコマンドが記憶媒体22に対するコマンドである場合には、ステップS113に遷移する。また、ステップS107、S108で完了したReadコマンドが冗長データ記憶媒体23に対するコマンドである場合には、ステップS110に遷移する。   In step S109, when the Read command completed in steps S107 and S108 is a command for the storage medium 22, the process proceeds to step S113. If the Read command completed in steps S107 and S108 is a command for the redundant data storage medium 23, the process proceeds to step S110.

ステップS110では、アクセス要求処理部21のデータ復元部213が、ステップS108で受理した読み込み結果の冗長データからストレージ2に対して読み込み要求をしたデータの復元をする。   In step S110, the data restoration unit 213 of the access request processing unit 21 restores the data requested to be read from the storage 2 from the redundant data received in step S108.

続いて、ステップS111では、コマンド実行制御部261が受理したコマンドがWriteコマンドである場合、コマンド実行制御部261はWriteコマンドに対するアクセス処理を実行して記憶媒体22、冗長データ記憶媒体23、又は不揮発キャッシュ24にデータを格納する。また、コマンド実行制御部261は、ステップS111で書き込みデータの格納が完了すると、書き込み処理の完了をアクセス要求処理部21に通知する。   Subsequently, in step S111, when the command received by the command execution control unit 261 is a write command, the command execution control unit 261 executes an access process for the write command to execute the storage medium 22, the redundant data storage medium 23, or the nonvolatile data storage medium. Data is stored in the cache 24. Further, when the storage of the write data is completed in step S111, the command execution control unit 261 notifies the access request processing unit 21 of the completion of the write process.

ステップS112では、コマンド実行制御部261が、コマンド管理情報格納部262に記録された前述のWriteコマンド管理情報を任意のタイミングで削除する。   In step S112, the command execution control unit 261 deletes the above-mentioned write command management information recorded in the command management information storage unit 262 at an arbitrary timing.

ステップS113では、アクセス解釈部211は、コマンド実行制御部261から読み込みの結果又は書き込みの完了通知を受理し、アクセス要求管理テーブルからコマンド結果に対応した要求元を探す。アクセス解釈部211は該当するアクセス要求の要求元であるホスト1に対して、Readアクセス要求の結果であるデータ又はWriteアクセス要求の完了通知を通知する。アクセス解釈部211はホスト1へのコマンドの結果又は完了の通知処理を完了すると、アクセス要求情報格納部212に格納された当該コマンドの管理情報を任意のタイミングで削除する。   In step S113, the access interpretation unit 211 receives a read result or a write completion notification from the command execution control unit 261, and searches the access request management table for a request source corresponding to the command result. The access interpretation unit 211 notifies the host 1 that is the request source of the corresponding access request of the data that is the result of the Read access request or the completion notification of the Write access request. When the access interpretation unit 211 completes the command notification or completion notification processing to the host 1, the management information of the command stored in the access request information storage unit 212 is deleted at an arbitrary timing.

以上のステップS101からS113までが、ホスト1からストレージ2へアクセス要求が行われた際のストレージ2全体の処理である。   The above steps S101 to S113 are processing of the entire storage 2 when an access request is made from the host 1 to the storage 2.

次に、図10を用いて前述のステップS107における手順の説明を行う。   Next, the procedure in step S107 described above will be described with reference to FIG.

ステップS201では、コマンド実行制御部261が、アクセス要求処理部21から受理したReadコマンドを不揮発キャッシュ24に発行し、Read先のデータが存在するか否か問い合わせる。   In step S <b> 201, the command execution control unit 261 issues a Read command received from the access request processing unit 21 to the nonvolatile cache 24 and inquires whether there is data to be read.

ステップS202において、不揮発キャッシュ24は、不揮発キャッシュ管理テーブルを参照してRead先のデータが存在するか確認する。不揮発キャッシュ24にReadコマンドのアクセス先のデータが存在した場合は、ステップS203に遷移する。存在しない場合には、ステップS204に遷移する。   In step S202, the non-volatile cache 24 refers to the non-volatile cache management table and confirms whether or not the read destination data exists. If there is access data for the Read command in the nonvolatile cache 24, the process proceeds to step S203. If not, the process proceeds to step S204.

ステップS203では、コマンド実行制御部261が不揮発キャッシュ24からデータを受け取り、ステップS107の処理を終了する。   In step S203, the command execution control unit 261 receives data from the nonvolatile cache 24, and ends the process of step S107.

ステップS204では、不揮発キャッシュ24にReadコマンドのアクセス先のデータが存在しなかった場合であるので、コマンド実行制御部261はReadコマンドのアクセス先に応じて記憶媒体22、若しくは冗長データ記憶媒体23にReadコマンドを発行する。   In step S204, since the read command access destination data does not exist in the nonvolatile cache 24, the command execution control unit 261 stores the read command in the storage medium 22 or the redundant data storage medium 23 according to the read command access destination. Issue a Read command.

ステップS205では、コマンド実行制御部261が、ステップS204で発行した記憶媒体22又は冗長データ記憶媒体23に対するReadコマンドの結果を受理する。また、必要に応じてReadコマンドの結果又は冗長データを不揮発キャッシュ24に格納し、不揮発キャッシュ管理テーブルを更新する。ただし、不揮発キャッシュ24へのReadコマンドの結果の記録は任意の処理である。   In step S205, the command execution control unit 261 receives the result of the Read command for the storage medium 22 or the redundant data storage medium 23 issued in step S204. Further, the result of the Read command or redundant data is stored in the nonvolatile cache 24 as necessary, and the nonvolatile cache management table is updated. However, recording of the result of the Read command in the nonvolatile cache 24 is an arbitrary process.

以上のステップS201からステップS205までの処理を行い、コマンド実行制御部261のReadコマンドに対する処理を行うステップS107の処理が完了する。   The processing from step S201 to step S205 is performed, and the processing of step S107 for processing the read command of the command execution control unit 261 is completed.

次に、図11を用いて前述のステップS111における手順の説明を行う。   Next, the procedure in step S111 described above will be described with reference to FIG.

ステップS301では、コマンド実行制御部261が、記憶媒体電源制御部25を通じて書き込み先の記憶媒体22又は冗長データ記憶媒体23の動作状態を取得する。   In step S <b> 301, the command execution control unit 261 acquires the operation state of the write destination storage medium 22 or the redundant data storage medium 23 through the storage medium power control unit 25.

ステップS302において、Writeコマンドのアクセス先が停止中か否か判断する。Writeコマンドのアクセス先記憶媒体22、若しくは冗長データ記憶媒体23が動作中であった場合にはステップS303に遷移する。Writeコマンドのアクセス先記憶媒体22、若しくは冗長データ記憶媒体23が停止中であった場合には、ステップS304に遷移する。   In step S302, it is determined whether the access destination of the write command is stopped. If the write command access destination storage medium 22 or the redundant data storage medium 23 is operating, the process proceeds to step S303. If the write command access destination storage medium 22 or the redundant data storage medium 23 is stopped, the process proceeds to step S304.

ステップS303では、コマンド実行制御部261はWriteコマンドを書き込み先の記憶媒体22又は冗長データ記憶媒体23に発行して処理を終了する。   In step S303, the command execution control unit 261 issues a Write command to the write destination storage medium 22 or the redundant data storage medium 23 and ends the process.

ステップS304では、コマンド実行制御部261がアクセス要求処理部21から受理した書き込みデータを格納するための利用可能な領域が不揮発キャッシュ24に存在するか問い合わせる。   In step S304, the command execution control unit 261 inquires whether there is an available area in the nonvolatile cache 24 for storing the write data received from the access request processing unit 21.

ステップS305では、問い合わせの結果不揮発キャッシュ24上に空き領域が存在しなかった場合にはステップS306に遷移する。一方、空き領域が存在した場合にはステップS307に遷移する。   In step S305, when there is no free area on the nonvolatile cache 24 as a result of the inquiry, the process proceeds to step S306. On the other hand, if there is a free area, the process proceeds to step S307.

ステップS306では、コマンド実行制御部261がアクセス要求処理部21から受理した書き込みデータを不揮発キャッシュ24に書き込むために利用可能な領域が確保されるまで、Writeコマンドの処理を待機させる。また、空き容量が不足していることをデータ更新制御部263に通知する。待機終了後はステップS305の判定から処理を再開する。   In step S306, the command execution control unit 261 causes the write command processing to wait until an area available for writing the write data received from the access request processing unit 21 to the nonvolatile cache 24 is secured. Further, the data update control unit 263 is notified that the free space is insufficient. After the end of standby, the process is restarted from the determination in step S305.

ステップS307では、コマンド実行制御部261が不揮発キャッシュ24にWriteコマンドを発行し、書き込みデータを書き込んで処理を終了する。   In step S307, the command execution control unit 261 issues a Write command to the nonvolatile cache 24, writes the write data, and ends the process.

以上のステップS301からステップS307までの処理を行い、コマンド実行制御部261のWriteコマンドに対する処理を行うステップS111の処理が完了する。   The processes from step S301 to step S307 are performed, and the process of step S111 for performing the process for the write command of the command execution control unit 261 is completed.

次に、図12を参照してデータ更新制御部263が不揮発キャッシュ24の容量不足を解消する手順を説明する。データ更新制御部263では、不揮発キャッシュ24に保持された読み込みデータを破棄、又は書き込みデータを記憶媒体22若しくは冗長データ記憶媒体23に書き込むことで、不揮発キャッシュ24の容量不足を解消する。   Next, a procedure for the data update control unit 263 to solve the capacity shortage of the nonvolatile cache 24 will be described with reference to FIG. The data update control unit 263 eliminates the lack of capacity of the nonvolatile cache 24 by discarding the read data held in the nonvolatile cache 24 or writing the write data to the storage medium 22 or the redundant data storage medium 23.

ステップS401において、データ更新制御部263が、不揮発キャッシュ管理テーブルのdirtyフラグが0、つまり更新の反映が不要なデータから任意の1個を選択して消去する。   In step S401, the data update control unit 263 selects and deletes any one of the data whose dirty flag in the nonvolatile cache management table is 0, that is, data that does not need to be updated.

ステップS402では、その消去が成功したかを判断し、成功すればS403に遷移し、失敗すればステップ404に遷移する。   In step S402, it is determined whether or not the erasure is successful. If successful, the process proceeds to S403, and if unsuccessful, the process proceeds to step 404.

ステップS403では、不揮発キャッシュ24の空き容量が十分か否かを判断する。不揮発キャッシュ24の空き容量が十分であれば、データ更新制御部263は容量不足の解消処理を終了する。不揮発キャッシュ24の空き容量が不足している場合には、ステップS401の処理に戻って不揮発キャッシュ24の容量不足の解消処理を続行する。   In step S403, it is determined whether or not the free capacity of the nonvolatile cache 24 is sufficient. If the free capacity of the nonvolatile cache 24 is sufficient, the data update control unit 263 terminates the capacity shortage elimination process. When the free capacity of the non-volatile cache 24 is insufficient, the process returns to the process of step S401 to continue the process for eliminating the shortage of capacity of the non-volatile cache 24.

ステップS404では、データ更新制御部263が不揮発キャッシュ管理テーブルのdirtyフラグが1、つまり更新を記憶媒体22又は冗長データ記憶媒体23に反映する必要があるデータから任意の1つを選択してコマンド実行制御部261に更新反映の実行を指示する。   In step S404, the data update control unit 263 selects the arbitrary one from the data that needs to reflect the update to the storage medium 22 or the redundant data storage medium 23, that is, the dirty flag of the nonvolatile cache management table is 1, and executes the command. The control unit 261 is instructed to execute update reflection.

ステップS405では、コマンド実行制御部261は、記憶媒体電源制御部25を通じてステップS404で選択したデータの格納先である記憶媒体22又は冗長データ記憶媒体23の動作状態を取得する。   In step S405, the command execution control unit 261 acquires the operation state of the storage medium 22 or the redundant data storage medium 23 that is the storage destination of the data selected in step S404 through the storage medium power control unit 25.

ステップS406では、選択したデータの格納先である記憶媒体22又は冗長データ記憶媒体23が停止中か否か判断する。停止中であれば、ステップS407の処理を実行する。動作中であれば、コマンド実行制御部261はステップS408以降の処理を実行する。   In step S406, it is determined whether the storage medium 22 or the redundant data storage medium 23 that is the storage destination of the selected data is stopped. If it is stopped, the process of step S407 is executed. If it is in operation, the command execution control unit 261 executes the processing after step S408.

ステップS407においては、コマンド実行制御部261が記憶媒体電源制御部25を通じて格納先の記憶媒体22又は冗長データ記憶媒体23を動作状態に切り替える。   In step S407, the command execution control unit 261 switches the storage destination storage medium 22 or the redundant data storage medium 23 to the operating state through the storage medium power control unit 25.

ステップS408では、コマンド実行制御部261が、ステップS404で指示されたWriteコマンドの実行を完了した後、不揮発キャッシュ24に一時的に保持されていたWriteコマンドのデータを消去する。   In step S408, the command execution control unit 261 deletes the write command data temporarily held in the nonvolatile cache 24 after completing the execution of the write command instructed in step S404.

ステップS409では、不揮発キャッシュ24の空き容量が不足しているか否か判断する。不足していると判断した場合には、ステップS404に戻り、不揮発キャッシュ24の容量不足の解消処理を続行する。空き容量は十分であると判断した場合にはステップS410に遷移する。   In step S409, it is determined whether or not the free capacity of the nonvolatile cache 24 is insufficient. If it is determined that there is an insufficiency, the process returns to step S404, and the process of eliminating the capacity shortage of the nonvolatile cache 24 is continued. If it is determined that the free space is sufficient, the process proceeds to step S410.

ステップS410では、コマンド実行制御部261が記憶媒体電源制御部25を通じて記憶媒体22及び冗長データ記憶媒体23からデータの読み込みに必要な冗長性が失われない範囲で、単体又は複数の任意の記憶媒体を停止する。このとき記憶媒体22及び冗長データ記憶媒体23から停止する記憶媒体の選択は、必ずしもステップS401の実行以前に停止していた記憶媒体と同一でなくてもよい。   In step S410, the command execution control unit 261 does not lose the redundancy required for reading data from the storage medium 22 and the redundant data storage medium 23 through the storage medium power control unit 25, and a single or a plurality of arbitrary storage media To stop. At this time, the selection of the storage medium to be stopped from the storage medium 22 and the redundant data storage medium 23 is not necessarily the same as the storage medium stopped before the execution of step S401.

以上のステップS401からS410までの処理を行い、データ更新制御部263が、不揮発キャッシュ24に格納された読み込みデータを破棄、又は書き込みデータを記憶媒体22若しくは冗長データ記憶媒体23に書き込むことで不揮発キャッシュ24の容量不足を解消する処理が完了する。   The processing from the above steps S401 to S410 is performed, and the data update control unit 263 discards the read data stored in the non-volatile cache 24 or writes the write data to the storage medium 22 or the redundant data storage medium 23 so that the non-volatile cache The process of eliminating the 24 capacity shortage is completed.

次に、図13を参照して、データ更新制御部263が、不揮発キャッシュ24に記録された書き込みデータを記憶媒体22若しくは冗長データ記憶媒体23に書き込むことで、一定時間の経過、若しくは、ストレージ2の負荷等の条件によって不揮発キャッシュ上に一時的に保持した更新データを反映する手順について説明する。   Next, referring to FIG. 13, the data update control unit 263 writes the write data recorded in the nonvolatile cache 24 to the storage medium 22 or the redundant data storage medium 23, so that a certain time has elapsed or the storage 2 A procedure for reflecting the update data temporarily held in the non-volatile cache according to the conditions such as the load of will be described.

ステップS501において、データ更新制御部263が不揮発キャッシュ管理テーブルのdirtyフラグが1、つまり更新を記憶媒体22又は冗長データ記憶媒体23に反映する必要があるデータから任意の1つを選択してコマンド実行制御部261に更新反映を指示する。   In step S501, the data update control unit 263 selects the arbitrary one from the data that needs to reflect the update to the storage medium 22 or the redundant data storage medium 23, that is, the dirty flag of the nonvolatile cache management table is 1, and executes the command. The control unit 261 is instructed to reflect the update.

ステップS502では、コマンド実行制御部261が、記憶媒体電源制御部25を通じてステップS501で選択したデータの格納先である記憶媒体22又は冗長データ記憶媒体23の動作状態を取得する。   In step S502, the command execution control unit 261 acquires the operation state of the storage medium 22 or the redundant data storage medium 23 that is the storage destination of the data selected in step S501 through the storage medium power control unit 25.

ステップS503では、データの格納先である記憶媒体が停止中か否かを判断する。停止中であれば、ステップS504を実行する。動作中であれば、ステップS505に遷移する。   In step S503, it is determined whether or not the storage medium that is the data storage destination is stopped. If it is stopped, step S504 is executed. If it is in operation, the process proceeds to step S505.

ステップS504では、コマンド実行制御部261が記憶媒体電源制御部25を通じて格納先の記憶媒体22又は冗長データ記憶媒体23を動作状態に切り替える。   In step S504, the command execution control unit 261 switches the storage destination storage medium 22 or the redundant data storage medium 23 to the operating state through the storage medium power control unit 25.

ステップS505では、コマンド実行制御部261が、ステップS501で指示されたWriteコマンドの実行を完了した後、不揮発キャッシュ24に一時的に保持していたWriteコマンドのデータを消去する。   In step S505, the command execution control unit 261 deletes the write command data temporarily stored in the nonvolatile cache 24 after completing the execution of the write command instructed in step S501.

ステップS506では、不揮発キャッシュ24に不揮発キャッシュ管理テーブル上のdirtyフラグがセットされたデータが存在、つまり未更新のデータが存在しているか判断する。存在していれば、ステップS501の処理に戻って不揮発キャッシュ24上の書き込みデータの更新反映処理を続行する。存在していなければ、ステップS507に遷移する。   In step S506, it is determined whether or not there is data in the nonvolatile cache 24 in which the dirty flag on the nonvolatile cache management table is set, that is, there is unupdated data. If it exists, the process returns to the process of step S501 and the update reflection process of the write data on the nonvolatile cache 24 is continued. If it does not exist, the process proceeds to step S507.

ステップS507では、コマンド実行制御部261が記憶媒体電源制御部25を通じて記憶媒体22及び冗長データ記憶媒体23からデータの読み込みに必要な冗長性が失われない範囲で、単体又は複数の任意の記憶媒体を停止する。このとき記憶媒体22及び冗長データ記憶媒体23からの停止する記憶媒体の選択は、必ずしもステップS501の実行以前に停止していた記憶媒体と同一でなくてもよい。   In step S507, the command execution control unit 261 does not lose the redundancy necessary for reading data from the storage medium 22 and the redundant data storage medium 23 through the storage medium power control unit 25, and a single or a plurality of arbitrary storage media To stop. At this time, the selection of the storage medium to be stopped from the storage medium 22 and the redundant data storage medium 23 is not necessarily the same as the storage medium stopped before the execution of step S501.

以上のステップS501からステップS507までの処理を行い、データ更新制御部263による記憶媒体22若しくは冗長データ記憶媒体23への不揮発キャッシュ24の書き込みデータの更新反映処理が完了する。   The processing from step S501 to step S507 described above is performed, and the update reflection processing of the write data in the nonvolatile cache 24 to the storage medium 22 or the redundant data storage medium 23 by the data update control unit 263 is completed.

なお、記憶媒体22及び冗長データ記憶媒体23を各1台で示しているが、これらはストレージ2全体でデータの冗長性が満たされる範囲で2台以上の記憶媒体22及び冗長データ記憶媒体23を有する構成であっても良い。   In addition, although the storage medium 22 and the redundant data storage medium 23 are each shown as one unit, these have two or more storage media 22 and redundant data storage media 23 as long as data redundancy is satisfied in the entire storage 2. The structure which has may be sufficient.

上述のような構成で、冗長データを格納する記憶媒体を停止することにより、ストレージ全体の消費電力を低減することができる。また、MAIDによる消費電力削減とは異なり、複数記憶媒体からなるアレイのうち、パリティ、ミラーのような冗長データを持つ記憶媒体を停止する。そのため、ストレージ上のデータ配置によらず一定の消費電力削減効果を持つ。さらに、停止した記憶媒体に格納されたデータにアクセスを行う必要はなく、MAIDとは異なり停止した記憶媒体に記録したデータにアクセスを行う際に、記憶媒体への電源投入からアクセスが可能になるまでの待ち時間による性能面のペナルティを発生させることがない。   With the configuration as described above, by stopping the storage medium for storing redundant data, the power consumption of the entire storage can be reduced. Further, unlike the power consumption reduction by MAID, the storage medium having redundant data such as parity and mirror is stopped in the array composed of a plurality of storage media. Therefore, it has a certain power consumption reduction effect regardless of the data arrangement on the storage. Further, it is not necessary to access data stored in the stopped storage medium. Unlike MAID, when accessing data recorded in the stopped storage medium, the storage medium can be accessed from power-on. There is no performance penalty due to waiting time.

加えて、不揮発キャッシュの追加によりアクセス性能が向上する。Readアクセスでは不揮発キャッシュ上に読み込み対象のデータが存在する場合、記憶媒体の代わりに不揮発キャッシュからデータを読み出すことで性能が向上する。一方、Writeアクセスでは、パリティ、ミラー等の冗長データを格納する記憶媒体に対する更新を不揮発キャッシュに対して記録する。そのため、不揮発キャッシュに格納された更新データはストレージに対するアクセスの処理とは非同期で処理が可能である。結果、記憶媒体に対して直接書き込みを行う場合と比べて性能が向上する。   In addition, the access performance is improved by adding a non-volatile cache. In Read access, when there is data to be read on the nonvolatile cache, the performance is improved by reading the data from the nonvolatile cache instead of the storage medium. On the other hand, in write access, an update to a storage medium storing redundant data such as parity and mirror is recorded in a nonvolatile cache. Therefore, update data stored in the non-volatile cache can be processed asynchronously with access processing to the storage. As a result, the performance is improved as compared with the case of directly writing to the storage medium.

[第2の実施形態]
続いて、記憶媒体22及び冗長データ記憶媒体23に対する媒体としてHDDを想定し、より具体的な動作を説明する。ストレージ2の記憶媒体22及び冗長データ記憶媒体23は、それぞれ1台ずつのHDDからなるRAID1のアレイで構成されている。記憶媒体22及び冗長データ記憶媒体23には、ブロック単位でアドレスが0から順番に割り当てられたHDDを一例として考える。
[Second Embodiment]
Subsequently, assuming a HDD as a medium for the storage medium 22 and the redundant data storage medium 23, more specific operation will be described. The storage medium 22 and the redundant data storage medium 23 of the storage 2 are each configured as an array of RAID 1 composed of one HDD. As an example, the storage medium 22 and the redundant data storage medium 23 are HDDs in which addresses are assigned in order from 0 in block units.

記憶媒体22に対応するHDDをHDD−A、冗長データ記憶媒体23に対応するHDDをHDD−Bと、それぞれ定義すると、HDD−A及びHDD−BによってRAID1のアレイが構成され、ホスト1に対してストレージ2が提供するアドレス空間は、HDD−Aのアドレス空間に一致する。RAID1では同じ内容のデータを、RAID1を構築するすべてのHDDに書き込むためである。つまり、ホストがアドレスXからアドレスYのブロックにアクセスする場合、アクセス先はHDD−A及びHDD−BのアドレスXからアドレスYのブロックに一致する。   When the HDD corresponding to the storage medium 22 is defined as HDD-A and the HDD corresponding to the redundant data storage medium 23 is defined as HDD-B, an array of RAID 1 is configured by the HDD-A and HDD-B. Thus, the address space provided by the storage 2 matches the address space of the HDD-A. This is because RAID1 writes data having the same contents to all HDDs that construct RAID1. That is, when the host accesses the block from address X to address Y, the access destination matches the block from address X to address Y of HDD-A and HDD-B.

HDD−AとHDD−Bは互いにミラーの関係であり、HDD−Bを停止した状態でストレージ2を運用する。従って、HDD−Bを停止した状態であっても、全てのデータはHDD−Aからの読み出しが可能である。   HDD-A and HDD-B are in a mirror relationship with each other, and the storage 2 is operated with the HDD-B stopped. Therefore, even when the HDD-B is stopped, all data can be read from the HDD-A.

不揮発キャッシュ24は、初期状態ではデータが格納されていないものとする。また不揮発キャッシュ24は最大でHDD−A及びHDD−Bの300ブロック分のデータを同時に格納可能であるとする。   The nonvolatile cache 24 is assumed to store no data in the initial state. Further, it is assumed that the nonvolatile cache 24 can simultaneously store data for 300 blocks of HDD-A and HDD-B at the maximum.

ここでは、図14に示す領域AからDまでの4つの領域を定義し、それらに対して読み込み及び書き込みを行った場合の動作を説明する。なお、ホスト1からストレージ2に対するアクセス要求は図15に示した順序で行うものとする。   Here, four areas from areas A to D shown in FIG. 14 are defined, and operations when reading and writing are performed on these areas will be described. It is assumed that access requests from the host 1 to the storage 2 are made in the order shown in FIG.

最初に、領域Aに対する書き込み動作を説明する。ストレージ2のアクセス要求処理部21がホスト1からの領域Aに対する書き込み要求を受け取ると、HDD−A及びHDD−Bに対するWriteコマンドを生成する。領域Aに対する書き込み処理は、HDD−A及びHDD−Bに対して図11のステップS301からステップS307までの手順で実行する。   First, a write operation for the area A will be described. When the access request processing unit 21 of the storage 2 receives a write request for the area A from the host 1, it generates a Write command for the HDD-A and HDD-B. The writing process to the area A is executed for HDD-A and HDD-B in the procedure from step S301 to step S307 in FIG.

HDD−Aに対する処理に着目すると、HDD−Aは既に動作状態であるため、領域Aに対する更新データは直接HDD−Aに書き込まれる。一方、HDD−Aに対するミラーであるHDD−Bは停止中であるため、不揮発キャッシュ24にHDD−Aと同一の更新データが記録される。初期状態では不揮発キャッシュ24に格納されたデータは存在しないため、300ブロックの空き領域が存在する。よって、領域Aに対する100ブロック分の更新データを格納可能であるため、HDD−Bの領域Aに対する更新データを不揮発キャッシュ24に格納する。   When attention is paid to the processing for the HDD-A, since the HDD-A is already operating, the update data for the area A is directly written to the HDD-A. On the other hand, since HDD-B, which is a mirror for HDD-A, is stopped, the same update data as HDD-A is recorded in nonvolatile cache 24. Since there is no data stored in the non-volatile cache 24 in the initial state, there is an empty area of 300 blocks. Therefore, since update data for 100 blocks for the area A can be stored, the update data for the area A of the HDD-B is stored in the nonvolatile cache 24.

次に、領域Aに対するデータの読み込みを行う際の動作を示す。この場合には、領域Aに対する書き込み要求の場合と同様に、HDD−A又はHDD−Bの領域Aに対するReadコマンドが生成される。領域Aは前述の書き込み処理で更新されているため、HDD−A上の領域A、及び不揮発キャッシュ24上に記録されたHDD−Bの領域Aに対する更新データのみが有効である。図10のReadコマンド処理では、不揮発キャッシュ24上にデータが存在する場合には不揮発キャッシュ24上のデータを優先的に読み込む。そのため不揮発キャッシュ24上の領域Aに対する更新データが読み出されて、ホスト1に対して結果として返される。   Next, an operation when data is read from the area A will be described. In this case, the Read command for the area A of the HDD-A or HDD-B is generated as in the case of the write request for the area A. Since the area A has been updated by the above-described write processing, only the update data for the area A on the HDD-A and the area A of the HDD-B recorded on the nonvolatile cache 24 is valid. In the Read command processing of FIG. 10, when data exists on the nonvolatile cache 24, the data on the nonvolatile cache 24 is preferentially read. Therefore, the update data for the area A on the nonvolatile cache 24 is read and returned as a result to the host 1.

次に、領域Bに対する読み込み処理を行う場合、領域Bのデータは不揮発キャッシュ24上には格納されていない。そのため、HDD−A又はHDD−B上の領域Bからデータの読み込みをする必要がある。しかし、HDD−Bは停止状態であるため、領域BのデータはHDD−Aから読み込まれることになる。このように、読み込み要求を受けたデータが不揮発キャッシュ24には記録されておらず、冗長データを記憶した媒体が停止している場合であっても、その冗長データが動作中の記憶媒体から読み込み可能であれば動作中の記憶媒体から冗長データに相当するデータの読み込みを行い、必要なデータの復元を行う。   Next, when the reading process is performed on the area B, the data of the area B is not stored on the nonvolatile cache 24. Therefore, it is necessary to read data from area B on HDD-A or HDD-B. However, since HDD-B is in a stopped state, the data in area B is read from HDD-A. As described above, even when the data for which the read request is received is not recorded in the nonvolatile cache 24 and the medium storing the redundant data is stopped, the redundant data is read from the operating storage medium. If possible, data corresponding to redundant data is read from the operating storage medium, and necessary data is restored.

次に、領域Bからの読み込み処理が終了した段階で、時刻t1における更新データの反映処理を行う場合の手順を示す。更新データの反映処理は図13に示した手順に従って行われる。不揮発キャッシュ24には、停止したHDD−Bに対する領域Aの更新データのみが記録された状態である。データ更新制御部263によって停止したHDD−Bの領域Aに対する更新処理要求がコマンド実行制御部261に対して行われる。コマンド実行制御部261は、停止したHDD−Bの電源を、記憶媒体電源制御部25を通じて動作状態になるようにする。HDD−Bが動作状態に切り替わった後に、コマンド実行制御部261は不揮発キャッシュ24上の更新データをHDD−B上の領域Aに書き込む。書き込みが完了すると、コマンド実行制御部261は不揮発キャッシュ24上の領域Aの更新データのdirtyフラグを0にリセットし、他に不揮発キャッシュ24上に更新データは存在しないため、HDD−Bの電源を、記憶媒体電源制御部25を通じて停止状態に戻す。   Next, the procedure for performing the update data reflection process at time t1 at the stage when the process of reading from the region B is completed will be described. The update data reflection process is performed according to the procedure shown in FIG. In the nonvolatile cache 24, only the update data of the area A for the stopped HDD-B is recorded. An update process request for the area A of the HDD-B stopped by the data update control unit 263 is made to the command execution control unit 261. The command execution control unit 261 causes the power supply of the stopped HDD-B to be in an operating state through the storage medium power supply control unit 25. After the HDD-B is switched to the operating state, the command execution control unit 261 writes the update data on the nonvolatile cache 24 to the area A on the HDD-B. When the writing is completed, the command execution control unit 261 resets the dirty flag of the update data in the area A on the non-volatile cache 24 to 0, and no other update data exists on the non-volatile cache 24. Then, the storage medium power control unit 25 returns to the stopped state.

また、領域B、領域Cに対する書き込み要求は、前述の領域Aに対する書き込みと同様の手順で行われる。このとき領域B、領域Cに対する更新データはそれぞれ100ブロック分である。   The write request for the area B and the area C is performed in the same procedure as that for the area A described above. At this time, the update data for the areas B and C is 100 blocks each.

時刻t1の時点で不揮発キャッシュ24に格納されたデータの容量は領域Aの100ブロック分のデータのみであるため、停止中のHDD−Bに対する領域B、領域Cの更新データを格納すると不揮発キャッシュ24全体で格納されるデータの容量の合計は100+100+100=300ブロック分である。つまり、領域Cに対するアクセス要求が完了した時点で不揮発キャッシュ24の空き容量は存在しない。このような状態において、領域Dに対する書き込み要求の処理手順について述べる。   Since the capacity of data stored in the nonvolatile cache 24 at time t1 is only the data for 100 blocks in the area A, storing the update data of the areas B and C for the stopped HDD-B stores the nonvolatile cache 24. The total capacity of data stored as a whole is 100 + 100 + 100 = 300 blocks. That is, there is no free capacity in the nonvolatile cache 24 when the access request to the area C is completed. In this state, a processing procedure for a write request for the region D will be described.

領域Cに対する書き込み処理の時点で、不揮発キャッシュ24の空き容量は存在しないので、不揮発キャッシュ24にHDD−Bの領域Dに対する更新データを格納するためには、不揮発キャッシュ24に空き領域を作る必要がある。この時、領域Dに対する書き込み処理は図11のステップS306で示されたとおり、不揮発キャッシュ24に必要な空き領域が確保されるまでの間、待機させられる。不揮発キャッシュ24上に領域Dの更新データを確保するのに必要な空き領域を確保する処理は図12の処理手順で行われる。   Since there is no free capacity of the non-volatile cache 24 at the time of the writing process to the area C, it is necessary to create a free area in the non-volatile cache 24 in order to store update data for the area D of the HDD-B in the non-volatile cache 24. is there. At this time, as shown in step S306 in FIG. 11, the writing process to the area D is put on standby until a necessary free area is secured in the nonvolatile cache 24. The process of securing a free area necessary for securing the update data of the area D on the nonvolatile cache 24 is performed according to the processing procedure of FIG.

空き領域の確保処理では図12のステップS401で示される通り、データ更新制御部263が不揮発キャッシュ管理テーブルを参照して不揮発キャッシュ24上のdirtyフラグが0、つまりHDD−A及びHDD−Bに対する更新処理が不要なデータを選択する。前述の条件に該当するデータは、図15における時刻t1でHDD−Bに対する更新の反映が行われた領域Aのデータのみである。不揮発キャッシュ24に格納された領域Aのデータは、HDD−A及びHDD−Bに格納されたデータと同一であるため、不揮発キャッシュ24上及び不揮発キャッシュ管理テーブルから消去が可能である。   In the free space securing process, as shown in step S401 in FIG. 12, the data update control unit 263 refers to the nonvolatile cache management table and the dirty flag on the nonvolatile cache 24 is 0, that is, updates to HDD-A and HDD-B. Select data that does not need to be processed. Data corresponding to the above-described conditions is only data in the area A in which the update to the HDD-B is reflected at the time t1 in FIG. Since the data in the area A stored in the nonvolatile cache 24 is the same as the data stored in the HDD-A and HDD-B, it can be deleted from the nonvolatile cache 24 and from the nonvolatile cache management table.

領域Aのデータを消去した時点で、空き容量は100ブロックに増加する。しかし、領域Dの更新データを格納するためには図14に示した通り200ブロック分の空き領域が必要である。そこで、図12のステップS404以降で示すように、不揮発キャッシュ24上のdirtyフラグが1、つまりHDD−A及びHDD−Bに対する更新処理が必要なデータについて、更新を反映させた後、消去することで不揮発キャッシュ24の空き領域を確保する。不揮発キャッシュ24に格納された更新処理が必要なデータとして、HDD−Bの領域B、領域Cに対する更新データが格納されている。   When the data in area A is erased, the free space increases to 100 blocks. However, in order to store the update data of the area D, an empty area of 200 blocks is required as shown in FIG. Therefore, as shown in and after step S404 in FIG. 12, the dirty flag on the non-volatile cache 24 is 1, that is, the data that needs to be updated for the HDD-A and HDD-B is updated and then deleted. Thus, an empty area of the nonvolatile cache 24 is secured. Update data for the areas B and C of the HDD-B is stored as data that needs to be updated stored in the nonvolatile cache 24.

次に、領域Bのデータについて更新を反映する場合の動作を示す。データ更新制御部263によって停止したHDD−Bの領域Bに対する更新処理要求がコマンド実行制御部261に対して行われる。コマンド実行制御部261は、停止したHDD−Bの電源を、記憶媒体電源制御部25を通じて動作状態になるようにする。その後、コマンド実行制御部261は不揮発キャッシュ24上の更新データをHDD−B上の領域Bに書き込む。書き込みが完了すると、コマンド実行制御部261は不揮発キャッシュ24、及び不揮発キャッシュ管理テーブルの領域Bのデータを消去する。領域Bのデータを消去したことで、不揮発キャッシュ24の空き領域は100+100=200ブロック分に増加して、領域Dの更新データを格納するために必要な容量を満たす。よって、他の不揮発キャッシュ24上のデータは消去せずに、HDD−Bの電源を、記憶媒体電源制御部25を通じて停止状態とし、不揮発キャッシュ24に必要な空き領域を確保する処理を終了する。   Next, an operation in a case where the update is reflected on the data in the area B will be described. An update process request for the area B of the HDD-B stopped by the data update control unit 263 is made to the command execution control unit 261. The command execution control unit 261 causes the power supply of the stopped HDD-B to be in an operating state through the storage medium power supply control unit 25. Thereafter, the command execution control unit 261 writes the update data on the nonvolatile cache 24 to the area B on the HDD-B. When the writing is completed, the command execution control unit 261 erases the data in the nonvolatile cache 24 and the area B of the nonvolatile cache management table. By erasing the data in the area B, the free area in the nonvolatile cache 24 is increased to 100 + 100 = 200 blocks to satisfy the capacity necessary for storing the update data in the area D. Therefore, without erasing the data on the other nonvolatile cache 24, the power supply of the HDD-B is stopped through the storage medium power control unit 25, and the process of securing the necessary free space in the nonvolatile cache 24 is finished.

必要な空き領域が不揮発キャッシュ24上に確保された後の領域Dに対する書き込み処理は、領域A、B及びCに対する書き込み処理と同様の手順である。以上のようにして、図15に示した各アクセス処理が完了する。   The writing process for the area D after the necessary free area is secured on the nonvolatile cache 24 is the same procedure as the writing process for the areas A, B, and C. As described above, each access process shown in FIG. 15 is completed.

この間、ストレージ2のHDD−Aは動作状態である一方で、HDD−Bは不揮発キャッシュの更新データの反映をして、不揮発キャッシュの空き容量を確保する処理の間を除いて常に停止状態のまま運用されている。   During this time, the HDD-A of the storage 2 is in the operating state, while the HDD-B is always in the stopped state except during the process of securing the free capacity of the nonvolatile cache by reflecting the update data of the nonvolatile cache. It is in operation.

なお、不揮発キャッシュ24としてSSDの使用が想定できる。このSSDは、記憶媒体22、及び冗長データ記憶媒体23で使用しているHDDより消費電力が小さい。そのため、HDD−Bを原則、停止状態で運用することで、ストレージ2の消費電力の削減が実現できる。   Note that the use of an SSD as the nonvolatile cache 24 can be assumed. This SSD consumes less power than the HDD used in the storage medium 22 and the redundant data storage medium 23. Therefore, the power consumption of the storage 2 can be reduced by operating the HDD-B in a stopped state in principle.

また、領域Aに対する読み込み処理では、HDD−A及びHDD−Bよりアクセス性能の高い不揮発キャッシュ24をキャッシュとして利用することで、アクセス性能の向上が実現される。不揮発キャッシュはあくまで、HDD−A及びHDD−Bに格納すべきデータの一時的な保存先として使用するものであるから、その容量はHDD−A及びHDD−Bと比較して小さいもので良く、HDDとSSDのコスト差を考えれば、不揮発キャッシュの容量は小さいものを使用することが前提となる。また、ストレージ装置に対する読み込み要求に対してアクセス性能の高いSSDをキャッシュとして使うことで読み出し性能が向上することは上述の通りであるが、さらに加えて、書き込み性能も向上する。それは、本来であれば、HDDの任意のアドレスにランダムに書き込まれるデータが、HDDより高速かつランダムアクセスが高速な不揮発キャッシュに書き込まれることに起因する。なお、HDD−Aに対してミラーリングされたHDD−Bのみの動作を停止させる場合について説明したが、冗長データを記録する媒体が複数存在する場合であっても、不揮発キャッシュは複数個必要としない。それは、不揮発キャッシュ管理テーブルによって情報を一元管理していることを理由とする。また、本実施形態ではRAID1のミラーリングされたHDDを想定して説明したが、RAID4又は5のような、パリティデータをもつアレイに対しても冗長性の維持が可能な限りそのようなHDDの動作を停止することができる。   Further, in the read processing for the area A, the access performance is improved by using the nonvolatile cache 24 having higher access performance than the HDD-A and HDD-B as the cache. Since the non-volatile cache is used only as a temporary storage destination for data to be stored in the HDD-A and HDD-B, its capacity may be smaller than that of the HDD-A and HDD-B. Considering the cost difference between the HDD and the SSD, it is assumed that the non-volatile cache has a small capacity. In addition, as described above, read performance is improved by using an SSD having high access performance as a cache in response to a read request to the storage apparatus. In addition, write performance is also improved. This is due to the fact that data that is originally written randomly to any address in the HDD is written to a non-volatile cache that is faster than the HDD and faster in random access. Although the case where only the operation of the HDD-B mirrored with respect to the HDD-A is stopped has been described, a plurality of nonvolatile caches are not required even when there are a plurality of media for recording redundant data. . This is because the information is centrally managed by the non-volatile cache management table. Further, in the present embodiment, the description has been made assuming a RAID 1 mirrored HDD, but the operation of such an HDD as long as redundancy can be maintained even for an array such as RAID 4 or 5 having parity data. Can be stopped.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.

(付記1)冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、前記記憶媒体よりも高速にアクセス可能であり、前記複数の記憶媒体のうち停止中の記憶媒体へデータ書き込み要求のあった際に、前記冗長データの一時的な記録先として使用する不揮発性記憶媒体と、データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせ、記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す制御部と、を備えるストレージ装置。   (Supplementary note 1) A plurality of storage media that are used as storage destinations of data including redundant data and can be independently brought into a stopped state, and can be accessed at a higher speed than the storage media. Corresponds to the non-volatile storage medium used as a temporary recording destination of the redundant data when a data write request is made to a stopped storage medium of the medium, and the data received at the time of the data read request A storage device comprising: a controller that inquires of the non-volatile storage medium whether or not there is redundant data to be read and, if recorded, reads the redundant data from the non-volatile storage medium.

(付記2)さらに、前記制御部は、前記読み込み要求を受けたデータに対応する冗長データが前記不揮発性記憶媒体に記録されておらず、冗長データを格納した記録媒体が停止している場合には、前記複数の記憶媒体のうち、動作中の記憶媒体から冗長データに相当するデータを読み出すストレージ装置。   (Additional remark 2) Furthermore, the said control part is when the redundant data corresponding to the data which received the said read request are not recorded on the said non-volatile storage medium, and the recording medium which stored the redundant data has stopped Is a storage device that reads data corresponding to redundant data from an operating storage medium among the plurality of storage media.

(付記3)前記複数の記憶媒体のうち、冗長データの格納先として使用される記憶媒体は、前記ストレージ装置の起動時から停止しており、前記制御部が、前記冗長データの格納先として使用されている記憶媒体を起動した際に、前記不揮発性記憶媒体に記録された前記冗長データを前記冗長データの格納先として使用されている記憶媒体に複写するストレージ装置。   (Supplementary Note 3) Among the plurality of storage media, a storage medium used as a storage destination for redundant data has been stopped since the storage device was started, and the control unit uses the storage medium as a storage destination for the redundant data. A storage apparatus for copying the redundant data recorded on the nonvolatile storage medium to a storage medium used as a storage destination of the redundant data when the storage medium is activated.

(付記4)前記制御部が、前記不揮発性記憶媒体の記録領域が不足した際に、前記冗長データの格納先として使用されている記憶媒体を起動し、前記複写後のデータを前記不揮発性記憶媒体から消去するストレージ装置。   (Supplementary Note 4) When the control unit runs out of the recording area of the nonvolatile storage medium, the control unit starts a storage medium used as a storage destination of the redundant data, and stores the copied data in the nonvolatile storage A storage device that is erased from media.

(付記5)前記制御部は、前記不揮発性記憶媒体のデータが前記冗長データの格納先として使用されている記憶媒体に複写が必要か否かをテーブルにより管理し、前記不揮発性記憶媒体の記録領域が不足した場合には前記不揮発性記憶媒体から複写が必要ないデータを消去するストレージ装置。   (Additional remark 5) The said control part manages whether the data of the said non-volatile storage medium need to be copied to the storage medium used as the storage place of the said redundant data with a table, and the recording of the said non-volatile storage medium A storage device for erasing data that does not need to be copied from the non-volatile storage medium when the area is insufficient.

(付記6)前記テーブルは前記不揮発性記憶媒体に記録されているストレージ装置。   (Additional remark 6) The said table is the storage apparatus currently recorded on the said non-volatile storage medium.

(付記7)前記制御部が、前記冗長データの複写後に前記冗長データの格納先として使用されている記憶媒体を停止するストレージ装置。   (Supplementary note 7) A storage apparatus in which the control unit stops a storage medium used as a storage destination of the redundant data after the redundant data is copied.

(付記8)前記不揮発性記憶媒体に代えて、前記ストレージ装置の電源オフ時にも前記ストレージ装置に常時接続された電源によりデータの保持が可能なメモリを備えたストレージ装置。   (Supplementary Note 8) A storage apparatus provided with a memory that can hold data by a power source that is always connected to the storage apparatus even when the storage apparatus is powered off, instead of the nonvolatile storage medium.

(付記9)冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、を備えるストレージ装置の制御方法であって、前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する工程と、データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる工程と、前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す工程と、を含むストレージ装置の制御方法。   (Supplementary Note 9) A plurality of storage media that are used as storage destinations of data including redundant data and can be independently brought into a stopped state, and a nonvolatile storage medium that can be accessed at higher speed than the storage medium, A storage device control method comprising: a step of recording the redundant data in the nonvolatile storage medium in response to a data write request to a storage medium that is stopped among the plurality of storage media; A step of inquiring of the nonvolatile storage medium whether or not there is redundant data corresponding to the data for which the read request has been received, and a step of reading the redundant data from the nonvolatile storage medium if the redundant data is recorded And a storage device control method.

(付記10)さらに、前記読み込み要求を受けたデータに対応する冗長データが前記不揮発性記憶媒体に記録されておらず、冗長データを格納した記録媒体が停止している場合には、前記複数の記憶媒体のうち、動作中の記憶媒体から冗長データに相当するデータを読み出す工程を含むストレージ装置の制御方法。   (Additional remark 10) Furthermore, when the redundant data corresponding to the data that has received the read request is not recorded in the nonvolatile storage medium, and the recording medium storing the redundant data is stopped, the plurality of A control method for a storage apparatus, comprising a step of reading data corresponding to redundant data from an operating storage medium among storage media.

(付記11)前記ストレージ装置の起動時から停止している前記冗長データの格納先として使用されている記憶媒体を起動する工程と、前記冗長データの格納先として使用されている記憶媒体の起動後に、前記不揮発性記憶媒体に記録された前記冗長データを前記冗長データの格納先として使用されている記憶媒体に複写する工程と、を含むストレージ装置の制御方法。   (Supplementary Note 11) Starting the storage medium used as the storage destination of the redundant data that has been stopped since the storage device was started, and after starting the storage medium used as the storage destination of the redundant data And a step of copying the redundant data recorded on the nonvolatile storage medium to a storage medium used as a storage destination of the redundant data.

(付記12)さらに、前記不揮発性記憶媒体の記録領域が不足した際に、前記冗長データの格納先として使用されている記憶媒体を起動する工程と、前記複写後のデータを前記不揮発性記憶媒体から消去する工程と、を含むストレージ装置の制御方法。   (Additional remark 12) Furthermore, when the recording area of the non-volatile storage medium runs short, starting the storage medium used as the storage destination of the redundant data; and the data after copying is stored in the non-volatile storage medium And erasing from the storage device.

(付記13)前記複写後のデータを前記不揮発性記憶媒体から消去する工程は、前記不揮発性記憶媒体のデータが前記冗長データの格納先として使用されている記憶媒体に複写が必要か否かを管理するテーブルに基づき、前記不揮発性記憶媒体の記録領域が不足した場合には前記不揮発性記憶媒体から複写が必要ないデータを消去するストレージ装置の制御方法。   (Supplementary Note 13) In the step of erasing the copied data from the nonvolatile storage medium, it is determined whether or not the data in the nonvolatile storage medium needs to be copied to a storage medium used as a storage destination of the redundant data. A control method for a storage device, which, based on a table to be managed, erases data that does not need to be copied from the nonvolatile storage medium when the recording area of the nonvolatile storage medium is insufficient.

(付記14)前記冗長データの複写後に前記冗長データの格納先として使用されている記憶媒体を停止する工程を含むストレージ装置の制御方法。   (Supplementary note 14) A storage apparatus control method including a step of stopping a storage medium used as a storage destination of the redundant data after the redundant data is copied.

(付記15)冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する処理と、データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる処理と、前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す処理と、を前記コンピュータに実行させるプログラム。   (Supplementary Note 15) A plurality of storage media that are used as storage destinations of data including redundant data and can be independently brought into a stopped state, and a nonvolatile storage medium that can be accessed at higher speed than the storage medium, A program that is executed by a computer that controls a storage apparatus including: the redundant data is recorded in the nonvolatile storage medium in response to a data write request to a stopped storage medium among the plurality of storage media Processing, processing to query the nonvolatile storage medium for the presence or absence of redundant data corresponding to the data for which the read request has been received, and if the redundant data is recorded, from the nonvolatile storage medium A program for causing the computer to execute a process of reading redundant data.

(付記16)さらに、前記読み込み要求を受けたデータに対応する冗長データが前記不揮発性記憶媒体に記録されておらず、冗長データを格納した記録媒体が停止している場合には、前記複数の記憶媒体のうち、動作中の記憶媒体から冗長データに相当するデータを読み出す処理を実行するプログラム。   (Supplementary Note 16) Further, when the redundant data corresponding to the data that has received the read request is not recorded in the nonvolatile storage medium, and the recording medium storing the redundant data is stopped, the plurality of A program that executes a process of reading data corresponding to redundant data from an operating storage medium.

(付記17)前記ストレージ装置の起動時から停止している前記冗長データの格納先として使用されている記憶媒体を起動する処理と、前記冗長データの格納先として使用されている記憶媒体の起動後に、前記不揮発性記憶媒体に記録された前記冗長データを前記冗長データの格納先として使用されている記憶媒体に複写する処理と、を実行するプログラム。   (Supplementary Note 17) After starting the storage medium used as the storage destination of the redundant data, the processing for starting the storage medium used as the storage destination of the redundant data that has been stopped since the startup of the storage device And a process of copying the redundant data recorded on the nonvolatile storage medium to a storage medium used as a storage destination of the redundant data.

(付記18)さらに、前記不揮発性記憶媒体の記録領域が不足した際に、前記冗長データの格納先として使用されている記憶媒体を起動する処理と、前記複写後のデータを前記不揮発性記憶媒体から消去する処理と、を実行するプログラム。   (Additional remark 18) Furthermore, when the recording area of the non-volatile storage medium is insufficient, a process of starting a storage medium used as a storage destination of the redundant data, and the data after copying are stored in the non-volatile storage medium A program for executing the process of erasing from the program.

(付記19)前記複写後のデータを前記不揮発性記憶媒体から消去する処理は、前記不揮発性記憶媒体のデータが前記冗長データの格納先として使用されている記憶媒体に複写が必要か否かを管理するテーブルに基づき、前記不揮発性記憶媒体の記録領域が不足した場合には前記不揮発性記憶媒体から複写が必要ないデータを消去するプログラム。   (Supplementary Note 19) In the process of erasing the copied data from the nonvolatile storage medium, it is determined whether or not the data in the nonvolatile storage medium needs to be copied to a storage medium used as a storage destination of the redundant data. A program for erasing data that does not need to be copied from the non-volatile storage medium when the recording area of the non-volatile storage medium is insufficient based on a table to be managed.

(付記20)前記冗長データの複写後に前記冗長データの格納先として使用されている記憶媒体を停止する処理を含むプログラム。   (Supplementary note 20) A program including a process of stopping a storage medium used as a storage destination of the redundant data after the redundant data is copied.

なお、上記の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。例えば、不揮発キャッシュの代わりにストレージ装置に常時接続された電源から特定の媒体のみに電源を供給し、その内容を保持するようなものであってもよい。   It should be noted that the disclosures of the above patent documents and the like are incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiment can be changed and adjusted based on the basic technical concept. Various combinations and selections of various disclosed elements are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. For example, instead of a non-volatile cache, power may be supplied only to a specific medium from a power source that is always connected to the storage device, and the contents may be retained.

1、1a ホスト
2 ストレージ
3 ネットワーク
21 アクセス要求処理部
22 記憶媒体
23 冗長データ記憶媒体
24 不揮発キャッシュ
25 記憶媒体電源制御部
26 コマンド実行部
211 アクセス解釈部
212 アクセス要求情報格納部
213 データ復元部
214 冗長データ生成部
261 コマンド実行制御部
262 コマンド管理情報格納部
263 データ更新制御部
1, 1a Host 2 Storage 3 Network 21 Access request processing unit 22 Storage medium 23 Redundant data storage medium 24 Non-volatile cache 25 Storage medium power supply control unit 26 Command execution unit 211 Access interpretation unit 212 Access request information storage unit 213 Data restoration unit 214 Redundancy Data generation unit 261 Command execution control unit 262 Command management information storage unit 263 Data update control unit

Claims (10)

冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、
前記記憶媒体よりも高速にアクセス可能であり、前記複数の記憶媒体のうち停止中の記憶媒体へデータ書き込み要求のあった際に、前記冗長データの一時的な記録先として使用する不揮発性記憶媒体と、
データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせ、記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す制御部と、
を備えることを特徴とするストレージ装置。
A plurality of storage media that are used as storage destinations for data including redundant data and can be brought into a stopped state independently;
A non-volatile storage medium that can be accessed at a higher speed than the storage medium and that is used as a temporary recording destination of the redundant data when a data write request is made to a storage medium that is stopped among the plurality of storage media When,
At the time of data read request, the nonvolatile storage medium is inquired about the presence or absence of redundant data corresponding to the data that has received the read request, and if it is recorded, a controller that reads the redundant data from the nonvolatile storage medium;
A storage apparatus comprising:
さらに、前記制御部は、前記読み込み要求を受けたデータに対応する冗長データが前記不揮発性記憶媒体に記録されておらず、冗長データを格納した記録媒体が停止している場合には、前記複数の記憶媒体のうち、動作中の記憶媒体から冗長データに相当するデータを読み出す、請求項1のストレージ装置。   Further, the control unit is configured such that when the redundant data corresponding to the data that has received the read request is not recorded in the nonvolatile storage medium, and the recording medium storing the redundant data is stopped, The storage device according to claim 1, wherein data corresponding to redundant data is read from the storage medium in operation among the storage media. 前記複数の記憶媒体のうち、冗長データの格納先として使用される記憶媒体は、前記ストレージ装置の起動時から停止しており、
前記制御部が、前記冗長データの格納先として使用されている記憶媒体を起動した際に、前記不揮発性記憶媒体に記録された前記冗長データを前記冗長データの格納先として使用されている記憶媒体に複写する請求項1又は2のストレージ装置。
Among the plurality of storage media, a storage medium used as a storage destination of redundant data has been stopped since the storage device was started,
A storage medium in which the redundant data recorded in the nonvolatile storage medium is used as the storage destination of the redundant data when the control unit starts up the storage medium used as the storage destination of the redundant data The storage device according to claim 1 or 2, wherein the storage device is copied to the storage device.
前記制御部が、前記不揮発性記憶媒体の記録領域が不足した際に、前記冗長データの格納先として使用されている記憶媒体を起動し、前記複写後のデータを前記不揮発性記憶媒体から消去する請求項3のストレージ装置。   The control unit activates a storage medium used as a storage destination of the redundant data when the recording area of the nonvolatile storage medium is insufficient, and erases the copied data from the nonvolatile storage medium The storage apparatus according to claim 3. 前記制御部は、前記不揮発性記憶媒体のデータが前記冗長データの格納先として使用されている記憶媒体に複写が必要か否かをテーブルにより管理し、前記不揮発性記憶媒体の記録領域が不足した場合には前記不揮発性記憶媒体から複写が必要ないデータを消去する請求項4のストレージ装置。   The control unit manages whether or not data in the nonvolatile storage medium needs to be copied to a storage medium used as a storage destination of the redundant data, and a recording area of the nonvolatile storage medium is insufficient. 5. The storage apparatus according to claim 4, wherein data that does not need to be copied is erased from the nonvolatile storage medium. 前記テーブルは前記不揮発性記憶媒体に記録されている請求項5のストレージ装置。   The storage apparatus according to claim 5, wherein the table is recorded in the nonvolatile storage medium. 前記制御部が、前記冗長データの複写後に前記冗長データの格納先として使用されている記憶媒体を停止する請求項3から6いずれか一に記載のストレージ装置。   The storage apparatus according to any one of claims 3 to 6, wherein the control unit stops a storage medium used as a storage destination of the redundant data after copying the redundant data. 前記不揮発性記憶媒体に代えて、前記ストレージ装置の電源オフ時にも前記ストレージ装置に常時接続された電源によりデータの保持が可能なメモリを備えた請求項1から7いずれか一に記載のストレージ装置。   The storage apparatus according to any one of claims 1 to 7, further comprising a memory capable of holding data by a power source that is always connected to the storage apparatus even when the storage apparatus is powered off, instead of the nonvolatile storage medium. . 冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、
前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、
を備えるストレージ装置の制御方法であって、
前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する工程と、
データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる工程と、
前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す工程と、
を含むことを特徴とするストレージ装置の制御方法。
A plurality of storage media that are used as storage destinations for data including redundant data and can be brought into a stopped state independently;
A non-volatile storage medium accessible at a higher speed than the storage medium;
A storage apparatus control method comprising:
In response to a data write request to a stopped storage medium among the plurality of storage media, recording the redundant data in the nonvolatile storage medium;
A step of inquiring the nonvolatile storage medium for the presence or absence of redundant data corresponding to the data for which the read request has been received at the time of a data read request;
If the redundant data is recorded, reading the redundant data from the nonvolatile storage medium;
A method for controlling a storage apparatus.
冗長データを含むデータの格納先として使用され、それぞれ独立して停止状態にすることが可能な複数の記憶媒体と、
前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、
を備えるストレージ装置を制御するコンピュータに実行させるプログラムであって、
前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する処理と、
データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる処理と、
前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す処理と、
を前記コンピュータに実行させるプログラム。
A plurality of storage media that are used as storage destinations for data including redundant data and can be brought into a stopped state independently;
A non-volatile storage medium accessible at a higher speed than the storage medium;
A program for causing a computer to control a storage device comprising:
In response to a data write request to a stopped storage medium among the plurality of storage media, a process of recording the redundant data in the nonvolatile storage medium;
A process for inquiring of the nonvolatile storage medium whether or not there is redundant data corresponding to the data for which the read request has been received at the time of a data read request;
If the redundant data is recorded, a process of reading the redundant data from the nonvolatile storage medium;
A program for causing the computer to execute.
JP2010148589A 2010-06-30 2010-06-30 Storage device, control method therefor and program Withdrawn JP2012014313A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010148589A JP2012014313A (en) 2010-06-30 2010-06-30 Storage device, control method therefor and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010148589A JP2012014313A (en) 2010-06-30 2010-06-30 Storage device, control method therefor and program

Publications (1)

Publication Number Publication Date
JP2012014313A true JP2012014313A (en) 2012-01-19

Family

ID=45600692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010148589A Withdrawn JP2012014313A (en) 2010-06-30 2010-06-30 Storage device, control method therefor and program

Country Status (1)

Country Link
JP (1) JP2012014313A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161344A (en) * 2012-02-07 2013-08-19 Ntt Facilities Inc Reboot control system, method for controlling reboot, and program
JP2015191637A (en) * 2014-03-29 2015-11-02 富士通株式会社 Distribution storage system, storage device control method and storage device control program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161344A (en) * 2012-02-07 2013-08-19 Ntt Facilities Inc Reboot control system, method for controlling reboot, and program
JP2015191637A (en) * 2014-03-29 2015-11-02 富士通株式会社 Distribution storage system, storage device control method and storage device control program

Similar Documents

Publication Publication Date Title
US8392670B2 (en) Performance management of access to flash memory in a storage device
KR101736384B1 (en) Nonvolatile Memory System
CN101923499B (en) Techniques to perform power fail-safe caching without atomic metadata
JP5808854B2 (en) Storage system and storage method
JP6017065B2 (en) Storage system and cache control method
US20120324162A1 (en) Storage system comprising function for reducing power consumption
JP2009075759A (en) Storage device, and method for managing data in storage device
US20090113149A1 (en) Storage apparatus, control method therefor, and storage system
JP2013532862A (en) Storage system and control method thereof
JP6398102B2 (en) Memory system
JP2009199199A (en) Storage system and its data write method
JP2007219703A (en) Hard disk storage control program, hard disk storage device and hard disk storage control method
JP2011018236A (en) Control device, control method and storage system
JP2010102413A (en) Storage device and cache control method
US20100115310A1 (en) Disk array apparatus
US8429344B2 (en) Storage apparatus, relay device, and method of controlling operating state
JP7318367B2 (en) Storage control device and storage control program
US20110035547A1 (en) Method for utilizing mirroring in a data storage system to promote improved data accessibility and improved system efficiency
KR20110033066A (en) Fast speed computer system power-on &amp; power-off method
US8171324B2 (en) Information processing device, data writing method, and program for the same
JP2008299559A (en) Storage system and data transfer method for storage system
US20160259571A1 (en) Storage subsystem
JP2006099802A (en) Storage controller, and control method for cache memory
JP2012014313A (en) Storage device, control method therefor and program
KR20070060301A (en) Hard disk driver having non-volatile write cache

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130903