JP2020102827A - Nonvolatile memory device and challenge-response method - Google Patents

Nonvolatile memory device and challenge-response method Download PDF

Info

Publication number
JP2020102827A
JP2020102827A JP2018241679A JP2018241679A JP2020102827A JP 2020102827 A JP2020102827 A JP 2020102827A JP 2018241679 A JP2018241679 A JP 2018241679A JP 2018241679 A JP2018241679 A JP 2018241679A JP 2020102827 A JP2020102827 A JP 2020102827A
Authority
JP
Japan
Prior art keywords
data
response data
puf
memory device
reconfiguration
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.)
Granted
Application number
JP2018241679A
Other languages
Japanese (ja)
Other versions
JP6937288B2 (en
Inventor
裕平 吉本
Yuhei Yoshimoto
裕平 吉本
佳一 加藤
Keiichi Kato
佳一 加藤
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2018241679A priority Critical patent/JP6937288B2/en
Publication of JP2020102827A publication Critical patent/JP2020102827A/en
Application granted granted Critical
Publication of JP6937288B2 publication Critical patent/JP6937288B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Semiconductor Memories (AREA)

Abstract

To provide a nonvolatile memory device having high tamper resistance.SOLUTION: A nonvolatile memory device 10 includes a data generation circuit and a reconstruction processing circuit. The data generation circuit is configured so that, after generating the first response data, the reconstruction processing circuit executes a reconstruction writing; and when a piece of challenge data of a first type is acquired again after the reconstruction writing is executed, a third response data that is different from the first response data is generated (PUF registration mode); after generating the second response data, the reconstruction processing circuit executes a reconstruction writing, and when the challenge data of the second type is acquired again after the reconstruction writing has been performed, a piece of fourth response data which is the same as the second response data is generated (permanent PUF registration mode).SELECTED DRAWING: Figure 19

Description

本開示は、抵抗変化型の不揮発性メモリセルを複数有し、かつ耐タンパ性を有する不揮発性メモリ装置、および、不揮発性メモリ装置を用いたチャレンジ・レスポンス方法に関する。 The present disclosure relates to a nonvolatile memory device having a plurality of resistance change type nonvolatile memory cells and having tamper resistance, and a challenge/response method using the nonvolatile memory device.

ネットバンキングやネットショッピングなど、インターネットを介して行われる電子商取引サービスの市場は急速に拡大している。このときの決済方法として電子マネーが用いられ、その媒体として利用されるIC(“Integrated Circuit”、以下同じ。)カードやスマートフォン端末も同様に利用が拡大している。これらのサービスには、決済時の安全性のため、通信における相互認証や通信データの暗号化にあたって常により高いレベルのセキュリティ技術が求められる。 The market for electronic commerce services provided via the Internet such as online banking and online shopping is expanding rapidly. Electronic money is used as a payment method at this time, and the use of IC (Integrated Circuit) cards and smartphone terminals used as a medium thereof is also expanding. These services require a higher level of security technology for mutual authentication in communication and encryption of communication data for security at the time of payment.

ソフトウェア技術に関しては、高度な暗号化アルゴリズムを中心としたプログラム処理の暗号化技術が蓄積されており、十分なセキュリティが達成されている。しかし、技術進歩により、回路内部の情報をハードウェア的に外部から直接読み取られる懸念が急速に高まっている。 With regard to software technology, encryption technology for program processing centering on advanced encryption algorithms has been accumulated, and sufficient security has been achieved. However, due to technological progress, there is a growing concern that the information inside the circuit may be directly read by hardware from the outside.

特開2016−105585号公報JP, 2016-105585, A 国際公開第2014/119329号International Publication No. 2014/119329 米国特許第8446250号明細書US Pat. No. 8446250 国際公開第2010/100015号International Publication No. 2010/100015

Georgios Selimis, et al.“Evaluation of 90nm 6T−SRAM as Physical Unclonable Function for Secure Key Generation in Wireless Sensor Nodes”Georgios Selimis, et al. "Evaluation of 90nm 6T-SRAM as Physical Unclonable Function for Secure Key Generation in Wireless Sensor Nodes" An Chen,“Comprehensive Assessment of RRAM(登録商標)−based PUF for Hardware Security Applications” IEDM2015An Chen, "Comprehensive Assessment of RRAM (registered trademark)-based PUF for Hardware Security Applications" IEDM2015. P.H.Tseng, et al.“Error Free Physically Unclonable Function (PUF) with Programmed ReRAM using Reliable Resistance States by Novel ID−Generation Method” SSDM2017P. H. Tseng, et al. "Error Free Physically Unclonable Function (PUF) with Programmed ReRAM using Reliable Resistence States by Novel ID-Generation Method" SSDM2017 Klaus Kurasaswe, “Reconfigurable Physical Unclonable Functions − Enabling Techology for Tamper−Resistant Storage”Klaus Kurasaswe, “Reconfigurable Physical Unclonable Functions-Enabling Technology for Tamper-Resistant Storage”

本開示は、高い耐タンパ性を有する不揮発性メモリ装置およびチャレンジ・レスポンス方法を提供する。 The present disclosure provides a non-volatile memory device having high tamper resistance and a challenge-response method.

本開示の一態様における不揮発性メモリ装置は、不揮発性メモリ装置であって、抵抗変化型の複数のメモリセルで構成されたメモリセルアレイと、チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成回路と、前記メモリセルアレイに対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路とを備え、前記データ生成回路は、第1の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第1のレスポンスデータを生成し、第2の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第2のレスポンスデータを生成し、前記第1のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第1の種類のチャレンジデータを再び取得した場合に、前記第1のレスポンスデータとは異なる第3のレスポンスデータを生成し、前記第2のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第2の種類のチャレンジデータを再び取得した場合に、前記第2のレスポンスデータと同じ第4のレスポンスデータを生成する。 A non-volatile memory device according to an aspect of the present disclosure is a non-volatile memory device that uses a memory cell array including a plurality of resistance change type memory cells and the memory cell array when challenge data is acquired. The data generation circuit includes a data generation circuit that generates response data, and a reconfiguration processing circuit that executes reconfiguration writing by applying a voltage pulse to the memory cell array at least once. Unique challenge data that is unique to each non-volatile memory device is generated when the challenge data is acquired, and unique unique data that is unique to each non-volatile memory device is obtained when the second type of challenge data is acquired. 2 response data is generated, the first response data is generated, the reconfiguration writing is executed by the reconfiguration processing circuit, and the first type of the reconfiguration writing is performed after the reconfiguration writing is executed. When the challenge data is obtained again, the third response data different from the first response data is generated, the second response data is generated, and then the reconfiguration writing is executed by the reconfiguration processing circuit. If the second type of challenge data is acquired again after the reconfiguration write is executed, the same fourth response data as the second response data is generated.

本開示の一態様におけるチャレンジ・レスポンス方法は、抵抗変化型の複数のメモリセルで構成されたメモリセルアレイを備える不揮発性メモリ装置によってチャレンジデータに対応するレスポンスデータを生成するチャレンジ・レスポンス方法であって、チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成ステップと、前記メモリセルアレイに対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理ステップとを含み、前記データ生成ステップでは、第1の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第1のレスポンスデータを生成し、第2の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第2のレスポンスデータを生成し、前記第1のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第1の種類のチャレンジデータを取得した場合に、前記第1のレスポンスデータとは異なる第3のレスポンスデータを生成し、前記第2のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第2の種類のチャレンジデータを取得した場合に、前記第2のレスポンスデータと同じ第4のレスポンスデータを生成する。 A challenge-response method according to an aspect of the present disclosure is a challenge-response method in which response data corresponding to challenge data is generated by a nonvolatile memory device including a memory cell array including a plurality of resistance-change memory cells. , A data generation step of generating response data using the memory cell array when the challenge data is obtained, and a reconfiguration processing of executing reconfiguration writing by applying a voltage pulse to the memory cell array at least once. In the data generation step, when the first type of challenge data is acquired, unique non-volatile memory device-specific first response data is generated and the second type of challenge data is generated. When it is acquired, the unique second response data that is different for each nonvolatile memory device is generated, and after the first response data is generated, the reconfiguration writing is executed by the reconfiguration processing step, and When the challenge data of the first type is acquired after the reconfiguration writing is executed, the third response data different from the first response data is generated, and the second response data is generated. After that, when the reconfiguration write is executed by the reconfiguration processing step and the second type challenge data is acquired after the reconfiguration write is executed, the same first response data as the second response data is acquired. 4 response data is generated.

本開示により、高い耐タンパ性を有する不揮発性メモリ装置およびチャレンジ・レスポンス方法が提供される。 The present disclosure provides a non-volatile memory device having a high tamper resistance and a challenge/response method.

図1は、実施の形態における抵抗変化型の不揮発性メモリ装置の概略構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of a schematic configuration of a variable resistance nonvolatile memory device according to an embodiment. 図2は、図1に示された抵抗変化型の不揮発性メモリ装置が備えるメモリセルの概略構成の一例を示す断面図である。FIG. 2 is a cross-sectional view showing an example of a schematic configuration of a memory cell included in the variable resistance nonvolatile memory device shown in FIG. 図3は、あるメモリセルアレイに対する実測によって得られた低抵抗状態における規格化抵抗値とそのばらつきについての標準正規分布の偏差との関係をプロットした図である。FIG. 3 is a plot of the relationship between the normalized resistance value in the low resistance state obtained by actual measurement for a certain memory cell array and the deviation of the standard normal distribution regarding the variation. 図4は、ある3ビットのメモリセルに対して、再構成書込みを100回実行したときの規格化抵抗値とそのばらつきについての標準正規分布の偏差との関係をプロットした図である。FIG. 4 is a diagram plotting the relationship between the normalized resistance value and the deviation of the standard normal distribution regarding the variation when reconfiguring writing is performed 100 times on a certain 3-bit memory cell. 図5は、図1に示された不揮発性メモリ装置による再構成書込みのフローチャートである。FIG. 5 is a flowchart of reconfiguration writing by the non-volatile memory device shown in FIG. 図6は、実施の形態における不揮発性メモリ装置の具体的な構成例を示すブロック図である。FIG. 6 is a block diagram showing a specific configuration example of the nonvolatile memory device according to the embodiment. 図7は、図6に示された不揮発性メモリ装置が備える読出し回路の構成例を示す図である。FIG. 7 is a diagram showing a configuration example of a read circuit included in the nonvolatile memory device shown in FIG. 図8は、図7に示された読出し回路の一ビット分のより詳細な構成例を示す回路図である。FIG. 8 is a circuit diagram showing a more detailed configuration example of one bit of the read circuit shown in FIG. 図9は、図6に示された不揮発性メモリ装置において選択されたメモリセルを読み出す場合のタイミングチャートである。FIG. 9 is a timing chart when reading a selected memory cell in the nonvolatile memory device shown in FIG. 図10は、実施の形態における不揮発性メモリ装置によるPUFデータ登録時の動作例を示すフローチャートである。FIG. 10 is a flowchart showing an operation example when PUF data is registered by the nonvolatile memory device according to the embodiment. 図11は、実施の形態における不揮発性メモリ装置によるPUFデータ登録時に生成されるヘルパーデータの生成方法を示すデータフロー図である。FIG. 11 is a data flow diagram showing a method of generating helper data generated when PUF data is registered by the nonvolatile memory device according to the embodiment. 図12は、実施の形態における不揮発性メモリ装置によるPUFデータ再生時の動作を示すフローチャートである。FIG. 12 is a flowchart showing an operation at the time of reproducing PUF data by the nonvolatile memory device according to the embodiment. 図13は、実施の形態における不揮発性メモリ装置による登録時の正しいPUFデータを再生する処理を示すデータフロー図である。FIG. 13 is a data flow diagram showing a process of reproducing correct PUF data at the time of registration by the nonvolatile memory device according to the embodiment. 図14は、実施の形態における不揮発性メモリ装置によるPUF再構成モードの動作例を示すフローチャートである。FIG. 14 is a flowchart showing an operation example of the PUF reconfiguration mode by the nonvolatile memory device according to the embodiment. 図15は、図14の再構成書込みを100回実行したときに生成される各回数でのPUFデータ間のハミング距離と規格化度数とを示すグラフである。FIG. 15 is a graph showing the Hamming distance between the PUF data and the normalized frequency at each number of times generated when the reconfigurable writing of FIG. 14 is executed 100 times. 図16は、実施の形態における不揮発性メモリ装置による恒久PUFデータ登録モードの動作例を示すフローチャートである。FIG. 16 is a flowchart showing an operation example of the permanent PUF data registration mode by the nonvolatile memory device according to the embodiment. 図17は、図3に対して恒久PUFデータ登録モードに関する説明を追記した図である。FIG. 17 is a diagram in which a description regarding the permanent PUF data registration mode is added to FIG. 図18は、実施の形態における不揮発性メモリ装置による恒久PUFデータの生成に用いられるデータの具体例を示す図である。FIG. 18 is a diagram showing a specific example of data used for generating permanent PUF data by the nonvolatile memory device according to the embodiment. 図19は、実施の形態における不揮発性メモリ装置による恒久PUFデータ再生モードの動作例を示すフローチャートである。FIG. 19 is a flowchart showing an operation example of the permanent PUF data reproduction mode by the nonvolatile memory device according to the embodiment. 図20は、実施の形態における不揮発性メモリ装置による恒久PUFデータの生成例を示す図である。FIG. 20 is a diagram showing an example of generation of permanent PUF data by the nonvolatile memory device according to the embodiment.

(本開示の基礎となる知見)
一般的にはセキュリティを強化したICでは、内部に搭載する暗号鍵(「秘密鍵」ともいう。)を用いて秘密情報を暗号化して利用しており、情報の漏洩を防止している。この場合、内部に保持している暗号鍵の情報を外部に漏洩させないことが必須となる。
(Knowledge forming the basis of the present disclosure)
Generally, in an IC with enhanced security, secret information is encrypted by using an encryption key (also referred to as “secret key”) mounted inside to prevent leakage of information. In this case, it is essential that the information of the encryption key held inside is not leaked to the outside.

近年、PUF(物理的複製困難関数;Physically Unclonable Function)と呼ばれる、新たなハードウェア技術が提案されている。PUF技術は、製造ばらつきを活用してICごとに異なるユニークな個体識別情報を生成する技術である。以降、本明細書ではPUF技術により生成される個体識別情報を「PUFデータ」と呼ぶ。PUFデータはICの物理特性のばらつきに関連づけられた各デバイス固有のユニークなデータであり、物理特性の僅かなばらつきを利用するため、物理的解析が困難かつ、IC毎にその物理特性を人為的に再現することが困難であり、物理的な複製が困難なデータとして利用することができる。 In recent years, a new hardware technology called a PUF (Physical Duplication Function; Physically Unclonable Function) has been proposed. The PUF technology is a technology that utilizes manufacturing variations to generate unique individual identification information that differs for each IC. Hereinafter, in the present specification, individual identification information generated by the PUF technique will be referred to as “PUF data”. The PUF data is unique data unique to each device and is associated with the variation in the physical characteristics of the IC. Since slight variations in the physical characteristics are used, it is difficult to perform physical analysis and the physical characteristics of each IC are artificially changed. It is difficult to reproduce and can be used as data that is difficult to physically copy.

具体的な先行例として、非特許文献1のようなSRAM PUFが例示され得る。この例では、SRAMにおける各メモリセルにおける、トランジスタの閾値ばらつき(動作電圧ばらつき)で「0」データか「1」データか確定する、電源投入直後の初期値を利用するPUFである。 An SRAM PUF as in Non-Patent Document 1 can be illustrated as a specific prior example. In this example, the PUF uses the initial value immediately after the power is turned on, which determines whether the data is "0" data or "1" data in the threshold variation (operating voltage variation) of the transistor in each memory cell in the SRAM.

その他にも、特許文献1〜3、非特許文献2および3のような、ReRAM(Resistive Random Access Memory;抵抗変化型メモリ) PUFが例示され得る。特許文献3の例では、ReRAMのメモリセルの抵抗値ばらつきを利用している。そして、メモリグループ内の抵抗値を取得し、それらの抵抗値より、2値化するための基準となる判定値を求め、PUFデータを生成する。非特許文献2では、2つのセルを同一状態に書込み、書込み後の抵抗値ばらつきによる大小関係を比較することで、PUFデータを生成する方式である。また、特許文献3や非特許文献3では、ReRAMのフォーミングのランダム性をPUFとして利用している。ReRAMのメモリセルでは、抵抗値の高い初期状態に対し、フォーミングと呼ばれる通常の書き換え電圧よりも大きな電圧ストレスを印加して絶縁破壊を引き起こさせることで、書き換えが可能な可変状態へと遷移させることができる。そしてこのフォーミングの過程において必要とされる電圧ストレスの印加時間は、メモリセル毎にランダムな特性を有する。本方式では、固定時間の電圧ストレスをメモリグループに与え、約半数のメモリセルのフォーミングが完了した時点で、電圧ストレス印加の処理を終了させる。すると、終了後のメモリセルグループには、初期状態と可変状態のメモリセルが約半数かつ、デバイス毎に固有なランダムなデータとして記録されることになる。当該方式は、当該ランダムなデータをPUFデータとして利用する方式である。 In addition, ReRAM (Resistive Random Access Memory; PUF) such as Patent Documents 1 to 3 and Non-Patent Documents 2 and 3 may be exemplified. In the example of Patent Document 3, the variation in the resistance value of the memory cell of ReRAM is used. Then, the resistance values in the memory group are acquired, a determination value serving as a reference for binarization is obtained from the resistance values, and PUF data is generated. Non-Patent Document 2 is a method of generating PUF data by writing two cells in the same state and comparing the magnitude relationship due to the resistance variation after writing. Further, in Patent Document 3 and Non-Patent Document 3, the randomness of forming of ReRAM is used as a PUF. In a memory cell of ReRAM, a transition to a rewritable variable state is performed by applying a voltage stress called forming, which is higher than a normal rewriting voltage, to an initial state having a high resistance value to cause dielectric breakdown. You can The application time of the voltage stress required in the forming process has a random characteristic for each memory cell. In this method, a voltage stress for a fixed time is applied to the memory group, and when the forming of about half of the memory cells is completed, the voltage stress application process is terminated. Then, in the memory cell group after completion, about half of the memory cells in the initial state and the variable state are recorded as random data unique to each device. The method is a method of using the random data as PUF data.

更に、PUFの応用機能として、特許文献3、非特許文献4に示すような、再構成可能なPUFが例示されている。特許文献3、非特許文献4では、PUFのデータソースとして扱われる抵抗変化型のメモリセルに対し、書換え処理を実行する。書換え処理を実行することで、デバイスの構造が変化し、各メモリセル間の抵抗値ばらつき関係が変化するため、書換え処理前とは異なる新たなPUFデータを生成することが可能である。このように、複数のデバイスに対し、外部から共通の熱や電圧などのストレスを加えることで、ばらつきの関係性を変え、再構成の機能を実現している。 Furthermore, as an applied function of the PUF, a reconfigurable PUF as illustrated in Patent Document 3 and Non-Patent Document 4 is illustrated. In Patent Document 3 and Non-Patent Document 4, the rewriting process is executed for the resistance change type memory cell treated as a PUF data source. By executing the rewriting process, the device structure changes and the resistance variation relationship between the memory cells changes. Therefore, new PUF data different from that before the rewriting process can be generated. In this manner, the stress of common heat or voltage is applied to a plurality of devices from the outside to change the relationship of variation and realize the reconfiguration function.

このようなPUF技術により、各IC固有の乱数となるPUFデータを記録することで、解析されにくくかつ、複製できないデータとして扱うことができる。このPUFデータは、例えば、前述した秘密鍵を暗号化するデバイス鍵として用いられる。デバイス鍵(つまり、PUFデータ)によって暗号化された秘密鍵は、暗号化された状態で不揮発性メモリに保存される。すなわち、不揮発性メモリに記録された暗号化秘密鍵はデバイス鍵でしか元の秘密鍵データに復号できないため、秘密鍵のセキュリティ強度は、PUFのセキュリティ強度に依存する。 With such PUF technology, by recording PUF data that is a random number unique to each IC, it is possible to treat it as data that is difficult to analyze and cannot be copied. This PUF data is used, for example, as a device key for encrypting the above-mentioned secret key. The private key encrypted with the device key (that is, PUF data) is stored in the nonvolatile memory in an encrypted state. That is, since the encrypted private key recorded in the non-volatile memory can be decrypted into the original private key data only by the device key, the security strength of the private key depends on the security strength of the PUF.

一方、PUFは、物理特性の僅かなばらつきを利用していることから、同一のデバイスに対してPUFデータを再生する場合、温度や電源といった環境変動の影響を受けやすく再現性の低下や、製造での物理的な依存性によるユニーク性の低下など、いくつかの課題が存在する。 On the other hand, since the PUF utilizes slight variations in physical characteristics, when PUF data is reproduced to the same device, it is easily affected by environmental changes such as temperature and power supply, and the reproducibility is reduced, and the manufacturing process is reduced. There are some challenges, such as a decrease in uniqueness due to physical dependence in.

特許文献4には、これらの再現性やユニーク性を改善するための対策として、Fuzzy Extractorと呼ばれる技術が用いられている。これはPUFのセキュリティ強度を維持しつつ誤り訂正が可能なアルゴリズムやハッシュ関数などのPUFデータへのポスト処理が搭載された技術である。 Patent Document 4 uses a technique called Fuzzy Extractor as a measure for improving the reproducibility and uniqueness. This is a technology in which post processing for PUF data such as an algorithm and a hash function capable of error correction while maintaining the security strength of PUF is installed.

本開示では、従来技術にはない、より高い耐タンパ性を有する不揮発性メモリ装置およびチャレンジ・レスポンス方法を提供する。 The present disclosure provides a non-volatile memory device having a higher tamper resistance and a challenge/response method which are not in the related art.

以下、本開示に係る発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略または簡略化する場合がある。 Hereinafter, embodiments of the invention according to the present disclosure will be described in detail with reference to the drawings. Each of the embodiments described below shows one specific example of the present invention. Numerical values, shapes, materials, constituent elements, arrangement positions and connection forms of constituent elements, steps, order of steps, and the like shown in the following embodiments are examples, and are not intended to limit the present invention. Further, among the constituent elements in the following embodiments, constituent elements that are not described in independent claims showing the highest concept of the present invention will be described as arbitrary constituent elements. In addition, each drawing is not necessarily an exact illustration. In each drawing, the substantially same components are denoted by the same reference numerals, and redundant description may be omitted or simplified.

(本開示で用いる抵抗変化型の不揮発性メモリ装置の概要)
図1は、実施の形態における抵抗変化型の不揮発性メモリ装置100の概略構成の一例を示すブロック図である。また、図2は、図1に示された抵抗変化型の不揮発性メモリ装置100が備えるメモリセル91の概略構成の一例を示す断面図である。なお、本明細書では、抵抗変化型の不揮発性メモリ装置を、単に不揮発性メモリ装置ともいう。
(Outline of variable resistance nonvolatile memory device used in the present disclosure)
FIG. 1 is a block diagram showing an example of a schematic configuration of a variable resistance nonvolatile memory device 100 according to the embodiment. 2 is a cross-sectional view showing an example of a schematic configuration of a memory cell 91 included in the variable resistance nonvolatile memory device 100 shown in FIG. In the present specification, the resistance change type nonvolatile memory device is also simply referred to as a nonvolatile memory device.

図1に示す例では、本実施の形態における不揮発性メモリ装置100は、少なくともメモリセルアレイ90と、制御装置93とを備えている。なお、制御装置93は、必ずしも不揮発性メモリ装置100の一部である必要はなく、不揮発性メモリ装置100外に設けられ、かつ、不揮発性メモリ装置100と接続された装置であって、以下に説明する動作が行われてもよい。 In the example shown in FIG. 1, the non-volatile memory device 100 according to the present embodiment includes at least a memory cell array 90 and a control device 93. The control device 93 does not necessarily have to be a part of the non-volatile memory device 100, is a device provided outside the non-volatile memory device 100 and connected to the non-volatile memory device 100. The described operations may be performed.

メモリセルアレイ90は、抵抗値の大きさに応じてディジタルデータが記録される抵抗変化型の複数のメモリセル91がアレイ状に配置された構成を有する。本実施の形態では、メモリセルアレイ90を構成する複数のメモリセル91のうちの一部のメモリセル91がPUFデータ用のメモリセルとして割り当てられている。 The memory cell array 90 has a configuration in which a plurality of resistance change type memory cells 91 in which digital data is recorded according to the magnitude of the resistance value are arranged in an array. In the present embodiment, some of the plurality of memory cells 91 forming the memory cell array 90 are assigned as PUF data memory cells.

図2に示す例では、メモリセル91が備える抵抗変化素子120が、下地層122(例えば、Ta)と、第1電極124(例えば、Ir)と、抵抗変化層126(例えば、TaO)と、第2電極128(例えば、TaN)とを備えている。それぞれのメモリセル91には、特定のメモリセルを選択するためのトランジスタ129が接続されている。 In the example illustrated in FIG. 2, the resistance change element 120 included in the memory cell 91 includes a base layer 122 (eg, Ta 2 O 5 ), a first electrode 124 (eg, Ir), and a resistance change layer 126 (eg, TaO). x ) and the second electrode 128 (for example, TaN). A transistor 129 for selecting a specific memory cell is connected to each memory cell 91.

