JPH0573226A - Data input/output system for external storage device - Google Patents

Data input/output system for external storage device

Info

Publication number
JPH0573226A
JPH0573226A JP3260427A JP26042791A JPH0573226A JP H0573226 A JPH0573226 A JP H0573226A JP 3260427 A JP3260427 A JP 3260427A JP 26042791 A JP26042791 A JP 26042791A JP H0573226 A JPH0573226 A JP H0573226A
Authority
JP
Japan
Prior art keywords
data
block
data blocks
blocks
logical block
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
JP3260427A
Other languages
Japanese (ja)
Inventor
Yoshiko Matsumoto
佳子 松本
Hisaharu Takeuchi
久治 竹内
Hisashi Takamatsu
久司 高松
Yoshihiro Uchiyama
善弘 内山
Mamoru Touraku
守 東落
Ikuo Kawaguchi
幾雄 川口
Takao Sato
孝夫 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3260427A priority Critical patent/JPH0573226A/en
Publication of JPH0573226A publication Critical patent/JPH0573226A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To prevent the transfer of the wrong data to a host device in a system where a single logic block is divided into plural data blocks and the data are simultaneously written into the disk devices corresponding to the divided data blocks by checking the sequence and the updated/unupdated states of these data blocks within the logic block in a reading state. CONSTITUTION:A single logic block is divided into plural data blocks and a parity block ECC. Then the division numbers (the sequence of data blocks in the logic block) and the updated numbers (the updated states of data blocks) are added to the data blocks as the additional information in addition to a normal CRC. These information are written into five disks (four disks for data blocks and one disk for ECC) respectively. In a reading state, the data are recovered with use of the additional information.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、上位装置から転送され
たデータのアクセス最小単位(論理ブロック)を、複数
のデータブロックに分割して、記憶媒体に格納し読み出
す外部記憶装置におけるデータ入出力方式に係り、特
に、論理ブロックのデータの正当性を保証する外部記憶
装置におけるデータ入出力方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to data input / output in an external storage device in which a minimum access unit (logical block) of data transferred from a host device is divided into a plurality of data blocks, which are stored in a storage medium and read out. More particularly, the present invention relates to a data input / output method in an external storage device that guarantees the validity of data in a logical block.

【0002】[0002]

【従来の技術】従来、例えば、特開昭62−24481
号公報に記載のように、上位装置からのデータを複数の
データブロックに分割して、並列に複数の記憶媒体にア
クセスすることにより、処理速度を高めるようにした外
部記憶装置におけるデータ入出力方式が知られている。
この場合、並列にアクセスする単位毎に、パリティデー
タを作成し、当該データを、記憶媒体のパリティデータ
格納専用エリアに、書き込み時に同時に並列に書き込
み、読み出し時に、読みだしエラーが起こった時は、パ
リティデータを読み出し、パリティデータと読み出しに
成功したデータブロックにより、データを復元し、高信
頼性を実現している。又、分割されたデータブロック自
身の信頼性は、各データブロック毎に書き込み時にチェ
ックコードを付加し、読み出し時にチェックすることに
より、分割したデータブロック自身の保証を行ってい
た。
2. Description of the Related Art Conventionally, for example, JP-A-62-24481.
Data input / output method in an external storage device in which data from a higher-level device is divided into a plurality of data blocks and a plurality of storage media are accessed in parallel to increase the processing speed It has been known.
In this case, parity data is created for each unit accessed in parallel, and the data is written to the parity data storage dedicated area of the storage medium in parallel at the same time when writing, and when a read error occurs when reading, The parity data is read, and the data is restored by the parity data and the successfully read data block, thereby achieving high reliability. Further, the reliability of the divided data block itself is guaranteed by adding a check code to each data block at the time of writing and checking at the time of reading.

【0003】[0003]

【発明が解決しようとする課題】上記従来技術では、分
割されたデータブロック単位毎に、当該ブロック毎の正
当性を保証する為チェックコードを付加し、記憶してい
るが、当該チェックコードにより保証されるものは、分
割されたデータブロック自身のデータに関するものであ
る。例えば、上位装置からのアクセス最小単位である論
理ブロックを、複数のデータブロックに分割して格納
し、これを読み出した時、データブロック自身は保証さ
れるが、データブロックを収集し、論理ブロックを構成
した時、ハード的な障害などのため、順番が狂うことが
あり、当該論理ブロックのデータブロックが必ずしも正
しい順番で収集されたかどうかの保証はできない。
In the above-mentioned prior art, a check code is added to each divided data block unit in order to assure the correctness of each block and is stored. What is done is about the data of the divided data blocks themselves. For example, a logical block, which is the minimum unit of access from a higher-level device, is divided into a plurality of data blocks and stored, and when the data blocks are read, the data blocks themselves are guaranteed, but the data blocks are collected and the logical blocks are stored. When configured, the order may be out of order due to a hardware failure or the like, and it cannot be guaranteed that the data blocks of the logical block are necessarily collected in the correct order.

