JP2016085337A - Semiconductor device, semiconductor storage device, and reliability test of semiconductor device - Google Patents

Semiconductor device, semiconductor storage device, and reliability test of semiconductor device Download PDF

Info

Publication number
JP2016085337A
JP2016085337A JP2014217811A JP2014217811A JP2016085337A JP 2016085337 A JP2016085337 A JP 2016085337A JP 2014217811 A JP2014217811 A JP 2014217811A JP 2014217811 A JP2014217811 A JP 2014217811A JP 2016085337 A JP2016085337 A JP 2016085337A
Authority
JP
Japan
Prior art keywords
random number
test
number generator
processing unit
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014217811A
Other languages
Japanese (ja)
Inventor
崇彦 菅原
Takahiko Sugawara
崇彦 菅原
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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014217811A priority Critical patent/JP2016085337A/en
Priority to US14/921,155 priority patent/US10096379B2/en
Publication of JP2016085337A publication Critical patent/JP2016085337A/en
Priority to US16/126,561 priority patent/US20190006023A1/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To obtain a semiconductor device mounted with a random number generator which can easily and efficiently perform a reliability test of the random number generator.SOLUTION: A memory controller 11 has a self-test processing unit 22 that performs a reliability test of a random number generator 12. The self-test processing unit 22 inputs a predetermined control signal D7 to the random number generator 12 so as to cause the random number generator 12 to generate a random number value D8, and inspects the irreproducibility of the random number D8 generated by the random number generator 12.SELECTED DRAWING: Figure 2

Description

本発明は、半導体装置、半導体記憶装置、及び半導体装置の信頼性テスト方法に関する。   The present invention relates to a semiconductor device, a semiconductor memory device, and a semiconductor device reliability test method.

乱数生成器は、多くのセキュリティシステムにおいて様々な用途に用いられている暗号技術である。   The random number generator is a cryptographic technique used for various purposes in many security systems.

乱数生成器によって生成される乱数は、暗号アルゴリズムの鍵情報、又は機器同士を相互認証するための認証コード等に使用されるものであり、システムのセキュリティ強度と密接に関わる機密性の高い情報である。   The random number generated by the random number generator is used for encryption algorithm key information or an authentication code for mutual authentication between devices, and is highly confidential information closely related to the security strength of the system. is there.

そのため、乱数生成器によって生成される乱数には高い乱数性が要求され、乱数生成器が実装された半導体装置の出荷時には、乱数生成器が要求レベルの乱数を生成できているか否かを評価するための乱数テストが実施されるのが通常である。   Therefore, the random number generated by the random number generator is required to have high randomness, and when the semiconductor device mounted with the random number generator is shipped, it is evaluated whether the random number generator can generate the requested level of random numbers. Usually, a random number test is performed.

なお、下記特許文献1,2には、乱数生成器によって生成された乱数に対して、「0」又は「1」の出現頻度が許容範囲内であるか否かを評価する技術が開示されている。   Patent Documents 1 and 2 below disclose a technique for evaluating whether or not the appearance frequency of “0” or “1” is within an allowable range with respect to the random number generated by the random number generator. Yes.

特表2005−517998号公報JP-T-2005-517998 国際公開第WO2005/124537号International Publication No. WO2005 / 124537

一般的な乱数評価手法として、“NIST Special Publication 800-22”又は“DIEHARD”等の統計的検定法が提案されている。しかし、乱数生成器が実装された半導体装置の出荷時に実施される乱数テストにおいて、このような統計的検定法による複雑な乱数評価を実施したのでは、テスター装置の処理負荷が増大するとともにテストの所要時間が長くなり、その結果、出荷テストのテストコストが増大する。   As a general random number evaluation method, a statistical test method such as “NIST Special Publication 800-22” or “DIEHARD” has been proposed. However, in a random number test performed at the time of shipment of a semiconductor device on which a random number generator is mounted, if a complex random number evaluation using such a statistical test method is performed, the processing load of the tester device increases and the test load increases. The required time becomes longer, and as a result, the test cost of the shipping test increases.

本発明はかかる事情に鑑みて成されたものであり、乱数生成器が実装された半導体装置を対象として、乱数生成器の信頼性テストを簡易かつ効率的に実行することが可能な半導体装置、半導体記憶装置、及び半導体装置の信頼性テスト方法を得ることを目的とするものである。   The present invention has been made in view of such circumstances, and a semiconductor device capable of easily and efficiently executing a reliability test of a random number generator for a semiconductor device on which a random number generator is mounted, An object of the present invention is to obtain a semiconductor memory device and a semiconductor device reliability test method.

本発明の第1の態様に係る半導体装置は、乱数を生成する乱数生成器と、前記乱数生成器に接続されたメモリコントローラと、を備え、前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、前記セルフテスト処理部は、所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、前記乱数生成器が生成した乱数値の再現不可能性を検査することを特徴とするものである。   A semiconductor device according to a first aspect of the present invention includes a random number generator that generates a random number, and a memory controller connected to the random number generator, wherein the memory controller is a reliability test of the random number generator. The self-test processing unit inputs a predetermined control signal to the random number generator to cause the random number generator to generate a random value, and the random number generator generates the self-test processing unit. It is characterized by checking the non-reproducibility of random values.

第1の態様に係る半導体装置によれば、セルフテスト処理部は、所定の制御信号を乱数生成器に入力することにより乱数生成器に乱数値を生成させ、乱数生成器が生成した乱数値の再現不可能性を検査する。セルフテスト処理部によってセルフテストを行うことにより、乱数生成器の信頼性テストを簡易かつ効率的に実行することが可能となる。また、乱数生成器の信頼性テストを、乱数値の再現不可能性の検査に限定することにより、テストの容易化及びテストコストの削減を図ることが可能となる。乱数生成器とは別の処理ブロックで乱数の一様性が担保されている装置に対して本発明を適用することが、特に有効である。   According to the semiconductor device of the first aspect, the self-test processing unit causes the random number generator to generate a random value by inputting a predetermined control signal to the random number generator, and the random number generated by the random number generator is generated. Check for reproducibility. By performing the self test by the self test processing unit, it becomes possible to easily and efficiently execute the reliability test of the random number generator. Further, by limiting the reliability test of the random number generator to the inspection of the non-reproducibility of the random number value, it becomes possible to facilitate the test and reduce the test cost. It is particularly effective to apply the present invention to an apparatus in which the uniformity of random numbers is ensured by a processing block different from the random number generator.

本発明の第2の態様に係る半導体装置は、第1の態様に係る半導体装置において特に、記憶部(メモリアレイ、メモリコントローラの内部レジスタ、又はRAM等)をさらに備え、前記セルフテスト処理部は、前記乱数生成器が生成した乱数値を前記記憶部に格納し、前記記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査することを特徴とするものである。   The semiconductor device according to the second aspect of the present invention is the semiconductor device according to the first aspect, and further includes a storage unit (a memory array, an internal register of a memory controller, a RAM, or the like), and the self-test processing unit includes: The random number value generated by the random number generator is stored in the storage unit, and the non-reproducibility of the random number value generated by the random number generator is checked based on the random number value read from the storage unit. It is what.

第2の態様に係る半導体装置によれば、セルフテスト処理部は、乱数生成器が生成した乱数値を記憶部に格納し、記憶部から読み出した乱数値に基づいて、乱数生成器が生成した乱数値の再現不可能性を検査する。乱数生成器が過去に生成した乱数値を記憶部に格納しておくことにより、セルフテスト処理部は、記憶部から読み出した乱数値に基づいて、乱数の張り付き、周期性、又は偏り等の再現不可能性を検査することが可能となる。   According to the semiconductor device of the second aspect, the self-test processing unit stores the random value generated by the random number generator in the storage unit, and the random number generator generates the random number value read from the storage unit Check the reproducibility of random values. By storing the random number value generated in the past by the random number generator in the storage unit, the self-test processing unit reproduces random number sticking, periodicity, bias, etc. based on the random value read from the storage unit It becomes possible to check the impossibility.

本発明の第3の態様に係る半導体装置は、第2の態様に係る半導体装置において特に、前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、前記半導体装置が外部装置から受信するテストコマンドに含まれており、前記セルフテスト処理部は、テストコマンドから前記回数情報を抽出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させることを特徴とするものである。   The semiconductor device according to a third aspect of the present invention is the semiconductor device according to the second aspect, in particular, the number of times information specifying the number of times the random number generator generates a random number value is received by the semiconductor device from an external device. The self-test processing unit extracts the number-of-times information from the test command, and causes the random number generator to sequentially generate a plurality of random number values based on the number-of-times information. Is.

第3の態様に係る半導体装置によれば、セルフテスト処理部は、テストコマンドから回数情報を抽出し、当該回数情報に基づいて乱数生成器に複数の乱数値を順に生成させる。これにより、乱数生成器が順に生成した複数の乱数値を記憶部に格納することができ、セルフテスト処理部が記憶部から複数の乱数値を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。また、テストコマンドに回数情報を含めることにより、外部装置によって回数情報を容易に変更することが可能となる。   According to the semiconductor device of the third aspect, the self-test processing unit extracts the number information from the test command, and causes the random number generator to sequentially generate a plurality of random number values based on the number information. As a result, a plurality of random number values generated in order by the random number generator can be stored in the storage unit, and the self-test processing unit reads out the plurality of random number values from the storage unit, thereby checking the reproducibility of the random number value. It becomes possible to do. Also, by including the number information in the test command, the number information can be easily changed by an external device.

本発明の第4の態様に係る半導体装置は、第2の態様に係る半導体装置において特に、前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、前記半導体装置内の所定の格納部に格納されており、前記セルフテスト処理部は、前記格納部から前記回数情報を読み出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させることを特徴とするものである。   The semiconductor device according to a fourth aspect of the present invention is the semiconductor device according to the second aspect, in particular, the number information specifying the number of times that the random number generator generates a random number value is stored in a predetermined manner in the semiconductor device. The self-test processing unit reads out the number information from the storage unit, and causes the random number generator to sequentially generate a plurality of random number values based on the number information. is there.

第4の態様に係る半導体装置によれば、半導体装置内の所定の格納部に回数情報が格納されており、セルフテスト処理部は、格納部から読み出した回数情報に基づいて、乱数生成器に複数の乱数値を順に生成させる。これにより、乱数生成器が順に生成した複数の乱数値を記憶部に格納することができ、セルフテスト処理部が記憶部から複数の乱数値を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。   According to the semiconductor device of the fourth aspect, the number-of-times information is stored in the predetermined storage unit in the semiconductor device, and the self-test processing unit stores the number-of-times information in the random number generator based on the number-of-times information read from the storage unit. Generate multiple random values in order. As a result, a plurality of random number values generated in order by the random number generator can be stored in the storage unit, and the self-test processing unit reads out the plurality of random number values from the storage unit, thereby checking the reproducibility of the random number value. It becomes possible to do.

本発明の第5の態様に係る半導体装置は、第3又は第4の態様に係る半導体装置において特に、前記セルフテスト処理部は、前記回数情報が入力されることによって乱数値の検査を開始し、検査が完了するとその検査結果を外部装置に送信することを特徴とするものである。   In a semiconductor device according to a fifth aspect of the present invention, in particular, in the semiconductor device according to the third or fourth aspect, the self-test processing unit starts an inspection of a random value when the number-of-times information is input. When the inspection is completed, the inspection result is transmitted to the external device.

第5の態様に係る半導体装置によれば、セルフテスト処理部は、回数情報が入力されることによって乱数値の検査を開始し、検査が完了するとその検査結果を外部装置に送信する。従って、乱数生成器の信頼性テストに関しては、外部装置によるテストパターンの作成処理や期待値との照合処理は不要となるため、外部装置の処理負荷を軽減することが可能となる。   According to the semiconductor device of the fifth aspect, the self-test processing unit starts the inspection of the random number value when the number-of-times information is input, and transmits the inspection result to the external device when the inspection is completed. Therefore, with respect to the reliability test of the random number generator, the test pattern creation processing by the external device and the collation processing with the expected value are not required, and the processing load on the external device can be reduced.

本発明の第6の態様に係る半導体装置は、第1〜第5のいずれか一つの態様に係る半導体装置において特に、前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって同一の乱数値が連続して生成されたか否かを検査することを特徴とするものである。   The semiconductor device according to a sixth aspect of the present invention is the semiconductor device according to any one of the first to fifth aspects, in particular, the self-test processing unit performs the random number value non-reproducibility test as described above. It is characterized by checking whether or not the same random number value is continuously generated by the random number generator.

第6の態様に係る半導体装置によれば、セルフテスト処理部は、乱数値の再現不可能性の検査として、乱数生成器によって同一の乱数値が連続して生成されたか否かを検査する。これにより、乱数の張り付きの有無を簡易にチェックすることが可能となる。   According to the semiconductor device of the sixth aspect, the self-test processing unit checks whether or not the same random number value is continuously generated by the random number generator as a check of the reproducibility of the random number value. As a result, it is possible to easily check whether the random number is stuck.

本発明の第7の態様に係る半導体装置は、第1〜第6のいずれか一つの態様に係る半導体装置において特に、前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査することを特徴とするものである。   The semiconductor device according to a seventh aspect of the present invention is the semiconductor device according to any one of the first to sixth aspects, in which the self-test processing unit performs the reproducibility test of the random value as It is characterized by checking whether or not the same random number value is included in a plurality of random number values generated by the random number generator.

第7の態様に係る半導体装置によれば、セルフテスト処理部は、乱数値の再現不可能性の検査として、乱数生成器によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査する。これにより、乱数の周期性の有無を簡易にチェックすることが可能となる。   According to the semiconductor device of the seventh aspect, the self-test processing unit includes the same random number value among the plurality of random number values generated by the random number generator as a test of the non-reproducibility of the random number value. Inspect whether or not As a result, it is possible to easily check whether the random number has periodicity.

本発明の第8の態様に係る半導体装置は、第1〜第7のいずれか一つの態様に係る半導体装置において特に、前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査することを特徴とするものである。   The semiconductor device according to an eighth aspect of the present invention is the semiconductor device according to any one of the first to seventh aspects, in particular, the self-test processing unit is configured as the random number value non-reproducibility test as described above. It is characterized by checking whether or not the appearance ratio of “0” or “1” in the random value generated by the random number generator is within a predetermined allowable range.

第8の態様に係る半導体装置によれば、セルフテスト処理部は、乱数値の再現不可能性の検査として、乱数生成器によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査する。これにより、乱数の各ビットの「0」又は「1」の偏りの有無を簡易にチェックすることが可能となる。   According to the semiconductor device of the eighth aspect, the self-test processing unit has an appearance ratio of “0” or “1” in the random number value generated by the random number generator as a test of the non-reproducibility of the random number value. Inspect whether it is within a predetermined tolerance. As a result, it is possible to easily check whether each bit of the random number is biased by “0” or “1”.

本発明の第9の態様に係る半導体記憶装置は、乱数を生成する乱数生成器と、前記乱数生成器に接続されたメモリコントローラと、記憶部と、を備え、前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、前記セルフテスト処理部は、所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、前記乱数生成器が生成した乱数値を前記記憶部に格納し、前記記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査することを特徴とするものである。   A semiconductor memory device according to a ninth aspect of the present invention includes a random number generator that generates a random number, a memory controller connected to the random number generator, and a storage unit, and the memory controller generates the random number. A self-test processing unit that executes a reliability test of the generator, the self-test processing unit causing the random number generator to generate a random value by inputting a predetermined control signal to the random number generator, and the random number The random number value generated by the generator is stored in the storage unit, and the non-reproducibility of the random number value generated by the random number generator is checked based on the random number value read from the storage unit It is.

第9の態様に係る半導体記憶装置によれば、セルフテスト処理部は、所定の制御信号を乱数生成器に入力することにより乱数生成器に乱数値を生成させ、乱数生成器が生成した乱数値を記憶部(メモリアレイ、メモリコントローラの内部レジスタ、又はRAM等)に格納し、記憶部から読み出した乱数値に基づいて、乱数生成器が生成した乱数値の再現不可能性を検査する。セルフテスト処理部によってセルフテストを行うことにより、乱数生成器の信頼性テストを簡易かつ効率的に実行することが可能となる。また、乱数生成器が過去に生成した乱数値を記憶部に格納しておくことにより、セルフテスト処理部は、記憶部から読み出した乱数値に基づいて、乱数の張り付き、周期性、又は偏り等の再現不可能性を検査することが可能となる。さらに、乱数生成器の信頼性テストを、乱数値の再現不可能性の検査に限定することにより、テストの容易化及びテストコストの削減を図ることが可能となる。乱数生成器とは別の処理ブロックで乱数の一様性が担保されている装置に対して本発明を適用することが、特に有効である。   According to the semiconductor memory device of the ninth aspect, the self-test processing unit causes the random number generator to generate a random value by inputting a predetermined control signal to the random number generator, and the random number value generated by the random number generator Is stored in a storage unit (a memory array, an internal register of a memory controller, a RAM, or the like), and the reproducibility of the random number value generated by the random number generator is checked based on the random number value read from the storage unit. By performing the self test by the self test processing unit, it becomes possible to easily and efficiently execute the reliability test of the random number generator. Further, by storing the random number value generated in the past by the random number generator in the storage unit, the self-test processing unit can attach the random number, the periodicity, the bias, or the like based on the random value read from the storage unit. It becomes possible to inspect the non-reproducibility of. Further, by limiting the reliability test of the random number generator to the inspection of the non-reproducibility of the random number value, it becomes possible to facilitate the test and reduce the test cost. It is particularly effective to apply the present invention to an apparatus in which the uniformity of random numbers is ensured by a processing block different from the random number generator.

本発明の第10の態様に係る半導体装置の信頼性テスト方法は、乱数を生成する乱数生成器と、前記乱数生成器の信頼性テストを実行するセルフテスト処理部と、を備える半導体装置の信頼性テスト方法であって、(A)前記セルフテスト処理部が所定の制御信号を前記乱数生成器に入力することにより、前記乱数生成器に乱数値を生成させるステップと、(B)前記セルフテスト処理部が、前記乱数生成器が生成した乱数値の再現不可能性を検査するステップと、を備えることを特徴とするものである。   According to a tenth aspect of the present invention, there is provided a reliability test method for a semiconductor device comprising: a random number generator that generates a random number; and a self-test processing unit that performs a reliability test of the random number generator. (A) causing the self-test processing unit to input a predetermined control signal to the random number generator to cause the random number generator to generate a random value; and (B) the self-test. The processing unit includes a step of checking the non-reproducibility of the random number value generated by the random number generator.

第10の態様に係る半導体装置の信頼性テスト方法によれば、セルフテスト処理部は、所定の制御信号を乱数生成器に入力することにより乱数生成器に乱数値を生成させ、乱数生成器が生成した乱数値の再現不可能性を検査する。セルフテスト処理部によってセルフテストを行うことにより、乱数生成器の信頼性テストを簡易かつ効率的に実行することが可能となる。また、乱数生成器の信頼性テストを、乱数値の再現不可能性の検査に限定することにより、テストの容易化及びテストコストの削減を図ることが可能となる。乱数生成器とは別の処理ブロックで乱数の一様性が担保されている装置に対して本発明を適用することが、特に有効である。   According to the reliability test method for a semiconductor device according to the tenth aspect, the self-test processing unit causes the random number generator to generate a random value by inputting a predetermined control signal to the random number generator, and the random number generator Check the reproducibility of the generated random value. By performing the self test by the self test processing unit, it becomes possible to easily and efficiently execute the reliability test of the random number generator. Further, by limiting the reliability test of the random number generator to the inspection of the non-reproducibility of the random number value, it becomes possible to facilitate the test and reduce the test cost. It is particularly effective to apply the present invention to an apparatus in which the uniformity of random numbers is ensured by a processing block different from the random number generator.

本発明によれば、乱数生成器が実装された記憶装置を対象として、乱数生成器の信頼性テストを簡易かつ効率的に実行することが可能となる。   According to the present invention, it becomes possible to easily and efficiently execute a reliability test of a random number generator for a storage device in which the random number generator is mounted.

本発明の実施の形態に係る半導体記憶装置を対象として出荷テストを実施している状況を示す図である。It is a figure which shows the condition which is implementing the shipping test for the semiconductor memory device which concerns on embodiment of this invention. 半導体記憶装置の構成を示す図である。It is a figure which shows the structure of a semiconductor memory device. メモリアレイのメモリ領域を示す図である。It is a figure which shows the memory area of a memory array. 半導体記憶装置に対する信頼性テストの処理の流れを示すフローチャートである。3 is a flowchart showing a flow of a reliability test process for a semiconductor memory device. メモリテストにおいてメモリコントローラが実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which a memory controller performs in a memory test. 乱数テストにおいてメモリコントローラが実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which a memory controller performs in a random number test. 乱数テストにおいてメモリコントローラが実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which a memory controller performs in a random number test. 乱数テストにおいてメモリコントローラが実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which a memory controller performs in a random number test.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the element which attached | subjected the same code | symbol in different drawing shall show the same or corresponding element.

図1は、本発明の実施の形態に係る半導体記憶装置(半導体装置)1を対象として出荷テストを実施している状況を示す図である。1台のテスター装置2に複数台の半導体記憶装置1が接続されることにより、複数台の半導体記憶装置1に対して同時に信頼性テストが実行される。半導体記憶装置1は、例えば、ホスト装置に着脱自在に接続可能なメモリカードである。あるいは、メモリカードに代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。なお、テスター装置2に代えて、簡易検査器、又はテスト機能を有するホスト装置等の任意の外部装置を用いて、半導体記憶装置1の信頼性テストを実行することもできる。   FIG. 1 is a diagram showing a situation in which a shipping test is performed on a semiconductor memory device (semiconductor device) 1 according to an embodiment of the present invention. By connecting a plurality of semiconductor memory devices 1 to one tester device 2, a reliability test is simultaneously performed on the plurality of semiconductor memory devices 1. The semiconductor memory device 1 is, for example, a memory card that can be detachably connected to a host device. Alternatively, any storage device such as an optical disk or a magnetic disk can be used instead of the memory card. Instead of the tester device 2, the reliability test of the semiconductor memory device 1 can be performed using an arbitrary external device such as a simple tester or a host device having a test function.

図2は、半導体記憶装置1の構成を示す図である。半導体記憶装置1は、メモリコントローラ11と、不確定回路を用いて真性乱数を生成する乱数生成器12と、NAND型フラッシュメモリ等を用いたメモリアレイ13とを備えて構成されている。   FIG. 2 is a diagram showing a configuration of the semiconductor memory device 1. The semiconductor memory device 1 includes a memory controller 11, a random number generator 12 that generates a true random number using an indeterminate circuit, and a memory array 13 that uses a NAND flash memory or the like.

図2の接続関係で示すように、メモリコントローラ11は、暗号・復号処理部21、セルフテスト処理部22、レジスタ23、及びセレクタ24〜26を備えて構成されている。   As shown in the connection relationship of FIG. 2, the memory controller 11 includes an encryption / decryption processing unit 21, a self test processing unit 22, a register 23, and selectors 24 to 26.

図3は、メモリアレイ13のメモリ領域を示す図である。メモリアレイ13は、コンテンツデータを格納するためのコンテンツデータ格納領域R1と、テストデータを格納するためのテストデータ格納領域R2とを有している。   FIG. 3 is a diagram showing a memory area of the memory array 13. The memory array 13 has a content data storage area R1 for storing content data and a test data storage area R2 for storing test data.

図4は、半導体記憶装置1に対する信頼性テストの処理の流れを示すフローチャートである。まず、ステップSP11においてテスター装置2は、メモリアレイ13の信頼性テスト(以下「メモリテスト」と称す)を実行する。メモリテストが完了すると、次にステップSP12においてテスター装置2は、乱数生成器12の信頼性テスト(以下「乱数テスト」と称す)を実行する。このように、半導体記憶装置1に対しては、メモリテストと乱数テストとが時系列的に分離して実行される。なお、メモリテスト及び乱数テストの実行順序は、図4に示した例と逆であっても良い。   FIG. 4 is a flowchart showing a flow of reliability test processing for the semiconductor memory device 1. First, in step SP11, the tester apparatus 2 executes a reliability test of the memory array 13 (hereinafter referred to as “memory test”). When the memory test is completed, the tester apparatus 2 next executes a reliability test (hereinafter referred to as “random number test”) of the random number generator 12 in step SP12. Thus, for the semiconductor memory device 1, the memory test and the random number test are executed separately in time series. Note that the execution order of the memory test and the random number test may be opposite to the example shown in FIG.

<メモリアレイの信頼性テスト>
図5は、メモリテストにおいてメモリコントローラ11が実行する処理の流れを示すフローチャートである。出荷テストにおいてメモリテストを実行する場合、まずテスター装置2は、メモリテストにおいて暗号・復号処理部21に使用させるための所定の固定乱数値を生成した後、テストパターン及びその期待値を生成する。次にテスター装置2は、メモリテストの実行を指示する専用のテストコマンド(以下「メモリテストコマンド」と称す)内に上記固定乱数値を格納した後、当該メモリテストコマンドを既知のテストモード用暗号アルゴリズムを用いて暗号化する。そして、暗号化メモリテストコマンドを、データD1として半導体記憶装置1に送信する。なお、メモリテストコマンドの暗号化は省略しても良い。
<Reliability test of memory array>
FIG. 5 is a flowchart showing a flow of processing executed by the memory controller 11 in the memory test. When executing a memory test in the shipping test, first, the tester apparatus 2 generates a predetermined fixed random number value to be used by the encryption / decryption processing unit 21 in the memory test, and then generates a test pattern and its expected value. Next, the tester apparatus 2 stores the fixed random number value in a dedicated test command (hereinafter referred to as “memory test command”) for instructing execution of the memory test, and then transmits the memory test command to a known test mode encryption code. Encrypt using an algorithm. Then, the encrypted memory test command is transmitted to the semiconductor memory device 1 as data D1. Note that encryption of the memory test command may be omitted.

図5を参照して、まずステップSP21においてメモリコントローラ11は、テスター装置2から送信された暗号化メモリテストコマンドを受信する。そして、受信した暗号化メモリテストコマンドを、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて復号化する。暗号・復号処理部21は、復号化されたメモリテストコマンドをデータD2として出力する。   With reference to FIG. 5, first, in step SP <b> 21, the memory controller 11 receives the encrypted memory test command transmitted from the tester apparatus 2. The received encrypted memory test command is decrypted by the encryption / decryption processing unit 21 using the test mode encryption algorithm. The encryption / decryption processing unit 21 outputs the decrypted memory test command as data D2.

次にステップSP22においてメモリコントローラ11は、テスター装置2からメモリテストコマンドを受信したことをコマンドIDによって認識することにより、セレクタ24〜26の入力端子を図2の「0」側に切り替える。   Next, in step SP22, the memory controller 11 recognizes from the command ID that the memory test command has been received from the tester device 2, and thereby switches the input terminals of the selectors 24-26 to the “0” side in FIG.

次にステップSP23においてメモリコントローラ11は、ステップSP21で暗号・復号処理部21から出力されたメモリテストコマンドから、上記固定乱数値を抽出する。   Next, in step SP23, the memory controller 11 extracts the fixed random value from the memory test command output from the encryption / decryption processing unit 21 in step SP21.

次にステップSP24においてメモリコントローラ11は、ステップSP23で抽出した上記固定乱数値を、データD3としてレジスタ23に入力する。これにより、レジスタ23に上記固定乱数値が格納される。   Next, in step SP24, the memory controller 11 inputs the fixed random value extracted in step SP23 to the register 23 as data D3. As a result, the fixed random number value is stored in the register 23.

次にステップSP25においてメモリコントローラ11は、レジスタ23に格納されている上記固定乱数値を、セレクタ24を介して暗号・復号処理部21に入力する。これにより、メモリコントローラ11は、上記固定乱数値によって暗号・復号処理部21を初期化する。   Next, in step SP25, the memory controller 11 inputs the fixed random number value stored in the register 23 to the encryption / decryption processing unit 21 via the selector 24. As a result, the memory controller 11 initializes the encryption / decryption processing unit 21 with the fixed random number value.

次にステップSP26においてメモリコントローラ11は、暗号・復号処理部21の初期化が完了した旨を、メモリテストコマンドに対する戻り値としてテスター装置2に通知する。   Next, in step SP26, the memory controller 11 notifies the tester apparatus 2 that the initialization of the encryption / decryption processing unit 21 has been completed as a return value for the memory test command.

次にステップSP27においてメモリコントローラ11は、テスター装置2が生成したテストパターンを用いて、メモリアレイ13の信頼性テストを実行する。例えば、テスター装置2は、上記固定乱数値を用いて暗号化した暗号化テストパターンを、半導体記憶装置1に送信する。メモリコントローラ11は、テスター装置2から受信した暗号化テストパターンを、暗号・復号処理部21によって上記固定乱数値を用いて復号化する。次にメモリコントローラ11は、復号化されたテストパターンに含まれるアドレスを、データD4としてセレクタ26を介してメモリアレイ13に入力する。次にメモリコントローラ11は、メモリアレイ13から読み出されたデータD5を、セレクタ25を介して暗号・復号処理部21に入力する。次にメモリコントローラ11は、データD5を暗号・復号処理部21によって上記固定乱数値を用いて暗号化することにより、暗号化データをテスター装置2に送信する。   Next, in step SP27, the memory controller 11 executes a reliability test of the memory array 13 using the test pattern generated by the tester device 2. For example, the tester device 2 transmits an encrypted test pattern encrypted using the fixed random number value to the semiconductor memory device 1. The memory controller 11 uses the encryption / decryption processing unit 21 to decrypt the encrypted test pattern received from the tester apparatus 2 using the fixed random number value. Next, the memory controller 11 inputs the address included in the decoded test pattern to the memory array 13 through the selector 26 as data D4. Next, the memory controller 11 inputs the data D5 read from the memory array 13 to the encryption / decryption processing unit 21 via the selector 25. Next, the memory controller 11 transmits the encrypted data to the tester device 2 by encrypting the data D5 by the encryption / decryption processing unit 21 using the fixed random number value.

テスター装置2は、半導体記憶装置1から受信した暗号化データを、上記固定乱数値を用いて復号化する。そして、当該復号化したデータの値と、上記で生成したテストパターンの期待値とを照合することにより、メモリアレイ13の信頼性を評価する。   The tester device 2 decrypts the encrypted data received from the semiconductor memory device 1 using the fixed random number value. Then, the reliability of the memory array 13 is evaluated by collating the value of the decrypted data with the expected value of the test pattern generated above.

なお、以上の説明では、固定乱数値をメモリテストコマンド内に含めてテスター装置2から半導体記憶装置1に送信する例について述べたが、この例には限定されない。例えば、固定乱数値は、半導体記憶装置1内の任意の記憶部(メモリアレイ13、RAM、ROM、又はレジスタ等)に、予め格納されていても良い。この場合、メモリコントローラ11は、テスター装置2からメモリテストコマンドを受信することにより、当該記憶部から固定乱数値を読み出して、当該固定乱数値をレジスタ23に格納する。   In the above description, the example in which the fixed random number value is included in the memory test command and transmitted from the tester device 2 to the semiconductor memory device 1 has been described. However, the present invention is not limited to this example. For example, the fixed random number value may be stored in advance in an arbitrary storage unit (memory array 13, RAM, ROM, register, or the like) in the semiconductor memory device 1. In this case, the memory controller 11 receives the memory test command from the tester device 2, reads the fixed random value from the storage unit, and stores the fixed random value in the register 23.

<乱数生成器の信頼性テスト(第1の例:乱数の張り付きの評価)>
図6は、乱数テストにおいてメモリコントローラ11が実行する処理の流れを示すフローチャートである。出荷テストにおいて乱数テストを実行する場合、まずテスター装置2は、乱数生成器12からの乱数値の取得回数を指定するための回数情報を生成する。次にテスター装置2は、乱数テストの実行を指示する専用のテストコマンド(以下「乱数テストコマンド」と称す)内に上記回数情報を格納した後、当該乱数テストコマンドを既知のテストモード用暗号アルゴリズムを用いて暗号化する。そして、暗号化乱数テストコマンドを、データD1として半導体記憶装置1に送信する。なお、乱数テストコマンドの暗号化は省略しても良い。
<Reliability test of random number generator (first example: evaluation of sticking of random number)>
FIG. 6 is a flowchart showing a flow of processing executed by the memory controller 11 in the random number test. When a random number test is executed in the shipping test, first, the tester device 2 generates number information for designating the number of times of random number acquisition from the random number generator 12. Next, the tester apparatus 2 stores the number-of-times information in a dedicated test command (hereinafter referred to as “random number test command”) for instructing execution of a random number test, and then uses the random number test command as a known test mode cryptographic algorithm. Encrypt using. Then, the encrypted random number test command is transmitted to the semiconductor memory device 1 as data D1. Note that encryption of the random number test command may be omitted.

図6を参照して、まずステップSP31においてメモリコントローラ11は、テスター装置2から送信された暗号化乱数テストコマンドを受信する。そして、受信した暗号化乱数テストコマンドを、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて復号化する。暗号・復号処理部21は、復号化された乱数テストコマンドをデータD2として出力する。   With reference to FIG. 6, first in step SP31, the memory controller 11 receives the encrypted random number test command transmitted from the tester apparatus 2. The received encrypted random number test command is decrypted by the encryption / decryption processing unit 21 using the test mode encryption algorithm. The encryption / decryption processing unit 21 outputs the decrypted random number test command as data D2.

次にステップSP32においてメモリコントローラ11は、テスター装置2から乱数テストコマンドを受信したことをコマンドIDによって認識することにより、セレクタ24〜26の入力端子を図2の「1」側に切り替える。   Next, in step SP32, the memory controller 11 recognizes that the random number test command has been received from the tester device 2 by the command ID, thereby switching the input terminals of the selectors 24 to 26 to the “1” side in FIG.

次にステップSP33においてメモリコントローラ11は、ステップSP31で暗号・復号処理部21から出力された乱数テストコマンドから、上記回数情報を抽出する。   Next, in step SP33, the memory controller 11 extracts the number-of-times information from the random number test command output from the encryption / decryption processing unit 21 in step SP31.

次にステップSP34においてメモリコントローラ11は、ステップSP33で抽出した上記回数情報を、データD6としてセルフテスト処理部22に入力する。これにより、乱数生成器12からの乱数値の取得回数がセルフテスト処理部22に指定される。   Next, in step SP34, the memory controller 11 inputs the number-of-times information extracted in step SP33 to the self-test processing unit 22 as data D6. As a result, the number of acquisitions of the random number value from the random number generator 12 is designated to the self-test processing unit 22.

次にステップSP35においてメモリコントローラ11は、乱数値の生成を乱数生成器12に指示するための制御信号D7を、セルフテスト処理部22から乱数生成器12に入力する。乱数生成器12は、制御信号D7が入力されたことにより乱数値D8を生成する。次にメモリコントローラ11は、乱数生成器12から出力された乱数値D8をセルフテスト処理部22に入力する。   Next, in step SP35, the memory controller 11 inputs a control signal D7 for instructing the random number generator 12 to generate a random number value from the self-test processing unit 22 to the random number generator 12. The random number generator 12 generates a random value D8 when the control signal D7 is input. Next, the memory controller 11 inputs the random number value D <b> 8 output from the random number generator 12 to the self test processing unit 22.

次にステップSP36においてメモリコントローラ11は、乱数値D8を格納するためのテストデータ格納領域R2内のアドレスD9を、セルフテスト処理部22からセレクタ26を介してメモリアレイ13に入力する。また、メモリコントローラ11は、ステップSP35で取得した乱数値D8を、セルフテスト処理部22からメモリアレイ13に入力する。これにより、ステップSP35で取得した乱数値D8が、テストデータ格納領域R2内の指定アドレスに格納される。   Next, in step SP36, the memory controller 11 inputs the address D9 in the test data storage area R2 for storing the random value D8 from the self test processing unit 22 to the memory array 13 via the selector 26. In addition, the memory controller 11 inputs the random value D8 acquired in step SP35 from the self-test processing unit 22 to the memory array 13. As a result, the random value D8 acquired in step SP35 is stored at the designated address in the test data storage area R2.

次にステップSP37においてメモリコントローラ11は、一つ前に生成されてメモリアレイ13に格納した乱数値D8を、メモリアレイ13からセルフテスト処理部22に読み出す。次にメモリコントローラ11は、ステップSP35で取得した最新の乱数値D8(以下「新乱数値」と称す)と、メモリアレイ13から読み出した一つ前の乱数値D8(以下「旧乱数値」と称す)とを、セルフテスト処理部22によって比較する。   Next, in step SP <b> 37, the memory controller 11 reads the random number value D <b> 8 that was generated one time before and stored in the memory array 13 from the memory array 13 to the self-test processing unit 22. Next, the memory controller 11 obtains the latest random number value D8 (hereinafter referred to as “new random number value”) acquired in step SP35, and the previous random number value D8 read from the memory array 13 (hereinafter referred to as “old random number value”). Are compared by the self-test processing unit 22.

ステップSP37における判定の結果、新乱数値D8と旧乱数値D8とが同一である場合には、次にステップSP39においてメモリコントローラ11は、乱数生成器12によって同一の乱数値が連続して生成されたことを示す検査結果(つまり、乱数の張り付きが生じていることを示す検査結果)を、データD10としてセルフテスト処理部22からセレクタ25を介して暗号・復号処理部21に入力する。次にメモリコントローラ11は、当該検査結果を、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて暗号化した後、テスター装置2に送信する。テスター装置2は、半導体記憶装置1から受信した暗号化された検査結果を、上記テストモード用暗号アルゴリズムを用いて復号化することにより、乱数生成器12の信頼性(この場合は乱数の張り付きが生じたこと)を評価する。   If the result of determination in step SP37 is that the new random number value D8 and the old random number value D8 are the same, then in step SP39, the memory controller 11 continuously generates the same random number value by the random number generator 12. The test result indicating that this is the case (that is, the test result indicating that sticking of random numbers has occurred) is input from the self-test processing unit 22 to the encryption / decryption processing unit 21 via the selector 25 as data D10. Next, the memory controller 11 encrypts the inspection result using the test mode encryption algorithm by the encryption / decryption processing unit 21, and transmits the result to the tester device 2. The tester device 2 decrypts the encrypted inspection result received from the semiconductor memory device 1 by using the test mode encryption algorithm, so that the reliability of the random number generator 12 (in this case, the sticking of the random number is suppressed). Evaluate).

ステップSP37における判定の結果、新乱数値D8と旧乱数値D8とが同一でない場合には、次にステップSP39においてメモリコントローラ11は、上記回数情報で指定された回数分の乱数値D8を取得したか否かを、セルフテスト処理部22によって判定する。   If the result of determination in step SP37 is that the new random number value D8 and the old random number value D8 are not the same, then in step SP39, the memory controller 11 has acquired the random number value D8 for the number of times specified by the number information. Is determined by the self-test processing unit 22.

指定回数分の乱数値D8の取得が完了していない場合には、メモリコントローラ11は、ステップSP35以降の処理を繰り返し実行する。   If acquisition of the random number D8 for the specified number of times has not been completed, the memory controller 11 repeatedly executes the processing after step SP35.

一方、指定回数分の乱数値D8の取得が完了した場合には、次にステップSP39においてメモリコントローラ11は、乱数の張り付きが生じていないことを示す検査結果を、データD10としてセルフテスト処理部22からセレクタ25を介して暗号・復号処理部21に入力する。次にメモリコントローラ11は、当該検査結果を、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて暗号化した後、テスター装置2に送信する。テスター装置2は、半導体記憶装置1から受信した暗号化された検査結果を、上記テストモード用暗号アルゴリズムを用いて復号化することにより、乱数生成器12の信頼性(この場合は乱数の張り付きが生じていないこと)を評価する。   On the other hand, when acquisition of the random number value D8 for the specified number of times is completed, in step SP39, the memory controller 11 then uses the self-test processing unit 22 as the data D10 as an inspection result indicating that no random number sticking has occurred. To the encryption / decryption processing unit 21 via the selector 25. Next, the memory controller 11 encrypts the inspection result using the test mode encryption algorithm by the encryption / decryption processing unit 21, and transmits the result to the tester device 2. The tester device 2 decrypts the encrypted inspection result received from the semiconductor memory device 1 by using the test mode encryption algorithm, so that the reliability of the random number generator 12 (in this case, the sticking of the random number is suppressed). Evaluate what has not happened.

なお、以上の説明では、回数情報を乱数テストコマンド内に含めてテスター装置2から半導体記憶装置1に送信する例について述べたが、この例には限定されない。例えば、回数情報は、半導体記憶装置1内の任意の格納部(メモリアレイ13、RAM、ROM、又はレジスタ等)に、予め格納されていても良い。この場合、メモリコントローラ11は、テスター装置2から乱数テストコマンドを受信することにより、当該格納部から回数情報を読み出してセルフテスト処理部22に入力する。後述する第2及び第3の例についても同様である。   In the above description, the number information is included in the random number test command and transmitted from the tester device 2 to the semiconductor memory device 1. However, the present invention is not limited to this example. For example, the number information may be stored in advance in an arbitrary storage unit (memory array 13, RAM, ROM, register, or the like) in the semiconductor memory device 1. In this case, the memory controller 11 receives the random number test command from the tester device 2, thereby reading the number information from the storage unit and inputting it to the self-test processing unit 22. The same applies to second and third examples described later.

また、以上の説明では、旧乱数値D8をメモリアレイ13のテストデータ格納領域R2内に格納する例について述べたが、この例には限定されない。メモリコントローラ11の内部レジスタ、又はRAM等に旧乱数値D8を格納しても良い。後述する第2及び第3の例についても同様である。   In the above description, the example in which the old random number value D8 is stored in the test data storage area R2 of the memory array 13 has been described. However, the present invention is not limited to this example. The old random value D8 may be stored in an internal register of the memory controller 11 or a RAM. The same applies to second and third examples described later.

<乱数生成器の信頼性テスト(第2の例:乱数の周期性の評価)>
図7は、乱数テストにおいてメモリコントローラ11が実行する処理の流れを示すフローチャートである。出荷テストにおいて乱数テストを実行する場合、まずテスター装置2は、乱数生成器12からの乱数値の取得回数を指定するための回数情報を生成する。次にテスター装置2は、乱数テストコマンド内に上記回数情報を格納した後、当該乱数テストコマンドを既知のテストモード用暗号アルゴリズムを用いて暗号化する。そして、暗号化乱数テストコマンドを、データD1として半導体記憶装置1に送信する。なお、乱数テストコマンドの暗号化は省略しても良い。
<Reliability test of random number generator (second example: evaluation of periodicity of random number)>
FIG. 7 is a flowchart showing a flow of processing executed by the memory controller 11 in the random number test. When a random number test is executed in the shipping test, first, the tester device 2 generates number information for designating the number of times of random number acquisition from the random number generator 12. Next, after storing the number-of-times information in the random number test command, the tester device 2 encrypts the random number test command using a known test mode encryption algorithm. Then, the encrypted random number test command is transmitted to the semiconductor memory device 1 as data D1. Note that encryption of the random number test command may be omitted.

図7を参照して、まずステップSP51においてメモリコントローラ11は、テスター装置2から送信された暗号化乱数テストコマンドを受信する。そして、受信した暗号化乱数テストコマンドを、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて復号化する。暗号・復号処理部21は、復号化された乱数テストコマンドをデータD2として出力する。   With reference to FIG. 7, first, in step SP51, the memory controller 11 receives the encrypted random number test command transmitted from the tester apparatus 2. The received encrypted random number test command is decrypted by the encryption / decryption processing unit 21 using the test mode encryption algorithm. The encryption / decryption processing unit 21 outputs the decrypted random number test command as data D2.

次にステップSP52においてメモリコントローラ11は、テスター装置2から乱数テストコマンドを受信したことをコマンドIDによって認識することにより、セレクタ24〜26の入力端子を図2の「1」側に切り替える。   Next, in step SP52, the memory controller 11 recognizes that the random number test command has been received from the tester device 2 based on the command ID, thereby switching the input terminals of the selectors 24 to 26 to the “1” side in FIG.

次にステップSP53においてメモリコントローラ11は、ステップSP51で暗号・復号処理部21から出力された乱数テストコマンドから、上記回数情報を抽出する。   Next, in step SP53, the memory controller 11 extracts the number-of-times information from the random number test command output from the encryption / decryption processing unit 21 in step SP51.

次にステップSP54においてメモリコントローラ11は、ステップSP53で抽出した上記回数情報を、データD6としてセルフテスト処理部22に入力する。これにより、乱数生成器12からの乱数値の取得回数がセルフテスト処理部22に指定される。   Next, in step SP54, the memory controller 11 inputs the number-of-times information extracted in step SP53 to the self-test processing unit 22 as data D6. As a result, the number of acquisitions of the random number value from the random number generator 12 is designated to the self-test processing unit 22.

次にステップSP55においてメモリコントローラ11は、乱数値の生成を乱数生成器12に指示するための制御信号D7を、セルフテスト処理部22から乱数生成器12に入力する。乱数生成器12は、制御信号D7が入力されたことにより乱数値D8を生成する。次にメモリコントローラ11は、乱数生成器12から出力された乱数値D8をセルフテスト処理部22に入力する。   Next, in step SP55, the memory controller 11 inputs a control signal D7 for instructing the random number generator 12 to generate a random number value from the self-test processing unit 22 to the random number generator 12. The random number generator 12 generates a random value D8 when the control signal D7 is input. Next, the memory controller 11 inputs the random number value D <b> 8 output from the random number generator 12 to the self test processing unit 22.

次にステップSP56においてメモリコントローラ11は、乱数値D8を格納するためのテストデータ格納領域R2内のアドレスD9を、セルフテスト処理部22からセレクタ26を介してメモリアレイ13に入力する。また、メモリコントローラ11は、ステップSP55で取得した乱数値D8を、セルフテスト処理部22からメモリアレイ13に入力する。これにより、ステップSP55で取得した乱数値D8が、テストデータ格納領域R2内の指定アドレスに格納される。   Next, in step SP56, the memory controller 11 inputs the address D9 in the test data storage area R2 for storing the random value D8 from the self test processing unit 22 to the memory array 13 via the selector 26. In addition, the memory controller 11 inputs the random value D8 acquired in step SP55 from the self-test processing unit 22 to the memory array 13. As a result, the random value D8 acquired in step SP55 is stored at the designated address in the test data storage area R2.

次にステップSP57においてメモリコントローラ11は、その時点でメモリアレイ13に格納されている全ての乱数値D8を、メモリアレイ13からセルフテスト処理部22に読み出す。次にメモリコントローラ11は、ステップSP55で取得した最新の乱数値D8(以下「新乱数値」と称す)と、メモリアレイ13から読み出した既存の乱数値D8(以下「既存乱数値」と称す)とを、セルフテスト処理部22によって比較する。   Next, in step SP57, the memory controller 11 reads all random number values D8 stored in the memory array 13 at that time from the memory array 13 to the self-test processing unit 22. Next, the memory controller 11 acquires the latest random number value D8 (hereinafter referred to as “new random value”) acquired in step SP55 and the existing random number value D8 read from the memory array 13 (hereinafter referred to as “existing random number value”). Are compared by the self-test processing unit 22.

ステップSP57における判定の結果、新乱数値D8が既存乱数値D8のいずれかと同一である場合には、次にステップSP59においてメモリコントローラ11は、乱数生成器12によって同一の乱数値が重複して生成されたことを示す検査結果(つまり、乱数の周期性が生じていることを示す検査結果)を、データD10としてセルフテスト処理部22からセレクタ25を介して暗号・復号処理部21に入力する。次にメモリコントローラ11は、当該検査結果を、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて暗号化した後、テスター装置2に送信する。テスター装置2は、半導体記憶装置1から受信した暗号化された検査結果を、上記テストモード用暗号アルゴリズムを用いて復号化することにより、乱数生成器12の信頼性(この場合は乱数の周期性が生じたこと)を評価する。   If the result of determination in step SP57 is that the new random number value D8 is the same as any of the existing random number values D8, then in step SP59, the memory controller 11 uses the random number generator 12 to generate the same random number value in duplicate. A test result indicating that the random number has been generated (that is, a test result indicating that a random periodicity has occurred) is input from the self-test processing unit 22 to the encryption / decryption processing unit 21 via the selector 25 as data D10. Next, the memory controller 11 encrypts the inspection result using the test mode encryption algorithm by the encryption / decryption processing unit 21, and transmits the result to the tester device 2. The tester device 2 decrypts the encrypted inspection result received from the semiconductor memory device 1 using the test mode encryption algorithm, thereby improving the reliability of the random number generator 12 (in this case, the periodicity of the random number). Is evaluated).

ステップSP57における判定の結果、新乱数値D8が全ての既存乱数値D8と同一でない場合には、次にステップSP58においてメモリコントローラ11は、上記回数情報で指定された回数分の乱数値D8を取得したか否かを、セルフテスト処理部22によって判定する。   If the result of determination in step SP57 is that the new random number value D8 is not the same as all existing random number values D8, then in step SP58, the memory controller 11 acquires random number values D8 for the number of times specified by the number information. The self-test processing unit 22 determines whether or not it has been performed.

指定回数分の乱数値D8の取得が完了していない場合には、メモリコントローラ11は、ステップSP55以降の処理を繰り返し実行する。   If acquisition of the random number D8 for the specified number of times has not been completed, the memory controller 11 repeatedly executes the processing from step SP55.

一方、指定回数分の乱数値D8の取得が完了した場合には、次にステップSP59においてメモリコントローラ11は、乱数の周期性が生じていないことを示す検査結果を、データD10としてセルフテスト処理部22からセレクタ25を介して暗号・復号処理部21に入力する。次にメモリコントローラ11は、当該検査結果を、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて暗号化した後、テスター装置2に送信する。テスター装置2は、半導体記憶装置1から受信した暗号化された検査結果を、上記テストモード用暗号アルゴリズムを用いて復号化することにより、乱数生成器12の信頼性(この場合は乱数の周期性が生じていないこと)を評価する。   On the other hand, when acquisition of the random number D8 for the specified number of times is completed, in step SP59, the memory controller 11 then uses the self-test processing unit as the data D10 as an inspection result indicating that random number periodicity has not occurred. 22 to the encryption / decryption processing unit 21 via the selector 25. Next, the memory controller 11 encrypts the inspection result using the test mode encryption algorithm by the encryption / decryption processing unit 21, and transmits the result to the tester device 2. The tester device 2 decrypts the encrypted inspection result received from the semiconductor memory device 1 using the test mode encryption algorithm, thereby improving the reliability of the random number generator 12 (in this case, the periodicity of the random number). Is not occurring).

<乱数生成器の信頼性テスト(第3の例:乱数の偏りの評価)>
図8は、乱数テストにおいてメモリコントローラ11が実行する処理の流れを示すフローチャートである。出荷テストにおいて乱数テストを実行する場合、まずテスター装置2は、乱数生成器12からの乱数値の取得回数を指定するための回数情報を生成する。次にテスター装置2は、乱数テストコマンド内に上記回数情報を格納した後、当該乱数テストコマンドを既知のテストモード用暗号アルゴリズムを用いて暗号化する。そして、暗号化乱数テストコマンドを、データD1として半導体記憶装置1に送信する。なお、乱数テストコマンドの暗号化は省略しても良い。
<Reliability test of random number generator (third example: evaluation of random number bias)>
FIG. 8 is a flowchart showing a flow of processing executed by the memory controller 11 in the random number test. When a random number test is executed in the shipping test, first, the tester device 2 generates number information for designating the number of times of random number acquisition from the random number generator 12. Next, after storing the number-of-times information in the random number test command, the tester device 2 encrypts the random number test command using a known test mode encryption algorithm. Then, the encrypted random number test command is transmitted to the semiconductor memory device 1 as data D1. Note that encryption of the random number test command may be omitted.

図8を参照して、まずステップSP71においてメモリコントローラ11は、テスター装置2から送信された暗号化乱数テストコマンドを受信する。そして、受信した暗号化乱数テストコマンドを、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて復号化する。暗号・復号処理部21は、復号化された乱数テストコマンドをデータD2として出力する。   Referring to FIG. 8, first, in step SP <b> 71, the memory controller 11 receives the encrypted random number test command transmitted from the tester apparatus 2. The received encrypted random number test command is decrypted by the encryption / decryption processing unit 21 using the test mode encryption algorithm. The encryption / decryption processing unit 21 outputs the decrypted random number test command as data D2.

次にステップSP72においてメモリコントローラ11は、テスター装置2から乱数テストコマンドを受信したことをコマンドIDによって認識することにより、セレクタ24〜26の入力端子を図2の「1」側に切り替える。   Next, in step SP72, the memory controller 11 switches the input terminals of the selectors 24 to 26 to the “1” side in FIG. 2 by recognizing from the command ID that the random number test command has been received from the tester device 2.

次にステップSP73においてメモリコントローラ11は、ステップSP71で暗号・復号処理部21から出力された乱数テストコマンドから、上記回数情報を抽出する。   Next, in step SP73, the memory controller 11 extracts the number-of-times information from the random number test command output from the encryption / decryption processing unit 21 in step SP71.

次にステップSP74においてメモリコントローラ11は、ステップSP73で抽出した上記回数情報を、データD6としてセルフテスト処理部22に入力する。これにより、乱数生成器12からの乱数値の取得回数がセルフテスト処理部22に指定される。   Next, in step SP74, the memory controller 11 inputs the number-of-times information extracted in step SP73 to the self-test processing unit 22 as data D6. As a result, the number of acquisitions of the random number value from the random number generator 12 is designated to the self-test processing unit 22.

次にステップSP75においてメモリコントローラ11は、乱数値の生成を乱数生成器12に指示するための制御信号D7を、セルフテスト処理部22から乱数生成器12に入力する。乱数生成器12は、制御信号D7が入力されたことにより乱数値D8を生成する。次にメモリコントローラ11は、乱数生成器12から出力された乱数値D8をセルフテスト処理部22に入力する。   Next, in step SP75, the memory controller 11 inputs a control signal D7 for instructing the random number generator 12 to generate a random number value from the self-test processing unit 22 to the random number generator 12. The random number generator 12 generates a random value D8 when the control signal D7 is input. Next, the memory controller 11 inputs the random number value D <b> 8 output from the random number generator 12 to the self test processing unit 22.

次にステップSP76においてメモリコントローラ11は、乱数値D8を格納するためのテストデータ格納領域R2内のアドレスD9を、セルフテスト処理部22からセレクタ26を介してメモリアレイ13に入力する。また、メモリコントローラ11は、ステップSP75で取得した乱数値D8を、セルフテスト処理部22からメモリアレイ13に入力する。これにより、ステップSP75で取得した乱数値D8が、テストデータ格納領域R2内の指定アドレスに格納される。   Next, in step SP76, the memory controller 11 inputs the address D9 in the test data storage area R2 for storing the random value D8 from the self test processing unit 22 to the memory array 13 via the selector 26. In addition, the memory controller 11 inputs the random value D8 acquired in step SP75 from the self-test processing unit 22 to the memory array 13. Thereby, the random value D8 acquired in step SP75 is stored in the designated address in the test data storage area R2.

次にステップSP77においてメモリコントローラ11は、上記回数情報で指定された回数分の乱数値D8を取得したか否かを、セルフテスト処理部22によって判定する。   Next, in step SP77, the memory controller 11 determines whether or not the random number value D8 for the number of times specified by the number information is acquired by the self-test processing unit 22.

指定回数分の乱数値D8の取得が完了していない場合には、メモリコントローラ11は、ステップSP75以降の処理を繰り返し実行する。   If acquisition of the random number D8 for the specified number of times has not been completed, the memory controller 11 repeatedly executes the processing after step SP75.

一方、指定回数分の乱数値D8の取得が完了した場合には、次にステップSP78においてメモリコントローラ11は、メモリアレイ13に格納されている全ての乱数値D8を、メモリアレイ13からセルフテスト処理部22に読み出す。次にメモリコントローラ11は、乱数値D8の各ビットに「0」又は「1」の偏りが生じているか否かを、セルフテスト処理部22によって検査する。セルフテスト処理部22は、例えば、各乱数値D8のビット長が128ビットであり、上記指定回数が64回である場合において、合計128×64ビットのうち、「0」又は「1」の個数が、「50×64」個以上かつ「70×64」個以内の許容範囲内であれば偏りは生じていないと判定し、上記許容範囲外であれば偏りが生じていると判定する。   On the other hand, when acquisition of the random number D8 for the designated number of times is completed, in step SP78, the memory controller 11 next performs self-test processing on all random numbers D8 stored in the memory array 13 from the memory array 13. Read to unit 22. Next, the memory controller 11 uses the self-test processing unit 22 to check whether or not each bit of the random value D8 is biased with “0” or “1”. For example, when the bit length of each random value D8 is 128 bits and the specified number of times is 64, the self-test processing unit 22 counts the number of “0” or “1” out of the total 128 × 64 bits. However, if it is within the allowable range of “50 × 64” or more and within “70 × 64”, it is determined that there is no bias, and if it is outside the allowable range, it is determined that there is bias.

次にステップSP79においてメモリコントローラ11は、乱数の偏りが生じているか否かを示す検査結果を、データD10としてセルフテスト処理部22からセレクタ25を介して暗号・復号処理部21に入力する。次にメモリコントローラ11は、当該検査結果を、暗号・復号処理部21によって上記テストモード用暗号アルゴリズムを用いて暗号化した後、テスター装置2に送信する。テスター装置2は、半導体記憶装置1から受信した暗号化された検査結果を、上記テストモード用暗号アルゴリズムを用いて復号化することにより、乱数生成器12の信頼性(この場合は乱数の偏りが生じているか否か)を評価する。   Next, in step SP79, the memory controller 11 inputs a test result indicating whether or not random number bias has occurred to the encryption / decryption processing unit 21 from the self-test processing unit 22 via the selector 25 as data D10. Next, the memory controller 11 encrypts the inspection result using the test mode encryption algorithm by the encryption / decryption processing unit 21, and transmits the result to the tester device 2. The tester device 2 decrypts the encrypted inspection result received from the semiconductor memory device 1 by using the test mode encryption algorithm, so that the reliability of the random number generator 12 (in this case, the bias of the random number is increased). Evaluate whether or not it has occurred.

なお、以上の説明では、指定回数分の乱数値D8をメモリアレイ13のテストデータ格納領域R2内に格納する例について述べたが、この例には限定されない。メモリコントローラ11の内部レジスタに乱数値D8を格納した状態で「0」又は「1」のビット数をカウントし、新たな乱数値D8が生成される毎にカウント値を累積することにより、メモリアレイ13への乱数値D8の格納を省略しても良い。   In the above description, the example in which the specified number of random values D8 are stored in the test data storage area R2 of the memory array 13 has been described, but the present invention is not limited to this example. By counting the number of bits of “0” or “1” with the random number value D8 stored in the internal register of the memory controller 11, and accumulating the count value each time a new random number value D8 is generated, the memory array The storage of the random value D8 in 13 may be omitted.

また、乱数生成器12の信頼性テストに関する上記第1〜第3の例は、任意に組み合わせて適用することが可能である。   The first to third examples relating to the reliability test of the random number generator 12 can be applied in any combination.

<まとめ>
本実施の形態に係る半導体記憶装置(半導体装置)1によれば、メモリコントローラ11は、テスター装置2からメモリテストコマンドを受信することにより、メモリアレイ13及び乱数生成器12のうちメモリアレイ13のみを対象とする信頼性テスト(メモリテスト)を実行し、テスター装置2から乱数テストコマンドを受信することにより、メモリアレイ13及び乱数生成器12のうち乱数生成器12のみを対象とする信頼性テスト(乱数テスト)を実行する。このように、真性乱数の乱数値に依存しないメモリアレイ13の信頼性テストと、真性乱数の乱数値に依存する乱数生成器12の信頼性テストとを分離して実行することにより、1台のテスター装置2を用いて複数台の半導体記憶装置1に対する信頼性テストを同時に行うことが可能となる。その結果、真性乱数を生成する乱数生成器12が実装された半導体記憶装置1に関しても、複数台の半導体記憶装置1に対する同時の信頼性テストを実現できるため、出荷テストの生産性を向上することが可能となる。
<Summary>
According to the semiconductor memory device (semiconductor device) 1 according to the present embodiment, the memory controller 11 receives only a memory test command from the tester device 2, so that only the memory array 13 of the memory array 13 and the random number generator 12 is received. A reliability test (memory test) is performed on the memory array 13 and a random number test command is received from the tester device 2, so that the reliability test is performed only on the random number generator 12 among the memory array 13 and the random number generator 12. (Random number test) is executed. In this way, the reliability test of the memory array 13 that does not depend on the random number value of the true random number and the reliability test of the random number generator 12 that depends on the random number value of the true random number are separated and executed. It is possible to simultaneously perform a reliability test on a plurality of semiconductor memory devices 1 using the tester device 2. As a result, the semiconductor memory device 1 on which the random number generator 12 for generating the true random number is mounted can also realize a simultaneous reliability test for a plurality of semiconductor memory devices 1, thereby improving the productivity of the shipping test. Is possible.

また、本実施の形態に係る半導体記憶装置1によれば、メモリアレイ13の信頼性テストを実行する際には、メモリコントローラ11は、乱数生成器12が生成する真性乱数に代えて所定の固定乱数値を暗号・復号処理部21に入力し、暗号・復号処理部21は、当該固定乱数値に基づいて、テスター装置2との間で送受信する信号(コマンド及びデータ)に対して暗号化及び復号化を行う。このように、真性乱数に代えて所定の固定乱数値を用いることにより、メモリアレイ13の信頼性テストを実行する際に、暗号・復号処理部21による暗号化及び復号化の処理は、乱数生成器12が生成する真性乱数に依存しない。その結果、複数台の半導体記憶装置1に対して共通の固定乱数値を設定することによって共通の期待値を使用できるため、複数台の半導体記憶装置1に対するメモリアレイ13の信頼性テストを同時に実行することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, when executing the reliability test of the memory array 13, the memory controller 11 replaces the genuine random number generated by the random number generator 12 with a predetermined fixed number. The random number value is input to the encryption / decryption processing unit 21, and the encryption / decryption processing unit 21 encrypts and transmits a signal (command and data) transmitted / received to / from the tester device 2 based on the fixed random number value. Decrypt. In this way, when a reliability test of the memory array 13 is executed by using a predetermined fixed random value instead of the true random number, the encryption / decryption processing unit 21 performs random number generation when executing the reliability test of the memory array 13. It does not depend on the true random number generated by the device 12. As a result, since a common expected value can be used by setting a common fixed random number value for a plurality of semiconductor memory devices 1, the reliability test of the memory array 13 for the plurality of semiconductor memory devices 1 is simultaneously performed. It becomes possible to do.

また、本実施の形態に係る半導体記憶装置1によれば、メモリコントローラ11は、テスター装置2から受信したメモリテストコマンド(第1テストコマンド)から固定乱数値を抽出し、当該固定乱数値をレジスタ23に格納する。レジスタ23に格納された固定乱数値を使用することにより、暗号・復号処理部21は、乱数生成器12が生成する真性乱数に依存しない暗号化及び復号化の処理を実行することが可能となる。また、メモリテストコマンドに固定乱数値を含めることにより、テスター装置2によって固定乱数値を容易に変更することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the memory controller 11 extracts a fixed random value from the memory test command (first test command) received from the tester device 2, and registers the fixed random value in the register. 23. By using the fixed random number value stored in the register 23, the encryption / decryption processing unit 21 can execute encryption and decryption processing independent of the true random number generated by the random number generator 12. . In addition, by including a fixed random value in the memory test command, the tester device 2 can easily change the fixed random value.

また、本実施の形態に係る半導体記憶装置1によれば、半導体記憶装置1内の所定の記憶部に固定乱数値が格納されており、メモリコントローラ11は、当該記憶部から読み出した固定乱数値をレジスタ23に格納する。レジスタ23に格納された固定乱数値を使用することにより、暗号・復号処理部21は、乱数生成器12が生成する真性乱数に依存しない暗号化及び復号化の処理を実行することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the fixed random number value is stored in the predetermined storage unit in the semiconductor memory device 1, and the memory controller 11 reads the fixed random number value read from the storage unit. Is stored in the register 23. By using the fixed random number value stored in the register 23, the encryption / decryption processing unit 21 can execute encryption and decryption processing independent of the true random number generated by the random number generator 12. .

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、所定の制御信号D7を乱数生成器12に入力することにより乱数生成器12に乱数値D8を生成させ、乱数生成器12が生成した乱数値D8の再現不可能性を検査する。セルフテスト処理部22によってセルフテストを行うことにより、乱数生成器12の信頼性テストを簡易かつ効率的に実行することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 causes the random number generator 12 to generate the random value D8 by inputting the predetermined control signal D7 to the random number generator 12, and The reproducibility of the random value D8 generated by the random number generator 12 is checked. By performing a self test by the self test processing unit 22, it is possible to easily and efficiently execute a reliability test of the random number generator 12.

一般的な乱数テストでは、生成した乱数が再現不可能性及び一様性の双方を満たしているか否かを検査する必要があり、出荷テスト時にこのような複雑な乱数テストを行ったのではテストコストが増大する。本実施の形態に係る半導体記憶装置1では、乱数生成器12の信頼性テストを、乱数値の再現不可能性の検査に限定することにより、テストの容易化及びテストコストの削減を図ることが可能となる。一方、乱数生成器12の信頼性テストでは一様性の検査は行われないため、乱数生成器とは別の処理ブロックで乱数の一様性が担保されている装置に対して本発明を適用することが、特に有効である。本実施の形態に係る半導体記憶装置1では、暗号・復号処理部21における暗号アルゴリズムによって乱数の一様性を担保することにより、乱数生成器12の信頼性テストでは乱数の再現不可能性の検査に限定することができる。   In a general random number test, it is necessary to check whether the generated random number satisfies both non-reproducibility and uniformity. Cost increases. In the semiconductor memory device 1 according to the present embodiment, the reliability test of the random number generator 12 is limited to the inspection of the reproducibility of the random number value, thereby facilitating the test and reducing the test cost. It becomes possible. On the other hand, since the uniformity test is not performed in the reliability test of the random number generator 12, the present invention is applied to an apparatus in which the uniformity of random numbers is ensured by a processing block different from the random number generator. It is particularly effective to do this. In the semiconductor memory device 1 according to the present embodiment, the uniformity of random numbers is ensured by the encryption algorithm in the encryption / decryption processing unit 21, so that the reliability test of the random number generator 12 can check the inability to reproduce random numbers. It can be limited to.

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数生成器12が生成した乱数値D8を記憶部(メモリアレイ13、メモリコントローラ11の内部レジスタ、又はRAM等)に格納し、当該記憶部から読み出した乱数値D8に基づいて、乱数生成器12が生成した乱数値D8の再現不可能性を検査する。乱数生成器12が過去に生成した乱数値D8を記憶部に格納しておくことにより、セルフテスト処理部22は、記憶部から読み出した乱数値D8に基づいて、乱数の張り付き、周期性、又は偏り等の再現不可能性を検査することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 stores the random number value D8 generated by the random number generator 12 (memory array 13, internal register of the memory controller 11, or RAM). The random number value D8 generated by the random number generator 12 is inspected based on the random value D8 stored in the storage unit and read from the storage unit. By storing the random number value D8 generated in the past by the random number generator 12 in the storage unit, the self-test processing unit 22 is based on the random number value D8 read from the storage unit, sticking of random numbers, periodicity, or It becomes possible to inspect non-reproducibility such as bias.

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数テストコマンド(第2テストコマンド)から回数情報を抽出し、当該回数情報に基づいて乱数生成器12に複数の乱数値D8を順に生成させる。これにより、乱数生成器12が順に生成した複数の乱数値D8を記憶部に格納することができ、セルフテスト処理部22が当該記憶部から複数の乱数値D8を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。また、乱数テストコマンドに回数情報を含めることにより、テスター装置2によって回数情報を容易に変更することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 extracts the number information from the random number test command (second test command), and sends it to the random number generator 12 based on the number information. A plurality of random values D8 are generated in order. As a result, a plurality of random number values D8 sequentially generated by the random number generator 12 can be stored in the storage unit, and the self-test processing unit 22 reads the plurality of random number values D8 from the storage unit, thereby reproducing the random number values. It becomes possible to check the impossibility. Also, by including the number information in the random number test command, the number information can be easily changed by the tester device 2.

また、本実施の形態に係る半導体記憶装置1によれば、半導体記憶装置1内の所定の格納部(メモリアレイ13、RAM、ROM、又はレジスタ等)に回数情報が格納されており、セルフテスト処理部22は、当該格納部から読み出した回数情報に基づいて、乱数生成器12に複数の乱数値D8を順に生成させる。これにより、乱数生成器12が順に生成した複数の乱数値D8を記憶部に格納することができ、セルフテスト処理部22が当該記憶部から複数の乱数値D8を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。   In addition, according to the semiconductor memory device 1 according to the present embodiment, the number-of-times information is stored in a predetermined storage unit (memory array 13, RAM, ROM, register, or the like) in the semiconductor memory device 1, and the self-test The processing unit 22 causes the random number generator 12 to generate a plurality of random number values D8 in order based on the number-of-times information read from the storage unit. As a result, a plurality of random number values D8 sequentially generated by the random number generator 12 can be stored in the storage unit, and the self-test processing unit 22 reads the plurality of random number values D8 from the storage unit, thereby reproducing the random number values. It becomes possible to check the impossibility.

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、回数情報が入力されることによって乱数値D8の検査を開始し、検査が完了するとその検査結果(データD10)をテスター装置2に送信する。従って、乱数生成器12の信頼性テストに関しては、テスター装置2によるテストパターンの作成処理や期待値との照合処理は不要となるため、テスター装置2の処理負荷を軽減することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 starts the inspection of the random value D8 when the number-of-times information is input, and when the inspection is completed, the inspection result (data D10) ) To the tester device 2. Accordingly, with respect to the reliability test of the random number generator 12, test pattern creation processing by the tester device 2 and collation processing with an expected value are not required, so that the processing load on the tester device 2 can be reduced.

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数値の再現不可能性の検査として、乱数生成器12によって同一の乱数値が連続して生成されたか否かを検査する。これにより、乱数の張り付きの有無を簡易にチェックすることが可能となる。   Moreover, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 determines whether the same random number value is continuously generated by the random number generator 12 as an inspection of the reproducibility of the random number value. Check for no. As a result, it is possible to easily check whether the random number is stuck.

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数値の再現不可能性の検査として、乱数生成器12によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査する。これにより、乱数の周期性の有無を簡易にチェックすることが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 includes, among the plurality of random number values generated by the random number generator 12, as a test for the non-reproducibility of the random number value. Check whether the same random value is included. As a result, it is possible to easily check whether the random number has periodicity.

また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数値の再現不可能性の検査として、乱数生成器12によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査する。これにより、乱数の各ビットの「0」又は「1」の偏りの有無を簡易にチェックすることが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the self-test processing unit 22 checks “0” or “0” in the random number value generated by the random number generator 12 as a check of the reproducibility of the random number value. It is checked whether the appearance ratio of “1” is within a predetermined allowable range. As a result, it is possible to easily check whether each bit of the random number is biased by “0” or “1”.

また、本実施の形態に係る半導体記憶装置1によれば、乱数生成器12が生成した乱数値D8はメモリアレイ13に格納される。従って、乱数生成器12が生成した複数の乱数値D8を格納するための大容量のレジスタ又はRAMをメモリコントローラ11の内部又は外部に準備する必要がないため、回路規模を削減することが可能となる。   Further, according to the semiconductor memory device 1 according to the present embodiment, the random number value D8 generated by the random number generator 12 is stored in the memory array 13. Therefore, since it is not necessary to prepare a large-capacity register or RAM for storing a plurality of random number values D8 generated by the random number generator 12 inside or outside the memory controller 11, the circuit scale can be reduced. Become.

1 半導体記憶装置
2 テスター装置
11 メモリコントローラ
12 乱数生成器
13 メモリアレイ
21 暗号・復号処理部
22 セルフテスト処理部
23 レジスタ
24〜26 セレクタ
DESCRIPTION OF SYMBOLS 1 Semiconductor memory device 2 Tester device 11 Memory controller 12 Random number generator 13 Memory array 21 Encryption / decryption processing part 22 Self-test processing part 23 Register 24-26 Selector

Claims (10)

乱数を生成する乱数生成器と、
前記乱数生成器に接続されたメモリコントローラと、
を備え、
前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、
前記セルフテスト処理部は、
所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、
前記乱数生成器が生成した乱数値の再現不可能性を検査する、半導体装置。
A random number generator for generating random numbers;
A memory controller connected to the random number generator;
With
The memory controller has a self-test processing unit that performs a reliability test of the random number generator,
The self-test processing unit
By inputting a predetermined control signal to the random number generator, the random number generator generates a random value,
A semiconductor device that inspects the reproducibility of a random number value generated by the random number generator.
記憶部をさらに備え、
前記セルフテスト処理部は、
前記乱数生成器が生成した乱数値を前記記憶部に格納し、
前記記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査する、請求項1に記載の半導体装置。
A storage unit;
The self-test processing unit
Storing the random value generated by the random number generator in the storage unit;
The semiconductor device according to claim 1, wherein non-reproducibility of the random number value generated by the random number generator is inspected based on the random value read from the storage unit.
前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、前記半導体装置が外部装置から受信するテストコマンドに含まれており、
前記セルフテスト処理部は、テストコマンドから前記回数情報を抽出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させる、請求項2に記載の半導体装置。
The number of times information specifying the number of times the random number generator generates a random number value is included in a test command received by the semiconductor device from an external device,
The semiconductor device according to claim 2, wherein the self-test processing unit extracts the number-of-times information from a test command, and causes the random number generator to sequentially generate a plurality of random number values based on the number-of-times information.
前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、前記半導体装置内の所定の格納部に格納されており、
前記セルフテスト処理部は、前記格納部から前記回数情報を読み出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させる、請求項2に記載の半導体装置。
Number-of-times information designating the number of times the random number generator generates a random number value is stored in a predetermined storage unit in the semiconductor device,
The semiconductor device according to claim 2, wherein the self-test processing unit reads the number-of-times information from the storage unit, and causes the random number generator to sequentially generate a plurality of random number values based on the number-of-times information.
前記セルフテスト処理部は、前記回数情報が入力されることによって乱数値の検査を開始し、検査が完了するとその検査結果を外部装置に送信する、請求項3又は4に記載の半導体装置。   5. The semiconductor device according to claim 3, wherein the self-test processing unit starts an inspection of a random value by inputting the number-of-times information, and transmits the inspection result to an external device when the inspection is completed. 前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって同一の乱数値が連続して生成されたか否かを検査する、請求項1〜5のいずれか一つに記載の半導体装置。   The self-test processing unit inspects whether or not the same random number value is continuously generated by the random number generator as an inspection of the reproducibility of the random number value. A semiconductor device according to 1. 前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査する、請求項1〜6のいずれか一つに記載の半導体装置。   The self-test processing unit inspects whether or not the same random number value is included in a plurality of random number values generated by the random number generator, as a check of the reproducibility of the random number value. Item 7. The semiconductor device according to any one of Items 1 to 6. 前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査する、請求項1〜7のいずれか一つに記載の半導体装置。   The self-test processing unit checks whether or not the appearance ratio of “0” or “1” in the random number value generated by the random number generator is within a predetermined allowable range, as a check of the reproducibility of the random value. The semiconductor device according to claim 1, wherein the semiconductor device is inspected. 乱数を生成する乱数生成器と、
前記乱数生成器に接続されたメモリコントローラと、
記憶部と、
を備え、
前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、
前記セルフテスト処理部は、
所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、
前記乱数生成器が生成した乱数値を前記記憶部に格納し、
前記記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査する、半導体記憶装置。
A random number generator for generating random numbers;
A memory controller connected to the random number generator;
A storage unit;
With
The memory controller has a self-test processing unit that performs a reliability test of the random number generator,
The self-test processing unit
By inputting a predetermined control signal to the random number generator, the random number generator generates a random value,
Storing the random value generated by the random number generator in the storage unit;
A semiconductor memory device that inspects the reproducibility of a random number value generated by the random number generator based on a random number value read from the storage unit.
乱数を生成する乱数生成器と、前記乱数生成器の信頼性テストを実行するセルフテスト処理部と、を備える半導体装置の信頼性テスト方法であって、
(A)前記セルフテスト処理部が所定の制御信号を前記乱数生成器に入力することにより、前記乱数生成器に乱数値を生成させるステップと、
(B)前記セルフテスト処理部が、前記乱数生成器が生成した乱数値の再現不可能性を検査するステップと、
を備える、半導体装置の信頼性テスト方法。
A semiconductor device reliability test method comprising: a random number generator that generates a random number; and a self-test processing unit that executes a reliability test of the random number generator,
(A) causing the self-test processing unit to input a predetermined control signal to the random number generator to cause the random number generator to generate a random value;
(B) the self-test processing unit inspecting the non-reproducibility of the random number value generated by the random number generator;
A semiconductor device reliability test method comprising:
JP2014217811A 2014-10-24 2014-10-24 Semiconductor device, semiconductor storage device, and reliability test of semiconductor device Pending JP2016085337A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014217811A JP2016085337A (en) 2014-10-24 2014-10-24 Semiconductor device, semiconductor storage device, and reliability test of semiconductor device
US14/921,155 US10096379B2 (en) 2014-10-24 2015-10-23 Memory device and method for testing reliability of memory device
US16/126,561 US20190006023A1 (en) 2014-10-24 2018-09-10 Semiconductor device, semiconductor memory and method for testing reliability of semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014217811A JP2016085337A (en) 2014-10-24 2014-10-24 Semiconductor device, semiconductor storage device, and reliability test of semiconductor device

Publications (1)

Publication Number Publication Date
JP2016085337A true JP2016085337A (en) 2016-05-19

Family

ID=55973681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014217811A Pending JP2016085337A (en) 2014-10-24 2014-10-24 Semiconductor device, semiconductor storage device, and reliability test of semiconductor device

Country Status (1)

Country Link
JP (1) JP2016085337A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085774A (en) * 2014-10-24 2016-05-19 株式会社メガチップス Storage device and method for testing reliability of the storage device

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026898A (en) * 2000-07-11 2002-01-25 Matsushita Electric Ind Co Ltd Encryption processing device with test method not causing security hole
JP2004097577A (en) * 2002-09-10 2004-04-02 Sankyo Kk Game machine
WO2005124537A1 (en) * 2004-06-18 2005-12-29 Fujitsu Limited Random number generation device, generation method, generator evaluation method, and random number use method
JP2009098973A (en) * 2007-10-17 2009-05-07 Toshiba Corp Method for inspecting integrated circuit mounted with random number generating circuit, and circuit with random number generating circuit mounted thereon
JP2009252026A (en) * 2008-04-08 2009-10-29 Kyocera Mita Corp Memory diagnosis device and information processing apparatus
JP2011135993A (en) * 2009-12-28 2011-07-14 Le Tekku:Kk Game machine having fault detection means for random number circuit for game machine
US20130013855A1 (en) * 2011-07-08 2013-01-10 Samsung Electronics Co., Ltd. Memory controllers and memory systems including the same
CN103188075A (en) * 2013-02-01 2013-07-03 广州大学 Secret key and true random number generator and method for generating secret key and true random number
US20130194876A1 (en) * 2012-02-01 2013-08-01 Mstar Semiconductor, Inc. Built-in self-test circuit applied to high speed i/o port
JP2014075082A (en) * 2012-10-05 2014-04-24 Renesas Electronics Corp Random number generator and random number generation method
JP2014142891A (en) * 2013-01-25 2014-08-07 Mega Chips Corp Semiconductor memory
US20140223246A1 (en) * 2013-02-06 2014-08-07 Kyungryun Kim Memory, memory controller, memory system, method of memory, memory controller and memory system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026898A (en) * 2000-07-11 2002-01-25 Matsushita Electric Ind Co Ltd Encryption processing device with test method not causing security hole
JP2004097577A (en) * 2002-09-10 2004-04-02 Sankyo Kk Game machine
WO2005124537A1 (en) * 2004-06-18 2005-12-29 Fujitsu Limited Random number generation device, generation method, generator evaluation method, and random number use method
JP2009098973A (en) * 2007-10-17 2009-05-07 Toshiba Corp Method for inspecting integrated circuit mounted with random number generating circuit, and circuit with random number generating circuit mounted thereon
JP2009252026A (en) * 2008-04-08 2009-10-29 Kyocera Mita Corp Memory diagnosis device and information processing apparatus
JP2011135993A (en) * 2009-12-28 2011-07-14 Le Tekku:Kk Game machine having fault detection means for random number circuit for game machine
US20130013855A1 (en) * 2011-07-08 2013-01-10 Samsung Electronics Co., Ltd. Memory controllers and memory systems including the same
US20130194876A1 (en) * 2012-02-01 2013-08-01 Mstar Semiconductor, Inc. Built-in self-test circuit applied to high speed i/o port
JP2014075082A (en) * 2012-10-05 2014-04-24 Renesas Electronics Corp Random number generator and random number generation method
JP2014142891A (en) * 2013-01-25 2014-08-07 Mega Chips Corp Semiconductor memory
CN103188075A (en) * 2013-02-01 2013-07-03 广州大学 Secret key and true random number generator and method for generating secret key and true random number
US20140223246A1 (en) * 2013-02-06 2014-08-07 Kyungryun Kim Memory, memory controller, memory system, method of memory, memory controller and memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085774A (en) * 2014-10-24 2016-05-19 株式会社メガチップス Storage device and method for testing reliability of the storage device

Similar Documents

Publication Publication Date Title
US10078462B2 (en) Methods and systems for providing hardware security functions using flash memories
CN102656588B (en) Physically unclonable function with tamper prevention and anti-aging system
US20160320451A1 (en) Simulation verification method for fpga function modules and system thereof
WO2010134192A1 (en) Electronic device, key generation program, recording medium, and key generation method
US10096379B2 (en) Memory device and method for testing reliability of memory device
CN103403670A (en) Semiconductor memory device for pseudo-random number generation
US10771062B1 (en) Systems and methods for enhancing confidentiality via logic gate encryption
US20110176380A1 (en) Paired programmable fuses
WO2010055171A1 (en) Distributed puf
CN103348625B (en) Authenticator, certified person and authentication method
JPWO2013088939A1 (en) Identification information generating apparatus and identification information generating method
US11243744B2 (en) Method for performing a trustworthiness test on a random number generator
US11700116B2 (en) Securing data based on randomization
Zalivaka et al. Design and implementation of high-quality physical unclonable functions for hardware-oriented cryptography
CN105389265A (en) Method and apparatus to generate zero content over garbage data when encryption parameters changed
US20100293424A1 (en) Semiconductor integrated circuit, information processing apparatus and method, and program
EP3136286B1 (en) Data processing system with secure key generation
JP5937244B2 (en) Method and apparatus for processing an erasure counter
JP2016085337A (en) Semiconductor device, semiconductor storage device, and reliability test of semiconductor device
CN103338107A (en) A secret key generation method and a secret key generation apparatus
JP6453610B2 (en) Storage device and storage device reliability test method
JP6103958B2 (en) Semiconductor memory device
US20120054548A1 (en) Data processing device and method for controlling test process of electronic device using the same
JP6898921B2 (en) Lifecycle state encryption management
US10372532B2 (en) Memory array and measuring and testing methods for inter-hamming differences of memory array

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190823