メモリセル91は、異なる複数の電気的信号が印加されることによって、抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する可変状態を取りうる性質を有する。可変抵抗値範囲には、少なくとも、ディジタル情報のある1つの状態(第1抵抗状態)として低抵抗状態となる抵抗値範囲と、他の1つの状態(第2抵抗状態)として上記低抵抗状態よりも高抵抗な高抵抗状態となる抵抗値範囲とがある。このように、可変状態では、少なくとも、抵抗値を低抵抗状態と高抵抗状態とで可逆的に遷移させることができる。 The memory cell 91 has a property that it can take a variable state in which a resistance value reversibly transits between a plurality of variable resistance value ranges by being applied with a plurality of different electric signals. The variable resistance value range includes at least a resistance value range in which the digital information is in a low resistance state as one state (first resistance state) and another state (second resistance state) as in the low resistance state. Also has a resistance value range in which a high resistance state is achieved. As described above, in the variable state, at least the resistance value can be reversibly transited between the low resistance state and the high resistance state.

また、メモリセル91は、初期状態を取りうる性質を有する。「初期状態」とは、抵抗値が可変抵抗値範囲のいずれとも重複しない初期抵抗値範囲にある状態をいう。初期状態にあるメモリセルは、フォーミングが行われない限り可変状態とならない。「フォーミング」とは、所定の電気的ストレスをメモリセルに印加して、メモリセルの抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する状態へと、メモリセルを変化させることをいう。 Further, the memory cell 91 has a property that it can assume an initial state. The "initial state" is a state in which the resistance value is in the initial resistance value range that does not overlap with any of the variable resistance value ranges. The memory cell in the initial state does not enter the variable state unless forming is performed. “Forming” means applying a predetermined electrical stress to a memory cell to change the resistance value of the memory cell to a state in which the resistance value reversibly transits between a plurality of variable resistance value ranges. Say.

フォーミングのために印加される電気的ストレス(フォーミングストレス)は、例えば、所定の電圧と時間幅を有する電気的パルスである場合もあるし、複数の電気的パルスを組み合わせたものである場合もある。フォーミングストレスは累積的なストレスであってもよい。その場合、ストレスの累積量が所定量を超えたときに、メモリセル91は初期状態から可変状態に遷移する。 The electrical stress applied for forming (forming stress) may be, for example, an electrical pulse having a predetermined voltage and a time width, or may be a combination of a plurality of electrical pulses. .. The forming stress may be a cumulative stress. In that case, when the accumulated amount of stress exceeds a predetermined amount, the memory cell 91 transits from the initial state to the variable state.

本実施の形態では、メモリセル91は、製造後、フォーミングをしなければ抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する状態とならないような性質を有しているとする。つまり、半導体プロセス等により製造した後、フォーミングストレスが印加される前の抵抗変化素子は、初期状態にあるとして説明する。 In the present embodiment, it is assumed that the memory cell 91 has such a property that the resistance value does not reversibly transit between a plurality of variable resistance value ranges unless formed after forming. That is, it is assumed that the variable resistance element, which has been manufactured by the semiconductor process or the like and before the forming stress is applied, is in the initial state.

しかしながら、この性質は一例であり必須ではない。メモリセル91は、初期状態を取りうる素子でなくてもよく、例えば、可変状態のみを有する、いわゆるフォーミングレスの素子であってもよい。 However, this property is an example and is not essential. The memory cell 91 does not have to be an element that can assume an initial state, and may be, for example, a so-called formingless element that has only a variable state.

メモリセルアレイ90には、任意に設定したデータパターンを可変状態の違いで記録する以外にも、物理的な特性からランダムな個体識別情報であるPUFとして利用される場合もある。 The memory cell array 90 may be used as PUF, which is random individual identification information due to physical characteristics, in addition to recording an arbitrarily set data pattern depending on the difference in variable state.

一例のPUFでは、低抵抗状態の各メモリセルの抵抗値ばらつきを利用する。低抵抗状態であっても、微小な抵抗値のばらつきが存在し、当該一例のPUFでは、当該特性が利用される。メモリセルアレイ90の中から、複数のメモリセル91が可変状態として全て同一の抵抗状態に設定され、PUFデータが記録されたメモリグループとして扱われる。 The PUF of one example uses the variation in the resistance value of each memory cell in the low resistance state. Even in the low resistance state, there is a slight variation in the resistance value, and the PUF of the example uses the characteristic. In the memory cell array 90, a plurality of memory cells 91 are all set to the same resistance state as a variable state and treated as a memory group in which PUF data is recorded.

図3は、あるメモリセルアレイに対する実測によって得られた低抵抗状態における規格化抵抗値(横軸)とそのばらつきについての標準正規分布の偏差(σ)(縦軸)との関係をプロットした図である。図3に示されるように、メモリセルの抵抗値ばらつきの分布は、正規分布に従い、ほぼ直線に分布している。このことから、抵抗値ばらつきは極めてランダムな現象であることが確認できる。図3には、抵抗値ばらつきの分布の中央値(図の「Median」)を判定値として設定し、例えば、判定値よりも抵抗値が大きければ「1」データ(図中の「Data“1”」)、小さければ「0」データ(図中の「Data“0”」)として割り当てることでディジタルデータを出力する例が示される。 FIG. 3 is a diagram in which a relation between a normalized resistance value (horizontal axis) in a low resistance state obtained by actual measurement for a certain memory cell array and a deviation (σ) (vertical axis) of a standard normal distribution regarding the variation is plotted. is there. As shown in FIG. 3, the distribution of variations in the resistance value of the memory cells follows a normal distribution and is distributed in a substantially straight line. From this, it can be confirmed that the resistance variation is an extremely random phenomenon. In FIG. 3, the median value of the distribution of resistance variation (“Median” in the figure) is set as the determination value. For example, if the resistance value is larger than the determination value, “1” data (“Data “1” in the figure ""), and if smaller, "0" data ("Data "0"" in the figure) is assigned to output digital data.

図4は、ある3ビットのメモリセルに対して、図5のフローチャートに示すような、高抵抗化書込み(あるいは、低抵抗化書込み)後に再び低抵抗化(あるいは、高抵抗化書込み)に書き戻す処理(以下、この書込みを再構成書込みと呼ぶ)を100回実行したときの、各低抵抗化書込み後における規格化抵抗値(横軸)とそのばらつきについての標準正規分布の偏差(σ)(縦軸)との関係をプロットした図である。図示された3つの分布が3ビットのメモリセルのそれぞれに対応する。このばらつき特性が示すように、本実施の形態で用いるメモリセルは、図3で説明した、メモリセル間の抵抗値ばらつきだけでなく、各メモリセルの書換え後についても、抵抗値ばらつきを持っていることが分かる。更には、3ビットのメモリセルの書込みばらつき特性を比較すると、3つの分布に分離されていることから分かるように、それらの分布の形状や絶対値も大きく異なることが確認できる。この特徴を踏まえると、例えば、図3に示すような中央値を判定値として設定し、ディジタルデータを出力する方式を採用した場合、再構成書込みを実行すると、再構成書込み前後で0から1または、1から0に変化するメモリセル(図4の中央に位置する分布)と再構成書込み前後で0または1から変化しないメモリセル(図4の左および右に位置する分布)が存在していることが確認できる。以上のことから、同一の複数のメモリセルに対し、例えば、再構成書込みを実行することで、複数のビットが書込み前後で0と1のデータがランダムに変化し、新たなディジタルデータを構築できる一方で、0と1のデータが変化しないような恒久データの両方を実現することができることがわかる。 FIG. 4 shows that, with respect to a certain 3-bit memory cell, as shown in the flowchart of FIG. 5, after writing with high resistance (or writing with low resistance), writing is performed again with low resistance (or high resistance writing). Deviation (σ) of the standardized normal resistance value (horizontal axis) and its normal distribution after each low resistance writing, when the returning process (hereinafter, this writing is called reconstruction writing) is executed 100 times. It is the figure which plotted the relationship with (vertical axis). The three distributions shown correspond to each 3-bit memory cell. As shown by this variation characteristic, the memory cell used in the present embodiment has not only the variation in the resistance value between the memory cells described in FIG. 3 but also the variation in the resistance value after the rewriting of each memory cell. I know that Furthermore, when comparing the write variation characteristics of the 3-bit memory cells, it can be confirmed that the shapes and absolute values of these distributions are greatly different, as can be seen from the fact that they are separated into three distributions. In consideration of this feature, for example, when the method of setting the median value as shown in FIG. 3 as the determination value and outputting the digital data is adopted, when the reconfiguration write is executed, 0 to 1 or before and after the reconfiguration write is executed. There are memory cells that change from 1 to 0 (distribution located in the center of FIG. 4) and memory cells that do not change from 0 or 1 before and after reconfiguration writing (distributions located on the left and right of FIG. 4). You can confirm that. From the above, by executing, for example, reconfiguration writing to the same plurality of memory cells, data of 0 and 1 of a plurality of bits are changed randomly before and after writing, and new digital data can be constructed. On the other hand, it can be seen that both permanent data such that 0 and 1 data do not change can be realized.

(抵抗変化型の不揮発性メモリ装置の構成と基本動作)
図6は、実施の形態における不揮発性メモリ装置10の具体的な構成例を示すブロック図である。なお、不揮発性メモリ装置10は、上記説明した不揮発性メモリ装置100の一具体例であり、外部から与えられるチャレンジデータに対して、秘密鍵であるレスポンスデータを生成するチャレンジ・レスポンス方法を実行する。ただし、実施の形態における不揮発性メモリ装置の具体的構成が図6に示される構成に限定されるものではない。また、チャレンジデータは、レスポンスデータを要求する情報であれば、いかなるフォーマットであってもよい。
(Structure and basic operation of variable resistance nonvolatile memory device)
FIG. 6 is a block diagram showing a specific configuration example of the nonvolatile memory device 10 according to the embodiment. The non-volatile memory device 10 is one specific example of the non-volatile memory device 100 described above, and executes a challenge/response method of generating response data that is a secret key for challenge data given from the outside. .. However, the specific configuration of the nonvolatile memory device according to the embodiment is not limited to the configuration shown in FIG. The challenge data may have any format as long as it is information requesting response data.

図6に示すように、実施の形態における不揮発性メモリ装置10は、半導体基板上に、メモリ本体部22を備えている。また、不揮発性メモリ装置10は、さらにデータ入出力回路6と、制御回路15と、アドレス入力回路16とを備えている。 As shown in FIG. 6, the nonvolatile memory device 10 according to the embodiment includes a memory body 22 on a semiconductor substrate. The nonvolatile memory device 10 further includes a data input/output circuit 6, a control circuit 15, and an address input circuit 16.

メモリ本体部22は、読出し回路12と、書込み回路14と、判定値設定回路13と、ロウデコーダ回路18と、カラムデコーダ回路17と、メモリセルアレイ20とを備えている。なお、機能的には、主に、制御回路15、読出し回路12および判定値設定回路13によって、外部からチャレンジデータを取得した場合にメモリセルアレイ20を用いてレスポンスデータを生成するデータ生成回路が構成される。また、主に、制御回路15および書込み回路14によって、メモリセルアレイ20に対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路が構成される。 The memory body 22 includes a read circuit 12, a write circuit 14, a determination value setting circuit 13, a row decoder circuit 18, a column decoder circuit 17, and a memory cell array 20. Functionally, the control circuit 15, the read circuit 12, and the determination value setting circuit 13 mainly form a data generation circuit that generates response data using the memory cell array 20 when challenge data is acquired from the outside. To be done. In addition, the control circuit 15 and the write circuit 14 mainly configure a reconfiguration processing circuit that executes reconfiguration writing in which the voltage pulse is applied to the memory cell array 20 at least once.

書込み回路14は、選択されたメモリセル21に対して各動作における所定の電圧を印加してデータを書込む。例えば、書込み回路14は、後述する情報領域7に対して、任意の抵抗状態にするための書込み動作を実行する以外にも、PUF領域8の全メモリセルに対し、再構成書込みを実行する。 The write circuit 14 applies a predetermined voltage in each operation to the selected memory cell 21 to write data. For example, the write circuit 14 executes a reconfiguration write to all memory cells in the PUF area 8 in addition to a write operation for setting an arbitrary resistance state in the information area 7 described later.

読出し回路12は、複数のメモリセル21のそれぞれに対し、並列に読出し動作を実行し、得られた抵抗値と、後述する判定値設定回路13から出力される判定値との比較に基づき、ディジタルデータDoutを出力する。なお、読出し回路12は、誤り訂正回路を有する。 The read circuit 12 performs a read operation in parallel on each of the plurality of memory cells 21, and compares the obtained resistance value with a determination value output from a determination value setting circuit 13, which will be described later, based on a digital value. The data Dout is output. The read circuit 12 has an error correction circuit.

判定値設定回路13は、後述するPUF領域内のメモリセルの抵抗値から抵抗値ばらつき分布の中央値を算出し、読出し回路12へ第1判定値の一例である判定値として出力(つまり、設定)する。また、判定値設定回路13は、再構成書込みを行ってもデータが変化しない、恒久データを抽出するために、第1恒久判定値と第2恒久判定値を読出し回路12へ判定値として出力(つまり、設定)する。なお、第1恒久判定値は、第1判定値よりも大きな第3判定値の一例であり、第2恒久判定値は、第1判定値よりも小さな第2判定値の一例である。例えば、判定値設定回路13は、中央値を判定値として生成されたディジタルデータ(以下、判定値を用いて生成されたディジタルデータをPUFデータと呼ぶ)を読出し回路12において再生する場合は、読出し回路12から得られた抵抗値を元に中央値を設定し、一方、読出し回路12において恒久データを抽出する場合には、再構成書込みを行ってもデータが変化しないビットの位置情報データ(以下、このような位置情報データを恒久PUF情報データと呼ぶ)を抽出するために、第1恒久判定値または、第2恒久判定値を設定する。 The judgment value setting circuit 13 calculates the median value of the resistance value variation distribution from the resistance values of the memory cells in the PUF region, which will be described later, and outputs it to the reading circuit 12 as a judgment value which is an example of the first judgment value (that is, the setting value). ) Do. Further, the judgment value setting circuit 13 outputs the first permanent judgment value and the second permanent judgment value to the reading circuit 12 as the judgment value in order to extract the permanent data in which the data does not change even after the reconstruction writing. That is, set). The first permanent determination value is an example of a third determination value that is larger than the first determination value, and the second permanent determination value is an example of a second determination value that is smaller than the first determination value. For example, the judgment value setting circuit 13 reads the digital data generated by using the median value as the judgment value (hereinafter, the digital data generated by using the judgment value is referred to as PUF data) in the reading circuit 12 when reading the digital data. When the median value is set based on the resistance value obtained from the circuit 12, on the other hand, when the read circuit 12 extracts the permanent data, the position information data of the bit (hereinafter In order to extract such position information data as permanent PUF information data), a first permanent judgment value or a second permanent judgment value is set.

なお、取得した抵抗値の中央値を判定値として算出すること、取得した抵抗値が判定値よりも大きいか否かを判定すること、恒久データを抽出するために第1恒久判定値や第2恒久判定値を判定すること、および、PUFデータの生成や恒久データを抽出することは、判定値設定回路13および読出し回路12を含むメモリ本体部22で行われなくてもよく、メモリ本体部22の外部で行われてもよい。 It should be noted that the median of the acquired resistance values is calculated as a judgment value, it is judged whether or not the acquired resistance value is larger than the judgment value, and the first permanent judgment value and the second permanent judgment value are extracted in order to extract the permanent data. Judgment of the permanent judgment value, generation of PUF data, and extraction of permanent data do not have to be performed by the memory main body 22 including the judgment value setting circuit 13 and the read circuit 12, and the memory main body 22 May be performed outside of.

ロウデコーダ回路18は、メモリセルアレイ20に接続されている複数のj本のワード線WL0〜WLjの中から1つのワード線WLを選択する。 The row decoder circuit 18 selects one word line WL from a plurality of j word lines WL0 to WLj connected to the memory cell array 20.

カラムデコーダ回路17は、複数のn本のビット線BL0〜BLnと複数のn本のソース線SL0〜SLnの中から並列読出し数(メモリグループを構成するメモリセル数)であるk本のビット線BLと、それに対応するk本のソース線SLとを選択し、選択した線を書込み回路14および読出し回路12へ接続する。 The column decoder circuit 17 includes k bit lines, which is the number of parallel reads (the number of memory cells forming a memory group) among the n bit lines BL0 to BLn and the n source lines SL0 to SLn. BL and k corresponding source lines SL are selected, and the selected lines are connected to the write circuit 14 and the read circuit 12.

これら(書込み回路14、読出し回路12、ロウデコーダ回路18およびカラムデコーダ回路17)は、並列的に読出しおよび/または書込みが行われる行および/または列の数に応じて動作する。 These (write circuit 14, read circuit 12, row decoder circuit 18, and column decoder circuit 17) operate according to the number of rows and/or columns in which reading and/or writing are performed in parallel.

読出し回路12は、ディジタルデータDoutを出力する。読出し回路12は、カラムデコーダ回路17とロウデコーダ回路18とにより選択されたk個のメモリセルとk本のビット線を介して接続され、k個のメモリセルの抵抗値と判定値設定回路13によって設定された判定値とを比較し、生成されたディジタルデータDoutをデータ入出力回路6へ出力する。 The read circuit 12 outputs digital data Dout. The read circuit 12 is connected to the k memory cells selected by the column decoder circuit 17 and the row decoder circuit 18 via k bit lines, and the resistance values of the k memory cells and the judgment value setting circuit 13 are connected. Then, the generated digital data Dout is output to the data input/output circuit 6.

メモリ本体部22は、記憶領域として、情報領域7とPUF領域8とを有する。情報領域7は、ワード線WL0〜WLiが接続された領域であり、一方、PUF領域8は、WLi+1〜WLjが接続された領域である。情報領域7は、レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第1領域の一例であり、一方、PUF領域8は、抵抗値以外の情報を保持するメモリセルで構成される第2領域の一例である。具体的には、情報領域7は、データセルを含み、任意のデータ(ユーザデータ)が記録され、一方、PUF領域8は、同一の抵抗状態が設定されたPUFデータが記録される。 The memory main body 22 has an information area 7 and a PUF area 8 as storage areas. The information area 7 is an area to which the word lines WL0 to WLi are connected, while the PUF area 8 is an area to which WLi+1 to WLj are connected. The information area 7 is an example of a first area composed of memory cells holding a resistance value required to generate response data, while the PUF area 8 is a memory cell holding information other than the resistance value. It is an example of a second region configured by. Specifically, the information area 7 includes data cells and arbitrary data (user data) is recorded therein, while the PUF area 8 is recorded with PUF data in which the same resistance state is set.

なお、情報領域7とPUF領域8とは、図6のようにワード線で分けられる必要はなく、メモリセルアレイ20上の任意の領域で区分けしても良い。このとき、物理的な領域区分の規則性を複雑にするほどハッキングなどの攻撃への耐性を高めることができる。また、情報領域7とPUF領域8とは、セキュリティの重要性に応じて、アクセスを制限できるように更に細分化した区分けをしてもよい。例えば、PUFデータが格納されているPUF領域8のセキュリティデータについては、ユーザ側ではアクセスできないように制限するなどが挙げられる。 The information area 7 and the PUF area 8 do not have to be divided by word lines as shown in FIG. 6, and may be divided by any area on the memory cell array 20. At this time, the more complicated the regularity of the physical area division, the higher the resistance to attacks such as hacking. The information area 7 and the PUF area 8 may be further subdivided so that access can be restricted according to the importance of security. For example, security data in the PUF area 8 in which PUF data is stored may be restricted so that the user cannot access it.

メモリセルアレイ20は、複数のワード線WL0〜WLjと、ワード線WL0〜WLjと交差し、かつ互いに平行に延びるようにして形成された複数のビット線BL0〜BLnと、ワード線WL0〜WLjと交差し、かつ互いに平行に、かつビット線BL0〜BLnと平行に延びるようにして形成されたソース線SL0〜SLnと、を備える。そして、ワード線WL0〜WLjとビット線BL0〜BLnとの立体交差点には、それぞれメモリセル21が配置されている。 The memory cell array 20 intersects a plurality of word lines WL0 to WLj, a plurality of bit lines BL0 to BLn formed so as to intersect the word lines WL0 to WLj and extend in parallel with each other, and intersects the word lines WL0 to WLj. And source lines SL0 to SLn formed so as to extend parallel to each other and parallel to the bit lines BL0 to BLn. The memory cells 21 are arranged at the three-dimensional intersections of the word lines WL0 to WLj and the bit lines BL0 to BLn, respectively.

それぞれのメモリセル21は抵抗変化素子23とトランジスタ24とを備える。ワード線WL0〜WLjはそれぞれのトランジスタ24のゲート端子に接続され、ビット線BL0〜BLnは、それぞれのメモリセル21が備える抵抗変化素子23の第2電極に接続され、抵抗変化素子23の第1電極はトランジスタ24の第2主端子に各々接続され、ソース線SL0〜SLnは、トランジスタ24の第1主端子にそれぞれ接続されている。 Each memory cell 21 includes a resistance change element 23 and a transistor 24. The word lines WL0 to WLj are connected to the gate terminals of the respective transistors 24, the bit lines BL0 to BLn are connected to the second electrodes of the resistance change elements 23 included in the respective memory cells 21, and the first of the resistance change elements 23 are connected. The electrodes are connected to the second main terminal of the transistor 24, and the source lines SL0 to SLn are connected to the first main terminal of the transistor 24, respectively.