【0004】また、データブロック書き込み時におい
て、電源障害等により、論理ブロックの更新が途中で停
止するなど、書き込み状態が中途半端な状態で終了して
いるときは、各データブロックに付加されたチェックコ
ードにより読みだし時にエラーを検出できるが、全く未
更新のデータブロックのエラー検出をする手段がないた
め、論理ブロック収集時、更新データブロックと未更新
データブロックが混在している可能性があり、不当な論
理ブロックを上位装置へ転送してしまう可能性がある。
Further, at the time of writing a data block, when the writing state ends in a halfway state such as the update of the logical block is stopped halfway due to a power failure or the like, the check added to each data block is checked. Although an error can be detected at the time of reading by code, there is no means to detect an error in a data block that has not been updated at all, so there is a possibility that updated data blocks and unupdated data blocks may be mixed when collecting logical blocks. There is a possibility that an illegal logic block will be transferred to the host device.

【0005】以上のように、従来技術では、論理ブロッ
クに対する論理的な保証の手段が考えられていないた
め、誤ったデータを上位装置へ転送する可能性がある。
As described above, in the prior art, since no means for logically guaranteeing the logical block is considered, there is a possibility that erroneous data may be transferred to the host device.

【0006】従って、本発明の目的は、上記従来技術の
問題点を解消して、データ読み出し時に、各論理ブロッ
クに属するデータブロックの分割された順番の誤りのチ
ェックを可能とすると共に、このデータブロックの更新
・未更新の状態の検出を可能とすることによって、誤っ
た論理ブロックが上位装置に転送されるのを防止するこ
とができる外部記憶装置におけるデータ入出力方式を提
供することにある。
Therefore, an object of the present invention is to solve the above-mentioned problems of the prior art, to enable an error check of the division order of the data blocks belonging to each logical block when reading the data, and An object of the present invention is to provide a data input / output method in an external storage device capable of preventing an erroneous logical block from being transferred to a higher-level device by enabling detection of an updated / unupdated state of a block.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するた
め、本発明は、上位装置から転送されてくるデータの最
小単位である論理ブロックを複数のデータブロック(物
理的なブロック)に分割し、各データブロックをそれぞ
れ対応する記憶媒体に同時に(並列的に一斉に)格納す
る外部記憶装置において、論理ブロックの書き込み時に
(更新時に)、(誤りチェックコードのほかに、)分割
したデータブロックが当該論理ブロックを分割したデー
タブロックであることを示す付加情報を、分割した全て
のデータブロックに付加し、この付加情報をデータブロ
ックと同時に前記記憶媒体に格納するように構成する。
また、読み出し時には、前記論理ブロックを構成してい
るデータブロック群の全てのデータブロックについて前
記付加情報をチェックすることによって、当該論理ブロ
ックの正当性を保証するように構成する。
To achieve the above object, the present invention divides a logical block, which is the minimum unit of data transferred from a host device, into a plurality of data blocks (physical blocks), In an external storage device that stores each data block in a corresponding storage medium at the same time (simultaneously in parallel), when the logical block is written (at the time of updating), the divided data block (in addition to the error check code) is Additional information indicating that the logical block is a divided data block is added to all the divided data blocks, and this additional information is stored in the storage medium at the same time as the data block.
Further, at the time of reading, the validity of the logical block is guaranteed by checking the additional information for all the data blocks of the data block group forming the logical block.

【0008】前記付加情報として、論理ブロック内で
の、データブロックの分割位置を示す情報(例えば分割
番号のような、分割されたデータブロックの順番)を用
いることができる。これにより、各データブロックを読
み取り収集したときに、それらデータブロックが論理的
に正しい順番に並んでいるかを判断できる。
As the additional information, information indicating a division position of a data block within a logical block (for example, an order of divided data blocks such as a division number) can be used. Thus, when each data block is read and collected, it is possible to determine whether or not the data blocks are logically arranged in the correct order.

