JPH07302173A - データアクセス装置及び分散データベースシステム - Google Patents

データアクセス装置及び分散データベースシステム

Info

Publication number
JPH07302173A
JPH07302173A JP6094870A JP9487094A JPH07302173A JP H07302173 A JPH07302173 A JP H07302173A JP 6094870 A JP6094870 A JP 6094870A JP 9487094 A JP9487094 A JP 9487094A JP H07302173 A JPH07302173 A JP H07302173A
Authority
JP
Japan
Prior art keywords
data
access device
sub
storage
unit
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.)
Granted
Application number
JP6094870A
Other languages
English (en)
Other versions
JP3085085B2 (ja
Inventor
Kazuhiko Ito
一彦 伊藤
Toshio Matsumoto
利夫 松本
Masahiro Mizuno
正博 水野
Akira Ogawa
晃 小川
Shiro Ogura
史郎 小倉
Hitoshi Yamamoto
整 山本
Hiroshi Baba
宏 馬場
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP06094870A priority Critical patent/JP3085085B2/ja
Priority to US08/432,508 priority patent/US6018790A/en
Priority to GB9508941A priority patent/GB2289355B/en
Priority to GB9615696A priority patent/GB2300937B/en
Priority to GB9615615A priority patent/GB2301208B/en
Priority to GB9615690A priority patent/GB2300936B/en
Priority to GB9615697A priority patent/GB2301209B/en
Priority to GB9615689A priority patent/GB2300935B/en
Publication of JPH07302173A publication Critical patent/JPH07302173A/ja
Priority to US08/754,510 priority patent/US5832486A/en
Application granted granted Critical
Publication of JP3085085B2 publication Critical patent/JP3085085B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/2087Error 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 with a common controller
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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
    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

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

Abstract

(57)【要約】 【目的】 高速データ検索マシンにおいて、データの保
全と高速化のために各スレーブ処理装置に接続されてい
るHDDをミラー化する。 【構成】 マスター処理装置に対して複数のスレーブ処
理装置を接続し、各スレーブ処理装置に対してHDDを
2重化して接続する。HDD0とHDD1は同期信号に
より半回転ずらして同期回転する。HDDコントローラ
はHDD0とHDD1に対して同一のデータを書き込
む。一方、読み出す場合にはいずれか早期に読み出せる
HDDからデータを読み出す。 【効果】 HDDをミラー化することによりデータの信
頼性が向上する。また、HDDの回転をずらすことによ
りデータアクセスの回転待ち時間を半分に減少させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は高速にデータを検索す
る高速データ検索マシン等に利用されるデータアクセス
装置に関するものである。また、この発明はローカルエ
リアネットワークを用いてデータベースを分散して管理
する分散データベースシステムに関するものである。
【0002】
【従来の技術】
従来例1.図59は従来の高速データ検索マシンの構成
を示す図である。従来の高速データ検索マシンではデー
タベースのデータを各ハードディスク装置(HDD)に
分散して記録している。図59に示すようにテーブルA
の各レコードはサブテーブルA0〜A3の4つに分割さ
れ、それぞれHDD0〜HDD3に分散して記憶され
る。スレーブ処理装置0〜スレーブ処理装置3(図中、
スレーブ0〜スレーブ3と記す)はそれぞれ対応して接
続されたHDD0〜HDD3をアクセスすることにより
サブテーブルA0〜A3をアクセスすることができる。
このスレーブ処理装置0〜スレーブ処理装置3にはプロ
セッサーが搭載されており、ローカルに処理を行うこと
ができる。また、マスター処理装置(図中、マスターと
記す)はスレーブ処理装置0からスレーブ処理装置3に
対して要求を出すことによりテーブルAに対してアクセ
スをすることができる。このマスター処理装置もプロセ
ッサーを有しており、ホストコンピュータからのデータ
検索要求に対して処理を行い、検索されたデータをホス
トコンピュータに返送する。
【0003】図60は前述した高速データ検索マシンの
データ検索動作を説明する図である。各HDDは各HD
D内に論理・物理アドレス変換表T0〜T3を有してい
る。また、各HDDは各HDD内にサブテーブルA0か
らA3をそれぞれ記憶している。図60においては、論
理・物理アドレス変換表T0を示している。この論理・
物理アドレス変換表T0内にはテーブルのレコードアド
レスを示す論理アドレスとHDD内のディスク内アドレ
スを示す物理アドレスが対になって格納されている。マ
スター処理装置はホストコンピュータからのデータ検索
要求をそれぞれのスレーブ処理装置に対して発行する。
各スレーブ処理装置は論理・物理アドレス変換表をHD
Dから読み込み、各スレーブ処理装置のメモリーに常駐
させる。そして、マスター処理装置から要求があったテ
ーブルのレコードアドレス、即ち論理アドレスからディ
スク内のアドレス、即ち物理アドレスに変換する。そし
て、検索された物理アドレスを用いてHDDにアクセス
し、必要なデータを検索する。検索されたデータは各ス
レーブ処理装置からマスター処理装置へ出力される。マ
スター処理装置は各スレーブ処理装置から集まったデー
タに対して必要な処理を行い、結果をホストコンピュー
タへ出力する。
【0004】従来例2.図61は従来の分散データベー
スシステムを示す図である。従来の分散データベースシ
ステムにおいてはローカルエリアネットワーク(LA
N)に接続されたクライアントが、データを分散して記
憶しているデータベース0からデータベース3にアクセ
スする。データベース0からデータベース3にはテーブ
ルAがサブテーブルA0からA3にそれぞれ分割されて
記憶されている。
【0005】
【発明が解決しようとする課題】従来例1に示したよう
に従来の高速データ検索マシンにおいては、スレーブ処
理装置のもとに接続されているHDDのうち1台でも故
障した場合にデータの検索が不可能となりシステムダウ
ンしてしまうという問題点があった。また、HDDの回
転待ち時間及びシーク時間によるアクセス応答のオーバ
ーヘッドが発生し、この待ち時間が無視出来ないものと
なっていた。また、HDDが故障した場合にはHDDの
交換をホストシステムから再びデータをロードする必要
があり、システムの復旧まで時間を要していた。また、
従来の高速データ検索マシンはマスター処理装置が1つ
しか存在していないため、スレーブ処理装置の数が増加
することによりマスター処理装置への負荷が増加すると
いう欠点があった。データ検索処理を高速化する手段と
してスレーブ処理装置の数を増やす(並列度を上げる)
ことが有効であると考えられるが、スレーブ処理装置の
数が増加することにより特にジョイン処理(結合処理)
を行うような場合にはマスター処理装置プロセッサーの
処理が追いつかなくなり、高速処理が出来なくなるとい
う欠点があった。
【0006】また、従来例2に示したような分散データ
ベースシステムにおいてはクライアントが複数のデータ
ベースに対して個々にアクセスして結果を得ていた。こ
のため、複数のサブテーブルのデータを集める作業や、
或いは複数のテーブルのデータのジョイン処理を行うよ
うな場合には、全てクライアント上で実行する必要があ
り、クライアントの負荷が増大するという欠点があっ
た。また、複数のデータベースに対してどのようにデー
タを配置するかは全てクライアントが管理メンテナンス
しており、さらにクライアントに対してデータベースの
管理負荷を増大させていた。
【0007】この発明は以上のような問題点を解決する
ために成されたものであり、高速データ検索マシン等に
用いられるデータアクセス装置の信頼性を高めるととも
にアクセスの高速化を図ることを目的とする。また、こ
の発明は高速データ検索マシン等に用いられるデータア
クセス装置の記憶部の故障に対して、データの復旧を容
易に行えることを目的とする。また、この発明は分散さ
れて格納されたデータに対して冗長データを持たせるこ
とにより、データの信頼性を高めることを目的とする。
また、この発明はスレーブ処理装置の数を増加させるこ
となく検索性能を向上させることを目的とする。また、
この発明はマスター処理装置の負荷を増加させることな
くスレーブ処理装置の数を増加して、処理の並列度を上
げることを目的とする。また、この発明は分散データベ
ースシステムにおいて、クライアントが分散を意識しな
くても分散されたデータを管理検索できることを目的と
する。
【0008】
【課題を解決するための手段】第1の発明に係るデータ
アクセス装置は、データを分散して記憶する複数の記憶
部と、上記記憶部に接続された複数の副処理手段と、上
記複数の副処理手段を用いて記憶部に記憶されたデータ
をアクセスする主処理手段を備え、上記副処理手段に接
続され、同一データを記憶する第1と第2の記憶部を備
えたことを特徴とする。
【0009】第2の発明に係るデータアクセス装置にお
いて、上記副処理手段は、上記第1と第2の記憶部に対
して同一データを書き込む書き込み手段と、上記第1と
第2の記憶部のいずれかからデータを読み出す読み出し
手段を備えたことを特徴とする。
【0010】第3の発明に係るデータアクセス装置にお
いて、上記副処理手段は、上記第1と第2の記憶部に対
して同期信号を出力し、同期信号出力手段を備え、上記
第1と第2の記憶部は、その同期信号を参照することに
より、互いに異なる位相で同期回転する位相同期手段を
備えたことを特徴とする。
【0011】第4の発明に係るデータアクセス装置にお
いて、上記読み出し手段は同期信号から第1と第2の記
憶部の回転位置を算出する回転位置算出手段と、算出し
た第1と第2の記憶部の回転位置から早期読み出し可能
な記憶部を判定する判定手段と、その記憶部に対して読
み出し要求を出力する出力手段を備えたことを特徴とす
る。
【0012】第5の発明に係るデータアクセス装置にお
いて、上記読み出し手段は、さらに、第1と第2の記憶
部のヘッド位置を記憶するヘッド位置記憶手段を有し、
上記判定手段は、上記回転位置算出手段により算出され
た第1と第2の記憶部の回転位置とヘッド位置記憶手段
により記憶されたヘッド位置に基づいて、早期読み出し
可能な記憶部を判定することを特徴とする。
【0013】第6の発明に係るデータアクセス装置にお
いて、上記副処理手段は、書き込み要求と読み出し要求
を出力する場合、第1と第2の記憶部を選択し、データ
を副処理手段に読み出す場合、第1と第2の記憶部のい
ずれかを選択する選択手段を備えたことを特徴とする。
【0014】第7の発明に係るデータアクセス装置にお
いて、上記選択手段は、読み出し要求に対して早期に応
答した記憶部を記憶する応答記憶部と、応答記憶部に記
憶された記憶部を選択してデータを読み出すセレクタを
備えたことを特徴とする。
【0015】第8の発明に係るデータアクセス装置にお
いて、上記副処理手段は、同一の読み出し要求を第1と
第2の記憶部へ出力する読み出し手段と、いずれか一方
の記憶部の応答を検出して、他方の記憶部への読み出し
要求をキャンセルするキャンセル手段を備えたことを特
徴とする。
【0016】第9の発明に係るデータアクセス装置は、
データを分散して記憶する複数の記憶部と、上記記憶部
に接続された複数の副処理手段と、上記複数の副処理手
段を用いて記憶部に記憶されたデータをアクセスする主
処理手段を備えたデータアクセス装置において、上記複
数の記憶部に記憶されたデータの冗長データを記憶する
冗長部と、上記冗長部と接続され、上記副処理部が上記
記憶部にデータを書き込む場合に、冗長データを作成し
て上記冗長部に記憶させる冗長データ生成手段と、いず
れかの記憶部に障害が発生し代替部が用意された場合
に、冗長部の冗長データを用いて障害が発生した記憶部
のデータを代替部に復元する復元手段を有する制御部を
備えたことを特徴とする。
【0017】第10の発明に係るデータアクセス装置
は、上記副処理手段と上記記憶部と上記制御部の接続を
切り替えるスイッチ手段を備えたことを特徴とする。
【0018】第11の発明に係るデータアクセス装置に
おいて、上記スイッチ手段は、上記副処理手段が上記記
憶部にデータを書き込む場合に、上記副処理手段を上記
記憶部と上記制御部へ接続する書き込み接続手段と、故
障した記憶部のデータを代替部に復元する場合に、正常
な記憶部と上記制御部を接続するとともに、代替記憶部
と上記制御部を接続する復元接続手段を備えたことを特
徴とする。
【0019】第12の発明に係るデータアクセス装置
は、故障した記憶部を代替する代替部と、上記代替部を
故障した記憶部の替わりに接続する代替手段を備えたこ
とを特徴とする。
【0020】第13の発明に係るデータアクセス装置
は、上記複数の記憶部を同期させて動作させるととも
に、上記冗長部を記憶部の同期とは異なる位相で同期さ
せて動作させる同期制御手段を備えたことを特徴とす
る。
【0021】第14の発明に係るデータアクセス装置
は、上記複数の記憶部と冗長部を同期させて動作させる
とともに、上記代替部を記憶部の同期とは異なる位相で
同期させて動作させる同期制御手段を備えたことを特徴
とする。
【0022】第15の発明に係るデータアクセス装置
は、データを分散して記憶する複数の記憶部と、上記記
憶部に接続された複数の副処理手段と、上記複数の副処
理手段を用いて記憶部に記憶されたデータをアクセスす
る主処理手段を備え、上記複数の副処理手段と上記複数
の記憶部の間に設けられ、副処理手段から記憶部へのア
クセスを制御するとともに、副処理手段から記憶部に対
して書き込まれるデータの冗長データを生成して、記憶
部に記憶する制御部を備えたことを特徴とする。
【0023】第16の発明に係るデータアクセス装置
は、n台(n≧2)の副処理装置と、m+1(m≧n)
台の記憶部を備え、上記制御部は、冗長データをm+1
台目の記憶部に記憶することを特徴とする。
【0024】第17の発明に係るデータアクセス装置
は、n台(n≧2)の副処理装置と、m台(m≧n)の
記憶部を備え、上記制御部は冗長データをm台の記憶部
に分散させて記憶することを特徴とする。
【0025】第18の発明に係るデータアクセス装置に
おいて、上記制御部は所定の識別子を用いて、上記副処
理手段と上記記憶部を対応付けするとともに、対応付け
られた副処理手段と記憶部の間でデータを転送する対応
付け手段を備えていることを特徴とする。
【0026】第19の発明に係るデータアクセス装置に
おいて、上記副処理手段は、それぞれに識別する論理ユ
ニット番号を有し、上記識別子は、副処理手段に割り当
てられた論理ユニット番号であることを特徴とする。
【0027】第20の発明に係るデータアクセス装置に
おいて、接続するデバイスに対してSCSI−IDを割
り当てるSCSI(Small Computer S
ystem Interface)で上記複数の副処理
手段と上記制御部を接続するとともに、上記識別子は、
SCSIにより副処理手段に割り当てられたSCSI−
IDであることを特徴とする。
【0028】第21の発明に係るデータアクセス装置に
おいて、上記主処理手段は、データ量Xを単位としてデ
ータのアクセスを行い、各副処理手段はデータ量X/k
(kは正の整数)を単位として記憶部にアクセスし、上
記記憶部はデータ量X/kを読み書きの単位とすること
を特徴とする。
【0029】第22の発明に係るデータアクセス装置に
おいて、上記データ量Xはデータベースのアクセスに用
いるページ単位であることを特徴とする。
【0030】第23の発明に係るデータアクセス装置に
おいて、上記データ量Xはオペレーティングシステムが
データのアクセスに用いるブロッキングサイズであるこ
とを特徴とする。
【0031】第24の発明に係るデータアクセス装置に
おいて、上記正の整数kは記憶部の数と等しいことを特
徴とする。
【0032】第25の発明に係るデータアクセス装置に
おいて、上記記憶部はワーク領域を有し、上記副処理手
段は、一時的なデータを上記ワーク領域に書き込む一時
書き込み手段を備え、上記制御部は、上記ワーク領域へ
の書き込みの場合は冗長データを生成しない不生成手段
を備えたことを特徴とする。
【0033】第26の発明に係るデータアクセス装置
は、データを分散して記憶する複数の記憶部と、上記記
憶部に接続された複数副処理手段と、上記複数の副処理
手段を用いて記憶部に記憶されたデータをアクセスする
主処理手段を備え、各副処理手段に対して複数の記憶部
を接続し、各副処理手段は、接続された複数の記憶部に
データを分割して記憶する分割記憶手段を備えたことを
特徴とする。
【0034】第27の発明に係るデータアクセス装置に
おいて、上記分割記憶手段は、複数の記憶部に分割され
たデータをアクセスするため、各記憶部に対応して論理
アドレスを物理アドレスに変換するアドレス変換表を備
えたことを特徴とする。
【0035】第28の発明に係るデータアクセス装置に
おいて、接続するデバイスに対してSCSI−IDを割
り当てるSCSIで上記副処理手段と上記複数の記憶部
を接続し、上記副処理手段は、上記SCSIにより記憶
部に割り当てられたSCSI−IDを用いて記憶部を識
別することを特徴とする。
【0036】第29の発明に係るデータアクセス装置
は、データを分散して記憶する複数の記憶部と、上記記
憶部に接続された複数の副処理手段と、上記複数の副処
理手段を用いて記憶部に記憶されたデータをアクセスす
る主処理手段を備えたデータアクセス装置において、上
記主処理手段は、親主処理手段と親主処理手段に接続さ
れた複数の子主処理手段を備え、各子主処理手段それぞ
れに複数の副処理手段を接続したことを特徴とする。
【0037】第30の発明に係るデータアクセス装置に
おいて上記主処理手段は、さらに、子主処理手段を階層
化したことを特徴とする。
【0038】第31の発明に係るデータアクセス装置
は、各副処理手段に対して複数の記憶部を接続し、各副
処理手段は、接続された複数の記憶部にデータを分割し
て記憶する分割記憶手段を備えたことを特徴とする。
【0039】第32の発明に係る分散データベースシス
テムは、データをアクセスするアクセス装置と、上記ア
クセス装置がアクセスするデータを分散して記憶する複
数のサブシステムと、上記アクセス装置と複数のサブシ
ステムを接続するネットワークを備えた分散データベー
スシステムにおいて、上記サブシステムは、アクセス装
置からのアクセス要求を受けつけ、必要な処理を他のサ
ブシステムに要求し、その結果をアクセス装置に出力す
る幹事サブシステムと、幹事サブシステムからの要求に
対して必要な処理を実行して結果を幹事サブシステムへ
出力するメンバサブシステムを備えたことを特徴とす
る。
【0040】第33の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してテーブルを生成するテーブル生成要求を出
力する手段を有し、上記幹事サブシステムは、上記アク
セス装置からのテーブル生成要求に基づいて、上記メン
バサブシステムにテーブルを分散して生成させるテーブ
ル生成分散手段を備えたことを特徴とする。
【0041】第34の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してデータを追加するデータ追加要求を出力す
る手段を有し、上記幹事サブシステムは、上記アクセス
装置からのデータ追加要求に基づいて、上記メンバサブ
システムにデータを分散して追加させるデータ追加分散
手段を備えたことを特徴とする。
【0042】第35の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してテーブルのインデックスを生成するインデ
ックス生成要求を出力する手段を有し、上記幹事サブシ
ステムは、上記アクセス装置からのインデックス生成要
求に基づいて、上記メンバサブシステムに分散されたテ
ーブルからインデックスを生成するインデックス生成手
段を備えたことを特徴とする。
【0043】第36の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してテーブルのデータ検索を要求するデータ検
索要求を出力する手段を有し、上記幹事サブシステム
は、上記アクセス装置からのデータ検索要求に基づい
て、上記メンバサブシステムに分散されたテーブルを検
索する分散テーブル検索手段を備えたことを特徴とす
る。
【0044】第37の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してロールバック要求を出力する手段を有し、
上記幹事サブシステムは、上記アクセス装置からのロー
ルバック要求に基づいて、上記メンバサブシステムにロ
ールバック要求を転送するロールバック分散手段を備え
たことを特徴とする。
【0045】第38の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してコミット要求を出力する手段を有し、上記
幹事サブシステムは、上記アクセス装置からのユニット
要求に基づいて、上記メンバサブシステムにコミット要
求を転送するコミット分散手段を備えたことを特徴とす
る。
【0046】第39の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対して別テーブルのデータを結合するジョイン要
求を出力する手段を有し、上記幹事サブシステムは、上
記アクセス装置からのジョイン要求に基づいて、上記メ
ンバサブシステムに分散された別テーブルのデータを結
合するジョイン手段を備えたことを特徴とする。
【0047】第40の発明に係る分散データベースシス
テムにおいて、上記アクセス装置は、上記幹事サブシス
テムに対してデータの更新要求を出力する手段を有し、
上記幹事サブシステムは、上記アクセス装置からの更新
要求に基づいて、上記メンバサブシステムに分散された
テーブルを更新する更新手段を備えたことを特徴とす
る。
【0048】
【作用】第1の発明においては、副処理手段に接続され
る記憶部を二重化したものである。従って、一方の記憶
部に障害が生じても他方の記憶部のデータを読み出すこ
とができる。
【0049】第2の発明においては、副処理手段が両方
の記憶部にデータを書き込み、一方の記憶部からデータ
を読み出すようにしたものであり、記憶部が二重化され
ている場合でも矛盾無く読み書きを行うことができる。
【0050】第3の発明においては、副処理手段からの
同期信号に基づいて第1と第2の記憶部は位相をずらし
て同期回転する。従って副処理手段は、いずれか一方か
ら先にデータを読み出すことが可能になる。
【0051】第4の発明においては、読み出す場合に記
憶部の回転位置に基づいて読み出す記憶部を選択する。
従って、早期読み出しが可能になる。
【0052】第5の発明においては、記憶部の回転位置
とヘッド位置の両方に基づいて、早期読み出し可能な記
憶部を決定する。
【0053】第6の発明においては、副処理手段が選択
手段を有しているため、副処理手段からは第1と第2の
記憶部が同一の記憶部にみなせる。
【0054】第7の発明においては、記憶部からの応答
に基づいて早期に応答した記憶部を選択する。従って、
早期読み出しが可能になる。
【0055】第8の発明においては、一方の記憶部から
の応答により、他方の記憶部の動作をキャンセルするた
め無駄な処理を省くことができる。
【0056】第9の発明においては、分散されて記憶さ
れるデータの冗長データを記憶するようにし、その分散
されたデータに障害が発生した場合には、冗長データを
用いてもとのデータを復元する。
【0057】第10の発明においては、副処理手段と記
憶部と制御部を切り換えるスイッチ手段を設けるという
簡単な構成により、前述した冗長データの作成や冗長デ
ータを用いたデータの復元を可能にする。
【0058】第11の発明においては、データを書き込
む場合と、データを復元する場合にスイッチ手段が接続
を切り換えるため、冗長データの作成やデータの復元が
容易に行える。
【0059】第12の発明においては、代替部を予め用
意しておき、故障が発生した時に自動的に代替部を故障
した記憶部と交換するため、データの復元が早期にかつ
容易に行える。
【0060】第13の発明においては、記憶部が同期し
ており、冗長部が異なる位相で同期しているため、冗長
部における回転待ちの時間を減少させることができる。
【0061】第14の発明においては、記憶部と冗長部
を同期させ、代替部を異なる位相で同期させているの
で、データの復旧を行う場合に代替部の回転待ち時間を
減少させることができる。
【0062】第15の発明においては、複数の副処理手
段と複数の記憶部の間に制御部を設け、この制御部によ
り冗長データを生成して記憶部に冗長データを記憶させ
るようにしたため、障害時にデータの復元が可能なシス
テムを構築できる。
【0063】第16の発明においては、複数の記憶部の
中の1台を冗長データを記録する専用の記憶部とするも
のである。
【0064】第17の発明においては、冗長データを複
数の記憶部に分散させて記憶するものである。
【0065】第18の発明においては、複数の副処理手
段と複数の記憶部の間にある制御部が、副処理手段と記
憶部の対応づけをするために識別子を用いている。この
識別子を用いることにとより、制御部が副処理手段から
のアクセス要求を記憶部の特定場所に対応づける。
【0066】第19の発明においては、識別子が副処理
手段の論理ユニット番号であり、副処理手段は制御部に
対して論理ユニット番号を付してアクセス要求を発行
し、制御部はその識別子を用いてアクセス要求を対応す
る記憶部に割り振る。
【0067】第20の発明においては、副処理手段と制
御部がSCSIで接続されており、SCSIが持つSC
SI−IDを識別子として用いる。SCSI−IDはそ
のインタフェースにより接続されたデバイスに割り振ら
れるものであり、副処理手段は特に識別子をアクセス要
求に付さなくても、制御部は副処理手段からのアクセス
要求を対応する記憶部に割り振ることが可能になる。
【0068】第21の発明においては、主処理手段がデ
ータ量Xを単位としてデータのアクセスを行うのに対
し、副処理手段はそのデータ量Xの整数分の1のデータ
量を単位にアクセスするものである。従って、記憶部も
データ量Xの整数分の1を1つの読み書き単位とするこ
とにより、記憶部の効率的な使用を図ることができる。
【0069】第22の発明においては、主処理手段のア
クセス単位がデータベースのアクセスに用いられるペー
ジ単位であることを特徴としているため、データベース
からのアクセスに対して無駄のない記憶部の使用ができ
る。
【0070】第23の発明においては、主処理手段から
のアクセスがオペレーティングシステムがデータをアク
セスする場合に用いるブロッキングサイズである。従っ
て、オペレーティングシステムからのデータに対して記
憶部を無駄なく使用することができる。
【0071】第24の発明においては、記憶部の台数と
データ量Xの分割数が同じ場合であり、データベースを
アクセスする場合に用いるページ単位や、オペレーティ
ングシステムが用いるブロッキングサイズのデータが、
1度のリードライトにより複数の記憶部に読み書き可能
となり、アクセスの効率が向上する。
【0072】第25の発明においては、一時的な中間フ
ァイルやワークファイルを作成する場合には冗長データ
を生成しないようにしているので、冗長データを生成す
るために必要な時間を軽減することができる。中間ファ
イルやワークファイルは一時的なものであり、仮に障害
が発生して失われても他のファイルから再び生成するこ
とが可能であるため、冗長データを生成しなくとも構わ
ない。
【0073】第26の発明においては、副処理手段に対
して複数の記憶部を接続し、複数の記憶部にデータを分
割して記憶するようにしたものである。従って、副処理
手段の数を増加させずに記憶部の増加のみによる性能を
向上させるものである。また、記憶部の増加により記憶
容量を増加させる。
【0074】第27の発明においては、複数の記憶部そ
れぞれに対応して、論理アドレスから物理アドレスに変
換するアドレス変換表を備えているため、一つの副処理
手段に複数の記憶部が接続されても矛盾なくアクセスを
行うことができる。
【0075】第28の発明においては、副処理手段と複
数の記憶部をSCSIで接続しているので、SCSI−
IDを用いて記憶部を識別することが可能になる。ま
た、SCSI−IDは、そのインタフェースにより接続
されたデバイスに割り当てられたIDであり、特に各記
憶部を識別するために特別な識別子を割り当てる必要が
ないので、効率よく記憶部を識別できる。
【0076】第29の発明のおいては、主処理手段を親
子に分け、複数の子処理手段を備えているものである。
従って、親主処理手段の負荷が軽減する。
【0077】第30の発明のおいては、更に子主処理手
段を階層化しているため上位にある子主処理手段の負荷
を軽減することができる。
【0078】第31の発明においては、親主処理手段及
び子主処理手段が存在するシステムにおいて、さらに、
副処理手段の元に複数の記憶部を備えるようにしたの
で、システム全体の負荷分散を更に図ることができる。
【0079】第32の発明においては、データを記憶し
ているサブシステムの中に幹事サブシステムを設け、幹
事サブシステムがデータベースに対する要求を他のメン
バサブシステムに対して分配する。従って、アクセス装
置は単にデータベースに対してアクセス要求を発生する
だけでよい。
【0080】第33の発明においては、アクセス装置か
らのテーブル生成要求に対して、幹事サブシステムがメ
ンバサブシステムに対して、サブテーブルを生成させる
ようにしたものである。従って、アクセス装置はメンバ
サブシステムに対するテーブルの生成を管理する必要が
ない。
【0081】第34の発明においては、アクセス装置か
らのデータ追加要求に対して、幹事サブシステムがメン
バサブシステムに対して追加要求を分散させる。従っ
て、アクセス装置はデータの追加に対してメンバサブシ
ステムを管理する必要がない。
【0082】第35の発明においては、アクセス装置か
らのインデックス生成要求に対して、幹事サブシステム
が各メンバサブシステムのデータに基づいてインデック
スを生成する。従って、アクセス装置がメンバサブシス
テムに対してインデックスを生成するために個々にアク
セスする必要がない。
【0083】第36の発明においては、アクセス装置か
らのデータ検索要求に対して、幹事サブシステムがメン
バサブシステムに対してデータの検索要求を分散させ
る。従って、アクセス装置はデータの検索の為にメンバ
サブシステムをアクセスする必要がない。
【0084】第37の発明においては、アクセス装置か
らのロールバック要求に対して、幹事サブシステムがメ
ンバサブシステムに対してロールバック要求を分散させ
て伝える。従って、アクセス装置からロールバック要求
を各メンバサブシステムに対して出力する必要がない。
【0085】第38の発明においては、アクセス装置か
らのコミット要求に対して、幹事サブシステムがメンバ
サブシステムに対してコミット要求を分散させる。従っ
て、アクセス装置は個々のメンバサブシステムに対して
コミット要求を出力する必要がない。
【0086】第39の発明においては、アクセス装置か
らのジョイン要求に対して、幹事サブシステムがメンバ
サブシステムのデータを結合して、アクセス装置に対し
出力する。従って、アクセス装置は個々のメンバサブシ
ステムのデータをアクセスして結合する必要がなくな
る。
【0087】第40の発明においては、アクセス装置か
らの更新要求に対して、幹事サブシステムがメンバサブ
システムへ更新要求を分散させる。従ってアクセス装置
は個々のメンバサブシステムに対して更新要求を出力す
る必要がない。
【0088】
【実施例】
実施例1.図1はこの発明に係るデータアクセス装置の
一実施例を示す高速データ検索マシンの構成を示す図で
ある。従来の高速データ検索マシンと異なる点は固定デ
ィスク装置(HDD)が1つのスレーブ処理装置に対し
て二重化されている点である。例えば、スレーブ処理装
置0に対してHDD0とHDD1が接続されている。こ
のHDD0とHDD1はスレーブ処理装置0内にあるH
DDコントローラにHDDバスを配してシリアルに接続
されている。また、スレーブ処理装置0内にあるCPU
からは同期回転用の同期信号(SPM sync)をH
DD0とHDD1に出力する。この同期信号はHDD0
とHDD1のスピンドルモーターを同期させるものであ
る。
【0089】このように、この実施例における高速デー
タ検索マシンはスレーブ処理装置のHDD構成をソフト
ウェアミラー化したものである。ソフトウェアミラー化
とは2つのHDDに全く同じデータを持たせることを1
つのHDDコントローラとソフトウェア制御により行う
方式である。2つのHDDに全く同じデータを持たせる
ためには、HDDコントローラが1つであるため、プロ
グラムの中で2つのHDDそれぞれに対し、同じ書き込
み命令を発行する必要がある。そして、HDDをミラー
化することにより、書き込み時は、2つのHDDに同じ
データを書き込む必要があるが、読み出し時には、どち
らか一方のHDDから読み出せばよい。そのため、一方
のHDDの回転を他方のHDDの回転から半回転ずらし
て同期回転させ、どちらか目的トラックに近い方のHD
Dからデータを読み出すようにする。この半回転ずらし
た同期回転は、同期信号を参照することにより達成され
る。例えばHDD0は同期信号と同位相で回転するよう
に予め設定されており、HDD1は同期信号に対して1
/2回転ずれた位相で同期回転するように設定されてい
るものとする。
【0090】図2はこのように設定されたシステム構成
において、マスター処理装置からの要求に対する動作を
示す図である。同期信号がパルス状にオンになる時点
で、HDD0はインデックスマークを検出する。またH
DD1は、同期信号の中間点でインデックスマークを検
出する。マスター処理装置から読み出しコマンドを受け
取ったスレーブ処理装置は、目的データにアクセスする
際に2台のHDDの回転位置を計算する。前述したよう
に、スレーブ処理装置のCPUが同期信号を出力してい
るため、スレーブ処理装置は、2台のHDDの現在の回
転位置を計算することが可能である。目的データに近い
方のHDDに対して、読み出しコマンドを送出しデータ
を得ることができる。図2に示す場合は、時刻Tにおい
てマスター処理装置からの読み出しコマンドを受け取
り、その読み出しコマンドをいずれかのHDDに対して
出力することになるが、図に示すようにHDD0の方が
目的データに近いため、HDD0に対して読み出しコマ
ンドを送出してHDD0からデータを得る。このよう
に、目的トラックに近い方のHDDに対して読み出しコ
マンドを送出するため、平均回転時間は理論的に従来の
半分になる。
【0091】図3は、前述したスレーブ処理装置の動作
フローを示す図である。S1においてマスター処理装置
CPUから読み出しコマンドを受け取る。次に、S2に
おいてマスター処理装置CPUから受け取った読み出し
コマンドにあるレコードの論理アドレスからHDDにそ
のデータが記憶されているディスクの物理アドレスに変
換する。この物理アドレスはセクター番号や、トラック
番号や、シリンダー番号等を用いて表現されるものであ
る。特にここで重要となるのは、計算された物理アドレ
スがインデックスからどの位離れているかという点であ
る。インデックスからの距離を計算することにより、い
ずれのHDDに対して読み出しコマンドを送出すべきか
決定することになる。次に、S3において、同期信号を
発生させるための同期信号発生クロックの値から、現在
のディスクの位置を確認する。この現在の位置とは、H
DDのヘッドがディスクのどの位置に存在しているかを
確認するものである。次に、S4において、S2とS3
で求められた物理アドレスと現在の位置を比較し、いず
れのHDDに対して読み出しコマンドを送出すべきかを
判定する。S4において判定された結果に基づきS5ま
たはS6において読み出しコマンドを送出する。S7に
おいては、その読み出しコマンドの結果としてのデータ
をHDDから受け取る。
【0092】以上のように、この実施例によれば、ハー
ドウェアの構成を殆ど追加せずに安価に高速データ検索
マスター処理装置を高速化できるとともに、信頼性の向
上を図ることができる。特に、この例においてはHDD
の回転を半回転ずらすことにより、データアクセス時の
回転待ち時間を理論的に半分に減少させることができ
る。
【0093】実施例2.図4及び図5は、前述した実施
例1に加えてさらにアクセス時間を向上させる場合を説
明する図である。この例においては、読み出し時の回転
待ち時間を減少させるばかりでなくヘッドのシーク時間
を減少させる場合について説明する。前述したように、
実施例1においてはミラー化されたHDDの一方に対し
て読み出しコマンドを送出する。このため2台のHDD
のヘッドの位置は各々異なる。この物理的なヘッド位置
をスレーブ処理装置に記憶させる。スレーブ処理装置の
メモリーに図4(a)に示すようなテーブルを記憶させ
ておく。そして、この記憶したヘッド位置を用いてシー
ク時間を計算することが可能になる。図4(b)はある
時点でのヘッドの位置を示す図である。ある時点でヘッ
ドHDD0のヘッドの位置はXトラック上にあり、HD
D1のヘッドの位置はYトラック上にある。このような
状態で、Zトラックにある目的データをアクセスする場
合について考えてみる。この例では、前述した実施例1
と同様にHDD0とHDD1は、1/2回転ずれて同期
回転しているものとする。図5に示すように、アクセス
時間は回転待ち時間と、シーク時間と、転送時間から計
算される。回転待ち時間は、現在の位置からデータの位
置までの時間である。シーク時間は、現在のヘッド位置
からデータの存在するトラックまでの時間である。ま
た、転送時間は転送速度とデータ量に比例する値であ
る。図4の場合の一例としてHDD0の現在の位置から
データの位置までが1/4回転であり、HDD1の現在
の位置からデータの位置までが3/4回転の場合を考え
る。この時それぞれの回転待ち時間は1/4回転時間及
び3/4回転時間である。またHDD0のシーク時間は
XトラックからZトラックへの移動時間である。HDD
1のシーク時間はYトラックからZトラックへの移動時
間である。また、それぞれの転送時間は転送速度及びデ
ータ量が等しいため等しくなる。従って、HDD0のア
クセス時間は図5(b)の計算式で求められる。またH
DD1のアクセス時間は図5(c)の式で求められる。
このようにして求めたアクセス時間を比較することによ
り、いずれのHDDに対して読み出しコマンドを送出す
べきかを判断することができる。
【0094】このように、この実施例においては、各々
のHDDのヘッド位置をスレーブ処理装置に記憶させて
おくことにより、シーク時間も考慮したアクセス時間を
用いて最適なHDDを選択することができる。尚、図5
においてはアクセスを回転と、シークを別々に行うもの
として考えているが、回転とシークを同時に行うことも
可能である。このような場合には、図6に示すようにア
クセス時間は回転待ち時間とシーク時間のどちらか大き
い方+転送時間となる。図6に示すような計算式を用い
る場合でも前述したようにシーク時間も考慮しているの
でより最適なHDDを選択することが可能になる。
【0095】実施例3.図7は前述した実施例の改良例
を示す図である。図7においては、スレーブ処理装置0
に対して3つのHDDを接続している。また、スレーブ
処理装置1に対しては4つのHDDを接続している。こ
のようにスレーブ処理装置に接続するHDDの数は2つ
に限らず複数存在してよい。HDDの数が増せば増す程
データの信頼性が向上する。また、HDDの回転をずら
すことによりアクセスタイムを減少させることができ
る。HDDを3個接続する場合には回転同期を1/3ず
つずらし、HDDを4台接続する場合には、回転同期を
1/4ずつずらすようにする。
【0096】実施例4.図8は、この発明に係るデータ
アクセス装置の一実施例である高速データ検索マスター
処理装置の他の例を示す図である。図8は特に、スレー
ブ処理装置とHDDの構成を示している。この実施例で
特徴となる点は、HDDに対応してHDDコントローラ
が個別に存在している点である。また、複数のHDDコ
ントローラに対してCPUからの要求を伝達したり、或
いは、逆にHDDコントローラからの応答を、CPUに
伝える選択手段を有している点である。この選択手段が
存在することにより、CPUからは2台のHDDコント
ローラが1台のコントローラに見えるようにしている。
また、選択手段は2つのHDDコントローラから何れか
を選択し、HDDからのデータをCPUに対して供給す
る。このように、スレーブ処理装置のHDD構成を、ハ
ードウェアミラー化するのがこの実施例の特徴である。
ここで、ハードウェアミラー化とは、2つのHDDに全
く同じデータを持たせることをハードウェアで実現する
方式である。即ち、2つのHDDそれぞれにHDDコン
トローラを持たせる。データを書き込む場合は、2つの
HDDコントローラに対し、ひとつの書き込み命令を発
行し、1回の書き込み命令で同じデータを2つのHDD
に書き込む。また、スレーブ処理装置はHDDに対して
同期信号を出力し、HDDの回転を半回転ずらして同期
回転させる。2つのHDDコントローラは、各々同一の
アドレスを用いてCPUからアクセスされるようにアド
レスが設定されている。このようにアドレスを同一にす
ることにより、HDDが実際には2台存在していても、
CPUからは1台しか存在していないような扱いを受け
る。但し、HDDからデータを読み出す場合には何れか
のHDDから読み出すため選択手段は何れか一方を選択
する。この選択は各HDDコントローラから出力される
割り込み信号を用いる。
【0097】次に、この実施例の動作について図9の動
作フローを用いて説明する。図9に示す動作フローは、
スレーブ処理装置の動作を示すものである。先ずS11
においてスレーブ処理装置がマスター処理装置CPUか
らコマンドを受け取る。S12において、スレーブ処理
装置はHDDにコマンドを送出する。このコマンドの送
出は1度だけ行われる。図10のアドレスマップに示す
ように、HDDコントローラをアクセスするためのアド
レスはHDDコントローラ0及びHDDコントローラ1
の両方に対して同一アドレスを割り振っている。従っ
て、S12におけるコマンドの送出はこの同一アドレス
に対して1度だけコマンドを送出すればよい。この1度
のコマンドの送出により2つのHDDコントローラは動
作を開始する。次に、S13においてスレーブ処理装置
のCPUは、HDDコントローラからの割り込みを待
つ。S14において、いずれかのHDDがコマンドの処
理終了による割り込み信号を発生させ、その割り込み信
号がスレーブ処理装置のCPUに返されたものとする。
S15においては、選択手段により割り込みのあったH
DDコントローラを選択する。次に、S16において
は、割り込みを発生してないHDDコントローラにコマ
ンドのキャンセルを要求する。そして、S17において
割り込みを発生させたHDDコントローラからデータを
転送してもらう。
【0098】図11は、前述した動作のタイミング動作
を説明するタイミングチャートである。時刻T1におい
てコマンドを発行する。そして、時刻T2においてHD
D0から割り込み信号を受ける。選択手段はこの割り込
み信号が、HDDコントローラ0からの割り込み信号0
であることを検出し、HDD0からデータを転送させ
る。一方、選択手段はHDDコントローラ1に対して、
データ転送のキャンセルを出力するため、HDD1から
のデータは転送されない。
【0099】図12は前述したスレーブ処理装置の内部
ブロック図である。前述した選択手段は、チップセレク
ター11と割り込みセレクター12により構成される。
また図13はチップセレクター11の回路図である。図
14は割り込みセレクター12の回路図である。図12
において、CPUがチップセレクター11に対してチッ
プセレクト信号CS0を有効にすると、チップセレクタ
ー11はHDDコントローラ0とHDDコントローラ1
を選択するためのHDDコントローラ0セレクト信号と
HDDコントローラ1セレクト信号を有効にする。図1
3に示すように、このHDDコントローラ0セレクト信
号Y1が有効になるのは、チップセレクト信号CS0と
ライト信号WRTが有効の時、または、チップセレクト
信号CS0とリード信号RDが有効であって且つ割り込
みセレクターからのHDD0を選択する旨の選択信号S
EL0が有効な時である。一方、HDDコントローラ1
セレクト信号Y2が有効となる場合は、チップセレクト
信号CS0とライト信号WRTが有効のとき、或いはチ
ップセレクト信号CS0とリード信号RDが有効であっ
て割り込みセレクター12からHDD1を選択する旨の
セレクト信号SEL1が有効な時である。このように、
CPUからの書き込み命令に対しては、チップセレクタ
ー11はHDDコントローラ0とHDDコントローラ1
に対して、セレクト信号Y1及びY2を送出する。
【0100】一方リード信号に対しては、チップセレク
ター11は割り込みセレクター12からのセレクト信号
に基づいて、何れか一方のHDDコントローラに対して
セレクト信号を出力する。つぎに、図14に示す割り込
みセレクター12について説明する。割り込みセレクタ
ー12には、HDDコントローラ0とHDDコントロー
ラ1から、割り込み信号0と割り込み信号1が入力され
る。入力された割り込み信号は、フリップフロップ13
及び14に保持される。いずれか一方の割り込み信号が
フリップフロップに保持された場合には、他方のフリッ
プフロップに対してリセット信号を出力する。従って、
いずれか一方のフリップフロップが先に割り込み信号を
保持した場合には、他方のフリップフロップには、割り
込み信号を保持することができない。フリップフロップ
13は、割り込み信号0を保持するとHDD0を選択す
る旨のセレクト信号をチップセレクター11に出力す
る。フリップフロップ14が割り込み信号1を保持した
場合は、HDD1を選択する旨のセレクト信号を、チッ
プセレクター11に出力する。このようにして割り込み
信号0と割り込み信号1のうち、先に有効になったもの
をチップセレクター11に対して知らせるものである。
【0101】このようにして割り込みセレクター12
が、いずれかのHDDコントローラから割り込みを検出
した場合には、先に割り込みを行ったHDDコントロー
ラを選択するように割り込みセレクター12がセレクト
信号を出力する。従って、HDDからのリードは割り込
みを先に出した方のHDDからのみ行われることにな
る。なお、図14に示したように、いずれか一方の割り
込み信号がフリップフロップにセットされた場合には、
他方のフリップフロップはセットされないため、割り込
み信号を遅れて出力したHDDコントローラは選択され
ないことになる。従って、前述したようなキャンセルの
要求を行わなくとも、その割り込み信号が無視されるだ
けであり、何等支障がない。キャンセルを行わない場合
には、2つのHDDにおいて同じ動作が実行され、一方
の動作が無視されるだけである。キャンセルを要求する
場合には、片方のHDDによる無駄な動作を早期に省く
ことができる。以上のように、この実施例においてはス
レーブ処理装置に接続するHDDをハードウェアミラー
化することにより、データの信頼性を向上させることが
できる。また、前述した実施例と同様にミラー化したH
DDの回転をずらすことにより、回転待ち時間を理論的
に1/2にすることができる。また、この実施例におい
てはHDDコントローラをHDDに対応して設けてい
る。そのため、1つの要求に対して2つのHDDに対し
て同時に要求を発生させることができ、前述した実施例
のような1つのバスに複数のHDDをシリアルに接続し
た場合に比べて、ソフトウェアによる2度書きのオーバ
ーヘッドが無くなる。前述したように、1つのバスに複
数のHDDが接続されていてデータを重複して持つ場合
には、HDDコントローラからHDD0に対する書き込
みを行い、その後HDD1に対して書き込みを行うとい
うソフトウェアによる2度書きをしなければ成らなかっ
た(ソフトウェアミラー化)。しかし、この実施例にお
いてはHDDコントローラが複数存在しているため、し
かもそのHDDコントローラが1つの命令で同時に動作
できるように構成されているため、前述したようなソフ
トウェアのオーバーヘッドはなくなる。このように、H
DDコントローラをHDDに対応して設けることにより
ソフトウエアミラー化した場合に発生するソフトウェア
のオーバーヘッドをなくすことができる。
【0102】実施例5.図15は、HDDをハードウェ
アミラー化した場合の他の例を示す図である。前述した
実施例においては、2つのHDDコントローラのアドレ
スは、書き込み時及び読み出し時のいずれの場合におい
ても同一アドレスを有していた。しかし、図15に示す
ように、書き込み時のアドレスと読み出し時のアドレス
を変更するようにしても構わない。ハードウェアミラー
化されたHDDに対してデータを書き込む場合には、H
DDコントローラが同一アドレスである方が都合がよ
い。従って、図15(a)に示すように、書き込み時に
は2つのHDDコントローラのアドレスは同一アドレス
とする。一方、読み出す場合には、一方のHDDから読
み出せれば良いため、図15(b)に示すようにHDD
コントローラのアドレスを分けて持たせる。このように
して、CPUはいずれか一方のHDDを指定してデータ
の転送を行うことができる。この図15(a)及び
(b)に示すアドレスの変更は、リード時及びライト時
により変更するものであり、簡単な回路構成で実現する
ことが可能である。
【0103】実施例6.図16は、この発明に係るデー
タアクセス装置の一実施例である高速データ選択マシン
の一例を示す図である。この図において、特徴となる点
はスレーブ処理装置とHDDの間にバススイッチ22A
から22Dが存在している点である。このバススイッチ
にはスレーブ処理装置とHDDが接続されているととも
に、RAID(Redundant Arraies
of Inexpensive disks)コントロ
ーラ20が接続されている。またRAIDコントローラ
にはHDD4が接続されておりHDD0からHDD3ま
でのデータのパリティデータを記憶する。さらに、HD
D5はHDD0からHDD3のいずれかが故障した場合
の代替えディスクとなるものであり、セレクター21を
介してバススイッチと各HDDの間に接続されている。
【0104】まず、図16を用いて基本動作について説
明する。図16に示すようにスレーブ処理装置とHDD
の間にバススイッチ(BUS SW)22a〜22dを
設け、HDD0〜HDD3に対してデータをロードする
時にRAIDコントローラ20を用いてRAIDレベル
4のシステムを構成する。RAIDレベル4のシステム
とは、パリティ用のディスクを1つ設け、これに他のデ
ィスクに書き込まれた対応するデータのパリティを求め
記憶しておくシステムである。データが書き込まれたデ
ィスクの1台が故障した時、このパリティを用いて元の
データを修復する。HDD4はパリティディスクとして
用い、HDD0からHDD3に書き込まれるデータのパ
リティを記憶する。また、HDD5をホットスタンバイ
ディスクとして備えておき、HDD0からHDD3のい
ずれかのディスクが故障したときに、セレクタ21を用
いて故障したディスクの代替えが、自動的に行われるよ
うにする。
【0105】次に、図17はRAIDコントローラ20
の一例を示す図である。RAIDコントローラ20には
バスセレクター23,FIFO#1(24),FIFO
#2(25),エクスクルーシブオア(EXCLUSI
VE OR又はXOR)回路26,セレクター27,C
PU28,メモリー29,HDDコントローラ30が備
えられている。以下、このRAIDコントローラ20の
動作について説明する。動作は大きく分けてHDDへの
データロード動作と、HDDからの通常リード動作と、
HDDに記憶したデータのデータ更新動作とHDDのデ
ータ修復動作の4つがある。以下、各モードに分けて説
明する。
【0106】図18はHDDへのデータロード動作を説
明する図である。以下図18に示した矢印に付した番号
の順に説明する。図18に示すようにHDDへのデータ
ロード時はバススイッチがスレーブ処理装置とHDDを
接続するとともにスレーブ処理装置とRAIDコントロ
ーラ20を接続する。従ってスレーブ処理装置からHD
Dへのデータは同時にRAIDコントローラ20に対し
ても入力される。HDD0からHDD3のデータのXO
R(エクスクルシブオア)をとって冗長データを作成す
る例について以下、順に手順を説明する。
【0107】1 スレーブ0からHDD0へデータをロ
ードする。 2 上記1と同時にバススイッチを通りRAIDコント
ローラ20へデータを転送する。 3 バスセレクター23はHDD0のバスを選択して、
FIFO#1へデータをライトする。 4 FIFO#2は最初に00データがセットされてい
る。FIFO#1とFIFO#2のデータをXORし
て、再びFIFO#2に格納する。 5 スレーブ1からHDD1へデータをロードする。 6 上記5と同時にバススイッチを通りRAIDコント
ローラ20へデータをロードする。 7 バスセレクター23はHDD1のバスを選択して、
FIFO#1へデータをライトする。 8 FIFO#1とFIFO#2のデータをXORし
て、再びFIFO#2に格納する。
【0108】9 スレーブ2からHDD2へデータをロ
ードする。 10 上記9と同時にバススイッチを通りRAIDコン
トローラ20へデータをロードする。 11 バスセレクター23はHDD2のバスを選択し
て、FIFO#1へデータをライトする。 12 FIFO#1とFIFO#2のデータをXORし
て、再びFIFO#2に格納する。
【0109】13 スレーブ3からHDD3へデータを
ロードする。 14 上記13と同時にバススイッチを通りRAIDコ
ントローラ20へデータをロードする。 15 バスセレクター23はHDD3のバスを選択し
て、FIFO#1へデータをライトする。 16 FIFO#1とFIFO#2のデータをXORし
て、HDD4へデータをライトする。 以上の動作により、HDD0からHDD3のパリティデ
ータがHDD4に生成される。尚、この例ではHDDへ
のデータロードの場合について説明したが、一旦HDD
へデータをロードしたのちにHDDへデータを追加する
場合においても前述した手順と同様な手順によりデータ
を追加することができる。
【0110】HDDへのデータロード時は、図19に示
すようにHDD0からHDD3は同期回転し、HDD4
は、HDD0からHDD3よりもRAIDコントローラ
20のオーバーヘッド分だけ回転をずらして同期回転す
る。従ってHDD4にパリティデータを書き込む場合に
は、RAIDコントローラ20は回転待ち時間がなく、
即座に書き込みを行うことができる。
【0111】次に、HDDからの通常リード動作につい
て説明する。図20は通常リード動作を説明する図であ
る。通常リード時には、バススイッチはHDDとスレー
ブ処理装置を接続する。通常リード時にはバススイッチ
は、RAIDコントローラ20を切り離す。従って、リ
ード動作は既に説明したリード動作と同様のものであ
る。通常リード動作においては、各HDDは同期回転す
る必要は無く、各HDDとも独立に各スレーブ処理装置
からアクセスされる。
【0112】次に、HDDに記憶したデータのデータ更
新動作について説明する。図21は、データ更新動作を
説明する図である。この図においては、データを更新す
るHDDが1台の場合について説明している。 1 マスター処理装置からスレーブ処理装置1に対して
更新データが転送される。 2 スレーブ1がHDD1に対して更新データを書き込
む。 2’ 上記2の書き込み動作と同時にバスセレクター2
3によりRAIDコントローラへ更新データを転送す
る。 3 バスセレクター23は更新データをFIFO#1へ
転送する。 4 エクスクルーシブOR回路26が転送されてきた更
新データとヌルコード’00’とXORをとりセレクタ
ー27がその結果をFIFO#2へ格納する。 5 上記2で格納したデータに該当するデータをHDD
2から読み出す。 6 読み出したデータをFIFO#1へ転送する。 7 FIFO#1とFIFO#2のデータのとXORを
とる。 8 XORを取った結果をセレクター27を介してFI
FO#2へ格納する。 9 上記2で格納したデータに該当するデータをHDD
3から読み出す。 10 読みだしたデータをFIFOI#1へ転送する。 11 FIFO#1とFIFO#2のデータのXORを
とる。 12 XORを取った結果をセレクター27を介してF
IFO#2へ格納する。 13 上記2で格納したデータに該当するデータをHD
D0から読み出す。 14 読みだしたデータをFIFO#1へ転送する。 15 FIFO#1とFIFO#2とXORを取り、そ
の結果をパリティー用HDD4に格納する。 このようにして、データの更新が可能になる。なお上記
説明では、更新するHDDが1台の場合を示したが更新
するHDDが2台、3台の場合には、パリティーを求め
るために、更新データに該当するデータを読みだすHD
Dの数が少なくなるだけで、前述した動作は同様のもの
となる。なお4台のHDD共に更新する場合には、デー
タをロードする場合と同様の動作を行なうことによりデ
ータ更新が行なわれる。
【0113】次にデータ修復動作について説明する。図
22はデータ修復動作を説明する図である。データ修復
動作を行う場合には、バススイッチはHDDとRAID
コントローラ20を接続する。図22に示すようにHD
D2に故障が発生し、セレクター21によりHDD5に
交換された場合についてその手順を説明する。 1 HDD0からデータをリードし、バススイッチを通
してRAIDコントローラ20へデータをロードする。 2 バスセレクター23は、HDD0のバスを選択して
FIFO#1へデータライトする。 3 FIFO#2は最初に00データがセットされてい
る。FIFO#1とFIFO#2のデータをXORし
て、再びFIFO#2へ格納する。 4 HDD1からデータをリードし、バススイッチを通
してRAIDコントローラ20へロードする。
【0114】5 バスセレクター23は、HDD1のバ
スを選択してFIFO#1へデータライトする。 6 FIFO#1とFIFO#2のデータをXORし
て、再びFIFO#2へ格納する。 7 HDD3からデータをリードし、バススイッチを通
してRAIDコントローラ20へロードする。 8 バスセレクター23は、HDD3のバスを選択して
FIFO#1へデータライトする。 9 FIFO#1とFIFO#2のデータをXORし
て、再びFIFO#2格納する。 10 HDD4からデータをリードしてバスセレクター
23に送る。 11 バスセレクター23はHDD4からのデータを選
択してFIFO#1へデータライトする。 12 FIFO#1とFIFO#2のデータをXORし
て、バスセレクター23へデータを転送する。 13 バスセレクター23はHDD2のバスを選択して
HDD5へデータをライトする。 以上の動作により故障したディスクのデータが修復され
る。これは、HDD0、1、3のデータとロード時に作
成した冗長データをXORすれば、故障したHDDのデ
ータを復元することができる事を利用したものである。
【0115】データ修復動作時は、図23に示すよう
に、故障HDD以外(実施例ではHDD0,1,3,
4)は同期回転、故障ディスク(実施例ではHDD2)
はRAIDコントローラ20のオーバーヘッド分だけ回
転をずらして同期回転する。従って、RAIDコントロ
ーラ20がHDD5に対して修復したデータを書き込む
場合には回転待ち時間が発生しない。
【0116】以上のように、この実施例においてはRA
IDコントローラ20を各HDDからのバスを切り換え
るバスセレクタ23とFIFOメモリー24,25とエ
クスクルーシブオア回路26とRAIDコントローラの
バスとエクスクルーシブオア回路のバスを切り換えるセ
レクター27と、CPU28と、パリティ用のキャッシ
ュメモリー29と、HDDコントローラ30から構成さ
れており、スレーブ処理装置に接続されたHDDとRA
IDコントローラ20に接続されたHDDを用いて、R
AIDレベル4のシステムを構成したものである。この
ようにして、ディスクに障害が発生した場合でもデータ
を復元することができ、システムダウン時の復旧が容易
に行える。
【0117】実施例7.前述した実施例6においては、
RAIDコントローラが各HDDから同時にデータを入
力してパリティデータを生成するようにしても構わな
い。図24(a)はRAIDコントローラが並列的に、
かつ同時にスレーブ処理装置からデータD1〜D4を入
力してエクスクルーシブオアをとった結果パリティデー
タを生成する例を示したものである。図においては、概
念的な計算しか示していないが、これらのデータのエク
スクルーシブオアを取る回路は、ハードウェア或いはソ
フトウェアにより、構成することが可能である。このよ
うに、RAIDコントローラに対してデータを並列的に
入力することによりパリティデータの生成を高速に行う
ことができる。同様に、データを修復する場合も図24
(b)に示すように高速に行うことが可能になる。
【0118】実施例8.上記実施例6においては、ホッ
トスタンバイディスクとしてHDD5を設け、セレクタ
ーを設けている場合について説明したがHDDをホット
スタンバイ状態で待機させるのでは無く、実際にHDD
が故障した場合に手動で故障したHDDを交換するよう
にしても構わない。
【0119】実施例9.図25はこの発明に係るデータ
アクセス装置の一実施例である高速データ検索マシンの
一例を示す図である。図25においては、各スレーブ処
理装置とHDDの間にRAIDコントローラ50を設け
ている点が特徴である。図25に示す例においては、n
台のスレーブ処理装置に対してn+1台のHDDを備え
ている。このn+1台のディスクでRAIDレベル4の
システムを構成する。各プロセッサーからは論理ユニッ
ト番号(LUN)を用いて、RAIDコントローラ50
に対してアクセスを行う。RAIDコントローラ50内
においてはLUNに対応してそれぞれHDDを割り当て
る。各スレーブ処理装置からHDDへのアクセスは非同
期に行われるため、RAIDコントローラ50内におい
ては各スレーブ処理装置に対応してHDDを割り当てる
方式をとっている。つまり、RAIDコントローラ50
内ではHDDをLUN毎に固定で割り当てている。従っ
て、n+1台目のHDDはパリティドライブ専用のドラ
イブとして使用される。
【0120】このようにして、信頼性の高いデータベー
ス処理に適するシステムを提供することができる。尚、
前述した例ではRAIDコントローラ50内でLUNご
とにディスクを固定的に割り当てる場合について説明し
たが、RAIDコントローラ50内において、パリティ
ドライブ用のHDDn以外をシリアルにアドレッシング
するようにしても構わない。
【0121】図26は、RAIDコントローラ50が、
n台のHDDに対してシリアルなアドレッシングを行っ
た場合、スレーブからのアドレスをRAID内のHDD
のアドレスに対応させるための、対応を示す図である。
スレーブからLUN=iでかつブロック=jに対するア
クセスがある場合、RAIDコントローラ50において
は、このアドレスをHDD=i番目でかつブロック=j
のアドレスに変換する。こうすることにより、n台のH
DDをシリアルにアドレッシングする場合でも、スレー
ブ処理装置からのアドレスをHDDのアドレスに変換す
ることができる。
【0122】この実施例においては、RAIDコントロ
ーラは、スレーブ処理装置からのアクセスに対して特定
なHDDを割り当てている。その理由は、各スレーブ処
理装置が独立に、且つ非同期に動作するため対応するH
DDを、物理的に分けている方が便利であるためであ
る。例えば、各スレーブ処理装置が、データをシリアル
に読む場合、ディスクを物理的に分けていることにより
シーク時間が少なく、ディスクキャッシュも有効に働く
という利点がある。また、各スレーブ処理装置がデータ
をランダムにリードする場合においても、対応するHD
Dが物理的に分かれているため、アクセスが完全に分散
するという利点がある。また、この実施例においては、
LUNは例えば各スレーブ処理装置に割り当てられた識
別子を用いることができるが、スレーブ処理装置に割り
当てられた識別子番号ばかりでなく、マスター処理装置
から与えられた特別な番号を用いるようにしても構わな
い。
【0123】このように、LUNを用いてHDDをアク
セスすることができるため、例えば他のスレーブ処理装
置が所有しているデータを読み込む場合には、他のスレ
ーブ処理装置のLUNを用いてRAIDコントローラ5
0にアクセス要求を出すことにより、他のスレーブ処理
装置のデータを読み出すことが可能になり非常に便利で
ある。従来の場合には、各スレーブ処理装置とHDDが
直結されているため、他のスレーブ処理装置に接続され
たHDDのデータを読み出す場合には、他のスレーブ処
理装置に対して要求を行わなければ成らなかった。これ
に対して、この実施例の場合には、LUNを利用して簡
単に他のスレーブ処理装置のデータをアクセスすること
が可能になる。
【0124】実施例10.図27は、RAIDレベル5
のシステムの例を示す図である。RAIDコントローラ
51は、RAIDレベル5のシステムを構成するための
コントローラである。RAIDレベル5のシステムは、
レベル4と違って固定のパリティディスクを持たず、パ
リティデータは構成するディスクに分散記録(ストライ
ピング)する。このため、書き込み時にパリティディス
クへの負荷集中といったことが起きず、入出力効率が向
上する(書き込みの比率が多いほどRAIDレベル4よ
り有利となる)。特定のパリティディスクがないため、
HDDはn+1台ではなくn台備えられている。図27
に示す構成ではレベル5であるため、パリティデータは
n台のHDDに対してストライプ状に配置される。従っ
て、スレーブ処理装置からLUN=i,ブロック=jと
いうアドレスを指定された場合には、図28に示すよう
にRAIDコントローラ51はRAID内のHDD=i
番目で、かつブロック=(i+1)/n+jという計算
に基づいて対応する位置を特定する。この例において
は、レベル5のRAIDシステムを用いているため、n
台のスレーブ処理装置に対して、n台のHDDを用いて
冗長データを記憶させることができる。
【0125】実施例11.図29は、スレーブ処理装置
とRAIDコントローラ50が、SCSI(Small
Computer System Interfac
e)バスで接続されている構成を示している。スレーブ
処理装置0には、SCSI−ID=0が割り当てられ、
スレーブ処理装置1にはSCSI−ID=1が割り当て
られている。SCSI−IDは、SCSIバスに接続さ
れるデバイスに割り振られるものであり、SCSIバス
に対してデータを転送したデバイスが、どのデバイスで
あるかを自動的に知ることができる。従って、RAID
コントローラ50は、SCSIバスから受信したアクセ
ス要求が、いずれのスレーブ処理装置から送信されたも
のであるかを自動的に知ることができる。スレーブ処理
装置は、前述したようなLUNをアクセス要求の中に含
ませる必要は全くない。
【0126】RAIDコントローラ50が、スレーブ処
理装置から要求を受け取った後、HDDに対してアクセ
スする動作は、前述した実施例9と同様のものであり、
ここではその説明を省略する。但し、異なる点は各HD
DがSCSI−ID毎に特定されて割り当てられている
点である。
【0127】このようにSCSIバスを用いて、スレー
ブ処理装置とRAIDコントローラを接続することによ
り、スレーブ処理装置は、RAIDコントローラが接続
されていることを全く意識することなく、従来通りのア
クセス要求を出力することができる。従って、従来の高
速データ検索装置に対して、マスター処理装置及びスレ
ーブ処理装置を一切変更することなく、この方式を適用
することができる。
【0128】実施例12.図30はRAIDコントロー
ラ51がRAIDレベル5の構成を提供するとともに、
スレーブ処理装置とRAIDコントローラ51が、SC
SIバスを介して接続されている構成を示したものであ
る。このように、レベル5のシステム構成とした場合に
おいても、SCSI−IDを用いてHDDに対してアク
セスを行うことが可能である。
【0129】実施例13.図31は、RAIDシステム
の他の例を示す図である。この図において特徴となる点
は、LUNとブロックによる配列を転置した形に変更し
た点である。例えばHDD0について見ると先頭からn
個のブロック0が連続して続いている。これらのn個の
ブロック0は、LUN=0〜LUN=n−1までのブロ
ックである。一方HDD0からHDDn−1までを見て
みると、ブロック番号が0からn−1まで増加してい
る。このように図31に示す例は、前述したLUNとブ
ロックによる配置を転置したものである。その他の点に
ついては、図25に示したものと同様である。このよう
にLUNとブロックの配置を転置しているため、スレー
ブ処理装置からのLUNとブロックを指定したアクセス
は、図32に示すような計算式に基づいて位置が特定さ
れる。
【0130】このような構成にすることにより、各スレ
ーブ処理装置に対して、データをバースト転送する場合
のバースト転送速度が向上する。このバースト転送速度
が向上するのは、例えばブロック0からブロックn−1
まで連続してアクセスする場合、n台のHDDに対して
アクセス要求が分散され、1つのHDDに対して負荷が
かからないためである。尚、図示しないが、図31に示
す構成でスレーブ処理装置とRAIDコントローラ52
が、SCSIバスで接続されている場合には、LUNの
代わりにSCSI−IDを使用しても同様なことができ
る。SCSI−IDを使用する場合には、前述したよう
にスレーブ処理装置に変更を加えることなく、RAID
システムを構築することができる。
【0131】実施例14.図33は、RAIDレベル5
のシステムの例を示す図である。前述した実施例13と
同様に、LUNとブロックとの配置を転置しているとと
もに、レベル5のシステムを提供しているため、パリテ
ィデータがストライプ状に配置されている点が特徴であ
る。このようなレベル5のシステムの場合でも、図34
に示すようにスレーブ処理装置からのアクセスに対し
て、RAIDコントローラ53は、HDD内のブロック
を特定することができる。尚、この図33に示す場合に
もSCSIバスを用いている場合には、LUNの代わり
にSCSI−IDを用いることが可能である。
【0132】実施例15.図35は、RAIDシステム
を適用する場合の他の例を示す図である。この例におい
ては、HDDの数をn+1台からm+1台とした例を示
している。このmの数は任意の数である。従って、n台
のスレーブ処理装置に対してHDDの数は、任意の数に
なる。このようにHDDの数を任意にすることができる
のは、間にRAIDコントローラ54が介在しているた
めである。前述した例においては、スレーブ処理装置の
数とHDDの数が対応していたが、この例においてはH
DDの数を自由に構成することができる。このような構
成において、スレーブ処理装置からLUNとブロックを
指定されたアクセス要求があった場合には、図36に示
すような計算式を用いることにより、HDDのブロック
を特定することができる。尚、この例においてもLUN
の代わりにSCSI−IDを用いることも可能である。
【0133】実施例16.図37は、HDDの数をm台
にしたRAIDレベル5のシステムの例を示す図であ
る。前述した実施例15においては、m+1台であった
のに対して、このシステムにおいてはレベル5を採用し
ているため、m台のHDDで構成されている。このよう
に構成されたシステムにおいて、スレーブ処理装置がL
UNとブロックを指定したアクセス要求は、図38に示
すような計算式を用いることによりHDDのブロックを
特定することが出来る。また、この例においてもLUN
の代わりにSCSI−IDを用いることが可能である。
【0134】実施例17.図39は、RAIDシステム
を適用する場合の他の例を示す図である。通常データベ
ースをアクセスする際には、ページという単位を用いて
アクセスする。このページ単位のアクセス要求に対し
て、効率良く応答することができるように、各HDDの
「ブロックサイズ」を「ページ単位の整数分の1」とす
る。図39に示す例においては、スレーブ処理装置で動
作するデータベース処理プログラムが1ページ分のデー
タに対するリード要求、或いはライト要求を出力する。
このページ単位のアクセス要求がRAIDコントローラ
により1/4ページのブロックに分割される。各HDD
のブロックは1/4ページずつ区切られている。従って
1ページが、HDD0〜HDD3までの4つのブロック
を用いて、読み書きされることになる。
【0135】マスタ処理装置からのコマンドがスレーブ
処理装置に渡り、それに基づき、スレーブ処理装置上の
データベース処理プログラムがページ単位のアクセス要
求を出し、これが直接RAIDコントローラにアクセス
要求として渡る場合、前述した実施例9〜12の構成で
は、「ブロックサイズ」=「ページサイズの整数分の
1」にするとRAIDコントローラ内でのデータアクセ
スでむだが出ない。また、前述した実施例13〜14の
転置した構成では、「横一列のデータサイズ」=「ペー
ジサイズの整数分の1」にするとRAIDコントローラ
内でのデータアクセスが高速でかつむだがない。
【0136】このように、ページの整数分の1でブロッ
クを構成することにより、HDDの記憶場所に無駄が生
じることがなくなる。また、このようにHDD0〜HD
D3に1回だけアクセスすることにより、1ページ分の
データを読み書きすることができるようにしておけば、
更に効率良く高速にデータのアクセスが可能になる。
【0137】図に示すように、必ずしもHDDの数に等
分する場合ばかりでなく、1ページを整数分の1とする
場合であれば、HDDの記憶場所を効率良く用いること
ができる。例えば1/3ページを1ブロックサイズとし
ても構わないし、1/5ページをブロックサイズとする
ようにしても構わない。
【0138】実施例18.図40は、ブロックのサイズ
を最適に決定する為の他の例を示す図である。一般にオ
ペレーティングシステムが、データをアクセスする場合
には、オペレーティングシステムによるデータのブロッ
キングが行われる。このブロッキングサイズを単位とし
てデータをアクセスするため、HDDの「ブロックサイ
ズ」を、オペレーティングシステムが用いる「ブロッキ
ングサイズの整数分の1」とする。
【0139】図40に示す場合は、スレーブ処理装置で
動作するオペレーティングシステムのブロッキングサイ
ズを4つのHDDに分割している場合を示しており、各
ブロックサイズが、スレーブ処理装置で動作するオペレ
ーティングシステムが用いるブロッキングサイズの1/
4である場合を示している。
【0140】マスタ処理装置からのコマンドがスレーブ
処理装置に渡り、それに基づき、スレーブ処理装置上の
データベース処理プログラムがページ単位のアクセス要
求を出し、これがスレーブ処理装置上のオペレーティン
グシステムでブロッキングされてRAIDコントローラ
にアクセス要求が渡る場合、前述した実施例9〜12の
構成では、「ブロックサイズ」=「ブロッキングサイズ
の整数分の1」にするとRAIDコントローラ内でのデ
ータアクセスでむだが出ない。また、前述した実施例1
3〜14の転置した構成では、「横一列のデータサイ
ズ」=「ブロッキングサイズの整数分の1」にするとR
AIDコントローラ内でのデータアクセスが高速でかつ
むだがない。
【0141】このようにブロッキングサイズの整数分の
1をHDDのブロックサイズとすることにより、無駄な
く、かつ効率良くHDDのアクセスを行うことができ
る。図においては1/4にする場合を示しているが、1
/2,1/3或いは1/5等にする場合でも構わない。
【0142】実施例19.図41は、RAIDシステム
を適用する場合の他の例を示す図である。データベース
システムにおいては、テンポラリーなファイルや一時的
なテーブルを作ることが頻繁に発生する。これらテンポ
ラリーなファイルや、一時的なテーブルは、マスター処
理装置のファイルやスレーブ処理装置の他のファイルか
ら再び作成することが可能である。従って、仮にHDD
に障害が発生した場合でも、元のデータから再び生成す
ることが可能である。このように、テンポラリーなファ
イルや一時的なテーブルは、ワーク領域に記憶させるよ
うにする。そして、このワーク領域のデータに対して
は、RAIDコントローラがパリティデータを生成しな
いようにする。このように、ワーク領域に対するデータ
にパリティデータを生成しないようにすることにより、
RAIDコントローラの処理が高速に行われ、結果とし
てデータのアクセス速度が高速になる。
【0143】図41に示すように、ブロック0からブロ
ック2に対しては、RAIDコントローラ56が、パリ
ティを生成するがワーク領域に作られた中間ファイルや
一時ファイルに関しては、パリティデータを生成しな
い。従って、RAIDコントローラの負荷が、少なくな
り処理が高速に行われる。もし、いずれかのHDDが故
障した場合には中間ファイル、或いは一時ファイルはパ
リティデータが存在しないため復元することはできな
い。しかし、元々中間ファイル及び一時ファイルは、ブ
ロック0からブロック2にあるマスター処理装置ファイ
ルや元のデータから生成することが可能であるため、再
び中間ファイル及び一時ファイルを生成することが可能
になる。
【0144】実施例20.図42は、この発明に係るデ
ータアクセス装置の一実施例である高速データ検索マシ
ンの一例を示す図である。図において、特徴となる点は
各スレーブ処理装置に対して複数のHDDを接続してい
る点である。また、各スレーブ処理装置と複数のHDD
はSCSIバスにより接続されている。従って、各HD
DにはSCSI−IDが割り振られる。各スレーブ処理
装置は、データを分割して複数のHDDに格納する。即
ち、この実施例においては、マスター処理装置が各スレ
ーブ処理装置に対してデータを分割するとともに、各ス
レーブ処理装置は、分割されたデータを更に複数のHD
Dに対して分割して記憶するものである。図42は、こ
の実施例の構成を示す図であり、図43は、各HDDに
記憶される論理・物理アドレス変換表61aから61c
の具体例を示す図である。
【0145】次に、図44を用いてこの実施例の動作に
ついて説明する。 1 マスター処理装置からスレーブ処理装置に対して、
スレーブ処理装置0及びスレーブ処理装置1のテーブル
を指定して検索条件を伝達する。 2 スレーブ処理装置0は、HDD0から論理・物理ア
ドレス変換表61aを読み出し、スレーブ処理装置0内
のメモリーに記憶する。 3 スレーブ処理装置0は、論理・物理アドレス変換表
61aを用いて論理アドレスから物理アドレスへの変換
を行い、物理アドレスを用いてHDDのデータにアクセ
スする。 4 HDD0から読み込まれたデータは、スレーブ処理
装置0内のメモリーに蓄えられる。もし、検索すべきデ
ータがHDD1にある場合には、前述した2,3,4の
動作をHDD1に対して行う。或いは、2つのHDDに
対してデータがまたがっている場合には、その2つのH
DDに対して、前述した2,3,4の動作を行う。この
ようにしてスレーブ処理装置0は、所望のデータをメモ
リーに読み出すことができる。 5 HDDから読み出した結果を、マスター処理装置に
送る。
【0146】前述した1から5の動作はそれぞれのスレ
ーブ処理装置においても行われており、マスター処理装
置は、各スレーブ処理装置から検索結果を得ることがで
きる。このように1つのスレーブ処理装置に対して接続
されるHDDの台数をn台とすると、1つのHDD当た
りのデータ読み出し量はHDDが1台しか接続されてい
ない場合に比べて1/nとなる。以上のように、この実
施例ではスレーブ処理装置の数を増加させることなく、
HDDの台数の増加のみにより、検索性能を向上させる
ことができる。また、スレーブ処理装置の数を増加させ
ることなく、記憶するデータ容量も容易に増加させるこ
とが可能になる。
【0147】実施例21.図45は、この発明に係るデ
ータアクセス装置の一実施例である高速データ検索マシ
ンの一例を示す図である。図45で特徴となる点は、マ
スター処理装置を階層的に配置することにより、スレー
ブ処理装置の並列度を向上させた点にある。図45にお
いては、ルートマスター処理装置が1つに対し、その下
にサブマスター処理装置を2つ置いている。また、その
サブマスター処理装置の下に2つずつサブマスター処理
装置を備え、3階層のマスター処理装置構成を採用して
いる。スレーブ処理装置は第2層目のサブマスター処理
装置のもとにそれぞれ4台ずつ接続されている。
【0148】このような階層的な構造にすることによ
り、例えばジョイン処理を行うような場合、スレーブ処
理装置に格納されたデータをまずサブマスター処理装置
2が処理を行い、その結果をサブマスター処理装置1に
出力し、サブマスター処理装置1がサブマスター処理装
置2から出力されたデータのまとめ処理を行い、更にそ
の結果をルートマスター処理装置が最終的にまとめてジ
ョイン処理の結果を出力することができる。
【0149】図46は前述した動作を示す図である。 1 マスター処理装置0が、マスター処理装置10とマ
スター処理装置11等の下位のマスター処理装置に対し
て、検索条件を出力する。 2 マスター処理装置10は、さらに下位のマスター処
理装置に対して検索条件を出力する。 3 マスター処理装置20は、接続されたスレーブ処理
装置に対してさらに検索条件を出力する。 4 スレーブ処理装置は、検索条件に従ってHDDにア
クセスする。 5 HDDはスレーブ処理装置からのアクセス要求に従
い、特定されたデータをスレーブ処理装置に返送する。 6 スレーブ処理装置は、返送されたデータをマスター
処理装置20に返送する。マスター処理装置20は、他
のスレーブ処理装置からのデータも受け取る。 7 マスター処理装置20は、スレーブ処理装置からの
データをとりまとめた上、マスター処理装置10に返送
する。 8 マスター処理装置10は、下位のマスター処理装置
からのデータをとりまとめ、さらにマスター処理装置0
に返送する。 このようにして、マスター処理装置0は全てのHDDを
対象としてアクセスを行ったことになる。
【0150】この構成を用いてジョイン処理の処理手段
について説明する。ジョイン処理の場合、ジョインする
一方のテーブルの該当カラムのデータと他テーブルのカ
ラムのデータのジョインチェックを行うが、これを各サ
ブマスターで行う必要がある。そこで、各スレーブ処理
装置から各スレーブ処理装置で格納している1つのテー
ブルの該当カラムデータを、そのスレーブ処理装置のマ
スター処理装置(サブマスター2)へ送り、更に上位の
マスター処理装置(サブマスター1)へ送り、各サブマ
スター2、1では、マージソート処理を行い、最後にル
ートマスタでその該当カラムの全データをマージソート
してまとめる。また、ルートマスターは更にサブマスタ
ー1経由サブマスター2へそのカラム全データを送り、
そこで各スレーブの保管するデータとのジョインチェッ
クを行う。その結果もサブマスター経由ルートマスター
へ送られ、最終的にルートマスターでマージ処理を行
う。
【0151】以上の処理を図47を用いて説明する。 1 ジョインする一方のテーブルとカラム情報をスレー
ブ処理装置へ伝達する。 2 各スレーブ処理装置から上記1に該当するデータを
送る。この時、途中の各サブマスターでは、マージソー
ト処理を実施していく。最終的にルートマスターでまと
める。 3 ルートマスターでマージされたカラムデータをサブ
マスター2へ送る。 4 ジョインする他方のテーブルカラムデータをスレー
ブへ送り、ジョインチェックを行い、その結果必要なデ
ータをスレーブから取り出し、サブマスター2でマージ
する。 5 その結果を、サブマスター1、ルートマスターへと
送り、各々マージし最終結果となる。
【0152】このような構成にすることにより、特に結
合処理を行う場合に負荷が高いマスター処理装置プロセ
ッサーの処理を分散化させ効率良く処理を行うことがで
きる。尚、図45及び図46は、マスター処理装置をバ
イナリーツリー状に階層化する場合に付いて示している
が、親のマスター処理装置に対して子のマスター処理装
置が2つだけ存在する場合に限らず、1つの親のマスタ
ー処理装置に対して、3つ或いは4つの子のマスター処
理装置が存在するようにしても構わない。
【0153】また、図42に示したように、各スレーブ
処理装置に対して複数のHDDを接続しても構わない。
このようにすれば、主処理手段の処理の並列化と副処理
手段の処理の並列化が行われ、全体としてより進んだ負
荷分散を達成することができる。
【0154】実施例22.図48は、この発明に係る分
散データベースシステムの一実施例を示す図である。こ
の図において特徴となる点は、データを分散して記憶す
るサブシステムの中に幹事サブシステムとメンバサブシ
ステムを設けた点である。図48においてはサブシステ
ム70が幹事サブシステム(DB0)であり、サブシス
テム80,81はメンバサブシステム(DB1,DB
2)である。このシステムは、データベースの分散及び
管理をデータベース側で行うようにしたものであり、主
に幹事サブシステム70がその役割を担っている。
【0155】図49は図48に示した幹事サブシステム
70の内部構成図である。幹事サブシステム70には、
データベースの分散および管理を行うために、以下のよ
うな各種手段を備えている。テーブル生成分散手段71
は、クライアントからデータベースに対してデータ生成
コマンドが出力された場合に、他のメンバサブシステム
80,81に対してサブテーブルの生成を要求する。デ
ータ追加分散手段72は、クライアントがすでにテーブ
ルが生成されたデータベースに追加のデータを投入する
場合に、そのデータをメンバサブシステムに分割して転
送するものである。インデックス生成手段73は、クラ
イアントからテーブルの特定キーを用いてインデックス
を生成する要求がきた場合に、メンバサブシステムのデ
ータを用いてインデックスを生成するものである。分散
テーブル検索手段74は、クライアントから検索要求が
あるとメンバサブシステムに対して検索要求を出して、
結果をマージしてクライアントに返すものである。ロー
ルバック分散手段75は、クライアントからロールバッ
ク要求が来た場合に各メンバサブシステムに対して、ロ
ールバック要求を分散させるものである。コミット分散
手段76は、クライアントからコミット要求がきた場合
に、そのコミット要求を分散させるものである。ジョイ
ン手段77は、クライアントからジョイン処理が要求さ
れた場合に、他のメンバサブシステムからデータの転送
を受けて結合処理を行い結果をクライアントに返すもの
である。更新手段78は、クライアントからテーブルに
対して更新要求あるいは削除要求が出された場合に、各
メンバサブシステムに対して更新要求あるいは削除要求
を実行させるものである。
【0156】次に、図49に示した各種手段の動作につ
いて説明する。図50は、テーブル生成分散手段71の
動作を示すフローチャートである。先ずS21におい
て、クライアントからDB0に対して、テーブルAの生
成要求が出される。S22において、DB0がサブテー
ブルA0を生成する。次に、S23において、DB0が
DB1からDBnに対して、サブテーブルA1からAn
の生成要求を出力する。S24では、DBiにおいてサ
ブテーブルAiを生成する。次に、S25においてはサ
ブテーブルA0からAnが、正常に終了されたかどうか
をチェックする。正常に生成された場合には、DB0は
クライアントに正常終了を報告する(S28)。正常に
サブテーブルが生成されなかった場合には、S26及び
S27において、既に生成されたサブテーブルがある場
合には、これらの生成をキャンセルするロールバック処
理を実行させる。そして、クライアントに対してエラー
終了を報告する。なお、テーブルA0からAnはテーブ
ルAをそれぞれのサブシステムに分割したものである。
【0157】図51は、データ追加分散手段72の動作
を示すフローチャートである。S31において、クライ
アントからDB0に対して、テーブルAへの1レコード
の追加要求があると、S32において、DB0はクライ
アントから追加するレコードを受け取る。S33におい
てDB0はサブテーブルA0からAnのうち追加を行う
サブテーブルAiを選択する。例えば、この選択方法と
してサブテーブルA0からAnの内、最もレコード件数
の少ないサブテーブルを追加すべきサブテーブルとして
選択する。S34においてはDB0は、選択したDBi
に対してレコードの追加要求を行い、そのレコードを転
送する。S35において、DBiでサブテーブルAiに
対してレコードを追加する。S36においては、レコー
ドの追加が正常終了したかどうかが判定され、その判定
結果に基づいてクライアントに対してエラー終了(S3
7)、或いは正常終了(S38)を報告する。
【0158】図52は、データ追加分散手段72の他の
動作フローを示す図である。図51の場合においては、
1レコードを追加する場合について説明したが、図52
においては、複数のデータを投入する場合について説明
する。S41において、クライアントからDB0に対し
て、テーブルAへ複数のデータロードの要求が発生す
る。DB0はS42からS48において、受け取るデー
タがなくなるまでループ処理を行う。DB0は、データ
Dを1件ずつ複数件受け取り、又は一度に複数件受け取
り(S43)、このデータをD0〜Dnに分割し(S4
4)、データD0を自己の持つサブテーブルA0に投入
するとともに(S45)、残りのデータD1からDnを
DB1からDBnに転送し(S46)、各サブテーブル
A1からAnに投入させる(S47)。もし、複数のデ
ータを繰り返し投入している際にエラーが生じた場合に
は(S48)、その時点でデータ投入のロールバック処
理を各DBに行わせ(S49)、エラーをクライアント
に報告する(S50)。また、全てのデータが分散して
各サブテーブルに格納された場合には正常終了をクライ
アントに報告する(S52)。S44において、DB0
がデータDを分割する場合には、例えばサブテーブルA
0からAnのデータ件数に応じて、少ない所に多くのデ
ータが配分されるように分割する。或いは、別な方法と
してDB0からDBnの処理能力に応じてデータを分散
しても構わない。例えば高速処理が可能なDBに対して
は、より多くデータが配分されるようにし、或いは大容
量なDBに対しては、より多くのデータを配分する。
【0159】図53は、インデックス生成手段73の動
作を示すフローチャートである。ここではクライアント
からインデックスを生成する要求があった場合に、その
インデックスファイルをDB0に生成することを前提に
して説明する。S61において、クライアントからDB
0にテーブルへのキー項目aを用いたインデックスの生
成要求がある。DB0はS62において、DB0からD
Bnに対してサブテーブルA0からAnのキー項目と、
そのキー項目が属しているレコードのアドレス情報を要
求する。S63において、各DBiはキー項目とそのキ
ー項目が属しているレコードアドレスを抽出し、キー項
目でソートした後DB0に転送する。S64において、
DB0は各DBからのデータをマージソートして、イン
デックスファイルをDB0に生成する。以上の動作が正
常したか否かにより(S65)、クライアントに対して
正常終了(S67)、またはエラー終了を報告する(S
66)。
【0160】図54は、分散テーブル検索手段74の動
作を示すフローチャートである。この例においては、単
一テーブルに対する検索について説明する。S71にお
いて、クライアントからDB0に対してテーブルAの検
索要求があった場合、S72において、DB0は各デー
タベースに対してサブテーブルの検索要求を出力する。
各データベースはサブテーブルの検索を行い、結果をD
B0に返送する。DB0は返送された結果をマージし
(S74)、最終的な結果としてクライアントに転送す
る(S75)。
【0161】図55は、ロールバック分散手段75の動
作を説明するフローチャートである。S81において、
クライアントからDB0に対して一連の処理のロールバ
ック要求があった場合、S82において、DB0は各デ
ータベースに対して、一連の処理のロールバック処理を
要求する。S83において、各データベースでは一連の
処理のロールバック処理を実行する。
【0162】図56は、コミット分散手段76の動作を
説明するフローチャートである。S91において、クラ
イアントから一連の処理のコミット要求が出された場
合、S92において、DB0は各データベースに対し
て、一連の処理がコミット可能かどうかを問い合わせ
る。S93において、各データベースからのコミット可
否の返答を待ち、その返答が全てコミット可能である場
合には、S95において各データベースに対して一連の
処理のコミット要求を出す。そして、S96において、
各DBiは一連の処理のコミットを実行する。S97に
おいて、DB0はクライアントにコミット完了を報告す
る。一方、各データベースから1つでもコミット不可の
答が返った場合にはクライアントに対してコミット不可
を報告する(S94)。
【0163】図57は、ジョイン処理77の動作を示す
フローチャートである。この例においては、異なるテー
ブルAとBのジョイン処理を行う場合について説明す
る。S101において、DB0はテーブルAとテーブル
Bのジョイン要求を受け取ると、S102において、こ
の要求を各データベースに分散させ、S103で各デー
タベースにおいてサブテーブルの検索を実行させ、結果
をDB0に転送させる。DB0は各データベースから結
果を受け取りマージした後テーブルAとテーブルBの結
合処理を実行する(S104)。このようにして得られ
た結果を最後にクライアントに転送する(S105)。
【0164】図58は、更新手段78の動作を示すフロ
チャートである。この例においては、更新要求を処理す
る場合及び削除要求を処理する場合が同様の流れである
ため、以下更新要求を処理する場合について説明する。
S111においてクライアントからDB0にテーブルA
の更新要求がなされると、S112において、DB0
は、DB0からDBnに対して更新要求を分散させ、サ
ブテーブルA0〜Anへの更新要求をそれぞれDB0〜
DBnに要求する。S113において、各データベース
がサブテーブルの更新を行なう。次に、S114におい
て、DB0は、各データベースにおける更新が全て正常
終了したかどうかを判定する。全て正常終了した場合D
B0は、クライアントに対して正常終了を報告する(S
115)。S114において、DB0が各データベース
における更新が全て正常終了したことを確認できない場
合は、S116において、DB0は、各データベースに
対して更新のロールバックを要求する。そして、S11
7において、DB0はクライアントに対してテーブルA
への更新要求が失敗に終ったことを報告する。
【0165】
【発明の効果】以上のように、第1の発明によれば、主
処理手段と複数の副処理手段を有したデータアクセス装
置において、副処理手段に接続される記憶部をミラー化
したのでデータの信頼性が向上する。
【0166】また、第2の発明によれば、副処理手段
は、両方の記憶部に同一のデータを書き込み、いずれか
一方の記憶部からデータを読み出すことにより、矛盾無
く記憶部へのアクセスを行える。
【0167】また、第3の発明によれば、ミラー化した
2つの記憶部は異なる位相で同期回転しているので、デ
ータアクセス時の回転待ちを減少させることができる。
【0168】また、第4の発明によれば、異なる位相で
同期回転している記憶部のいずれに対して早期読み出し
が可能かどうかを判定してから読み出し要求を出すの
で、さらにアクセス時間を減少させることができる。
【0169】また、第5の発明によれば、回転位置に併
せてヘッドの位置も考慮してアクセスを行うため、さら
にアクセス時間を減少させることができる。
【0170】また、第6の発明によれば、選択手段を備
えることにより2つの記憶部が接続されている場合で
も、副処理手段が2つの記憶部を意識することなく、記
憶部をアクセスすることができる。
【0171】また、第7の発明によれば、選択手段が早
期読み出し可能な記憶部を自動的に選択するので、アク
セス速度が向上する。
【0172】また、第8の発明によれば、いずれか一方
の記憶部の応答により他方の記憶部の動作をキャンセル
するので、無駄な処理を省くことができる。
【0173】また、第9の発明によれば、冗長データを
記憶しているので、データを復元することが可能にな
る。
【0174】また、第10の発明によれば、スイッチ手
段により接続を切り換えるので、簡単な構成により冗長
データを作成することができる。
【0175】また、第11の発明によれば、スイッチ手
段が書き込み時、或いはデータの復元時に応じて接続を
切り換えることにより、簡単なハードウェア構成で通常
動作と復旧動作を切り換えることができる。
【0176】また、第12の発明によれば、故障した記
憶部を代替えする代替部を自動的に接続することができ
るので、復旧が容易に、しかも即時に行われる。
【0177】また、第13の発明によれば、、冗長デー
タが記憶される冗長部を遅らせて回転させることによ
り、冗長データを記録する際の回転待ち時間を減少させ
ることができる。
【0178】また、第14の発明によれば、復旧したデ
ータを代替部に記憶する場合に代替部を遅らせて回転さ
せることにより、復旧データのための回転待ち時間を減
少させることができる。
【0179】また、第15の発明によれば、複数の記憶
部に対して制御部がRAIDシステムを構築することが
できるため、データの信頼性が向上するとともに障害が
発生した場合に復旧処理を行うことができる。
【0180】また、第16の発明によれば、RAIDレ
ベル4のシステムを構築することができる。
【0181】また、第17の発明によれば、RAIDレ
ベル5のシステムを構築することができる。
【0182】また、第18の発明によれば、前述したよ
うなRAIDシステムにおいても、識別子を用いること
により副処理手段と記憶部の対応をとることができる。
【0183】また、第19の発明によれば、識別子を論
理ユニット番号とすることにより、副処理手段が論理ユ
ニット番号を用いて対応する記憶部にアクセスすること
ができる。
【0184】また、第20の発明によれば、識別子をS
CSIが自動的に割り振るSCSI−IDとするため、
従来の副処理手段に対して何等変更を加える事無くRA
IDシステムを構築することができる。
【0185】また、第21の発明によれば、主処理手段
からアクセスされる単位に対して記憶部が区切りの良い
単位でデータを記憶するため、記憶部に無駄な領域を発
生させない。また、このため、アクセス時間が向上す
る。
【0186】また、第22の発明によれば、主処理手段
のアクセスする単位がデータベースをアクセスするペー
ジ単位であるので、無駄のない記憶部の使用ができ、ま
た、データベースのアクセス時間が向上する。
【0187】また、第23の発明によれば、オペレーテ
ィングシステムがデータをアクセスする際に用いるブロ
ッキングサイズをアクセス単位としているため、オペレ
ーティングシステムからのアクセス時間を向上させるこ
とができる。
【0188】また、第24の発明によれば、アクセス単
位を記憶部の個数で均等に分割したため、副処理手段が
1度のアクセスを行うだけで、主処理手段から要求され
たデータ単位を準備することが可能になる。そのため、
アクセスの効率が向上する。
【0189】また、第25の発明によれば、ワーク領域
に書き込まれる一時的なファイルに対しては、冗長デー
タを生成しないため高速な処理が可能になる。
【0190】また、第26の発明によれば、副処理手段
に対して複数の記憶部を接続したので、副処理手段の数
を増加させなくとも記憶容量を増大させることができ
る。また、複数のディスクに対してアクセスすることに
より、検索性能を向上させることができる。
【0191】また、第27の発明によれば、アドレス変
換表を複数備えることにより1つの副処理手段に対して
複数の記憶部が接続されている場合でも、矛盾なくデー
タのアクセスを行うことができる。
【0192】また、第28の発明によれば、副書手段と
複数の記憶部をSCSIにより接続しているので、各記
憶部を識別するために特別な識別子を割り当てなくても
良い。
【0193】また、第29の発明によれば、主処理手段
を階層化したため主処理手段の負荷が分散される。ま
た、主処理手段が階層化されたことにより副処理手段の
数を増加させることができ、処理の並列化をさらに進め
ることができる。
【0194】また、第30の発明によれば、子主処理手
段をさらに階層化したものであるため、上位にある子主
処理手段の負荷が分散される。
【0195】また、第31の発明によれば、副処理手段
に複数の記憶部を設けたので、主処理手段の処理の並列
化と副処理手段の処理の並列化が行われ、全体としてよ
り進んだ負荷分散を達成することができる。
【0196】また、第32の発明によれば、分散データ
ベースシステムにおいて幹事サブシステムとメンバサブ
システムを設け、幹事サブシステムに分散データベース
の管理をおこなわせるようにしたため、データベースを
アクセスする装置の負荷を軽減することができる。
【0197】また、第33の発明によれば、幹事サブシ
ステムがテーブル生成を分散させて行わせるため、アク
セス装置のテーブル生成処理の負荷が軽減する。
【0198】また、第34の発明によれば、幹事サブシ
ステムがデータ追加要求を分散させて行わせるため、ア
クセス装置のデータ追加処理の負荷が軽減する。
【0199】また、第35の発明によれば、幹事サブシ
ステムが分散されたデータからインデックスを生成する
ため、アクセス装置のインデックス生成のための負荷が
減少する。
【0200】また、第36の発明によれば、幹事サブシ
ステムがデータ検索要求を分散させて実行するのでアク
セス装置のデータ検索負荷が軽減される。
【0201】また、第37の発明によれば、幹事サブシ
ステムがロールバック要求を分散させるので、アクセス
装置のロールバック要求の負荷を軽減することができ
る。
【0202】また、第38の発明によれば、幹事サブシ
ステムがコミット要求を分散して実行するため、アクセ
ス装置のコミット要求のための負荷を軽減することがで
きる。
【0203】また、第39の発明によれば、幹事サブシ
ステムが分散したデータから結合処理を行うので、アク
セス装置のジョイン処理の負荷が軽減する。
【0204】また、第40の発明によれば、幹事サブシ
ステムが更新要求を分散して実行させるため、アクセス
装置の更新要求のための負荷を軽減することができる。
【図面の簡単な説明】
【図1】 この発明の一実施例の高速データ検索マシン
の構成を示す図。
【図2】 この発明のHDDをミラー化した場合の動作
を説明する図。
【図3】 この発明のHDDをミラー化した場合の動作
フロ一図。
【図4】 この発明のHDDをミラー化した場合の動作
説明図。
【図5】 この発明のHDDをミラー化した場合のアク
セス時間の算出式を示す図。
【図6】 この発明のHDDをミラー化した場合のアク
セス時間の他の計算式を示す図。
【図7】 この発明のHDDをミラー化した場合の他の
構成を示す図。
【図8】 この発明のHDDをハードウェアミラー化し
た場合の構成を示す図。
【図9】 この発明のHDDをハードウェアミラー化し
た場合の動作フロー図。
【図10】 この発明のHDDをハードウェアミラー化
した場合のアドレスマップ図。
【図11】 この発明のHDDをハードウェアミラー化
した場合の動作説明図。
【図12】 この発明のHDDをハードウェアミラー化
した場合のスレーブ処理装置のブロック図。
【図13】 この発明のHDDをハードウェアミラー化
した場合のチップセレクターの回路図。
【図14】 この発明のHDDをハードウェアミラー化
した場合の割り込みセレクターの回路図。
【図15】 この発明のHDDをハードウェアミラー化
した場合の他のアドレスマップ図。
【図16】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図17】 この発明のRAIDコントローラのブロッ
ク図。
【図18】 この発明のRAID構成の動作説明図。
【図19】 この発明のRAID構成のデータロード時
のHDDの回転位置を示す図。
【図20】 この発明のRAID構成の通常リード時の
動作説明図。
【図21】 この発明のRAID構成のデータ更新時の
動作説明図。
【図22】 この発明のRAID構成のデータ修復時の
動作説明図。
【図23】 この発明のRAID構成のデータ修復時の
HDDの回転位置を示す図。
【図24】 この発明のRAIDシステムのパリティデ
ータの他の生成方法の例を示す図。
【図25】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図26】 この発明のスレーブ処理装置からHDDへ
のアドレス対応を示す図。
【図27】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図28】 この発明のスレーブ処理装置からHDDへ
のアドレス対応を示す図。
【図29】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図30】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図31】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図32】 この発明のスレーブ処理装置からHDDへ
のアドレス対応を示す図。
【図33】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図34】 この発明のスレーブ処理装置からHDDへ
のアドレス対応を示す図。
【図35】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図36】 この発明のスレーブ処理装置からHDDへ
のアドレス対応を示す図。
【図37】 この発明の高速データ検索マシンにRAI
D構成を適用した図。
【図38】 この発明のスレーブ処理装置からHDDへ
のアドレス対応を示す図。
【図39】 この発明の高速データ検索マシンのブロッ
クサイズを説明する図。
【図40】 この発明の高速データ検索マシンのブロッ
クサイズを説明する図。
【図41】 この発明の高速データ検索マシンのワーク
領域を説明する図。
【図42】 この発明の高速データ検索マシンのスレー
ブ処理装置に複数の記憶部を接続する図。
【図43】 この発明のアドレス変換表を示す図。
【図44】 この発明の複数の記憶部をスレーブ処理装
置に接続した場合の動作説明図。
【図45】 この発明の高速データ検索マシンのマスタ
ー処理装置を階層化した構成を示す図。
【図46】 この発明のマスター処理装置を階層化した
場合の動作説明図。
【図47】 この発明のマスター処理装置を階層化した
場合のジョイン処理の動作説明図。
【図48】 この発明の分散データベースシステムの一
例を示す図。
【図49】 この発明の幹事サブシステムの構成を示す
図。
【図50】 この発明のテーブル生成分散手段の動作フ
ローチャート図。
【図51】 この発明のデータ追加分散手段の動作フロ
ーチャート図。
【図52】 この発明のデータ追加分散手段の動作フロ
ーチャート図。
【図53】 この発明のインデックス生成手段の動作フ
ローチャート図。
【図54】 この発明の分散テーブル検索手段の動作フ
ローチャート図。
【図55】 この発明のロールバック分散手段の動作フ
ローチャート図。
【図56】 この発明のコミット分散手段の動作フロー
チャート図。
【図57】 この発明のジョイン手段の動作フローチャ
ート図。
【図58】 この発明の更新手段の動作フローチャート
図。
【図59】 従来の高速データ検索マシンの構成図。
【図60】 従来の高速データ検索マシンの動作説明
図。
【図61】 従来の分散データベースシステムの構成
図。
【符号の説明】
HDD 固定ディスク装置、11 チップセレクター、
12 割り込みセレクター、13,14 フリップフロ
ップ、20 RAIDコントローラ、21 セレクタ
ー、22a〜22d バススイッチ、23 バスセレク
ター、24 FIFO#1、25 FIFO#2、26
エクスクルーシブオア回路、27 セレクター、28
CPU、29 メモリー、30 HDDコントロー
ラ、50,51,52,53,54,55,56 RA
IDコントローラ、61a,61b,61c 論理・物
理アドレス変換表、70 幹事サブシステム(DB
0)、71テーブル生成分散手段、72 データ追加分
散手段、73 インデックス生成手段、74 分散テー
ブル検索手段、75 ロールバック分散手段、76 コ
ミット分散手段、77 ジョイン手段、80 メンバサ
ブシステム(DB1)、81 メンバサブシステム(D
B2)、90 クライアント、91 ローカルエリアネ
ットワーク。
フロントページの続き (72)発明者 小川 晃 鎌倉市上町屋325番地 三菱電機株式会社 情報システム製作所内 (72)発明者 小倉 史郎 鎌倉市上町屋325番地 三菱電機株式会社 情報システム製作所内 (72)発明者 山本 整 鎌倉市上町屋325番地 三菱電機株式会社 情報システム製作所内 (72)発明者 馬場 宏 鎌倉市上町屋325番地 三菱電機株式会社 情報システム製作所内

