JPH087699B2 - System with command parity check function - Google Patents

System with command parity check function

Info

Publication number
JPH087699B2
JPH087699B2 JP4175201A JP17520192A JPH087699B2 JP H087699 B2 JPH087699 B2 JP H087699B2 JP 4175201 A JP4175201 A JP 4175201A JP 17520192 A JP17520192 A JP 17520192A JP H087699 B2 JPH087699 B2 JP H087699B2
Authority
JP
Japan
Prior art keywords
bit
parity
control block
command
byte
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.)
Expired - Lifetime
Application number
JP4175201A
Other languages
Japanese (ja)
Other versions
JPH05204684A (en
Inventor
ジョン・イー・クラコウスキー
ロドニー・ジェロメ・ミーンズ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05204684A publication Critical patent/JPH05204684A/en
Publication of JPH087699B2 publication Critical patent/JPH087699B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、システム・インターフ
ェースを介してホストに接続された光ディスク装置に関
し、特にインターフェース上およびコントローラ内部の
指令伝送の一貫性を改善する手段に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an optical disk device connected to a host through a system interface, and more particularly to a means for improving the consistency of command transmission on the interface and inside a controller.

【0002】[0002]

【従来の技術および発明が解決しようとする課題】異な
る製造者により製造された装置の接続を可能にするた
め、米国規格協会(ANSI)は周辺装置を小型コンピ
ュータとインターフェースするための小型コンピュータ
・システム・インターフェース(SCSI)規格を含む
諸規格を制定した。しかし、周辺装置に対するコントロ
ーラ内部では多くの規格が未だ制定されていない。光デ
ィスク装置の如き周辺装置は、所定のコントローラ機能
を提供するため異なる製造者からの多岐にわたる構成要
素を使用するコントローラをしばしば有する。例えば、
光ディスク・コントローラは、1つの製造者により製造
されたマイクロプロセッサと、別の製造者により製造さ
れた光ディスク・コントローラと、更に他の製造者によ
り製造されたエラー検査のためのエンコーダ/デコーダ
とを有する。その結果、コントローラ内部の多数の構成
要素が色々なインターフェース特性および色々なレベル
の一貫性検査を有することになる。このような状況は、
指令の伝送中に生じ、システム内部のハードウエア検査
回路によっては検出されないことがある。この問題をハ
ードウエア・レベルで解決するには、一貫性を改善する
ため種々の構成要素供給者の伝送プロトコルおよびエラ
ー検査間の標準化を必要とし、またある場合には、パリ
ティ検査ハードウエアあるいは巡回冗長検査(CRC)
ハードウエアの付設を必要としよう。このような標準化
なくしては、1つの構成要素が別の構成要素と通信する
時に1つの指令バイトからあるビットが喪失し得る。別
のビットを生成する発生ノイズの可能性もまた存在す
る。その結果、不必要な結果を与える不適正な指令が実
行されるおそれがある。
BACKGROUND OF THE INVENTION To enable the connection of devices manufactured by different manufacturers, the American National Standards Institute (ANSI) is a small computer system for interfacing peripheral devices with small computers. -Established various standards including interface (SCSI) standards. However, many standards have not yet been established within the controller for peripheral devices. Peripheral devices, such as optical disk devices, often have controllers that use a wide variety of components from different manufacturers to provide certain controller functions. For example,
An optical disk controller has a microprocessor manufactured by one manufacturer, an optical disk controller manufactured by another manufacturer, and an encoder / decoder for error checking manufactured by another manufacturer. . As a result, numerous components within the controller will have different interface characteristics and different levels of consistency checking. In this situation,
It occurs during the transmission of commands and may not be detected by the hardware inspection circuit inside the system. Solving this problem at the hardware level requires standardization between various component supplier transmission protocols and error checking to improve consistency, and in some cases parity checking hardware or cyclic. Redundancy check (CRC)
Let's need hardware. Without such standardization, certain bits may be lost from one command byte when one component communicates with another. There is also the possibility of generated noise that produces another bit. As a result, an incorrect command may be executed that gives unnecessary results.

【0003】本発明は、新しい規格の遵守を必要とする
ことなく指令の伝送プロセスの一貫性を改善する手段を
提供することにより、受入れ得るレベルまで指令の一貫
性のレベルを引上げるため意図される。
The present invention is intended to raise the level of command consistency to an acceptable level by providing a means of improving the consistency of the command transmission process without requiring compliance with new standards. It

【0004】本発明はまた、本発明の改善された指令の
一貫性のための手段を持たない現在あるシステムおよび
周辺装置がそれらの正常な状態で機能を継続し得るよう
に、改善された指令伝送の一貫性を留保する手段の提供
を特徴とする。
The present invention also provides improved directives so that existing systems and peripherals that do not have the means for improved directive consistency of the present invention can continue to function in their normal state. It is characterized by the provision of means for retaining the consistency of transmission.

【0005】米国特許第4,843,544号および同
第4,965,801号は、SCSIコントローラに関
する。前者の特許は、光ディスクの記憶域に出入りする
SCSIバスからのデータの転送を論述している。転送
には2つのバッファが使用され、このバッファ・ハード
ウエアは明らかにパリティ検査能力を有する。後者の特
許は、全てのコントローラ構成要素を1つの集積回路に
内蔵するものである。
US Pat. Nos. 4,843,544 and 4,965,801 relate to SCSI controllers. The former patent discusses the transfer of data from the SCSI bus into and out of the storage of optical disks. Two buffers are used for the transfer and this buffer hardware obviously has parity checking capability. The latter patent incorporates all controller components in one integrated circuit.

【0006】[0006]

【課題を解決するための手段】本発明は、ホストにおい
て指令ブロックに対してパリティ・ビットを付加するこ
と、および指令ブロックをコントローラのメモリに記憶
した後、その指令ブロックのパリティの検査を行うこと
により、伝送に関わる多くの構成要素における正しい指
令ブロックの伝送および記憶を有効に確認することを意
図したものである。
According to the present invention, a parity bit is added to a command block in a host, and the parity of the command block is checked after the command block is stored in a memory of a controller. Is intended to effectively verify the transmission and storage of correct command blocks in many components involved in the transmission.

【0007】ホスト・プロセッサは、これが小型コンピ
ュータであれ、あるいはシステム370コンピュータの
如き大型システムであれ、指令ブロックにおけるバイト
にわたりパリティを逐次蓄積することによりパリティ・
ビットを生成する。これは、生成されたパリティ・ビッ
トを指令ブロックの一義的な場所に置き、この指令ブロ
ックを目標の装置に伝送するためI/Oインターフェー
スへ送る。目標コントローラは、この指令ブロックを受
取って記憶し、パリティ・ビットを再現して、これを伝
送されたパリティ・ビットと比較する。もし等しけれ
ば、処理は正常に継続する。もし等しくなければ、通常
伝送の再試行を含むエラー回復手順が呼出される。
The host processor, whether it is a small computer or a large system such as the System 370 computer, stores the parity by sequentially storing the parity across the bytes in the command block.
Generate a bit. This places the generated parity bit in a unique location in the command block and sends this command block to the I / O interface for transmission to the target device. The target controller receives and stores this command block, reproduces the parity bit and compares it with the transmitted parity bit. If they are equal, the process continues normally. If they are not equal, an error recovery procedure is invoked, which typically involves retrying the transmission.

【0008】指令制御ブロックのパリティ検査は、周辺
装置において得られる選択を行う指令を使用することに
よりホスト・プロセッサによって起動される。このよう
に、パリティ検査能力が起動されなければ、ホストはパ
リティ生成能力を持たない目標コントローラとインター
フェースを取ることができる。起動は、適当なフラッグ
をセットすることにより行われる。
The parity check of the command control block is initiated by the host processor by using the command that makes the selection available at the peripheral. Thus, if the parity check capability is not activated, the host can interface with a target controller that does not have parity generation capability. Activation is done by setting the appropriate flag.

【0009】[0009]

【実施例】図1は、周辺装置、本例ではSCSIバス1
2上のホスト・プロセッサ11と接続された光ディスク
・ドライブ23に対するコントローラ10を示す。コン
トローラ10は、目標インターフェース・論理回路13
と、光ディスク・コントローラ14と、マイクロプロセ
ッサ15とを含む。読出し専用メモリー(ROM)16
およびランダム・アクセス・メモリー(RAM)17
は、マイクロプロセッサ15と関連付けられている。ラ
ン・レングス(走行長)制限(RLL)回路18が、デ
ータをドライブ23に関して出し入れする。バッファ1
9は、データに対する記憶域を提供し、誤り訂正コード
(ECC)論理回路20は、バッファ19に含まれるデ
ータに対する訂正を行う。光ディスク24は、データを
ディスクに関して書込み読出しを行うためドライブ23
にロードされる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 shows a peripheral device, in this example a SCSI bus 1.
2 shows a controller 10 for an optical disk drive 23 connected to a host processor 11 on the H.2. The controller 10 is a target interface / logic circuit 13
And an optical disk controller 14 and a microprocessor 15. Read-only memory (ROM) 16
And random access memory (RAM) 17
Are associated with the microprocessor 15. A run length limit (RLL) circuit 18 moves data in and out of the drive 23. Buffer 1
Reference numeral 9 provides a storage area for data, and an error correction code (ECC) logic circuit 20 performs correction on the data contained in the buffer 19. The optical disk 24 is a drive 23 for writing and reading data with respect to the disk.
Loaded in.

【0010】マイクロプロセッサ15は、コントローラ
に対するシステム管理者である。このマイクロプロセッ
サは、光ディスク・コントローラ14およびドライブ・
インターフェースを制御する。これは、SCSI指令を
解釈して、光ディスク・コントローラによりECC論理
回路20を監視する。ディスク・コントローラ14は、
ECCコード化/復号およびデータ・バッファリング
・プロセスを制御する。ROM16は、ディスク・コン
トローラ14に対する局部制御記憶域を提供し、RAM
17は、マイクロプロセッサ15に対して作業記憶域を
提供する。インターフェース・論理回路13は、バス1
2によりホスト・プロセッサから指令およびデータを受
取る。SCSI開始プログラムは、SCSI規格に従っ
てホストと周辺装置との間で指令およびデータの授受を
行うホストI/O機能である。
Microprocessor 15 is the system administrator for the controller. This microprocessor includes an optical disk controller 14 and a drive
Control the interface. It interprets SCSI commands and monitors the ECC logic 20 by the optical disk controller. The disk controller 14
Controls the ECC encoding / decoding and data buffering process. ROM 16 provides local control storage for disk controller 14 and RAM
17 provides working storage for the microprocessor 15. The interface / logic circuit 13 is a bus 1.
2 receives commands and data from the host processor. The SCSI start program is a host I / O function that exchanges commands and data between the host and peripheral devices according to the SCSI standard.

【0011】指令制御ブロック30は、ホスト・プロセ
ッサにより生成されてバス12上をコントローラ10へ
送られる。SCSIバス12はパリティにより保護され
るが、他のホストと装置間のバスはハードウエア・パリ
ティ検査により保護されたり、保護されなかったりす
る。また、ホスト・プロセッサおよびSCSI開始プロ
グラムに対して内部のバスはパリティ保護を持たないこ
とがある。従って、一般的な場合における目標インター
フェース・論理回路13における指令制御ブロックを含
むレジスタは、正確な指令を含む場合と含まない場合と
がある。これらの指令は、インターフェース・論理回路
13からRAM17へ送られる。マイクロプロセッサ1
5は、指令制御ブロックに含まれる指令を処理してデー
タをバッファ19に出し入れするようにディスク24に
関して書込ませあるいはこれから読出させ、またバッフ
ァ19から再びホスト11に戻すようインターフェース
・論理回路13およびバス12に対して書込ませあるい
は読出させる。
The command control block 30 is generated by the host processor and sent on the bus 12 to the controller 10. While the SCSI bus 12 is protected by parity, the buses between other hosts and devices may or may not be protected by hardware parity checking. Also, the bus internal to the host processor and the SCSI start program may not have parity protection. Therefore, in the general case, the register including the command control block in the target interface / logic circuit 13 may or may not include the correct command. These commands are sent from the interface / logic circuit 13 to the RAM 17. Microprocessor 1
Reference numeral 5 denotes an interface / logic circuit 13 for processing the commands contained in the command control block to write data to or read data from the disk 24 so as to move data into or out of the buffer 19, and to return the data from the buffer 19 to the host 11 again. The bus 12 is written or read.

【0012】特定の指令において1ビットを拾いあるい
は1ビットを捨てる可能性は、コントローラ10、バス
12またはホスト11のパリティ検査能力に応じて、こ
れらデバイスの枠組内に存在する。更に、コントローラ
10内では、指令データが目的インターフェース・論理
回路13からバス21、コントローラ14へ、次いでコ
ントローラ14からバス22へ、最後にRAM17へ送
られる時、指令の一貫性は失われることがあるが、これ
はこれら構成要素の一部または全てがハードウエア・エ
ラー検出能力により保護されていないことがあるためで
ある。
The possibility of picking up one bit or discarding one bit in a particular command exists within the framework of these devices, depending on the parity checking capabilities of the controller 10, bus 12 or host 11. Further, within the controller 10, command consistency may be lost when command data is sent from the target interface / logic circuit 13 to the bus 21 , controller 14, then controller 14 to bus 22, and finally to RAM 17. However, this is because some or all of these components may not be protected by the hardware error detection capability.

【0013】これら指令の一貫性を保護するため、本発
明は、指令制御ブロック30がホスト11内に構成され
る時、この指令制御ブロック内部の選択された一義的な
場所にパリティ・ビットを付加するホストのプロセスを
提供する。一旦コントローラへの指令の伝送が完了する
と、指令制御ブロックはRAM17に常駐する。パリテ
ィ・ビットを生成するため使用されるホストにおいて行
われる同じプロセスが、その時RAM17に常駐する指
令制御ブロックに含まれる指令情報に対するパリティを
生成するためマイクロプロセッサ15により実行され
る。次いで、マイクロプロセッサ15によって生成され
たパリティ・ビットがホスト11から送られるパリティ
と等しいかどうかを判定するため比較が行われる。この
パリティが一致するならば、この伝送は正しいものとさ
れて、指令は正常に実行することができる。しかし、こ
のパリティが一致しなければ、再びホスト・プロセッサ
11から指令制御ブロック30を得るように再試行が開
始される。数回の再試行の後、永久エラーが通報され
る。
To protect the consistency of these commands, the present invention adds a parity bit to a selected unique location within the command control block 30 when the command control block 30 is configured within the host 11. Host process. Once the command transmission to the controller is complete, the command control block resides in RAM 17. The same process that takes place in the host used to generate the parity bits is performed by microprocessor 15 to generate the parity for the command information contained in the command control block, which then resides in RAM 17. A comparison is then made to determine if the parity bit generated by microprocessor 15 is equal to the parity sent by host 11. If the parities match, then the transmission is correct and the command can be executed normally. However, if the parities do not match, a retry is started again to obtain the command control block 30 from the host processor 11. After several retries, a permanent error is reported.

【0014】コントローラ10による指令ブロック・パ
リティ検査を可能にするため、ホストにより送られた指
令制御ブロック(CCB)の内容についてパリティ検査
が装置により行われるべき旨信号するため、「モード選
択」指令の如き指令が装置へ送られる。モード選択ビッ
トがセットされなければ、コントローラによるパリティ
検査は行われない。このように、コントローラ10にお
けるパリティ検査機能のない装置がホストからの伝送時
に使用され得る。このため、ホストおよび本発明のパリ
ティ検査能力を持ちあるいは持たない装置がバス12上
に混在し得る。
To enable the command block parity check by the controller 10, to signal that a parity check should be performed by the device on the contents of the command control block (CCB) sent by the host, a "mode select" command is sent. Such a command is sent to the device. If the mode select bit is not set, no parity checking is done by the controller. In this way, a device without a parity check function in the controller 10 can be used during transmission from the host. Therefore, a host and a device with or without the parity check capability of the present invention can coexist on the bus 12.

【0015】指令制御ブロックは、長さが6、10ある
いは12バイトであり得る。指令制御ブロックの内容に
ついてパリティを生成するホストのプロセスが、最終バ
イトを除くか、あるいは必要に応じてベンダ固有のビッ
トであるビット#7を除いて最終バイトを含む制御ブロ
ックの全内容について前記パリティを確立する。このパ
リティ・プロセスの結果は、ビット#7の最終バイトに
格納される。制御ブロックの最終バイトのビット7に格
納されるパリティ・ビットを生成するため、ホスト・プ
ロセスは、制御ブロックのバイト0の8つのビットと制
御ブロックのバイト1の対応する8つのビットとの排他
的OR(XOR)で始まるマシン動作を生じる。「対応
ビット」とは、バイト0のビット0がバイト1のビット
0と排他的にORされてビット0の結果を生じることを
意味する。バイト0のビット1は、バイト1のビット1
と排他的にORされてビット1の結果を生じ、このよう
に全ての8ビットについて行われて8ビットの結果を生
じるまで続く。次に、ホストは結果の8ビットと制御ブ
ロックのバイト2の対応する8つのビットとのXORを
実行し、制御ブロックのバイト3の対応する8つのビッ
トについてこの結果を実行し、、、これが制御ブロック
の最終バイトの前のバイト(N−1)次まで続く。制御
ブロックのバイト0乃至(N−1)の排他的ORの結果
は、中間の8ビット・バイトとして記憶される。この中
間バイトの8ビットは、1つのパリティ・ビットに到達
するまでビット0乃至7について一緒に排他的ORされ
る。即ち、ビット0はビット1とXORされて1ビット
の結果を生じ、これはビット2とXORされて1ビット
の結果を生じ、これはビット3とXORされ、、、1つ
のパリティ・ビットが生じるまで続く。このパリティ・
ビットは、制御ブロックの最終バイトのビット7に格納
される(ビット7の選択は、他の選択を排除しないがこ
れが「ベンダ固有のビット」として指定されるため、S
CSIフォーマットにおける選好された構成である)。
The command control block may be 6, 10 or 12 bytes in length. The host process that generates the parity for the contents of the command control block excludes the last byte or, if necessary, the parity for the entire contents of the control block including the last byte except for the vendor specific bit # 7. Establish. The result of this parity process is stored in the last byte of bit # 7. To generate the parity bit stored in bit 7 of the last byte of the control block, the host process is exclusive of the eight bits of byte 0 of the control block and the corresponding eight bits of byte 1 of the control block. It results in machine operations starting with OR (XOR). By "corresponding bit" is meant that bit 0 of byte 0 is exclusively ORed with bit 0 of byte 1 to produce the result of bit 0. Bit 1 of byte 0 is bit 1 of byte 1
Is exclusive ORed with to produce a bit 1 result, and so on until all 8 bits have been produced to yield an 8 bit result. The host then XORs the 8 bits of the result with the corresponding 8 bits of byte 2 of the control block, performs this result on the corresponding 8 bits of byte 3 of the control block, which is the control Continue until the next byte (N-1) before the last byte of the block. The result of the exclusive-OR of bytes 0 to (N-1) of the control block is stored as the middle 8-bit byte. The 8 bits of this intermediate byte are exclusive OR'd together for bits 0-7 until one parity bit is reached. That is, bit 0 is XORed with bit 1 to produce a 1 bit result, which is XORed with bit 2 to produce a 1 bit result, which is XORed with bit 3 to produce a parity bit. Continues until. This parity
The bit is stored in bit 7 of the last byte of the control block (the choice of bit 7 does not preclude other choices, but is designated as a "vendor-specific bit", so S
This is the preferred configuration in CSI format).

【0016】パリティ・ビットの生成においてビット7
以外の最終バイトの7ビットを含むことが要求されるな
らば、中間バイトはビット7がゼロにセットされた最終
バイトと排他的ORされる。その結果は新しい中間バイ
トであり、そのビットが共に排他的ORされて1つのビ
ットを得、これが最終バイトのビット7に格納される。
Bit 7 in the generation of the parity bit
If it is required to include the 7 bits of the final byte other than, the intermediate byte is exclusive ORed with the final byte with bit 7 set to zero. The result is a new intermediate byte, the bits of which are exclusive ORed together to obtain a bit, which is stored in bit 7 of the final byte.

【0017】次に、指令制御ブロックは、開始プログラ
ムにより目標コントローラへ送られて、目標インターフ
ェース・論理回路13に記憶される。マイクロプロセッ
サ15における目標マイクロコードが、ディスク・コン
トローラを介してインターフェース・論理回路13の指
令レジスタの読出しを行い、この指令をマイクロプロセ
ッサの作業記憶RAM17に記憶する。
Next, the command control block is sent to the target controller by the start program and stored in the target interface / logic circuit 13. The target microcode in the microprocessor 15 reads the command register of the interface / logic circuit 13 via the disk controller and stores this command in the working memory RAM 17 of the microprocessor.

【0018】次に、マイクロプロセッサ15、または選
好されればコントローラの論理要素が、ホスト・プロセ
ッサで実行されたのと同じ排他的ORを用いてパリティ
・ビットを再生成する。これは、RAM17に置かれた
指令制御ブロックの内容をアクセスすることにより行わ
れる。その結果は、指令制御ブロックに含まれて送られ
た最終バイトのビット7におけるパリティ・ビットと比
較されるパリティ・ビットである。
The microprocessor 15, or preferably the controller logic element, then regenerates the parity bits using the same exclusive-OR as was performed in the host processor. This is done by accessing the contents of the command control block located in RAM 17. The result is a parity bit that is compared to the parity bit in bit 7 of the last byte contained in the command control block and sent.

【0019】上記の動作における比較が成功するなら
ば、指令制御ブロックの正常な処理を続けることを許容
するコントローラのプロセスが続く。しかし、この比較
が成功しなければ、指令の実行が禁止され、エラー回復
手順が呼出されて指令をホストから再送させる。指令が
パリティ保護されたホストで生成され、パリティ保護さ
れたバス上に送られるならば、エラーの再送が繰返され
る可能性は低い。しかし、繰返されるエラーは保護され
ないコントローラ10から結果として生じ得る。従っ
て、このような場合に繰返されたエラーが生じるなら
ば、問題は保護されないドライブ・コントローラ10に
隔離される。ホストおよびバスがハードウエア・パリテ
ィで保護されなければ、エラーは隔離されない。
If the comparison in the above operation is successful, then the process of the controller is allowed to continue normal processing of the command control block. However, if this comparison is unsuccessful, execution of the command is prohibited and an error recovery procedure is called to retransmit the command from the host. If the command is generated on a parity protected host and sent on a parity protected bus, the error resend is unlikely to be repeated. However, the repeated error can result from the unprotected controller 10. Thus, if repeated errors occur in such a case, the problem is isolated to the unprotected drive controller 10. Errors are not isolated unless the host and bus are protected by hardware parity.

【0020】図2は、ホスト・プロセッサ11に常駐
し、ホストに付属する周辺装置がパリティ検査能力を持
つか持たないかを判定するために使用される初期化ルー
チンを示している。ステップ100において、ホスト
は、付属する周辺装置からこれらの能力を知るために
「モード検出」指令を生じる。ステップ101におい
て、装置から戻された検出情報が調べられて、この装置
がパリティ検査能力を有するかどうかを判定する。もし
そうであれば、ステップ102において、この装置に関
するモード選択パラメータ・ページのパリティ検査ビッ
トが1にセットされる。ステップ103において、能力
ビットが1にセットされ、生成ビットが1にセットされ
る。この装置がステップ101において見出される如き
パリティの処理ができなければ、ステップ104および
ステップ105へ分岐し、ここで能力ビットおよびパリ
ティ・ビットがその特定の装置に関してゼロにセットさ
れる。最後に、ステップ106において、バスに付属す
る全ての装置が検査されたかどうかについて問合せが行
われる。もしこれらが検査されなかったならば、バスに
付属する他の装置を検査するステップ101へ戻る分岐
が行われる。一旦全ての装置が検査されると、初期化ル
ーチンの残りのものへの戻りが行われる。
FIG. 2 illustrates an initialization routine resident in host processor 11 and used to determine whether a peripheral device attached to the host has parity check capability. In step 100, the host issues a "mode detect" command to know these capabilities from the attached peripherals. In step 101, the detection information returned from the device is examined to determine if the device has parity check capability . If so, in step 102, the parity check bit in the mode selection parameter page for this device.
Is set to 1. In step 103, the capability bit is set to 1 and the generate bit is set to 1. If the device is unable to handle parity as found in step 101, it branches to steps 104 and 105 where the capability and parity bits are set to zero for that particular device. Finally, in step 106, an inquiry is made as to whether all devices attached to the bus have been tested. If they have not been tested, the branch is taken back to step 101 to test other devices attached to the bus. Once all devices have been tested, a return is made to the rest of the initialization routine.

【0021】図2に示される初期化ルーチンの完了後
に、ホストの装置は初期化と関連する他の全ての機能を
継続し、最後に初期化プロセスの終りに向かって図3に
示されるフローチャートに入り、このフローチャートの
目的はステップ110においてホストがドライブにおい
て得られるオプションを選択すること、例えば、あるド
ライブで得られるオプションの1つは本発明の方法に従
ってパリティを調べることを許容する指令を生じること
である。パリティ検査能力を有する装置では、ステップ
110で発されるこの装置に対するモード選択指令は、
この装置にそのパリティ検査能力を行使するよう指令す
ることができる。これは、この装置にモード選択パラメ
ータ・ページにおける適当なパリティ検査ビットを送る
ことにより行われる。このプロセスは、ステップ111
に示される如きバス上の各装置に対して継続され、次い
で初期化の完了への戻りが行われる。
After completion of the initialization routine shown in FIG. 2, the host device continues with all other functions associated with the initialization, and finally the flow chart shown in FIG. 3 towards the end of the initialization process. Entering, the purpose of this flow chart is to select the options available to the host at step 110 in the host, eg, one of the options available to a drive yields a command that allows checking the parity according to the method of the present invention. Is. In a device with parity check capability, the mode selection command issued to this device in step 110 is:
The device can be instructed to exercise its parity check capability. This is done by sending the device the appropriate parity check bits in the mode selection parameter page. This process begins at step 111.
Continuing for each device on the bus as shown in, and then returning to completion of initialization.

【0022】モード選択指令がSCSI指令セットのア
ーチファクトであり、ステップ110で与えられる指令
のタイプの例示であることに注意すべきである。もし別
のタイプの標準インターフェースが使用されるならば、
このインターフェースに対する指令セットからの適当な
指令が使用されることになる。
It should be noted that the mode select command is an artifact of the SCSI command set and is exemplary of the type of command given in step 110. If another type of standard interface is used,
The appropriate command from the command set for this interface will be used.

【0023】ホストにおける1つのプログラムの処理
中、データの幾つかのブロックを外部の記憶装置、即ち
光ディスク装置に書込むよう書込み命令が発される。こ
のような場合、ホストに常駐するI/Oルーチンは、書
込み指令に対する指令制御ブロックを用意する。この制
御ブロックは12バイトのデータを含む。バイト0は指
令自体を指し、バイト1は特定の装置に書込まれる第1
のブロックのアドレスを指し、バイト2は書込まれるブ
ロック数を指し、、、などである。もし1つのパリティ
・ビットが書込み指令が向けられるべき装置に対して本
発明により生成されるならば、パリティ・ビットを生成
する呼出しがI/Oルーチンにより発される。この呼出
しは、図4に示されるマシン動作を使用する。ステップ
120において、指定された装置に対する生成ビットが
検査される。この生成ビットが1にセットされたなら
ば、ステップ121が実行されてI/Oルーチンにより
用意された指令制御ブロックを局部記憶域に記憶する。
ステップ122、123において、先に述べた排他的O
Rプロセスが実行される。ステップ122において、バ
イト0の各ビットがバイト1における対応するビットに
より排他的ORされる。その結果は、バイト2における
対応するビットと排他的ORされる。その結果は、バイ
ト3における対応するビットと排他的ORされ、、、こ
れが最終バイトを除いて指令制御ブロックにおける全て
のバイトが処理されるまで続く。一旦中間結果がステッ
プ123で得られると、この中間結果のビットは相互に
排他的ORされて、指令制御ブロックのパリティを表わ
す1または0の1つのビットを生じる。次に、このビッ
トは最終バイトのビット7に記憶される。ビット7はS
CSI規格において「ベンダ固有」ビットとされること
に注意すべきである。最後に、ステップ124におい
て、I/Oルーチンへ戻って修正されたCCBへ再び進
む。
During the processing of one program in the host, a write command is issued to write some blocks of data to an external storage device, ie an optical disk device. In such a case, the I / O routine resident in the host prepares a command control block for the write command. This control block contains 12 bytes of data. Byte 0 refers to the command itself, byte 1 is the first written to the particular device
, The address of the block of bytes, byte 2 the number of blocks to be written, and so on. If one parity bit is generated by the present invention for the device to which the write command is directed, a call to generate the parity bit is issued by the I / O routine. This call uses the machine operations shown in FIG. In step 120, the generated bit for the specified device is checked. If the generate bit is set to 1, step 121 is executed to store the command control block prepared by the I / O routine in local storage.
In steps 122 and 123, the exclusive O described above is used.
The R process is executed. At step 122, each bit of byte 0 is exclusive ORed with the corresponding bit in byte 1. The result is exclusive ORed with the corresponding bit in byte 2. The result is exclusive ORed with the corresponding bit in byte 3, and so on until all bytes in the command control block have been processed except the last byte. Once the intermediate result is obtained in step 123, the bits of this intermediate result are mutually exclusive-ORed to produce one bit, a 1 or a 0, representing the parity of the command control block. This bit is then stored in bit 7 of the last byte. Bit 7 is S
Note that it is a "vendor specific" bit in the CSI standard. Finally, step 124 returns to the I / O routine to revisit the modified CCB.

【0024】I/Oルーチンは、正常な方法でその機能
を実行し続け、最後に指令制御ブロックを指示された装
置へ送ることになる。図5において、ステップ130で
は、光ディスク・コントローラ(ODC)が指令制御ブ
ロックをRAM17に入れる。このルーチンは図6に示
され、これにおいてステップ140でパリティ検査ビッ
トが検査されてホストにより1にセットされたかどうか
を判定する。もしそうであれば、ステップ141におい
て、指令制御ブロックがマイクロプロセッサ15におけ
る局部記憶域に送られ、ホストで行われた同じ排他的O
Rプロセスがステップ142、143において指令制御
ブロックについて行われる。ステップ144において、
生成パリティ・ビットが最終バイトにおけるビット7で
ある最終ビットと比較される。これらが等しければ、図
5に示されるプロセスへ戻りエラーがないことの表示を
行う。これらビットが等しくなければ、戻りが行われて
エラー表示を行う。
The I / O routine will continue to perform its function in the normal way and will eventually send the command control block to the instructed device. In FIG. 5, in step 130, the optical disk controller (ODC) puts the command control block in the RAM 17. This routine is shown in FIG. 6 in which the parity check bit is checked at step 140 to determine if it was set to 1 by the host. If so, in step 141 the command control block is sent to local storage in the microprocessor 15 and the same exclusive O done in the host.
The R process is performed on the command control block in steps 142 and 143. In step 144,
The generated parity bit is compared with the last bit, which is bit 7 in the last byte. If they are equal, the process returns to the process shown in FIG. 5 to display that there is no error. If these bits are not equal, a return is made and an error indication is given.

【0025】図5において、パリティ検査ルーチンから
の戻りがステップ132で行われ、エラーが通報された
かどうかを判定するためステップ133で照合が行われ
る。エラーがなければ、指令制御ブロックにおける指令
がステップ134に示される如く実行される。しかし、
エラーが通報されたならば、ステップ135においてエ
ラー状態がホストに対して通報される。次いで、ホスト
は再試行手順を開始し、あるいは表示されるどんな動作
でも行うことになる。
In FIG. 5, a return from the parity check routine is made at step 132 and a check is made at step 133 to determine if an error has been reported. If there are no errors, the command in the command control block is executed as shown in step 134. But,
If an error is reported, the error condition is reported to the host in step 135. The host will then initiate the retry procedure or take whatever action is indicated.

【0026】図7は、パリティ・ビットの生成時に指令
制御ブロックのバイトNを含むことが望ましいならば使
用し得るマシン動作の変更例を示している。必要に応じ
て、図7に示されるステップ160〜163が図4のス
テップ122、123に代わり、また図6のステップ1
42、143を置換する。
FIG. 7 shows a modification of the machine operation that could be used if it was desired to include byte N of the command control block when generating the parity bit. If necessary, steps 160-163 shown in FIG. 7 replace steps 122, 123 of FIG. 4 and step 1 of FIG.
42 and 143 are replaced.

【0027】図7に示されるパリティ生成動作を実施す
るため、ステップ160においてバイト0のビットがバ
イト1の対応するビットと排他的ORされ、その結果が
バイト2の対応するビットと排他的ORされ、その結果
がバイト3と排他的ORされ、、、これがバイト(N−
1)まで続く。ステップ161において、CCBのパリ
ティを表示するため使用されるビットであるバイトNの
ビット7がゼロにセットされる。その後、ステップ16
2において、ステップ160の結果がバイトNの対応す
るビットにより排他的ORされて中間バイトを得る。ス
テップ162において、中間バイトのビットが排他的O
Rされて、CCBのパリティを表わす1つのビットを生
じる。図7のマシン動作が図4のステップ122、12
3を置換するように行われるならば、結果として得るパ
リティ・ビットがステップ123Aに示される如くバイ
トNのビット7に格納される。図7のマシン動作が図6
のステップ142、143を置換するようにコントロー
ラ10で行われるならば、結果として得るビットがステ
ップ144に示される如く伝送されたパリティ・ビット
と比較される。
To implement the parity generation operation shown in FIG. 7, the bits of byte 0 are exclusive ORed with the corresponding bits of byte 1 in step 160, and the result is exclusive ORed with the corresponding bits of byte 2. , The result is exclusive-ORed with byte 3, and this is the byte (N-
Continue until 1). In step 161, bit 7 of byte N, which is the bit used to indicate the parity of the CCB, is set to zero. Then step 16
At 2, the result of step 160 is exclusive ORed with the corresponding bits of byte N to obtain the intermediate byte. In step 162, the bits of the intermediate byte are exclusive O
R, resulting in one bit representing the parity of the CCB. The machine operation of FIG. 7 corresponds to steps 122 and 12 of FIG.
If so done, the resulting parity bit is stored in bit 7 of byte N as shown in step 123A. The machine operation of FIG. 7 is shown in FIG.
If the step 10 is performed in the controller 10 to replace steps 142, 143 of the above, the resulting bits are compared to the transmitted parity bits as shown in step 144.

【0028】本発明についてはSCSIアーキテクチャ
により説明した。中間バイトのビットは相互に排他的O
Rされて、指令制御ブロックのパリティを表わす1また
は0の1つのビットを生じ、このビットは最終バイトの
ビット7に記憶される。ビット7はSCSI規格におい
て「ベンダ固有」ビットとされることに注意すべきであ
る。
The invention has been described in terms of the SCSI architecture. Bits in the middle byte are mutually exclusive O
R, which represents the parity of the command control block
Produces one bit of 0, which is the last byte of the
Stored in bit 7. Bit 7 is in the SCSI standard
It should be noted that this is a "vendor specific" bit.
It

【0029】[0029]

【発明の効果】指令がホストから周辺装置へ送られる
時、指令の一貫性が維持される。
When the command is sent from the host to the peripheral device, the consistency of the command is maintained.

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

【図1】本発明を使用する典型的な小型コンピュータ・
システム・インターフェース(SCSI)コントローラ
を示すブロック図である。
FIG. 1 is a typical small computer using the present invention.
FIG. 3 is a block diagram showing a system interface (SCSI) controller.

【図2】本発明を起動するためホストにおけるルーチン
の初期化の各部分を示す図である。
FIG. 2 is a diagram showing each part of initialization of a routine in a host for activating the present invention.

【図3】本発明を起動するためホストにおけるルーチン
の初期化の各部分を示す図である。
FIG. 3 is a diagram showing each part of initialization of a routine in a host for activating the present invention.

【図4】本発明によるホスト用パリティ生成論理回路を
示す図である。
FIG. 4 is a diagram showing a parity generation logic circuit for a host according to the present invention.

【図5】光ディスク装置におけるパリティ検査論理回路
および本装置における指令処理を示す図である。
FIG. 5 is a diagram showing a parity check logic circuit in the optical disc device and command processing in the present device.

【図6】光ディスク装置におけるパリティ検査論理回路
および本装置における指令処理を示す図である。
FIG. 6 is a diagram showing a parity check logic circuit in the optical disk device and command processing in this device.

【図7】パリティ生成論理回路における変更のためのマ
シン動作を示す図である。
FIG. 7 is a diagram showing a machine operation for a change in a parity generation logic circuit.

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

10 コントローラ 11 ホスト・プロセッサ 12 SCSIバス 13 目的インターフェース・論理回路 14 光ディスク・コントローラ 15 マイクロプロセッサ 16 読出し専用メモリー(ROM) 17 ランダム・アクセス・メモリー(RAM) 18 ラン・レングス(走行長)制限(RLL)回路 19 バッファ 20 誤り訂正コード(ECC)論理回路 22 バス 23 光ディスク・ドライブ 24 光ディスク 30 指令制御ブロック(CCB) 10 Controller 11 Host Processor 12 SCSI Bus 13 Purpose Interface / Logic Circuit 14 Optical Disk Controller 15 Microprocessor 16 Read Only Memory (ROM) 17 Random Access Memory (RAM) 18 Run Length Limit (RLL) Circuit 19 Buffer 20 Error correction code (ECC) logic circuit 22 Bus 23 Optical disk drive 24 Optical disk 30 Command control block (CCB)

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−232736(JP,A) 特開 昭64−111234(JP,A) 特開 昭58−90251(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-2-232736 (JP, A) JP-A 64-111234 (JP, A) JP-A 58-90251 (JP, A)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】システム・インターフェースを介してホス
トに接続された光ディスク装置を含み、該光ディスク装
置に対して与えられる各指令毎に指令制御ブロックを生
じる手段をホスト内部に含むシステムにおいて、 前記ホスト内部に配置される第1のパリティ生成手段で
あって、 該第1のパリティ生成手段は、前記指令制御ブロックに
おける第1のバイトの各ビットと、ベンダ固有ビットを
除く他のバイトの各対応ビットについて排他的OR演算
を実行して、或いは、前記指令制御ブロックにおける第
1のバイトの各ビットと、最終バイトを除く他のバイト
の各対応ビットについて排他的OR演算を実行して、中
間バイトを発生させる排他的OR論理回路と、前記中間
バイトの複数のビットについて順次排他的OR演算を実
行して前記指令制御ブロックのパリティを表わす第1の
ビットを発生させる排他的OR論理回路とを含み、前記
指令制御ブロックのパリティを表す第1のビットを生成
し、この第1のビットをベンダ固有ビットに含ませる第
1のパリティ生成手段と、 前記指令制御ブロックおよび前記第1のビットを前記光
ディスク装置に対して伝送する手段と、 前記光ディスク装置内部に配置される第2のパリティ生
成手段であって、 該第2のパリティ生成手段は、前記第1のパリティ生成
手段内部に含まれる排他的OR論理回路と同等の構成に
より前記指令制御ブロックのパリティを表わす前記第2
のビットを発生させる排他的OR論理回路を含み、前記
指令制御ブロックのパリティを表す第2のビットを生成
する第2のパリティ生成手段と、 前記光ディスク装置内部に配置され、前記指令制御ブロ
ックのパリティを表わす前記第1および第2のビットを
比較し、等しければ前記指令制御ブロックにおけるエラ
ーがないことを表示する信号を生じる比較手段と、 を設けてなることを特徴とするシステム。
1. A system comprising an optical disk device connected to a host via a system interface, and including means for generating a command control block for each command given to the optical disk device inside the host, wherein the host internal And a first parity generating means arranged for each bit of the first byte in the command control block and each corresponding bit of other bytes excluding the vendor specific bit. An exclusive-OR operation is performed, or an exclusive-OR operation is performed on each bit of the first byte in the command control block and each corresponding bit of the other bytes except the final byte to generate an intermediate byte. And an exclusive OR logic circuit for sequentially performing an exclusive OR operation on a plurality of bits of the intermediate byte. An exclusive OR logic circuit for generating a first bit representing the parity of the control block, generating a first bit representing the parity of the command control block, and including the first bit in a vendor specific bit. First parity generating means, means for transmitting the command control block and the first bit to the optical disk device, and second parity generating means arranged inside the optical disk device, The second parity generating means represents the parity of the command control block by a configuration equivalent to the exclusive OR logic circuit included in the first parity generating means.
Second parity generating means for generating a second bit representing the parity of the command control block, and an exclusive OR logic circuit for generating the bit of the command control block, and a parity of the command control block arranged inside the optical disk device. Means for comparing the first and second bits representing, and producing a signal indicating the absence of an error in the command control block if they are equal.
JP4175201A 1991-09-09 1992-07-02 System with command parity check function Expired - Lifetime JPH087699B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75672891A 1991-09-09 1991-09-09
US756728 1991-09-09

Publications (2)

Publication Number Publication Date
JPH05204684A JPH05204684A (en) 1993-08-13
JPH087699B2 true JPH087699B2 (en) 1996-01-29

Family

ID=25044796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4175201A Expired - Lifetime JPH087699B2 (en) 1991-09-09 1992-07-02 System with command parity check function

Country Status (1)

Country Link
JP (1) JPH087699B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115081429A (en) * 2022-07-07 2022-09-20 北京微纳星空科技有限公司 Instruction checking method, device, equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02232736A (en) * 1989-02-03 1990-09-14 Digital Equip Corp <Dec> Method and means for error inspection of dram control system between system modules

Also Published As

Publication number Publication date
JPH05204684A (en) 1993-08-13

Similar Documents

Publication Publication Date Title
US6928578B2 (en) System, method, and computer program for selectable or programmable data consistency checking methodology
US5428630A (en) System and method for verifying the integrity of data written to a memory
US7689869B2 (en) Unit, method and program for detecting imprecise data
US7546436B2 (en) Storage device with SCSI formatting
US6883131B2 (en) XOR processing incorporating error correction code data protection
US20040168103A1 (en) Disk drive data protection using clusters containing error detection sectors
US20030115417A1 (en) Methods and apparatus for loading CRC values into a CRC cache in a storage controller
US5459850A (en) Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JP2772391B2 (en) Bad data algorithm
US20070002482A1 (en) Storage system, storage control device, and storage control method
JP4852315B2 (en) Data reliability improvement method and information processing apparatus using the method
JPH07105633A (en) Data reproducing channel of disk drive array
JP2006134064A (en) Storage control apparatus and method for detecting writing error in storage medium
JPH02135534A (en) Error processor
JP2672916B2 (en) Data check method for array disk device
US6901551B1 (en) Method and apparatus for protection of data utilizing CRC
US7117387B2 (en) Method and apparatus for writing data and validating data in a recording medium
CN115129509B (en) Data transmission method, device and medium
JPH087699B2 (en) System with command parity check function
JP3170145B2 (en) Memory control system
US20110205654A1 (en) Control apparatus, nonvolatile storage apparatus and data initialization method
EP1198891B1 (en) Data integrity management for data storage systems
EP1090462B1 (en) Circuit and method for rapid checking of error correction codes using cyclic redundancy check
JP3358701B2 (en) Verify method and verify device
JPH054266U (en) Memory device