JP3336073B2 - メモリ、データ書き込み方法、データ読み出し方法 - Google Patents

メモリ、データ書き込み方法、データ読み出し方法

Info

Publication number
JP3336073B2
JP3336073B2 JP14065293A JP14065293A JP3336073B2 JP 3336073 B2 JP3336073 B2 JP 3336073B2 JP 14065293 A JP14065293 A JP 14065293A JP 14065293 A JP14065293 A JP 14065293A JP 3336073 B2 JP3336073 B2 JP 3336073B2
Authority
JP
Japan
Prior art keywords
data
address
logical
block
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.)
Expired - Fee Related
Application number
JP14065293A
Other languages
English (en)
Other versions
JPH06348586A (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP14065293A priority Critical patent/JP3336073B2/ja
Publication of JPH06348586A publication Critical patent/JPH06348586A/ja
Application granted granted Critical
Publication of JP3336073B2 publication Critical patent/JP3336073B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はメモリに関するもので
ある。
【0002】
【従来の技術】図47は、例えば、カタログ「’91三
菱半導体データブック(メモリ ROM編)に示された
読み出し専用メモリ(ROM)のブロック図であり、図
において151は、16ビットのアドレス入力端子、1
52は行アドレスのデコーダ、153は列アドレスのデ
コーダ、154は出力バッファ、155は8ビットのデ
ータ入出力端子、156は512行×64列×8ビット
の記憶素子から構成されるデータ記憶部、157は出力
制御信号入力端子、158は書き込み制御信号入力端
子、159は書き込み電圧入力端子である。
【0003】次に動作について512×64バイトのデ
ータを取り扱う場合について説明する。まず、書き込み
の際には、書き込み電圧を書き込み電圧入力端子159
に、書き込みを行う領域を示すアドレスをアドレス入力
端子151に、当該位置に書き込むデータをデータ入出
力端子155に、それぞれ設定した状態で、書き込み制
御信号158をアサートする。行アドレスデコーダ15
2、列アドレスデコーダ153が入力したアドレスを
コードし、所望の位置にある記憶素子のみを励起するこ
とにより、当該位置にある素子に対する書き込み制御信
号だけが有効となり、その結果、当該データが当該位置
に書き込まれる。これを512×64回繰り返すことに
より、512×64バイトのデータを書き込むことがで
きる。
【0004】読み出しを行う場合には、所望の領域を示
すアドレスを設定し、出力制御信号157をアサートす
れば、行アドレスデコーダ152、列アドレスデコーダ
153が入力したアドレスをデコードし、所望の位置に
ある素子のみを励起することにより、当該位置にある記
憶素子に記憶されたデータがデータ入出力端子155よ
り出力される。
【0005】
【発明が解決しようとする課題】従来のメモリは以上の
ように構成されていたので、蓄積しようとするデータと
同容量のメモリ素子が必要であるなどの問題点があっ
た。
【0006】この発明は上記のような問題点を解消する
ためになされたもので、メモリの持つメモリ素子の容量
よりも大きな容量をもつデータを仮想的に格納できるメ
モリを得ることを目的とする。
【0007】
【課題を解決するための手段】この発明の第1の発明に
係るメモリは、以下の要素を有するものである。 (a)データを各アドレスの示す領域に記憶格納するデ
ータ記憶手段、(b)複数の論理アドレスを共通の変換
アドレスに変換して、上記データ記憶手段のデータをア
クセスするアドレス変換手段。
【0008】また、この発明の第2の発明に係るメモリ
は、上記第1の発明に係るメモリに対して、上記データ
記憶手段は、他のデータと内容の等しいデータを同等デ
ータとして当該他のデータと共通の変換アドレスの示す
領域に記憶するとともに、上記アドレス変換手段は、上
記同等データの論理アドレスを当該他のデータの変換ア
ドレスに変換する機能を有するものである。
【0009】また、この発明の第3の発明に係るメモリ
は、上記第1の発明に係るメモリに対して、上記データ
記憶手段は、内容の等しい複数のデータを参照データと
して、ひとつの変換アドレスの示す領域に記憶し、上記
メモリは、さらに、各論理アドレスに対応して、参照デ
ータか否かを示すフラグを記憶するフラグ格納手段を有
し、上記アドレス変換手段は、上記フラグに基づいて、
論理アドレスを変換アドレスに変換する機能を有するも
のである。
【0010】また、この発明の第4の発明に係るメモリ
は、上記第1、又は、第2の発明に係るメモリに対し
て、上記アドレス変換手段は、上記データに対して所定
の加工を行った結果、他のデータと内容が等しくなるデ
ータを同等データとして、この同等データの論理アドレ
スを当該他のデータの変換アドレスに変換して、同等デ
ータに対するアクセスを当該他のデータへのアクセスに
変換するとともに、上記メモリは、さらに、アクセスさ
れる論理アドレスに対応して、データが同等データであ
るかどうかを示す属性を格納する属性格納手段と、上記
アドレス変換手段によりアクセスされた当該他のデータ
に対して、上記所定の加工を行う加工手段と、上記属性
格納手段により格納された属性に基づき、加工手段によ
り加工したデータと上記アドレス変換手段によりアクセ
スされた当該他のデータのどちらか一方を選択して出力
する選択手段を有するものである。
【0011】また、この発明の第5の発明に係るメモリ
は、上記第4の発明に係るメモリに対して、上記加工手
段は、少なくとも単項入力演算と多項入力演算のいずれ
かを用いるものである。
【0012】また、この発明の第6の発明に係るメモリ
は、上記第4、又は、第5の発明に係るメモリに対し
て、上記加工手段は、多項入力演算を用いる場合、演算
の特性を定めるデータを特性データとして、この特性デ
ータを格納する特性データ格納手段を有するものであ
る。
【0013】また、この発明の第7の発明に係るメモリ
は、上記第1、第2、第3、第4、第5、又は、第6の
発明に係るメモリに対して、上記アドレス変換手段は、
格納対象となるデータを複数のブロックに分割し、ブロ
ックを単位としてアドレス変換を行う機能を有するもの
である。
【0014】また、この発明の第8の発明に係るメモリ
は、上記第7の発明に係るメモリに対して、上記アドレ
ス変換手段は、ブロックのサイズをデータ記憶手段に格
納されるデータの特徴に基づいて変更する機能を有する
ものである。
【0015】また、この発明の第9の発明に係るメモリ
は、上記第7の発明に係るメモリに対して、上記メモリ
は、さらに、行アドレスと列アドレスを生成するアドレ
スデコーダを有し、上記データ記憶手段は、行アドレス
と列アドレスによりアクセスされ、上記アドレス変換手
段は、ブロックのサイズを上記アドレスデコーダの行ア
ドレスと列アドレスのサイズに基づいて決定する機能を
有するものである。
【0016】また、この発明の第10の発明に係るメモ
リは、上記第7の発明に係るメモリに対して、上記アド
レス変換手段は、格納の対象となるデータから所定のサ
イズのデータを除いた残りのデータを、複数のブロック
に分割する機能を有するものである。
【0017】さらに、この発明の第11の発明に係るメ
モリは、上記第1、第2、第3、第4、第5、第6、第
7、第8、又は、第9の発明に係るメモリに対して、上
記メモリは、さらに、アドレス変換手段から出力される
アドレスと、外部から入力するアドレスのいずれかを選
択するアドレス選択手段を有するものである。
【0018】
【作用】この発明の第1の発明におけるメモリは、デー
タ記憶手段により記憶されたデータをアクセスする場
合、複数の論理アドレスを共通の変換アドレスに変換す
るアドレス変換手段を有しているので、同じデータであ
るが論理アドレスが異なるような場合、異なる論理アド
レスを与え、アドレス変換手段により得られる変換アド
レスは1つであり、変換アドレスと論理アドレスを必ず
しも同一としないことを可能にしている。
【0019】また、この発明の第2の発明におけるメモ
リは上記第1の発明において、上記データ記憶手段は、
格納しようとしているデータが他のデータと等しい場
合、当該データは格納せずに他のデータのみを格納する
ので、等しいデータが多く存在するような場合は、デー
タを格納するためのメモリ容量が小さくなる。また、上
記のように当該データが他のデータと等しいために、上
記データ記憶手段によって実際に記憶されていない場合
に、記憶されていないデータの論理アドレスを与えられ
た場合でも、上記アドレス変換手段はデータが等しい他
のデータに対する変換アドレスを当該論理アドレスの変
換アドレスとして変換するので、アクセスしたいデータ
の変換アドレスを確実に得ることができる。
【0020】また、この発明の第3の発明におけるメモ
リは、上記第1の発明において、上記データ記憶手段は
予め複数のデータを参照データとして1つの変換アドレ
スの示す領域に記憶し、格納しようとしているデータが
上記参照データと等しいか否かを示すフラグを記憶する
フラグ格納手段を上記メモリが有しているので、格納し
ようとしているデータが参照データと等しい場合は、当
該データは上記データ記憶手段によって記憶されずに、
上記フラグ格納手段によって参照データと等しいことを
示すフラグを記憶し、格納しようとするデータが参照デ
ータと等しくない場合のみ上記データ記憶手段によって
当該データを記憶すれば良くなり、データを記憶する記
憶容量が小さくなる。また、上記データ記憶手段により
記憶されたデータを取り出す場合、上記アドレス変換手
段は与えられた論理アドレスに対する上記フラグを参照
し、該当する変換アドレスに変換するので、論理アドレ
スと変換アドレスの関係が1対1でなくても、取り出し
たいデータの変換アドレスを確実に得ることができる。
【0021】また、この発明の第4の発明におけるメモ
リは、上記第1または、第2の発明において格納しよう
とするデータに対して所定の加工を行った結果、他のデ
ータと内容が等しくなる場合、上記アドレス変換手段は
当該データの論理アドレスに対する変換アドレスを他の
データの変換アドレスに変換し、同時に属性格納手段が
当該データの論理アドレスに対して加工を行った結果、
他のデータと内容が等しいことを示す属性を格納するの
で、格納しようとしているデータが他のデータと等しい
だけでなく、所定の加工を行った結果が他のデータと等
しい場合でも、当該データは上記データ記憶手段によっ
て記憶されないので、データ記憶容量が小さくなる。ま
た、データを取り出す場合は、上記アドレス変換手段に
よって与えられた論理アドレスに対する変換アドレスが
得られ、更に上記属性格納手段により格納された当該論
理アドレスに対する属性を参照し、選択手段により、上
記加工手段によって加工したデータと得られた変換アド
レスに対するデータより該当するデータが選択されるの
で、取り出したいデータを確実に得ることができる。
【0022】また、この発明の第5の発明におけるメモ
リは、上記第4の発明において、上記加工手段は少なく
とも単項入力演算と多項入力演算のいずれかを用いるの
で、予め格納しようとするデータの特徴が解っている場
合には、データに対して有効となる単項入力演算や多項
入力演算を設定することによって、上記第4の発明より
も、さらにデータ記憶容量を小さくすることができる。
【0023】また、この発明の第6の発明におけるメモ
リは、上記第4の発明または、第5の発明において、上
記加工手段が多項入力演算を用いる場合、演算の特性を
定めるデータを特性データとしてこの特性データを格納
する特性データ格納手段を有しているので、特性データ
を複数設定することにより1つの演算手段で複数の特性
を得ることが可能になる。
【0024】また、この発明の第7の発明におけるメモ
リは、上記第1、2、3、4、5、または、6の発明に
おいて、上記アドレス変換手段は格納対象となるデータ
を複数のブロックに分割し、ブロックを単位としてアド
レス変換を行うので、記憶するデータの単位や上記第3
の発明における参照データとの比較単位や上記第4、
5、6におけるデータの加工単位もブロック単位とな
り、アドレス変換を容易に実現する。
【0025】また、この発明の第8の発明におけるメモ
リは、上記第7の発明において、上記アドレス変換手段
はブロックのサイズをデータ記憶手段に格納されるデー
タの特徴に基づいて変更する事が可能であるので、格納
するデータの並びによって最適なブロックサイズを設定
することが可能になり、上記第7の発明よりも、さらに
データを記憶する記憶容量を小さくすることが可能にな
る。
【0026】また、この発明の第9の発明におけるメモ
リは、上記第7の発明において、格納しようとするデー
タに対する論理アドレスを行アドレスと列アドレスで構
成し、上記データ記憶手段がこの行アドレスと列アドレ
スによりアクセスされ、更に上記アドレス変換手段はブ
ロックのサイズを上記行アドレスと列アドレスのサイズ
に基づいて決定するので、上記アドレス変換手段を行ア
ドレス用のみに限定することができる。
【0027】また、この発明の第10の発明におけるメ
モリは、上記第7の発明において、上記アドレス変換手
段は格納しようとするデータから所定のサイズのデータ
を除いた残りのデータを複数のブロックに分割すること
を可能としているので、格納するデータの並びの中に、
あるデータが存在するためにブロック化がうまく行えな
いような場合は、そのあるデータを取り除き、残りのデ
ータをブロック化する事によって効率の良いアドレス変
換が行え、データを記憶する記憶容量を小さくすること
が可能になる。
【0028】更に、この発明の第11の発明におけるメ
モリは、上記第1〜第9までの発明においてデータを格
納したり、格納したデータを呼び出す場合にアドレス変
換手段から出力されるアドレスと外部から入力するアド
レスのいずれかを変換するアドレス変換手段を有するこ
とにより、上記第1〜第9の発明のように論理アドレス
を与えることによって変換アドレスを得る方法の他に、
直接データを記憶する変換アドレスを指定したり、直接
データを呼び出す変換アドレスを指定したりすることが
可能になる。
【0029】
【実施例】
実施例1.この実施例では、データを格納するデータ記
憶部を備え、該データ記憶部内の領域を直接指定する変
換アドレスと、記憶されたデータをアクセスするために
外部より与えられる論理アドレスとを、必ずしも同一と
しないことを特徴とするメモリについて説明を行なう。
この実施例のメモリ格納制御手法は、格納の対象となる
データを指定する論理アドレスと、実際にデータが格納
されるデータ記憶部内の領域を指し示す変換アドレス
が、必ずしも同一とならないように、データの格納を制
御し、アドレス変換手段は、上記メモリに記憶されたデ
ータを読み出すために外部より与えられる論理アドレス
を実際にデータが記憶されているメモリ内の領域を示す
特定の変換アドレスに変換することを特徴としている。
尚、この実施例はROMに適用した発明について説明し
ている。以下の実施例についても、特に明記されていな
い限り、ROMに適用した発明である。以下に詳細な説
明を行う。
【0030】図1は、この実施例におけるROMの一実
施例を示すブロック図であり、図1において、11は入
力論理アドレス、12はアドレス変換手段であり、13
は変換アドレス、16はアドレスデコーダ、17は選択
信号、18はデータ記憶部、19はデータ記憶部18に
より出力された出力データである。図2は、メモリへの
データ格納手法を示す概念図であり、図3は、図2のデ
ータ格納手法におけるアドレス変換の一例を示す図であ
る。
【0031】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは、説明の簡易化の
ため書き込みの対象となるデータの容量を6バイトの場
合について記載する。図2にあるように、書き込みの対
象となるデータは16進数表現で{00,00,01,
10,FF,00}の6バイトとし、これらデータが順
にメモリに書き込まれる場合を考える。
【0032】図2にある書き込み対象データの論理アド
レス‘0’に対応するデータをデータ記憶部18の変換
アドレス‘0’に格納すると、論理アドレス‘0’と論
理アドレス‘1’と論理アドレス‘5’のそれぞれに対
応するデータは等しいデータであるので、論理アドレス
‘1’、‘5’に対応するデータもデータ記憶部18の
変換アドレス‘0’に格納される。論理アドレス‘2’
と論理アドレス‘3’と論理アドレス‘4’に対応する
データは他に等しいデータが存在しないので、それぞれ
データ記憶部18の変換アドレス‘1’、変換アドレス
‘2’、変換アドレス‘3’に格納される。
【0033】図1におけるデータ記憶部18には、以上
のような手順により、データが書き込まれているものと
する。また、アドレス変換手段12は、図3に示す特性
をもつものとする。すなわち、論理アドレス‘0’、
‘1’、‘5’は、変換アドレス‘0’に、論理アドレ
ス‘2’を変換アドレス‘1’に変換するものとする。
【0034】次にメモリ読み出しの動作について説明す
る。まず、入力された入力論理アドレス11はアドレス
変換手段12により変換され、変換アドレス13を得
る。変換アドレス13はアドレスデコーダ16によりデ
コードされ、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。
【0035】例えば、アドレス‘5’を入力した場合、
入力されたアドレス‘5’はアドレス変換手段12によ
り図3に基づき変換され、変換アドレス‘0’を得る。
変換アドレス‘0’はアドレスデコーダ16によりデコ
ードされ、その結果、データ記憶部18内の変換アドレ
ス‘0’に対応する領域が励起され、データ‘00’が
出力される。
【0036】実施例2. この実施例では、上記実施例1に示すメモリにおいて、
該データ記憶部にデータ格納する際に、参照データと
データとが等しい場合はデータを格納せず、等しいこ
とを示すフラグのみを格納し、等しくない場合について
は、等しくないことを示すフラグとデータの双方を格納
するデータ格納手法に基づいてデータを格納するメモリ
である。さらにこのメモリは、各データの属性を示す当
該フラグを格納するフラグ格納手段と、該参照データを
格納する参照データ格納手段とを備え、データを読むべ
くして入力したアドレスを、該フラグに基づいて対応す
るデータが実際に格納されているアドレスあるいは、参
照データ格納手段を指し示すアドレスに変換するアドレ
ス変換手段とを備えたことを特徴とするメモリである。
以下に詳細な説明を行う。
【0037】図4は、この実施例におけるROMの一実
施例を示すブロック図であり、図4において111はフ
ラグ格納手段、112はフラグ列であり、それ以外は上
記実施例1の図1と同様とする。図5はメモリへのデー
タ格納手法を示す概念図である。
【0038】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでも上記実施例1と同
様に説明の簡易化の為、書き込みの対象となるデータの
容量を10バイトの場合について記載する。図5にある
ように書き込みの対象となるデータは16進数表現で
{10,11,11,21,25,11,11,20,
11,10}の10バイトとし、これらデータが順にメ
モリに書き込まれる場合を考える。
【0039】図5にある参照データ’11’を本実施例
における参照データとして参照データ格納手段により、
予めデータ記憶部18に、アドレス‘0’の位置に予め
書き込むものとする。入力論理アドレス11により、図
5にある論理アドレス‘0’〜‘9’を順にアドレス変
換手段12に入力する。アドレス変換手段12では、書
き込み対象となるデータを参照データ‘11’と比較す
る。アドレス‘1’、‘2’、‘5’、‘6’、‘8’
に対応するデータが‘11’と等しいため、これらに対
応するフラグは‘0’とし、他は‘1’とする。なお、
ここでは等/不等を1ビットで表現し、等しい場合は
‘0’、不等は‘1’で表現するものとする。即ちフラ
グ格納手段111には図5にあるように10ビットの2
進数‘1010011001’が書き込まれる。さら
に、参照データ‘11’と他のこれに等しくないデータ
のみをデータ記憶部18に、図5のデータ記憶部内デー
タにあるように格納する。
【0040】次に、メモリ読み出しの動作について説明
する。図6は、データ読み出しにおけるアドレス変換手
段の一例を示すブロック図である。図6における131
はフラグ列112の最下位ビットより上位ビットに向け
てアドレス11により指定されるビット数分の加算を行
うビット加算器、132はビット加算出力、133はア
ドレス11に基づきフラグ列112より所望のデータに
対応するフラグを選択する第1の選択手段、134は選
択されたフラグ、135は参照データの書き込まれてい
る領域を示すアドレスであり、本実施例では図5にある
ように参照データアドレス135はアドレス‘00’と
する。136はフラグ134に基づきビット加算出力1
32と参照アドレス135のいずれかを選択する第2の
選択手段である。この他の符号については上記実施例1
における図1の符号と同様とする。
【0041】まず、入力された入力論理アドレス11は
アドレス変換手段12に入力される。ビット加算器13
1はフラグ格納手段111に格納されたフラグ列112
の最下位ビットよりアドレス11により指定されるビッ
ト数分の加算を行い、ビット加算出力132を得る。ま
た、第1の選択手段133はアドレス11に基づきフラ
グ列112より所望のアドレスに対応するフラグを選択
しフラグ134を得る。第2の選択手段136はフラグ
134に基づきビット加算出力132と参照データアド
レス135のいずれかを選択し変換アドレス13を得
る。なお、第2の選択手段136は入力したフラグが
‘1’の場合はビット加算出力132を選択し、フラグ
が‘0’の場合は参照データアドレス135を選択する
ものとする。変換アドレス13はアドレスデコーダ16
によりデコードされデータ記憶部18内の特定領域を選
択する選択信号17を得る。その結果データ記憶部18
内の変換アドレス13に対応する領域が励起され、デー
タ19が出力される。
【0042】例えば、図5によるとアドレス‘7’を入
力した場合、入力されたアドレス‘7’はアドレス変換
手段12により変換される。この場合、フラグ列‘10
10011001’の下位8ビット分の加算によりフラ
グ‘1’が4ビットあるため、ビット加算出力‘4’を
得る。また、当該アドレスに対応するフラグは‘1’と
なっているため、第2の選択手段は、変換アドレスとし
てビット加算出力‘4’を選択し、結果として、データ
記憶部内のアドレス‘4’に書き込まれたデータ‘2
0’が読み出される。
【0043】同様に、アドレス‘8’を入力した場合、
入力されたアドレス‘8’はアドレス変換手段113に
より変換される。この場合、フラグ列‘1010011
001’の下位9ビット分の加算によりフラグ‘1’が
4ビットあるため、ビット加算出力‘4’を得る。ま
た、当該アドレスに対応するフラグは‘0’となってい
るため、第2の選択手段は、変換アドレスとして参照デ
ータアドレス‘0’を選択し、結果として、データ記憶
部内のアドレス‘0’に書き込まれたデータ‘11’が
読み出される。
【0044】以上のように上記実施例2では、予め参照
データの値をメモリに格納し、この参照データと格納対
象とするデータを比較する事により、等しくない場合の
みデータを格納しているので、頻煩に発生するデータの
値を参照データとしておけばメモリ容量は少なくてす
む。
【0045】実施例3.また、上記実施例2ではビット
加算手段を用いて、アドレス変換を行ったが、これを、
ビット加算手段の出力に、予め定めた特定の値(以下オ
フセット値)を加算するように構成すれば、上記実施例
2以上の効果を奏する。以下、この実施例を図7につい
て説明する。図7は図6におけるビット加算器において
ビット加算手段の出力に、予め定めた特定の値を加算す
ることを特徴とし、図7において、140は10ビット
のフラグ列112中の上位5ビット、141は10ビッ
トのフラグ列112中の下位5ビット、142は第1の
ビット加算器、143は第2のビット加算器、144は
オフセット値、145は加算器、146は選択手段であ
る。その他の符号については図1、及び、図6と同様と
する。
【0046】次に動作について説明する。なお、ここで
はオフセット値を、下位5ビットの加算結果である
‘3’(フラグ‘1’のビット数が3であるため)とし
た。アドレス11が‘4’以下の場合は、10ビットの
フラグ列112の下位5ビット141はビット加算器1
43によりビット0からアドレス11で指定されたビッ
ト分加算される。一方、アドレス11が‘5’以上の場
合は、ビット加算器142によって上位5ビット140
のビット5からアドレス11により指定されるビット位
置まで加算され、加算結果は、オフセット値144とと
もに加算器145に入力され、全ビット分の加算結果が
得られる。選択手段146は加算器145の出力と、ビ
ット加算器143の出力のいずれかをアドレス11が
‘5’以上か‘4’以下かに基づき選択する。
【0047】例えば、図5によるとアドレス‘3’を入
力した場合は、ビット加算器143により、フラグ列1
12のビット0からビット3までが加算され、フラグ
‘1’のビット数が2であるため加算出力‘2’を得
る。選択手段146はビット加算器143からの入力で
あるためビット加算器132を加算結果‘2’として出
力する。これ以降の処理は上記実施例2の選択手段13
6の処理へ続く。一方、アドレス‘8’を入力した場合
は、ビット加算器142により、フラグ列112のビッ
ト5からビット8までが加算され、フラグ‘1’のビッ
ト数が1であるため加算出力‘1’を得、これは加算器
145によりオフセット値‘3’と加算され、結果とし
て、ビット0からビット8までのビット加算結果‘4’
を得ることができる。選択手段146は加算器145か
らの入力であるため、ビット加算出力132を加算結果
‘4’として出力する。これ以降の処理は上記実施例2
の選択手段136の処理へ続く。
【0048】実施例4.この実施例では、上記実施例1
に示すメモリにおいてデータ記憶部へ格納対象とするデ
ータに対して単項入力演算を施した結果と全く等しいデ
ータが存在した場合、データを格納せずに、該単項演算
結果に等しいことを示すデータ属性情報のみを格納する
メモリ格納制御手法を用いてデータの書き込みを行うメ
モリで、1つ以上の単項演算処理手段と、データの属性
を格納する属性格納手段とを備え、該単項演算結果と等
しいデータを読み出すべく入力されたアドレスを該単項
論理演算の入力に相当するデータが格納されている領域
のアドレスに変換し、これにより読み出されたデータを
対応する属性情報に基づいて、該単項演算手段により単
項演算を施してから出力することを特徴としたメモリで
ある。なお、本実施例では、単項入力演算として論理演
算を用いている。以下に詳細な説明を行う。
【0049】図8は、本実施例をROMに適用した一例
を示すブロック図である。図8において、11はメモリ
に入力される入力論理アドレス、12はアドレス変換手
段、13はデータ記憶部内の領域を直接指定する変換ア
ドレス、14は属性格納手段、15はデータの属性、1
6はアドレスデコーダ、17は選択信号、18はデータ
記憶部、19はデータ、20は論理負演算手段、21は
論理負演算出力データ、22はデータ選択手段、23は
出力データである。図9は本実施例におけるメモリへの
データ格納手法を示す概念図であり、図10は、図9の
データ格納手法におけるアドレス変換の一例を示す図で
ある。
【0050】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは、説明の簡易化の
ため書き込みの対象となるデータの容量を6バイトの場
合について記載する。図9にあるように、書き込みの対
象となるデータは16進数表現で{00,00,01,
10,FF,00}の6バイトとし、これらデータが順
にメモリに書き込まれる場合を考える。
【0051】図9による書き込み対象データの論理アド
レス‘0’から論理アドレス‘5’までの内部データを
比較すると、論理アドレス‘0’と‘1’と‘5’は対
応するデータがそれぞれ等しく、また、論理アドレス
‘0’に対応するデータに論理負演算を施した結果は論
理アドレス4の内部データと等しい。論理アドレス
‘2’と‘3’に対応するデータに等しいデータは存在
しない。
【0052】そこで、論理アドレス‘0’、論理アドレ
ス‘2’及び論理アドレス‘3’に対応するデータつい
てはデータ記憶部18内の変換アドレス‘0’、
‘1’、‘2’にそれぞれ格納する。また、論理アドレ
ス‘4’については属性格納手段14に、属性‘1’を
格納し、その他のアドレスについては‘0’を格納して
おく。なお、ここでは、属性‘0’は当該アドレスに対
応するデータが論理負演算出力に等しくないことを示
し、‘1’は論理負演算出力に等しいことを示すものと
して説明を進める。
【0053】図8におけるデータ記憶部18には、以上
のような手順により、データが書き込まれているものと
する。また、アドレス変換手段12は、図10に示す特
性を持つものとする。すなわち、論理アドレス‘0’、
‘1’、‘4’、‘5’は変換アドレス‘0’に、論理
アドレス‘2’を変換アドレス‘1’に、論理アドレス
‘3’を変換アドレス‘2’に変換するものとする。
【0054】次にメモリ読み出しの動作について説明す
る。まず、入力された入力論理アドレス11はアドレス
変換手段12により変換され、変換アドレス13を得
る。変換アドレス13はアドレスデコーダ16によりデ
コードされ、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。データ19は同時に論理負演算手段2
0に入力され、論理負演算出力データ21を得る。ま
た、入力された論理アドレス11は同時に属性格納手段
14にも入力され、対応する属性15を得る。この属性
15に基づき、選択手段22により、データ19または
論理負演算出力データ21のいずれかが選択され、出力
データ23を得る。なお、選択手段22は入力した属性
が’1’の場合は論理負演算出力データ21を、‘0’
の場合はデータ19を選択するものとする。
【0055】例えば、アドレス‘4’を入力した場合、
入力されたアドレス‘4’はアドレス変換手段12によ
り図10に基づき変換され、変換アドレス‘0’を得
る。変換アドレス‘0’はアドレスデコーダ16により
デコードされ、その結果、データ記憶部18内の変換ア
ドレス‘0’に対応する領域が励起され、データ‘0
0’が出力される。データ‘00’は同時に論理負演算
手段20にも入力され、論理負演算出力‘FF’を得
る。また、入力された論理アドレス‘4’は同時に属性
格納手段14にも入力され、対応する属性‘1’を得
る。この属性に基づき論理負演算出力‘FF’が選択さ
れ、出力データ‘FF’を得る。
【0056】以上のように、上記実施例4によるメモリ
格納制御手法は、ある論理アドレスNの内部データが、
他の論理アドレスM(ただし、M≠N)の内部データあ
るいはこれに各種演算処理を施した結果生じるデータと
等しい場合には、論理アドレスNのデータのみを該デー
タ記憶部に格納し、論理アドレスMについてはデータを
格納せず、論理アドレスが他の論理アドレスN(ただ
し、M≠N)の内部データあるいはこれに各種演算処理
を施した結果生じるデータと等しいことを示す属性情報
のみを該属性格納手段に格納するので、同じデータが重
複してメモリに格納されることなく、メモリ容量を効率
よく使用できる。
【0057】実施例5.なお、上記実施例4では単項演
算手段として、論理負演算手段を用いたものを示した
が、例えば、ビット間の論理和演算等の他の単項演算で
もよい。但し、論理アドレスの示す領域に格納されたデ
ータは昇順に入力されるものとする。以下に詳細な説明
を行う。
【0058】図11は本実施例をROMに適用した一例
を示すブロック図である。図11において19aは論理
和入力データであり本実施例では‘01’(16進数表
現)固定とし、20aは論理和演算手段であり、21a
は論理和演算手段20aで演算された論理和演算出力デ
ータである。これ以外の符号については上記実施例4の
図8と同様とする。図12は本実施例におけるメモリへ
のデータ格納手法を示す概念図であり、図13は図12
のデータ格納手法におけるアドレス変換の一例を示す図
である。
【0059】まず本実施例に基づくメモリ格納制御手法
について説明する。なお、ここでは説明の簡易化の為、
書き込みの対象となるデータの容量を6バイトの場合に
ついて記載する。使用するデータについては、上記実施
例4と同様に図12にあるように書き込みの対象となる
データは16進数表現で{00,00,01,10,F
F,00}の6バイトとし、これらデータが順にメモリ
に書き込まれる場合を考える。
【0060】データをデータ記憶部18に格納する手順
は上記実施例4とほぼ同様であるが、この実施例では単
項演算手段として論理和演算手段20aを用いているの
で、実際にデータ記憶部に格納されるデータの内容と変
換アドレスの内容は上記実施例4とは異なる。論理アド
レス‘0’から‘5’までのデータを順に入力する場
合、論理アドレス‘2’に対応するデータは論理アドレ
ス‘0’に対応するデータに対して、論理和入力データ
19aと論理和演算手段20aの演算を行った結果と同
じになるため、論理アドレス‘2’に対応するデータは
論理アドレス‘0’に対応するデータが格納されている
データ記憶部内データの変換アドレス‘0’に対応する
ようになる。また、この論理アドレス‘2’については
属性格納手段14に属性‘1’を格納し、その他のアド
レスについては‘0’を格納しておく。なお、ここでは
属性‘0’及び属性‘1’は、上記実施例4と同様の意
味をもつものとする。
【0061】図11におけるデータ記憶部18には以上
のような手順によりデータが書き込まれているものとす
る。また、アドレス変換手段12は図13に示す特性を
持つものとする。即ち論理アドレス‘0’、‘1’、
‘2’、‘5’は変換アドレス‘0’に、論理アドレス
‘3’を変換アドレス‘1’に、論理アドレス‘4’を
変換アドレス‘2’に変換するものとする。
【0062】次に、メモリ読み出しの動作について説明
する。このメモリ読み出し動作も上記実施例4とほぼ同
様の動作とするが、データ選択手段22に入力される2
つのデータのうち、1つを論理和演算を行った出力デー
タを用いているため、データ記憶部18より励起された
データ19は論理負演算手段20aに入力され、論理和
入力データ19aとの論理和が求められ論理和演算出力
データ21aを得る。同時に属性格納手段にも入力論理
アドレス11が入力され対応する属性15を得る。この
属性15に基づきデータ選択手段22によりデータ19
または、論理和演算出力データ21aのいずれかが選択
され出力データ23を得る。なお、選択手段22の動作
については上記実施例4と同様のものとする。
【0063】例えば、アドレス‘2’を入力した場合、
入力されたアドレス‘2’はアドレス変換手段12によ
り図13に基づき変換され、変換アドレス‘0’を得
る。変換アドレス’0’はアドレスデコーダ16により
デコードされ、その結果データ記憶部18内のアドレス
変換アドレス‘0’に対応する領域が励起され、データ
‘00’が取りだされる。データ‘00’は同時に論理
和演算手段20aにも入力され、論理和入力データ19
a‘01’との論理和が求められ、論理和演算出力‘0
1’を得る。また、入力された論理アドレス‘2’は同
時に属性格納手段14にも入力され対応する属性‘1’
を得る。この属性に基づき論理和演算出力‘01’が選
択され、出力データ‘01’を得る。
【0064】実施例6.また、上記実施例4〜5では、
単項演算手段を1つだけ用いたが、これを複数用い、デ
ータを入力とした各演算手段の出力と、データをそれぞ
れ比較し、一致するものについてはまた別の属性を割当
て、区別するようにしても良い。以下に詳細な説明を行
う。
【0065】図14は、この実施例における複数の単項
演算手段を用いたブロック図であり、図14において2
0bは論理負演算手段1であり、20cは論理和演算手
段2であり、一方の入力を‘0F’と設定し、20dは
論理和演算手段3であり、一方の入力を‘01’と設定
する。21bから21dまではそれぞれ20bから20
dの演算手段により出力されたデータであり、データ選
択手段22及び出力データ23は上記実施例1の図1と
同様とする。また、図14の他の構成要素は、実施例5
の図11と同様とする。図15はメモリへのデータ格納
手法を示す概念図であり、図16は図15のデータ格納
手法におけるアドレス変換の一例を示す図である。
【0066】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは説明の簡易化の為
書き込みの対象となるデータの容量を6バイトの場合に
ついて記載する。図15にあるように書き込みの対象と
なるデータは16進数表現で{00,10,11,0
0,1F,FF}の6バイトとし、これらデータが順に
メモリに書き込まれる場合を考える。
【0067】図15にある書き込み対象データの論理ア
ドレス‘0’から‘5’に格納されているデータを順に
格納する手順は、上記実施例6と同じような手順で書き
込まれるが、この実施例では単項演算手段が3つあり、
論理アドレス‘1’の格納データに対して論理和演算手
段3の演算を施すと、論理アドレス‘2’の格納データ
と同じ値になり、論理アドレス‘1’に格納されている
データに対して論理和演算手段2の演算を施すと、論理
アドレス‘4’に格納されているデータと同じ値にな
り、論理アドレス‘0’に格納されているデータに対し
て論理負演算手段1の演算を施すと、論理アドレス
‘5’に格納されているデータと同様の値になる。
【0068】そこで論理アドレス‘0’、論理アドレス
‘1’については、対応するデータをデータ記憶部18
内の変換アドレス‘0’、‘1’にそれぞれ格納する。
また、論理アドレス‘2’については属性格納手段14
に属性‘3’を格納し、論理アドレス‘4’については
属性格納手段14に属性‘2’を格納し、論理アドレス
‘5’については属性格納手段14に属性‘1’を格納
し、その他のアドレスについては‘0’を格納してお
く。なお、ここでは属性‘0’は当該アドレスに対応す
るデータが論理演算出力に等しくないことを示し、
‘1’は論理負演算1出力に等しいことを示し、‘2’
は論理和演算2出力に等しいことを示すものとし、
‘3’は論理和演算3出力に等しいことを示すものとし
て説明を進める。
【0069】図14におけるデータ記憶部18には以上
のような手順によりデータが書き込まれているものとす
る。また、アドレス変換手段12は、図16に示す特性
を持つものとする。即ち論理アドレス‘0’、‘3’、
‘5’を変換アドレス‘0’に、論理アドレス‘1’、
‘2’、‘4’変換アドレス‘1’に変換するものとす
る。
【0070】次に、メモリ読み出しの動作について説明
する。読み出し手順は上記実施例6とほぼ同様である
が、この実施例では単項演算手段が3つあるので、属性
格納手段14には‘0’、‘1’、‘2’、‘3’の3
種類の属性が格納されている。このためデータ選択手段
22にはアドレス変換手段12によって得られた変換ア
ドレス13よりデータ記憶部18内の特定領域が励起さ
れ、得られたデータ19とデータ19に対して論理負演
算手段120b、及び、論理和演算手段220c、及
び、論理和演算手段320dの演算が、それぞれ施され
た演算出力データがデータ選択手段22に入力され、さ
らに属性格納手段14より各論理アドレスに対する属性
15が入力される。データ選択手段22では属性15の
値によってデータ19、論理負演算1出力データ21
b、論理和演算2出力データ21c、論理和演算3出力
データ21dよりデータ属性に対する出力データ23が
選択され出力される。
【0071】例えば、アドレス‘4’を入力した場合、
入力されたアドレス‘4’はアドレス変換手段12によ
り図16に基づき変換され、変換アドレス‘1’を得
る。この変換アドレス‘1’はアドレスデコーダ16に
よりデコードされ、その結果データ記憶部18内の変換
アドレス‘1’に対する領域が励起され、データ‘1
0’が出力される。データ‘10’は同時に論理負演算
手段1、論理和演算手段2、論理和演算手段3の20b
から20dまでの演算手段にも入力され、それぞれ‘E
F’、‘1F’、‘11’を演算出力データとしてデー
タ選択手段22に入力され、属性15はこの時‘2’に
なっているので、論理和2演算出力データ21cの演算
結果である‘1F’を入力データ23として選択する。
【0072】実施例7.上記実施例5〜6では加工手段
に単項入力演算として論理和演算を用い、データと論理
和固有の固定データで論理和を行っていたので固定デー
タの個数分、論理和演算手段を必要としていた。この実
施例は、データと多項入力演算の特性を定めるに足る他
のデータ(以降、特性データと呼ぶ)とを入力とする1
つ以上の多項入力演算の結果のいずれかと等しいデータ
が存在した場合、該データを格納せずに、該データが該
多項演算手段のいずれを用いた結果と等しいか等を示す
属性情報と、該多項演算手段の特性を定める特性データ
あるいはこれを指し示すインデックスのみを格納するメ
モリ格納制御手法を用いてデータの書き込みを行ったメ
モリで、1つ以上の多項演算手段と、該データの属性を
格納する属性格納手段及び、該特性データを1つ以上格
納する特性データ格納手段を備え、入力したアドレスが
該多項演算出力結果と等しいデータに対応するものであ
る場合は、これを該多項演算の入力に相当するデータが
格納されている領域のアドレスに変換し、これにより読
み出されたデータの論理アドレスに対応する属性情報に
基づいて選択された該多項演算手段により、対応する特
性データ、あるいはこれを指し示すインデックスにより
特性の定まる多項演算を施してから出力することを特徴
としたメモリを使用し、該多項演算手段は、メモリ書き
込みの対象となるデータと該多項演算の特性を定めるに
足る任意のデータを入力とした多項演算結果を算出する
ものであり、該特性データ格納手段は、多項演算の特性
を定めるに足る特性データを格納するものである。
【0073】図17は本実施例をROMに適用した一実
施例を示すブロック図である。なお、本実施例では、多
項演算として2項論理和演算を用いている。図17にお
いて、41は2項論理和演算手段、42は該論理和演算
の出力を制御する任意特性データであり、この実施例で
は‘FF’と‘13’とする。43は2項論理和出力、
44は該特性データを格納する特性データ格納手段であ
る。なお、その他については図1に記載したものと同一
のため説明を省略する。
【0074】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは説明の簡易化のた
め書き込みの対象となるデータの容量を5バイトとして
いる。図18において、書き込みの対象となるデータは
16進数で{00,01,00,13,FF}の5バイ
トとし、これらデータが順にメモリに書き込まれる場合
を考える。各論理アドレスの格納データを比較すると、
論理アドレス‘0’に対応するデータと論理アドレス
‘2’に対応するデータは等しく、論理アドレス‘0’
に対応するデータと16進数‘FF’との論理和演算結
果は論理アドレス‘4’に対応するデータと等しい。ま
た、論理アドレス‘1’に対応するデータと16進数
‘13’との論理和演算結果は論理アドレス‘3’に対
応するデータと等しい。
【0075】そこで、論理アドレス‘0’、及び論理ア
ドレス‘1’については対応するデータをデータ記憶部
18内の変換アドレス‘0’、‘1’、にそれぞれ格納
する。また、論理アドレス‘3’、‘4’については属
性格納手段14に、2項論理和演算出力に等しいことを
示す属性‘1’を格納し、その他のアドレスについては
‘0’を格納しておく。また、論理アドレス‘3’、
‘4’については、2項論理和演算手段のもう1方の入
力である、‘13’と‘FF’をそれぞれ特性データ格
納手段44に格納する。
【0076】図17におけるデータ記憶部18には、以
上のような手順によりデータが書き込まれているものと
する。また、アドレス変換手段12は、図19に示す特
性を持つものとする。すなわち、論理アドレス‘0’、
‘2’、‘4’は変換アドレス‘0’に、論理アドレス
‘1’、‘3’を変換アドレス‘1’に変換するものと
する。
【0077】次にメモリ読み出しの動作について説明す
る。まず、入力された入力論理アドレス11はアドレス
変換手段12により変換され、変換アドレス13を得
る。変換アドレス13はアドレスデコーダ16によりデ
コードされ、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。また、入力された入力論理アドレス1
1は同時に、特性データ格納手段44に入力し、対応す
る特性データ42を得る。データ19と特性データ42
は、2項論理和手段41に入力し、2項論理和出力43
を得る。さらに、入力された入力論理アドレス11は同
時に属性格納手段14に入力され、対応する属性15を
得る。この属性に基づき、データ選択手段22により、
データ19または2項論理和演算出力43のいずれかが
選択され、出力データ23を得る。なお、データ選択手
段22は入力した属性が‘1’の場合は2項論理和演算
出力43を、‘0’の場合はデータ19を選択するもの
とする。
【0078】例えば、アドレス‘3’を入力した場合、
入力されたアドレス‘3’はアドレス変換手段12によ
り図19に基づき変換され、変換アドレス‘1’を得
る。変換アドレス‘1’はアドレスデコーダ16により
デコードされ、その結果、データ記憶部18内の変換ア
ドレス‘1’に対応する領域が励起され、データ‘0
1’が出力される。アドレス‘3’は同時に特性データ
格納手段44に入力し、該アドレスに対応する特性デー
タ‘13’を得る。データ‘01’及び特性データ‘1
3’は、2項論理和演算手段41にも入力され、演算出
力‘13’を得る。また、入力された論理アドレス
‘3’は同時に属性格納手段14にも入力され、対応す
る属性‘1’を得る。この属性に基づき論理演算出力
‘13’が選択され、出力データ‘13’を得る。
【0079】以上のように、上記実施例7では特性デー
タ格納手段を設けたので、1つの論理和演算手段よりい
くつもの演算結果を得ることができ、データ記憶部の記
憶容量が少なくなる。
【0080】実施例8.なお、上記実施例7では多項入
力演算手段として、2項論理和を用いたものを示した
が、論理積等の他の多項演算でもよい。また、特性デー
タを1バイトのデータとした場合について説明したが、
これは1バイトに限定されるものではなく他の大きさで
あっても、上記実施例7と同様の効果を奏する。
【0081】実施例9.この実施例のメモリは、格納の
対象となるデータを複数のブロックに分割し、各ブロッ
クを各々互いに比較した結果、内部のデータが互いに全
く等しい場合は、そのうち1ブロック分のデータのみを
データ記憶部に格納し、等しいブロックが存在しないブ
ロックについてはデータを全て格納するメモリ格納制御
手法を用いてデータの書き込みを行い、メモリ内に格納
されたデータを読み出すべくして入力するアドレスを、
実際に対応するデータの格納されたデータ記憶部内の領
域を指し示すアドレスに変換するためのアドレス変換手
段を備えたことを特徴としたメモリである。以下に詳細
な説明を行う。
【0082】図20は、この実施例におけるROMの一
実施例を示すブロック図であり、図1のブロック図の構
成と同じである。図21はメモリへのデータ格納手法を
示す概念図であり、図22は図21のデータ格納手法に
おけるアドレス変換の一例を示す図である。
【0083】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは、説明の簡易化の
ため書き込みの対象となるデータの容量を10バイトの
場合について記載する。図21において、書き込みの対
象となるデータは16進数表現で{00,00,01,
10,00,00,13,13,FF,FF}の10バ
イトとし、これらデータが順にメモリに書き込まれる場
合を考える。
【0084】本実施例の手順に基づき、書き込み対象と
なるデータを、例えば2バイトの容量をもつブロックに
分割すると、図21に示すようにブロック0からブロッ
ク4の5つのブロックに分割される。ここでは説明の都
合上、書き込み対象となるデータを分割したブロックを
論理ブロック、データ記憶部内の領域を分割したブロッ
クを物理ブロックと呼ぶ。図21中の波線は各論理ブロ
ックあるいは物理ブロックの境界を示す。各論理ブロッ
クを比較すると、論理ブロック0と論理ブロック2は等
しく、論理ブロック1と論理ブロック3及び論理ブロッ
ク4に等しい論理ブロックは存在しない。
【0085】そこで、論理ブロック0、論理ブロック
1、論理ブロック3、及び、論理ブロック4については
その内部のデータをデータ記憶部18内の物理ブロック
0、1、2、3にそれぞれ格納する。
【0086】図20におけるデータ記憶部18には、以
上のような手順によりデータが書き込まれているものと
する。また、アドレス変換手段12は、図22に示す特
性を持つものとする。すなわち、論理ブロック0、2に
対するアドレスは物理ブロック0に対するアドレスに、
論理ブロック1に対するアドレスは物理ブロック1に対
するアドレスに、論理ブロック3に対するアドレスは物
理ブロック2に対するアドレスに、論理ブロック4に対
するアドレスは物理ブロック3に対するアドレスに変換
するものとする。
【0087】次にメモリ読み出しの動作について説明す
る。まず、入力された入力論理アドレス11はアドレス
変換手段12により変換され、変換アドレス13を得
る。変換アドレス13はアドレスデコーダ16によりデ
コードされ、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。
【0088】以上のように、上記実施例9では、書き込
み対象データをブロックに分割し、このブロック単位に
データ記憶部に格納するので、等しい内部データを持つ
論理ブロックが存在する場合は、1ブロック分のデータ
のみをデータ記憶部に格納するので、メモリの容量が少
なくなる。
【0089】実施例10.この実施例では、上記実施例
2で使用したメモリにおいて、さらに、格納の対象とな
るデータを1つ以上のブロックに分割し、データ記憶部
にデータを格納するようにした。例えば、参照データと
等しいデータであるデータnを読み出すべく入力された
論理アドレスは、ブロック内アドレス変換手段により、
参照データが格納された領域を指し示すアドレスに変換
され、参照データが読み出される。また、データnを読
み出すべく入力された論理アドレスは、フラグ格納手段
に格納されたフラグに基づいて、ブロック内アドレス変
換手段により、所望の領域を指し示すアドレスに変換さ
れ、所望のデータnを得る。以下に詳細な説明を行う。
【0090】図23は、本実施例におけるROMの一実
施例を示す図であり、図23において、113はブロッ
ク内アドレス変換手段であり、他の要素は、上記実施例
2の図4と同様とする。図24は、メモリへのデータ格
納手段を示す概念図である。
【0091】まず、本実施例に基づくメモリ格納手法に
ついて説明する。ここでは、説明の簡易化のため書き込
みの対象となるデータの1ブロック分の書き込みを想定
している。図24において、書き込みの対象となるデー
タは16進数表現で{10,11,11,21,25,
11,11,20,11,10}の10バイトとし、こ
れらデータが順にメモリに書き込まれる場合を考える。
この実施例では、上記実施例2と同様に参照データを
‘11’として、書き込み対象となるデータを、参照デ
ータ‘11’と比較する。アドレス‘1’、‘2’、
‘5’、‘6’、‘8’に対応するデータが、‘11’
と等しいため、これらに対応するフラグは、‘0’と
し、他は‘1’とする。なお、ここでは等/不等を1ビ
ットで表現し、等は‘0’、不等は‘1’で表現するも
のとする。すなわち、この場合、フラグ格納手段111
には、10ビットの2進数‘1010011001’が
書き込まれる。さらに、参照データ‘11’と、他のこ
れに等しくないデータのみをデータ記憶部18に格納す
る。なお、ここでは、参照データ‘11’を、メモリ上
のアドレス‘0’の位置に書き込むものとする。
【0092】ブロック内アドレス変換手段113の構成
例は図6と同様とする。図6において131は、フラグ
列112の最下位ビットより(図24において示したフ
ラグの上から下に向かって)、入力論理アドレス11に
より指定されるビット数分の加算を行うビット加算器、
132はビット加算出力、133は入力論理アドレス1
1に基づき、フラグ列112より、所望のデータに対応
するフラグを選択する第1の選択手段、134は選択さ
れたフラグ、135は参照データの書き込まれている領
域を示すアドレス、136はフラグ134に基づき、ビ
ット加算出力132と参照データアドレス135のいず
れかを選択する第2の選択手段である。
【0093】実際の動作について説明する。まず、入力
された入力論理アドレス11はブロック内アドレス変換
手段113に入力される。ビット加算器131は、フラ
グ格納手段111に格納されたフラグ列112の最下位
ビットより、入力論理アドレス11により指定されるビ
ット数分の加算を行い、ビット加算出力132を得る。
また、第1の選択手段133は入力論理アドレス11に
基づき、フラグ列112より、所望のアドレスに対応す
るフラグを選択し、フラグ134を得る。第2の選択手
段136はフラグ134に基づき、ビット加算出力13
2と参照データアドレス135のいずれかを選択し、変
換アドレス13を得る。なお、第2の選択手段136は
入力したフラグが‘1’の場合はビット加算出力132
を、フラグが‘0’の場合は参照データアドレス135
を選択するものとする。変換アドレス13はアドレスデ
コーダ16によりデコードされ、データ記憶部18内の
特定領域を選択する選択信号17を得る。その結果、デ
ータ記憶部18内の変換アドレス13に対応する領域が
励起され、データ19が出力される。
【0094】例えば、アドレス‘7’を入力した場合、
入力されたアドレス‘7’はブロック内アドレス変換手
段113により変換される。この場合、フラグ列‘10
10011001’の下位8ビット分の加算によりビッ
ト加算出力‘4’を得る。また、当該アドレスに対応す
るフラグは‘1’となっているため、第2の選択手段
は、変換アドレスとしてビット加算出力‘4’を選択
し、結果として、データ記憶部内のアドレス‘4’に書
き込まれたデータ‘20’が読み出される。
【0095】同様に、アドレス‘8’を入力した場合、
入力されたアドレス‘8’はブロック内アドレス変換手
段113により変換される。この場合、フラグ列‘10
10011001’の下位9ビット分の加算によりビッ
ト加算出力‘4’を得る。また、当該アドレスに対応す
るフラグは‘0’となっているため、第2の選択手段
は、変換アドレスとして参照データアドレス‘0’を選
択し、結果として、データ記憶部内の‘アドレス0’に
書き込まれたデータ‘11’が読み出される。
【0096】実施例11.上記実施例10では、ビット
加算手段を用いて、アドレス変換を行ったが、上記実施
例3と同様に、ビット加算手段の出力に、予め定めた特
定の値(オフセット値)を加算するように構成してもよ
い。大切なことは、格納の対象となるデータを複数のブ
ロックに分けて、ブロック内アドレス変換手段が、入力
したアドレスをブロック内のデータが実際に格納されて
いる領域を指し示すアドレスに変換することである。
【0097】実施例12.この実施例では、各ブロック
内のデータをさらに小さなサブブロックに分割し、デー
タ記憶部にデータ格納する際に、各ブロック毎に定まる
参照データとサブブロック内のデータとが等しい場合は
データを格納せず、等しいことを示すフラグのみを格納
し、等しくない場合については、等しくないことを示す
フラグとデータの双方を格納するブロック内データ格納
手法に基づいてデータが格納されたメモリで、当該フラ
グを格納するフラグ格納手段と、参照データを格納する
参照データ格納手段とを備え、データを読むべくして入
力したブロック内のアドレスを、フラグに基づいて対応
するデータが実際に格納されているブロック内のアドレ
スあるいは、参照データ格納手段を指し示すアドレスに
変換するブロック内アドレス変換手段とを備えたことを
特徴とするメモリを備え、上記実施例10ではサブブロ
ックの大きさを1バイトにしたが、これは1バイトに限
定されるものではなく、他の大きさであっても、上記実
施例10と同様の効果を奏する。以下に詳細な説明を行
なう。
【0098】図25は本実施例におけるメモリへのデー
タ格納手法を示す概念図である。尚、ROMのブロック
図は上記実施例10の図23と同様とする。
【0099】まず、本実施例に基づくメモリ格納手法に
ついて説明する。ここでは、説明の簡易化のため書き込
みの対象となるデータを1ブロック分の書き込みを想定
し、さらに1ブロックを2バイトずつ4つのサブブロッ
クに分割している。図25において、書き込みの対象と
なるデータは、16進数表現で{11,11,21,2
5,11,11,20,11}の8バイトとし、これら
のデータが順にメモリに書き込まれる場合を考える。ま
た、この実施例では参照データを2バイトの‘11,1
1’としてメモリ上のアドレス‘0’の位置に書き込む
ものとする。このため、フラグ格納手段111には10
ビットの2進数‘1010’が書き込まれる。さらに、
参照データ‘11,11’と、他のこれに等しくないデ
ータのみをデータ記憶部18に格納する。データの書き
込み動作、及び、メモリからのデータ読み出し動作につ
いては、上記実施例10と同様である。但し入力された
論理入力アドレス11はブロック内アドレス変換手段1
13によってサブブロックのアドレスに変換される。例
えばアドレス‘4’を入力した場合、入力されたアドレ
ス‘4’はブロック内アドレス変換手段113により変
換される。この場合、ビット加算出力‘1’を得る。当
該アドレスに対応するフラグは‘0’となっているため
第2の選択手段136は、変換アドレスとして参照デー
タアドレス‘0’を選択し、結果としてデータ記憶部内
のアドレス‘0’に書き込まれたデータ‘11’が読み
出される。
【0100】以上のように、上記実施例10〜12で
は、予め出現頻度の高いデータを参照データとしておく
ことによって、データを記憶するメモリが少なくてす
む。
【0101】実施例13.また、上記実施例10〜12
では、データの格納、フラグの格納、及び、アドレスの
変換等の処理を、格納の対象となるデータが参照データ
に等しいか否かに基づいて行ったが、この実施例では、
1つ以上の単項演算手段、あるいは多項演算手段を設
け、格納の対象となるデータを入力とした単項演算、あ
るいは多項演算結果に基づいてこれらの処理をおこなう
よう構成すれば、上記実施例10〜12以上の効果を奏
することになる。以下に詳細な説明を行なう。
【0102】図26は、本実施例におけるROMの一実
施例を示すブロック図であり、図26において、11は
入力論理アドレスであり、8ビッで構成され、8ビット
内のビット0〜ビット2までの3ビットをブロック内ア
ドレスとして使用し、ビット3〜ビット7までの5ビッ
トをブロックアドレスとして使用する。16はアドレス
デコーダ、17は選択信号、18はデータ記憶部、19
はデータ、14bはサブブロック毎にデータの属性を格
納するサブブロック属性格納手段、15bはサブブロッ
ク属性、111はサブブロック毎にフラグを格納するフ
ラグ格納手段、112はフラグ列、113はブロック内
アドレス変換手段、20は論理負演算手段、41は2項
論理和演算手段、21は論理負演算出力データ、43は
2項論理和出力、22はデータ選択手段、23は出力デ
ータである。図27は本実施例におけるメモリへのデー
タ格納手法を示す概念図であり、図28は、アドレス変
換の一例を示す変換図である。
【0103】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは説明の簡易化のた
め書き込みの対象となるデータの1ブロック分の書き込
みを想定している。また、サブブロックのサイズは1バ
イトとした。図27において書き込みの対象となるデー
タは16進数表現で{10,11,11,00,FF,
11,13,30,10,11}の10バイトとし、こ
れらデータが順にメモリに書き込まれる場合を考える。
この実施例では参照データを‘11’とし、格納対象と
する各データと比較を行う。比較を行った結果、ブロッ
ク内アドレス1、2、5、9は参照データと等しいため
これらに対応するフラグは‘0’とし、他は‘1’とす
る。なお、ここでは等/不等を1ビットで表現し、等は
‘0’、不等は‘1’で表現するものとする。即ちこの
場合、フラグ格納手段111には10ビットの2進数
‘0111011001’が書き込まれる。さらに参照
データ‘11’と、他のこれに等しくないデータのみを
データ記憶部に格納する。なお、ここでは参照データ
‘11’をメモリ上のアドレス‘0’の位置に書き込む
ものとする。
【0104】また、この実施例での特性データを2進数
で‘12’と‘20’にするとブロック内アドレス
‘6’のデータは参照データ‘11’に対して特性デー
タ‘12’との論理和と等しくなり、ブロック内アドレ
ス‘7’のデータはブロック内アドレス0のデータと特
性データ‘20’との論理和と等しくなる。このため、
ブロック内アドレス‘6’、及び、‘7’のサブブロッ
ク属性は‘2’としてサブブロック属性格納手段14b
に格納される。また、特性データ格納手段44のブロッ
ク内アドレス6には‘12’が格納され、ブロック内ア
ドレス‘7’には‘20’が格納される。さらにブロッ
ク内アドレス‘4’に対応するデータはブロック内アド
レス‘3’に対応するデータに対して論理負を行った値
と等しいため、ブロック内アドレス‘4’のサブブロッ
ク属性は‘1’として、サブブロック属性格納手段14
bに格納される。このことによりサブブロック属性格納
手段14bにはブロック内アドレス‘4’、‘6’、
‘7’以外は‘0’として格納され、特性データ格納手
段44にはブロック内アドレス‘4’、‘6’、‘7’
以外は‘0’と格納され、フラグ格納手段111には
‘0111011001’と格納され、データ記憶内デ
ータは{11,10,00}と格納される。以上のよう
にデータ記憶手段18にはデータが格納される。また、
ブロック内アドレス変換手段113は図28に示す特性
をもつものとする。
【0105】次に、メモリ読み出しの動作について説明
する。まず、入力された入力論理アドレス11はブロッ
ク内アドレス変換手段113によりブロック内アドレス
を参照し、図28のアドレス変換表に従って変換アドレ
ス13に変換される。変換アドレス13と入力論理アド
レス11内のブロックアドレスがアドレスデコーダ16
に入力され、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。データ19は同時に論理負演算手段2
0に入力され、論理負演算出力データ21を得る。ま
た、入力された入力論理アドレス11(ブロック内アド
レス)は同時にサブブロック属性格納手段14bにも入
力され、対応するサブブロック属性15bを得る。ま
た、データ19は2項論理和演算手段41にも入力さ
れ、特性データ42と2項論理和演算手段41との演算
結果である2項論理和出力43を得る。さらに、入力論
理アドレス11はフラグ格納手段111にも入力されフ
ラグ列112を得る。データ19、論理負演算出力デー
タ21、2項論理和出力43、フラグ列112、サブブ
ロック属性15bが選択手段22に入力され、選択手段
22ではサブブロック属性が‘1’である場合は、論理
負演算出力21を出力データとして選択し、サブブロッ
ク属性が‘2’である場合は2項論理和出力43を選択
し、出力データ23とする。また、フラグ列112が選
択手段22に入力され、上記実施例10と同様にビット
加算手段によりビット加算出力を得、第1の選択手段以
降の処理を行うものとする。
【0106】例えば、入力論理アドレス‘7’を入力し
た場合、入力された入力論理アドレス‘7’は図示しな
いブロック内アドレス変換手段により、図28のアドレ
ス変換表に基づいて変換アドレス‘1’に変換される。
また、入力論理アドレス‘7’に対するサブブロック属
性は‘2’であり、特性データは‘20’であるので、
2項論理和演算手段41により2項論理和出力43の値
を‘30’と得る。選択手段22において、入力論理ア
ドレス‘7’に対応するサブブロック属性が‘2’であ
るため出力データ23にはこの‘30’が出力されるこ
とになる。
【0107】実施例14.また、上記実施例13では、
格納対象とするデータをサブブロックを1バイトとして
1ブロック=10サブブロックとしていたが、サブブロ
ックを2バイトとして図29のように1ブロック=5サ
ブブロックとしてもよい。この場合、参照データも2バ
イトのデータとし、フラグを1サブブロックに1つのフ
ラグが対応するようにする。また、サブブロック属性格
納領域、及び、特性データ格納領域も、サブブロック毎
に属性または、特性データを格納し、特性データも2バ
イトになる。
【0108】実施例15. 上記実施例13では、参照データを予め設定し、参照デ
ータと格納対象データを比較した結果を格納するフラグ
格納手段を設けたが、単項演算手段、多項演算手段を使
用してデータ格納を行うことにより、より一層データ記
憶容量は小さくなる。
【0109】この実施例におけるメモリは、あるブロッ
クを構成するデータに対して単項入力演算を施した結果
と全く等しいデータを含むブロックが存在した場合、該
ブロックについてはその内部データを格納せずに、該単
項演算結果に等しいことを示すブロック属性情報のみを
格納するメモリ格納制御手段を用いてデータの書き込み
を行ったメモリであり、1つ以上の単項演算処理手段
と、当該ブロック属性を格納するブロック属性格納手段
とを備え、該単項演算結果と等しいデータを含むブロッ
クを読み出すべく入力されたアドレスを、当該ブロック
に対する該単項論理演算の入力に相当するデータが格納
されている領域のアドレスに変換し、これにより読み出
されたデータを対応するブロック属性情報に基づいて、
該単項演算手段により単項演算を施してから出力するこ
とを特徴としたメモリとする。以下に詳細な説明を行な
う。
【0110】図30は本実施例におけるROMの一実施
例を示すブロック図であり、上記実施例5と同様の構成
である。但し、図中の14aはブロック毎の属性を格納
するブロック属性格納手段であり、15aはブロック属
性である。図31は、本実施例におけるメモリへのデー
タ格納手法を示す概念図であり、図32は、アドレス変
換の一例を示す変換図である。
【0111】まず、本実施例に基づくメモリ格納制御手
法について説明する。なお、ここでは、説明の簡易化の
ため書き込みの対象となるデータの容量を10バイトの
場合について記載する。図31において、書き込みの対
象となるデータは16進数表現で{00,00,01,
10,00,00,13,13,FF,FF}の10バ
イトとし、これらデータが順にメモリに書き込まれる場
合を考える。
【0112】書き込み対象となるデータを、例えば2バ
イトの容量をもつブロックに分割すると、図31に示す
ようにブロック0からブロック4の5つのブロックに分
割される。ここでは説明の都合上、書き込み対象となる
データを分割したブロックを論理ブロック、データ記憶
部内の領域を分割したブロックを物理ブロックと呼ぶ。
図中の波線は各論理ブロックあるいは物理ブロックの境
界を示す。各論理ブロックを比較すると、論理ブロック
0と論理ブロック2は等しく、また、論理ブロック0内
のデータに論理負演算を施した結果は論理ブロック4と
等しい。論理ブロック1と論理ブロック3に等しい論理
ブロックは存在しない。
【0113】そこで、論理ブロック0、論理ブロック1
及び論理ブロック3についてはその内部のデータをデー
タ記憶部18内の物理ブロック0、1、2にそれぞれ格
納する。また、論理ブロック4についてはブロック属性
格納手段14aに、ブロック属性‘1’を格納し、その
他のブロックについては‘0’を格納しておく。なお、
ここでは、ブロック属性‘0’は当該ブロックが論理負
演算出力に等しくないことを示し、‘1’は論理負演算
出力に等しいことを示すものとして説明を進める。
【0114】図30におけるデータ記憶部18には、以
上のような手順によりデータが書き込まれているものと
する。また、アドレス変換手段12は、図32に示す特
性を持つものとする。すなわち、論理ブロック0、2、
4に対するアドレスは物理ブロック0に対するアドレス
に、論理ブロック1に対するアドレスを物理ブロック1
に対するアドレスに、論理ブロック3に対するアドレス
を物理ブロック2に対するアドレスに変換するものとす
る。
【0115】次にメモリ読み出しの動作について説明す
る。まず、入力された入力論理アドレス11はアドレス
変換手段12により変換され、変換アドレス13を得
る。変換アドレス13はアドレスデコーダ16によりデ
コードされ、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。データ19は同時に論理負演算手段2
0に入力され、論理負演算出力データ21を得る。ま
た、入力された入力論理アドレス11は同時にブロック
属性格納手段14aにも入力され、対応するブロック属
性15aを得る。このブロック属性に基づき、選択手段
22により、データ19または論理負演算出力データ2
1のいずれかが選択され、出力データ23を得る。な
お、選択手段22は入力したブロック属性が‘1’の場
合は論理負演算出力データ21を、‘0’の場合はデー
タ19を選択するものとする。
【0116】例えば、アドレス‘8’を入力した場合、
入力されたアドレス‘8’はアドレス変換手段12によ
り図32に基づき変換され、変換アドレス‘0’を得
る。変換アドレス‘0’はアドレスデコーダ16により
デコードされ、その結果、データ記憶部18内の変換ア
ドレス‘0’に対応する領域が励起され、データ‘0
0’が出力される。データ‘00’は同時に論理負演算
手段20にも入力され、論理負演算出力‘FF’を得
る。また、入力された論理アドレス‘8’は同時にブロ
ック属性格納手段14aにも入力され、対応するブロッ
ク属性‘1’を得る。このブロック属性に基づき論理負
演算出力‘FF’が選択され、出力データ‘FF’を得
る。
【0117】実施例16.また、上記実施例15では単
項演算手段として、論理負演算手段を用いたものを示し
たが、例えば、ビット間の論理和演算等の他の単項演算
でもよい。以下に詳細な説明を行なう。
【0118】図33は、本実施例におけるメモリへのデ
ータ格納手法を示す概念図である。なお、本実施例にお
ける論理和演算は、上記実施例5における論理和演算手
段20aを用い、メモリの構成も、図11と同様とす
る。但し、論理和演算手段20aの演算は16進数‘1
3’との論理和とする。属性は上記実施例15と同様に
ブロック毎に格納する。
【0119】まず、メモリ格納制御手法について説明す
る。この実施例では書き込みの対象となるデータを上記
実施例15と同様とし、2バイトの容量を持つブロック
に分割する。図33において、論理ブロック3の内部デ
ータは論理ブロック0の内部データに対して論理和演算
を施した結果と同様になる。このためブロック属性格納
手段14aに格納される値は、論理ブロック3に対する
ブロック属性が‘1’になり、その他の論理ブロック
0、1、2、4に対するブロック属性は‘0’になる。
データ記憶部18に記憶されるデータは図33のよう
に、論理ブロック0、2、3が物理ブロック0に対する
アドレスに変換され、論理ブロック1に対するアドレス
が物理ブロック1に対するアドレスに変換され、論理ブ
ロック4に対するアドレスが物理ブロック2に対するア
ドレスに変換され記憶される。
【0120】次に、メモリ読み出しの動作について説明
する。データ記憶部18より出力されるデータ19を得
るまでの手順は上記実施例15と同様であるが、データ
19は論理和演算手段20aに入力され、論理和演算出
力データ21aを得る。同時にブロック属性格納手段1
4aにもデータ19が入力され、対応するブロック属性
15aを得る。この後の手順は上記実施例15と同様な
手順をふまえることにより、選択手段22はブロック属
性が‘1’の場合は論理和演算出力データ21aを、
‘0’の場合はデータ19を選択するものとする。
【0121】例えば、アドレス‘6’を入力した場合、
入力されたアドレス‘6’はアドレス変換手段12によ
り変換アドレス‘0’に変換され、データ記憶部内の変
換アドレス‘0’に対する領域が励起され、データ‘0
0’が出力される。データ‘00’は同時に論理和演算
手段20aにも入力され、論理和演算出力データ‘1
3’を得る。また、入力された論理アドレス‘6’は同
時にブロック属性格納手段14aにも入力され、対応す
るブロック属性‘1’を得る。このブロック属性に基づ
き論理和演算出力‘13’が選択され、出力データ‘1
3’を得ることになる。
【0122】実施例17.また、上記実施例15〜16
では単項演算手段を1つだけ用いたが、これを複数用
い、分割したブロック内のデータを入力とした各演算手
段の出力と、ブロック内のデータをそれぞれ比較し、一
致するものについてはまた別のブロック属性を割当て、
区別するようにしても良い。以下に詳細な説明を行な
う。
【0123】図34は本実施例におけるROMの一実施
例を示すブロック図であり、ブロックを構成する要素は
上記実施例15の図30と同様とするが、この実施例は
単項演算手段を複数用いているため、論理負演算手段2
0と論理和演算手段20aの2つの演算手段が存在す
る。また、それぞれの演算手段からの出力を論理負演算
出力データ21、及び、論理和演算出力データ21aと
している。さらに論理和演算手段では、16進数‘1
3’との論理和を求める。図35は本実施例におけるメ
モリへのデータ格納手法を示す概念図である。
【0124】まず、メモリ格納制御手法について説明す
る。この実施例では、上記実施例17と同様の書き込み
対象データを使用するものとする。なお、ブロック属性
の値は、論理負演算手段20を用いた結果と同様になる
場合は属性‘1’とし、論理和演算手段20aを用いた
結果と同じになる場合は属性‘2’とする。論理ブロッ
ク4に格納されているデータは論理ブロック0内のデー
タに対して論理負演算手段20を施した結果と同様にな
る。このため論理ブロック4に対するブロック属性を
‘1’とする。また、論理ブロック3に格納されている
データは論理ブロック0内のデータに対して論理和演算
手段20aを施した結果と同じになるため、論理ブロッ
ク3に対するブロック属性は属性‘2’になる。また、
データ記憶部18には論理ブロック0、論理ブロック
2、論理ブロック3、論理ブロック4は物理ブロック0
に対応し、論理ブロック1は物理ブロック1に対応して
格納される。アドレス変換についても同様の対応とな
る。
【0125】次に、メモリ読み出しの動作について説明
する。データ19が得られるまでの手順、動作について
は、上記実施例15と同様とするが、この実施例では論
理負演算手段20と論理和演算手段20aの2つの手段
があるため、データ19はそれぞれこの2つの演算手段
にも入力され、それぞれの演算出力データを得る。選択
手段22にはデータ19と、2つの演算結果の演算出力
データと、ブロック属性が入力される。ブロック属性が
‘0’であるときはデータ19を出力データ23とし、
ブロック属性が‘1’であるときは論理負演算出力デー
タ21を出力データ23として選択し、ブロック属性が
‘2’であるときは論理和演算出力データ21aを出力
データ23として選択する。
【0126】実施例18. 上記実施例15〜17では、単項入力演算を用いてデー
タの加工を行っていたが、この実施例では、多項入力演
算として2項入力論理和演算手段を用いてデータの加工
を行うことを特徴とし、この発明によるメモリ格納制御
手法は、格納の対象となるデータを複数のブロックに分
割し、あるブロックNの内部データが、他のブロックM
(ただし、M≠N)の内部データあるいはこれに各種演
算処理を施した結果生じるデータと等しい場合には、ブ
ロックNのデータのみを該データ記憶部に格納し、ブロ
ックMについてはデータを格納せず、該ブロックが他の
ブロックN(ただし、M≠N)の内部データあるいはこ
れに各種演算処理を施した結果生じるデータと等しいこ
とを示す属性情報と該2項入力論理和演算の特性を定む
るに足る特性データのみを該ブロック属性格納手段、特
性データ格納手段にそれぞれ格納する。以下に詳細な説
明を行う。
【0127】図36は本実施例におけるメモリへのデー
タ格納手法を示す概念図であり、図37は本実施例にお
けるアドレス変換の一例を示す変換図である。尚、本実
施例では上記実施例7の図17に示すブロック図と同様
のメモリ構成とするが、属性格納手段は、ブロック属性
格納手段となり、属性はブロック属性となる。
【0128】まず、メモリ格納制御手法について説明す
る。なお、ここでは、説明の簡易化のため書き込みの対
象となるデータの容量を10バイトとしている。図36
において、書き込みの対象となるデータは16進数で
{00,00,01,10,00,00,13,13,
FF,FF}の10バイトとし、これらデータが順にメ
モリに書き込まれる場合を考える。書き込み対象となる
データを、2バイトの容量をもつ論理ブロックに分割す
る。各論理ブロックを比較すると、論理ブロック0と論
理ブロック2は等しく、論理ブロック0内のデータと1
6進数‘FF’との論理和演算結果は論理ブロック4と
等しい。また、論理ブロック1内のデータと16進数
‘13’との論理和演算結果は論理ブロック3と等し
い。
【0129】そこで、論理ブロック0、及び論理ブロッ
ク1についてはその内部のデータをデータ記憶部18内
の物理ブロック0、1にそれぞれ格納する。また、論理
ブロック3、4についてはブロック属性格納手段14a
に、2項入力論理和演算出力に等しいことを示すブロッ
ク属性‘1’を格納し、その他のブロックについては
‘0’を格納しておく。また、論理ブロック3、4につ
いては、2項入力論理和演算手段のもう1方の入力であ
る、‘FF’と‘13’をそれぞれ特性データ格納手段
44に格納する。
【0130】図17におけるデータ記憶部18には、以
上のような手順によりデータが書き込まれているものと
する。また、アドレス変換手段12は、図37に示す特
性を持つものとする。すなわち、論理ブロック0、2、
4に対するアドレスは物理ブロック0に対するアドレス
に、論理ブロック1、3に対するアドレスを物理ブロッ
ク1に対するアドレスに変換するものとする。
【0131】次に、メモリ読み出しの動作について説明
する。まず、入力された入力論理アドレス11はアドレ
ス変換手段12により変換され、変換アドレス13を得
る。変換アドレス13はアドレスデコーダ16によりデ
コードされ、データ記憶部18内の特定領域を選択する
選択信号17を得る。その結果、データ記憶部18内の
変換アドレス13に対応する領域が励起され、データ1
9が出力される。また、入力された入力論理アドレス1
1は同時に、特性データ格納手段44に入力し、対応す
る特性データ42を得る。データ19と特性データ42
は、2項入力論理和手段41に入力し、2項入力論理和
演算結果43を得る。さらに、入力された入力論理アド
レス11は同時にブロック属性格納手段14aにも入力
され、対応するブロック属性15aを得る。このブロッ
ク属性に基づき、データ選択手段22により、データ1
9または2項入力論理和演算出力43のいずれかが選択
され、出力データ23を得る。なお、データ選択手段2
2は入力したブロック属性が‘1’の場合は2項論理和
演算出力43を、‘0’の場合はデータ19を選択する
ものとする。
【0132】例えば、アドレス‘7’を入力した場合、
入力されたアドレス‘7’はアドレス変換手段12によ
り図37に基づき変換され、変換アドレス‘3’を得
る。変換アドレス‘3’はアドレスデコーダ16により
デコードされ、その結果、データ記憶部18内の変換ア
ドレス‘3’に対応する領域が励起され、データ‘1
0’が出力される。アドレス‘7’は同時に特性データ
格納手段44に入力し、該アドレスを含む論理ブロック
に対応する特性データ‘13’を得る。データ‘10’
及び特性データ‘13’は、論理和演算手段41にも入
力され、演算出力‘13’を得る。また、入力された論
理アドレス‘7’は同時にブロック属性格納手段14a
にも入力され、対応する属性‘1’を得る。このブロッ
ク属性に基づき論理演算出力‘13’が選択され、出力
データ‘13’を得る。
【0133】実施例19.また、上記実施例15〜18
ではブロックの大きさを2バイトとした場合について説
明したが、これは2バイトに限定されるものではなく、
他の大きさであっても、上記実施例15〜18と同様の
効果を奏する。また、格納の対象となるデータの特徴に
基づいて、その大きさを定めて良い。
【0134】例えば、図38のようにデータが並んでい
る場合、データを2バイト毎にブロック化するよりも3
バイト毎にブロック化を行った方が、類似データが多く
なるため、データ記憶部のメモリ容量を効率的に使用す
ることが可能になる。
【0135】実施例20.また、上記実施例18では多
項演算手段として、2項入力論理和を用いたものを示し
たが、論理積等の他の多項演算でもよい。また、特性デ
ータを1バイトのデータとした場合について説明した
が、これは1バイトに限定されるものではなく他の大き
さであっても、上記実施例18と同様の効果を奏する。
【0136】以上のように、上記実施例15〜20で
は、データを格納対象となるデータをブロック化し、ブ
ロック毎に、ブロック属性及び、特性データを格納した
ので、格納するデータの並びによっては、論理アドレス
毎にデータ記憶部にデータを格納するよりも、メモリ容
量が少なくてすむようになる。
【0137】実施例21.この実施例ではデータ記憶部
にデータを格納する際、論理アドレスが行アドレスと列
アドレスより構成されていると考え、データ記憶部内の
格納アドレスをこの行アドレスと列アドレスのサイズよ
り決定することを特徴としている。以下に詳細な説明を
行う。
【0138】図39、及び、図40は、本実施例におけ
るメモリへのデータ格納手法を示す概念図であり、図3
9の(A)において、論理アドレスは2ビットの行アド
レスと2ビットの列アドレスより構成されているものと
する。図40の(A)において、論理アドレスは3ビッ
トの行アドレスと3ビットの列アドレスより構成されて
いるものとする。
【0139】図39(A)では、列アドレスが2ビット
であり、2ビットで表現できるアドレスは‘00’、
‘01’、‘10’、‘11’の4種類であるため、1
ブロックを4バイトとして、図39(B)のようにデー
タ記憶部の縦方向に行アドレスを、横方向に列アドレス
を入力し、1行に1ブロック分のデータを格納し、行と
列のアドレスで格納場所を決定している。
【0140】図40(A)では列アドレスが3ビットで
あり、3ビットで表現できるアドレスは‘000’、
‘001’、‘010’、‘011’、‘100’、
‘101’、‘110’、‘111’の8種類であるた
め、1ブロックを8バイトとして図40(B)のように
データ記憶部の縦方向に行アドレスを、横方向に列アド
レスを入力し、1行に1ブロック分の8バイトのデータ
を格納し、行と列のアドレスで格納場所を決定してい
る。
【0141】以上のように、上記実施例21では、論理
アドレスを行アドレス用の行ビットと列アドレス用の列
ビットの2種類のアドレスを表わすビットで構成し、デ
ータ記憶部も縦方向に行を、横方向に列を表わし、行と
列でアドレスを決定しているので、アドレス変換手段は
行アドレスと列アドレスのサイズによってデータをブロ
ック化すればよく、データの並びが行アドレスと列アド
レスのサイズに従い、規則性を持った並びである場合に
は、データ記憶部のメモリ容量が小さくなる。また、ア
ドレス変換についても行アドレスのみについて行えばよ
く、アドレス変換手段を小型化できる。
【0142】実施例22.また、上記実施例1〜21で
はアドレス変換の特性を固定としたが、記憶されたデー
タを読み出すために与えられたアドレスを変換するアド
レス変換手段の特性を変更可能としたことを特徴とした
メモリとして、アドレス変換手段にRAM等を用いて、
特性を任意に変更できるようにしても良い。例えば、フ
ラッシュメモリ等を用いても良い。
【0143】実施例23. この実施例では、格納の対象となるデータの先頭からあ
る一定サイズのデータを取り除き、これをデータ記憶部
内の特定の領域に格納し、他の残りのデータを新たにブ
ロックに分割する。以下に詳細な説明を行う
【0144】図41は本実施例における、メモリへのデ
ータ格納手法を示す概念図であり、図42は本実施例に
おけるアドレス変換の一例を示す変換図である。図43
は、本実施例におけるROMの一実施例を示すブロック
図であり、図43において、構成要素は上記実施例15
における図30と同様とする。図44は本実施例におけ
るデータのブロッキング手法を示す概念図である。以下
に詳細な説明を行なう。
【0145】まず、メモリ格納制御手法について説明す
る。図41において、書き込みの対象となるデータは1
6進数で{11,00,00,01,10,00,0
0,13,13,FF}の10バイトとし、これらデー
タが順にメモリに書き込まれる場合を考える。書き込み
対象となるデータを、図44(A)に示すように、例え
ば2バイトの容量をもつ論理ブロックに分割する。各論
理ブロックを比較すると、内部データの等しいブロック
は存在しない。そこで、図44(B)に示すように、書
き込み対象となるデータの先頭1バイトを取り除き、再
度、ブロックに分割する。すると、論理ブロック0と論
理ブロック2は等しく、論理ブロック0内のデータに論
理負演算を施した結果は論理ブロック4と等しい。ま
た、論理ブロック1と論理ブロック3に等しい論理ブロ
ックは存在しない。なお、図44中のXは不定を示し、
データが何でも良いことを意味するものとする。
【0146】以降、図41に示すように、上記実施例1
5に示したのと同様の手順により、論理ブロック0、論
理ブロック1及び論理ブロック3についてはその内部の
データをデータ記憶部内の物理ブロック0、1、2にそ
れぞれ格納する。先頭の1バイトについては、物理ブロ
ック2の次に格納する。また、論理ブロック4について
はブロック属性格納手段に、論理負演算出力に等しいこ
とを示すブロック属性を‘1’とし、その他のブロック
については‘0’にしておく。なお、先頭1バイトに対
応するブロック属性は存在しない。
【0147】図43におけるデータ記憶部18及びブロ
ック属性格納手段14aには、以上のような手順によ
り、データが書き込まれているものとする。また、アド
レス変換手段18は、図42に示す特性を持つものとす
る。
【0148】次に、メモリ読み出しの動作について説明
する。まず、入力された入力論理アドレス11はアドレ
ス変換手段12により、変換アドレス13を得る。変換
アドレス13はアドレスデコーダ16によりデコードさ
れ、データ記憶部18内の特定領域を選択する選択信号
17を得る。その結果、データ記憶部18内の変換アド
レス13に対応する領域が励起され、データ19が出力
される。データ19は同時に論理負演算手段20に入力
され、論理負演算出力21を得る。また、入力された入
力論理アドレス11は同時にブロック属性格納手段14
aにも入力され、対応するブロック属性15aを得る。
このブロック属性に基づいて、選択手段22により、デ
ータ19または論理負演算出力21のいずれかが選択さ
れ、出力データ23を得る。なお、選択手段22は入力
したブロック属性が‘1’の場合は論理負演算出力21
を、‘0’の場合はデータ19を選択するものとする。
【0149】例えば、アドレス‘9’を入力した場合、
入力されたアドレス‘9’はアドレス変換手段12によ
り図42に基づき変換され、変換アドレス‘0’を得
る。変換アドレス‘0’はアドレスデコーダ16により
デコードされ、その結果、データ記憶部18内の変換ア
ドレス‘0’に対応する領域が励起され、データ‘0
0’が出力される。データ‘00’は同時に論理負演算
手段20にも入力され、論理負演算出力‘FF’を得
る。また、入力された論理アドレス‘9’は同時にブロ
ック属性格納手段14aにも入力され、該アドレスに対
応する論理ブロックのブロック属性‘1’を得る。この
ブロック属性に基づき論理負演算出力‘FF’が選択さ
れ、出力データ‘FF’を得る。
【0150】実施例24.また、上記実施例23では所
定の論理ブロックを構成するため、先頭から1バイトの
データを取り除いた場合について説明したが、これは1
バイトに限定されるものではなく、格納の対象となるデ
ータの特徴に基づき、他の大きさとしても、上記実施例
23と同様の効果を奏する。
【0151】実施例25.また、上記実施例23では所
定の論理ブロックを構成するため、先頭からデータを取
り除いた場合について説明したが、これは先頭に限定さ
れるものではなく他の最後でない任意の位置であって
も、上記実施例23と同様の効果を奏する。
【0152】以上のように、上記実施例23〜25では
格納の対象となるデータの特徴に基づき、データの一部
を除いた残りのデータをブロック化しているので、デー
タの一部に他のデータの並びとは異なったデータが含ま
れている場合でも、データ記憶部にデータを格納する
時、メモリ容量を効率よく使用することが可能になる。
【0153】実施例26.アドレスデコーダにはアドレ
ス変換手段の出力である変換アドレスのみを入力するよ
うに構成したが、記憶領域内のデータをアクセスするた
めに与えられるアドレスと、これを当該アドレス変換手
段により変換した変換アドレスとを選択して、そのいず
れかをデータ記憶部に与えるアドレス選択手段を設けた
ことを特徴とするメモリを用いてデータを直接アクセス
するために与えられるアドレスと、該変換アドレスとを
選択して、そのいずれかを与えるようにしても良い。以
下に詳細な説明を行う。
【0154】図45は、本実施例において直接アドレス
と変換アドレスよりデータをアクセスするブロック図で
あり、図45において116はアドレス切り替え信号で
あり、117はアドレス、118はメモリ、119はL
SIでありLSI119はアドレス変換12と選択手段
22とメモリ118で構成されている。図46は図45
におけるアドレス選択手段によるデータアクセス方法を
示す概念図である。
【0155】動作について説明を行う。尚、この実施例
では、アドレス切り替え信号が‘0’である場合は選択
手段22において変換アドレスを選択し、アドレス切り
替え信号が‘1’である場合は、選択手段22において
直接アドレスを選択するものとする。
【0156】アドレスの選択の基準は、例えば、物理ブ
ロックに書き込む場合は、直接アドレスを選択し、これ
を読み出す場合は変換アドレスを選択する。変換アドレ
スは、メモリ上の記憶素子の位置を直接指し示す。した
がって、メモリ素子数分のアドレス空間を持つ。これに
対し、論理アドレスは、この実施例では一般に変換アド
レスより大きな空間を示す。例えば、論理的には、図4
6の論理空間にある図柄がメモリに書き込まれているよ
うに見えればよいが、この内論理ブロック2と論理ブロ
ック3は同一データであるため、実際のメモリ上には図
46の物理空間にあるような図柄を書き込む。従って、
書き込む場合は、必ずアドレス切り替え信号116に
‘1’を指定し、直接アドレス(変換アドレスと同意)
を選択しこのアドレスでメモリに書き込む。
【0157】反対に読み出しの場合は、アドレス切り替
え信号116に‘0’を指定し、変換アドレスを選択す
る。メモリ読み出しの時に、論理ブロック2や3をアク
セスすべく入力したアドレス‘200’‘300’
は、上記実施例1〜25に記載した要領で変換され、変
換アドレス‘200’となる。すなわち、この場合、論
理空間は500のアドレスを持つが、物理的に必要なメ
モリ素子は400素子でよい。
【0158】以上のように、上記実施例26では、デー
タを格納する場合は直接アドレスを選択し、データを読
み出す場合は変換アドレスを選択することにより、デー
タを記憶する物理空間は論理空間よりも小さなアドレス
空間でよくなる。
【0159】
【発明の効果】以上のように、第1の発明によれば、ア
ドレス変換手段が複数の論理アドレスを共通の変換アド
レスに変換して、データ記憶手段のデータをアクセスす
るので、例えば複数の論理アドレスに対して等しいデー
タが割り当てられ、当該データに対する変換アドレスが
1つであるような場合でも、確実に該当するデータをア
クセスできる効果がある。
【0160】また、第2の発明によれば、上記データ記
憶手段が他のデータと等しいデータを同等データとし
て、当該他のデータと共通の変換アドレスが示す領域に
記憶するとともに、上記アドレス変換手段が上記同等デ
ータの論理アドレスを当該他のデータの変換アドレスに
変換するので、例えば論理アドレスと変換アドレスが1
対1で記憶されているような場合よりも記憶容量が小さ
くできる効果がある。また、等しいデータを持つ論理ア
ドレスに対して、変換アドレスがn対1で存在するよう
な場合であっても論理アドレスを入力すればアクセスし
たいデータの変換アドレスを得ることが出来る効果があ
る。
【0161】また、第3の発明によれば、上記データ記
憶手段が予め定められたデータを参照データとして1つ
の変換アドレスが示す領域に記憶し、各論理アドレスの
データが上記参照データと等しいか否かを示すフラグを
記憶するフラグ格納手段を上記メモリが有し、上記アド
レス変換手段は上記フラグに基づいて論理アドレスを変
換アドレスに変換するので、例えば格納しようとしてい
るデータについて、等しいデータが多いことが予め解っ
ているような場合では、そのデータを参照データとして
変換アドレスが示す領域に記憶しておくことにより、デ
ータを記憶する容量を小さくできる効果がある。また、
参照データと等しいか否かをフラグ格納手段が記憶して
いるので、フラグの値に基づいてアドレス変換手段が論
理アドレスを変換アドレスに変換することにより、アク
セスしようとするデータの論理アドレスを与えることに
より、確実に当該データの変換アドレスを得ることがで
きる効果がある。
【0162】また、第4の発明によれば、上記アドレス
変換手段が上記データに対して所定の加工を行った結
果、他のデータと内容が等しくなるデータを同等データ
として、この同等データの論理アドレスを当該他のデー
タの変換アドレスに変換して、同等データに対するアク
セスを当該他のデータへのアクセスに変換するので、上
記第2及び第3の発明よりも更にデータを格納する記憶
容量を小さくすることができ、また、アクセスしたい論
理アドレスを入力することにより、該当するデータの変
換アドレスを確実に得ることができる。さらに上記メモ
リは、アクセスされる論理アドレスに対してデータが同
等であるかどうかを示す属性を格納する属性格納手段
と、上記属性格納手段により格納された属性に基づき加
工手段により加工したデータと、上記アドレス変換手段
によりアクセスされた当該他のデータのどちらか一方を
選択して出力する選択手段を有しているので、1つの論
理アドレスを入力することにより加工する前のデータ
と、加工してからのデータの2つのデータが得られたと
しても、属性格納手段に格納されているデータにより、
得られた2つのデータのうちどちらのデータを選択すべ
きか選択手段が確実に選択し、アクセスしようとしてい
るデータを得ることができる効果がある。
【0163】また、第5の発明によれば、上記加工手段
が少なくとも単項入力演算と多項入力演算のいずれかを
用いているので、格納しようとしているデータの特徴に
合わせて加工手段を設定することにより、上記第1及び
第2の発明よりも更にデータを記憶する記憶容量を小さ
くすることができる効果がある。
【0164】また、第6の発明によれば、上記加工手段
が多項入力演算を用いる場合、演算の特性を定めるデー
タを特性データとして、この特性データを格納する特性
データ格納手段を有しているので、特性データを複数設
定することにより上記第4の発明よりも更にデータに対
して複雑な加工手段を行うことができ、格納しようとす
るデータの記憶容量を小さくすることができる効果があ
り、また、論理アドレスを入力することにより、アクセ
スしようとしているデータの変換アドレスを確実に得る
ことができる効果がある。
【0165】また、第7の発明によれば、上記アドレス
変換手段が格納対象となるデータを複数のブロックに分
割し、ブロックを単位としてアドレス変換を行うので、
上記第1〜第5の発明によるデータ記憶手段、アドレス
変換手段、参照データ、フラグ格納手段、属性格納手
段、特性データはこのブロックサイズに合わせて設定す
ることになり、格納対象となるデータ1つ1つに対して
設定を行い記憶するよりも、記憶容量が小さくなる効果
がある。
【0166】また、第8の発明によれば、上記アドレス
変換手段がブロックのサイズをデータ記憶手段に格納さ
れるデータの特徴に基づいて変更するので、予め格納し
ようとするデータの特徴が解っている場合には、ブロッ
クサイズをデータの特徴に合わせて任意の大きさに変更
することができ、上記第7の発明よりもさらに、格納し
ようとするデータの記憶容量を小さくすることができる
効果がある。
【0167】また、第9の発明によれば、上記データ記
憶手段が行アドレスと列アドレスによりアクセスされ、
上記メモリは行アドレスと列アドレスを生成するアドレ
スデコーダを有しているので、例えば論理アドレスを行
アドレスと列アドレスより構成することによって1行ア
ドレスを1ブロックと設定し、行アドレス単位に等しい
データが並んでいるような場合、上記第1〜第6の発明
よりも、更に格納するデータの容量を小さくすることが
出来る効果がある。また、上記アドレス変換手段がブロ
ックのサイズを上記アドレスデコーダの行アドレスと列
アドレスのサイズに基づいて決定するので、上記のよう
に行アドレスと列アドレスにより論理アドレスが構成さ
れているような場合には、この論理アドレスを与えるこ
とによって確実にアクセスしようとしているデータの変
換アドレスを得ることが出来る効果がある。また、アド
レス変換についても行アドレスのみについて行えばよ
く、アドレス変換手段を小型化できる効果がある。
【0168】また、第10の発明によれば、上記アドレ
ス変換手段が格納の対象となるデータから、特定のサイ
ズのデータを除いた残りのデータを複数のブロックに分
割するので、例えば格納しようとしているデータの並び
の一部にそれまでのデータの並びのパターンと異なるよ
うなデータが存在していても、そのデータを除いてブロ
ック化することができ、効率の良いデータ格納を行うこ
とが出来る効果があるる。
【0169】さらに、第11の発明によれば、上記メモ
リはアドレス変換手段から出力されるアドレスと、外部
から入力するアドレスのいずれかを選択するアドレス選
択手段を有しているので、例えばデータを格納する場合
と、データをアクセスする場合で、予めアドレス変換手
段から出力されるアドレスか、外部から入力するアドレ
スか、いずれかを選択するように決めておくことによ
り、データの格納容量を小さくできる効果がある。
【図面の簡単な説明】
【図1】この発明の実施例1におけるROMの一実施例
を示すブロック図である。
【図2】この発明の実施例1におけるメモリへのデータ
格納手法を示す概念図である。
【図3】この発明の実施例1におけるアドレス変換の一
例を示す変換図である。
【図4】この発明の実施例2におけるROMの一実施例
を示すブロック図である。
【図5】この発明の実施例2におけるメモリへのデータ
格納手法を示す概念図である。
【図6】この発明の実施例2におけるアドレス変換の一
例を示すブロック図である。
【図7】この発明の実施例3におけるアドレス変換手段
におけるビット加算器の一例を示すブロック図である。
【図8】この発明の実施例4におけるROMの一例を示
すブロック図である。
【図9】この発明の実施例4におけるメモリへのデータ
格納手法を示す概念図である。
【図10】この発明の実施例4におけるアドレス変換の
一例を示す変換図である。
【図11】この発明の実施例5におけるROMの一例を
示すブロック図である。
【図12】この発明の実施例5におけるメモリへのデー
タ格納手法を示す概念図である。
【図13】この発明の実施例5におけるアドレス変換の
一例を示す変換図である。
【図14】この発明の実施例6における複数の単項演算
手段を用いたブロック図である。
【図15】この発明の実施例6におけるメモリへのデー
タ格納手法を示す概念図である。
【図16】この発明の実施例6におけるアドレス変換の
一例を示す変換図である。
【図17】この発明の実施例7におけるROMの一実施
例を示すブロック図である。
【図18】この発明の実施例7におけるメモリへのデー
タ格納手法を示す概念図である。
【図19】この発明の実施例7におけるアドレス変換の
一例を示す変換図である。
【図20】この発明の実施例9におけるROMの一実施
例を示すブロック図である。
【図21】この発明の実施例9におけるメモリへのデー
タ格納手法を示す概念図である。
【図22】この発明の実施例9におけるアドレス変換の
一例を示す変換図である。
【図23】この発明の実施例10におけるROMの一実
施例を示すブロック図である。
【図24】この発明の実施例10におけるメモリへのデ
ータ格納手法を示す概念図である。
【図25】この発明の実施例12におけるメモリへのデ
ータ格納手法を示す概念図である。
【図26】この発明の実施例13におけるROMの一実
施例を示すブロック図である。
【図27】この発明の実施例13におけるメモリへのデ
ータ格納手法を示す概念図である。
【図28】この発明の実施例13におけるアドレス変換
の一例を示す変換図である。
【図29】この発明の実施例14におけるメモリへのデ
ータ格納手法を示す概念図である。
【図30】この発明の実施例15におけるROMの一実
施例を示すブロック図である。
【図31】この発明の実施例15におけるメモリへのデ
ータ格納手法を示す概念図である。
【図32】この発明の実施例15におけるアドレス変換
の一例を示す変換図である。
【図33】この発明の実施例16におけるメモリへのデ
ータ格納手法を示す概念図である。
【図34】この発明の実施例17におけるROMの一実
施例を示すブロック図である。
【図35】この発明の実施例17におけるメモリへのデ
ータ格納手法を示す概念図である。
【図36】この発明の実施例18におけるメモリへのデ
ータ格納手法を示す概念図である。
【図37】この発明の実施例18におけるアドレス変換
の一例を示す変換図である。
【図38】この発明の実施例19におけるメモリへのデ
ータ格納手法を示す概念図である。
【図39】この発明の実施例21におけるメモリへのデ
ータ格納手法を示す概念図である。
【図40】この発明の実施例21におけるメモリへのデ
ータ格納手法を示す概念図である。
【図41】この発明の実施例23におけるメモリへのデ
ータ格納手法を示す概念図である。
【図42】この発明の実施例23におけるアドレス変換
の一例を示す変換図である。
【図43】この発明の実施例23におけるROMの一実
施例を示すブロック図である。
【図44】この発明の実施例23におけるデータのブロ
ッキング手法を示す概念図である。
【図45】この発明の実施例26において直接アドレス
と変換アドレスよりデータをアクセスするブロック図で
ある。
【図46】図45におけるアドレス選択手段によるデー
タアクセス方法を示す概念図である。
【図47】従来例におけるROMの構成を示すブロック
図である。
【符号の説明】
11 入力論理アドレス 12 アドレス変換手段 13 変換アドレス 14 属性格納手段 14a ブロック属性格納手段 14b サブブロック属性格納手段 15 属性 15a ブロック属性 15b サブブロック属性 16 アドレスデコーダ 17 選択信号 18 データ記憶部 19 データ 19a 論理和入力データ 20 論理負演算手段 20a 論理和演算手段 20b 論理負演算手段1 20c 論理和演算手段2 20d 論理和演算手段3 21 論理負演算出力データ 21a 論理和演算出力データ 21b 論理負演算1出力データ 21c 論理和演算2出力データ 21d 論理和演算3出力データ 22 データ選択手段 23 出力データ 41 2項論理和演算手段 42 特性データ 43 2項論理和出力 44 特性データ格納手段 111 フラグ格納手段 112 フラグ列 113 ブロック内アドレス変換手段 116 アドレス切り替え信号 117 アドレス 118 メモリ 119 LSI 131 ビット加算器 132 ビット加算出力 133 選択手段 134 フラグ 135 参照データアドレス 136 選択手段 140 上位5ビット 141 下位5ビット 142 ビット加算器 143 ビット加算器 144 オフセット値 145 加算器 146 選択手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−109173(JP,A) 特開 昭56−74745(JP,A) 特開 平3−65097(JP,A) 特開 昭59−32061(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 データを各アドレスの示す領域に記憶格
    納するデータ記憶手段と、 複数の論理アドレスを共通の変換アドレスに変換して、
    上記データ記憶手段のデータをアクセスするアドレス変
    換手段とを備えるメモリであって、 上記アドレス変換手段は、上記データに対して所定の加
    工を行った結果、他のデータと内容が等しくなるデータ
    を同等データとして、この同等データの論理アドレスを
    当該他のデータの変換アドレスに変換して、同等データ
    に対するアクセスを当該他のデータへのアクセスに変換
    し、 上記メモリは、さらに、アクセスされる論理アドレスに
    対応して、データが同等データであるかどうかを示す属
    性を格納する属性格納手段と、 上記アドレス変換手段によりアクセスされた当該他のデ
    ータに対して、上記所定の加工と逆の加工を行う加工手
    段と、 上記属性格納手段により格納された属性に基づき、加工
    手段により加工したデータと上記アドレス変換手段によ
    りアクセスされた当該他のデータのどちらか一方を選択
    して出力する選択手段とを備えたことを特徴とするメモ
    リ。
  2. 【請求項2】 上記加工手段は、少なくとも単項入力演
    算と多項入力演算のいずれかを用いていることを特徴と
    する請求項1記載のメモリ。
  3. 【請求項3】 上記加工手段は、多項入力演算を用いる
    場合、演算の特性を定めるデータを特性データとして、
    この特性データを格納する特性データ格納手段を有する
    ことを特徴とする請求項1または2記載のメモリ。
  4. 【請求項4】 上記アドレス変換手段は、格納対象とな
    るデータを複数のブロックに分割し、ブロックを単位と
    してアドレス変換を行うことを特徴とする請求項1から
    3のいずれかに記載のメモリ。
  5. 【請求項5】 上記アドレス変換手段は、ブロックのサ
    イズをデータ記憶手段に格納されるデータの特徴に基づ
    いて変更することを特徴とする請求項4記載のメモリ。
  6. 【請求項6】 上記メモリは、さらに、行アドレスと列
    アドレスを生成するアドレスデコーダを有し、上記デー
    タ記憶手段は、行アドレスと列アドレスによりアクセス
    され、上記アドレス変換手段は、ブロックのサイズを上
    記アドレスデコーダの行アドレスと列アドレスのサイズ
    に基づいて決定することを特徴とする請求項4記載のメ
    モリ。
  7. 【請求項7】 上記アドレス変換手段は、格納の対象と
    なるデータから所定のサイズのデータを除いた残りのデ
    ータを、複数のブロックに分割することを特徴とする請
    求項4記載のメモリ。
  8. 【請求項8】 上記メモリは、さらに、アドレス変換手
    段から出力されるアドレスと、外部から入力するアドレ
    スのいずれかを選択するアドレス選択手段を有すること
    を特徴とする請求項1から7のいずれかに記載のメモ
    リ。
  9. 【請求項9】 書き込み対象データの論理アドレスを変
    換アドレスに変換し、その変換アドレスに基づき上記書
    き込み対象データをデータ記憶部に書き込む際のデータ
    書き込み方法であって、 上記書き込み対象データのうち他の書き込み対象データ
    と値が等しい書き込み対象データ、および上記書き込み
    対象データのうち一定の論理演算をすることにより他の
    書き込み対象データと値が等しくなる書き込み対象デー
    タのいずれか一方の場合は、その等しい値毎に書き込み
    対象データの論理アドレスを同一の変換アドレスに変換
    してその変換アドレスの示す上記データ記憶部の領域に
    その等しい値を書き込む一方、 上記書き込み対象データのうち他の書き込み対象データ
    と値が異なり、かつ、上記一定の論理演算をしても他の
    書き込み対象データと値が異なる書き込み対象データの
    場合は、この書き込み対象データの論理アドレスを他の
    書き込み対象データの変換アドレスとは独立の変換アド
    レスに変換してその変換アドレスの示す上記データ記憶
    部の領域にその書き込み対象データの値を書き込み、 上記書き込み対象データの論理アドレス毎に上記一定の
    論理演算を行ったか否かを示す属性を設定する、 ことを特徴とするデータ書き込み方法。
  10. 【請求項10】 読み取り対象データの論理アドレスを
    変換アドレスに変換 し、その変換アドレスに基づき上記
    読み取り対象データをデータ記憶部より読み出し出力す
    る際のデータ読み出し方法であって、 読み取り対象データの論理アドレスを変換アドレスに変
    換して、その変換アドレスに基づき上記データ記憶部よ
    り読み取り対象データを読み出す際、上記読み出し対象
    データの論理アドレス毎に予め設定されている一定の論
    理演算を行ってから出力するか否かを示す属性を参照
    し、 上記属性が一定の論理演算を行っていないことを示す場
    合は、上記変換アドレスに基づき上記データ記憶部より
    読み出した読み取り対象データの値をそのまま出力する
    一方、 上記属性が一定の論理演算を行っていることを示す場合
    は、上記変換アドレスに基づき上記データ記憶部より読
    み出した読み取り対象データに対し一定の論理演算を行
    った値を出力する、 ことを特徴とするデータ読み出し方法。
JP14065293A 1993-06-11 1993-06-11 メモリ、データ書き込み方法、データ読み出し方法 Expired - Fee Related JP3336073B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14065293A JP3336073B2 (ja) 1993-06-11 1993-06-11 メモリ、データ書き込み方法、データ読み出し方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14065293A JP3336073B2 (ja) 1993-06-11 1993-06-11 メモリ、データ書き込み方法、データ読み出し方法

Publications (2)

Publication Number Publication Date
JPH06348586A JPH06348586A (ja) 1994-12-22
JP3336073B2 true JP3336073B2 (ja) 2002-10-21

Family

ID=15273633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14065293A Expired - Fee Related JP3336073B2 (ja) 1993-06-11 1993-06-11 メモリ、データ書き込み方法、データ読み出し方法

Country Status (1)

Country Link
JP (1) JP3336073B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015438A (ja) * 2008-07-04 2010-01-21 Toshiba Corp メモリコントローラ
JP5468668B2 (ja) * 2012-11-12 2014-04-09 株式会社東芝 メモリコントローラ
US11329803B2 (en) 2020-09-29 2022-05-10 Amazon Technologies, Inc. Redundancy controls in convergent encryption using dynamic salt values
US11582025B2 (en) 2020-09-29 2023-02-14 Amazon Technologies, Inc. Efficient deduplication using block-based convergent encryption

Also Published As

Publication number Publication date
JPH06348586A (ja) 1994-12-22

Similar Documents

Publication Publication Date Title
JP4717130B2 (ja) オフセット表を使用する完全ハッシュの生成
US4627020A (en) Method for rotating a binary image
JP3124648B2 (ja) 色データ管理方法及び装置
US5467088A (en) Huffman code decoding circuit
JPWO2014141566A1 (ja) 半導体装置及び半導体装置に対するエントリアドレス書き込み/読み出し方法
US4433389A (en) Memory address translation system for accessing memory locations via job names
JPS6230298A (ja) 画像処理装置
JP3336073B2 (ja) メモリ、データ書き込み方法、データ読み出し方法
US6684267B2 (en) Direct memory access controller, and direct memory access control method
JPH1027241A (ja) デジタル画像のテーブル・ルックアップ変換のための方法および装置
KR100474357B1 (ko) 다단계 분할을 이용한 기억소자 할당방법
US7440338B2 (en) Memory control circuit and memory control method
JP3166447B2 (ja) 画像処理装置及び画像処理方法
JPH11353225A (ja) 逐次実行型でグレイ・コード体系のアドレッシングを行うタイプのプロセッサがアクセスするメモリ、及びメモリにコード/データを格納する方法
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
JPS6158037B2 (ja)
JP2021060748A (ja) 演算装置および演算方法
JP3129248B2 (ja) 2次元配列コードを用いた文字列検索方法
JPH0661870A (ja) 可変長符号復号器
JP2003196156A (ja) 情報処理装置および情報処理方法
US5909185A (en) Lookup table device and signal conversion method
JP3224050B2 (ja) 可変長符号復号器、プロセッサ、および可変長符号復号テーブル
JPH03248240A (ja) マイクロコンピュータ
JPH0259560B2 (ja)
JPH01161549A (ja) 増設メモリ回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020416

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020723

LAPS Cancellation because of no payment of annual fees