JP2009105938A - ワンホットワードにおけるエラーを検出するための方法及び装置 - Google Patents

ワンホットワードにおけるエラーを検出するための方法及び装置 Download PDF

Info

Publication number
JP2009105938A
JP2009105938A JP2008326467A JP2008326467A JP2009105938A JP 2009105938 A JP2009105938 A JP 2009105938A JP 2008326467 A JP2008326467 A JP 2008326467A JP 2008326467 A JP2008326467 A JP 2008326467A JP 2009105938 A JP2009105938 A JP 2009105938A
Authority
JP
Japan
Prior art keywords
bits
group
hot
circuit
signal lines
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.)
Pending
Application number
JP2008326467A
Other languages
English (en)
Inventor
D Nafujigaa Samuel
サミュエル・ディ・ナフジガー
Lee Jones Kevin
ケヴィン・リー・ジョーンズ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2009105938A publication Critical patent/JP2009105938A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • H03M13/51Constant weight codes; n-out-of-m codes; Berger codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】エラーのない状態において単一のビットのみがセットされるワンホットワードにおけるエラーを効率的に検出するための装置および方法を提供する。
【解決手段】本発明の一実施例によれば、複数の入力信号線と、複数のスイッチング素子と、複数の中間信号線と、論理回路とを有する装置が提供される。スイッチング素子は入力信号線に接続される。中間信号線もまたスイッチング素子に接続される。接続は、特定の入力信号線がセットされているとき、スイッチング素子によって特定の入力信号線に接続された全ての中間信号線が所定の論理状態になるよう強制されるような態様である。中間信号線は論理回路への入力であり、論理回路は、複数の入力信号線のうち少なくとも2つがセットされているか否かを示す信号を出力する。
【選択図】図2

Description