【0009】更に、前記付加情報として、前記分割位置
を示す情報のほかに、論理ブロック単位(同時に書き込
みが発生する単位)に、前記データブロックの各々が更
新されたかどうかを示す情報(例えば更新時刻や、更新
毎にカウントアップされる更新番号、バージョン番号な
ど)を付加することができる。この場合、外部記憶装置
は、分割した複数のデータブロックのほかに、それらデ
ータブロックのパリティデータを格納する手段も備えて
おり、読み出し時に、前記更新されたかどうかを示す情
報を含む付加情報をチェックし(例えば論理ブロック内
のデータブロックがすべて同時刻であるか、あるいは同
一更新番号であるかなどチェックし)未更新状態である
データブロックを検出したとき、当該データブロック以
外のデータブロック(更新されたもの)とパリティデー
タとにより訂正を行い、未更新状態であるデータブロッ
クを回復することによって、論理ブロックの正当性を保
証するように構成される。
Further, as the additional information, in addition to the information indicating the division position, information indicating whether or not each of the data blocks has been updated in logical block units (units in which writing simultaneously occurs) (for example, update time). Alternatively, it is possible to add an update number, a version number, etc., which is counted up for each update. In this case, the external storage device is provided with a means for storing the parity data of these data blocks in addition to the plurality of divided data blocks, and at the time of reading, checks the additional information including the information indicating whether or not the data has been updated. However, when a data block in an unupdated state is detected (for example, whether all the data blocks in the logical block have the same time or the same update number), a data block other than the data block (updated) is detected. Data block) and the parity data to recover the data block in the unupdated state, thereby ensuring the validity of the logical block.

【0010】[0010]

【作用】上記構成に基づく作用を説明する。The operation based on the above configuration will be described.

【0011】本発明によれば、上位装置から指示された
データを、外部記憶装置へ書き込む時に、論理ブロック
を、複数のデータブロックに分割し、各データブロック
にチェックコードの他に、分割された順番を示す情報を
付加するように構成したので、当該論理ブロック読み出
し時に、当該論理ブロックに属するデータブロック全て
を読み出し、制御装置内にて収集するときに、各データ
ブロックが、分割した順番通りに集められたか否かをチ
ェックすることにより、誤った順番で収集された論理ブ
ロックを上位装置へ転送するのを防ぐことができ、デー
タの信頼性を向上させることができる。
According to the present invention, when the data instructed by the host device is written to the external storage device, the logical block is divided into a plurality of data blocks, and each data block is divided into a check code and a check code. Since the information indicating the order is added, when reading the logical block, when reading all the data blocks belonging to the logical block and collecting them in the control device, each data block is in the divided order. By checking whether or not they have been collected, it is possible to prevent the logical blocks collected in an incorrect order from being transferred to the higher-level device, and improve the reliability of data.

【0012】また、データブロックに更新情報を付加す
ることにより、未更新状態となっているデータブロック
の検出が可能となり、論理ブロックを構成しているデー
タブロックの更新状態が保証され、誤った論理ブロック
を上位装置に転送することを防ぐことができる。
Further, by adding the update information to the data block, it becomes possible to detect the data block in the non-updated state, the update state of the data block forming the logical block is guaranteed, and the wrong logical It is possible to prevent the block from being transferred to the host device.

【0013】[0013]

【実施例】以下に、本発明の一実施例を図面を用いて説
明する。
An embodiment of the present invention will be described below with reference to the drawings.

【0014】図1は本発明を適用した外部記憶装置とし
てディスクドライブを含む計算機システムの概略の構成
図である。この計算機システムは、中央処理装置である
CPU100と、ディスク制御装置200と、ディスク
ドライブ装置(外部記憶装置)300とにより構成され
る。
FIG. 1 is a schematic configuration diagram of a computer system including a disk drive as an external storage device to which the present invention is applied. This computer system comprises a CPU 100, which is a central processing unit, a disk control device 200, and a disk drive device (external storage device) 300.

【0015】ディスク制御装置200は、CPU100
からの指示に従い、ディスクドライブ装置300を制御
している。
The disk controller 200 includes a CPU 100
The disk drive device 300 is controlled in accordance with the instruction from.

【0016】図2にディスク制御装置200の内部構造
を示す。ディスク制御装置200は、CPU100との
間でデータ転送の制御をおこなっているチャネル制御装
置201と、チャネル制御装置201より受領したデー
タを、複数のデータブロックに分割し、各データブロッ
ク毎に、更新番号や分割番号、CRC等からなるチェッ
クコードを作成し、付加する、付加情報生成/チェック
回路202、分割した複数のデータブロックに対するパ
リティを生成するECC生成/チェック回路203、デ
ータブロック、パリティブロックを格納するデータバッ
ファ204、情報を格納するドライブ装置310〜31
4、ドライブ装置310〜314を制御し、読みだしエ
ラーを検出するドライブコントローラ210〜214、
並びに、ディスク制御装置200の全体を制御するマイ
クロプロセッサMPU230により構成されている。
FIG. 2 shows the internal structure of the disk controller 200. The disk control device 200 divides the data received from the channel control device 201 and the channel control device 201 that controls data transfer with the CPU 100 into a plurality of data blocks, and updates each data block. A check code composed of a number, a division number, a CRC, etc. is created and added, an additional information generation / check circuit 202, an ECC generation / check circuit 203 for generating a parity for a plurality of divided data blocks, a data block, and a parity block. Data buffer 204 for storing, drive devices 310 to 31 for storing information
4. Drive controllers 210 to 214 for controlling the drive devices 310 to 314 and detecting read errors,
In addition, it is configured by a microprocessor MPU 230 that controls the entire disk control device 200.

