JP2021082199A - Storage control device, method for controlling the same, and program - Google Patents
Storage control device, method for controlling the same, and program Download PDFInfo
- Publication number
- JP2021082199A JP2021082199A JP2019211562A JP2019211562A JP2021082199A JP 2021082199 A JP2021082199 A JP 2021082199A JP 2019211562 A JP2019211562 A JP 2019211562A JP 2019211562 A JP2019211562 A JP 2019211562A JP 2021082199 A JP2021082199 A JP 2021082199A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- bridge
- write
- rebuild
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】リビルド処理を実行している最中に受信した書き込み要求に従った書き込み処理のパフォーマンスを維持することができるストレージ制御装置を提供する。
【解決手段】ブリッジIC105は、ブリッジIC105に接続されたストレージ111及びストレージ115の一方に格納された1つ以上のデータを他方に複製するリビルド処理を行う。ブリッジIC105は、リビルド処理を実行している最中に受信した書き込みコマンドを、キャッシュメモリへのデータの保持を伴わないコマンドに変換する。
【選択図】図5PROBLEM TO BE SOLVED: To provide a storage control device capable of maintaining the performance of a write process according to a write request received during execution of a rebuild process.
A bridge IC 105 performs a rebuild process of replicating one or more data stored in one of a storage 111 and a storage 115 connected to the bridge IC 105 to the other. The bridge IC 105 converts the write command received during the execution of the rebuild process into a command that does not retain data in the cache memory.
[Selection diagram] Fig. 5
Description
本発明は、ストレージ制御装置、その制御方法、及びプログラムに関する。 The present invention relates to a storage control device, a control method thereof, and a program.
複数のストレージを備える画像形成装置が知られている。画像形成装置は、耐障害性を高めるために、例えば、画像形成装置のストレージ制御装置に接続された2つのストレージに同一のデータを格納するミラーリング(RAID1)を行う。ミラーリングにおいて2つのストレージの間でデータの同一性が崩れると、ストレージ制御装置は、正常動作しているストレージに格納された1つ以上のデータをもう一方のストレージに複製するリビルド処理を行う(例えば、特許文献1参照)。リビルド処理では、複製元のストレージから読み出されたデータは、まず複製先のストレージにおける揮発性のキャッシュメモリに一時的に保持され、その後、任意のタイミングで複製先のストレージにおける不揮発性の記録媒体に書き込まれる。一方、ストレージ制御装置は、リビルド処理を実行している最中にリビルド処理に関連しない書き込み要求(以下、「リビルド無関連書き込み要求」という。)を受け付けることができる。このとき、複製先のストレージでは、リビルド無関連書き込み要求に対応するデータは、複製元のストレージから読み出されたデータと共にキャッシュメモリに保持される。 An image forming apparatus having a plurality of storages is known. The image forming apparatus performs mirroring (RAID1) for storing the same data in two storages connected to the storage control device of the image forming apparatus in order to improve the fault tolerance. When data identity is broken between two storages in mirroring, the storage controller performs a rebuild process that replicates one or more data stored in the normally operating storage to the other storage (eg,). , Patent Document 1). In the rebuild process, the data read from the copy source storage is first temporarily held in the volatile cache memory in the copy destination storage, and then at an arbitrary timing, the non-volatile recording medium in the copy destination storage. Written in. On the other hand, the storage control device can accept a write request not related to the rebuild process (hereinafter, referred to as “rebuild-unrelated write request”) while the rebuild process is being executed. At this time, in the storage of the duplication destination, the data corresponding to the write request unrelated to rebuild is held in the cache memory together with the data read from the storage of the duplication source.
ストレージ制御装置は、ストレージに対し、リビルド無関連書き込み要求に対応する書き込みコマンドを送信した後、キャッシュフラッシュコマンドを送信することで、キャッシュメモリに保持されたリビルド無関連書き込み要求に対応するデータを記録媒体へ書き込む指示を行う。ストレージは、受信したキャッシュフラッシュコマンドに従ってキャッシュメモリに保持された全てのデータを記録媒体に書き込む。ストレージ制御装置は、キャッシュフラッシュが完了したことを確認すると、次の書き込み処理の実行をストレージに指示する。 The storage controller sends a write command corresponding to the rebuild unrelated write request to the storage, and then sends a cache flush command to record the data corresponding to the rebuild unrelated write request held in the cache memory. Instruct to write to the medium. The storage writes all the data held in the cache memory to the recording medium according to the received cache flush command. When the storage control device confirms that the cache flush is completed, it instructs the storage to execute the next write process.
しかしながら、リビルド処理を実行している最中に受け付けたリビルド無関連書き込み要求に従った書き込み処理を実行した場合、複製先のストレージでは、リビルド無関連書き込み要求に対応するデータの他に、リビルド処理に関するデータがキャッシュメモリに保持される。このような場合、ストレージ制御装置は、リビルド無関連書き込み要求に対応するデータだけでなく、キャッシュメモリに保持された全てのデータの記録媒体への書き込みを完了しないと、次の書き込み処理の実行を指示できない。すなわち、従来では、リビルド処理を実行している最中に受け付けたリビルド無関連書き込み要求に従った書き込み処理のパフォーマンスが低下してしまう。 However, if the write process is executed according to the rebuild unrelated write request received while the rebuild process is being executed, in the copy destination storage, in addition to the data corresponding to the rebuild unrelated write request, the rebuild process is performed. Data is held in the cache memory. In such a case, the storage control device executes the next write process unless it completes writing not only the data corresponding to the rebuild unrelated write request but also all the data held in the cache memory to the recording medium. I can't tell. That is, conventionally, the performance of the write process according to the rebuild unrelated write request received during the execution of the rebuild process is deteriorated.
本発明の目的は、リビルド処理を実行している最中に受信した書き込み要求に従った書き込み処理のパフォーマンスを維持することができるストレージ制御装置、その制御方法、及びプログラムを提供することにある。 An object of the present invention is to provide a storage control device, a control method thereof, and a program capable of maintaining the performance of write processing according to a write request received while executing rebuild processing.
上記目的を達成するために、本発明のストレージ制御装置は、保持手段及び不揮発性の記録媒体を備える複数のストレージへデータを格納する制御を行うストレージ制御装置であって、前記複数のストレージにおける一のストレージに格納されたデータを他のストレージに複製するリビルド処理の実行を制御する制御手段と、前記保持手段に保持されたデータを前記記録媒体に書き込ませる指示を含む書き込みコマンドを受信する受信手段と、前記リビルド処理を実行している最中に受信した書き込みコマンドを前記保持手段への前記データの保持を伴わない書き込みコマンドに変換する変換手段と、前記変換された書き込みコマンドを前記複数のストレージへ送信する送信手段とを備えることを特徴とする。 In order to achieve the above object, the storage control device of the present invention is a storage control device that controls storage of data in a plurality of storages including holding means and a non-volatile recording medium, and is one of the plurality of storages. A control means for controlling the execution of a rebuild process for replicating the data stored in the storage to another storage, and a receiving means for receiving a write command including an instruction to write the data held in the holding means to the recording medium. A conversion means for converting a write command received during execution of the rebuild process into a write command without holding the data in the holding means, and a plurality of storages for the converted write command. It is characterized by including a transmission means for transmitting to.
本発明によれば、リビルド処理を実行している最中に受信した書き込み要求に従った書き込み処理のパフォーマンスを維持することができる。 According to the present invention, it is possible to maintain the performance of the write process according to the write request received during the execution of the rebuild process.
以下、本発明の実施の形態について図面を参照しながら詳述する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施の形態に係るストレージ制御装置としてのブリッジIC105を含む画像形成装置100の構成を概略的に示すブロック図である。図1において、画像形成装置100は、コントローラ101、リーダ部119、及びプリンタ部120を備える。コントローラ101は、リーダ部119及びプリンタ部120と接続されている。また、コントローラ101は、ホストCPU102、ホストROM103、ホストRAM104、ブリッジIC105、ストレージ111、及びストレージ115を備える。
FIG. 1 is a block diagram schematically showing a configuration of an
ホストCPU102は、コントローラ101全体を制御する中央演算装置である。ホストCPU102は、メモリバス(不図示)を介してホストROM103及びホストRAM104と接続されている。また、ホストCPU102は、SATA通信ライン(不図示)を介してブリッジIC105と接続されている。ホストROM103は、不揮発性の記憶デバイスであり、設定データやプログラム等を格納する。ホストROM103は、例えば、ホストCPU102を稼働させるためのファームウェアモジュールを格納する。ホストROM103に格納されたデータは、一時記憶領域としてのホストRAM104に展開される。
The
ブリッジIC105は、ブリッジCPU106、ブリッジROM107、ブリッジRAM108、及びブリッジバッファ110を備える。ブリッジIC105のコネクタDにはホストCPU102が接続され、ブリッジIC105のコネクタH1にはストレージ111が接続され、ブリッジIC105のコネクタH2にはストレージ115が接続されている。なお、本実施の形態では、一例として、ストレージを接続するためのコネクタを2つ備える構成について説明するが、この構成に限られず、当該コネクタを3つ以上備える構成であっても良い。
The bridge IC 105 includes a
ブリッジIC105は、ホストCPU102から受信した読み出しコマンドに従って、接続されたストレージ111又はストレージ115からデータを読み出す制御を行う。また、ブリッジIC105は、ホストCPU102から受信した書き込みコマンドに従って、ストレージ111又はストレージ115へデータを書き込む制御を行う。ブリッジIC105は、接続された複数のストレージへ同一のデータを格納する制御を行うミラーリング制御機能を備える。ブリッジCPU106は、ブリッジIC105全体を制御する中央演算装置である。ブリッジCPU106は、コントローラ101における他のデバイスと独立して稼働可能である。ブリッジCPU106は、内部バス(不図示)を介してブリッジROM107及びブリッジRAM108と接続されている。ブリッジROM107は、不揮発性の記憶デバイスである。ブリッジROM107に格納されたデータは、一時記憶領域としてのブリッジRAM108に展開される。ブリッジROM107は、例えば、ブリッジCPU106を稼働させるためのファームウェアモジュールや、リビルドテーブル109を格納する。
The
リビルドテーブル109は、ブリッジIC105に接続されたストレージ111及びストレージ115の一方に格納された1つ以上のデータを他方に複製するリビルド処理の実施状況を管理するためのデータである。リビルドテーブル109には、リビルド処理において複製元のストレージの各セクタに対する実施状況設定値が設定される。ここで、複製元のストレージをマスターストレージと呼び、複製先のストレージをスレーブストレージと呼ぶ。例えば、リビルドテーブル109では、データの複製を完了しているセクタを示すLBAに対し、データの複製を完了していることを示す「1」が実施状況設定値として設定される。また、データの複製を完了していないセクタを示すLBAに対し、データの複製を完了していないことを示す「0」が実施状況設定値として設定される。LBAは、マスターストレージにおける最初のセクタを基準に何番目のセクタであるかを示す値である。例えば、リビルドテーブル109において最大LBAに対応する実施状況設定値が「1」である場合、マスターストレージに格納された全てのデータがスレーブストレージに複製された、つまり、リビルド処理が完了したこととなる。以下では、LBAの値を「a」として、実施状況設定値をTABLE(a)と表す。ブリッジバッファ110は、ブリッジCPU106がホストCPU102、ストレージ111、及びストレージ115とデータを送受信する際に、そのデータを一時的に保持するために用いられる。
The rebuild table 109 is data for managing the execution status of the rebuild process for replicating one or more data stored in one of the
ストレージ111は、不揮発性の記憶デバイスであり、CPUA112、キャッシュメモリA113、記録媒体A114を備える。CPUA112は、ストレージ111全体を制御する演算装置であり、不揮発性の記憶装置(不図示)に格納された独自のファームウェアによって稼働する。キャッシュメモリA113は、揮発性のメモリである。キャッシュメモリA113は、CPUA112が記録媒体A114にデータを書き込む際、又はCPUA112が記録媒体A114からデータを読み出す際に、これらの処理を効率的に行うために用いられる一時記憶領域である。記録媒体A114は、不揮発性の記録媒体である。ストレージ111では、例えば、ブリッジIC105から受信したデータが、キャッシュメモリA113に保持され、保持されたデータが所定のタイミングで記録媒体A114に書き込まれる。これにより、ストレージ111への電力の供給が停止されても、ブリッジIC105から受信したデータを保持することができる。
The
ストレージ115は、ストレージ111と同様の機能及び構成であり、CPUB116、キャッシュメモリB117、及び記録媒体B118を備える。CPUB116は、CPUA112と同様の機能及び構成である。キャッシュメモリB117は、キャッシュメモリA113と同様の機能及び構成である。記録媒体B118は、記録媒体A114と同様の機能及び構成である。ストレージ115でも、ストレージ111と同様に、例えば、ブリッジIC105から受信したデータが、キャッシュメモリB117に保持され、保持されたデータが所定のタイミングで記録媒体B118に書き込まれる。
The
リーダ部119は、コントローラ101からの指示に従って、配置された原稿を読み取り、読み取った原稿の画像データを生成し、当該画像データをコントローラ101へ送信する。プリンタ部120は、コントローラ101からの指示に従って、画像データを用紙に印刷する。
The
図2は、図1のブリッジIC105の状態遷移図である。ブリッジIC105は、2つの動作モード、具体的に、シングルモード及びミラーリングモードを有する。
FIG. 2 is a state transition diagram of the
シングルモードは、ストレージ111及びストレージ115の何れか一方のみが動作する動作モードである。ミラーリングモードは、例えば、ストレージ111及びストレージ115のようにブリッジIC105が2つのストレージと接続された状態で動作する動作モードである。ミラーリングモードには、ミラーステート、デグレードステート、リビルドステート、ホールトステートの4つの状態が存在する。
The single mode is an operation mode in which only one of the
ミラーステートは、2つのストレージが正常に動作している状態である。ミラーステートでは、ブリッジIC105は、データを読み出す際に、2つのストレージのうちマスターストレージとして設定されたストレージにアクセスする。一方、ブリッジIC105は、データを書き込む際に、2つのストレージの両方に対してアクセスし、2つのストレージに同一のデータを書き込ませる。ミラーステートにおいて2つのストレージの一方が故障すると、ブリッジIC105はデグレードステートへ遷移する。また、ブリッジIC105は、ブリッジCPU106による命令に従って、ミラーステートからリビルドステートへ遷移する。
The mirror state is a state in which the two storages are operating normally. In the mirror state, when reading data, the
デグレードステートは、2つのストレージのうち故障していないストレージが動作している状態である。デグレードステートでは、ブリッジIC105は、故障しているストレージに対してアクセスしない。なお、本実施の形態の画像形成装置100は、所定の条件を満たした際にリビルド処理を実行する自動リビルド機能を備える。自動リビルド機能がONに設定されている場合、デグレードステートに遷移したブリッジIC105に、故障しているストレージの代わりとなる新たなストレージが接続されると、ブリッジIC105は、リビルドステートへ遷移する。一方、自動リビルド機能がOFFに設定されている場合、デグレードステートに遷移したブリッジIC105に故障しているストレージの代わりとなる新たなストレージが接続されても、ブリッジIC105は、リビルドステートへ遷移しない。この場合、ブリッジIC105は、ブリッジCPU106による命令に従って、デグレードステートからリビルドステートへ遷移する。デグレードステートにおいて、故障していないストレージも故障すると、ブリッジIC105は、ホールトステートへ遷移する。
The degraded state is a state in which the non-failed storage of the two storages is operating. In the degraded state, the
リビルドステートは、2つのストレージのうち故障していないストレージが動作している状態である。リビルドステートでは、ブリッジIC105は、リビルド処理を実行し、故障していないストレージから、故障しているストレージの代わりとして接続された新たなストレージへデータを複製する。リビルドステートにおいて、複製先のストレージであるスレーブストレージが故障すると、ブリッジIC105は、デグレードステートへ遷移する。また、リビルドステートにおいて、マスターストレージが故障すると、ブリッジIC105は、ホールトステートへ遷移する。リビルド処理を完了すると、ブリッジIC105は、リビルドステートからミラーステートへ遷移する。ホールトステートは、2つのストレージの両方が故障したため、ミラーリングを継続できない状態である。
The rebuild state is a state in which the non-failed storage of the two storages is operating. In the rebuild state, the
なお、本実施の形態の画像形成装置100は、ミラーリングモードに移行した際にリビルド処理を実行する初期リビルド機能を備える。初期リビルド機能がONに設定された状態でシングルモードからミラーリングモードへの移行をユーザから指示された場合、ブリッジIC105は、リビルドステートへ遷移して、リビルド処理を実行する。一方、初期リビルド機能がOFFに設定された状態でシングルモードからミラーリングモードへの移行をユーザから指示された場合、ブリッジIC105は、ミラーステートへ遷移する。本実施の形態では、ミラーリングモードにおいて上述した何れの状態であっても、ユーザからシングルモードへの移行指示を受け付けると、ブリッジIC105は、シングルモードへ移行する。
The
図3は、図1のブリッジIC105によって実行されるリビルド制御処理の手順を示すフローチャートである。図3の処理は、ブリッジCPU106がブリッジROM107に格納されたプログラムを実行することによって実現される。図3の処理は、ブリッジIC105がリビルドステートに遷移した際に実行される。図3の処理では、一例として、ストレージ111及びストレージ115の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。
FIG. 3 is a flowchart showing the procedure of the rebuild control process executed by the
図3において、ブリッジCPU106は、リビルド制御処理の実行対象となる記憶領域を特定するために、identify−deviceコマンド等を用いて、ストレージ111及びストレージ115の各々における最小LBA及び最大LBAを取得する。次いで、ブリッジCPU106は、取得した最小LBAを変数aに代入し(ステップS301)、最大LBAを変数eに代入する(ステップS302)。次いで、ブリッジCPU106は、リビルドテーブル109から最小LBAの実施状況設定値であるTABLE(a)を読み出し(ステップS303)、TABLE(a)が「0」であるか否かを判別する(ステップS304)。
In FIG. 3, the
ステップS304の判別の結果、TABLE(a)が「1」であるとき、マスターストレージにおける最小LBAが示すセクタに格納されたデータをスレーブストレージへ複製する処理が完了している。このとき、ブリッジCPU106は、後述するステップS308の処理を行う。ステップS304の判別の結果、TABLE(a)が「0」であるとき、最小LBAのデータの複製が完了していない。このとき、ブリッジCPU106は、マスターストレージに対し、LBA(a)が示すセクタに格納されたデータの読み出しを指示し、読み出したデータをブリッジバッファ110に保存する(ステップS305)。次いで、ブリッジCPU106は、ブリッジバッファ110に保存したデータを読み出し、スレーブストレージに対し、読み出したデータをスレーブストレージのLBA(a)が示すセクタに書き込む指示を行う(ステップS306)。スレーブストレージのLBA(a)が示すセクタへの書き込みを完了すると、ブリッジCPU106は、その旨を示す「1」をリビルドテーブル109のTABLE(a)に代入する(ステップS307)。次いで、ブリッジCPU106は、次のLBAを処理するために変数aに「1」を加算する(ステップS308)。次いで、ブリッジCPU106は、「1」が加算された変数a(以下、「加算済みの変数a」という。)が変数eであるか、つまり、最大LBAに達しているか否かを判別する(ステップS309)。
As a result of the determination in step S304, when TABLE (a) is "1", the process of replicating the data stored in the sector indicated by the minimum LBA in the master storage to the slave storage is completed. At this time, the
ステップS309の判別の結果、加算済みの変数aが変数eに達していないとき、一部のLBAのデータの複製を完了していない、つまり、リビルド処理を完了していないので、ブリッジCPU106は、ステップS303の処理に戻る。ステップS309の判別の結果、加算済みの変数aが変数eに達しているとき、全てのLBAのデータの複製を完了している、つまり、リビルド処理を完了しているので、ブリッジCPU106は、本処理を終了する。
As a result of the determination in step S309, when the added variable a has not reached the variable e, the duplication of some LBA data has not been completed, that is, the rebuild process has not been completed, so that the
次に、リビルドステートのブリッジIC105がホストCPU102から読み出しコマンド又は書き込みコマンドを受信した際の処理について説明する。
Next, processing when the
図4は、従来のアクセス制御処理の手順を示すフローチャートである。図4の処理は、ブリッジCPU106がブリッジROM107に格納されたプログラムを実行することによって実現される。図4の処理は、ブリッジIC105がリビルドステートに遷移した際に実行される。リビルドステートでは、リビルド処理が実行され、例えば、マスターストレージから順次読み出されたデータが、スレーブストレージのキャッシュメモリに書き込まれて保持される。図4の処理でも、図3の処理と同様に、一例として、ストレージ111及びストレージ115の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。
FIG. 4 is a flowchart showing a conventional access control processing procedure. The process of FIG. 4 is realized by the
図4において、ブリッジCPU106は、ホストCPU102からコマンドを受信すると(ステップS401でYES)、受信したコマンドが読み出しコマンド及び書き込みコマンドの何れであるかを判別する(ステップS402)。
In FIG. 4, when the
ステップS402の判別の結果、受信したコマンドが読み出しコマンドであるとき、ブリッジCPU106は、受信したコマンドをマスターストレージに転送する(ステップS403)。マスターストレージは、実行しているリビルド処理におけるデータの複製に関する処理を中断し、受信したコマンドに従った読み出し処理を行う。マスターストレージは、受信したコマンドに対応するデータをブリッジCPU106へ出力する。ブリッジCPU106は、マスターストレージから受信したデータをホストCPU102に転送し(ステップS404)、後述するステップS406の処理を行う。
As a result of the determination in step S402, when the received command is a read command, the
ステップS402の判別の結果、受信したコマンドが書き込みコマンドであるとき、ブリッジCPU106は、書き込み対象となるデータ及び受信したコマンドをマスターストレージ及びスレーブストレージに転送する(ステップS405)。マスターストレージ及びスレーブストレージは、実行しているリビルド処理におけるデータの複製に関する処理を中断し、受信したコマンドに従った書き込み処理を行う。例えば、受信したコマンドがキャッシュフラッシュコマンドである場合、各ストレージは、書き込み対象データをキャッシュメモリに保持した後、受信したキャッシュフラッシュコマンドに従って、キャッシュメモリに保持された全てのデータを記録媒体に書き込む。書き込み処理を完了すると、各ストレージは、その旨を示す通知をブリッジCPU106に送信する。ブリッジCPU106は、この通知を受信すると、受信したコマンドに従った処理の完了をホストCPU102に通知し(ステップS406)、中断していた上記データの複製に関する処理を再開し、ステップS401の処理に戻る。
As a result of the determination in step S402, when the received command is a write command, the
上述したように、リビルドステートでは、リビルド処理が実行され、マスターストレージから順次読み出されたデータが、スレーブストレージのキャッシュメモリに書き込まれて保持される。リビルドステート中に受信した書き込みコマンドに従った書き込み処理を実行した場合、スレーブストレージでは、書き込み対象データの他に、リビルド処理に関するデータがキャッシュメモリに保持されている。このような場合、ブリッジIC105は、書き込み対象データだけでなく、スレーブストレージのキャッシュメモリに保持された全てのデータの記録媒体への書き込みを完了しないと、次の書き込み処理の実行を指示できない。すなわち、リビルドステート中に受信した書き込みコマンドに従った書き込み処理のパフォーマンスが低下してしまう。
As described above, in the rebuild state, the rebuild process is executed, and the data sequentially read from the master storage is written and held in the cache memory of the slave storage. When the write process is executed according to the write command received during the rebuild state, the slave storage holds the data related to the rebuild process in the cache memory in addition to the data to be written. In such a case, the
これに対し、本実施の形態では、リビルド処理を実行している最中に受信した書き込みコマンドが、キャッシュメモリへのデータの保持を伴わないコマンドに変換される。 On the other hand, in the present embodiment, the write command received during the execution of the rebuild process is converted into a command that does not retain the data in the cache memory.
図5は、本実施の形態におけるアクセス制御処理の手順を示すフローチャートである。図5の処理も、ブリッジCPU106がブリッジROM107に格納されたプログラムを実行することによって実現される。図5の処理も、ブリッジIC105がリビルドステートに遷移した際に実行される。図5の処理でも、図3の処理と同様に、一例として、ストレージ111及びストレージ115の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。
FIG. 5 is a flowchart showing the procedure of access control processing in the present embodiment. The process of FIG. 5 is also realized by the
図5において、ブリッジCPU106は、ステップS401、S402の処理を行う。ステップS402の判別の結果、受信したコマンドが読み出しコマンドであるとき、ブリッジCPU106は、ステップS403以降の処理を行う。ステップS402の判別の結果、受信したコマンドが書き込みコマンドであるとき、ブリッジCPU106は、受信したコマンド、書き込み対象データ、及び書き込み対象データを格納するセクタを示すLBAをブリッジバッファ110に一時的に保存する(ステップS501)。次いで、ブリッジCPU106は、公知であるSATAの仕様からキャッシュメモリへのデータの保持を伴わない書き込みコマンドを選択する(ステップS502)。例えば、ステップS401にて受信したコマンドが、Write_DMAである場合、Write_DMA_FUAを選択する。Write_DMA_FUAは、キャッシュメモリへデータを保持することなく、記録媒体に直接書き込む指示を行うコマンドである。次いで、ブリッジCPU106は、ブリッジバッファ110に保存していたコマンドを、ステップS502にて選択したコマンドに変換する(ステップS503)。ステップS503では、コマンドのみが変換され、書き込み対象データや、書き込み対象データを格納するセクタを示すLBAは、変換されずにステップS401にて受信した内容で維持される。次いで、ブリッジCPU106は、ステップS503にて変換されたコマンドをマスターストレージ及びスレーブストレージに転送する(ステップS504)。各ストレージは、実行しているリビルド処理におけるデータの複製に関する処理を中断し、受信したコマンドに従った書き込み処理を行う。例えば、各ストレージは、受信したWrite_DMA_FUAに従って、書き込み対象データをキャッシュメモリに保持することなく、記録媒体に直接書き込む。書き込み処理を完了すると、各ストレージは、その旨を示す通知をブリッジCPU106に送信する。次いで、ブリッジCPU106は、ステップS406の処理を行う。
In FIG. 5, the
上述した実施の形態によれば、リビルド処理を実行している最中に受信した書き込みコマンドが、キャッシュメモリへのデータの保持を伴わないコマンドに変換される。これにより、リビルド処理を実行している最中に受信した書き込みコマンドに従った書き込み処理を実行した際に、キャッシュメモリに保持された全てのデータが記録媒体に書き込まれるのを待つことなく、次の書き込み処理の実行を指示することができる。その結果、リビルド処理を実行している最中に受信した書き込みコマンドに従った書き込み処理のパフォーマンスを維持することができる。 According to the above-described embodiment, the write command received during the execution of the rebuild process is converted into a command that does not retain data in the cache memory. As a result, when the write process according to the write command received during the rebuild process is executed, the next step is performed without waiting for all the data held in the cache memory to be written to the recording medium. It is possible to instruct the execution of the writing process of. As a result, the performance of the write process according to the write command received during the rebuild process can be maintained.
また、上述した実施の形態では、ブリッジIC105は、接続された2つのストレージに同一のデータを格納する制御を行うミラーリング制御機能を備える。これにより、リビルド処理を実行している最中に受信した書き込みコマンドに従ったミラーリングを伴う書き込み処理のパフォーマンスを維持することができる。
Further, in the above-described embodiment, the
さらに、上述した実施の形態では、キャッシュメモリへのデータの保持を伴わない書き込みコマンドは、キャッシュメモリへデータを保持することなく、記録媒体に直接書き込む指示を行うコマンドである。これにより、リビルド処理を実行している最中に受信した書き込みコマンドに従った書き込み処理のパフォーマンスを維持しつつ、ストレージへの電力の供給が停止されてもデータを保持することができる。 Further, in the above-described embodiment, the write command that does not involve holding the data in the cache memory is a command that gives an instruction to write directly to the recording medium without holding the data in the cache memory. As a result, it is possible to maintain the performance of the write process according to the write command received during the rebuild process, and retain the data even if the power supply to the storage is stopped.
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、ブリッジIC105に3つ以上のストレージを接続可能であっても良く、接続された3つ以上のストレージにてミラーリングを行う構成に本発明を適用しても良い。
Although the present invention has been described above with reference to the above-described embodiments, the present invention is not limited to the above-described embodiments. For example, three or more storages may be connected to the
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device read the program. It can also be realized by the processing to be executed. The present invention can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
105 ブリッジIC
106 ブリッジCPU
111、115 ストレージ
113 キャッシュメモリA
114 記録媒体A
117 キャッシュメモリB
118 記録媒体B
105 Bridge IC
106 bridge CPU
111, 115
114 Recording medium A
117 cache memory B
118 Recording medium B
Claims (5)
前記複数のストレージにおける一のストレージに格納されたデータを他のストレージに複製するリビルド処理の実行を制御する制御手段と、
前記保持手段に保持されたデータを前記記録媒体に書き込ませる指示を含む書き込みコマンドを受信する受信手段と、
前記リビルド処理を実行している最中に受信した書き込みコマンドを前記保持手段への前記データの保持を伴わない書き込みコマンドに変換する変換手段と、
前記変換された書き込みコマンドを前記複数のストレージへ送信する送信手段とを備えることを特徴とするストレージ制御装置。 A storage control device that controls storage of data in a plurality of storages including a holding means and a non-volatile recording medium.
A control means for controlling the execution of a rebuild process that replicates the data stored in one storage in the plurality of storages to another storage,
A receiving means for receiving a write command including an instruction to write the data held by the holding means to the recording medium, and a receiving means.
A conversion means for converting a write command received during execution of the rebuild process into a write command that does not involve holding the data in the holding means, and a conversion means.
A storage control device including a transmission means for transmitting the converted write command to the plurality of storages.
前記複数のストレージにおける一のストレージに格納されたデータを他のストレージに複製するリビルド処理の実行を制御する制御ステップと、
前記保持手段に保持されたデータを前記記録媒体に書き込ませる指示を含む書き込みコマンドを受信する受信ステップと、
前記リビルド処理を実行している最中に受信した書き込みコマンドを前記保持手段への前記データの保持を伴わない書き込みコマンドに変換する変換ステップと、
前記変換された書き込みコマンドを前記複数のストレージへ送信する送信ステップとを有することを特徴とするストレージ制御装置の制御方法。 A control method for a storage control device that controls storage of data in a plurality of storages including a holding means and a non-volatile recording medium.
A control step that controls execution of a rebuild process that replicates data stored in one storage in the plurality of storages to another storage, and
A receiving step of receiving a write command including an instruction to write the data held by the holding means to the recording medium, and
A conversion step of converting a write command received while executing the rebuild process into a write command that does not involve holding the data in the holding means, and a conversion step.
A control method of a storage control device, which comprises a transmission step of transmitting the converted write command to the plurality of storages.
前記ストレージ制御装置の制御方法は、
前記複数のストレージにおける一のストレージに格納されたデータを他のストレージに複製するリビルド処理の実行を制御する制御ステップと、
前記保持手段に保持されたデータを前記記録媒体に書き込ませる指示を含む書き込みコマンドを受信する受信ステップと、
前記リビルド処理を実行している最中に受信した書き込みコマンドを前記保持手段への前記データの保持を伴わない書き込みコマンドに変換する変換ステップと、
前記変換された書き込みコマンドを前記複数のストレージへ送信する送信ステップとを有することを特徴とするプログラム。
A program that causes a computer to execute a control method of a storage control device that controls storage of data in a plurality of storages including a holding means and a non-volatile recording medium.
The control method of the storage control device is
A control step that controls execution of a rebuild process that replicates data stored in one storage in the plurality of storages to another storage, and
A receiving step of receiving a write command including an instruction to write the data held by the holding means to the recording medium, and
A conversion step of converting a write command received while executing the rebuild process into a write command that does not involve holding the data in the holding means, and a conversion step.
A program comprising a transmission step of transmitting the converted write command to the plurality of storages.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019211562A JP2021082199A (en) | 2019-11-22 | 2019-11-22 | Storage control device, method for controlling the same, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019211562A JP2021082199A (en) | 2019-11-22 | 2019-11-22 | Storage control device, method for controlling the same, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021082199A true JP2021082199A (en) | 2021-05-27 |
Family
ID=75965736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019211562A Pending JP2021082199A (en) | 2019-11-22 | 2019-11-22 | Storage control device, method for controlling the same, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021082199A (en) |
-
2019
- 2019-11-22 JP JP2019211562A patent/JP2021082199A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7127557B2 (en) | RAID apparatus and logical device expansion method thereof | |
JP5409159B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
KR101410596B1 (en) | Information processing apparatus, computer program, and copy control method | |
US11669268B2 (en) | Information processing apparatus and control method therefor | |
JP5561334B2 (en) | Data transfer device | |
US7093087B2 (en) | Method for controlling storage device controller, storage device controller, and program | |
JP2007310448A (en) | Computer system, management computer, and storage system management method | |
KR101427535B1 (en) | Information processing apparatus, recording medium, and area release control method | |
US7287182B2 (en) | Method and apparatus for copying data of disk drive in disk array system | |
JP2021082199A (en) | Storage control device, method for controlling the same, and program | |
US10649936B2 (en) | Access control apparatus and access control method | |
JP2013117910A (en) | Information processor, control method thereof, and program | |
JP2021082198A (en) | Information processing apparatus, method for controlling the same, and program | |
JP2021089524A (en) | Information processing device, control method of the same, and program | |
JP7214381B2 (en) | IMAGE FORMING APPARATUS, IMAGE FORMING APPARATUS CONTROL METHOD AND PROGRAM | |
JP6924088B2 (en) | Information processing equipment, its control method, and programs | |
JP5987913B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2014007665A (en) | Image processing apparatus, image storage/reproduction method | |
JP2018073005A (en) | Information processing apparatus and control method therefor and program | |
JP2021093075A (en) | Information processing apparatus, method for controlling the same, and program | |
JP2021092846A (en) | Information processing apparatus, method for controlling the same, and program | |
JP2021092845A (en) | Image forming apparatus, method for controlling the same, and program | |
JP2022057869A (en) | Control device and information processing system | |
JP2020149573A (en) | Storage control device, storage system, storage control method, and storage control program | |
JPH0192846A (en) | Peripheral device test method |