本発明は、エラー検出に関する。特に、本発明は、エラーのない状態において単一のビットのみがセットされるワンホットワードにおけるエラーを効率的に検出するための方法および装置に関する。
バイナリワンホットワードは、単一ビットがハイで、その他すべてのビットがローであるか、あるいは単一ビットがローで、その他すべてのビットがハイであるバイナリビットの集合である。明確のために、本明細書では、バイナリワンホットワードにおける単一の「ホット」または「セット」ビットとは、それが公称的にハイである間他のすべてのビットが公称的にローであるかのように、しかしセットビットが公称的にローである間他のすべてのビットが公称的にハイであることも同等に可能であるものとして参照する。ワンホットワードは、例えば、事前有効化(pre-validated)キャッシュにおけるタグ格納として利用される。ワンホットワードの他の使用法は、当業者には明らかである。
ワンホットワードは、通常2つの方法のうちの一方または双方におけるエラーによって破損する可能性がある。第1の形態の破損では、セットビットがセットされない(すなわち、単一のビット1がゼロに変わる)。この破損の結果、すべてのビットがゼロであるワードが生じる。本明細書で用いるように、「ミス」という用語は、すべてのビットがゼロであるこの状況を指すものである。用途に応じて、ミスはエラー状態であるか、あるいはエラー状態ではない場合がある。例えば、事前有効化キャッシュにおけるミスは妥当であり、非破損状態であるが、他の用途では、ミスは妥当ではない。ワンホットワードの他方の形態の破損は、ローのままであるべき1つまたは複数のビットがセットされることである。すなわち、破損したワンホットワードは、セットビットを2つ以上有する。本明細書で用いるように、「マルチヒット」という用語は、セットされたビットを2つ以上有するワードを指すために用いられるが、「ヒット」という用語は、いずれか1つのまたはそれ以上のセットビットを有するワードを指すために用いられる。
図1は、8ビットワンホットワードにおけるあるタイプのエラーを検出するための論理回路100を示す。ワンホットワードは、8つの構成ビットD0、D1、...、D7を有し、該ワードはD0:D7と示される。8つのデータビットD0、D1、...、D7は、図1に示すように、左からの論理回路100に対する入力である。排他的論理和(XOR)ゲート104、108、112、116、120、124、および128は、8入力排他的論理和機能を形成するように共に接続される。信号ODDは、最後の排他的論理和ゲート128からの出力である。信号ODDは、ワードD0:D7におけるセットビットの数が奇数であればハイであり、ワードD0:D7におけるセットビットの数が偶数であればローである。
論理回路100はまた、NANDゲート156および160に接続されたNORゲート140、144、148、および152も含む。NANDゲート156および160は、ワードD0:D7のすべてのビットがローである場合に限り、NORゲート164からの信号MISS(ミス)出力がハイであるように、NORゲート164に接続される。インバータゲート170は、信号MISSに接続され、かつ信号HIT(ヒット)が、インバータゲート170から出力される。信号HITは、ワードD0:D7の1つまたは複数のビットがハイであれば、ハイである。信号ODDおよびMISSは、NORゲート174への入力である。NORゲート174の出力は、信号EVEN MULTIHIT(偶数マルチヒット)であり、これは、ちょうど2つ、またはちょうど4つ、またはちょうど6つ、または8つすべてのデータビットD0、D1、...、D7がハイであるときに、ハイである。このため、論理回路100は、あるタイプのエラーのあるワンホットワードを検出することができる。しかし、論理回路100は、ワンホットワードD0:D7におけるすべてのエラーを検出することはできない。特に、論理回路100が、ワードD0:D7において奇数の数のビットがセットされる場合にエラーを検出することができない。すなわち、ワードD0:D7のちょうど3つ、またはちょうど5つ、またはちょうど7つのビットが、論理回路100によってワンホットエラーとして検出されない場合である。
本発明の課題は、エラーのない状態において単一のビットのみがセットされるワンホットワードにおけるエラーを効率的に検出するための方法および装置を提供することにある。
一態様において、本発明は、ワンホットワードにおけるエラーを検出する際に使用される装置である。本装置は、複数の入力信号線と、入力スイッチ信号線に接続された複数のスイッチング素子と、複数の中間信号線と、論理回路と、を備える。スイッチング素子は、入力信号線に接続される。中間信号線もまた、スイッチング素子に接続される。接続は、特定の入力信号線がセットされているとき、スイッチング素子によって該特定の入力信号線に接続されたすべての中間信号線が所定の論理状態になるよう強制されるような態様である。中間信号線は、論理回路への入力であり、論理回路は、複数の入力信号線のうち少なくとも2つがセットされているか否かを示す信号を出力する。
別の態様において、本発明は、Mビットの群において、非ワンホット状態を検出するための方法である。本方法は、Mビットの群を少なくとも2log2M符号化ビットに符号化して、Nビットの群におけるワンホット状態それぞれが符号化ビットの群において一意の状態を生成するようにする。本方法は、Mビットの群が非ワンホット状態にあるか否かについて、符号化ビットを基にして決定を行う。少なくとも2log2M符号化ビットがそれぞれ少なくともlog2M符号化ビットの2つの群であることが好ましいが、必要不可欠なことではない。例えば(かつ制限としてではなく)、少なくともlog2M符号化ビットの2つの群は、互いの相補的な符号化であってもよい。
さらに別の態様において、本発明は、ビットの群Dにおけるワンホットエラーを検出するための方法である。本方法は、まず、DがS0およびNS0の合併集合になるように、ビットの群Dを2つの共通部分のない部分集合S0およびNS0に分割する。本方法は、部分集合S0におけるいずれのビットがホットであるかを決定する。本方法はまた、部分集合NS0におけるいずれのビットがホットであるかも決定する。群Dは、再度、DがS1およびNS1の合併集合となるように、別の2つの完全に異なる共通部分のない部分集合S1およびNS1に分割される。次に、本方法は、S1におけるいずれのビットがホットであるか、またNS1におけるいずれのビットがホットであるかを決定する。これまでに行った決定を基にして、本方法は群Dがエラーを含むか否かを決定する。
論理回路100と比較して、本発明のある実施形態は、以下を含む特定の利点を達成することができる。
(1)本発明のある実施形態により、すべての非ワンホットワード(すなわち、偶数であるか、奇数であるかに係わらずにすべてのマルチヒットならびに適用可能な場合にはミス)の検出が可能である。
(2)本発明のある実施形態は、論理回路100よりも少ない遅延でエラーを検出する目的で、ワンホットワードを処理することができる。特に、論理回路l00では、左側の入力から右側の出力までに7ゲートの遅延がある(ゲート遅延は、本明細書において、XORゲートが2単位の遅延をもたらす一方で、インバータまたはNANDゲートは1単位のゲート遅延をもたらすという典型的な慣習に従ってカウントされる)。一方、本発明のある実施形態は、同じことを行うのに4ゲートほどと少ない遅延を有する。さらに、ゲート遅延の数は、ワンホットワードのサイズ(すなわち、その中にあるビットの数)に主に無関係であるが、これは論理回路100には当てはまらない。
(3)本発明のある実施形態は、論理回路100よりも少ない半導体面積を使用して物理的に実施することができる。
当業者は、添付図面を参照して、以下の好ましい実施形態の詳細な説明を読めば、本発明の各種実施形態のこれらおよび他のメリットおよび利点を理解するであろう。
本発明を用いることにより、エラーのない状態において単一のビットのみがセットされるワンホットワードにおけるエラーを効率的に検出することができる。
図2は、本発明の一実施形態によるワンホットワードにおいてエラーを検出する際に使用する回路200の模式図である。公称的にはワンホットワードである8ビットワードD0:D7は、図において水平に示す8つの入力信号線D0、D1、...、D7上の回路200への入力である。入力信号線D0、D1、...、D7は、スイッチング素子201〜224に選択的に接続される。スイッチング素子201〜224は、長方形アレイが本発明の原理を最もよく示すことから、長方形アレイに構成されて図示されるが、スイッチング素子201〜224は、任意のいかなる物理的構成にも配置することができる。スイッチング素子201〜224は、NFET201〜224(Nチャネル型電界効果トランジスタ)であることが好ましい。各NFET201〜224は、ゲート端子において入力信号線に接続される。図2では垂直に示される数本の中間信号線NE0、E0、NE1、E1、NE2、およびE2もまたNFETに接続される。中間信号線NE0、E0、NE1、E1、NE2、およびE2は、スイッチング素子201〜224のドレイン端子において選択されたスイッチング素子201〜224に接続される。スイッチング素子201〜224のソース端子は、接地される。中間信号線NE0、E0、NE1、E1、NE2、およびE2はまた、PFET(Pチャネル型電界効果トランジスタ)にも接続される。例えば、中間信号線E0は、ドレイン端子においてPFET231に接続される。同様に、その他の中間信号線NE0、NE1、E1、NE2、およびE2がPFET232〜236にそれぞれ接続される。PFET231〜236はそれぞれ、ゲート端子においてクロック信号CLKに接続される。クロック信号CLKに接続されたPFET231〜236は、中間信号線NE0、E0、NE1、E1、NE2、およびE2をプレチャージする。したがって、公称的にはNE0=E0=NE1=E1=NE2=E2=1である。しかし、入力信号線D0:D7により、接続されたスイッチング素子が接続された中間信号線を接地させる。すなわち、中間信号線を、データ線D0:D7の状態およびそれらのスイッチング素子201〜224への接続に応じて、ローに引っ張ることができる。一例として、D0がハイであり、そのためスイッチング素子201、209、および217がソースからドレインにかけて導通され(すなわち、ターンオン)、したがって中間信号線NE2、NE1、およびNE0をロー論理状態にさせる場合を考える。
回路200を点検してわかるように、D0、D1、D2、またはD3のいずれかがセットされる場合、中間信号線NE2がローに引っ張られる。D4、D5、D6、またはD7のいずれかがセットされている場合、中間信号線E2がローに引っ張られる。したがって、D0:D7において2つまたはそれ以上のビット、すなわち、前半分のD0:D3において少なくとも1つのビット、および後半分のD4:D7において少なくとも1つのビットがセットされている場合のみ、NE2およびE2が双方ともローになる。これは、中間信号線NE2およびE2がスイッチング素子201〜208を介してデータビットの重複しないセットに接続されるため、当てはまる。同様に、中間信号線NE1およびE1は、スイッチング素子209〜216を介してデータビットの重複しないセット({D、D1、D4、D5}および{D2、D3、D6、D7}それぞれ)に接続され、中間信号線NE0およびE0は、スイッチング素子217〜224を介してデータビットの重複しない異なるセット({D0、D2、D4、D6}および{D1、D3、D5、D7}それぞれ)に接続される。
図3の論理回路300に示すように、中間信号線NE2およびE2は、NANDゲート304への入力である。NANDゲート304の出力は、信号HITであり、これは、E2またはNE2のいずれかがローである場合にハイである。信号MISSは、信号HITに接続されたインバータ308によって形成される。信号HITおよびMISSは、E1およびNE1が論理回路300におけるE2およびNE2に取って代わった場合、まったく同等である。同様に、信号HITおよびMISSは、E0およびNE0が論理回路300におけるE2およびNE2と取って代わった場合、まったく同等である。
中間信号線NE2、E2、NE1、E1、NE0、およびE0はそれぞれ、インバータゲート312〜332への入力であり、インバータゲート312〜332はNANDゲート336〜348に接続されている。NANDゲート348の出力は、信号MULTIHIT(マルチヒット)であり、これは、D0:D7のうちの2つまたはそれ以上がセットされている場合に限りハイである。わかるように、信号MULTIHITは、3つの条件のうちの1つまたはそれ以上が満たされる場合にハイである。第1に、NE2およびE2が双方ともローである、つまりD0:D3の中で少なくとも1つのビットがセットされ、かつD4:D7の中で少なくとも1つのビットがセットされていることを意味する場合、信号MULTIHITはハイである。第2に、NE1およびE1が双方ともローである、
つまりビットの重複しないセット{D0、D1、D4、D5}および{D2、D3、D6、D7}の両方において、それらに接続されたデータビットのうちの少なくとも1つがハイであることを意味する場合、信号MULTIHITはハイである。第3に、NE0およびE0が双方ともローである、つまりビットの重複しないセット{D0、D2、D4、D6}および{D1、D3、D5、D7}の両方において、それらに接続されたデータビットのうちの少なくとも1つがハイであることを意味する場合、信号MULTIHITはハイである。したがって、回路200は、すべての組が異なり、かつ各組のうちの一方がその組の他方と共通部分を持たないように、8つのデータビットD0:D7を3組の値に符号化する。このようにして、D0:D7においていずれか2つまたはそれ以上のビットエラーが
発生すると、3組のうちの少なくとも1組を双方ともローに引っ張るよう保証される。すなわち、D0:D7においてマルチヒットエラーが発生すると、以下のうちの1つまたはそれ以上が引き起こされる。すなわち、(a)NE0およびE0を双方ともローに引っ張る、および/または(b)NE1およびE1を双方ともローに引っ張る、および/または(c)NE2およびE2を双方ともローに引っ張る。論理回路300は、これらの任意の組み合わせを検出する。当業者は、論理回路300と同一機能を実施するために、異なる多くの論理回路を設計しうることを容易に認識するであろう。例えば、周知のゲート転換の結果として、異なるが、論理的に同等な回路になる。
論理回路300と組み合わせた回路200は、偶数のマルチヒットだけでなく、あらゆるマルチヒットを検出することができる。さらに、回路200および論理回路300は共に、入力信号線D0:D7から出力MULTIHITまで、4ゲートの遅延しかもたらさない。回路200は、1単位の遅延の原因であり、インバータ312〜332がもう1単位の遅延の原因であり、NANDゲート336〜344がさらに1単位の遅延をもたらし、最後にNANDゲート348が1単位の遅延をもたらす。
回路200および論理回路300は、8つの入力信号線上で動作するものとして図示されるが、これは広く任意である。当業者は、回路の基本的なパターンを16、32、または2つの入力信号線のそれ以上の累乗にスケーリングすることが可能であることを容易に理解しよう。例えば、16本の入力信号線が処理される場合、中間信号線の追加の組が必要であり(すなわち、NE3およびE3)、かつ16個のスイッチング素子の4列アレイが必要である。中間信号線は、以下の意味で同じであるパターンに従って、スイッチング素子を介して入力信号線に接続することができる。すなわち、(1)NE3を上の8本の入力信号線に接続しながら、E3を下の8本に接続する、(2)NE2およびE2をそれぞれ、連続した4本の入力信号線のセットに交互に接続する、(3)NE1およびE1を
それぞれ連続した2本の入力信号線のセットに交互に接続する、(4)NE0およびE0をそれぞれ、1本おきの入力信号線に接続する。入力信号線の数が2の累乗に満たず、かつ2の累乗の回路構造を利用している場合には、追加の入力信号線を非ホット(例えば、ロー)状態に固定することもできる。あるいは、2を累乗した数ではない入力信号線を直接許容する回路構造を利用してもよい。
一般に、本方法は、2ビットからTビットまでのMの値すべてについて機能するが、但しTは、ワイヤードOR回路の最大幅等、ハードウェア技術に対しての最大限度である。例えば、ハードウェア技術によりワイヤードOR回路の幅が32ビット以下に制限され、かつ入力ビットが、第2の群が第1の群の相補的符号化であるlog2Mビットの2つの群に符号化される場合、Mは、2≦M≦64であるいずれの数であってもよい。2つの符号化群におけるビットがそれぞれ32個のスイッチング素子に接続され、かつワイヤードORゲートの技術的限度が32ビットであるため、この例示的な例において、最大は64ビットである。
図4A、Bおよび図5は、本発明の別の実施形態を示したものである。図4Aおよび図4Bは、回路400を示す。図5は、論理回路500を示す。ある意味において、図4A、Bおよび図5に示す実施形態は、図2および図3に図示した実施形態を最適化したものである。図2のように、図4A、Bにおける入力信号線D0:D7は、左からの入力であり、スイッチング素子401〜416に接続される。また、クロック信号CLKも、プリチャージ構成でPFET431〜438に接続される。中間信号線NE0、E0、NE1、E1、F0、NF0、F1およびNF1は、スイッチング素子401〜416に選択的に接続されると共に、信号MULTIHITを生成するためにNANDゲート504〜540に入力され、かつ信号HITおよびMISSを生成するために、インバータ548に連結されたNORゲート544に入力される。当業者は、論理回路500からの信号MULTIHIT、HIT、およびMISSという出力は、論理回路300からの同じ信号出力と同等であることを容易に確認することができる。特に、信号HITは、D0:D7におけるいずれか1つまたはそれ以上のビットがセットされている場合にハイである。信号MULTIHITは、入力ビットD0:D7の群のうち2つまたはそれ以上がハイである場合に限り、ハイとなる。図2および図3と比較して、図4A、Bおよび図5の構成は、ある望ましい特性を有する。例えば、回路400の場合、入力負荷がより少ない。また、第2の実施形態は、論理回路500が一方の側にある図4Aに示す回路400の部分と、他方の側にある図4Bに示す回路400の部分の間の中間領域に配置される場合、より少ない垂直ワイヤトラックで、マルチレベル回路において物理的に実施することができる。
回路200および論理回路300は共に、または回路400および論理回路500は共に、概してMビットの群において非ワンホット状態を検出するための方法を物理的に実施したものである。本方法は、例えばハードウェア、ソフトウェア、またはファームウェアにおいて実施することがすることが好ましい。本方法において、Mビットの群を符号化ビットの2つの群に符号化することが好ましい。各群は、少なくともlog2M(log2Mよりも次に大きな整数等)の符号化ビットを含む。符号化は、Mビットの群におけるワンホット状態がそれぞれ、符号化ビットにおいて一意の状態を生成するようなものである。例に続いて、8ビットのD0:D7は、第2の群の符号化ビットが第1の群の符号化ビットの相補的符号化である、それぞれ3つのビットを含む2つの群に符号化される。回路200を再度参照すると、第1の群の符号化ビットは、中間信号線E0、E1、およびE2に対応する。第2の群の符号化ビットは、中間信号線NE0、NE1、およびNE2に対応する。本方法は、Mビットの群が非ワンホット状態にあるか否かについて、符号化ビットを基にして決定する。この決定ステップは、例えば論理回路300によって行われる。
Mが2の累乗ではない場合、本方法は、MビットをL個の非ホットビットで増大して、Nビットの群を形成することができる(但し、N=M+Lであり、かつNは2の累乗である)。例えば、5つのビットD0:D4のみがワンホット状態についてテストされる場合には、入力信号線D5、D6、およびD7は、図2における非ホット状態(例えば、ロー)に結びつけられる。この例の場合の本方法に関して、M=5かつL=3であるため、それらの和であるNは2の累乗である(N=8=23)。次に、本方法は、上述したように、M個のビットの代わりにN個の入力ビットで続けられる。あるいは、本方法は、2の累乗ではない数のビットに対して直接動作することができる。
別の実施形態において、本方法は通常、ビットの群D、例えば、入力信号線D0、D1、...、D7の8ビットのセットにおいて動作して、群Dがその公称ワンホット(または考えられ得るミス)状態からのエラーによって破損しているか否かを決定する。本方法は、Dを、S0およびNS0で表すことができる2つの共通部分のない部分集合に分割する。例えば、論理回路200において、S0は、スイッチング素子を介して中間信号線NE0に接続された入力信号線のセットである。すなわち、S0={D0、D1、D2、D3}である。同様に、NS0は、スイッチング素子を介して中間信号線E0に接続された入力信号線のセット、すなわち{D4、D5、D6、D7}である。D=S0∪NS0。本方法は、S0におけるいずれか1つまたはそれ以上のビットがホットであるか否かを決定するとともに、NS0におけるいずれか1つまたはそれ以上のビットがホットであるか否かを決定する。本方法はまた、Dを別の方法で共通部分のない部分集合S1およびNS1に分割する。例えば、回路200においてそれぞれ中間信号線NE1およびE1に接続された、S1={D0、D1、D4、D5}およびNS1={D2、D3、D6、D7}である。なお、S0、NS0、S1、およびNS1のいずれも同じ部分集合ではないことに留意する。本方法は、S1におけるいずれか1つまたはそれ以上のビットがホットであるか否かを決定するとともに、NS1におけるいずれか1つまたはそれ以上のビットがホットであるか否かを決定する。分割の部分集合の各組において1つまたはそれ以上のビットがホットであるか否かを決定する都度、群Dのサイズに応じて必要であれば、本方法を続けてDの分割を行ってもよい。例えば、回路200は、中間信号線NE2およびE2への接続により、DをS2={D0、D2、D4、D6}およびNS2={D1、D3、D5、D7}に分割する。部分集合においていずれかのビットがホットであるか否かの決定を基にして、本方法は、上述したように、ビットの群Dにおいてマルチヒットがあるか否かを決定することができる。特定の部分集合S0、NS0、S1、NS1、S2、およびNS2は例示的なものである。異なる部分集合が可能である。具体的には、部分集合S0、NS0、S1、NS1、S2、およびNS2と、まとめて1対1で対応している任意の部分集合のセットで十分である。別の方法では、部分集合S0、NS0、S1、NS1、S2、およびNS2にまとめて適用した任意の全単写像が適した部分集合のセットを生成する。
ちょうど本装置の変形が可能であるように、本方法の変形も可能である。例えば、図4A、Bおよび図5に示す本装置の実施形態は、上述した本方法の変形の物理的な実施である。基本的に、この変形は、ビットの群DDを2つの共通部分のない部分集合(例えば、第1の部分集合G1=D0:D3、および第2の部分集合G2=D4:D7)に分割し、各部分集合に対して上述した第1の方法を行い、それからその結果を論理的に結合する。この点から、図4Aは、群DD=D0:D7の部分集合D0:D3に対して本方法の一部を行うものとして見ることができ、また、図4Bは、部分集合D4:D7に対して本方法の一部を行うものとして見ることができる。
図6は、モジュラビルディングブロックとして図4A、Bおよび図5に示す組み合わせを有するカスケード式ワンホットエラー検出器600である。特に、サブ検出器605〜640はそれぞれ、回路400および論理回路500の組み合わせである。サブ検出器645も同様に同じである。エラー検出器600において、64ビットワンホットワードが、公称なワンホット状態からの破損を検出するために、処理される。64ビットの群は、サブ検出器605〜640それぞれにより一度に8ビットずつ処理される。サブ検出器604〜640からの出力HIT0、HIT1、...、HIT7は、図示のように、8ビット入力データとしてサブ検出器645へ入力される。さらに、サブ検出器605〜640からのマルチヒット信号MHIT0、MHIT1、...、MHIT7の出力は、NFET651〜658、NANDゲート660、NORゲート665、およびインバータ670によって論理的に結合されて、図示のように、信号MULTIHITを生成する。エラー検出器600からの信号MULTIHIT出力は、サブ検出器605〜640のいずれかからの任意のMHIT信号がハイである場合、あるいは2つまたはそれ以上のサブ検出器605〜640からのHIT信号がハイである場合にはハイであり、したがってサブ検出器645からの信号GMHIT出力をハイにさせる。いずれの場合でも、2つまたはそれ以上のセットビットが64入力ビット内にあるか否かに係わらず、エラー検出器600によってマルチヒットが検出される。
同様にして、ワンホットエラー検出器は、図6に示すパターンに従ういかなる任意のワードサイズについて構築することができる。例えば、エラー検出器600を二度複製して、それらの出力を適切に結合することで、128ビットワンホットエラー検出器を構築することができ、このような場合、より広いエラー検出器の総伝播遅延は、ほんのわずか(例えば、1または2ゲート遅延)だけ増大するにすぎない。あるいは、上述したように、各サブ検出器605〜640のサイズまたは入力幅を増大することで、より大きなワンホットエラー検出器を構築することができる。例えば、8ビットのサブ検出器605〜640の代わりに16ビットのサブ検出器を使用すると、結果として128ビットのワンホットエラー検出器になる。
本明細書で用いた用語および説明は、例示としてだけのものであり、制限を意味するものではない。当業者は、すべての用語は、別記されない限りその最も広義の意味で理解されるべきである添付の特許請求の範囲およびその同等物に定義される本発明の精神および範囲内で多くの変形が可能であることを認識するであろう。
以上、本発明の実施例について詳述したが、以下、本発明の各実施態様の例を示す。
[実施態様1]
複数の入力信号線(D0〜D7)と、
前記入力信号線(D0〜D7)に接続された複数のスイッチング素子(201〜224、401〜416)と、
特定の入力信号線(D0〜D7)がセットされたとき、前記スイッチング素子(201〜224、401〜416)を介して前記特定の入力信号線(D0〜D7)に接続されたすべての中間信号線(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)が第1の所定の論理状態になるよう強制されるように、それぞれ前記スイッチング素子(201〜224、401〜416)のいくつかに接続された複数の中間信号線(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)と、
前記複数の中間信号線(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)を入力として受け入れ、前記複数の入力信号線(D0〜D7)のうち少なくとも2つがセットされているか否かを示す信号を出力する論理回路(300、500)と、
を備えて成る装置。
[実施態様2]
前記スイッチング素子(201〜224、401〜416)がトランジスタであることを特徴とする、実施態様1に記載の装置。
[実施態様3]
前記トランジスタはNFETであり、前記入力信号線(D0〜D7)は、ゲート端子において前記NFETに接続され、前記中間信号線(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)は、ドレイン端子において前記NFETに接続され、かつ前記NFETは、ソース端子において接地されることを特徴とする、実施態様2に記載の装置。
[実施態様4]
前記中間信号線(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)は、接続された入力信号線(D0〜D7)がセットされていない場合に、第2の所定の論理状態にバイアスされることを特徴とする、実施態様1に記載の装置。
[実施態様5]
接続された入力信号線(D0〜D7)がセットされていない場合に、前記中間信号線(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)を前記第2の所定の論理状態にバイアスする複数のバイアス素子(231〜236、431〜438)をさらに備えて成ることを特徴とする、実施態様4に記載の装置。
[実施態様6]
前記入力信号線(D0〜D7)は、バイナリハイ状態にあるときにセットされることを特徴とする、実施態様1に記載の装置。
[実施態様7]
Mビット(D0〜D7)の群において非ワンホット状態を検出するための方法であって、
前記Mビット(D0〜D7)の群におけるワンホット状態がそれぞれ、符号化ビット(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)の群において一意の状態を生成するように、前記Mビット(D0〜D7)の群を少なくとも2log2M符号化ビット(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)の群に符号化するステップと、
前記符号化ビット(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)に基づいて、前記Mビット(D0〜D7)の群が非ワンホット状態にあるか否かを決定するステップと、
を備えて成る方法。
[実施態様8]
前記Mは2の累乗であることを特徴とする、実施態様7に記載の方法。
[実施態様9]
少なくとも2log2M符号化ビット(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)の前記群が、それぞれが少なくともlog2M符号化ビットを有する2つの群からなることを特徴とする、実施態様7に記載の方法。
[実施態様10]
少なくとも2log2M符号化ビット(E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F0、NF0、F1、NF1)の前記群が、符号化ビットの組からなり、符号化ビットの各組について、各組それぞれの一方の符号化ビットが、Mビットの各半分に基づいており、かつ各組それぞれの他方の符号化ビットが、Mビットの他方の各半分に基づいていることを特徴とする、実施態様9に記載の方法。
パリティエラーを検出するための回路の論理図である。 本発明の一実施形態によるワンホットワードにおけるエラーを検出する際に使用する回路の模式図である。 本発明の一実施形態によるワンホットワードにおけるエラーを検出する際に使用する論理回路の図である。 本発明の一実施形態によるワンホットワードにおけるエラーを検出する際に使用する回路の模式図である。 本発明の一実施形態によるワンホットワードにおけるエラーを検出する際に使用する回路の模式図である。 本発明の別の実施形態によるワンホットワードにおけるエラーを検出する際に使用する論理回路を示す図である。 カスケード式ワンホットエラー検出器を示す図である。
符号の説明
D0〜D7:入力信号線、Mビット
201〜224、401〜416:スイッチング素子
E0、NE0、E1、NE1、E2、NE2;E0、NE0、E1、NE1、F
0、NF0、F1、NF1:中間信号線、符号化ビット
231〜236、431〜438:バイアス素子
300、500:論理回路