Claims (40)

    【特許請求の範囲】
  1. 【請求項1】 データを分散して記憶する複数の記憶部
    と、上記記憶部に接続された複数の副処理手段と、上記
    複数の副処理手段を用いて記憶部に記憶されたデータを
    アクセスする主処理手段を備えたデータアクセス装置に
    おいて、上記副処理手段に接続され、同一データを記憶
    する第1と第2の記憶部を備えたことを特徴とするデー
    タアクセス装置。
  2. 【請求項2】 上記副処理手段は、上記第1と第2の記
    憶部に対して同一データを書き込む書き込み手段と、上
    記第1と第2の記憶部のいずれかからデータを読み出す
    読み出し手段を備えたことを特徴とする請求項1記載の
    データアクセス装置。
  3. 【請求項3】 上記副処理手段は、上記第1と第2の記
    憶部に対して同期信号を出力する同期信号出力手段を備
    え、上記第1と第2の記憶部は、その同期信号を参照す
    ることにより、互いに異なる位相で同期回転する位相同
    期手段を備えたことを特徴とする請求項1又は2記載の
    データアクセス装置。
  4. 【請求項4】 上記読み出し手段は同期信号から第1と
    第2の記憶部の回転位置を算出する回転位置算出手段
    と、算出した第1と第2の記憶部の回転位置から早期読
    み出し可能な記憶部を判定する判定手段と、その記憶部
    に対して読み出し要求を出力する出力手段を備えたこと
    を特徴とする請求項3記載のデータアクセス装置。
  5. 【請求項5】 上記読み出し手段は、さらに、第1と第
    2の記憶部のヘッド位置を記憶するヘッド位置記憶手段
    を有し、上記判定手段は、上記回転位置算出手段により
    算出された第1と第2の記憶部の回転位置とヘッド位置
    記憶手段により記憶されたヘッド位置に基づいて、早期
    読み出し可能な記憶部を判定することを特徴とする請求
    項4記載のデータアクセス装置。
  6. 【請求項6】 上記副処理手段は、書き込み要求と読み
    出し要求を出力する場合、第1と第2の記憶部を選択
    し、データを副処理手段に読み出す場合、第1と第2の
    記憶部のいずれかを選択する選択手段を備えたことを特
    徴とする請求項1,2又は3記載のデータアクセス装
    置。
  7. 【請求項7】 上記選択手段は、読み出し要求に対して
    早期に応答した記憶部を記憶する応答記憶部と、応答記
    憶部に記憶された記憶部を選択してデータを読み出すセ
    レクタを備えたことを特徴とする請求項6記載のデータ
    アクセス装置。
  8. 【請求項8】 上記副処理手段は、同一の読み出し要求
    を第1と第2の記憶部へ出力する読み出し手段と、いず
    れか一方の記憶部の応答を検出して、他方の記憶部への
    読み出し要求をキャンセルするキャンセル手段を備えた
    ことを特徴とする請求項1,2,3,4,5,6又は7
    記載のデータアクセス装置。
  9. 【請求項9】 データを分散して記憶する複数の記憶部
    と、上記記憶部に接続された複数の副処理手段と、上記
    複数の副処理手段を用いて記憶部に記憶されたデータを
    アクセスする主処理手段を備えたデータアクセス装置に
    おいて、上記複数の記憶部に記憶されたデータの冗長デ
    ータを記憶する冗長部と、上記冗長部と接続され、上記
    副処理部が上記記憶部にデータを書き込む場合に、冗長
    データを作成して上記冗長部に記憶させる冗長データ生
    成手段と、いずれかの記憶部に障害が発生し代替部が用
    意された場合に、冗長部の冗長データを用いて障害が発
    生した記憶部のデータを代替部に復元する復元手段を有
    する制御部を備えたことを特徴とするデータアクセス装
    置。
  10. 【請求項10】 上記データアクセス装置は、上記副処
    理手段と上記記憶部と上記制御部の接続を切り替えるス
    イッチ手段を備えたことを特徴とする請求項9記載のデ
    ータアクセス装置。
  11. 【請求項11】 上記スイッチ手段は、上記副処理手段
    が上記記憶部にデータを書き込む場合に、上記副処理手
    段を上記記憶部と上記制御部へ接続する書き込み接続手
    段と、故障した記憶部のデータを代替部に復元する場合
    に、正常な記憶部と上記制御部を接続するとともに、代
    替記憶部と上記制御部を接続する復元接続手段を備えた
    ことを特徴とする請求項10記載のデータアクセス装
    置。
  12. 【請求項12】 上記データアクセス装置は、故障した
    記憶部を代替する代替部と、上記代替部を故障した記憶
    部の替わりに接続する代替手段を備えたことを特徴とす
    る請求項9,10又は11記載のデータアクセス装置。
  13. 【請求項13】 上記データアクセス装置は、上記複数
    の記憶部を同期させて動作させるとともに、上記冗長部
    を記憶部の同期とは異なる位相で同期させて動作させる
    同期制御手段を備えたことを特徴とする請求項9,1
    0,11,又は12に記載のデータアクセス装置。
  14. 【請求項14】 上記データアクセス装置は、上記複数
    の記憶部と冗長部を同期させて動作させるとともに、上
    記代替部を記憶部の同期とは異なる位相で同期させて動
    作させる同期制御手段を備えたことを特徴とする請求項
    9,10,11,又は12に記載のデータアクセス装
    置。
  15. 【請求項15】 データを分散して記憶する複数の記憶
    部と、上記記憶部に接続された複数の副処理手段と、上
    記複数の副処理手段を用いて記憶部に記憶されたデータ
    をアクセスする主処理手段を備えたデータアクセス装置
    において、上記複数の副処理手段と上記複数の記憶部の
    間に設けられ、副処理手段から記憶部へのアクセスを制
    御するとともに、副処理手段から記憶部に対して書き込
    まれるデータの冗長データを生成して、記憶部に記憶す
    る制御部を備えたことを特徴とするデータアクセス装
    置。
  16. 【請求項16】 上記データアクセス装置は、n台(n
    ≧2)の副処理装置と、m+1(m≧n)台の記憶部を
    備え、上記制御部は、冗長データをm+1台目の記憶部
    に記憶することを特徴とする請求項15記載のデータア
    クセス装置。
  17. 【請求項17】 上記データアクセス装置は、n台(n
    ≧2)の副処理装置と、m台(m≧n)の記憶部を備
    え、上記制御部は冗長データをm台の記憶部に分散させ
    て記憶することを特徴とする請求項15記載のデータア
    クセス装置。
  18. 【請求項18】 上記制御部は所定の識別子を用いて、
    上記副処理手段と上記記憶部を対応付けするとともに、
    対応付けられた副処理手段と記憶部の間でデータを転送
    する対応付け手段を備えていることを特徴とする請求項
    15,16,又は17記載のデータアクセス装置。
  19. 【請求項19】 上記副処理手段は、それぞれに識別す
    る論理ユニット番号を有し、上記識別子は、副処理手段
    に割り当てられた論理ユニット番号であることを特徴と
    する請求項18記載のデータアクセス装置。
  20. 【請求項20】 接続するデバイスに対してSCSI−
    IDを割り当てるSCSI(Small Comput
    er System Interface)を用いて上
    記複数の副処理手段と上記制御部を接続するとともに、
    上記識別子は、SCSIにより副処理手段に割り当てら
    れたSCSI−IDであることを特徴とする請求項18
    記載のデータアクセス装置。
  21. 【請求項21】 上記副処理手段は、データ量Xを単位
    としてデータのアクセスを行い、上記制御部はデータ量
    X/k(kは正の整数)を単位として記憶部にアクセス
    し、上記記憶部はデータ量X/kを読み書きの単位とす
    ることを特徴とする請求項16,17,18,19又は
    20記載のデータアクセス装置。
  22. 【請求項22】 上記データ量Xはデータベースのアク
    セスに用いるページ単位であることを特徴とする請求項
    21記載のデータアクセス装置。
  23. 【請求項23】 上記データ量Xはオペレーティングシ
    ステムがデータのアクセスに用いるブロッキングサイズ
    であることを特徴とする請求項21記載のデータアクセ
    ス装置。
  24. 【請求項24】 上記正の整数kは記憶部の数と等しい
    ことを特徴とする請求項21,22,又は23記載のデ
    ータアクセス装置。
  25. 【請求項25】 上記記憶部はワーク領域を有し、上記
    副処理手段は、一時的なデータを上記ワーク領域に書き
    込む一時書き込み手段を備え、上記制御部は、上記ワー
    ク領域への書き込みの場合は冗長データを生成しない不
    生成手段を備えたことを特徴とする請求項15記載のデ
    ータアクセス装置。
  26. 【請求項26】 データを分散して記憶する複数の記憶
    部と、上記記憶部に接続された複数副処理手段と、上記
    複数の副処理手段を用いて記憶部に記憶されたデータを
    アクセスする主処理手段を備えたデータアクセス装置に
    おいて、各副処理手段に対して複数の記憶部を接続し、
    各副処理手段は、接続された複数の記憶部にデータを分
    割して記憶する分割記憶手段を備えたことを特徴とする
    データアクセス装置。
  27. 【請求項27】 上記分割記憶手段は、複数の記憶部に
    分割されたデータをアクセスするため、各記憶部に対応
    して論理アドレスを物理アドレスに変換するアドレス変
    換表を備えたことを特徴とする請求項26記載のデータ
    アクセス装置。
  28. 【請求項28】 接続するデバイスに対してSCSI−
    IDを割り当てるSCSIを用いて上記副処理手段と上
    記複数の記憶部を接続し、上記副処理手段は、上記SC
    SIにより記憶部に割り当てられたSCSI−IDを用
    いて記憶部を識別することを特徴とする請求項26又は
    27記載のデータアクセス装置。
  29. 【請求項29】 データを分散して記憶する複数の記憶
    部と、上記記憶部に接続された複数の副処理手段と、上
    記複数の副処理手段を用いて記憶部に記憶されたデータ
    をアクセスする主処理手段を備えたデータアクセス装置
    において、上記主処理手段は、親主処理手段と親主処理
    手段に接続された複数の子主処理手段を備え、各子主処
    理手段それぞれに複数の副処理手段を接続したことを特
    徴とするデータアクセス装置。
  30. 【請求項30】 上記主処理手段は、さらに、子主処理
    手段を階層化したことを特徴とする請求項29記載のデ
    ータアクセス装置。
  31. 【請求項31】 各副処理手段に対して複数の記憶部を
    接続し、各副処理手段は、接続された複数の記憶部にデ
    ータを分割して記憶する分割記憶手段を備えたことを特
    徴とする請求項29又は30記載のデータアクセス装
    置。
  32. 【請求項32】 データをアクセスするアクセス装置
    と、上記アクセス装置がアクセスするデータを分散して
    記憶する複数のサブシステムと、上記アクセス装置と複
    数のサブシステムを接続するネットワークを備えた分散
    データベースシステムにおいて、上記サブシステムは、
    アクセス装置からのアクセス要求を受けつけ、必要な処
    理を他のサブシステムに要求し、その結果をアクセス装
    置に出力する幹事サブシステムと、幹事サブシステムか
    らの要求に対して必要な処理を実行して結果を幹事サブ
    システムへ出力するメンバサブシステムを備えたことを
    特徴とする分散データベースシステム。
  33. 【請求項33】 上記アクセス装置は、上記幹事サブシ
    ステムに対してテーブルを生成するテーブル生成要求を
    出力する手段を有し、上記幹事サブシステムは、上記ア
    クセス装置からのテーブル生成要求に基づいて、上記メ
    ンバサブシステムにテーブルを分散して生成させるテー
    ブル生成分散手段を備えたことを特徴とする請求項32
    記載の分散データベースシステム。
  34. 【請求項34】 上記アクセス装置は、上記幹事サブシ
    ステムに対してデータを追加するデータ追加要求を出力
    する手段を有し、上記幹事サブシステムは、上記アクセ
    ス装置からのデータ追加要求に基づいて、上記メンバサ
    ブシステムにデータを分散して追加させるデータ追加分
    散手段を備えたことを特徴とする請求項32記載の分散
    データベースシステム。
  35. 【請求項35】 上記アクセス装置は、上記幹事サブシ
    ステムに対してテーブルのインデックスを生成するイン
    デックス生成要求を出力する手段を有し、上記幹事サブ
    システムは、上記アクセス装置からのインデックス生成
    要求に基づいて、上記メンバサブシステムに分散された
    テーブルからインデックスを生成するインデックス生成
    手段を備えたことを特徴とする請求項32記載の分散デ
    ータベースシステム。
  36. 【請求項36】 上記アクセス装置は、上記幹事サブシ
    ステムに対してテーブルのデータ検索を要求するデータ
    検索要求を出力する手段を有し、上記幹事サブシステム
    は、上記アクセス装置からのデータ検索要求に基づい
    て、上記メンバサブシステムに分散されたテーブルを検
    索する分散テーブル検索手段を備えたことを特徴とする
    請求項32記載の分散データベースシステム。
  37. 【請求項37】 上記アクセス装置は、上記幹事サブシ
    ステムに対してロールバック要求を出力する手段を有
    し、上記幹事サブシステムは、上記アクセス装置からの
    ロールバック要求に基づいて、上記メンバサブシステム
    にロールバック要求を転送するロールバック分散手段を
    備えたことを特徴とする請求項32記載の分散データベ
    ースシステム。
  38. 【請求項38】 上記アクセス装置は、上記幹事サブシ
    ステムに対してコミット要求を出力する手段を有し、上
    記幹事サブシステムは、上記アクセス装置からのコニッ
    ト要求に基づいて、上記メンバサブシステムにコミット
    要求を転送するコミット分散手段を備えたことを特徴と
    する請求項32記載の分散データベースシステム。
  39. 【請求項39】 上記アクセス装置は、上記幹事サブシ
    ステムに対して別テーブルのデータを結合するジョイン
    要求を出力する手段を有し、上記幹事サブシステムは、
    上記アクセス装置からのジョイン要求に基づいて、上記
    メンバサブシステムに分散された別テーブルのデータを
    結合するジョイン手段を備えたことを特徴とする請求項
    32記載の分散データベースシステム。
  40. 【請求項40】 上記アクセス装置は、上記幹事サブシ
    ステムに対してデータの更新要求を出力する手段を有
    し、上記幹事サブシステムは、上記アクセス装置からの
    更新要求に基づいて、上記メンバサブシステムに分散さ
    れたテーブルを更新する更新手段を備えたことを特徴と
    する請求項32の分散データベースシステム。
