JPH0679276B2 - 同一従属型プロセスのスループット増大方法、プロセス生成回路、周期冗長コードジェネレータ、およびコントローラシステム - Google Patents

同一従属型プロセスのスループット増大方法、プロセス生成回路、周期冗長コードジェネレータ、およびコントローラシステム

Info

Publication number
JPH0679276B2
JPH0679276B2 JP3200125A JP20012591A JPH0679276B2 JP H0679276 B2 JPH0679276 B2 JP H0679276B2 JP 3200125 A JP3200125 A JP 3200125A JP 20012591 A JP20012591 A JP 20012591A JP H0679276 B2 JPH0679276 B2 JP H0679276B2
Authority
JP
Japan
Prior art keywords
crc
data
coupled
alternative
calculation
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
JP3200125A
Other languages
English (en)
Other versions
JPH0546420A (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.)
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 JPH0546420A publication Critical patent/JPH0546420A/ja
Publication of JPH0679276B2 publication Critical patent/JPH0679276B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は総じて電子回路の分野、
特に相互結合従属型同一処理による処理スル−プットを
増加するための装置および方法に関する。
【0002】
【従来の技術】システム性能は、指定された期間に処理
できる情報量を最大限にするために常に改善されてい
る。例えば、コンピュータシステムでは、多くの問題が
何百万という数学的な計算を必要とするので、このよう
な計算をできるだけ迅速に行うことが望ましい。同様
に、通信システムでも、設定された時間内にもっと多く
の情報がロケーション間で転送できるならば、通信はも
っと安価に実行されうる。
【0003】システム性能を更に改善するため、いくつ
かのアプローチが試みられた。これらの試みには、シス
テムが生成される半導体技術を改善したり、あるいは、
システム機能を実行するために用いられるハードウエア
を増大させることが含まれる。超大規模集積回路(VL
SI)は、トランジスタをもっと小型の機能サイズに縮
小することにより、更に迅速に動作するように生成され
る。また、一般的にシステムのハードウェアを二重化し
て、情報を並列に処理することにより、一層のシステム
性能の改善が実現される。例えば、二台のデータプロセ
ッサが使用された場合、各プロセッサは、一つの命令を
実行するが、これは二台で同時に処理される(並列処
理)。
【0004】各命令を並列に処理するためにプロセッサ
を二台使用するシステムは、米国特許NO.4,72
8、930に記載されている。このシステムでは、デー
タがマスタプロセッサの処理によりラッチされ、他のデ
ータは独立スレーブプロセッサの処理によりラッチされ
る。スレーブプロセッサは受信したデータを処理し、一
方、マスタプロセッサも受信したデ−タを処理するのに
忙しい。スレ−ブプロセッサは、その機能を実行するの
にマスタプロセッサに完全に依存しているわけではな
い。その結果、新しいデータが処理される前に、マスタ
プロセッサがその処理を完了する必要はないので、性能
の改善が可能である。
【0005】一台のプロセッサで二個の命令を並列処理
することは、二重化実行ユニット(一般的に、論理およ
び数学的な演算を実行するために用いる演算論理機構
(ALU)を内蔵するプロセッサの一部分)を使用する
ことにより達成される。米国特許NO.4、766、5
66には、ALU命令を並列に実行するために単一チッ
プ上に二重化実行ユニットを搭載するプロセッサが記載
されている。このプロセッサは、一台の実行ユニットが
一台のALUを含み、もう一台の実行ユニットがもっと
複雑な計算の処理を可能にする、追加関連ロジックを持
つALUを含む。前記の単一プロセッサは計算を並列に
処理し、処理スループットを増大させる。
【0006】いくつかのプロセスにおいては、処理が先
に進む前に一つの計算が処理される必要がある。そこ
で、性能の改善が、ただハードウェアを二重化し、並列
処理を実行するだけで行われないように、処理は連続し
て完了される必要がある。連続して実行された命令のス
ループットを改善するには、当業者によく知られた方法
はパイプライン処理である。基本的に、パイプラインシ
ステムでは、一つの計算または命令の実行結果は、出力
が次の段階のレジスタに格納されるよう、次のレジスタ
に格納される。これらのレジスタは、各クロックサイク
ルにおいて、各段階が一つの命令を実行しているか、あ
るいは、次の段階に供給される計算を実行しているよう
に、システムクロックの制御下に置かれたラッチ回路か
ら構成されている。他の命令が開始される前に結果が構
成全体に伝播するのを待たずに、各段階が処理の一部を
実行できるように、性能が改善された。
【0007】レジスタに格納されている計算の結果が次
の計算を実行する前にこの計算を実行した回路にフィー
ドバックされる必要のある、プロセスを搭載する特殊な
タイプのパイプライン処理システムが存在する。このプ
ロセスのスループットは、このプロセスの回路やレジス
タへの伝播の程度により制限される。このタイプの計算
は、以下において、従属型同一プロセスと称される。従
来のパイプライン処理システムのアーキテクチャは、前
のクロックサイクルの結果を受信する段階がこの結果を
供給した段階と同一であるので、性能が改善されたとは
いえない。
【0008】従属型同一プロセスジェネレータの一例は
周期冗長検査(CRC)回路である。CRC回路の一般
的な応用は、一つのロケーションから送信されたデータ
が別のロケーションで受信されたデータと同じであるこ
とを確認するための検査を提供することである。データ
保全性検査を達成するために、CRC回路は送信データ
を表すCRCコードを生成する。送信データが受信され
ると、同一CRC回路は第二のCRCコードを生成す
る。受信データが送信データと一致すると、この二個の
CRCコードは一致する。各CRCコードは、個々の新
しいデータワードと前のCRC合計から計算される一連
のCRC合計から計算される。CRCコードを計算する
場合、次の計算または合計が計算機で処理される前にC
RC回路の入力にフィードバックされるレジスタに一時
的に格納される必要がある。そこで、各CRC合計は前
のCRC合計と送信または受信データの関数である。
【0009】準並列CRC回路は米国特許NO.4、5
93、393に記載されている。この発明はCRC合計
のための多くのビットが並列に処理されるシステムを記
載する。次の一連のビットは、前のビットのCRC合計
が計算され、CRC回路の入力にフィードバックされる
まで、処理できない。この概要では、CRC合計の計算
などの処理は、現在の計算が前の計算に依存するので、
並列処理にはならない。更に、これらの計算は、前のC
RC合計が同一の処理ブロックにフィードバックされる
ため、従来のパイプライン方法から利益を得るものでは
ない。
【0010】従属型同一プロセスの性能を高めるという
問題はレジスタに格納されるデータの保全性を確保する
必要性によってますます緊急に考えていく必要がでてく
るであろう。格納されたデータの保全性を改善するため
に、レベル感知走査設計(LSSD)技術を使用するこ
とは、技術上よく知られている。LSSDレジスタは非
重複クロックによって駆動する二個のラッチ回路を持
つ。この概要では、CRC合計の結果は第一のクロック
時の第一のラッチ回路にロードされ、第二のクロック時
の第二のラッチ回路に格納される。その結果、非重複ク
ロックの発信中は、CRC合計は、一つだけ計算され
る。
【0011】従って、必要なものは、LSSD設計環境
の下で非重複クロックが発信されている間は、一個以上
の計算が実行できる従属型同一プロセスの計算のスルー
プットを高める機能を提供する装置と方法である。
【0012】
【発明が解決しようとする課題】本発明の目的は、単一
非重複クロック発信中に複数の計算を実行する方法を提
供することである。
【0013】更に、もう一つの目的は、CRC合計の二
個のCRC計算を単一非重複クロック発信中に処理でき
る改善されたCRC回路を提供することである。
【0014】また、もう一つの目的としては、LSSD
タイプのレジスタを利用する改善されたCRC回路を提
供することである。
【0015】
【問題を解決しようとする課題および作用】本発明の前
記および他の目的は、少なくとも次のワードが使用可能
な時間の一部分において第一のワードが使用可能である
ように、次のワードを第二のプロセスジェネレータに適
用している間、第一のワードを第一のプロセスジェネレ
ータに適用することによって、達成される。このプロセ
スの最初の計算のリセット値または結果は第一のプロセ
スジェネレータに適用される。第一のプロセスジェネレ
ータは、第一のワードとリセット値または第一の計算か
ら第二の計算を提供する。第一のプロセスジェネレータ
に結合されたラッチ回路は第二の計算を非重複クロック
の第一の部分にラッチする。第二の計算は、第二のワ−
ドと第二の計算から第三の計算を生成する第二のプロセ
スジェネレータに適用される。第三の計算は非重複クロ
ックの第二の部分に格納される。プロセスは、全てのワ
ードが適用、処理されるまで、継続する。
【0016】本発明の前記および他の目的、特徴、およ
び利点は、添付した図面に示してあるように、以下に示
された本発明のもっと詳細な実施例の説明を見れば、明
白である。
【0017】
【実施例】図1は、従属型同一プロセスを生成するため
の回路の例である。この回路は、並列CRCジェネレー
タ/チェッカー1である。個々のCRC合計は、現在適
用されたデータと組み合わせて前に計算されたCRC合
計に依存する。個々のCRC合計は、CRCジェネレー
タに適用された入力データだけが変化する同一の方法で
計算される。全てのデータが適用されると、最後のCR
C合計が目的のCRCコードである。データは、CRC
ブロック3のデータ入力に適用される端子2に入力され
る。データを構成するビット数は、アプリケーションに
よって変わる。L1 4とL2 5は、LSSDレジスタ
(入力データのビット毎にラッチが一個ラッチ4または
5が存在し、ラッチ4とラッチ5で一つのレジスタを形
成する)を構成するラッチ素子である。クロックAとク
ロックBは、クロックAが「high」のとき、CRC
ブロック3からのCRC合計出力はラッチ4にロードさ
れ、その後、クロックBが「high」になると、CR
C合計はラッチ4からラッチ5に転送される。クロック
AとクロックBは、レース状態を防ぐため、非重複でな
ければならない。レース状態は、CRC合計の結果が新
しいデータが適用される前にラッチ4とラッチ5に伝播
し、CRCブロック3にフィードバックされた場合に発
生する。適切な結果を確保するには、現在のCRC合計
が、CRCブロック3にフィードバックされる前に、決
定され、L1 4にラッチされ、かつ、新しいデータが使
用可能である必要がある。
【0018】CRC合計がクロックB時のラッチ5にロ
ードされると、このCRC合計はCRCブロック3のフ
ィードバック入力時に端子2おいて次の一連のデータと
組み合わせて使用することが可能となる。このとき、最
後の計算が完了するまで、CRC合計がCRCブロック
3にフィードバックされないようにするには、非重複ク
ロックAとクロックBが必要である。並列CRCジェネ
レータ/チェッカーの最小周期は、ラッチ4のセットア
ップ時間、クロックAがhighになった後クロックB
がhighになるまでの遅延、ラッチ5経由の伝播遅
延、およびCRCブロック3経由の遅延によって、制限
される。CRC計算が実行できない場合に生じる時間に
は、CRC合計がラッチ4で有効になった時から,クロ
ックBが「high」になった後、このCRC合計がラ
ッチ5経由で伝播するまでの時間が含まれる。CRC合
計のスループットは、レース状態が発生していないこと
を確認するために該当時間の一部が当てられている間の
CRCジェネレータ/チェッカー1経由による伝播によ
って、制限される。
【0019】図2においては、CRC計算が実行できな
かった場合に生じる時間が第二の計算を実行するのに利
用されている本発明の実施例が示されている。CRCジ
ェネレータ/チェッカー10は、二個のCRCブロッ
ク、16と18を持っている。奇数データはCRCブロ
ック16のデータ入力に接続される端子12に適用さ
れ、偶数データはCRCブロック18のデータ入力に接
続される端子14に適用される。奇数データの第一のデ
ータは第一のCRC合計の計算を実行する際にCRCブ
ロック16に利用できる。但し、第一のCRC合計が計
算される前に、その合計の完了を予測し、第一のデータ
が除去されないうちに、偶数データの第二のデータがC
RCブロック18に適用される。同様に、第一のCRC
合計が完了した後であるが、第二のCRC合計がCRC
ブロック18によって完了し、第二のデータが除去され
る前に、奇数データの第三のデータが適用される。その
結果、奇数データと偶数データは、両方とも、CRC合
計の計算処理中、同時に使用可能となる。これは、信号
30が奇数データを、信号32が偶数データを表してい
る図3に示されるタイミング図を見れば判る。クロック
Aが接続されているラッチL1 20とクロックBに接続
されているラッチL122は、クロックAまたはクロッ
クB時のCRCブロック16または18によって計算さ
れたCRC合計を交互に受信するように結合する。ラッ
チL120は、後半の部分が走査テストの目的に使用さ
れるように示されていないLSSDレジスタのフロント
ラッチである。ラッチL2 28は、L1 22の出力を受
信し、クロックAの発信時にフィードバック信号を提供
するために接続されたクロックAを持つLSSDレジス
タの後半の部分である。ラッチ20は、図3の信号34
で示されるように、クロックAが「high」になる
と、第一のCRC合計がラッチ20にロードされるよう
に、CRCブロック16の出力に接続されるデータ入力
を持つ。ラッチ20の出力は出力端子26に接続され、
更に、CRCブロック18のフィードバック入力に接続
される。第一のCRC合計は、図3の信号38のS1
示されるように、ラッチ20の出力から使用可能であ
る。
【0020】マルチプレクサ24(mux)は、CRC
ブロック18の出力に接続された第一の多重化入力、リ
セット信号を受信するために接続された第一の多重化入
力、およびラッチL2 28から出力を受信するための第
三の多重化入力を持つ。制御信号は、mux24の出力
時に提供される多重化入力を選択するために、mux2
4に接続される。ラッチ22は、クロックBの36が
「high」になった時、リセット信号または第二の合
計S2 40をロードするために、mux24の出力に接
続されるデータ入力を持つ。ラッチ22の出力はCRC
ブロック16のフィードバック入力に接続される。クロ
ックAとクロックBは、入力端子12と14に新しいデ
ータが適用されていないと、制御信号が現在のデータを
確保しておくためにL2 28から出力を選択できるよう
に、自由に発信している。出力端子26でラッチ20ま
たは22から出力を選択するために、これらのラッチの
間にマルチプレクサを一台入れることが望ましい。
【0021】図4では、マルチCPUと共用装置構成が
示されている。参照番号70、72、74、76で識別
される複数のCPUシステムは,チャネル82、84、
86、88を経由して、一対のコントローラシステム7
8と80に適切に相互接続される。コントローラシステ
ム78と80は、それぞれ二個の記憶クラスタを持って
いる。コントローラシステム78は記憶クラスタ90と
92、コントローラシステム80は二個の記憶クラスタ
94と96を持っている。例えば、記憶クラスタ90
は、二個の記憶パス100と102を交互に使用するマ
ルチパス記憶ディレクタ98を持っている。また、記憶
クラスタ90は、共用制御配列(SCA)104も持っ
ていて、キャッシュメモリシステム106を持つことも
可能である。記憶クラスタ92は、自身の共用制御配列
(SCA)114の他に、マルチパス記憶ディレクタ1
08と二個の記憶パス制御110と112を持ってい
る。記憶クラスタ92は不揮発性記憶装置116を持っ
ている。制御システム78は、二つのデバイスサブシス
テム120と122に区分される複数の装置に接続され
たそれ自身の記憶パス100と102を持っている。デ
ータ転送の際の装置レベル選択増強モードを使用する
と、4本の記憶パス全てを同一の4−パスストリング内
として扱うので、同時データ転送が可能となる。デバイ
スサブシステム120と122は、記憶クラスタ80の
記憶パスとの通信の他に、記憶クラスタ90の記憶パス
100と122との通信もできる。
【0022】二つのデバイスサブシステム126と12
8は、記憶クラスタ92の記憶パス110と112、更
に、記憶クラスタ94の記憶パスに接続される。二組の
デバイスサブシステム120、122と126、128
は、コントローラシステム78と80に制御されなが
ら、交互に動作する。
【0023】個々のコントローラシステムの各記憶クラ
スタは独立コンポーネントとして動作する。各記憶クラ
スタは、装置に対して、個別電源、サービス領域、およ
び二本の個別パスを提供する。記憶クラスタに対して電
力を損失しても、データアクセスを妨げるものではな
い。というのは、処理は他の記憶クラスタを通じても継
続できるからである。コントローラシステムに接続され
た装置は全て、コントローラシステムの両方に対して、
更に、各コントローラシステム内の一つの記憶クラスタ
に対して、相互構成されている。デバイスサブシステム
120と122の装置は、一般的に直接アクセス記憶装
置(DASD)のディスク装置であるが、テ−プまたは
光学式装置でも可能である。各記憶クラスタは、自身の
支援機能を持っている。各記憶クラスタには、コントロ
ーラの諸機能、操作のサブシステムモード、サブシステ
ム識別子、サブシステム構成、チャネル毎のコントロー
ラ装置アドレス、各記憶クラスタに接続されたチャネル
の種類と速度、および装置ブロックの論理システムに接
続できるアドレス指定可能な装置台数を格納する揮発性
製品データ格納モジュールが入っている。
【0024】操作の際に装置レベル選択増強モードを使
用すると、二台のマルチパス記憶ディレクタがデバイス
サブシステムのデ−タをアクセスすることが可能とな
る。図4に示されているように、各マルチパス記憶ディ
レクタは二本の記憶パスを持っている。装置レベル選択
増強モードは、二つのコントローラシステムから同一の
デバイスサブシステムに4本の独立した同時データ転送
パスを提供する。入出力操作は、これらの4本のパスの
いずれかに動的に再接続できる。従って、CPUから装
置の間には、4本の完全に独立したパスが存在する。
【0025】例えば、各記憶クラスタには、チャネル8
2をマルチパス記憶ディレクタ98を接続するためにチ
ャネル接続機構が搭載されている。記憶ディレクタ98
は二本の記憶パス100と102に接続される。記憶ク
ラスタ90には、共用制御配列104が格納されてい
る。キャッシュ106と不揮発性記憶装置116は、記
憶クラスタ90と記憶クラスタ92の両方の記憶パスに
共用されるが、記憶クラスタから、物理的、かつ、論理
的に分離されている。各記憶クラスタは、独立コンポ−
ネントである。各記憶クラスタは、デバイスサブシステ
ムに分離電源、サービス領域、および二本の分離パスを
提供する。キャッシュと不揮発性記憶装置は、一つのコ
ントローラシステムの二個の記憶クラスタによってアク
セスされる。記憶ディレクタは、チャネルコマンドを解
釈し、記憶パス、キャッシュ、不揮発性記憶装置、およ
びデバイスサブシステムの接続装置を制御する。個々の
記憶パスは分離されてデバイスサブシステムの全ての装
置に接続される。チャネルが接続されている操作中は、
記憶パスはある特別なチャネルと結合される。マルチ−
パス記憶ディレクタは、各装置に単一チャネルアドレス
を介して、マルチ−パスアクセスを提供する。記憶ディ
レクタアドレスを介すると、マルチ−パス記憶ディレク
タがデータ転送操作のために記憶クラスタのいずれかの
記憶パスを選択する。共用制御配列には、記憶パスと装
置に関するステータス情報が入っているる。
【0026】デバイスサブシステムの各セットは、例え
ば、デバイスサブシステム120と122のセットは、
両方のコントローラシステム78と80に接続されてい
る。また、各セットは、各記憶ディレクタの例えば記憶
ディレクタ98の各記憶パスの例えば記憶パス100と
102の各々、に1本のラインを持つ。従って、デバイ
スサブシステム120と122は、CPUに対して4本
のパス、コントローラシステム78の記憶クラスタには
2本のパスを持つ。従って、ポーリングシーケンスで、
サブシステム120または122のいずれかの装置から
の割り込み要求が4本の記憶パス全てに感知される。記
憶パスのいずれもその割り込み要求を満足させることが
可能である。
【0027】キャッシュ106は、コントローラシステ
ム78に接続された記憶パスの全てに共用される高密度
の電子記憶装置である。頻繁に使用されるデータは、キ
ャッシュ106とチャネル82に、あるいは、これらの
装置からチャネル速度で転送できる。キャッシュ106
とチャネル82との間のアクセス時間は、遅延がないた
め、デバイスサブシステムの装置とチャネル間のアクセ
ス時間よりもずっと速い。キャッシュ106は、他の記
憶クラスタが何らかの理由でオフラインの場合、記憶ク
ラスタ90または92のいずれかによるキャッシュ処理
を可能にするために、記憶クラスタ90と92から分離
した電源領域にある。
【0028】不揮発性記憶装置116はランダムアクセ
ス電子記憶装置を提供する。バッテリーバックアップシ
ステムは電源を不揮発性記憶装置116に維持する。不
揮発性記憶装置デバイスサブシステム120と122の
装置に転送される必要があるデータを保持する。仮に情
報が装置に転送される前にコントローラシステム78が
電源の損失を受けた場合、データが装置にデステージさ
れるときに、電源が回復するまで、データは不揮発性記
憶装置116に保持される。
【0029】いくつかのCRCジェネレータ/チェッカ
ー10は、不揮発性記憶装置116の内部に搭載されて
いる。CRCジェネレータ/チェッカー10は、不揮発
性記憶装置116に格納されているデータの保全性が提
供されるように、不揮発性記憶装置116にデータイン
タフェースを提供する。CRCジェネレータ/チェッカ
ー10による格納操作の際にデータの保全性を保証する
ことは、電源の損失が発生した場合に即時の検出可能性
が要求されるので、非常に重要なことである。
【0030】共用制御配列104と114は、コントロ
ーラシステム78とデバイスサブシステムに接続された
各装置に関する情報を含む。同一の情報が、各記憶クラ
スタの共用制御配列に保持される。図4に示すような組
合せの場合、共用制御配列情報は、組み合わされた二個
の記憶クラスタに複写される。例えば、記憶クラスタ9
0の共用制御配列104は、記憶クラスタ96の共用制
御配列124と組み合わされる。
【0031】CRCチェッカー/ジェネレータ10は、
CRC合計計算のスループットを効果的に増大させるた
めに用いられる。本発明がCRC計算を用いて記載され
る際は、本発明が等しく他の従属型同一プロセスに適用
される。図2と図3を再び参照すると、CRC合計計算
をする場合に、CRCジェネレータ/チェッカー10が
最初に初期設定される。初期設定は、奇数データ30と
偶数データ32を入力端子12と14に各々適用するこ
とによって、達成される。リセット信号(初期設定値)
は、制御信号の制御の下でラッチ22にラッチされ、C
RCブロック16のフィードバック入力に適用される。
次に、CRCブロック16は、リセット信号と奇数デー
タ30(データ1 )から、第一のCRC合計S1 38を
計算する。その後は、制御信号は、リセット信号が無視
されている間に、CRCブロック18の出力がmux2
4を通過するように、状態を変化させる。
【0032】クロックA34が「high」になると、
1 38はラッチ20にロードされ、CRCブロック1
8のフィードバック入力時に使用可能となる。偶数デー
タ32(データ2 )常に使用可能な場合は、S2 40の
CRC計算がすぐに開始される。S1 38は計算を実行
しているCRCブロック以外のCRCブロックに送り込
まれるので、レース状態は回避される。ここまでの結果
は、データ1 30とリセットがクロックA時のラッチ2
0にロードされ、ラッチされるS1 38を生成したこと
である。S1 38とデータ2 32がS2 40を計算する
ために用いられ、クロックB36上のラッチ22にロー
ドされ、ラッチされる。レース状態を回避している間
に、二つのCRC合計が単一非重複クロックの発信時に
計算された。
【0033】S2 40が計算される前、奇数データ30
のデータ3 はCRCブロック16のデータ入力時に、使
用可能となる。従って、S2 40がラッチ22にロード
されると、CRCブロック16は次の計算を実行するた
めにS2 40を受信する用意ができる。この結果、CR
C計算のスループットを単一CRCブロックとラッチの
伝播遅延の限界以上に増大させるために、非重複クロッ
ク34と36の各フェーズで、一つのCRC合計が計算
される。このプロセスは、CRCコードが計算機処理さ
れるまで、追加のCRC合計の計算と共に継続する。出
力端子がラッチ20に接続されている間は、この端子は
ラッチ22にも等しく接続されることができる。
【0034】本発明が特別な実施例に関連して記載され
た場合、他の様々な変更が本発明の真意、範囲、および
理論から離れずに詳細に実施できることは、当業者に理
解されるであろう。例えば、CRC計算に用いられるビ
ット数は、変化する。更に、本発明は、次の計算を同一
のプロセスを用いて実行するために、フィードバック信
号を必要とする他のプロセスの生成にも適用できる。
【0035】
【発明の効果】上記のように構成されているので、単一
非重複クロック発信中に複数の計算を実行できる効果を
有する。
【図面の簡単な説明】
【図1】LSSDレジスタを用いた先行技術のCRCジ
ェネレータのブロック図である。
【図2】本発明の実施例のブロック図である。
【図3】実施例の作用のタイミング図である。
【図4】データ処理システム、および処理スループット
を最大限にするための方法を実施できるような、このシ
ステムの部分間通信のブロック図である。
【符号の説明】
2 データ 4 ラッチ 5 ラッチ 12 奇数データ 14 偶数データ 20 ラッチ 22 ラッチ 24 マルチプレクサ 26 出力 28 ラッチ 78 電源およびサービス境界 80 電源およびサ−ビス境界 82 4個または8個のチャネル 84 4個または8個のチャネル 86 4個または8個のチャネル 88 4個または8個のチャネル 90 記憶クラスタ0 92 記憶クラスタ1 94 記憶クラスタ0 96 記憶クラスタ1 98 マルチパス記憶ディレクタ0 100 記憶パス0 102 記憶パス1 104 共用制御配列 106 キャッシュ 108 マルチパス記憶ディレクタ1 110 記憶パス2 112 記憶パス3 114 共用制御配列 116 不揮発性記憶装置 120 デバイスサブシステム 122 デバイスサブシステム 126 デバイスサブシステム 128 デバイスサブシステム

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 同一の従属型プロセスのスル−プットを
    増大させるための方法であって、 第一のデ−タを第一のプロセスジェネレータに適用する
    ステップと、 少なくとも第二のデータが使用可能な一部の時間に第一
    のデータも使用可能であるように第二のデータを第二の
    プロセスジェネレータに適用するステップと、 初期設定値を第一のプロセスジェネレータに適用するス
    テップと、 第一のデータと第一の初期設定値から第一のプロセスジ
    ェネレータの第一の計算を生成するステップと、 第一の計算を第一のクロック時にラッチするステップ
    と、 第一の計算を第二のプロセスジェネレータに適用するス
    テップと、 第一のデータの代わりに第三のデータを第一のプロセス
    ジェネレータに適用するステップと、 第二のデータと第一の計算から第二のプロセスジェネレ
    ータの第二の計算を生成するステップと、 第二の計算を第二のクロック時にラッチするステップ
    と、 より成る同一従属型プロセスのスループット増大方法。
  2. 【請求項2】 前記ステップが指定されたシーケンスで
    実行される請求項1に記載の方法。
  3. 【請求項3】 第一の計算が第一のLSSDレジスタの
    前半の部分にラッチされる請求項2に記載の方法。
  4. 【請求項4】 第二の計算が第二のLSSDレジスタに
    ラッチされる請求項3に記載の方法。
  5. 【請求項5】 第二のデータがまだ使用可能な場合、第
    一のデータが第三のデータと代わる請求項4に記載の方
    法。
  6. 【請求項6】 スループットが改善されたアルゴリズム
    生成回路であって、 第一の代替データを順次受信するために結合され、更
    に、第二の代替計算を提供するための第一の代替計算を
    受信するために結合された、第一のプロセス生成手段
    と、 第一のプロセス生成手段と同一で、かつ、第二の代替デ
    −タを順次受信するために結合され、更に、第一の代替
    計算を提供するための第二の代替計算を受信するために
    結合された、第二のプロセス生成手段と、 第一と第二のプロセス生成手段に結合され、更に、第一
    と第二のクロックを受信するために結合されたレジスタ
    と、 を備え、前記レジスタが、 第一の代替計算を第一のクロック時に格納し、第二のプ
    ロセス生成手段に提供するための第一のラッチと、 第二の代替計算を第二のクロック時に格納し、第一のプ
    ロセス生成手段に提供するための第二のラッチと、 を有するアルゴリズム生成回路。
  7. 【請求項7】 第一の代替計算、リセット信号、および
    制御信号を受信するよう、この制御信号に従ってリセッ
    ト信号または第一の代替計算を提供するために前記第一
    のラッチに結合された出力を持つマルチプレクサから成
    る、請求項6に記載のプロセス生成回路。
  8. 【請求項8】 前記レジスタがLSSDレジスタである
    請求項7に記載のプロセス生成回路。
  9. 【請求項9】 第一と第二のクロックが非重複クロック
    である請求項8に記載のプロセス生成回路。
  10. 【請求項10】 第一と第二のアルゴリズム生成手段が
    同一のCRC回路である請求項9に記載のプロセス生成
    回路。
  11. 【請求項11】 スループットが改善された周期冗長コ
    −ドジェネレ−タであって、 第一の代替デ−タを順次受信するために結合され、更に
    第二の代替CRC合計を提供するための第一の代替CR
    C合計を受信するために結合された第一のCRC生成回
    路と、 第一のCRC生成回路と同一で、第二の代替デ−タを順
    次受信するために結合され、更に、第一の代替CRC合
    計を提供するための第二の代替CRC合計を受信するた
    めに結合された、第二のCRC生成回路と、 第一と第二のCRC生成回路に結合され、更に第一と第
    二のクロックを受信するために結合されたレジスタと、 を備え、前記レジスタが、 第一の代替CRC合計を第一のクロック時に格納し、第
    一のCRC合計を第二のCRC生成回路に提供するため
    の第一のラッチと、 第二の代替CRC合計を第二のクロック時に格納し、第
    二の代替CRC合計を第一のCRC生成回路に提供する
    ための第二のラッチと、 を備える周期冗長コードジェネレータ。
  12. 【請求項12】 第一の代替CRC合計、リセット信
    号、および制御信号を受信するために結合され、更に、
    この制御信号に従ってリセット信号または最初の代替C
    RC合計を提供するための前記第一のラッチに結合され
    た出力を持つ周期冗長コードジェネレータ。
  13. 【請求項13】 前記レジスタが少なくとも一個のラッ
    チから成る、請求項12に記載の周期冗長コードジェネ
    レータ。
  14. 【請求項14】 第一と第二のクロックが非重複クロッ
    クである請求項13に記載の周期冗長コードジェネレー
    タ。
  15. 【請求項15】 前記の第一と第二のCRC生成回路が
    並列CRC生成回路である請求項14に記載の周期冗長
    コ−ドジェネレ−タ。
  16. 【請求項16】 コントローラが少なくとも一個のチャ
    ネル速度でデ−タの保全性検査を提供する場合、少なく
    とも一個のチャネルと一個のデバイスサブシステムの間
    でデータ転送をするためのコントローラシステムであっ
    て、 記憶クラスタと、 前記記憶クラスタのマルチ−パス記憶ディレクタと、 前記記憶ディレクタに結合され、データの同時転送が可
    能な複数の記憶パスと、 少なくとも一個のチャネルとデバイスサブシステムの間
    で転送される前にCRCコードによって保全性を検査さ
    れるデータを保持するための前記記憶クラスタの不揮発
    性記憶装置と、 第一の代替データを順次受信するために結合され、更に
    第二のCRC合計を提供するための第一の代替CRC合
    計を受信するために結合された、前記不揮発性記憶装置
    の第一のCRC生成回路と、 前記第一のCRC生成回路と同一で、第二の代替データ
    を順次受信するために結合され、更に第二の代替CRC
    合計を受信し、第一のCRC合計を提供するために結合
    された,前記不揮発性記憶装置の第二のCRC生成回路
    と、 第一と第二のCRC生成回路に結合され、更に第一と第
    二のクロックを受信するために結合され、前記第一と第
    二のクロック時に第一と第二の代替CRC合計を受信す
    るレジスタと、 を備えるコントローラシステム。
  17. 【請求項17】 請求項16に記載のコントローラシス
    テムで、前記レジスタが、 第一の代替CRC合計を第一のクロック時に格納するた
    めの第一のラッチと、 第二の代替CRC合計を第二のクロック時に格納するた
    めの第二のラッチと、 を有するコントローラシステム。
  18. 【請求項18】 第一と第二のクロックが非重複クロッ
    クである請求項17に記載のコントローラシステム。
  19. 【請求項19】 前記レジスタが少なくとも一個のラッ
    チから構成される請求項18に記載のコントローラシス
    テム。
  20. 【請求項20】 前記不揮発性記憶装置がバッテリーバ
    ックアップを内蔵している請求項16に記載のコントロ
    ーラシステム。
