(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-15
(45)【発行日】2022-12-23
(54)【発明の名称】フラッシュメモリデバイスのためのハッキング防止メカニズム
(51)【国際特許分類】
G11C 16/22 20060101AFI20221216BHJP
G06F 21/74 20130101ALI20221216BHJP
G06F 21/79 20130101ALI20221216BHJP
【FI】
G11C16/22
G06F21/74
G06F21/79
(21)【出願番号】P 2020520547
(86)(22)【出願日】2018-09-22
(86)【国際出願番号】 US2018052325
(87)【国際公開番号】W WO2019074652
(87)【国際公開日】2019-04-18
【審査請求日】2021-07-08
(32)【優先日】2017-10-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500147506
【氏名又は名称】シリコン ストーリッジ テクノロージー インコーポレイテッド
【氏名又は名称原語表記】SILICON STORAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】トラン、ヒュー バン
(72)【発明者】
【氏名】ティワリ、ビピン
(72)【発明者】
【氏名】ドー、ナン
【審査官】後藤 彰
(56)【参考文献】
【文献】米国特許出願公開第2017/0147509(US,A1)
【文献】特開2003-298569(JP,A)
【文献】特開2015-026408(JP,A)
【文献】特表2006-509287(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/22
G06F 21/74
G06F 21/79
(57)【特許請求の範囲】
【請求項1】
第1の複数のフラッシュメモリセル及び第2の複数のフラッシュメモリセルを含むアレイと、
アドレスを受信するためのデコード回路であって、前記アドレスが前記第1の複数のフラッシュメモリセルに対応する場合に、前記デコード回路は、読み出し又はプログラム動作のために、前記アドレスに対応する行及び列をアクティブ化し、前記アドレスが前記第2の複数のフラッシュメモリセルに対応する場合に、前記デコード回路は、前記アドレスにスクランブル機能を実施して、スクランブルされたアドレスを生成し、読み出し又はプログラム動作のために、前記スクランブルされたアドレスに対応する行及び列をアクティブ化する、デコード回路と、を備え
、
前記スクランブル機能は、(i)前記アレイ内の複数のセル内の漏洩電流、及び、(ii)前記アレイ内の複数のセルの固定されたプログラム又は消去電圧から生じる電流、のうちの1つから生成されたランダム番号を利用する、フラッシュメモリシステム。
【請求項2】
前記第1の複数のフラッシュメモリセル及び前記第2の複数のフラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項1に記載のフラッシュメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2017年10月13日に出願された米国特許出願第15/784,025号の利益を主張する。
セキュリティを強化し、フラッシュメモリデバイスのハッキングを防止するための多数のメカニズムが開示されている。
【背景技術】
【0002】
不揮発性メモリセルは、当該技術分野において周知である。5つの端子を含む、先行技術の不揮発性スプリットゲート型メモリセル10の1つを
図1に示す。メモリセル10は、P型などの第1の導電型の半導体基板12を備える。基板12は、その上にN型などの第2の導電型の第1の領域14(ソース線SLとしても知られる)が形成されている表面を有する。N型の第2の領域16(ドレイン線としても知られる)もまた、基板12の表面上に形成される。第1の領域14と第2の領域16との間は、チャネル領域18である。ビット線BL20は、第2の領域16に接続されている。ワード線WL22は、チャネル領域18の第1の部分の上方に位置付けられ、そこから絶縁される。ワード線22は、第2の領域16とほとんど又は全く重ならない。浮遊ゲートFG24は、チャネル領域18の別の部分の上方にある。浮遊ゲート24は、そこから絶縁され、ワード線22に隣接する。浮遊ゲート24はまた、第1の領域14にも隣接する。浮遊ゲート24は、第1の領域14に重なり、第1の領域14から浮遊ゲート24への結合を提供することができる。結合ゲートCG(制御ゲートとしても知られる)26は、浮遊ゲート24の上方にあり、そこから絶縁される。消去ゲートEG28は、第1の領域14の上方にあり、浮遊ゲート24及び結合ゲート26に隣接し、そこから絶縁される。浮遊ゲート24の上隅部は、消去効率を高めるために、T字形状の消去ゲート28の入隅部の方を向いていてもよい。消去ゲート28はまた、第1の領域14からも絶縁される。メモリセル10は、米国特許第7,868,375号においてより具体的に説明されており、この開示内容は、参照によりその全体が本明細書に組み込まれる。
【0003】
先行技術の不揮発性メモリセル10の消去及びプログラムのための1つの例示的な動作は、次のとおりである。メモリセル10は、消去ゲート28に高電圧を印加し、他の端子が0ボルトに等しくなることによって、ファウラーノルトハイムトンネルリングメカニズムによって消去される。電子が浮遊ゲート24から消去ゲート28にトンネリングすることにより、浮遊ゲート24が陽電荷を帯び、読み出し状態のセル10がオンになる。その結果生じるセルの消去状態は、「1」状態として知られる。
【0004】
メモリセル10は、結合ゲート26に高電圧を印加し、ソース線14に高電圧を印加し、消去ゲート28に中電圧を印加し、ビット線20にプログラミング電流を印加することにより、ソース側ホットエレクトロンプログラミングメカニズムによってプログラムされる。ワード線22と浮遊ゲート24との間の隙間を横切って流れる電子の一部分は、浮遊ゲート24の中へ注入するための十分なエネルギーを得ることにより、浮遊ゲート24が陰電荷を帯び、読み出し状態のセル10をオフにする。その結果生じるセルのプログラムされた状態は、「0」状態として知られる。
【0005】
メモリセル10は、電流感知モードにおいて以下のように読み出される。バイアス電圧をビット線20に印加し、バイアス電圧をワード線22に印加し、バイアス電圧を結合ゲート26に印加し、バイアス又はゼロ電圧を消去ゲート28に印加し、ソース線14を接地する。消去状態では、ビット線20からソース線14に流れるセル電流が存在し、プログラムされた状態では、ビット線20からソース線14へのわずかな又はゼロのセル電流のフローが存在する。代替的に、メモリセル10を逆電流感知モードで読み出すことができ、このモードでは、ビット線20を接地して、バイアス電圧をソース線24に印加する。このモードでは、電流は、ソース線14からビット線20へと逆方向に進む。
【0006】
メモリセル10は、代替的に、以下のようにして電圧感知モードで読み出すことができる。バイアス電流(接地への)をビット線20に印加し、バイアス電圧をワード線22に印加し、バイアス電圧を結合ゲート26に印加し、バイアス電圧を消去ゲート28に印加し、バイアス電圧をソース線14に印加する。消去状態では、ビット線20にセル出力電圧(0Vを大幅に超える)が存在し、プログラム状態では、ビット線20にわずかな又はゼロに近い出力電圧が存在する。代替的に、メモリセル10を逆電圧感知モードで読み出すことができ、このモードでは、ビット線20をバイアス電圧にバイアスして、バイアス電流(接地への)をソース線14に印加する。このモードでは、メモリセル10の出力電圧は、ビット線20の代わりにソース線14にある。
【0007】
先行技術では、正又はゼロ電圧の種々の組み合わせをワード線22、結合ゲート26、及び浮遊ゲート24に印加して、読み出し、プログラム、及び消去動作を行っていた。
【0008】
読み出し、消去、又はプログラムコマンドに応答して、論理回路451(
図4)は、選択メモリセル10及び非選択メモリセル10の両方の様々な部分に、適時に、かつ妨害が最も少ない手法で、様々な電圧を供給させる。
【0009】
選択及び非選択メモリセル10に対し、印加される電圧及び電流は以下のとおりである。以下に使用されるように、次の略語、つまり、ソース線又は第1の領域14(source line、SL)、ビット線20(bit line、BL)、ワード線22(word line、WL)、結合ゲート26(coupling gate、CG)が使用される。
表1:読み出し、消去及びプログラム用の正電圧を使用したフラッシュメモリセル10の動作
【表1】
【0010】
本出願人による最近の出願である米国特許出願第14/602,262号(2015年1月21日に出願)(参照により組み込まれる)において、本出願人は、読み出し、プログラム、及び/又は消去動作の間に、負電圧をワード線22及び/又は結合ゲート26に印加することができた発明を開示した。この実施形態では、電圧及び電流は選択及び非選択のメモリセル10に、以下のように印加された。
表2:読み出し及び/又はプログラム用の負電圧を使用したフラッシュメモリセル
10の動作
【表2】
【0011】
米国特許出願第14/602,262号の別の実施形態では、読み出し、消去、及びプログラム動作の間にメモリセル10が非選択であるときに負電圧をワード線22に印加することができ、消去動作の間に負電圧を結合ゲート26に印加することができ、以下の電圧が印加されるようになっている。
表3:消去用の負電圧を使用したフラッシュメモリセル10の動作
【表3】
【0012】
前述で列記したCGINH信号は、抑止信号であり、選択セルと消去ゲート28を共有する非選択セルの結合ゲート26に印加される。
【0013】
図2は、別の先行技術のフラッシュメモリセル210の一実施形態を示す。先行技術のフラッシュメモリセル10と同様に、フラッシュメモリセル210は、基板12、第1の領域(ソース線)14、第2の領域16、チャネル領域18、ビット線20、ワード線22、浮遊ゲート24及び消去ゲート28を備える。先行技術のフラッシュメモリセル10とは異なり、フラッシュメモリセル210は、結合ゲート又は制御ゲートを含まず、4つの端子、すなわち、ビット線20、ワード線22、消去ゲート28及びソース線14のみを含む。これは、フラッシュメモリセルのアレイを動作させるために必要とされる、デコーダ回路などの回路の複雑性を大幅に低減する。
【0014】
消去動作(消去ゲートを通しての消去)及び読み出し動作は、制御ゲートバイアスがないことを除いて、
図1のものと同様である。プログラミング動作もまた、制御ゲートバイアスなしで行われるため、ソース線のプログラム電圧は、制御ゲートバイアスの不足を補償するためにより高い。
【0015】
表4は、読み出し、消去及びプログラム動作を実行するために4つの端子に印加され得る典型的な電圧範囲を示す。
表4:フラッシュメモリセル210の動作
【表4】
【0016】
図3は、別の先行技術のフラッシュメモリセル310の一実施形態を示す。先行技術のフラッシュメモリセル10と同様に、フラッシュメモリセル310は、基板12、第1の領域(ソース線)14、第2の領域16、チャネル領域18、ビット線20、及び浮遊ゲート24を備える。先行技術のフラッシュメモリセル10とは異なり、フラッシュメモリセル310は、結合ゲート又は制御ゲート又は消去ゲートを含まない。加えて、ワード線322は、ワード線22に置き換わり、図示されるように、ワード線22とは異なる物理的形状を有する。
【0017】
先行技術の不揮発性メモリセル310の消去及びプログラムのための1つの例示的な動作は、次のとおりである。セル310は、ワード線322に高電圧を印加し、ビット線及びソース線に0ボルトを印加することにより、ファウラーノルドハイムトンネリングメカニズムを通じて消去される。電子が浮遊ゲート24からワード線322にトンネリングすることにより、浮遊ゲート24が陽電荷を帯び、読み出し状態のセル310がオンになる。その結果生じるセルの消去状態は、「1」状態として知られる。セル310は、ソース線14に高電圧を印加し、ワード線322に小電圧を印加し、ビット線320にプログラミング電流を印加することにより、ソース側ホットエレクトロンプログラミングメカニズムを通じてプログラミングされる。ワード線322と浮遊ゲート24との間の隙間を横切って流れる電子の一部分は、浮遊ゲート24の中へ注入するための十分なエネルギーを得ることにより、浮遊ゲート24が陰電荷を帯び、読み出し状態のセル310をオフにする。その結果生じるセルのプログラムされた状態は、「0」状態として知られる。
【0018】
メモリセル310内での読み出し、プログラム、消去及びスタンバイ操作に使用可能な例示的な電圧を下の表5に示す。
表5:フラッシュメモリセル310の動作
【表5】
【0019】
セキュリティ及び改ざん防止対策は、サイバー攻撃者及びハッカーがより巧妙になるにつれてますます重要になっている。例えば、携帯電話が盗まれるときに、泥棒又は電話を売る者がその電話からデータを取得しようと試みることは一般的である。これは、電話に対するパスワードをハッキングするか、又は電話内の下層のハードウェアをハッキングすることにより行うことができる。
【0020】
先行技術は、システムレベルで(例えば、電話用に)実装され得る、多数のソフトウェアベースのセキュリティ対策を含む。しかしながら、これらの対策は、電話を分解し、フラッシュメモリデバイスなどの不揮発性記憶装置から直接データを取り出すことを防止するものではない。今日まで、フラッシュメモリデバイス用に利用可能なセキュリティ対策は、極めて限定されていた。
【0021】
必要とされるものは、フラッシュメモリデバイスに特化して改善されたセキュリティ対策である。
【発明の概要】
【0022】
セキュリティを強化し、フラッシュメモリデバイスのハッキングを防止するための複数の実施形態が開示される。実施形態は、フラッシュメモリチップをハッキングして、チップ内に記憶されるデータを取得することを防止する。実施形態は、障害検出回路、アドレススクランブル、ダミーアレイ、パスワード保護、改善された製造技術、及び他のメカニズムの使用を含む。
【0023】
【0024】
【0025】
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【図面の簡単な説明】
【0042】
【
図1】本発明を適用可能な先行技術の不揮発性メモリセルの断面図である。
【
図2】本発明を適用可能な別の先行技術の不揮発性メモリセルの断面図である。
【
図3】本発明を適用可能な別の先行技術の不揮発性メモリセルの断面図である。
【
図4】
図1~
図3に示すタイプの不揮発性メモリセルを備え、ダイ内に記憶されたデータのセキュリティを高めるための、本明細書に記載の実施形態を含むダイのレイアウト図である。
【
図5】保護された領域を有するフラッシュメモリアレイを示す。
【
図6】フラッシュメモリデバイスのパスワードで保護されたアクセス方法を示す。
【
図9】フラッシュメモリシステム内の補償アレイを示す。
【
図10】読み出し動作にノイズを加えるための別個の構成要素を有するメモリアレイを示す。
【
図11】フラッシュメモリシステム内の差動メモリアレイを示す。
【
図12】フラッシュメモリシステム内の検知増幅器回路を示す。
【
図13】フラッシュメモリシステム内の別の検知増幅器回路を示す。
【
図14】補償メモリアレイ及びダミーアレイを示す。
【
図15A】フラッシュメモリシステムを含むダイの製造技術を示す。
【
図15B】フラッシュメモリシステムを含むダイの製造技術を示す。
【
図15C】フラッシュメモリシステムを含むダイの製造技術を示す。
【
図16】フラッシュメモリシステムのダイレイアウト技術を示す。
【
図17A】フラッシュメモリシステムのためのアドレス障害検出システムを示す。
【
図17B】フラッシュメモリシステムのためのアドレス障害検出システムを示す。
【
図17C】フラッシュメモリシステムのためのアドレス障害検出システムを示す。
【
図18】フラッシュメモリシステムの論理障害検出回路を示す。
【
図19】フラッシュメモリシステムのためのチップ障害検出回路を示す。
【
図20】フラッシュメモリシステムのための別のチップ障害検出回路を示す。
【発明を実施するための形態】
【0043】
図4は、本明細書に記載のセキュリティ強化を含むフラッシュメモリシステムの一実施形態を示す。ダイ400は、データを記憶するためのメモリアレイ401、402、403及び404であって、各メモリアレイは、
図1のようなメモリセル4、
図2のようなメモリセル24、
図3のようなメモリセル34又は他の既知のタイプのメモリセルを任意選択的に利用する、メモリアレイと、メモリアレイ401、402、403及び404内の行にそれぞれアクセスして読み出し又は書き込みを行うために使用される、行デコーダ回路405、406、407及び408と、メモリアレイ401、402、403及び404内の列にそれぞれアクセスして読み出し又は書き込みを行うために使用される、列デコーダ回路409、410、411及び412と、メモリアレイ401及び403からデータを読み出すために使用される検知回路413と、メモリアレイ402及び404からデータを読み出すために使用される検知回路414と、アナログ、チップ障害検出(chip fault detection、CFD)、及び物理的複製困難関数(physically unclonable function、PUF)回路450と、冗長性及び組み込み自己試験などの様々な制御機能を提供するための論理及び論理障害検出(logic fault detection、LFD)回路451と、正及び負電圧源をシステムに提供するために使用される高電圧回路452と、メモリアレイ401、402、403、及び404の消去及びプログラム動作のための増加した電圧を提供するチャージポンプ回路453と、チップ上の他のマクロに接続するためのインターフェースピンを提供するためのインターフェース回路(interface circuit、ITFC)454と、必要に応じて読み出し、消去、及びプログラム動作中に使用される高電圧デコーダ回路418、419、420、及び421と、を備える。ダイ400は、アドレス障害検出ブロック422、423、424及び425と、アレイ障害検出検知回路426、427、428及び429を更に備える。
【0044】
第1の実施形態を
図5に示す。ここで、特定のセクタ及び情報セクタは、それらをそれぞれ保護されたセクタ及び保護された情報セクタにするためのセキュリティ対策を対象とする。アレイ500は、データを記憶するためのメモリアレイ401、402、403、及び404のうちの1つの一例であり、アレイ500は、
図1のメモリセル4、
図2のメモリセル24、
図3のメモリセル34、又は他の既知のタイプのメモリセルなどメモリセルの行及び列を備える。アレイ500は、複数のセクタに分割される。セクタは、典型的には、アレイ内の2行のメモリセルからなる。保護されていないセクタ501及び502は、追加のセキュリティ対策を有さない通常のセクタである。保護されているセクタ503及び504は、以下に記載したスクランブルアルゴリズムを使用して書き込まれ、そこから読み出される。
【0045】
一実施形態では、セクタ507は決して消去又はプログラムされず、ランダム番号発生器源として機能し、このことは、2017年3月20日に出願され、「System And Method For Generating Random Numbers Based On Non-volatile Memory Cell Array Entropy」(「ランダム番号出願」)と題する米国仮出願第62/479,193号に記載されているとおりであり、これは、参照により本明細書に組み込まれており、本出願と同じ譲受人によって出願された。ランダム番号出願に示されているように、差動検知を使用してメモリセルを対で読み出すことにより(情報の各々のビットに対して4個のメモリセルを必要とする)、閾値下動作では(選択ゲートがオフであることを意味し、その結果、任意の検出された読み出し電流は漏洩電流のみである)、漏洩電流は、セルのランダム性を測る正しい尺度を提供することが発見されている。情報のそれぞれのビット値は、4つのメモリセルの漏洩電流から導出され、2つのビット線に組み合わされ、2つの組み合わせた電流は互いに減算されて、単一のビット値を反映する正又は負の結果をもたらす。ランダムな番号(メモリセル製造のセル間のランダム性を反映する)を提供する、全ての専用セルのこれらの単一ビット値の組み合わせは、メモリセルアレイに一意であり、メモリセルアレイから確実かつ繰り返し読み出すことができる。代替的に、ランダム番号は、カップリング比変動、寸法特性(例えば、幅、長さ、厚さ)、及び電気不整合(そのような閾値電圧変動)などのフラッシュメモリセルの固有特性に基づいて、PUF(物理的複製困難関数)によって生成することができる。例えば、アレイ内の全てのセルに対する固定された電圧でのプログラミング又は消去は、異なるセルのためのいくつかのランダムなセル電流レベルをもたらす。差動ラッチ検知を2つの異なるセルと共に使用して、基本的に1つのセルを他のセルと比較するランダム出力を確立することができる。2つのセルは、エントロピーを最大化するために戦略的に配置される。2つのセル間の不一致は、ランダムな一意の番号をもたらす。プロセス、温度、及び電圧の変動に対するランダム番号生成の再現性を向上させるために、複数のセルを使用して、1つの超セルを表すことができる。例えば、16個のセルは、差動増幅器への1つの入力を表すことができ、したがって、1つのランダムビットを生成するために合計32個のセルが必要とされる。
【0046】
ここで、制御論理451は、ランダム番号アプリケーションの発明又は他の技術を使用して、セクタ507内のセルからランダム番号を判定し、そのランダム番号を、保護されたセクタ503及び504からのプログラミング及び読み出しに利用する。例えば、ランダム番号Rは、オフセットとしてアドレスに適用することができる。保護されたセクタ503及び504への書き込み動作がアドレスAを対象としている場合に、書き込み動作は、実際には、R*kに等しい行内のオフセットを有するアドレスAに対応する行内の位置に実際に発生し得(kは整数値を生成するための定数である)、ここでオフセットは、その行内で、ただしアドレスAに対応するセルの右側のR*k位置であるセルにおいて、単に書き込みを発生させる(ここで、最初の列内のその行内のセルに、最後の列内のその行内のセルの後でラップアラウンドする)。このようにして、ランダム番号Rは、固定セクタ503及び504への書き込み動作の位置に影響を与える。セクタ503及び504からの読み出し動作について、同じランダム番号Rが、読み出し要求の対象であるアドレスAへのオフセットを実施するために使用される。したがって、アドレスAからデータを読み出すことを望むハッカーは、そのハッカーがランダム番号Rを知ることはないため、アドレスAからデータを読み出すことができない。
【0047】
別の実施形態では、データは、保護されたセクタ503及び504から読み出すことができ、任意選択的に、ランダムなデータを別のセクタから並行して読み出すことができ、その結果、検知増幅器がハッキングされる場合に、どのデータが保護されたセクタ503及び504内に記憶され、どのデータが他の場所から読み出された「ダミー」ランダムデータであったかが不明になる。
【0048】
メタデータ又はシステム情報は、典型的には、アレイ500内にも記憶される。ここで、保護されていない情報セクタ505は、追加のセキュリティ対策を有さない通常の情報セクタである。保護された情報セクタ506は、保護されたセクタ503及び504と同じメカニズムを対象とし、唯一の違いは、保護された情報セクタ506が、メタデータ又はシステム情報を含み、ユーザデータを含まないことである。
【0049】
図6は、パスワードで保護され、それにより、外部デバイスは、保護された情報セクタ506内に以前に記憶されたパスワードを提供する場合にのみ、読み出し又は書き込みのためにダイ400へのアクセスを許可される、アクセス方法600を示す。最初に、ダイ400は、受信されたパスワード602を含むパスワード認証要求601を受信する(工程610)。次に、認証コントローラ603は、受信されたパスワード602を記憶されたパスワード604と比較する(工程620)。ここで、認証コントローラ603は論理回路451の一部であり得、記憶されたパスワード604は、ダイ400の製造中、ダイ400の初期構成中に、保護された情報セクタ506内、若しくはダイ400の他の場所に以前に保存されており、又はダイ400の最初の使用中のユーザであり得る。受信されたパスワード602が、記憶されたパスワード604と同じである場合に、ダイ400は、外部デバイスによって要求されたアクセスを許可する(工程630)。受信されたパスワード602が記憶されたパスワード604と同じではない場合に、ダイ400は、外部デバイスによって要求されたアクセスを許可しない(工程640)。任意選択的に、例えば、OTPビットを設定することによって、記憶されたパスワード604が最初に記憶された後に、保護された情報セクタ506へのアクセスを無効にすることができる。任意選択的に、記憶されたパスワード604は、ランダム番号出願又は上述のものなどの不揮発性メモリの変動に基づいて、PUF(物理的複製困難関数)によって生成された一意の鍵を使用して、認証コントローラ603によって暗号化及び復号することができる。
【0050】
図7は、フラッシュメモリシステム700(ダイ400上に実装され得る)を示す。フラッシュメモリシステム700は、アレイ701及び702(
図4のアレイ401及び403に対応する)、行デコーダ703及び704(行デコーダ405及び406に対応する)、列デコーダ705及び706(列デコーダ406及び408に対応する)、並びに検知回路710(検知回路410に対応する)を備える。フラッシュメモリシステム700は、基準アレイ709、及び検知回路電流基準708を更に備える。
【0051】
アレイ701内のフラッシュメモリセルの各列は、アレイ701内の全ての列につき1つのビット線が存在するように、ビット線に結合される。同様に、アレイ702内のフラッシュメモリセルの各列は、アレイ702内の全ての列につき1つのビット線が存在するように、ビット線に結合される。列デコーダ705及び706は、選択されたアドレスについての読み出し動作中に、選択されたビット線を検知回路710に接続する。検知回路710は、複数の検知増幅器回路707a、707b、...、707nを備えており、nは、同時に読み出すことができるビット線の数であり、フラッシュメモリシステム700のIO幅と呼ばれる(典型的には、nは32又は64である)。これらの検知増幅器回路は、検知増幅器回路707と総称される。
【0052】
この実施形態では、基準アレイ709は、アレイ701及び702のフラッシュメモリセルと構造が同一であるが、ユーザデータを記憶するために実際に使用されないダミーフラッシュメモリセルのアレイである。基準アレイ709は、アレイ701及び702の両方を検知するための読み出し基準バイアスを生成するように機能する。代替的な実施形態では、基準アレイ709は、フラッシュメモリセルを有さない標準的な基準トランジスタを備える。これらの標準的な基準トランジスタは、検知回路710のための異なるトリップ点(すなわち、「0」~「1」を区別する電流又は電圧レベル)を提供するように、異なってサイズ決めされ、及び/又は、バイアスがかけられる。別の代替的な実施形態では、基準アレイ709は、フラッシュメモリセルを有さない標準的な基準抵抗器を備える。これらの標準的な基準抵抗器は、検知回路710のための異なるトリップ点を提供するように異なってサイズ決めされる。
【0053】
検知回路電流基準708は、ダミーフラッシュメモリセルのうちの1つ以上に結合され、電流を生成する。この電流は、電流ミラーリング技術を使用して、検知増幅器回路707の各々でミラーリングされる。ミラーリングされた基準電流は、選択メモリセル内に記憶されたデータの値を示す出力を生成するための、アレイ701又は702から選択メモリセルに対して比較された基準電流である。
【0054】
図8は、別のフラッシュメモリシステム800(ダイ800上に実装され得る)を示す。フラッシュメモリシステム800は、フラッシュメモリシステム700のように、アレイ701及び702と、行デコーダ703及び704と、列デコーダ705及び706と、を備える。フラッシュメモリシステム800は、基準アレイ801及び802と、検知回路803と、を更に備える。
【0055】
アレイ701内のフラッシュメモリセルの各列は、アレイ701内の全ての列につき1つのビット線が存在するように、ビット線に結合される。同様に、アレイ702内のフラッシュメモリセルの各列は、アレイ702内の全ての列につき1つのビット線が存在するように、ビット線に結合される。列デコーダ705及び706は、選択されたアドレスについての読み出し動作中に、選択されたビット線を検知回路803に接続する。検知回路803は、複数の検知増幅器回路804a、804b、...、804nを備えており、nは、同時に読み出すことができるビット線の数であり、フラッシュメモリシステム800のIO幅と呼ばれる(典型的には、nは32又は64である)。これらの検知増幅器回路は、検知増幅器回路804と総称される。
【0056】
この実施形態では、基準アレイ801及び802は両方とも、アレイ701及び702のフラッシュメモリセルと構造が同一であるが、ユーザデータを記憶するために実際に使用されないダミーフラッシュメモリセルのアレイである。選択メモリセルがアレイ701内にあるときに、各検知増幅器回路804は、基準アレイ802内のメモリセルに接続され、このメモリセルは、基準メモリセルとして機能する。選択メモリセルがアレイ702内にあるときに、各検知増幅器回路804は、基準メモリセルとして作用する基準アレイ801内のメモリセルに接続される。したがって、フラッシュメモリシステム800は、フラッシュメモリシステム700とは異なり、検知回路電流基準708又は電流ミラーの使用を必要としない。別の代替的な実施形態では、基準アレイ801及び802は、フラッシュメモリセルを有さない標準的な基準トランジスタを備える。これらの標準的な基準トランジスタは、検知回路803の異なるトリップ点を提供するように、異なってサイズ決めされ、及び/又はバイアスがかけられる。別の代替的な実施形態では、基準アレイ801及び802は、フラッシュメモリセルを有さない標準的な基準抵抗器を備える。これらの標準的な基準抵抗器は、検知回路803の異なるトリップ点を提供するように異なってサイズ決めされる。
【0057】
図9は、例えば、ハッカーが、アレイ内に記憶されるデータを判定する試みにおいて、ダイ400又はダイ400内の特定の構成要素の単純電力解析SPA又は電力差分解析DPA)を使用するサイドチャネル攻撃を利用することによってなど、電力消費のシグネチャを監視している状況に対するセキュリティを提供するためのシステム電力バランスのシステム及び方法を示す。具体的には、先行技術のフラッシュメモリシステムでは、ハッカーは、各読み出しサイクルの電力消費に基づいて、検知回路によって読み出されるデータを識別することができる。例えば、フラッシュメモリセルからの「0」の読み出しと比較して、フラッシュメモリセルから「1」を読み出すために、異なる量の電力が消費される。したがって、検知回路の電力消費を監視することによって、読み出し中のセルの値を推測することができ、したがって、アレイから読み出されるデータを推測することができる。
【0058】
図9のシステムでは、データDがアレイ401又は403内のアドレスAに書き込まれるときに、そのデータの補数であるデータDバーが、アレイ402又は404内のアドレスAに書き込まれる。その後、アレイ401又は403のデータ内のアドレスAからデータが読み出されるときに、データはまた、アレイ402又は404内のアドレスAからも同時に読み出される。同じアドレスの2つのアレイ内に記憶されたデータは必ず相互の補数であるため、各読み出し動作に対して、「1」と「0」との両方が読み取られ、検知回路413及び414の組み合わされた電力消費は、全ての読み出し動作に関して同じである。したがって、ハッカーは、検知回路413及び414によって消費された電力を単に監視することによって、アレイのいずれかから読み出されるデータを判定することができない。上記の電力平衡化手法は、使用されるフラッシュメモリマクロの複数のインスタンスが存在するシステムレベルで適用することができる。この場合に、データDは、1つのインスタンスに記憶され、データDバーは別のインスタンスに記憶され、データD及びデータDバーは、両方とも同時に、読み出し動作でアクティブ化される。
【0059】
図10は、メモリアレイ及びノイズ構成要素1000を示す。ここで、データは、先行技術のようにアレイ401又は403に書き込まれる。しかしながら、読み出し動作中、検知回路413はアレイ401又は403からデータを読み出し、検知回路414はアレイ402又は404内のアドレスから、同時にランダムなデータを読み出す。したがって、検知回路413及び414の組み合わされた電力消費は、アレイ401又は403から読み出されるデータに起因する構成要素、アレイ402又は404内のランダムデータから読み出される「0」又は「1」に起因する構成要素を含む。その結果、特に、「1」及び「0」又は「0」及び「1」が検知回路413及び414によって読み出される状況では、アレイ401又は403から読み出されるデータの全てを、アレイ402又は404から読み出されるランダムデータに起因する検知回路413及び414の電力消費に基づいて識別することができなくなる。フラッシュメモリマクロの複数のインスタンスを含む一実施形態では、ランダムデータを記憶するために1つのフラッシュメモリマクロのみが必要とされる。ランダムデータを有するマクロは、任意の他のフラッシュメモリマクロからデータを読み出すときに、並行してアクティブ化される。
【0060】
図11は、差動メモリアレイ1100を示す。ここで、アレイは、
図4のアレイ401及び403である。アレイはまた、アレイ402及び404、並びにそれらの関連する回路、又は任意の他の対のアレイであってもよいことを理解されたい。
図11のシステムでは、データDがアレイ401のアドレスAに書き込まれるときに、そのデータの補数であるデータDバーが、アレイ403内のアドレスAに書き込まれる。その後、アレイ401又は403のデータ内のアドレスAからデータが読み出されるときに、データはまた、アレイ403内のアドレスAからも同時に読み出される。同じアドレスの2つのアレイ内に記憶されたデータは必ず相互の補数であるため、各読み出し動作に対して、「1」と「0」との両方が読み出され、検知回路413の電力消費は、全ての読み出し動作に関して同じである。したがって、ハッカーは、検知回路413によって消費された電力を単に監視することによって、アレイのいずれかから読み出されたデータを判定することができない。
【0061】
図12は、検知回路413の例示的な回路を示す。検知増幅器回路1200は、メモリデータ読み出しブロック1201、メモリ基準読み出しブロック1202、差動増幅器ブロック1203を備える。
【0062】
メモリデータ読み出しブロック1201は、検知負荷PMOSトランジスタ1204、検知ノード1222にバイアス電圧VBLRD_BIASを印加するスイッチ1205、及び選択メモリセル1207に結合された有効化検知NMOSトランジスタ1206を備える。検知負荷PMOSトランジスタ1204は、メモリセル1207からのセル電流と比較される読み出し基準電流を提供する。検知ノード1222は、検知負荷PMOSトランジスタ1204からの読み出し基準電流がメモリセル電流よりも大きい場合に高くなり(VDDIO 1219に向かって)、メモリセル電流が読み出し基準電流よりも大きい場合に低くなる(接地に向かって)。検知負荷PMOSトランジスタ1204からの基準電流は、任意選択的に、基準メモリセルから電流を流す電流ミラー構成を使用して提供することができる。代替的に、検知負荷PMOSトランジスタ1204からの基準電流は、適切にサイズ決めされるか又はバイアスがかけられた基準抵抗器又は基準トランジスタからの電流をミラーリングする、電流ミラー構成を使用して提供することができる。
【0063】
メモリ基準読み出しブロック1202は、検知負荷PMOSトランジスタ1208、基準ノード1220にバイアス電圧VBLRD_BIASを印加するスイッチ1209、及び補償メモリセル1211に結合された有効化検知NMOSトランジスタ1201を備える。補償メモリセル1211は、検知ノード1220上に基準電圧VBLRD_BIASを保持する保持コンデンサとして機能する。代替的に、MOMCAP(metal oxide metal cap、金属酸化物金属キャップ)などの明示的なコンデンサを、保持コンデンサとして使用することができる。代替的に、ノード1220の接合容量又はゲート容量からなどの寄生容量を保持コンデンサとして使用することができる。基準ブロック1202は、基準ノード1220のダミーブロックとして機能する。基準検知負荷PMOSトランジスタ1208は、オフ状態にあってもよく、又は非選択ビット線の接合部及び/又はトランジスタ漏洩からノード1220の漏洩などの補償漏洩電流を提供するために使用されてもよい。VBLRD_BIASのバイアス電圧レベルは、検知ノード1222の検知電圧と比較される基準ノード1220の基準電圧として機能する。
【0064】
差動増幅器ブロック1203は、共に比較器を形成する入力クロス結合PMOSトランジスタ1213及び1215、並びに入力クロス結合NMOSトランジスタ1214及び1216と、PMOSイネーブリングトランジスタ1212(クロス結合PMOSトランジスタ1213及び1215の過渡バイアステール電流としても作用する)と、NMOS有効化トランジスタ1217(クロス結合NMOSトランジスタ1214及び1216の過渡バイアステール電流としても作用する)と、を備える。比較すると、NMOSトランジスタ1217は、最初にNMOSトランジスタ1214及び1216からの比較をトリガして、ノード1220と1222との間に電圧デルタを発生させ、次いで、PMOSトランジスタ1212は、全電源をノード1220と1222との両方に復元するPMOSトランジスタ1213及び1220からの比較を開始するように有効にされる。代替的に、NMOSトランジスタ1217とPMOSトランジスタ1212との両方を同時に有効にされ、比較をトリガすることができる。
【0065】
動作中、差動増幅器ブロック1203は、メモリデータ読み出しブロック1201によって作成される検知ノード1222を、メモリ基準読み出しブロック1202によって作成される基準ノード1220と比較して、出力1220を生成する。最初に、ノード1222及び1220の電圧は、(スイッチ1205及び1209によって)同じ基準電圧レベルVBLRD_BIASで初期化される。次いで、検知ノード1222の電圧が発生する(選択メモリセル電流1207に応じて高又は低になることは、PMOSトランジスタ1204を導通する読み出し基準電流よりも小さいか又は大きい)。次いで、比較は、検知ノード1222の電圧を基準ノード1220の電圧と(トランジスタ1217及び1212によって)比較するようにトリガされる。検知ノード1222及び基準ノード1220の最終電圧は、比較が完了した後、完全な供給レベルにある。
【0066】
トランジスタ1204を導通する読み出し基準電流が、メモリセル1207から引き出されたメモリセル電流を超える(選択メモリセル内に「0」が記憶されていることを示す)場合は、出力1220が低くなる。トランジスタ1204内の読み出し基準電流が、メモリ1207から引き出されたメモリセル電流よりも小さい(選択メモリセル内に「1」が記憶されていることを示す)場合は、出力1220が高くなる。
【0067】
メモリデータ読み出しブロック1201及びメモリ基準読み出しブロック1202は、典型的には、約3.0ボルトである電力バス1219(VDDIO、すなわち、IO電源ともラベル付けされている)から電力を引き出す。差動増幅器ブロック1203は、電力バス1218(VDDSA、典型的には、コア論理電源ともラベル付けされている)から電力を引き出し、これは典型的には、28nm以下などのスケーリングされた技術ノードに対して約1.05ボルト以下である。高性能要件のために高いメモリセル電流を得るためには、読み出しビット線電圧は、可能な限り高くする必要があり、これは、ノード1222の電圧を1v~1.4vになどに、高くする必要があることを意味する。これは、トランジスタ1204が、典型的には≦1.05vのコア論理供給部よりもはるかに高い電圧供給部から動作する必要があることを意味する。したがって、回路ブロック1201及び1202は、コア論理供給部よりもはるかに高いIO供給部で動作する必要がある。これは、回路ブロック1201及び1202が、比較的大きい面積を必要とする3v IOトランジスタを含むことを意味する。
【0068】
検知回路1200の別の動作方法では、検知回路1200は、以下のように、2つの補償セルを有する差動検知回路として動作する。メモリデータ読み出しブロック1201の検知負荷PMOSトランジスタ1204は、オフ状態にあってもよく、又は選択ビット線の接合部及び/又はトランジスタ漏洩からノード1222の漏洩などの補償漏洩電流を提供するために使用されてもよい。スイッチ1205は、検知ノード1222をバイアス電圧VBLRD_BIASにプリチャージするために使用される。その間、スイッチ1209は、基準ノード1220をバイアス電圧VBLRD_BIASにプリチャージするために使用される。補償メモリセル1211は、選択セル1207のデータを補償するデータを有する別のメモリセルに結合される。プリチャージ期間後、例えば、選択セル1207データが「1」であり、補償セル1211データが「0」であるときに、検知ノード1222及び基準ノード1220は両方とも接地に向かって放電し、検知ノード1222がより高速である。ランプダウン中の特定の時間において、比較器回路1203は、検知ノード1222を基準ノード1220と比較するように有効にされる。選択セル1207のデータが「1」であり、補償セル1211のデータが「0」である上記の場合に、検知ノード1222は接地に進み、基準ノード1220はVDDSAに向かって進む。この場合に、回路1200全体はVDDSA供給部(コア論理供給部)からのみ動作する必要がある。この方法は、差動メモリアレイ1100に適用するための好ましい方法である。
【0069】
【0070】
図13は、検知回路413のための電力平衡回路を示す。検知増幅器回路1300は、メモリデータ読み出しブロック1301、メモリ基準読み出しブロック1302、及び差動増幅器ブロック1303を備える。検知回路1300は、任意のデータパターンに応じて平衡電力を提供する平衡(一定)電力差動ラッチ検知回路である。
【0071】
メモリデータ読み出しブロック1301は、検知負荷PMOSトランジスタ1304、検知ノード1322にバイアス電圧VBLRD_BIASを印加するスイッチ1305、及び選択メモリセル1307に結合された有効化検知NMOSトランジスタ1306を備える。検知負荷PMOSトランジスタ1304は、メモリセル1307からのセル電流と比較される読み出し基準電流を提供する。検知ノード1322は、検知負荷PMOSトランジスタ1304からの読み出し基準電流がメモリセル電流よりも大きい場合に高くなり(VDDIO 1319に向かって)、メモリセル電流が読み出し基準電流よりも大きい場合に低くなる(接地に向かって)。検知負荷PMOSトランジスタ1304からの基準電流は、任意選択的に、基準メモリセルから電流を流す電流ミラー構成を使用して提供することができる。代替的に、検知負荷PMOSトランジスタ1304からの基準電流は、適切にサイズ決めされるか又はバイアスがかけられた基準抵抗器又は基準トランジスタからの電流をミラーリングする、電流ミラー構成を使用して提供することができる。
【0072】
メモリ基準読み出しブロック1302は、検知負荷PMOSトランジスタ1308、基準ノード1320にバイアス電圧VBLRD_BIASを印加するスイッチ1309、及び補償メモリセル1311に結合された有効化検知NMOSトランジスタ1301を備える。補償メモリセル1311は、検知ノード1320上に基準電圧VBLRD_BIASを保持する保持コンデンサとして機能する。代替的に、MOMCAP(金属酸化物金属キャップ)などの明示的なコンデンサを、保持コンデンサとして使用することができる。代替的に、ノード1320の接合容量又はゲート容量からなどの寄生容量を保持コンデンサとして使用することができる。基準ブロック1302は、基準ノード1320のダミーブロックとして機能する。基準検知負荷PMOSトランジスタ1308は、オフ状態にあってもよく、又は非選択ビットラインの接合部及び/又はトランジスタ漏洩からノード1320の漏洩のためなどの、基準電流及び補償漏洩電流を含むバイアス電流を提供するために使用されてもよい。VBLRD_BIASのバイアス電圧レベルは、検知ノード1322の検知電圧と比較される基準ノード1320の基準電圧として機能する。
【0073】
差動増幅器ブロック1303は、共に比較器を形成する入力クロス結合PMOSトランジスタ1313及び1315、並びに入力クロス結合NMOSトランジスタ1314及び1316と、PMOS有効化トランジスタ1312(クロス結合PMOSトランジスタ1313及び1315の過渡バイアステール電流としても作用する)と、NMOS有効化トランジスタ1317(クロス結合NMOSトランジスタ1314及び1316の過渡バイアステール電流としても作用する)と、を備える。比較すると、NMOSトランジスタ1317は、最初にNMOSトランジスタ1314及び1316からの比較をトリガして、ノード1320と1322との間に電圧デルタを発生させ、次いで、PMOSトランジスタ1313は、全電源をノード1320と1322との両方に復元するPMOSトランジスタ1313及び1320からの比較を開始するように有効にされる。代替的に、NMOSトランジスタ1317とPMOSトランジスタ1312との両方を同時に有効にされ、比較をトリガすることができる。
【0074】
差動増幅器ブロック1303は、PMOSトランジスタ1318、並びにNMOSトランジスタ1319及び1320を更に備え、これらは共に、任意のデータパターンに応じて検知回路1300の平衡電力を提供することができる平衡電力回路を形成する。トランジスタ1319は、選択セル1307が消去状態(メモリセルが大電流を導通している)にあるときに、検知ノード1322の電圧レベルが基準ノード1320の電圧レベルよりも低いようにサイズ決めされる。
【0075】
動作中、差動増幅器ブロック1303は、メモリデータ読み出しブロック1301によって作成される検知ノード1322を、メモリ基準読み出しブロック1302によって作成される基準ノード1320と比較して、出力1320を生成する。最初に、ノード1322及び1320の電圧は、(スイッチ1305及び1309によって)同じ基準電圧レベルVBLRD_BIASで初期化される。次いで、検知ノード1322の電圧は、(PMOSトランジスタ1304内を導通する読み出し基準電流に対して選択メモリセル電流1307に応じて)基準ノード1320よりも大きく又は低く発生する。次いで、比較は、検知ノード1322の電圧を基準ノード1320の電圧と(トランジスタ1317及び1313によって)比較するようにトリガされる。検知ノード1322及び基準ノード1320の最終電圧は、比較が完了した後、完全な供給レベルにある。
【0076】
トランジスタ1304を導通する読み出し基準電流が、メモリセル1307から引き出されたメモリセル電流を超える(選択メモリセル内に「0」が記憶されていることを示す)場合は、出力1320が低くなる。トランジスタ1304内の読み出し基準電流が、メモリ1307から引き出されたメモリセル電流よりも小さい(選択メモリセル内に「1」が記憶されていることを示す)場合は、出力1320が高くなる。
【0077】
メモリデータ読み出しブロック1301及びメモリ基準読み出しブロック1302は、典型的には、約3.0ボルトである電力バス1319(VDDIO、すなわち、IO電源ともラベル付けされている)から電力を引き出す。差動増幅器ブロック1303は、電力バス1318(VDDSA、典型的には、コア論理電源ともラベル付けされている)から電力を引き出し、これは典型的には、28nm以下などのスケーリングされた技術ノードに対して約1.05ボルト以下である。高性能要件のために高いメモリセル電流を得るためには、読み出しビット線電圧は、可能な限り高くする必要があり、これは、ノード1322の電圧を1v~1.4vになど、高くする必要があることを意味する。これは、トランジスタ1304が、典型的には、≦1.05vのコア論理供給部よりもはるかに高い電圧供給部から動作する必要があることを意味する。したがって、回路ブロック1301及び1302は、コア論理供給部よりもはるかに高いIO供給部で動作する必要がある。これは、回路ブロック1301及び1302が、比較的大きい面積を必要とする3v IOトランジスタを含むことを意味する。
【0078】
図14は、プログラミング動作中にダイ400又はダイ400内の特定の構成要素の電力消費を監視する状況に対するセキュリティを提供するためのシステム及び方法を示す。具体的には、先行技術のフラッシュメモリシステムでは、各プログラミングサイクルの電力消費を監視することによって、セルがプログラムされているかどうか(すなわち、「0」がセルに書き込まれた)を識別することができ、これは、「0」がプログラムされているかどうかを示す(ここで、プログラムされていないということは、セルが「1」のままであることを意味する)。
【0079】
図14のシステムでは、データDがアレイ401内のアドレスAに書き込まれるときに、そのデータの補数であるデータDバーが同時に、ダミーアレイ1401に書き込まれる。データDが「0」である場合に、アレイ401内のアドレスAは「1」にプログラミングされ、データDバーは「1」であり、ダミーアレイ401においてプログラミングが発生しないことを意味する。データDが「1」である場合に、アレイ401内のアドレスAはプログラムされず、データDバーは「1」であり、ダミーアレイ1401内のセルにプログラムされる。したがって、任意のプログラミング動作について、電力消費は同じであり、したがって、ハッカーは、アレイ401内のアドレスAのデータがプログラミング動作に基づいて「0」又は「1」であるかどうかを判定することができない。
【0080】
図15Aは、ウェハ1501を示す。先行技術では、ウェハ1501は製造され、ダイ400の複数の異なるインスタンスを含む。
【0081】
図15Bは、ウェハ1501内のダイ400の9つの例示的なインスタンスを示す。先行技術では、各ダイ内部にウェハ試験相互接続(図示せず)が含まれることが一般的である。1501が製造された後、ウェハ試験相互接続(図示せず)を使用して、各ダイ400を試験する。その後、どのダイ400が試験手順に合格し、どのダイ400が不合格であるかが分かると、ウェハ1501は個々のダイ400にスライスされる。スクライブ線1503として知られる例示的なスライス線を
図15Bに示す。ハッカーは、先行技術のデバイスを取り、パッケージを取り除き、ウェハ試験相互接続を使用してダイ400の内容物にアクセスすることが知られている。
【0082】
図15Cは、保護された試験相互接続を用いてウェハ1501をスライスする改善された方法を示す。ウェハ試験相互接続マトリックス1502は、スクライブ領域内に延在するように示される。具体的には、水平スクライブ線は、ここで、ダイ400の底縁部に直接隣接するように作製され、したがって、ダイがパッケージングされてフィールドに送られるときに、ウェハ試験相互接続マトリックス1502の残りの部分がダイ400に付着しないように、各ダイ400をその結合されたウェハ試験相互接続マトリックス1502から除去する。したがって、ウェハ試験相互接続マトリックス1502がもはや存在しないため、ハッカーは、ウェハ試験相互接続マトリックス1502を使用してダイ400の内容物にアクセスすることができなくなる。
【0083】
図16は、ダイ400の一実施形態であるダイ1600を示す。先行技術では、ハッカーは、多くの場合に、チップからパッケージを除去し、半導体ダイを電気的にプロービングして、ダイの内容物を判定していた。ダイ1600は、そのような行動に対抗するための設計を含む。ダイ1600は、上部有効化論理障害検出(LFD)相互接続マトリックス1601、金属シールド1602、並びに他の層1603(残りのアクティブチップ層及び金属層を含む)を備える。上部有効化LFD相互接続マトリックス1601及び金属シールド1602は、ダイ1600の固定回路に不可欠な構成要素である。ハッカーがダイ1600を電気的にプロービングする場合に、LFD相互接続マトリックス及び/又は金属シールド1602が損傷し、損傷した金属が短絡及び/又は開回路を生じさせるため、損傷領域に結合された回路が破壊され、その結果、侵入障害検出が行われ、チップアクセス又はチップ動作を無効にするなど、オンチップコントローラが予防措置又はセキュリティ対策をとることが可能になる。これにより、ダイ1600の電気的プロービングを実施することによって、ダイ1600の内容物を判定することがはるかに困難となる。
【0084】
図17Aは、アドレス障害検出システムの一実施形態を示す。メモリシステム1700は、前述の実施形態のように、行デコーダ405、アレイ401、及び列デコーダ411を含む。メモリシステム1700は、アドレス障害検出アレイ1701、アドレス障害検出アレイ1702、アドレス障害検出アレイ1704、アドレス障害検出回路1703、及びアドレス障害検出回路1705を更に含む。列デコーダ411は、マルチプレクサのセットであり、多くの場合に、階層型マルチプレクサを備える。
図17Bを参照して、例示的な列デコーダ411の一部分を示す。アレイ401内の各列は、ビット線に結合される。ここで、4本のビット線が示され、BL0~BL3とラベル付けされている。マルチプレクサの第1の階層は、アクティブ化される一対の隣接するビット線を選択する。2つのそのようなマルチプレクサ、すなわち、T0及びT1が示されている。マルチプレクサの第2の階層は、一対の隣接するビット線の中からビット線を選択する。ここで、各ビット線は、V0~V3とラベル付けされている、それ自体のマルチプレクサを有する。したがって、BL0が選択されることが意図される場合、W0及びV0がアクティブ化される。
【0085】
再び
図17Aを参照すると、列デコーダ411は、行デコーダ405と同様に障害の影響を受けやすいことが理解され得る。この例では、アドレスYは列デコーダ411に入力され、アドレスXは行デコーダ405に入力される。アドレスYは、どのマルチプレクサがアクティブ化されるかを示すビットを含む(これは次に、ビット線をアサートする)。各ビット線は、アドレス障害検出アレイ1701内の行に結合される。ビット線がアサートされるときに、アドレス障害検出アレイ1701内の行がアサートされ、アドレス障害検出アレイ1702内の行がアサートされ、値が出力される。その値は、アドレスYの列部分と比較することができる。値が異なる場合に、障害が発生しており、誤ったビット線がアサートされている。アドレス障害検出アレイ1704は、不要な行アドレスがアサートされるときを検出するために使用される。行(ワード線WL0など)が悪意のある方法でアサートされるときに、アドレス障害検出アレイ1704内の行がアサートされ、値が出力される。その値は、アドレス障害検出回路1705によってアドレスXと比較することができる。値が異なる場合に、障害が発生し、誤ったワード線ラインがアサートされている。
【0086】
図17Aの実施形態で使用するための例示的な符号化スキームを
図17Cに示す。ここでは、マルチプレクサの2つの階層が使用される。第1の階層は、値T[0]~T[3]によって制御されるマルチプレクサを備え、第2の階層は、値V[0]~V[7]によって制御されるマルチプレクサを備える。追加の階層が可能であることを理解されたい。ここで、第1の階層内の各マルチプレクサは、3ビット値(例えば、V[0]=000)に関連付けられ、第2の階層内の各マルチプレクサは、2ビット値(例えば、T[0]=00)に関連付けられる。アドレス障害検出アレイ1701及び1702は、各マルチプレクサ値のための符号化された値を含む。アドレスの列構成要素における各「0」は、「01」として符号化され、アドレス内の各「1」は、「10」として符号化される。
【0087】
再び
図17Aを参照すると、
図17Cの符号化スキームを使用することができる。アドレス障害検出回路1703は、アドレス障害検出アレイ1701内に記憶された符号化された値のビット対において「11」又は「00」パターンが検出される場合に「0」を出力する。したがって、メモリシステム1700は、アドレスの列構成要素内の障害を検出することができる。このスキームは、行アドレス障害検出に等しく適用される。
【0088】
図18は、論理障害検出回路1800を示す。論理障害検出回路は、消去/プログラム/読み出し/試験(erase/program/read/test、E/P/R/T)コマンド論理1801、複製消去/プログラム/読み出し/試験コマンド論理1802、及び論理障害検出器(デジタル比較器)1803を備える。消去/プログラム/読み出し/試験コマンド論理1801は、CEb、Web、CLK、Din、及びアドレス信号などのメモリデバイスのコマンドを含む入力ピンから信号を受信し、消去/プログラム/読み出し/試験チップ有効信号を生成する。複製消去/プログラム/読み出し/試験コマンド論理1802は、消去/プログラム/読み出し/試験チップを生成し、記憶された構成データ(E/P/R/T信号シーケンシングなど)に部分的に基づいて信号を生成し、したがって、消去、プログラム、読み出し、及び試験動作中に使用されるべき「理想的な」有効信号とみなすことができる。消去/プログラム/読み出し/試験コマンド論理1801及び複製消去/プログラム/読み出し/試験コマンド論理1802からの有効信号は、論理障害検出器(デジタル比較器)1803に提供され、比較される。信号が同じである場合に、論理障害検出器回路1803の出力は障害がないことを示す。信号が異なる場合に、論理障害検出器回路1803の出力は障害があることを示す。障害は、例えば、ハッカーが、アレイ内に記憶されたデータを読み出す試みにおいて、入力ピンを使用して読み出しコマンドを強制する場合に発生し得る。ハッカーは、使用する入力信号の正確なシーケンス及びタイミングを知らない場合があり、消去/プログラム/読み出し/試験コマンド論理1801から得られる有効信号は、複製消去/プログラム/読み出し/試験コマンド論理1802からの理想的な有効信号とはわずかに異なる可能性があり、これにより、LFD障害指示がもたらされる。この方式は、アドレス指定デコード回路を監視することによって、不要なアドレス指定論理を検出するために使用することができる。
【0089】
論理障害検出回路1800の別の実施形態は、消去/プログラム/読み出し/試験コマンド論理1801と同じ入力ピンから同じ信号を受信するための、複製消去/プログラム/読み出し/試験コマンド論理1802に関する。この実施形態は、ハッカーがピンをバイパスし、単に有効信号を直接提供するシナリオに対するセキュリティを提供し、この場合に、論理障害検出器1803は、1つの入力(例えば、消去/プログラム/読み出し/試験コマンド論理1801の出力からの)で有効信号を受信するが、他の入力(例えば、複製消去/プログラム/読み出し/試験コマンド論理1802からの)から有効信号を受信せず、これは、ハッカーが、論理障害検出回路1803による障害をトリガしないように、2つの位置に有効信号を提供する必要があることを知らないためである。
【0090】
図19は、チップアナログ及び/又は混合信号障害検出回路1900を示す。マイクロプロービングなどの物理的侵入によってなど、フラッシュメモリチップによって使用される回路による任意の改ざんが検出される。チップ障害検出回路は、電源障害検出器1901、高電圧消去/プログラム/読み出し障害検出器1902、クロック(clock、CLK)障害検出器1903、温度障害検出器1904、及びフラッシュ回路障害検出器1905を備える。電源障害検出器1901は、予め指定された範囲外の電源を検出するときに、「1」を出力する。高電圧消去/プログラム/読み出し障害検出器1902は、予め指定された範囲外の高電圧信号を検出するときに、「1」を出力する。クロック障害検出器1903は、予め指定された周波数範囲外のクロック信号を検出するときに、「1」を出力する。温度障害検出器1904は、指定された範囲外の動作温度を検出するときに、「1」を出力する。フラッシュ回路障害検出器1905は、他のモジュールのいずれかが「1」を出力する場合(すなわち、モジュールのいずれかによって障害が検出されている場合)に、「1」を出力する。一実施形態では、フラッシュ回路障害検出器1905はNORゲートである。
【0091】
図20は、チップ障害検出回路2000を示す。チップ障害検出回路2000は、回路2001及び複製回路2002を備える。回路2001は出力Vr1を提供し、回路2001は出力Vr2を提供する。Vr1及びVr2はDeltaV検出器2003に提供され、Vr1とVr2との間の電圧差が特定の閾値(100~200mVなど)を上回る場合に、「1」を出力し、そうでなければ「0」を出力する。回路2001の例としては、オンチップ基準バンドギャップ回路、線形電圧レギュレータLDO(low drop out、低ドロップアウト)回路、HVレギュレータなどが挙げられる。チップ障害検出回路2000は、ハッカーがチップをプロービングし、特定の信号を回路に注入することによってその挙動を操作しようと試みている状況から保護する。
【0092】
上述の実施形態の全てにおいて、障害が検出される場合に、又は潜在的なセキュリティ侵害を示す何らかの他のイベントが発生する場合に、様々な対策を呼び出すことができる。例えば、「チップ有効」信号をデアサートすることができ、ダイ400を含むチップ全体を非動作状態にすることができる。又は読み出し動作などの特定の動作は、読み出し有効信号などの信号をデアサートすることによって防止することができる。多数の他の対測定が可能である。
【0093】
本明細書における本発明に対する言及は、いかなる特許請求項又は特許請求項の用語の範囲も限定することを意図するものではなく、代わりに特許請求項の1つ以上によって包含されることがある1つ以上の特徴に言及することを意図するにすぎない。上述の材料、プロセス、及び数値例は、単なる例示であり、特許請求の範囲を限定するものとみなされるべきではない。本明細書で使用される、用語「~の上方に(over)」及び「~上に(on)」は共に、「直接的に~上に」(中間材料、要素、又は間隙がそれらの間に配設されていない)及び「間接的に~上に」(中間材料、要素、又は間隙がそれらの間に配設されている)を包括的に含むことに留意されるべきである。同様に、用語「隣接する」は、「直接的に隣接する」(中間の材料、要素、又は間隙が間に配設されていない)及び「間接的に隣接する」(中間の材料、要素、又は間隙が間に配設されている)を含む。例えば、「基板の上方に」要素を形成することは、中間材料/要素が介在せずに直接的に基板上にその要素を形成することも、1つ以上の中間材料/要素が介在して間接的に基板上にその要素を形成することも含む可能性がある。