【0017】次に、CPU100から要求されたデータ
を、ディスク装置310〜314に格納するときのデー
タの流れを説明する。CPU100からの、要求データ
(論理ブロック単位)は、チャネル制御装置201を介
し、付加情報生成/チェック回路202を通過すること
により、複数のデータブロック(本例では4つのデータ
ブロック)に分割され、あらかじめMPU230より指
示された情報により、更新番号、分割番号、CRCコー
ドが付加された形のデータブロックになる。このデータ
ブロックは、データバッファ204に格納されると同時
に、MPU230からの指示により、ECC生成/チェ
ック回路203へ送られ、複数のデータブロックに対す
るパリティブロックを作成し、データブロックと同様に
データバッファ204に格納される。データブロック、
パリティブロックが揃ったところで、MPU230は、
各ドライブコントローラ210〜214へ書き込み指示
を出し、各ドライブコントローラ210〜214の制御
により、ドライブ装置310〜314にデータブロック
(本例では4つのデータブロック)及びパリティブロッ
クが同時に(一斉に)書き込まれる。以下、次々に発行
される要求データ(論理ブロックの単位)についても同
様な処理が施された後、ドライブ装置310〜314に
順に書き込まれて行く。
Next, a data flow when the data requested by the CPU 100 is stored in the disk devices 310 to 314 will be described. Request data (in logical block units) from the CPU 100 is divided into a plurality of data blocks (four data blocks in this example) by passing through the additional information generation / check circuit 202 via the channel control device 201. The data block has a form in which an update number, a division number, and a CRC code are added according to the information previously designated by the MPU 230. This data block is stored in the data buffer 204 and, at the same time, sent to the ECC generation / check circuit 203 in accordance with an instruction from the MPU 230, creates a parity block for a plurality of data blocks, and, similarly to the data blocks, the data buffer 204. Stored in. Data block,
When the parity blocks are complete, the MPU 230
A write instruction is issued to each drive controller 210 to 214, and a data block (four data blocks in this example) and a parity block are simultaneously (simultaneously) written to the drive devices 310 to 314 under the control of each drive controller 210 to 214. .. Thereafter, the request data (unit of logical block) issued one after another is subjected to the same processing, and then sequentially written in the drive devices 310 to 314.

【0018】本実施例では、310〜313がデータブ
ロック格納用、314がパリティブロック格納用として
使用される。
In this embodiment, 310 to 313 are used for storing data blocks and 314 is used for storing parity blocks.

【0019】ドライブ装置310〜314を読み出すと
きのデータの流れについて説明する。CPU100から
の読みだし指示を、チャネル制御装置201を介してM
PU230が受領すると、MPU230は、ドライブコ
ントローラ210〜214に対し読みだし指示を出す。
ドライブ装置310〜314は、ドライブコントローラ
210〜214の指示に従いデータブロック及びパリテ
ィブロックを読みだしデータバッファ204へ格納す
る。この際各ドライブコントローラにより、各々のデー
タブロックに対するCRCチェックを行い、読みだしエ
ラーが起こった時は、パリティブロックと正常に読みだ
したデータブロックをECC生成チェック回路203へ
送出し、読みだしエラーがおこったデータブロックの復
元がおこなわれ、再びデータバッファ204へ格納され
る。データブロックが揃ったところで、MPU230の
指示により、付加情報生成チェック回路202において
更新番号、分割番号のチェックを行い、正常であればこ
の付加情報生成チェック回路202で付加情報等の削除
を行った後、チャネル制御装置201を介しCPU10
0へ転送される。
A data flow when reading the drive devices 310 to 314 will be described. A read instruction from the CPU 100 is transmitted via the channel control device 201 to the M
When the PU 230 receives it, the MPU 230 issues a reading instruction to the drive controllers 210 to 214.
The drive devices 310 to 314 read the data block and the parity block and store them in the data buffer 204 according to the instructions of the drive controllers 210 to 214. At this time, each drive controller performs a CRC check on each data block, and when a read error occurs, the parity block and the normally read data block are sent to the ECC generation check circuit 203, and a read error occurs. The data block that has occurred is restored and stored again in the data buffer 204. When all the data blocks are prepared, the additional information generation check circuit 202 checks the update number and the division number according to the instruction from the MPU 230, and if normal, the additional information generation check circuit 202 deletes the additional information and the like. , CPU 10 via the channel controller 201
Is transferred to 0.

