JPH07334454A - データ伝送装置及びデータ伝送方法 - Google Patents

データ伝送装置及びデータ伝送方法

Info

Publication number
JPH07334454A
JPH07334454A JP6129340A JP12934094A JPH07334454A JP H07334454 A JPH07334454 A JP H07334454A JP 6129340 A JP6129340 A JP 6129340A JP 12934094 A JP12934094 A JP 12934094A JP H07334454 A JPH07334454 A JP H07334454A
Authority
JP
Japan
Prior art keywords
data
bytes
transmission
data set
receiving
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
JP6129340A
Other languages
English (en)
Other versions
JP3529429B2 (ja
Inventor
弘嗣 ▲高▼瀬
Hiroshi Takase
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.)
Fujitsu VLSI Ltd
Fujitsu Ltd
Original Assignee
Fujitsu VLSI Ltd
Fujitsu 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 Fujitsu VLSI Ltd, Fujitsu Ltd filed Critical Fujitsu VLSI Ltd
Priority to JP12934094A priority Critical patent/JP3529429B2/ja
Priority to US08/486,289 priority patent/US5640602A/en
Publication of JPH07334454A publication Critical patent/JPH07334454A/ja
Application granted granted Critical
Publication of JP3529429B2 publication Critical patent/JP3529429B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Abstract

(57)【要約】 【目的】2バイト単位のデータの伝送において、無効な
データの出力をなくしてデータ伝送の効率を向上する。 【構成】ステップ41で送信であると判定され、ステッ
プ49でブロックのバイト数が奇数であると判定される
と、ステップ50で奇数フラグかどうかが判定される。
奇数フラグであると、ステップ51でバイト数に1が加
えられ、偶数フラグであると、ステップ52でバイト数
から1が引かれる。ステップ44でバイト数が奇数であ
ると判定されると、ステップ45で奇数/偶数フラグが
反転される。ステップ46でデータが2バイト単位で1
ブロック分のバイト数に達するまで送信される。ステッ
プ47ではブロック数から1が引かれ、ステップ48で
ブロック数が0と判定されるまで、上記各ステップが繰
り返し実行される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ伝送装置及びデー
タ伝送方法に係り、詳しくは情報機器に内蔵されたイン
ターフェース装置をデータ伝送用のバスで接続し、その
伝送用バスにおける16ビットのバス線を介した2バイ
ト単位でのデータの伝送に関する。
【0002】
【従来の技術】従来、パーソナルコンピュータ、ハード
ディスク装置等の情報機器はデータ伝送を行うためのイ
ンターフェース装置としてスモールコンピュータシステ
ムインターフェース(SCSI)装置を内蔵している。
これらのSCSI装置はSCSIバスで互いに接続さ
れ、SCSIバスを介して複数の情報機器間でデータ伝
送が行われる。このデータ伝送におけるデータセットは
所定数のブロックで構成され、各ブロックは所定のバイ
ト数のデータで構成される。データセットのブロック数
とバイト数との組合せは次の4つが考えられる。2つの
組合せはブロック数が固定であって、バイト数は奇数及
び偶数のものである。残りの2つの組合せはブロック数
が可変(すなわち、1ブロック)であって、バイト数が
奇数又は偶数のものである。
【0003】図9は、従来のSCSI装置においてSC
SIバスの16ビットのバス線を介して2バイト単位で
データを転送する場合のフローチャートを示している。
転送すべきデータのバイトはSCSIバスの下位8ビッ
ト、上位8ビットの順に割り当てられる。
【0004】まず、ステップ101で転送すべきブロッ
クのバイト数が偶数であるかどうかが判定される。バイ
ト数が偶数であると判定されると、ステップ119で1
ブロック分のデータの転送がされる。1ブロックのバイ
ト数が偶数であるため、SCSIバスの下位及び上位8
ビットには常に有効なデータが出力される。ステップ1
20で未転送のブロック数から1が引かれ、ステップ1
21で未転送のブロック数が0かどうかが判定される。
ステップ121でブロック数が0でないと判定される
と、ステップ119〜121の処理が繰り返し実行され
る。ステップ121でブロック数が0であると判定され
ると、データ転送が終了する。
【0005】また、ステップ101でバイト数が奇数で
あると判定されると、ステップ102で転送すべきブロ
ック数が奇数かどうかが判定される。ステップ102で
ブロック数が偶数であると判定されると、ステップ11
2でバイト数に1が加算され、ステップ113でそれが
1ブロック分のデータとして転送される。ステップ11
4で未転送のブロック数から1が引かれる。次に、ステ
ップ115でバイト数から1が引かれ、ステップ116
でそれが1ブロック分のデータとして転送される。ステ
ップ117で未転送のブロック数から1が引かれる。ス
テップ113及び116のデータ転送で2ブロック分の
データが転送される。ステップ118において、未転送
のブロック数が0かどうかが判定される。ステップ11
8でブロック数が0でないと判定されると、ステップ1
12〜118の処理が繰り返し実行される。ステップ1
18でブロック数が0であると判定されると、データ転
送が終了する。
【0006】さらに、前記ステップ102でブロック数
が奇数であると判定されると、ステップ103でブロッ
ク数が1であるかどうかが判定される。ステップ103
でブロック数が1であると判定されると、ステップ10
4でブロック数から1が引かれる。ステップ105で1
ブロック分のデータが転送され、データ転送が終了す
る。
【0007】ステップ103でブロック数が1でないと
判定されると、ステップ106でバイト数に1が加算さ
れ、ステップ107でそれが1ブロック分のデータとし
て転送される。ステップ108で未転送のブロック数か
ら1が引かれる。次に、ステップ109でバイト数から
1が引かれ、ステップ110でそれが1ブロック分のデ
ータとして転送される。ステップ111で未転送のブロ
ック数から1が引かれる。ステップ107及び110の
データ転送で2ブロック分のデータが転送される。
【0008】この後、ステップ103に戻り、未転送の
ブロック数が1でない場合にはステップ103〜111
の処理が繰り返し実行される。転送すべきブロック数が
奇数であるため、ステップ103〜111の繰り返しに
よって、最後に1ブロックが残る。従って、ステップ1
03でブロック数が1であると判定され、ステップ10
4でブロック数から1が引かれる。ステップ105で1
ブロック分のデータが転送され、データ転送が終了す
る。
【0009】例えば、転送すべきデータの1ブロックが
奇数バイト(5バイト)で構成され、かつ、ブロック数
が1(ブロック数が可変)であるとする。この場合、以
下の表1に示すように、3度の転送が必要になる。この
ブロックの1度目の転送において、バイトB1,B2が
SCSIバスの下位及び上位ビットに出力され、2度目
の転送において、バイトB3,B4がSCSIバスの下
位及び上位ビットに出力される。さらに、このブロック
の3度目の転送において、ブロックの最後のバイトB5
がSCSIバスの下位ビットに出力されるとともに、デ
ータとして無効なダミーデータX0が上位ビットに出力
される。表1において、太線枠がブロックである。
【0010】
【表1】
【0011】また、転送すべきデータの1ブロックが奇
数バイト(5バイト)で構成され、かつ、ブロック数が
3以上の奇数(ブロック数が固定)とする。この場合に
も、最後の1ブロックの転送において、前記と同様に表
1に示すように、3度目の転送において、ブロックの最
後のバイトB5がSCSIバスの下位ビットに出力され
るとともに、データとして無効なダミーデータX0が上
位ビットに出力される。
【0012】
【発明が解決しようとする課題】従って、従来のSCS
I装置におけるデータ転送方法では、奇数ブロックから
なり、かつ、ブロックが奇数バイトからなるデータセッ
トが繰り返し送信される時、データセット毎に最後の1
ブロックの転送においてダミーデータが出力されてしま
う。そのため、データ転送の効率が低下してしまう。ま
た、受信側のSCSI装置では、このダミーデータを無
効なデータとして除去する処理が必要となる。
【0013】また、従来のSCSI装置におけるデータ
転送では、図9に示すようにステップ数が多くなり、処
理が複雑になる。本発明は上記問題点を解決するために
なされたものであって、その目的は、2バイト単位のデ
ータの伝送において、無効なデータの出力をなくしてデ
ータ伝送の効率を向上できるデータ伝送装置及びデータ
伝送方法を提供することにある。
【0014】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1の発明は、送信すべきデータセットのデー
タを記憶するための送信用記憶手段と、送信用記憶手段
に記憶されたデータをその入力順に2バイト単位で送信
するための送信手段と、各データセットの送信におい
て、送信用記憶手段に記憶された各データセットのデー
タの多くとも最後の1バイトのデータが残るように、か
つ、各データセットに先行するデータセットの送信用記
憶手段に残されたデータを含めて当該データセットに関
して送信されるデータのバイト数が偶数となるように各
データセットのバイト数を変更する送信用変更手段と、
送信すべきデータセットのデータが送信用記憶手段に記
憶されたとき、送信手段を制御してデータの送信を開始
させるとともに、送信手段によって送信されたバイト数
が送信用変更手段によって変更されたバイト数に達した
とき、送信手段を制御して各データセットの送信を終了
させるための送信制御手段とを備えている。
【0015】請求項2の発明は、データセットを所定数
のブロックから構成するとともに、各ブロックを所定の
バイト数のデータで構成し、送信が完了したブロック数
をカウントするためのブロックカウンタと、送信したバ
イト数をカウントするためのバイトカウンタとを備えて
いる。
【0016】請求項3の発明は、送信用変更手段を、送
信すべきブロックのバイト数を保持するための第1の送
信用保持手段と、各ブロックの送信の開始時において、
当該ブロックに先行するブロックの最後のデータが送信
用記憶手段に残っているかどうかの有無情報を保持する
ための第2の送信用保持手段と、第1の送信用保持手段
に保持されたバイト数が奇数であるかどうかを判定する
送信用判定手段と、送信用判定手段によってバイト数が
奇数であると判定されたとき、第2の送信用保持手段の
有無情報を反転させて各ブロックの送信の終了時におけ
る当該ブロックの最後のデータの有無情報として設定さ
せる第1の送信用設定手段と、送信用判定手段によって
バイト数が奇数であると判定されたとき、第2の送信用
保持手段の情報が有りのときにはバイトカウンタのバイ
ト数を1加算した値に変更し、第2の送信用保持手段の
情報が無しのときにはバイトカウンタのバイト数を1減
算した値に変更する第2の送信用設定手段とを含んで構
成している。
【0017】請求項4の発明は、データを2バイト単位
で受信するための受信手段と、受信手段が受信したデー
タを受信すべきデータセットのデータとして入力順に記
憶するための受信用記憶手段と、各データセットの受信
において、前記受信用記憶手段に記憶された各データセ
ットのデータから受信すべきデータセットのデータを除
いたときその受信したデータセットの多くとも最後の1
バイトのデータが残るように、かつ、各データセットに
先行するデータセットの前記受信用記憶手段に残された
データを含めて当該データセットに関して受信されるデ
ータのバイト数が偶数となるように各データセットのバ
イト数を変更する受信用変更手段と、受信手段によって
受信されたバイト数が前記受信用変更手段によって変更
されたバイト数に達したとき、前記受信手段を制御して
各データセットの受信を終了させるための受信制御手段
とを備えている。
【0018】請求項5の発明は、データセットを所定数
のブロックで構成するとともに、各ブロックを所定のバ
イト数のデータで構成し、受信が完了したブロック数を
カウントするためのブロックカウンタと、受信したバイ
ト数をカウントするためのバイトカウンタとを備えてい
る。
【0019】請求項6の発明は、受信用変更手段を、受
信すべきブロックのバイト数を保持するための第1の受
信用保持手段と、各ブロックの受信の開始時において、
当該ブロックに先行するブロックの最後のデータが前記
受信用記憶手段に残っているかどうかの有無情報を保持
するための第2の受信用保持手段と、第1の受信用保持
手段に保持されたバイト数が奇数であるかどうかを判定
する受信用判定手段と、受信用判定手段によってバイト
数が奇数であると判定されたとき、前記第2の受信用保
持手段の有無情報を反転させて各ブロックの受信の終了
時における当該ブロックの最後のデータの有無情報とし
て設定させる第1の受信用設定手段と、第2の受信用保
持手段の情報が有りのときには前記バイトカウンタのバ
イト数を1減算した値に変更する第2の受信用設定手段
とを含んで構成している。
【0020】請求項7の発明は、データ送信装置とデー
タ受信装置とを備える。データ送信装置は、送信すべき
データセットのデータを記憶するための送信用記憶手段
と、送信用記憶手段に記憶されたデータをその入力順に
2バイト単位で送信するための送信手段と、各データセ
ットの送信において、送信用記憶手段に記憶された各デ
ータセットのデータの多くとも最後の1バイトのデータ
が残るように、かつ、各データセットに先行するデータ
セットの送信用記憶手段に残されたデータを含めて当該
データセットに関して送信されるデータのバイト数が偶
数となるように各データセットのバイト数を変更する送
信用変更手段と、送信すべきデータセットのデータが送
信用記憶手段に記憶されたとき、送信手段を制御してデ
ータの送信を開始させるとともに、送信手段によって送
信されたバイト数が送信用変更手段によって変更された
バイト数に達したとき、送信手段を制御して各データセ
ットの送信を終了させるための送信制御手段とを備え
る。データ受信装置は、データを2バイト単位で受信す
るための受信手段と、受信手段が受信したデータを受信
すべきデータセットのデータとして入力順に記憶するた
めの受信用記憶手段と、各データセットの受信におい
て、受信用記憶手段に記憶された各データセットのデー
タから受信すべきデータセットのデータを除いたときそ
の受信したデータセットの多くとも最後の1バイトのデ
ータが残るように、かつ、各データセットに先行するデ
ータセットの受信用記憶手段に残されたデータを含めて
当該データセットに関して受信されるデータのバイト数
が偶数となるように各データセットのバイト数を変更す
る受信用変更手段と、受信手段によって受信されたバイ
ト数が受信用変更手段によって変更されたバイト数に達
したとき、受信手段を制御して各データセットの受信を
終了させるための受信制御手段とを備える。
【0021】請求項8の発明は、それぞれ所定のバイト
数のデータで複数のデータセットが構成され、各データ
セットのデータを2バイト単位で送信するとともに、デ
ータセット毎に順次送信するようにしたデータ送信方法
において、送信すべきデータセットのデータを送信用記
憶手段に記憶し、各データセットの送信において、送信
用記憶手段に記憶された各データセットのデータの多く
とも最後の1バイトのデータが残るように、かつ、各デ
ータセットに先行するデータセットの送信用記憶手段に
残されたデータを含めて当該データセットに関して送信
されるデータのバイト数が偶数となるように各データセ
ットのバイト数を変更し、送信すべきデータセットのデ
ータが送信用記憶手段に記憶されたとき、データの送信
を開始して送信用記憶手段に記憶されているデータを2
バイト単位で送信し、送信されたバイト数が変更された
バイト数に達したとき、各データセットの送信を終了す
る。
【0022】請求項9の発明は、受信したデータを受信
すべきデータセットのデータとして入力順に受信用記憶
手段に記憶し、各データセットの受信において、受信用
記憶手段に記憶された各データセットのデータから受信
すべきデータセットのデータを除いたときその受信した
データセットの多くとも最後の1バイトのデータが残る
ように、かつ、各データセットに先行するデータセット
の受信用記憶手段に残されたデータを含めて当該データ
セットに関して受信されるデータのバイト数が偶数とな
るように各データセットのバイト数を変更し、受信され
たバイト数が変更されたバイト数に達したとき、各デー
タセットの受信を終了するようにした。
【0023】請求項10の発明は、それぞれ所定のバイ
ト数のデータで複数のデータセットが構成され、各デー
タセットのデータを2バイト単位で送信するとともに、
データセット毎に順次送信し、データを2バイト単位で
受信するとともに、データセット毎に順次受信するよう
にしたデータ伝送方法において、送信すべきデータセッ
トのデータを送信用記憶手段に記憶し、各データセット
の送信において、送信用記憶手段に記憶された各データ
セットのデータの多くとも最後の1バイトのデータが残
るように、かつ、各データセットに先行するデータセッ
トの送信用記憶手段に残されたデータを含めて当該デー
タセットに関して送信されるデータのバイト数が偶数と
なるように各データセットのバイト数を変更し、送信す
べきデータセットのデータが送信用記憶手段に記憶され
たとき、データの送信を開始して送信用記憶手段に記憶
されているデータを2バイト単位で送信し、送信された
バイト数が変更されたバイト数に達したとき、各データ
セットの送信を終了する。また、受信したデータを受信
すべきデータセットのデータとして入力順に受信用記憶
手段に記憶し、各データセットの受信において、受信用
記憶手段に記憶された各データセットのデータから受信
すべきデータセットのデータを除いたときその受信した
データセットの多くとも最後の1バイトのデータが残る
ように、かつ、各データセットに先行するデータセット
の受信用記憶手段に残されたデータを含めて当該データ
セットに関して受信されるデータのバイト数が偶数とな
るように各データセットのバイト数を変更し、受信され
たバイト数が変更されたバイト数に達したとき、各デー
タセットの受信を終了するようにした。
【0024】
【作用】請求項1及び請求項8の発明では、各データセ
ットに先行するデータセットの送信の終了時において送
信用記憶手段に残っているデータに基づいて、当該デー
タセットに関して送信されるバイト数が変更される。そ
の変更されたバイト数に基づいて各データセットのデー
タの送信が行われるため、有効なデータの送信のみが行
われる。その結果、各データセットの送信の終了時にお
いて、無効なデータが送信されることはなく、データの
送信の効率が向上される。
【0025】請求項2の発明では、データセットを構成
する各ブロックについて、各ブロックに先行するブロッ
クの送信の完了時において送信用記憶手段に残っている
データに基づいて、当該ブロックに関して送信されるバ
イト数が変更される。その変更されたバイト数に基づい
て各ブロックのデータの送信が行われる。その結果、デ
ータセットの送信の終了時において、無効なデータが送
信されることはなく、データの送信の効率が向上され
る。
【0026】請求項3の発明では、送信すべきデータセ
ットのブロックの多くとも最後の1バイトのデータが送
信用記憶手段に残された状態で各ブロックの送信が完了
する。そのため、データセットの最後のブロックの多く
とも最後の1バイトのデータが送信用記憶手段に残され
た状態でそのデータセットの送信が終了される。
【0027】請求項4及び請求項9の発明では、各デー
タセットに先行するデータセットの受信の終了時におい
て受信用記憶手段に残っているデータに基づいて、当該
データセットに関して受信されるバイト数が変更され
る。このとき受信用記憶手段に受信されたバイト数は受
信すべきデータセットのバイト数よりも多くとも1バイ
ト多くなる。そのため、各データセットの受信の終了時
に受信すべきデータセットが確実に受信される。
【0028】請求項5の発明では、データセットを構成
する各ブロックについて、各ブロックに先行するブロッ
クの受信の完了時において受信用記憶手段に残っている
データに基づいて、当該ブロックに関して受信されるバ
イト数が変更される。その変更されたバイト数に基づい
て各ブロックのデータの受信が行われる。
【0029】請求項6の発明では、各ブロックの受信の
完了時において、受信用記憶手段に受信されたデータの
バイト数は受信すべきブロックのバイト数よりも多くと
も1バイト多くなり、そのデータが受信用記憶手段に残
された状態で各ブロックの受信が完了する。そのため、
受信すべきブロックが確実に受信され、受信すべきデー
タセットが確実に受信される。
【0030】請求項7及び請求項10の発明では、各デ
ータセットに先行するデータセットの送信の終了時にお
いて送信用記憶手段に残っているデータに基づいて、当
該データセットに関して送信されるバイト数が変更され
る。その変更されたバイト数に基づいて各データセット
のデータの送信が行われるため、有効なデータの送信の
みが行われる。その結果、各データセットの送信の終了
時において、無効なデータが送信されることはなく、デ
ータの送信の効率が向上される。また、各データセット
に先行するデータセットの受信の終了時において受信用
記憶手段に残っているデータに基づいて、当該データセ
ットに関して受信されるバイト数が変更される。このと
き受信用記憶手段に受信されたバイト数は受信すべきデ
ータセットのバイト数よりも多くとも1バイト多くな
る。そのため、受信すべきデータセットが確実に受信さ
れる。
【0031】
【実施例】以下、本発明を具体化した一実施例を図1〜
図8に従って説明する。図2にはデータ伝送システムが
示されている。この伝送システムはハードディスク装置
1、レーザプリンタ2及びパーソナルコンピュータ3を
備えている。ディスク装置1、プリンタ2及びコンピュ
ータ3はデータ転送を行うためのSCSI装置5〜7を
それぞれ内蔵している。SCSI装置5〜7はSCSI
バス4を介して互いに接続されている。
【0032】図3に示すように、パーソナルコンピュー
タ3はMPU11、プログラムを記憶したROM12、
データを記憶するためのRAM13、SCSI装置7及
びダイレクトメモリアクセスコントローラ(DMAC)
14を備えている。MPU11、ROM12、RAM1
3、SCSI装置7及びDMAC14はMPUバス15
を介して互いに接続されている。
【0033】MPU11はROM12のプログラムに基
づいてデータ転送のための処理を含む種々の処理を実行
する。データ転送において、MPU11は送信又は受信
すべきデータセットを構成するブロック数及びブロック
を構成するバイト数をSCSI装置7に出力する。
【0034】コンピュータ3がデータを送信する際、例
えば、MPU11は図5,6に示すように、RAM13
からデータを1バイト単位で読み出してSCSI装置7
に出力する。このとき、MPU11は各1バイトのデー
タに同期したLレベルの書込信号バーWRと、書込信号
バーWRの2サイクル毎にLレベルとなる切換信号バー
BHEとをSCSI装置7に出力する。切換信号バーB
HEがHレベルであると、そのときの1バイトのデータ
は下位側のデータD7〜D0としてSCSI装置7に出
力される。切換信号バーBHEがLレベルであると、そ
のときの1バイトのデータは上位側のデータD15〜D
8としてSCSI装置7に出力される。
【0035】また、コンピュータ3がデータを受信する
際、例えば、MPU11は図7,8に示すように、SC
SI装置7から1バイト単位でデータを読み出すために
所定周期でLレベルの読出信号バーRDをSCSI装置
7に出力する。このとき、MPU11は読出信号バーR
Dの2サイクル毎にLレベルとなる切換信号バーBHE
をSCSI装置7に出力する。切換信号バーBHEがH
レベルであると、そのときの1バイトのデータは下位側
のデータD7〜D0として読み出される。切換信号バー
BHEがLレベルであると、そのときの1バイトのデー
タは上位側のデータD15〜D8として読み出される。
【0036】DMAC14はDMAバス16を介して前
記SCSI装置7に接続されている。DMAC14はM
PU11の指示に基づいて、RAM13のデータを直接
読み出してSCSI装置7に出力し、MPU11がデー
タ転送のための処理以外の別の処理を並行して実行でき
るようにするものである。
【0037】SCSI装置7はワンチップで構成され、
図1に示すように、内部プロセッサ20、タイマ21、
フェーズ制御回路22及び転送制御回路23を備えてい
る。また、SCSI装置7は制御用レジスタ群24、受
信用レジスタ25、送信用レジスタ26、ユーザプログ
ラムメモリ27、及び送信用記憶手段及び受信用記憶手
段としてのデータレジスタ28を備えている。さらに、
SCSI装置7は送信手段及び受信手段としてのSCS
I31、MPUインタフェース32及び前記DMAバス
16に接続されたDMAインタフェース33を備えてい
る。
【0038】MPUインタフェース32には前記MPU
バス15が接続されている。MPUバス15は信号線1
5a〜15c及び16ビット(2バイト)の幅を有する
バス線15d等を備えている。信号線15aは書込信号
バーWR用であり、信号線15bは読出信号バーRD用
であり、信号線15cは切換信号バーBHEである。バ
ス線15dはそれぞれ8ビットのデータD15〜D8と
データD7〜D0とに割り振られる。
【0039】SCSI31には前記SCSIバス4が接
続されている。SCSIバス4は信号線4a〜4e及び
それぞれ8ビット(1バイト)の幅を有するバス線4
f,4g等を備えている。信号線4dはターゲット側か
ら出力される要求信号バーREQ用であり、信号線4e
はイニシエータ側から出力される応答信号バーACK用
である。バス線4fは上位8ビットのデータバーDB1
5〜バーDB8用であり、バス線4gは下位8ビットの
データバーDB7〜バーDB0用である。SCSI31
はバス線4f,4gを介して2バイト単位でデータを送
信又は受信する。
【0040】制御用レジスタ群24は転送すべきデータ
セットを構成するブロック数及びブロックを構成するバ
イト数を格納するためのブロックカウンタ24a及びバ
イトカウンタ24bを備えている。カウンタ24a,2
4bには前記MPUインターフェース32及び内部バス
を介して前記MPU11によってデータセットのブロッ
ク数及びバイト数が設定される。また、カウンタ24
a,24bは内部プロセッサ20によって内部バスを介
してデータセットのブロック数及びバイト数を設定され
得る。
【0041】受信用レジスタ25にはSCSI31を介
して受信されたメッセージ、コマンド及びステータス情
報が格納される。送信用レジスタ26にはMPUインタ
ーフェース32を介して入力された送信用のメッセー
ジ、コマンド及びステータス情報が格納される。
【0042】ユーザプログラムメモリ27にはデータ転
送に必要なコマンドが前記MPUインターフェース32
及び内部バスを介して前記MPU11によって予め記憶
される。
【0043】データレジスタ28はSCSI31に接続
された入力端子とマルチプレクサ30に接続された入力
端子とを備えている。データレジスタ28はマルチプレ
クサ29に接続された出力端子とMPUインターフェー
ス32及びDMAインターフェース33に接続された出
力端子とを備えている。マルチプレクサ29には送信用
レジスタ26の送信用のメッセージ、コマンド及びステ
ータス情報が入力される。マルチプレクサ30にはMP
Uインターフェース32及びDMAインターフェース3
3が接続されている。
【0044】データの送信時において、マルチプレクサ
30によってMPUインターフェース32又はDMAイ
ンターフェース33のいずれか一方が選択される。デー
タレジスタ28には、選択されたインターフェースを介
して、前記RAM13から読み出された送信すべきデー
タが、データセットを構成するブロック数に達するまで
書き込まれる。この送信時においてレジスタ28に記憶
されたデータは2バイト単位で、マルチプレクサ29を
介してSCSI31に出力され、この2バイトのデータ
はSCSI31からバス線4f,4gに上位及び下位側
のデータとして出力される。
【0045】また、データの受信時において、データレ
ジスタ28には、バス線4f,4gを介してSCSI3
1によって受信された2バイトのデータが、受信すべき
データセットのデータとして入力順に記憶される。この
受信時においてレジスタ28に記憶されたデータは、M
PUインターフェース32を介してMPU11によって
1ブロック分のバイト数になるまで読み出され、RAM
13に格納される。
【0046】内部プロセッサ20は、送信用変更手段、
送信用判定手段、受信用変更手段、及び受信用判定手段
を構成する。プロセッサ20は、データ転送時において
前記MPU11から発行されるコマンドのシーケンス制
御を行うとともに、転送動作中に発生するエラーの処理
等を行う。また、プロセッサ20はMPU11から発行
されるコマンドに基づいてユーザプログラムメモリ27
に記憶されているコマンドを読み出し、データ転送のシ
ーケンス制御を行う。さらに、プロセッサ20は第1の
送信用保持手段及び第1の受信用保持手段としてのバイ
ト数レジスタ20aを備える。レジスタ20aはデータ
送信時において、送信すべきブロックのバイト数を保持
する。また、レジスタ20aはデータ受信時において、
受信すべきブロックのバイト数を保持する。プロセッサ
20は前記バイト数カウンタ24bに設定されたバイト
数をレジスタ20aに設定する。
【0047】タイマ21は公知のSCSI規格における
時間管理、同期転送時のオフセット、ピリオドの管理、
及び非同期転送時におけるデータのセットアップ時間の
管理を行う。セットアップ時間の管理は要求信号バーR
EQ又は応答信号バーACKの管理を含む。
【0048】フェーズ制御回路22は前記SCSIバス
4の情報転送フェーズの管理を行う。この情報転送フェ
ーズには、信号バーMSG、信号バーC/D及び信号バ
ーI/Oにより、メッセージフェーズ、コマンドフェー
ズ、ステータスフェーズ及びデータフェーズのいずれか
1つが設定される。
【0049】転送制御回路23は送信用変更手段、受信
用変更手段、送信制御手段、受信制御手段、第1,第2
の送信用設定手段及び第1,第2の受信用設定手段を構
成する。転送制御回路23は、SCSI装置7がイニシ
エータ側である場合には応答信号ACKを出力し、SC
SI装置7がターゲット側である場合には要求信号RE
Qを出力する。そして、転送制御回路23はSCSIバ
ス4のREQ信号及びACK信号のハンドシェークに基
づいてデータ転送を制御する。
【0050】データ転送(送信及び受信)時において、
制御回路23はSCSI31を制御してデータを2バイ
ト単位で送信又は受信させるとともに、前記バイトカウ
ンタ24bの値を2だけデクリメントする。データの送
信時には、制御回路23はデータレジスタ28からデー
タを2バイト単位で読み出すとともに、そのデータをレ
ジスタ28から消去する。データの受信時には、制御回
路23はSCSI31が受信した2バイトのデータをデ
ータレジスタ28に記憶させる。制御回路23はバイト
カウンタ24bの値が0になって1ブロック分の転送が
完了する毎に、ブロックカウンタ24aの値を1だけデ
クリメントする。
【0051】転送制御回路23は第2の受信用保持手段
及び第2の送信用保持手段としての奇数/偶数フラグレ
ジスタ23aを備えている。同レジスタ23aには、各
ブロックの受信の開始時において、当該ブロックに先行
するブロックのために受信されたデータが、前記バイト
数レジスタ20aに設定されたバイト数に従ってMPU
11によって読み出されるとき、各ブロックの最後の1
バイトのデータがレジスタ28に残っているかどうかの
有無情報を示すフラグが設定される。また、同レジスタ
23aには、各ブロックの送信の開始時において当該ブ
ロックに先行するブロックのために入力されたデータ
が、前記バイト数カウンタ24bに設定されたバイト数
に従って送信されるとき、各ブロックの最後の1バイト
のデータがレジスタ28に残っているかどうかの有無情
報を示すフラグが設定される。すなわち、1ブロック分
の送信又は受信が完了したとき、各ブロックの最後の1
バイトのデータがデータレジスタ28に残っている場合
にはフラグレジスタ23aには奇数フラグ「1」が設定
され、当該ブロックの最後の1バイトのデータがデータ
レジスタ28に残っていない場合にはフラグレジスタ2
3aには偶数フラグ「0」が設定される。
【0052】内部プロセッサ20は、1ブロック分のデ
ータの送信又は受信に先立って、フラグレジスタ23a
の値及びバイト数レジスタ20aに格納されている1ブ
ロック分のバイト数に基づいて、前記バイトカウンタ2
4aのバイト数を以下の表2,表3に示すように変更さ
せるための指示を転送制御回路23に対して行う。ま
た、1ブロック分のデータのバイトカウンタ24bの値
が奇数であると、プロセッサ20はフラグレジスタ23
aの値を変更させるための指示を転送制御回路23に対
して行う。カウンタ24bの値が偶数であると、プロセ
ッサ20はフラグレジスタ23aの値を保持させるため
の指示を転送制御回路23に対して行う。なお、表2,
表3において1ブロックのバイト数がNであり、M1〜
M8はブロック単位のモードである。
【0053】
【表2】
【0054】
【表3】
【0055】次に上記のように構成されたSCSI装置
7が実行するデータ転送を図4のフローチャートに従っ
て説明する。ステップ41,42,44,48,49,
50は内部プロセッサ20によって実行される処理であ
り、ステップ43,45,46,47,51,52は転
送制御回路23によって実行される処理である。
【0056】まず、ステップ41でデータ転送が送信で
あると判定されると、ステップ49でバイト数レジスタ
20aに保持された値に基づいて転送すべきデータセッ
トのブロックを構成するバイト数が奇数であるかどうか
が判定される。ステップ49でバイト数が偶数であると
判定されると、ステップ44でバイト数が奇数であるか
どうかが判定される。この場合にはバイト数が偶数であ
るため、ステップ46に進む。ステップ46では、デー
タが2バイト単位で1ブロック分のバイト数に達するま
で、送信先に転送される。ステップ47ではブロックカ
ウンタ24aの値から1が引かれるとともに、バイトカ
ウンタ24bの値がバイト数レジスタ20aに保持され
た元の値に変更される。
【0057】ステップ48で未転送(未送信)のブロッ
ク数が0かどうかが判定される。ステップ48でブロッ
ク数が0でないと判定されると、前記ステップ41に戻
り、ステップ41,49,44,46,47,48の処
理が繰り返し実行される。ステップ48でブロック数が
0である、すなわち、データセットのすべてのデータが
転送されたと判定されると、送信の処理が終了される。
【0058】ステップ49で転送すべきデータセットの
ブロックを構成するバイト数が奇数であると判定される
と、ステップ50でフラグレジスタ23aの値が奇数フ
ラグであるかどうかが判定される。ステップ50で奇数
フラグであると判定されると、ステップ51でバイトカ
ウンタ24bの値に1が加えられ、ステップ44に進
む。ステップ50で偶数フラグであると判定されると、
ステップ52でバイトカウンタ24bの値から1が引か
れ、ステップ44に進む。
【0059】ステップ44ではバイト数が奇数であるか
どうかが判定される。この場合にはバイト数が奇数であ
るため、ステップ45でフラグレジスタ23aの奇数/
偶数フラグが反転される。ステップ46では、データが
2バイト単位で1ブロック分のバイト数に達するまで、
ターゲットに転送される。ステップ47ではブロックカ
ウンタ24aの値から1が引かれるとともに、バイトカ
ウンタ24bの値がバイト数レジスタ20aに保持され
た元の値に変更される。
【0060】ステップ48でブロック数が0でないと判
定されると、前記ステップ41に戻り、ステップ41,
49,50以降の処理が繰り返し実行される。ステップ
48でブロック数が0である、すなわち、データセット
のすべてのデータが転送されたと判定されると、送信の
処理が終了される。
【0061】また、ステップ41でデータ転送が受信で
あると判定されると、ステップ42でフラグレジスタ2
3aの値が奇数フラグであるかどうかが判定される。ス
テップ42で奇数フラグであると判定されると、ステッ
プ43でバイトカウンタ24bの値から1が引かれ、ス
テップ44に進む。ステップ42で偶数フラグであると
判定されると、ステップ44に進む。
【0062】ステップ44でバイト数が偶数であると判
定されると、ステップ46に進む。ステップ44でバイ
ト数が奇数であると判定されると、ステップ45でフラ
グレジスタ23aの奇数/偶数フラグが反転され、ステ
ップ46に進む。ステップ46では、データが2バイト
単位で1ブロック分のバイト数に達するまで、受信先か
ら転送される。ステップ47ではブロックカウンタ24
aの値から1が引かれるとともに、バイトカウンタ24
bの値がバイト数レジスタ20aに保持された元の値に
変更される。
【0063】ステップ48で未転送(未受信)のブロッ
ク数が0かどうかが判定される。ステップ48でブロッ
ク数が0でないと判定されると、前記ステップ41に戻
り、ステップ41,42以降の処理が繰り返し実行され
る。ステップ48でブロック数が0である、すなわち、
データセットのすべてのデータが受信されたと判定され
ると、受信の処理が終了される。
【0064】いま、ブロック数が固定(偶数)であり、
かつ、ブロックのバイト数が5バイト(奇数)であるデ
ータセットをはじめて送信する場合について説明する。
1ブロック目の送信では、バイト数が5バイトであるた
め、前記表2に示すモードM3に該当する。そのため、
バイト数から1が引かれ、4バイトとなる。奇数/偶数
フラグが偶数「0」から奇数「1」に反転される。すな
わち、1ブロック目の送信においては、4バイトのデー
タがSCSIバス4を介して2バイト単位で2度送信さ
れ、1ブロック目の最後の1バイトはデータレジスタ2
8に残される。1ブロック目の送信が完了すると、バイ
トレジスタ24bの値は元の5バイトに変更される。
【0065】2ブロック目の送信では、奇数/偶数フラ
グが奇数「1」であるため、表2に示すモードM4に該
当する。そのため、バイト数に1が加えられ、6バイト
となる。奇数/偶数フラグが奇数「1」から偶数「0」
に反転される。すなわち、2ブロック目の送信において
は、データレジスタ28に残っている1バイトのデータ
と2ブロック目の5バイトのデータとの6バイトのデー
タがSCSIバス4を介して3度送信される。そのた
め、SCSIバス4の上位8ビットに無効なデータとし
てのダミーデータが送出されることはない。2ブロック
目の転送が完了すると、バイトレジスタ24bの値は元
の5バイトに変更される。
【0066】3ブロック目以降の送信では、モードM
3,M4が交互に繰り返され、前記と同様にして奇数/
偶数フラグの制御及びバイト数の制御が行われ、データ
セットの送信が完了する。このデータセットの送信完了
時において、データレジスタ28にはデータが残ってお
らず、しかもSCSIバス4の上位8ビットにはダミー
データが1度も送出されない。
【0067】また、ブロック数が可変(1ブロック)で
あり、かつ、ブロックのバイト数が奇数であるデータセ
ットを送信した後、ブロックのバイト数が偶数であるデ
ータセットを送信し、引き続きブロック数が可変(1ブ
ロック)であり、かつ、ブロックのバイト数が奇数であ
るデータセットを送信する場合について説明する。
【0068】1つ目のデータセットの送信では、奇数/
偶数フラグが偶数「0」であり、バイト数Nが奇数であ
るため、前記表2に示すモードM3に該当する。そのた
め、バイト数から1が引かれ、(N−1)バイトとな
る。(N−1)は偶数となる。奇数/偶数フラグが偶数
「0」から奇数「1」に反転される。すなわち、このデ
ータセットの送信においては、(N−1)バイトのデー
タがSCSIバス4を介して2バイト単位で複数回送信
され、ブロックの最後の1バイトはデータレジスタ28
に残されて送信が終了する。
【0069】2つ目のデータセットの送信では、ブロッ
クのバイト数Nが偶数であり、奇数/偶数フラグが奇数
「1」であるため、前記表2のモードM2に該当する。
モードM2では奇数/偶数フラグの制御及びバイト数の
制御は行われない。そのため、このデータセットの1ブ
ロック目の送信においては、データレジスタ28に残っ
た1バイトのデータを含むN(偶数)バイトのデータが
SCSIバス4を介して2バイト単位で複数回送信され
る。その結果、1ブロック目の最後の1バイトのデータ
がデータレジスタ28に残る。
【0070】このデータセットの2ブロック目以降の送
信において、奇数/偶数フラグが奇数「1」に保持され
てモードM2が維持される。そのため、前記同様にして
各ブロックのN(偶数バイト)のデータが2バイト単位
で複数回送信されて各ブロックの送信が完了すると、各
ブロックの最後の1バイトのデータがデータレジスタ2
8に残る。その結果、2つ目のデータセットの最後のブ
ロックの最後の1バイトはデータレジスタ28に残され
て送信が完了する。
【0071】さらに、3つ目のデータセットの送信で
は、奇数/偶数フラグが奇数「1」であり、バイト数N
が奇数であるため、表2に示すモードM4に該当する。
そのため、バイト数に1が加えられ、(N+1)バイト
となる。(N+1)は偶数である。奇数/偶数フラグが
奇数「1」から偶数「0」に反転される。すなわち、3
つ目のデータセットの送信においては、データレジスタ
28に残った1バイトのデータとブロックのNバイトの
データとの(N+1)バイトのデータが2バイト単位で
複数回送信されて、送信が終了する。そのため、SCS
Iバス4の上位8ビットにダミーデータが送出されるこ
とはない。
【0072】次に、ブロック数が固定(偶数)であり、
かつ、ブロックのバイト数が5バイト(奇数)であるデ
ータセットを受信する場合について説明する。1ブロッ
ク目の受信では、5バイト目のデータを受信するときに
SCSIバス4の上位8ビットにもデータが転送されて
きているため、データレジスタ28には6バイトのデー
タが格納される。このとき、バイト数が5バイトであ
り、奇数/偶数フラグが偶数「0」であるため、前記表
3に示すモードM7に該当する。そのため、バイト数は
5バイトに保持される。奇数/偶数フラグが偶数「0」
から奇数「1」に反転される。MPU11はデータレジ
スタ28から5バイトのデータしか読み出さないため、
データレジスタ28には1バイトのデータが残る。1ブ
ロック目の受信が完了すると、バイトレジスタ24bの
値は元の5バイトに変更される。
【0073】2ブロック目の受信では、奇数/偶数フラ
グが奇数「1」であるため、表3に示すモードM8に該
当する。そのため、バイト数から1が引かれ、4バイト
の受信となる。奇数/偶数フラグが奇数「1」から偶数
「0」に反転される。すなわち、2ブロック目の受信に
おいては、データレジスタ28には1ブロック目の受信
で残った1バイトのデータと2ブロック目の4バイトの
データとの5バイトのデータが格納される。MPU11
はデータレジスタ28の5バイトのデータを読み出し、
データレジスタ28からは2ブロック目までのデータが
過不足なく読み出される。2ブロック目の受信が完了す
ると、バイトレジスタ24bの値は元の5バイトに変更
される。
【0074】3ブロック目以降の受信では、モードM
7,M8が交互に繰り返され、前記と同様にして奇数/
偶数フラグの制御及びバイト数の制御が行われ、データ
セットの受信が終了する。このデータセットの受信終了
時において、データレジスタ28にはデータが残ってい
ない。また、このデータセットの受信終了時において、
ダミーデータを1度も受信していないので、MPU11
はダミーデータを除去する必要がない。
【0075】また、ブロック数が可変(1ブロック)で
あり、かつ、ブロックのバイト数が奇数であるデータセ
ットを受信した後、ブロックのバイト数が偶数であるデ
ータセットを受信し、引き続きブロック数が可変(1ブ
ロック)であり、かつ、ブロックのバイト数が奇数であ
るデータセットを受信する場合について説明する。
【0076】1つ目のデータセットの受信では、Nバイ
ト目のデータを受信するときにSCSIバス4の上位8
ビットにもデータが転送されてきているため、データレ
ジスタ28には(N+1)バイトのデータが格納され
る。このとき、バイト数Nが奇数であり、奇数/偶数フ
ラグが偶数「0」であるため、前記表3に示すモードM
7に該当する。そのため、バイト数はNに保持される。
奇数/偶数フラグが偶数「0」から奇数「1」に反転さ
れる。MPU11はデータレジスタ28からNバイトの
データしか読み出さないため、データレジスタ28には
1バイトのデータが残されて受信が終了する。
【0077】2つ目のデータセットの受信では、ブロッ
クのバイト数Nが偶数であり、奇数/偶数フラグが奇数
「1」であるため、前記表3のモードM6に該当する。
モードM6では奇数/偶数フラグの制御は行われない。
このデータセットの1ブロック目の受信では、バイト数
から1が引かれ、(N−1)バイトの受信となる。(N
−1)は奇数である。ところが、(N−1)バイト目の
データを受信するときにSCSIバス4の上位8ビット
にもデータが転送されてきているため、データレジスタ
28にはNバイトのデータが格納される。このデータセ
ットの1ブロック目の受信においては、データレジスタ
28には1つ目のデータセットの受信で残った1バイト
のデータと1ブロック目のNバイトのデータとの合計
(N+1)バイトのデータが格納される。MPU11は
データレジスタ28からNバイトのデータしか読み出さ
ないため、データレジスタ28には1バイトのデータが
残されて2つ目のデータセットの1ブロック目の受信が
完了する。1ブロック目の受信が完了すると、バイトレ
ジスタ24bの値は元のNバイトに変更される。
【0078】このデータセットの2ブロック目以降の受
信において、奇数/偶数フラグが奇数「1」に保持され
てモードM6が維持される。そのため、バイト数から1
が引かれ、(N−1)バイトの受信となる。(N−1)
バイト目のデータを受信するときにSCSIバス4の上
位8ビットにもデータが転送されてきているため、デー
タレジスタ28にはNバイトのデータが格納される。2
ブロック目以降の各ブロックの受信において、各ブロッ
クの最後の1バイトのデータがデータレジスタ28に残
る。MPU11はデータレジスタ28からNバイトのデ
ータしか読み出さないため、2つ目のデータセットの最
後のブロックの最後の1バイトのデータがデータレジス
タ28に残されて受信が終了する。
【0079】さらに、3つ目のデータセットの受信で
は、奇数/偶数フラグが奇数「1」であり、バイト数N
が奇数であるため、表3に示すモードM8に該当する。
そのため、バイト数から1が引かれ、(N−1)バイト
の受信となる。(N−1)は偶数である。そのため、デ
ータレジスタ28には2つ目のデータセットの受信で残
った1バイトのデータと受信した(N−1)バイトとの
合計Nバイトのデータが格納される。奇数/偶数フラグ
は奇数「1」から偶数「0」に反転される。この3つ目
のデータセットの受信終了時において、MPU11はデ
ータレジスタ28からNバイトのデータを読み出すた
め、データレジスタ28にはデータが残っていない。ま
た、このデータセットの受信終了時において、ダミーデ
ータを1度も受信していないので、MPU11はダミー
データを除去する必要がない。
【0080】このように、本実施例のSCSI装置7
は、16ビット幅のSCSIバス4を介して2バイト単
位で、複数のデータセットを送信する場合において、S
CSIバス4の上位8ビットにダミーデータを出力せず
に済むため、データ転送の効率を向上することができ
る。また、データ転送の効率の向上を、転送制御回路2
3に設けたフラグレジスタ23aという簡単な構成によ
って達成できるため、SCSI装置7のコストの上昇を
抑制できる。
【0081】また、本実施例のSCSI装置7は、フラ
グレジスタ23aを設けることによって、図4に示すよ
うにデータ転送のためのプログラムのステップ数を低減
して処理の簡素化を図ることができる。
【0082】なお、本実施例における受信時において、
表3に示すモードM6におけるバイト数をNに保持する
ようにすれば、設定されたバイト数と実際に受信される
バイト数とを一致させることができる。また、モードM
7におけるバイト数を(N+1)に変更すれば、設定さ
れたバイト数と実際に受信されるバイト数とを一致させ
ることができる。
【0083】
【発明の効果】以上詳述したように、請求項1〜3及び
8の発明によれば、各データセットの送信の終了時にお
いて、無効なデータが送信されることはなく、2バイト
単位でのデータの送信効率を向上できる。
【0084】請求項4〜6及び請求項9の発明によれ
ば、各データセットの受信の終了時に受信すべきデータ
セットを確実に受信することができ、2バイト単位での
データの受信効率を向上できる。
【0085】請求項7及び請求項10の発明によれば、
各データセットの送信の終了時において、無効なデータ
が送信されることはなく、2バイト単位でのデータの送
信効率を向上できるとともに、各データセットの受信の
終了時に受信すべきデータセットを確実に受信すること
ができ、2バイト単位でのデータの受信効率を向上でき
る。
【図面の簡単な説明】
【図1】本発明を具体化した一実施例のSCSI装置を
示すブロック図である。
【図2】データ伝送システムを示すブロック図である。
【図3】パーソナルコンピュータを示すブロック図であ
る。
【図4】一実施例の作用を示すフローチャートである。
【図5】パーソナルコンピュータのデータ送信を示すタ
イムチャートである。
【図6】パーソナルコンピュータのデータ送信を示すタ
イムチャートである。
【図7】パーソナルコンピュータのデータ受信を示すタ
イムチャートである。
【図8】パーソナルコンピュータのデータ受信を示すタ
イムチャートである。
【図9】従来のSCSI装置の作用を示すフローチャー
トである。
【符号の説明】
20 送信用変更手段、受信用変更手段、送信用判定手
段及び受信用判定手段を構成する内部プロセッサ 20a 第1の送信用保持手段及び第1の受信用保持手
段としてのバイト数レジスタ 23 送信用変更手段、受信用変更手段、送信制御手
段、受信制御手段、第1,第2の送信用設定手段及び第
1,第2の受信用設定手段を構成する転送制御回路 23a 第2の送信用保持手段及び第2の受信用保持手
段としての奇数/偶数フラグレジスタ 24a ブロックカウンタ 24b バイトカウンタ 28 送信用記憶手段及び受信用記憶手段としてのデー
タレジスタ 31 送信手段及び受信手段としてのスモールコンピュ
ータシステムインターフェース

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ所定のバイト数のデータで複数
    のデータセットが構成され、各データセットのデータを
    2バイト単位で送信するとともに、データセット毎に順
    次送信可能なデータ送信装置において、 送信すべきデータセットのデータを記憶するための送信
    用記憶手段(28)と、 前記送信用記憶手段(28)に記憶されたデータをその
    入力順に2バイト単位で送信するための送信手段(3
    1)と、 各データセットの送信において、前記送信用記憶手段
    (28)に記憶された各データセットのデータの多くと
    も最後の1バイトのデータが残るように、かつ、各デー
    タセットに先行するデータセットの前記送信用記憶手段
    (28)に残されたデータを含めて当該データセットに
    関して送信されるデータのバイト数が偶数となるように
    各データセットのバイト数を変更する送信用変更手段
    (20,23)と、 送信すべきデータセットのデータが前記送信用記憶手段
    (28)に記憶されたとき、前記送信手段(31)を制
    御してデータの送信を開始させるとともに、前記送信手
    段(31)によって送信されたバイト数が前記送信用変
    更手段(20,23)によって変更されたバイト数に達
    したとき、前記送信手段(31)を制御して各データセ
    ットの送信を終了させるための送信制御手段(23)と
    を備えるデータ送信装置。
  2. 【請求項2】 前記データセットは、所定数のブロック
    からなるとともに、各ブロックは所定のバイト数のデー
    タからなり、 送信が完了したブロック数をカウントするためのブロッ
    クカウンタ(24a)と、 送信したバイト数をカウントするためのバイトカウンタ
    (24b)とを備える請求項1に記載のデータ送信装
    置。
  3. 【請求項3】 前記送信用変更手段は、 送信すべきブロックのバイト数を保持するための第1の
    送信用保持手段(20a)と、 各ブロックの送信の開始時において、当該ブロックに先
    行するブロックの最後のデータが前記送信用記憶手段
    (28)に残っているかどうかの有無情報を保持するた
    めの第2の送信用保持手段(23a)と、 前記第1の送信用保持手段(20a)に保持されたバイ
    ト数が奇数であるかどうかを判定する送信用判定手段
    (20)と、 前記送信用判定手段(20)によってバイト数が奇数で
    あると判定されたとき、前記第2の送信用保持手段(2
    3a)の有無情報を反転させて各ブロックの送信の終了
    時における当該ブロックの最後のデータの有無情報とし
    て設定させる第1の送信用設定手段(23)と、 前記送信用判定手段(20)によってバイト数が奇数で
    あると判定されたとき、前記第2の送信用保持手段(2
    3a)の情報が有りのときには前記バイトカウンタ(2
    4b)のバイト数を1加算した値に変更し、前記第2の
    送信用保持手段(23a)の情報が無しのときには前記
    バイトカウンタ(24b)のバイト数を1減算した値に
    変更する第2の送信用設定手段(23)とを含む請求項
    2に記載のデータ送信装置。
  4. 【請求項4】 それぞれ所定のバイト数のデータで複数
    のデータセットが構成され、データを2バイト単位で受
    信するとともに、データセット毎に順次受信可能なデー
    タ受信装置において、 データを2バイト単位で受信するための受信手段(3
    1)と、 前記受信手段(31)が受信したデータを受信すべきデ
    ータセットのデータとして入力順に記憶するための受信
    用記憶手段(28)と、 各データセットの受信において、前記受信用記憶手段
    (28)に記憶された各データセットのデータから受信
    すべきデータセットのデータを除いたときその受信した
    データセットの多くとも最後の1バイトのデータが残る
    ように、かつ、各データセットに先行するデータセット
    の前記受信用記憶手段(28)に残されたデータを含め
    て当該データセットに関して受信されるデータのバイト
    数が偶数となるように各データセットのバイト数を変更
    する受信用変更手段(20,23)と、 前記受信手段(31)によって受信されたバイト数が前
    記受信用変更手段(20,23)によって変更されたバ
    イト数に達したとき、前記受信手段(31)を制御して
    各データセットの受信を終了させるための受信制御手段
    (23)とを備えるデータ受信装置。
  5. 【請求項5】 前記データセットは、所定数のブロック
    からなるとともに、各ブロックは所定のバイト数のデー
    タからなり、 受信が完了したブロック数をカウントするためのブロッ
    クカウンタ(24a)と、 受信したバイト数をカウントするためのバイトカウンタ
    (24b)とを備える請求項4に記載のデータ受信装
    置。
  6. 【請求項6】 前記受信用変更手段は、 受信すべきブロックのバイト数を保持するための第1の
    受信用保持手段(20a)と、 各ブロックの受信の開始時において、当該ブロックに先
    行するブロックの最後のデータが前記受信用記憶手段
    (28)に残っているかどうかの有無情報を保持するた
    めの第2の受信用保持手段(23a)と、 前記第1の受信用保持手段(20a)に保持されたバイ
    ト数が奇数であるかどうかを判定する受信用判定手段
    (20)と、 前記受信用判定手段(20)によってバイト数が奇数で
    あると判定されたとき、前記第2の受信用保持手段(2
    3a)の有無情報を反転させて各ブロックの受信の終了
    時における当該ブロックの最後のデータの有無情報とし
    て設定させる第1の受信用設定手段(23)と、 前記第2の受信用保持手段(23a)の情報が有りのと
    きには前記バイトカウンタ(24b)のバイト数を1減
    算した値に変更する第2の受信用設定手段(23)とを
    含む請求項5に記載のデータ受信装置。
  7. 【請求項7】 それぞれ所定のバイト数のデータで複数
    のデータセットが構成され、各データセットのデータを
    2バイト単位で送信するとともに、データセット毎に順
    次送信可能なデータ送信装置と、データを2バイト単位
    で受信するとともに、データセット毎に順次受信可能な
    データ受信装置とを備えたデータ伝送装置において、 前記データ送信装置は、送信すべきデータセットのデー
    タを記憶するための送信用記憶手段(28)と、前記送
    信用記憶手段(28)に記憶されたデータをその入力順
    に2バイト単位で送信するための送信手段(31)と、
    各データセットの送信において、前記送信用記憶手段
    (28)に記憶された各データセットのデータの多くと
    も最後の1バイトのデータが残るように、かつ、各デー
    タセットに先行するデータセットの前記送信用記憶手段
    (28)に残されたデータを含めて当該データセットに
    関して送信されるデータのバイト数が偶数となるように
    各データセットのバイト数を変更する送信用変更手段
    (20,23)と、送信すべきデータセットのデータが
    前記送信用記憶手段(28)に記憶されたとき、前記送
    信手段(31)を制御してデータの送信を開始させると
    ともに、前記送信手段(31)によって送信されたバイ
    ト数が前記送信用変更手段(20,23)によって変更
    されたバイト数に達したとき、前記送信手段(31)を
    制御して各データセットの送信を終了させるための送信
    制御手段(23)とを備え、 前記データ受信装置は、データを2バイト単位で受信す
    るための受信手段(31)と、前記受信手段(31)が
    受信したデータを受信すべきデータセットのデータとし
    て入力順に記憶するための受信用記憶手段(28)と、
    各データセットの受信において、前記受信用記憶手段
    (28)に記憶された各データセットのデータから受信
    すべきデータセットのデータを除いたときその受信した
    データセットの多くとも最後の1バイトのデータが残る
    ように、かつ、各データセットに先行するデータセット
    の前記受信用記憶手段(28)に残されたデータを含め
    て当該データセットに関して受信されるデータのバイト
    数が偶数となるように各データセットのバイト数を変更
    する受信用変更手段(20,23)と、前記受信手段
    (31)によって受信されたバイト数が前記受信用変更
    手段(20,23)によって変更されたバイト数に達し
    たとき、前記受信手段(31)を制御して各データセッ
    トの受信を終了させるための受信制御手段(23)とを
    備えるデータ伝送装置。
  8. 【請求項8】 それぞれ所定のバイト数のデータで複数
    のデータセットが構成され、各データセットのデータを
    2バイト単位で送信するとともに、データセット毎に順
    次送信するようにしたデータ送信方法において、 送信すべきデータセットのデータを送信用記憶手段(2
    8)に記憶し、 各データセットの送信において、前記送信用記憶手段
    (28)に記憶された各データセットのデータの多くと
    も最後の1バイトのデータが残るように、かつ、各デー
    タセットに先行するデータセットの前記送信用記憶手段
    (28)に残されたデータを含めて当該データセットに
    関して送信されるデータのバイト数が偶数となるように
    各データセットのバイト数を変更し、 送信すべきデータセットのデータが前記送信用記憶手段
    (28)に記憶されたとき、データの送信を開始して前
    記送信用記憶手段(28)に記憶されているデータを2
    バイト単位で送信し、送信されたバイト数が前記変更さ
    れたバイト数に達したとき、各データセットの送信を終
    了するようにしたデータ送信方法。
  9. 【請求項9】 それぞれ所定のバイト数のデータで複数
    のデータセットが構成され、データを2バイト単位で受
    信するとともに、データセット毎に順次受信するように
    したデータ受信方法において、 受信したデータを受信すべきデータセットのデータとし
    て入力順に受信用記憶手段に記憶し、 各データセットの受信において、前記受信用記憶手段
    (28)に記憶された各データセットのデータから受信
    すべきデータセットのデータを除いたときその受信した
    データセットの多くとも最後の1バイトのデータが残る
    ように、かつ、各データセットに先行するデータセット
    の前記受信用記憶手段(28)に残されたデータを含め
    て当該データセットに関して受信されるデータのバイト
    数が偶数となるように各データセットのバイト数を変更
    し、 受信されたバイト数が前記変更されたバイト数に達した
    とき、各データセットの受信を終了するようにしたデー
    タ受信方法。
  10. 【請求項10】 それぞれ所定のバイト数のデータで複
    数のデータセットが構成され、各データセットのデータ
    を2バイト単位で送信するとともに、データセット毎に
    順次送信し、データを2バイト単位で受信するととも
    に、データセット毎に順次受信するようにしたデータ伝
    送方法において、 送信すべきデータセットのデータを送信用記憶手段(2
    8)に記憶し、各データセットの送信において、前記送
    信用記憶手段(28)に記憶された各データセットのデ
    ータの多くとも最後の1バイトのデータが残るように、
    かつ、各データセットに先行するデータセットの前記送
    信用記憶手段(28)に残されたデータを含めて当該デ
    ータセットに関して送信されるデータのバイト数が偶数
    となるように各データセットのバイト数を変更し、送信
    すべきデータセットのデータが前記送信用記憶手段(2
    8)に記憶されたとき、データの送信を開始して前記送
    信用記憶手段(28)に記憶されているデータを2バイ
    ト単位で送信し、送信されたバイト数が前記変更された
    バイト数に達したとき、各データセットの送信を終了
    し、 受信したデータを受信すべきデータセットのデータとし
    て入力順に受信用記憶手段に記憶し、各データセットの
    受信において、前記受信用記憶手段(28)に記憶され
    た各データセットのデータから受信すべきデータセット
    のデータを除いたときその受信したデータセットの多く
    とも最後の1バイトのデータが残るように、かつ、各デ
    ータセットに先行するデータセットの前記受信用記憶手
    段(28)に残されたデータを含めて当該データセット
    に関して受信されるデータのバイト数が偶数となるよう
    に各データセットのバイト数を変更し、受信されたバイ
    ト数が前記変更されたバイト数に達したとき、各データ
    セットの受信を終了するようにしたデータ受信方法。
JP12934094A 1994-06-10 1994-06-10 データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法 Expired - Lifetime JP3529429B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP12934094A JP3529429B2 (ja) 1994-06-10 1994-06-10 データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法
US08/486,289 US5640602A (en) 1994-06-10 1995-06-07 Transferring digital data in units of 2 bytes to increase utilization of a 2-byte-wide bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12934094A JP3529429B2 (ja) 1994-06-10 1994-06-10 データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法

Publications (2)

Publication Number Publication Date
JPH07334454A true JPH07334454A (ja) 1995-12-22
JP3529429B2 JP3529429B2 (ja) 2004-05-24

Family

ID=15007194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12934094A Expired - Lifetime JP3529429B2 (ja) 1994-06-10 1994-06-10 データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法

Country Status (2)

Country Link
US (1) US5640602A (ja)
JP (1) JP3529429B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296481B2 (en) 2010-06-09 2012-10-23 Fujitsu Semiconductor Limited Device and method for improving transfer efficiency of odd number of data blocks

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3562126B2 (ja) * 1996-04-09 2004-09-08 株式会社デンソー Dma制御装置
JP3635169B2 (ja) * 1996-11-20 2005-04-06 松下電器産業株式会社 データ伝送装置
KR100207541B1 (ko) * 1996-12-30 1999-07-15 윤종용 디지탈 비디오 디스크 롬 인터페이스 장치 및 방법
US6487631B2 (en) * 1999-02-02 2002-11-26 Qlogic Corporation Circuit and method for monitoring sector transfers to and from storage medium
EP1233522A1 (en) * 2001-02-14 2002-08-21 Siemens Aktiengesellschaft A data compression/decompression method and apparatus
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7080188B2 (en) 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for embedded disk controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US7757009B2 (en) * 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4225919A (en) * 1978-06-30 1980-09-30 Motorola, Inc. Advanced data link controller
US5185694A (en) * 1989-06-26 1993-02-09 Motorola, Inc. Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies
US5452432A (en) * 1990-08-14 1995-09-19 Chips And Technologies, Inc. Partially resettable, segmented DMA counter
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
EP0539782B1 (en) * 1991-10-28 1999-04-21 Eastman Kodak Company Circuit for controlling data transfer from VME bus to SCSI disk drive
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5550989A (en) * 1993-05-28 1996-08-27 International Business Machines Corporation Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths
US5550972A (en) * 1993-06-30 1996-08-27 Microsoft Corporation Method and apparatus for efficient transfer of data to memory
US5559969A (en) * 1994-08-09 1996-09-24 Unisys Corporation Method and apparatus for efficiently interfacing variable width data streams to a fixed width memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296481B2 (en) 2010-06-09 2012-10-23 Fujitsu Semiconductor Limited Device and method for improving transfer efficiency of odd number of data blocks