抵抗変化素子23はメモリセル21において不揮発性メモリ素子として動作する。不揮発性メモリ装置10は、各メモリセル21が1個のトランジスタ24と1個の抵抗変化素子23とから構成される、いわゆる1T1R型の抵抗変化型の不揮発性メモリ装置である。メモリセルの選択素子は前述のトランジスタに限定されない。例えばダイオードなどの2端子素子を用いても良い。 The resistance change element 23 operates as a non-volatile memory element in the memory cell 21. The nonvolatile memory device 10 is a so-called 1T1R resistance change type nonvolatile memory device in which each memory cell 21 is composed of one transistor 24 and one resistance change element 23. The selection element of the memory cell is not limited to the above transistor. For example, a two-terminal element such as a diode may be used.

制御回路15は外部から与えられるコントロール信号に基づき、カラムデコーダ回路17に対し、ビット線あるいはソース線のいずれか一方を選択させ、書込み時は選択したビット線あるいはソース線を書込み回路14に接続させ、読出し時は選択したビット線あるいはソース線を読出し回路12に接続させる。その上で、書込み回路14あるいは読出し回路12を動作させる。制御回路15は、プログラムが格納されたメモリ、プログラムを実行するプロセッサ、および、入出力回路等で構成されてもよいし、専用の論理回路で構成されてもよい。 The control circuit 15 causes the column decoder circuit 17 to select either the bit line or the source line based on a control signal given from the outside, and connects the selected bit line or source line to the write circuit 14 at the time of writing. At the time of reading, the selected bit line or source line is connected to the reading circuit 12. Then, the write circuit 14 or the read circuit 12 is operated. The control circuit 15 may be configured by a memory in which a program is stored, a processor that executes the program, an input/output circuit, or the like, or may be configured by a dedicated logic circuit.

抵抗変化素子23については、実施の形態において図2を用いて上述した抵抗変化素子120と同様の構成とすることができるので、詳細な説明を省略する。 The variable resistance element 23 can have the same configuration as the variable resistance element 120 described above with reference to FIG. 2 in the embodiment, and thus detailed description thereof will be omitted.

なお、図6に示す例では、メモリセルアレイ20の選択トランジスタとしてNMOSトランジスタが用いられているが、これに限定されず、PMOSトランジスタを用いても良い。 Although the NMOS transistor is used as the selection transistor of the memory cell array 20 in the example shown in FIG. 6, the present invention is not limited to this, and a PMOS transistor may be used.

図7は、図6に示された不揮発性メモリ装置10が備える読出し回路12の構成例を示す図である。なお、本図には、メモリセルアレイ20およびカラムデコーダ回路17も併せて図示されている。読出し回路12は、k(kは、1≦k≦nを満たす整数)個のメモリセル21からなるメモリグループの単位で並列に読出し動作を行うために、k個のセンスアンプ回路30(TSA0、TSA1、TSA2、・・・TSAk)を有している。カラムデコーダ回路17により選択されたk本のビット線が、k個のセンスアンプ回路30に各々接続される。各々のセンスアンプ回路30は、接続されたメモリセル21の抵抗値を出力する。 FIG. 7 is a diagram showing a configuration example of the read circuit 12 included in the nonvolatile memory device 10 shown in FIG. The memory cell array 20 and the column decoder circuit 17 are also shown in the figure. The read circuit 12 performs a read operation in parallel in units of a memory group including k (k is an integer satisfying 1≦k≦n) memory cells 21, and thus k sense amplifier circuits 30 (TSA0, TSA0, TSA1, TSA2,... TSAk). The k bit lines selected by the column decoder circuit 17 are connected to the k sense amplifier circuits 30, respectively. Each sense amplifier circuit 30 outputs the resistance value of the connected memory cell 21.

図8は、図7に示された読出し回路12の一ビット分の(つまり、1個のメモリセル21からの読出しに対応する)より詳細な構成例を示す回路図である。 FIG. 8 is a circuit diagram showing a more detailed configuration example of one bit of the read circuit 12 shown in FIG. 7 (that is, corresponding to reading from one memory cell 21).

読出し回路12は、センスアンプ回路30を有している。当該センスアンプ回路30は、コンパレータ31と、抵抗値カウンタ32と、プリチャージPMOSトランジスタ33と、ロードPMOSトランジスタ34と、クランプNMOSトランジスタ36で構成されたクランプ回路とを備えている。 The read circuit 12 has a sense amplifier circuit 30. The sense amplifier circuit 30 includes a comparator 31, a resistance value counter 32, a precharge PMOS transistor 33, a load PMOS transistor 34, and a clamp circuit composed of a clamp NMOS transistor 36.

抵抗値カウンタ32は、コンパレータ31の出力先に接続されている。抵抗値カウンタ32は、リセット制御信号RSTがロウレベルとなることで、抵抗値カウンタ32内のカウント値が初期化された後、CLK信号によりカウントを開始する。CLK信号は、制御回路15から出力される信号であって、抵抗変化素子23の抵抗値によって変化する放電時間または充電時間をカウント値に変換する際の基準となる信号である。CLK信号は、例えば一定の周波数を維持する矩形波である。このCLK信号が立ち上がる毎に、抵抗値カウンタ32のカウント値が1つ加算され、ノードSENが参照電圧VREFを下回るとコンパレータ31からの出力信号が反転し、そのときのカウント値がCOUNT_OUTとして保持される。カウント値COUNT_OUTは、比較器35の入力端子aに入力され、一方、判定値設定回路13から受け取る判定値が比較器35の入力端子bに入力され、比較器35において入力端子aの値と入力端子bの値とが比較され、その比較結果がディジタルデータDoutとして、データ入出力回路6に送信される。 The resistance counter 32 is connected to the output destination of the comparator 31. The resistance value counter 32 starts counting by the CLK signal after the count value in the resistance value counter 32 is initialized when the reset control signal RST becomes low level. The CLK signal is a signal output from the control circuit 15 and serves as a reference when converting the discharge time or the charge time that changes depending on the resistance value of the resistance change element 23 into a count value. The CLK signal is, for example, a rectangular wave that maintains a constant frequency. Each time this CLK signal rises, the count value of the resistance value counter 32 is incremented by one. When the node SEN falls below the reference voltage VREF, the output signal from the comparator 31 is inverted, and the count value at that time is held as COUNT_OUT. It The count value COUNT_OUT is input to the input terminal a of the comparator 35, while the determination value received from the determination value setting circuit 13 is input to the input terminal b of the comparator 35, and the value of the input terminal a is input to the comparator 35. The value of the terminal b is compared, and the comparison result is transmitted to the data input/output circuit 6 as digital data Dout.

プリチャージPMOSトランジスタ33は、ゲート端子にプリチャージ制御信号PREが入力され、ソース端子に電源電圧VDDが入力され、ドレイン端子にノードSENが接続されている。 In the precharge PMOS transistor 33, the precharge control signal PRE is input to the gate terminal, the power supply voltage VDD is input to the source terminal, and the node SEN is connected to the drain terminal.

コンデンサ36aは、放電、または充電時間を調整するために設置され、一端がノードSEN、他端はGNDに接続されている。 The capacitor 36a is installed to adjust the discharge or charge time, and has one end connected to the node SEN and the other end connected to GND.

ロードPMOSトランジスタ34は、ゲート端子にロード制御信号LOADが入力され、ソース端子に電源電圧VDDが入力され、ドレイン端子にノードSENが接続されている。 In the load PMOS transistor 34, the load control signal LOAD is input to the gate terminal, the power supply voltage VDD is input to the source terminal, and the node SEN is connected to the drain terminal.

クランプNMOSトランジスタ36は、ゲート端子にクランプ制御信号CLMPが入力され、ソース端子もしくはドレイン端子の何れか一方にノードSENが接続され、他端にはメモリセルが接続されている。 A clamp control signal CLMP is input to the gate terminal of the clamp NMOS transistor 36, the node SEN is connected to either the source terminal or the drain terminal, and the memory cell is connected to the other end.

図9は、図6に示された不揮発性メモリ装置10において選択されたメモリセルを読み出す場合のタイミングチャートである。 FIG. 9 is a timing chart when reading the selected memory cell in the nonvolatile memory device 10 shown in FIG.

T1のプリチャージ期間では、プリチャージ制御信号PREはロウレベルとなり、プリチャージPMOSトランジスタ33はオン状態になる一方で、ロード制御信号LOADはハイレベルとなり、ロードPMOSトランジスタ34はオフ状態となる。選択ワード線WLsの電位はロウレベルでトランジスタ24はオフ状態となっている。 During the precharge period of T1, the precharge control signal PRE becomes low level and the precharge PMOS transistor 33 is turned on, while the load control signal LOAD becomes high level and the load PMOS transistor 34 is turned off. The potential of the selected word line WLs is low level and the transistor 24 is in the off state.

クランプ回路のクランプNMOSトランジスタ36のゲート端子にVCLMPの電圧が印加されることで、選択ビット線BLsの電位はVCLMPからVT(クランプNMOSトランジスタ36の閾値)を引いた電位までプリチャージされる。選択ソース線SLsはGNDに固定される。ノードSENは電源電圧VDDまでプリチャージされる。また、コンパレータ31の出力に接続されている抵抗値カウンタ32のリセット制御信号RSTはハイレベルとなっているため、抵抗値カウンタ32の出力端子から、カウント値COUNT_OUTとして、0の固定値が出力される。 By applying the voltage of VCLMP to the gate terminal of the clamp NMOS transistor 36 of the clamp circuit, the potential of the selected bit line BLs is precharged to the potential obtained by subtracting VT (threshold of the clamp NMOS transistor 36) from VCLMP. The selected source line SLs is fixed to GND. The node SEN is precharged up to the power supply voltage VDD. Further, since the reset control signal RST of the resistance value counter 32 connected to the output of the comparator 31 is at high level, a fixed value of 0 is output as the count value COUNT_OUT from the output terminal of the resistance value counter 32. It

T2のセンス期間では、プリチャージ制御信号PREをハイレベルとすることで、プリチャージPMOSトランジスタ33がオフ状態となり、ロード制御信号LOADがロウレベルになることで、ロードPMOSトランジスタ34はオン状態になる。また選択ワード線WLsの電位をハイレベルにすることで、NMOSトランジスタ24はオン状態となる。 In the sense period of T2, the precharge control signal PRE is set to the high level to turn off the precharge PMOS transistor 33, and the load control signal LOAD is set to the low level to turn on the load PMOS transistor 34. The NMOS transistor 24 is turned on by setting the potential of the selected word line WLs to the high level.

そして選択ビット線BLsから選択されたメモリセル21を介して選択ソース線SLsへと電圧が印加され、放電が開始される。放電開始と同時に抵抗値カウンタ32のリセット制御信号RSTがロウレベルとなり、抵抗値カウンタ32でのカウントが始まる。そして、1カウント毎に、コンパレータ31によって、ノードSENの電位と参照電圧VREFの電圧とが比較され、ノードSENが参照電圧VREFを下回るまで、カウント値が加算され続ける。読出し時の抵抗変化素子23の抵抗値が高いほど放電時間は長くなり、カウント値は大きくなる。 Then, a voltage is applied from the selected bit line BLs to the selected source line SLs via the selected memory cell 21, and discharge is started. Simultaneously with the start of discharge, the reset control signal RST of the resistance value counter 32 becomes low level, and the resistance value counter 32 starts counting. Then, for each count, the comparator 31 compares the potential of the node SEN with the voltage of the reference voltage VREF, and the count value is continuously added until the node SEN falls below the reference voltage VREF. The higher the resistance value of the resistance change element 23 at the time of reading, the longer the discharge time and the larger the count value.

また、コンデンサ36aの容量を調整することで、放電時間を調整することも可能である。コンデンサ36aの容量が大きければ、ノードSENの放電時間も長くなるため、カウント値は大きくなり、容量が小さければ、ノードSENの放電時間は短くなり、カウント値は小さくなる。コンデンサ36aの容量を調整することは、例えば、放電時間が短い低抵抗レベルの検出精度を向上させたいとき、効果的である。カウントの間隔はCLK信号で決定されるため、その動作周波数がカウント値の分解能となる。しかし、低い抵抗値を読み出す場合、放電時間がカウント値の分解能に近くなってくる可能性があるため、抵抗値の大小を区別できなくなる場合がある。そこで、ノードSENに容量負荷を上乗せし、放電時間を長くすることで、意図的に、分解能で検出できるレベルの放電特性を確保することが可能となる。 Also, the discharge time can be adjusted by adjusting the capacity of the capacitor 36a. If the capacitance of the capacitor 36a is large, the discharge time of the node SEN is also long, so the count value is large, and if the capacitance is small, the discharge time of the node SEN is short and the count value is small. Adjusting the capacitance of the capacitor 36a is effective, for example, when it is desired to improve the detection accuracy of a low resistance level where the discharge time is short. Since the counting interval is determined by the CLK signal, its operating frequency becomes the resolution of the counting value. However, when reading out a low resistance value, the discharge time may be close to the resolution of the count value, so that it may not be possible to distinguish the magnitude of the resistance value. Therefore, by adding a capacitive load to the node SEN and lengthening the discharge time, it is possible to intentionally secure the discharge characteristic at a level that can be detected with the resolution.

T3のラッチ期間では、放電が開始された後、ノードSENが参照電圧VREFを下回ったときの抵抗値カウンタ32のカウント値がラッチされる。ラッチされたカウント値は、COUNT_OUTとして出力され、抵抗変化素子23のカウント値として扱われる。 In the latch period of T3, the count value of the resistance value counter 32 when the node SEN becomes lower than the reference voltage VREF after the discharge is started is latched. The latched count value is output as COUNT_OUT and is treated as the count value of the resistance change element 23.

T4のリセット期間においては、抵抗値カウンタ32のデータ出力が完了すると、選択ワード線WLsの電位がロウレベルとされ、選択されたメモリセル21のトランジスタ24がオフとなり、読出し動作が終了する。 In the reset period of T4, when the data output of the resistance value counter 32 is completed, the potential of the selected word line WLs is set to the low level, the transistor 24 of the selected memory cell 21 is turned off, and the read operation is completed.

抵抗値カウンタ32に格納されたカウント値COUNT_OUTは判定値設定回路13に入力され、判定値設定回路13において、入力されたカウント値COUNT_OUTを元に判定値(中央値)が算出される。 The count value COUNT_OUT stored in the resistance value counter 32 is input to the determination value setting circuit 13, and the determination value setting circuit 13 calculates a determination value (central value) based on the input count value COUNT_OUT.

なお、図7に示された読出し回路12は、本実施の形態における不揮発性メモリ装置10においては、16個のセンスアンプ回路30を有するため、最大16個のセンスアンプ回路30を並列動作させることができる。 Since the read circuit 12 shown in FIG. 7 has 16 sense amplifier circuits 30 in the nonvolatile memory device 10 according to the present embodiment, a maximum of 16 sense amplifier circuits 30 can be operated in parallel. You can

次に、本実施の形態における不揮発性メモリ装置10の動作の例について説明する。本実施の形態における不揮発性メモリ装置10はPUF登録モード、PUF再生モード、PUF再構成モード、恒久PUF登録モード、恒久PUFデータ再生モードの5つのモードを有している。これらの動作は、外部から入力されるコントロール信号で選択され、制御回路15によって、各モードの動作が実行される。また、チャレンジデータは、コントロール信号として、外部から制御回路15に入力され、レスポンスデータは、データ信号として、データ入出力回路6から外部に出力され得る。以下では、各モード実行時の動作について詳細に説明する。 Next, an example of the operation of the non-volatile memory device 10 according to the present embodiment will be described. The non-volatile memory device 10 in this embodiment has five modes: a PUF registration mode, a PUF reproduction mode, a PUF reconstruction mode, a permanent PUF registration mode, and a permanent PUF data reproduction mode. These operations are selected by a control signal input from the outside, and the control circuit 15 executes the operation in each mode. The challenge data can be externally input to the control circuit 15 as a control signal, and the response data can be externally output from the data input/output circuit 6 as a data signal. In the following, the operation during execution of each mode will be described in detail.

