JP2012014313A - Storage device, control method therefor and program - Google Patents
Storage device, control method therefor and program Download PDFInfo
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
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
以下の分析は、本発明の観点からなされたものである。 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.
はじめに、図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
続いて、ストレージ2の構成について図3を参照して説明を行う。図3は本発明の一実施形態に係るストレージ装置の構成を示したブロック図である。ストレージ2は、アクセス要求処理部21と、記憶媒体22と、冗長データ記憶媒体23と、不揮発キャッシュ24と、記憶媒体電源制御部25と、コマンド実行部26から構成される。
Next, the configuration of the
アクセス要求処理部21は、ホスト1からのアクセス要求を受け取り、その要求に応じたコマンドを生成する。さらに、アクセス要求処理部21は、読み込んだ冗長データから元のデータの復元を行う。逆に、書き込みデータから冗長データ記憶媒体23に格納するための冗長データの生成を行う機能も有する。
The access
次に、アクセス要求処理部21の構成について詳細に説明する。図4は、アクセス要求処理部21の内部構成のブロック図である。アクセス要求処理部21は、アクセス解釈部211と、アクセス要求情報格納部212と、データ復元部213と、冗長データ生成部214から構成される。
Next, the configuration of the access
アクセス解釈部211は、ホスト1からのアクセス要求を受け取り、その要求に応じて記憶媒体22及び冗長データ記憶媒体23に対するコマンドを生成する。アクセス解釈部211は、生成したコマンドをコマンド実行部26に通知すると共に、コマンドの管理情報をアクセス要求情報格納部212において記録する。また、生成したコマンドがWriteコマンドである場合、書き込み対象となるデータをコマンド実行部26に渡す。その後、コマンド実行部26から、Readコマンドで読み出されたデータ、又はWriteコマンドに対する完了通知を受理すれば、読み出されたデータ又は書き込み要求に対する完了通知を対応する要求元であるホスト1に返す。
The
さらに、アクセス解釈部211は、ホスト1からのアクセス要求が完了すると任意のタイミングで、アクセス要求情報格納部212に記録された、該当するアクセス要求の管理情報を削除する。アクセス要求情報格納部212は、アクセス解釈部211が受け取ったアクセス要求、及びアクセス解釈部211が生成したコマンドとの対応をアクセス要求管理テーブル(図6参照)により管理する。
Further, when the access request from the
データ復元部213は、冗長データ記憶媒体23から読み出した冗長データについて、他の記憶媒体22及び冗長データ記憶媒体23から読み出したデータと合わせて、冗長データに対応するデータ本体を生成する。
The
冗長データ生成部214は、ストレージ2に対する書き込みデータから冗長データ記憶媒体23に記録するための冗長データを生成する。
The redundant
続いて、ストレージ2に含まれる記憶媒体について説明する。記憶媒体22はストレージ2に書き込まれたデータを恒久的に記録する。記憶媒体22は、コマンド実行部26からのコマンドによりデータのRead又はWriteアクセスを行う。また、コマンド実行部26の指示により動作状態及び停止状態の切り替えが可能である。
Next, the storage medium included in the
冗長データ記憶媒体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
不揮発キャッシュ24は、記憶媒体22及び冗長データ記憶媒体23よりもアクセス性能が高く、ホスト1から受理したデータを停止状態の記憶媒体22又は冗長データ記憶媒体23に書き込む前に一時的に保存する。つまり、不揮発キャッシュ24は、記憶媒体22又は冗長データ記憶媒体23に書き込むべきデータをこれらの記憶媒体が停止している間、更新されたデータを保持する役割を持つ。また、不揮発キャッシュ24は停止状態の記憶媒体22又は冗長データ記憶媒体23に書き込まれるデータを保持するだけでなく、記憶媒体22及び冗長データ記憶媒体23のデータを一時的にキャッシュとして利用することで、ストレージ2に対する読み込み要求、書き込み要求の処理性能を高める。
The
なお、記憶媒体電源制御部25により、記憶媒体22及び冗長データ記憶媒体23の動作又は停止を記録し、電源を制御することでこれらの記録媒体の動作状態と停止状態が切り替えられる。以上が、記憶媒体についての説明である。
The storage medium power control unit 25 records the operation or stop of the
次に、コマンド実行部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
コマンド実行部26は、不揮発キャッシュ24でデータ本体の保持をしている場合、任意のタイミングで記憶媒体22を停止状態から動作状態に切り替え、不揮発キャッシュ24で保持する書き込みデータを記憶媒体22に書き込む。同様に、不揮発キャッシュ24で書き込みデータに対する冗長データの保持をしている場合、任意のタイミングで冗長データ記憶媒体23を停止状態から動作状態に切り替え、不揮発キャッシュ24で保持する冗長データを冗長データ記憶媒体23に書き込む。
When the data body is held in the
また、コマンド実行部26は、不揮発キャッシュ24を介さず、記憶媒体22及び冗長データ記憶媒体23に発行したコマンドが完了した場合、又は、不揮発キャッシュ24に対する読み込み又は書き込みが完了するとアクセス要求処理部21に対しReadコマンドの場合は読み出されたデータ、Writeコマンドの場合は書き込み完了の通知を行う。
In addition, the command execution unit 26 does not go through the
次に、コマンド実行部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
コマンド実行制御部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
コマンド管理情報格納部262には、アクセス要求処理部21から受理したコマンドの管理をするコマンド管理テーブルが記録されている(図7参照)。
The command management
データ更新制御部263は不揮発キャッシュ24の状態を監視し、不揮発キャッシュ24の更新データを格納する領域の空き容量が不足した場合、又は予め定められた時間や一定間隔経過といった条件で、記憶媒体電源制御部25を通じて記憶媒体22若しくは冗長データ記憶媒体23を動作状態に切り替え、不揮発キャッシュ24の更新データを書き込めるようにする。さらに、更新データが格納されるべき記憶媒体22若しくは冗長データ記憶媒体23が動作状態になると、コマンド実行制御部261に対して不揮発キャッシュ24上の更新データを記憶媒体22若しくは冗長データ記憶媒体23に書き込みを求める要求を行う。
The data
ここで、ストレージ2で用いる各種のテーブルについて説明する。図6は、前述のアクセス要求管理テーブルの内容を示す図である。アクセス要求管理テーブルは、ホスト1からの各アクセス要求に付随する情報を保持する。アクセス要求に付随する情報として、アクセス要求毎に付与する固有のIDと、読み込み要求であるか書き込み要求であるかのアクセス種別(図6ではR/Wと表現する)と、ストレージ2全体におけるアドレス空間内での先頭ブロックのアドレスと、アクセス長、アクセス要求の要求元ホストと、アクセス要求を処理するためにコマンド実行部26に対して処理を依頼したコマンドに付加され、1個以上の各記憶媒体に対するアクセスコマンドのID(以下コマンドID)を記録する。アクセス要求管理テーブルは、ホスト1からの各アクセス要求に付随する情報が必要になる際に、アクセス解釈部211が参照する。
Here, various tables used in the
次に、コマンド管理テーブルについて説明する。図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
続いて、不揮発キャッシュ管理テーブルについて説明する。図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
次に、図面を参照して本実施形態に係るストレージ装置の動作について説明する。図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
ステップS101において、アクセス解釈部211はホスト1からのアクセス要求を解釈し、記憶媒体22、若しくは冗長データ記憶媒体23に対するアクセスコマンド(Readコマンド又はWriteコマンド)を生成する。
In step S101, the
ステップ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
ステップS104では、アクセス解釈部211が、ステップS101で受理したアクセス要求の管理情報と生成したコマンドの対応情報をアクセス要求情報格納部212に格納する。このとき格納する情報は、図6のアクセス要求管理テーブルで示す内容である。また、アクセス解釈部211はコマンド実行部26に対してステップS101で生成したコマンドの処理を要求する。コマンドがWriteコマンドである場合は、書き込み対象のデータをコマンド実行部26に渡す。
In step S104, the
ステップS105においては、コマンド実行制御部261は、ステップS104でコマンド実行部26に渡されたコマンドを受理し、そのコマンドの管理情報をコマンド管理情報格納部262にコマンド管理テーブルの形式で記録する。
In step S105, the command
ステップS106では、コマンド実行制御部261が受け取ったコマンドがWriteコマンドの場合にはステップS111に遷移し、WriteコマンドでなければステップS107に遷移する。
In step S106, if the command received by the command
ステップS107では、コマンド実行制御部261が受理したコマンドがReadコマンドなので、Readコマンドに対するアクセス処理を実行する。この時、コマンド実行制御部261は、Readコマンドの処理を記憶媒体22、冗長データ記憶媒体23又は不揮発キャッシュ24に対して実行する。
In step S107, since the command received by the command
続いて、ステップS108において、コマンド実行制御部261は、発行したReadコマンドの処理が完了すると、その読み込み結果をアクセス要求処理部21に渡す。また、コマンド実行制御部261は、コマンド管理情報格納部262に記録された前述のReadコマンドの管理情報を任意のタイミングで削除する。
Subsequently, in step S108, the command
ステップ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
ステップS110では、アクセス要求処理部21のデータ復元部213が、ステップS108で受理した読み込み結果の冗長データからストレージ2に対して読み込み要求をしたデータの復元をする。
In step S110, the
続いて、ステップS111では、コマンド実行制御部261が受理したコマンドがWriteコマンドである場合、コマンド実行制御部261はWriteコマンドに対するアクセス処理を実行して記憶媒体22、冗長データ記憶媒体23、又は不揮発キャッシュ24にデータを格納する。また、コマンド実行制御部261は、ステップS111で書き込みデータの格納が完了すると、書き込み処理の完了をアクセス要求処理部21に通知する。
Subsequently, in step S111, when the command received by the command
ステップS112では、コマンド実行制御部261が、コマンド管理情報格納部262に記録された前述のWriteコマンド管理情報を任意のタイミングで削除する。
In step S112, the command
ステップS113では、アクセス解釈部211は、コマンド実行制御部261から読み込みの結果又は書き込みの完了通知を受理し、アクセス要求管理テーブルからコマンド結果に対応した要求元を探す。アクセス解釈部211は該当するアクセス要求の要求元であるホスト1に対して、Readアクセス要求の結果であるデータ又はWriteアクセス要求の完了通知を通知する。アクセス解釈部211はホスト1へのコマンドの結果又は完了の通知処理を完了すると、アクセス要求情報格納部212に格納された当該コマンドの管理情報を任意のタイミングで削除する。
In step S113, the
以上のステップS101からS113までが、ホスト1からストレージ2へアクセス要求が行われた際のストレージ2全体の処理である。
The above steps S101 to S113 are processing of the
次に、図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
ステップS202において、不揮発キャッシュ24は、不揮発キャッシュ管理テーブルを参照してRead先のデータが存在するか確認する。不揮発キャッシュ24にReadコマンドのアクセス先のデータが存在した場合は、ステップS203に遷移する。存在しない場合には、ステップS204に遷移する。
In step S202, the
ステップS203では、コマンド実行制御部261が不揮発キャッシュ24からデータを受け取り、ステップS107の処理を終了する。
In step S203, the command
ステップS204では、不揮発キャッシュ24にReadコマンドのアクセス先のデータが存在しなかった場合であるので、コマンド実行制御部261はReadコマンドのアクセス先に応じて記憶媒体22、若しくは冗長データ記憶媒体23にReadコマンドを発行する。
In step S204, since the read command access destination data does not exist in the
ステップS205では、コマンド実行制御部261が、ステップS204で発行した記憶媒体22又は冗長データ記憶媒体23に対するReadコマンドの結果を受理する。また、必要に応じてReadコマンドの結果又は冗長データを不揮発キャッシュ24に格納し、不揮発キャッシュ管理テーブルを更新する。ただし、不揮発キャッシュ24へのReadコマンドの結果の記録は任意の処理である。
In step S205, the command
以上のステップ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
次に、図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
ステップ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
ステップS303では、コマンド実行制御部261はWriteコマンドを書き込み先の記憶媒体22又は冗長データ記憶媒体23に発行して処理を終了する。
In step S303, the command
ステップS304では、コマンド実行制御部261がアクセス要求処理部21から受理した書き込みデータを格納するための利用可能な領域が不揮発キャッシュ24に存在するか問い合わせる。
In step S304, the command
ステップS305では、問い合わせの結果不揮発キャッシュ24上に空き領域が存在しなかった場合にはステップS306に遷移する。一方、空き領域が存在した場合にはステップS307に遷移する。
In step S305, when there is no free area on the
ステップS306では、コマンド実行制御部261がアクセス要求処理部21から受理した書き込みデータを不揮発キャッシュ24に書き込むために利用可能な領域が確保されるまで、Writeコマンドの処理を待機させる。また、空き容量が不足していることをデータ更新制御部263に通知する。待機終了後はステップS305の判定から処理を再開する。
In step S306, the command
ステップS307では、コマンド実行制御部261が不揮発キャッシュ24にWriteコマンドを発行し、書き込みデータを書き込んで処理を終了する。
In step S307, the command
以上のステップ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
次に、図12を参照してデータ更新制御部263が不揮発キャッシュ24の容量不足を解消する手順を説明する。データ更新制御部263では、不揮発キャッシュ24に保持された読み込みデータを破棄、又は書き込みデータを記憶媒体22若しくは冗長データ記憶媒体23に書き込むことで、不揮発キャッシュ24の容量不足を解消する。
Next, a procedure for the data
ステップS401において、データ更新制御部263が、不揮発キャッシュ管理テーブルのdirtyフラグが0、つまり更新の反映が不要なデータから任意の1個を選択して消去する。
In step S401, the data
ステップ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
ステップS404では、データ更新制御部263が不揮発キャッシュ管理テーブルのdirtyフラグが1、つまり更新を記憶媒体22又は冗長データ記憶媒体23に反映する必要があるデータから任意の1つを選択してコマンド実行制御部261に更新反映の実行を指示する。
In step S404, the data
ステップS405では、コマンド実行制御部261は、記憶媒体電源制御部25を通じてステップS404で選択したデータの格納先である記憶媒体22又は冗長データ記憶媒体23の動作状態を取得する。
In step S405, the command
ステップS406では、選択したデータの格納先である記憶媒体22又は冗長データ記憶媒体23が停止中か否か判断する。停止中であれば、ステップS407の処理を実行する。動作中であれば、コマンド実行制御部261はステップS408以降の処理を実行する。
In step S406, it is determined whether the
ステップS407においては、コマンド実行制御部261が記憶媒体電源制御部25を通じて格納先の記憶媒体22又は冗長データ記憶媒体23を動作状態に切り替える。
In step S407, the command
ステップS408では、コマンド実行制御部261が、ステップS404で指示されたWriteコマンドの実行を完了した後、不揮発キャッシュ24に一時的に保持されていたWriteコマンドのデータを消去する。
In step S408, the command
ステップS409では、不揮発キャッシュ24の空き容量が不足しているか否か判断する。不足していると判断した場合には、ステップS404に戻り、不揮発キャッシュ24の容量不足の解消処理を続行する。空き容量は十分であると判断した場合にはステップS410に遷移する。
In step S409, it is determined whether or not the free capacity of the
ステップS410では、コマンド実行制御部261が記憶媒体電源制御部25を通じて記憶媒体22及び冗長データ記憶媒体23からデータの読み込みに必要な冗長性が失われない範囲で、単体又は複数の任意の記憶媒体を停止する。このとき記憶媒体22及び冗長データ記憶媒体23から停止する記憶媒体の選択は、必ずしもステップS401の実行以前に停止していた記憶媒体と同一でなくてもよい。
In step S410, the command
以上のステップS401からS410までの処理を行い、データ更新制御部263が、不揮発キャッシュ24に格納された読み込みデータを破棄、又は書き込みデータを記憶媒体22若しくは冗長データ記憶媒体23に書き込むことで不揮発キャッシュ24の容量不足を解消する処理が完了する。
The processing from the above steps S401 to S410 is performed, and the data
次に、図13を参照して、データ更新制御部263が、不揮発キャッシュ24に記録された書き込みデータを記憶媒体22若しくは冗長データ記憶媒体23に書き込むことで、一定時間の経過、若しくは、ストレージ2の負荷等の条件によって不揮発キャッシュ上に一時的に保持した更新データを反映する手順について説明する。
Next, referring to FIG. 13, the data
ステップS501において、データ更新制御部263が不揮発キャッシュ管理テーブルのdirtyフラグが1、つまり更新を記憶媒体22又は冗長データ記憶媒体23に反映する必要があるデータから任意の1つを選択してコマンド実行制御部261に更新反映を指示する。
In step S501, the data
ステップS502では、コマンド実行制御部261が、記憶媒体電源制御部25を通じてステップS501で選択したデータの格納先である記憶媒体22又は冗長データ記憶媒体23の動作状態を取得する。
In step S502, the command
ステップ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
ステップS505では、コマンド実行制御部261が、ステップS501で指示されたWriteコマンドの実行を完了した後、不揮発キャッシュ24に一時的に保持していたWriteコマンドのデータを消去する。
In step S505, the command
ステップS506では、不揮発キャッシュ24に不揮発キャッシュ管理テーブル上のdirtyフラグがセットされたデータが存在、つまり未更新のデータが存在しているか判断する。存在していれば、ステップS501の処理に戻って不揮発キャッシュ24上の書き込みデータの更新反映処理を続行する。存在していなければ、ステップS507に遷移する。
In step S506, it is determined whether or not there is data in the
ステップS507では、コマンド実行制御部261が記憶媒体電源制御部25を通じて記憶媒体22及び冗長データ記憶媒体23からデータの読み込みに必要な冗長性が失われない範囲で、単体又は複数の任意の記憶媒体を停止する。このとき記憶媒体22及び冗長データ記憶媒体23からの停止する記憶媒体の選択は、必ずしもステップS501の実行以前に停止していた記憶媒体と同一でなくてもよい。
In step S507, the command
以上のステップ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
なお、記憶媒体22及び冗長データ記憶媒体23を各1台で示しているが、これらはストレージ2全体でデータの冗長性が満たされる範囲で2台以上の記憶媒体22及び冗長データ記憶媒体23を有する構成であっても良い。
In addition, although the
上述のような構成で、冗長データを格納する記憶媒体を停止することにより、ストレージ全体の消費電力を低減することができる。また、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
記憶媒体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
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
不揮発キャッシュ24は、初期状態ではデータが格納されていないものとする。また不揮発キャッシュ24は最大でHDD−A及びHDD−Bの300ブロック分のデータを同時に格納可能であるとする。
The
ここでは、図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
最初に、領域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
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
次に、領域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
次に、領域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
次に、領域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
また、領域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
領域Cに対する書き込み処理の時点で、不揮発キャッシュ24の空き容量は存在しないので、不揮発キャッシュ24にHDD−Bの領域Dに対する更新データを格納するためには、不揮発キャッシュ24に空き領域を作る必要がある。この時、領域Dに対する書き込み処理は図11のステップS306で示されたとおり、不揮発キャッシュ24に必要な空き領域が確保されるまでの間、待機させられる。不揮発キャッシュ24上に領域Dの更新データを確保するのに必要な空き領域を確保する処理は図12の処理手順で行われる。
Since there is no free capacity of the
空き領域の確保処理では図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
領域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
次に、領域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
必要な空き領域が不揮発キャッシュ24上に確保された後の領域Dに対する書き込み処理は、領域A、B及びCに対する書き込み処理と同様の手順である。以上のようにして、図15に示した各アクセス処理が完了する。
The writing process for the area D after the necessary free area is secured on the
この間、ストレージ2のHDD−Aは動作状態である一方で、HDD−Bは不揮発キャッシュの更新データの反映をして、不揮発キャッシュの空き容量を確保する処理の間を除いて常に停止状態のまま運用されている。
During this time, the HDD-A of the
なお、不揮発キャッシュ24としてSSDの使用が想定できる。このSSDは、記憶媒体22、及び冗長データ記憶媒体23で使用しているHDDより消費電力が小さい。そのため、HDD−Bを原則、停止状態で運用することで、ストレージ2の消費電力の削減が実現できる。
Note that the use of an SSD as the
また、領域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
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。 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,
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又は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.
前記記憶媒体よりも高速にアクセス可能な不揮発性記憶媒体と、
を備えるストレージ装置の制御方法であって、
前記複数の記憶媒体のうち停止中の記憶媒体へのデータ書き込み要求に対しては、前記冗長データを前記不揮発性記憶媒体に記録する工程と、
データ読み込み要求時、前記読み込み要求を受けたデータに対応する冗長データの有無を前記不揮発性記憶媒体に問い合わせる工程と、
前記冗長データが記録されていれば、前記不揮発性記憶媒体から前記冗長データを読み出す工程と、
を含むことを特徴とするストレージ装置の制御方法。 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.
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)
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 |
-
2010
- 2010-06-30 JP JP2010148589A patent/JP2012014313A/en not_active Withdrawn
Cited By (2)
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 & 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 |