Also Published As

Publication number Publication date
JP3529429B2 (ja) 2004-05-24
US5640602A (en) 1997-06-17

Similar Documents

Publication Publication Date Title
JPH07334454A (ja) データ伝送装置及びデータ伝送方法
US5764927A (en) Backplane data transfer technique for industrial automation controllers
US5745708A (en) Method for and apparatus for operating a local communications module in arbitrating for mastership of a data transfer across a back plane bus in industrial automation controller
JPS604624B2 (ja) 正しくない情報フレ−ムを再送するシステム
US6751686B2 (en) Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium
JPS6339072A (ja) デ−タ処理システム
JPH0221619B2 (ja)
JPH06301644A (ja) データ転送方法
KR20040066311A (ko) 직접 메모리 접근매체의 데이터 전송 장치 및 방법
JPH02245860A (ja) アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法
US6883042B1 (en) Method and structure for automatic SCSI command delivery using the packetized SCSI protocol
JPH02268046A (ja) パケット多重化装置
JPH0756803A (ja) 高速dma転送装置
JPH0478249A (ja) 通信制御方法
JPH0353736A (ja) 受信バッファ制御方式
JPH07235951A (ja) Hdlcフレーム送出制御回路
JP3299021B2 (ja) マルチバスii−scsiバスデータ転送方法および装置
JPH0417492B2 (ja)
JP3266789B2 (ja) 通信制御装置
JPS6028344A (ja) パケツト交換機
JP2001005742A (ja) データ転送方式
JPH02250453A (ja) データ受信装置
JPS615652A (ja) Hdlc手順のポ−リング制御送信処理方式
JP2000172307A (ja) プロセスデータ収集装置の更新方法
JPS6294042A (ja) 通信制御装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040225

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080305

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120305

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 10

EXPY Cancellation because of completion of term