(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-14
(45)【発行日】2024-11-22
(54)【発明の名称】メモリシステムにおけるアドレス障害検出を実行するための階層的ROMエンコーダシステム
(51)【国際特許分類】
G11C 29/02 20060101AFI20241115BHJP
【FI】
G11C29/02
(21)【出願番号】P 2024523944
(86)(22)【出願日】2022-02-23
(86)【国際出願番号】 US2022017434
(87)【国際公開番号】W WO2023101711
(87)【国際公開日】2023-06-08
【審査請求日】2024-06-10
(31)【優先権主張番号】202111444122.6
(32)【優先日】2021-11-30
(33)【優先権主張国・地域又は機関】CN
(32)【優先日】2022-02-11
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】500147506
【氏名又は名称】シリコン ストーリッジ テクノロージー インコーポレイテッド
【氏名又は名称原語表記】SILICON STORAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】キアン、シャオゾウ
(72)【発明者】
【氏名】ズー、ヤオファ
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2021-125276(JP,A)
【文献】特表2020-511731(JP,A)
【文献】特開2016-71910(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 29/02
(57)【特許請求の範囲】
【請求項1】
メモリシステムであって、
複数の行及び複数の列に配置された複数のメモリセルのアレイと、
行アドレス成分を受け取り、複数のワード線のうちの1つをアサートするための行デコーダであって、各ワード線は、前記アレイの1つの行に結合される、行デコーダと、
階層的ROMエンコーダシステムであって、
前記複数のワード線を受け取り、第1の出力を生成するための第1のROMエンコーダ、
前記複数のワード線を受け取り、論理ブロック出力を生成するための論理ブロック、
前記論理ブロック出力を受け取り、第2の出力を生成するための第2のROMエンコーダ、
前記第1の出力と前記行アドレス成分の第1の部分とを比較するための第1の比較器、
前記第2の出力と前記行アドレス成分の第2の部分とを比較するための第2の比較器、及び
前記第1の比較器からの出力及び前記第2の比較器からの出力に基づいて行アドレス障害検出信号を生成するためのゲート、を備える、階層的ROMエンコーダシステムと、
を備える、メモリシステム。
【請求項2】
前記論理ブロックは複数のORゲートを備える、請求項1に記載のメモリシステム。
【請求項3】
前記複数のメモリセルは複数の揮発性メモリセルを備える、請求項1に記載のメモリシステム。
【請求項4】
前記複数のメモリセルは複数の不揮発性メモリセルを備える、請求項1に記載のメモリシステム。
【請求項5】
メモリシステムであって、
複数の行及び複数の列に配置された複数のメモリセルのアレイと、
列アドレス成分を受け取り、前記列アドレス成分に応答して列選択を生成するための列デコーダと、
階層的ROMエンコーダシステムであって、
前記列選択を受け取り、第1の出力を生成するための第1のROMエンコーダ、
前記列選択を受け取り、論理ブロック出力を生成するための論理ブロック、
前記論理ブロック出力を受け取り、第2の出力を生成するための第2のROMエンコーダ、
前記第1の出力と前記列アドレス成分の第1の部分とを比較するための第1の比較器、
前記第2の出力と前記列アドレス成分の第2の部分とを比較するための第2の比較器、及び
前記第1の比較器からの出力及び前記第2の比較器からの出力に基づいて列アドレス障害検出信号を生成するためのゲート、を備える、階層的ROMエンコーダシステムと、
を備える、メモリシステム。
【請求項6】
前記論理ブロックは複数のORゲートを備える、請求項5に記載のメモリシステム。
【請求項7】
前記複数のメモリセルは複数の揮発性メモリセルを備える、請求項5に記載のメモリシステム。
【請求項8】
前記複数のメモリセルは複数の不揮発性メモリセルを備える、請求項5に記載のメモリシステム。
【請求項9】
メモリシステムであって、
複数の行及び複数の列に配置された複数のメモリセルのアレイと、
行アドレス成分を受け取り、複数のワード線のうちの1つをアサートするための行デコーダであって、各ワード線は、前記アレイの1つの行に結合される、行デコーダと、
階層的ROMエンコーダシステムであって、
前記複数のワード線を受け取り、第1の出力を生成するための第1のROMエンコーダ、
前記複数のワード線を受け取り、第1の論理ブロック出力を生成するための第1の論理ブロック、
前記第1の論理ブロック出力を受け取り、第2の出力を生成するための第2のROMエンコーダ、
前記第1の論理ブロック出力を受け取り、第2の論理ブロック出力を生成するための第2の論理ブロック、
前記第2の論理ブロック出力を受け取り、第3の出力を生成するための第3のROMエンコーダ、
前記第1の出力と前記行アドレス成分の第1の部分とを比較するための第1の比較器、
前記第2の出力と前記行アドレス成分の第2の部分とを比較するための第2の比較器、
前記第3の出力と前記行アドレス成分の第3の部分とを比較するための第3の比較器、
前記第1の比較器からの出力、前記第2の比較器からの出力、及び前記第3の比較器からの出力に基づいて行アドレス障害検出信号を生成するためのゲート、を備える、階層的ROMエンコーダシステムと、
を備える、メモリシステム。
【請求項10】
前記第1の論理ブロックはORゲートを備える、請求項9に記載のメモリシステム。
【請求項11】
前記第2の論理ブロックはORゲートを備える、請求項10に記載のメモリシステム。
【請求項12】
前記第1の論理ブロックはNORゲートを備える、請求項9に記載のメモリシステム。
【請求項13】
前記第2の論理ブロックはNANDゲートを備える、請求項12に記載のメモリシステム。
【請求項14】
前記複数のメモリセルは複数の揮発性メモリセルを備える、請求項9に記載のメモリシステム。
【請求項15】
前記複数のメモリセルは複数の不揮発性メモリセルを備える、請求項9に記載のメモリシステム。
【請求項16】
メモリシステムであって、
複数の行及び複数の列に配置された複数のメモリセルのアレイと、
列アドレス成分を受け取り、複数のビット線のうちの1つをアサートするための列デコーダであって、各ビット線は、前記アレイ内の1つの列に結合される、列デコーダと、
階層的ROMエンコーダシステムであって、
前記列アドレス成分を受け取り、第1の出力を生成するための第1のROMエンコーダ、
前記列アドレス成分を受け取り、第1の論理ブロック出力を生成するための第1の論理ブロック、
前記第1の論理ブロック出力を受け取り、第2の出力を生成するための第2のROMエンコーダ、
前記第1の論理ブロック出力を受け取り、第2の論理ブロック出力を生成するための第2の論理ブロック、
前記第2の論理ブロック出力を受け取り、第3の出力を生成するための第3のROMエンコーダ、
前記第1の出力と前記列アドレス成分の第1の部分とを比較するための第1の比較器、
前記第2の出力と前記列アドレス成分の第2の部分とを比較するための第2の比較器、
前記第3の出力と前記列アドレス成分の第3の部分とを比較するための第3の比較器、及び
前記第1の比較器からの出力、前記第2の比較器からの出力、及び前記第3の比較器からの出力に基づいて列アドレス障害検出信号を生成するためのゲート、を備える、階層的ROMエンコーダシステムと、
を備える、メモリシステム。
【請求項17】
前記第1の論理ブロックはORゲートを備える、請求項16に記載のメモリシステム。
【請求項18】
前記第2の論理ブロックはORゲートを備える、請求項17に記載のメモリシステム。
【請求項19】
前記第1の論理ブロックはNORゲートを備える、請求項16に記載のメモリシステム。
【請求項20】
前記第2の論理ブロックはNANDゲートを備える、請求項19に記載のメモリシステム。
【請求項21】
前記複数のメモリセルは複数の揮発性メモリセルを備える、請求項16に記載のメモリシステム。
【請求項22】
前記複数のメモリセルは複数の不揮発性メモリセルを備える、請求項16に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2021年11月30日に出願された「Hierarchical ROM Encoder System for Performing Address Fault Detection in a Memory System」という名称の中国特許出願第202111444122.6号、及び2022年2月11日に出願された「Hierarchical ROM Encoder System for Performing Address Fault Detection in a Memory System」という名称の米国特許出願第17/669,793号の優先権を主張する。
【0002】
(技術分野)
階層的ROMエンコードシステムを使用してメモリシステムにおけるアドレス障害検出を実行するための様々な実施形態が開示される。
【背景技術】
【0003】
メモリシステムは、現代の電子デバイスにおいて普及している。データが記憶又は検索されるとき、メモリシステムは正確かつ信頼性のある方法で動作することが重要である。
【0004】
図1は、例示的な先行技術のメモリシステム100を描示する。アレイ101は、行及び列に配置された複数のメモリセルを備える。各行は複数のワード線106のうちの1つに結合され、各列は複数のビット線107のうちの1つに結合される。アレイ101は、ワード線を選択することによって行を選択する行デコーダ102と、ビット線を選択することによって列を選択する列デコーダ103と、によってアクセスされる。メモリセルは、揮発性メモリセル(DRAMセル又はSRAMセルなど)又は不揮発性メモリセル(フラッシュメモリセルなど)であり得る。
【0005】
この例では、行デコーダ102及び列デコーダ103は各々、読み出し又は書き込み(プログラム)動作のために選択されるアレイ101におけるアドレスであるアドレスAを受け取る。アドレスAは、行アドレス成分104及び列アドレス成分105を含む。例えば、アドレスAが8ビット[b0:b7]を含む場合、行アドレス成分104は、最初の4ビット[b0:b3]を含み得、列アドレス成分105は、最後の4ビット[b4:b7]を含み得る、又はその逆である。代替として、行アドレス成分104及び列アドレス成分105は、デコードアルゴリズムを使用してアドレスAから導出され得る。
【0006】
行デコーダ102は、行アドレス成分104を受け取り、そしてデコードし、その結果、複数のワード線106のうちの1つが行デコーダ102によってアサートされる。行アドレス成分104がmビットである場合、2m本のワード線106が存在する。
【0007】
列デコーダ103は、列アドレス成分105を受け取ってデコードする。読み出し動作中、列デコーダ103はまた、アレイ101の全てのビット線107から信号を受け取る。列デコーダ103は、列アドレス成分105を使用してビット線107をデコードして特定の列を選択し、その列から検知された値が出力として提供される。書き込み(プログラム)動作の間、列デコーダ103は、入力を受け取り、列アドレス成分に応答して、デコード操作によって、選択されたビット線に入力を適用する。列アドレス成分105がnビットである場合、2n本のビット線107が存在する。いくつかの例では、列デコードは、多重化によって達成される。
【0008】
このようにして、行アドレス成分104及び列アドレス成分105は、読み出し又は書き込み(プログラム)動作のために特定のメモリセルを選択する。
【0009】
材料の不完全性又はランダムな環境外乱により、読み出し又は書き込み(プログラム)動作中にアドレス障害が発生する可能性がある。具体的には、発生する可能性のあるアドレス障害のタイプは、以下のものを含む:
・実際に選択される行及び/又は列は、アドレスAとは異なるアドレスに対応する;
・行及び/又は列は、1つが選択されることが意図されたときに実際には選択されない;又は
・1つのみが選択されることが意図された場合、2つ以上の行及び/又は2つ以上の列が実際に選択される。
【0010】
例えば、アドレスAがワード線0001に対応する場合、アドレス障害により、ワード線0011が代わりに選択される可能性がある(第2のビットのビットフリップのため)。同様に、アドレスAがビット線1100に対応する場合、アドレス障害によって、ビット線1100及び1110などの2本のビット線が代わりに選択される可能性がある。当業者は、アドレス障害が検出又は訂正されない場合、誤った読み出し又は書き込み/プログラム動作が発生することを理解されよう。
【0011】
図2は、アドレス障害問題に対する先行技術の解決策を描示する。メモリシステム200は、
図1のメモリシステム100と同じ構成要素、並びにROM行エンコーダ201、ROM列エンコーダ202、及び比較器203を備える。ROM行エンコーダ201は、アレイ101の各行について1行のROMセルを含み、ROM列エンコーダ202は、アレイ101の各列について1行のROMセルを含む。ROM行エンコーダ201及びROM列エンコーダ202の目的は、アドレス障害を識別するために使用され得る追加データを提供することである。
【0012】
ROM行エンコーダ201は、
図1のワード線106の全て、すなわち、デコードされた行アドレス成分104を受け取り、各ワード線はROM行エンコーダ201内の1つの行に対応し、特定の行がアレイ101内で選択されると、対応する1つの行がROM行エンコーダ201内で選択され、データ205が比較器203に出力される。
【0013】
ROM列エンコーダ202は、選択された1つの列を識別することができる列デコーダ103からデコードされた列信号を受け取り、特定の1つの列がアレイ101内で選択されると、対応する1つの行がROM列エンコーダ202内で選択され、データ206が比較器203に出力される。
【0014】
この設計では、ROM行エンコーダ201は、選択された行に関連付けられた行アドレス成分を含む1つの値を出力するようにプログラムされており、ROM列エンコーダ202は、選択された列に関連付けられた列アドレス成分を含む1つの値を出力するようにプログラムされている。例えば、アドレス障害が発生していない状況では、行アドレス成分104が「0010」である場合、ROM行エンコーダ201は、ビット「0010」を出力205に含む対応する出力を有し、列アドレス成分105が「1111」である場合、ROM列エンコーダ202は、ビット「1111」を出力206に含む対応する出力を有する。
【0015】
先行技術の設計の1つの欠点は、ROM行エンコーダ201及びROM列エンコーダ202がかなりのダイ空間を必要とすることである。
図3は、ROMエンコーダ行201又はROM列エンコーダ202に使用することができる先行技術のROMエンコーダ300を描示する。簡単にするために、この例では、ROMエンコーダ300は、アレイ101内にワード線[WL0:WL3]に対応する4行を含み、これは、アドレスビット[A1:A0]に対応する。当業者は、ROMエンコーダ300は、はるかに多数の行及び列を含むことができることを
理解するであろう。
【0016】
設計により、2本のビット線のみのアドレスビット[A1:A0]をエンコードする代わりに、ROMエンコーダ300はまた、それらのアドレスビットに対する相補ビットを含む。この例では、ビット[B1:B0]は、アドレスビット[A1:A0]に対応するビットを含み、したがって、比較器203によって、アドレスビット[A1:A0]と直接比較することができる。ビットB3はビットB1の補数であり、ビットB2はビットB0の補数である。アドレスビット自体に加えて相補ビットを記憶することにより、システムは、発生するいかなるアドレス障害も確実に識別することができる。
図3に示される特定の構成では、各アドレスビット[A1、A0]の組み合わせに対する対応するアサートされたワード線及び出力は、以下のようになる。
表1:ROMエンコーダ300の入力-出力
【表1】
【0017】
再び
図2を参照して、表1の例を適用すると、比較器203は、出力205からのビットB1及びB0を行アドレス成分104、具体的にはビットA1及びA0と比較する。比較器203はまた、出力205からのビットB3及びB2をビットB1及びB0の反転と比較する。同様の比較が、ROM列エンコーダ202の出力206及び列アドレス成分105を用いて行われる。4つの比較の全てが一致する場合、アドレス障害は存在せず、フラグ204は、アドレス障害がないことを示す値(例えば、「0」)を有する。4つの比較のうちの1つ以上が一致しない場合、アドレス障害があり、フラグ204は、アドレス障害を示す値(例えば、「1」)を有する。
【0018】
表2は、アドレスビット[0、0]の入力に基づくROMエンコーダ300の出力を使用したアドレス障害の検出の例を含む。
表2:ROMエンコーダ300を使用した行アドレス障害検出
【表2】
【0019】
図から分かるように、この設計では、2つのアドレスビット[A1、A0]のデータをエンコードするために8つのスイッチが必要である。より一般的には、ROMエンコーダ300において必要とされるスイッチの数は、(可能なワード線の数)×(アドレスのビット数)に等しく、この例では4×2=8である。ここで、各スイッチは、NMOS又はPMOSトランジスタで実装される。これらのスイッチは、かなりの量のダイ空間を利用する。
【0020】
必要とされるのは、先行技術の設計よりも少ない構成要素及び少ないダイ空間を利用しながら、アドレス障害を検出することができる、改善されたアドレス障害検出システムである。
【発明の概要】
【0021】
階層的ROMエンコードシステムを使用してメモリシステムにおけるアドレス障害検出を実行するための様々な実施形態が開示される。一実施形態では、階層的ROMエンコードシステムは、アドレス障害を検出するために使用される2つのレベルのROMエンコーダを備える。別の実施形態では、階層的ROMエンコードシステムは、アドレス障害を検出するために使用される3つのレベルのROMエンコーダを備える。
【0022】
【0023】
【0024】
【0025】
【0026】
【0027】
【0028】
【図面の簡単な説明】
【0029】
【
図2】アドレス障害検出システムを有する先行技術のメモリシステムを描示する。
【
図4A】階層的ROMエンコーダシステムの一実施形態を描示する。
【
図4B】
図4Aの階層的ROMエンコーダシステムを利用する改善されたアドレス障害検出システムを有するメモリシステムの一実施形態を描示する。
【
図4C】
図4Aの階層的ROMエンコーダシステムを利用する改善されたアドレス障害検出システムを有するメモリシステムの一実施形態を描示する。
【
図5A】改善されたアドレス障害検出システムを有するメモリシステムの別の実施形態を描示する。
【
図5B】改善されたアドレス障害検出システムを有するメモリシステムの別の実施形態を描示する。
【
図6A】改善されたアドレス障害検出システムを有するメモリシステムの別の実施形態を描示する。
【
図6B】改善されたアドレス障害検出システムを有するメモリシステムの別の実施形態を描示する。
【
図7A】改善されたアドレス障害検出システムを有するメモリシステムの別の実施形態を示す。
【
図7B】改善されたアドレス障害検出システムを有するメモリシステムの別の実施形態を描示する。
【発明を実施するための形態】
【0030】
図4Aは、階層的ROMエンコーダシステム411を描示する。ROMエンコーダシステム411は、2レベル階層のROMエンコーダ、具体的には、ROMエンコーダ401及びROMエンコーダ402を備える。ROMエンコーダシステム411は、1組のORゲートを含む論理ブロック403を更に含む。この例では、ROMエンコーダシステム411は、4ビットの行アドレス又は列アドレス[A3:A0]に対応する16本のワード線を含む。当業者であれば、ROMエンコーダシステム411は、行アドレス又は列アドレスのより多数のビットに対応するより多数のワード線、又は行アドレス又は列アドレスのより少数のビットに対応するより少数のワード線を用いて構成することができることを理解するであろう。
【0031】
ROMエンコーダ401内の各行は、
図1のアレイ101のワード線106のうちの1つに対応し、ここではワード線[WL0:WL15]として示されている。論理ブロック403もワード線106を受け取る。論理ブロック403は、ORゲート403-1及びORゲート403-2などの個々のORゲートを備える。この例では、各ORゲートは、4本のワード線を受け取り、これらの4本のワード線に対して「OR」関数を実行する。4入力ORゲートの代わりに、論理ブロック403は代わりに他の数の入力のORゲートを利用することができる。各ORゲートの出力(論理ブロック出力)は、ROMエンコーダ402内のそれぞれの行に結合される。したがって、ROMエンコーダ401への入力は16本のワード線[WL0:WL15]であるのに対し、ROMエンコーダ402への入力は、OR演算(WL0又はWL1又はWL2又はWL3)、(WL4、WL5、WL6又はWL7)、(WL8、WL9、WL10又はWL11)、及び(WL12、WL13、WL14、及びWL15)の結果を含む4本の線である。
【0032】
この例では、ROMエンコーダ401は、16本のワード線(WL0~WL15)全てを受け取り、
図3に示される同じビットパターンを使用して、アドレスの最下位2ビット[A1:A0]に対応する4行ごとに同じビットパターンを記憶する。例えば、WL0~WL3に記憶されたビットパターンは、WL4~WL7に記憶されたビットパターンと同一である。これは、各4行グループがアドレスの最下位2ビットに関連付けられた値を記憶するためである。
【0033】
ROMエンコーダ402は、最上位2ビット[A3:A2]のエンコードを記憶する。これらの2ビットは本質的に、4ワード線グループのうちのどれが選択されたかを示す。論理ブロック403のそれぞれのORゲート403-1、403-2の出力は、最上位2ビット(この例ではA[3:2])のデコードであるが、これに限定されない。すなわち、ROMエンコーダ402によって受け取られる4つの信号は、A[3:2]の4つの可能な組み合わせを表す。例えば、A3=0かつA2=0である場合、ワード線WL0、WL1、WL2、及びWL3のうちの1つが選択され、ORゲート403-1の出力は「1」となり、これはORゲート403-1の出力に取り付けられたROMエンコーダ402内の行をアサートし、以下同様である。
【0034】
階層的ROMエンコーダシステム411はまた、ROMエンコーダ401及びROMエンコーダ402の出力をアドレスAと比較するために使用される論理(図示されないが、後続の図に示される)を備え、ROMエンコーダ401の出力は、アドレスの最下位2ビット及びそれらの補数を含み、ROMエンコーダ402の出力は、アドレスの最上位2ビット及びそれらの補数を反映する。論理はまた、記憶された補数を記憶されたアドレス部分の反転と比較する。
【0035】
図4B及び
図4Cは、より大きいメモリシステムにおける階層的ROMエンコーダシステム411の使用を描示する。
【0036】
図4Bでは、メモリシステム400は、アレイ101と、行デコーダ102と、階層的ROMエンコーダシステム411と、を備え、階層的ROMエンコーダシステム411は、ここでは、比較器404と、比較器405と、ORゲート406と、フラグ407(行アドレス障害検出信号である)と、を更に備えるものとして示されている。
【0037】
動作中、ROMエンコーダ401は、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ402は、論理ブロック403から受け取った信号に応答して、そのアサートされた1つ又は複数の行に応答して第2の出力を出力する。比較器404は、第1の出力を行アドレス成分104の第1の部分と比較し、比較器405は、第2の出力を行アドレス成分104の第2の部分と比較する。一例では、比較器404はまた、第1の出力の補数部分を第1の出力のアドレス部分の反転と比較し、比較器405はまた、第2の出力の補数部分を第2の出力のアドレス部分の反転と比較する。比較器404及び405の結果を、ORゲート406によるOR関数に通してフラグ407を生成する。フラグ407の第1の値(例えば、「1」)は、行アドレス障害を示し、第2の値(例えば、「0」)は、行アドレス障害がないことを示す。
【0038】
図4Cは、
図4Bで説明したのと同じ機構を示すが、行デコーダ102の代わりに列デコーダ103を描示する。メモリシステム400は、アレイ101を備え、更に、列デコーダ103及び階層的ROMエンコーダシステム411’を備え、階層的ROMエンコーダシステム411’は、ここでは、比較器404’、比較器405’、ORゲート406’、及びフラグ407’(列アドレス障害検出信号である)を更に備えるものとして示されている。
【0039】
動作中、ROMエンコーダ401’は、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ402’は、論理ブロック403’から受け取った信号に応答して、そのアサートされた1つ又は複数の行に応答して第2の出力を出力する。比較器404’は、第1の出力を列アドレス成分105の第1の部分と比較し、比較器405’は、第2の出力を列アドレス成分104’の第2の部分と比較する。一例では、比較器404’はまた、第1の出力の補数部分を第1の出力のアドレス部分の反転と比較し、比較器405’はまた、第2の出力の補数部分を第2の出力のアドレス部分の反転と比較する。比較器404’及び405’の結果を、ORゲート406’によるOR関数に通してフラグ407’を生成する。フラグ407’の第1の値(例えば、「1」)は、列アドレス障害を示し、第2の値(例えば、「0」)は、列アドレス障害がないことを示す。
【0040】
図4B又は
図4Cの例では、4個のORゲートを作成するために、ROMエンコーダ401及び401’は各々32個のスイッチを必要とし、ROMエンコーダ402及び402’は各々8個のスイッチを必要とし、論理ブロック403及び403’は各々28個のスイッチを必要とし、
図4B及び
図4Cの各々で合計68個のスイッチを必要とする。単一のROMエンコーダを使用する同じ実施態様は、行アドレス障害を検出するために64個のスイッチを必要とし、列アドレス障害を検出するために64個のスイッチを必要とするので、16行の例では、ダイ空間の節約はまだない。しかしながら、32行の場合、階層的ROMエンコーダシステム411及び411’は各々、2つのROMエンコーダ300の各々について、160個のスイッチと比較して144個のスイッチを必要とし、これはダイ空間の節約となる。節約は、以下の表3に示されるように、その後行の数が増加するにつれて増加する。
【0041】
ROMエンコーダ401及び402の出力がどのようにアドレス障害を検出するかの例が、表
3に例解されている。
表
3:階層的ROMエンコーダシステム411の入力-出力
【表3】
【0042】
【0043】
図5Aでは、メモリシステム500は、アレイ101、階層的ROMエンコーダシステム511、及び行デコーダ102を備える。階層的ROMエンコーダシステム511は、3レベル階層のROMエンコーダ、具体的には、ROMエンコーダ501、ROMエンコーダ503、及びROMエンコーダ505を備える。階層的ROMエンコーダシステム511は更に、論理ブロック502(ORゲートを含む)、論理ブロック504(ORゲートを含む)、比較器506、比較器507、比較器508、ORゲート509、及びフラグ510を備える。
【0044】
図5Bでは、メモリシステム500は、アレイ101を備え、更に、階層的ROMエンコーダシステム511’及び列デコーダ103を備える。階層的ROMエンコーダシステム511’は、3レベル階層のROMエンコーダ、具体的には、ROMエンコーダ501’、ROMエンコーダ503’、及びROMエンコーダ505’を備える。階層的ROMエンコーダシステム511’は更に、論理ブロック502’(ORゲートを含む)、論理ブロック504’(ORゲートを含む)、比較器506’、比較器507’、比較器508’、ORゲート509’、及びフラグ510’を備える。
【0045】
階層的ROMエンコーダシステム511及び511’は、第3のレベルが追加されていることを除いて、それぞれ階層的ROMエンコーダシステム411及び411’と同様に動作する。論理ブロック504及び504’は、それぞれROMエンコーダ503及び503’からマルチビット出力を受け取り、4ビットのセットに対してOR演算を実行して論理ブロック出力を生成し、論理ブロック出力はそれぞれROMエンコーダ505及び505’への入力として働き、ROMエンコーダはその入力に応答して第3の出力を生成する。したがって、ROMエンコーダ503及び503’は、それぞれROMエンコーダ501及び501’の4分の1の数の入力及び行を含み、ROMエンコーダ505及び505’は、それぞれROMエンコーダ503及び503’の4分の1の数の入力及び行を含む。
【0046】
動作中、ROMエンコーダ501及び501’はそれぞれ、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ502及び502’はそれぞれ、そのアサートされた1つ又は複数の行に応答して第2の出力を出力し、ROMエンコーダ503及び503’は、そのアサートされた1つ又は複数の行に応答して第3の出力を出力する。比較器506及び506’は、第1の出力をそれぞれ行アドレス成分104及び列アドレス成分105の第1の部分と比較し、比較器507及び507’は、第2の出力をそれぞれ行アドレス成分104及び列アドレス成分105の第2の部分と比較し、比較器508及び508’は、第3の出力をそれぞれ行アドレス成分104及び列アドレス成分105の第3の部分と比較する。比較器506、507、及び508の結果を、ORゲート509によるOR関数に通して、行アドレス障害検出信号であるフラグ510を生成し、比較器506’、507’、及び508’の結果を、ORゲート509’によるOR関数に通して、列アドレス障害検出信号であるフラグ510’を生成する。フラグ510’の第1の値(例えば、「1」)はアドレス障害を示し、第2の値(例えば、「0」)はアドレス障害がないことを示す。
【0047】
図6A及び
図6Bは、メモリシステム600を描示する。
図6Aでは、メモリシステム600は、アレイ101、階層的ROMエンコーダシステム611、及び行デコーダ102を備える。
図6Bでは、メモリシステム600は、アレイ101を備え、更に、階層的ROMエンコーダシステム611’及び列デコーダ103を備える。階層的ROMエンコーダシステム611は、2レベル階層のROMエンコーダ、具体的には、ROMエンコーダ601及びROMエンコーダ602を備え、階層エンコーダシステム611’は、2レベル階層のROMエンコーダ、具体的には、ROMエンコーダ601’及びROMエンコーダ602’を備える。階層的ROMエンコーダシステム611は、比較器603、比較器604、ORゲート605、及びフラグ606を更に備え、階層的ROMエンコーダシステム611’は、比較器603’、比較器604’、ORゲート605’、及びフラグ606’を更に備える。特に、階層的ROMエンコーダシステム511及び511’とは異なり、2つのROMエンコーダの間に別個の論理ブロックは必要とされない。これは、ROMエンコーダ601が代わりに行デコーダ102からその入力を受け取り、ROMエンコーダ601’が列デコーダ103からその入力を受け取るためであり、列デコーダ103は、メモリシステム400内の論理ブロック403又はメモリシステム500内の論理ブロック502及び/若しくは504のORゲートを置換するために別個のエンコード機能を実行する。
【0048】
図6Aを参照すると、動作中、ROMエンコーダ601は、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ602は、そのアサートされた1つ又は複数の行に応答して第2の出力を出力する。比較器603は、第1の出力を行アドレス成分104(又は列アドレス成分105)の第1の部分と比較し、比較器604は、第2の出力を行アドレス成分104(又は列アドレス成分105)の第2の部分と比較する。比較器603及び604の結果を、ORゲート605によるOR関数に通してフラグ606を生成する。フラグ606の第1の値(例えば、「1」)は、行アドレス障害を示し、第2の値(例えば、「0」)は、行アドレス障害がないことを示す。
【0049】
同様に、
図6Bを参照すると、ROMエンコーダ601’は、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ602’は、そのアサートされた1つ又は複数の行に応答して第2の出力を出力する。比較器603’は、第1の出力を列アドレス成分105の第1の部分と比較し、比較器604’は、第2の出力を列アドレス成分105の第2の部分と比較する。比較器603’及び604’の結果を、ORゲート605’によるOR関数に通してフラグ606’を生成する。フラグ606’の第1の値(例えば、「1」)は、列アドレス障害を示し、第2の値(例えば、「0」)は、列アドレス障害がないことを示す。
【0050】
各設計に必要なスイッチ/トランジスタの総量を、表
4にまとめる。
【表4】
【0051】
【0052】
図7Aでは、メモリシステム700は、アレイ101、行デコーダ102、及び階層的ROMエンコーダシステム711を備える。
図7Bでは、メモリシステム700は、アレイ101を備え、更に、列デコーダ103及び階層的ROMエンコーダシステム711’を備える。
【0053】
階層的ROMエンコーダシステム711は、ROMエンコーダ701、論理ブロック702(NORゲートを含む)、ROMエンコーダ703、論理ブロック704(NANDゲートを含む)、ROMエンコーダ705、比較器706、比較器707、比較器708、ORゲート709、及びフラグ710(行アドレス障害検出信号)を備える。同様に、階層的ROMエンコーダシステム711’は、ROMエンコーダ701’、論理ブロック702’(NORゲートを含む)、ROMエンコーダ703’、論理ブロック704’(NANDゲートを含む)、ROMエンコーダ705’、比較器706’、比較器707’、比較器708’、ORゲート709’、及びフラグ710’(列アドレス障害検出信号)を備える。
【0054】
階層的ROMエンコーダシステム711及び711’は、論理ブロック702及び論理ブロック702’がNORゲートを備え、論理ブロック704及び704’がNANDゲートを備えることを除いて、それぞれ
図5A及び
図5Bの階層的ROMエンコーダシステム511及び511’と同様であり、NORゲート及びNANDゲートはORゲートよりも少ないスイッチを必要とするので、ORゲートを備える論理ブロック502及び502’並びにORゲートを備える論理ブロック504及び504’を使用することと比較して、必要とされるスイッチの数を低減することができる。
図7A及び
図7Bでは、論理ブロックの変化により、ROMエンコーダ701及び705並びに701’及び705’内のスイッチはNMOSトランジスタで形成され、ROMエンコーダ703及び703’内のスイッチはPMOSトランジスタで形成されて、各エンコーダ内の正しい行を選択する際に正しい論理が実行されるようにする。
【0055】
図7Aを参照すると、動作中、ROMエンコーダ701は、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ702は、そのアサートされた1つ又は複数の行に応答して第2の出力を出力し、ROMエンコーダ703は、そのアサートされた1つ又は複数の行に応答して第3の出力を出力する。比較器706は、第1の出力を行アドレス成分104の第1の部分と比較し、比較器707は、第2の出力を行アドレス成分104の第2の部分と比較し、比較器708は、第3の出力を行アドレス成分104の第3の部分と比較する。比較器706、707、及び708の結果を、ORゲート709によるOR関数に通して、行アドレス障害検出信号であるフラグ710を生成する。フラグ710の第1の値(例えば、「1」)は、行アドレス障害を示し、第2の値(例えば、「0」)は、行アドレス障害がないことを示す。
【0056】
同様に、
図7Bを参照すると、動作中、ROMエンコーダ701’は、そのアサートされた1つ又は複数の行に応答して第1の出力を出力し、ROMエンコーダ702’は、そのアサートされた1つ又は複数の行に応答して第2の出力を出力し、ROMエンコーダ703’は、そのアサートされた1つ又は複数の行に応答して第3の出力を出力する。比較器706’は、第1の出力を列アドレス成分105の第1の部分と比較し、比較器707’は、第2の出力を列アドレス成分105の第2の部分と比較し、比較器708’は、第3の出力を行アドレス成分104(又は列アドレス成分105)の第3の部分と比較する。比較器706’、707’、708’の結果を、ORゲート709’によるOR関数に通して、列アドレス障害検出信号であるフラグ710’を生成する。フラグ710’の第1の値(例えば、「1」)は、列アドレス障害を示し、第2の値(例えば、「0」)は、列アドレス障害がないことを示す。
【0057】
当業者であれば、階層的ROMエンコーダシステムは、本明細書で説明される概念を使用して、3つより多いレベル(例えば、n個のレベル)で構築され得ることを理解するであろう。