【0020】図3は本実施例による、ドライブ装置31
0〜314へ格納するデータ形式を示したものである。
本実施例では、CPU100からの個々の論理ブロック
は、付加情報生成チェック回路202において、それぞ
れ4つのデータブロックに分割され、各データブロック
は、CRCチェックコード以外に、分割番号(例えば
0,1,2,3,……等、分割した順番がわかるような
情報)と、更新番号(例えば前回当該論理ブロックに付
加されていた情報に+1するような情報でもよいし、論
理ブロック番号によらず、MPU230に記憶している
情報を単純に+1するような情報等)とが付加情報とし
て付加され、さらに付加された各々のデータブロックに
対し、1つのパリティブロックが作成される。これらの
付加情報を含むデータブロック及びパリティブロック
は、上位装置からみて通常のデータと同じ扱いとされ
る。
FIG. 3 shows a drive device 31 according to this embodiment.
The data formats stored in 0 to 314 are shown.
In the present embodiment, each logical block from the CPU 100 is divided into four data blocks in the additional information generation check circuit 202, and each data block has a division number (for example, 0, 1, etc.) other than the CRC check code. Information such as 2, 3, ..., which shows the order of division, and an update number (for example, information that adds +1 to the information previously added to the relevant logical block, or regardless of the logical block number, The information stored in the MPU 230) is added as additional information, and one parity block is created for each added data block. The data block and parity block including these additional information are treated as normal data when viewed from the host device.

【0021】図3のデータブロック形式によるデータ保
証の方法を、図4を用いて説明する。
A data guarantee method using the data block format shown in FIG. 3 will be described with reference to FIG.

【0022】今、CPU100から論理ブロックAの更
新指示があったとする。本論理ブロックは、4つのデー
タブロックと1つのパリティブロックにより構成されて
おり、現在(更新前)の情報としては、分割番号は、ド
ライブ装置310,311,312,313の順に、
0,1,2,3、で、更新番号は例えば全てバージョン
“9”である。この状態を示したものが400である。
更新データの論理ブロックAは、同様に、4つのデータ
ブロックに分割され、分割番号として、ドライブ装置3
10,311,312,313の順に“0”,“1”,
“2”,“3”が付加され、更新番号として全てにバー
ジョン“10”が付加され、さらに1つのパリティブロ
ックが作成され、ドライブ装置310〜314に書き込
まれる。本発明の着眼点の一つとしては、ドライブ装置
310〜314に実際に書き込まれるまでに、ドライブ
装置自身、又は、ドライブコントローラ、又はそれ以外
の制御回路で誤動作が起こる可能性があり、データブロ
ックが正常に全て書き込まれたという保証はない。次の
読みだし指示の時に各データブロックはCRCチェック
コードによりデータ自身の正当性は保証されるが、何等
かの誤動作で、あるデータブロックが未更新状態だとし
たとき、本チェックコードでは検出できないため、更新
データブロックと、未更新データブロックによって構成
された、誤った論理ブロックを上位装置に転送してしま
う可能性がある。本発明の特徴の一つは、更新番号を付
加することにより、未更新ブロックを検出し、当該ブロ
ックを復元し、上位装置へ転送することにある。
Now, it is assumed that the CPU 100 gives an instruction to update the logical block A. This logical block is composed of four data blocks and one parity block. As the current (before updating) information, the partition numbers are drive devices 310, 311, 312, and 313 in that order.
The update numbers of 0, 1, 2, 3 are all version "9", for example. This state is 400.
Similarly, the logical block A of the update data is divided into four data blocks, and the drive device 3
“0”, “1”, in the order of 10, 311, 312, 313
“2” and “3” are added, the version “10” is added to all as the update number, and one parity block is further created and written in the drive devices 310 to 314. One of the points of interest of the present invention is that a malfunction may occur in the drive device itself, the drive controller, or another control circuit before the data is actually written in the drive devices 310 to 314, and the data block There is no guarantee that all are successfully written. At the time of the next read instruction, the validity of the data itself is guaranteed by the CRC check code for each data block, but if a certain data block is in an unupdated state due to some malfunction, it cannot be detected by this check code. Therefore, there is a possibility that an incorrect logical block composed of the updated data block and the unupdated data block may be transferred to the host device. One of the features of the present invention is that an unupdated block is detected by adding an update number, the block is restored, and the block is transferred to a higher-level device.

