STORAGE APPARATUS AND DATA STORAGE METHOD
A storage apparatus executes a duplication determination, which is a determination as to whether or not a second data, which is identical to a first data stored in a first file system, exists in a second file system, in a case where a migration process for migrating the first data to the second file system is to be performed, executes the migration process in a case where the result of the duplication determination is negative, and does not execute the migration process in a case where the result of the duplication determination is affirmative.
1 . A storage apparatus, comprising:
a first file system;
a second file system;
duplicate management information, which stores a second data computation value uniquely computed from the second data, wherein the duplicate management information manages a part, which has a value identical to that of a prescribed part of the second data computation value, as one duplicate management set; and
a controller for controlling the first file system and the second file system,
wherein the controller:
(A) executes a duplication determination, which is a determination as to whether or not a second data, which is identical to a first data stored in the first file system, exists in the second file system in a case where a migration process for migrating the first data to the second file system is to be performed, wherein the first data and the second data are single chunks of partitioned data obtained by partitioning prescribed file data into multiple chunks;
(B) executes the migration process in a case where the result of the duplication determination in (A) is negative;
(C) does not execute the migration process in a case where the result of the duplication determination in (A) is affirmative; and
(D) executes the duplication determination as a process for determining whether or not the second data computation value, which is identical to a first data computation value uniquely computed from the first data, exists in the duplicate management information, and
wherein the controller:
executes the migration process of (B) in a case where the determination in (D) is negative; and
does not execute the migration process of (C) in a case where the determination of (D) is affirmative;
(E) determines in (D) whether or not the duplicate management set, which has a value identical to that of a prescribed part of the first data computation value, exists in the duplicate management information;
in a case where the determination in (E) is negative, executes the migration process of (B); and
in a case where the determination of (E) is affirmative,
(F) determines whether or not the second data computation value, which is identical to the first data computation value, exists in the duplicate management set; and
executes the migration process of (B) in a case where the determination in (F) is negative, and does not execute the migration process of (C) in a case where the determination in (F) is affirmative.
2 . (canceled)
3 . (canceled)
4 . (canceled)
5 . A storage apparatus according to claim 1 , comprising:
data configuration information for storing a corresponding relationship between partition location information of the second data and the second data computation value in a sequence of partition locations of the second data in a prescribed file data; and
log information for storing a corresponding relationship between the second data partition location information and the second data computation value in a sequence constituting the migration process targets,
wherein the controller, in a case where a failure has occurred in the data configuration information, restores the data configuration information by sorting the corresponding relationships stored in the log information in partition location sequence.
6 . A storage apparatus according to claim 1 , comprising:
a data set for managing the multiple second data as a set; and
a data computation value set for managing as a set the second data computation value of the second data managed in the data set,
wherein data set identification information corresponding to the data set and the data computation value set is provided, and
the controller, in a case where a failure has occurred in the data computation value set, identifies a data set corresponding to data set identification information provided in the relevant data computation value set, and restores the data computation value set by computing a second data computation value of the second data included in this the data set.
7 . A storage apparatus according to claim 5 , wherein the controller, in a case where a failure has occurred in the duplication management information, selects the multiple first data computation values from the data configuration information, and restores the duplicate management information by treating the first data computation values, which comprise values identical to those of a prescribed part, as one duplicate management set.
8 . A storage apparatus according to claim 1 , wherein the first data computation value and the second data computation value are hash values respectively computed from the first data and the second data based on a hash function.
9 . A data storage method, comprising:
(A) executing a duplication determination, which is a determination as to whether or not a second data, which is identical to a first data stored in a first file system, exists in a second file system in a case where a migration process for migrating the first data to the second file system is to be performed;
(B) executing the migration process in a case where the result of the duplication determination in (A) is negative; and
(C) not executing the migration process in a case where the result of the duplication determination in (A) is affirmative
(D) executes the duplication determination as a process for determining whether or not the second data computation value, which is identical to a first data computation value uniquely computed from the first data, exists in the duplicate management information, and
wherein the controller:
executes the migration process of (B) in a case where the determination in (D) is negative; and
does not execute the migration process of (C) in a case where the determination of (D) is affirmative;
(E) determines in (D) whether or not the duplicate management set, which has a value identical to that of a prescribed part of the first data computation value, exists in the duplicate management information;
in a case where the determination in (E) is negative, executes the migration process of (B); and
in a case where the determination of (E) is affirmative,
(F) determines whether or not the second data computation value, which is identical to the first data computation value, exists in the duplicate management set; and
executes the migration process of (B) in a case where the determination in (F) is negative, and does not execute the migration process of (C) in a case where the determination in (F) is affirmative.