JP2016085774A - Storage device and method for testing reliability of the storage device - Google Patents

Storage device and method for testing reliability of the storage device Download PDF

Info

Publication number
JP2016085774A
JP2016085774A JP2014217810A JP2014217810A JP2016085774A JP 2016085774 A JP2016085774 A JP 2016085774A JP 2014217810 A JP2014217810 A JP 2014217810A JP 2014217810 A JP2014217810 A JP 2014217810A JP 2016085774 A JP2016085774 A JP 2016085774A
Authority
JP
Japan
Prior art keywords
random number
test
value
number generator
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014217810A
Other languages
Japanese (ja)
Other versions
JP6453610B2 (en
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 JP2014217810A priority Critical patent/JP6453610B2/en
Priority to US14/921,155 priority patent/US10096379B2/en
Publication of JP2016085774A publication Critical patent/JP2016085774A/en
Priority to US16/126,561 priority patent/US20190006023A1/en
Application granted granted Critical
Publication of JP6453610B2 publication Critical patent/JP6453610B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain a storage device that has an increased productivity of a delivery test, by conducting a reliability test concurrently on a plurality of storage devices which are installed with an intrinsic random number generator.SOLUTION: A memory controller 11 conducts a reliability test targeted at a memory array 13 of the memory array 13 and an intrinsic random number generator 12 by receiving a memory test command from a tester device 2, and conducts a reliability test targeted at the intrinsic random number generator 12 of the memory array 13 and the intrinsic random number generator 12 by receiving a random number test command from the tester device 2.SELECTED DRAWING: Figure 2

Description

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

一般的な半導体記憶装置を対象とする信頼性テストでは、テスター装置を使用してメモリアレイの全ての領域に対して既知のテストパターンでデータの書き込み及び読み出しを行い、テスター装置がメモリアレイに書き込んだデータ(期待値)と、テスター装置がメモリアレイから読み出したデータとを照合することによって、メモリアレイの信頼性が検査される。   In a reliability test for a general semiconductor memory device, a tester device is used to write and read data with a known test pattern to all areas of the memory array, and the tester device writes to the memory array. The reliability of the memory array is checked by comparing the data (expected value) with the data read from the memory array by the tester device.

また、半導体記憶装置の出荷テストでは、テストコストを削減すべく、1台のテスター装置に複数台の半導体記憶装置を接続し、複数台の半導体記憶装置に対して共通のテストパターンでデータの書き込み及び読み出しを行うことにより、複数台の半導体記憶装置に対して同時に信頼性テストを行うことが一般的である。   In a semiconductor memory device shipping test, a plurality of semiconductor memory devices are connected to one tester device and data is written to the plurality of semiconductor memory devices with a common test pattern in order to reduce test costs. In general, a reliability test is simultaneously performed on a plurality of semiconductor memory devices by performing reading.

セキュリティ性の向上のために擬似乱数生成器が実装された半導体記憶装置に関しては、擬似乱数は乱数値の予測が可能であり、共通のアルゴリズムを用いることで複数の半導体記憶装置で同一の擬似乱数を生成できるため、一般的な半導体記憶装置と同様に1台のテスター装置を用いて複数台の半導体記憶装置に対して同時に出荷テストを行うことが可能である。   For semiconductor memory devices with a pseudo-random number generator implemented to improve security, pseudo-random numbers can be used to predict random values, and the same pseudo-random number can be used for multiple semiconductor memory devices by using a common algorithm. Therefore, it is possible to simultaneously perform a shipping test on a plurality of semiconductor memory devices using one tester device as in a general semiconductor memory device.

なお、下記特許文献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

しかし、セキュリティ性の向上のために真性乱数生成器が実装された半導体記憶装置に関しては、真性乱数は乱数値の予測が不可能であるため、複数の半導体記憶装置で同一の真性乱数を生成できない。従って、真性乱数の乱数値に依存して各半導体記憶装置の期待値が異なるため、1台のテスター装置を用いて複数台の半導体記憶装置に対して同時に出荷テストを行うことができず、その結果、出荷テストの生産性が低下する。   However, with respect to a semiconductor memory device in which a true random number generator is mounted to improve security, it is impossible to predict the random value of the true random number, and thus the same true random number cannot be generated by a plurality of semiconductor memory devices. . Therefore, since the expected value of each semiconductor memory device differs depending on the random number of the true random number, a shipping test cannot be performed simultaneously on a plurality of semiconductor memory devices using one tester device. As a result, the productivity of the shipping test is reduced.

本発明はかかる事情に鑑みて成されたものであり、真性乱数生成器が実装された記憶装置に関しても、複数台の記憶装置に対する同時の信頼性テストを実現することにより、出荷テストの生産性を向上することが可能な記憶装置、及びその信頼性テスト方法を得ることを目的とするものである。   The present invention has been made in view of such circumstances, and it is possible to improve the productivity of a shipping test by realizing a simultaneous reliability test for a plurality of storage devices even for a storage device mounted with a true random number generator. It is an object of the present invention to obtain a storage device capable of improving the reliability and a reliability test method thereof.

本発明の第1の態様に係る記憶装置は、コンテンツデータが格納されるメモリアレイと、真性乱数を生成する乱数生成器と、前記メモリアレイ及び前記乱数生成器に接続されたメモリコントローラと、を備え、前記メモリコントローラは、外部装置から第1のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記メモリアレイのみを対象とする信頼性テストを実行し、外部装置から第2のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記乱数生成器のみを対象とする信頼性テストを実行することを特徴とするものである。   A storage device according to a first aspect of the present invention includes a memory array that stores content data, a random number generator that generates a true random number, and a memory controller that is connected to the memory array and the random number generator. The memory controller receives a first test command from an external device, and executes a reliability test for only the memory array of the memory array and the random number generator; By receiving the second test command, a reliability test for only the random number generator among the memory array and the random number generator is executed.

第1の態様に係る記憶装置によれば、メモリコントローラは、外部装置から第1のテストコマンドを受信することにより、メモリアレイ及び乱数生成器のうちメモリアレイのみを対象とする信頼性テストを実行し、外部装置から第2のテストコマンドを受信することにより、メモリアレイ及び乱数生成器のうち乱数生成器のみを対象とする信頼性テストを実行する。このように、真性乱数の乱数値に依存しないメモリアレイの信頼性テストと、真性乱数の乱数値に依存する乱数生成器の信頼性テストとを分離して実行することにより、1台の外部装置を用いて複数台の記憶装置に対する信頼性テストを同時に行うことが可能となる。その結果、真性乱数生成器が実装された記憶装置に関しても、複数台の記憶装置に対する同時の信頼性テストを実現できるため、出荷テストの生産性を向上することが可能となる。   According to the storage device of the first aspect, the memory controller receives the first test command from the external device, and executes the reliability test for only the memory array among the memory array and the random number generator. Then, by receiving the second test command from the external device, a reliability test for only the random number generator among the memory array and the random number generator is executed. As described above, the reliability test of the memory array that does not depend on the random number value of the true random number and the reliability test of the random number generator that depends on the random number value of the true random number are performed separately, thereby allowing one external device It becomes possible to perform a reliability test on a plurality of storage devices at the same time. As a result, it is possible to improve the productivity of the shipping test because the simultaneous reliability test for a plurality of storage devices can be realized even for the storage device on which the true random number generator is mounted.

本発明の第2の態様に係る記憶装置は、第1の態様に係る記憶装置において特に、前記メモリコントローラは、前記乱数生成器が生成する真性乱数に基づいて、ホスト装置との間で送受信する信号に対して暗号化及び復号化を行う暗号・復号処理部を有し、前記メモリアレイの信頼性テストを実行する際には、前記メモリコントローラは、前記乱数生成器が生成する真性乱数に代えて所定の固定乱数値を前記暗号・復号処理部に入力し、前記暗号・復号処理部は、当該固定乱数値に基づいて、外部装置との間で送受信する信号に対して暗号化及び復号化を行うことを特徴とするものである。   The memory device according to the second aspect of the present invention is the memory device according to the first aspect, in particular, the memory controller transmits / receives to / from the host device based on the intrinsic random number generated by the random number generator. An encryption / decryption processing unit that encrypts and decrypts a signal, and when performing a reliability test of the memory array, the memory controller replaces the intrinsic random number generated by the random number generator; A predetermined fixed random number value is input to the encryption / decryption processing unit, and the encryption / decryption processing unit encrypts and decrypts a signal to be transmitted to and received from an external device based on the fixed random number value. It is characterized by performing.

第2の態様に係る記憶装置によれば、メモリアレイの信頼性テストを実行する際には、メモリコントローラは、乱数生成器が生成する真性乱数に代えて所定の固定乱数値を暗号・復号処理部に入力し、暗号・復号処理部は、当該固定乱数値に基づいて、外部装置との間で送受信する信号に対して暗号化及び復号化を行う。このように、真性乱数に代えて所定の固定乱数値を用いることにより、メモリアレイの信頼性テストを実行する際に、暗号・復号処理部による暗号化及び復号化の処理は、乱数生成器が生成する真性乱数に依存しない。その結果、複数台の記憶装置に対して共通の固定乱数値を設定することによって共通の期待値を使用できるため、複数台の記憶装置に対するメモリアレイの信頼性テストを同時に実行することが可能となる。   According to the storage device of the second aspect, when executing the reliability test of the memory array, the memory controller encrypts / decrypts a predetermined fixed random number value instead of the genuine random number generated by the random number generator. The encryption / decryption processing unit performs encryption and decryption on a signal transmitted / received to / from an external device based on the fixed random number value. As described above, when a reliability test of the memory array is executed by using a predetermined fixed random value instead of the true random number, the encryption / decryption processing by the encryption / decryption processing unit is performed by the random number generator. It does not depend on the genuine random number to be generated. As a result, since a common expected value can be used by setting a common fixed random number value for a plurality of storage devices, it is possible to simultaneously perform a memory array reliability test for a plurality of storage devices. Become.

本発明の第3の態様に係る記憶装置は、第2の態様に係る記憶装置において特に、前記メモリコントローラは、前記固定乱数値を格納するためのレジスタをさらに有し、前記固定乱数値は、第1のテストコマンドに含まれており、前記メモリコントローラは、外部装置から受信した第1のテストコマンドから前記固定乱数値を抽出し、当該固定乱数値を前記レジスタに格納することを特徴とするものである。   The storage device according to a third aspect of the present invention is the storage device according to the second aspect, in particular, the memory controller further includes a register for storing the fixed random number value, It is included in the first test command, and the memory controller extracts the fixed random number value from the first test command received from the external device, and stores the fixed random value in the register. Is.

第3の態様に係る記憶装置によれば、メモリコントローラは、外部装置から受信した第1のテストコマンドから固定乱数値を抽出し、当該固定乱数値をレジスタに格納する。レジスタに格納された固定乱数値を使用することにより、暗号・復号処理部は、乱数生成器が生成する真性乱数に依存しない暗号化及び復号化の処理を実行することが可能となる。また、第1のテストコマンドに固定乱数値を含めることにより、外部装置によって固定乱数値を容易に変更することが可能となる。   According to the storage device of the third aspect, the memory controller extracts a fixed random value from the first test command received from the external device, and stores the fixed random value in the register. By using the fixed random number value stored in the register, the encryption / decryption processing unit can execute encryption and decryption processing independent of the true random number generated by the random number generator. Also, by including a fixed random number value in the first test command, the fixed random value can be easily changed by an external device.

本発明の第4の態様に係る記憶装置は、第2の態様に係る記憶装置において特に、前記メモリコントローラは、前記固定乱数値を格納するためのレジスタをさらに有し、前記固定乱数値は、前記記憶装置内の所定の記憶部に格納されており、前記メモリコントローラは、当該記憶部から前記固定乱数値を読み出し、当該固定乱数値を前記レジスタに格納することを特徴とするものである。   The storage device according to a fourth aspect of the present invention is the storage device according to the second aspect, in particular, the memory controller further includes a register for storing the fixed random number value, It is stored in a predetermined storage unit in the storage device, and the memory controller reads the fixed random number value from the storage unit and stores the fixed random value in the register.

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

本発明の第5の態様に係る記憶装置は、第1〜第4のいずれか一つの態様に係る記憶装置において特に、前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、前記セルフテスト処理部は、所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、前記乱数生成器が生成した乱数値を前記記憶装置内の所定の記憶部に格納し、当該記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査することを特徴とするものである。   The memory device according to a fifth aspect of the present invention is the memory device according to any one of the first to fourth aspects, and in particular, the memory controller performs a self-test process for executing a reliability test of the random number generator. 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 the storage device. The random number value generated by the random number generator is inspected based on the random value stored in a predetermined storage unit and read from the storage unit.

第5の態様に係る記憶装置によれば、セルフテスト処理部は、所定の制御信号を乱数生成器に入力することにより乱数生成器に乱数値を生成させ、乱数生成器が生成した乱数値を記憶装置内の所定の記憶部に格納し、当該記憶部から読み出した乱数値に基づいて、乱数生成器が生成した乱数値の再現不可能性を検査する。このように、真性乱数の乱数値に依存する乱数生成器の信頼性テストに関しては、各記憶装置のセルフテスト処理部によって記憶装置毎にセルフテストを行うことにより、複数台の記憶装置に対する乱数生成器の信頼性テストを同時に実行することが可能となる。また、乱数生成器の信頼性テストを、乱数値の再現不可能性の検査に限定することにより、テストの容易化及びテストコストの削減を図ることが可能となる。乱数生成器とは別の処理ブロックで乱数の一様性が担保されている装置に対して本発明を適用することが、特に有効である。   According to the storage device of the fifth 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 value generated by the random number generator is The non-reproducibility of the random number value generated by the random number generator is checked based on the random number value stored in a predetermined storage unit in the storage device and read from the storage unit. As described above, regarding the reliability test of the random number generator that depends on the random number value of the true random number, the self-test processing unit of each storage device performs a self test for each storage device, thereby generating random numbers for a plurality of storage devices. It is possible to perform the reliability test of the vessel at the same time. 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.

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

第6の態様に係る記憶装置によれば、セルフテスト処理部は、第2のテストコマンドから回数情報を抽出し、当該回数情報に基づいて乱数生成器に複数の乱数値を順に生成させる。これにより、乱数生成器が順に生成した複数の乱数値を記憶部に格納することができ、セルフテスト処理部が記憶部から複数の乱数値を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。また、第2のテストコマンドに回数情報を含めることにより、外部装置によって回数情報を容易に変更することが可能となる。   According to the storage device of the sixth aspect, the self-test processing unit extracts the number information from the second 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 second test command, the number information can be easily changed by an external device.

本発明の第7の態様に係る記憶装置は、第5の態様に係る記憶装置において特に、前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、前記記憶装置内の所定の記憶部に格納されており、前記セルフテスト処理部は、当該記憶部から前記回数情報を読み出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させることを特徴とするものである。   In the storage device according to the seventh aspect of the present invention, in particular, in the storage device according to the fifth aspect, the number information specifying the number of times the random number generator generates a random number value is a predetermined storage in the storage device. 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. is there.

第7の態様に係る記憶装置によれば、記憶装置内の所定の記憶部に回数情報が格納されており、セルフテスト処理部は、記憶部から読み出した回数情報に基づいて、乱数生成器に複数の乱数値を順に生成させる。これにより、乱数生成器が順に生成した複数の乱数値を記憶部に格納することができ、セルフテスト処理部が記憶部から複数の乱数値を読み出すことによって、乱数値の再現不可能性を検査することが可能となる。   According to the storage device of the seventh aspect, the number-of-times information is stored in the predetermined storage unit in the storage 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.

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

第8の態様に係る記憶装置によれば、セルフテスト処理部は、回数情報が入力されることによって乱数値の検査を開始し、検査が完了するとその検査結果を外部装置に送信する。従って、乱数生成器の信頼性テストに関しては、外部装置によるテストパターンの作成処理や期待値との照合処理は不要となるため、外部装置の処理負荷を軽減することが可能となる。   According to the storage device of the eighth aspect, the self-test processing unit starts the inspection of the random number value by inputting the number-of-times information, 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.

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

第9の態様に係る記憶装置によれば、セルフテスト処理部は、乱数値の再現不可能性の検査として、乱数生成器によって同一の乱数値が連続して生成されたか否かを検査する。これにより、乱数の張り付きの有無を簡易にチェックすることが可能となる。   According to the storage device of the ninth 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.

本発明の第10の態様に係る記憶装置は、第5〜第9のいずれか一つの態様に係る記憶装置において特に、前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査することを特徴とするものである。   The storage device according to a tenth aspect of the present invention is the storage device according to any one of the fifth to ninth aspects, in particular, the self-test processing unit is configured to check the reproducibility of a random number value as described above. 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.

第10の態様に係る記憶装置によれば、セルフテスト処理部は、乱数値の再現不可能性の検査として、乱数生成器によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査する。これにより、乱数の周期性の有無を簡易にチェックすることが可能となる。   According to the storage device of the tenth 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.

本発明の第11の態様に係る記憶装置は、第5〜第10のいずれか一つの態様に係る記憶装置において特に、前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査することを特徴とするものである。   The storage device according to an eleventh aspect of the present invention is the storage device according to any one of the fifth to tenth aspects, in particular, the self-test processing unit is configured to check the reproducibility of a random value 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.

第11の態様に係る記憶装置によれば、セルフテスト処理部は、乱数値の再現不可能性の検査として、乱数生成器によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査する。これにより、乱数の各ビットの「0」又は「1」の偏りの有無を簡易にチェックすることが可能となる。   According to the storage device of the eleventh 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”.

本発明の第12の態様に係る記憶装置の信頼性テスト方法は、コンテンツデータが格納されるメモリアレイと、真性乱数を生成する乱数生成器と、を備える記憶装置の信頼性テスト方法であって、(A)外部装置から第1のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記メモリアレイのみを対象とする信頼性テストを実行するステップと、(B)外部装置から第2のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記乱数生成器のみを対象とする信頼性テストを実行するステップと、を備えることを特徴とするものである。   A storage device reliability test method according to a twelfth aspect of the present invention is a storage device reliability test method comprising: a memory array in which content data is stored; and a random number generator for generating a true random number. (A) executing a reliability test for only the memory array of the memory array and the random number generator by receiving a first test command from the external device; and (B) the external device. And executing a reliability test for only the random number generator of the memory array and the random number generator by receiving a second test command from the memory array. .

第12の態様に係る記憶装置の信頼性テスト方法によれば、ステップ(A)では、外部装置から第1のテストコマンドを受信することにより、メモリアレイ及び乱数生成器のうちメモリアレイのみを対象とする信頼性テストが実行され、ステップ(B)では、外部装置から第2のテストコマンドを受信することにより、メモリアレイ及び乱数生成器のうち乱数生成器のみを対象とする信頼性テストが実行される。このように、真性乱数の乱数値に依存しないメモリアレイの信頼性テストと、真性乱数の乱数値に依存する乱数生成器の信頼性テストとを分離して実行することにより、1台の外部装置を用いて複数台の記憶装置に対する信頼性テストを同時に行うことが可能となる。その結果、真性乱数生成器が実装された記憶装置に関しても、複数台の記憶装置に対する同時の信頼性テストを実現できるため、出荷テストの生産性を向上することが可能となる。   According to the reliability test method for a storage device according to the twelfth aspect, in step (A), only the memory array of the memory array and the random number generator is targeted by receiving the first test command from the external device. In step (B), by receiving a second test command from the external device, a reliability test for only the random number generator of the memory array and the random number generator is executed. Is done. As described above, the reliability test of the memory array that does not depend on the random number value of the true random number and the reliability test of the random number generator that depends on the random number value of the true random number are performed separately, thereby allowing one external device It becomes possible to perform a reliability test on a plurality of storage devices at the same time. As a result, it is possible to improve the productivity of the shipping test because the simultaneous reliability test for a plurality of storage devices can be realized even for the storage device on which the true random number generator is mounted.

本発明によれば、真性乱数生成器が実装された記憶装置に関しても、複数台の記憶装置に対する同時の信頼性テストを実現できるため、出荷テストの生産性を向上することが可能となる。   According to the present invention, since a reliability test can be simultaneously performed on a plurality of storage devices even for a storage device on which a true random number generator is mounted, the productivity of a shipping test can be improved.

本発明の実施の形態に係る半導体記憶装置を対象として出荷テストを実施している状況を示す図である。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 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 storage 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の内部レジスタに旧乱数値D8を格納しても良い。   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 number value D8 may be stored in an internal register of the memory controller 11.

<乱数生成器の信頼性テスト(第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 1 according to the present embodiment, the memory controller 11 receives only a memory test command from the tester device 2, thereby targeting only the memory array 13 among the memory array 13 and the random number generator 12. A reliability test (random number test) for only the random number generator 12 among the memory array 13 and the random number generator 12 by executing a reliability test (memory test) and receiving a random number test command from the tester device 2 Execute. 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を半導体記憶装置1内の所定の記憶部(メモリアレイ13、RAM、ROM、又はレジスタ等)に格納し、当該記憶部から読み出した乱数値D8に基づいて、乱数生成器12が生成した乱数値D8の再現不可能性を検査する。このように、真性乱数の乱数値に依存する乱数生成器12の信頼性テストに関しては、各半導体記憶装置1のセルフテスト処理部22によって半導体記憶装置1毎にセルフテストを行うことにより、複数台の半導体記憶装置1に対する乱数生成器の信頼性テストを同時に実行することが可能となる。また、乱数生成器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 random number value D8 generated by the random number generator 12 is stored in a predetermined storage unit (memory array 13, RAM, ROM, register, or the like) in the semiconductor storage device 1, and based on the random number value D8 read from the storage unit. The randomness value D8 generated by the random number generator 12 is checked for non-reproducibility. As described above, with respect to the reliability test of the random number generator 12 that depends on the random number value of the intrinsic random number, a self test is performed for each semiconductor storage device 1 by the self test processing unit 22 of each semiconductor storage device 1, thereby The reliability test of the random number generator for the semiconductor memory device 1 can be executed simultaneously. Further, by limiting the reliability test of the random number generator 12 to the inspection of the non-reproducibility of random number values, the test can be facilitated and the test cost can be reduced.

一般的な乱数テストでは、生成した乱数が再現不可能性及び一様性の双方を満たしているか否かを検査する必要があり、出荷テスト時にこのような複雑な乱数テストを行ったのではテストコストが増大する。本実施の形態に係る半導体記憶装置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は、乱数テストコマンド(第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. Thereby, 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 It becomes possible to inspect non-reproducibility.

また、本実施の形態に係る半導体記憶装置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 半導体記憶装置
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 (12)

コンテンツデータが格納されるメモリアレイと、
真性乱数を生成する乱数生成器と、
前記メモリアレイ及び前記乱数生成器に接続されたメモリコントローラと、
を備え、
前記メモリコントローラは、
外部装置から第1のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記メモリアレイのみを対象とする信頼性テストを実行し、
外部装置から第2のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記乱数生成器のみを対象とする信頼性テストを実行する、記憶装置。
A memory array in which content data is stored;
A random number generator for generating a true random number;
A memory controller connected to the memory array and the random number generator;
With
The memory controller is
By receiving a first test command from an external device, a reliability test for only the memory array of the memory array and the random number generator is performed,
A storage device that performs a reliability test for only the random number generator of the memory array and the random number generator by receiving a second test command from an external device.
前記メモリコントローラは、前記乱数生成器が生成する真性乱数に基づいて、ホスト装置との間で送受信する信号に対して暗号化及び復号化を行う暗号・復号処理部を有し、
前記メモリアレイの信頼性テストを実行する際には、前記メモリコントローラは、前記乱数生成器が生成する真性乱数に代えて所定の固定乱数値を前記暗号・復号処理部に入力し、前記暗号・復号処理部は、当該固定乱数値に基づいて、外部装置との間で送受信する信号に対して暗号化及び復号化を行う、請求項1に記載の記憶装置。
The memory controller includes an encryption / decryption processing unit that performs encryption and decryption on a signal transmitted / received to / from a host device based on a true random number generated by the random number generator.
When executing the reliability test of the memory array, the memory controller inputs a predetermined fixed random number value to the encryption / decryption processing unit instead of the true random number generated by the random number generator, and The storage device according to claim 1, wherein the decryption processing unit encrypts and decrypts a signal transmitted / received to / from an external device based on the fixed random number value.
前記メモリコントローラは、前記固定乱数値を格納するためのレジスタをさらに有し、
前記固定乱数値は、第1のテストコマンドに含まれており、
前記メモリコントローラは、外部装置から受信した第1のテストコマンドから前記固定乱数値を抽出し、当該固定乱数値を前記レジスタに格納する、請求項2に記載の記憶装置。
The memory controller further includes a register for storing the fixed random number value,
The fixed random number value is included in the first test command,
The storage device according to claim 2, wherein the memory controller extracts the fixed random value from a first test command received from an external device, and stores the fixed random value in the register.
前記メモリコントローラは、前記固定乱数値を格納するためのレジスタをさらに有し、
前記固定乱数値は、前記記憶装置内の所定の記憶部に格納されており、
前記メモリコントローラは、当該記憶部から前記固定乱数値を読み出し、当該固定乱数値を前記レジスタに格納する、請求項2に記載の記憶装置。
The memory controller further includes a register for storing the fixed random number value,
The fixed random number value is stored in a predetermined storage unit in the storage device,
The storage device according to claim 2, wherein the memory controller reads the fixed random number value from the storage unit and stores the fixed random value in the register.
前記メモリコントローラは、前記乱数生成器の信頼性テストを実行するセルフテスト処理部を有し、
前記セルフテスト処理部は、
所定の制御信号を前記乱数生成器に入力することにより前記乱数生成器に乱数値を生成させ、
前記乱数生成器が生成した乱数値を前記記憶装置内の所定の記憶部に格納し、
当該記憶部から読み出した乱数値に基づいて、前記乱数生成器が生成した乱数値の再現不可能性を検査する、請求項1〜4のいずれか一つに記載の記憶装置。
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 a random value generated by the random number generator in a predetermined storage unit in the storage device;
The storage device according to claim 1, wherein non-reproducibility of the random value generated by the random number generator is inspected based on a random value read from the storage unit.
前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、第2のテストコマンドに含まれており、
前記セルフテスト処理部は、第2のテストコマンドから前記回数情報を抽出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させる、請求項5に記載の記憶装置。
Number information specifying the number of times the random number generator generates a random number value is included in the second test command,
The storage device according to claim 5, wherein the self-test processing unit extracts the number-of-times information from a second test command and causes the random number generator to sequentially generate a plurality of random number values based on the number-of-times information.
前記乱数生成器に乱数値を生成させる回数を指定する回数情報は、前記記憶装置内の所定の記憶部に格納されており、
前記セルフテスト処理部は、当該記憶部から前記回数情報を読み出し、当該回数情報に基づいて前記乱数生成器に複数の乱数値を順に生成させる、請求項5に記載の記憶装置。
Number-of-times information that designates the number of times the random number generator generates a random number value is stored in a predetermined storage unit in the storage device,
The storage device according to claim 5, 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.
前記セルフテスト処理部は、前記回数情報が入力されることによって乱数値の検査を開始し、検査が完了するとその検査結果を外部装置に送信する、請求項6又は7に記載の記憶装置。   8. The storage device according to claim 6, wherein the self-test processing unit starts an inspection of a random value when the number-of-times information is input, and transmits the inspection result to an external device when the inspection is completed. 前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって同一の乱数値が連続して生成されたか否かを検査する、請求項5〜8のいずれか一つに記載の記憶装置。   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. The storage device described in 1. 前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された複数の乱数値の中に、同一の乱数値が含まれているか否かを検査する、請求項5〜9のいずれか一つに記載の記憶装置。   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 10. The storage device according to any one of Items 5 to 9. 前記セルフテスト処理部は、乱数値の再現不可能性の検査として、前記乱数生成器によって生成された乱数値における「0」又は「1」の出現割合が所定の許容範囲内であるか否かを検査する、請求項5〜10のいずれか一つに記載の記憶装置。   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 storage device according to claim 5, wherein the storage device is inspected. コンテンツデータが格納されるメモリアレイと、真性乱数を生成する乱数生成器と、を備える記憶装置の信頼性テスト方法であって、
(A)外部装置から第1のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記メモリアレイのみを対象とする信頼性テストを実行するステップと、
(B)外部装置から第2のテストコマンドを受信することにより、前記メモリアレイ及び前記乱数生成器のうち前記乱数生成器のみを対象とする信頼性テストを実行するステップと、
を備える、記憶装置の信頼性テスト方法。
A storage device reliability test method comprising: a memory array in which content data is stored; and a random number generator for generating a true random number,
(A) performing a reliability test for only the memory array of the memory array and the random number generator by receiving a first test command from an external device;
(B) performing a reliability test for only the random number generator of the memory array and the random number generator by receiving a second test command from an external device;
A storage device reliability test method comprising:
JP2014217810A 2014-10-24 2014-10-24 Storage device and storage device reliability test method Active JP6453610B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014217810A JP6453610B2 (en) 2014-10-24 2014-10-24 Storage device and storage device reliability test method
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
JP2014217810A JP6453610B2 (en) 2014-10-24 2014-10-24 Storage device and storage device reliability test method

Publications (2)

Publication Number Publication Date
JP2016085774A true JP2016085774A (en) 2016-05-19
JP6453610B2 JP6453610B2 (en) 2019-01-16

Family

ID=55971844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014217810A Active JP6453610B2 (en) 2014-10-24 2014-10-24 Storage device and storage device reliability test method

Country Status (1)

Country Link
JP (1) JP6453610B2 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0223443A (en) * 1988-07-12 1990-01-25 Nec Corp Microcomputer
JPH0844582A (en) * 1994-07-29 1996-02-16 Toshiba Corp Microcomputer and its testing method
WO2005124537A1 (en) * 2004-06-18 2005-12-29 Fujitsu Limited Random number generation device, generation method, generator evaluation method, and random number use method
US20060107072A1 (en) * 2004-11-15 2006-05-18 Ryuji Umezu Semiconductor memory device
JP2006139884A (en) * 2004-11-15 2006-06-01 Ikuo Yamaguchi Semiconductor memory device
JP2006147024A (en) * 2004-11-18 2006-06-08 Takashi Oshikiri Semiconductor memory and test method of semiconductor memory
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
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
JP2014224879A (en) * 2013-05-16 2014-12-04 株式会社メガチップス Random number generator; encryption processing device, storage device, and information processing system
JP2016085337A (en) * 2014-10-24 2016-05-19 株式会社メガチップス Semiconductor device, semiconductor storage device, and reliability test of semiconductor device

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0223443A (en) * 1988-07-12 1990-01-25 Nec Corp Microcomputer
JPH0844582A (en) * 1994-07-29 1996-02-16 Toshiba Corp Microcomputer and its testing method
WO2005124537A1 (en) * 2004-06-18 2005-12-29 Fujitsu Limited Random number generation device, generation method, generator evaluation method, and random number use method
US20060107072A1 (en) * 2004-11-15 2006-05-18 Ryuji Umezu Semiconductor memory device
JP2006139884A (en) * 2004-11-15 2006-06-01 Ikuo Yamaguchi Semiconductor memory device
JP2006147024A (en) * 2004-11-18 2006-06-08 Takashi Oshikiri Semiconductor memory and test method of semiconductor memory
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
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
JP2014224879A (en) * 2013-05-16 2014-12-04 株式会社メガチップス Random number generator; encryption processing device, storage device, and information processing system
JP2016085337A (en) * 2014-10-24 2016-05-19 株式会社メガチップス Semiconductor device, semiconductor storage device, and reliability test of semiconductor device

Also Published As

Publication number Publication date
JP6453610B2 (en) 2019-01-16

Similar Documents

Publication Publication Date Title
US20150169247A1 (en) Methods and systems for providing hardware security functions using flash memories
US20160320451A1 (en) Simulation verification method for fpga function modules and system thereof
CN103403670A (en) Semiconductor memory device for pseudo-random number generation
US10096379B2 (en) Memory device and method for testing reliability of memory device
US10771062B1 (en) Systems and methods for enhancing confidentiality via logic gate encryption
CN102439897A (en) Electronic device, key generation program, recording medium, and key generation method
WO2011088938A1 (en) Paired programmable fuses
US20170083459A1 (en) Integrated circuit, method for protecting an integrated circuit and computer program product
US9875085B2 (en) Memory system and method of generating a seed value
CN105389265A (en) Method and apparatus to generate zero content over garbage data when encryption parameters changed
US11528135B2 (en) Integrated circuit (IC) signatures with random number generator and one-time programmable device
US11962693B2 (en) Integrated circuit (IC) signatures with random number generator and one-time programmable device
CN109582494A (en) Use the Memory Controller error checking process of internal memory device code
JP2017004588A (en) Circuit and method for testing error-correction capability
CN109840162A (en) Memory device and its operating method
EP3136286A1 (en) Data processing system with secure key generation
WO2015119541A1 (en) Configurable built-in self-tests of digital logic circuits
JP5937244B2 (en) Method and apparatus for processing an erasure counter
US9818494B2 (en) Operation recording circuit and operation method thereof
JP6453610B2 (en) Storage device and storage device reliability test method
JP2016085337A (en) Semiconductor device, semiconductor storage device, and reliability test of semiconductor device
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
CN106528321B (en) Data recovery circuit, semiconductor storage and data reconstruction method

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: 20180528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180726

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181213

R150 Certificate of patent or registration of utility model

Ref document number: 6453610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250