【0023】例えば、データブロック412が、何等か
の障害によりドライブ311にかきこまれなかったとす
る。次の論理ブロックAの読みだし時にはデータブロッ
ク411,413,414と旧データブロック402、
及びパリティブロック415が読み出される。CRCチ
ェックコードによりチェックは行われるが、旧データブ
ロック402自身のデータは正しいため、チェックは正
常に終了しデータバッファ204へ格納される。
For example, it is assumed that the data block 412 is not scratched by the drive 311 due to some failure. At the time of reading the next logical block A, the data blocks 411, 413, 414 and the old data block 402,
And the parity block 415 is read. Although the check is performed by the CRC check code, the data of the old data block 402 itself is correct, so the check is normally completed and the data is stored in the data buffer 204.

【0024】いったんデータバッファ402に格納され
たデータブロックは、MPU230の指示により、付加
情報生成チェック回路202へ送出される。この付加情
報生成チェック回路202では、任意の論理ブロック内
に属する個々のデータブロックの更新番号が全て同一で
なければならないことをチェックする。しかるに、41
1,413,414の更新番号が“10”であり、40
2の更新番号が“9”なので、エラー検出されMPU2
30へ報告される。MPU230は、データブロック4
11,413,414、とパリティブロック415によ
り412のデータブロックをECC生成チェック回路2
03により復元することにより、誤ったデータをCPU
100へ転送するのを防ぎ、論理的にも、データは保証
される。
The data block once stored in the data buffer 402 is sent to the additional information generation check circuit 202 according to an instruction from the MPU 230. The additional information generation check circuit 202 checks that the update numbers of the individual data blocks belonging to an arbitrary logical block must all be the same. However, 41
The update number of 1,413,414 is "10", and 40
Since the update number of 2 is "9", an error is detected and MPU2
Reported to 30. The MPU 230 uses the data block 4
11, 413, 414, and the parity block 415, the data block of 412 is ECC generation check circuit 2
Wrong data can be recovered by the CPU
The data is guaranteed even if it is logically prevented from being transferred to 100.

【0025】本発明の他の着眼点としては、論理ブロッ
ク更新後、読みだし時、各データブロックがデータバッ
ファ204で収集され、CPU100へ転送されるが、
この時個々のデータブロックが正しくても、収集し上位
へ転送するときの各データブロックの順番が、何等かの
誤動作により不当である可能性がある。
Another point of interest of the present invention is that after the logical block is updated, at the time of reading, each data block is collected by the data buffer 204 and transferred to the CPU 100.
At this time, even if each data block is correct, there is a possibility that the order of each data block at the time of collecting and transferring it to the higher order may be incorrect due to some malfunction.

【0026】例えば、論理ブロックAの分割されたデー
タブロック411〜414のデータが、ドライブ装置3
10〜314に書き込まれ、読みだし時にデータバッフ
ァ204に格納される。CPU100に転送されるデー
タブロックの順番は、411,412,413,414
の順でなければならない。しかし、誤動作により、例え
ば411,413,412,414の順番に転送された
とき、このデータブロックを収集した論理ブロックは、
不当である。しかるに、本実施例によれば、論理ブロッ
クAを各データブロックに分割したときに、分割番号と
して、0,1,2,3が付加されている。又、付加情報
作成チェック回路202によって、この分割番号の順番
をチェックしている。従って、上記のようなデータブロ
ックが、411,413,412,414の順番で、付
加情報作成チェック回路202に送られてきたとき、分
割番号は、0,2,1,3となり、不当な順番であるこ
とが検出される。
For example, the data of the divided data blocks 411 to 414 of the logical block A is the drive device 3.
10 to 314, and stored in the data buffer 204 at the time of reading. The order of the data blocks transferred to the CPU 100 is 411, 412, 413, 414.
Must be in order. However, due to an erroneous operation, for example, when the data blocks are transferred in the order of 411, 413, 412, 414, the logical block collecting this data block is
It is unreasonable. However, according to this embodiment, when the logical block A is divided into data blocks, 0, 1, 2, 3 are added as division numbers. Further, the additional information creation check circuit 202 checks the order of the division numbers. Therefore, when the data blocks as described above are sent to the additional information creation check circuit 202 in the order of 411, 413, 412, 414, the division numbers are 0, 2, 1, 3 and are in an improper order. Is detected.

【0027】以上、説明してきたように、本実施例によ
れば、ドライブ装置310〜314に書き込まれたはず
のデータブロックが、未更新状態であることを、次回の
読みだし時に検出し、訂正することができる。又、各ド
ライブ装置310〜314から読みだされたデータブロ
ックが、不当な順番のまま収集され、上位装置に転送さ
れるのを防ぐことができる。
As described above, according to this embodiment, it is detected and corrected at the next read time that the data blocks that should have been written in the drive devices 310 to 314 are in the unupdated state. can do. Further, it is possible to prevent the data blocks read from the drive devices 310 to 314 from being collected in an improper order and transferred to the host device.