JP06094870A 1994-05-09 1994-05-09 データアクセス装置及び分散データベースシステム Expired - Fee Related JP3085085B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP06094870A JP3085085B2 (ja) 1994-05-09 1994-05-09 データアクセス装置及び分散データベースシステム
US08/432,508 US6018790A (en) 1994-05-09 1995-05-01 Data access from the one of multiple redundant out-of-sync disks with the calculated shortest access time
GB9615696A GB2300937B (en) 1994-05-09 1995-05-02 Data access apparatus and distributed data base system
GB9615615A GB2301208B (en) 1994-05-09 1995-05-02 Data access apparatus and distributed data base system
GB9508941A GB2289355B (en) 1994-05-09 1995-05-02 Data access apparatus and distributed data base system
GB9615690A GB2300936B (en) 1994-05-09 1995-05-02 Data access apparatus and distributed data base system
GB9615697A GB2301209B (en) 1994-05-09 1995-05-02 Data access apparatus and distributed data base system
GB9615689A GB2300935B (en) 1994-05-09 1995-05-02 Data access apparatus and distributed data base system
US08/754,510 US5832486A (en) 1994-05-09 1996-11-19 Distributed database system having master and member sub-systems connected through a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06094870A JP3085085B2 (ja) 1994-05-09 1994-05-09 データアクセス装置及び分散データベースシステム

