JP6376626B2 - Data storage method, data storage device, and storage device - Google Patents

Data storage method, data storage device, and storage device Download PDF

Info

Publication number
JP6376626B2
JP6376626B2 JP2017128838A JP2017128838A JP6376626B2 JP 6376626 B2 JP6376626 B2 JP 6376626B2 JP 2017128838 A JP2017128838 A JP 2017128838A JP 2017128838 A JP2017128838 A JP 2017128838A JP 6376626 B2 JP6376626 B2 JP 6376626B2
Authority
JP
Japan
Prior art keywords
file
controller
operation information
data
cache
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.)
Active
Application number
JP2017128838A
Other languages
Japanese (ja)
Other versions
JP2017208113A (en
Inventor
建▲龍▼ 肖
建▲龍▼ 肖
▲鵬▼ ▲張▼
▲鵬▼ ▲張▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to JP2017128838A priority Critical patent/JP6376626B2/en
Publication of JP2017208113A publication Critical patent/JP2017208113A/en
Application granted granted Critical
Publication of JP6376626B2 publication Critical patent/JP6376626B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、ストレージテクノロジーに関する。より詳しくは、データ格納方法、データストレージ装置、及びストレージデバイスに関する。   The present invention relates to storage technology. More specifically, the present invention relates to a data storage method, a data storage device, and a storage device.

ファイルシステムを備えたストレージデバイスでは、前記ストレージデバイスに書き込まれるデータは、アトミック(atomic)でなければならない。不可分性(atomicity)は、トランザクションの完全な操作を指し、つまり、前記トランザクションに関連するデータは、完全に書き込まれるか、まったく書き込まれないかでなければならない。従来技術において、データ不可分性は、ディスクにおいて保証されている。キャッシュ内のデータは、通常アトミックでない。つまり、ディスクに格納されているデータだけが信頼できるデータとしてみなされ、ホストのために提供することができる。一般に、ストレージデバイスに障害があるならば、データは、キャッシュから復元する必要があり、前記キャッシュのデータが、ディスクに書き込まれる。前記キャッシュのデータが前記ディスクに書き込まれる場合、ログ手段が前記ディスクに書き込まれる前記データがアトミックであることを保証するために使用される。ホストが、前記ストレージデバイスに前記データのアクセスのためのアクセス要求を送信する場合、前記アトミックデータは、まず前記ディスクから取得される必要があり、その後、前記ホストに提供される。これが、前記ホストにより送信される前記アクセス要求の処理時間を長引かせる。   In a storage device having a file system, data written to the storage device must be atomic. Atomicity refers to the complete operation of a transaction, that is, the data associated with the transaction must be written completely or not at all. In the prior art, data inseparability is guaranteed on the disc. Data in the cache is usually not atomic. That is, only the data stored on the disk is considered as reliable data and can be provided for the host. In general, if there is a failure in the storage device, the data needs to be restored from the cache, and the data in the cache is written to disk. When data in the cache is written to the disk, log means are used to ensure that the data written to the disk is atomic. When the host sends an access request for accessing the data to the storage device, the atomic data needs to be first obtained from the disk and then provided to the host. This prolongs the processing time of the access request sent by the host.

本発明の実施形態は、ホストのデータアクセス効率が向上するデータ格納方法、データストレージ装置、及びストレージデバイスを提供する。   Embodiments of the present invention provide a data storage method, a data storage apparatus, and a storage device that improve the data access efficiency of a host.

第1の態様によれば、本発明の実施形態は、ストレージシステムに適用されるデータ格納方法を提供し、前記ストレージシステムは、ストレージデバイスと、ホストとを含み、前記ストレージデバイスは、第1コントローラを含み、前記第1コントローラは、キャッシュ保護領域と、第1ライトキャッシュとを含み、前記キャッシュ保護領域は、データ保護機能を提供し、
前記方法は、
前記第1コントローラにより、ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作に対してファイル処理を別々に実行し、複数のファイル操作情報を生成するステップと、
前記複数のファイル操作情報のすべてを前記キャッシュ保護領域に書き込むステップと、
前記第1コントローラに障害が生じた後、再び電源が入った場合、前記キャッシュ保護領域から前記複数のファイル操作情報を復元するステップと、
前記ホストがデータ情報にアクセスできるように、前記複数のファイル操作情報に従って前記データ情報を取得し、前記データ情報を前記第1ライトキャッシュに書き込むステップと、
を含む。
According to a first aspect, an embodiment of the present invention provides a data storage method applied to a storage system, wherein the storage system includes a storage device and a host, and the storage device is a first controller. The first controller includes a cache protection area and a first write cache, and the cache protection area provides a data protection function;
The method
Receiving a file processing request by the first controller, dividing the file processing request into a plurality of file operations, separately executing the file processing for each file operation, and generating a plurality of file operation information; When,
Writing all of the plurality of file operation information into the cache protection area;
Restoring the plurality of file operation information from the cache protection area when power is turned on again after a failure occurs in the first controller;
Obtaining the data information according to the plurality of file operation information so that the host can access the data information, and writing the data information to the first write cache;
including.

前記第1の態様に関して、第1の可能な実施方法において、前記複数のファイル操作情報のすべてを前記キャッシュ保護領域に書き込む前記ステップは、
それぞれのファイル操作情報のための前記キャッシュ保護領域内の記憶域スペースを要求するステップと、
それぞれのファイル操作情報を前記要求された記憶域スペースに格納するステップと、
前記複数のファイル操作情報のすべてが、対応する記憶域スペースに既に格納されていることを判定するステップと、
前記キャッシュ保護領域に対応するデータ構造において、前記複数のファイル操作情報が格納されている前記記憶域スペースにデータを格納するステップと、
を含む。
With respect to the first aspect, in the first possible implementation method, the step of writing all of the plurality of file operation information into the cache protection area comprises the steps of:
Requesting storage space in the cache protection area for each file operation information;
Storing each file operation information in the requested storage space;
Determining that all of the plurality of file operation information is already stored in a corresponding storage space;
Storing data in the storage space in which the plurality of file operation information is stored in a data structure corresponding to the cache protection area;
including.

前記第1の態様に関して、第2の可能な実施方法において、前記複数のファイル操作情報のすべてを前記キャッシュ保護領域に書き込む前記ステップは、
それぞれのファイル操作情報を前記キャッシュ保護領域に連続的に送信するステップと、
前記複数のファイル操作情報のすべてが、前記キャッシュ保護領域に既に送信されていることを判定するステップと、 前記キャッシュ保護領域において受信した前記複数のファイル操作情報に対応するフラグを設定するステップであって、前記フラグは、前記複数のファイル操作情報のすべてが、前記キャッシュ保護領域に既に書き込まれていることを示すために使用される、ステップと、
を含む。
With respect to the first aspect, in the second possible implementation method, the step of writing all of the plurality of file operation information into the cache protection area includes:
Continuously transmitting each file operation information to the cache protection area;
Determining that all of the plurality of file operation information has already been transmitted to the cache protection area; and setting a flag corresponding to the plurality of file operation information received in the cache protection area. The flag is used to indicate that all of the plurality of file operation information has already been written to the cache protection area; and
including.

前記第1の態様の前記第1の可能な実施方法に関して、第3の可能な実施方法において、前記ストレージデバイスは、メモリを備え、前記メモリは、保護領域を具備し、
前記方法は、
前記第1コントローラに障害がある場合、前記キャッシュ保護領域に対応する前記データ構造に従って、前記キャッシュ保護領域が、前記複数のファイル操作情報を具備していると判定するステップと、
電源障害保護プログラムを使用することにより、前記複数のファイル操作情報を前記メモリの前記保護領域に格納するステップと、
をさらに具備する。
Regarding the first possible implementation manner of the first aspect, in a third possible implementation manner, the storage device comprises a memory, the memory comprises a protection area,
The method
Determining that the cache protection area comprises the plurality of file operation information according to the data structure corresponding to the cache protection area when there is a failure in the first controller;
Storing the plurality of file operation information in the protection area of the memory by using a power failure protection program;
Is further provided.

前記第1の態様の前記第2の可能な実施方法に関して、第4の可能な実施方法において、前記ストレージデバイスは、メモリを備え、前記メモリは、保護領域を具備し、
前記方法は、
前記第1コントローラに障害がある場合、前記フラグに従って、前記キャッシュ保護領域が、前記複数のファイル操作情報を具備していることを判定するステップと、
電源障害保護プログラムを使用することにより、前記複数のファイル操作情報を前記メモリの前記保護領域に格納するステップと、
をさらに具備する。
Regarding the second possible implementation manner of the first aspect, in a fourth possible implementation manner, the storage device comprises a memory, the memory comprises a protection area,
The method
If the first controller is faulty, determining according to the flag that the cache protection area comprises the plurality of file operation information;
Storing the plurality of file operation information in the protection area of the memory by using a power failure protection program;
Is further provided.

前記第1の態様に関して、第5の可能な実施方法において、前記ストレージデバイスは、第2コントローラを備えており、前記第2コントローラは、第2ライトキャッシュを具備し、
前記方法は、
前記第2コントローラが、前記複数のファイル操作情報に従って、前記ファイル処理要求に対応するデータ情報を取得し、前記データ情報を前記第2ライトキャッシュに書き込めるように、前記第1コントローラにより、前記複数のファイル操作情報を、前記第2コントローラに送信するステップをさらに具備する
Regarding the first aspect, in a fifth possible implementation manner, the storage device comprises a second controller, the second controller comprises a second write cache,
The method
In accordance with the plurality of file operation information, the second controller obtains data information corresponding to the file processing request and writes the data information to the second write cache by the first controller. The method further includes the step of transmitting file operation information to the second controller.

第2の態様によると、本発明の実施形態は、ストレージシステムに適用されるデータ格納方法を提供し、前記ストレージシステムは、ストレージデバイスと、ホストとを具備し、前記ストレージデバイスは、第1コントローラと、第2コントローラと、メモリとを備え、前記第2コントローラは、ライトキャッシュを具備し、前記方法は、
前記第1コントローラにより、ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作に対してファイル処理を別々に実行し、複数のファイル操作情報を生成し、前記複数のファイル操作情報を前記第2コントローラに送信するステップと、
前記第1コントローラに障害がある場合、前記ホストがデータ情報にアクセス、又は、前記メモリのための前記ファイル処理要求に対応する操作を実行することができるように、前記第2コントローラにより、前記ファイル操作情報に従って前記データ情報を取得し、前記データ情報を前記ライトキャッシュに書き込むステップと、
を具備する。
According to a second aspect, an embodiment of the present invention provides a data storage method applied to a storage system, the storage system comprising a storage device and a host, wherein the storage device is a first controller. And a second controller and a memory, the second controller comprises a write cache, and the method comprises:
The first controller receives a file processing request, divides the file processing request into a plurality of file operations, executes file processing separately for each file operation, and generates a plurality of file operation information, Transmitting the plurality of file operation information to the second controller;
If there is a failure in the first controller, the file can be accessed by the second controller so that the host can access data information or perform an operation corresponding to the file processing request for the memory. Obtaining the data information according to operation information and writing the data information to the write cache;
It comprises.

前記第2の態様に関して、第1の可能な実施方法において、前記複数のファイル操作情報を前記第2コントローラに送信する前記ステップは、 前記第1コントローラにより、第1ミラーメッセージを前記第2コントローラに送信するステップを具備し、
前記第1ミラーメッセージは、前記複数のファイル操作情報を具備する。
With respect to the second aspect, in the first possible implementation method, the step of transmitting the plurality of file operation information to the second controller comprises: sending a first mirror message to the second controller by the first controller; Comprising the step of transmitting,
The first mirror message includes the plurality of file operation information.

前記第2の態様に関して、第2の可能な実施方法において、前記複数のファイル操作情報を前記第2コントローラに送信する前記ステップは、
前記第1コントローラにより、複数の第2ミラーメッセージを前記第2コントローラに送信するステップを具備し、
前記第2ミラーメッセージのそれぞれは、前記複数のファイル操作情報の1つを具備する。
With respect to the second aspect, in the second possible implementation method, the step of transmitting the plurality of file operation information to the second controller comprises:
Sending a plurality of second mirror messages to the second controller by the first controller;
Each of the second mirror messages includes one of the plurality of file operation information.

前記第2の態様に関して、第3の可能な実施方法において、前記第2コントローラは、キャッシュ保護領域を具備しており、前記キャッシュ保護領域は、データ保護機能を提供し、
前記第2コントローラにより、前記ファイル操作情報に従ってデータ情報を取得し、前記データ情報を前記ライトキャッシュに書き込む前記ステップの前に、前記方法は、
前記第2コントローラにより、すべての前記ファイル操作情報を前記キャッシュ保護領域に書き込むステップをさらに具備する。
Regarding the second aspect, in a third possible implementation method, the second controller comprises a cache protection area, the cache protection area providing a data protection function,
Before the step of obtaining data information according to the file operation information by the second controller and writing the data information to the write cache, the method comprises:
The method further includes writing all the file operation information in the cache protection area by the second controller.

前記第2の態様の前記第3の可能な実施方法に関して、第4の可能な実施方法において、前記方法は、前記第2コントローラに障害があり、再び電源が入った場合、前記キャッシュ保護領域から、前記複数のファイル操作情報を復元するステップをさらに具備し、
前記第2コントローラにより、前記ファイル操作情報に従ってデータ情報を取得し、前記データ情報を前記ライトキャッシュに書き込む前記ステップは、
前記第2コントローラにより、前記キャッシュ保護領域内に格納されている前記複数のファイル操作情報に従って前記データ情報を取得し、前記データ情報を前記ライトキャッシュに書き込むステップを具備する。
With respect to the third possible implementation manner of the second aspect, in a fourth possible implementation manner, the method comprises: from the cache protection area if the second controller is faulty and is powered on again. , Further comprising the step of restoring the plurality of file operation information,
The step of acquiring data information according to the file operation information by the second controller and writing the data information to the write cache,
The second controller includes obtaining the data information according to the plurality of file operation information stored in the cache protection area, and writing the data information to the write cache.

前記第2の態様の前記第3の可能な実施方法に関して、第5の可能な実施方法において、前記第2コントローラにより、すべての前記ファイル操作情報を前記キャッシュ保護領域に書き込む前記ステップは、
それぞれのファイル操作情報のための前記キャッシュ保護領域内の記憶域スペースを要求するステップと、
それぞれのファイル操作情報を前記要求された記憶域スペースに格納するステップと、
前記複数のファイル操作情報のすべてが、対応する記憶域スペースに既に格納されていることを判定するステップと、
前記キャッシュ保護領域に対応するデータ構造において、前記複数のファイル操作情報が格納されている前記記憶域スペースにデータを格納するステップと、
を具備する。
Regarding the third possible implementation method of the second aspect, in the fifth possible implementation method, the step of writing all the file operation information into the cache protection area by the second controller comprises:
Requesting storage space in the cache protection area for each file operation information;
Storing each file operation information in the requested storage space;
Determining that all of the plurality of file operation information is already stored in a corresponding storage space;
Storing data in the storage space in which the plurality of file operation information is stored in a data structure corresponding to the cache protection area;
It comprises.

前記第2の態様の前記第3の可能な実施方法に関して、第6の可能な実施方法において、前記第2コントローラにより、すべての前記ファイル操作情報を前記キャッシュ保護領域に書き込む前記ステップは、
それぞれのファイル操作情報を前記キャッシュ保護領域に連続的に送信するステップと、
前記複数のファイル操作情報のすべてが前記キャッシュ保護領域にすでに送信されていることを判定するステップと、
前記キャッシュ保護領域に受信した前記複数のファイル操作情報に対応するフラグを設定するステップであって、前記フラグは、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に書き込まれていることを示すために使用される、ステップと、を具備する。
Regarding the third possible implementation method of the second aspect, in the sixth possible implementation method, the step of writing all the file operation information into the cache protection area by the second controller comprises:
Continuously transmitting each file operation information to the cache protection area;
Determining that all of the plurality of file operation information has already been transmitted to the cache protection area;
Setting a flag corresponding to the plurality of file operation information received in the cache protection area, wherein the flag indicates that all of the plurality of file operation information has already been written in the cache protection area. Used to show the steps.

第3の態様によると、本発明の実施形態は、データストレージ装置を提供し、
ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作に対してファイル処理を別々に実行し、複数のファイル操作情報を生成するように構成されているファイル処理モジュールと、
前記複数のファイル操作情報のすべてをキャッシュ保護領域に書き込むように構成されているライティングモジュールと、
第1コントローラに障害が生じた後、再び電源が入った場合、前記キャッシュ保護領域から前記複数のファイル操作情報を復元するように構成されている復元モジュールと、
を具備し、
前記ライティングモジュールは、ホストがデータ情報にアクセスできるように、前記複数のファイル操作情報に従って、前記データ情報を取得し、前記データ情報を第1ライトキャッシュに書き込むようにさらに構成されている。
According to a third aspect, an embodiment of the present invention provides a data storage device,
A file configured to receive a file processing request, divide the file processing request into a plurality of file operations, execute the file processing separately for each file operation, and generate a plurality of file operation information A processing module;
A writing module configured to write all of the plurality of file operation information to a cache protection area;
A restoration module configured to restore the plurality of file operation information from the cache protection area when power is turned on again after a failure occurs in the first controller;
Comprising
The writing module is further configured to acquire the data information and write the data information to a first write cache according to the plurality of file operation information so that the host can access the data information.

前記第3の態様に関して、第1の可能な実施方法において、前記ライティングモジュールは、
それぞれのファイル操作情報のための前記キャッシュ保護領域内の記憶域スペースを要求し、
それぞれのファイル操作情報を前記要求された記憶域スペースに格納し、
前記複数のファイル操作情報のすべてが対応する記憶域スペースに既に格納されていることを判定し、
前記キャッシュ保護領域に対応するデータ構造において、前記複数のファイル操作情報が格納されている前記記憶域スペースにデータを格納する
ように構成されている。
With respect to the third aspect, in a first possible implementation method, the lighting module comprises:
Request storage space in the cache protection area for each file operation information;
Storing each file operation information in the requested storage space;
Determining that all of the plurality of file operation information is already stored in the corresponding storage space;
The data structure corresponding to the cache protection area is configured to store data in the storage area where the plurality of file operation information is stored.

前記第3の態様に関して、第2の可能な実施方法において、前記ライティングモジュールは、
それぞれのファイル操作情報を前記キャッシュ保護領域に連続的に送信し、
前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に送信されていることを判定し、
前記キャッシュ保護領域に受信した前記複数のファイル操作情報に対応するフラグを設定するように構成され、
前記フラグは、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に書き込まれていることを示すために使用される。
With respect to the third aspect, in a second possible implementation, the lighting module comprises:
Each file operation information is continuously sent to the cache protection area,
Determining that all of the plurality of file operation information has already been transmitted to the cache protection area;
Configured to set a flag corresponding to the plurality of file operation information received in the cache protection area;
The flag is used to indicate that all of the plurality of file operation information has already been written in the cache protection area.

前記第3の態様の前記第1の可能な実施方法に関して、第3の可能な実施方法において、前記装置は、保護モジュールをさらに具備し、
前記保護モジュールは、前記第1コントローラに障害がある場合、前記キャッシュ保護領域に対応する前記データ構造に従って、前記キャッシュ保護領域が前記複数のファイル操作情報を具備していることを判定し、電源障害保護プログラムを使用することにより、前記複数のファイル操作情報をメモリの保護領域に格納するように構成されている。
Regarding the first possible implementation manner of the third aspect, in a third possible implementation manner, the apparatus further comprises a protection module;
The protection module determines that the cache protection area includes the plurality of file operation information according to the data structure corresponding to the cache protection area when the first controller has a fault, and a power failure By using a protection program, the plurality of file operation information is stored in a protected area of the memory.

前記第3の態様の前記第2の可能な実施方法に関して、第4の可能な実施方法において、前記装置は、保護モジュールをさらに具備し、
前記保護モジュールは、前記第1コントローラに障害がある場合、前記フラグに従って、前記キャッシュ保護領域が前記複数のファイル操作情報を具備していることを判定し、電源障害保護プログラムを使用することにより、前記複数のファイル操作情報を、メモリの保護領域に格納するように構成されている。
Regarding the second possible implementation manner of the third aspect, in a fourth possible implementation manner, the apparatus further comprises a protection module;
When the first controller has a failure, the protection module determines that the cache protection area includes the plurality of file operation information according to the flag, and uses a power failure protection program. The plurality of file operation information is configured to be stored in a protected area of a memory.

前記第3の態様に関して、第5の可能な実施方法において、前記装置は、送信モジュールをさらに具備し、
前記送信モジュールは、第2コントローラが、前記複数のファイル操作情報に従って、前記ファイル処理要求に対応するデータ情報を取得できるように、前記複数のファイル操作情報を前記第2コントローラに送信し、前記データ情報を前記第2コントローラの第2ライトキャッシュに書き込むように構成されている。
Regarding the third aspect, in a fifth possible implementation method, the apparatus further comprises a transmission module;
The transmission module transmits the plurality of file operation information to the second controller so that the second controller can acquire data information corresponding to the file processing request in accordance with the plurality of file operation information. Information is written to the second write cache of the second controller.

第4の態様によると、本発明の実施形態は、ストレージデバイスを提供し、前記ストレージデバイスは、第1コントローラと、第2コントローラと、メモリと、を備えたストレージデバイスであって、前記第2コントローラは、ライトキャッシュを具備し、
前記第1コントローラは、ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作に対してファイル処理を別々に実行し、複数のファイル操作情報を生成し、前記複数のファイル操作情報を前記第2コントローラに送信するように構成されており、
前記第2コントローラは、前記第1コントローラに障害がある場合、ホストが、データ情報にアクセス、又は前記メモリのための前記ファイル処理要求に対応する操作を実行できるように、前記ファイル操作情報に従って、前記データ情報を取得し、前記データ情報を前記ライトキャッシュに書き込むように構成されている。
According to a fourth aspect, an embodiment of the present invention provides a storage device, the storage device comprising a first controller, a second controller, and a memory, wherein the second device The controller has a write cache,
The first controller receives a file processing request, divides the file processing request into a plurality of file operations, performs file processing separately for each file operation, and generates a plurality of file operation information, The plurality of file operation information is configured to be transmitted to the second controller,
The second controller, in accordance with the file operation information, allows a host to access data information or perform an operation corresponding to the file processing request for the memory if the first controller is faulty. The data information is acquired, and the data information is written to the write cache.

前記第4の態様に関して、第1の可能な実施方法において、前記第1コントローラは、第1ミラーメッセージを前記第2コントローラに送信するように特に構成され、
前記第1ミラーメッセージは、前記複数のファイル操作情報を具備する。
With respect to the fourth aspect, in a first possible implementation manner, the first controller is specifically configured to send a first mirror message to the second controller;
The first mirror message includes the plurality of file operation information.

前記第4の態様に関して、第2の可能な実施方法において、前記第1コントローラは、複数の第2ミラーメッセージを前記第2コントローラに送信するように特に構成され、
それぞれの前記第2ミラーメッセージは、前記複数のファイル操作情報の1つを具備する。
Regarding the fourth aspect, in a second possible implementation manner, the first controller is specifically configured to send a plurality of second mirror messages to the second controller;
Each of the second mirror messages includes one of the plurality of file operation information.

前記第4の態様に関して、第3の可能な実施方法において、前記第2コントローラは、すべての前記ファイル操作情報をキャッシュ保護領域に書き込むようにさらに構成されている。   With respect to the fourth aspect, in a third possible implementation method, the second controller is further configured to write all the file operation information to a cache protection area.

前記第4の態様の前記第3の可能な実施方法に関して、第4の可能な実施方法において、前記第2コントローラは、それぞれのファイル操作情報のための前記キャッシュ保護領域内の記憶域スペースを要求し、それぞれのファイル操作情報を前記要求された記憶域スペースに格納し、前記複数のファイル操作情報のすべてが既に対応する記憶域スペースに格納されていることを判定し、前記キャッシュ保護領域に対応するデータ構造において、前記複数のファイル操作情報が格納されている前記記憶域スペースにデータを格納するように特に構成されている。   With respect to the third possible implementation manner of the fourth aspect, in the fourth possible implementation manner, the second controller requests storage space in the cache protection area for respective file operation information. Each file operation information is stored in the requested storage space, and it is determined that all of the plurality of file operation information is already stored in the corresponding storage space, and the cache protection region is supported. The data structure is particularly configured to store data in the storage space where the plurality of file operation information is stored.

前記第4の態様の前記第3の可能な実施方法に関して、第5の可能な実施方法において、前記第2コントローラは、それぞれのファイル操作情報を前記キャッシュ保護領域に連続的に送信し、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に送信されていることを判定し、前記キャッシュ保護領域に受信した前記複数のファイル操作情報に対応するフラグを設定するように特に構成され、
前記フラグは、前記複数のファイル操作情報のすべてが、前記キャッシュ保護領域に既に書き込まれていることを示すために使用される。
Regarding the third possible implementation method of the fourth aspect, in the fifth possible implementation method, the second controller continuously transmits respective file operation information to the cache protection area, and Is specifically configured to determine that all of the file operation information has already been transmitted to the cache protection area and to set a flag corresponding to the plurality of file operation information received in the cache protection area,
The flag is used to indicate that all of the plurality of file operation information has already been written in the cache protection area.

第5の態様によると、本発明の実施形態は、プロセッサと、メモリと、システムバスと、通信インターフェースと、を具備するストレージデバイスを提供し、 前記プロセッサ、前記メモリ、及び前記通信インターフェースは、前記システムバスを使用して接続されるとともにお互いに通信し、
前記通信インターフェースは、ストレージデバイスと通信するように構成され、
前記メモリは、コンピュータ実行命令を格納するように構成され、
前記プロセッサは、前記コンピュータ実行命令を実行し、前記第1の態様において説明されるデータ格納方法を実施するように構成されている。
According to a fifth aspect, an embodiment of the present invention provides a storage device comprising a processor, a memory, a system bus, and a communication interface, wherein the processor, the memory, and the communication interface are the Connected using the system bus and communicate with each other,
The communication interface is configured to communicate with a storage device;
The memory is configured to store computer-executable instructions;
The processor is configured to execute the computer execution instructions to implement the data storage method described in the first aspect.

本発明の実施形態において、ファイル処理要求に対応する複数のファイル操作情報のすべてがキャッシュ保護領域に書き込まれる。前記キャッシュ保護領域がデータ保護機能を提供するので、第1コントローラに障害が生じた後、電源が再び入れられた場合、前記複数のファイル操作情報は、前記キャッシュ保護領域から復元することができ、データ情報が前記複数のファイル操作情報に基づき取得され、第1ライトキャッシュに書き込まれる。前記複数のファイル操作情報すべてが前記キャッシュ保護領域に書き込まれるので、前記第1コントローラに障害が生じた後、電源が再び入れられた場合、前記キャッシュ保護領域から復元されるファイル操作情報もまた、全て揃っている。したがって、前記複数のファイル操作情報に従って取得された前記データ情報は、アトミックであり、ホストにより直接アクセス可能である。従来技術において、第1ライトキャッシュのデータ情報は、アトミックでなく、メモリ内のデータのみがアトミックである。したがって、従来技術において、前記第1ライトキャッシュの前記データ情報は、ホストにより直接アクセスできず、対応するデータは、前記ホストのために提供される前に前記メモリから読み出されなければならない。従来技術と比べ、本発明の実施形態は、前記ホストのデータアクセス効率性を改善する。   In the embodiment of the present invention, all of the plurality of file operation information corresponding to the file processing request is written in the cache protection area. Since the cache protection area provides a data protection function, when the power is turned on again after a failure occurs in the first controller, the plurality of file operation information can be restored from the cache protection area, Data information is acquired based on the plurality of file operation information and written to the first write cache. Since all of the plurality of file operation information is written in the cache protection area, when the power is turned on again after the failure of the first controller, the file operation information restored from the cache protection area is also Everything is complete. Therefore, the data information acquired according to the plurality of file operation information is atomic and can be directly accessed by the host. In the prior art, the data information of the first write cache is not atomic, and only the data in the memory is atomic. Therefore, in the prior art, the data information of the first write cache is not directly accessible by the host, and the corresponding data must be read from the memory before being provided for the host. Compared to the prior art, the embodiment of the present invention improves the data access efficiency of the host.

本発明の実施形態又は従来技術における技術的ソリューションをより明確に説明するため、以下で、前記実施形態又は従来技術を説明するために必要な添付の図面を簡単に紹介する。以降の記述における添付の図面は、いくつかの本発明の実施形態を示していることは明らかであり、当業者であれば、創造的な活動なしに、これらの添付の図面から他の図面を導き出しうる。   To describe the technical solutions in the embodiments of the present invention or in the prior art more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments or the prior art. It is apparent that the accompanying drawings in the following description illustrate some embodiments of the present invention, and those skilled in the art will recognize other drawings from these accompanying drawings without creative activity. Can be derived.

本発明の実施形態によるデータ格納方法のアプリケーションネットワーク構成の概略図である。1 is a schematic diagram of an application network configuration of a data storage method according to an embodiment of the present invention. 本発明の実施形態によるデータ格納方法のフローチャートである。3 is a flowchart of a data storage method according to an embodiment of the present invention. 本発明の実施形態によるデータ構造の概略図である。FIG. 4 is a schematic diagram of a data structure according to an embodiment of the present invention. 本発明の実施形態による他のデータ格納方法のアプリケーションネットワーク構成の概略図である。It is the schematic of the application network structure of the other data storage method by embodiment of this invention. 本発明の実施形態による他のデータ格納方法のフローチャートである。5 is a flowchart of another data storage method according to an embodiment of the present invention. 本発明の実施形態によるデータストレージ装置の概略構成図である。1 is a schematic configuration diagram of a data storage device according to an embodiment of the present invention. 本発明の実施形態によるストレージデバイスの概略構成図である。1 is a schematic configuration diagram of a storage device according to an embodiment of the present invention. 本発明の実施形態による他のストレージデバイスの概略構成図である。It is a schematic block diagram of the other storage device by embodiment of this invention.

本発明の実施形態の目的、技術的ソリューション、及び利点をより明確にするために、以下では本発明の実施形態における添付の図面を参照して明確かつ完全に本発明の実施形態における前記技術的ソリューションを説明する。説明される実施形態は、本発明のすべての実施形態でなく一部であることは明らかである。本発明の実施形態に基づいて創造的な活動なしに当業者により得られる他のすべての実施形態は、本発明の保護範囲内に入る。   In order to make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical description in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Describe the solution. Apparently, the described embodiments are a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art without creative activity based on the embodiments of the present invention fall within the protection scope of the present invention.

[本発明の実施形態におけるシステムアーキテクチャ]
本発明の実施形態により提供されるデータ格納方法は、ストレージシステムにおいて実施され得る。図1は、本発明の実施形態によるデータ格納方法のアプリケーションネットワーク構成の概略図である。図1に示されているように、前記ストレージシステムは、少なくとも1つのアプリケーションサーバ11(図1では3台示されている)と、少なくとも1つのコントローラ22と、1つのメモリ33と、を具備する。
[System Architecture in the Embodiment of the Present Invention]
The data storage method provided by the embodiment of the present invention can be implemented in a storage system. FIG. 1 is a schematic diagram of an application network configuration of a data storage method according to an embodiment of the present invention. As shown in FIG. 1, the storage system includes at least one application server 11 (three are shown in FIG. 1), at least one controller 22, and one memory 33. .

前記アプリケーションサーバ11(ホストとも称される)は、従来技術において知られている例えば、サーバ又はデスクトップコンピュータなどの任意のコンピューティングデバイスを含んでよい。   The application server 11 (also referred to as a host) may include any computing device known in the prior art, such as, for example, a server or a desktop computer.

前記コントローラ22は、NFS/CIFSプロトコルを使用して前記アプリケーションサーバ11にデータを送信し、例えばサーバやデスクトップコンピュータ等の従来技術において知られている任意のコンピューティングデバイスであってよい。前記コントローラ22は、プロセッサと、キャッシュ(図中に示されていない)と、を具備する。前記プロセッサは、例えば、ファイル作成操作、ファイルオープン操作、ファイル読み出し操作、及びファイル書き込み操作といったファイル処理要求のための種々の操作を実行するように特に構成されている。前記キャッシュは、前記コントローラ内にあるメモリであり、容量はハードディスクより小さいが、スピードはハードディスクよりずっと速く、例えば、前記キャッシュは、ランダムアクセスメモリ(RAM)であってよく、プログラムや短期的に使用するためのデータを格納するように主に構成されている。   The controller 22 transmits data to the application server 11 using the NFS / CIFS protocol and may be any computing device known in the prior art, such as a server or desktop computer. The controller 22 includes a processor and a cache (not shown in the figure). The processor is specifically configured to perform various operations for file processing requests, such as, for example, a file creation operation, a file open operation, a file read operation, and a file write operation. The cache is a memory in the controller and has a capacity smaller than that of the hard disk, but is much faster than the hard disk. For example, the cache may be a random access memory (RAM) that is used for a program or short-term It is mainly configured to store data for doing so.

前記コントローラ22において、電源障害保護モジュールとミラーリングモジュール等のファイルシステム及び他のアプリケーションが、さらにインストールされている。前記電源障害保護モジュールは、前記システムに電源障害がある場合、BBU又は他のバックアップ電源を通じて前記キャッシュのデータを前記メモリに書き込むように構成されており、前記ミラーリングモジュールは、ミラーチャネルを通じて他のコントローラ22により送信されるデータを処理するように構成されている。   In the controller 22, a file system such as a power failure protection module and a mirroring module and other applications are further installed. The power failure protection module is configured to write data in the cache to the memory through a BBU or other backup power when the system has a power failure, and the mirroring module is connected to another controller through a mirror channel. 22 is configured to process data transmitted.

本発明の実施形態において、キャッシュは、一時的キャッシュ又はライトキャッシュ(write cache)を具備してもよい。一時的キャッシュは、ファイル処理要求に対応するデータ及びメタデータを一時的に格納するように構成されており、データ保護機能は提供しない。ライトキャッシュは、メモリに書き込まれるデータを格納するように構成されており、前記データ保護機能を提供する。一時的キャッシュがデータ保護機能を提供しないということは、前記システムに障害があるか、又は前記システムに電源障害がある場合、前記一時的キャッシュ内に格納されているすべてのデータが失われ、前記システムに電源が再び入った後であっても復元することができない、ということを意味する。ライトキャッシュが前記データ保護機能を提供するということは、前記システムに障害がある、又は前記システムに電源障害がある場合であっても前記ライトキャッシュ内に格納されているデータは失われない、ということを意味する。具体的には、前記データ保護機能は、電源障害保護機能であってよく、前記電源障害保護機能は、前記システムに電源障害が生じた後、前記ライトキャッシュが、前記ライトキャッシュに格納されているデータを前記メモリのディスク保護領域に書き込むための十分な電力を有するように、バックアップ電源(BBU:Battery Back-Up)又は他の電源供給方法を使用することにより、電力が依然として供給し得ることを示しており、前記システムに電源が再び入った後、前記メモリの前記ディスク保護領域から前記ライトキャッシュに前記データをコピーできる。したがって、前記ライトキャッシュに格納されているデータは、信頼できると考えることができ、また失われることはない。   In embodiments of the present invention, the cache may comprise a temporary cache or a write cache. The temporary cache is configured to temporarily store data and metadata corresponding to the file processing request, and does not provide a data protection function. The write cache is configured to store data to be written to the memory, and provides the data protection function. The fact that the temporary cache does not provide data protection means that if the system is faulty or if the system has a power failure, all data stored in the temporary cache will be lost, This means that it cannot be restored even after the system is powered on again. The fact that the write cache provides the data protection function means that the data stored in the write cache is not lost even if the system has a fault or the system has a power failure. Means that. Specifically, the data protection function may be a power failure protection function, and the power failure protection function stores the write cache in the write cache after a power failure occurs in the system. By using a backup power supply (BBU) or other power supply method to have enough power to write data to the disk protection area of the memory, power can still be supplied. The data can be copied from the disk protection area of the memory to the write cache after the system is powered on again. Therefore, the data stored in the write cache can be considered reliable and is not lost.

オプションとして、前記データ保護機能は、リセットキャッシュ保護機能であってもよく、前記リセットキャッシュ保護機能は、ライトキャッシュが継続的に電力を供給されていることを示しており、前記システムに電源障害がある場合、前記ライトキャッシュに格納されているデータを前記メモリに書き込む操作は実行されず、前記システムに再び電源が入った場合、前記ライトキャッシュの前記データは初期化されない。したがって、前記ライトキャッシュに格納されているデータは、依然として前記システムに電源障害が生じる前のデータである。同様に、この機能を有するライトキャッシュにおいて、前記ライトキャッシュに格納されているデータは、信頼できると考えることができ、また失われることはない。   As an option, the data protection function may be a reset cache protection function, the reset cache protection function indicates that the write cache is continuously powered and the system has a power failure. In some cases, the operation of writing the data stored in the write cache to the memory is not performed, and when the system is powered on again, the data in the write cache is not initialized. Therefore, the data stored in the write cache is still data before a power failure occurs in the system. Similarly, in a write cache having this function, the data stored in the write cache can be considered reliable and is not lost.

オプションとして、前記データ保護機能は、ライトキャッシュのデータが失われないことを保証する他の機能であってもよく、本明細書に限定されるものではない。   Optionally, the data protection function may be other functions that ensure that data in the write cache is not lost, and is not limited to this specification.

本発明の実施形態において、一時的キャッシュとライトキャッシュは、同じ物理的エンティティ内、又は異なる物理的エンティティ内に配置されてよく、本明細書に限定されるものではない。前記一時的キャッシュと前記ライトキャッシュとが異なる物理的エンティティに配置されている場合、前記一時的キャッシュは、前記データ保護機能を提供せず、前記システムに電源障害がある場合、前記一時的キャッシュのデータは失われ、復元することができないが、前記ライトキャッシュは、前記データ保護機能を提供する。前記一時的キャッシュと前記ライトキャッシュとが同じ物理的エンティティ(例えばメモリモジュール)内に配置されている場合、電源障害保護モジュールは、前記一時的キャッシュに格納されているデータのための電源障害保護を提供しないと決定するが、前記ライトキャッシュに格納されているデータのための電源障害保護を提供する。   In embodiments of the present invention, the temporary cache and the write cache may be located in the same physical entity or in different physical entities and are not limited herein. When the temporary cache and the write cache are located in different physical entities, the temporary cache does not provide the data protection function, and when the system has a power failure, the temporary cache Data is lost and cannot be recovered, but the write cache provides the data protection function. If the temporary cache and the write cache are located in the same physical entity (eg, a memory module), the power failure protection module provides power failure protection for data stored in the temporary cache. Although determined not to provide, it provides power failure protection for the data stored in the write cache.

加えて、キャッシュ保護領域は、前記ライトキャッシュ内に作成されてよく、前記キャッシュ保護領域も前記データ保護機能を有している。前記一時的キャッシュの前記データが前記ライトキャッシュに書き込まれる必要がある場合、前記データ又は前記データに従って取得される情報は、まず前記キャッシュ保護領域に書き込まれてよく、その後、前記データ又は前記データに従って取得される前記情報が前記キャッシュ保護領域に正常に書き込まれると判定された後、前記データは、前記ライトキャッシュに書き込まれる。したがって、たとえ前記データが前記ライトキャッシュに書き込まれる前に前記システムに障害がある場合や、前記ライトキャッシへの書き込みが完了していない場合であっても、データは、データ又は前記キャッシュ保護領域に格納されている情報を使用することにより復元可能である。オプションとして、キャッシュスペースの一部は、前記キャッシュに分割されてもよく、前記キャッシュ保護領域として使用してもよく、または、他の独立したキャッシュを、前記キャッシュ保護領域として使用してもよく、ここでは限定しない。本発明の実施形態により指定されない限り、ライトキャッシュは、キャッシュ保護領域を除くキャッシュを示していることに注意すべきである。   In addition, the cache protection area may be created in the write cache, and the cache protection area also has the data protection function. When the data of the temporary cache needs to be written to the write cache, the data or information obtained according to the data may first be written to the cache protection area, and then according to the data or the data After it is determined that the acquired information is normally written to the cache protection area, the data is written to the write cache. Therefore, even if the system fails before the data is written to the write cache, or even if writing to the write cache is not completed, the data is stored in the data or the cache protection area. It can be restored by using the stored information. Optionally, a portion of the cache space may be divided into the cache and used as the cache protection area, or another independent cache may be used as the cache protection area, There is no limitation here. It should be noted that the write cache indicates a cache excluding the cache protection area unless specified by the embodiment of the present invention.

前記キャッシュ保護領域における格納データの形式は、一時的キャッシュ又はライトキャッシュにおける物とは異なっていてもよい。例えば、本発明の実施形態において、前記一時的キャッシュ及び前記ライトキャッシュは、データページ(page)のユニット内にデータを格納し得る。データページのサイズは、4k、8k、又は16kであってよく、ここでは限定しない。データページのサイズを一例として4kとして使用する。前記データサイズが8kの場合、2ページを占有する必要がある。とはいえ、前記キャッシュ保護領域は、コントロールリンク、リンクリスト、又はツリーなどのデータ構造の形式においてデータを格納してもよく、ここでは限定しない。したがって、前記キャッシュ保護領域におけるデータの格納形式は前記ライトキャッシュにおけるデータ格納形式とは異なりうるので、同じデータを格納する場合、前記キャッシュ保護領域は、記憶域スペースよりも占有しないことは理解し得る。   The format of the stored data in the cache protection area may be different from that in the temporary cache or the write cache. For example, in an embodiment of the present invention, the temporary cache and the write cache may store data in units of data pages. The size of the data page may be 4k, 8k, or 16k, and is not limited here. As an example, the data page size is 4k. When the data size is 8k, it is necessary to occupy two pages. However, the cache protection area may store data in the form of a data structure such as a control link, a linked list, or a tree, and is not limited here. Therefore, since the data storage format in the cache protection area may be different from the data storage format in the write cache, it can be understood that when storing the same data, the cache protection area occupies less than the storage space. .

前記メモリ33は、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)又は、ダイレクトアクセスストレージデバイス(DASD:Direct Access Storage Device)などの従来技術において知られているストレージデバイスを具備してよい。   The memory 33 is known in the prior art such as a hard disk drive (HDD), a solid state drive (SSD), or a direct access storage device (DASD). A storage device may be provided.