【0028】[0028]

【発明の効果】以上詳しく述べたように、本発明によれ
ば、データ書き込み時に、論理ブロックを複数に分割し
た個々のデータブロックに、分割番号のような、分割し
た順番がわかるような情報を付加し、読み出し時に、当
該順番をチェックするようにしたので、不当な順番で、
構成された論理ブロックが、上位装置に転送されるのを
防ぐことができ、上位装置に転送するデータの信頼性を
向上することができる効果がある。
As described above in detail, according to the present invention, when data is written, information such as a division number that indicates the order of division is provided to each data block obtained by dividing a logical block into a plurality of pieces. Since it was added and the order was checked at the time of reading,
It is possible to prevent the configured logical block from being transferred to the host device and improve the reliability of the data transferred to the host device.

【0029】また、書き込み時に、論理ブロックを複数
に分割した個々のデータブロックに、更新番号のよう
な、更新状態を示す情報を付加し、次の読み出し時に、
誤動作により書き込まれなかったデータブロックを検出
し、訂正して上位装置に転送するようにしたので、電源
故障などで書き込み(更新処理)の中断した、未更新・
更新の混在するデータブロックを回復し、上位装置に転
送するデータの信頼性を向上することができる。
Further, at the time of writing, information indicating an update state such as an update number is added to each data block obtained by dividing a logical block into a plurality of pieces, and at the time of next reading,
Data blocks that have not been written due to a malfunction are detected, corrected, and transferred to a higher-level device, so writing (update processing) was interrupted due to a power failure, etc.
It is possible to recover a data block in which updates are mixed and improve the reliability of data transferred to a higher-level device.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例の適用される外部記憶装置と
してディスクドライブ装置を用いた計算機システムの構
成図である。
FIG. 1 is a configuration diagram of a computer system using a disk drive device as an external storage device to which an embodiment of the present invention is applied.

【図2】本発明の一実施例の適用されるディスク制御装
置の構成図である。
FIG. 2 is a configuration diagram of a disk control device to which an embodiment of the present invention is applied.

【図3】本発明の実施例により、ドライブ装置に記憶さ
れるデータ形式の一例を示す図である。
FIG. 3 is a diagram showing an example of a data format stored in a drive device according to an embodiment of the present invention.

【図4】本発明の実施例によりドライブ装置に記憶され
るデータブロックの付加情報の一例を示す図である。
FIG. 4 is a diagram showing an example of additional information of a data block stored in a drive device according to an embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100 CPU 200 ディスク制御装置 201 チャネル制御回路 202 付加情報作成チェック回路 203 ECC作成チェック回路 204 データバッファ 210〜214 ドライブコントローラ 230 MPU 300,310〜314 ドライブ装置 400 更新前の論理ブロック 401〜404 更新前のデータブロック 405 データブロック401〜404から生成された
ECC 410 更新論理ブロック 411〜414 更新データブロック 415 データブロック411〜414から生成された
ECC(パリティブロック) CRC サイクリックレダンダンシイコード
100 CPU 200 Disk control device 201 Channel control circuit 202 Additional information creation check circuit 203 ECC creation check circuit 204 Data buffer 210-214 Drive controller 230 MPU 300, 310-314 Drive device 400 Logical block before update 401-404 Before update Data block 405 ECC 410 generated from data blocks 401 to 404 Update logical block 411 to 414 Update data block 415 ECC (parity block) CRC generated from data blocks 411 to 414 CRC Cyclic redundancy code

