IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスケーハイニックス株式会社の特許一覧

特許7693295ビッグデータ処理のための格納装置節約方法
<>
  • 特許-ビッグデータ処理のための格納装置節約方法 図1
  • 特許-ビッグデータ処理のための格納装置節約方法 図2A
  • 特許-ビッグデータ処理のための格納装置節約方法 図2B
  • 特許-ビッグデータ処理のための格納装置節約方法 図3A
  • 特許-ビッグデータ処理のための格納装置節約方法 図3B
  • 特許-ビッグデータ処理のための格納装置節約方法 図3C
  • 特許-ビッグデータ処理のための格納装置節約方法 図3D
  • 特許-ビッグデータ処理のための格納装置節約方法 図4
  • 特許-ビッグデータ処理のための格納装置節約方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-09
(45)【発行日】2025-06-17
(54)【発明の名称】ビッグデータ処理のための格納装置節約方法
(51)【国際特許分類】
   G06F 16/182 20190101AFI20250610BHJP
【FI】
G06F16/182 100
【請求項の数】 16
(21)【出願番号】P 2020183424
(22)【出願日】2020-11-02
(65)【公開番号】P2021174510
(43)【公開日】2021-11-01
【審査請求日】2023-10-10
(31)【優先権主張番号】10-2020-0047433
(32)【優先日】2020-04-20
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】310024033
【氏名又は名称】エスケーハイニックス株式会社
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung-daero,Bubal-eub,Icheon-si,Gyeonggi-do,Korea
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】シム ウン ボ
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】米国特許出願公開第2020/0089409(US,A1)
【文献】特開2007-042008(JP,A)
【文献】特開2015-156071(JP,A)
【文献】特表平08-509565(JP,A)
【文献】国際公開第2017/199424(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データ処理装置と複数の格納装置を含むデータ格納システムの動作方法において、
前記複数の格納装置のうち、第1ないし第3の格納装置を選択して設定した後、前記データ処理装置の保管データを前記第1の格納装置に格納し、前記第1の格納装置に格納された前記保管データを第2の格納装置に順次伝達して格納する第1の格納ステップと、
前記第2の格納装置に格納された前記保管データを前記第3の格納装置に伝達した後、前記第3の格納装置内部で圧縮して格納する第2の格納ステップと、
前記第1の格納ステップが完了した後、前記データ処理装置は、前記第1の格納装置に格納された前記保管データに対してアクセスする第1のアクセスステップと、
前記第1のアクセスステップが失敗した場合、前記第2の格納装置に格納された前記保管データに対してアクセスする第2のアクセスステップと、
前記第1のアクセスステップが失敗した場合、前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除する第3の格納ステップと、
を含み、
前記第2のアクセスステップと前記第3の格納ステップとは、並列に行われるデータ格納システムの動作方法。
【請求項2】
前記第1のアクセスステップと前記第2の格納ステップとは並列に行われる請求項1に記載のデータ格納システムの動作方法。
【請求項3】
前記第3の格納ステップは、
前記第1のアクセスステップが失敗した場合、前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除するステップと、
前記解除するステップ後、圧縮が解除された状態の前記保管データを前記第3の格納装置に保管し続けるステップと、
を含む請求項2に記載のデータ格納システムの動作方法。
【請求項4】
前記第3の格納ステップ後、前記第2の格納装置を前記第1の格納装置に再設定し、前記第3の格納装置を前記第2の格納装置に再設定した後、前記複数の格納装置のうち、前記第3の格納装置を再度選択して設定する再設定ステップと、
前記再設定ステップ後、前記第2の格納ステップを行って、前記第3の格納装置に前記保管データを圧縮状態で保管するステップと、
をさらに含む請求項3に記載のデータ格納システムの動作方法。
【請求項5】
前記第1の格納ステップは、
前記データ処理装置で生成された前記保管データを前記第1の格納装置に送信した後、前記第1の格納装置に格納する第4の格納ステップと、
前記保管データを前記第1の格納装置から前記第2の格納装置に送信した後、前記第2の格納装置に格納する第5の格納ステップと、
を含む請求項1に記載のデータ格納システムの動作方法。
【請求項6】
前記第4の格納ステップと前記第5の格納ステップとは並列に行われる請求項に記載のデータ格納システムの動作方法。
【請求項7】
データ処理装置と複数の格納装置を含むデータ格納システムの動作方法において、
前記複数の格納装置のうち、第1ないし第3の格納装置を選択して設定した後、前記データ処理装置の保管データを前記第1の格納装置に格納し、前記第1の格納装置に格納された前記保管データを第2の格納装置に順次伝達して格納する第1の格納ステップと、
前記第2の格納装置に格納された前記保管データを前記第3の格納装置に伝達した後、前記第3の格納装置内部で圧縮して格納する第2の格納ステップと、
前記第1及び第2の格納装置の各々への前記保管データの格納が完了したことを表す第1及び第2の保管情報が前記データ処理装置に伝達された後、前記データ処理装置は、前記第1の格納装置に格納された前記保管データに対してアクセスする第1のアクセスステップと、
前記第1のアクセスステップが失敗した場合、前記第2の格納装置に格納された前記保管データに対してアクセスする第2のアクセスステップと、
前記第1のアクセスステップが失敗した場合、前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除する第3の格納ステップと、
を含み、
前記第2のアクセスステップと前記第3の格納ステップとは、並列に行われるデータ格納システムの動作方法。
【請求項8】
前記第1のアクセスステップと前記第2の格納ステップとは並列に行われる請求項に記載のデータ格納システムの動作方法。
【請求項9】
前記第3の格納ステップは、
前記第1のアクセスステップが失敗した場合、前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除するステップと、
前記解除するステップ後、圧縮が解除された状態の前記保管データを前記第3の格納装置に保管し続けるステップと、
を含む請求項に記載のデータ格納システムの動作方法。
【請求項10】
前記第3の格納ステップ後、前記第2の格納装置を前記第1の格納装置に再設定し、前記第3の格納装置を前記第2の格納装置に再設定した後、前記複数の格納装置のうち、前記第3の格納装置を再度選択して設定する再設定ステップと、
前記再設定ステップ後、前記第2の格納ステップを行って、前記第3の格納装置に前記保管データを圧縮状態で保管するステップと、
をさらに含む請求項に記載のデータ格納システムの動作方法。
【請求項11】
前記第1の格納ステップは、
前記データ処理装置で生成された前記保管データを前記第1の格納装置に送信した後、前記第1の格納装置に格納する第4の格納ステップと、
前記保管データを前記第1の格納装置から前記第2の格納装置に送信した後、前記第2の格納装置に格納する第5の格納ステップと、
前記第5の格納ステップが完了することに応答して、前記第2の格納装置で前記第2の保管情報を生成して前記第1の格納装置に送信する第1の送信ステップと、
前記第1の送信ステップ後、前記第4の格納ステップが完了したことに応答して、前記第1の格納装置で前記第1の保管情報を生成して前記データ処理装置に送信する第2の送信ステップと、
を含む請求項に記載のデータ格納システムの動作方法。
【請求項12】
前記第4の格納ステップと前記第5の格納ステップとは並列に行われる請求項1に記載のデータ格納システムの動作方法。
【請求項13】
複数の格納装置と、
内部で生成された保管データを前記複数の格納装置のうち、第1ないし第3の格納装置に重ねて格納し、前記第1及び第2の格納装置の各々には、非圧縮状態の前記保管データを格納し、前記第3の格納装置には、前記保管データを圧縮状態で格納するデータ処理装置と、
を含み、
前記データ処理装置は、
前記第1及び第2の格納装置のうち、いずれか1つの格納装置で前記保管データをアクセスする動作が失敗した場合、残りの1つの格納装置で前記保管データをアクセスする動作及び前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除する動作を並列に行うデータ格納システム。
【請求項14】
前記データ処理装置は、前記保管データを生成して前記第1の格納装置に送信し、
前記第1の格納装置は、前記データ処理装置から伝達された前記保管データを非圧縮状態で内部に格納する動作及び前記データ処理装置から伝達された前記保管データを前記第2の格納装置に送信する動作を並列に行い、
前記第2の格納装置は、前記第1の格納装置から伝達された前記保管データを非圧縮状態で内部に格納する動作及び前記第1の格納装置から伝達された前記保管データを前記第3の格納装置に送信する動作を並列に行い、
前記第3の格納装置は、前記第2の格納装置から伝達された前記保管データを圧縮状態で内部に格納する動作を行う請求項1に記載のデータ格納システム。
【請求項15】
前記第2の格納装置は、前記第1の格納装置から伝達された前記保管データが内部に非圧縮状態で格納が完了することに応答して、第2の保管情報を生成して前記第1の格納装置に送信し、
前記第1の格納装置は、前記データ処理装置から伝達された前記保管データが内部に非圧縮状態で格納が完了し、前記第2の格納装置から前記第2の保管情報が伝達されることに応答して、第1の保管情報を生成して前記データ処理装置に送信し、
前記データ処理装置は、前記第1の格納装置から前記第1の保管情報が伝達されることに応答して前記保管データに対するアクセス動作を許容し、
前記第3の格納装置は、前記第2の格納装置から伝達された前記保管データが内部に圧縮状態で格納が完了することに応答して、第3の保管情報を生成して前記データ処理装置に送信する請求項1に記載のデータ格納システム。
【請求項16】
前記第3の格納装置で前記第2の格納装置から伝達された前記保管データを圧縮状態で内部に格納する動作と、前記データ処理装置で前記保管データに対するアクセス動作を許容する動作とは並列に行われる請求項1に記載のデータ格納システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ格納システムに関し、具体的に、ビッグデータ処理のための格納装置節約方法に関する。
【背景技術】
【0002】
ビッグデータは、非常に大きく、複雑なデータ集合をいう。これは、短い時間以内に数テラバイト(terabyte)、数ペタバイト(petabyte)などに達する膨大な量のデータを生成する。処理すべきデータの量が増加するにつれて、膨大な量のデータを分散されたサーバに格納し、その格納されたデータを速く処理できるファイルシステムの必要性が生じた。
【0003】
ハドゥープ(Hadoop)は、大量のデータをクラスタリングさせ、分散処理できるオープンソースソフトウェアをいう。このようなハドゥープ(Hadoop)は、大量のデータを分析、格納、及び処理できる能力を揃えているので、全てのビッグデータシステムの中で最も脚光を浴びている。
【0004】
一方、ハドゥープは、複数台のサーバにデータを格納し、格納された各サーバで同時にデータを処理する方式を使用する。したがって、ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)は、ビッグデータを予め決められたサイズを有する複数個の単位データに分割する。その後、ハドゥープ分散ファイルシステムは、分割された単位データを複数個の格納装置に自己複製させて単位データが分散格納される方式を使用する。例えば、ハドゥープ分散ファイルシステム(HDFS)では、単位データを重ねて3回複製して分散格納する方式を使用できる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態は、ビッグデータ処理のために保管データを重ねて複製して使用するデータ格納システムにおいて、保管データが占める空間を最小化できる方法を提供する。
【課題を解決するための手段】
【0006】
本発明の実施形態に係るデータ格納システムの動作方法は、データ処理装置と複数の格納装置を含むデータ格納システムの動作方法において、前記複数の格納装置のうち、第1ないし第3の格納装置を選択して設定した後、前記データ処理装置の保管データを前記第1の格納装置に続いて第2の格納装置に順次伝達して格納する第1の格納ステップと、前記第2の格納装置に格納された前記保管データを前記第3の格納装置に伝達した後、前記第3の格納装置内部で圧縮して格納する第2の格納ステップと、前記第1の格納装置と前記第2の格納装置とへの前記保管データの格納が完了した後、前記データ処理装置は、前記保管データに対するアクセスを許容する第1のアクセスステップと、前記第1のアクセスステップ後、前記第1の格納装置から前記保管データを正常にアクセスできない場合、前記第2の格納装置で前記保管データをアクセスする第2のアクセスステップとを含むことができる。
【0007】
また、前記第1のアクセスステップと前記第2の格納ステップとは並列に行われることができる。
【0008】
また、前記第1のアクセスステップ後、前記第1の格納装置から前記保管データを正常にアクセスできない場合、前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除して、前記第3の格納装置に保管し続ける第3の格納ステップをさらに含むことができる。
【0009】
また、前記第2のアクセスステップと前記第3の格納ステップとは並列に行われることができる。
【0010】
また、前記第3の格納ステップ後、前記第2の格納装置を前記第1の格納装置に再設定し、前記第3の格納装置を前記第2の格納装置に再設定した後、前記複数の格納装置のうち、前記第3の格納装置を再度選択して設定する再設定ステップと、前記再設定ステップ後、前記第2の格納ステップを行って、前記第3の格納装置に前記保管データを圧縮状態で保管するステップとをさらに含むことができる。
【0011】
また、前記第1の格納ステップは、前記データ処理装置で生成された前記保管データを前記第1の格納装置に送信した後、前記第1の格納装置に格納する第4の格納ステップと、前記保管データを前記第1の格納装置から前記第2の格納装置に送信した後、前記第2の格納装置に格納する第5の格納ステップとを含むことができる。
【0012】
また、前記第4の格納ステップと前記第5の格納ステップとは並列に行われることができる。
【0013】
本発明のさらに他の実施形態に係るデータ格納システムの動作方法は、データ処理装置と複数の格納装置を含むデータ格納システムの動作方法において、前記複数の格納装置のうち、第1ないし第3の格納装置を選択して設定した後、前記データ処理装置の保管データを前記第1の格納装置に続いて第2の格納装置に順次伝達して格納する第1の格納ステップと、前記第2の格納装置に格納された前記保管データを前記第3の格納装置に伝達した後、前記第3の格納装置内部で圧縮して格納する第2の格納ステップと、前記第1及び第2の格納装置の各々への前記保管データの格納が完了したことを表す第1及び第2の保管情報が前記データ処理装置に伝達された後、前記データ処理装置は、前記保管データに対するアクセスを許容する第1のアクセスステップと、前記第1のアクセスステップ後、前記第1の格納装置から前記保管データを正常にアクセスできない場合、前記第2の格納装置で前記保管データをアクセスする第2のアクセスステップとを含むことができる。
【0014】
また、前記第1のアクセスステップと前記第2の格納ステップとは並列に行われることができる。
【0015】
また、前記第1のアクセスステップ後、前記第1の格納装置から前記保管データを正常にアクセスできない場合、前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除して、前記第3の格納装置に保管し続ける第3の格納ステップをさらに含むことができる。
【0016】
また、前記第2のアクセスステップと前記第3の格納ステップとは並列に行われることができる。
【0017】
また、前記第3の格納ステップ後、前記第2の格納装置を前記第1の格納装置に再設定し、前記第3の格納装置を前記第2の格納装置に再設定した後、前記複数の格納装置のうち、前記第3の格納装置を再度選択して設定する再設定ステップと、前記再設定ステップ後、前記第2の格納ステップを行って、前記第3の格納装置に前記保管データを圧縮状態で保管するステップとをさらに含むことができる。
【0018】
また、前記第1の格納ステップは、前記データ処理装置で生成された前記保管データを前記第1の格納装置に送信した後、前記第1の格納装置に格納する第4の格納ステップと、前記保管データを前記第1の格納装置から前記第2の格納装置に送信した後、前記第2の格納装置に格納する第5の格納ステップと、前記第5の格納ステップが完了することに応答して、前記第2の格納装置で前記第2の保管情報を生成して前記第1の格納装置に送信する第1の送信ステップと、前記第1の送信ステップ後、前記第4の格納ステップが完了したことに応答して、前記第1の格納装置で前記第1の保管情報を生成して前記データ処理装置に送信する第2の送信ステップとを含むことができる。
【0019】
また、前記第4の格納ステップと前記第5の格納ステップとは並列に行われることができる。
【0020】
本発明のさらに他の実施形態に係るデータ格納システムは、複数の格納装置と、内部で生成された保管データを前記複数の格納装置のうち、第1ないし第3の格納装置に重ねて格納し、前記第1及び第2の格納装置の各々には、非圧縮状態の前記保管データを格納し、前記第3の格納装置には、前記保管データを圧縮状態で格納するデータ処理装置とを含み、前記データ処理装置は、前記第1及び第2の格納装置のうち、いずれか1つの格納装置で前記保管データをアクセスする動作が失敗した場合、残りの1つの格納装置で前記保管データをアクセスする動作及び前記第3の格納装置に圧縮状態で格納された前記保管データの圧縮を解除する動作を並列に行うことができる。
【0021】
また、前記データ処理装置は、前記保管データを生成して前記第1の格納装置に送信し、前記第1の格納装置は、前記データ処理装置から伝達された前記保管データを非圧縮状態で内部に格納する動作及び前記データ処理装置から伝達された前記保管データを前記第2の格納装置に送信する動作を並列に行い、前記第2の格納装置は、前記第1の格納装置から伝達された前記保管データを非圧縮状態で内部に格納する動作及び前記第1の格納装置から伝達された前記保管データを前記第3の格納装置に送信する動作を並列に行い、前記第3の格納装置は、前記第2の格納装置から伝達された前記保管データを圧縮状態で内部に格納する動作を行うことができる。
【0022】
また、前記第2の格納装置は、前記第1の格納装置から伝達された前記保管データが内部に非圧縮状態で格納が完了することに応答して、第2の保管情報を生成して前記第1の格納装置に送信し、前記第1の格納装置は、前記データ処理装置から伝達された前記保管データが内部に非圧縮状態で格納が完了し、前記第2の格納装置から前記第2の保管情報が伝達されることに応答して、第1の保管情報を生成して前記データ処理装置に送信し、前記データ処理装置は、前記第1の格納装置から前記第1の保管情報が伝達されることに応答して前記保管データに対するアクセス動作を許容し、前記第3の格納装置は、前記第2の格納装置から伝達された前記保管データが内部に圧縮状態で格納が完了することに応答して、第3の保管情報を生成して前記データ処理装置に送信することができる。
【0023】
また、前記第3の格納装置で前記第2の格納装置から伝達された前記保管データを圧縮状態で内部に格納する動作と、前記データ処理装置で前記保管データに対するアクセス動作を許容する動作とは並列に行われることができる。
【発明の効果】
【0024】
本技術は、ビッグデータ処理のために、保管データを重ねて複製して使用するデータ格納システムにおいて一部データを圧縮格納して保管データが占める空間を最小化できる。
【図面の簡単な説明】
【0025】
図1】本発明の実施形態に係るデータ格納システムを説明するために示した図である。
図2A】本発明の実施形態に係るデータ格納システムのデータ書き込み動作の一例を説明するために示した図である。
図2B】本発明の実施形態に係るデータ格納システムのデータ書き込み動作の一例を説明するために示した図である。
図3A】本発明の実施形態に係るデータ格納システムのデータ読み出し動作の一例を説明するために示した図である。
図3B】本発明の実施形態に係るデータ格納システムのデータ読み出し動作の一例を説明するために示した図である。
図3C】本発明の実施形態に係るデータ格納システムのデータ読み出し動作の一例を説明するために示した図である。
図3D】本発明の実施形態に係るデータ格納システムのデータ読み出し動作の一例を説明するために示した図である。
図4】ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)に適用された本発明の実施形態に係るデータ格納システムのデータ書き込み動作を説明するために示した図である。
図5】ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)に適用された本発明の実施形態に係るデータ格納システムのデータ読み出し動作を説明するために示した図である。
【発明を実施するための形態】
【0026】
以下、添付された図面を参照して本発明の望ましい実施形態を説明する。しかしながら、本発明は、以下において開示される実施形態に限定されるものではなく、互いに異なる様々な形態で構成されることができ、単に、本実施形態は、本発明の開示が完全なようにし、通常の知識を有する者に本発明の範疇を完全に知らせるために提供されるものである。
【0027】
図1は、本発明の実施形態に係るデータ格納システムを説明するために示した図である。
【0028】
図1に示すように、本発明の実施形態に係るデータ格納システムは、データ処理装置10と、複数のデータ格納装置20、30、40、50、60、70、80、90とを含むことができる。
【0029】
データ処理装置10は、電子装置、例えば、携帯電話、MP3プレーヤ、ラップトップコンピュータなどのような携帯用電子装置、またはデスクトップコンピュータ、ゲーム機、TV、プロジェクタなどのような電子装置、すなわち、コンピュータ装置あるいは有無線電子装置を含むことができる。
【0030】
また、データ処理装置10は、少なくとも1つのオペレーティングシステム(OS:operating system)を含み、オペレーティングシステムは、データ処理装置10の機能及び動作を全般的に管理及び制御し、複数のデータ格納装置20、30、40、50、60、70、80、90を使用するユーザとデータ処理装置10との間に相互動作を提供する。ここで、オペレーティングシステムは、ユーザの使用目的及び用途に対応した機能及び動作を支援し、例えば、データ処理装置10の移動性(mobility)によって一般オペレーティングシステムとモバイルオペレーティングシステムとに区分することができる。また、オペレーティングシステムにおける一般オペレーティングシステムは、ユーザの使用環境によって個人用オペレーティングシステムと企業用オペレーティングシステムとに区分することができ、一例として、個人用オペレーティングシステムは、一般ユーザのためのサービス提供機能を支援するように特性化されたシステムであって、ウィンドウズ(登録商標)(windows)及びクローム(登録商標)(chrome)などを含み、企業用オペレーティングシステムは、高性能を確保及び支援するように特性化されたシステムであって、ウィンドウズサーバ(windows server)、リナックス(登録商標)(linux)、及びユニックス(登録商標)(unix)などを含むことができる。さらに、オペレーティングシステムにおけるモバイルオペレーティングシステムは、ユーザらに移動性サービス提供機能及びシステムの節電機能を支援するように特性化されたシステムであって、アンドロイド(登録商標)(android)、iOS(登録商標)、ウィンドウズモバイル(windows mobile)などを含むことができる。このとき、データ処理装置10は、複数のオペレーティングシステムを含むことができ、また、ユーザリクエスト(user request)に対応した複数のデータ格納装置20、30、40、50、60、70、80、90との動作実行のためにオペレーティングシステムを行う、ここで、データ処理装置10は、ユーザリクエストに該当する複数のコマンドを複数のデータ格納装置20、30、40、50、60、70、80、90に送信し、それにより、複数のデータ格納装置20、30、40、50、60、70、80、90では、コマンドに該当する動作、すなわち、ユーザリクエストに対応する動作を行うことができる。
【0031】
また、複数のデータ格納装置20、30、40、50、60、70、80、90の各々は、データ処理装置10のリクエストに応答して動作し、特に、データ処理装置10によってアクセスされるデータを格納することができる。言い換えれば、複数のデータ格納装置20、30、40、50、60、70、80、90の各々は、データ処理装置10の主記憶装置または補助記憶装置として使用されることができる。また、複数のデータ格納装置20、30、40、50、60、70、80、90の各々は、様々な種類の格納装置のうち、いずれか1つで実現されることができる。例えば、複数のデータ格納装置20、30、40、50、60、70、80、90は、ソリッドステートドライブ(SSD:Solid State Drive)、MMC、eMMC(embedded MMC)、RS-MMC(Reduced Size MMC)、micro-MMC形態のマルチメディアカード(MMC:Multi Media Card)、SD、mini-SD、micro-SD形態のセキュアデジタル(SD:Secure Digital)カード、USB(Universal Storage Bus)格納装置、UFS(Universal Flash Storage)装置、CF(Compact Flash)カード、スマートメディア(Smart Media)カード、メモリスティック(Memory Stick)などのような様々な種類の格納装置のうち、いずれか1つで実現されることができる。
【0032】
また、複数のデータ格納装置20、30、40、50、60、70、80、90は、1つの半導体装置で集積されてメモリカードを構成することもでき、一例として、PCカード(PCMCIA:Personal Computer Memory Card International Association)、コンパクトフラッシュ(登録商標)カード(CF)、スマートメディア(登録商標)カード(SM、SMC)、メモリスティック、マルチメディアカード(MMC、RS-MMC、MMCmicro)、SDカード(SD、miniSD、microSD、SDHC)、ユニバーサルフラッシュ記憶装置(UFS)などのようなメモリカードを構成できる。
【0033】
また、他の一例として、複数のデータ格納装置20、30、40、50、60、70、80、90は、コンピュータ、UMPC(Ultra Mobile PC)、ワークステーション、ネットブック(net-book)、PDA(Personal Digital Assistants)、ポータブル(portable)コンピュータ、ウェブタブレット(web tablet)、タブレットコンピュータ(tablet computer)、無線電話機(wireless phone)、モバイルフォン(mobile phone)、スマートフォン(smart phone)、e-ブック(e-book)、PMP(portable multimedia player)、携帯用ゲーム機、ナビゲーション(navigation)装置、ブラックボックス(black box)、デジタルカメラ(digital camera)、DMB(Digital Multimedia Broadcasting)再生機、3次元テレビ(3-dimensional television)、スマートテレビ(smart television)、デジタル音声録音機(digital audio recorder)、デジタル音声再生機(digital audio player)、デジタル映像録画機(digital picture recorder)、デジタル映像再生機(digital picture player)、デジタル動画録画機(digital video recorder)、デジタル動画再生機(digital video player)、データセンタを構成するストレージ、情報を無線環境で送受信できる装置、ホームネットワークを構成する様々な電子装置のうち1つ、コンピュータネットワークを構成する様々な電子装置のうち1つ、テレメティックスネットワークを構成する様々な電子装置のうち1つ、RFID(radio frequency identification)装置、またはコンピュータシステムを構成する様々な構成要素のうち1つなどを構成できる。
【0034】
また、複数のデータ格納装置20、30、40、50、60、70、80、90の各々には、格納領域(図示せず)が含まれ得る。また、複数のデータ格納装置20、30、40、50、60、70、80、90の各々に含まれた格納領域(図示せず)は、DRAM(Dynamic Random Access Memory)、SRAM(Static RAM)などのような揮発性メモリ装置と、ROM(Read Only Memory)、MROM(Mask ROM)、PROM(Programmable ROM)、EPROM(Erasable ROM)、EEPROM(Electrically Erasable ROM)、FRAM(登録商標)(Ferromagnetic ROM)、PRAM(Phase change RAM)、MRAM(Magnetic RAM)、RRAM(登録商標)(Resistive RAM)、フラッシュメモリなどのような不揮発性メモリ装置のような格納装置を含むことができる。
【0035】
具体的に、データ処理装置10は、複数のデータ格納装置20、30、40、50、60、70、80、90に保管データを書き込み/読み出しできる。特に、データ処理装置10は、複数の保管データD1、D2、D3、D4、D5の各々を複製して複数のデータ格納装置20、30、40、50、60、70、80、90のうち、N個のデータ格納装置に重ねて格納することができる。このとき、Nは、2以上の自然数に設定されることができる。本発明の実施形態では、Nを3に設定して説明する。
【0036】
より具体的に、データ処理装置10は、複数の保管データD1、D2、D3、D4、D5のうち、第1の保管データD1を複数のデータ格納装置20、30、40、50、60、70、80、90のうち、3個の格納装置、すなわち、1番目の格納装置20と3番目の格納装置40及び8番目の格納装置90に重ねて格納することができる。このとき、1番目の格納装置20と3番目の格納装置40に格納された第1の保管データD1は、非圧縮状態で格納されることができる。それに対し、8番目の格納装置90に格納された第1の保管データD1は、圧縮状態で格納されることができる。このように、8番目の格納装置90に圧縮状態で格納された第1の保管データD1のサイズは、1番目の格納装置20と3番目の格納装置40の各々に非圧縮状態で格納された第1の保管データD1よりさらに小さいサイズになることができる。
【0037】
また、データ処理装置10は、第1の保管データD1に対してアクセス動作を行うとき、第1の保管データD1が非圧縮状態で格納された1番目の格納装置20または3番目の格納装置40で優先的に第1の保管データD1に対するアクセス動作を行うことができる。仮りに、1番目の格納装置20と3番目の格納装置40のうち、いずれか1つの格納装置(20または40)で第1の保管データD1に対するアクセス動作が失敗する場合、データ処理装置10は、残りの1つ(40または20)の格納装置で第1の保管データD1に対するアクセス動作と8番目の格納装置90に圧縮状態で格納された第1の保管データD1の圧縮を解除する動作とを並列に行うことができる。したがって、残りの1つ(40または20)の格納装置での第1の保管データD1に対するアクセス動作の結果と関係なく、8番目の格納装置90に圧縮が解除されて非圧縮状態に切り換えられた第1の保管データD1が格納されていることができる。すなわち、残りの1つ(40または20)の格納装置で第1の保管データD1に対するアクセス動作が失敗する場合にも、データ処理装置10は、8番目の格納装置90で非圧縮状態である第1の保管データD1をアクセスすることが可能である。
【0038】
前述した説明においてデータ処理装置10が第1の保管データD1を3個の格納装置、すなわち、1番目の格納装置20と3番目の格納装置40及び8番目の格納装置90に重ねて格納し、そのうち1つの格納装置に圧縮して格納する動作は、第2ないし第5の保管データD2、D3、D4、D5にもそのまま適用されることができる。すなわち、第2の保管データD2は、1番目と2番目及び4番目の格納装置20、30、50に重ねて格納され、そのうち、4番目の格納装置50にのみ圧縮状態で格納されることができる。同様に、第3の保管データD3は、5番目と6番目及び7番目の格納装置60、70、80に重ねて格納され、そのうち、6番目の格納装置70にのみ圧縮状態で格納されることができる。また、第4の保管データD4は、3番目と6番目及び8番目の格納装置40、70、90に重ねて格納され、そのうち、3番目の格納装置40にのみ圧縮状態で格納されることができる。また、第5の保管データD5は、4番目と5番目及び7番目の格納装置50、60、80に重ねて格納され、そのうち、5番目の格納装置60にのみ圧縮状態で格納されることができる。
【0039】
一方、データ処理装置10は、複数のデータ格納装置20、30、40、50、60、70、80、90のうち、複数の保管データD1、D2、D3、D4、D5の各々を重複格納する3個の格納装置を各々「第1の格納装置」と「第2の格納装置」、及び「第3の格納装置」に区分し、残りの格納装置を「一般格納装置」に区分することができる。このとき、「第1の格納装置」と「第2の格納装置」には、非圧縮状態である複数の保管データD1、D2、D3、D4、D5の各々が格納され、「第3の格納装置」には、圧縮状態である複数の保管データD1、D2、D3、D4、D5の各々が格納されることができる。例えば、データ処理装置10は、第1の保管データD1に対する重複格納可否を基準に複数のデータ格納装置20、30、40、50、60、70、80、90のうち、1番目の格納装置20を「第1の格納装置」に区分し、3番目の格納装置40を「第2の格納装置」に区分し、8番目の格納装置90を「第3の格納装置」に区分し、残りの2番目及び4番目ないし7番目の格納装置30、50、60、70、80を「一般格納装置」に区分することができる。他の例を挙げれば、データ処理装置10は、第2の保管データD2に対する重複格納可否を基準に複数のデータ格納装置20、30、40、50、60、70、80、90のうち、1番目の格納装置20を「第1の格納装置」に区分し、2番目の格納装置30を「第2の格納装置」に区分し、4番目の格納装置50を「第3の格納装置」に区分し、残りの3番目及び5番目ないし8番目の格納装置40、60、70、80、90を「一般格納装置」に区分することができる。他の例を挙げれば、データ処理装置10は、第3の保管データD3に対する重複格納可否を基準に複数のデータ格納装置20、30、40、50、60、70、80、90のうち、5番目の格納装置60を「第1の格納装置」に区分し、7番目の格納装置80を「第2の格納装置」に区分し、6番目の格納装置70を「第3の格納装置」に区分し、残りの1番目ないし4番目及び8番目の格納装置20、30、40、50、90を「一般格納装置」に区分することができる。他の例を挙げれば、データ処理装置10は、第4の保管データD4に対する重複格納可否を基準に複数のデータ格納装置20、30、40、50、60、70、80、90のうち、6番目の格納装置70を「第1の格納装置」に区分し、8番目の格納装置90を「第2の格納装置」に区分し、3番目の格納装置40を「第3の格納装置」に区分し、残りの1番目と2番目と4番目と5番目及び7番目の格納装置20、30、50、60、80を「一般格納装置」に区分することができる。他の例を挙げれば、データ処理装置10は、第5の保管データD5に対する重複格納可否を基準に複数のデータ格納装置20、30、40、50、60、70、80、90のうち、4番目の格納装置50を「第1の格納装置」に区分し、7番目の格納装置80を「第2の格納装置」に区分し、5番目の格納装置60を「第3の格納装置」に区分し、残りの1番目ないし3番目と6番目及び8番目の格納装置20、30、40、70、90を「一般格納装置」に区分することができる。
【0040】
図2A及び図2Bは、本発明の実施形態に係るデータ格納システムのデータ書き込み動作の一例を説明するために示した図である。
【0041】
まず、本発明の実施形態に係るデータ格納システムは、図1において説明したように、データ処理装置10と、複数のデータ格納装置20、30、40、50、60、70、80、90とを含むことができる。
【0042】
図2A及び図2Bに示すように、データ処理装置10で生成された保管データを複数のデータ格納装置20、30、40、50、60、70、80、90のうち、3個の格納装置20、30、40に格納する書き込み動作の一例を分かることができる。すなわち、図2A及び図2Bにおいてデータ処理装置10は、前述した図1において説明された複数のデータ格納装置20、30、40、50、60、70、80、90のうち、1番目の格納装置20と2番目の格納装置30及び3番目の格納装置40の各々を選択して「第1の格納装置」と「第2の格納装置」及び「第3の格納装置」の各々に設定したことを仮定している。したがって、以下の説明において「第1の格納装置」の図面符号は、1番目の格納装置を指す「20」に定義し、「第2の格納装置」の図面符号は、2番目の格納装置を指す「30」であり、「第3の格納装置」の図面符号は、3番目の格納装置を指す「40」に定義する。
【0043】
具体的に、データ処理装置10は、保管データを生成した後(11)、第1の格納装置20に送信することができる。
【0044】
第1の格納装置20は、データ処理装置10から伝達された保管データを内部の格納空間に格納することができる(21)。
【0045】
また、第1の格納装置20は、保管データを第2の格納装置30に伝達することができる。実施形態によって図2Aを参照すれば、第1の格納装置20は、保管データを内部の格納空間に格納する動作(21)が行われる区間で保管データを第2の格納装置30に送信することができる。したがって、第1の格納装置20で保管データの格納が完了する時点(22)が、保管データを第2の格納装置30に伝達する時点より遅くなることができる。他の実施形態によって図2Bを参照すれば、第1の格納装置20は、保管データを内部の格納空間に格納する動作(21)が完了(22)した後、保管データを第2の格納装置30に送信することができる。したがって、第1の格納装置20で保管データの格納が完了する時点(22)が、保管データを第2の格納装置30に伝達する時点より早くなることができる。
【0046】
そして、第1の格納装置20は、保管データが内部の格納空間に格納が完了(22)することを表す第1の保管情報を、保管データが内部の格納空間に格納が完了(22)する時点で生成しないことができる。すなわち、第1の格納装置20は、保管データが内部の格納空間に格納が完了(22)した後にも、第2の格納装置30に送信した保管データが第2の格納装置30内部の格納空間に格納が完了することを表す第2の保管情報が第2の格納装置30から伝達されるまで第1の保管情報を生成しないことができる。したがって、第1の格納装置20で第1の保管情報を生成したということは、保管データが第1の格納装置20と第2の格納装置30とに重ねて格納が完了した状態であるということを意味できる。また、第1の格納装置20は、第1の保管情報を生成してデータ処理装置10に送信することができる。
【0047】
このように、データ処理装置10は、第1の格納装置20から第1の保管情報が伝達されることに応答して、保管データが第1の格納装置20と第2の格納装置30とに重ねて格納されたということが分かる。したがって、データ処理装置10は、第1の格納装置20から第1の保管データが伝達されることに応答して保管データに対するアクセス動作を許容することができる(12)。
【0048】
そして、第2の格納装置30は、第1の格納装置20から伝達された保管データを内部の格納空間に格納することができる(31)。
【0049】
また、第2の格納装置30は、保管データを第3の格納装置40に伝達することができる。実施形態によって図2Aを参照すれば、第2の格納装置30は、保管データを内部の格納空間に格納する動作(31)が行われる区間で保管データを第3の格納装置40に送信することができる。したがって、第2の格納装置30で保管データの格納が完了する時点(32)が、保管データを第3の格納装置40に伝達する時点より遅くなることができる。他の実施形態によって図2Bを参照すれば、第2の格納装置30は、保管データを内部の格納空間に格納する動作(31)が完了(32)した後、保管データを第3の格納装置40に送信することができる。したがって、第2の格納装置30で保管データの格納が完了する時点(32)が、保管データを第3の格納装置40に伝達する時点より早くなることができる。
【0050】
また、第2の格納装置30は、保管データが内部の格納空間に格納が完了(32)することを表す第2の保管情報を、保管データが内部の格納空間に格納が完了(32)する時点で生成することができる。すなわち、第2の格納装置30は、第3の格納装置40に送信した保管データが第3の格納装置40内部の格納空間に格納が完了することと関係なく、保管データが内部の格納空間に格納が完了(32)することに応答して、第2の保管情報を生成して第1の格納装置20に送信することができる。
【0051】
そして、第3の格納装置40は、第2の格納装置30から伝達された保管データを内部の格納空間に圧縮して格納することができる(41)。すなわち、第3の格納装置40は、第1の格納装置20及び第2の格納装置30の各々に格納される保管データのサイズよりさらに小さいサイズを有するように第2の格納装置30から伝達された保管データを圧縮して内部の格納空間に格納することができる。
【0052】
また、第3の格納装置40は、保管データが内部の格納空間に圧縮された状態で格納が完了(42)することを表す第3の保管情報を、保管データが内部の格納空間に圧縮された状態で格納が完了(42)する時点で生成することができる。このとき、第2の格納装置30は、第3の格納装置40内部の格納空間に保管データが格納されることと関係なく、第2の格納装置30内部の格納空間に保管データの格納が完了(32)することに応答して、第2の保管情報を第1の格納装置20に送信したので、第3の格納装置40で生成された第3の保管情報を第2の格納装置30に送信する必要はない。すなわち、第3の格納装置40は、保管データが内部の格納空間に圧縮された状態で格納を完了(42)することに応答して生成された第3の保管情報をデータ処理装置10に直接送信することができる。
【0053】
一方、第3の格納装置40に格納される保管データは、圧縮された状態であるため、データ処理装置10で直接アクセスしないことができる。また、データ処理装置10は、保管データが第1の格納装置20及び第2の格納装置30に重ねて格納が完了する時点、すなわち、第1の格納装置20から第1の保管情報が伝達される時点で保管データに対するアクセス動作を許容(12)することができる。したがって、第3の格納装置40が保管データを内部の格納空間に圧縮して格納する動作は、データ処理装置10が第1の格納装置20または第2の格納装置30から保管データのアクセスを許容する動作(12)と並列に行われることができる。例えば、データ処理装置10で保管データを第1の格納装置20からアクセスする時点で、第3の格納装置40は、保管データを内部の格納空間に圧縮して格納する動作を行う途中であることができる。
【0054】
図3A図3Dは、本発明の実施形態に係るデータ格納システムのデータ読み出し動作の一例を説明するために示した図である。
【0055】
図3A図3Dに示すように、前述した図2A及び図2Bにおいて説明した書き込み動作が完了した状態、すなわち、データ処理装置10で保管データを生成して第1の格納装置20と第2の格納装置30及び第3の格納装置40に重ねて格納し、第3の格納装置40には、圧縮して格納された状態であると仮定することができる。したがって、第1の格納装置20に保管データが格納(23)された状態であり、第2の格納装置30に保管データが格納(33)された状態であり、第3の格納装置40に保管データが圧縮格納(43)された状態であることができる。
【0056】
図3Aの(イ)に示すように、データ処理装置10は、保管データに対するアクセスリクエストを第1の格納装置20に送信することができる。
【0057】
第1の格納装置20は、データ処理装置10から伝達されたアクセスリクエストに応じて、内部の格納空間に格納された保管データに対してアクセスを試みることができる。その結果、保管データがアクセスを成功する場合(24)、第1の格納装置20は、アクセス成功応答をデータ処理装置10に送信することができる。
【0058】
このような場合、データ処理装置10でアクセスリクエストされた保管データを第1の格納装置20でアクセスするのに成功したので、第2の格納装置30及び第3の格納装置40に対しては何らの動作も行われないことができる。
【0059】
図3Aの(ロ)に示すように、データ処理装置10は、保管データに対するアクセスリクエストを第1の格納装置20に送信することができる。
【0060】
第1の格納装置20は、データ処理装置10から伝達されたアクセスリクエストに応じて、内部の格納空間に格納された保管データに対してアクセスを試みることができる。その結果、保管データがアクセスを失敗する場合(25)、第1の格納装置20は、アクセス失敗応答をデータ処理装置10に送信することができる。
【0061】
データ処理装置10は、第1の格納装置20から伝達されたアクセス失敗応答に応答して保管データに対するアクセスリクエストを第2の格納装置30に送信することができる。また、データ処理装置10は、第1の格納装置20から伝達されたアクセス失敗応答に応答して第3の格納装置40に保管データの圧縮解除リクエストを送信することができる。すなわち、データ処理装置10は、第1の格納装置20からアクセス失敗応答が送信される場合、保管データが非圧縮状態で複製格納されている第2の格納装置30には再度アクセスリクエストを送信し、保管データが圧縮状態で複製格納されている第3の格納装置40には保管データの圧縮解除リクエストを送信することができる。
【0062】
第2の格納装置30は、データ処理装置10から伝達されたアクセスリクエストに応じて、内部の格納空間に格納された保管データに対してアクセスを試みることができる。その結果、保管データがアクセスを成功する場合(34)、第2の格納装置30は、アクセス成功応答をデータ処理装置10に送信することができる。
【0063】
第3の格納装置40は、データ処理装置10から伝達された圧縮解除リクエストに応じて、内部の格納空間に圧縮状態で格納された保管データの圧縮を解除できる(44)。
【0064】
このとき、第2の格納装置30の内部格納空間に格納された保管データをアクセスする動作と、第3の格納装置40で内部格納空間に圧縮格納された保管データの圧縮を解除する動作とは、並列に行われることができる。
【0065】
図3Bに示すように、データ処理装置10は、保管データに対するアクセスリクエストを第1の格納装置20に送信することができる。
【0066】
第1の格納装置20は、データ処理装置10から伝達されたアクセスリクエストに応じて、内部の格納空間に格納された保管データに対してアクセスを試みることができる。その結果、保管データがアクセスを失敗する場合(25)、第1の格納装置20は、アクセス失敗応答をデータ処理装置10に送信することができる。
【0067】
データ処理装置10は、第1の格納装置20から伝達されたアクセス失敗応答に応答して保管データに対するアクセスリクエストを第2の格納装置30に送信することができる。また、データ処理装置10は、第1の格納装置20から伝達されたアクセス失敗応答に応答して第3の格納装置40に保管データの圧縮解除リクエストを送信することができる。すなわち、データ処理装置10は、第1の格納装置20からアクセス失敗応答が送信される場合、保管データが非圧縮状態で複製格納されている第2の格納装置30には再度アクセスリクエストを送信し、保管データが圧縮状態で複製格納されている第3の格納装置40には保管データの圧縮解除リクエストを送信することができる。
【0068】
第2の格納装置30は、データ処理装置10から伝達されたアクセスリクエストに応じて、内部の格納空間に格納された保管データに対してアクセスを試みることができる。その結果、保管データがアクセスを失敗する場合(36)、第2の格納装置30は、アクセス失敗応答をデータ処理装置10に送信することができる。
【0069】
データ処理装置10は、第2の格納装置30から伝達されたアクセス失敗応答に応答して保管データ対するアクセスリクエストを第3の格納装置40に送信することができる。このとき、第3の格納装置40は、第1の格納装置20から伝達されたアクセス失敗応答に対応してデータ処理装置10から伝達された圧縮解除リクエストに応じて、内部に圧縮状態で格納された保管データに対して圧縮解除動作を行う途中であることができる。仮りに、第3の格納装置40は、データ処理装置10からアクセスリクエストが伝達される時点で内部に圧縮状態で格納された保管データに対して圧縮解除動作が完了していない場合、圧縮解除動作が完了して保管データが非圧縮状態に切り換えられた後、データ処理装置10からのアクセスリクエストに応答して保管データに対するアクセス動作を行うことができる。
【0070】
第3の格納装置40は、データ処理装置10から伝達されたアクセスリクエストに応じて、内部の格納空間に格納された保管データに対してアクセスを試みることができる。その結果、保管データがアクセスを成功する場合(47)、第3の格納装置40は、アクセス成功応答をデータ処理装置10に送信することができる。仮りに、第3の格納装置40で保管データがアクセスを失敗する場合、図面に図示されていないが、保管データに対するアクセス動作は、最終的に失敗した状態になり、保管データに対するアクセス動作は、正常に完了することができないであろう。
【0071】
図3Cに示すように、前述した図3Aの(ロ)において説明した読み出し動作が完了した状態、すなわち、データ処理装置10で第1の格納装置20に対して試みた保管データのアクセス動作は失敗(25)し、第2の格納装置30に対して試みた保管データのアクセス動作は成功(34)し、第3の格納装置40に対する圧縮解除リクエストが完了して、第3の格納装置40内部に非圧縮された保管データが格納された状態を仮定できる。したがって、第1の格納装置20に格納されたがアクセス失敗した保管データは、無効化(26)された状態であり、第2の格納装置30に保管データが格納(33)された状態であり、第3の格納装置40に保管データが格納(45)された状態であることができる。
【0072】
具体的に、第1の格納装置20に格納されたがアクセス失敗した保管データは、無効化(26)されることができる。したがって、第1の格納装置20は、一般格納装置、すなわち、保管データを重複格納しない1番目の格納装置20に再設定されることができる(27)。言い換えれば、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「第1の格納装置」として選択されて設定されていた1番目の格納装置20は、図3Cにおいて内部に格納された保管データが無効化(26)されながら、データ処理装置10により「第1の格納装置」でない「一般格納装置」に再設定されることができる(27)。
【0073】
そして、第2の格納装置30に格納された後、アクセス成功した保管データは、続けて第2の格納装置20に格納されていることができる(33)。このとき、データ処理装置10は、既存に「第1の格納装置」として選択されて設定されていた1番目の格納装置20を「一般格納装置」に再設定したことがある。それにより、データ処理装置10は、既存に「第2の格納装置」として選択されて設定されていた2番目の格納装置30を「第1の格納装置」に再設定することができる。すなわち、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「第2の格納装置」として選択されて設定されていた2番目の格納装置30は、図3Cにおいてデータ処理装置10により「第1の格納装置」に再設定されることができる(35)。
【0074】
そして、第3の格納装置40に圧縮格納された後、圧縮解除リクエストに応じて圧縮解除動作が行われた保管データは、第3の格納装置40に非圧縮状態で格納されていることができる(45)。このとき、データ処理装置10は、既存に「第1の格納装置」として選択されて設定されていた1番目の格納装置20を「一般格納装置」に再設定し、既存に「第2の格納装置」として選択されて設定されていた2番目の格納装置30を「第1の格納装置」に再設定したことがある。それにより、データ処理装置10は、既存に「第3の格納装置」として選択されて設定されていた3番目の格納装置40を「第2の格納装置」に再設定することができる。すなわち、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「第3の格納装置」として選択されて設定されていた3番目の格納装置40は、図3Cにおいてデータ処理装置10により「第2の格納装置」に再設定されることができる(46)。
【0075】
そして、データ処理装置10は、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、保管データが格納されていないことにより「一般格納装置」に区分されていた4番目の格納装置50を選択して「第3の格納装置」に再設定することができる。すなわち、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「一般格納装置」として選択されて設定されていた4番目の格納装置50は、図3Cにおいてデータ処理装置10により「第3の格納装置」に再設定されることができる(51)。
【0076】
前述した説明のように、アクセス失敗した保管データのため、「第1の格納装置」と「第2の格納装置」及び「第3の格納装置」の各々に対応する格納装置が再設定され得る。まとめると、前述した図2A及び図2Bにおいて「第1の格納装置」は、1番目の格納装置20に対応したが、再設定動作(35)が行われた図3Cにおいて「第1の格納装置」は、2番目の格納装置30に対応する形態になることができる。同様に、前述した図2A及び図2Bにおいて「第2の格納装置」は、2番目の格納装置30に対応したが、再設定動作(46)が行われた図3Cにおいて「第2の格納装置」は、3番目の格納装置40に対応する形態になることができる。同様に、前述した図2A及び図2Bにおいて「第3の格納装置」は、3番目の格納装置40に対応したが、再設定動作(51)が行われた図3Cにおいて「第3の格納装置」は、4番目の格納装置50に対応する形態になることができる。したがって、以下の図3Cについての説明において「第1の格納装置」の図面符号は、2番目の格納装置を指す「30」と定義し、「第2の格納装置」の図面符号は、3番目の格納装置を指す「40」と定義し、「第3の格納装置」の図面符号は、4番目の格納装置を指す「50」と定義する。
【0077】
前述した再設定動作(27、35、46、51)後に、第1の格納装置30と第2の格納装置40には、非圧縮状態の保管データが格納された状態であることができる。それに対し、第3の格納装置50には、保管データが格納されていない状態であることができる。したがって、データ処理装置10は、第2の格納装置40に格納された保管データを第3の格納装置50に送信することができる。
【0078】
第3の格納装置50は、第2の格納装置40から伝達された保管データを内部の格納空間に圧縮して格納することができる(52)。すなわち、第3の格納装置50は、第1の格納装置30及び第2の格納装置40の各々に格納される保管データのサイズよりさらに小さいサイズを有するように第2の格納装置40から伝達された保管データを圧縮して内部の格納空間に格納することができる。
【0079】
また、第3の格納装置50は、保管データが内部の格納空間に圧縮された状態で格納が完了(53)することを表す第3の保管情報を、保管データが内部の格納空間に圧縮された状態で格納が完了(53)する時点で生成することができる。このとき、第2の格納装置40には、既に非圧縮状態の保管データが格納された状態であるから、第3の格納装置50で生成された第3の保管情報を第2の格納装置40に送信する必要はない。すなわち、第3の格納装置50は、保管データが内部の格納空間に圧縮された状態で格納を完了(53)することに応答して生成された第3の保管情報をデータ処理装置10に直接送信することができる。
【0080】
一方、第3の格納装置50に格納される保管データは、圧縮された状態であるため、データ処理装置10で直接アクセスしないことができる。また、保管データが第3の格納装置50に圧縮状態で格納される以前に既に第1の格納装置30及び第2の格納装置40に保管データが重ねて格納が完了している状態であるから、図2Bにおいて説明したように、データ処理装置10は、保管データに対するアクセス動作を既に許容(12)した状態であることができる。したがって、第3の格納装置50が保管データを内部の格納空間に圧縮して格納する動作は、データ処理装置10が第1の格納装置30または第2の格納装置40から保管データのアクセスを許容する動作と並列に行われることができる。例えば、データ処理装置10で保管データを第1の格納装置30からアクセスする時点で、第3の格納装置50は、保管データを内部の格納空間に圧縮して格納する動作を行う途中であることができる。
【0081】
図3Dに示すように、前述した図3Bにおいて説明した読み出し動作が完了した状態、すなわち、データ処理装置10で第1の格納装置20に対して試みた保管データのアクセス動作が失敗(25)し、次いで、第2の格納装置30に対して試みた保管データのアクセス動作も失敗(36)し、第3の格納装置40に対する圧縮解除リクエストが完了して第3の格納装置40内部に非圧縮された保管データが格納された状態で第3の格納装置40に対して試みた保管データのアクセス動作が成功(47)したことを仮定できる。したがって、第1の格納装置20に格納されたがアクセス失敗した保管データは、無効化(26)された状態であり、第2の格納装置30に格納されたがアクセス失敗した保管データも無効化(37)された状態であり、第3の格納装置40に保管データが格納(45)された状態であることができる。
【0082】
具体的に、第1の格納装置20に格納されたがアクセス失敗した保管データは、無効化(26)されることができる。また、第2の格納装置30に格納されたがアクセス失敗した保管データも無効化(37)されることができる。ただし、第3の格納装置40には、保管データが正常に格納されている状態(45)であることができる。すなわち、保管データは、第3の格納装置40に単独で格納されているだけであり、どの格納装置にも複製格納された状態でないことができる。したがって、データ処理装置10は、保管データに対するアクセス動作を中断できる(13)。
【0083】
このような状態で、第1の格納装置20及び第2の格納装置30の各々は、一般格納装置、すなわち、保管データを重複格納しない1番目の格納装置20及び2番目の格納装置30に再設定されることができる(27、38)。言い換えれば、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「第1の格納装置」として選択されて設定されていた1番目の格納装置20は、図3Dにおいて内部に格納された保管データが無効化(26)されながらデータ処理装置10により「第1の格納装置」でない「一般格納装置」に再設定されることができる(27)。また、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「第2の格納装置」として選択されて設定された2番目の格納装置30は、図3Dにおいて内部に格納された保管データが無効化(37)されながらデータ処理装置10により「第2の格納装置」でない「一般格納装置」に再設定されることができる(38)。
【0084】
そして、第3の格納装置40に圧縮格納された後、圧縮解除動作及びアクセス動作が全て成功した保管データは、続けて第3の格納装置40に格納されていることができる(45)。このとき、データ処理装置10は、既存に「第1の格納装置」及び「第2の格納装置」として選択されて設定されていた1番目及び2番目の格納装置20、30の各々を「一般格納装置」に再設定したことがある。それにより、データ処理装置10は、既存に「第3の格納装置」として選択されて設定されていた3番目の格納装置40を「第1の格納装置」に再設定することができる。すなわち、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「第3の格納装置」として選択されて設定されていた3番目の格納装置40は、図3Dにおいてデータ処理装置10により「第1の格納装置」に再設定されることができる(48)。
【0085】
そして、データ処理装置10は、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、保管データが格納されていないことにより「一般格納装置」に区分されていた4番目及び5番目の格納装置50、60を選択して「第2の格納装置」及び「第3の格納装置」に再設定することができる。すなわち、前述した図2A及び図2Bにおいてデータ処理装置10により複数の格納装置20、30、40、50、60、70、80、90のうち、「一般格納装置」として選択されて設定されていた4番目及び5番目の格納装置50、60は、図3Cにおいてデータ処理装置10により「第2の格納装置」及び「第3の格納装置」に再設定されることができる(54、61)。
【0086】
前述した説明のように、アクセス失敗した保管データのため、「第1の格納装置」と「第2の格納装置」及び「第3の格納装置」の各々に対応する格納装置が再設定され得る。まとめると、前述した図2A及び図2Bにおいて「第1の格納装置」は、1番目の格納装置20に対応したが、再設定動作(48)が行われた図3Dにおいて「第1の格納装置」は、3番目の格納装置40に対応する形態になることができる。同様に、前述した図2A及び図2Bにおいて「第2の格納装置」は、2番目の格納装置30に対応したが、再設定動作(54)が行われた図3Dにおいて「第2の格納装置」は、4番目の格納装置50に対応する形態になることができる。同様に、前述した図2A及び図2Bにおいて「第3の格納装置」は、3番目の格納装置40に対応したが、再設定動作(61)が行われた図3Dにおいて「第3の格納装置」は、5番目の格納装置60に対応する形態になることができる。したがって、以下の図3Dについての説明において「第1の格納装置」の図面符号は、3番目の格納装置を指す「40」に定義し、「第2の格納装置」の図面符号は、4番目の格納装置を指す「50」に定義し、「第3の格納装置」の図面符号は、5番目の格納装置を指す「60」に定義する。
【0087】
前述した再設定動作(27、38、48、54、61)以後に、第1の格納装置40には、非圧縮状態の保管データが格納された状態であることができる。それに対し、第2の格納装置50及び第3の格納装置60には、保管データが格納されていない状態であることができる。したがって、データ処理装置10は、第1の格納装置40に格納された保管データを第2の格納装置50に送信することができる。
【0088】
第2の格納装置50は、第1の格納装置40から伝達された保管データを内部の格納空間に格納することができる(55)。
【0089】
また、第2の格納装置50は、保管データを第3の格納装置60に伝達することができる。実施形態によって図面に図示されたように、第2の格納装置50は、保管データを内部の格納空間に格納する動作(55)が行われる区間で保管データを第3の格納装置60に送信することができる。したがって、第2の格納装置50で保管データの格納が完了する時点(56)が、保管データを第3の格納装置60に伝達する時点より遅くなることができる。他の実施形態によって図面に図示されたこととは異なり、第2の格納装置50は、保管データを内部の格納空間に格納する動作(55)が完了(56)した後、保管データを第3の格納装置60に送信することができる。したがって、第2の格納装置50で保管データの格納が完了する時点(56)が、保管データを第3の格納装置60に伝達する時点より早くなることができる。
【0090】
また、第2の格納装置50は、保管データが内部の格納空間に格納が完了(56)することを表す第2の保管情報を、保管データが内部の格納空間に格納が完了(56)する時点で生成することができる。すなわち、第2の格納装置50は、第3の格納装置60に送信した保管データが第3の格納装置60内部の格納空間に格納が完了することと関係なく、保管データが内部の格納空間に格納が完了(56)することに応答して、第2の保管情報を生成して第1の格納装置40に送信することができる。
【0091】
このとき、第1の格納装置40には、既に保管データが格納されている状態であるため、第1の格納装置40は、第2の格納装置50から第2の保管情報が伝達されることに応答して、第1の保管情報を生成してデータ処理装置10に送信することができる。
【0092】
データ処理装置10は、第1の格納装置40から第1の保管情報が伝達されることに応答して、保管データが第1の格納装置40と第2の格納装置50とに重ねて格納されたということが分かる。したがって、データ処理装置10は、第1の格納装置40から第1の保管データが伝達されることに応答して保管データに対するアクセス動作を再度許容することができる(12)。
【0093】
そして、第3の格納装置60は、第2の格納装置50から伝達された保管データを内部の格納空間に圧縮して格納することができる(62)。すなわち、第3の格納装置60は、第1の格納装置40及び第2の格納装置50の各々に格納される保管データのサイズよりさらに小さいサイズを有するように第2の格納装置50から伝達された保管データを圧縮して内部の格納空間に格納することができる。
【0094】
また、第3の格納装置60は、保管データが内部の格納空間に圧縮された状態で格納が完了(63)することを表す第3の保管情報を、保管データが内部の格納空間に圧縮された状態で格納が完了(63)する時点で生成することができる。このとき、第2の格納装置50は、第3の格納装置60内部の格納空間に保管データが格納されることと関係なく、第2の格納装置50内部の格納空間に保管データの格納が完了(56)することに応答して、第2の保管情報を第1の格納装置40に送信したので、第3の格納装置60で生成された第3の保管情報を第2の格納装置50に送信する必要はない。すなわち、第3の格納装置60は、保管データが内部の格納空間に圧縮された状態で格納を完了(63)することに応答して生成された第3の保管情報をデータ処理装置10に直接送信することができる。
【0095】
一方、第3の格納装置60に格納される保管データは圧縮された状態であるため、データ処理装置10で直接アクセスしないことができる。また、データ処理装置10は、保管データが第1の格納装置40及び第2の格納装置50に重ねて格納が完了する時点、すなわち、第1の格納装置40から第1の保管情報が伝達される時点で保管データに対するアクセス動作を再度許容(12)することができる。したがって、第3の格納装置60が保管データを内部の格納空間に圧縮して格納する動作は、データ処理装置10が第1の格納装置40または第2の格納装置50から保管データのアクセスを許容する動作(12)と並列に行われることができる。例えば、データ処理装置10で保管データを第1の格納装置40からアクセスする時点で、第3の格納装置60は、保管データを内部の格納空間に圧縮して格納する動作を行う途中であることができる。
【0096】
図4は、ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)に適用された本発明の実施形態に係るデータ格納システムのデータ書き込み動作を説明するために示した図である。
【0097】
図4に示すように、ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)に適用された本発明の実施形態に係るデータ処理装置10は、HDFSクライアント101とネームノード102とを備えることができる。
【0098】
そして、ハドゥープ分散ファイルシステムに連結された3個のデータノード20、30、40は、前述した図1において説明された複数のデータ格納装置20、30、40、50、60、70、80、90のうち、1番目の格納装置20と2番目の格納装置30及び3番目の格納装置40の各々を選択して「第1のデータノード」と「第2のデータノード」及び「第3のデータノード」の各々に設定したことを仮定している。したがって、以下の説明において「第1のデータノード」の図面符号は、1番目の格納装置を指す「20」に定義し、「第2のデータノード」の図面符号は、2番目の格納装置を指す「30」であり、「第3のデータノード」の図面符号は、3番目の格納装置を指す「40」に定義する。
【0099】
具体的に、HDFSクライアント101は、ハドゥープクライアント(Hadoop client)であって、ネームノード102との協業を介して複数のデータノード20、30、40にデータ書き込み、データ読み出しなどをリクエストする機能を果たすことができる。
【0100】
そして、HDFSクライアント101により複数のデータノード20、30、40に対するデータ書き込みがリクエストされる場合、ネームノード102は、HDFSクライアント101により書き込みリクエストされたデータがどのデータノードにどのように格納されなければならないかに関する情報をデータノード20、30、40に知らせ、かつ管理することができる。
【0101】
より具体的に、HDFSクライアント101は、複数のデータノード20、30、40にデータ書き込みリクエストを伝達する前に、まず、ネームノード102に接続して書き込みリクエストの実行が可能であるか否か及び可能であれば、どのデータノードに書き込み動作を行うことができるかなどを確認できる(S1)。ネームノード102から書き込みリクエストの実行が可能であるという答弁が伝達される場合(S2)、HDFSクライアント101は、書き込みリクエストを複数のデータノード20、30、40に伝達することができる。
【0102】
まず、HDFSクライアント101は、書き込みリクエストを第1のデータノード20に送信することができる。
【0103】
第1のデータノード20は、HDFSクライアント101から伝達された書き込みリクエストに応答して内部の格納空間に書き込みデータを非圧縮状態で格納することができる。このとき、第1のデータノード20は、ネームノード102から書き込みデータの非圧縮格納に対する指示を受けることができる(A)。すなわち、第1のデータノード20は、HDFSクライアント101から書き込みリクエスト及び書き込みデータを伝達されるとき、ネームノード102から書き込みデータ非圧縮格納に対する指示を受けることにより、内部の格納空間に書き込みデータを非圧縮状態で格納することができる。また、第1のデータノード20は、内部の格納空間に書き込みデータを非圧縮状態で格納する動作とは別に、HDFSクライアント101から伝達された書き込みリクエストを第2のデータノード30に送信することができる(S4)。
【0104】
第2のデータノード30は、第1のデータノード20から伝達された書き込みリクエストに応答して、内部の格納空間に書き込みデータを非圧縮状態で格納することができる。このとき、第2のデータノード30は、ネームノード102から書き込みデータの非圧縮格納に対する指示を受けることができる(B)。すなわち、第2のデータノード30は、第1のデータノード20から書き込みリクエスト及び書き込みデータを伝達されるとき、ネームノード102から書き込みデータ非圧縮格納に対する指示を受けることにより、内部の格納空間に書き込みデータを非圧縮状態で格納することができる。また、第2のデータノード30は、内部の格納空間に書き込みデータを非圧縮状態で格納する動作とは別に、第1のデータノード20から伝達された書き込みリクエストを第3のデータノード40に送信することができる(S6)。
【0105】
第3のデータノード40は、第2のデータノード30から伝達された書き込みリクエストに応答して、内部の格納空間に書き込みデータを圧縮状態で格納することができる。このとき、第3のデータノード40は、ネームノード102から書き込みデータ圧縮格納に対する指示を受けることができる(C)。すなわち、第3のデータノード40は、第2のデータノード30から書き込みリクエスト及び書き込みデータを伝達されるとき、ネームノード102から書き込みデータ圧縮格納に対する指示を受けることにより、内部の格納空間に書き込みデータを圧縮状態で格納することができる。
【0106】
そして、第2のデータノード30は、内部の格納空間に書き込みデータを非圧縮状態で格納する動作が完了することに応答して格納完了応答ACK2を第1のデータノード20に送信することができる(S5)。このとき、第2のデータノード30は、格納完了応答ACK2を第1のデータノード20に送信する動作とは別に、内部の格納空間に書き込みデータを非圧縮状態で格納する動作が完了したことをネームノード102に知らせることができる(B)。
【0107】
そして、第1のデータノード20は、内部の格納空間に書き込みデータを非圧縮状態で格納する動作が完了し、第2のデータノード30から格納完了応答ACK2が伝達されることに応答して格納完了応答ACK1をHDFSクライアント101に送信することができる(S7)。このとき、第1のデータノード20は、格納完了応答ACK1をHDFSクライアント101に送信する動作とは別に、内部の格納空間に書き込みデータを非圧縮状態で格納する動作が完了したことをネームノード102に知らせることができる(A)。
【0108】
HDFSクライアント101は、第1のデータノード20から格納完了応答ACK1が入力された後、書き込みデータに対するアクセス動作を始めることができる。
【0109】
そして、第3のデータノード40は、内部の格納空間に書き込みデータを圧縮状態で格納する動作が完了したことをネームノード102に知らせることができる(C)。
【0110】
前述した説明のような動作を介して、ネームノード102は、第1のデータノード20及び第2のデータノード30には、非圧縮状態の書き込みデータが格納されており、第3のデータノード40には、圧縮状態の書き込みデータが格納されているということを確認できる。
【0111】
図5は、ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)に適用された本発明の実施形態に係るデータ格納システムのデータ読み出し動作を説明するために示した図である。
【0112】
図5に示すように、ハドゥープ分散ファイルシステム(HDFS:Hadoop Distributed File System)に適用された本発明の実施形態に係るデータ処理装置10は、HDFSクライアント101とネームノード102とを備えることができる。
【0113】
そして、ハドゥープ分散ファイルシステムに連結された3個のデータノード20、30、40は、前述した図1において説明された複数のデータ格納装置20、30、40、50、60、70、80、90のうち、1番目の格納装置20と2番目の格納装置30及び3番目の格納装置40の各々を選択して「第1のデータノード」と「第2のデータノード」及び「第3のデータノード」の各々に設定したことを仮定している。したがって、以下の説明において「第1のデータノード」の図面符号は、1番目の格納装置を指す「20」に定義し、「第2のデータノード」の図面符号は、2番目の格納装置を指す「30」であり、「第3のデータノード」の図面符号は、3番目の格納装置を指す「40」に定義する。
【0114】
具体的に、HDFSクライアント101は、ハドゥープクライアント(Hadoopclient)であって、ネームノード102との協業を介して複数のデータノード20、30、40にデータ書き込み、データ読み出しなどをリクエストする機能を果たすことができる。
【0115】
そして、HDFSクライアント101により複数のデータノード20、30、40に対するデータ読み出しがリクエストされる場合、ネームノード102は、HDFSクライアント101により読み出しリクエストされたデータがどのデータノードにどのように格納されているかに関する情報をデータノード20、30、40に知らせ、かつ管理することができる。
【0116】
より具体的に、HDFSクライアント101は、複数のデータノード20、30、40にデータ読み出しリクエストを伝達する前に、まず、ネームノード102に接続して読み出しリクエストの実行が可能であるか否か及び可能であれば、どのデータノードに読み出しデータが格納されているかなどを確認できる(F1)。ネームノード102から読み出しリクエストの実行が可能であるという答弁が伝達される場合(F2)、HDFSクライアント101は、読み出しリクエストを複数のデータノード20、30、40に伝達することができる。
【0117】
このとき、HDFSクライアント101が読み出しリクエストを行う前に複数のデータノード20、30、40にどのデータがどのように格納されたかに対する状態は、前述した図4において説明した書き込み動作が完了した状態を仮定できる。すなわち、第1のデータノード20と第2のデータノード30及び第3のデータノード40には、特定データが複製されて重ねて格納された状態であることができる。ただし、第1のデータノード20及び第2のデータノード30の各々には、非圧縮状態の特定データが格納されており、第3のデータノード40には、圧縮状態の特定データが格納されていることを仮定できる。
【0118】
このような状態で、HDFSクライアント101は、第1のデータノード20に読み出しリクエストを送信することができる(F3)。第1のデータノード20は、HDFSクライアント101からの読み出しリクエストに応答して、内部に格納された特定データを読み出した後、HDFSクライアント101に送信することもできるが、図面では、第1のデータノード20から特定データを読み出す動作が失敗する場合(F4)を仮定する。
【0119】
仮定したように、第1のデータノード20から特定データを読み出す動作が失敗(F4)したので、HDFSクライアント101は、さらに第2のデータノード30に読み出しリクエストを送信することができる(F5)。第2のデータノード30は、HDFSクライアント101からの読み出しリクエストに応答して内部に格納された特定データを読み出した後、HDFSクライアント101に送信することができる(F6)。
【0120】
このとき、第1のデータノード20から特定データを読み出す動作が失敗(F4)することを仮定したので、HDFSクライアント101は、第2のデータノード30に読み出しリクエストの成功/失敗可否と関係なく、ネームノード102を介して第3のデータノード40の内部格納空間に圧縮状態で格納された特定データに対する圧縮解除をリクエストできる(F7)。
【0121】
第3のデータノード40は、ネームノード102からの圧縮解除リクエストに応答して、内部格納空間に圧縮状態で格納された特定データに対する圧縮解除動作を行うことができる。
【0122】
第3のデータノード40は、特定データに対する圧縮解除動作の実行を完了したことをネームノード102に知らせることができる。
【0123】
前述した説明のような動作を介して、ネームノード102は、第1のデータノード20及び第2のデータノード30だけでなく、第3のデータノード40にも非圧縮状態の特定データが格納されているということを確認できる。
【0124】
参考までに、図面に具体的に図示されてはいないが、第3のデータノード40に非圧縮状態の特定データが格納される動作以後に、HDFSクライアント101及びネームノード102は、新しいデータノードをさらに設定した後、さらに設定された新しいデータノードの格納空間に特定データが圧縮状態で格納され得るように動作するであろう。また、第3のデータノード40に非圧縮状態の特定データが格納される動作以後に、HDFSクライアント101及びネームノード102は、以前に読み出しリクエストが失敗したデータノード、すなわち、第1のデータノード20の格納空間に格納されていた特定データを無効化させることができる。したがって、HDFSクライアント101及びネームノード102は、特定データを3個のデータノードに重ねて格納し、2個のデータノードには、非圧縮状態で格納し、残りの1個のデータノードには、圧縮状態で格納するように動作することができる。
【0125】
以上で説明した本発明は、前述した実施形態及び添付された図面により限定されるものではなく、本発明の技術的思想を逸脱しない範囲内で種々の置換、変形、及び変更が可能であるということが本発明の属する技術分野における通常の知識を有する者にとって明らかであろう。
図1
図2A
図2B
図3A
図3B
図3C
図3D
図4
図5