本発明の実施形態において、前記コントローラ22及び前記メモリ33は、まとめてストレージデバイスと称されうる。   In the embodiment of the present invention, the controller 22 and the memory 33 may be collectively referred to as a storage device.

特に断らない限り、本発明の実施形態における前記システムは、ストレージシステムとして参照され、本発明の実施形態における前記メモリは、不揮発性メモリを指す。   Unless otherwise specified, the system in the embodiment of the present invention is referred to as a storage system, and the memory in the embodiment of the present invention refers to a nonvolatile memory.

[データ格納方法]
以下では、本発明の実施形態により提供されるデータ格納方法を説明する。図2は、本発明の実施形態におけるデータ格納方法のフローチャートである。前記方法は、ストレージシステムに適用され、前記ストレージシステムは、ストレージデバイスと、ホストとを備え、前記ストレージデバイスは、第1コントローラと、メモリとを具備し、前記第1コントローラは、一時的キャッシュ、キャッシュ保護領域、及び第1ライトキャッシュを具備し、前記方法は、以下を具備する。
[Data storage method]
Hereinafter, a data storage method provided by an embodiment of the present invention will be described. FIG. 2 is a flowchart of the data storage method in the embodiment of the present invention. The method is applied to a storage system, the storage system comprising a storage device and a host, the storage device comprising a first controller and a memory, wherein the first controller is a temporary cache, A cache protection area and a first write cache, the method comprising:

ステップ21: 前記第1コントローラは、ファイル処理要求を受信する。   Step 21: The first controller receives a file processing request.

本発明の実施形態において、前記ファイル処理要求は、アプリケーションサーバ(ホストとも称される)により送信される。前記ファイル処理要求の操作タイプは、例えば、ファイル書き込み要求、ファイル修正要求、ファイル作成要求、又はファイル削除要求といった前記メモリに格納されているデータを修正するためのファイル処理要求であってよく、ここでは限定しない。異なるファイル処理要求は、異なるパラメータを含んでよい。例えば、ファイル書き込み要求を一例として使用するが、前記ファイル書き込み要求は、ファイルID,ファイルオフセット(offset)、ファイル長(length)、及び書き込まれるデータなどのパラメータを含んでいる。   In the embodiment of the present invention, the file processing request is transmitted by an application server (also referred to as a host). The operation type of the file processing request may be, for example, a file processing request for correcting data stored in the memory, such as a file write request, a file correction request, a file creation request, or a file deletion request. Then it is not limited. Different file processing requests may include different parameters. For example, a file write request is used as an example, and the file write request includes parameters such as a file ID, a file offset (offset), a file length (length), and data to be written.

ステップ22: 前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作を別々に処理し、複数のファイル操作情報を生成し、前記情報を前記一時的キャッシュに書き込む。   Step 22: The file processing request is divided into a plurality of file operations, each file operation is processed separately, a plurality of file operation information is generated, and the information is written to the temporary cache.

ファイルシステムを有するストレージデバイスでは、ファイル処理要求を処理する場合、前記ファイルシステムは、前記ファイル処理要求の操作タイプに従って、前記ファイル処理要求を複数のファイル操作に分割する必要がよくある。例えば、前記ファイルシステムは、ファイル書き込み要求をデータ修正ファイル操作及びメタデータ修正ファイル操作に分割する必要がある。他の例では、前記ファイルシステムは、ファイル作成要求を親ディレクトリ修正ファイル操作及びファイル作成のファイル操作に分割する必要があり、さらに他の例では、前記ファイルシステムは、ファイル名変更要求をソースディレクトリ修正ファイル操作及び更新先ディレクトリ修正ファイル操作に分割する必要がある。   In a storage device having a file system, when processing a file processing request, the file system often needs to divide the file processing request into a plurality of file operations according to the operation type of the file processing request. For example, the file system needs to divide a file write request into a data correction file operation and a metadata correction file operation. In another example, the file system needs to divide a file creation request into a parent directory modification file operation and a file creation file operation. In yet another example, the file system sends a file rename request to a source directory. It is necessary to divide into a correction file operation and an update destination directory correction file operation.

オプションとして、前記ファイルシステムは、前記ファイル処理要求の前記操作タイプに従って、前記ファイル処理要求を前記複数のファイル操作に分割し、前記操作を別々に処理する場合、すべてのデータエントリの数、及び、前記ファイル処理要求に対応するメタデータエントリの数を記録してよい。   Optionally, if the file system divides the file processing request into the plurality of file operations according to the operation type of the file processing request and processes the operations separately, the number of all data entries, and The number of metadata entries corresponding to the file processing request may be recorded.

ファイル処理要求を処理する場合、前記第1コントローラは、前記ファイル処理要求から分割されたそれぞれのファイル操作に対し、意味変換(semantic conversion)又は他のファイル処理を連続的に実際に実行することは理解し得る。ファイル操作を処理するごとに、前記第1コントローラは、前記ファイル操作に対応するデータ及びメタデータを前記一時的キャッシュに書き込む。したがって、前記第1コントローラが最後のファイル操作を処理し、前記最後のファイル操作に対応するデータ及び前記メタデータを前記一時的キャッシュに書き込んだ後、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータもまた前記一時的キャッシュに書き込まれる。したがって、本発明の実施形態において、前記一時的キャッシュに格納されているデータは、すべての前記データと前記ファイル処理要求に対応する前記メタデータである。同様に、本発明の実施形態において、前記複数のファイル操作情報は、すべての前記データと前記ファイル処理要求に対応する前記メタデータである。   When processing a file processing request, the first controller does not actually perform semantic conversion or other file processing continuously for each file operation divided from the file processing request. Can understand. Each time a file operation is processed, the first controller writes data and metadata corresponding to the file operation to the temporary cache. Accordingly, after the first controller processes the last file operation and writes the data and metadata corresponding to the last file operation to the temporary cache, it responds to all the data and the file processing request. The metadata is also written to the temporary cache. Therefore, in the embodiment of the present invention, the data stored in the temporary cache is all the data and the metadata corresponding to the file processing request. Similarly, in the embodiment of the present invention, the plurality of file operation information are all the data and the metadata corresponding to the file processing request.

異なるファイル処理要求では、前記異なるファイル処理要求のために生成されたファイル操作情報もまた異なる。前記ファイル処理要求がファイル書き込み要求である場合、前記ファイル処理要求のファイル操作情報は、前記ファイル書き込み要求で搬送される、書き込まれるデータ、メタデータなどであってよい。前記ファイル処理要求がファイル修正要求の場合、前記ファイル修正要求のファイル操作情報は、前記ファイル修正要求で搬送される、書き込まれるデータ、メタデータなどであってよい。前記ファイル処理要求がファイル作成要求の場合、前記ファイル作成要求のファイル操作情報は、ディレクトリ情報、メタデータなどでありうる。前記ファイル処理要求がファイル削除要求の場合、前記ファイル削除要求のファイル操作情報は、ファイルスペースを開放するための特別なページデータ、削除後の前記データ及びメタデータなどでありうる。   In different file processing requests, the file operation information generated for the different file processing requests is also different. When the file processing request is a file write request, the file operation information of the file processing request may be data to be written, metadata, or the like carried by the file write request. When the file processing request is a file correction request, the file operation information of the file correction request may be data to be written, metadata, or the like carried by the file correction request. When the file processing request is a file creation request, the file operation information of the file creation request may be directory information, metadata, or the like. When the file processing request is a file deletion request, the file operation information of the file deletion request may be special page data for releasing a file space, the deleted data and metadata, and the like.

以下のステップは、ファイル書き込み要求を一例として使用して説明されている。前記ファイル書き込み要求において、前記ファイル書き込み要求のために生成されるファイル操作情報は、ファイルID、ファイルオフセット(offset)、ファイル長(length)、書き込み時間、書き込まれるデータ、などを含んでよい。   The following steps are described using a file write request as an example. In the file write request, file operation information generated for the file write request may include a file ID, a file offset (offset), a file length (length), a write time, data to be written, and the like.

本発明の実施形態において、前記一時的キャッシュは、データを一時的に格納するためにのみ使用されることに注意すべきである。前記一時的キャッシュに格納されている前記データは、離散しており、前記データは、特定のデータ構造を使用することにより管理されていない。前記一時的キャッシュに格納されている前記データは、前記アプリケーションサーバに対し直接提供できない。   It should be noted that in an embodiment of the present invention, the temporary cache is used only for temporarily storing data. The data stored in the temporary cache is discrete and the data is not managed by using a specific data structure. The data stored in the temporary cache cannot be provided directly to the application server.

ステップ23: 前記複数のファイル操作情報を前記キャッシュ保護領域に書き込む。   Step 23: Write the plurality of file operation information into the cache protection area.

具体的には、前記第1コントローラは、ファイルID,ファイルオフセット、ファイル長、書き込み時間、前記キャッシュ保護領域に書き込まれるデータなどの前記ファイル操作情報を書き込みうる。前記キャッシュ保護領域は、データ保護機能を提供する。前記ファイル操作情報が前記キャッシュ保護領域に正常に書き込まれた後には、前記ファイル操作情報は、システム障害のような理由により失われることはない。   Specifically, the first controller can write the file operation information such as a file ID, a file offset, a file length, a writing time, and data to be written in the cache protection area. The cache protection area provides a data protection function. After the file operation information is normally written in the cache protection area, the file operation information is not lost due to a system failure or the like.

任意の実施態様において、前記複数のファイル操作情報を前記キャッシュ保護領域へ書き込むことは、前記複数のファイル操作情報すべてが前記キャッシュ保護領域に書き込まれたことを示しており、すなわち、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれていることである。   In any embodiment, writing the plurality of file operation information to the cache protection area indicates that all of the plurality of file operation information has been written to the cache protection area, ie, all the data And the metadata corresponding to the file processing request is written in the cache protection area.

例えば、前記キャッシュ保護領域は、特定のデータ構造を使用することによりデータを格納してよい。図3に示されているように、前記キャッシュ保護領域のデータは、コントロールリンクの形式で管理されうる。前記コントロールリンクは、複数のコントロールヘッダを含み、各コントロールヘッダは、ファイル処理要求に対応する。各コントロールヘッダのもとには、複数のスロット(slots)がマウントされており、各スロットは、各データ又は前記ファイル処理要求に対応する各メタデータを格納するために使用される。   For example, the cache protection area may store data by using a specific data structure. As shown in FIG. 3, the data in the cache protection area can be managed in the form of a control link. The control link includes a plurality of control headers, and each control header corresponds to a file processing request. A plurality of slots are mounted under each control header, and each slot is used for storing each data or each metadata corresponding to the file processing request.

具体的には、前記ファイル操作情報をトラバースし得る。まず、1つのスロットが前記コントロールリンクにおける第1のデータ(例えば、ファイルID)のために要求され、前記スロットが正常に要求された後、前記第1のデータが前記スロットに書き込まれる。そして、1つのスロットが第2のデータ(例えば、オフセット)のために要求され、前記スロットが正常に要求された後、前記第2のデータが前記スロットに書き込まれる。残りも、前記ファイル操作情報の最後のデータがスロットに書き込まれるまで、同様に処理される。そして、前記ファイル処理要求に対応するコントロールヘッダが前記コントロールリンクに追加されうる。   Specifically, the file operation information can be traversed. First, one slot is requested for first data (eg, file ID) in the control link, and after the slot is successfully requested, the first data is written to the slot. One slot is then requested for second data (eg, offset), and after the slot is successfully requested, the second data is written to the slot. The rest is processed in the same manner until the last data of the file operation information is written in the slot. A control header corresponding to the file processing request may be added to the control link.

前記ファイル処理要求に対応する前記コントロールヘッダが前記コントロールリンクに追加された後は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に正常にすでに書き込まれていることを示している。   After the control header corresponding to the file processing request is added to the control link, all the data and the metadata corresponding to the file processing request have already been normally written in the cache protection area. Is shown.

他の例として、前記キャッシュ保護領域の前記データは、二分木の形式において管理されうる。前記二分木は、複数のルートノードを含み、各ルートノードはファイル処理要求に対応する。各ルートノードには、複数の終端ノードがマウントされている。それぞれの終端ノードは、それぞれのデータ又は前記ファイル処理要求に対応するそれぞれのメタデータを格納するために使用される。   As another example, the data in the cache protection area may be managed in the form of a binary tree. The binary tree includes a plurality of root nodes, and each root node corresponds to a file processing request. A plurality of terminal nodes are mounted on each root node. Each end node is used to store respective data or respective metadata corresponding to the file processing request.

具体的には、前記ファイル操作情報は、トラバースされ得る。まず、1つの終端ノードが前記二分木における第1のデータ(例えば、ファイルID)のために要求され、前記終端ノードが正常に要求された後、前記第1のデータが前記終端ノードに書き込まれる。そして、1つの終端ノードが第2のデータ(例えば、オフセット)のために要求され、前記終端ノードが正常に要求された後、前記第2のデータが前記終端ノードに書き込まれる。残りも最後のデータが終端ノードに書き込まれるまで同様に処理される。そして、前記ファイル処理要求に対応するルートノードが、前記二分木に追加され得る。   Specifically, the file operation information can be traversed. First, one terminal node is requested for the first data (eg, file ID) in the binary tree, and after the terminal node is successfully requested, the first data is written to the terminal node. . One termination node is then requested for second data (eg, offset), and after the termination node has been successfully requested, the second data is written to the termination node. The rest is processed in the same manner until the last data is written to the terminal node. A root node corresponding to the file processing request may be added to the binary tree.

前記ファイル処理要求に対応するルートノードが前記二分木に追加された後は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域にすでに正常に書き込まれていることを示している。   After the root node corresponding to the file processing request is added to the binary tree, all the data and the metadata corresponding to the file processing request are already normally written in the cache protection area. Show.

コントロールリンク又は二分木は、キャッシュ保護領域で使用され、データを格納するためのデータ構造の様式である。加えて、Bツリー、B+ツリー、赤黒木などのデータ構造がデータを格納するために使用されてもよいが、ここでは限定しない。   A control link or binary tree is used in the cache protection area and is a data structure format for storing data. In addition, data structures such as B-trees, B + trees, red and black trees may be used to store data, but are not limited here.

あるいは、前記キャッシュ保護領域は、コントロールリンク又は二分木などのデータ構造を使用してデータを格納する必要はない。前記第1コントローラは、前記ファイル操作情報をトラバースしうる。まず、前記第1コントローラは、前記キャッシュ保護領域における第1のデータ(例えば、ファイルID)のための記憶域スペースを要求し、前記記憶域スペースが正常に要求された後、前記キャッシュ保護領域の記憶域スペースに前記第1のデータを書き込む。そして、前記第1コントローラは、前記キャッシュ保護領域の第2のデータ(例えば、オフセット)のための記憶域スペースを要求し、前記記憶域スペースが正常に要求された後、前記キャッシュ保護領域の前記記憶域スペースに前記第2のデータを書き込む。残りは、前記キャッシュ保護領域の前記記憶域スペースに最後のデータが書き込まれるまで同様に処理する。そして、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが、正常に前記キャッシュ保護領域にすでに書きこまれたことを示すように、フラグ(例えば、真(true))が前記キャッシュ保護領域に格納される前記ファイル操作情報にセットされ得る。オプションとして、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれたとは限らない場合、他のフラグ(例えば、偽(false))がセットされてよい。   Alternatively, the cache protection area does not have to store data using a data structure such as a control link or a binary tree. The first controller may traverse the file operation information. First, the first controller requests a storage space for first data (for example, a file ID) in the cache protection area, and after the storage space is normally requested, the first controller Write the first data to the storage space. And the first controller requests a storage space for second data (eg, offset) in the cache protection area, and after the storage space is normally requested, the cache protection area Write the second data into the storage space. The rest is processed in the same manner until the last data is written in the storage space of the cache protection area. And a flag (eg, true) is set to the cache protection to indicate that all the data and the metadata corresponding to the file processing request have been successfully written to the cache protection area. The file operation information stored in the area can be set. Optionally, other flags (eg, false) may be set if not all the data and the metadata corresponding to the file processing request have been written to the cache protection area.

あるいは、前記ファイルシステムが前記ファイル処理要求を別々に処理するために複数のファイル操作に分割する場合、前記ファイルシステムは、統計を収集し、前記ファイル操作情報に含まれているすべてのデータエントリ及びメタデータエントリの数を記録し、カウンタ又は同様の機能を備えた前記第1コントローラ内のソフトウェアモジュールをセットする。前記カウンタの初期値は0である。前記ファイル操作情報に含まれている各データは、前記キャッシュ保護領域の前記要求された記憶域スペースに連続的に書き込まれる。データが正常に書き込まれる毎に、前記カウンタの値は1ずつ増加する。前記カウンタの値が前記ファイル操作情報に含まれるすべての前記データエントリ及び前記メタデータエントリの記録されている数と等しければ、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータは、前記キャッシュ保護領域に正常に既に書き込まれていることを示している。   Alternatively, if the file system divides the file processing request into a plurality of file operations to process them separately, the file system collects statistics and includes all data entries included in the file operation information and The number of metadata entries is recorded, and a software module in the first controller having a counter or similar function is set. The initial value of the counter is zero. Each data included in the file operation information is continuously written in the requested storage space of the cache protection area. Each time data is normally written, the counter value is incremented by one. If the value of the counter is equal to the recorded number of all the data entries and the metadata entries included in the file operation information, all the data and the metadata corresponding to the file processing request are This indicates that data has already been successfully written to the cache protection area.

オプションの実施態様において、前記複数のファイル操作情報を前記キャッシュ保護領域に書き込むことは、前記複数のファイル操作情報を前記キャッシュ保護領域に書き込む動作を指しており、すなわち、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれたかどうかを考慮する必要はない。   In an optional embodiment, writing the plurality of file operation information to the cache protection area refers to an operation of writing the plurality of file operation information to the cache protection area, that is, all the data and the file There is no need to consider whether the metadata corresponding to the processing request has been written to the cache protection area.

本発明の他の実施形態において、すべての前記複数のファイル操作情報が前記キャッシュ保護領域に書き込まれていない場合に、前記第1コントローラに障害があるならば、前記ファイル処理要求の処理は、失敗したとみなされる。   In another embodiment of the present invention, if all of the plurality of file operation information are not written to the cache protection area and the first controller has a failure, the processing of the file processing request fails. Is considered.

ステップ24: 前記第1コントローラに障害がある場合、電源障害保護プログラムを使用することにより、前記キャッシュ保護領域に格納されている前記ファイル操作情報を前記メモリの保護領域にコピーする。   Step 24: If there is a failure in the first controller, the file operation information stored in the cache protection area is copied to the protection area of the memory by using a power failure protection program.

前記キャッシュ保護領域が前記データ保護機能を提供することから、前記第1コントローラに障害がある場合、前記電源障害保護プログラムが、前記キャッシュ保護領域に格納されている前記ファイル操作情報を前記メモリの前記保護領域にコピーするために使用されうるということは、先の説明から理解できる。したがって、前記キャッシュ保護領域に格納されている前記ファイル操作情報は、前記第1コントローラにある前記障害によっては失われない。前記メモリの前記保護領域は、前記メモリ内にあり、前記電源障害保護プログラムを使用することにより書き込まれたデータを格納するために特に使用される記憶域スペースを指す。オプションとして、前記ファイル操作情報は、前記キャッシュ保護領域に対応するデータ構造(例えば、コントロールリンク)を使用して検索することにより見つけてもよく、又は、前記ファイル操作情報は、「真」を含むフラグを使用して検索することによりであってもよいが、ここでは限定しない。   Since the cache protection area provides the data protection function, when there is a failure in the first controller, the power failure protection program stores the file operation information stored in the cache protection area in the memory. It can be seen from the above description that it can be used to copy to a protected area. Therefore, the file operation information stored in the cache protection area is not lost due to the failure in the first controller. The protected area of the memory refers to a storage space that is in the memory and is specifically used to store data written by using the power failure protection program. Optionally, the file operation information may be found by searching using a data structure (eg, control link) corresponding to the cache protection area, or the file operation information includes “true” The search may be performed using a flag, but is not limited here.

ステップ23は、2つの異なる実施形態を有するため、ステップ24は具体的な実装において異なる。   Since step 23 has two different embodiments, step 24 is different in the specific implementation.

例えば、前記第1の実施方法がステップ23(前記複数のファイル操作情報のすべてを前記キャッシュ保護領域に書き込む)で実行される場合、前記キャッシュ保護領域に格納されている前記ファイル操作情報のためには他の処理は実行されず、ステップ242(前記キャッシュ保護領域に格納されている前記ファイル操作情報を前記メモリの前記保護領域にコピーする)が実行される。   For example, when the first implementation method is executed in step 23 (writes all of the plurality of file operation information to the cache protection area), for the file operation information stored in the cache protection area No other processing is executed, and step 242 (copying the file operation information stored in the cache protection area to the protection area of the memory) is executed.

前記第2の実施方法がステップ23(すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれたかどうかは考慮しない)で実行される場合、ステップ242が実行される前に、以下をさらに含む:   If the second implementation method is executed in step 23 (does not consider whether all the data and the metadata corresponding to the file processing request have been written to the cache protection area), step 242 is executed. In addition to:

ステップ241: 前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいるかどうかを判定する。   Step 241: It is determined whether the file operation information includes all the data and the metadata corresponding to the file processing request.

前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいる場合、ステップ242:前記電源障害保護プログラムを使用することにより、前記キャッシュ保護領域に格納されている前記ファイル操作情報を前記メモリの前記保護領域にコピーする、が実行される。   If the file operation information includes all the data and the metadata corresponding to the file processing request, Step 242: By using the power failure protection program, the file operation information stored in the cache protection area The file operation information is copied to the protected area of the memory.

前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含まない場合、電源障害保護処理は、前記キャッシュ保護領域に格納されている前記ファイル操作情報のためには実行されない。   If the file operation information does not include all the data and the metadata corresponding to the file processing request, power failure protection processing is not performed for the file operation information stored in the cache protection area. .

本発明の実施形態において、ステップ24はオプションのステップであることに留意すべきである。したがって、上述したように、電源障害保護機能に加えて、前記データ保護機能はリセットメモリ保護機能でもありうる。前記キャッシュ保護領域が前記リセットメモリ保護機能を備えている場合、前記第1コントローラに障害があっても、前記キャッシュ保護領域は依然として継続的に電力を供給することができ、前記第1コントローラに再び電源が入った後、前記キャッシュ保護領域のデータは、初期化されない。したがって、前記キャッシュ保護領域に格納されている前記データは失われない。   It should be noted that in the embodiment of the present invention, step 24 is an optional step. Therefore, as described above, in addition to the power failure protection function, the data protection function may be a reset memory protection function. If the cache protection area has the reset memory protection function, even if the first controller fails, the cache protection area can continue to supply power, and the first controller can be supplied again. After the power is turned on, the data in the cache protection area is not initialized. Therefore, the data stored in the cache protection area is not lost.

具体的には、前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいるかどうかを判定することは、
前記キャッシュ保護領域における前記ファイル操作情報内に含まれている前記データエントリの数の統計を収集し、前記数を前記ファイルシステムに記録されている、すべての前記データエントリの数、及び、前記ファイル処理要求に対応する前記メタデータエントリの数と比較し、前記キャッシュ保護領域内の前記ファイル操作情報に含まれている前記データエントリの数が、前記ファイルシステム内に記録されている数と等しいならば、前記ファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいることを示している、又は、
前記キャッシュ保護領域に対応する前記データ構造(例えば、コントロールリンク)が前記ファイル処理要求に対応するデータ構造(例えば、コントロールヘッダ)を含んでいるかどうかをチェックし、前記コントロールリンクが前記コントロールヘッダを含んでいるならば、前記ファイル処理要求に対応する前記データ構造において格納されている前記複数のファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいる、ということを示している、又は、
前記キャッシュ保護領域に格納されている前記ファイル操作情報がフラグ(例えば、「真」)を含んでいるかどうかをチェックし、前記ファイル操作情報が「真」であるフラグを含んでいるならば、それは前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいることを示している、ということでありうる。
Specifically, determining whether the file operation information includes all the data and the metadata corresponding to the file processing request,
The statistics of the number of the data entries included in the file operation information in the cache protection area are collected, and the number of all the data entries recorded in the file system, and the file If the number of data entries included in the file operation information in the cache protection area is equal to the number recorded in the file system, compared with the number of metadata entries corresponding to the processing request For example, the file operation information indicates that all the data and the metadata corresponding to the file processing request are included, or
It is checked whether the data structure (eg, control link) corresponding to the cache protection area includes a data structure (eg, control header) corresponding to the file processing request, and the control link includes the control header. If so, the plurality of file operation information stored in the data structure corresponding to the file processing request includes all the data and the metadata corresponding to the file processing request. Or
Check whether the file operation information stored in the cache protection area includes a flag (eg, “true”), and if the file operation information includes a flag that is “true”, It may indicate that the file operation information includes all the data and the metadata corresponding to the file processing request.

加えて、本発明の他の実施態様において、ステップ23が実行され、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれたかどうかを考慮せず、かつ、前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含むかどうかが判定されない場合、ステップ242:前記電源障害保護プログラムを使用することにより、前記キャッシュ保護領域に格納されている前記ファイル操作情報を前記メモリの前記保護領域へコピーする、が直接実行される。   In addition, in another embodiment of the present invention, step 23 is performed without considering whether all the data and the metadata corresponding to the file processing request have been written to the cache protection area, and If it is not determined whether the file operation information includes all the data and the metadata corresponding to the file processing request, step 242: stored in the cache protection area by using the power failure protection program The file operation information is directly copied to the protected area of the memory.

本発明の実施形態において、前記キャッシュ保護領域に書き込まれる前記複数のファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータでありうることに注意すべきである。本発明の他の実施形態において、前記キャッシュ保護領域に書き込まれる前記複数のファイル操作情報は、前記一時的キャッシュに格納されているすべての前記データ及び前記ファイル処理要求に対応する前記メタデータのアドレスであって良い。前記第1コントローラに障害があり、前記電源障害保護プログラムを使用することにより、前記キャッシュに格納されている前記データのために前記電源障害保護が提供される必要がある場合、前記一時的キャッシュに格納されているすべての前記データ及び前記ファイル処理要求に対応する前記メタデータが、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータの前記アドレスにしたがって、まず取得され、その後、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記メモリの前記保護領域にコピーされる。   In the embodiment of the present invention, it should be noted that the plurality of file operation information written to the cache protection area may be all the data and the metadata corresponding to the file processing request. In another embodiment of the present invention, the plurality of file operation information written in the cache protection area include all the data stored in the temporary cache and the address of the metadata corresponding to the file processing request. It may be. If the first controller is faulty and the power failure protection needs to be provided for the data stored in the cache by using the power failure protection program, the temporary cache All the stored data and the metadata corresponding to the file processing request are first obtained according to the addresses of the metadata corresponding to all the data and the file processing request, and then all The data and the metadata corresponding to the file processing request are copied to the protected area of the memory.

ステップ25: 前記第1コントローラに障害が発生した後、再び電源が入った場合、 前記キャッシュ保護領域から複数のファイル操作情報を復元する。   Step 25: When the power is turned on again after the failure of the first controller, a plurality of file operation information is restored from the cache protection area.

前記キャッシュ保護領域が前記電源障害保護機能を有する場合、前記メモリの前記保護領域に格納されている前記ファイル操作情報は、前記電源障害保護プログラムを使用することにより、前記キャッシュ保護領域にコピーされ得る。前記キャッシュ保護領域が前記リセットメモリ保護機能を有する場合、前記キャッシュ保護領域の前記データは初期化されない。   When the cache protection area has the power failure protection function, the file operation information stored in the protection area of the memory can be copied to the cache protection area by using the power failure protection program. . When the cache protection area has the reset memory protection function, the data in the cache protection area is not initialized.

オプションとして、前記第1の実施方法(すべての前記複数のファイル操作情報を前記キャッシュ保護領域に書き込む)がステップ23で実行される場合、ステップ252:前記メモリの前記保護領域に格納されている前記ファイル操作情報を前記キャッシュ保護領域にコピーする、が実行され得る。   Optionally, if the first implementation method (writes all the plurality of file operation information into the cache protection area) is executed in step 23, step 252: the memory stored in the protection area of the memory Copying file operation information to the cache protection area may be executed.

オプションとして、前記第2の実施方法(すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれるかどうかを考慮しない)がステップ23で実行され、ステップ24において、前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいることを判定した後、前記キャッシュ保護領域の前記ファイル操作情報が前記メモリの前記保護領域にコピーされた場合、ステップ252:前記メモリの前記保護領域に格納されている前記ファイル操作情報を前記キャッシュ保護領域にコピーする、が実行され得る。   Optionally, the second implementation method (not considering whether all the data and the metadata corresponding to the file processing request is written to the cache protection area) is executed in step 23, and in step 24, After determining that the file operation information includes all the data and the metadata corresponding to the file processing request, the file operation information of the cache protection area is copied to the protection area of the memory If so, Step 252: Copying the file operation information stored in the protected area of the memory to the cache protected area may be executed.

オプションとして、前記第2の実施方法(すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれるかどうかを考慮しない)がステップ23及びステップ24において実行された場合、前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含むかどうかは判定されず、前記キャッシュ保護領域の前記ファイル操作情報は、前記メモリの前記保護領域に直接コピーされ、ステップ25は以下を含みうる:   Optionally, when the second implementation method (not considering whether all the data and the metadata corresponding to the file processing request are written to the cache protection area) is executed in step 23 and step 24 It is not determined whether the file operation information includes all the data and the metadata corresponding to the file processing request, and the file operation information in the cache protection area is directly copied to the protection area of the memory. Step 25 may include the following:

ステップ251: 前記メモリの前記保護領域に格納されている前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいるかどうかを判定し、前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいると判定された場合、ステップ252:前記電源障害保護プログラムを使用することにより、前記メモリの前記保護領域に格納されている前記ファイル操作情報を前記キャッシュ保護領域にコピーする、を実行する。   Step 251: It is determined whether the file operation information stored in the protected area of the memory includes all the data and the metadata corresponding to the file processing request. If it is determined that the metadata corresponding to the data and the file processing request is included, Step 252: The file stored in the protection area of the memory by using the power failure protection program The operation information is copied to the cache protection area.

具体的には、前記ファイル操作情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいるかどうかを判定することは、
前記メモリの前記保護領域に格納されている前記ファイル操作情報に含まれている前記データエントリの数の統計を収集し、前記数を前記ファイルシステムにより記録されている、すべての前記データエントリの数、及び、前記ファイル処理要求に対応する前記メタデータエントリの数と比較し、前記メモリの前記保護領域に格納されている前記ファイル操作情報に含まれている前記データエントリの数が前記ファイルシステムにより記録されている前記数と等しいならば、前記ファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいることを示している、又は
前記メモリの前記保護領域に格納されている前記ファイル操作情報がフラグ(例えば、「真」)を含んでいるかどうかをチェックし、前記ファイル操作情報が「真」であるフラグを含んでいるならば、前記ファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを含んでいることを示している、ということでありうる。
Specifically, determining whether the file operation information includes all the data and the metadata corresponding to the file processing request,
Collecting statistics of the number of data entries included in the file operation information stored in the protected area of the memory, and counting the number of all the data entries recorded by the file system And the number of the data entries included in the file operation information stored in the protection area of the memory is compared with the number of the metadata entries corresponding to the file processing request by the file system. If the number is equal to the number recorded, the file operation information indicates that all the data and the metadata corresponding to the file processing request are included, or in the protected area of the memory Check whether the stored file operation information includes a flag (eg, “true”) If the file operation information includes a flag that is “true”, it indicates that the file operation information includes all the data and the metadata corresponding to the file processing request. It can be said that.

ステップ26: 前記ホスト又は前記メモリが前記データ情報にアクセスできるように、前記複数のファイル操作情報にしたがってデータ情報を取得し、前記データ情報を前記第1ライトキャッシュに書き込む。   Step 26: Acquire data information according to the plurality of file operation information so that the host or the memory can access the data information, and write the data information to the first write cache.

具体的には、前記データ情報は、前記キャッシュ保護領域内に格納されている前記複数のファイル操作情報に従って取得されてよい。前記データ情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータ、又は、前記キャッシュ保護領域に格納されているすべての前記データ及び前記メタデータのアドレスでありうる。前記データ情報が取得された後、前記データ情報は、前記第1ライトキャッシュに書き込まれる。   Specifically, the data information may be acquired according to the plurality of file operation information stored in the cache protection area. The data information may be all the data and the metadata corresponding to the file processing request, or all the data and the metadata addresses stored in the cache protection area. After the data information is acquired, the data information is written to the first write cache.

前記データ情報がすべての前記データ及び前記ファイル処理要求に対応する前記メタデータである場合、前記第1ライトキャッシュは、前記キャッシュ保護領域によりすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを格納するために使用される形式とは異なる形式で、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを格納することに注意をすべきである。例えば、前記第1ライトキャッシュは、前記データをページの形式で格納してもよく、前記キャッシュ保護領域は、前記データを例えばコントロールリンクのデータ構造の形式で格納してもよい。   When the data information is the metadata corresponding to all the data and the file processing request, the first write cache uses the cache protection area to correspond to all the data and the file processing request. It should be noted that all the data and the metadata corresponding to the file processing request are stored in a format different from the format used to store the file. For example, the first write cache may store the data in a page format, and the cache protection area may store the data in, for example, a control link data structure.

前記第1コントローラに障害が発生した後、再び電源が入った場合、前記キャッシュ保護領域から復元される前記複数のファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータに関することは先の説明から理解できる。したがって、前記複数のファイル操作情報に従って取得されるとともに前記第1ライトキャッシュに書き込まれる前記データ情報もまたすべての前記データ及び前記ファイル処理要求に対応する前記メタデータ、又は、前記キャッシュ保護領域に格納されているすべての前記データ及び前記メタデータのアドレスである。すなわち、前記ファイル処理要求に対応し前記第1ライトキャッシュに書き込まれる前記データは、不可分性の要件に合致する。したがって、前記データ情報は、前記ホスト又は前記メモリによりアクセスされ得る。   When power is turned on again after a failure occurs in the first controller, the plurality of file operation information restored from the cache protection area are related to all the data and the metadata corresponding to the file processing request. This can be understood from the above explanation. Therefore, the data information acquired according to the plurality of file operation information and written to the first write cache is also stored in the metadata corresponding to all the data and the file processing request, or in the cache protection area This is the address of all the data and metadata that are being processed. That is, the data written to the first write cache in response to the file processing request meets the inseparability requirement. Thus, the data information can be accessed by the host or the memory.

具体的には、前記ホストによる前記データ情報をアクセスすることは、前記ホストがファイルアクセス要求を前記第1コントローラに送信することを示し、前記ファイルアクセス要求は、前記ファイル処理要求に対応するデータにアクセスに使用される。例えば、前記ファイル処理要求がファイル書き込み要求である場合、前記ファイルアクセス要求は、前記ファイル書き込み要求に対応する書き込まれるデータにアクセスする必要がありうる。前記ファイルアクセス要求を受信した後、前記第1コントローラは、前記第1ライトキャッシュに格納されている書き込まれるデータを前記ホストに送信し得る。   Specifically, accessing the data information by the host indicates that the host sends a file access request to the first controller, and the file access request includes data corresponding to the file processing request. Used for access. For example, when the file processing request is a file write request, the file access request may need to access data to be written corresponding to the file write request. After receiving the file access request, the first controller may send the data to be written stored in the first write cache to the host.

具体的には、前記メモリにより前記データ情報にアクセスすることは、前記メモリに、前記第1ライトキャッシュに格納されているすべての前記データ及び前記ファイル処理要求に対応する前記メタデータを書き込むことを示している。前記第1ライトキャッシュの容量は、ハードディスクの容量より少ないため、前記第1ライトキャッシュに格納されている前記データが一定の閾値に達する場合、前記第1ライトキャッシュに格納されている前記データは、前記メモリに書き込まれる必要がある。   Specifically, accessing the data information by the memory includes writing all the data stored in the first write cache and the metadata corresponding to the file processing request to the memory. Show. Since the capacity of the first write cache is less than the capacity of the hard disk, when the data stored in the first write cache reaches a certain threshold, the data stored in the first write cache is: Need to be written to the memory.

オプションとして、前記ファイル操作情報にしたがって前記データ情報が取得された後、前記キャッシュ保護領域に格納されている前記複数のファイル操作情報は削除してよい。   As an option, after the data information is obtained according to the file operation information, the plurality of file operation information stored in the cache protection area may be deleted.

本発明の実施形態において、ファイル処理要求に対応するすべての複数のファイル操作情報は、キャッシュ保護領域に書き込まれる。前記キャッシュ保護領域がデータ保護機能を提供するので、第1コントローラに障害が生じた後に電源が再び入れられた場合、前記複数のファイル操作情報は、前記キャッシュ保護領域から復元することができ、前記複数のファイル操作情報にしたがってデータ情報が取得されるとともに第1ライトキャッシュに書き込まれる。すべての前記複数のファイル操作情報が前記キャッシュ保護領域に書き込まれるため、前記第1コントローラに障害が生じた後、再び電源が入った場合に前記キャッシュ保護領域から復元されるファイル操作情報もまた、全て揃っている。したがって、前記複数のファイル操作情報に従って取得される前記データ情報はアトミックであり、ホスト又はメモリにより直接アクセスし得る。従来技術においては、第1ライトキャッシュのデータ情報は、アトミックではなく、そしてメモリのデータだけがアトミックである。したがって、従来技術において、前記第1ライトキャッシュの前記データ情報は、ホストにより直接アクセスすることができず、対応するデータは前記ホストに提供される前に前記メモリから読み出さなければならない。従来技術と比較し、本発明の実施形態は、ホストのデータアクセス効率性を改善する。   In the embodiment of the present invention, all the plurality of file operation information corresponding to the file processing request is written in the cache protection area. Since the cache protection area provides a data protection function, when the power is turned on again after a failure of the first controller, the plurality of file operation information can be restored from the cache protection area, Data information is acquired and written to the first write cache according to a plurality of file operation information. Since all the plurality of file operation information are written in the cache protection area, the file operation information restored from the cache protection area when the power is turned on again after a failure occurs in the first controller, Everything is complete. Therefore, the data information acquired according to the plurality of file operation information is atomic and can be directly accessed by the host or the memory. In the prior art, the data information in the first write cache is not atomic, and only the data in the memory is atomic. Therefore, in the prior art, the data information of the first write cache cannot be directly accessed by the host, and the corresponding data must be read from the memory before being provided to the host. Compared to the prior art, embodiments of the present invention improve the host's data access efficiency.

前述の実施形態において、ステップ26を実行した後、前記第1コントローラも、前記第1ライトキャッシュに格納されている前記データ情報に従って、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを取得でき、前記データ及び前記メタデータを前記メモリに書き込むことができる。前記第1ライトキャッシュの容量が限定されているため、一般には、前記第1ライトキャッシュの前記データが一定の閾値に達する場合、前記第1ライトキャッシュに格納されている前記データは、前記メモリに書き込まれ得る。   In the foregoing embodiment, after executing step 26, the first controller also stores all the data and the metadata corresponding to the file processing request according to the data information stored in the first write cache. The data and the metadata can be written to the memory. Since the capacity of the first write cache is limited, in general, when the data in the first write cache reaches a certain threshold, the data stored in the first write cache is stored in the memory. Can be written.

オプションとして、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記メモリに書き込まれる場合、前記メモリに書き込まれない情報は、現在、前記メモリに書き込まれていないデータを示すために格納してもよい。前記第1コントローラに前記データ及び前記メタデータが前記メモリに書き込まれる処理において障害があるならば、前記メモリに書き込まれていない前記情報を前記メモリの前記保護領域に書き込むために、前記電源障害保護プログラムが使用されてもよい。前記第1コントローラの電源が再び入った後、前記メモリに書き込まれていない前記データは、前記メモリに書き込まれていない前記情報に従って取得でき、前記メモリに書き込まれていない前記データは、前記メモリに連続的に書き込まれる。したがって、これにより、前記メモリに既に書き込まれているデータを繰り返し書き込むことを避けられ、データの書き込み効率が改善される。   Optionally, when all the data and the metadata corresponding to the file processing request are written to the memory, information not written to the memory is stored to indicate data that is not currently written to the memory May be. If there is a failure in the process of writing the data and the metadata to the memory in the first controller, the power failure protection is provided to write the information that has not been written to the memory into the protection area of the memory. A program may be used. After the first controller is turned on again, the data not written to the memory can be obtained according to the information not written to the memory, and the data not written to the memory is stored in the memory. Written continuously. Accordingly, it is possible to avoid repetitively writing data already written in the memory, thereby improving data writing efficiency.

オプションとして、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記メモリに書き込まれた後、前記メモリに書き込まれていない前記情報は削除してもよい。   Optionally, after all the data and the metadata corresponding to the file processing request have been written to the memory, the information not written to the memory may be deleted.

加えて、本発明の実施形態は2つのコントローラを備えたストレージシステムにも適用できる。図4に示されているように、前記ストレージシステムは、少なくとも1つのアプリケーションサーバ11(図3では3台示されている)と、2つのコントローラ22と、1つのメモリ33を備えている。   In addition, the embodiment of the present invention can be applied to a storage system including two controllers. As shown in FIG. 4, the storage system includes at least one application server 11 (three are shown in FIG. 3), two controllers 22, and one memory 33.

前記アプリケーションサーバ11、前記コントローラ22、及び前記メモリ33の構造及び機能は、前述した実施形態において説明したそれらと同様であり、詳細は繰り返して説明しない。   The structures and functions of the application server 11, the controller 22, and the memory 33 are the same as those described in the above-described embodiment, and details thereof will not be described repeatedly.

違いは、本発明の実施形態は、2つのコントローラ22を含むことができることであり、前記2つのコントローラ22は、同じ物理的構造及び機能を備え、前記アプリケーションサーバ11により送信されたファイル処理要求を受信でき、前記メモリ33に格納されているデータにアクセスする。加えて、前記2つのコントローラ22は互いに通信してもよく、例えば、ミラーチャネル又は他の方法を通じてデータを転送する。   The difference is that the embodiment of the present invention can include two controllers 22, which have the same physical structure and function, and that can handle file processing requests sent by the application server 11. Data that can be received and stored in the memory 33 is accessed. In addition, the two controllers 22 may communicate with each other, for example, transferring data through a mirror channel or other method.

説明を容易にするため、前記2つのコントローラ22を第1コントローラと、第2コントローラとに分類する。前記第1コントローラに含まれているライトキャッシュを、第1ライトキャッシュと呼ぶことにし、前記第2コントローラに含まれているライトキャッシュを第2ライトキャッシュと呼ぶ。   For ease of explanation, the two controllers 22 are classified into a first controller and a second controller. The write cache included in the first controller is referred to as a first write cache, and the write cache included in the second controller is referred to as a second write cache.

前記第2ライトキャッシュは、前記第1ライトキャッシュと同様のハードウェア構造を有している。前記第1コントローラがプライマリコントローラであり、前記第2コントローラがセカンダリコントローラである場合、前記第2ライトキャッシュの属性は、ミラーであり、前記第2ライトキャッシュは、前記第1コントローラにより送信されるデータを受信するように構成されている。この場合において、前記第2ライトキャッシュのデータは、前記ホストに提供されたり、前記メモリに書き込まれたりしない。前記第2コントローラがプライマリコントローラであり、前記第1コントローラがセカンダリコントローラである場合、前記第2ライトキャッシュの属性は、ローカルである。この場合において、前記第2ライトキャッシュの前記データは、前記ホストに提供でき、又は、前記メモリに書き込むことができる。   The second write cache has the same hardware structure as the first write cache. When the first controller is a primary controller and the second controller is a secondary controller, the attribute of the second write cache is a mirror, and the second write cache is data transmitted by the first controller. Is configured to receive. In this case, the data in the second write cache is not provided to the host or written to the memory. When the second controller is a primary controller and the first controller is a secondary controller, the attribute of the second write cache is local. In this case, the data of the second write cache can be provided to the host or written to the memory.

オプションとして、本発明の実施形態は、前記第1コントローラにより、前記複数のファイル操作情報を前記第2コントローラに送信することをさらに含んでよい。   Optionally, the embodiment of the present invention may further include transmitting the plurality of file operation information to the second controller by the first controller.

オプションとして、前記第1コントローラは、ステップ22の後に、前記複数のファイル操作情報を前記第2コントローラに送信しうる。前記複数のファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータであってよい。具体的には、前記第1コントローラは、ミラーメッセージを前記第2コントローラに送信しうる。前記ミラーメッセージは、前記複数のファイル操作情報を含む。又は、前記第1コントローラが前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作を別々に処理する場合、前記第1コントローラは、ファイル操作を処理するとともに対応データを毎回生成した後、ミラーメッセージを前記第2コントローラに送信し得る。前記ミラーメッセージは、前記ファイル操作に対応するデータを含む。最後のミラーメッセージを前記第2コントローラに送信後、前記第1コントローラは、前記複数のファイル操作情報が既に送信されていることを前記第2コントローラに通知するために、確認メッセージを前記第2コントローラに送信し得る。   Optionally, the first controller may send the plurality of file operation information to the second controller after step 22. The plurality of file operation information may be all the data and the metadata corresponding to the file processing request. Specifically, the first controller may send a mirror message to the second controller. The mirror message includes the plurality of file operation information. Alternatively, when the first controller divides the file processing request into a plurality of file operations and processes each file operation separately, the first controller processes the file operation and generates corresponding data every time. , A mirror message may be sent to the second controller. The mirror message includes data corresponding to the file operation. After sending the last mirror message to the second controller, the first controller sends a confirmation message to the second controller to notify the second controller that the plurality of file operation information has already been sent. Can be sent to.

オプションとして、前記第1コントローラは、ステップ23の後、前記複数のファイル操作情報を前記第2コントローラに送信してもよい。送信方法について、前記第1コントローラがミラーメッセージを前記第2コントローラに送信し、前記ミラーメッセージは、前記複数のファイル操作情報を含んでいる、又は、前記第1コントローラは、複数のミラーメッセージを前記第2コントローラに送信し、各ミラーメッセージはファイル操作に対応するデータを含んでいる。最後のミラーメッセージを前記第2コントローラに送信した後、前記第1コントローラは、前記複数のファイル操作情報が既に送信されていることを前記第2コントローラに通知するために、確認メッセージを前記第2コントローラに送信する。   As an option, the first controller may transmit the plurality of file operation information to the second controller after step 23. Regarding the transmission method, the first controller transmits a mirror message to the second controller, and the mirror message includes the plurality of file operation information, or the first controller transmits the plurality of mirror messages to the second controller. Sent to the second controller, each mirror message contains data corresponding to the file operation. After sending the last mirror message to the second controller, the first controller sends a confirmation message to the second controller to notify the second controller that the plurality of file operation information has already been sent. Send to controller.

オプションとして、前記第1コントローラは、ステップ24の後、前記複数のファイル操作情報を前記第2コントローラに送信してもよい。具体的な送信方法としては、上述の方法と同様であり、詳細は繰り返して説明しない。   As an option, the first controller may transmit the plurality of file operation information to the second controller after step 24. The specific transmission method is the same as that described above, and details will not be repeated.

前記複数のファイル操作情報を受信した後、前記第2コントローラは、まず、前記複数のファイル操作情報を前記キャッシュ保護領域に書き込み、前記複数のファイル操作情報が前記キャッシュ保護領域に既に正常に書き込まれた後、前記データ情報を第2ライトキャッシュに書き込む。前記データ情報は、前記キャッシュ保護領域に格納されている、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータを指すか、又はすべての前記データ及び前記ファイル処理要求に対応する前記メタデータのアドレスを指す。前記キャッシュ保護領域は、前記第2コントローラに含まれているキャッシュ保護領域を指すことに注意すべきである。   After receiving the plurality of file operation information, the second controller first writes the plurality of file operation information into the cache protection area, and the plurality of file operation information has already been normally written into the cache protection area. After that, the data information is written into the second write cache. The data information refers to all the data and the metadata corresponding to the file processing request stored in the cache protection area, or all the data and the metadata corresponding to the file processing request Points to the address. It should be noted that the cache protection area refers to a cache protection area included in the second controller.

したがって、前記第2ライトキャッシュに格納されているデータ情報は、前記第1ライトキャッシュに格納されている前記データ情報と一致する。前記第1コントローラに障害がある場合、前記第2コントローラは、前記第1コントローラに置き換えて作業を続けられるように、前記第2ライトキャッシュの前記属性をローカルに変更する。例えば、前記第2ライトキャッシュに格納されている前記データ情報にしたがって、前記ファイル処理要求に対応する操作が前記メモリに対し実行されるか、又は前記第2ライトキャッシュに格納されている前記データ情報が前記ホストに提供される。   Therefore, the data information stored in the second write cache matches the data information stored in the first write cache. If there is a failure in the first controller, the second controller changes the attribute of the second write cache locally so that the operation can be continued by replacing the first controller. For example, according to the data information stored in the second write cache, an operation corresponding to the file processing request is executed on the memory, or the data information stored in the second write cache Is provided to the host.

従来技術において、前記第1コントローラに障害がある場合、前記第2コントローラは、まず、前記メモリからログ情報を読み出す必要があり、前記ログ情報に従って前記データ情報を取得し、その後、前記ホストに前記情報を提供する。本発明の実施形態においては、前記第1コントローラに障害がある場合、前記第2コントローラは、前記ホストに対し、前記第2ライトキャッシュに格納されている前記データ情報を直接提供してもよい。以上から分かるように、本発明の実施形態においては前記ホストの前記データアクセス効率性が改善される。   In the prior art, when there is a failure in the first controller, the second controller must first read log information from the memory, obtain the data information according to the log information, and then send the data to the host. Provide information. In an embodiment of the present invention, when there is a failure in the first controller, the second controller may directly provide the data information stored in the second write cache to the host. As can be seen from the above, in the embodiment of the present invention, the data access efficiency of the host is improved.

以下では、本発明の実施形態に従う他のデータ格納方法を詳細に説明する。前記方法は、ストレージシステムに適用される。前記ストレージシステムは、ストレージデバイスと、ホストと、を含んでいる。前記ストレージデバイスは、第1コントローラと、第2コントローラと、メモリと、を備えている。前記第2コントローラは、ライトキャッシュ及びキャッシュ保護領域を具備している。前記ライトキャッシュ及び前記キャッシュ保護領域は、データ保護機能を提供する。図5に示されているように、前記方法は、以下を含む:   Hereinafter, another data storage method according to the embodiment of the present invention will be described in detail. The method is applied to a storage system. The storage system includes a storage device and a host. The storage device includes a first controller, a second controller, and a memory. The second controller includes a write cache and a cache protection area. The write cache and the cache protection area provide a data protection function. As shown in FIG. 5, the method includes:

ステップ51: 前記第1コントローラは、ファイル処理要求を受信し、前記ファイル処理要求を、複数のファイル操作に分割し、それぞれのファイル操作に対し別々にファイル処理を実行し、複数のファイル操作情報を生成する。   Step 51: The first controller receives a file processing request, divides the file processing request into a plurality of file operations, executes file processing separately for each file operation, and stores a plurality of file operation information. Generate.

前記ファイル処理要求は、アプリケーションサーバ(ホスト、とも称される)により送信される。前記ファイル処理要求の操作タイプは、例えば、ファイル書き込み要求、ファイル修正要求、ファイル作成要求、又はファイル削除要求等の、前記メモリに格納されているデータを修正するためのファイル処理要求でありうるがここでは限定しない。異なるファイル処理要求は、異なるパラメータを含みうる。例えば、ファイル書き込み要求を一例として使用すると、前記ファイル書き込み要求は、ファイルID、ファイルオフセット(offset)、ファイル長(length)、書き込まれるデータなどのパラメータを含んでいる。   The file processing request is transmitted by an application server (also referred to as a host). The operation type of the file processing request may be, for example, a file processing request for correcting data stored in the memory, such as a file write request, a file correction request, a file creation request, or a file deletion request. There is no limitation here. Different file processing requests may include different parameters. For example, when a file write request is used as an example, the file write request includes parameters such as a file ID, a file offset (offset), a file length (length), and data to be written.

ファイルシステムを有するストレージデバイスにおいて、前記ファイルシステムは、前記ファイル処理要求を処理する場合、前記ファイル処理要求の操作タイプに従って、ファイル処理要求を複数のファイル操作に分割する必要がしばしばある。例えば、前記ファイルシステムはファイル書き込み要求を、データ修正ファイル操作と、メタデータ修正ファイル操作とに分割する必要がある。他の例では、前記ファイルシステムは、ファイル作成要求を、親ディレクトリ修正ファイル操作と、ファイル作成ファイル操作とに分割する必要がある。さらに別の例では、前記ファイルシステムは、ファイル名変更要求をソースディレクトリ修正ファイル操作と、更新先ディレクトリ修正ファイル操作とに分割する必要がある。   In a storage device having a file system, when the file system processes the file processing request, it is often necessary to divide the file processing request into a plurality of file operations according to the operation type of the file processing request. For example, the file system needs to divide a file write request into a data correction file operation and a metadata correction file operation. In another example, the file system needs to split a file creation request into a parent directory modification file operation and a file creation file operation. In yet another example, the file system needs to split a file name change request into a source directory modification file operation and an update destination directory modification file operation.

オプションとして、前記ファイルシステムは、前記ファイル処理要求の前記操作タイプに従って、前記ファイル処理要求を前記複数のファイル操作に分割し、それぞれのファイル操作を別々に実行する場合、すべてのデータエントリの数、及び、前記ファイル処理要求に対応するメタデータエントリの数を記録してよい。   Optionally, when the file system divides the file processing request into the plurality of file operations according to the operation type of the file processing request and executes each file operation separately, the number of all data entries, The number of metadata entries corresponding to the file processing request may be recorded.

ファイル処理要求を処理する場合、前記第1コントローラは、前記ファイル処理要求から分離されたそれぞれのファイル操作に対し、意味変換又は他のファイル処理を連続的に実際に実行することは理解し得る。ファイル操作を処理するごとに、前記第1コントローラは、前記ファイル操作に対応するデータ及びメタデータを一時的キャッシュに書き込む。したがって、前記第1コントローラが最後のファイル操作を処理し、前記最後のファイル操作に対応するデータ及び前記メタデータを前記一時的キャッシュに書き込んだ後、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータも前記一時的キャッシュに書き込まれる。したがって、本発明の実施形態において、前記一時的キャッシュに格納されているデータは、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータである。同様に、本発明の実施形態において、前記複数のファイル操作情報は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータである。   When processing a file processing request, it can be understood that the first controller actually performs semantic conversion or other file processing continuously for each file operation separated from the file processing request. Each time a file operation is processed, the first controller writes data and metadata corresponding to the file operation into a temporary cache. Accordingly, after the first controller processes the last file operation and writes the data and metadata corresponding to the last file operation to the temporary cache, it responds to all the data and the file processing request. The metadata is also written to the temporary cache. Therefore, in the embodiment of the present invention, the data stored in the temporary cache is all the data and the metadata corresponding to the file processing request. Similarly, in the embodiment of the present invention, the plurality of file operation information is all the data and the metadata corresponding to the file processing request.

異なるファイル処理要求において、前記異なるファイル処理要求に対し生成されたファイル操作情報もまた異なる。前記ファイル処理要求がファイル書き込み要求の場合、前記ファイル処理要求のファイル操作情報は、前記ファイル書き込み要求において搬送される書き込まれるデータ、メタデータ等でありうる。前記ファイル処理要求がファイル修正要求の場合、前記ファイル修正要求のファイル操作情報は、前記ファイル修正要求において搬送される、書き込まれるデータ、メタデータ等でありうる。前記ファイル処理要求がファイル作成要求の場合、前記ファイル作成要求のファイル操作情報は、ディレクトリ情報、メタデータなどでありうる。前記ファイル処理要求がファイル削除要求の場合、前記ファイル削除要求のファイル操作情報は、ファイルスペースを解放するための特別なページデータ、削除後の前記データ及びメタデータなどでありうる。   In different file processing requests, the file operation information generated for the different file processing requests is also different. When the file processing request is a file writing request, the file operation information of the file processing request may be written data, metadata, or the like carried in the file writing request. When the file processing request is a file correction request, the file operation information of the file correction request may be data to be written, metadata, or the like carried in the file correction request. When the file processing request is a file creation request, the file operation information of the file creation request may be directory information, metadata, or the like. When the file processing request is a file deletion request, the file operation information of the file deletion request may be special page data for releasing a file space, the deleted data and metadata, and the like.

以下のステップは、ファイル書き込み要求を一例として使用して説明されている。前記ファイル書き込み要求において、前記ファイル書き込み要求において生成されるファイル操作情報は、ファイルID、ファイルオフセット(offset)、ファイル長(length)、書き込み時間、書き込まれるデータ、などを含んでよい。   The following steps are described using a file write request as an example. In the file write request, the file operation information generated in the file write request may include a file ID, a file offset (offset), a file length (length), a write time, data to be written, and the like.

ステップ52: 前記複数のファイル操作情報を前記第2コントローラに書き込む。   Step 52: Write the plurality of file operation information into the second controller.

オプションとして、前記第1コントローラは、ミラーメッセージを前記第2コントローラに送信してもよい。前記ミラーメッセージは、前記複数のファイル操作情報を含んでいる、又は、前記第1コントローラが前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作を別々に処理する場合、ファイル操作を処理し、対応するデータを毎回生成した後、前記第1コントローラは、ミラーメッセージを前記第2コントローラに送信してもよい。前記ミラーメッセージは、前記ファイル操作に対応するデータを含んでいる。最後のミラーメッセージを前記第2コントローラに送信した後、前記第1コントローラは、前記複数のファイル操作情報が既に送信されていることを前記第2コントローラに通知するために、確認メッセージを前記第2コントローラに送信してよい。   Optionally, the first controller may send a mirror message to the second controller. The mirror message includes the plurality of file operation information, or when the first controller divides the file processing request into a plurality of file operations and processes each file operation separately, the file operation is performed. After processing and generating corresponding data each time, the first controller may send a mirror message to the second controller. The mirror message includes data corresponding to the file operation. After sending the last mirror message to the second controller, the first controller sends a confirmation message to the second controller to notify the second controller that the plurality of file operation information has already been sent. It may be sent to the controller.

ステップ53: 前記第2コントローラは、すべての前記ファイル操作情報を前記キャッシュ保護領域に書き込む。   Step 53: The second controller writes all the file operation information in the cache protection area.

具体的には、前記第2コントローラは、ファイルID、ファイルオフセット、ファイル長、書き込み時間、及び書き込まれるデータなどの前記ファイル操作情報を前記キャッシュ保護領域に書き込んでよい。前記キャッシュ保護領域は、データ保護機能を提供する。ファイル操作情報が前記キャッシュ保護領域に正常に書き込まれる場合、前記ファイル操作情報は、システム障害などを原因として失われない。   Specifically, the second controller may write the file operation information such as a file ID, a file offset, a file length, a writing time, and data to be written into the cache protection area. The cache protection area provides a data protection function. When the file operation information is normally written in the cache protection area, the file operation information is not lost due to a system failure or the like.

前記複数のファイル操作情報を前記キャッシュ保護領域に書き込むことは、すべての前記複数のファイル操作情報が前記キャッシュ保護領域に書き込まれることを示しており、すなわち、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータは、前記キャッシュ保護領域に書き込まれることに注意すべきである。   Writing the plurality of file operation information to the cache protection area indicates that all the plurality of file operation information is written to the cache protection area, that is, to all the data and the file processing request. It should be noted that the corresponding metadata is written to the cache protection area.

例えば、前記キャッシュ保護領域は特定のデータ構造を使用することによりデータを格納する。図3に示されているように、前記キャッシュ保護領域のデータは、コントロールリンクの形式において管理され得る。前記コントロールリンクは、複数のコントロールヘッダを含み、それぞれのコントロールヘッダは、ファイル処理要求に対応する。それぞれのコントロールヘッダのもとには、複数のスロット(slots)がマウントされており、各スロットは、各データ又は前記ファイル処理要求に対応する各メタデータを格納するために使用される。   For example, the cache protection area stores data by using a specific data structure. As shown in FIG. 3, the data in the cache protection area can be managed in the form of a control link. The control link includes a plurality of control headers, and each control header corresponds to a file processing request. A plurality of slots are mounted under each control header, and each slot is used to store each data or each metadata corresponding to the file processing request.

具体的には、前記ファイル操作情報をトラバースしうる。まず、1つのスロットが前記コントロールリンクにおける第1のデータ(例えば、ファイルID)のために要求され、前記スロットが正常に要求された後、前記第1のデータが前記スロットに書き込まれる。そして、1つのスロットが第2のデータ(例えば、オフセット)のために要求され、前記スロットが正常に要求された後、前記第2のデータが前記スロットに書き込まれる。残りも、前記ファイル操作情報の最後のデータがスロットに書き込まれるまで、同様に処理される。そして、前記ファイル処理要求に対応するコントロールヘッダが前記コントロールリンクに追加されうる。   Specifically, the file operation information can be traversed. First, one slot is requested for first data (eg, file ID) in the control link, and after the slot is successfully requested, the first data is written to the slot. One slot is then requested for second data (eg, offset), and after the slot is successfully requested, the second data is written to the slot. The rest is processed in the same manner until the last data of the file operation information is written in the slot. A control header corresponding to the file processing request may be added to the control link.

前記ファイル処理要求に対応する前記コントロールヘッダが前記コントロールリンクに追加された後は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に正常にすでに書き込まれていることを示している。   After the control header corresponding to the file processing request is added to the control link, all the data and the metadata corresponding to the file processing request have already been normally written in the cache protection area. Is shown.

他の例として、前記キャッシュ保護領域の前記データは、二分木の形式において管理されうる。前記二分木は、複数のルートノードを含み、各ルートノードはファイル処理要求に対応する。各ルートノードには、複数の終端ノードがマウントされている。それぞれの終端ノードは、それぞれのデータ又は前記ファイル処理要求に対応するそれぞれのメタデータを格納するために使用される。   As another example, the data in the cache protection area may be managed in the form of a binary tree. The binary tree includes a plurality of root nodes, and each root node corresponds to a file processing request. A plurality of terminal nodes are mounted on each root node. Each end node is used to store respective data or respective metadata corresponding to the file processing request.

具体的には、前記ファイル操作情報は、トラバースされ得る。まず、1つの終端ノードが前記二分木における第1のデータ(例えば、ファイルID)のために要求され、前記終端ノードが正常に要求された後、前記第1のデータが前記終端ノードに書き込まれる。そして、1つの終端ノードが第2のデータ(例えば、オフセット)のために要求され、前記終端ノードが正常に要求された後、前記第2のデータが前記終端ノードに書き込まれる。残りも最後のデータが終端ノードに書き込まれるまで同様に処理される。そして、前記ファイル処理要求に対応するルートノードが、前記二分木に追加され得る。   Specifically, the file operation information can be traversed. First, one terminal node is requested for the first data (eg, file ID) in the binary tree, and after the terminal node is successfully requested, the first data is written to the terminal node. . One termination node is then requested for second data (eg, offset), and after the termination node has been successfully requested, the second data is written to the termination node. The rest is processed in the same manner until the last data is written to the terminal node. A root node corresponding to the file processing request may be added to the binary tree.

前記ファイル処理要求に対応するルートノードが前記二分木に追加された後は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域にすでに正常に書き込まれていることを示している。   After the root node corresponding to the file processing request is added to the binary tree, all the data and the metadata corresponding to the file processing request are already normally written in the cache protection area. Show.

コントロールリンク又は二分木は、キャッシュ保護領域で使用されるデータを格納するためのデータ構造の様式である。加えて、Bツリー、B+ツリー、赤黒木などのデータ構造がデータを格納するために使用されてもよいが、ここでは限定しない。   The control link or binary tree is a data structure format for storing data used in the cache protection area. In addition, data structures such as B-trees, B + trees, red and black trees may be used to store data, but are not limited here.

あるいは、前記キャッシュ保護領域は、コントロールリンク又は二分木などのデータ構造を使用してデータを格納する必要はない。前記第1コントローラは、前記ファイル操作情報をトラバースしうる。まず、前記第1コントローラは、前記キャッシュ保護領域における第1のデータ(例えば、ファイルID)のための記憶域スペースを要求し、前記記憶域スペースが正常に要求された後、前記キャッシュ保護領域の記憶域スペースに前記第1のデータを書き込む。そして、前記第1コントローラは、前記キャッシュ保護領域の第2のデータ(例えば、オフセット)のための記憶域スペースを要求し、前記記憶域スペースが正常に要求された後、前記キャッシュ保護領域の前記記憶域スペースに前記第2のデータを書き込む。残りは、前記キャッシュ保護領域の前記記憶域スペースに最後のデータが書き込まれるまで同様に処理する。そして、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが、正常に前記キャッシュ保護領域にすでに書きこまれたことを示すように、フラグ(例えば、真(true))が前記キャッシュ保護領域に格納される前記ファイル操作情報にセットされ得る。オプションとして、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータが前記キャッシュ保護領域に書き込まれたとは限らない場合、他のフラグ(例えば、偽(false))がセットされてよい。   Alternatively, the cache protection area does not have to store data using a data structure such as a control link or a binary tree. The first controller may traverse the file operation information. First, the first controller requests a storage space for first data (for example, a file ID) in the cache protection area, and after the storage space is normally requested, the first controller Write the first data to the storage space. And the first controller requests a storage space for second data (eg, offset) in the cache protection area, and after the storage space is normally requested, the cache protection area Write the second data into the storage space. The rest is processed in the same manner until the last data is written in the storage space of the cache protection area. And a flag (eg, true) is set to the cache protection to indicate that all the data and the metadata corresponding to the file processing request have been successfully written to the cache protection area. The file operation information stored in the area can be set. Optionally, other flags (eg, false) may be set if not all the data and the metadata corresponding to the file processing request have been written to the cache protection area.

あるいは、前記ファイルシステムが前記ファイル処理要求を別々に処理するために複数のファイル操作に分割する場合、前記ファイルシステムは、前記ファイル操作情報に含まれているすべてのデータエントリ及びメタデータエントリの数の統計を収集し、記録し、カウンタ又は同様の機能を備えた前記第2コントローラ内のソフトウェアモジュールをセットしてもよい。前記カウンタの初期値は0である。前記ファイル操作情報に含まれている各データは、前記キャッシュ保護領域の前記要求された記憶域スペースに連続的に書き込まれる。データが正常に書き込まれる毎に、前記カウンタの値は1ずつ増加する。前記カウンタの値が前記ファイル操作情報に含まれるすべての前記データエントリ及び前記メタデータエントリの記録されている数と等しければ、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータは、前記キャッシュ保護領域に正常に既に書き込まれていることを示している。   Alternatively, when the file system divides the file processing request into a plurality of file operations in order to process the file processing requests separately, the file system includes the number of all data entries and metadata entries included in the file operation information. A software module in the second controller may be set that collects, records, and counters or similar functions. The initial value of the counter is zero. Each data included in the file operation information is continuously written in the requested storage space of the cache protection area. Each time data is normally written, the counter value is incremented by one. If the value of the counter is equal to the recorded number of all the data entries and the metadata entries included in the file operation information, all the data and the metadata corresponding to the file processing request are This indicates that data has already been successfully written to the cache protection area.

ステップ54: 前記第2コントローラは、前記ファイル操作情報にしたがってデータ情報を取得し、前記データ情報を前記ライトキャッシュに書き込む。   Step 54: The second controller acquires data information according to the file operation information, and writes the data information to the write cache.

具体的には、前記データ情報は、前記キャッシュ保護領域に格納されている、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータであるか、又は、すべての前記データ及び前記ファイル処理要求に対応する前記メタデータのアドレスである。   Specifically, the data information is the metadata corresponding to all the data and the file processing request stored in the cache protection area, or all the data and the file processing request. The address of the metadata corresponding to.