Claims (3)

  1. Mビットの群において非ワンホット状態を検出するための回路であって、
    前記Mビットの群を、少なくとも2log2M符号化ビットの群に、前記Mビットの群における各ワンホット状態が前記符号化ビットの群において一意の状態を生成するように、符号化する回路と、
    前記符号化ビットに基づいて、前記Mビットの群が非ワンホット状態にあるか否かを決定する回路と、
    を備え、さらに、
    前記Mが2の累乗でない場合に、前記MビットをL個の非ホットビットで増大してM+Lビット(ここで、M+Lは2の累乗である)の群を形成するための回路と、
    前記Mビットの群の代わりに前記M+Lビットの増大された群を用いて、前記符号化を実行するための回路と、
    を備えている、Mビットの群において非ワンホット状態を検出するための回路。
  2. 共通部分のない2つの部分集合G1およびG2に分割された2Mビットの群DDにおいて、
    前記Mビットの群である前記G1に対し、前記符号化および前記決定を実行する第1の回路と、
    前記Mビットの群である前記G2に対し、前記符号化および前記決定を実行する第2の回路と、
    前記第1および第2の回路による決定の結果に基づいて、前記ビットの群DDが非ワンホット状態にあるか否かを決定する第3の回路と、
    を備えている、請求項1に記載の、Mビットの群において非ワンホット状態を検出するための回路。
  3. ビットの群におけるワンホットエラーを検出するための回路であって、
    共通部分のない2つの部分集合S0およびNS0に、D=S0∪NS0となるように分割されたビットの群Dに対し、
    (a)S0におけるビットのいずれかがホットであるか否かを決定し、
    (b)NS0におけるビットのいずれかがホットであるか否かを決定する、
    第1の回路と、
    共通部分のない2つの部分集合S1およびNS1に、D=S1∪NS1で且つS0、NS0、S1、およびNS1のどれもが同じでないようにして、分割された前記群Dに対し、
    (c)S1におけるビットのいずれかがホットであるか否かを決定し、
    (d)NS1におけるビットのいずれかがホットであるか否かを決定する、
    第2の回路と、
    共通部分のない2つの部分集合S2およびNS2に、D=S2∪NS2で且つS0、NS0、S1、NS1、S2、およびNS2のどれもが同じでないようにして、分割された前記群Dに対し、
    (e)S2におけるビットのいずれかがホットであるか否かを決定し、
    (f)NS2におけるビットのいずれかがホットであるか否かを決定する、
    第3の回路と、
    前記第1、第2、および第3の回路による決定の結果に基づいて、前記群Dがエラーを含んでいるか否かを決定する第4の回路と、
    を備え、前記第4の回路は、
    (1)前記(a)および(b)における決定の結果が両方とも肯定である、
    (2)前記(c)および(d)における決定の結果が両方とも肯定である、
    (3)前記(e)および(f)における決定の結果が両方とも肯定である、
    の3つの状態のうちのいずれか1つが真であるか否かを決定し、いずれか1つが真である場合には、前記群Dがエラーを含んでいると決定するよう動作する、ビットの群におけるワンホットエラーを検出するための回路。