JP3200125A 1990-08-31 1991-07-15 同一従属型プロセスのスループット増大方法、プロセス生成回路、周期冗長コードジェネレータ、およびコントローラシステム Expired - Lifetime JPH0679276B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57573090A 1990-08-31 1990-08-31
US575730 1990-08-31

Publications (2)

Publication Number Publication Date
JPH0546420A JPH0546420A (ja) 1993-02-26
JPH0679276B2 true JPH0679276B2 (ja) 1994-10-05

Family

ID=24301468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3200125A Expired - Lifetime JPH0679276B2 (ja) 1990-08-31 1991-07-15 同一従属型プロセスのスループット増大方法、プロセス生成回路、周期冗長コードジェネレータ、およびコントローラシステム

Country Status (3)

Country Link
US (1) US5323403A (ja)
EP (1) EP0473404A3 (ja)
JP (1) JPH0679276B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0633677B2 (ja) * 1986-12-24 1994-05-02 大建工業株式会社 床構造
JPH0633676B2 (ja) * 1986-12-26 1994-05-02 大建工業株式会社 浮床用床パネル
EP0632468A1 (en) * 1993-06-30 1995-01-04 International Business Machines Corporation Fast data compression circuit for semiconductor memory chips including an abist structure
US5568380A (en) * 1993-08-30 1996-10-22 International Business Machines Corporation Shadow register file for instruction rollback
US5577226A (en) * 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
US5953352A (en) 1997-06-23 1999-09-14 Micron Electronics, Inc. Method of checking data integrity for a raid 1 system
US6061822A (en) * 1997-06-23 2000-05-09 Micron Electronics, Inc. System and method for providing a fast and efficient comparison of cyclic redundancy check (CRC/checks sum) values of two mirrored disks
US5920575A (en) * 1997-09-19 1999-07-06 International Business Machines Corporation VLSI test circuit apparatus and method
US6381704B1 (en) * 1998-01-29 2002-04-30 Texas Instruments Incorporated Method and apparatus for altering timing relationships of non-overlapping clock signals in a microprocessor
US6128528A (en) * 1999-03-18 2000-10-03 Medtronics, Inc. Error code calculations for data stored in an implantable medical device
US6810501B1 (en) * 2001-01-03 2004-10-26 Juniper Networks, Inc. Single cycle cyclic redundancy checker/generator
US6701479B2 (en) * 2001-05-15 2004-03-02 Network Elements, Inc. Fast cyclic redundancy check (CRC) generation
MXPA04005228A (es) * 2001-12-05 2004-10-11 Lg Electronics Inc Metodo para generar codigos para deteccion de errores y generador de codigos para deteccion de errores.
US20040015755A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable scatter/gather I/O testing tool
US7114106B2 (en) * 2002-07-22 2006-09-26 Finisar Corporation Scalable network attached storage (NAS) testing tool
US6889159B2 (en) * 2002-07-22 2005-05-03 Finisar Corporation Scalable multithreaded system testing tool
US20040015744A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable multithreaded network testing tool
US20040015762A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable system testing tools
US20040015761A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable asynchronous I/O testing tool
US20040015745A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable socketed testing tool
US7111223B2 (en) * 2003-03-28 2006-09-19 Arraycomm, Llc Error word generation with multiple element input
US7594058B2 (en) * 2005-11-07 2009-09-22 Via Technologies, Inc. Chipset supporting a peripheral component interconnection express (PCI-E) architecture
US7958436B2 (en) * 2005-12-23 2011-06-07 Intel Corporation Performing a cyclic redundancy checksum operation responsive to a user-level instruction
US7925957B2 (en) * 2006-03-20 2011-04-12 Intel Corporation Validating data using processor instructions
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
EP3877933A4 (en) * 2018-11-06 2022-06-08 Element AI Inc. SUPPLY CHAIN PREDICTION SYSTEM
US11949510B2 (en) * 2022-09-06 2024-04-02 Qualcomm Incorporated Hardware-based dynamic cyclic-redundancy check (CRC) generator for automotive application

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3622985A (en) * 1969-11-25 1971-11-23 Ibm Optimum error-correcting code device for parallel-serial transmissions in shortened cyclic codes
US4312068A (en) * 1976-08-12 1982-01-19 Honeywell Information Systems Inc. Parallel generation of serial cyclic redundancy check
US4498174A (en) * 1982-08-25 1985-02-05 Ael Microtel Limited Parallel cyclic redundancy checking circuit
US4593393A (en) * 1984-02-06 1986-06-03 Motorola, Inc. Quasi parallel cyclic redundancy checker
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
US4700350A (en) * 1986-10-07 1987-10-13 Douglas Phillip N Multiple phase CRC generator
US4728930A (en) * 1987-06-30 1988-03-01 The United States Of America As Represented By The Secretary Of The Navy Parallel-to-serial-data interface-adaptor
US4879718A (en) * 1987-11-30 1989-11-07 Tandem Computers Incorporated Scan data path coupling
US4977537A (en) * 1988-09-23 1990-12-11 Dallas Semiconductor Corporation Dram nonvolatizer
JPH0820935B2 (ja) * 1989-09-11 1996-03-04 富士通株式会社 アレイ・ディスク制御装置