Publications (2)

Publication Number Publication Date
JPH07302173A true JPH07302173A (ja) 1995-11-14
JP3085085B2 JP3085085B2 (ja) 2000-09-04

Family

ID=14122091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06094870A Expired - Fee Related JP3085085B2 (ja) 1994-05-09 1994-05-09 データアクセス装置及び分散データベースシステム

Country Status (3)

Country Link
US (2) US6018790A (ja)
JP (1) JP3085085B2 (ja)
GB (1) GB2289355B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331042B1 (ko) * 1999-12-15 2002-04-06 장갑석 통신시스템에서의 이중화 저장장치
KR100348566B1 (ko) * 1999-12-15 2002-08-14 (주)유니와이드 테크놀러지 통신시스템에서의 이중화 저장장치

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144959A (en) * 1997-08-18 2000-11-07 Novell, Inc. System and method for managing user accounts in a communication network
US6141493A (en) * 1997-11-04 2000-10-31 Chen; Meng-Chang Filing of variable-bit-rate video information on zoned disks
JP2000132915A (ja) * 1998-10-22 2000-05-12 Matsushita Electric Ind Co Ltd ディスク装置およびそのデータ処理方法
JP4294142B2 (ja) 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
WO2000067250A2 (en) * 1999-05-03 2000-11-09 3Ware Company Methods and systems for mirrored disk arrays
US7010531B1 (en) * 1999-11-24 2006-03-07 Unisys Corporation Method and apparatus for a web application server to create an empty data set in a repository with a specified dataset ID
FI20001111A (fi) * 2000-05-10 2001-11-11 Nokia Corp Hajautetun tietokantajärjestelmän keskitetty hallinta
KR100364895B1 (ko) * 2000-06-12 2002-12-16 아라리온 (주) 데이터 액세스 제어 방법 및 시스템
JP3693896B2 (ja) * 2000-07-28 2005-09-14 三菱電機株式会社 通信方法および通信システム
US6603625B1 (en) * 2000-09-11 2003-08-05 Western Digital Technologies, Inc. Spindle synchronizing a plurality of spindles connected to a multi-dimensional computer network
JP3877519B2 (ja) * 2000-12-15 2007-02-07 株式会社日立製作所 システム回復方法およびその実施計算機システム並びにその処理プログラムを記録した記録媒体
US6895468B2 (en) 2001-01-29 2005-05-17 Seagate Technology Llc Log-structured block system and method
US6978345B2 (en) 2001-05-15 2005-12-20 Hewlett-Packard Development Company, L.P. Self-mirroring high performance disk drive
US7010521B2 (en) 2002-05-13 2006-03-07 Netezza Corporation Optimized database appliance
US7698338B2 (en) * 2002-09-18 2010-04-13 Netezza Corporation Field oriented pipeline architecture for a programmable data streaming processor
US20050246363A1 (en) * 2004-05-03 2005-11-03 Paussa Gregory F System for self-correcting updates to distributed tables
US7904488B2 (en) 2004-07-21 2011-03-08 Rockwell Automation Technologies, Inc. Time stamp methods for unified plant model
GB2418273A (en) * 2004-09-18 2006-03-22 Hewlett Packard Development Co An array of discs with stripes and mirroring
US8756521B1 (en) 2004-09-30 2014-06-17 Rockwell Automation Technologies, Inc. Systems and methods for automatic visualization configuration
US7650405B2 (en) 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US7672737B2 (en) 2005-05-13 2010-03-02 Rockwell Automation Technologies, Inc. Hierarchically structured data model for utilization in industrial automation environments
US7676281B2 (en) 2005-05-13 2010-03-09 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
US8799800B2 (en) 2005-05-13 2014-08-05 Rockwell Automation Technologies, Inc. Automatic user interface generation
US7809683B2 (en) 2005-05-13 2010-10-05 Rockwell Automation Technologies, Inc. Library that includes modifiable industrial automation objects
US7548789B2 (en) 2005-09-29 2009-06-16 Rockwell Automation Technologies, Inc. Editing lifecycle and deployment of objects in an industrial automation environment
US7881812B2 (en) 2005-09-29 2011-02-01 Rockwell Automation Technologies, Inc. Editing and configuring device
US8275680B2 (en) 2005-09-30 2012-09-25 Rockwell Automation Technologies, Inc. Enabling transactional mechanisms in an automated controller system
US7801628B2 (en) 2005-09-30 2010-09-21 Rockwell Automation Technologies, Inc. Industrial operator interfaces interacting with higher-level business workflow
US7734590B2 (en) 2005-09-30 2010-06-08 Rockwell Automation Technologies, Inc. Incremental association of metadata to production data
US7660638B2 (en) 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Business process execution engine
US8484250B2 (en) 2005-09-30 2013-07-09 Rockwell Automation Technologies, Inc. Data federation with industrial control systems
US7526794B2 (en) 2005-09-30 2009-04-28 Rockwell Automation Technologies, Inc. Data perspectives in controller system and production management systems
US8560503B1 (en) * 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7890696B2 (en) * 2006-06-29 2011-02-15 Seagate Technology Llc Command queue ordering with directional and floating write bands
US8244975B2 (en) * 2006-06-30 2012-08-14 Seagate Technology Llc Command queue ordering by flipping active write zones
US7644206B2 (en) * 2006-06-30 2010-01-05 Seagate Technology Llc Command queue ordering by positionally pushing access commands
US8112566B2 (en) * 2007-06-06 2012-02-07 Intel Corporation Methods and apparatuses for processing I/O requests of data storage devices
US8051232B2 (en) * 2007-06-25 2011-11-01 Intel Corporation Data storage device performance optimization methods and apparatuses
US8984533B2 (en) 2010-04-15 2015-03-17 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9392072B2 (en) 2010-04-15 2016-07-12 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8484401B2 (en) 2010-04-15 2013-07-09 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
WO2015063864A1 (ja) * 2013-10-29 2015-05-07 株式会社安川電機 モータ制御プログラム転送システム、上位コントローラ、モータ制御装置及びモータ制御プログラム転送方法
US11893268B2 (en) 2022-01-19 2024-02-06 Seagate Technology Llc Opportunistic command scheduling

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2232256A5 (ja) * 1973-05-29 1974-12-27 Labo Cent Telecommunicat
US5058002A (en) * 1987-06-23 1991-10-15 Mitsubishi Denki Kabushiki Kaisha Page splitting method and apparatus for a database stored in a plurality of memory storage units
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
GB2230626A (en) * 1989-04-20 1990-10-24 Croftlands Ltd Computerised database system
JPH02310665A (ja) * 1989-05-25 1990-12-26 Toshiba Corp 分散トランザクション処理システム
JPH07104871B2 (ja) * 1989-08-31 1995-11-13 三菱電機株式会社 リレーショナル・データベースにおけるジョイン処理方式
EP0443038B1 (en) * 1989-09-14 1997-07-30 Fujitsu Limited Temporary center system in a decentralized data base system
US5237466A (en) * 1989-11-02 1993-08-17 International Business Machines Corporation Method and apparatus for programmably controlling spindle synchronization and phase among disk drives in a storage subsystem
US5185884A (en) * 1990-01-24 1993-02-09 International Business Machines Corporation Computer controlled optimized pairing of disk units
US5363121A (en) * 1990-06-29 1994-11-08 International Business Machines Corporation Multiple protocol communication interface for distributed transaction processing
IT220660Z2 (it) * 1990-10-31 1993-10-08 Elasis Sistema Ricerca Fiat Perfezionamenti al sistema di otturatore per alta pressione in una valvola pilota di un iniettore elettromagnetico per sistemi di iniezione del combustibile di motori a combustione interna
JPH05197604A (ja) * 1991-05-21 1993-08-06 Digital Equip Corp <Dec> マルチプロセッサ・コンピュータ及びその動作方法
US5452445A (en) * 1992-04-30 1995-09-19 Oracle Corporation Two-pass multi-version read consistency
GB2270790A (en) * 1992-09-18 1994-03-23 Ibm Disk drive synchronisation
GB2273183A (en) * 1992-12-04 1994-06-08 Ibm Replicated distributed databases.
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
JPH06290099A (ja) * 1993-03-24 1994-10-18 Internatl Business Mach Corp <Ibm> 記憶管理方法及びサブシステム
JP3170095B2 (ja) * 1993-04-14 2001-05-28 富士通株式会社 情報検索システム
US5463758A (en) * 1993-08-02 1995-10-31 International Business Machines Corporation System and method for reducing seek time for read operations in mirrored DASD files
US5432922A (en) * 1993-08-23 1995-07-11 International Business Machines Corporation Digital storage system and method having alternating deferred updating of mirrored storage disks
US5630124A (en) * 1993-12-06 1997-05-13 International Business Machines Corporation System and method for assuring atomicity of distributed update requests in a parallel database

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331042B1 (ko) * 1999-12-15 2002-04-06 장갑석 통신시스템에서의 이중화 저장장치
KR100348566B1 (ko) * 1999-12-15 2002-08-14 (주)유니와이드 테크놀러지 통신시스템에서의 이중화 저장장치