───────────────────────────────────────────────────── フロントページの続き (72)発明者 内山 善弘 神奈川県小田原市国府津2880番地 株式会 社日立製作所小田原工場内 (72)発明者 東落 守 神奈川県小田原市国府津2880番地 株式会 社日立製作所小田原工場内 (72)発明者 川口 幾雄 神奈川県小田原市国府津2880番地 株式会 社日立製作所小田原工場内 (72)発明者 佐藤 孝夫 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Yoshihiro Uchiyama 2880 Kokuzu, Odawara-shi, Kanagawa Hitachi Ltd. Odawara factory (72) Inventor Mamoru Torochi 2880, Kunifu, Odawara, Kanagawa Hitachi Ltd. Odawara Inside the factory (72) Inventor Ikuo Kawaguchi 2880 Kozu, Odawara, Kanagawa Stock company Hitachi Ltd. Odawara factory (72) Inventor Takao Sato 1099 Ozenji, Aso-ku, Kawasaki City, Kanagawa Inside Hitachi Systems Development Laboratory

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 上位装置から転送されてくるデータの最
小単位である論理ブロックを複数のデータブロックに分
割し、各データブロックをそれぞれ対応する記録媒体に
同時に格納する外部記憶装置において、論理ブロックの
書き込み時に、分割したデータブロックが当該論理ブロ
ックを分割したデータブロックであることを示す付加情
報を、分割した全てのデータブロックに付加し、この付
加情報をデータブロックと同時に前記記録媒体に格納す
る手段と、読み出し時に、前記論理ブロックを構成して
いるデータブロック群の全てのデータブロックについて
前記付加情報をチェックすることによって、当該論理ブ
ロックの正当性を保証する手段とを備えたことを特徴と
する外部記憶装置におけるデータ入出力方式。
1. An external storage device that divides a logical block, which is the minimum unit of data transferred from a host device, into a plurality of data blocks, and stores each data block simultaneously in a corresponding recording medium. A means for adding, when writing, additional information indicating that the divided data block is a data block obtained by dividing the logical block, to all the divided data blocks, and storing this additional information in the recording medium at the same time as the data blocks. And a means for ensuring the validity of the logical block by checking the additional information for all the data blocks of the data block group forming the logical block at the time of reading. Data input / output method in external storage device.
JP3260427A 1991-09-12 1991-09-12 Data input/output system for external storage device Pending JPH0573226A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3260427A JPH0573226A (en) 1991-09-12 1991-09-12 Data input/output system for external storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3260427A JPH0573226A (en) 1991-09-12 1991-09-12 Data input/output system for external storage device

Publications (1)

Publication Number Publication Date
JPH0573226A true JPH0573226A (en) 1993-03-26

Family

ID=17347787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3260427A Pending JPH0573226A (en) 1991-09-12 1991-09-12 Data input/output system for external storage device

Country Status (1)

Country Link
JP (1) JPH0573226A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004114115A1 (en) * 2003-06-19 2006-07-20 富士通株式会社 RAID device, RAID control method, and RAID control program
JP2010182087A (en) * 2009-02-05 2010-08-19 Fujitsu Ltd Disk array device, method and program for managing data distribution
US8760983B2 (en) 2012-08-08 2014-06-24 Kabushiki Kaisha Toshiba Information recording apparatus, information playback apparatus, and formatting method
CN112564863A (en) * 2020-12-24 2021-03-26 中国兵器装备集团自动化研究所 Communication timeliness error detection system and detection method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004114115A1 (en) * 2003-06-19 2006-07-20 富士通株式会社 RAID device, RAID control method, and RAID control program
US7610446B2 (en) 2003-06-19 2009-10-27 Fujitsu Limited RAID apparatus, RAID control method, and RAID control program
JP2010182087A (en) * 2009-02-05 2010-08-19 Fujitsu Ltd Disk array device, method and program for managing data distribution
US8760983B2 (en) 2012-08-08 2014-06-24 Kabushiki Kaisha Toshiba Information recording apparatus, information playback apparatus, and formatting method
CN112564863A (en) * 2020-12-24 2021-03-26 中国兵器装备集团自动化研究所 Communication timeliness error detection system and detection method

Similar Documents

Publication Publication Date Title
JP2855019B2 (en) External storage device data guarantee method and external storage device
EP0274817B1 (en) Data storage system
US6195761B1 (en) Method and apparatus for identifying and repairing mismatched data
JPH0744326A (en) Strage system
JP2001228980A (en) Controller for disk array
US6349359B1 (en) Method and apparatus for maintaining data consistency in raid
JPS59134937A (en) Information processing system
JPH086862A (en) Method and related system for enhancement of preservation ofdata stored in storage medium
US7028139B1 (en) Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
JPH04265504A (en) Apparatus and method for determining position of heat which is erroneously positioned
US5748885A (en) Method and apparatus for reduction of I/O operations in persistent storage system
JPH0573226A (en) Data input/output system for external storage device
JPH10171608A (en) Magnetic disk array device and method for checking data in magnetic disk array device
JP3090182B2 (en) Alternative sector registration method
JPH1166693A (en) Array disk processing device
JPH04311218A (en) External storage controller
US7260658B2 (en) Verifying input/output command data by separately sending data to be written and information about contents of the data
JPH0535416A (en) File controller
JP3022688B2 (en) Auxiliary storage
JPH0744331A (en) Disk array device and its control method
JPH06282385A (en) Storage controller and information processing system provided with this controller
JPH0438515A (en) Storage controller with fault detecting function
JPH04311217A (en) External storage controller
JPH10254649A (en) Portable medium library device
JPH04285773A (en) External storage device