前記第1コントローラに障害がある場合、前記第2コントローラは、前記ライトキャッシュに格納されている前記データ情報を前記ホストに対し提供するか、又は、前記ファイル処理要求に対応する操作、例えばファイル作成、ファイル削除、ファイルに書き込み、を前記メモリに対し実行する。   If there is a failure in the first controller, the second controller provides the data information stored in the write cache to the host, or an operation corresponding to the file processing request, eg, file creation , Delete file, write to file, and execute to the memory.

ステップ53は、オプションのステップであり、前記データ情報を前記ライトキャッシュに書き込む処理において前記第2コントローラに障害がある場合、前記キャッシュ保護領域内に格納されている前記複数のファイル操作情報に従って前記データ情報を復元し、前記データ情報を前記ライトキャッシュに書き込むために使用されることに注意すべきである。   Step 53 is an optional step, and when there is a failure in the second controller in the process of writing the data information to the write cache, the data according to the plurality of file operation information stored in the cache protection area Note that it is used to recover information and write the data information to the write cache.

同様に、本発明の実施形態は、
前記第2コントローラに障害がある場合、前記キャッシュ保護領域に対応するデータ構造に従って、前記キャッシュ保護領域が前記複数のファイル操作情報を含んでいることを判定し、電源障害保護プログラムを使用することにより、前記複数のファイル操作情報を前記メモリの保護領域に格納するか、又は、
前記第2コントローラに障害がある場合、前記フラグに従って、前記キャッシュ保護領域が前記複数のファイル操作情報を含んでいることを判定し、電源障害保護プログラムを使用することにより、前記複数のファイル操作情報を前記メモリの保護領域に格納することを含んでよい。
Similarly, embodiments of the present invention
When there is a failure in the second controller, according to a data structure corresponding to the cache protection area, it is determined that the cache protection area includes the plurality of file operation information, and a power failure protection program is used. Storing the plurality of file operation information in a protected area of the memory, or
When there is a failure in the second controller, it is determined that the cache protection area includes the plurality of file operation information according to the flag, and the plurality of file operation information is obtained by using a power failure protection program. In the protected area of the memory.

具体的な実施態様については、前述の実施形態におけるステップ23からステップ26を参照することとし、ここでは再び詳細には説明しない。   For specific embodiments, refer to Steps 23 to 26 in the above-described embodiment, and will not be described in detail again here.

オプションとして、本発明の実施形態は、前記第1コントローラが前記複数のファイル操作情報を前記第1コントローラの前記キャッシュ保護領域に書き込んだ後、前記第1コントローラに障害があり、再び電源が入った場合、前記第1コントローラの前記キャッシュ保護領域から前記複数のファイル操作を復元し、前記ファイル操作情報に従って、前記データ情報を取得し、前記データ情報を前記第1コントローラの前記ライトキャッシュに書き込むことも含んでよい。具体的な実施態様については、前述の実施形態におけるステップ23からステップ26を参照することとし、ここでは再び詳細には説明しない。   As an option, in an embodiment of the present invention, after the first controller writes the plurality of file operation information to the cache protection area of the first controller, the first controller is faulty and turned on again. The plurality of file operations may be restored from the cache protection area of the first controller, the data information may be acquired according to the file operation information, and the data information may be written to the write cache of the first controller. May include. For specific embodiments, refer to Steps 23 to 26 in the above-described embodiment, and will not be described in detail again here.

従来技術において、データ不可分性は、前記メモリにおいて保証されており、前記ライトキャッシュのデータは、直接前記ホストに対し提供できない。したがって、前記第1コントローラに障害がある場合、前記第2コントローラは、前記メモリから対応するログ情報を読み出し、前記ログ情報に従って、前記ライトキャッシュから前記データ情報を復元し、前記情報を前記ホストに提供する必要がある。しかし、本発明の実施形態において、障害が生じる前に、前記第1コントローラが前記複数のファイル操作情報を前記第2コントローラに送信し、前記第2コントローラが前記複数のファイル操作情報に従って、前記データ情報を取得し、前記データ情報を前記ライトキャッシュに書き込むので、前記第1コントローラに障害がある場合、前記第2コントローラは、前記ライトキャッシュのデータを前記ホストに直接提供できる、又は、前記ファイル処理要求に対応する操作を前記メモリに対し実行し得る。   In the prior art, data inseparability is guaranteed in the memory, and the data in the write cache cannot be provided directly to the host. Therefore, if there is a failure in the first controller, the second controller reads the corresponding log information from the memory, restores the data information from the write cache according to the log information, and sends the information to the host. Need to provide. However, in an embodiment of the present invention, before the failure occurs, the first controller transmits the plurality of file operation information to the second controller, and the second controller transmits the data according to the plurality of file operation information. Since the information is acquired and the data information is written to the write cache, the second controller can directly provide the data of the write cache to the host when there is a failure in the first controller, or the file processing An operation corresponding to the request may be performed on the memory.

[本発明の実施形態による装置]
本発明の実施形態は、データストレージ装置を提供し、図6に示すように、前記装置は、
ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作に対してファイル処理を別々に実行し、複数のファイル操作情報を生成するように構成されているファイル処理モジュール61と、
すべての前記複数のファイル操作情報をキャッシュ保護領域に書き込むように構成されているライティングモジュール62と、
前記第1コントローラに障害が発生した後、電源が再び入った場合、前記キャッシュ保護領域から前記複数のファイル操作情報を復元するように構成されている復元モジュール63と、を含み、
前記ライティングモジュール62は、前記ホストが前記データ情報にアクセスできるように、前記複数のファイル操作情報に従ってデータ情報を取得し、前記データ情報を第1ライトキャッシュに書き込むようにさらに構成されている。
[Apparatus according to an embodiment of the present invention]
An embodiment of the present invention provides a data storage device, as shown in FIG.
A file configured to receive a file processing request, divide the file processing request into a plurality of file operations, execute the file processing separately for each file operation, and generate a plurality of file operation information A processing module 61;
A writing module 62 configured to write all the plurality of file operation information to a cache protection area;
A restoration module 63 configured to restore the plurality of file operation information from the cache protection area when the power is turned on again after a failure occurs in the first controller;
The writing module 62 is further configured to acquire data information according to the plurality of file operation information and write the data information to a first write cache so that the host can access the data information.

オプションとして、前記ライティングモジュール62は、
それぞれのファイル操作情報のための前記キャッシュ保護領域内の記憶域スペースを要求し、
それぞれのファイル操作情報を前記要求された記憶域スペースに格納し、
すべての前記複数のファイル操作情報が対応する記憶域スペースに既に格納されていることを判定し、
前記キャッシュ保護領域に対応するデータ構造において、前記複数のファイル操作情報が格納されている前記記憶域スペースにデータを格納するように特に構成されている。
Optionally, the lighting module 62 is
Request storage space in the cache protection area for each file operation information;
Storing each file operation information in the requested storage space;
Determining that all the plurality of file operation information are already stored in the corresponding storage space;
The data structure corresponding to the cache protection area is particularly configured to store data in the storage area where the plurality of file operation information is stored.

オプションとして、前記ライティングモジュール62は、
それぞれのファイル操作情報を前記キャッシュ保護領域に連続的にに送信し、
すべての前記複数のファイル操作情報が前記キャッシュ保護領域に既に送信されていることを判定し、
前記キャッシュ保護領域に受信されている前記複数のファイル操作情報を正常データとしてマークするように特に構成され、
前記正常データは、すべての前記複数のファイル操作情報が前記キャッシュ保護領域に既に書き込まれていることを示すために使用される。
Optionally, the lighting module 62 is
Each file operation information is continuously sent to the cache protection area,
Determining that all of the plurality of file operation information has already been transmitted to the cache protection area;
Particularly configured to mark the plurality of file operation information received in the cache protection area as normal data;
The normal data is used to indicate that all the plurality of file operation information has already been written in the cache protection area.

オプションとして、前記装置は、
前記第1コントローラに障害がある場合、前記キャッシュ保護領域に対応する前記データ構造に従って、前記キャッシュ保護領域が前記複数のファイル操作情報を含んでいることを判定し、電源障害保護プログラム使用することにより、前記複数のファイル操作情報をメモリの保護領域に格納するように構成されている保護モジュール64、または、
前記第1コントローラに障害がある場合、前記フラグに従って、前記キャッシュ保護領域が前記複数のファイル操作情報を含んでいることを判定し、電源障害保護プログラムを使用することにより、前記複数のファイル操作情報をメモリの保護領域に格納するように構成されている保護モジュール64、をさらに具備してもよい。
Optionally, the device is
When there is a failure in the first controller, it is determined that the cache protection area includes the plurality of file operation information according to the data structure corresponding to the cache protection area, and a power failure protection program is used. A protection module 64 configured to store the plurality of file operation information in a protection area of a memory, or
When there is a failure in the first controller, it is determined according to the flag that the cache protection area includes the plurality of file operation information, and the plurality of file operation information is obtained by using a power failure protection program. May be further included in the protection area 64 of the memory.

オプションとして、前記装置は、
前記キャッシュ保護領域内に格納されている前記複数のファイル操作情報を削除するように構成されている削除モジュール65をさらに具備してもよい。
Optionally, the device is
It may further comprise a deletion module 65 configured to delete the plurality of file operation information stored in the cache protection area.

オプションとして、前記装置は、
前記第2コントローラが、前記複数のファイル操作情報に従って、前記ファイル処理要求に対応するデータ情報を取得し、前記データ情報を前記第2コントローラの前記第2ライトキャッシュに書き込めるように、前記複数のファイル操作情報を前記第2コントローラに送信するように構成されている送信モジュール66をさらに具備してもよい。
Optionally, the device is
The plurality of files so that the second controller can acquire data information corresponding to the file processing request in accordance with the plurality of file operation information and write the data information to the second write cache of the second controller. A transmission module 66 configured to transmit operation information to the second controller may be further included.

本発明の実施形態により提供される前記装置は、前述の実施形態において説明された前記第1コントローラでセットしてよく、前述の実施形態において説明された前記データ格納方法を実行するように構成されている。種々のモジュールの機能の詳細な説明については、前記方法の実施形態においてなされた説明を参照することとし、ここでは再度詳細は説明しない。   The apparatus provided by an embodiment of the present invention may be set by the first controller described in the previous embodiment, and is configured to perform the data storage method described in the previous embodiment. ing. For a detailed description of the function of the various modules, reference is made to the description made in the method embodiment, and details are not described here again.

図7は、本発明の実施形態によるストレージデバイスを示している。前記ストレージデバイスは、第1コントローラ71と、第2コントローラ72と、メモリと、を備え、前記第2コントローラは、ライトキャッシュを具備している。   FIG. 7 illustrates a storage device according to an embodiment of the present invention. The storage device includes a first controller 71, a second controller 72, and a memory, and the second controller includes a write cache.

前記第1コントローラ71は、ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作に分割し、それぞれのファイル操作に対し別々のファイル処理を実行し、複数のファイル操作情報を生成し、前記複数のファイル操作情報を前記第2コントローラ72に送信するように構成されている。   The first controller 71 receives a file processing request, divides the file processing request into a plurality of file operations, executes separate file processing for each file operation, and generates a plurality of file operation information, The plurality of file operation information is transmitted to the second controller 72.

オプションとして、前記第1コントローラ71は、第1ミラーメッセージを前記第2コントローラ72に送信するように特に構成されており、前記第1ミラーメッセージは、前記複数のファイル操作情報を具備する。   Optionally, the first controller 71 is specifically configured to send a first mirror message to the second controller 72, the first mirror message comprising the plurality of file operation information.

オプションとして、前記第1コントローラ72は、複数の第2ミラーメッセージを前記第2コントローラ72に送信するように特に構成されており、それぞれの前記第2ミラーメッセージは、前記複数のファイル操作情報の1つを含んでいる。   Optionally, the first controller 72 is specifically configured to send a plurality of second mirror messages to the second controller 72, each second mirror message including one of the plurality of file operation information. Contains one.

前記第2コントローラ72は、前記第1コントローラ71に障害がある場合、ホストが前記データ情報にアクセスするか、又は、前記メモリに対し前記ファイル処理要求に対応する操作を実行できるように、前記ファイル操作情報に従ってデータ情報を取得し、前記データ情報を前記ライトキャッシュに書き込むように構成されている。   When the first controller 71 has a failure, the second controller 72 can access the data information or execute an operation corresponding to the file processing request on the memory. Data information is acquired according to the operation information, and the data information is written to the write cache.

オプションとして、前記第2コントローラ72は、すべての前記ファイル操作情報を前記キャッシュ保護領域に書き込むようにさらに構成されている。   Optionally, the second controller 72 is further configured to write all the file operation information to the cache protection area.

具体的には、前記第2コントローラ72は、それぞれのファイル操作情報のための前記キャッシュ保護領域内の記憶域スペースを要求し、前記要求された記憶域スペースにそれぞれのファイル操作情報を格納し、すべての前記複数のファイル操作情報が対応する記憶域スペースに既に格納されていることを判定し、前記キャッシュ保護領域に対応するデータ構造において、データを前記複数のファイル操作情報が格納されている前記記憶域スペースに格納するように構成されているか、又は、
前記第2コントローラ72は、それぞれのファイル操作情報を前記キャッシュ保護領域に連続的に送信し、すべての前記複数のファイル操作情報が前記キャッシュ保護領域に既に送信されていることを判定し、前記キャッシュ保護領域に受信されている前記複数のファイル操作情報に対応するフラグをセットし、前記フラグは、すべての前記複数のファイル操作情報は前記キャッシュ保護領域に既に書き込まれていることを示すために使用されるように構成されている。
Specifically, the second controller 72 requests storage space in the cache protection area for each file operation information, stores each file operation information in the requested storage space, It is determined that all the plurality of file operation information are already stored in the corresponding storage space, and data is stored in the data structure corresponding to the cache protection area. Configured to store in a storage space, or
The second controller 72 continuously transmits each file operation information to the cache protection area, determines that all the plurality of file operation information has already been transmitted to the cache protection area, Sets a flag corresponding to the plurality of file operation information received in the protection area, and the flag is used to indicate that all the plurality of file operation information has already been written to the cache protection area It is configured to be.

オプションとして、前記第2コントローラ72は、前記キャッシュ保護領域に対応する前記データ構造に従って、前記キャッシュ保護領域は前記複数のファイル操作情報を含んでいることを判定し、電源障害保護プログラムを使用することにより、前記メモリの保護領域の前記複数のファイル操作情報を格納するようにさらに構成されている。   Optionally, the second controller 72 determines that the cache protection area includes the plurality of file operation information according to the data structure corresponding to the cache protection area, and uses a power failure protection program. To further store the plurality of file operation information in the protected area of the memory.

オプションとして、前記第2コントローラ72は、前記フラグに従って、前記キャッシュ保護領域が前記複数のファイル操作情報を含んでいることを判定し、電源障害保護プログラムを使用することにより、前記複数のファイル操作情報を前記メモリの保護領域に格納するようにさらに構成されている。   As an option, the second controller 72 determines that the cache protection area includes the plurality of file operation information according to the flag, and uses the power failure protection program to thereby determine the plurality of file operation information. Is further stored in the protected area of the memory.

本発明の実施形態による前記ストレージデバイスは、前述の実施形態において説明したように、少なくとも2つのコントローラを備え、前述の実施形態において説明された前記データ格納方法を実行するように構成されているストレージデバイスである。前記コントローラの機能の詳細な説明は、前記方法の実施形態においてされた説明を参照することとし、ここでは再度詳細に説明しない。   The storage device according to an embodiment of the present invention comprises at least two controllers as described in the previous embodiments, and is configured to execute the data storage method described in the previous embodiments. It is a device. For a detailed description of the function of the controller, reference is made to the description made in the method embodiment and will not be described in detail again here.

図8は、本発明の実施形態によるストレージデバイスを示している。前記ストレージデバイスは、
プロセッサ101と、メモリ102と、システムバス(単に「バス」とも)105と、通信インターフェース103とを具備している。前記プロセッサ101、前記メモリ102、及び前記通信インターフェース103は、前記システムバス105を使用することにより接続され、互いに通信する。
FIG. 8 illustrates a storage device according to an embodiment of the present invention. The storage device is
A processor 101, a memory 102, a system bus (also simply referred to as “bus”) 105, and a communication interface 103 are provided. The processor 101, the memory 102, and the communication interface 103 are connected by using the system bus 105 and communicate with each other.

前記プロセッサ101は、シングルコア又はマルチコアの中央演算処理ユニット、特定用途向け集積回路(ASIC)、又は本発明の実施形態を実施するように構成されている1つまたは複数の集積回路であってよい。   The processor 101 may be a single-core or multi-core central processing unit, an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. .

前記メモリ102は、例えば、少なくとも1つのディスクメモリなどの、ハイスピードRAMメモリ又は、不揮発性メモリ(non-volatile memory)であってよい。   The memory 102 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.

前記通信インターフェース103は、ストレージデバイスと通信するように構成されている。   The communication interface 103 is configured to communicate with a storage device.

前記メモリ102は、コンピュータ実行命令1021を格納するように構成されている。具体的には、前記コンピュータ実行命令1021は、プログラムコードを含みうる。   The memory 102 is configured to store computer execution instructions 1021. Specifically, the computer execution instruction 1021 may include program code.

コンピュータが実行されている場合、前記プロセッサ101は、前記コンピュータ実行命令1021を実行し、図2に示されている方法のプロシージャを実行できる。   When the computer is running, the processor 101 can execute the computer execution instructions 1021 and execute the procedure of the method shown in FIG.

便利かつ簡潔な説明のために、前述したデバイス及びモジュールの動作処理の詳細は、対応する前述の方法の実施形態における処理を参照することで、当業者であれば明確に理解し得るので、ここでは再度詳細な説明はしない。   For convenience and concise description, details of the operation processing of the devices and modules described above can be clearly understood by those skilled in the art by referring to the processing in the corresponding method embodiment described above. I won't go into detail again.

本発明で提供されるいくつかの実施形態において、開示されたデバイス及び方法は他の方法においても実施し得ることは理解され得る。例えば、説明されたデバイスの実施形態は単なる例示にすぎない。例えば、モジュールの分割は、単なる論理機能による分割であり、実際の実装における他の分割であってもよい。例えば、複数のモジュール又は構成要素は、組み合わせたり、他のデバイスに組み込まれたり、又はいくつかの特徴は無視又は実行されなくてもよい。加えて、表示され、又は考察された相互結合又は直接結合又は通信接続は、いくつかの通信インターフェースを通じて実装してよい。前記デバイス間又はモジュール間の間接結合又は通信接続は、電気的、機械的、または他の形式で実装してよい。   It can be appreciated that in some embodiments provided by the present invention, the disclosed devices and methods may be implemented in other ways. For example, the described device embodiments are merely exemplary. For example, the division of the module is simply a division by a logical function, and may be another division in actual implementation. For example, multiple modules or components may be combined, incorporated into other devices, or some features may not be ignored or performed. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be implemented through several communication interfaces. The indirect coupling or communication connection between the devices or modules may be implemented in electrical, mechanical, or other form.