(PUF登録モード)
PUF登録モードでは、不揮発性メモリ装置10が備えるデータ生成回路は、第1の種類のチャレンジデータを取得した場合に、判定値設定回路13が設定した第1判定値とメモリセル21から読み出された抵抗値との比較によって、PUFデータである第1のレスポンスデータを生成してPUF領域8に格納する。そして、データ生成回路は、第1のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第1の種類のチャレンジデータを再び取得した場合には、第1のレスポンスデータとは異なる第3のレスポンスデータを生成してPUF領域8に格納する。つまり、このPUF登録モードでは、不揮発性メモリ装置10は、第1の種類のチャレンジデータを取得する度に、再構成書込みによって更新される、新たなPUFデータを生成する。
(PUF registration mode)
In the PUF registration mode, the data generation circuit included in the nonvolatile memory device 10 is read from the first determination value set by the determination value setting circuit 13 and the memory cell 21 when the first type of challenge data is acquired. The first response data, which is PUF data, is generated by comparison with the resistance value and stored in the PUF area 8. Then, the data generation circuit, after generating the first response data, reconfiguration writing is executed by the reconfiguration processing circuit, and after the reconfiguration writing is executed, the first type of challenge data is acquired again. In this case, the third response data different from the first response data is generated and stored in the PUF area 8. That is, in this PUF registration mode, the non-volatile memory device 10 generates new PUF data that is updated by reconfiguration writing each time the first type of challenge data is acquired.

以下、図10、図11を参照しながら、PUF登録モードについて詳細に説明する。 Hereinafter, the PUF registration mode will be described in detail with reference to FIGS. 10 and 11.

図10は、本実施の形態における不揮発性メモリ装置10によるPUFデータ登録時の動作例を示すフローチャートである。図11は、本実施の形態における不揮発性メモリ装置10によるPUFデータ登録時に生成されるヘルパーデータの生成方法を示すデータフロー図である。 FIG. 10 is a flowchart showing an operation example when PUF data is registered by the non-volatile memory device 10 according to the present embodiment. FIG. 11 is a data flow diagram showing a method of generating helper data generated when PUF data is registered by the non-volatile memory device 10 according to the present embodiment.

図10において、不揮発性メモリ装置10に第1の種類のチャレンジデータが入力されると、ステップS1では、低抵抗状態に設定されたPUF領域8内の各メモリセル21の抵抗値がセンスアンプ回路30によって読み出され、ステップS2では、読み出された抵抗値を元に、判定値設定回路13において、ばらつき分布の中央値が算出される。ステップS3では、ステップS2で算出された中央値が判定値として読出し回路12に出力され、ステップS4では、読出し回路12において判定値と抵抗値との大小を比較することで、第1のレスポンスデータまたは第3のレスポンスデータとして、PUFデータが生成される。ステップS5では、生成されたPUFデータの誤り訂正情報となるヘルパーデータが読出し回路12において生成され、ステップS6では、生成されたヘルパーデータがデータ入出力回路6および書込み回路14を経て情報領域7内の任意の指定アドレスに書込まれ、登録が完了する。 In FIG. 10, when the first type of challenge data is input to the non-volatile memory device 10, in step S1, the resistance value of each memory cell 21 in the PUF region 8 set to the low resistance state is the sense amplifier circuit. In step S2, the judgment value setting circuit 13 calculates the median value of the variation distribution based on the read resistance value. In step S3, the median value calculated in step S2 is output to the read circuit 12 as a determination value, and in step S4, the read circuit 12 compares the determination value with the resistance value to obtain the first response data. Alternatively, PUF data is generated as the third response data. In step S5, the helper data that is error correction information of the generated PUF data is generated in the read circuit 12, and in step S6, the generated helper data is passed through the data input/output circuit 6 and the write circuit 14 and stored in the information area 7. Will be written to any specified address, and registration will be completed.

次に、読出し回路12によるヘルパーデータの生成方法を、図11を用いて説明する。本実施の形態では、ヘルパーデータの生成時に使用する訂正符号として、BCH(15+1,7)符号を用いている。BCH(15+1,7)は、7ビットの情報ビットと9ビットのパリティビットの合計16ビットを符号データとし、16ビット中、2ビットの誤り訂正と3ビットの誤り検出が可能である。ヘルパーデータの生成では、図10のステップS4で生成した16ビットのPUFデータを上位7ビット(P1)と下位9ビット(P2)とに2分割する。次に7ビットのP1をBCH符号の情報ビットとして設定し、P1に対応する9ビットのパリティデータ(E)を生成する。この生成した9ビットのパリティビット(E)と生成したPUFデータのP2とをXOR処理することで、9ビットのヘルパーデータ(H)を得る。この生成したヘルパーデータ(H)は、通常のメモリデータと同様の方法で、情報領域7内の任意の指定アドレスに書込み、保持される。 Next, a method of generating helper data by the read circuit 12 will be described with reference to FIG. In the present embodiment, the BCH(15+1,7) code is used as the correction code used when generating the helper data. BCH(15+1,7) uses 7 bits of information bits and 9 bits of parity bits as a total of 16 bits as code data, and is capable of error correction of 2 bits and error detection of 3 bits among 16 bits. In the generation of helper data, the 16-bit PUF data generated in step S4 of FIG. 10 is divided into upper 7 bits (P1) and lower 9 bits (P2). Next, 7-bit P1 is set as an information bit of the BCH code, and 9-bit parity data (E) corresponding to P1 is generated. 9-bit helper data (H) is obtained by XORing the generated 9-bit parity bit (E) and P2 of the generated PUF data. The generated helper data (H) is written and held in an arbitrary designated address in the information area 7 in the same manner as the normal memory data.

(PUF再生モード)
次に、図12、図13を参照しながら、PUFデータ再生のフローについて説明する。
(PUF playback mode)
Next, the flow of PUF data reproduction will be described with reference to FIGS. 12 and 13.

図12は、本実施の形態における不揮発性メモリ装置10によるPUFデータ再生時の動作を示すフローチャートである。図13は、本実施の形態における不揮発性メモリ装置10による、PUFデータ再生時に使用するヘルパーデータと誤りを含んだ生PUFデータから、登録時の正しいPUFデータを再生するまでの処理を示すデータフロー図である。 FIG. 12 is a flowchart showing an operation at the time of PUF data reproduction by the non-volatile memory device 10 according to the present embodiment. FIG. 13 is a data flow showing a process by the non-volatile memory device 10 according to the present embodiment from raw PUF data including helper data used during PUF data reproduction and an error to reproduction of correct PUF data during registration. It is a figure.

図12において、ステップS7では、PUF領域8の各メモリセルの抵抗値がセンスアンプ回路30によって読み出される。ステップS8では、読み出された抵抗値を利用し、判定値設定回路13によって中央値が検出され、ステップS9で、検出された中央値が判定値として読出し回路12に出力される。ステップS10では、読出し回路12において、ステップS7で読み出された抵抗値とステップS9で設定された判定値との大小が比較され、生PUFデータが生成される。続いて、読出し回路12において、ステップS11で、PUFデータ登録時に格納されたヘルパーデータが読出され、読出し回路12が有する誤り訂正回路により、ステップS12において、ステップS9で取得した生PUFデータとステップS10で読出したヘルパーデータとを用いて、誤り訂正が実行され、その結果、ステップS13で、登録時の正しいPUFデータが取得される。 In FIG. 12, in step S7, the resistance value of each memory cell in the PUF area 8 is read by the sense amplifier circuit 30. In step S8, the read resistance value is used to determine the median value by the determination value setting circuit 13, and in step S9, the detected median value is output to the read circuit 12 as the determination value. In step S10, the read circuit 12 compares the resistance value read in step S7 with the determination value set in step S9 to generate raw PUF data. Subsequently, the read circuit 12 reads the helper data stored at the time of PUF data registration in step S11, and the error correction circuit included in the read circuit 12 reads the raw PUF data obtained in step S9 and step S10 in step S12. Error correction is executed using the helper data read in step S13, and as a result, correct PUF data at the time of registration is acquired in step S13.

次に、ステップS12での読出し回路12の誤り訂正回路によるヘルパーデータを用いた誤り訂正方法について、図13を用いて説明する。ステップS10で再生された生PUFデータは、デバイスの経年劣化や動作時での環境変動の影響により、エラーが発生することがある。以下の説明では、再生時に取得した16ビットの生PUFデータに対し、P1とP2のそれぞれにe1、e2のエラーが発生した場合を想定する(但し、e1+e2は2ビット以下)。ステップS11で読出したヘルパーデータ(H)と生PUFデータの下位9ビット(P2+e2)とをXOR処理することで、PUFデータ登録時に生成した上位7ビットに対するパリティビットを再現する。しかし、生PUFデータP2はe2のエラーが含まれているため、実際にはe2のエラーが含んだパリティビット(E+e2)として再現される。次に、上位7ビットの生PUFデータ(P1+e1)と再現後のパリティデータ(E+e2)とを用いて、誤り訂正を実行する。e1+e2が2ビット以下の誤りであれば、誤り訂正が可能な誤りビット数であるため、元のPUFデータ(P1)とパリティデータ(E)とに訂正され、正しいP1とEとが再現される。最後に、正しく再現されたパリティデータ(E)とヘルパーデータ(H)とをXOR処理することで、元の正しいP2データが得られ、PUFデータ登録時の正しい16ビットのPUFデータを取得することができる。 Next, an error correction method using helper data by the error correction circuit of the read circuit 12 in step S12 will be described with reference to FIG. The raw PUF data reproduced in step S10 may have an error due to the deterioration of the device over time and the influence of environmental changes during operation. In the following description, it is assumed that errors of e1 and e2 occur in P1 and P2 of 16-bit raw PUF data acquired during reproduction (however, e1+e2 is 2 bits or less). The helper data (H) read in step S11 and the lower 9 bits (P2+e2) of the raw PUF data are XOR-processed to reproduce the parity bit for the upper 7 bits generated at the time of PUF data registration. However, since the raw PUF data P2 contains an error of e2, it is actually reproduced as a parity bit (E+e2) containing an error of e2. Next, error correction is executed using the high-order 7-bit raw PUF data (P1+e1) and the reproduced parity data (E+e2). If e1+e2 is an error of 2 bits or less, the number of error bits is such that error correction is possible, so the original PUF data (P1) and parity data (E) are corrected, and correct P1 and E are reproduced. .. Finally, by XORing the correctly reproduced parity data (E) and helper data (H), the original correct P2 data is obtained, and correct 16-bit PUF data at the time of PUF data registration is acquired. You can

なお、図12および図13で説明した処理は、上述したように、読出し回路12等により行われるが、これに限らず、不揮発性メモリ装置10が有する他の構成要素によって行われてもよいし、不揮発性メモリ装置10の外部の構成要素によって行われてもよい。 Note that the processing described with reference to FIGS. 12 and 13 is performed by the read circuit 12 and the like as described above, but is not limited to this, and may be performed by another component included in the nonvolatile memory device 10. , May be performed by a component external to the non-volatile memory device 10.

なお、一般的な誤り訂正は、誤り訂正を行うために情報データに対応したパリティデータ(誤り訂正データ)が付加され、データとパリティデータの両方が不揮発性メモリに格納される。例えば、PUFデータに対し、パリティデータを付加し不揮発性メモリに格納した場合、このパリティデータは、PUFデータと一対一で紐づけられているため、パリティデータの情報から、PUFデータが推測されるリスクを持つこととなる。しかし、本実施の形態で説明したPUFデータの誤り訂正方式は、PUFデータを二つに分割し、一方のPUFデータに対応するパリティデータを生成後、もう一方のPUFデータとのXORによる暗号化によって生成されたデータをヘルパーデータとして保存しているため、ヘルパーデータから元のPUFデータを予測することが困難となる。つまり、上述した誤り訂正方式は、従来の誤り訂正方式よりも、高セキュアである。 In general error correction, parity data (error correction data) corresponding to information data is added to perform error correction, and both the data and the parity data are stored in the nonvolatile memory. For example, when the parity data is added to the PUF data and stored in the non-volatile memory, the parity data is associated with the PUF data on a one-to-one basis, so the PUF data is inferred from the parity data information. You have a risk. However, the PUF data error correction method described in the present embodiment divides the PUF data into two, generates parity data corresponding to one PUF data, and then encrypts the other PUF data by XOR. Since the data generated by is stored as helper data, it is difficult to predict the original PUF data from the helper data. That is, the error correction method described above is more secure than the conventional error correction method.

(PUF再構成モード)
図14は、本実施の形態における不揮発性メモリ装置10によるPUF再構成モードの動作例を示すフローチャートである。制御回路15(つまり、不揮発性メモリ装置10が備える再構成処理回路)は、ステップS14では、図5で説明した、高抵抗化書込みと低抵抗化書込みとを連続で処理する再構成書込みを実行し、ステップS15での判断により、指定の回数に到達するまで、再構成書込みを実行する。ステップS15での判断で用いる指定の回数(つまり、再構成書込み回数)は、再構成書込み前後のPUFのユニーク性を向上する上で有効なパラメータである。図15は、図14の再構成書込みを100回実行したときに生成される各回数でのPUFデータ間のハミング距離を求め、横軸をハミング距離、縦軸を規格化度数として示したグラフである。図15の(a)〜(c)は、それぞれ、再構成書込み回数を1回、3回、5回と回数を変化させた場合のグラフである。このハミング距離よるグラフは、PUFデータのユニーク性の評価指標として用いられ、分布の幅が狭くかつ、中心が0.5(つまり、半数のビットの値が異なる)が理想の値である。図15の(a)〜(c)に示されるように、再構成書込み回数を1回、3回、5回と回数を変化させた場合の分布を比較すると、再構成書込み回数を増やすことで、分布の中心が0.21、0.24、0.27と0.5に近づき、ユニーク性が改善していることが確認できる。つまり、PUF再構成モードにおいて、再構成書込みの回数はユニーク性を改善する上で、重要なパラメータとなる。しかし、一方で再構成回数の増加は、ユニーク性を良化させるものの、メモリセルに対し、多くの電圧ストレスを印加することになり、信頼性が低下する可能性が存在する。再構成回数の選択については、使用用途に要求されるユニーク性と信頼性の仕様とに応じて、最適な回数を選択する必要がある。
(PUF reconstruction mode)
FIG. 14 is a flowchart showing an operation example of the PUF reconstruction mode by the non-volatile memory device 10 according to the present embodiment. In step S14, the control circuit 15 (that is, the reconfiguration processing circuit included in the non-volatile memory device 10) executes the reconfiguration writing that continuously processes the high resistance writing and the low resistance writing described in FIG. Then, according to the judgment in step S15, the reconfiguration writing is executed until the designated number of times is reached. The designated number of times (that is, the number of reconfiguration writes) used in the determination in step S15 is an effective parameter for improving the uniqueness of the PUF before and after the reconfiguration writing. FIG. 15 is a graph showing the Hamming distance between PUF data at each number of times generated when the reconstruction writing of FIG. 14 is executed 100 times, the horizontal axis being the Hamming distance, and the vertical axis being the normalized frequency. is there. 15A to 15C are graphs when the number of times of reconfiguration writing is changed to 1, 3, and 5, respectively. This graph based on the Hamming distance is used as an evaluation index for the uniqueness of PUF data, and the ideal value is that the width of the distribution is narrow and the center is 0.5 (that is, the values of half the bits are different). As shown in (a) to (c) of FIG. 15, comparing the distributions when the number of times of reconfiguration writing is changed to 1, 3, and 5 times, the number of times of reconfiguration writing is increased. It can be confirmed that the center of the distribution approaches 0.21, 0.24, 0.27 and 0.5, and the uniqueness is improved. That is, in the PUF reconfiguration mode, the number of reconfiguration writes is an important parameter for improving uniqueness. However, on the other hand, although the increase in the number of reconfigurations improves the uniqueness, a large amount of voltage stress is applied to the memory cells, which may reduce the reliability. Regarding the selection of the number of reconstructions, it is necessary to select the optimum number of times according to the uniqueness and reliability specifications required for the intended use.

