JPH10154065A - バス制御装置 - Google Patents

バス制御装置

Info

Publication number
JPH10154065A
JPH10154065A JP31491396A JP31491396A JPH10154065A JP H10154065 A JPH10154065 A JP H10154065A JP 31491396 A JP31491396 A JP 31491396A JP 31491396 A JP31491396 A JP 31491396A JP H10154065 A JPH10154065 A JP H10154065A
Authority
JP
Japan
Prior art keywords
data
transfer
bus
control device
semiconductor memory
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.)
Withdrawn
Application number
JP31491396A
Other languages
English (en)
Inventor
Masahide Ikenaga
雅英 池永
Naoshi Higaki
直志 檜垣
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 Ltd
Original Assignee
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 Ltd filed Critical Fujitsu Ltd
Priority to JP31491396A priority Critical patent/JPH10154065A/ja
Publication of JPH10154065A publication Critical patent/JPH10154065A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、バス制御装置に関し、自動的にデ
ータを圧縮して半導体メモリへの又は半導体メモリから
のデータ転送を高速で行うことを目的とする。 【解決手段】 バス制御装置3は、データの転送の際、
先頭のワードとこれ以降のワードの各々とを所定の単位
で比較し、先頭のワードとこれ以降のワードの各々の内
で前記比較において先頭のワードと一致しなかった部分
とを転送用圧縮データとして転送すると共に、比較の結
果に基づいて作成したエンコード情報を転送する。バス
制御装置3は、転送されたデータの受信の際、転送用圧
縮データ及びエンコード情報を受信すると共に、受信し
たエンコード情報を用いて、受信した転送用圧縮データ
から前記複数のワードからなるデータを得る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バス制御装置に関
し、特に、半導体メモリと半導体メモリコントローラと
の間のデータ転送におけるバス制御装置に関する。
【0002】
【従来の技術】半導体メモリと半導体メモリコントロー
ラとの間におけるデータ転送は、通常、転送すべきデー
タをそのままの形で転送することにより行われる。ここ
で、半導体メモリは、例えばDRAMのような半導体装
置からなる記憶装置であって、制御回路を含む。半導体
メモリコントローラは、例えばMPUのような半導体メ
モリに書き込むべきデータを転送し、半導体メモリから
読み出されたデータが転送される装置であって、データ
処理機能を有する装置である。
【0003】例えば、半導体メモリコントローラから半
導体メモリにデータを転送する(書き込む)場合、半導
体メモリコントローラは当該データをそのままの形(長
さ)で半導体メモリに転送する。即ち、当該データがプ
ログラム(又はプロセス)からのデータ圧縮の指示によ
り予め圧縮されたデータであれば当該圧縮されたデータ
が転送され、圧縮されないデータであれば当該圧縮され
ないデータが転送される。当該圧縮されたデータは半導
体メモリにおいてそのまま格納される。
【0004】逆に、半導体メモリから半導体メモリコン
トローラにデータを送る(読み出す)場合、半導体メモ
リは、当該データが当該半導体メモリに格納されていた
ままの形(長さ)で半導体メモリコントローラに転送す
る。即ち、半導体メモリに圧縮されたデータが格納され
ていたら当該圧縮されたデータが転送され、圧縮されな
いデータが格納されていたら当該圧縮されないデータが
転送される。当該圧縮されたデータは半導体メモリコン
トローラにおいて伸張される。
【0005】
【発明が解決しようとする課題】前述した従来の半導体
メモリと半導体メモリコントローラとの間におけるデー
タ転送によれば、同一のデータが連続したり又は繰り返
される場合でも、そのままの形(長さ)で転送される。
即ち、転送の過程で、プログラム(又はプロセス)から
のデータ圧縮の指示なしで自動的にデータ圧縮が行われ
ることはない。従って、当該データ転送に要する時間は
当該データの長さによって定まり、これよりも短い時間
で終了することはない。
【0006】しかし、転送すべきデータ中に同一のデー
タが連続したり等する場合、これを利用してデータ圧縮
が可能なはずである。そこで、プログラム等からのデー
タ圧縮の指示なしで自動的にデータの転送元においてデ
ータを圧縮し受信側において伸張できれば、データ転送
時間をデータの大きさによって定まる時間よりも短くで
き、高速にデータ転送を終了することができるはずであ
る。また、このためには、圧縮データの転送先におい
て、自動的に(プログラムの負担なしで)圧縮データを
伸張(解凍)できることが必要である。
【0007】一方、半導体メモリと半導体メモリコント
ローラとの間におけるデータ転送においては、通常用い
られるデータ圧縮方法をそのまま適用することはできな
い。即ち、通常用いられるデータ圧縮方法はデータの圧
縮の過程が複雑であるため、エンコーダ及びデコードに
時間を要する。このため、レーテンシー(又はメモリア
クセス時間)が長くなり、高速性が要求され頻繁に行わ
れる半導体メモリと半導体メモリコントローラとの間に
おけるデータ転送には適用できない。
【0008】本発明は、自動的にデータを圧縮して、半
導体メモリと半導体メモリコントローラとの間における
データ転送を高速で行うバス制御装置を提供することを
目的とする。
【0009】
【課題を解決するための手段】図1は本発明の原理構成
図であり、本発明によるバス制御装置を示す。図1
(A)において、バス制御装置3は、半導体メモリ2と
半導体メモリコントローラ1との間でのデータ転送を、
これらの間を接続するバス4を介して行う。
【0010】バス制御装置3は、複数のデータブロック
からなるデータを転送する際に、先頭のデータブロック
と、これ以降のデータブロックの各々とを所定の単位で
比較し、先頭のデータブロックとこれ以降のデータブロ
ックの各々の内で前記比較における先頭のデータブロッ
クと一致しなかった部分とを転送用圧縮データとして転
送する。これと共に、バス制御装置3は比較の結果に基
づいて作成したエンコード情報を転送する。
【0011】一方、バス制御装置3は、複数データブロ
ックからなるデータを受信する際に、先頭のデータブロ
ックと、これ以降のデータブロックの各々の内の先頭の
データブロックとの所定の単位での比較の結果当該先頭
のデータブロックと一致しなかった部分とからなる転送
用圧縮データを受信し、比較の結果に基づいて作成され
たエンコード情報を受信する。そして、バス制御装置3
は、受信したエンコード情報を用いて、受信した転送用
圧縮データから前記複数データブロックからなるデータ
を得る。
【0012】本発明のバス制御装置3によれば、転送す
べきデータ中に同一のデータが連続したり又は繰り返さ
れたりする場合、これを利用して高速にかつ自動的にデ
ータ圧縮が可能である。
【0013】例えば、図1(B)に示すように、データ
#1及びデータ#2の2個のデータブロック(ワード又
は語)からなるデータを転送する場合を考える。なお、
1データブロックは4バイトからなるものとする。
【0014】転送時において、バス制御装置3は、図示
の先頭のデータブロックであるデータ#1とこれ以降の
データブロックであるデータ#2とを、例えばバイト単
位で比較する。この比較の結果、データ#1とデータ#
2の1バイト目は一致し、2バイト目乃至4バイト目は
不一致となる。バス制御装置3は、この比較の結果に基
づいて、一致を“1”とし不一致を“0”とすることに
より、4ビットのエンコード情報“1000”を得る。
バス制御装置3は、先頭のデータブロック(データ#
1)と、これ以降のデータブロック(データ#2)の内
で前記比較における先頭のデータブロックと一致しなか
った部分(2バイト目乃至4バイト目)とを、転送用圧
縮データとして転送すると共に、エンコード情報も転送
する。
【0015】これにより、本来は2データブロック即ち
8バイトのデータ長である転送すべきデータを7バイト
に圧縮できる(4ビットからなるエンコード情報を加え
ても60ビットに圧縮できる)。また、このデータ圧縮
において、エンコード情報は各ビットについて単純に一
致/不一致を検出するのみで形成できるので、簡単にか
つ高速で形成できる。また、転送用圧縮データは、一致
/不一致の検出結果(又はエンコード情報)に従って、
一致した部分を削除することにより形成できるので、簡
単にかつ高速で形成できる。
【0016】一方、受信時において、バス制御装置3
は、先頭のデータブロック(データ#1)と、これ以降
のデータブロック(データ#2)の内で先頭のデータブ
ロックと一致しなかった部分(2バイト目乃至4バイト
目)とからなる転送用圧縮データを受信すると共に、エ
ンコード情報を受信する。そして、バス制御装置3は、
受信したエンコード情報を用いて、受信した転送用圧縮
データを伸張して元の複数のデータブロックからなるデ
ータを得る。即ち、まず、先頭のデータブロック(デー
タ#1)はそのままとする。一方、エンコード情報“1
000”は、先頭以降のデータブロック(データ#2)
の内、1バイト目が一致し、2バイト目乃至4バイト目
は不一致であることを示している。そこで、バス制御装
置3は、先頭以降のデータブロック(データ#2)に対
して、エンコード情報により指定された位置である1バ
イト目の位置に、先頭のデータブロック(データ#1)
の当該部分である1バイト目を付加する。
【0017】これにより、元のデータ#2が得られ(圧
縮されたデータが伸張され)、元の複数のデータブロッ
クからなるデータを得ることができる。このデータ伸張
は、エンコード情報に基づいて、先頭のデータブロック
の内のエンコード情報により指定された部分を他のデー
タブロックに付加するのみであるので、簡単にかつ高速
で行うことができる。
【0018】
【発明の実施の形態】図2は本発明の一例であり、図2
(A)は、半導体メモリ2であるDRAMと半導体メモ
リコントローラであるMPU1との間に、バス4として
1ビット幅のデータのシリアル転送を行う1本の双方向
バス(メモリバス)41を設けた例である。この例にお
いて、データの読み出し(DRAM2からMPU1への
データ転送)及びデータの書き込み(MPU1からDR
AM2へのデータ転送)が、当該1本の双方向バス41
を介して行われる。データ圧縮の結果を示すエンコード
情報も当該双方向バス41を介して転送される。
【0019】バス制御装置3はMPU1及びDRAM2
の双方に設けられ、転送回路部分(エンコーダ付きバス
プロトコル変換器)31及び受信回路部分(デコーダ付
きバスプロトコル変換器)32からなる。なお、必要に
応じて、MPU1側のバス制御装置3のエンコーダ付き
バスプロトコル変換器31及びDRAM2側のデコーダ
付きバスプロトコル変換器32を省略しても良く、逆
に、MPU1側のバス制御装置3のデコーダ付きバスプ
ロトコル変換器32及びDRAM2側のエンコーダ付き
バスプロトコル変換器31を省略しても良い。
【0020】この例のメモリバスプロトコルは、図2
(B)に示すように、MPUとDRAMの間の双方向に
データ転送情報、アドレス情報、エンコード置情報及び
転送用圧縮データをこの順でシリアル転送するように、
予め定められる。即ち、パケットの先頭から順に、1バ
イトのデータ転送情報(制御情報)cnt、4バイトの
アドレス情報add、2バイトのエンコード情報、一例
としての12バイト(後述する)の転送用圧縮データ
が、バス制御装置3により連続して転送される。この例
のメモリバスプロトコルはデータの書き込み時及び読み
出し時において同様である。なお、データ転送情報cn
t、アドレス情報add及び圧縮前の(16バイトの)
転送用圧縮データは、転送制御回路5から与えられる。
【0021】書き込み時の転送用圧縮データは、MPU
1に設けられたバス制御装置3のエンコーダ付きバスプ
ロトコル変換器31において圧縮されたものである。こ
の転送用圧縮データを受信したDRAM2は、当該圧縮
データをDRAM2に設けられたバス制御装置3のデコ
ーダ付きバスプロトコル変換器32において伸張(復
号)し、この伸張した状態でDRAM2に記憶する。読
み出し時の転送用圧縮データは、DRAM2(の制御回
路)のバス制御装置3のエンコーダ付きバスプロトコル
変換器31において圧縮されたものである。この転送用
圧縮データを受信したMPU1は、当該圧縮データをM
PU1のバス制御装置3のデコーダ付きバスプロトコル
変換器32において伸張(復号)し、この伸張した状態
で当該データを用いたデータ処理を行う。
【0022】ここで、本発明のデータ圧縮について図3
により説明する。図3(A)に示すように、この例で
は、1データブロックが1ワード(又は語)であり、1
ワードが4バイトからなるデータが4ワード(4個)あ
るとする。これらを順にデータ#1乃至データ#4とす
る。
【0023】先頭(転送の順が1番目)のワードである
データ#1がデータ圧縮の基本データとされる。先頭の
ワードに続く(連続して転送される)各ワードであるデ
ータ#2乃至データ#4が圧縮対象データとされ、これ
らの各々が基本データであるデータ#1と比較される。
この比較は、所定の単位、例えば1バイト(8ビット)
単位で行われる。この比較は2バイト単位又は4ビット
単位で行ってもよい。比較の単位は必要に応じて任意に
定めることができる。
【0024】比較の結果、基本データのバイトデータと
一致することを“1”(又は“0”)で表し、不一致で
あることを“0”(又は“1”)で表すと、1ワード当
り4ビットの一致/不一致信号が得られる。一致するバ
イトデータの当該ワード内における位置に対応する位置
に、対応する一致/不一致信号の各ビットを並べる。こ
れにより、基本データ以外の各圧縮対象データについて
のエンコード情報が得られる。基本データについてのエ
ンコード情報は存在しない。なお、エンコード情報は一
致するバイトデータの存在する位置(従って、付加すべ
きバイトデータの位置)を示すので、以下、これを位置
情報と言う。
【0025】例えば、データ#2について見ると、その
1バイト目“aa”は基本データであるデータ#1の1
バイト目“aa”と一致する(同一である)が、2バイ
ト目乃至4バイト目は一致しない(同一でない)。従っ
て、図3(A)に示すように、データ#2の位置情報は
“1000”となる。同様に、データ#3の位置情報は
“1010”、データ#4の位置情報は“1000”と
なる。なお、データ#1の位置情報を例えば“111
1”としてこれを位置情報の先頭に加えても良い。これ
により、転送用圧縮データのワード数と位置情報の数と
を一致させ、データ#1が基本情報であることを受信側
のバス制御装置3に示すことができる。
【0026】以上のエンコードの結果に従って、図3
(B)に示すように、データ#1乃至データ#4が圧縮
される。即ち、データ#1は、基本データであり伸張に
おいて必要であるので、そのままとされる。データ#2
は、1バイト目の同一のバイトデータ“aa”が省略さ
れ、本来の2バイト目乃至4バイト目のみからなる3バ
イトのデータとされる。データ#3は、1バイト目及び
3バイト目の“aa”が省略され、2バイト目及び4バ
イト目のみからなる2バイトのデータとされる。データ
#4は、1バイト目の“aa”が省略され、2バイト目
乃至4バイト目のみからなる3バイトのデータとされ
る。この結果、16バイト(4ワード)のデータが12
バイトに圧縮される。即ち、転送用圧縮データとして図
3(B)に示す12バイトのデータが得られる。また、
1ワード当り4ビットで合計12ビットの位置情報が得
られる。
【0027】この図3(B)に示す転送用圧縮データ及
び位置情報を受信した場合のデコードは以下のように行
われる。即ち、データ#1は、基本データであるので、
そのままとされる。データ#2は、その位置情報が“1
000”であるから、1バイト目が省略され、本来の2
バイト目乃至4バイト目のみからなる3バイトのデータ
であることが判る。そこで、データ#1の1バイト目の
バイトデータ“aa”を、データ#2の1バイト目の位
置に付加する。これにより、元のデータ#2が得られ
る。同様にして、位置情報が“1010”であるデータ
#3には1バイト目及び3バイト目に“aa”が付加さ
れ、位置情報が“1000”であるデータ#4には1バ
イト目に“aa”が付加される。以上により、転送用圧
縮データを伸張して元の4ワード(16バイト)のデー
タが得られる。
【0028】図4乃至図6はバス制御装置3の構成を示
す。特に、図4及び図6は、各々、バス制御装置3のエ
ンコーダ付きバスプロトコル変換器31及びデコーダ付
きバスプロトコル変換器32の構成を示す。図5はエン
コーダ付きバスプロトコル変換器31のエンコーダ66
の構成を示す。
【0029】図4において、エンコーダ付きバスプロト
コル変換器31は、4個のレジスタ61乃至64、選択
回路65、エンコーダ66及びバスプロトコル変換器6
7からなる。
【0030】バスプロトコル変換器67は、選択回路6
5からの出力及びエンコーダ66からの位置情報に基づ
いて、転送用圧縮データ及び位置情報を予め定められた
バスプロトコルに従って転送先のバス制御装置3に転送
する。即ち、図2(B)に示すメモリバスプロトコルに
従って、バスプロトコル変換器67は、1バイトのデー
タ転送情報cnt、4バイトのアドレス情報add、2
バイトの位置情報、12バイトの転送用圧縮データをこ
の順に転送する。位置情報は12ビットであるので、2
バイトが割り当てられる。位置情報は、転送用圧縮デー
タの伸張に用いられるので、これに先立って転送され
る。なお、データ転送情報cntにより、例えば読み出
し動作又は書き込み動作、データ長等が指定される。
【0031】まず、転送制御回路5が、転送すべきデー
タ#1乃至データ#4をレジスタ61乃至64に格納す
る。レジスタ61乃至64の個数、即ち、一度に転送す
べきデータのワード数は、必要に応じて変更することが
できる。レジスタ61乃至64の個数が例えば8個であ
る場合、位置情報はこれに等しいビット数(この場合は
8ビット)とされる。MPU1において、当該データは
データ処理部により作成されたものであり、DRAM2
において、当該データはメモリICから読み出されたも
のである。
【0032】これに続いて、転送制御回路5は、データ
転送情報cnt及びアドレス情報addをバスプロトコ
ル変換器67に入力する。バスプロトコル変換器67
は、パラレルデータであるデータ転送情報cntをシリ
アルデータに変換して双方向バス41上に送出し、続い
て、パラレルデータであるアドレス情報addをシリア
ルデータに変換して双方向バス41上に送出する。
【0033】これと並行して、エンコーダ66は位置情
報を形成する。即ち、エンコーダ66は、レジスタ61
に格納された基本データ(データ#1)と、レジスタ6
2乃至64に格納された変換対象データ(データ#2乃
至データ#4)の各々とを1バイト単位で比較し、その
一致/不一致を検出し、その結果として位置情報を形成
する。
【0034】エンコーダ66の構成を図5に示す。エン
コーダ66は、4個の単位回路70からなる。単位回路
70の各々は、8ビットのコンパレータ68と選択回路
69とからなる。コンパレータ68の一方の入力端子に
は、レジスタ61に格納された基本データ(データ#
1)の内の図示のバイトデータが入力される。コンパレ
ータ68の他方の入力端子には、レジスタ62乃至64
に格納された変換対象データ(データ#2乃至データ#
4)の内の図示のバイトデータが選択的に入力される。
コンパレータ68は、入力された8ビットの基本データ
と8ビットの変換対象データの各々のビットが全て一致
した場合には一致信号“1”を出力し、1ビットでも一
致しない場合には不一致信号“0”を出力する。これに
より、4個の単位回路70から4ビットの位置情報が得
られる。
【0035】各単位回路70の選択回路69は、同一の
タイミングで、データ#2乃至データ#4の所定のバイ
トをコンパレータ68に入力する。即ち、4個の単位回
路70において、レジスタ61に格納されたデータ#1
の所定のバイトデータがコンパレータ68の一方の入力
端子に入力され維持される。次のタイミングで選択回路
69がレジスタ62に格納されているデータ#2の所定
のバイトデータを、選択的にコンパレータ68の他方の
入力端子に入力する。これにより、直ちに4個の単位回
路70からデータ#2についての4ビットの位置情報が
出力される。同様にして、次のタイミングでデータ#3
についての位置情報が出力され、更に次のタイミングで
データ#4についての位置情報が出力される。これらの
位置情報をバスプロトコル変換器67は取り込んで保持
する。
【0036】アドレス情報addの送出を終了したバス
プロトコル変換器67は、これに続いて、保持している
12ビットのパラレルデータである位置情報を2バイト
のシリアルデータに変換して双方向バス41上に送出す
る。なお、このシリアル変換は12ビットの位置情報の
後に4ビットの無効ビット(例えば“0000”)を付
加することにより行われる。また、シリアルデータに変
換された位置情報の送出は、当該シリアル変換がハード
ウェアによって高速に行われるので、アドレス情報ad
dの送出に連続して行われる。これは、以下の転送用予
めデータの送出においても同様である。
【0037】位置情報の送出を終了したバスプロトコル
変換器67は、これに続いて、保持している位置情報を
用いて、データ#1乃至データ#4を圧縮して転送用圧
縮データを形成し、これを双方向バス41上に送出す
る。このために、選択回路65が、バスプロトコル変換
器67の制御の下で、位置情報の送出終了のタイミング
で、レジスタ61乃至64に格納されたデータ#1乃至
データ#4(パラレルデータ)をこの順で所定のタイミ
ングで選択的にバスプロトコル変換器67に送出する。
【0038】まず、バスプロトコル変換器67は、選択
回路65からのデータ#1を選択的に取り込んで、これ
をそのままシリアルデータに変換して双方向バス41上
に送出する。
【0039】次に、バスプロトコル変換器67は、デー
タ#1の送出終了のタイミングで選択回路65からのデ
ータ#2を選択的に取り込んで、対応する位置情報“1
000”に基づいて、一致信号“1”のあるバイトデー
タ即ち1バイト目をシリアルデータに変換することなく
廃棄し、不一致信号“0”のあるバイトデータ即ち2バ
イト目乃至4バイト目を連続したシリアルデータに変換
して双方向バス41上に送出する。以上の処理は、ハー
ドウェアによって高速におこなわれるので、データ#2
の2バイト目以下がデータ#1に連続して転送される。
【0040】同様にして、バスプロトコル変換器67
は、位置情報が“1010”であるデータ#3の2バイ
ト目及び4バイト目と、位置情報が“1000”である
データ#4の2バイト目乃至4バイト目とを連続したシ
リアルデータに変換して、連続して双方向バス41上に
送出する。この後、バスプロトコル変換器67は転送制
御回路5に対して転送終了を通知する。
【0041】以上により、バス制御装置3のエンコーダ
付きバスプロトコル変換器31において、高速にデータ
圧縮が行われ、この結果高速にデータ転送が行われる。
このデータ圧縮はバス制御装置3の転送制御回路5及び
プログラムからは全く見えない。従って、プログラムか
らこれを意識する必要は全くない。なお、このエンコー
ダ付きバスプロトコル変換器31は、MPU1側又はD
RAM2側の何れのものであっても良い。
【0042】図6において、デコーダ付きバスプロトコ
ル変換器32は、デコーダ71及びバスプロトコル変換
器72からなる。バスプロトコル変換器72は、シリア
ルパラレル変換器73、4個の選択回路74、シリアル
パラレル変換器75及び選択回路76からなる。
【0043】バスプロトコル変換器72は、デコーダ7
1からの制御信号に基づいて、予め定められたバスプロ
トコルに従って受信した転送用圧縮データを伸張する。
図2(B)のメモリバスプロトコルに従って、デコーダ
付きバスプロトコル変換器32は、1バイトのデータ転
送情報cnt、4バイトのアドレス情報add、2バイ
トの位置情報、12バイトの転送用圧縮データをこの順
に受信する。
【0044】まず、デコーダ付きバスプロトコル変換器
32は、シリアルデータであるデータ転送情報cntを
受信してこれをパラレルデータに変換して転送制御回路
5に送り、続いて、シリアルデータであるアドレス情報
addを受信してこれをパラレルデータに変換して転送
制御回路5に送る。
【0045】次に、デコーダ付きバスプロトコル変換器
32は、これに続いて、シリアルデータである位置情報
を受信して、これをデコーダ71に入力する。デコーダ
71は、2バイトのシリアルデータである位置情報を1
2ビットのパラレルデータに変換して格納する。デコー
ダ71は、格納した位置情報をデコードして、選択回路
74を制御するための制御信号を形成する。なお、この
パラレル変換において、12ビットの位置情報の後に付
加された4ビットの無効ビット(例えば“0000”)
は廃棄される。また、12ビットのパラレルデータは4
ビット毎に区切られ、その各々が位置情報とされる。
【0046】デコーダ付きバスプロトコル変換器32
は、これに続いて、シリアルデータである転送用圧縮デ
ータを受信し、これをパラレルデータに変換して転送制
御回路5に送る。
【0047】まず、デコーダ付きバスプロトコル変換器
32は、シリアルデータであるデータ#1を受信してシ
リアルパラレル変換器73に入力する。この後、シリア
ルパラレル変換器73の入力端子は閉じられる。従っ
て、データ#2乃至データ#4の受信期間中、データ#
1はシリアルパラレル変換器73に保持される。
【0048】シリアルパラレル変換器73は、受信した
転送用圧縮データの先頭のワードであるデータ#1(シ
リアルデータ)のみを取り込んで、パラレル変換して格
納する。これにより、データ伸張の基本データである4
バイト(32ビット)のデータ#1(パラレルデータ)
が復元される。シリアルパラレル変換器73はデータ#
1を選択回路74及び選択回路76に入力する。
【0049】シリアルパラレル変換器73は例えばシフ
トレジスタで構成され、32個の単位回路からなる。シ
リアルパラレル変換器73は、基本データ(データ#
1)を取り込む場合、32ビットのシフトレジスタとし
て動作し、転送用圧縮データをその先頭から32ビット
分だけ順に取り込んでシフトして、32ビットのパラレ
ルデータを得て、これをパラレル出力する。また、シリ
アルパラレル変換器73は、圧縮対象データ(データ#
2乃至データ#4)の受信の期間中、この受信タイミン
グに同期して、4個の独立した8ビットのシフトレジス
タとして動作し、格納するデータ#1の1バイト目乃至
4バイト目の各々をその先頭から順にシリアル出力す
る。メモリバスプロトコルが図2(B)に示すように予
め定まっているので、この動作の切り替えは自動的に行
われ、また、8ビットのデータのシリアル出力のタイミ
ングも自動的に定まる。
【0050】デコーダ71は、データ#1が入力されて
いる間4個の選択回路74の全てを閉じる制御信号を形
成して、4個の選択回路74が何も出力しないようにす
る。また、デコーダ71は、データ#1がパラレルデー
タに変換されたタイミングで、選択回路76がシリアル
パラレル変換器73の出力を選択する制御信号を形成す
る。選択回路76は、デコーダ71の制御の下で、選択
的に、シリアルパラレル変換器73の出力する32ビッ
トのパラレルデータであるデータ#1を、バス制御装置
3の32ビット幅のデータバス上に送出する。
【0051】次に、デコーダ付きバスプロトコル変換器
32はデータ#2を受信してバスプロトコル変換器72
に入力する。32ビットのシリアルデータであるデータ
#2が、その先頭から順に、4個の選択回路74の一方
の入力端子に共通に入力される。選択回路74の他方の
入力端子には、4バイトのパラレルデータを格納するシ
リアルパラレル変換器73の対応するバイトデータが、
再びシリアルデータとして入力される。
【0052】4個の選択回路74は、データ#2が入力
されている間、デコーダ71の制御の下で、シリアルパ
ラレル変換器73の出力するデータ#1の所定のバイト
データ又は受信した転送用圧縮データ(データ#2)の
バイトデータのいずれかを、位置情報に従って選択的に
所定のタイミングでシリアルパラレル変換器75に入力
する。即ち、4個の選択回路74は、データ#2に対応
する位置情報が“1000”であるので、シリアルパラ
レル変換器73の出力するデータ#1の1バイト目のバ
イトデータ及び受信したデータ#2の2バイト目乃至4
バイト目のバイトデータを出力する。
【0053】即ち、デコーダ71は、データ#2が入力
されている間、位置情報“1000”に基づいて、4個
の選択回路74の内の1バイト目に対応する(図中左端
の)選択回路74がシリアルパラレル変換器73の出力
を選択する制御信号を形成する。これにより、シリアル
パラレル変換器73の出力するデータ#1の1バイト目
のバイトデータが選択的に出力され、シリアルパラレル
変換器75の1バイト目に入力される。また、デコーダ
71は、データ#2が入力されている間、位置情報“1
000”に基づいて、4個の選択回路74の内の2バイ
ト目乃至4バイト目に対応する(図中残りの)選択回路
74が受信した転送用圧縮データを選択する制御信号を
形成する。これにより、転送用圧縮データのデータ#2
の2バイト目乃至4バイト目が選択的に出力され、シリ
アルパラレル変換器75の2バイト目乃至4バイト目に
入力される。
【0054】メモリバスプロトコルが図2(B)に示す
ように予め定まっているので、例えば、4個の選択回路
74の内の2バイト目に対応する選択回路74は、当該
2バイト目のバイトデータが受信されている期間中のみ
開けられ、データ#2の2バイト目を選択的に出力し、
この後直ちに閉じられる。同様に、4個の選択回路74
の内の3バイト目及び4バイト目に対応する選択回路7
4についても、各々、当該3バイト目及び4バイト目の
バイトデータが受信されている期間中のみ開けられ、こ
の後直ちに閉じられる。
【0055】なお、4バイトのデータ#1に続くデータ
#2のデータ長が3バイトであり、本来の2バイト目乃
至4バイト目からなることは、その位置情報“100
0”から判る。即ち、位置情報中の“0”の数がデータ
長を示し、“0”の位置が圧縮されずに残っている(転
送された)バイトデータの位置を示す。従って、位置情
報のデコードにより、選択回路74を容易に制御でき
る。
【0056】シリアルパラレル変換器75は、4個の独
立した8ビットのシフトレジスタからなり、データ#2
の受信の期間中、対応する4個の選択回路74の出力す
る8ビットのシリアルデータをその先頭から順に取り込
んでシフトして、パラレル変換して出力する。これによ
り、データ伸張の対象データであるデータ#2として、
合計で32ビットのパラレルデータが出力され、選択回
路76に入力される。選択回路76は、デコーダ71の
制御の下で、所定のタイミングでシリアルパラレル変換
器75の出力するデータ#2を、選択的に当該バス制御
装置3の32ビット幅のデータバス上に送出する。
【0057】同様にして、4個の選択回路74は、位置
情報が“1010”であるデータ#3については、シリ
アルパラレル変換器73の出力するデータ#1の1バイ
ト目、受信したデータ#3の2バイト目、シリアルパラ
レル変換器73の出力するデータ#1の3バイト目、受
信したデータ#3の4バイト目を出力する。データ#4
については、シリアルパラレル変換器73の出力するデ
ータ#1の1バイト目及び受信したデータ#4の2バイ
ト目乃至4バイト目を出力する。
【0058】以上により、バス制御装置3のデコーダ付
きバスプロトコル変換器32において、高速にデータ伸
張が行われる。このデータ伸張はバス制御装置3の転送
制御回路5及びプログラムからは全く見えない。従っ
て、プログラムからこれを意識する必要は全くない。な
お、このデコーダ付きバスプロトコル変換器32は、M
PU1側又はDRAM2側の何れのものであっても良
い。
【0059】図7は本発明の他の一例であり、図7
(A)は、DRAM2とMPU1との間に、1ビット幅
のデータのシリアル転送を行う1本の双方向バス(メモ
リバス)42と、これとは異なる位置情報転送用の3ビ
ット幅の双方向の専用信号線43とを設けた例である。
この例において、データの読み出し(DRAM2からM
PU1へのデータ転送)及びデータの書き込み(MPU
1からDRAM2へのデータ転送)は、当該1本の双方
向バス42を介して行われる。一方、データ圧縮の結果
を示す位置情報は、双方向の専用信号線43を介して転
送される。
【0060】この例におけるメモリバスプロトコルは、
図7(B)に示すように、MPUとDRAMの間の双方
向にデータ転送情報、アドレス情報及び転送用圧縮デー
タを転送するようにされる。即ち、パケットの先頭から
順に、1バイトのデータ転送情報(制御情報)cnt、
4バイトのアドレス情報add、前述の12バイトの圧
縮データが転送される。この例は双方向バス42及び双
方向の専用信号線43を介してデータ転送及び位置情報
の転送を行うので、メモリバスプロトコルは、データの
書き込み時及び読み出し時において同様である。
【0061】これとは別に、2バイトの位置情報(エン
コード情報)が並行して専用信号線43を介して転送さ
れる。専用信号線43のビット幅が3ビットであるの
で、合計12ビットの位置情報は4回に分けて転送され
る。この転送は、例えばデータ#1の転送開始と同時に
転送を開始したとしても、データ#1の最初の4ビット
の転送終了時にその転送を終了できる。従って、データ
#2以降の伸張に何ら支障となることはない。なお、専
用信号線43のビット幅は3ビットに限らず、例えば4
ビット等の他のビット幅であっても良く、ハードウェア
のコスト性能比を考慮して適宜選択決定される。これは
以下の例においても同様である。
【0062】図8は本発明の他の一例であり、図8
(A)は、DRAMとMPUとの間に、1ビット幅のデ
ータのシリアル転送を行う書き込み専用バス44及び1
ビット幅のデータのシリアル転送を行う読み出し専用バ
ス45を設けた例である。この例において、データの読
み出し及びデータの書き込みは、各々、書き込み専用バ
ス44及び読み出し専用バス45を介して行われる。
【0063】この例におけるメモリバスプロトコルは、
図8(B)に示すように、書き込み時においてMPU1
からDRAM2にデータ転送情報、アドレス情報、位置
情報及び転送データを転送するようにされる。即ち、パ
ケットの先頭から順に、1バイトのデータ転送情報cn
t、4バイトのアドレス情報add、2バイトの位置情
報、12バイトの圧縮データが転送される。また、読み
出し時においてDRAM2からMPU1にデータ転送情
報、位置情報び転送データを転送するようにされる。即
ち、パケットの先頭から順に、1バイトのデータ転送情
報cnt、2バイトの位置情報、12バイトの圧縮デー
タが転送される。この例は書き込み専用バス44及び読
み出し専用バス45を介してデータ転送を行うので、メ
モリバスプロトコルが書き込み時及び読み出し時におい
て異なる。
【0064】なお、読み出し時において、図8(B)に
示すデータ転送に先立って、MPU1からDRAM2に
対してアドレス情報addが転送される。従って、MP
U1は当該アドレス情報addを保持しているので、ア
ドレス情報は転送されない。これを受信したDRAM2
が当該アドレスにあるデータを転送する。この時、本発
明のデータ圧縮が行われ、図8(B)に示すメモリバス
プロトコルに従って、データ転送が行われる。
【0065】図9は本発明の他の一例であり、図9
(A)は、DRAM2とMPU1との間に、1ビット幅
のデータのシリアル転送を行う書き込み専用バス46及
び1ビット幅のデータのシリアル転送を行う読み出し専
用バス47を設け、更に、これらとは異なる位置情報の
転送用の3ビット幅の書き込み専用信号線48及び読み
出し専用信号線49とを設けた例である。この例におい
て、データの読み出し及びデータの書き込みは、各々、
書き込み専用バス46及び読み出し専用バス47を介し
て行われる。
【0066】そこで、この例におけるメモリバスプロト
コルは、図9(B)に示すように、書き込み時において
MPU1からDRAM2にデータ転送情報、アドレス情
報、位置情報及び転送データを転送するようにされる。
即ち、パケットの先頭から順に、1バイトのデータ転送
情報cnt、4バイトのアドレス情報add、12バイ
トの転送用圧縮データが転送される。また、読み出し時
においてDRAM2からMPU1にデータ転送情報、位
置情報び転送データを転送するようにされる。即ち、パ
ケットの先頭から順に、1バイトのデータ転送情報cn
t、12バイトの転送用圧縮データが転送される。この
時、アドレス情報の転送が省略される点は、図8の例と
同様である。これとは別に、2バイトの位置情報が並行
して転送される。この例は書き込み専用バス46及び読
み出し専用バス47を介してデータ転送を行うので、メ
モリバスプロトコルがデータの書き込み時及び読み出し
時において異なる。
【0067】これとは別に、2バイトの位置情報が、書
き込み及び読み出し時における転送用圧縮データの転送
に並行して、書き込み専用信号線48及び読み出し専用
信号線49を介して4回に分けて転送される。この転送
は高速に終了するので、データ#2以降の伸張に何ら支
障となることはない。図10は本発明の他の一例であ
り、図10(A)は、DRAM2とMPU1との間に、
1ビット幅の転送用圧縮データのシリアル転送を行う1
本の双方向データバス50と、1ビット幅のアドレス情
報のシリアル転送を行う1本のアドレスバス51と、1
ビット幅のデータ転送情報のシリアル転送を行う1本の
コントロールバス52と、位置情報転送用の3ビット幅
の書き込み専用信号線53及び読み出し専用信号線54
とを設けた例である。この例において、データの読み出
し及びデータの書き込みは、当該1本の双方向データバ
ス50を介して行われる。
【0068】この例におけるメモリバスプロトコルは、
図10(B)に示すように、書き込み時においてMPU
1からDRAM2にデータ転送情報、アドレス情報、位
置情報及び転送用圧縮データを、各々、コントロールバ
ス52、アドレスバス51、書き込み専用信号線53及
び双方向データバス50を介して、並行して転送するよ
うにされる。なお、位置情報の転送が最も早く終了す
る。また、読み出し時においてDRAM2からMPU1
に位置情報及び転送用圧縮データを、各々、専用信号線
54及び双方向データバス50を介して、並行して転送
するようにされる。この時、アドレス情報の転送が省略
される点は、図8の例と同様である。また、DRAM2
からのデータ転送は読み出しのみであるので、データ転
送情報も省略される。この例は各情報を各々に専用のバ
スを用いて転送するので、メモリバスプロトコルがデー
タの書き込み時及び読み出し時において異なる。
【0069】
【発明の効果】以上説明したように、本発明によれば、
バス制御装置において、転送すべきデータ中に同一のデ
ータが連続したり又は繰り返されたりする場合、転送時
において先頭のデータブロックと、これ以降のデータブ
ロックの内の先頭のデータブロックと一致しなかった部
分とを転送用圧縮データとして転送すると共にエンコー
ド情報も転送することにより、転送すべきデータを圧縮
できるので転送時間を短縮することができ、また、エン
コード情報及び転送用圧縮データを簡単かつ高速で形成
でき、一方、受信時において、受信したエンコード情報
を用いて受信した転送用圧縮データを伸張することがで
きるので、簡単にかつ高速で元の複数データブロックか
らなるデータを得ることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】バス制御装置説明図である。
【図3】データ圧縮説明図である。
【図4】バス制御装置構成図である。
【図5】バス制御装置構成図である。
【図6】バス制御装置構成図である。
【図7】他のバス制御装置説明図である。
【図8】他のバス制御装置説明図である。
【図9】他のバス制御装置説明図である。
【図10】他のバス制御装置説明図である。
【符号の説明】
1 半導体メモリコントローラ 2 半導体メモリ 3 バス制御装置 4、41 バス 5 転送制御回路 31 エンコーダ付きバスプロトコル変換器 32 デコーダ付きバスプロトコル変換器

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 半導体メモリと半導体メモリコントロー
    ラとの間でのデータ転送を行うバス制御装置であって、 複数のデータブロックからなるデータを転送する際に、
    先頭のデータブロックとこれ以降のデータブロックの各
    々とを所定の単位で比較し、前記先頭のデータブロック
    とこれ以降のデータブロックの各々の内で前記比較にお
    いて前記先頭のデータブロックと一致しなかった部分と
    を転送用圧縮データとして転送し、 前記比較の結果に基づいて作成したエンコード情報を転
    送することを特徴とするバス制御装置。
  2. 【請求項2】 半導体メモリと半導体メモリコントロー
    ラとの間でのデータ転送を行うバス制御装置であって、 複数のデータブロックからなるデータを受信する際に、
    先頭のデータブロックと、これ以降のデータブロックの
    各々の内で前記先頭のデータブロックとの所定の単位で
    の比較の結果当該先頭のデータブロックと一致しなかっ
    た部分とからなる転送用圧縮データを受信し、 前記比較の結果に基づいて作成されたエンコード情報を
    受信し、 前記受信したエンコード情報を用いて前記受信した転送
    用圧縮データを伸張して前記複数のデータブロックから
    なるデータを得ることを特徴とするバス制御装置。
  3. 【請求項3】 前記受信した転送用圧縮データの伸張
    は、先頭のデータブロック以降のデータブロックの各々
    に対して、エンコード情報に基づいて、先頭のデータブ
    ロックの内のエンコード情報により指定された位置にあ
    る当該部分を付加することにより行うことを特徴とする
    請求項2に記載のバス制御装置。
  4. 【請求項4】 半導体メモリと半導体メモリコントロー
    ラとの間でのデータ転送を行うバス制御装置であって、 複数のデータブロックからなるデータを転送する際に、
    先頭のデータブロックとこれ以降のデータブロックの各
    々とを所定の単位で比較し、前記先頭のデータブロック
    とこれ以降のデータブロックの各々の内で前記比較にお
    ける前記先頭のデータブロックと一致しなかった部分と
    を、転送用圧縮データとして転送すると共に、前記比較
    の結果に基づいて作成したエンコード情報を転送し、 複数のデータブロックからなるデータを受信する際に、
    先頭のデータブロックと、これ以降のデータブロックの
    各々の内で前記先頭のデータブロックとの所定の単位で
    の比較の結果当該先頭のデータブロックと一致しなかっ
    た部分とからなる転送用圧縮データを受信し、前記比較
    の結果に基づいて作成されたエンコード情報を受信する
    と共に、前記受信したエンコード情報を用いて前記受信
    した転送用圧縮データを伸張して前記複数のデータブロ
    ックからなるデータを得ることを特徴とするバス制御装
    置。
  5. 【請求項5】 前記エンコード情報の転送を、半導体メ
    モリと半導体メモリコントローラとの間を接続するバス
    であって前記転送用圧縮データの転送を行うためのバス
    を介して、前記転送用圧縮データの転送と共に行うこと
    を特徴とする請求項1乃至請求項4のいづれかに記載の
    バス制御装置。
  6. 【請求項6】 前記エンコード情報の転送を、半導体メ
    モリと半導体メモリコントローラとの間を接続するバス
    であって前記転送用圧縮データの転送を行うためのバス
    とは別に設けられた専用信号線を介して行うことを特徴
    とする請求項1乃至請求項5のいづれかに記載のバス制
    御装置。
JP31491396A 1996-11-26 1996-11-26 バス制御装置 Withdrawn JPH10154065A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31491396A JPH10154065A (ja) 1996-11-26 1996-11-26 バス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31491396A JPH10154065A (ja) 1996-11-26 1996-11-26 バス制御装置

Publications (1)

Publication Number Publication Date
JPH10154065A true JPH10154065A (ja) 1998-06-09

Family

ID=18059158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31491396A Withdrawn JPH10154065A (ja) 1996-11-26 1996-11-26 バス制御装置

Country Status (1)

Country Link
JP (1) JPH10154065A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490669B1 (en) 1998-08-19 2002-12-03 Nec Corporation Memory LSI with compressed data inputting and outputting function
JP2004206228A (ja) * 2002-12-24 2004-07-22 Nec Corp ストア命令実行制御方式
JP2012507784A (ja) * 2008-10-30 2012-03-29 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490669B1 (en) 1998-08-19 2002-12-03 Nec Corporation Memory LSI with compressed data inputting and outputting function
JP2004206228A (ja) * 2002-12-24 2004-07-22 Nec Corp ストア命令実行制御方式
JP2012507784A (ja) * 2008-10-30 2012-03-29 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 独立ディスク冗長アレイ(raid)の書き込みキャッシュサブアセンブリ

Similar Documents

Publication Publication Date Title
US5771010A (en) Apparatus for compressing data using a Lempel-Ziv-type algorithm
EP0374238B1 (en) Data compression/decompression apparatus
JPH10301841A (ja) メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム
US20110091124A1 (en) System for multi-byte reading
JPH03105789A (ja) 半導体記憶装置
JPH07143490A (ja) 画像圧縮伸長装置
JP2000066948A (ja) 圧縮データ入出力機能付メモリlsi
US5513279A (en) Image coding and decoding apparatus with coded data size information provided coded data blocks
JPH10154065A (ja) バス制御装置
JPH05189360A (ja) データ転送および記憶方式
JP2721458B2 (ja) チャネル装置およびそのフレーム送受信方法
JP2795100B2 (ja) 画像圧縮回路並びに画像伸長回路
JP3088785B2 (ja) 可変長符号の復号装置
JPH10209878A (ja) データ展開装置
JPS63149768A (ja) 画情報処理装置
JPH01137778A (ja) 符号化/復号化装置
JPH0650478B2 (ja) デ−タ圧縮記憶方式
JPH06303439A (ja) イメージデータ処理装置
JP2000278139A (ja) 圧縮データストリーム復元装置
KR20000014522A (ko) 압축 기능을 갖는 직접 메모리 액세스 컨트롤러
JPS6335143B2 (ja)
JPH01209819A (ja) 可変長符号化復号化方式
JPS63224546A (ja) 全二重化デ−タ転送装置
JP2004519906A (ja) 強化交点バスプロトコル
JPS63227126A (ja) 2値イメ−ジ圧縮・伸長lsi

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040203