JP2008326467A 1999-12-17 2008-12-22 ワンホットワードにおけるエラーを検出するための方法及び装置 Pending JP2009105938A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/465,723 US6622284B1 (en) 1999-12-17 1999-12-17 Method and apparatus for detection of errors in one-hot words

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000371133A Division JP4731677B2 (ja) 1999-12-17 2000-12-06 ワンホットワードにおけるエラーを検出するための方法及び装置

Publications (1)

Publication Number Publication Date
JP2009105938A true JP2009105938A (ja) 2009-05-14

Family

ID=23848924

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000371133A Expired - Fee Related JP4731677B2 (ja) 1999-12-17 2000-12-06 ワンホットワードにおけるエラーを検出するための方法及び装置
JP2008326467A Pending JP2009105938A (ja) 1999-12-17 2008-12-22 ワンホットワードにおけるエラーを検出するための方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000371133A Expired - Fee Related JP4731677B2 (ja) 1999-12-17 2000-12-06 ワンホットワードにおけるエラーを検出するための方法及び装置

Country Status (2)

Country Link
US (1) US6622284B1 (ja)
JP (2) JP4731677B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918613A (zh) * 2010-04-23 2013-02-06 Ug投资有限公司 多组件电化学电容器及其制造方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6290673B1 (en) * 1999-05-20 2001-09-18 Conor Medsystems, Inc. Expandable medical device delivery system and method
US6622284B1 (en) * 1999-12-17 2003-09-16 Hewlett-Packard Development Company, L.P. Method and apparatus for detection of errors in one-hot words
US6675266B2 (en) * 2000-12-29 2004-01-06 Intel Corporation Circuit and method for protecting 1-hot and 2-hot vector tags in high performance microprocessors
KR100532601B1 (ko) * 2003-10-16 2005-12-01 현대모비스 주식회사 카오디오 시스템의 채널 다운 믹싱 장치
US8806294B2 (en) * 2012-04-20 2014-08-12 Freescale Semiconductor, Inc. Error detection within a memory
US10102848B2 (en) 2014-02-28 2018-10-16 Google Llc Hotwords presentation framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000036804A (ja) * 1998-07-17 2000-02-02 Nec Corp 同期化回路
JP2000134103A (ja) * 1998-10-21 2000-05-12 Nec Corp サーモメトリック−バイナリコード変換方法および回路、それに使用されるエンコーダ素子回路
JP4731677B2 (ja) * 1999-12-17 2011-07-27 ヒューレット・パッカード・カンパニー ワンホットワードにおけるエラーを検出するための方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498177A (en) * 1982-08-30 1985-02-05 Sperry Corporation M Out of N code checker circuit
US4912348A (en) * 1988-12-09 1990-03-27 Idaho Research Foundation Method for designing pass transistor asynchronous sequential circuits
US5012246A (en) * 1990-01-31 1991-04-30 International Business Machines Corporation BiCMOS analog-to-digital converter with minimized metastability
US5860017A (en) 1996-06-28 1999-01-12 Intel Corporation Processor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US5859999A (en) 1996-10-03 1999-01-12 Idea Corporation System for restoring predicate registers via a mask having at least a single bit corresponding to a plurality of registers
US6003154A (en) * 1997-05-14 1999-12-14 Nortel Networks Corporation System and method for covering illegal states in a programmable gate array
US6034542A (en) * 1997-10-14 2000-03-07 Xilinx, Inc. Bus structure for modularized chip with FPGA modules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000036804A (ja) * 1998-07-17 2000-02-02 Nec Corp 同期化回路
JP2000134103A (ja) * 1998-10-21 2000-05-12 Nec Corp サーモメトリック−バイナリコード変換方法および回路、それに使用されるエンコーダ素子回路
JP4731677B2 (ja) * 1999-12-17 2011-07-27 ヒューレット・パッカード・カンパニー ワンホットワードにおけるエラーを検出するための方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918613A (zh) * 2010-04-23 2013-02-06 Ug投资有限公司 多组件电化学电容器及其制造方法

