JP2002149352A - データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体 - Google Patents

データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体

Info

Publication number
JP2002149352A
JP2002149352A JP2000348958A JP2000348958A JP2002149352A JP 2002149352 A JP2002149352 A JP 2002149352A JP 2000348958 A JP2000348958 A JP 2000348958A JP 2000348958 A JP2000348958 A JP 2000348958A JP 2002149352 A JP2002149352 A JP 2002149352A
Authority
JP
Japan
Prior art keywords
data
block
blocks
storage
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000348958A
Other languages
English (en)
Inventor
Shinichi Komori
眞一 小森
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000348958A priority Critical patent/JP2002149352A/ja
Priority to US09/992,074 priority patent/US20020059497A1/en
Publication of JP2002149352A publication Critical patent/JP2002149352A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2061Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring combined with de-clustering of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2079Bidirectional techniques
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2315Data placement on disk arrays using interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 高速性と冗長性の両立を図りつつ、しかも、
障害時に特定の記憶装置へのアクセス集中を緩和できる
データ記憶制御方法及びデータ記憶制御装置を提供す
る。 【解決手段】 データ利用装置15〜18に実装された
ドライバ部15b〜18bは、それぞれが、元データを
ブロック分割し各ブロック単位に複数の記憶ストレージ
に分散記憶する制御手段として機能する。前記ブロック
は、通常使用するプライマリデータのブロックと、当該
プライマリデータに読み出し不可ブロックが存在する場
合にその読み出し不可ブロックの代替ブロックとして読
み出されるセカンダリデータのブロックとからなり、制
御手段は、前記セカンダリブロックを前記複数の記憶ス
トレージに記憶させる際に、前記記憶ストレージの数を
Nで表したとき、Nブロックごとに最後のj個のブロッ
クを先頭のj個のブロックと入れ替えながら記憶させる
ようにし、且つ、前記jの値をNブロックごとに1〜N
−1まで逐次に更新させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ記憶制御方
法、データ記憶制御装置及びデータ記憶制御プログラム
を格納した記録媒体に関する。特に、複数の記憶装置か
ら構成されたデータサーバに適用して好適な技術であっ
て、詳しくは、サーバ規模の増大を回避しつつ、特定の
記憶装置へのアクセス集中を緩和し、しかも、冗長性の
向上を図ったデータ記憶制御方法、データ記憶制御装置
及びデータ記憶制御プログラムを格納した記録媒体に関
する。
【0002】
【従来の技術】近年、あらゆる分野でディジタルネット
ワーク化が進んでおり、その中核をなすデータ集積装置
(いわゆる、データサーバ)に対して、より一層の高速
性や冗長性などが高いレベルで求められている。
【0003】たとえば、放送分野を例にとると、従前、
磁気テープデバイスで蓄積されていたデータ(放送番組
の音声データや映像データなど)は、今日では、ディジ
タルデータとしてハードディスクなどの大容量記憶デバ
イスに蓄積されるようになってきた。この種の大容量記
憶デバイスは、単体では磁気テープデバイスの記憶容量
に劣るものの、RAID(Redundant Arrays of Indepe
ndent(Inexpensive) Disks)等のディスクアレイ技術を
利用することにより、見かけ上の記憶容量を(オペレー
ティングシステムの制限を無視すれば)無制限に大きく
でき、しかも、磁気テープデバイスよりも遙かに高速に
アクセスできるうえ、ランダムアクセスも可能であるた
め、とりわけ、ノンリニア編集を必要とする放送分野に
とって欠かせないものであるが、放送用のデータはスト
リームデータであることから、一定のアクセス性能を保
証しなければならず、この点(高速性)において、一般
的なデータサーバよりも要求性能が厳しく、また、番組
表に沿って秒単位で計画的に送出される放送用データの
喪失は、絶対にあってはならないことであり、この点
(冗長性)においても、バックアップデータの復旧で対
処可能な一般的なデータサーバよりも要求性能が厳し
い。
【0004】図8は、放送分野で用いられるデータサー
バの概念構成図である。この図において、データサーバ
1は、複数(図では便宜的に3台)の独立した記憶装置
1a〜1cで構成されており、これらを第1記憶装置1
a、第2記憶装置1b及び第3記憶装置1cということ
にすると、第1記憶装置1a、第2記憶装置1b及び第
3記憶装置1cは、ネットワーク2を介して接続された
複数のデータ利用装置(ここではクライアントマシン3
a〜3dとする。)から自由にアクセスできるようにな
っている。
【0005】今、第1記憶装置1a、第2記憶装置1b
及び第3記憶装置1cに、それぞれ放送データA、放送
データBおよび放送データCが記憶されているものとす
ると、たとえば、クライアントマシン3aで放送データ
Aを必要とする場合は、クライアントマシン3aからネ
ットワーク2を介して第1記憶装置1aにアクセスし、
放送データAを読み出せばよい。又は、クライアントマ
シン3aで放送データBを必要とする場合は、クライア
ントマシン3aからネットワーク2を介して第2記憶装
置1bにアクセスし、放送データBを読み出せばよい。
あるいは、クライアントマシン3aで放送データCを必
要とする場合は、クライアントマシン3aからネットワ
ーク2を介して第3記憶装置1cにアクセスし、放送デ
ータCを読み出せばよい。
【0006】かかる構成における最大の欠点は、同一の
データにアクセス集中が発生した場合、急激にレスポン
スの低下が起こるということである。すなわち、たとえ
ば、第1記憶装置1aの放送データAに対して、2台な
いしはそれ以上のクライアントマシンからアクセスがあ
った場合、第1記憶装置1aは、その要求元のクライア
ントマシンすべてに応答(放送データA)を返す必要が
あるが、当然ながら第1記憶装置1aの応答性能にも限
界があるため、複数アクセスに伴うレスポンスの低下は
回避できないし、その低下の度合いによっては、映像や
音声が途切れて放送データを正常に再生できなくなるこ
ともある。
【0007】図9は、上記の欠点を解消した改良型デー
タサーバの概念構成図である。なお、図8と同一の要素
には同じ符号を付してある。図9において、データサー
バ4は、複数(図では便宜的に3台)の独立した記憶装
置(第1記憶装置4a、第2記憶装置4b及び第3記憶
装置4c)から構成されている点で、図8の第1記憶装
置1a、第2記憶装置1b及び第3記憶装置1cと共通
するが、そのデータ記憶手法の点で相違する。すなわ
ち、放送データA〜放送データCを固定長のデータブロ
ック(以下、単に「ブロック」という。)B0、B1、
B2、‥‥、B32に分けるとともに、各ブロックをそ
れぞれの記憶装置に分散して格納する点で相違する。こ
こで、ブロックB0〜B10を放送データAとし、ブロ
ックB11〜B18を放送データBとし、ブロックB1
9〜B32を放送データCとすると、たとえば、クライ
アントマシン3aが放送データAを必要とする場合は、
B0→B1→B2→、‥‥、→B10の順番でそれぞれ
の記憶装置4a〜4cを巡回的にアクセスすればよい。
【0008】このようなデータ記憶手法によれば、同一
のデータへのアクセス集中が発生した場合であっても、
巡回周期の一致(同一ブロックの読み出し)が生じない
限り、レスポンスの低下は起こらないから、特に放送分
野のデータサーバとして好適なものとすることができ
る。しかし、かかる改良型データサーバは、アクセス集
中に伴うレスポンスの低下を回避できる点で有益である
が、冗長性の点で見た場合、不十分なものである。複数
の記憶装置4a〜4cのいずれかに障害が発生した場
合、その記憶装置に格納されていたデータブロックの読
み出しが不可能になるからである。
【0009】そこで、特開平8−329021号公報に
は、前述の改良型データサーバの技術に冗長性を加えた
「クライアントサーバシステム」が記載されている。
【0010】図10は、上記公報に記載された技術の概
念図である。図示のデータサーバ5は、複数(図では便
宜的に3台)の独立した記憶装置(第1記憶装置5a、
第2記憶装置5b及び第3記憶装置5c)を有する点、
並びに、放送データを固定長のブロックB0、B1、B
2、‥‥に分け、各ブロックをそれぞれの記憶装置5a
〜5cに巡回的に格納する点で共通するが、通常使用す
る放送データ(以下「プライマリデータ」という。)の
ほかに、コピーされた同一内容の放送データ(以下「セ
カンダリデータ」という。)を格納する点で相違する。
セカンダリデータは、プライマリデータと同様に、固定
長のブロックB0、B1、B2、‥‥に分けられてお
り、各ブロックをそれぞれの記憶装置5a〜5cに巡回
的に格納している。格納の仕方は、以下のとおりであ
る。
【0011】今、第1記憶装置5aに格納されたプライ
マリデータのブロック群を“PR1”、第2記憶装置5
bに格納されたプライマリデータのブロック群を“PR
2”、第3記憶装置5cに格納されたプライマリデータ
のブロック群を“PR3”とするとともに、PR1と同
一内容を持つセカンダリデータのブロック群を“SC
1”、PR2と同一内容を持つセカンダリデータのブロ
ック群を“SC2”、PR3と同一内容を持つセカンダ
リデータのブロック群を“SC3”とすると、SC1は
第2記憶装置5bに格納され、SC2は第3記憶装置5
cに格納され、SC3は第1記憶装置5aに格納されて
いる。
【0012】これは、要するに、第1記憶装置5aの格
納データ(PR1)のコピーデータ(SC1)を隣の第
2記憶装置5bに格納し、第2記憶装置5bの格納デー
タ(PR2)のコピーデータ(SC2)を隣の第3記憶
装置5cに格納し、さらに、第3記憶装置5cの格納デ
ータ(PR3)のコピーデータ(SC3)を最初の第1
記憶装置5aに格納するというものである。
【0013】これによれば、たとえば、第1記憶装置5
aに障害が発生してPR1を読み出せなくなった場合
は、そのコピーデータであるSC1を第2記憶装置5b
から読み出して冗長性を確保できるから、たとえば、放
送事故を防止することができる。
【0014】
【発明が解決しようとする課題】しかしながら、上記公
報記載の技術にあっては、冗長性の点で有益なものの、
障害時に特定の記憶装置(コピーデータを読み出す記憶
装置)にアクセス集中が発生しやすく、この点において
解決すべき課題がある。
【0015】このことを説明すると、図11において、
たとえば、第1記憶装置5aに障害が発生した場合、第
1記憶装置5aのPR1の代わりに、第2記憶装置5b
のSC1が用いられることとなり、第2記憶装置5bか
らB0、B3、B6、B9が読み出されるが、第2記憶
装置5bからは、これに加えてさらに、PR2のB1、
B4、B7、B10も読み出されるため、第2記憶装置
5bに単純計算で2倍のアクセス集中が発生するという
問題点がある。
【0016】したがって、本発明が解決しようとする課
題は、高速性と冗長性の両立を図りつつ、しかも、障害
時に特定の記憶装置へのアクセス集中を緩和できるデー
タ記憶制御方法及びデータ記憶制御装置を提供すること
にある。
【0017】
【課題を解決するための手段】本発明は、上記課題を達
成するために、元データをブロック分割し各ブロック単
位に複数の記憶ストレージに分散記憶するデータ記憶制
御において、前記ブロックは、通常使用するプライマリ
データのブロックと、当該プライマリデータに読み出し
不可ブロックが存在する場合にその読み出し不可ブロッ
クの代替ブロックとして読み出されるセカンダリデータ
のブロックとからなり、前記セカンダリブロックを前記
複数の記憶ストレージに記憶させる際に、前記記憶スト
レージの数をNで表したとき、Nブロックごとに最後の
j個のブロックを先頭のj個のブロックと入れ替えなが
ら記憶させるようにし、且つ、前記jの値をNブロック
ごとに1〜N−1まで逐次に更新させる。本発明では、
複数の記憶ストレージに記憶されたプライマリデータの
ブロック配列と、セカンダリデータのブロック配列との
間の相関性がなくなるため、プライマリデータの読み出
し不可ブロックの代わりにセカンダリデータから代替ブ
ロックを読み出す際の特定の記憶ストレージへのアクセ
ス集中が緩和される。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。図1は、本発明の実施の形態を示すシステ
ム構成模式図であり、このシステムは、データサーバ1
0、ネットワーク19およびデータ利用装置15〜18
などの要素を含む。 <データサーバ>データサーバ10は、N個の記憶装置
11〜14(以下、N=4と仮定して、「第1記憶装置
11〜第4記憶装置14」ということもある。)で構成
されている。N個の記憶装置11〜14は、それぞれが
空間的に独立した存在であってもよく、あるいは共通の
ユニットに収められたものであってもよい。要は、シス
テム上でN個の独立した記憶要素(以下「記憶ストレー
ジ」又は単に「ストレージ」ということもある。)とし
て認識されるものであればよい。たとえば、ハードディ
スク等の大容量記憶デバイスを内蔵したN台のサーバコ
ンピュータであってもよく、又は、1台のサーバコンピ
ュータに内蔵されたN個の大容量記憶デバイスであって
もよい。前者の場合、N台のサーバコンピュータのそれ
ぞれが記憶ストレージになり、後者の場合、N個の大容
量記憶デバイスのそれぞれが記憶ストレージになる。ま
た、それぞれの記憶ストレージの記憶容量は、オペレー
ティングシステムのFS(ファイルシステム)によって
認識される記憶容量であればよく、たとえば、RAID
等のディスクアレイ技術によって構築された論理的な記
憶容量であってもよい。
【0019】第1〜第4記憶装置11〜14は、アーキ
テクチャ的に同一の構成を有していることが望ましく、
たとえば、第1記憶装置11を代表にして説明すると、
第1記憶装置11は、データ入出力制御部11aを備え
るとともに、ハードディスク等の大容量記憶デバイス1
1bを備えて構成される。第1記憶装置11は、データ
入出力制御部11aを介して入力された固定長のデータ
ブロック(以下、単に「ブロック」という。)B*(*
はブロック番号:0〜)を大容量記憶デバイス11bに
記憶し、また、読み出し要求のあったブロックB*をデ
ータ入出力管理部11aを介して大容量記憶デバイス1
1bから読み出して出力する。ブロックB*は、冒頭の
従来技術で説明したように、通常使用するプライマリデ
ータを構成するためのブロックと、冗長用データとして
のセカンダリデータを構成するためのブロックとの二種
類あり、セカンダリデータを構成するブロックB*は、
プライマリデータを構成する同一番号のブロックB*の
読み出しができない場合に、その読み出し不可ブロック
B*の代替ブロックとして用いられる。ここで、セカン
ダリデータのブロックB*の配列順は、本実施の形態に
おいて重要なポイントとなるが、これについては後述す
る。
【0020】<データ利用装置>図示のデータ利用装置
15〜18は、そのすべて又はその一部で任意のデータ
ファイルを生成することができ、又は、システム外部か
らデータファイルを取り込むことができるものであり、
且つ、当該データファイルをプライマリデータとしてデ
ータサーバ10にブロックB*単位で記憶させるととも
に、そのプライマリデータのコピーデータをセカンダリ
データとしてデータサーバ10にブロックB*単位で記
憶させることができるものであり、さらに、データサー
バ10から所望のプライマリデータをブロックB*単位
に読み出して利用できるとともに、プライマリデータの
任意ブロックB*の読み出しができない場合は、その読
み出し不可ブロックB*の代替としてセカンダリデータ
の同一番号のブロックB*を読み出して利用できるもの
である。
【0021】データ利用装置15〜18は模式的に、そ
れぞれ、アプリケーション部15a〜18a、ドライバ
部15b〜18b及びインターフェース部15c〜18
cなどの要素を備えている。アプリケーション部15a
〜18aは、データファイルの利用や生成などに係わる
機能を担当し、ドライバ部15b〜18bは、アプリケ
ーション部15a〜18aからの要求に応答して、セカ
ンダリデータの生成及びプライマリデータとセカンダリ
データのブロック分割並びに各ブロックの記憶ストレー
ジ割当などの機能を担当し、インターフェース部15c
〜18cは、ネットワーク19との間でやり取りされる
信号の入出力制御に関する機能を担当する。
【0022】データ利用装置15〜18は、以上の要素
(アプリケーション部15a〜18a、ドライバ部15
b〜18b及びインターフェース部15c〜18cな
ど)を備えるが、たとえば、WindowsNT/20
00(マイクロソフト社の登録商標)やUNIX(登録
商標)などの汎用オペレーティングシステムをインスト
ールしたパーソナルコンピュータを利用することができ
る。すなわち、アプリケーション部15a〜18aは当
該パーソナルコンピュータ上で動作する、たとえば、放
送番組の編集ツール、記録管理ツール、送出管理ツール
など(図示のシステムを放送番組用のデータサーバシス
テムとした場合)とすることができ、また、インターフ
ェース部15c〜18cは当該パーソナルコンピュータ
に実装されたネットワークボード等の物理的要素を利用
することができるうえ、さらに、ドライバ部15b〜1
5cは、本実施の形態における特徴的な機能(アプリケ
ーション部15a〜18aからの要求に応答して、セカ
ンダリデータの生成及びプライマリデータとセカンダリ
データのブロック分割並びに各ブロックの記憶ストレー
ジ割当などを行う機能)を有していればよいからであ
る。
【0023】<ネットワーク>ネットワーク19は、デ
ータ利用装置15〜18とデータサーバ10との間を接
続し、所定のプロトコルに従って相互のデータ転送を行
うものである。たとえば、データ利用装置15〜18の
それぞれが汎用のパーソナルコンピュータであり、且
つ、データサーバ10を構成するN台の記憶装置11〜
14のそれぞれが個別のサーバコンピュータである場
合、ネットワーク19はイーサネット(登録商標)やA
TM(Asynchronous Transfer Mode)などの物理的ネッ
トワークであってもよく、あるいは、データ利用装置1
5〜18とデータサーバ10が一つの筐体に収められて
いる場合、ネットワーク19はIDE(Integrated Dri
ve Electronics)やSCSI(Small Computer System
Interface)などの物理的ネットワークであってもよ
い。若しくは、データ利用装置15〜18とデータサー
バ10の各々ないしはデータサーバ10を構成するN台
の記憶装置11〜15のそれぞれが別フロアや別の建物
または別の場所に分散配置されている場合、ネットワー
ク19は、その一部にインターネット等の広域ネットワ
ークを含んでいてもよい。
【0024】<データサーバ内のデータファイル構造>
先に説明したように、本実施の形態におけるデータサー
バ10の内部には、冒頭の実施の形態と同様に、通常使
用するデータファイル(プライマリデータ)と、そのコ
ピーデータ(セカンダリデータ)が記憶される。これら
二種類のデータファイルは、いずれも固定長のデータブ
ロック(ブロックB*)に分けられて分散記憶されるよ
うになっており、そのセカンダリデータの生成およびブ
ロックB*の配置制御並びに読み出し制御は、特に限定
しないが、そのデータファイルの生成元または利用先で
あるデータ利用装置15〜18のドライバ部15bによ
って行われるが、まず、その配置制御や読み出し制御の
基本的な考え方について説明する。
【0025】図1において、データサーバ10のN個の
大容量記憶デバイス11b〜14bに記憶されたプライ
マリデータとセカンダリデータは、横長の矩形図形で模
式的に表された多数のブロックで構成されており、各ブ
ロックには、接頭語を“B”とするブロック番号が与え
られている。ここに、図示のブロック番号の書式は便宜
的にB*であり、*は、0、1、2、‥‥、N−1、N
+0、N+1、N+2、‥‥、2N−1、2N+0、2
N+1、2N+2、‥‥、3N−1、‥‥である。Nは
大容量記憶デバイス11b〜14bの個数(記憶ストレ
ージ数)であり、たとえば、N=4とすると、図示のB
*は、B0、B1、B2、B3、B4、B5、B6、B
7、B8、B9、B10、B11、‥‥となる。ブロッ
クの並びはブロック番号順(昇順)であり、たとえば、
最終ブロック番号を15とするB0〜B15までのブロ
ックで構成されたデータファイルを例にすると、そのプ
ライマリデータのB0は第1記憶装置11に記憶され、
B1は第2記憶装置12に記憶され、B2は第3記憶装
置13に記憶され、B3(BN−1)は第4記憶装置1
4に記憶される。そして、B15(B4N−1)までこ
の動作が巡回的に繰り返される。
【0026】一方、セカンダリデータについては、プラ
イマリデータのような単純な昇順巡回ではなく、その一
部の順番が入れ替えられて記憶される点で相違する。す
なわち、図示のように、セカンダリデータのB0は第2
記憶装置12に記憶され、B1は第3記憶装置13に記
憶され、B2(BN−2)は第4記憶装置14に記憶さ
れるが、B3(BN−1)は最初の第1記憶装置11に
記憶される。また、次のB4(BN+0)は第3記憶装
置13に記憶され、B5(B2N−3)は第4記憶装置
13に記憶されるが、B6(B2N−2)は最初の第1
記憶装置11に記憶され、B7(B2N−1)は第2記
憶装置12に記憶される。また、次のB8(B3N+
4)は第4記憶装置14に記憶されるが、B9(B3N
−3)は最初の第1記憶装置11に記憶され、B10
(B3N−2)は第2記憶装置12に記憶され、B11
(B3N−1)は第3記憶装置13に記憶される。この
ように、本実施の形態のセカンダリデータは、Nブロッ
クごとに、配列を1ブロック、2ブロック、3ブロッ
ク、‥N−1ブロックと入れ替えて記憶している点で相
違する。この入れ替えのアルゴリズムについては、後で
詳しく説明するが、要するに、Nブロックごとに最後の
j個のブロックを先頭のj個のブロックと入れ替えなが
ら記憶させるようにし、且つ、前記jの値をNブロック
ごとに1〜N−1まで逐次に更新させるというものであ
る。
【0027】たとえば、図2は、N=4とした場合のプ
ライマリデータとセカンダリデータのブロック配列模式
図である。図において、(a)は元データのブロック配
列であり、ここではB0〜B15までの16ブロックを
例としている。(b)はプライマリデータ、(c)はセ
カンダリデータのブロック配列を示す図であり、いずれ
も、第1記憶装置11を“NS0”、第2記憶装置12
を“NS1”、第3記憶装置13を“NS2”、第4記
憶装置14を“NS3”で表している。
【0028】(b)に示すように、プライマリデータに
ついては、ブロック番号の昇順配列である。すなわち、
その順番は破線で示すようにB0、B1、B2、B3、
B4、‥‥、B15であり、格納の順番もNブロックご
とに「NS0→NS1→NS2→NS3」を周期的に単
調に繰り返すだけであるが、(c)に示すように、セカ
ンダリデータについては、最初の巡回周期T0で「NS
1→NS2→NS3→NS0」、2回目の巡回周期T1
で「NS2→NS3→NS0→NS1」、3回目の巡回
周期T2で「NS3→NS0→NS1→NS2」、4回
目の巡回周期T3で「NS1→NS2→NS3→NS
0」と順不同になっている点で相違する。
【0029】ここで、4回目の巡回周期T3の「NS1
→NS2→NS3→NS0」は、最初の巡回周期T0の
「NS1→NS2→NS3→NS0」と同一であるか
ら、N=4の場合、「NS1→NS2→NS3→NS
0」、「NS2→NS3→NS0→NS1」及び「NS
3→NS0→NS1→NS2」を1セットにして繰り返
すという〔(N−1)×N〕ブロックの周期性があり、
この周期性は元データのブロック数に関わらず不変であ
る。
【0030】図3は、上記の考え方を適用して構成し
た、N=4の場合の具体的なセカンダリデータ配列を示
す図である。第1記憶装置11に格納されたセカンダリ
データのブロック群SC1aはB3、B6、B9、B1
5からなり、第2記憶装置12に格納されたセカンダリ
データのブロック群SC2aはB0、B7、B10、B
12からなり、第3記憶装置13に格納されたセカンダ
リデータのブロック群SC3aはB1、B4、B11、
B13からなり、第4記憶装置14に格納されたセカン
ダリデータのブロック群SC4aはB2、B5、B8、
B14からなっている。
【0031】すべての記憶装置11〜14が正常に動作
している場合、ネットワーク19を介して任意のデータ
ファイルが要求されると、記憶装置11〜14に記憶さ
れたプライマリデータのデータブロック群PR1〜PR
4から順次にブロックB*が読み出されるが、もし、た
とえば、第1記憶装置11に故障が発生していた場合
は、そのデータブロック群PR1の代わりに、他の記憶
装置12〜14に記憶されたセカンダリデータのデータ
ブロックSC2a、SC3b、SC4aの中から読み出
し不可ブロックB*と同一ブロック番号を持つブロック
が読み出される。
【0032】すなわち、この場合は、PR1のB0、B
4、B8、B12の代わりに、SC2aのB0、SC3
aのB4、SC4aのB8、SC2aのB12が読み出
されることになるが、この代替読み出しによる格別有利
な点は、同一の記憶装置からの読み出しではなく、SC
2a、SC3a及びSC4aを有する各記憶装置12〜
14からの“分散的な読み出し”になることである。そ
して、この分散的な読み出し動作により、特定の記憶装
置へのアクセス集中を緩和でき、本発明の課題達成を図
ることができるのである。
【0033】<セカンダリデータの周期性制御>さて、
上記のとおり、本発明にとって格別有利な点を含む代替
読み出しを行うためには、セカンダリデータの周期性制
御が不可欠である。この周期性については、先にも説明
したとおり、N=4とした場合に、「NS1→NS2→
NS3→NS0」、「NS2→NS3→NS0→NS
1」及び「NS3→NS0→NS1→NS2」をセット
にして繰り返すという〔(N−1)×N〕ブロックの周
期性を持たせることにあるが、この周期性を実現するた
めには、たとえば、N=4とした場合に、図4に示すよ
うな数列マップを生成できればよい。
【0034】図4において、iはブロック番号であり、
Map(i)は各ブロックごとの記憶先アドレスであ
る。ここに、記憶先アドレスは、(Column,Ro
w)の書式を持ち、Columnは第1記憶装置11〜
第2記憶装置14を表し、Rowは各々の記憶装置内の
データブロック群SC1a〜SC4aのNブロック単位
を表している。図5は、図3のセカンダリブロックをC
olumnとRowの平面座標で表した図であり、この
場合、Column及びRowはそれぞれ0〜3の値を
持つ。図4のMap(i)と図5のブロック配置は一対
一に対応しており、したがって、セカンダリデータのブ
ロックBiをデータサーバ10に記憶させる場合は、ブ
ロック番号iに対応する記憶アドレスを図4のMap
(i)から取り出し、その記憶アドレスにブロックBi
を記憶させればよく、あるいは、セカンダリデータのブ
ロックBiをデータサーバ10から読み出す場合は、ブ
ロック番号iに対応する記憶アドレスを図4のMap
(i)から取り出し、その記憶アドレスに格納されたブ
ロックBiを読み出せばよい。
【0035】<数列マップの具体的生成法>図6は、上
記の数列マップを生成可能なアルゴリズムの一例を示す
図である。なお、このアルゴリズムは、あくまでも上記
の数列マップの生成がプログラム手順によって実現可能
であることを実証するものであって、その実用性を証明
するものではない。
【0036】まず、図示のプログラムで使用する各種変
数を説明すると、imaxはセカンダリデータの最終ブ
ロック番号格納用変数であり、Nはストレージ数(すな
わち、記憶装置11〜14の数)格納用変数である。ま
た、iはブロック番号格納用変数であり、Countは
カウンタ用変数である。さらに、BaseA、Base
B及びBaseCはColumn値とRow値の一時格
納用変数であり、Map(i)は記憶アドレス格納用配
列である。
【0037】このプログラムを実行すると、最初に、i
maxに最終ブロック番号(たとえば、図4の例では1
5)をセット(ステップS11)するとともに、Nにス
トレージ数(たとえば、図4の例では4)をセット(ス
テップS12)した後、i、Count、BaseA、
BaseB及びBaseCにそれぞれ初期値(i=0、
Count=0、BaseA=0、BaseB=0、B
aseC=1)をセット(ステップS13)する。そし
て、iがimaxを越えるまで(ステップS14の判定
結果が“YES”となるまで)、以下の処理を繰り返し
実行する。
【0038】(ステップS15)このステップでは、C
ountが〔(N−1)×N〕であるか否かを判定す
る。すなわち、図4の周期性〔(N−1)×N〕を調べ
て〔(N−1)×N〕ごとに、Countを初期化(=
0)し、且つ、BaseBを+1する(ステップS1
6、S17)。 (ステップS18、S19)このステップでは、Bas
eA、BaseB及びBaseCを加算してColum
nにセットし、また、BaseAをRowにセットす
る。 (ステップS20〜S21)このステップでは、Col
umnの値がN(=4)以上である場合に、Colum
nの値がN以上でなくなるまで、式「Column=C
olumn−N」を演算する。たとえば、Column
の値がN以上2N未満であれば、式を1回演算し、ある
いは、Columnの値が2N以上3N未満であれば、
式を2回演算し、若しくは、Columnの値がmN以
上(m+1)N未満であれば、式をm回演算する(mは
3以上の整数)。
【0039】(ステップS22)このステップでは、C
olumnとRowを用いてMap(i)のi番目の配
列要素を生成する。図示のステップでは、便宜的に、図
4のMap(i)の書式“(Column,Row)”
に適合させるために、前後に括弧記号“(”、“)”を
付加し、且つ、ColumnとRowの間にカンマ記号
“,”を付加しているが、これに限定されない。 (ステップS23〜S27)このステップでは、Bas
eBとCountを+1するとともに、BaseBがN
以上である場合はBaseBの初期化(=0)と、Ba
seAの+1を行う。
【0040】このようなプログラムにおいて、iに実際
の値を当てはめて順次インクリメントさせながら具体的
動作を説明する。 <i=0>i=0の場合、BaseA=0、BaseB
=0、BaseC=1である。したがって、ステップS
18及びステップS19でColumn=1、Row=
0となるから、ステップS22で“(1,0)”という
Map(0)の配列を生成した後、ステップS23及び
ステップS24でBaseBとCountを+1する。 <i=1>i=1の場合、BaseA=0、BaseB
=1、BaseC=1である。したがって、ステップS
18及びステップS19でColumn=2、Row=
0となるから、ステップS22で“(2,0)”という
Map(1)の配列を生成した後、ステップS23及び
ステップS24でBaseBとCountを+1する。
【0041】<i=2>i=2の場合、BaseA=
0、BaseB=2、BaseC=1である。したがっ
て、ステップS18及びステップS19でColumn
=3、Row=0となるから、ステップS22で
“(3,0)”というMap(2)の配列を生成した
後、ステップS23及びステップS24でBaseBと
Countを+1する。 <i=3>i=3の場合、BaseA=0、BaseB
=3、BaseC=1となり、ステップS18及びステ
ップS19でColumn=4、Row=0となるが、
Column=4はN(=4)以上の値であるから、ス
テップS21で式「Column=Column−N」
を演算して、Columnを「4−4=0」に訂正す
る。したがって、Column=0、Row=0とな
り、ステップS22で“(0,0)”というMap
(3)の配列を生成した後、ステップS23及びステッ
プS24でBaseBとCountを+1する。そし
て、この+1により、BaseBがN以上の値(=4)
になるから、ステップS26及びステップS27でBa
seBを初期化(=0)し、BaseAを+1する。
【0042】<i=4>i=4の場合、BaseA=
1、BaseB=0、BaseC=1となる。したがっ
て、ステップS18及びステップS19でColumn
=2、Row=1となるから、ステップS22で
“(2,1)”というMap(4)の配列を生成した
後、ステップS23及びステップS24でBaseBと
Countを+1する。 <i=5>i=5の場合、BaseA=1、BaseB
=1、BaseC=1となる。したがって、ステップS
18及びステップS19でColumn=3、Row=
1となるから、ステップS22で“(3,1)”という
Map(5)の配列を生成した後、ステップS23及び
ステップS24でBaseBとCountを+1する。 <i=6>i=6の場合、BaseA=1、BaseB
=2、BaseC=1となり、ステップS18及びステ
ップS19でColumn=4、Row=1となるが、
Column=4はN(=4)以上の値であるから、ス
テップS21で式「Column=Column−N」
を演算して、Columnを「4−4=0」に訂正す
る。したがって、Column=0、Row=1とな
り、ステップS22で“(0,1)”というMap
(6)の配列を生成した後、ステップS23及びステッ
プS24でBaseBとCountを+1する。
【0043】<i=7>i=7の場合、BaseA=
1、BaseB=3、BaseC=1となり、ステップ
S18及びステップS19でColumn=5、Row
=1となるが、Column=5はN(=4)以上の値
であるから、ステップS21で式「Column=Co
lumn−N」を演算して、Columnを「5−4=
1」に訂正する。したがって、Column=1、Ro
w=1となり、ステップS22で“(1,1)”という
Map(7)の配列を生成した後、ステップS23及び
ステップS24でBaseBとCountを+1する。
そして、この+1により、BaseBがN以上の値(=
4)になるから、ステップS26及びステップS27で
BaseBを初期化(=0)し、BaseAを+1す
る。 <i=8>i=8の場合、BaseA=2、BaseB
=0、BaseC=1となる。したがって、ステップS
18及びステップS19でColumn=3、Row=
2となるから、ステップS22で“(3,2)”という
Map(8)の配列を生成した後、ステップS23及び
ステップS24でBaseBとCountを+1する。
【0044】<i=9>i=9の場合、BaseA=
2、BaseB=1、BaseC=1となり、ステップ
S18及びステップS19でColumn=4、Row
=2となるが、Column=4はN(=4)以上の値
であるから、ステップS21で式「Column=Co
lumn−N」を演算して、Columnを「4−4=
0」に訂正する。したがって、Column=0、Ro
w=2となり、ステップS22で“(0,2)”という
Map(9)の配列を生成した後、ステップS23及び
ステップS24でBaseBとCountを+1する。 <i=10>i=10の場合、BaseA=2、Bas
eB=2、BaseC=1となり、ステップS18及び
ステップS19でColumn=5、Row=2となる
が、Column=5はN(=4)以上の値であるか
ら、ステップS21で式「Column=Column
−N」を演算して、Columnを「5−4=1」に訂
正する。したがって、Column=1、Row=2と
なり、ステップS22で“(1,2)”というMap
(10)の配列を生成した後、ステップS23及びステ
ップS24でBaseBとCountを+1する。
【0045】<i=11>i=11の場合、BaseA
=2、BaseB=3、BaseC=1となり、ステッ
プS18及びステップS19でColumn=6、Ro
w=2となるが、Column=6はN(=4)以上の
値であるから、ステップS21で式「Column=C
olumn−N」を演算して、Columnを「6−4
=2」に訂正する。したがって、Column=2、R
ow=2となり、ステップS22で“(2,2)”とい
うMap(11)の配列を生成した後、ステップS23
及びステップS24でBaseBとCountを+1す
る。そして、この+1により、BaseBがN以上の値
(=4)になるから、ステップS26及びステップS2
7でBaseBを初期化(=0)し、BaseAを+1
する。
【0046】<i=12>i=12の場合、BaseA
=3、BaseB=0、BaseC=1となるが、この
段階で、Countの値が〔(N−1)×N〕、すなわ
ち、N=4であるため、Count=12になっている
から、ステップS16及びステップS17でCount
を初期化(=0)するとともに、BaseCを+1す
る。したがって、BaseA=3、BaseB=0、B
aseC=2となり、ステップS18及びステップS1
9でColumn=5、Row=3となるが、さらに、
Column=5はN(=4)以上の値であるから、ス
テップS21で式「Column=Column−N」
を演算して、Columnを「5−4=1」に訂正す
る。したがって、Column=1、Row=3とな
り、ステップS22で“(1,3)”というMap(1
2)の配列を生成した後、ステップS23及びステップ
S24でBaseBとCountを+1する。 <i=13>i=13の場合、BaseA=3、Bas
eB=1、BaseC=2となり、ステップS18及び
ステップS19でColumn=6、Row=3となる
が、Column=6はN(=4)以上の値であるか
ら、ステップS21で式「Column=Column
−N」を演算して、Columnを「6−4=2」に訂
正する。したがって、Column=2、Row=3と
なり、ステップS22で“(2,3)”というMap
(13)の配列を生成した後、ステップS23及びステ
ップS24でBaseBとCountを+1する。
【0047】<i=14>i=14の場合、BaseA
=3、BaseB=2、BaseC=2となり、ステッ
プS18及びステップS19でColumn=7、Ro
w=3となるが、Column=7はN(=4)以上の
値であるから、ステップS21で式「Column=C
olumn−N」を演算して、Columnを「7−4
=3」に訂正する。したがって、Column=3、R
ow=3となり、ステップS22で“(3,3)”とい
うMap(14)の配列を生成した後、ステップS23
及びステップS24でBaseBとCountを+1す
る。 <i=15>i=15の場合、BaseA=3、Bas
eB=3、BaseC=2となり、ステップS18及び
ステップS19でColumn=8、Row=3となる
が、Column=8はN(=4)以上の値であるか
ら、ステップS21で式「Column=Column
−N」を2回演算して、Columnを「8−4−4=
0」に訂正する。したがって、Column=0、Ro
w=3となり、ステップS22で“(0,3)”という
Map(15)の配列を生成した後、ステップS23及
びステップS24でBaseBとCountを+1す
る。 <i=16>i=16の場合、imax(=15)を超
えているから、ステップS14の判定結果が“YES”
となり、プログラムを終了する。
【0048】以上説明したように、このプログラムによ
れば、imax=15、N=4を指定するだけで、図4
に示すものと同一の数列マップを生成することができ
る。また、この生成アルゴリズムは、imaxおよびN
の値を例示以外のものに変更しても有効であり、ima
xおよびNの値に対応した数列マップを柔軟に生成する
ことができる。したがって、このプログラムと同一の内
容又は類似思想の内容を持つアルゴリズムを用いて、セ
カンダリデータのブロック記憶制御及びブロック読み出
し制御を行うことにより、特定の記憶装置へのアクセス
集中を緩和したデータ記憶制御方法及びデータ記憶制御
装置を実現することができる。
【0049】<データ読み出しの実例>図7は、4台の
記憶装置11〜14(NS0〜NS3)のうち1台(ハ
ッチング部分)が故障した場合のデータ読み出し概念図
である。(a)はNS0が故障した場合の例、(c)は
NS1が故障した場合の例、(d)はNS2が故障した
場合の例、(e)はNS3が故障した場合の例である。
t0〜t15は読み出し時刻であり、(b)は各時刻ご
とに読み出されたブロックB0〜B15を合成して再生
された元データである。
【0050】今、NS0が故障した場合の例(a)を参
照すると、時刻t0でB0を読み出そうとした場合、こ
のB0のプライマリデータはNS0に記憶されている
(図3参照)ため、読み出し不可ブロックである。した
がって、この場合は、先の数列マップを参照して、ブロ
ック番号i=0の記憶アドレス(1,0)を取得し、こ
のアドレスを用いて、Column=1(したがって、
NS1)で、且つ、Row=0(したがって、SC2a
の先頭)に格納されたブロックデータ(B0)を読み出
せばよい。以下、他のブロックの説明は省略するが、要
するに、プライマリデータに読み出し不可ブロックがあ
る場合は、先の数列マップを参照して、その読み出し不
可ブロックのブロック番号の記憶アドレス(Colum
n,Row)を取得し、このアドレスで示されたセカン
ダリデータのブロックデータを代替ブロックデータとし
て読み出せばよいのである。なお、図7中に示す“P
R”はプライマリデータからの読み出しブロック、“S
C”はセカンダリデータからの代替読み出しブロックを
表している。
【0051】ここで、それぞれの故障ケース(a)、
(c)、(d)及び(e)において、同一の記憶ストレ
ージに連続的なアクセスが発生している箇所は、NS0
の故障ケース(a)では時刻t0とt1及びt12とt
13並びにt7とt8であり、また、NS1の故障ケー
ス(c)では時刻t1とt2及びt8とt9並びにt1
3とt14であり、また、NS2の故障ケース(d)で
は時刻t2とt3及びt9とt10並びにt14とt1
5であり、また、NS3の故障ケース(e)では時刻t
3とt4及びt10とt11である。これらは、もっぱ
ら二つのブロックデータの連続読み出しであり、冒頭で
説明した従来技術のアクセス集中(図11のPR2とS
C1の読み出し)に比べてブロック数が少なく軽度のも
のであるから、本実施の形態では、従来技術に比べて、
特定の記憶ストレージ(記憶装置11〜14の一つ)に
対するアクセス集中を緩和できるという本発明の課題達
成を図ることができるのである。
【0052】<付記>以上説明したとおり、本実施の形
態におけるポイントは、従来技術に比べて、特定の記憶
ストレージ(記憶装置11〜14の一つ)に対するアク
セス集中を緩和するために、セカンダリデータのブロッ
ク配置制御を工夫するというものであり、元のブロック
配列の順番を、最初の巡回周期では最後の1ブロックを
先頭ブロックに回し、2回目の巡回周期では最後の2ブ
ロックを先頭ブロックに回し、3回目の巡回周期では最
後の3ブロックを先頭ブロックに回す‥‥という動作を
繰り返すように工夫した点にあるが、かかる巡回周期の
制御要素の実装位置は、本実施の形態で例示したよう
に、データ利用装置15〜18のドライバ部15b〜1
8bとすることができるほか、他の様々なケースが考え
られる。
【0053】たとえば、かかる巡回周期の制御専用マシ
ンをネットワーク19に接続して、それぞれのデータ利
用装置15〜18から利用したり、あるいは、かかる巡
回制御機能をいくつかの要素に分割してデータ利用装置
15〜18やそれぞれの記憶装置11〜14に分散化し
たりしてもよい。また、かかる制御要素をハードウェア
とソフトウェアの有機的結合で実現してもよく、この場
合、そのソフトウェア自体に本発明のポイントのすべて
又は一部が含まれる限りにおいて、そのソフトウェア自
体若しくはそのソフトウェアを格納した記録媒体は、本
発明の思想を包含するものである。
【0054】
【発明の効果】本発明によれば、複数の記憶ストレージ
に記憶されたプライマリデータのブロック配列と、セカ
ンダリデータのブロック配列との間の相関性がなくな
り、その結果、プライマリデータの読み出し不可ブロッ
クの代わりにセカンダリデータから代替ブロックを読み
出す際の特定の記憶ストレージへのアクセス集中が緩和
される。したがって、ブロックデータの分散記憶による
高速性の確保と、セカンダリデータの記憶による冗長性
の確保との両立を図ることができ、しかも、障害発生時
には特定の記憶装置へのアクセス集中を緩和できるデー
タ記憶制御方法及びデータ記憶制御装置を提供すること
ができる。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すシステム構成模式図
である。
【図2】N=4とした場合のプライマリデータとセカン
ダリデータのブロック配列模式図である。
【図3】N=4の場合の具体的なセカンダリデータを示
す図である。
【図4】数列マップの一例図である。
【図5】図3のセカンダリブロックをColumnとR
owの平面座標で表した図である。
【図6】数列マップを生成可能なアルゴリズムの一例を
示す図である。
【図7】4台の記憶装置11〜14(NS0〜NS3)
のうち1台(ハッチング部分)が故障した場合のデータ
読み出し概念図である。
【図8】放送分野で用いられるデータサーバの概念構成
図である。
【図9】改良型データサーバの概念構成図である。
【図10】公報記載の従来技術の概念図である。
【図11】従来技術の不都合を説明する図である。
【符号の説明】
B*……ブロック、11〜14……記憶装置(記憶スト
レージ)、15b〜18b……ドライバ部(制御手
段)。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 元データをブロック分割し各ブロック単
    位に複数の記憶ストレージに分散記憶するデータ記憶制
    御方法において、 前記ブロックは、通常使用するプライマリデータのブロ
    ックと、当該プライマリデータに読み出し不可ブロック
    が存在する場合にその読み出し不可ブロックの代替ブロ
    ックとして読み出されるセカンダリデータのブロックと
    からなり、 前記セカンダリブロックを前記複数の記憶ストレージに
    記憶させる際に、 前記記憶ストレージの数をNで表したとき、Nブロック
    ごとに最後のj個のブロックを先頭のj個のブロックと
    入れ替えながら記憶させるようにし、且つ、前記jの値
    をNブロックごとに1〜N−1まで逐次に更新させるこ
    とを特徴とするデータ記憶制御方法。
  2. 【請求項2】 元データをブロック分割し各ブロック単
    位に複数の記憶ストレージに分散記憶するデータ記憶制
    御装置において、 前記ブロックは、通常使用するプライマリデータのブロ
    ックと、当該プライマリデータに読み出し不可ブロック
    が存在する場合にその読み出し不可ブロックの代替ブロ
    ックとして読み出されるセカンダリデータのブロックと
    からなり、 前記セカンダリブロックを前記複数の記憶ストレージに
    記憶させる際に、 前記記憶ストレージの数をNで表したとき、Nブロック
    ごとに最後のj個のブロックを先頭のj個のブロックと
    入れ替えながら記憶させるようにし、且つ、前記jの値
    をNブロックごとに1〜N−1まで逐次に更新させる制
    御手段を備えたことを特徴とするデータ記憶制御装置。
  3. 【請求項3】 元データをブロック分割し各ブロック単
    位に複数の記憶ストレージに分散記憶するデータ記憶制
    御プログラムであって、 前記ブロックは、通常使用するプライマリデータのブロ
    ックと、当該プライマリデータに読み出し不可ブロック
    が存在する場合にその読み出し不可ブロックの代替ブロ
    ックとして読み出されるセカンダリデータのブロックと
    からなり、 前記セカンダリブロックを前記複数の記憶ストレージに
    記憶させる際に、 前記記憶ストレージの数をNで表したとき、Nブロック
    ごとに最後のj個のブロックを先頭のj個のブロックと
    入れ替えながら記憶させるようにし、且つ、前記jの値
    をNブロックごとに1〜N−1まで逐次に更新させる制
    御手段を実現するためのプログラムを格納したことを特
    徴とする記録媒体。
JP2000348958A 2000-11-16 2000-11-16 データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体 Pending JP2002149352A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000348958A JP2002149352A (ja) 2000-11-16 2000-11-16 データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体
US09/992,074 US20020059497A1 (en) 2000-11-16 2001-11-14 Data storage control method, data storage control apparatus, and storage medium storing data storage control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000348958A JP2002149352A (ja) 2000-11-16 2000-11-16 データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体

Publications (1)

Publication Number Publication Date
JP2002149352A true JP2002149352A (ja) 2002-05-24

Family

ID=18822440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000348958A Pending JP2002149352A (ja) 2000-11-16 2000-11-16 データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体

Country Status (2)

Country Link
US (1) US20020059497A1 (ja)
JP (1) JP2002149352A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006259945A (ja) * 2005-03-16 2006-09-28 Nec Corp 冗長システム及びその構成制御方法並びにプログラム
JP2007206993A (ja) * 2006-02-02 2007-08-16 Fujitsu Ltd ストレージシステム、制御方法及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529967B2 (en) * 2004-11-04 2009-05-05 Rackable Systems Inc. Method and system for network storage device failure protection and recovery
CN101783955B (zh) * 2010-03-24 2012-11-21 浙江宇视科技有限公司 一种数据异常时的恢复方法和设备
BE1019375A5 (nl) * 2010-06-16 2012-06-05 Sawax Consulting Werkwijze voor het veilig opslaan van data, managementcomponent en veilige opslagserver.
CN105007505A (zh) * 2015-07-29 2015-10-28 无锡天脉聚源传媒科技有限公司 视频播出方法及装置
US11470003B2 (en) * 2021-02-24 2022-10-11 Nokia Solutions And Networks Oy Flow reliability in multi-tier deterministic networking

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187101A (ja) * 1992-09-09 1994-07-08 Hitachi Ltd ディスクアレイ
JPH0869360A (ja) * 1994-08-18 1996-03-12 Internatl Business Mach Corp <Ibm> 複数のディスク間でデータ・セットを分配する方法及び関連する装置・方法
JPH08329021A (ja) * 1995-03-30 1996-12-13 Mitsubishi Electric Corp クライアントサーバシステム
JPH09114605A (ja) * 1995-07-19 1997-05-02 At & T Ipm Corp データ記憶方法
JPH10133826A (ja) * 1996-11-01 1998-05-22 Fujitsu Ltd Raid装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187101A (ja) * 1992-09-09 1994-07-08 Hitachi Ltd ディスクアレイ
JPH0869360A (ja) * 1994-08-18 1996-03-12 Internatl Business Mach Corp <Ibm> 複数のディスク間でデータ・セットを分配する方法及び関連する装置・方法
JPH08329021A (ja) * 1995-03-30 1996-12-13 Mitsubishi Electric Corp クライアントサーバシステム
JPH09114605A (ja) * 1995-07-19 1997-05-02 At & T Ipm Corp データ記憶方法
JPH10133826A (ja) * 1996-11-01 1998-05-22 Fujitsu Ltd Raid装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006259945A (ja) * 2005-03-16 2006-09-28 Nec Corp 冗長システム及びその構成制御方法並びにプログラム
JP2007206993A (ja) * 2006-02-02 2007-08-16 Fujitsu Ltd ストレージシステム、制御方法及びプログラム
JP4718340B2 (ja) * 2006-02-02 2011-07-06 富士通株式会社 ストレージシステム、制御方法及びプログラム

Also Published As

Publication number Publication date
US20020059497A1 (en) 2002-05-16

Similar Documents

Publication Publication Date Title
US7096328B2 (en) Pseudorandom data storage
JP4195725B2 (ja) マルチユーザデータ記憶、検索及び配布システム
US6724982B1 (en) Digital audiovisual magnetic disk doubly linked list recording format extension to multiple devices
US5630007A (en) Client-server system with parity storage
US5539660A (en) Multi-channel common-pool distributed data storage and retrieval system
US8725969B2 (en) Distributed content storage system supporting different redundancy degrees
US20020069317A1 (en) E-RAID system and method of operating the same
EP1272931A2 (en) Multi-device storage system with differing fault tolerant methodologies
WO2010086921A1 (ja) ストレージシステム
JP2010044789A (ja) 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
KR19990029323A (ko) 애플리케이션 프로그램 인터페이스와 이를 구현하는 방법 및 컴퓨터 프로그램 제품
JP4381480B2 (ja) 複数のパリティ・グループを持つ多重ディスク・ドライブ配列
US20050050108A1 (en) File system for digital processing systems with limited resources
JP5391705B2 (ja) ストレージシステム
JP2002149352A (ja) データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体
WO2018235132A1 (en) DISTRIBUTED STORAGE SYSTEM
JP2008191897A (ja) データ分散保存システム
KR20180050180A (ko) 데이터 분산 처리를 수행하는 데이터 관리 시스템 및 데이터 관리 방법
JP4413635B2 (ja) 分散格納装置
JP3600334B2 (ja) 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置
JPH08227371A (ja) データ管理方法
JP3584665B2 (ja) 可搬媒体を用いたライブラリ記憶装置
JP4772752B2 (ja) 分散型マルチメディアサーバシステム、そのためのバッファサーバ、およびその分割マルチメディア情報蓄積配信方法
JP2001318905A (ja) ディスク共有型分散サーバシステム
KR100623190B1 (ko) 데이터 저장 관리 방법 및 그 시스템

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050407

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050407

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100413