(恒久PUF登録モード)
恒久PUF登録モードでは、不揮発性メモリ装置10が備えるデータ生成回路は、第2の種類のチャレンジデータを取得した場合に、判定値設定回路13が設定した第1判定値とメモリセル21から読み出された抵抗値との比較によって、PUFデータである第2のレスポンスデータを生成してPUF領域8に格納する。そして、データ生成回路は、第2のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第2の種類のチャレンジデータを再び取得した場合には、第2のレスポンスデータと同じ第4のレスポンスデータを生成してPUF領域8に格納する。つまり、この恒久PUF登録モードでは、不揮発性メモリ装置10は、第2の種類のチャレンジデータを取得する度に、再構成書込みによっては更新されない、新たなPUFデータを生成する。
(Permanent PUF registration mode)
In the permanent PUF registration mode, the data generation circuit included in the non-volatile memory device 10 reads the first determination value set by the determination value setting circuit 13 and the memory cell 21 when the second type challenge data is acquired. The second response data, which is PUF data, is generated by comparison with the determined resistance value and stored in the PUF area 8. The data generation circuit, after generating the second response data, executes the reconfiguration writing by the reconfiguration processing circuit, and again acquires the second type of challenge data after the reconfiguration writing is executed. In this case, the same fourth response data as the second response data is generated and stored in the PUF area 8. That is, in the permanent PUF registration mode, the non-volatile memory device 10 generates new PUF data that is not updated by reconfiguration writing every time the second type challenge data is acquired.

以下、図16、図17ならびに、図18を用いて、恒久PUFデータ登録モードの動作について説明する。図16は、本実施の形態における不揮発性メモリ装置10による恒久PUFデータ登録モードの動作例を示すフローチャートである。図17は、図3に対して恒久PUFデータ登録モードに関する説明を追記した図である。図18は、本実施の形態における不揮発性メモリ装置10による恒久PUFデータの生成に用いられるデータの具体例を示す図である。より詳しくは、図18の(a)は、中央値、第1恒久判定値および第2恒久判定値の例を示し、図18の(b)は、抵抗値レジスタの値の例を示し、図18の(c)は、PUFデータおよび恒久情報データの例を示す。 The operation in the permanent PUF data registration mode will be described below with reference to FIGS. 16, 17, and 18. FIG. 16 is a flowchart showing an operation example of the permanent PUF data registration mode by the nonvolatile memory device 10 according to the present embodiment. FIG. 17 is a diagram in which a description regarding the permanent PUF data registration mode is added to FIG. FIG. 18 is a diagram showing a specific example of data used for generating permanent PUF data by the nonvolatile memory device 10 according to the present embodiment. More specifically, FIG. 18A shows an example of the median value, the first permanent judgment value, and the second permanent judgment value, and FIG. 18B shows an example of the value of the resistance value register. 18C shows an example of PUF data and permanent information data.

図16において、ステップS17では、PUF領域8の各メモリセルの抵抗値がセンスアンプ回路30によって読み出される。ステップS18では、判定値設定回路13は、PUFデータの生成に用いられた判定値(以下、PUF判定値ともいう)よりも高い抵抗値で設定される第1恒久判定値と、PUF判定値よりも低い抵抗値で設定される第2恒久判定値を読出し回路12に出力(つまり、設定)する。続いて、読出し回路12は、ステップS19では、各メモリセルの抵抗値と設定された第1恒久判定値および第2恒久判定値とを比較し、ステップS20、S21において、図17に示すように、第1恒久判定値よりも大きく、第2恒久判定値よりも小さい抵抗値のメモリセルを「1」データとして割り当て、第1恒久判定値よりも小さく、第2恒久判定値よりも大きい抵抗値のメモリセルを「0」データとして割り当て、このように割り当てたデータを恒久情報データ(つまり、マスクデータ)として取得する。最後に、読出し回路12は、ステップS22で、取得した恒久情報データを、通常メモリと同様の方法で指定の情報領域7に格納し、終了する。この恒久情報データは、恒久PUFデータを示すものではなく、恒久PUFデータの対象となるビットの位置(アドレス)情報を示すデータとなるため、このデータが盗まれたとしても、恒久PUFデータが漏洩するリスクはないといえる。 In FIG. 16, in step S17, the resistance value of each memory cell in the PUF area 8 is read by the sense amplifier circuit 30. In step S18, the determination value setting circuit 13 determines the first permanent determination value that is set with a resistance value higher than the determination value used to generate the PUF data (hereinafter, also referred to as PUF determination value) and the PUF determination value. The second permanent judgment value set with a low resistance value is output (that is, set) to the reading circuit 12. Subsequently, the read circuit 12 compares the resistance value of each memory cell with the set first permanent judgment value and second permanent judgment value in step S19, and in steps S20 and S21, as shown in FIG. , A memory cell having a resistance value larger than the first permanent judgment value and smaller than the second permanent judgment value is assigned as “1” data, and the resistance value is smaller than the first permanent judgment value and larger than the second permanent judgment value. The memory cell is allocated as "0" data, and the data thus allocated is acquired as permanent information data (that is, mask data). Finally, in step S22, the read circuit 12 stores the acquired permanent information data in the designated information area 7 by the same method as the normal memory, and ends the processing. Since this permanent information data does not indicate permanent PUF data but data indicating the position (address) of the bit that is the target of the permanent PUF data, even if this data is stolen, the permanent PUF data is leaked. It can be said that there is no risk to

以下では、具体的な値で処理した例として、図18を用いて説明する。図18では、説明の簡略化のために、取得ビットを16ビットとしている。例えば、図18の(a)に示されるように、判定値設定回路13によって、事前に検出された中央値(つまり、PUF判定値)が124、設定された第1恒久判定値が210、第2恒久判定値を40とする。センスアンプ回路によって測定された各メモリセルの抵抗値が読み出されると、図18の(b)に示されるように、読出し回路12内に搭載された、抵抗値レジスタに各メモリセルの抵抗値が格納される。次に、図18の(c)に示されるように、読出し回路12において、この取得した抵抗値と中央値とを比較することで、PUFデータ(表中では、100011100010110)が生成され、さらに、この取得した抵抗値と第1恒久判定値および第2恒久判定値とを比較することで、恒久情報データ(表中では、1100010000010011)が生成される。恒久情報データについては、情報領域7の指定のアドレスに格納され、管理される。 Hereinafter, an example of processing with a specific value will be described with reference to FIG. In FIG. 18, the acquired bits are 16 bits for simplification of description. For example, as shown in (a) of FIG. 18, the median value (that is, the PUF determination value) detected in advance by the determination value setting circuit 13 is 124, the set first permanent determination value is 210, and the first permanent determination value is 210. 2 Set the permanent judgment value to 40. When the resistance value of each memory cell measured by the sense amplifier circuit is read, the resistance value of each memory cell is stored in the resistance value register mounted in the read circuit 12 as shown in (b) of FIG. Is stored. Next, as shown in FIG. 18C, the read circuit 12 compares the obtained resistance value with the median value to generate PUF data (100011100010110 in the table), and further, By comparing the acquired resistance value with the first permanent judgment value and the second permanent judgment value, the permanent information data (1100010000010011 in the table) is generated. The permanent information data is stored and managed at a designated address in the information area 7.

(恒久PUF再生モード)
次に図19、図20を用いて、恒久PUFデータ再生モードについて説明する。図19は、本実施の形態における不揮発性メモリ装置10による恒久PUFデータ再生モードの動作例を示すフローチャートである。図20は、本実施の形態における不揮発性メモリ装置10による恒久PUFデータの生成例を示す図である。
(Permanent PUF playback mode)
Next, the permanent PUF data reproduction mode will be described with reference to FIGS. FIG. 19 is a flowchart showing an operation example of the permanent PUF data reproduction mode by the non-volatile memory device 10 according to the present embodiment. FIG. 20 is a diagram showing an example of generation of permanent PUF data by the non-volatile memory device 10 according to the present embodiment.

図19において、不揮発性メモリ装置10に第2の種類のチャレンジデータが入力されると、ステップS23では、PUF領域8の各メモリセルの抵抗値がセンスアンプ回路30によって読み出され、ステップ24では、得られた抵抗値は判定値設定回路13によって中央値が検出された後、ステップS25で、読出し回路12に対して、検出した中央値を判定値として出力(つまり、設定)する。ステップS26では、読出し回路12は、ステップS25で設定された判定値とステップS23で取得した抵抗値との大小を比較し、生PUFデータを取得する。続いて、読出し回路12は、ステップS27では、不揮発性メモリの情報領域7に格納されたヘルパーデータを読出し、読出し回路12が有する誤り訂正回路は、ステップS28で、読出したヘルパーデータを利用して、生PUFデータの誤り訂正を実行し、ステップS29にてPUFデータ登録時の正しいPUFデータを取得する。 In FIG. 19, when the second type of challenge data is input to the nonvolatile memory device 10, the resistance value of each memory cell in the PUF area 8 is read by the sense amplifier circuit 30 in step S23, and in step 24. After the median value of the obtained resistance value is detected by the judgment value setting circuit 13, the detected median value is output (that is, set) as the judgment value to the reading circuit 12 in step S25. In step S26, the read circuit 12 compares the judgment value set in step S25 and the resistance value acquired in step S23 to obtain the raw PUF data. Subsequently, the read circuit 12 reads the helper data stored in the information area 7 of the nonvolatile memory in step S27, and the error correction circuit included in the read circuit 12 uses the helper data read in step S28. The error correction of the raw PUF data is executed, and the correct PUF data at the time of PUF data registration is acquired in step S29.

次に、読出し回路12は、ステップS30では、恒久PUFデータ登録モード時に生成し情報領域7に格納された恒久情報データを読出し、ステップS31で、図20に示すように、恒久情報データで「1」データとして割り当てられているビットのみを抽出し、上位ビットから対象ビットとなるPUFデータを順番に取り込む。このとき、恒久PUF再生モード実行前に、PUF領域8でPUF再構成モードによる再構成書込みが、1回、2回・・・N回と実行されていたとしても、恒久情報データが1に対応するビットについては、PUFデータは変化せず、恒久PUFデータとして固定の値が常に抽出される。この恒久PUFデータの対象となるビットは、PUF領域8においてランダムに存在するため、センスアンプ回路30によって並列に読み出される複数のメモリセルを読出しメモリグループとすると、読出しメモリグループに恒久PUFデータが複数存在する場合もあれば、存在しない場合もあり得る。すなわち、ステップS32では、読出し回路12は、抽出された累積の恒久PUFデータが128ビットに到達したかを判定し、128ビットに到達していなければ、ステップS33のように、PUF領域8内の次の読出しメモリグループでの恒久PUFデータ抽出を繰り返し、恒久PUFデータが128ビットとなった時点で動作が終了し、第2のレスポンスデータまたは第4のレスポンスデータとして、恒久PUFデータを取得する。 Next, in step S30, the reading circuit 12 reads the permanent information data generated in the permanent PUF data registration mode and stored in the information area 7, and in step S31, as shown in FIG. Only the bits assigned as data are extracted, and the PUF data that is the target bit is sequentially fetched from the upper bits. At this time, the permanent information data corresponds to 1 even if the reconfiguration writing in the PUF reconfiguration mode is executed once, twice,... N times in the PUF area 8 before the permanent PUF playback mode is executed. For the bits to be set, PUF data does not change, and a fixed value is always extracted as permanent PUF data. Since the target bits of this permanent PUF data are randomly present in the PUF area 8, if a plurality of memory cells read in parallel by the sense amplifier circuit 30 are used as a read memory group, a plurality of permanent PUF data are stored in the read memory group. It may or may not exist. That is, in step S32, the read circuit 12 determines whether or not the extracted cumulative permanent PUF data has reached 128 bits, and if it has not reached 128 bits, the read circuit 12 stores in the PUF area 8 as in step S33. The extraction of the permanent PUF data in the next read memory group is repeated. When the permanent PUF data becomes 128 bits, the operation ends, and the permanent PUF data is acquired as the second response data or the fourth response data.

なお、恒久PUFデータの抽出は、ヘルパーデータによる誤り訂正を用いず、生PUFデータで抽出してもよい。PUFデータの誤り発生の要因は、中央値付近のメモリセルの抵抗値が揺らぐことにより、中央値を超えることが要因である。しかし、本実施の形態のように、中央値付近を使用しない恒久PUFデータは、中央値から離れた箇所の抵抗値のみを採用しており、これは、言い換えるとエラーの発生しにくいデータのみを採用していると言える。 The permanent PUF data may be extracted as raw PUF data without using error correction by helper data. The cause of an error in PUF data is that the resistance value of a memory cell near the median value fluctuates and exceeds the median value. However, as in the present embodiment, the permanent PUF data that does not use the vicinity of the median value adopts only the resistance value at a position away from the median value, in other words, only the data that is less likely to cause an error is used. It can be said that it is adopted.

また、本実施の形態では、恒久PUFデータについては、誤り訂正処理を実施していないが、恒久PUFデータに対するヘルパーデータを生成し、誤り訂正を実施してもよい。特に車載などの厳しい環境下で高い信頼性が求められるような場合は、PUFデータと恒久PUFデータの両方のヘルパーデータを情報領域7に格納し、誤り訂正を実行することで、より信頼性を高めることが可能である。 Further, in the present embodiment, error correction processing is not performed on permanent PUF data, but error correction may be performed by generating helper data for permanent PUF data. If high reliability is required especially in a harsh environment such as in a vehicle, storing helper data for both PUF data and permanent PUF data in the information area 7 and performing error correction will improve reliability. It is possible to increase.

また、PUFデータのヘルパーデータは情報領域7に格納せず、恒久PUFデータのヘルパーデータのみを情報領域7に格納してもよい。PUFデータを使用せずに恒久PUFデータのみを有効なPUFデータとして使用する場合、恒久PUFデータのヘルパーデータのみを登録することで、PUFデータに対するヘルパーデータを格納しない分、再生時に必要となるビット数を削減することができる。 Further, the helper data of PUF data may not be stored in the information area 7, and only the helper data of permanent PUF data may be stored in the information area 7. When only permanent PUF data is used as valid PUF data without using PUF data, by registering only the helper data of the permanent PUF data, the helper data for the PUF data is not stored and the bits required for playback The number can be reduced.

以上のように、本実施の形態に係る不揮発性メモリ装置10は、抵抗変化型の複数のメモリセル21で構成されたメモリセルアレイ20と、チャレンジデータを取得した場合に、メモリセルアレイ20を用いてレスポンスデータを生成するデータ生成回路(主に制御回路15、読出し回路12および判定値設定回路13によって実現される機能回路)と、メモリセルアレイ20に対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路(主に制御回路15および書込み回路14によって実現される機能回路)とを備え、データ生成回路は、第1の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置10ごとに異なる固有の第1のレスポンスデータを生成し(PUF登録モード)、第2の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置10ごとに異なる固有の第2のレスポンスデータを生成し(恒久PUF登録モード)、第1のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第1の種類のチャレンジデータを再び取得した場合に、第1のレスポンスデータとは異なる第3のレスポンスデータを生成し(PUF登録モード)、第2のレスポンスデータを生成した後に、再構成処理回路によって再構成書込みが実行され、かつ、再構成書込みが実行された後に第2の種類のチャレンジデータを再び取得した場合に、第2のレスポンスデータと同じ第4のレスポンスデータを生成する(恒久PUF登録モード)。 As described above, the nonvolatile memory device 10 according to the present embodiment uses the memory cell array 20 including the plurality of resistance change type memory cells 21 and the memory cell array 20 when the challenge data is acquired. A data generation circuit (mainly a functional circuit realized by the control circuit 15, the read circuit 12, and the judgment value setting circuit 13) that generates response data, and a memory pulse that applies a voltage pulse at least once to the memory cell array 20. And a reconfiguration processing circuit (mainly a functional circuit realized by the control circuit 15 and the writing circuit 14) that executes the configuration writing, and the data generation circuit is non-volatile when the first type of challenge data is acquired. If unique first response data that is different for each memory device 10 is generated (PUF registration mode) and challenge data of the second type is acquired, unique second response data that is different for each non-volatile memory device 10 will be described. Is generated (permanent PUF registration mode) and the first response data is generated, reconfiguration writing is executed by the reconfiguration processing circuit, and the first type of challenge data is executed after the reconfiguration writing is executed. When reacquired, the third response data different from the first response data is generated (PUF registration mode), and after the second response data is generated, reconfiguration writing is executed by the reconfiguration processing circuit, Further, when the second type of challenge data is acquired again after the reconfigurable writing is executed, the same fourth response data as the second response data is generated (permanent PUF registration mode).