Also Published As

Publication number Publication date
EP0473404A3 (en) 1993-08-18
EP0473404A2 (en) 1992-03-04
US5323403A (en) 1994-06-21
JPH0546420A (ja) 1993-02-26

Similar Documents

Publication Publication Date Title
JPH0679276B2 (ja) 同一従属型プロセスのスループット増大方法、プロセス生成回路、周期冗長コードジェネレータ、およびコントローラシステム
US4789925A (en) Vector data logical usage conflict detection
US5396641A (en) Reconfigurable memory processor
US5574933A (en) Task flow computer architecture
US5805915A (en) SIMIMD array processing system
US4722049A (en) Apparatus for out-of-order program execution
US3943494A (en) Distributed execution processor
US20020010730A1 (en) Accelerated montgomery exponentiation using plural multipliers
JPH0425586B2 (ja)
JP2511589B2 (ja) マルチプロセッサ通信インタフェ―スとその方法
JPH06231097A (ja) マルチプロセサシステムの始動装置および方法
JPH03182938A (ja) ブートストラップローディングの開始を制御する方法及び装置
JPH0622035B2 (ja) ベクトル処理装置
JP2009539186A (ja) ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置
EP0770241B1 (en) Automated safestore stack generation and move in a fault tolerant central processor
JP7377811B2 (ja) 集積回路のためのデータ処理エンジンタイルアーキテクチャ
US5553232A (en) Automated safestore stack generation and move in a fault tolerant central processor
EP0411805B1 (en) Bulk memory transfer during resync
Curran et al. The zEnterprise 196 system and microprocessor
US7606698B1 (en) Method and apparatus for sharing data between discrete clusters of processors
US5790810A (en) Input/output unit for a processor of a computer system having partitioned functional elements that are selectively disabled
JPH0581119A (ja) レジスタ間接モードを用いる汎用メモリ・アクセス方式
US5394536A (en) Stable memory circuit using dual ported VRAM with shift registers in a multiple memory bank setup for high speed data-transfer
EP1229438A2 (en) Sum of product arithmetic techniques
US6014757A (en) Fast domain switch and error recovery in a secure CPU architecture