別々の部分として説明されたモジュールは、物理的に分かれていても、分かれていなくてもよく、モジュールとして示された部分は、物理的なモジュールであってもそうでなくてもよく、一か所に配置されても、複数のネットワークのサブモジュールに対して分散してもよい。全部または一部のモジュールは、前記実施形態のソリューションの目的を達成するための実際の必要性に従って選択してよい。   Modules described as separate parts may or may not be physically separated, and parts shown as modules may or may not be physical modules. Or may be distributed to a plurality of network sub-modules. All or some of the modules may be selected according to the actual need to achieve the purpose of the solution of the above embodiment.

加えて、本発明の実施形態の機能モジュールは、1つの処理モジュールに統合しても、物理的に単体でそれぞれのモジュールが存在していても、又は2以上のモジュールが1つのモジュールに統合されてもよい。   In addition, the functional modules according to the embodiments of the present invention can be integrated into one processing module, each module can be physically present, or two or more modules can be integrated into one module. May be.

前記実施形態のステップの全部又は一部は、ハードウェア又は適切なハードウェアに指示するプログラムにより実施されてもよいことは、当業者であれば理解し得る。前記プログラムは、コンピュータ可読記録媒体に格納されてもよい。前記記録媒体は、読み取り専用メモリ、磁気ディスク、又は光ディスクを含んでもよい。   A person skilled in the art can understand that all or part of the steps of the embodiment may be implemented by hardware or a program instructing appropriate hardware. The program may be stored in a computer readable recording medium. The recording medium may include a read-only memory, a magnetic disk, or an optical disk.

最後に、前述した実施形態は、単に、本発明の技術的ソリューションを説明するためのものであり、本発明を限定するものではないことに注意すべきである。前述の実施形態を参照しながら本発明を詳細に説明したが、当業者であれば、そのような修正又は置換により、技術的ソリューションに対応する本質が本発明の実施形態の技術的ソリューションの範囲から逸脱しない限り、前述の実施形態において説明された技術的ソリューションを修正したり、一部又はすべての技術的特徴に等価な置換をしたりすることができることを理解すべきである。   Finally, it should be noted that the above-described embodiments are merely illustrative of the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the above-described embodiments, those skilled in the art will understand that the nature of the technical solution corresponding to the technical solution is within the scope of the technical solution of the embodiment of the present invention by such modification or replacement. It should be understood that the technical solutions described in the foregoing embodiments can be modified or equivalently replaced with some or all technical features without departing from the above.

11 アプリケーションサーバ
22 コントローラ
33 メモリ
61 ファイル処理モジュール
62 ライティングモジュール
63 復元モジュール
64 保護モジュール
65 削除モジュール
66 送信モジュール
71 第1コントローラ
72 第2コントローラ
101 プロセッサ
102 メモリ
103 通信インターフェース
1021 コンピュータ実行命令
DESCRIPTION OF SYMBOLS 11 Application server 22 Controller 33 Memory 61 File processing module 62 Writing module 63 Restoration module 64 Protection module 65 Deletion module 66 Transmission module 71 1st controller 72 2nd controller 101 Processor 102 Memory 103 Communication interface 1021 Computer execution instruction

Claims (14)

データ格納方法であって、前記方法は、ストレージシステムに適用され、前記ストレージシステムは、ストレージデバイスと、ホストとを具備し、前記ストレージデバイスは、第1コントローラと、第2コントローラと、メモリとを具備し、前記第2コントローラは、データ保護機能を有するキャッシュ保護領域と、ライトキャッシュを具備し、
前記方法は、
前記第1コントローラにより、ファイル処理要求を受信するステップと、
前記第1コントローラにより、前記ファイル処理要求を複数のファイル操作に分割するステップと、
前記第1コントローラにより、それぞれの前記複数のファイル操作に対してファイル処理を別々に実行し、複数のファイル操作情報を生成するステップと、
前記第1コントローラにより、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記第2コントローラへ送信するステップと、
前記第2コントローラにより、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記キャッシュ保護領域に書き込むステップと、
前記第2コントローラにより、電源障害保護プログラムを使用することにより、前記第2コントローラの障害に基づいて、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記メモリの保護領域に格納するステップと、
前記第2コントローラにより、前記第2コントローラが再び電源が入ったことを判定するステップと、
前記第2コントローラにより、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべて前記保護領域から前記キャッシュ保護領域へコピーするステップと、
前記第2コントローラにより、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてに従って、前記ファイル処理要求のデータ情報を取得するステップと、
前記第1コントローラに障害がある場合に、前記ホストが前記データ情報にアクセスするために、前記第2コントローラにより、前記データ情報を前記ライトキャッシュに書き込むステップと、
を具備することを特徴とするデータ格納方法。
A data storage method, the method being applied to a storage system, the storage system comprising a storage device and a host, the storage device comprising a first controller, a second controller, and a memory. The second controller comprises a cache protection area having a data protection function and a write cache;
The method
Receiving a file processing request by the first controller;
Dividing the file processing request into a plurality of file operations by the first controller;
A step of separately executing file processing for each of the plurality of file operations by the first controller to generate a plurality of file operation information;
Transmitting all of the plurality of file operation information corresponding to the file processing request to the second controller by the first controller;
Writing all of the plurality of file operation information corresponding to the file processing request to the cache protection area by the second controller;
By using the power failure protection program by the second controller, all of the plurality of file operation information corresponding to the file processing request are stored in the protected area of the memory based on the failure of the second controller. Steps,
Determining by the second controller that the second controller is powered on again;
Copying all of the plurality of file operation information corresponding to the file processing request from the protection area to the cache protection area by the second controller;
Obtaining data information of the file processing request according to all of the plurality of file operation information corresponding to the file processing request by the second controller;
Writing the data information to the write cache by the second controller for the host to access the data information when the first controller is faulty;
A data storage method comprising:
前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記第2コントローラへ送信する前記ステップが、
前記第1コントローラにより、前記第2コントローラへ第1ミラーメッセージを送信するステップであって、前記第1ミラーメッセージが前記複数のファイル操作情報のすべてを具備する、
請求項1に記載の方法。
The step of transmitting all of the plurality of file operation information corresponding to the file processing request to the second controller;
Sending a first mirror message to the second controller by the first controller, wherein the first mirror message comprises all of the plurality of file operation information;
The method of claim 1.
前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記第2コントローラへ送信する前記ステップが、
前記第1コントローラにより、前記第2コントローラへ複数の第2ミラーメッセージを送信するステップであって、前記第2ミラーメッセージのそれぞれが前記複数のファイル操作情報のすべてのうち1つを具備する、
請求項1に記載の方法。
The step of transmitting all of the plurality of file operation information corresponding to the file processing request to the second controller;
Transmitting a plurality of second mirror messages to the second controller by the first controller, each of the second mirror messages comprising one of all of the plurality of file operation information;
The method of claim 1.
前記第2コントローラにより、前記データ情報を前記ライトキャッシュに書き込む前記ステップが、
ファイル操作情報のそれぞれのために前記キャッシュ保護領域の格納スペースを要求するステップと、
前記ファイル処理要求に対応する複数のファイル操作情報のすべてがキャッシュ保護領域内にあることを示すために、前記要求された格納スペースに格納された前記複数のファイル操作情報をデータ構造にまとめるステップと、
前記キャッシュ保護領域内の前記データ構造を記載する情報を記憶するステップと、を具備する、
請求項1に記載の方法。
The step of writing the data information into the write cache by the second controller;
Requesting storage space in the cache protection area for each of the file operation information;
Combining the plurality of file operation information stored in the requested storage space into a data structure to indicate that all of the plurality of file operation information corresponding to the file processing request are in a cache protection area; ,
Storing information describing the data structure in the cache protected area;
The method of claim 1.
前記第2コントローラにより、前記データ情報を前記ライトキャッシュに書き込む前記ステップが、
連続的に前記キャッシュ保護領域へファイル操作情報のそれぞれを送信するステップと、
前記複数のファイル操作情報のすべてが前記キャッシュ保護領域へ既に送信されていることを判定するステップと、
前記キャッシュ保護領域内の受信された前記複数のファイル操作情報のすべてに対応するフラグを設定するステップであって、前記フラグは、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域へ既に書き込まれていることを示すために使用される、ステップと、を具備する、
請求項1に記載の方法。
The step of writing the data information into the write cache by the second controller;
Continuously transmitting each of the file operation information to the cache protection area;
Determining that all of the plurality of file operation information has already been transmitted to the cache protection area;
Setting a flag corresponding to all of the plurality of file operation information received in the cache protection area, wherein the flag has all of the plurality of file operation information already written to the cache protection area; Used to indicate that
The method of claim 1.
前記複数のファイル操作情報のすべてを前記メモリの前記保護領域に格納する前記ステップの前に、前記方法は、
前記第2コントローラにより、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に格納されていることを、前記キャッシュ保護領域に対応する前記データ構造に基づいて判定するステップと、
をさらに具備する、請求項4に記載の方法。
Prior to the step of storing all of the plurality of file operation information in the protected area of the memory, the method comprises:
Determining, based on the data structure corresponding to the cache protection area, that the second controller has already stored all of the plurality of file operation information in the cache protection area;
The method of claim 4 , further comprising:
前記複数のファイル操作情報のすべてを前記メモリの前記保護領域に格納する前記ステップの前に、前記方法は、
前記第2コントローラにより、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に格納されていることを、フラグに基づいて判定するステップと、
をさらに具備する、請求項5に記載の方法。
Prior to the step of storing all of the plurality of file operation information in the protected area of the memory, the method comprises:
Determining by the second controller, based on a flag, that all of the plurality of file operation information has already been stored in the cache protection area;
The method of claim 5 , further comprising:
ストレージデバイスであって、前記ストレージデバイスは、第1コントローラ、第2コントローラ、メモリを具備し、前記第2コントローラは、データ保護機能を有するキャッシュ保護領域と、ライトキャッシュを具備し、
前記第1コントローラは、ファイル処理要求を受信し、前記ファイル処理要求を複数のファイル操作へ分割し、前記ファイル処理要求に対応する複数のファイル操作情報を生成するためにそれぞれの前記複数のファイル操作に対してファイル処理を別々に実行し、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記第2コントローラへ送信するように構成され、
前記第2コントローラは、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記キャッシュ保護領域に書き込み、前記第2コントローラの障害に基づいて、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてを前記メモリの保護領域に格納し、前記第2コントローラが再び電源が入ったことを判定し、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべて前記保護領域から前記キャッシュ保護領域へコピーし、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてに従って、前記ファイル処理要求のデータ情報を取得し、前記第1コントローラに障害がある場合に、ホストが前記データ情報にアクセスするために、前記データ情報を前記ライトキャッシュに書き込むように構成される、
ストレージデバイス。
A storage device including a first controller, a second controller, and a memory, the second controller including a cache protection area having a data protection function, and a write cache;
It said first controller receives a file processing demand, the split the file processing demand to a plurality of files operations, said plurality corresponding to the file processing request file operation information of the plurality of respective order to produce a file A file process is separately executed for an operation, and all of the plurality of file operation information corresponding to the file process request is transmitted to the second controller.
The second controller writes all of the plurality of file operation information corresponding to the file processing request to the cache protection area, and the plurality of files corresponding to the file processing request based on a failure of the second controller All of the operation information is stored in the protection area of the memory, the second controller determines that the power is turned on again, and all of the plurality of file operation information corresponding to the file processing request is stored in the protection area. The data is copied to the cache protection area, and the data information of the file processing request is obtained according to all of the plurality of file operation information corresponding to the file processing request. Write the data information to the write cache to access the information. Configured to writing,
Storage device.
前記第1コントローラが、前記第2コントローラへ第1ミラーメッセージを送信するように構成され、前記第1ミラーメッセージが前記複数のファイル操作情報のすべてを具備する、
請求項8に記載のストレージデバイス。
The first controller is configured to send a first mirror message to the second controller, the first mirror message comprising all of the plurality of file operation information;
The storage device according to claim 8.
前記第1コントローラが、前記第2コントローラへ複数の第2ミラーメッセージを送信するように特に構成され、前記第2ミラーメッセージのそれぞれが前記複数のファイル操作情報のすべてのうち1つを具備する、
請求項8に記載のストレージデバイス。
The first controller is specifically configured to send a plurality of second mirror messages to the second controller, each of the second mirror messages comprising one of all of the plurality of file operation information;
The storage device according to claim 8.
前記第2コントローラが、ファイル操作情報のそれぞれのために前記キャッシュ保護領域の格納スペースを要求し、要求された格納スペースに各ファイル操作情報を格納し、前記ファイル処理要求に対応する前記複数のファイル操作情報のすべてがキャッシュ保護領域内にあることを示すために、前記要求された格納スペースに格納された前記複数のファイル操作情報をデータ構造にまとめ、前記キャッシュ保護領域内の前記データ構造を記載する情報を記憶するように特に構成される
請求項8に記載のストレージデバイス。
The second controller requests storage space of the cache protection area for each of file operation information, stores each file operation information in the requested storage space, and the plurality of files corresponding to the file processing request In order to indicate that all of the operation information is in the cache protection area, the plurality of file operation information stored in the requested storage space is collected into a data structure, and the data structure in the cache protection area is described. The storage device of claim 8, wherein the storage device is specifically configured to store information to be stored.
前記第2コントローラが、連続的に前記キャッシュ保護領域へファイル操作情報のそれぞれを送信し、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域へ既に送信されていることを判定し、前記キャッシュ保護領域内の受信された前記複数のファイル操作情報のすべてに対応するフラグを設定するように特に構成され、前記フラグは、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域へ既に書き込まれていることを示すために使用される、
請求項8に記載のストレージデバイス。
The second controller continuously transmits each of the file operation information to the cache protection area, determines that all of the plurality of file operation information has already been transmitted to the cache protection area, and the cache protection Specifically configured to set a flag corresponding to all of the plurality of received file operation information in the region, wherein the flag has all of the plurality of file operation information already written to the cache protection region Used to show that
The storage device according to claim 8.
前記複数のファイル操作情報のすべてを前記メモリの前記保護領域に格納する前に、前記第2コントローラが、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に格納されていることを、前記キャッシュ保護領域に対応する前記データ構造に基づいて判定するようにさらに構成される、
請求項11に記載のストレージデバイス。
Before storing all of the plurality of file operation information in the protection area of the memory, the second controller is configured such that all of the plurality of file operation information is already stored in the cache protection area. Further configured to determine based on the data structure corresponding to a cache protected area;
The storage device according to claim 11.
前記複数のファイル操作情報のすべてを前記メモリの前記保護領域に格納する前に、前記第2コントローラが、前記複数のファイル操作情報のすべてが前記キャッシュ保護領域に既に格納されていることを、フラグに基づいて判定するようにさらに構成される、
請求項12に記載のストレージデバイス。
Before storing all of the plurality of file operation information in the protection area of the memory, the second controller sets a flag indicating that all of the plurality of file operation information has already been stored in the cache protection area. Further configured to determine based on:
The storage device according to claim 12.
JP2017128838A 2017-06-30 2017-06-30 Data storage method, data storage device, and storage device Active JP6376626B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017128838A JP6376626B2 (en) 2017-06-30 2017-06-30 Data storage method, data storage device, and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017128838A JP6376626B2 (en) 2017-06-30 2017-06-30 Data storage method, data storage device, and storage device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015555550A Division JP6264666B2 (en) 2013-10-18 2013-10-18 Data storage method, data storage device, and storage device

Publications (2)

Publication Number Publication Date
JP2017208113A JP2017208113A (en) 2017-11-24
JP6376626B2 true JP6376626B2 (en) 2018-08-22

Family

ID=60415097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017128838A Active JP6376626B2 (en) 2017-06-30 2017-06-30 Data storage method, data storage device, and storage device

Country Status (1)

Country Link
JP (1) JP6376626B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739696B (en) * 2018-12-13 2022-05-13 北京计算机技术及应用研究所 Double-control storage array solid state disk caching acceleration method
CN112527209A (en) * 2020-12-21 2021-03-19 江苏国科微电子有限公司 Data writing method and device, electronic equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3559016B2 (en) * 2001-11-30 2004-08-25 株式会社東芝 Disk array system, takeover method of logical unit in disk array system, and cooperative controller
JP4124348B2 (en) * 2003-06-27 2008-07-23 株式会社日立製作所 Storage system
JP2005115857A (en) * 2003-10-10 2005-04-28 Sony Corp File storage device
JP5365236B2 (en) * 2009-02-16 2013-12-11 日本電気株式会社 Storage system

Also Published As

Publication number Publication date
JP2017208113A (en) 2017-11-24

Similar Documents

Publication Publication Date Title
JP6264666B2 (en) Data storage method, data storage device, and storage device
JP6522812B2 (en) Fast Crash Recovery for Distributed Database Systems
JP6404907B2 (en) Efficient read replica
US10467246B2 (en) Content-based replication of data in scale out system
KR101694984B1 (en) Method of parity updates in asymmetric clustering filesystem
US9928003B2 (en) Management of writable snapshots in a network storage device
JP6196368B2 (en) Avoiding system-wide checkpoints in distributed database systems
US9785510B1 (en) Variable data replication for storage implementing data backup
US10852976B2 (en) Transferring snapshot copy to object store with deduplication preservation and additional compression
CN106547859B (en) Data file storage method and device under multi-tenant data storage system
US11307776B2 (en) Method for accessing distributed storage system, related apparatus, and related system
WO2015085530A1 (en) Data replication method and storage system
WO2015010394A1 (en) Data sending method, data receiving method and storage device
US20190317872A1 (en) Database cluster architecture based on dual port solid state disk
US10628298B1 (en) Resumable garbage collection
US20220091749A1 (en) Resilient implementation of client file operations and replication
WO2018076633A1 (en) Remote data replication method, storage device and storage system
CN106873902B (en) File storage system, data scheduling method and data node
JP6376626B2 (en) Data storage method, data storage device, and storage device
US11442894B2 (en) Methods for scalable file backup catalogs and devices thereof
JP6413792B2 (en) Storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180719

R150 Certificate of patent or registration of utility model

Ref document number: 6376626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250