JPH0348543B2 - - Google Patents
Info
- Publication number
- JPH0348543B2 JPH0348543B2 JP56207880A JP20788081A JPH0348543B2 JP H0348543 B2 JPH0348543 B2 JP H0348543B2 JP 56207880 A JP56207880 A JP 56207880A JP 20788081 A JP20788081 A JP 20788081A JP H0348543 B2 JPH0348543 B2 JP H0348543B2
- Authority
- JP
- Japan
- Prior art keywords
- byte
- data
- channel
- error
- mark
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はチヤネル装置に関し、I/O(入出力
装置)からnバイト(例えばn=1)単位で送ら
れて来るデータをn×mバイト(例えばm=4)
に組立てて他の装置(例えば主記憶装置)へ送出
するに際して、送出するデータのエラーチエツク
をする制御方式に関する。Detailed Description of the Invention [Technical Field of the Invention] The present invention relates to a channel device, and relates to a channel device that converts data sent from an I/O (input/output device) in units of n bytes (for example, n=1) into n×m bytes ( For example m=4)
The present invention relates to a control method for checking errors in data to be transmitted when the data is assembled into a computer and transmitted to another device (for example, a main storage device).
一般にI/Oから1バイト単位で送られるデー
タを、チヤネルで4バイトに組立て、MSU(主記
憶装置)又はSCU(記憶制御装置)へ4バイト幅
のデータバスを介して転送する場合、該4バイト
中の有効データ・バイト位置を示すバイトマーク
を付して転送が行なわれる。バイト・マークは一
般に1バイトに対して1ビツトあればよいので、
今の例では4ビツトである。
Generally, when data sent from I/O in 1-byte units is assembled into 4 bytes by a channel and transferred to an MSU (main storage unit) or SCU (storage control unit) via a 4-byte wide data bus, the 4-byte data is Transfer is performed with a byte mark indicating the position of a valid data byte within the byte. The byte mark generally only needs to be 1 bit for 1 byte, so
In this example, it is 4 bits.
一方チヤネルにおいては送出する4バイトのデ
ータにパリテイエラーがあるか否かをチエツク
し、エラーがあるときには必らず見かけ上正しい
パリテイに修正してMSU又はSCUに転送し、
MSU又はSCUでは見かけ上通常動作をさせると
ともに、チヤネルは一連のストア処理終了時にチ
ヤネル・データ・チエツク信号としてI/O割込
時等にCPU(中央処理装置)に報告する。 On the other hand, the channel checks whether there is a parity error in the 4-byte data to be sent, and if there is an error, the parity is corrected to appear correct and transferred to the MSU or SCU.
The MSU or SCU apparently operates normally, and the channel reports it to the CPU (central processing unit) as a channel data check signal when a series of store processing is completed, such as at the time of an I/O interrupt.
I/Oからのストアデータが4バイト未満であ
つたり、また4バイト以上であつても、そのスト
ア・アドレスが4バイトバウンダリ上でない場合
には、MSU又はSCUに送出される4バイトの中
で不用なバイトが存在することになる。そのため
にバイトマークで各バイトの有効・無効を示す必
要が生じる訳である。そして、万一無効バイト位
置にエラーが生じても、それは本来チヤネル・デ
ータ・チエツクとして報告する必要はない筈であ
り、そうするために従来は4バイトへ組立てるた
めのバツフアレジスタを必らずイニシヤライズし
て正しいパリテイになるようにしてから、I/O
からの1バイト・データを順次所定のバイト位置
に書込んでいた。 If the store data from I/O is less than 4 bytes, or even if it is more than 4 bytes, but the store address is not on the 4-byte boundary, the 4-byte data sent to the MSU or SCU is There will be unnecessary bytes. For this reason, it is necessary to indicate whether each byte is valid or invalid using a byte mark. Even if an error occurs in an invalid byte position, there is no need to report it as a channel data check, and in order to do so, conventionally it was not necessary to provide a buffer register to assemble the data into 4 bytes. After initializing it to the correct parity, I/O
1 byte data from 1 byte was sequentially written to a predetermined byte position.
尚これらバツフアレジスタは、上記ストア処理
以外にも利用されることがあり、そのときにパリ
テイエラーを生じたときはその旨の報告をCPU
に通知するが、そのパリテイエラーを生じている
レジスタにI/Oからのデータを書込んで、その
ときたまたま該エラーを生じているバイトには書
込みがなかつたとすると、MSU又はSCUへの転
送データには当該パリテイエラーのデータがその
まま残つていまので、ストア処理時(MSU又は
SCUへの送出時)に再びエラーが検出されてし
まう。そのような場合を考慮して従来は上記イニ
シヤライズを行なつていたものである。 These buffer registers may be used for purposes other than the above store processing, and if a parity error occurs at that time, a report to that effect is sent to the CPU.
However, if data from the I/O is written to the register where the parity error occurs, and by chance there is no writing to the byte where the error occurs, the transfer to the MSU or SCU The parity error data still remains in the data, so when storing (MSU or
(When sending to SCU), an error is detected again. In consideration of such cases, the above-mentioned initialization has conventionally been performed.
このようにストア処理の転送のためにその都度
必らずレジスタのイニシヤライズを行なうことは
チヤネルにとつて少なからぬ負担となる。特に1
回の転送バイト数が増したり、バツフアレジスタ
の容量が増大するとそれにつれてイニシヤライズ
のための時間が増大し(順次にイニシヤライズす
る場合)或いはイニシヤライズのための金物量も
増す(一度に全ビツトをイニシヤライズする場
合)。 In this way, it is a considerable burden on the channel to initialize the register each time for transfer of store processing. Especially 1
As the number of bytes transferred or the capacity of the buffer register increases, the time for initialization increases (in the case of sequential initialization) or the amount of hardware for initialization increases (in the case of initializing all bits at once). ).
本発明は上記バツフアレジスタのイニシヤライ
ズを不用にし、チヤネルの負荷を減らすことにあ
る。
The present invention is to eliminate the need to initialize the buffer register and reduce the load on the channel.
図は本発明の一実施例ブロツク図を示し、
CH,CPU,MSU,SCUは前述のとおりの各装
置DBR0〜3は夫々4バイト幅のデータバツフ
アレジスタ、BMR0〜3は夫々4ビツト幅のバ
イトマークレジスタ、PC0〜PC3は夫々1バイ
トデータのパリテイチエツカ、G0〜G3は2入
力ANDゲート、CDはチヤネルデータチエツク制
御部である。
The figure shows a block diagram of an embodiment of the present invention,
CH, CPU, MSU, and SCU are the same devices as described above.DBR0-3 are each 4-byte wide data buffer registers, BMR0-3 are 4-bit wide byte mark registers, and PC0-PC3 are 1-byte data buffer registers each. Parity checker G0 to G3 are two-input AND gates, and CD is a channel data check control section.
チヤネルCHはI/Oからのストア要求を受け
ると、図示しない制御部によつてその先頭ストア
アドレスと4バイトバウンダリとの関係から
DBR0の所望バイト位置から1バイトづつ次々
と書込んでいく。DBR0が一杯になるとその内
容はDBR1にシフトされ、さらにDBR0に後続
バイトが書込まれていく。これと並行して書込み
を行なつたDBR0のバイト位置に対応してBMR
0にバイトマークが書き込まれる。バイトマーク
は、先頭ストアアドレスと4バイトバウンダリと
の関係から、又、転送すべきデータ長との関係か
らどの部分に立てるべきかが判り、バイトマーク
を一度に4つ分に0か1を格納する。DRR0か
らDBR1へのシフトと同期してBMR0の内容も
BMR1へシフトされる。 When a channel CH receives a store request from I/O, a control unit (not shown) determines the relationship between the first store address and the 4-byte boundary.
One byte at a time is written one after another from the desired byte position in DBR0. When DBR0 becomes full, its contents are shifted to DBR1, and subsequent bytes are written to DBR0. BMR corresponding to the byte position of DBR0 that was written in parallel with this.
A byte mark is written to 0. The location of the byte mark can be determined from the relationship between the first store address and the 4-byte boundary, as well as from the relationship with the data length to be transferred, and 0 or 1 is stored for four byte marks at a time. do. The contents of BMR0 are also changed in synchronization with the shift from DRR0 to DBR1.
Shifted to BMR1.
さらにDBR0が一杯になればDBR1の内容を
DBR2へシフトし、DBR0の内容をDBR1へシ
フトし、順次最大16バイトまで詰め込まれる。
BMR0〜3についても同様である。 Furthermore, when DBR0 becomes full, the contents of DBR1 are
Shift to DBR2, shift the contents of DBR0 to DBR1, and sequentially pack up to a maximum of 16 bytes.
The same applies to BMR0-3.
SCUに対してはDBR3から4バイトデータが、
またBMR3から4ビツトのバイトマークが送出
される。各バイトのデータは従来と同様に送出時
点においてPC0〜3でチエツクされるが、本発
明ではこの各チエツク結果をBMR3の各ビツト
によつてゲートG0〜G3により論理積をとつて
チヤネル・データ・チエツク制御部CDCへ与え
る。前記与えられたエラー情報を、CDCは、コ
ード化してCPUに、エラーがある旨を転送する。
この転送時には、どのバイト位置にエラーがある
かないかを転送しても良いし、又、エラーがある
旨のみを転送しても良い。エラーがある旨のみを
転送する場合は、アンドゲートからの出力を
CDC内に設けられたラツチ等に記録して置き、
しかるべき後に、サービスプロセツサ等(エラー
がある旨をCPUがサービスプロセツサに伝える
こととなる。)の保守装置から前記ラツチされた
エラー情報を読み取り、エラー解析を行うことと
なる。 For SCU, 4 byte data from DBR3,
Also, a 4-bit byte mark is sent from BMR3. The data of each byte is checked by PC0 to PC3 at the time of transmission as in the conventional case, but in the present invention, each check result is ANDed by each bit of BMR3 by gates G0 to G3, and the channel data is processed. Give to check control unit CDC. The CDC encodes the given error information and transmits the error information to the CPU.
At the time of this transfer, it may be possible to transfer whether or not there is an error at which byte position, or only the fact that there is an error may be transferred. If you want to transfer only the information that there is an error, change the output from the AND gate to
Record it on a latch etc. set up in the CDC,
After an appropriate time, the latched error information is read from the maintenance device of the service processor, etc. (the CPU notifies the service processor that there is an error), and error analysis is performed.
従つてバイトマークの立つていないバイト位置
にてエラーを生じていてもCPUへのエラー報告
は行なわれない。このため、ストア時の転送処理
に先立つてDBR0〜3のイニシヤライズを行な
う必要はない。 Therefore, even if an error occurs at a byte position without a byte mark, the error is not reported to the CPU. Therefore, there is no need to initialize DBR0 to DBR3 prior to transfer processing at the time of storage.
尚、パリテイチエツクでもしパリテイエラーが
検出されれば、それがバイトマークの立つている
位置であろうとなかろうと、パリテイを修正して
MSU又はSCUへ送出することは、従来と全く同
じである。従つてMSU又はSCU側には何ら変更
は要しない。バイトマークの一部が立つていない
場合には、MSU又はSCUではいわゆる部分書込
みとなり、当該ストアすべきバイトを含む4バイ
トが一旦MSUから読出され、バイトマークの立
つている位置のみがチヤネルCHからのデータに
置換されて再書込みされる。従つてバイトマーク
の立つていない位置のデータは実際にはMSUへ
は書込まれないので、そのデータにエラーがあつ
てパリテイのみが強制的に修正されたものであつ
ても問題とはならない。 If a parity error is detected during the parity check, the parity will be corrected regardless of whether the bite mark is in the position or not.
Sending to MSU or SCU is exactly the same as before. Therefore, no changes are required on the MSU or SCU side. If a part of the byte mark is not set, it is a so-called partial write in the MSU or SCU, and 4 bytes including the byte to be stored are read from the MSU, and only the position where the byte mark is set is read from the channel CH. data is replaced and rewritten. Therefore, data at a position without a byte mark is not actually written to the MSU, so even if there is an error in the data and only the parity is forcibly corrected, there is no problem.
以上の如く、本発明によればストア処理のたび
にレジスタをイニシヤライズする必要がなく、従
つてチヤネルの負荷を軽減し処理の高速化或いは
金物を減らすことができる。
As described above, according to the present invention, it is not necessary to initialize the register every time store processing is performed, and therefore the load on the channel can be reduced, processing speed can be increased, and hardware can be reduced.
図は本発明の一実施例ブロツク図であり、
DBR0〜3は4バイト幅のデータバツフアレジ
スタ、BMR0〜3は4ビツト幅のバイトマーク
レジスタ、PC0〜3は1バイト単位のパリテイ
チエツカ、G0〜G3はANDゲート、CDCはチ
ヤネルデータ・チエツカ制御部、SCUは記憶制
御部、MSUは主記憶制御部。
The figure is a block diagram of an embodiment of the present invention.
DBR0-3 are 4-byte wide data buffer registers, BMR0-3 are 4-bit wide byte mark registers, PC0-3 are parity checkers in 1-byte units, G0-G3 are AND gates, CDC is channel data checker control section , SCU is the storage control unit, and MSU is the main memory control unit.
Claims (1)
数)で送られてくるデータを、データバツフアレ
ジスタの所望の位置に書き込むとともに、データ
バツフアレジスタを用いてn×mバイト(mは2
以上の整数)に組立て、mビツトのバイトマーク
レジスタに該書き込まれたデータの位置に対応す
るバイトマークを立て、前記データバツフアレジ
スタの各nバイト毎のデータを前記バイトマーク
を付して送出するチヤネル装置であり、前記チヤ
ネル装置は前記送出されるデータの障害情報を上
位装置に通知するチヤネル・データ・チエツク制
御部を有するチヤネル装置に於いて、 前記データバツフアレジスタの各nバイト単位
毎にエラーチエツクをし、エラーの有無を各nバ
イト毎に示すエラーチエツク手段と、 前記エラーチエツク手段によつて示された各n
バイト毎のエラー有無から、前記バイトマークが
立つている部分に相当する各nバイトに対応する
前記エラー有無の情報のみを検出し、前記チヤネ
ル・データ・チエツク制御部にその旨を出力する
手段を有することを特徴とするチヤネル装置。[Claims] 1. Data sent from I/O in units of n bytes (n is an integer of 1 or more) is written to a desired position in the data buffer register, and the data buffer register is used to n×m bytes (m is 2
or above), set a byte mark corresponding to the position of the written data in the m-bit byte mark register, and send out each n byte of data in the data buffer register with the byte mark attached. In the channel device, the channel device includes a channel data check control unit that notifies a higher-level device of failure information of the transmitted data, and the channel device has a channel data check control unit that notifies a higher-level device of failure information of the data to be sent, and the channel device has a channel data check control unit that notifies a higher-level device of failure information of the transmitted data. an error check means for performing an error check on each n byte and indicating the presence or absence of an error for each n byte;
Means for detecting only the error presence/absence information corresponding to each n byte corresponding to the part where the byte mark stands based on the error presence/absence of each byte, and outputting this to the channel data check control section. A channel device comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56207880A JPS58107937A (en) | 1981-12-22 | 1981-12-22 | Channel controlling system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56207880A JPS58107937A (en) | 1981-12-22 | 1981-12-22 | Channel controlling system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58107937A JPS58107937A (en) | 1983-06-27 |
| JPH0348543B2 true JPH0348543B2 (en) | 1991-07-24 |
Family
ID=16547081
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56207880A Granted JPS58107937A (en) | 1981-12-22 | 1981-12-22 | Channel controlling system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58107937A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6154555A (en) * | 1984-08-24 | 1986-03-18 | Fujitsu Ltd | Buffer control system |
| JP2544012B2 (en) * | 1990-08-22 | 1996-10-16 | 富士通株式会社 | Data buffer parity check circuit |
-
1981
- 1981-12-22 JP JP56207880A patent/JPS58107937A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58107937A (en) | 1983-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0491697B1 (en) | Apparatus and method for maintaining cache/main memory consistency | |
| JPS61156954A (en) | Buffer memory system | |
| JPH0719232B2 (en) | Device and method for checking address and contents of memory array | |
| US5455939A (en) | Method and apparatus for error detection and correction of data transferred between a CPU and system memory | |
| JPS5918800B2 (en) | Partial writing method | |
| US4761783A (en) | Apparatus and method for reporting occurrences of errors in signals stored in a data processor | |
| KR860000594A (en) | Tag Control Circuit for Buffer Memory | |
| EP0057096B1 (en) | Information processing unit | |
| JPH0348543B2 (en) | ||
| JPH1166762A (en) | Floppy disk system | |
| US4514847A (en) | Key storage error processing system | |
| JP2574821B2 (en) | Direct memory access controller | |
| JPS5936359B2 (en) | data buffer device | |
| JP3281982B2 (en) | Data buffer | |
| JP2586072B2 (en) | Storage device | |
| JPS6034135B2 (en) | Bite mark parity check method | |
| JP2772192B2 (en) | Input/Output Processor | |
| SU951406A1 (en) | Memory device with self-check capability | |
| JPS6351299B2 (en) | ||
| JP2597484B2 (en) | Data transfer method | |
| JPH0133848B2 (en) | ||
| KR970002655A (en) | Apparatus and method for controlling data transmission using single buffer | |
| JPS6196575A (en) | Erroneous read correction of magnetic disk device | |
| JPH0250500B2 (en) | ||
| JPS6044709B2 (en) | Buff retry method |