Also Published As

Publication number Publication date
JP2001195273A (ja) 2001-07-19
US6622284B1 (en) 2003-09-16
JP4731677B2 (ja) 2011-07-27

Similar Documents

Publication Publication Date Title
KR100744141B1 (ko) 싱글 엔디드 신호 라인의 가상 차동 상호 연결 회로 및가상 차동 신호 방식
US7417881B2 (en) Low power content addressable memory
JP2009105938A (ja) ワンホットワードにおけるエラーを検出するための方法及び装置
US7352299B1 (en) Method and system for improving memory interface data integrity
JP2617455B2 (ja) 符号化装置
JPH11312396A (ja) マルチビット半導体メモリ装置及びその装置の誤り訂正方法
KR970049545A (ko) 프로그래머블 패리티 체킹 및 비교 회로
JP2005514595A5 (ja)
US6420990B1 (en) Priority selection circuit
JP2023512892A (ja) 比較システム
TW550389B (en) Test signal generating circuit of a semiconductor device with pins receiving signals of multiple voltage levels and method for invoking test modes
US7612583B2 (en) Efficient XOR calculation
US6788106B2 (en) Integrated circuit devices having data inversion circuits therein that reduce simultaneous switching noise and support interleaving of parallel data
JP2013073663A (ja) 半導体装置
US6483732B2 (en) Relational content addressable memory
EP0850482A1 (en) Method and apparatus for detecting assertion of multiple signals
US7095641B1 (en) Content addressable memory (CAM) devices having priority class detectors therein that perform local encoding of match line signals
US7565597B1 (en) Fast parity scan of memory arrays
US5148057A (en) Circuit apparatus for detecting preceding value one
US4451922A (en) Transmission logic parity circuit
US7000066B1 (en) Priority encoder circuit for content addressable memory (CAM) device
US4931971A (en) Partial decode shifter/rotator
US6859378B1 (en) Multiple match detection logic and gates for content addressable memory (CAM) devices
US3886520A (en) Checking circuit for a 1-out-of-n decoder
US5608741A (en) Fast parity generator using complement pass-transistor logic

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20111125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20120313

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120820

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120928