これにより、不揮発性メモリ装置10は、再構成書込みによって新たなPUFデータが生成されるPUF登録モードと、再構成書込みによっては変化しないPUFデータが生成される恒久PUF登録モードとを有する。よって、再構成書込みによって常に新たなPUFデータが生成される従来の不揮発性メモリ装置に比べ、より高い耐タンパ性を有する不揮発性メモリ装置が実現される。 Accordingly, the non-volatile memory device 10 has a PUF registration mode in which new PUF data is generated by reconfiguration writing and a permanent PUF registration mode in which PUF data that does not change by reconfiguration writing is generated. Therefore, a non-volatile memory device having higher tamper resistance than a conventional non-volatile memory device in which new PUF data is always generated by reconfiguring writing is realized.

また、メモリセルアレイ20は、複数のメモリセル21のうち、レスポンスデータを生成するために必要な抵抗値を保持するメモリセル21で構成される第1領域(情報領域7)と、複数のメモリセル21のうち、抵抗値以外の情報を保持するメモリセル21で構成される第2領域(PUF領域8)とを有する。これにより、一つの不揮発性メモリ装置10には、PUFデータの生成に用いられる抵抗値以外の情報を保持する第2領域が設けられるので、不揮発性メモリ装置10を、PUFデータの生成装置としてだけでなく、各種情報を記憶するための一般的なメモリとしても用いることもできる。 In addition, the memory cell array 20 includes a first area (information area 7) formed of the memory cells 21 holding a resistance value required to generate response data among the plurality of memory cells 21, and a plurality of memory cells. 21 of the memory cells 21, a second area (PUF area 8) formed of the memory cells 21 holding information other than the resistance value. As a result, since one non-volatile memory device 10 is provided with the second area for holding information other than the resistance value used for generating PUF data, the non-volatile memory device 10 is used only as a PUF data generating device. Instead, it can also be used as a general memory for storing various information.

また、データ生成回路は、メモリセルアレイ20を構成する複数のメモリセル21から抵抗値を取得する読出し回路と、取得した抵抗値から第1判定値を決定する判定値設定回路13とを備え、第1の種類のチャレンジデータを取得した場合に、第1判定値と抵抗値との比較によって第1のレスポンスデータおよび第3のレスポンスデータを生成する。これにより、PUFデータの生成に用いられる第1判定値が判定値設定回路13によって動的に決定され得る。 The data generation circuit includes a read circuit that acquires resistance values from the plurality of memory cells 21 that form the memory cell array 20, and a judgment value setting circuit 13 that determines the first judgment value from the acquired resistance values. When the one type of challenge data is acquired, the first response data and the third response data are generated by comparing the first determination value and the resistance value. As a result, the first determination value used to generate PUF data can be dynamically determined by the determination value setting circuit 13.

また、第1判定値は、複数のメモリセル21のうちの所定の複数のメモリセル21の抵抗値の中央値である。これにより、中央値と各メモリセルの抵抗値との比較によってPUFデータが生成されるので、「1」が生成される確率と「0」が生成される確率とが略等しくなり、偏りの少ないPUFデータが生成される。 The first determination value is the median value of the resistance values of a plurality of predetermined memory cells 21 among the plurality of memory cells 21. As a result, PUF data is generated by comparing the median value with the resistance value of each memory cell, so that the probability that "1" is generated and the probability that "0" are generated are substantially equal, and there is little bias. PUF data is generated.

また、データ生成回路は、第1判定値よりも小さい第2判定値と、第1判定値よりも大きな第3判定値とを用いて、第2判定値よりも大きく、かつ、第3判定値よりも小さい抵抗値のメモリセル21に割り当てられる第1データと、第2判定値よりも小さい、または、第3判定値よりも大きい抵抗値のメモリセル21に割り当てられる第2データとで構成されたマスクデータ(つまり、恒久情報データ)を生成し、第2の種類のチャレンジデータを取得した場合に、マスクデータと第1のレスポンスデータまたは第3のレスポンスデータとの比較によって第2のレスポンスデータまたは第4のレスポンスデータを生成する。これにより、恒久PUF登録モードでは、第1判定値から大きく離れた抵抗値によって定義されるマスクデータが用いられるので、再構成書込みよっては変化しにくい安定したPUFデータが生成される。 Further, the data generation circuit uses the second judgment value smaller than the first judgment value and the third judgment value larger than the first judgment value, and is larger than the second judgment value and larger than the third judgment value. The first data is assigned to the memory cell 21 having a resistance value smaller than that, and the second data is assigned to the memory cell 21 having a resistance value smaller than the second determination value or larger than the third determination value. When the mask data (that is, the permanent information data) is generated and the second type of challenge data is acquired, the second response data is obtained by comparing the mask data with the first response data or the third response data. Alternatively, the fourth response data is generated. As a result, in the permanent PUF registration mode, since the mask data defined by the resistance value far apart from the first determination value is used, stable PUF data that is hard to change by reconstruction writing is generated.

また、メモリセルアレイ20は、複数のメモリセル21のうち、レスポンスデータを生成するために必要な抵抗値を保持するメモリセル21で構成される第1領域(情報領域7)と、複数のメモリセル21のうち、マスクデータが格納される第2領域(PUF領域8)とを有す。これにより、マスクデータは不揮発性メモリ装置10が有する第2領域に格納されるので、マスクデータの保存のために不揮発性メモリ装置10以外の特別な記憶装置を準備する必要がない。 In addition, the memory cell array 20 includes a first area (information area 7) formed of the memory cells 21 holding a resistance value required to generate response data among the plurality of memory cells 21, and a plurality of memory cells. The second area (PUF area 8) in which the mask data is stored. As a result, the mask data is stored in the second area of the non-volatile memory device 10, so it is not necessary to prepare a special storage device other than the non-volatile memory device 10 for storing the mask data.

また、メモリセルアレイ20を構成する複数のメモリセル21は、第1書込みを行うことで、第1抵抗状態から第2抵抗状態に遷移し、第1書込みとは異なる第2書込みを行うことで、第2抵抗状態から第1抵抗状態に遷移する性質を有し、データ生成回路は、メモリセルアレイ20の複数のメモリセル21のうち、第1抵抗状態に設定されている複数のメモリセル21を用いてレスポンスデータを生成する。これにより、同じ抵抗状態にあるメモリセルの抵抗値を用いてPUFデータが生成されるので、生成されるPUFデータの予測がより困難となり、高い安全性が確保される。 In addition, the plurality of memory cells 21 included in the memory cell array 20 transition from the first resistance state to the second resistance state by performing the first write, and perform the second write different from the first write, The data generation circuit has a property of transitioning from the second resistance state to the first resistance state, and the data generation circuit uses the plurality of memory cells 21 set to the first resistance state among the plurality of memory cells 21 of the memory cell array 20. To generate response data. As a result, PUF data is generated using the resistance values of the memory cells in the same resistance state, which makes it more difficult to predict the generated PUF data and ensures high safety.

また、再構成処理回路は、再構成書込みとして、第1抵抗状態のメモリセル21に対して、第1書込みにより、第2抵抗状態へ遷移させた後、第2書込みにより、第1抵抗状態に遷移させる。これにより、再構成書込みが行われた後であっても、再構成書込みが行われる前と同じ抵抗状態に戻るので、再構成書込みの前後において生成されるPUFデータの予測がより困難となり、高い安全性が確保される。 Further, the reconfiguration processing circuit, as reconfiguration writing, transitions the memory cell 21 in the first resistance state to the second resistance state by the first writing, and then changes it to the first resistance state by the second writing. Make a transition. As a result, even after the reconfiguration write is performed, the resistance state returns to the same resistance state as before the reconfiguration write is performed, so that it becomes more difficult to predict the PUF data generated before and after the reconfiguration write, which is high. Safety is secured.

また、データ生成回路は、誤り訂正回路を具備し、レスポンスデータに対して、誤り訂正を行う。これにより、不揮発性メモリ装置10に保存されたPUFデータが長期保存等によってビット誤りを生じた場合であっても、誤り訂正により、元のPUFデータが再現され得る。 In addition, the data generation circuit includes an error correction circuit and performs error correction on the response data. Thus, even if the PUF data stored in the non-volatile memory device 10 has a bit error due to long-term storage or the like, the original PUF data can be reproduced by error correction.

また、メモリセルアレイ20は、複数のメモリセル21のうち、レスポンスデータを生成するために必要な抵抗値を保持するメモリセル21で構成される第1領域(情報領域7)と、複数のメモリセル21のうち、誤り訂正を行う際に必要なヘルパーデータが格納されるメモリセル21で構成される第2領域(PUF領域8)とを有する。これにより、誤り訂正に用いられるヘルパーデータが不揮発性メモリ装置10の第2領域に格納されるので、誤り訂正のために不揮発性メモリ装置10以外の特別な記憶装置を準備する必要がない。 In addition, the memory cell array 20 includes a first area (information area 7) formed of the memory cells 21 holding a resistance value required to generate response data among the plurality of memory cells 21, and a plurality of memory cells. The second area (PUF area 8) of the memory cells 21 in which helper data required for error correction is stored. As a result, the helper data used for error correction is stored in the second area of the non-volatile memory device 10, so it is not necessary to prepare a special storage device other than the non-volatile memory device 10 for error correction.

また、本実施の形態に係るチャレンジ・レスポンス方法は、抵抗変化型の複数のメモリセル21で構成されたメモリセルアレイ20を備える不揮発性メモリ装置10によってチャレンジデータに対応するレスポンスデータを生成するチャレンジ・レスポンス方法であって、チャレンジデータを取得した場合に、メモリセルアレイ20を用いてレスポンスデータを生成するデータ生成ステップと、メモリセルアレイ20に対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理ステップとを含み、データ生成ステップでは、第1の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置10ごとに異なる固有の第1のレスポンスデータを生成し(PUF登録モード)、第2の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置10ごとに異なる固有の第2のレスポンスデータを生成し(恒久PUF登録モード)、第1のレスポンスデータを生成した後に、再構成処理ステップによって再構成書込みが実行され、かつ、再構成書込みが実行された後に第1の種類のチャレンジデータを取得した場合に、第1のレスポンスデータとは異なる第3のレスポンスデータを生成し(PUF登録モード)、第2のレスポンスデータを生成した後に、再構成処理ステップによって再構成書込みが実行され、かつ、再構成書込みが実行された後に第2の種類のチャレンジデータを取得した場合に、第2のレスポンスデータと同じ第4のレスポンスデータを生成する(恒久PUF登録モード)。 In addition, the challenge-response method according to the present embodiment uses the non-volatile memory device 10 including the memory cell array 20 including a plurality of resistance change type memory cells 21 to generate response data corresponding to the challenge data. A response method, which includes a data generating step of generating response data using the memory cell array 20 when the challenge data is acquired, and a reconfiguration write for applying a voltage pulse to the memory cell array 20 at least once. In the data generation step, when the first type of challenge data is acquired, a unique first response data that is different for each non-volatile memory device 10 is generated (PUF registration mode). ), when the second type of challenge data is acquired, unique second response data different for each nonvolatile memory device 10 is generated (permanent PUF registration mode), and after generating the first response data, When the reconfiguration write is executed by the reconfiguration processing step, and when the first type challenge data is acquired after the reconfiguration write is executed, the third response data different from the first response data is generated. (PUF registration mode), after the second response data is generated, the reconfiguration writing is executed by the reconfiguration processing step, and the second type of challenge data is acquired after the reconfiguration writing is executed. Then, the same fourth response data as the second response data is generated (permanent PUF registration mode).

これにより、不揮発性メモリ装置10によって、再構成書込みによって新たなPUFデータが生成されるPUF登録モードと、再構成書込みによっては変化しないPUFデータが生成される恒久PUF登録モードとが実現される。よって、再構成書込みによって常に新たなPUFデータが生成される従来の不揮発性メモリ装置に比べ、より高い耐タンパ性を有するチャレンジ・レスポンス方法が実現される。 As a result, the nonvolatile memory device 10 realizes a PUF registration mode in which new PUF data is generated by reconfiguration writing and a permanent PUF registration mode in which PUF data that does not change by reconfiguration writing is generated. Therefore, as compared with the conventional nonvolatile memory device in which new PUF data is always generated by reconfiguring writing, a challenge/response method having higher tamper resistance is realized.

(その他の実施形態)
以上、実施の形態における不揮発性メモリ装置10およびチャレンジ・レスポンス方法について説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
(Other embodiments)
Although the non-volatile memory device 10 and the challenge/response method according to the embodiment have been described above, the present disclosure is not limited to the above embodiment. Without departing from the gist of the present disclosure, various modifications made by those skilled in the art to the present embodiment, and other forms constructed by combining some of the components in the embodiment are also included in the scope of the present disclosure. Contained within.

例えば、上記実施の形態では、生成したヘルパーデータを、必ず情報領域7に格納する必要はなく、サーバーや外付けの記録媒体に格納されてもよい。 For example, in the above embodiment, the generated helper data does not necessarily have to be stored in the information area 7, but may be stored in the server or an external recording medium.

また、上記実施の形態で記載した、PUF登録モード、PUF再生モード、PUF再構成モード、恒久PUF登録モード、恒久PUFデータ再生モードを制御する制御信号については、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、コンピュータに実行させるためのプログラムとして実現できる。さらに、本開示は、そのプログラムを記録したCD−ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。 Further, the control signals for controlling the PUF registration mode, PUF reproduction mode, PUF reconstruction mode, permanent PUF registration mode, and permanent PUF data reproduction mode described in the above embodiment are executed by a computer (computer system). Good. Then, it can be realized as a program to be executed by a computer. Further, the present disclosure can be realized as a non-transitory computer-readable recording medium such as a CD-ROM that records the program.

例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリおよび入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリまたは入出力回路等から取得して演算したり、演算結果をメモリまたは入出力回路等に出力したりすることによって、各ステップが実行される。 For example, when the present disclosure is realized by a program (software), each step is executed by executing the program by using hardware resources such as a CPU, a memory and an input/output circuit of a computer. .. That is, each step is executed by the CPU acquiring data from the memory or the input/output circuit or the like and performing the operation or outputting the operation result to the memory or the input/output circuit or the like.

また、上記実施の形態における不揮発性メモリ装置10に含まれる各構成要素は、専用または汎用の回路として実現されてもよい。 In addition, each component included in the non-volatile memory device 10 in the above-described embodiment may be realized as a dedicated or general-purpose circuit.

また、上記実施の形態における不揮発性メモリ装置10に含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。 Further, each component included in the non-volatile memory device 10 in the above-described embodiment may be realized as an LSI (Large Scale Integration) which is an integrated circuit (IC: Integrated Circuit).

また、集積回路はLSIに限られず、専用回路または汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。 Further, the integrated circuit is not limited to the LSI and may be realized by a dedicated circuit or a general-purpose processor. A programmable FPGA (Field Programmable Gate Array) or a reconfigurable processor in which connection and setting of circuit cells inside the LSI are reconfigurable may be used.

さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、不揮発性メモリ装置10に含まれる各構成要素の集積回路化が行われてもよい。 Furthermore, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally possible to carry out integrated circuit integration of the components included in the non-volatile memory device 10 using that technology. May be broken.

なお、上記説明から、当業者にとっては、本開示の多くの改良や他の実施の形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本開示を具体化する最良の態様を当業者に教示する目的で提供されたものである。本開示の精神を逸脱することなく、その構造および/または機能の詳細を実質的に変更できる。 From the above description, many improvements and other embodiments of the present disclosure will be apparent to those skilled in the art. Therefore, the above description should be construed as illustrative only and is provided for the purpose of teaching those skilled in the art the best mode of embodying the present disclosure. Details of its structure and/or function may be changed substantially without departing from the spirit of this disclosure.

本開示は、耐タンパ性を有する不揮発性メモリ装置、および、不揮発性メモリ装置を用いたチャレンジ・レスポンス方法として、例えば、ネットバンキングやネットショッピングなど、インターネットを介して行われる電子商取引サービスに用いられる暗号鍵の生成装置として、利用できる。 The present disclosure is used as a non-volatile memory device having tamper resistance, and as a challenge/response method using the non-volatile memory device, for example, for electronic commerce services performed via the Internet, such as online banking and online shopping. It can be used as an encryption key generation device.

6 データ入出力回路
7 情報領域
8 PUF領域
10、100 不揮発性メモリ装置
12 読出し回路
13 判定値設定回路
14 書込み回路
15 制御回路
16 アドレス入力回路
17 カラムデコーダ回路
18 ロウデコーダ回路
20 メモリセルアレイ
21 メモリセル
22 メモリ本体部
23 抵抗変化素子
24 トランジスタ
30 センスアンプ回路
31 コンパレータ
32 抵抗値カウンタ
33 プリチャージPMOSトランジスタ
34 ロードPMOSトランジスタ
35 比較器
36 クランプNMOSトランジスタ
36a コンデンサ
90 メモリセルアレイ
91 メモリセル
93 制御装置
120 抵抗変化素子
122 下地層
124 第1電極
126 抵抗変化層
128 第2電極
129 トランジスタ
6 Data Input/Output Circuit 7 Information Area 8 PUF Area 10, 100 Nonvolatile Memory Device 12 Read Circuit 13 Judgment Value Setting Circuit 14 Write Circuit 15 Control Circuit 16 Address Input Circuit 17 Column Decoder Circuit 18 Row Decoder Circuit 20 Memory Cell Array 21 Memory Cell 22 Memory Main Unit 23 Resistance Change Element 24 Transistor 30 Sense Amplifier Circuit 31 Comparator 32 Resistance Value Counter 33 Precharge PMOS Transistor 34 Load PMOS Transistor 35 Comparator 36 Clamp NMOS Transistor 36a Capacitor 90 Memory Cell Array 91 Memory Cell 93 Control Device 120 Resistance Change Element 122 Base layer 124 First electrode 126 Resistance change layer 128 Second electrode 129 Transistor

Claims (11)

不揮発性メモリ装置であって、
抵抗変化型の複数のメモリセルで構成されたメモリセルアレイと、
チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成回路と、
前記メモリセルアレイに対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理回路とを備え、
前記データ生成回路は、
第1の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第1のレスポンスデータを生成し、
第2の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第2のレスポンスデータを生成し、
前記第1のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第1の種類のチャレンジデータを再び取得した場合に、前記第1のレスポンスデータとは異なる第3のレスポンスデータを生成し、
前記第2のレスポンスデータを生成した後に、前記再構成処理回路によって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第2の種類のチャレンジデータを再び取得した場合に、前記第2のレスポンスデータと同じ第4のレスポンスデータを生成する、
不揮発性メモリ装置。
A non-volatile memory device,
A memory cell array composed of a plurality of resistance change type memory cells,
A data generation circuit that generates response data by using the memory cell array when the challenge data is acquired;
A reconfiguration processing circuit that executes reconfiguration writing by applying a voltage pulse at least once to the memory cell array,
The data generation circuit,
When the first type of challenge data is acquired, unique first response data different for each nonvolatile memory device is generated,
When the second type of challenge data is acquired, a unique second response data that is different for each nonvolatile memory device is generated,
When the reconfiguration writing is performed by the reconfiguration processing circuit after the first response data is generated, and the challenge data of the first type is acquired again after the reconfiguration writing is performed. , Generating a third response data different from the first response data,
When the reconfiguration writing is executed by the reconfiguration processing circuit after the second response data is generated, and the second type challenge data is acquired again after the reconfiguration writing is executed. , Generating the same fourth response data as the second response data,
Non-volatile memory device.
前記メモリセルアレイは、前記複数のメモリセルのうち、前記レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第1領域と、前記複数のメモリセルのうち、前記抵抗値以外の情報を保持するメモリセルで構成される第2領域とを有する
請求項1に記載の不揮発性メモリ装置。
The memory cell array includes a first region formed of memory cells that hold a resistance value required to generate the response data among the plurality of memory cells, and the resistance value of the plurality of memory cells. The non-volatile memory device according to claim 1, further comprising: a second region including a memory cell that holds information other than the above.
前記データ生成回路は、前記メモリセルアレイを構成する複数のメモリセルから抵抗値を取得する読出し回路と、取得した前記抵抗値から第1判定値を決定する判定値設定回路とを備え、前記第1の種類のチャレンジデータを取得した場合に、前記第1判定値と前記抵抗値との比較によって前記第1のレスポンスデータおよび前記第3のレスポンスデータを生成する、
請求項1に記載の不揮発性メモリ装置。
The data generation circuit includes a read circuit that acquires a resistance value from a plurality of memory cells that form the memory cell array, and a judgment value setting circuit that determines a first judgment value from the acquired resistance value. When the challenge data of the type is acquired, the first response data and the third response data are generated by comparing the first determination value and the resistance value.
The non-volatile memory device according to claim 1.
前記第1判定値は、前記複数のメモリセルのうちの所定の複数のメモリセルの抵抗値の中央値である、
請求項3に記載の不揮発性メモリ装置。
The first determination value is a median value of resistance values of a plurality of predetermined memory cells among the plurality of memory cells,
The non-volatile memory device according to claim 3.
前記データ生成回路は、前記第1判定値よりも小さい第2判定値と、第1判定値よりも大きな第3判定値とを用いて、前記第2判定値よりも大きく、かつ、前記第3判定値よりも小さい抵抗値のメモリセルに割り当てられる第1データと、前記第2判定値よりも小さい、または、前記第3判定値よりも大きい抵抗値のメモリセルに割り当てられる第2データとで構成されたマスクデータを生成し、前記第2の種類のチャレンジデータを取得した場合に、前記マスクデータと前記第1のレスポンスデータまたは第3のレスポンスデータとの比較によって前記第2のレスポンスデータまたは前記第4のレスポンスデータを生成する、
請求項3または4に記載の不揮発性メモリ装置。
The data generation circuit uses a second judgment value smaller than the first judgment value and a third judgment value larger than the first judgment value, and is larger than the second judgment value and the third judgment value. First data assigned to a memory cell having a resistance value smaller than the determination value, and second data assigned to a memory cell having a resistance value smaller than the second determination value or larger than the third determination value. When the configured mask data is generated and the second type of challenge data is obtained, the second response data or the third response data is compared by comparing the mask data with the first response data or the third response data. Generating the fourth response data,
The non-volatile memory device according to claim 3 or 4.
前記メモリセルアレイは、前記複数のメモリセルのうち、前記レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第1領域と、前記複数のメモリセルのうち、前記マスクデータが格納される第2領域とを有する、
請求項5に記載の不揮発性メモリ装置。
The memory cell array includes a first region of the plurality of memory cells that holds a resistance value necessary to generate the response data, and the mask data of the plurality of memory cells. A second area in which is stored,
The non-volatile memory device according to claim 5.
前記メモリセルアレイを構成する前記複数のメモリセルは、第1書込みを行うことで、第1抵抗状態から第2抵抗状態に遷移し、第1書込みとは異なる第2書込みを行うことで、第2抵抗状態から第1抵抗状態に遷移する性質を有し、
前記データ生成回路は、前記メモリセルアレイの前記複数のメモリセルのうち、前記第1抵抗状態に設定されている複数のメモリセルを用いて前記レスポンスデータを生成する、
請求項1〜6のいずれか1項に記載の不揮発性メモリ装置。
The plurality of memory cells forming the memory cell array transition from the first resistance state to the second resistance state by performing the first write, and perform the second write different from the first write to perform the second write. Has the property of transitioning from the resistance state to the first resistance state,
The data generation circuit generates the response data using a plurality of memory cells set to the first resistance state among the plurality of memory cells of the memory cell array,
The non-volatile memory device according to claim 1.
前記再構成処理回路は、前記再構成書込みとして、前記第1抵抗状態のメモリセルに対して、前記第1書込みにより、前記第2抵抗状態へ遷移させた後、前記第2書込みにより、前記第1抵抗状態に遷移させる、
請求項7に記載の不揮発性メモリ装置。
As the reconfiguration write, the reconfiguration processing circuit causes the memory cell in the first resistance state to transition to the second resistance state by the first write, and then performs the second write by the second write. Transition to 1 resistance state,
The non-volatile memory device according to claim 7.
前記データ生成回路は、誤り訂正回路を具備し、前記レスポンスデータに対して、誤り訂正を行う
請求項1〜8のいずれか1項に記載の不揮発性メモリ装置。
The non-volatile memory device according to claim 1, wherein the data generation circuit includes an error correction circuit, and performs error correction on the response data.
前記メモリセルアレイは、前記複数のメモリセルのうち、前記レスポンスデータを生成するために必要な抵抗値を保持するメモリセルで構成される第1領域と、前記複数のメモリセルのうち、前記誤り訂正を行う際に必要なヘルパーデータが格納されるメモリセルで構成される第2領域とを有する、
請求項9に記載の不揮発性メモリ装置。
The memory cell array includes a first region formed of memory cells holding a resistance value required to generate the response data among the plurality of memory cells, and the error correction of the plurality of memory cells. A second area composed of memory cells in which helper data necessary for performing
The non-volatile memory device according to claim 9.
抵抗変化型の複数のメモリセルで構成されたメモリセルアレイを備える不揮発性メモリ装置によってチャレンジデータに対応するレスポンスデータを生成するチャレンジ・レスポンス方法であって、
チャレンジデータを取得した場合に、前記メモリセルアレイを用いてレスポンスデータを生成するデータ生成ステップと、
前記メモリセルアレイに対して、少なくとも1回以上電圧パルスを印加する再構成書込みを実行する再構成処理ステップとを含み、
前記データ生成ステップでは、
第1の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第1のレスポンスデータを生成し、
第2の種類のチャレンジデータを取得した場合に、不揮発性メモリ装置ごとに異なる固有の第2のレスポンスデータを生成し、
前記第1のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第1の種類のチャレンジデータを取得した場合に、前記第1のレスポンスデータとは異なる第3のレスポンスデータを生成し、
前記第2のレスポンスデータを生成した後に、前記再構成処理ステップによって前記再構成書込みが実行され、かつ、前記再構成書込みが実行された後に前記第2の種類のチャレンジデータを取得した場合に、前記第2のレスポンスデータと同じ第4のレスポンスデータを生成する、
チャレンジ・レスポンス方法。
A challenge-response method for generating response data corresponding to challenge data by a nonvolatile memory device including a memory cell array composed of a plurality of resistance change type memory cells,
A data generation step of generating response data using the memory cell array when the challenge data is acquired,
A reconfiguration processing step of performing reconfiguration writing by applying a voltage pulse at least once to the memory cell array,
In the data generation step,
When the first type of challenge data is acquired, unique first response data different for each nonvolatile memory device is generated,
When the second type of challenge data is acquired, a unique second response data that is different for each nonvolatile memory device is generated,
When the reconfiguration writing is executed by the reconfiguration processing step after generating the first response data, and when the first type of challenge data is acquired after the reconfiguration writing is executed, Generate third response data different from the first response data,
When the reconfiguration writing is executed by the reconfiguration processing step after the second response data is generated, and when the second type challenge data is acquired after the reconfiguration writing is executed, Generate the same fourth response data as the second response data,
Challenge response method.
JP2018241679A 2018-12-25 2018-12-25 Non-volatile memory device and challenge-response method Active JP6937288B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018241679A JP6937288B2 (en) 2018-12-25 2018-12-25 Non-volatile memory device and challenge-response method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018241679A JP6937288B2 (en) 2018-12-25 2018-12-25 Non-volatile memory device and challenge-response method

Publications (2)

Publication Number Publication Date
JP2020102827A true JP2020102827A (en) 2020-07-02
JP6937288B2 JP6937288B2 (en) 2021-09-22

Family

ID=71141355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018241679A Active JP6937288B2 (en) 2018-12-25 2018-12-25 Non-volatile memory device and challenge-response method

Country Status (1)

Country Link
JP (1) JP6937288B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928454A (en) * 2022-06-09 2022-08-19 湖南大学 CRP (common noise control) obfuscation circuit and data obfuscation method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105344A (en) * 2014-11-21 2016-06-09 パナソニックIpマネジメント株式会社 Nonvolatile memory device having tamper-resistance, and integrated circuit card
JP2017216030A (en) * 2016-05-26 2017-12-07 パナソニックIpマネジメント株式会社 Nonvolatile memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105344A (en) * 2014-11-21 2016-06-09 パナソニックIpマネジメント株式会社 Nonvolatile memory device having tamper-resistance, and integrated circuit card
JP2017216030A (en) * 2016-05-26 2017-12-07 パナソニックIpマネジメント株式会社 Nonvolatile memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928454A (en) * 2022-06-09 2022-08-19 湖南大学 CRP (common noise control) obfuscation circuit and data obfuscation method
CN114928454B (en) * 2022-06-09 2024-01-09 湖南大学 CRP (common-point control) confusion circuit and data confusion method

Also Published As

Publication number Publication date
JP6937288B2 (en) 2021-09-22

Similar Documents

Publication Publication Date Title
JP6587188B2 (en) Random number processing apparatus, integrated circuit card, and random number processing method
JP6617924B2 (en) Non-volatile memory device and integrated circuit card having tamper resistance, non-volatile memory device authentication method, and individual identification information generation method
CN107437431B (en) Nonvolatile memory device
JP6532024B2 (en) Tamper resistant nonvolatile memory device and integrated circuit card
JP6474056B2 (en) Non-volatile memory device having tamper resistance, integrated circuit card, authentication method for non-volatile memory device, encryption method and decryption method using non-volatile memory device
JP6508478B2 (en) Tamper resistant nonvolatile memory device and integrated circuit card
JP6794297B2 (en) Authentication device and authentication method
TWI685742B (en) Electronic apparatus and production, manufacture method for integrated circuit and data set generation method
US10216965B2 (en) Systems and methods for generating physically unclonable functions from non-volatile memory cells
US9436845B2 (en) Physically unclonable fuse using a NOR type memory array
JP6817888B2 (en) Non-volatile memory device
US20180191512A1 (en) Physically unclonable function generation with direct twin cell activation
JP6793044B2 (en) Non-volatile memory device
JP2012043517A (en) Semiconductor device
JP2020113263A (en) Random code generator with non-volatile memory
CN112992238A (en) Memory device and memory system having the same
JP6937288B2 (en) Non-volatile memory device and challenge-response method
JP6894012B2 (en) Non-volatile memory device and its writing method
US11404119B1 (en) Non-volatile memory device and challenge response method
KR20210104117A (en) Method and device for ensuring secure memory access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210830

R151 Written notification of patent or utility model registration

Ref document number: 6937288

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151