(57)【特許請求の範囲】
【請求項１】
エラー訂正処理部と、第1の記憶部と、アドレス発生部と、フレーム処理部とを有し、フレーム単位に構成される任意長の情報をＮバイト単位で媒体から読み出して上位へ転送するデータ転送制御装置であって、
前記エラー訂正処理部は、媒体から前記情報がＭフレーム（Ｍは整数）読み出される間に前記情報の１フレーム以上の情報をエラー訂正するものであり、
前記第１の記憶部は、それぞれ１フレーム以上の情報を格納することができるＭ個の領域を有するものであり、
前記アドレス発生部は、外部から設定された任意のデータ長（フレーム単位）の情報を格納する任意データ長認識部と、Ｎ個のメモリ素子の使用情報を格納するメモリ数認識部と、該任意のデータ長の情報とＮ個のメモリ素子の使用情報とにより、特定アドレスを設定するアドレスロード値設定回路と、前記媒体の走行方向を判断するための走行方向判断回路と、該走行方向判断回路によって順方向／逆方向を判断した結果によってアドレス順序を切り替えるＦＷＤ／ＢＷＤ切替え回路と、前記第１の記憶部に格納されたデータを読み出しまたは書き込みする際に制御されるアドレスカウンタ回路を有するものであり、
前記アドレスカウンタ回路は、前記アドレスロード値設定回路によってアドレスロード値がセットされ、順次インクリメントしていくＷＲＩＴＥカウンタと、前記ＦＷＤ／ＢＷＤ切替え回路によって切り替えられる走行方向別アドレス制御部によって、順方向の場合には前記アドレスロード値設定回路から得られる開始アドレスがセットされると共に順次インクリメントし、逆方向の場合には前記アドレスロード値設定回路から得られる終了アドレスがセットされると共にデクリメントするＲＥＡＤカウンタを有するものであり、
さらに前記アドレスカウンタ回路は、前記媒体からの情報の読み出しが順方向で行われる場合と逆方向で行われる場合に応じて、前記第１の記憶部のＭ個の領域のアドレスをそれぞれ順方向または逆方向に指定し、到達する情報を１フレームずつ前記第１の記憶部に格納する指令を発するものであり、
前記フレーム処理部は、前記走行方向判断回路によって前記媒体からの情報の読み出しが逆方向であると判断された場合に各フレーム毎に１フレームを構成するＮバイト単位のデータを順方向に変換し、該変換されたＮバイト単位のデータを前記エラー訂正処理回路と前記第１の記憶部とに出力するものであり、
前記変換されたＮバイト単位のデータは、前記アドレス発生部のＷＲＩＴＥカウンタとＲＥＡＤカウンタとによって前記第１の記憶部の書込み、読み取りのアドレスが設定され、
前記媒体から読み出された情報は、前記エラー訂正処理部出力と前記第１の記憶部に記録された対応する情報とによってエラー訂正された情報を作成することを特徴とするデータ転送制御装置。
【請求項２】
前記フレーム単位に構成される任意長の情報を、前記第１の記憶部の特定領域へ並列に書き込むことを特徴とする請求項１記載のデータ転送制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送制御装置、特に磁気テープ等の媒体に記録されたフレーム単位に構成された任意長の情報を上位へ転送するためのデータ転送制御装置に関する。
【０００２】
近年、周辺制御装置の分野においても、処理データの大容量化・転送速度の高速化・装置の信頼性の向上が要求されてきた。それに加えて、エラー訂正機能の高機能化や、走行方向においても、それぞれに応じてデータ書き込み読み出し動作を行う必要が生じてきた。
【０００３】
【従来の技術】
従来、データ転送装置において、データを一時的に格納し、転送タイミングを換える手段としてはマルチプレクサ（セレクタ）や、メモリ等の素子を用いてデータ転送方法を制御する方式が一般的に使われていた。しかし、エラー訂正方式の高機能化や、順方向、逆方向のデータ書き込み読み出し動作などに対応するためには、単にメモリ素子を追加するとか、セレクタで各々のケースに対応して切り替え制御を行うといった方法をとった場合、将来、大容量化・高速化・高信頼化といった要求に対して、回路が複雑化してしまい、重ねて回路の規模を増大させてしまうという欠点もあり、回路設計の効率化という面においては必ずしも最善の方法ではなかった。
【０００４】
【発明が解決しようとする課題】
転送されてきたデータに対して、次段階へ転送するまでにエラー訂正等の処理を行う場合、エラー訂正等の処理に一定の時間を要するため、一時的にデータを格納する手段が必要である。その手段として、メモリ素子やＦＦ、マルチプレクサ、セレクタ等の素子の使用を最小限とし、順方向や逆方向のライト・リード動作に対応するために、データ転送に関して、メモリアドレスを制御する方法を工夫する必要がある。
【０００５】
【課題を解決するための手段】
本発明のデータ転送制御装置は、図１の原理説明図に示すように構成される。即ち、媒体から前記情報がＭフレーム（Ｍは整数）読み出される間に前記情報の１フレーム以上のエラーを訂正するエラー訂正処理部２１と、それぞれ１フレーム以上の情報を格納することができるＭ個の領域を有する第１の記憶部２２と、任意のデータの情報を格納する任意データ長認識部と、Ｎ個のメモリ素子の使用情報を格納するメモリ数認識部と、該任意のデータの情報とＮ個のメモリ素子の使用情報とにより、特定アドレスを設定するアドレスロード値設定回路と、前記媒体の走行方向判別するための走行方向判断回路と、該走行方向判断回路によって順方向／逆方向を判断した結果によってアドレス順序を切り替えるＦＷＤ／ＢＷＤ切替え回路と、前記第１の記憶部に格納されたデータを読み出しまたは書き込みする際に制御されるアドレスカウンタ回路を有するものであり、前記アドレスカウンタ回路は、前記アドレスロード値設定回路によってアドレスロード値がセットされ、順次インクリメントしていくＷＲＩＴＥカウンタと、前記ＦＷＤ／ＢＷＤ切替え回路によって切り替えられる走行方向別アドレス制御部によって、順方向の場合には前記アドレスロード値設定回路から得られる開始アドレスがセットされると共に順次インクリメントし、逆方向の場合には前記アドレスロード値設定回路から得られる終了アドレスがセットされると共にデクリメントするＲＥＡＤカウンタを有し、前記媒体からの情報の読み出しが順方向で行われる場合と逆方向で行われる場合に応じて、前記第１の記憶部２２のＭ個の領域のアドレスをそれぞれ順方向または逆方向に指定し、到達する情報を1フレームずつ前記第１の記憶部に格納する指令を発するアドレス発生部２３とを有し、フレーム処理部は、前記走行方向判断回路によって前記媒体からの情報の読み出しが逆方向であると判断された場合に各フレーム毎に１フレームを構成するＮバイト単位のデータを順方向に変換し、該変換されたＮバイト単位のデータを前記エラー訂正処理回路と前記第１の記憶部とに出力するものであり、前記変換されたＮバイト単位のデータは、前記アドレス発生部のＷＲＩＴＥカウンタとＲＥＡＤカウンタとによって前記第１の記憶部の書込み、読み取りのアドレスが設定され、フレーム単位に構成される任意長の情報をＮバイト単位で媒体から読み出して上位へ転送するデータ転送制御装置であって、前記媒体から読み出された情報は、前記エラー訂正処理部２１出力と前記第１の記憶部２２に記録された対応する情報とによってエラー訂正された情報を作成するように構成する。
【０００６】
また、前記構成において、前記フレーム単位に構成される任意長の情報を、前記第１の記憶部22の特定領域へ並列に書き込むことも行う。
さらに、前記の構成に加えて、前記エラー訂正された情報を格納する第２の記憶部24と、エラー訂正された情報の任意のデータの番地を指定するデータ採取制御部25とを設け、エラー訂正された情報の任意のデータを採取する構成とすることも出来る。
【０００７】
【発明の実施の形態】
以下、図２〜図９を用いて説明する。図２は本発明の基本構成図である。図２において、１は媒体、２は外部から任意データ長（フレーム単位）の情報を格納する任意データ長認識部、３はデータ転送高速化のため、Ｎ個（任意の数）のメモリ素子の使用情報を格納するメモリ数認識部、４は特定アドレス値を設定するアドレスロード値設定回路、５は媒体の走行方向（順方向、逆方向）において、エラー訂正処理回路に入力するデータ順序を切り替えるためのＦＷＤ／ＢＷＤ切り替え回路（図中では、切替回路と表示する事がある）、６は媒体（テープ等）の走行方向（順方向、逆方向）を判別するための走行方向判断回路である。７はメモリに格納されたデータを読み出しまたは書き込みする際に制御されるアドレスカウンタ回路、８は転送されてきたデータに対してエラー訂正を行うエラー訂正処理回路、９はデータを格納するための第１のメモリ（ＳＲＡＭ(1))、10はデータ抜き取りタイミングを変更する際のプログラム可能なプログラマブル位置設定部、11はエラー訂正後の情報の一部のデータを抜き取りたい場合、読み取り方向によって切り替え可能な任意データ採取制御部、12は任意データ採取制御部11から出力された第２のメモリ14へのアドレスとデータ抜き取りアドレスとを比較するアドレス比較部、13はアドレス比較部12により一致したタイミングでデータを抜き取るデータ採取部、14はデータを格納するための第２のメモリ (ＳＲＡＭ(2))、15はフレーム単位並べ替え回路で、媒体１からの情報の読み出しが逆方向で行われる場合に各フレーム毎にフレームを構成するバイト単位のデータを順方向に変換（並べ替え）するものである。
【０００８】
媒体１から読み出されたデータは、次段へデータを転送するまでにエラー訂正等の処理を行うために一時的にバッファリングしなければならない。データを第１のメモリ９に格納する際、格納するメモリアドレスはアドレスカウンタ回路７によって決定される。そのカウンタ制御には、ロードする値・タイミングが重要であり、その情報はアドレスロード値設定回路４で作成される。
【０００９】
また、カウンタの出力値は第１のメモリ９のアドレス線（ＡＤ）に入力されており、データを第１のメモリ９の決まった領域に格納するようにアドレス制御するようになっている。
【００１０】
図２に記号２〜７で示す各回路からなるアドレス発生部（図１におけ記号23に相当する）には次の３つの機能がある。第１は、読み取り走行方向によって切り替えるＦＷＤ／ＢＷＤ切替え回路５があり、走行方向判断回路６によって順方向／逆方向を判断した結果によってアドレス順を切り替えることである。特に走行方向が逆方向の場合には、フレーム単位並べ替え回路15によって、各フレーム毎にフレームを構成するバイト単位のデータを順方向に並べ替える。これは、エラー訂正処理の演算がフレーム毎に順方向に行われるからである。このように順方向／逆方向の対応した制御を行うことによって、順方向と逆方向の別々のエラー訂正演算処理回路を作成する必要がなくなる。
【００１１】
第２は、外部から任意データ長（フレーム単位）の情報を格納する任意データ長認識部２があり、その設定を行うことによってメモリのデータを壊すことなくデータ転送を可能とすることである。第３は、データ転送高速化のため、Ｎ個のメモリ素子の使用情報を格納するメモリ数認識部３があり、メモリ数を増やすことにより、より多くの情報を並列に転送することを可能とすることである。なおエラー訂正後の情報の一部のデータを抜き取る場合については、後述する。
【００１２】
図３はフレームデータの書き込みと読み出しを説明するためのフレームデータ転送タイミング図である。図２において、媒体１から読みだされたリードデータが１バイト単位で転送されてきた場合、アドレスロード値設定回路４によって設定されたフレーム単位のグループ毎に決められたＳＲＡＭ(1) ９の格納アドレス（ロード値）にデータが１バイト格納される。その後アドレスカウンタ回路７によってアドレスがインクリメントし、データが１バイトずつグループ毎に格納されていく。
【００１３】
ところで、１フレームのデータ（例えば１８バイト）を転送する場合、エラー訂正処理回路８においてエラー訂正処理演算を行う際、エラーチェック処理に１フレーム、エラー訂正処理に１フレームかかるため、データを書き込んだ後、同一のアドレスのデータを読み出すには、図３のように２フレームの遅れが生じる。そのためにデータをＳＲＡＭ(1) ９に格納するグループを３つに分け、外部から設定された任意データ長（フレーム単位）の情報により決定された（任意データ長認識部２）書き込み、読み出しのそれぞれの開始、終了アドレスを別々にロード値として設定する。
【００１４】
図４は、メモリマップ図であり、グループ毎のメモリ格納領域を示したものである。図４において、▲１▼▲２▼▲３▼はフレーム単位群のデータのグループ番号を示す。同じく図４において、００，１２，２４は順方向（ＦＷＤ）の場合における、又１１，２３，３５は逆方向（ＢＷＤ）の場合における、各グループのデータを格納する領域を表したアドレス初期値（ロード値）である。これらの初期値は、各フレームの長さ（任意データ長認識部）の設定情報から算出されるものである。
【００１５】
グループ▲１▼の書き込みタイミングの場合、００がアドレスロード値としてセットされ、メモリ格納領域の００にデータが１バイト格納される。格納領域の同一アドレスを読み出すのに２フレーム遅れるのは決まっているため、図３に示す通り、グループ▲３▼をライトしている時はグループ▲１▼をリードし、グループ▲１▼をライトしている時はグループ▲２▼をリードし、グループ▲２▼をライトしている時はグループ▲３▼をリードするようにライト、リード時それぞれについてアドレスロード値設定回路４、アドレスカウンタ回路７を設定する。
【００１６】
また、エラー訂正処理はフレーム毎に行われるが、フレームを構成するバイト単位の情報の順序は順方向でなければ正しいエラー訂正処理が行われない。そこで、媒体１の走行方向が逆で、媒体１から逆方向に送られてくるデータをエラー訂正処理する場合、フレーム単位並べ替え回路15において各フレーム毎にバイト単位のデータを順方向に並べ変えて、エラー訂正処理回路８およびＳＲＡＭ(1) ９に入力する。このように、媒体に書き込まれたデータを読み出す場合は、順方向（ＦＷＤ）と逆方向（ＢＷＤ）でデータ並びが逆なため、ＢＷＤリード時は、ＦＷＤリード時とは読み出しアドレス制御を切り替えることを行っている。
【００１７】
具体的には、ＦＷＤ／ＢＷＤ各々の走行方向を判断する走行方向判断回路６によって走行方向を判別し、リードアドレス順を制御する切り替え回路５によって切り替える。つまり、ＦＷＤの場合はグループの開始アドレスをロードし、カウンタ値を１づつ増やしていくが、ＢＷＤの場合は、グループの終了アドレスをロード値とし、カウンタ値を１づつ減らしていくようにする。
【００１８】
グループ▲１▼をＢＷＤでリードする場合を例にとると、ＲＥＡＤカウンタをＦＷＤ／ＢＷＤ切り替え回路５でＢＷＤモードに切り替えると、アドレスロード設定値は１１となり、以後ダウンカウントするようになる。このことにより、ＦＷＤリード時と、ＢＷＤリード時での読み出し順序を切り替えることができる。
【００１９】
また、記録媒体１から読みだされたリードデータが複数バイト単位で転送されてきた場合に関しては、基本的には１バイト単位の転送時と同様だが、データ転送高速化のためＮバイト（Ｎは任意の整数）とすることにより実現できる。このＮはメモリ数認識部３において認識される。
【００２０】
図５は、図３のフレームデータ転送タイミング図の詳細タイミングを示したのものである。 (イ) は媒体（テープ）走行方向が順方向（ＦＷＤ）時、 (ロ) は逆方向（ＢＷＤ）時のタイミングであり、図５で示すタイミングの範囲はいずれも図３においてＷＲＩＴＥ動作がグループ▲３▼からグループ▲１▼へ、ＲＥＡＤ動作がグループ▲１▼からグループ▲２▼へ移行するタイミングである。
【００２１】
まず、図２内のアドレスカウンタ回路７においては、ＷＲＩＴＥカウンタにアドレスロード値設定回路４によってアドレスロード値（初期値）”２４”がセットされる。同時に、アドレスカウンタ回路７内の走行方向別アドレス制御部によってＦＷＤと判別された場合、ＲＥＡＤカウンタに”００”がセットされる。これが図３におけるＷＲＩＴＥ▲３▼、ＲＥＡＤ▲１▼のタイミングである。その後、順次ＷＲＩＴＥ、ＲＥＡＤカウンタが、１ずつインクリメントしていく。
【００２２】
ＷＲＩＴＥカウンタに初期値”２４”がセットされ、１ずつインクリメントされている様子を図５内のＷＲ（ＦＷＤ、ＢＷＤ）ＡＤＲＳのタイミングとして、ＲＥＡＤカウンタに初期値”００”がセットされて１ずつインクリメントされている様子を図５内のＲＤ（ＦＷＤ）ＡＤＲＳのタイミングとして表している。
【００２３】
同様に、ＢＷＤと判別された場合は、ＷＲＩＴＥカウンタに”２４”がセットされると同時にＲＥＡＤカウンタに”１１”がセットされ、ＷＲＩＴＥカウンタは１ずつインクリメント、ＲＥＡＤカウンタは１づつデクリメントしていく。この際、ＲＥＡＤグループはＦＷＤの場合と同じ▲１▼で、ＦＷＤの場合と読み出す順序が逆になっている。逆方向読出動作は、エラー訂正処理回路８において必要な動作となる。ＢＷＤの場合のＷＲＩＴＥ、ＲＥＡＤカウンタのインクリメント、デクリメントの様子は、図５ (ロ) で  、ＷＲ（ＦＷＤ、ＢＷＤ）ＡＤＲＳ、ＲＤ（ＢＷＤ）ＡＤＲＳのタイミングとして表している。この、各々のカウンタの値がＳＲＡＭ(1) ９のアドレスに入力され、ＳＲＡＭ(1) ９にデータを格納する領域を制御する。
【００２４】
次にエラー訂正後の情報の一部の抜き取りについて説明する。エラー訂正後の情報の一部のデータを抜き取りたい場合、媒体１の走行方向によって切り替え可能な任意データ採取制御部11により、データの採取を行いたいアドレスを発生させ、第１のメモリ９のアドレスと比較するアドレス比較部12により一致したタイミングでデータ採取部13でデータの抜き取りを行う。データの抜き取りタイミングの変更は、プログラム可能なプログラマブル位置設定部10により容易に変更可能であり、また外部からの設定を容易とするためレジスタ等で保持できるものとする。任意データ採取制御部11により確定されたアドレス値は、第１のメモリ９のアドレスと一致したかどうかはアドレス比較部により決定され、一致したタイミングで第２のメモリ14から出力された訂正後のデータをデータ採取部13により抜き取る。
【００２５】
図６は、ＳＲＡＭ(2) 14のメモリマップ図である。図中、▲１▼および▲２▼はフレーム単位のデータグループ番号であり、００および２０は各グループのデータを格納する領域を表したアドレス初期値（ロード値）である。
【００２６】
図７は、ＳＲＡＭ(2) データ転送タイミング図であり、グループ別のＷＲＩＴＥ動作とＲＥＡＤ動作のタイミングを示したものである。
図８と図９とはＳＲＡＭ(2) のタイミング図で、図８はＦＷＤ時のタイミングをまた図９はＢＷＤ時のタイミングを示す。図８中、（イ）全体はＤＡＴＡの単位である１ＢＬＯＣＫのＤＡＴＡを示している。（ロ）詳細１Ａは抜き取りデータ部分を拡大したものである。（ハ）詳細２Ａは、ＳＲＡＭ(2) への、ＷＲＩＴＥ  Ｅｎａｂｌｅ／ＲＥＡＤ  Ｅｎａｂｌｅ／ＡＤＲＥＳＳ値により詳細なタイミングを示している。
【００２７】
なお、（ロ）詳細１Ａおよび（ハ）詳細２Ａでは、ＷＲＩＴＥ／ＲＥＡＤタイミングがＧＲＯＵＰ１／２と重なっているが、（ハ）詳細２Ａに示すように、ＲＥＡＤ  ａｆｔｅｒ  ＷＲＩＴＥ動作なので、Ｄａｔａの安全性は保障される。また、Ｄａｔａを抜き取りタイミングは、（ハ）詳細２Ａに示すように、実例ではＳＲＡＭ(2) の"0E"または"2E"から抜き取る。なお、"0E"と"2E"の違いは１ブロックのデータの長さによって切り替える必要がある。
【００２８】
図９中、（イ）全体はＤＡＴＡの単位である１ＢＬＯＣＫのＤＡＴＡを示している。（ロ）詳細１Ｂは抜き取りデータ部分を拡大したものである。（ハ）詳細２Ｂは、ＳＲＡＭ(2) への、ＷＲＩＴＥ  Ｅｎａｂｌｅ／ＲＥＡＤ  Ｅｎａｂｌｅ／ＡＤＲＥＳＳ値により詳細なタイミングを示している。実例ではＳＲＡＭ(2) の"03"から抜き取る。
【００２９】
なお、ＳＲＡＭ(2) は、ＳＲＡＭ(1) の大きさ（増設量）によって、ＳＲＡＭ(1) と同様の変更が必要になる。
【００３０】
【発明の効果】
上記方法によれば、データ可変長・データ転送の高速化・媒体からの読み出しデータ順が順方向や逆方向に変化した場合・高性能なエラー訂正演算処理を行う際に、フレーム単位としてデータのずれが生じた場合など、より高度、複雑になりつつあるデータ転送制御方式に対して、以上に挙げた要因を総括的に対処することが可能となる。
【００３１】
従来の、こういったデータ転送制御を行う場合の常套手段である、データ格納やバッファ制御を行うためにＦＦやセレクタといった素子を闇雲に追加する、という方法に対し、以上の制御を行うことにより、データ格納やバッファ制御を行うために使用される素子の絶対数を最小限に抑え、回路規模の増大、複雑化を防ぎ、開発期間の短縮、開発費の低減、さらにはテスト項目の簡略化をも図ることが出来る。即ち、開発期間の縮小、コストダウン、試験工程の簡略化など、多方面にわたって効率面での向上が可能となる。
【図面の簡単な説明】
【図１】  原理説明図
【図２】  基本構成図
【図３】  フレームデータ転送タイミング図
【図４】  ＳＲＡＭ（１）メモリマップ図
【図５】  ライトリードタイミング図
【図６】  ＳＲＡＭ（２）メモリマップ図
【図７】  ＳＲＡＭ（２）データ転送タイミング図
【図８】  ＳＲＡＭ（２）タイミング図（ＦＷＤ）
【図９】  ＳＲＡＭ（２）タイミング図（ＢＷＤ）
【符号の説明】
１は媒体、
２は任意データー長認識部、
３はメモリ数認識部、
４はアドレスロード値設定回路、
５はＦＷＤ／ＢＷＤ切り替え回路（ＦＷＤ／ＢＷＤ切替回路）、
６は走行方向判断回路、
７はアドレスカウンタ回路、
８はエラー訂正処理回路、
９は第１のメモリ (ＳＲＡＭ(1))、
10はプログラマブル位置設定部、
11は任意データ採取制御部、
12はアドレス比較部、
13はデータ採取部、
14は第２のメモリ (ＳＲＡＭ(2))、
15はフレーム単位並べ替え回路、
21はエラー訂正処理部、
22は第１の記憶部、
23はアドレス発生部、
24は第２の記憶部、
25はデータ採取制御部、
26はフレーム処理部。
【図１】
0003966944.tif 000002
【図２】
0003966944.tif 000003
【図３】
0003966944.tif 000004
【図４】
0003966944.tif 000005
【図５】
0003966944.tif 000006
【図６】
0003966944.tif 000007
【図７】
0003966944.tif 000008
【図８】
0003966944.tif 000009
【図９】
0003966944.tif 000010