Also Published As

Publication number Publication date
US6018790A (en) 2000-01-25
GB9508941D0 (en) 1995-06-21
GB2289355A (en) 1995-11-15
GB2289355B (en) 1997-08-20
US5832486A (en) 1998-11-03
JP3085085B2 (ja) 2000-09-04

Similar Documents

Publication Publication Date Title
JP3085085B2 (ja) データアクセス装置及び分散データベースシステム
US5301297A (en) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
US5987566A (en) Redundant storage with mirroring by logical volume with diverse reading process
US5479653A (en) Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
US5459857A (en) Fault tolerant disk array data storage subsystem
US6718436B2 (en) Method for managing logical volume in order to support dynamic online resizing and software raid and to minimize metadata and computer readable medium storing the same
US7146460B2 (en) Dynamic spindle usage leveling
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
US6289398B1 (en) Distributed storage array system having plurality of storage devices which each of devices including a modular control unit for exchanging configuration information over a communication link
CA2125201A1 (en) Digital storage system and method having alternating deferred updating of mirrored storage disks
EP0570516A1 (en) Disk drive array memory system using nonuniform disk drives
JPH09319528A (ja) データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
JP4261532B2 (ja) 論理ディスク管理方法及び仮想化装置
JPH0863298A (ja) ディスクアレイ装置
JPH07203337A (ja) Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
GB2300937A (en) Data access apparatus and distributed data base system
Wu et al. Parity-distribution: a shortcut to reliable cluster computing system
Kenbeek et al. The cornerstone of data warehousing for government applications
JPH06119121A (ja) ディスクアレイ装置
JPH09134257A (ja) データの多重冗長蓄積処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees