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 PDFInfo
- 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
Links
Images
Abstract
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」の出現頻度が許容範囲内であるか否かを評価する技術が開示されている。
一般的な乱数評価手法として、“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.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。 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
図2は、半導体記憶装置1の構成を示す図である。半導体記憶装置1は、メモリコントローラ11と、不確定回路を用いて真性乱数を生成する乱数生成器12と、NAND型フラッシュメモリ等を用いたメモリアレイ13とを備えて構成されている。
FIG. 2 is a diagram showing a configuration of the
図2の接続関係で示すように、メモリコントローラ11は、暗号・復号処理部21、セルフテスト処理部22、レジスタ23、及びセレクタ24〜26を備えて構成されている。
As shown in the connection relationship of FIG. 2, the memory controller 11 includes an encryption /
図3は、メモリアレイ13のメモリ領域を示す図である。メモリアレイ13は、コンテンツデータを格納するためのコンテンツデータ格納領域R1と、テストデータを格納するためのテストデータ格納領域R2とを有している。
FIG. 3 is a diagram showing a memory area of the
図4は、半導体記憶装置1に対する信頼性テストの処理の流れを示すフローチャートである。まず、ステップSP11においてテスター装置2は、メモリアレイ13の信頼性テスト(以下「メモリテスト」と称す)を実行する。メモリテストが完了すると、次にステップSP12においてテスター装置2は、乱数生成器12の信頼性テスト(以下「乱数テスト」と称す)を実行する。このように、半導体記憶装置1に対しては、メモリテストと乱数テストとが時系列的に分離して実行される。なお、メモリテスト及び乱数テストの実行順序は、図4に示した例と逆であっても良い。
FIG. 4 is a flowchart showing a flow of reliability test processing for the
<メモリアレイの信頼性テスト>
図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
図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
次にステップ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
次にステップ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 /
次にステップ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
次にステップSP25においてメモリコントローラ11は、レジスタ23に格納されている上記固定乱数値を、セレクタ24を介して暗号・復号処理部21に入力する。これにより、メモリコントローラ11は、上記固定乱数値によって暗号・復号処理部21を初期化する。
Next, in step SP25, the memory controller 11 inputs the fixed random number value stored in the
次にステップSP26においてメモリコントローラ11は、暗号・復号処理部21の初期化が完了した旨を、メモリテストコマンドに対する戻り値としてテスター装置2に通知する。
Next, in step SP26, the memory controller 11 notifies the
次にステップ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
テスター装置2は、半導体記憶装置1から受信した暗号化データを、上記固定乱数値を用いて復号化する。そして、当該復号化したデータの値と、上記で生成したテストパターンの期待値とを照合することにより、メモリアレイ13の信頼性を評価する。
The
なお、以上の説明では、固定乱数値をメモリテストコマンド内に含めてテスター装置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
<乱数生成器の信頼性テスト(第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
図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
次にステップ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
次にステップ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 /
次にステップ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-
次にステップ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
次にステップ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
次にステップ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
ステップ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
ステップ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-
指定回数分の乱数値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-
なお、以上の説明では、回数情報を乱数テストコマンド内に含めてテスター装置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
また、以上の説明では、旧乱数値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
<乱数生成器の信頼性テスト(第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
図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
次にステップ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
次にステップ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 /
次にステップ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-
次にステップ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
次にステップ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
次にステップ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
ステップ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
ステップ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-
指定回数分の乱数値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 /
<乱数生成器の信頼性テスト(第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
図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
次にステップSP72においてメモリコントローラ11は、テスター装置2から乱数テストコマンドを受信したことをコマンドIDによって認識することにより、セレクタ24〜26の入力端子を図2の「1」側に切り替える。
Next, in step SP72, the memory controller 11 switches the input terminals of the
次にステップ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 /
次にステップ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-
次にステップ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
次にステップ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
次にステップ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-
指定回数分の乱数値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
次にステップ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 /
なお、以上の説明では、指定回数分の乱数値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
また、乱数生成器12の信頼性テストに関する上記第1〜第3の例は、任意に組み合わせて適用することが可能である。
The first to third examples relating to the reliability test of the
<まとめ>
本実施の形態に係る半導体記憶装置(半導体装置)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
また、本実施の形態に係る半導体記憶装置1によれば、メモリアレイ13の信頼性テストを実行する際には、メモリコントローラ11は、乱数生成器12が生成する真性乱数に代えて所定の固定乱数値を暗号・復号処理部21に入力し、暗号・復号処理部21は、当該固定乱数値に基づいて、テスター装置2との間で送受信する信号(コマンド及びデータ)に対して暗号化及び復号化を行う。このように、真性乱数に代えて所定の固定乱数値を用いることにより、メモリアレイ13の信頼性テストを実行する際に、暗号・復号処理部21による暗号化及び復号化の処理は、乱数生成器12が生成する真性乱数に依存しない。その結果、複数台の半導体記憶装置1に対して共通の固定乱数値を設定することによって共通の期待値を使用できるため、複数台の半導体記憶装置1に対するメモリアレイ13の信頼性テストを同時に実行することが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、メモリコントローラ11は、テスター装置2から受信したメモリテストコマンド(第1テストコマンド)から固定乱数値を抽出し、当該固定乱数値をレジスタ23に格納する。レジスタ23に格納された固定乱数値を使用することにより、暗号・復号処理部21は、乱数生成器12が生成する真性乱数に依存しない暗号化及び復号化の処理を実行することが可能となる。また、メモリテストコマンドに固定乱数値を含めることにより、テスター装置2によって固定乱数値を容易に変更することが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、半導体記憶装置1内の所定の記憶部に固定乱数値が格納されており、メモリコントローラ11は、当該記憶部から読み出した固定乱数値をレジスタ23に格納する。レジスタ23に格納された固定乱数値を使用することにより、暗号・復号処理部21は、乱数生成器12が生成する真性乱数に依存しない暗号化及び復号化の処理を実行することが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、所定の制御信号D7を乱数生成器12に入力することにより乱数生成器12に乱数値D8を生成させ、乱数生成器12が生成した乱数値D8の再現不可能性を検査する。セルフテスト処理部22によってセルフテストを行うことにより、乱数生成器12の信頼性テストを簡易かつ効率的に実行することが可能となる。
Further, according to the
一般的な乱数テストでは、生成した乱数が再現不可能性及び一様性の双方を満たしているか否かを検査する必要があり、出荷テスト時にこのような複雑な乱数テストを行ったのではテストコストが増大する。本実施の形態に係る半導体記憶装置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
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数生成器12が生成した乱数値D8を記憶部(メモリアレイ13、メモリコントローラ11の内部レジスタ、又はRAM等)に格納し、当該記憶部から読み出した乱数値D8に基づいて、乱数生成器12が生成した乱数値D8の再現不可能性を検査する。乱数生成器12が過去に生成した乱数値D8を記憶部に格納しておくことにより、セルフテスト処理部22は、記憶部から読み出した乱数値D8に基づいて、乱数の張り付き、周期性、又は偏り等の再現不可能性を検査することが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数テストコマンド(第2テストコマンド)から回数情報を抽出し、当該回数情報に基づいて乱数生成器12に複数の乱数値D8を順に生成させる。これにより、乱数生成器12が順に生成した複数の乱数値D8を記憶部に格納することができ、セルフテスト処理部22が当該記憶部から複数の乱数値D8を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。また、乱数テストコマンドに回数情報を含めることにより、テスター装置2によって回数情報を容易に変更することが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、半導体記憶装置1内の所定の格納部(メモリアレイ13、RAM、ROM、又はレジスタ等)に回数情報が格納されており、セルフテスト処理部22は、当該格納部から読み出した回数情報に基づいて、乱数生成器12に複数の乱数値D8を順に生成させる。これにより、乱数生成器12が順に生成した複数の乱数値D8を記憶部に格納することができ、セルフテスト処理部22が当該記憶部から複数の乱数値D8を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。
In addition, according to the
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、回数情報が入力されることによって乱数値D8の検査を開始し、検査が完了するとその検査結果(データD10)をテスター装置2に送信する。従って、乱数生成器12の信頼性テストに関しては、テスター装置2によるテストパターンの作成処理や期待値との照合処理は不要となるため、テスター装置2の処理負荷を軽減することが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数値の再現不可能性の検査として、乱数生成器12によって同一の乱数値が連続して生成されたか否かを検査する。これにより、乱数の張り付きの有無を簡易にチェックすることが可能となる。
Moreover, according to the
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数値の再現不可能性の検査として、乱数生成器12によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査する。これにより、乱数の周期性の有無を簡易にチェックすることが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、セルフテスト処理部22は、乱数値の再現不可能性の検査として、乱数生成器12によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査する。これにより、乱数の各ビットの「0」又は「1」の偏りの有無を簡易にチェックすることが可能となる。
Further, according to the
また、本実施の形態に係る半導体記憶装置1によれば、乱数生成器12が生成した乱数値D8はメモリアレイ13に格納される。従って、乱数生成器12が生成した複数の乱数値D8を格納するための大容量のレジスタ又はRAMをメモリコントローラ11の内部又は外部に準備する必要がないため、回路規模を削減することが可能となる。
Further, according to the
1 半導体記憶装置
2 テスター装置
11 メモリコントローラ
12 乱数生成器
13 メモリアレイ
21 暗号・復号処理部
22 セルフテスト処理部
23 レジスタ
24〜26 セレクタ
DESCRIPTION OF
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.
前記乱数生成器に接続されたメモリコントローラと、
記憶部と、
を備え、
前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、
前記セルフテスト処理部は、
所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、
前記乱数生成器が生成した乱数値を前記記憶部に格納し、
前記記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査する、半導体記憶装置。 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:
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)
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)
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 |
-
2014
- 2014-10-24 JP JP2014217811A patent/JP2016085337A/en active Pending
Patent Citations (12)
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)
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 |