JPH0357500B2 - - Google Patents

Info

Publication number
JPH0357500B2
JPH0357500B2 JP59242564A JP24256484A JPH0357500B2 JP H0357500 B2 JPH0357500 B2 JP H0357500B2 JP 59242564 A JP59242564 A JP 59242564A JP 24256484 A JP24256484 A JP 24256484A JP H0357500 B2 JPH0357500 B2 JP H0357500B2
Authority
JP
Japan
Prior art keywords
hashing
range
function
functions
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59242564A
Other languages
English (en)
Other versions
JPS60146346A (ja
Inventor
Eru Kaataa Jon
Enu Ueguman Maaku
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60146346A publication Critical patent/JPS60146346A/ja
Publication of JPH0357500B2 publication Critical patent/JPH0357500B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は大規模な定義域を小規模な範囲に写像
するための技術すなわちハツシング技術に関す
る。
〔従来技術〕
ハツシングの概念はよく知られており、データ
ポイントを大きなセツトから小さなセツトに写像
することが必要であるような様々な分野に適用さ
れている。
ハツシングの適用範囲は広くたとえばその用途
の1つの例として、大規模なメモリと小規模なキ
ヤツシユとの関係がある。ここではメモリの或る
アドレスの内容をキヤツシユへ選択的に記憶する
ことが望まれる。キヤツシユにデータを記憶する
際、データを記憶すべきところのキヤツシユのア
ドレスを生成するのにハツシング関数を用いるこ
とができる。たとえばキヤツシユが256ワードの
記憶容量を有し、メモリが4096ワードの記憶容量
を有するとすれば、キヤツシユのアドレスは8ビ
ツトで指定されメモリのアドレスは12ビツトで指
定される。簡単なタイプのハツシング関数の1つ
に、メモリアドレスの初めの8ビツトをキヤツシ
ユアドレスとして用いるものがある。この場合、
所与のキヤツシユアドレスに写像できるメモリア
ドレスは16個存在する。メモリのアドレスが既に
占領されたアドレスのところへハツシングされる
ときは、キヤツシユの記憶場所の中で空いたとこ
ろを見つけるために幾つかの付加的なステツプが
試行される。このような“衝突”は出来る限り回
避することが望ましい。
メモリからのデータの選択がランダムであつ
て、かつキヤツシユに既に置かれている要素の数
がキヤツシユのサイズに比べて十分に小さいとき
は、新しいメモリアドレスと前のメモリアドレス
とが衝突する確率は比較的小さい。しかしなが
ら、メモリからのデータの選択はランダムではな
く連続的なアドレスで選択される場合がほとんど
である。上記の例でメモリの連続的なアドレスが
同じハツシングアドレスを有する確率は比較的大
きいので、この場合の衝突の頻度は容認できるも
のではない。
入力の分布に関係なく衝突の確率を比較的小さ
く保てるようなハツシング手法を提供するため
に、これまで多大な努力がなされてきた。たとえ
ば、“ハツシユ関数のユニバーサルクラス
(Universal Classes of Hash Functions)”、コ
ンピユータおよびシステム科学ジヤーナル
(Journal of Computer and System Sciences)、
第18巻、第2号 1979年4月、143ないし154ペー
ジに示される論文には、ハツシング関数を1つだ
けでなくセツトで提供するという手法が提案され
ている。この手法によればアプリケーシヨンが走
行するたびに(またはそれ程頻繁にしなくてもよ
いならば適当な頻度で)ハツシング関数のセツト
から1つのハツシング関数が選択される。ハツシ
ング関数のセツトをユニバーサル2クラスになる
ように正確に選択すれば、入力の分布に無関係な
良好な性能が得られる。ユニバーサル2という用
語は前記論文に詳述されている。要約すると、任
意の2つのデータポイントの衝突の確率が1/b
(ただしbはレンジBのサイズ)以下であればハ
ツシング関数のセツトはユニバーサル2とみなさ
れる。言い換えると、そのセツトの1/bよりも多
いハツシング関数のもとでは衝突するデータポイ
ント対は存在しない。
こうしたハツシング技術に係る問題は、既知の
ユニバーサル2のクラスが通常非常に多数のハツ
シング関数を有するということである。たとえば
nビツトの名前をハツシングできるユニバーサル
は通常は2O(n)個のハツシング関数を有する。し
たがつて選択されたハツシング関数を指定するに
はO(o)個のビツトが必要である。ここでO(o)は一
般にnの1次関数であることを示す。また、確認
タグを生成するためにハツシングを利用する場合
に、ハツシング関数を指定するのに多くのビツト
を必要とするということはシステムとしては実用
的でない。
“確認およびセツトの等価性における新しいハ
ツシユ関数とその使用法(New Hash
Functions and Their Use in Authentication
and Set Equality)”、コンピユータおよびシス
テム科学ジヤーナル(Journal of Computer
and System Sciences)、第22巻、第3号、1981
年6月、265ないし279ページに示される論文に
は、選択されたハツシング関数を指定するのにわ
ずかm・log(n)ビツトしか必要としないような
小規模ではあるが十分に強力なハツシング関数の
セツトが提案されている(ただしmは出力される
ビツトの長さである)。この改良はハツシングの
一部の適用分野にとつては実用的であるが、それ
でもなおさらに小規模のハツシングのクラスで満
足の行く結果を得たい場合もある。すなわち、長
いデータストリングをハツシングするにはm・
log(n)ビツトでさえ長過ぎるという場合があ
る。
〔発明が解決しようとする問題点〕
以上示したように従来のハツシング関数のクラ
スはその規模が大きいという問題がある。
したがつて本発明の目的は従来に比べて小規模
のハツシング関数のクラスで、大規模なハツシン
グプログラムを必要とせずしかも衝突の確率を小
さく保てるような、ハツシングの装置を提供する
ことにある。
〔問題点を解決するための手段〕
本発明を一般的に表現すれば以下のようにな
る。
入力データxをn個の部分x1ないしxoに分け
て、b=pm(ただしpは素数、mは正の整数)個
の出力データのうちの1個を、関数fy(x)=y0x1
+y1x2+y2x3+…+yn-1xoに従つて生成する(た
だしyはb個の元から成る有限体のうちの1個の
元であり、この演算は有限体の演算である)。
以上のようにして入力データxをb個の出力デ
ータのうちの1個に写像する。
1実施例としてこれを別な表し方をすれば次の
ようになる。
定義域Aの要素xをサイズbの範囲Bにハツシ
ングするに際し、xを2を底として表示しそれを
x1、x2、…、xoなるn個のサブストリングに分け
る。ここで各サブストリングのビツト長は、log2
(b)以下で最大の整数kに等しいかまたはそれより
小さい値である。bが素数の場合について考え
る。これは前記の表現でpmのm=1の場合であ
る(b=pm=p1;すなわち素数)。そうするとハ
ツシング関数のクラスHは、b個のハツシング関
数f0、f1、…、fb-1から成り、任意の関数fyはfy
(x)=(y0x1+y1x2+…+yn-1xo(mod b)で与
えられる。
以上のようにすれば、任意の異なる要素xおよ
び要素x′に対してfy(x)=fy(x′)となるyはわず
か(n−1)個にすぎない。したがつてこれらの
要素の衝突する確率は(n−1)/bである。
衝突の確率をさらに小さくしたいとき、または
bを素数以外の数にしたいときは、2段階のハツ
シングを遂行する。これに関する実施例は〔実施
例〕の後半のところで詳しく説明する。
〔実施例〕
実施例は定義域Aから範囲Bへの写像に関連し
て説明する。第1の実施例では、範囲Bのサイズ
bは素数であると仮定する。この場合、クラスH
のハツシング関数はf0、f1、…、fb-1のb個のハ
ツシング関数から成る。クラスHに属する特定の
ハツシング関数fyを用いて定義域Aの要素xを範
囲Bにハツシングするために、要素xは2を底と
して表示しx1、x2、…、xoのサブストリングに分
ける。x1、x2、…、xoの各サブストリングのビツ
ト長log2(b)以下で最大の整数kに等しいかまたは
それよりも小さい値である。こうして範囲Bにお
けるハツシングされたアドレスは、 fy(x)=(y0x1+y1x2+…+yn-1xn) (mod b) で与えられる。例として定義域Aが64K(65536)
のワードを有し範囲Bが101個のメモリ場所(す
なわちb=101)を有する場合について考える。
そうすると、クラスHはf0ないしf100(101個)の
ハツシング関数から成り、kは6である。定義域
Aの要素xをたとえば0111001111000101(2を底
とする表示による)とすると、要素xは各々最高
6ビツトまでの3つのサブストリングに分けられ
る。すなわちx1=011100=28、X2=111100=60、
およびx3=0101=5である。このような様式の一
貫性を維持するならば、16ビツトのワードを、4
つの4ビツトのサブストリングまたはデータスト
リングの別の組合せに分けることも可能である。
クラスHのハツシング関数fyをたとえばfy=f2
に選択すれば、ハツシングされるアドレスは、f2
(x)=((1)(28)+(2)(60)+(4)(5))(mod 101
)=
57で与えられる。fy=f5に選択すれば、ハツシン
グされるアドレスは、f5(x)=((1)(28)+(5)
(60)+(25)(5))(mod 101)=49で与えられる。
当該技術分野においてよく知られるように、デ
ータストリームの中にハツシングされるべきメツ
セージの長さに関する標識を包含させることが要
求される場合もあるが、これに関しては本発明を
構成するものではないので説明は省略する。
任意の異なる要素xおよび要素x′に対してfy
(x)=fy(x′)となるyはわずか(n−1)個に
すぎない(この証明は容易である)。したがつて
異なる要素xおよび要素x′が衝突する確率は(n
−1)/bである。第1の実施例で使用するハツ
シング関数の数はb個である。したがつてハツシ
ング関数の必要数は定義域Aの要素の数には依存
しない。このように本発明に従つたハツシング手
法は、少数のハツシング関数で長いデータストリ
ングをハツシングする場合に特に有益である。
さらに、ハツシング関数を決定するのに定義域
Aのサイズを知る必要はないという利点もある。
通常は、定義域のサイズが異なればそのデータス
トリングに対して同等の効率を有するように同じ
ハツシング関数を使用できるようその決定に際し
定義域のサイズを知る必要がある。
衝突の確率をさらに小さくしたいとき、または
bが素数でないような範囲を利用したいときは、
クラスH′のハツシング関数を生成するのに2段
階の処理を用いることもできる。以下この第2の
実施例について説明する。
クラスH′のハツシング関数は2つの番号yお
よびzで指標付けされ、要素xを代入すべき、ク
ラスH′に属する特定のハツシング関数の値はgz
(fy(x))に等しい。すなわち、最初の関数fy
(x)を用いて要素xを定義域Aから範囲P′に写
像し、さらにその結果を第2の関数gzを用いて範
囲p′から範囲Bに写像する。
次に関数fyおよびgzについて詳しく説明する。
ハツシングは2段階で達成される。第1段階は定
義域Aから範囲P′への要素のハツシングに関係
し、第2段階は範囲P′から範囲Bへの要素のハツ
シングに関係する。範囲P′のサイズpは範囲Bの
サイズbより大きい素数となるように選択する。
第1段階のハツシング関数fy(x)は先に説明し
たようにして計算されるが、この場合、その範囲
は0、1、…、p−1である。すなわちハツシン
グ関数fy(x)=(y0x1+y1x2+…+yn-1xo)(mod
p)の形式の多項式が定義域Aの要素を範囲Pに
ハツシングする。この場合、任意の2つの要素x
および要素x′の衝突する可能性は(n−1)/p
である。したがつてpが大きくなればなるほど、
衝突の確率は小さくなる。
第2段階のハツシング関数gzはユニバーサル2
のクラスから単に選択される。この関数はたとえ
ば最初に示した論文“ハツシユ関数のユニバーサ
ルクラス(Universal Classes of Hash
Functions)”の関数でその範囲のサイズがbの
ものである。したがつてgzは真にユニバーサル2
であるので、第2段階での衝突の確率はせいぜい
1/bである。そうすると定義域Aから範囲Bへの
写像における衝突の確率は、わずか1/b+(n
−1)/pにすぎない。したがつてpが大きくな
れば衝突の確率は1/bに近づく。
これまでに説明した第2の実施例では、最終の
範囲Bのサイズbを素数にしなくてもよいように
多項式のハツシングは第1段階にだけ使用され
る。中間の範囲Pのサイズpは素数でなければな
らないが、多項式のハツシングの範囲はメモリ
(要素がハツシングされるところの)のサイズに
は依存しないので、pの値は自由に大きくでき
る。したがつて衝突の確率を減少させることがで
きる。
第1の実施例および第2の実施例はいずれも少
数のハツシング関数しか使用しないにもかかわら
ず衝突の確率を小さく保てる。したがつて小規模
のハツシングプログラムでも非常に長いデータス
トリングをハツシングでき、仮りにハツシングさ
れるデータストリングが全く同じものであるとし
てもそれが何度も衝突するということもない。
以上の説明により、これを実現するための回路
は当業者には容易に設計できるであろうが、簡単
な構成例を図に示したので、図を参照して回路構
成の説明をする。
ホーナー(Horner)の法則を用いて方程式 fy(x)=(y0x1+y1x2+…+yn-1xoを、 fy(x)=x1+y(x2+y(x3+…+y(xo))…) と変形できる。ハツシング関数fy(x)のための
この変形の公式は、もとの関数をyの乗算とxi
加算の形で表現し直したものである。こうすれ
ば、yの累乗を別々に計算する必要がないので、
計算の過程における乗算の回数を減らすことがで
きる。
図に示す構成で遂行されるオペレーシヨンのシ
ーケンスは、 t1=xo ti=xo-i+1+y(ti−1) i=2、……、n fy(x)=to で定義できる。図に示す構成(以下ハツシング機
構という)はアキユムレータ10、アキユムレー
タ12、加算器14、および乗算器16を含む。
ハツシング機構は2位相のクロツク(図示せず)
で動作する。第1のクロツク位相においては、ア
キユムレータ10の内容が加算器14でxiに加算
され、加算結果がアキユムレータ12へロードさ
れる。第2のクロツク位相においては、アキユム
レータ12の内容に乗算器16でyが乗算され、
乗算結果がアキユムレータ10へロードされる。
前記第1の実施例および第2の実施例の場合は、
xiは逆の順番で加算器14に供給される(すなわ
ちxoで始まつてx1で終わる)。しかしながら、
個々のサブストリングの番号付けは任意であるの
で、このような様式の一貫性を維持する限りは、
加算器14にはサブストリングxiをどのような順
番で与えてもよい。
いずれにしても連続的なクロツクサイクルによ
るハツシング機構のシーケンスは最後のxiが加算
器14に与えられるまで続き、最後のxiが加算器
14に与えられた時点でのアキユムレータ12の
内容がfy(x)を表わす。
ハツシング機構の参照番号18の部分は値yの
情報源を一般的に示すものである。この部分は適
切なハードウエアまたはソフトウエアを用いて
様々な方法で実現することができる(さらに簡単
に手動的な選択を用いても実現できる)。
第1の実施例すなわち1段階式のハツシングの
場合は、加算器14および乗算器16はモジユロ
bの装置である。ただしbは要素xが写像される
べきところの範囲Bのサイズを定義する素数であ
る。加算器14の出力がハツシング関数を構成す
る。第2の実施例すなわち2段階式のハツシング
の場合は、加算器14および乗算器16はモジユ
ロpの装置である。ただしpはbより大なる素数
である。アキユムレータ12の出力fy(x)はgz
回路(図示せず)へ供給され、そこで通常の方法
によりgz(fy(x))の値が計算される。
図に示すハツシング機構から得られるハツシン
グ関数出力は様々な分野に広く適用できることは
当業者には明らかであろう。たとえば大規模のデ
ータベースの要素xを小規模のメモリへ記憶させ
るようなシステムにおけるデータの記憶および検
索の目的に、本発明で得られるハツシング関数を
用いて記憶すべきデータをハツシングされたアド
レスと共にメモリへ供給することができる。ハツ
シングされたアドレスはアキユムレータ12の出
力から直接得られるか(第1の実施例)または前
記gz回路から得られる(第2の実施例)。
他の適用例としてたとえばエラー検知の場合
は、データは対応するハツシング関数出力と共に
送ることができる。受信データが正しいかどうか
を判断するために、ハツシング関数は受信側で再
び計算されて受信されたハツシング関数の値と比
較される。
確認タグの生成において本発明を適用する場合
もエラー検知の場合と同様にして実現できる。し
かしながら一般的にはハツシング関数の変更は安
全のためメツセージごとに行われることが望まし
く、1つのメツセージの連続的な部分を別々にハ
ツシングするのではなく1つのメツセージ全体か
ら単一のハツシング値を生成することが望ましい
ので、確認タグの手法は複雑になるであろう。確
認タグの要件に関する詳細は2番目に示した論文
“確認およびセツトの等価性における新しいハツ
シユ関数とその使用法(New Hash Functions
and Their Use in Authentication and Set
Equality)”に記載されている。
〔発明の効果〕
以上説明したように、本発明によれば、従来に
比べて少数のハツシング関数しか使用しないにも
かかわらず衝突の確率を小さく保てるので、小規
模のハツシングプログラムでも非常に長いデータ
ストリングをハツシングすることができる。
【図面の簡単な説明】
図は本発明に基づくハツシング関数の値を計算
するための回路構成の例を示すブロツク図であ
る。

Claims (1)

  1. 【特許請求の範囲】 1 入力データxをb=pm(ただしpは素数、m
    は正の整数)個の出力データのセツトのうちの1
    個に写像するハツシング装置であつて、 前記入力データxを複数の部分に分けて、該部
    分を順次に受け取る加算手段と、 前記加算手段の出力を累計する第1の累算手段
    と、 b個の元からなる有限体のうちの1個の元を選
    択して出力する手段と、 前記第1の累算手段及び前記出力する手段の出
    力を乗算する乗算手段と、 前記乗算手段の出力を累算し、その累算出力を
    前記加算手段へ供給して前記部分と加算させる第
    2の累算手段とを具備し、 前記加算手段に前記複数の部分がすべて供給さ
    れた後で前記第1の累算手段の出力をハツシング
    関数として取り出すようにしたことを特徴とする
    ハツシング装置。
JP59242564A 1983-12-30 1984-11-19 ハツシング装置 Granted JPS60146346A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/567,199 US4588985A (en) 1983-12-30 1983-12-30 Polynomial hashing
US567199 1983-12-30

Publications (2)

Publication Number Publication Date
JPS60146346A JPS60146346A (ja) 1985-08-02
JPH0357500B2 true JPH0357500B2 (ja) 1991-09-02

Family

ID=24266145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59242564A Granted JPS60146346A (ja) 1983-12-30 1984-11-19 ハツシング装置

Country Status (4)

Country Link
US (1) US4588985A (ja)
EP (1) EP0149067B1 (ja)
JP (1) JPS60146346A (ja)
DE (1) DE3479253D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232902A (ja) * 2007-08-06 2013-11-14 Nec Corp 伝送システムと方法ならびにプログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2136612B (en) * 1983-03-10 1986-04-09 Ferranti Plc Word checking system
US5111389A (en) * 1987-10-29 1992-05-05 International Business Machines Corporation Aperiodic mapping system using power-of-two stride access to interleaved devices
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
US5347652A (en) * 1991-06-26 1994-09-13 International Business Machines Corporation Method and apparatus for saving and retrieving functional results
US5371499A (en) * 1992-02-28 1994-12-06 Intersecting Concepts, Inc. Data compression using hashing
US5406278A (en) * 1992-02-28 1995-04-11 Intersecting Concepts, Inc. Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
US5353024A (en) * 1992-05-01 1994-10-04 Intersecting Concepts, Inc. Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
US5491749A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
US6097725A (en) * 1997-10-01 2000-08-01 International Business Machines Corporation Low cost searching method and apparatus for asynchronous transfer mode systems
US6373986B1 (en) 1998-04-08 2002-04-16 Ncr Corporation Compression of data transmission by use of prime exponents
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
US6690667B1 (en) 1999-11-30 2004-02-10 Intel Corporation Switch with adaptive address lookup hashing scheme
US6654701B2 (en) * 2001-08-30 2003-11-25 Spirent Communications Method and apparatus for measuring protocol performance in a data communication network
US8341609B2 (en) * 2007-01-26 2012-12-25 Oracle International Corporation Code generation in the presence of paged memory
US8413125B2 (en) * 2007-01-26 2013-04-02 Oracle International Corporation Asynchronous dynamic compilation based on multi-session profiling to produce shared native code
US8037460B2 (en) * 2007-01-26 2011-10-11 Oracle International Corporation Code persistence and dependency management for dynamic compilation in a database management system
CA2769682C (en) * 2008-08-01 2015-03-03 Nikolajs Volkovs System and method for the calculation of a polynomial-based hash function and the erindale-plus hashing algorithm
US20140009314A1 (en) 2012-07-06 2014-01-09 International Business Machines Corporation Efficient string hash computation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295124A (en) * 1979-08-13 1981-10-13 National Semiconductor Corporation Communication method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232902A (ja) * 2007-08-06 2013-11-14 Nec Corp 伝送システムと方法ならびにプログラム

Also Published As

Publication number Publication date
EP0149067A2 (en) 1985-07-24
DE3479253D1 (en) 1989-09-07
US4588985A (en) 1986-05-13
EP0149067A3 (en) 1985-10-02
JPS60146346A (ja) 1985-08-02
EP0149067B1 (en) 1989-08-02

Similar Documents

Publication Publication Date Title
JPH0357500B2 (ja)
JP4717154B2 (ja) オフセット表を使用する完全ハッシュの生成
US6353910B1 (en) Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage
JPS5927944B2 (ja) マトリクスデ−タ並列処理システム
US4800535A (en) Interleaved memory addressing system and method using a parity signal
CN112162975A (zh) 基于单哈希均分布隆过滤器的重复数据删除技术实现方法
US5848436A (en) Method and apparatus for efficiently providing data from a data storage medium to a processing entity
US6308249B1 (en) Storing data in a grey code system
JP2662124B2 (ja) 高速フーリエ変換における信号シーケンス発生方法、装置およびシステム並びに高速フーリエ変換処理装置
EP1481319B1 (en) Method and apparatus for parallel access to multiple memory modules
KR20030055467A (ko) 다단계 분할을 이용한 기억소자 할당방법
JPH0289132A (ja) 論理アドレス生成方式
JPH11184549A (ja) サイン/コサイン・ルックアップ・テーブル
KR100954843B1 (ko) 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체
US5134694A (en) Method and device for the processing of address words
JP2004213588A (ja) 半導体装置
US7065606B2 (en) Controller architecture for memory mapping
JP2684752B2 (ja) 拡張記憶制御方式
US6904505B1 (en) Method for determining valid bytes for multiple-byte burst memories
JPH01260530A (ja) データファイル装置
JPH03179520A (ja) データデコーダ
JPS63126326A (ja) シ−ケンシヤル復号器
JPH04101272A (ja) データエレメント検索方法
JPH01310463A (ja) 緩衝記憶装置
JP2000020392A (ja) 巡回アドレス発生回路