(57)【特許請求の範囲】
【請求項１】
相互接続された配置の能動記憶素子を有するメモリシステムであって、少なくとも２つの該能動記憶素子は、
メモリ素子と、
該メモリ素子に関連した処理素子とを備え、該メモリ素子は特定機能を実現するために使用される可変長指令を受け取りかつ記憶することができ、さらに、前記少なくとも２つの該能動記憶素子は、
該可変長指令を該メモリ素子へダウンロードする手段と、
該能動記憶素子を相互接続された能動記憶素子またはシステムバスへ接続する第１および第２のポートと、
該処理素子を周辺装置へ接続するバックエンドポートとを備え、該処理素子は、ホストプロセッサによる干渉に依存することなく、該周辺装置と他の周辺装置との間の相互作用に関するデータに対する低レベル処理動作を行っており、そして、該少なくとも２つの能動記憶素子は、さらに、
該第１および第２のポートおよび該処理素子の中で相互接続を提供するスイッチ手段を備えることを特徴とするメモリシステム。
【請求項２】
請求項１記載のメモリシステムにおいて、該少なくとも１つの能動記憶素子は、該相互接続配置に含まれる他の能動記憶素子のメモリ素子に記憶されたデータに対する特定の操作の実行時において、それらの他の能動記憶素子の協力を得るために、それらの他の能動記憶素子の処理素子と通信する手段をさらに備えるメモリシステム。
【請求項３】
請求項１記載のメモリシステムにおいて、該可変長指令を呼び出すために、該能動記憶素子へパケットを送信する手段をさらに備えるメモリシステム。
【請求項４】
請求項１記載のメモリシステムにおいて、第２の能動記憶素子に含まれる可変長指令を呼び出すために、第１の能動記憶素子によって受信されるパケットを該第２の能動記憶素子へ送信する手段をさらに備えるメモリシステム。
【請求項５】
２以上のインテリジェントメモリ素子の相互接続された配置からなるメモリモジュールにおいて、該インテリジェントメモリ素子のいくつかは第１および第２のポートを含んでおり、該第１および第２のポートがシステムインタフェースに接続可能であり、少なくとも２つの該インテリジェントメモリ素子は、
いくつかの該インテリジェントメモリ素子間の通信を指定する切替手段と、
バスインタフェースを通してデータを送受信することができる、データを記憶する手段と、
１以上の機能を実行するのに使用される可変長指令を受信しかつ記憶することができるプログラムメモリと、
該可変長指令を該プログラムメモリへダウンロードする手段と、
メッセージの受信に応答して、該可変長指令を実行する、該プログラムメモリに関連した処理手段と、
周辺装置を該処理手段へ直接接続するために、該システムインタフェース以外にインタフェースを提供するバックエンドポートとを備え、該処理手段は、ホストプロセッサによる干渉に依存することなく、該周辺装置と他の周辺装置との間の相互作用に関するデータに対する低レベル処理動作を行うことを特徴とするメモリモジュール。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コンピュータシステムに関し、特に、コンピュータシステムに使用するメモリシステムに関する。
【０００２】
【従来の技術】
コンピュータの重要な用途の一つはデータ処理である。このような処理は、時には人間にとって一連の情報をテーブルに設定するように非常に単純な操作である。時には、このデータは、線形計画法最適化プロセスのようなコンピュータの処理するあるタスクの一部として処理される。
【０００３】
このコンピュータメモリに記憶されるデータは、コンピュータの制御及び処理回路によりアクセスされる。従来のメモリはマルチロケーションから構成され、各ロケーションは情報を記憶するように機能する。これらの各ロケーションは郵便局ボックスのようなもので、特定のボックスの内容を使用しようとするためには、その独特な識別番号またはアドレスを知らなければならない。コンピュータが一つのデータを要求する時には、要求されるデータのあるメモリのロケーションを知らなければならない。そのため、コンピュータはメモリに対して適当なロケーションのアドレスを指定して、その代わりに、このメモリはこのロケーションにあるデータをコンピュータに提供する。それ故に、メモリは単にコンピュータの情報保存場所として受動的に機能する。
【０００４】
コンピュータは設計されたプログラムの実行により有用なタスクを行う。これらのプログラムはタスクの一部としてデータをアクセスし処理する知識を有さなければならない。プログラマーは度々このデータをデータ構造体のようなグループに集束することがある。一般的にはプログラマーは各データ構造体に関連する実メモリロケーションの正常化を維持するためには随分苦労する。この帳簿維持の操作は非常に厄介で且つエラーが起こりやすく、操作効率が非常に悪い。スタックアクセスなどの単純なタスクは、理想的には単一のメモリアクセスのみを行うことが望ましい。しかし、スタックアクセスを行うためには、境界チェック及び記憶管理などのスタックアクセス等の他の操作が要求されるため、単純なタスクには、より多くのメモリアクセスが要求されることになる。
【０００５】
【発明が解決しようとする課題】
以上述べたように、現在のコンピュータシステムのプロセッサ中心の設計は、データベース及び通信関係のアプリケーションにとって理想的なものではない。それは、これらのアプリケーションにはメモリ集中の傾向があるからである。例えば、通信アプリケーションにおいては、一般的に通信回線から得られるデータは入力／出力（Ｉ／Ｏ）チャンネルプロセッサまたは直接メモリアクセス（Ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ：ＤＭＡ）ユニットの補助によってシステムバスを介してメモリに送られる。このデータの処理は、チェックサム演算、ビット抽出、挿入、ヘッダ解析、リンクリスト処理、テーブル閲覧及びキーワード検索のような単純な且つ低レベルの操作を必要とする。一般的には浮動小数点演算のような多量のプロセッサ集中の操作は必要とされない。必要な処理が終わると、データは出力キューに置かれて、通信回線に戻される。
【０００６】
これらの低レベル操作は頻発する傾向にあるため、多量の交信がシステムバスに生じ、このバスに対するコンテンションが起こる。プロセッサは、必要な低レベル操作を行うことができるように、継続的にメモリからデータを伝送し、受信しなければならない。このようなプロセッサの過負荷状態に対して、コンピュータシステムにおいてはメモリが低負荷の資源となる傾向にある。従来のメモリはプロセッサに応じて処理能力を変化させることができないので、システムはより混雑し、システムにおけるコンテンションが増大する。その結果、多くのコンピュータアプリケーションにおいては、メインメモリからプロセッサに対してデータをアクセスするために、多量の待ち時間が発生し、重大な効率の低下を生じている。
【０００７】
【課題を解決するための手段】
本発明によれば、低レベルの操作を行うことのできるマルチポートメモリシステムが実現される。このメモリは、一つのポートを介してプロセッサと対話し、他のポートを介して周辺装置あるいは通信回線と対話可能であり、しかも、両方のデータポートのデータを処理する機能を有する。
【０００８】
本発明のメモリシステムは一つ以上の能動記憶素子（Ａｃｔｉｖｅ  ｓｔｏｒａｇｅ  ｅｌｅｍｅｎｔ：ＡＳＥ）を有する。各ＡＳＥは、この素子に局所的にデータ処理操作を行わせると共に、少なくとも二つのポートの一つで通信させるための処理論理を含む。このようなＡＳＥは異なるタイプの小さなオブジェクトと大きなオブジェクトに分けられ、且つＡＳＥのグループ化によりさらに大きなオブジェクトを構築することができる。この処理論理は、ポインタ参照解除（Ｐｏｉｎｔｅｒ  ｄｅｒｅｆｅｒｅｎｃｉｎｇ）、メモリ間接指定、検索、及び境界チェック等のような低レベル操作を行うように設計される。少なくともこのＡＳＥの何れかは少なくとも一つのバックエンドポートを含む。このポートはディスクや通信回線のような周辺装置に直接接続されている。データはプロセッサの介在を必要とせずにメモリに直接流れ込むことができる。これにより、システムの待ち時間及び主システムバス上の混雑を減少することができる。このメモリシステムの規模は、有効なメモリの全体と、ＡＳＥアレイのサイズとともに増加するＩ／Ｏバンド幅とによって変化する。
【０００９】
処理操作を行うことのできるメモリシステムを用いることにより、従来ではホストプロセッサによって行われていた低レベル演算の多くを、メモリシステムに読み込む必要なく行うことができる。その結果、単純なデータ伝送よりも多くの時間を、データの処理やより複雑な操作及びアプリケーション規定の操作に用いることができるため、メモリ機能が増大する。プロセッサは一定のタスクをメモリに分担させることにより、大きな効率利得を実現することができる。
【００１０】
【実施例】
メモリへのデータ構造体要素の記憶、メモリ中のデータ構造体要素の処理及びメモリからのデータ構造体要素の抽出の概念については、米国特許第５１３４７１１号に開示されている。この発明において、ホストプロセッサは一つ以上のポート（バスインタフェース）を有するインテリジェントメモリを使用する。このホストプロセッサは、そのメモリをプログラミングして、このメモリに、ホストとメモリの間の第１インタフェースのバス以外のバスを介して、周辺装置とインタフェースさせることができる。また、このホストプロセッサは、そのメモリに対し、任意の指定された方法で他のバスを介してデータを処理するよう指示することができる。
【００１１】
「データ構造体」という概念については、コンピュータ専門家にとって周知であるが、本発明の理解のために、敢えて説明する。すなわち、以下には、Ｋｅｒｎｉｇｈａｍ等の著書「Ｔｈｅ  Ｃ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ」（Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，１９７８，ｐａｇｅ  １１９）の段落を引用する。
「構造体は、操作しやすいように単一の名前でグループ化された、一つ以上の、そしておそらくは異なった型の変数の集まりである。（ある種の言語、特にＰａｓｃａｌでは、構造体は“レコード”と呼ばれる。）
構造体の典型的な例は、給料支払いレコードである。“従業員”は、名前、住所、社会保険番号、給料などの属性の集合で記述される。これら属性のいくつかは、再び構造体であってもよい。名前はいくつかの成分をもっており、住所もそうであり、給料さえもそうなっている。
構造体は、特に大規模プログラムにおいて複雑なデータを組織化するのに役立つ。なぜなら、多くの場合、構造体によって、関連した一連の変数を、別々の実体ではなく一つの単位として扱えるからである。」
【００１２】
図１は、従来技術によるマルチプロセッサの構成を示す概略図である。このシステムは、プロセッサ１０、１１と、プロセッサ１０、１１に接続される共通バス１２と、周辺装置１３〜１８を備えている。周辺装置１７と１８はメモリである。操作において、プロセッサ１０、１１が共通バス１２を要求してコンテンション状態となった後、要求に成功したプロセッサは共通バス１２に接続された周辺装置１３〜１８の任意の一つにアクセスする。このような構成において、共通バス１２がプロセッサ１０、１１と周辺装置１３〜１８との間の通信プロセスの潜在的なボトルネックとなることは明かである。この問題を緩和するために、各プロセッサにキャッシュメモリを組み込む工夫も行われている。このようなアプローチは、バスのコンテンションの低減に有利であるが、プロセッサとメモリとの間の基本的な通信問題を相変わらず解決できていない。メモリは、依然として、基本の命令取り出しと記憶の形態を採っている。
【００１３】
図２は、本発明の原理によるコンピュータシステムのブロック図を示す。例示的に、このシステムは、プロセッサ１０、１１と、周辺装置１３〜１６とを備えている。この図２においては、プロセッサ１０、１１は交換用のネットワーク１９に接続される。また、本発明の原理により、図２のコンピュータシステムは、ネットワーク１９に接続されたメモリシステム２０を備えている。このメモリシステム２０は、図１のメモリと異なり、メモリモジュールから構成されている。このメモリモジュールは、制御される処理機能及び通信機能を含む。具体的には、このメモリモジュールは、バックエンドポート（図４にも参照）を含む。このポートは様々な周辺装置とのインタフェースを提供する。図２には説明のため、ＳＣＳＩ（ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）ディスクコントローラ２２０と、通信回線２４０と、変換器２６０が示されている。
【００１４】
ネットワーク１９は、一つのプロセッサがメモリシステム２０と通信すると同時に、他のプロセッサが他の周辺装置と通信することを可能にする。ネットワーク１９は、コンテンション問題の調節に関わるが、低レベルのメモリとの間の通信を行わない。後者の操作はメモリシステム２０内のインテリジェントメモリにより行われる。もちろん、（例えば、衝突が起こりそうもないアプリケーションにおいて）コンテンション問題を持たないユーザに関しては、ネットワーク１９を削除することも可能である。本発明によれば、メモリシステムと他の周辺装置との間の通信は、常にプロセッサの関与なしに行うことができる。
【００１５】
図３は、メモリシステム２０の詳細を示す図である。メモリシステム２０はネットワークに相互接続されたメモリモジュール２１〜２３を有し、このネットワークには通信回線２４〜２６が含まれる。メモリモジュール２１〜２３はネットワーク１９にも接続されている。各メモリモジュール２１〜２３は複数のＡＳＥを有し、各ＡＳＥはプロセッサ素子３０とメモリ素子３１を含む。プロセッサ素子３０と関連のメモリ素子３１はＡＳＥの一例である。各プロセッサ素子３０はさらに周辺装置に接続されたポート４７を有することもできる。ＡＳＥは例えば、ライン６７〜６９を有するようなネットワークにも接続され、このようにしてメモリモジュールが構成される。
【００１６】
図４は、メモリモジュールの他の実施例を示す。このメモリモジュールは双方向通信回線の切替機能を持ち、図にはライン２８と２９のような行と列の形で示されている。各ＡＳＥモジュール、例えば、３３は各行のラインと列のラインの間に「交差点」を構成する。任意の行または列のラインは他のＡＳＥと通信できるように設計される。それと同時に、任意の行と列のラインはネットワーク１９と通信できるように設計される。通信は、既知の数個の方法の中の任意の一つにより、所定のモジュール内のＡＳＥの間で、行と列のラインおよび他のＡＳＥの通過との組み合わせを介して行われる。また、既存のアレイに含まれる行または列（または両方）に、メモリモジュールを追加することが可能であり、これにより、メモリの総容量を増大することができる。通信は、パケットによって行うことができる。各パケットは、宛先アドレスを有し、この宛先アドレスは、所定の手続きに従って、このパケットを受信する各ＡＳＥに対し、このパケットを行から列へまたはその逆に転送すべきか否かを知らせる。その容量において、ＡＳＥは、単にクロスオーバスイッチとしてのみ機能する。制御論理（ＣＬＡＭ）４５は、ＡＳＥをネットワーク１９、またはシステムバスに接続する。システムバスにはホストプロセッサ（図示せず）が接続される。
【００１７】
図４に示す構成においては、ＡＳＥ３３１〜３３４はバックエンドポート４７を有しており、各バックエンドポート４７はディスク記憶装置（ＳＣＳＩディスクコントローラ）２２０にそれぞれ接続される。ＡＳＥ３３５〜３３７もバックエンドポート４７を有しており、各バックエンドポート４７は通信回線２４０にそれぞれ接続される。他のすべてのＡＳＥはこのようなバックエンドポートを使用しない。もちろん、他の構成が簡単に実現される。周辺装置（例えば、ＳＣＳＩディスクコントローラ２２０または通信回線２４０）に接続されたＡＳＥは、ホストプロセッサの介在を要することなくデータに対する低レベルの操作を行う。したがって、ホストプロセッサは、このメモリモジュールを自分のインテリジェントメモリとして扱う。このインテリジェントメモリは、ポストプロセッサからの最小限の指示により、ホストプロセッサに代わって周辺装置とのインタフェースを提供する。
【００１８】
図５は、図４の切り替え環境における操作に適したＡＳＥの処理素子に関する実施例のブロック図である。この実施例は、処理素子の二つのポートに接続された前述のクロスオーバスイッチとして機能するスイッチ３４と、数個のブロックが接続される共通バス３５とを有する。すなわち、共通バス３５は、メモリ３６と、レジスタアレイ３７と、算術論理ユニット（ＡＬＵ）３８と、マイクロプログラムアドレス制御論理３９と、メモリ制御論理２７とのインタフェースを提供する。バックエンドポート４７は、第２バスを介して算術論理ユニット（ＡＬＵ）３８とのインタフェースを提供する。このバックエンドポート４７は、例えば、ＳＣＳＩプロトコル、または他の適切な通信プロトコルに従って操作するように構成される。
【００１９】
操作において、メモリシステム２０は二種類のアクセスを受ける。第１のアクセスは、一般的にはメモリシステム、及び特別の場合には必要なＡＳＥの各々をプログラミングしようとするアクセスである。プログラミングは、メモリシステムが操作するために必要なデータ構造体、及びこれらのデータ構造体に対する必要な操作の方法を規定する。例えば、一つのプログラムモジュールはバックエンドポート上のデータに関してＡＳＥの処理プロセスを定義し、別のプログラムモジュールは一つの第１インタフェース（ホストへの）に関してデータ処理を定義し、さらに別のプログラムモジュールは、特別なプロセッサモジュールに対して利用可能な量よりも多いメモリまたはデータ処理が特別なタスクによって要求される場合に、異なるＡＳＥの間の対話を定義する。第２のアクセスは、所望のタスクを行うためにメモリシステムに指示を与えようとするアクセスである。これは、例えば、ワードデータをＬＩＦＯスタックに記憶させるとか、最新アクセスした「子」の「親」にアクセスするなどである。言い替えれば、ホストプロセッサは、図５のメモリ４０、またはメモリ３６と直接対話することができる。
【００２０】
このインテリジェントメモリにより、ＡＳＥは、マイクロプログラミングされたメモリ３６内で上述した種類のタスクを行うことができる。このメモリ３６は、マイクロプログラムアドレス制御論理３９の制御のもとでアクセスされ、算術論理ユニット（ＡＬＵ）３８、レジスタアレイ３７、メモリ４０の必要な操作を行うための必要な制御信号を提供する。メモリ３６は従来型のメモリでよいが、本発明においては、好ましくは、マイクロプログラミングされたメモリ３６は、４個の２５６ワードの３２ビットメモリモジュールからなる。このような設計の理由は、可変長指令を有効に記憶し、また同時に記憶された可変長指令に併行にアクセスすることを可能にするという要求によるものである。マイクロプログラムアドレス制御論理３９は、トラップ論理ブロック６０と分岐論理ブロック７０からなる。
【００２１】
レジスタアレイ３７は、ＡＬＵ及びメモリの各瞬時の値を記憶するために使用されるレジスタの集まりを有する。例えば、レジスタアレイ３７は、レジスタに保持されたパターンをマッチングするような回路設計に必要とされる。そして、このレジスタアレイ３７は、算術論理ユニット（ＡＬＵ）３８上のメモリ４０から得られるデータと記憶された値と比較することなどを行う。算術論理ユニット（ＡＬＵ）３８は、従来の設計を適宜使用して構成できるため、ここでは説明を省略する。
【００２２】
以下では、本明細書に述べた構造の詳細な実施例について紹介する。
本発明の一応用例として、インターネットプロトコル（ＩＰ）ルータについて述べる。ＩＰルータは、ネットワーク上のソースから宛先までの複数のパケットの経路を提供する。各パケットは、特別のパケットのソースと宛先、及びパケットのサイズ等他の情報を有するＩＰヘッダを含む。パケットをソースから宛先へ伝送するためには、このパケットは幾つかの「ホップ」と呼ばれる中間リンクを経由する可能性がある。パケットがホップに着いた場合、このパケットは次のホップに対して経路付けされなければならない。ルータは、一つ以上の入来リンクからパケットを受信し、それを個別のパケットの宛先情報に従って複数の送出リンクの任意の一つに送出する。ルータは、交通渋滞を回避するため、入来リンクのトラフィックを維持する能力を持っている。ＩＰルータの詳細に関しては、Ａ．Ａｓｔｈａｎａ  ｅｔ  ａｌ．，“Ｔｏｗａｒｄ  ａ  Ｇｉｇａｂｉｔ  ＩＰ  Ｒｏｕｔｅｒ，”  Ｊｏｕｒｎａｌ  ｏｆ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｎｅｔｗｏｒｋｓ  １，ＩＯＳ  Ｐｒｅｓｓ，  １９９２，ｐｐ．２８１−２８８を参照のこと。
【００２３】
このＩＰヘッダを処理するために、図６のルータは、エラーチェック、チェックサムの付随再計算、及び次のホップの決定などの多くのデータ集中操作を行う。ルータは次の三つの主な機能を実現する。すなわち、（１）リンクから及びリンクへのパケットの受信と送信、（２）入来パケットを送出するリンクの決定、（３）パケットの入力リンクから出力リンクへの切替、である。図６の構成においては、処理タスクは一連の低レベル操作に分けられる。これらの操作はＡＳＥに割り当てられる。そして、複雑で且つ計算集中の操作については、ホストプロセッサによって行われる。もちろん、設計者にとっては、この仕事の明記の分配は二種類の操作間の均衡により決まる。この二つの操作は基本的に「標準」オブジェクト処理プロセス（現在のアプリケーションに対する「標準」）と多くのアプリケーション規定の操作である。
【００２４】
図６は、ルータ６００のブロック図を表す。このルータ６００は、本発明によるメモリシステム６０５を含む。データパケット６２５は、入来リンク６１５を介して制御回路６１０により受信される。この場合、入来リンク６１５は、データパケット６２５からそのＩＰヘッダ６２０を除去する。制御回路６１０は、有効化及び経路指示のためＩＰヘッダ６２０をＡＳＥ６３０に送る。データパケット６２５の残りの部分はソースインタフェースモジュール上のバッファ６３５に配置される。
【００２５】
ＡＳＥ６３０は並列に配置され、各ＡＳＥ６３０は異なるＩＰヘッダ６２０を処理することができる。ＡＳＥ６３０は、ＩＰヘッダ６２０によりデータパケット６２５の宛先を決め、またこの情報によりパケットの送出されるリンク６４５を決める。このヘッダの処理には、宛先及び他の経路情報を含む新ヘッダを作ることと、情報の正確さを保証するエラーチェックを含む。このため、ＡＳＥ６３０は、適切な宛先インタフェース情報に基づいてＩＰヘッダ６２０の項目を更新する。そして、パケットの残りの部分は、ソースインタフェースモジュール上にあるバッファ６３５から宛先インタフェースモジュール上にあるバッファ６４０に伝送される。さらにこの処理されたパケットはホストプロセッサに伝送され、このホストプロセッサは次のホップへの実際のデータ伝送の仕事を行う。
【００２６】
ＡＳＥも順序処理を行うことができ、これによりパケットは受信された順序で送出されることができる。このルータ機能は、プロセッサの関与なしにＡＳＥにより完全に実現され、システムの総効率を向上させる。さらに、ＡＳＥによるヘッダ処理は、処理速度を向上させることができ、これにより秒当たり１ギガビットのパケット速度が可能となる。
【００２７】
本発明のメモリシステムによる他の応用例として、図７には、電話の呼びの方向を標準交換サービスからいくつかのサービスプロセッサの一つに転換する呼び選択と検出システム７００を示す。サービスプロセッサは、特別なサービス及び呼び監視サービスを提供する以外には、これ以上の負荷を交換サービスにかけない。呼び選別局７１０は、入来電話呼びからライン７０５上の信号メッセージを受信し、そのメッセージをサービスプロセッサにより処理すべきか、または単純にネットワークを通過させるべきかを決める。
【００２８】
呼び選別局７１０は、呼びが特別なサービスを受けるかどうかを決定するために、電話の発呼側の呼び番号と、リアルタイムで呼びを受ける被呼側の呼び番号とのデータベース検索を行う。呼びは特別なサービスを受ける必要があるならば、呼び選別局７１０はこの特別なサービスを実現する特別なサービスプロセッサを特定する。
【００２９】
呼び選別局７１０の構成は、図８に示されている。本発明によれば、保守、配置及び管理の機能はホストプロセッサ８１０により行われ、基礎的な通信及び要求プロセス操作は、ＡＳＥ８０５のアレイにより行われる。ＡＳＥ８０５のアレイは、システムバス８１５を介してホストプロセッサ８１０に接続される。メッセージは通信回線から受信され、ＡＳＥ８０５により処理される。この通信プロセスは、通信回線８２０との間でのメッセージ信号パケットの送受信を必要とし、要求プロセスは、ＡＳＥ８０５と複数のＲＡＭディスク８２５とのインタフェースを必要とする。このＲＡＭディスク８２５には、特別なサービスが受けられるかを示す顧客データベースが保存されている。通信プロセス及び要求プロセスを行うマイクロコードは機能的に分割され、各自のＡＳＥに常駐する。
【００３０】
ＡＳＥ８０５は通信回線８２０から信号メッセージを直接受信し、このメッセージに必要な低レベル処理を行う。ＡＳＥ８０５によって行われる処理には、顧客データベースを保存するＲＡＭディスク８２５中の対応する発呼側と被呼側のデータを検索する操作が含まれる。
【００３１】
このデータベースはＡＳＥによりアクセスされ、ＡＳＥは細かい検索を通じて要求処理を行う。要求処理ＡＳＥのメモリ素子は、ディスクブロックのインデックスを有する。被呼側の電話番号上の発呼側の電話番号は、このインデックス上のポインタを取得する。このインデックスには探索される所望のレコードの開始点位置が含まれる。ＡＳＥは、データベースから抽出した情報を用いて、呼びを特別なサービスプロセッサに導く。そうでない場合には、呼びをネットワークに再送出する。ＡＳＥはプログラム可能であるため、サービスの更新及び新サービスの追加のためのＡＳＥの組成の変更が可能となる。この処理の全ては、ホストプロセッサ８１０の介在を実際に必要とせずに行うことができる。
【００３２】
本発明のメモリシステムを用いた他の応用は、電話データベースの逆要求可能なシステムである。この要求処理は、発信者の確認及び他のインテリジェント電話サービスに利用することができる。図９には、電話番号サーバー９００の構成を示している。この電話番号サーバー９００は、ホストプロセッサ（サーバー）が行われる全ての他のタスクに電話番号情報を提供することができる。サーバーはオブジェクトに関するディレクトリ情報を見て、オブジェクトの処理によってＡＳＥと対話する。このサーバーは、新しいオブジェクトをＡＳＥに提供するとか、ＡＳＥに記憶されるオブジェクトの抽出を要求するとかの機能を有する。その代わりに、ＡＳＥは、顧客の名前、住所、郵便番号、電話番号等を含むディレクトリレコードのようなオブジェクトを管理する。
【００３３】
本発明のインテリジェントメモリにおいては、作業ＡＳＥ９１５は、ディスク９１０の関与によって、そのディスクに保存するデータのインデックスを作成することができる。このインデックス処理は、ホストプロセッサ９２０より電話番号を受信し、この番号を対応するＡＳＥに送出し、対応するメモリページを選択し、メモリインデックスの検索及びディスクブロックの検索を行う等の一連の操作を含む。ホストプロセッサ９２０は、ライン９２５を介して、電話番号サーバー９００に対する呼びの電話番号に対応するデータを、メインサーバーとして機能するＡＳＥ９３０に転送する。サーバーＡＳＥ９３０は、ディスク９１０に関連する作業ＡＳＥ９１５に、電話番号に関するデータを伝送する。このディスク９１０には、電話番号データ及び対応する顧客情報が保存されている。ディスク９１０は、検索テーブルを介して電話番号データを特定し、対応する顧客情報を抽出する。そして、抽出された顧客情報は、サーバーＡＳＥ９３０と作業ＡＳＥ９１５を介してホストプロセッサ９２０に返送される。作業ＡＳＥ９１５はネットワーク（図示せず）を介して情報を発呼側に伝送する。
【００３４】
【発明の効果】
以上述べたように、本発明のインテリジェントメモリにより、マルチポートを用いて、メモリは一つのポートを介してプロセッサと、また他のポートを介して周辺装置あるいは通信回線と対話し、低レベルのデータ処理を行うことができ、コンピュータシステムの作業効率を向上させることができる。
【図面の簡単な説明】
【図１】二つのプロセッサとメモリを含む周辺機器を有する従来技術による構成図。
【図２】本発明によるコンピュータシステムの一般化されたブロック図。
【図３】図２に示すメモリシステムの詳細ブロック図。
【図４】メモリモジュールのメモリシステム２０のＡＳＥをネットワークに接続する方法を表す図。
【図５】ＡＳＥユニットのブロック図。
【図６】本発明によるメモリシステムを有するインターネットプロトコルルータを表す図。
【図７】本発明のメモリシステムを有する呼び選別と検出システムのブロック図。
【図８】図７の呼び選別局の構造を表す図。
【図９】本発明のメモリシステムを有する逆要求電話サーバーを表す図。
【符号の説明】
１０、１１  プロセッサ
１２  共通バス
１３〜１８  周辺装置
１９  ネットワーク
２０  メモリシステム
２１〜２３  メモリモジュール
２４〜２６  通信回線
２７  メモリ制御論理
２８、２９  ライン
３０  プロセッサ素子
３１  メモリ素子
３４  スイッチ
３５  共通バス
３６  マイクロプログラムメモリ
３７  レジスタアレイ
３８  算術論理ユニット（ＡＬＵ）
３９  マイクロプログラムアドレス制御論理
４０  メモリ
４５  制御論理（ＣＬＡＭ）
４７  バックエンドポート
６０  トラップ論理ブロック
６７〜６９  ライン
７０  分岐論理ブロック
２２０  ＳＣＳＩディスクコントローラ
２４０  通信回線
２６０  変換器
３３１〜３３７  ＡＳＥ
６００  ルータ
６０５  メモリシステム
６１０  制御回路
６１５  リンク
６２０  ＩＰヘッダ
６２５  データパケット
６３０  ＡＳＥ
６３５、６４０  バッファ
６４５  リンク
７００  検出システム
７０５  ライン
７１０  呼び選別局
８０５  ＡＳＥ
８１０  ホストプロセッサ
８１５  システムバス
８２０  通信回線
８２５  ＲＡＭディスク
９００  電話番号サーバー
９１０  ディスク
９１５  作業ＡＳＥ
９２０  ホストプロセッサ
９２５  ライン
９３０  ＡＳＥ
【図１】
0003554605.tif 000002
【図２】
0003554605.tif 000003
【図３】
0003554605.tif 000004
【図４】
0003554605.tif 000005
【図５】
0003554605.tif 000006
【図６】
0003554605.tif 000007
【図７】
0003554605.tif 000008
【図８】
0003554605.tif 000009
【図９】
0003554605.tif 000010