JP6456799B2 - Memory controller - Google Patents

Memory controller Download PDF

Info

Publication number
JP6456799B2
JP6456799B2 JP2015171270A JP2015171270A JP6456799B2 JP 6456799 B2 JP6456799 B2 JP 6456799B2 JP 2015171270 A JP2015171270 A JP 2015171270A JP 2015171270 A JP2015171270 A JP 2015171270A JP 6456799 B2 JP6456799 B2 JP 6456799B2
Authority
JP
Japan
Prior art keywords
address
latency
memory controller
host device
data
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.)
Active
Application number
JP2015171270A
Other languages
Japanese (ja)
Other versions
JP2017049713A (en
Inventor
崇彦 菅原
崇彦 菅原
大武 油谷
大武 油谷
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 JP2015171270A priority Critical patent/JP6456799B2/en
Priority to US15/242,713 priority patent/US20170060460A1/en
Publication of JP2017049713A publication Critical patent/JP2017049713A/en
Application granted granted Critical
Publication of JP6456799B2 publication Critical patent/JP6456799B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、ホスト装置からの要求に応じて半導体メモリにアクセスするメモリコントローラに関する。   The present invention relates to a memory controller that accesses a semiconductor memory in response to a request from a host device.

半導体記憶装置は、メモリコントローラと、NANDフラッシュメモリなどの半導体メモリとを備える。メモリコントローラは、データの読み出し指示、あるいはデータの書き込み指示等をホスト装置から受け付けた場合、ホスト装置の指示に応じて半導体メモリに対するアクセスを制御する。   The semiconductor memory device includes a memory controller and a semiconductor memory such as a NAND flash memory. When receiving a data read instruction or a data write instruction from the host device, the memory controller controls access to the semiconductor memory in accordance with the instruction from the host device.

半導体メモリに記憶されているコンテンツ等のデータのセキュリティを確保するために、認証や、データの暗号化などの様々な対策が従来から施されている。認証を用いる場合、ホスト装置及びメモリコントローラは、互いの正当性を確認した後に、半導体メモリに記憶されたデータの読み出しを行う。暗号化を用いる場合、メモリコントローラは、半導体メモリから読み出したデータを暗号化してホスト装置に送信する。あるいは、メモリコントローラは、データを暗号化して半導体メモリに書き込み、半導体メモリから読み出した暗号化データを復号してホスト装置に送信する。   Conventionally, various measures such as authentication and data encryption have been taken in order to ensure the security of data such as contents stored in a semiconductor memory. In the case of using authentication, the host device and the memory controller read data stored in the semiconductor memory after confirming the validity of each other. When encryption is used, the memory controller encrypts data read from the semiconductor memory and transmits the encrypted data to the host device. Alternatively, the memory controller encrypts the data, writes it to the semiconductor memory, decrypts the encrypted data read from the semiconductor memory, and transmits it to the host device.

特許文献1には、メモリセルから読み出したデータを外部に出力する際に、読み出したデータを暗号化する半導体メモリ装置が開示されている。半導体メモリ装置は、外部から読み出しコマンドを受け付けた場合、読み出しコマンドで指定されたアドレスのデータをメモリセルから読み出す。半導体メモリ装置は、内部に実装された論理回路を用いて、読み出したデータと、読み出しコマンドで指定されたアドレスとの排他的論理和をとることにより、読み出したデータを暗号化する。半導体メモリ装置は、暗号化されたデータを読み出しコマンドの応答として出力する。   Patent Document 1 discloses a semiconductor memory device that encrypts read data when the data read from the memory cell is output to the outside. When receiving a read command from the outside, the semiconductor memory device reads data at an address designated by the read command from the memory cell. The semiconductor memory device encrypts the read data by taking an exclusive OR of the read data and the address specified by the read command using a logic circuit mounted therein. The semiconductor memory device outputs the encrypted data as a response to the read command.

特開平7−219852号公報JP-A-7-219852

特許文献1に係る半導体メモリ装置のように暗号化を用いる場合、暗号鍵が悪意のある第三者により窃取されるおそれがある。暗号鍵が窃取された場合、半導体メモリ装置に記憶されたデータのセキュリティが無効化される。また、認証によりセキュリティを確保する場合であっても、認証に用いられるパスワードなどが窃取されることにより、半導体メモリに記憶されたデータのセキュリティが無効化される。   When encryption is used as in the semiconductor memory device according to Patent Document 1, the encryption key may be stolen by a malicious third party. When the encryption key is stolen, the security of the data stored in the semiconductor memory device is invalidated. Even when security is ensured by authentication, the security of data stored in the semiconductor memory is invalidated by stealing a password or the like used for authentication.

第三者が半導体記憶装置のアクセスに用いられる暗号鍵やパスワードを窃取することに成功した場合、第三者は、半導体メモリに記憶されたデータを全て読み出すことが可能となるため、半導体メモリに記憶されたデータの複製を容易に作成することが可能となる。この結果、半導体記憶装置の違法な複製品が市場に流通するという問題がある。   If a third party succeeds in stealing the encryption key or password used to access the semiconductor memory device, the third party can read all the data stored in the semiconductor memory. It is possible to easily create a copy of stored data. As a result, there is a problem that illegal copies of semiconductor memory devices are distributed in the market.

本発明の目的は、半導体記憶装置の違法な複製品を製造することを困難にする技術を提供することである。   An object of the present invention is to provide a technique that makes it difficult to manufacture an illegal duplicate of a semiconductor memory device.

上記課題を解決するため、請求項1記載の発明は、ホスト装置からの要求に応じて半導体メモリにアクセスするメモリコントローラであって、前記ホスト装置から受信した読み出しコマンドに応答して最短レイテンシで送信すべきデータを格納する半導体メモリのアドレスであって、前記ホスト装置により保持されるアドレスと同一のレイテンシ指定アドレスを取得するアドレス取得部と、前記レイテンシ指定アドレスのデータを前記半導体メモリから読み出してバッファに格納する事前取得部と、前記ホスト装置から受信した読み出しコマンドに含まれるアドレスを、前記アドレス取得部により取得されたレイテンシ指定アドレスと比較する比較部と、前記比較部による比較結果に基づいて、前記最短レイテンシが終了するタイミングで前記バッファに格納されたデータを前記ホスト装置に送信する送信制御部と、を備える。   In order to solve the above-described problem, the invention described in claim 1 is a memory controller that accesses a semiconductor memory in response to a request from a host device, and transmits the semiconductor memory with a minimum latency in response to a read command received from the host device An address acquisition unit for acquiring a latency designation address that is the address of the semiconductor memory that stores data to be stored and that is the same as the address held by the host device, and reads the data of the latency designation address from the semiconductor memory and buffers it Based on the comparison result by the comparison unit, the comparison unit that compares the address included in the read command received from the host device, the comparison unit that compares the address included in the read command received from the host device with the latency designation address acquired The timing at which the shortest latency ends And a transmission control unit for transmitting the data stored in the buffer to the host device.

請求項2記載の発明は、請求項1に記載のメモリコントローラであって、前記アドレス取得部は、前記送信制御部が前記バッファに格納されたデータを前記ホスト装置へ出力した後に、前記レイテンシ指定アドレスを更新し、前記事前取得部は、更新されたレイテンシ指定アドレスのデータを前記半導体メモリから読み出し、前記バッファに格納されたデータを前記更新されたレイテンシ指定アドレスのデータで更新する。   According to a second aspect of the present invention, in the memory controller according to the first aspect, the address acquisition unit specifies the latency after the transmission control unit outputs the data stored in the buffer to the host device. The address is updated, and the pre-acquisition unit reads the updated latency designation address data from the semiconductor memory, and updates the data stored in the buffer with the updated latency designation address data.

請求項3記載の発明は、請求項1に記載のメモリコントローラであって、前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスと一致すると前記比較部により判断された場合、前記送信制御部は、前記最短レイテンシが終了するタイミングで前記バッファに格納されたデータを前記ホスト装置に送信する。   The invention according to claim 3 is the memory controller according to claim 1, wherein the transmission control unit determines that the comparison unit determines that the address included in the read command matches the latency designation address. The transmission control unit transmits the data stored in the buffer to the host device at a timing when the shortest latency ends.

請求項4記載の発明は、請求項1ないし請求項3のいずれかに記載のメモリコントローラであって、前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスと一致しないと前記比較部により判断された場合、前記読み出しコマンドに含まれるアドレスのデータを前記半導体メモリから読み出し、前記半導体メモリから読み出したデータを送信する。   According to a fourth aspect of the present invention, in the memory controller according to any one of the first to third aspects, the transmission control unit is configured so that the address included in the read command does not match the latency designation address. When judged by the comparison unit, the address data included in the read command is read from the semiconductor memory, and the data read from the semiconductor memory is transmitted.

請求項5記載の発明は、請求項1ないし請求項4のいずれかに記載のメモリコントローラであって、前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスに一致すると前記比較部により判断された場合、前記読み出しコマンドの受け付けを完了した直後に、前記バッファに格納されたデータを送信する。   A fifth aspect of the present invention is the memory controller according to any one of the first to fourth aspects, wherein the transmission control unit compares the address when the address included in the read command matches the latency designation address. If it is determined by the unit, the data stored in the buffer is transmitted immediately after the reception of the read command is completed.

請求項6記載の発明は、請求項1ないし請求項4のいずれかに記載のメモリコントローラであって、前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスに一致すると前記比較部により判断された場合、1つのビジー信号及び1つのレディ信号の後に続けて前記バッファに格納されたデータを送信する。   A sixth aspect of the present invention is the memory controller according to any one of the first to fourth aspects, wherein the transmission control unit compares the address when the address included in the read command matches the latency designation address. If it is determined by the unit, the data stored in the buffer is transmitted after one busy signal and one ready signal.

請求項7記載の発明は、請求項1ないし請求項6のいずれかに記載のメモリコントローラであって、前記アドレス取得部は、前記レイテンシ指定アドレスの生成に用いられる乱数を生成する乱数生成器と、所定のアルゴリズムを用いて、前記乱数生成器により生成された乱数から前記レイテンシ指定アドレスを生成するアドレス生成部と、を含む。   A seventh aspect of the present invention is the memory controller according to any one of the first to sixth aspects, wherein the address acquisition unit includes a random number generator that generates a random number used for generating the latency designation address. And an address generation unit that generates the latency designation address from the random number generated by the random number generator using a predetermined algorithm.

請求項8記載の発明は、請求項1ないし請求項6のいずれかに記載のメモリコントローラであって、前記アドレス取得部は、前記ホスト装置により生成されたレイテンシ指定アドレスを取得する。   The invention according to claim 8 is the memory controller according to any one of claims 1 to 6, wherein the address acquisition unit acquires a latency designation address generated by the host device.

請求項9記載の発明は、メモリシステムであって、ホスト装置と、半導体メモリと、前記ホスト装置からの要求に応じて前記半導体メモリにアクセスするメモリコントローラと、を備え、前記メモリコントローラは、前記ホスト装置から受信した読み出しコマンドに応答して最短レイテンシで送信すべきデータを格納する半導体メモリのアドレスであるレイテンシ指定アドレスを取得するアドレス取得部と、前記レイテンシ指定アドレスのデータを前記半導体メモリから読み出してバッファに格納する事前取得部と、前記ホスト装置から受信した読み出しコマンドに含まれるアドレスを、前記アドレス取得部により取得されたレイテンシ指定アドレスと比較する第1比較部と、前記第1比較部による比較結果に基づいて、前記最短レイテンシが終了するタイミングで前記バッファに格納されたデータを前記ホスト装置に送信する送信制御部と、を備え、前記ホスト装置は、前記レイテンシ指定アドレスを記憶する記憶部と、前記読み出しコマンドをメモリコントローラに送信する前に、前記読み出しコマンドに含まれるアドレスを前記レイテンシ指定アドレスと比較する第2比較部と、前記第2比較部による比較結果に基づいて、前記最短レイテンシが終了するタイミングで、前記バッファに格納されたデータを前記メモリコントローラから受信するアクセス制御部と、を備える。   The invention according to claim 9 is a memory system, comprising: a host device; a semiconductor memory; and a memory controller that accesses the semiconductor memory in response to a request from the host device. In response to a read command received from the host device, an address acquisition unit that acquires a latency designation address that is an address of a semiconductor memory that stores data to be transmitted with the shortest latency, and reads data at the latency designation address from the semiconductor memory A pre-acquisition unit stored in the buffer, a first comparison unit that compares an address included in a read command received from the host device with a latency designation address acquired by the address acquisition unit, and a first comparison unit Based on the comparison result, the shortest latency is A transmission control unit that transmits the data stored in the buffer to the host device at a timing of termination, the host device transmitting the read command to the memory controller, and a storage unit that stores the latency designation address Before the address is stored in the buffer at the timing when the shortest latency ends based on a comparison result by the second comparison unit that compares the address included in the read command with the latency designation address and the comparison result by the second comparison unit. An access control unit for receiving the received data from the memory controller.

請求項10記載の発明は、請求項9に記載のメモリシステムであって、前記アクセス制御部は、前記バッファに格納されたデータを前記メモリコントローラから受信してから予め設定された期間が経過するまでに、前記レイテンシ指定アドレスを更新し、前記アドレス取得部は、前記送信制御部が前記バッファに格納されたデータを前記ホスト装置へ送信してから前記予め設定された期間が経過するまでに、前記レイテンシ指定アドレスを更新し、前記事前取得部は、更新されたレイテンシ指定アドレスのデータを前記半導体メモリから読み出し、前記バッファに格納されたデータを前記更新されたレイテンシ指定アドレスのデータで更新する。   A tenth aspect of the present invention is the memory system according to the ninth aspect, wherein the access control unit receives a preset period after receiving the data stored in the buffer from the memory controller. The latency designation address is updated by the time until the address acquisition unit transmits the data stored in the buffer to the host device until the preset period elapses. The latency designation address is updated, and the pre-acquisition unit reads the updated latency designation address data from the semiconductor memory, and updates the data stored in the buffer with the updated latency designation address data. .

請求項11記載の発明は、請求項9又は請求項10に記載のメモリシステムであって、前記メモリコントローラは、さらに、第1乱数を生成する第1乱数生成器、を備え、前記ホスト装置は、さらに、第2乱数を生成する第2乱数生成器、を備え、前記アドレス取得部及び前記アクセス制御部の各々は、所定のアルゴリズムを用いて、前記第1乱数と前記第2乱数から、前記レイテンシ指定アドレスを生成する。   The invention according to claim 11 is the memory system according to claim 9 or claim 10, wherein the memory controller further includes a first random number generator for generating a first random number, and the host device is And a second random number generator for generating a second random number, wherein each of the address acquisition unit and the access control unit uses a predetermined algorithm to calculate the second random number from the first random number and the second random number. Generate a latency specified address.

本発明に係るメモリコントローラは、読み出しコマンドに含まれるアドレスをレイテンシ指定アドレスと比較した結果に基づいて、バッファに格納されたレイテンシ指定アドレスのデータを、最短レイテンシでホスト装置に送信する。一方、第三者は、レイテンシ指定アドレスを特定することができないため、第三者により違法に複製された半導体記憶装置におけるメモリコントローラは、レイテンシ指定アドレスのデータを最短レイテンシでホスト装置に送信することができない。つまり、違法に複製された半導体記憶装置のメモリコントローラは、本発明に係るメモリコントローラと同一の動作をすることができない。従って、半導体記憶装置の違法な複製品の製造を困難にすることができる。   The memory controller according to the present invention transmits the data of the latency designated address stored in the buffer to the host device with the shortest latency based on the result of comparing the address included in the read command with the latency designated address. On the other hand, since the third party cannot specify the latency designated address, the memory controller in the semiconductor storage device illegally copied by the third party must transmit the data of the latency designated address to the host device with the shortest latency. I can't. That is, the memory controller of the semiconductor memory device illegally copied cannot perform the same operation as the memory controller according to the present invention. Accordingly, it is possible to make it difficult to manufacture illegally copied semiconductor memory devices.

本発明の実施の形態に係るメモリシステムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the memory system which concerns on embodiment of this invention. 図1に示すホスト装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the host apparatus shown in FIG. 図1に示す半導体記憶装置の構成を示す機能ブロック図である。FIG. 2 is a functional block diagram showing a configuration of the semiconductor memory device shown in FIG. 1. 図1に示す半導体メモリの構成を示す機能ブロック図である。FIG. 2 is a functional block diagram illustrating a configuration of the semiconductor memory illustrated in FIG. 1. 図1に示すホスト装置及びメモリコントローラの動作を示す図であって、レイテンシ指定アドレスの生成時における動作を示すシーケンス図である。It is a figure which shows operation | movement of the host apparatus shown in FIG. 1, and a memory controller, Comprising: It is a sequence diagram which shows operation | movement at the time of the production | generation of a latency designation | designated address. 図1に示すホスト装置が通常アドレスを含む読み出しコマンドを送信するときのホスト装置及びメモリコントローラの動作を示すシーケンス図である。FIG. 3 is a sequence diagram showing operations of the host device and the memory controller when the host device shown in FIG. 1 transmits a read command including a normal address. 図1に示すホスト装置がレイテンシ指定アドレスを含む読み出しコマンドを送信するときのホスト装置及びメモリコントローラの動作を示すシーケンス図である。FIG. 3 is a sequence diagram showing operations of the host device and the memory controller when the host device shown in FIG. 1 transmits a read command including a latency designation address. 図1に示すメモリコントローラが固定レイテンシ処理を実行する場合におけるデータの送信タイミングを示す図である。FIG. 3 is a diagram showing data transmission timing when the memory controller shown in FIG. 1 executes fixed latency processing. 図1に示すメモリコントローラが可変レイテンシ処理を実行する場合におけるデータの送信タイミングを示す図である。FIG. 3 is a diagram showing data transmission timing when the memory controller shown in FIG. 1 executes variable latency processing. 図1に示すメモリコントローラが固定レイテンシ処理を実行する場合におけるデータの送信タイミングの他の例を示す図である。FIG. 10 is a diagram showing another example of data transmission timing when the memory controller shown in FIG. 1 executes fixed latency processing. 図1に示すメモリコントローラが固定レイテンシ処理を実行する場合におけるデータの送信タイミングの他の例を示す図である。FIG. 10 is a diagram showing another example of data transmission timing when the memory controller shown in FIG. 1 executes fixed latency processing.

以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated.

{1.メモリシステムの構成}
{1.1.全体構成}
図1は、本発明の実施の形態に係るメモリシステム100の構成を示す機能ブロック図である。図1に示すように、メモリシステム100は、ホスト装置10と、半導体記憶装置20とを備える。半導体記憶装置20は、メモリコントローラ30と、半導体メモリ40とを備える。
{1. Memory system configuration}
{1.1. overall structure}
FIG. 1 is a functional block diagram showing a configuration of a memory system 100 according to an embodiment of the present invention. As shown in FIG. 1, the memory system 100 includes a host device 10 and a semiconductor memory device 20. The semiconductor memory device 20 includes a memory controller 30 and a semiconductor memory 40.

メモリコントローラ30は、ホスト装置10からの要求に応じて、半導体メモリ40にアクセスする。   The memory controller 30 accesses the semiconductor memory 40 in response to a request from the host device 10.

半導体メモリ40は、不揮発性であり、例えば、NANDフラッシュメモリである。半導体メモリ40は、ホスト装置10により使用されるプログラム41及びコンテンツデータ42を記憶する。プログラム41は、コンテンツデータ42を使用するためのプログラムである。   The semiconductor memory 40 is nonvolatile, for example, a NAND flash memory. The semiconductor memory 40 stores a program 41 and content data 42 used by the host device 10. The program 41 is a program for using the content data 42.

{1.2.ホスト装置10の構成}
図2は、図1に示すホスト装置10の構成を示す機能ブロック図である。図2に示すように、ホスト装置10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、乱数生成器13と、ホスト側コントローラ14とを備える。CPU11と、RAM12と、乱数生成器13と、ホスト側コントローラ14とは、バスを介して接続される。
{1.2. Configuration of Host Device 10}
FIG. 2 is a functional block diagram showing the configuration of the host device 10 shown in FIG. As shown in FIG. 2, the host device 10 includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a random number generator 13, and a host-side controller 14. The CPU 11, RAM 12, random number generator 13, and host-side controller 14 are connected via a bus.

CPU11は、RAM12にロードされたプログラムを実行して、ホスト装置10の動作を制御する。RAM12は、ホスト装置10のメインメモリである。   The CPU 11 executes a program loaded on the RAM 12 and controls the operation of the host device 10. The RAM 12 is a main memory of the host device 10.

乱数生成器13は、真性乱数を生成する。乱数生成器13は、レイテンシ指定アドレス51の生成に用いられる乱数13Aを生成する。レイテンシ指定アドレス51は、半導体メモリ40のアドレスのうち、メモリコントローラ30が読み出しコマンドを受け付けた場合に最短レイテンシで送信すべきデータを格納するアドレスである。レイテンシ指定アドレス51は、アクセス制御部141により保持される。レイテンシ指定アドレス51の詳細は、後述する。   The random number generator 13 generates a genuine random number. The random number generator 13 generates a random number 13A that is used to generate the latency designation address 51. The latency designation address 51 is an address for storing data to be transmitted with the shortest latency when the memory controller 30 receives a read command among the addresses of the semiconductor memory 40. The latency designation address 51 is held by the access control unit 141. Details of the latency designation address 51 will be described later.

ホスト側コントローラ14は、CPU11の指示に応じて、ホスト装置10による半導体記憶装置20に対するアクセスを制御する。ホスト側コントローラ14は、アクセス制御部141と、アドレス生成部142と、記憶部143と、比較部144とを備える。   The host-side controller 14 controls access to the semiconductor memory device 20 by the host device 10 in accordance with an instruction from the CPU 11. The host-side controller 14 includes an access control unit 141, an address generation unit 142, a storage unit 143, and a comparison unit 144.

アクセス制御部141は、CPU11の指示に基づくコマンドをメモリコントローラ30に送信し、送信したコマンドに対する応答を受信する。比較部144は、読み出しコマンドに含まれるアドレスをレイテンシ指定アドレス51と比較する。   The access control unit 141 transmits a command based on an instruction from the CPU 11 to the memory controller 30 and receives a response to the transmitted command. The comparison unit 144 compares the address included in the read command with the latency designation address 51.

アドレス生成部142は、記憶部143に格納された乱数13A及び乱数35Aからレイテンシ指定アドレス51を生成する。乱数35Aは、後述するように、メモリコントローラ30により生成される。   The address generation unit 142 generates the latency designation address 51 from the random number 13A and the random number 35A stored in the storage unit 143. The random number 35A is generated by the memory controller 30 as will be described later.

記憶部143は、例えば、レジスタであり、乱数生成器13により生成された乱数13Aと、メモリコントローラ30により生成された乱数35Aとを格納する。   The storage unit 143 is, for example, a register, and stores the random number 13A generated by the random number generator 13 and the random number 35A generated by the memory controller 30.

{1.3.メモリコントローラ30の構成}
図3は、図1に示す半導体記憶装置20の構成を示す機能ブロック図である。図3に示すように、メモリコントローラ30は、コマンドデコーダ31と、アドレス取得部32と、アクセス制御部33と、バッファ34と、乱数生成器35と、セレクタ36とを備える。
{1.3. Configuration of Memory Controller 30}
FIG. 3 is a functional block diagram showing a configuration of the semiconductor memory device 20 shown in FIG. As shown in FIG. 3, the memory controller 30 includes a command decoder 31, an address acquisition unit 32, an access control unit 33, a buffer 34, a random number generator 35, and a selector 36.

メモリコントローラ30は、ホスト側コントローラ14と接続される。図3において、メモリコントローラ30におけるホスト装置10とのインタフェース回路(ホストI/F)及び半導体メモリ40とのインタフェース回路(メモリI/F)の表示を省略している。   The memory controller 30 is connected to the host-side controller 14. In FIG. 3, the display of the interface circuit (host I / F) with the host device 10 and the interface circuit (memory I / F) with the semiconductor memory 40 in the memory controller 30 is omitted.

コマンドデコーダ31は、ホスト側コントローラ14から送信されるコマンドを取得し、取得したコマンドをデコードする。例えば、コマンドデコーダ31は、読み出しコマンドを受信した場合、読み出しコマンドをデコードし、読み出しコマンドからアドレスを抽出する。コマンドデコーダ31は、読み出し指示及び抽出したアドレスをアクセス制御部33に出力する。以下、読み出しコマンドに含まれるアドレスを「読み出しアドレス」と記載する。   The command decoder 31 acquires a command transmitted from the host-side controller 14 and decodes the acquired command. For example, when receiving a read command, the command decoder 31 decodes the read command and extracts an address from the read command. The command decoder 31 outputs a read instruction and the extracted address to the access control unit 33. Hereinafter, an address included in the read command is referred to as a “read address”.

アドレス取得部32は、レイテンシ指定アドレス51を取得する。アドレス取得部32は、レジスタ321と、レジスタ322と、アドレス生成部323とを備える。   The address acquisition unit 32 acquires a latency designation address 51. The address acquisition unit 32 includes a register 321, a register 322, and an address generation unit 323.

レジスタ321は、乱数生成器13(図2参照)により生成された乱数13Aを格納する。レジスタ322は、乱数生成器35により生成された乱数35Aを格納する。アドレス生成部323は、レジスタ321に格納された乱数13Aとレジスタ322に格納された乱数35Aからレイテンシ指定アドレス51を生成する。アドレス生成部323と、ホスト装置10のアドレス生成部142とは、同一のレイテンシ指定アドレス51を生成する。   The register 321 stores the random number 13A generated by the random number generator 13 (see FIG. 2). The register 322 stores the random number 35A generated by the random number generator 35. The address generation unit 323 generates a latency designation address 51 from the random number 13A stored in the register 321 and the random number 35A stored in the register 322. The address generation unit 323 and the address generation unit 142 of the host device 10 generate the same latency designation address 51.

アクセス制御部33は、ホスト装置10からの読み出しコマンドに応じて、半導体メモリ40から読み出されたデータをホスト側コントローラ14に送信する。アクセス制御部33は、事前取得部331と、比較部332と、送信制御部333とを備える。   The access control unit 33 transmits data read from the semiconductor memory 40 to the host-side controller 14 in response to a read command from the host device 10. The access control unit 33 includes a pre-acquisition unit 331, a comparison unit 332, and a transmission control unit 333.

事前取得部331は、アドレス取得部32により取得されたレイテンシ指定アドレス51のデータの読み出しを半導体メモリ40に指示し、半導体メモリ40から読み出されたレイテンシ指定アドレス51のデータをバッファ34に格納させる。   The prior acquisition unit 331 instructs the semiconductor memory 40 to read the data of the latency designation address 51 acquired by the address acquisition unit 32 and stores the data of the latency specification address 51 read from the semiconductor memory 40 in the buffer 34. .

比較部332は、読み出しアドレスをアドレス取得部32により生成されたレイテンシ指定アドレス51と比較する。比較部332は、比較結果を送信制御部333に出力する。   The comparison unit 332 compares the read address with the latency designation address 51 generated by the address acquisition unit 32. The comparison unit 332 outputs the comparison result to the transmission control unit 333.

送信制御部333は、比較部332による比較結果に応じて、半導体メモリ40又はバッファ34から読み出しアドレスのデータを読み出してホスト側コントローラ14に送信する。具体的には、送信制御部333は、読み出しアドレスがレイテンシ指定アドレス51に一致する場合、レイテンシがゼロとなるタイミングで、バッファ34に格納されたデータを読み出しコマンドの応答としてホスト装置10に出力する。送信制御部333は、読み出しアドレスがレイテンシ指定アドレス51と一致しない場合、読み出しアドレスのデータの読み出しを半導体メモリ40に指示する。送信制御部333は、半導体メモリ40から読み出されたデータを、読み出しコマンドの応答としてホスト装置10に出力する。   The transmission control unit 333 reads the data at the read address from the semiconductor memory 40 or the buffer 34 according to the comparison result by the comparison unit 332 and transmits the read address data to the host-side controller 14. Specifically, when the read address matches the latency designation address 51, the transmission control unit 333 outputs the data stored in the buffer 34 to the host device 10 as a response to the read command at a timing when the latency becomes zero. . When the read address does not match the latency designation address 51, the transmission control unit 333 instructs the semiconductor memory 40 to read the data at the read address. The transmission control unit 333 outputs the data read from the semiconductor memory 40 to the host device 10 as a response to the read command.

バッファ34は、事前取得部331の指示に応じて半導体メモリ40から読み出されたデータを格納する。バッファ34に格納されるデータは、半導体メモリ40におけるレイテンシ指定アドレス51のデータである。   The buffer 34 stores data read from the semiconductor memory 40 in response to an instruction from the prior acquisition unit 331. Data stored in the buffer 34 is data of the latency designation address 51 in the semiconductor memory 40.

乱数生成器35は、乱数35Aを生成する。乱数35Aは、レイテンシ指定アドレス51の決定に用いられる。乱数生成器35は、真性乱数を生成する。従って、乱数生成器35により生成される乱数35Aは、乱数生成器13により生成される乱数13Aと異なる。   The random number generator 35 generates a random number 35A. The random number 35A is used to determine the latency designation address 51. The random number generator 35 generates a genuine random number. Accordingly, the random number 35A generated by the random number generator 35 is different from the random number 13A generated by the random number generator 13.

セレクタ36は、バッファ34に格納されたデータ、乱数生成器35により生成された乱数35A、及び送信制御部333の指示に応じて半導体メモリ40から読み出されたデータのいずれかを送信制御部333に出力する。セレクタ36の動作は、送信制御部333により決定される。   The selector 36 transmits one of the data stored in the buffer 34, the random number 35 </ b> A generated by the random number generator 35, and the data read from the semiconductor memory 40 in response to an instruction from the transmission control unit 333. Output to. The operation of the selector 36 is determined by the transmission control unit 333.

{1.4.半導体メモリ40の構成}
図4は、図1に示す半導体メモリ40の構成を示す機能ブロック図である。図4に示すように、半導体メモリ40は、1枚のダイで構成される。ダイは、J個のブロックを含む。ブロックは、N個のページを含む。J及びNは、いずれも1以上の自然数である。ブロックは、半導体メモリ40におけるデータの消去単位である。ページは、半導体メモリ40におけるデータの読み出し単位及び書き込み単位である。
{1.4. Configuration of Semiconductor Memory 40}
FIG. 4 is a functional block diagram showing a configuration of the semiconductor memory 40 shown in FIG. As shown in FIG. 4, the semiconductor memory 40 is composed of a single die. The die includes J blocks. The block includes N pages. J and N are both natural numbers of 1 or more. A block is a data erasing unit in the semiconductor memory 40. The page is a data reading unit and writing unit in the semiconductor memory 40.

半導体メモリ40において、ブロック40Bは、ページP−1〜P−Nにより構成される。プログラム41A〜41Cが、ページP−1〜P−3に格納されている。プログラム41A〜41Cは、図1に示すプログラム41を構成する。プログラム41A〜41Cは、プログラム41をページに格納可能なデータサイズで区分することにより生成される。従って、プログラム41A〜41Cを個別に実行することはできない。コンテンツデータ42は、ページP−Nに格納される。   In the semiconductor memory 40, the block 40B includes pages P-1 to PN. Programs 41A to 41C are stored in pages P-1 to P-3. The programs 41A to 41C constitute the program 41 shown in FIG. The programs 41A to 41C are generated by dividing the program 41 by the data size that can be stored in the page. Therefore, the programs 41A to 41C cannot be executed individually. The content data 42 is stored in the page PN.

{2.メモリシステムの動作}
以下、メモリシステム100の動作について説明する。なお、メモリコントローラ30において実行される論理アドレスから物理アドレスへの変換処理についての説明を省略する。
{2. Operation of memory system}
Hereinafter, the operation of the memory system 100 will be described. A description of the logical address to physical address conversion process executed in the memory controller 30 is omitted.

{2.1.概略}
レイテンシ指定アドレス51は、ホスト装置10の電源がオンにされたときに、ホスト装置10及びメモリコントローラ30で生成される。レイテンシ指定アドレス51は、乱数13A及び乱数35Aから生成されるため、ランダムな値を有する。また、レイテンシ指定アドレス51は、メモリコントローラ30がレイテンシ指定アドレス51のデータをホスト装置10に送信した後に更新される。
{2.1. Outline}
The latency designation address 51 is generated by the host device 10 and the memory controller 30 when the power of the host device 10 is turned on. Since the latency designation address 51 is generated from the random number 13A and the random number 35A, it has a random value. The latency designation address 51 is updated after the memory controller 30 transmits the data of the latency designation address 51 to the host device 10.

メモリコントローラ30は、読み出しコマンドをホスト装置10から受信した場合、読み出しアドレスをレイテンシ指定アドレス51と比較する。メモリコントローラ30は、その比較結果に応じて、固定レイテンシ処理及び可変レイテンシ処理のいずれか一方を実行する。   When the memory controller 30 receives a read command from the host device 10, the memory controller 30 compares the read address with the latency designation address 51. The memory controller 30 executes either one of fixed latency processing and variable latency processing according to the comparison result.

可変レイテンシ処理は、通常の読み出し処理であり、読み出しアドレスがレイテンシ指定アドレス51以外のアドレスである場合に実行される。メモリコントローラ30は、読み出しアドレスのデータを半導体メモリ40から読み出し、読み出したデータをホスト装置10に送信する。   The variable latency process is a normal read process, and is executed when the read address is an address other than the latency designation address 51. The memory controller 30 reads the read address data from the semiconductor memory 40 and transmits the read data to the host device 10.

可変レイテンシ処理を実行する場合、一定時間以上のレイテンシが発生する。レイテンシは、メモリコントローラ30が読み出しコマンドの受け付けを完了してから読み出しアドレスのデータをホスト装置10に出力するまでに要する時間である。半導体メモリ40からデータを読み出すために要する時間は、半導体メモリ40の性能や、読み出しアドレスなどによって変化する。   When variable latency processing is executed, latency of a certain time or longer occurs. Latency is the time required from when the memory controller 30 completes acceptance of the read command until the read address data is output to the host device 10. The time required to read data from the semiconductor memory 40 varies depending on the performance of the semiconductor memory 40, the read address, and the like.

一方、固定レイテンシ処理は、読み出しアドレスがレイテンシ指定アドレス51に一致する場合に実行される。固定レイテンシ処理は、バッファ34に格納されているデータを読み出しコマンドの応答として出力する。詳細については後述するが、固定レイテンシ処理を実行することにより、レイテンシをゼロとすることができる。   On the other hand, the fixed latency process is executed when the read address matches the latency designation address 51. In the fixed latency process, the data stored in the buffer 34 is output as a response to the read command. Although details will be described later, the latency can be made zero by executing the fixed latency processing.

このように、メモリコントローラ30は、レイテンシ指定アドレス51を含む読み出しコマンドを受信した場合、レイテンシがゼロとなるタイミングで、レイテンシ指定アドレス51のデータをホスト装置10に送信する。レイテンシ指定アドレス51は、ランダムな値を有するため、第三者は、レイテンシ指定アドレス51を特定することができない。従って、半導体記憶装置20の違法な複製品が第三者により製造されたとしても、複製品におけるメモリコントローラは、レイテンシ指定アドレス51を含む読み出しコマンドを受信した場合、レイテンシ指定アドレス51のデータをレイテンシがゼロとなるタイミングでホスト装置10に送信することができない。複製品のメモリコントローラは、メモリコントローラ30と同一の動作をすることができないため、半導体記憶装置20の違法な複製品の製造を困難とすることができる。以下、半導体記憶装置20の違法な複製品を、単に「複製品」と記載する。   As described above, when the memory controller 30 receives a read command including the latency designation address 51, the memory controller 30 transmits the data of the latency designation address 51 to the host device 10 at a timing when the latency becomes zero. Since the latency designation address 51 has a random value, a third party cannot specify the latency designation address 51. Therefore, even if an illegal copy of the semiconductor memory device 20 is manufactured by a third party, if the memory controller in the copy receives a read command including the latency specification address 51, the data of the latency specification address 51 is transferred to the latency specification address 51. Cannot be transmitted to the host device 10 at a timing when becomes zero. Since the duplicated memory controller cannot operate in the same manner as the memory controller 30, it is difficult to manufacture an illegally duplicated product of the semiconductor memory device 20. Hereinafter, an illegally copied product of the semiconductor memory device 20 is simply referred to as a “replicated product”.

{2.2.レイテンシ指定アドレス51の決定}
図5は、レイテンシ指定アドレス51を決定するときにおけるホスト装置10及びメモリコントローラ30の動作を示すシーケンス図である。図5に示すシーケンス図は、ホスト装置10の電源がオンされたときに開始される。
{2.2. Determination of latency designation address 51}
FIG. 5 is a sequence diagram showing operations of the host device 10 and the memory controller 30 when the latency designation address 51 is determined. The sequence diagram shown in FIG. 5 is started when the host apparatus 10 is powered on.

最初に、ホスト装置10の動作を説明する。ホスト装置10の電源がオンされた場合、CPU11は、乱数生成器13に乱数13Aの生成を指示する。乱数生成器13は、CPU11の指示に応じて、乱数13Aを生成する(ステップS111)。生成された乱数13Aは、CPU11及びホスト側コントローラ14へ出力される。   First, the operation of the host device 10 will be described. When the host device 10 is powered on, the CPU 11 instructs the random number generator 13 to generate the random number 13A. The random number generator 13 generates a random number 13A in response to an instruction from the CPU 11 (step S111). The generated random number 13A is output to the CPU 11 and the host-side controller 14.

ホスト側コントローラ14において、アクセス制御部141は、乱数生成器13から入力された乱数13Aを記憶部143に格納する(ステップS112)。   In the host-side controller 14, the access control unit 141 stores the random number 13A input from the random number generator 13 in the storage unit 143 (step S112).

CPU11は、乱数交換コマンドを生成する(ステップS113)。CPU11は、乱数生成器13から出力された乱数13Aを乱数交換コマンドにセットする。乱数交換コマンドは、乱数13Aをメモリコントローラ30へ送信し、メモリコントローラ30で生成される乱数35Aの送信を要求するコマンドである。   The CPU 11 generates a random number exchange command (step S113). The CPU 11 sets the random number 13A output from the random number generator 13 in the random number exchange command. The random number exchange command is a command for transmitting the random number 13A to the memory controller 30 and requesting transmission of the random number 35A generated by the memory controller 30.

アクセス制御部141は、乱数13Aがセットされた乱数交換コマンドをCPU11から取得する。ホスト側コントローラ14は、取得した乱数交換コマンドをメモリコントローラ30へ送信する(ステップS114)。アクセス制御部141は、乱数交換コマンドの応答を受信するまで待機する。   The access control unit 141 acquires from the CPU 11 a random number exchange command in which the random number 13A is set. The host-side controller 14 transmits the acquired random number exchange command to the memory controller 30 (step S114). The access control unit 141 waits until a response to the random number exchange command is received.

次に、メモリコントローラ30の動作について説明する。メモリコントローラ30は、ホスト装置10の電源オンに応じて起動する。メモリコントローラ30において、乱数生成器35は、乱数35Aを生成する(ステップS211)。乱数生成器13及び35は、真性乱数を生成する。従って、メモリシステム100の起動直後に生成される乱数13A及び35Aは、互いに異なる値である。   Next, the operation of the memory controller 30 will be described. The memory controller 30 is activated when the host device 10 is powered on. In the memory controller 30, the random number generator 35 generates a random number 35A (step S211). The random number generators 13 and 35 generate true random numbers. Therefore, the random numbers 13A and 35A generated immediately after the activation of the memory system 100 are different from each other.

乱数35Aは、レジスタ322に記憶される(ステップS212)。具体的には、送信制御部333は、メモリコントローラ30の起動直後に、乱数35Aの出力を指示するセレクト信号54をセレクタ36に出力する。セレクタ36は、送信制御部333から出力されたセレクト信号54に応じて、入力を乱数生成器35に切り替える。これにより、送信制御部333は、乱数35Aを乱数生成器35から取得する。送信制御部333は、取得した乱数35Aをレジスタ322に出力する。レジスタ322は、送信制御部333から出力された乱数35Aを記憶する。   The random number 35A is stored in the register 322 (step S212). Specifically, the transmission control unit 333 outputs a select signal 54 for instructing output of the random number 35 </ b> A to the selector 36 immediately after the memory controller 30 is activated. The selector 36 switches the input to the random number generator 35 in accordance with the select signal 54 output from the transmission control unit 333. Thereby, the transmission control unit 333 acquires the random number 35A from the random number generator 35. The transmission control unit 333 outputs the acquired random number 35A to the register 322. The register 322 stores the random number 35A output from the transmission control unit 333.

メモリコントローラ30は、ステップS114によりホスト側コントローラ14から送信された乱数交換コマンドを受信する。メモリコントローラ30は、受信した乱数交換コマンドにセットされた乱数13Aをレジスタ321に記憶する(ステップS213)。具体的には、コマンドデコーダ31は、受信した乱数交換コマンドをデコードして、ホスト装置10が乱数の交換を要求していると判断する。コマンドデコーダ31は、乱数交換コマンドにセットされた乱数13Aを抽出してレジスタ321に出力する。レジスタ321は、コマンドデコーダ31から出力された乱数13Aを記憶する。   The memory controller 30 receives the random number exchange command transmitted from the host-side controller 14 in step S114. The memory controller 30 stores the random number 13A set in the received random number exchange command in the register 321 (step S213). Specifically, the command decoder 31 decodes the received random number exchange command, and determines that the host device 10 requests exchange of random numbers. The command decoder 31 extracts the random number 13A set in the random number exchange command and outputs it to the register 321. The register 321 stores the random number 13A output from the command decoder 31.

メモリコントローラ30は、乱数生成器35により生成された乱数35Aを、受信した乱数交換コマンドの応答としてホスト装置10に送信する(ステップS214)。具体的には、コマンドデコーダ31は、乱数交換コマンドを受信したことを送信制御部333に通知する。送信制御部333は、コマンドデコーダ31からの通知に応じて、乱数生成器35から取得した乱数35Aを、乱数交換コマンドの応答として送信する。   The memory controller 30 transmits the random number 35A generated by the random number generator 35 to the host device 10 as a response to the received random number exchange command (step S214). Specifically, the command decoder 31 notifies the transmission control unit 333 that the random number exchange command has been received. In response to the notification from the command decoder 31, the transmission control unit 333 transmits the random number 35A acquired from the random number generator 35 as a response to the random number exchange command.

アドレス取得部32は、レイテンシ指定アドレス51を生成する(ステップS215)。具体的には、アドレス生成部323は、予め設定されたアルゴリズムを用いて、レジスタ321に記憶された乱数13Aとレジスタ322に記憶された乱数35Aから、レイテンシ指定アドレス51を生成する。アルゴリズムは、特に限定されないが、例えば、擬似乱数生成アルゴリズム、HMAC(Hash-based Message Authentication Code)などを用いることができる。   The address acquisition unit 32 generates a latency designation address 51 (step S215). Specifically, the address generation unit 323 generates a latency designation address 51 from the random number 13A stored in the register 321 and the random number 35A stored in the register 322 using a preset algorithm. The algorithm is not particularly limited, and for example, a pseudo-random number generation algorithm, HMAC (Hash-based Message Authentication Code), or the like can be used.

メモリコントローラ30は、レイテンシ指定アドレス51のデータを半導体メモリ40から読み出す(ステップS216)。具体的には、アドレス生成部323は、生成したレイテンシ指定アドレス51を事前取得部331に出力する。事前取得部331は、レイテンシ指定アドレス51を半導体メモリ40に出力して、レイテンシ指定アドレス51のデータの読み出しを半導体メモリ40に指示する。半導体メモリ40は、事前取得部331の指示に応じて、レイテンシ指定アドレス51のデータを読み出す。半導体メモリ40から読み出されたレイテンシ指定アドレス51のデータは、バッファ34に格納される(ステップS217)。これにより、メモリシステム100の起動時におけるメモリコントローラ30の処理は終了する。   The memory controller 30 reads data at the latency designation address 51 from the semiconductor memory 40 (step S216). Specifically, the address generation unit 323 outputs the generated latency designation address 51 to the prior acquisition unit 331. The prior acquisition unit 331 outputs the latency designation address 51 to the semiconductor memory 40 and instructs the semiconductor memory 40 to read data of the latency designation address 51. The semiconductor memory 40 reads data at the latency designation address 51 in accordance with an instruction from the prior acquisition unit 331. The data of the latency designation address 51 read from the semiconductor memory 40 is stored in the buffer 34 (step S217). Thereby, the processing of the memory controller 30 at the time of starting the memory system 100 ends.

ホスト装置10において、アクセス制御部141は、乱数交換コマンドの応答として乱数35Aを受信する。アクセス制御部141は、受信した乱数35Aを記憶部143に格納する(ステップS115)。   In the host device 10, the access control unit 141 receives the random number 35A as a response to the random number exchange command. The access control unit 141 stores the received random number 35A in the storage unit 143 (step S115).

アドレス生成部142は、記憶部143に記憶された乱数13A及び35Aからレイテンシ指定アドレス51を生成する(ステップS116)。アドレス生成部142がレイテンシ指定アドレス51の生成に用いるアルゴリズムは、メモリコントローラ30のアドレス生成部323が用いるアルゴリズムと同じである。従って、アドレス生成部142により生成されるレイテンシ指定アドレス51は、メモリコントローラ30のアドレス生成部323により生成されるレイテンシ指定アドレス51と同一である。   The address generation unit 142 generates the latency designation address 51 from the random numbers 13A and 35A stored in the storage unit 143 (step S116). The algorithm used by the address generator 142 to generate the latency designation address 51 is the same as the algorithm used by the address generator 323 of the memory controller 30. Accordingly, the latency designation address 51 generated by the address generation unit 142 is the same as the latency designation address 51 generated by the address generation unit 323 of the memory controller 30.

{2.3.可変レイテンシ処理}
図6は、ホスト装置10がレイテンシ指定アドレス51以外のアドレスを含む読み出しコマンドを送信するときのホスト装置10及びメモリコントローラ30の動作を示すシーケンス図である。以下、レイテンシ指定アドレス51以外のアドレスを「通常アドレス」と記載する。
{2.3. Variable latency processing}
FIG. 6 is a sequence diagram illustrating operations of the host device 10 and the memory controller 30 when the host device 10 transmits a read command including an address other than the latency designation address 51. Hereinafter, an address other than the latency designation address 51 is referred to as a “normal address”.

ホスト装置10は、ステップS311〜S314を実行して、通常アドレスを含む読み出しコマンドをメモリコントローラ30に送信する。ホスト装置10において、CPU11は、読み出しコマンドを生成し、生成した読み出しコマンドに読み出しアドレスをセットする。図6に示す例では、セットされる読み出しアドレスは、通常アドレスである。これにより、通常アドレスを含む読み出しコマンドが生成される(ステップS311)。   The host device 10 executes steps S311 to S314, and transmits a read command including a normal address to the memory controller 30. In the host device 10, the CPU 11 generates a read command and sets a read address in the generated read command. In the example shown in FIG. 6, the read address to be set is a normal address. Thereby, a read command including the normal address is generated (step S311).

CPU11は、生成した読み出しコマンドをアクセス制御部141に出力する。比較部144は、レイテンシ指定アドレス51と、読み出しコマンドに含まれる読み出しアドレスとをアクセス制御部141から入力し、読み出しアドレスを、レイテンシ指定アドレス51と比較する(ステップS312)。   The CPU 11 outputs the generated read command to the access control unit 141. The comparison unit 144 inputs the latency designation address 51 and the read address included in the read command from the access control unit 141, and compares the read address with the latency designation address 51 (step S312).

図6に示す例では、読み出しアドレスとして通常アドレスが読み出しコマンドにセットされているので、比較部144は、比較対象の2つのアドレスが一致しないと判断し、比較結果をアクセス制御部141に通知する。比較部144からの通知に基づいて、アクセス制御部141は、読み出しコマンドをメモリコントローラ30に送信した場合、メモリコントローラ30が可変レイテンシ処理を実行すると判断する。アクセス制御部141は、可変レイテンシ処理用のアクセス制御の開始を決定する(ステップS313)。   In the example shown in FIG. 6, since the normal address is set as the read address in the read command, the comparison unit 144 determines that the two addresses to be compared do not match and notifies the access control unit 141 of the comparison result. . Based on the notification from the comparison unit 144, when the access control unit 141 transmits a read command to the memory controller 30, the access control unit 141 determines that the memory controller 30 executes variable latency processing. The access control unit 141 determines the start of access control for variable latency processing (step S313).

アクセス制御部141は、CPU11から供給された読み出しコマンドをメモリコントローラ30に送信する(ステップS314)。アクセス制御部141は、可変レイテンシ処理用のアクセス制御を開始する。具体的には、アクセス制御部141は、メモリコントローラ30から送信されるレディ信号を受信するまで待機する(ステップS315)。   The access control unit 141 transmits the read command supplied from the CPU 11 to the memory controller 30 (step S314). The access control unit 141 starts access control for variable latency processing. Specifically, the access control unit 141 waits until a ready signal transmitted from the memory controller 30 is received (step S315).

メモリコントローラ30において、コマンドデコーダ31は、ステップS314によりホスト装置10から送信された読み出しコマンドを受信する。コマンドデコーダ31は、受信した読み出しコマンドをデコードする。その結果、コマンドデコーダ31は、ホスト装置10により読み出しが指示されたと判断し、受信した読み出しコマンドから読み出しアドレスを抽出する(ステップS411)。   In the memory controller 30, the command decoder 31 receives the read command transmitted from the host device 10 in step S314. The command decoder 31 decodes the received read command. As a result, the command decoder 31 determines that reading has been instructed by the host device 10, and extracts a read address from the received read command (step S411).

コマンドデコーダ31は、デコード結果(読み出し指示及び抽出した読み出しアドレス)を比較部332及び送信制御部333に出力する。比較部332は、コマンドデコーダ31から取得した読み出しアドレスをレイテンシ指定アドレス51と比較する(ステップS412)。図6に示す例では、読み出しアドレスとして通常アドレスが読み出しコマンドにセットされているので、比較部332は、読み出しアドレスがレイテンシ指定アドレス51と一致しないことを送信制御部333に通知する。送信制御部333は、比較部332からの通知に基づいて、読み出しアドレスのデータを半導体メモリ40から読み出す可変レイテンシ処理の実行を決定する(ステップS413)。可変レイテンシ処理は、ステップS414〜S418の処理に相当する。   The command decoder 31 outputs the decoding result (read instruction and extracted read address) to the comparison unit 332 and the transmission control unit 333. The comparison unit 332 compares the read address acquired from the command decoder 31 with the latency designation address 51 (step S412). In the example illustrated in FIG. 6, since the normal address is set as the read command in the read command, the comparison unit 332 notifies the transmission control unit 333 that the read address does not match the latency designation address 51. Based on the notification from the comparison unit 332, the transmission control unit 333 determines the execution of variable latency processing for reading the read address data from the semiconductor memory 40 (step S413). The variable latency process corresponds to the processes in steps S414 to S418.

送信制御部333は、ホスト装置10に対するビジー信号の送信を開始する(ステップS414)。また、送信制御部333は、読み出しアドレスのデータの読み出しを指示するアクセス制御信号を半導体メモリ40に出力する(ステップS415)。送信制御部333は、読み出しアドレスのデータを半導体メモリ40から読み出すことができるように、セレクタ36にセレクト信号54を送信する。   The transmission control unit 333 starts transmitting a busy signal to the host device 10 (step S414). Further, the transmission control unit 333 outputs an access control signal instructing reading of data at the read address to the semiconductor memory 40 (step S415). The transmission control unit 333 transmits a select signal 54 to the selector 36 so that the read address data can be read from the semiconductor memory 40.

送信制御部333は、ビジー信号の送信を継続しながら、半導体メモリ40からレイテンシ信号が出力されるまで待機する。レイテンシ信号は、半導体メモリ40から読み出しアドレスのデータを読み出すことが可能になったことを通知する信号である。送信制御部333は、レイテンシ信号を検出した場合(ステップS416)、ホスト装置10にレディ信号を送信する(ステップS417)。送信制御部333は、半導体メモリ40から読み出しアドレスのデータを読み出す。送信制御部333は、レディ信号の後に続けて、読み出しアドレスのデータをホスト装置10に送信する(ステップS418)。   The transmission control unit 333 waits until a latency signal is output from the semiconductor memory 40 while continuing to transmit the busy signal. The latency signal is a signal for notifying that the data at the read address can be read from the semiconductor memory 40. When the transmission control unit 333 detects a latency signal (step S416), the transmission control unit 333 transmits a ready signal to the host device 10 (step S417). The transmission control unit 333 reads the read address data from the semiconductor memory 40. The transmission control unit 333 transmits the read address data to the host device 10 following the ready signal (step S418).

ホスト装置10において、アクセス制御部141は、レディ信号がメモリコントローラ30から送信された場合、読み出しアドレスのデータの送信が開始されると判断する。アクセス制御部141は、レディ信号の後に送信されるデータを読み出しアドレスのデータとして受信する。アクセス制御部141は、読み出しアドレスのデータをCPU11に供給する。CPU11は、読み出しアドレスのデータを用いた処理を実行する。   In the host device 10, when the ready signal is transmitted from the memory controller 30, the access control unit 141 determines that transmission of the read address data is started. The access control unit 141 receives data transmitted after the ready signal as read address data. The access control unit 141 supplies read address data to the CPU 11. The CPU 11 executes processing using read address data.

{2.4.固定レイテンシ処理}
図7は、ホスト装置10がレイテンシ指定アドレス51を含む読み出しコマンドを送信するときのホスト装置10及びメモリコントローラ30の動作を示すシーケンス図である。
{2.4. Fixed latency processing}
FIG. 7 is a sequence diagram illustrating operations of the host device 10 and the memory controller 30 when the host device 10 transmits a read command including the latency designation address 51.

図7に示すように、ホスト装置10は、ステップS511〜S513を実行して、レイテンシ指定アドレス51を含む読み出しコマンドをメモリコントローラ30に送信する。具体的には、CPU11は、読み出しコマンドを生成し、生成した読み出しコマンドに読み出しアドレスをセットする。図7に示す例では、読み出しアドレスとしてレイテンシ指定アドレス51が読み出しコマンドにセットされる。これにより、レイテンシ指定アドレス51を含む読み出しコマンドが生成される(ステップS511)。   As illustrated in FIG. 7, the host device 10 executes Steps S <b> 511 to S <b> 513 and transmits a read command including the latency designation address 51 to the memory controller 30. Specifically, the CPU 11 generates a read command and sets a read address in the generated read command. In the example shown in FIG. 7, a latency designation address 51 is set in the read command as a read address. As a result, a read command including the latency designation address 51 is generated (step S511).

CPU11は、生成した読み出しコマンドをアクセス制御部141に出力する。比較部144は、レイテンシ指定アドレス51と、読み出しコマンドに含まれる読み出しアドレスとをアクセス制御部141から入力し、読み出しアドレスをレイテンシ指定アドレス51と比較する(ステップS512)。   The CPU 11 outputs the generated read command to the access control unit 141. The comparison unit 144 inputs the latency designation address 51 and the read address included in the read command from the access control unit 141, and compares the read address with the latency designation address 51 (step S512).

図7に示す例では、読み出しアドレスとしてレイテンシ指定アドレス51が読み出しコマンドにセットされているので、比較部144は、比較対象の2つのアドレスが一致すると判断し、比較結果をアクセス制御部141に通知する。比較部144からの通知に基づいて、アクセス制御部141は、読み出しコマンドをメモリコントローラ30に送信した場合、メモリコントローラ30が固定レイテンシ処理を実行すると判断する。アクセス制御部141は、固定レイテンシ処理用のアクセス制御を開始する(ステップS513)。固定レイテンシ処理用のアクセス制御については、後述する。   In the example shown in FIG. 7, since the latency designation address 51 is set as the read command in the read command, the comparison unit 144 determines that the two addresses to be compared match and notifies the access control unit 141 of the comparison result. To do. Based on the notification from the comparison unit 144, when the access control unit 141 transmits a read command to the memory controller 30, the access control unit 141 determines that the memory controller 30 executes fixed latency processing. The access control unit 141 starts access control for fixed latency processing (step S513). The access control for fixed latency processing will be described later.

アクセス制御部141は、CPU11から供給された読み出しコマンドをメモリコントローラ30に送信する(ステップS514)。   The access control unit 141 transmits the read command supplied from the CPU 11 to the memory controller 30 (step S514).

メモリコントローラ30は、ステップS514によりホスト装置10から送信された読み出しコマンドを受信した場合、ステップS611〜S615を実行して、レイテンシ指定アドレス51のデータをホスト装置10に送信する。   When the memory controller 30 receives the read command transmitted from the host device 10 in step S514, the memory controller 30 executes steps S611 to S615 and transmits the data of the latency designation address 51 to the host device 10.

具体的には、コマンドデコーダ31は、読み出しコマンドをデコードする。デコードの結果、コマンドデコーダ31は、ホスト装置10から読み出しが指示されたと判断し、読み出しコマンドから読み出しアドレスを抽出する(ステップS611)。コマンドデコーダ31は、デコード結果(読み出し指示及び抽出した読み出しアドレス)を比較部332及び送信制御部333に出力する。   Specifically, the command decoder 31 decodes the read command. As a result of the decoding, the command decoder 31 determines that reading has been instructed from the host device 10, and extracts a read address from the read command (step S611). The command decoder 31 outputs the decoding result (read instruction and extracted read address) to the comparison unit 332 and the transmission control unit 333.

比較部332は、コマンドデコーダ31から出力された読み出しアドレスをレイテンシ指定アドレス51と比較する(ステップS612)。図7に示す例では、読み出しアドレスとしてレイテンシ指定アドレス51が読み出しコマンドにセットされている。このため、比較部332は、比較対象の2つのアドレスが一致すると判断し、比較結果を送信制御部333に通知する。送信制御部333は、比較部332からの通知に基づいて、固定レイテンシ処理の実行を決定する(ステップS613)。   The comparison unit 332 compares the read address output from the command decoder 31 with the latency designation address 51 (step S612). In the example shown in FIG. 7, a latency designation address 51 is set in the read command as a read address. For this reason, the comparison unit 332 determines that the two addresses to be compared match, and notifies the transmission control unit 333 of the comparison result. The transmission control unit 333 determines execution of the fixed latency processing based on the notification from the comparison unit 332 (step S613).

送信制御部333は、バッファ34との接続を指示するセレクト信号54をセレクタ36に出力し、バッファ34に格納されたレイテンシ指定アドレス51のデータを読み出す(ステップS614)。送信制御部333は、読み出したレイテンシ指定アドレス51のデータをホスト装置10に送信する(ステップS615)。メモリコントローラ30は、読み出しコマンドを受信してからレイテンシ指定アドレス51のデータを送信するまでの間、ビジー信号及びレディ信号を出力しない。レイテンシ指定アドレス51のデータは、メモリコントローラ30が読み出しコマンドを受信した直後に送信される。つまり、メモリコントローラ30は、読み出しコマンドにレイテンシ指定アドレス51が含まれる場合、レイテンシがゼロとなるタイミングでレイテンシ指定アドレス51のデータを送信する。   The transmission control unit 333 outputs the select signal 54 instructing connection with the buffer 34 to the selector 36, and reads the data of the latency designation address 51 stored in the buffer 34 (step S614). The transmission control unit 333 transmits the read data of the latency designation address 51 to the host device 10 (step S615). The memory controller 30 does not output the busy signal and the ready signal until the data of the latency designation address 51 is transmitted after the read command is received. The data of the latency designation address 51 is transmitted immediately after the memory controller 30 receives the read command. That is, when the latency designation address 51 is included in the read command, the memory controller 30 transmits the data of the latency designation address 51 at a timing when the latency becomes zero.

ホスト装置10により実行される固定レイテンシ処理用のアクセス制御について説明する。上述のように、メモリコントローラ30は、固定レイテンシ処理を実行する場合、ビジー信号及びレディ信号を送信することなく、読み出しコマンドの受信直後にレイテンシ指定アドレス51のデータを送信する。このため、アクセス制御部141は、固定レイテンシ処理用のアクセス制御において、レディ信号を受信するまで待機しない。読み出しコマンドの送信を完了したタイミングが、レイテンシがゼロであるタイミングであるため、アクセス制御部141は、読み出しコマンドの送信直後にメモリコントローラ30から受信するデータを、レイテンシ指定アドレス51のデータとして取得する。   The access control for fixed latency processing executed by the host device 10 will be described. As described above, when executing the fixed latency process, the memory controller 30 transmits the data of the latency designation address 51 immediately after receiving the read command without transmitting the busy signal and the ready signal. For this reason, the access control unit 141 does not wait until a ready signal is received in the access control for fixed latency processing. Since the timing when the transmission of the read command is completed is the timing when the latency is zero, the access control unit 141 acquires the data received from the memory controller 30 immediately after the transmission of the read command as the data of the latency designation address 51. .

以下、固定レイテンシ処理において、メモリコントローラ30が、読み出しコマンドを受信した直後にレイテンシ指定アドレス51のデータを送信できる理由を説明する。図8は、メモリコントローラ30が固定レイテンシ処理を実行する場合における、レイテンシ指定アドレス51のデータの送信タイミングを示す図である。図8に示すように、読み出しコマンドは、1バイトのコマンドIDと、2バイトの読み出しアドレスとを含む。コマンドIDは、読み出しコマンドであることを一意に示す値である。コマンドデコーダ31は、読み出しコマンドを1バイトずつ受信する。従って、コマンドデコーダ31は、読み出しコマンドの最初の1バイトを受信した時点で、ホスト装置10が半導体メモリ40からのデータの読み出しを指示していると判断することができる。コマンドデコーダ31は、アドレスの比較のために、コマンドIDの後に続く2バイトの読み出しアドレスを、1バイトずつ比較部332に出力する。   Hereinafter, the reason why the memory controller 30 can transmit the data of the latency designation address 51 immediately after receiving the read command in the fixed latency processing will be described. FIG. 8 is a diagram illustrating the transmission timing of data at the latency designation address 51 when the memory controller 30 executes the fixed latency process. As shown in FIG. 8, the read command includes a 1-byte command ID and a 2-byte read address. The command ID is a value that uniquely indicates a read command. The command decoder 31 receives a read command byte by byte. Therefore, the command decoder 31 can determine that the host device 10 has instructed reading of data from the semiconductor memory 40 when the first byte of the read command is received. The command decoder 31 outputs a 2-byte read address subsequent to the command ID to the comparison unit 332 byte by byte for address comparison.

比較部332は、読み出しアドレスとレイテンシ指定アドレス51とを1バイトずつ比較する。比較部332は、読み出しアドレスの最後の1バイトの比較が完了した時点で、比較結果を送信制御部333に通知する。送信制御部333は、通知された比較結果に応じて、バッファ34に格納されたデータを出力するようにセレクタ36を制御する。送信制御部333は、バッファ34から出力されるデータ(レイテンシ指定アドレス51のデータ)を、そのままホスト装置10へ送信する。この結果、メモリコントローラ30は、読み出しコマンドの受信直後に、レイテンシ指定アドレス51のデータをホスト装置10へ送信することができる。つまり、図8に示すように、レイテンシ指定アドレス51のデータは、レイテンシがゼロとなるタイミングでホスト装置10に送信される。   The comparison unit 332 compares the read address with the latency designation address 51 byte by byte. The comparison unit 332 notifies the transmission control unit 333 of the comparison result when the comparison of the last 1 byte of the read address is completed. The transmission control unit 333 controls the selector 36 so as to output the data stored in the buffer 34 according to the notified comparison result. The transmission control unit 333 transmits the data output from the buffer 34 (data at the latency designation address 51) to the host device 10 as it is. As a result, the memory controller 30 can transmit the data of the latency designation address 51 to the host device 10 immediately after receiving the read command. That is, as shown in FIG. 8, the data of the latency designation address 51 is transmitted to the host device 10 at the timing when the latency becomes zero.

{2.5.レイテンシ指定アドレス51の更新}
図7に示す処理が終了した場合、ホスト装置10及びメモリコントローラ30がそれぞれ保持するレイテンシ指定アドレス51が更新される。レイテンシ指定アドレス51を更新する手順は、図5に示す処理と同じ手順で実行される。レイテンシ指定アドレス51の更新は、メモリコントローラ30においては、レイテンシ指定アドレス51のデータを送信してから次の読み出しコマンドを受け付けるまでの間に実行される。ホスト装置10においては、レイテンシ指定アドレス51の更新は、レイテンシ指定アドレス51のデータを受信してから次の読み出しコマンドを生成するまでの間に実行される。すなわち、ホスト装置10及びメモリコントローラ30は、レイテンシ指定アドレス51のデータの読み出し処理が完了してから、予め設定された期間内に更新する。
{2.5. Update of latency specification address 51}
When the process shown in FIG. 7 is completed, the latency designation addresses 51 held by the host device 10 and the memory controller 30 are updated. The procedure for updating the latency designation address 51 is executed in the same procedure as the processing shown in FIG. The update of the latency designation address 51 is executed in the memory controller 30 after the data of the latency designation address 51 is transmitted until the next read command is received. In the host device 10, the update of the latency designation address 51 is executed after the data of the latency designation address 51 is received until the next read command is generated. That is, the host device 10 and the memory controller 30 are updated within a preset period after the data reading process of the latency designation address 51 is completed.

図5において、レイテンシ指定アドレス51が更新される場合、ホスト装置10は、読み出しコマンドに関する処理が終了した後に乱数13Aと異なる新たな乱数を生成する(ステップS111)。また、メモリコントローラ30が、乱数35Aと異なる新たな乱数を生成する(ステップS211)。ホスト装置10で生成された新たな乱数と、メモリコントローラ30で生成された新たな乱数は、ホスト装置10とメモリコントローラ30の間で交換される(ステップS114,S214)。ホスト装置10及びメモリコントローラ30は、生成された2つの新たな乱数からレイテンシ指定アドレス51を新たに生成する(ステップS116,S215)。レイテンシ指定アドレス51のデータがホスト装置10に送信されるたびに、レイテンシ指定アドレス51がランダムに変更される。従って、第三者は、レイテンシがゼロとなるタイミングで読み出されるデータのアドレスを事前に知ることができない。   In FIG. 5, when the latency designation address 51 is updated, the host device 10 generates a new random number different from the random number 13A after the processing related to the read command is completed (step S111). In addition, the memory controller 30 generates a new random number different from the random number 35A (step S211). The new random number generated by the host device 10 and the new random number generated by the memory controller 30 are exchanged between the host device 10 and the memory controller 30 (steps S114 and S214). The host device 10 and the memory controller 30 newly generate a latency designation address 51 from the two generated new random numbers (steps S116 and S215). Each time the data of the latency designation address 51 is transmitted to the host device 10, the latency designation address 51 is randomly changed. Therefore, the third party cannot know in advance the address of the data read at the timing when the latency becomes zero.

{2.6.半導体記憶装置20の複製品の製造の困難性}
次に、メモリコントローラ30が、レイテンシ指定アドレス51のデータをレイテンシがゼロとなるタイミングで送信することにより、第三者が複製品を製造することが困難となる理由を説明する。
{2.6. Difficulty in manufacturing replica of semiconductor memory device 20}
Next, the reason why it becomes difficult for a third party to manufacture a duplicate by transmitting the data of the latency designation address 51 at the timing when the latency becomes zero will be described.

図9は、メモリコントローラ30が可変レイテンシ処理を実行する場合において、読み出しアドレスのデータが送信されるタイミングを示す図である。図9において、読み出しコマンドは、図8に示す読み出しコマンドと同様の構成を有する。   FIG. 9 is a diagram illustrating the timing at which the read address data is transmitted when the memory controller 30 executes the variable latency process. In FIG. 9, the read command has the same configuration as the read command shown in FIG.

図9に示すように、メモリコントローラ30は、可変レイテンシ処理を実行する場合、読み出しコマンドの受信後にビジー信号の送信を開始する。メモリコントローラ30は、読み出しアドレスのデータを半導体メモリ40から読み出すことが可能となるまで、ビジー信号の送信を継続する。メモリコントローラ30は、半導体メモリ40からの読み出しが可能となった場合に、レディ信号をホスト装置10に送信する。レディ信号の送信に続いて、読み出しアドレスのデータがホスト装置10に送信される。   As illustrated in FIG. 9, when executing the variable latency process, the memory controller 30 starts transmitting a busy signal after receiving a read command. The memory controller 30 continues to transmit the busy signal until it becomes possible to read the data at the read address from the semiconductor memory 40. The memory controller 30 transmits a ready signal to the host device 10 when reading from the semiconductor memory 40 becomes possible. Following the transmission of the ready signal, the read address data is transmitted to the host device 10.

一方、図8に示すように、レイテンシ指定アドレス51のデータは、固定レイテンシ処理によりホスト装置10へ送信される。この場合、メモリコントローラ30は、読み出しコマンドの受信完了後、レイテンシがゼロとなるタイミングでレイテンシ指定アドレス51のデータの送信を開始する。これに対して、第三者は、レイテンシ指定アドレス51がランダムな値を有しているため、レイテンシ指定アドレス51を特定することができない。従って、複製品のメモリコントローラは、レイテンシ指定アドレス51を含む読み出しコマンドを受信しても、レイテンシ指定アドレス51のデータをレイテンシがゼロとなるタイミングでホスト装置10に送信することができない。この結果、第三者は、半導体記憶装置20の複製品を製造することができない。   On the other hand, as shown in FIG. 8, the data of the latency designation address 51 is transmitted to the host device 10 by the fixed latency processing. In this case, the memory controller 30 starts transmission of data of the latency designation address 51 at a timing when the latency becomes zero after the reception of the read command is completed. In contrast, the third party cannot specify the latency designation address 51 because the latency designation address 51 has a random value. Therefore, even if the replicated memory controller receives a read command including the latency designation address 51, the data of the latency designation address 51 cannot be transmitted to the host device 10 at a timing when the latency becomes zero. As a result, a third party cannot manufacture a replica of the semiconductor storage device 20.

また、レイテンシ指定アドレス51は、レイテンシ指定アドレス51のデータがホスト装置10により読み出されるたびに、ランダムに更新される。レイテンシ指定アドレス51が一時的に漏洩した場合であっても、漏洩した時点で既にレイテンシ指定アドレス51が更新されている。従って、第三者によるレイテンシ指定アドレス51の特定をさらに困難にすることができ、複製品の製造を困難にすることができる。   The latency designation address 51 is updated at random each time the data of the latency designation address 51 is read by the host device 10. Even when the latency designation address 51 is temporarily leaked, the latency designation address 51 has already been updated at the time of leakage. Therefore, it is possible to further make it difficult to specify the latency designation address 51 by a third party, and it is possible to make it difficult to manufacture a duplicate product.

複製品のメモリコントローラは、レイテンシ指定アドレス51のデータを固定レイテンシ処理によりホスト装置10に送信することができないため、ホスト装置10は、複製品に記録されたデータを処理することができない。以下、図4を参照して、ページP−2のアドレスがレイテンシ指定アドレス51である場合を例にして説明する。ホスト装置10は、ページP−2のアドレスを含む読み出しコマンドをメモリコントローラ30に送信する場合、固定レイテンシ処理用のアクセス制御を実行する。しかし、複製品のメモリコントローラは、ページP−2のアドレスのデータ(プログラム41B)を可変レイテンシ処理により送信する。ホスト装置10は、固定レイテンシ処理用のアクセス制御により、複製品のメモリコントローラから送信されるビジー信号及びレディ信号をページP−2のアドレスのデータとして処理するため、正規のプログラム41Bを特定することができない。ホスト装置10は、プログラム41を再構成できず、プログラム41を実行することできない。この結果、第三者は、ホスト装置10が利用可能な複製品を製造することができない。   Since the memory controller of the copy product cannot transmit the data of the latency designation address 51 to the host device 10 by the fixed latency process, the host device 10 cannot process the data recorded on the copy product. Hereinafter, an example in which the address of the page P-2 is the latency designation address 51 will be described with reference to FIG. When the host device 10 transmits a read command including the address of the page P-2 to the memory controller 30, the host device 10 executes access control for fixed latency processing. However, the replicated memory controller transmits the data (program 41B) of the address of page P-2 by variable latency processing. The host device 10 specifies the legitimate program 41B in order to process the busy signal and the ready signal transmitted from the replica memory controller as the address data of the page P-2 by the access control for the fixed latency processing. I can't. The host device 10 cannot reconfigure the program 41 and cannot execute the program 41. As a result, a third party cannot manufacture a copy that can be used by the host device 10.

なお、半導体メモリ40のうち、レイテンシ指定アドレス51に設定されるアドレスは、ホスト装置10によって読み出される可能性の高いアドレスであることが望ましい。レイテンシ指定アドレス51の対象となるアドレスは、ホスト装置10のブートコードを格納するページなど、ホスト装置10により少なくとも1回は読み出されるデータのアドレスであることが望ましい。あるいは、ホスト装置10のアクセス頻度が高い領域のアドレスに限定してもよい。   In the semiconductor memory 40, the address set as the latency designation address 51 is preferably an address that is highly likely to be read by the host device 10. The address that is the target of the latency designation address 51 is preferably an address of data that is read at least once by the host device 10 such as a page that stores the boot code of the host device 10. Or you may limit to the address of the area | region where the host device 10 has high access frequency.

以上説明したように、本実施の形態において、ホスト装置10及びメモリコントローラ30は、乱数13A及び35Aからレイテンシ指定アドレス51を生成し、レイテンシ指定アドレス51のデータを半導体メモリ40から読み出してバッファ34に格納する。メモリコントローラ30は、レイテンシ指定アドレス51のデータの読み出しを指示された場合、バッファ34に格納されたレイテンシ指定アドレス51のデータをレイテンシがゼロとなるタイミングでホスト装置10に送信する。つまり、メモリコントローラ30は、通常の読み出し処理では実現できないレイテンシがゼロとなるタイミングでのレイテンシ指定アドレス51のデータの送信を、予め設定されたレイテンシ指定アドレス51のデータをバッファ34に格納することにより実現している。さらに、レイテンシ指定アドレス51がランダムに設定されるため、第三者は、レイテンシ指定アドレス51を特定することができない。この結果、第三者により違法に複製された半導体記憶装置のメモリコントローラは、レイテンシ指定アドレス51のデータをレイテンシがゼロとなるタイミングで送信することができない。この結果、半導体記憶装置20の違法な複製品の製造を困難にすることができる。   As described above, in the present embodiment, the host device 10 and the memory controller 30 generate the latency designation address 51 from the random numbers 13A and 35A, read the data of the latency designation address 51 from the semiconductor memory 40, and store it in the buffer 34. Store. When the memory controller 30 is instructed to read the data of the latency designation address 51, the memory controller 30 transmits the data of the latency designation address 51 stored in the buffer 34 to the host device 10 at a timing when the latency becomes zero. That is, the memory controller 30 stores the data of the latency designation address 51 in the buffer 34 by transmitting the data of the latency designation address 51 at the timing when the latency that cannot be realized by the normal reading process becomes zero. Realized. Furthermore, since the latency designation address 51 is set at random, a third party cannot specify the latency designation address 51. As a result, the memory controller of the semiconductor memory device illegally copied by a third party cannot transmit the data of the latency designation address 51 at the timing when the latency becomes zero. As a result, it is possible to make it difficult to manufacture an illegal duplicate of the semiconductor memory device 20.

{変形例}
上記実施の形態において、メモリコントローラ30が読み出しコマンドの受信直後にレイテンシ指定アドレス51のデータを出力する例を説明したが、これに限られない。
{Modification}
In the above embodiment, the example in which the memory controller 30 outputs the data of the latency designation address 51 immediately after receiving the read command has been described, but the present invention is not limited to this.

図10は、メモリコントローラ30からレイテンシ指定アドレス51のデータが送信するタイミングの他の例を示す図である。図10に示すように、メモリコントローラ30は、読み出しコマンドを受信した場合、予め設定されたパターン(1つのビジー信号と1つのレディ信号)を出力してからレイテンシ指定アドレス51のデータをホスト装置10に送信してもよい。   FIG. 10 is a diagram illustrating another example of timing at which data of the latency designation address 51 is transmitted from the memory controller 30. As illustrated in FIG. 10, when the memory controller 30 receives a read command, the memory controller 30 outputs a preset pattern (one busy signal and one ready signal), and then sends the data of the latency designation address 51 to the host device 10. May be sent to.

例えば、送信制御部333が読み出しコマンドに含まれるアドレスのデータを送信する際に、少なくとも1つのビジー信号及び1つのレディ信号を出力しなければならない仕様となっている場合が考えられる。この場合、送信制御部333は、1つのビジー信号と1つのレディ信号を送信した後にレイテンシ指定アドレス51のデータを送信することにより、最短のレイテンシで読み出しコマンドに応答することができる。つまり、最短レイテンシとは、メモリコントローラが読み出しコマンドを受信した場合に、読み出しアドレスのデータの送信を開始することが可能な最も短い時間のことである。図10に示す例において、最短のレイテンシは、メモリコントローラ30が半導体メモリ40に読み出しアドレスのデータの出力を指示してから、読み出しアドレスのデータを取得するまでの期間よりも短い。つまり、送信制御部333は、可変レイテンシ処理により読み出しアドレスのデータを送信する場合よりも早いタイミングで、レイテンシ指定アドレス51のデータを送信する。この場合であっても、第三者は、レイテンシ指定アドレス51を特定することができないため、第三者による複製品の製造を困難にすることができる。   For example, when the transmission control unit 333 transmits the data of the address included in the read command, there may be a case where the specification is such that at least one busy signal and one ready signal must be output. In this case, the transmission control unit 333 can respond to the read command with the shortest latency by transmitting data of the latency designation address 51 after transmitting one busy signal and one ready signal. That is, the shortest latency is the shortest time in which the memory controller can start transmitting the data at the read address when the memory controller receives the read command. In the example shown in FIG. 10, the shortest latency is shorter than the period from when the memory controller 30 instructs the semiconductor memory 40 to output the read address data until the read address data is acquired. In other words, the transmission control unit 333 transmits the data of the latency designation address 51 at a timing earlier than when the read address data is transmitted by the variable latency process. Even in this case, since the third party cannot specify the latency designation address 51, it is possible to make it difficult for the third party to manufacture a duplicate.

また、メモリコントローラ30が固定レイテンシ処理において1つのビジー信号及び1つのレディ信号を送信することにより、ホスト装置10は、半導体記憶装置20が不正に複製されたものであるかどうかを判断することが可能である。以下、具体的に説明する。   Further, when the memory controller 30 transmits one busy signal and one ready signal in the fixed latency processing, the host device 10 may determine whether or not the semiconductor memory device 20 has been illegally copied. Is possible. This will be specifically described below.

上述のように、複製品のメモリコントローラは、レイテンシ指定アドレス51を含む読み出しコマンドを受信した場合であっても、可変レイテンシ処理を実行してレイテンシ指定アドレス51のデータをホスト装置10に送信する。つまり、複製品のメモリコントローラは、レイテンシ指定アドレス51を含む読み出しコマンドを受信した直後に、予め設定されたパターン(1つのビジー信号と1つのレディ信号)を送信しない。ホスト装置10は、レイテンシ指定アドレス51のデータを送信する前に、予め設定されたパターンのビジー信号及びレディ信号を受信できなかった場合、接続された半導体記憶装置が不正に複製されたものであるとして、接続された半導体記憶装置に対するアクセスを停止することができる。   As described above, even when the memory controller of the replicated product receives a read command including the latency designation address 51, it executes variable latency processing and transmits the data of the latency designation address 51 to the host device 10. That is, the replicated memory controller does not transmit a preset pattern (one busy signal and one ready signal) immediately after receiving the read command including the latency designation address 51. When the host device 10 cannot receive the busy signal and ready signal of the preset pattern before transmitting the data of the latency designation address 51, the connected semiconductor memory device is illegally copied. As a result, access to the connected semiconductor memory device can be stopped.

また、所定のパターンは、図10に示す例に限定されない。例えば、図11に示すように、メモリコントローラ30は、レイテンシ指定アドレス51のデータを送信する前に1つのレディ信号のみを送信してもよい。あるいは、メモリコントローラ30は、複数のビジー信号と1つのレディ信号とを送信してもよいし、ビジー信号及びレディ信号と無関係のパターンを送信してもよい。   Further, the predetermined pattern is not limited to the example shown in FIG. For example, as illustrated in FIG. 11, the memory controller 30 may transmit only one ready signal before transmitting data of the latency designation address 51. Alternatively, the memory controller 30 may transmit a plurality of busy signals and one ready signal, or may transmit a pattern unrelated to the busy signal and the ready signal.

また、上記実施の形態において、レイテンシ指定アドレス51の更新が、メモリコントローラ30がレイテンシ指定アドレス51のデータを送信した後に行われる例を説明したが、これに限られない。レイテンシ指定アドレス51の更新は、定期的に行われてもよいし、更新しなくてもよい。   In the above embodiment, the example in which the update of the latency designation address 51 is performed after the memory controller 30 transmits the data of the latency designation address 51 has been described. However, the present invention is not limited to this. The latency designation address 51 may be updated periodically or may not be updated.

また、上記実施の形態において、乱数13A及び35Aからレイテンシ指定アドレス51が生成される例を説明したが、これに限られない。例えば、レイテンシ指定アドレス51は、乱数13Aのみから生成されてもよい。この場合、図5に示すステップS115,S211,S212,S214の処理は省略される。あるいは、レイテンシ指定アドレス51は、乱数35Aのみから生成されてもよい。この場合、図5に示すS111〜S114,S213の処理は省略される。   In the above embodiment, the example in which the latency designation address 51 is generated from the random numbers 13A and 35A has been described. However, the present invention is not limited to this. For example, the latency designation address 51 may be generated only from the random number 13A. In this case, steps S115, S211, S212, and S214 shown in FIG. 5 are omitted. Alternatively, the latency designation address 51 may be generated only from the random number 35A. In this case, the processing of S111 to S114 and S213 shown in FIG. 5 is omitted.

また、上記実施の形態において、ホスト装置10とメモリコントローラ30とが生成した乱数を交換する例を説明したが、これに限られない。乱数生成器13及び35が、同一のアルゴリズムを利用する擬似乱数生成器である場合、乱数の交換を省略することができる。具体的には、乱数生成器13及び35の両者は、予め設定されたタイミングで生成する乱数を更新することにより、同一の擬似乱数を生成する。これにより、ホスト装置10とメモリコントローラ30とが乱数を交換しなくてもよいため、レイテンシ指定アドレス51の秘匿性を向上させることができる。乱数を更新するタイミングは、例えば、読み出しコマンドに基づく読み出し処理が所定の回数行われたときや、ホスト装置10が乱数の更新を指示するコマンドを送信するときなどが考えられる。なお、上記の擬似乱数の利用は、乱数の交換を制限するものではない。例えば、乱数生成器13及び35が異なるアルゴリズムを用いて擬似乱数を生成してもよい。この場合、乱数生成器13及び35がそれぞれ生成した擬似乱数の交換が行われる。   In the above embodiment, the example in which the random numbers generated by the host device 10 and the memory controller 30 are exchanged has been described. However, the present invention is not limited to this. When the random number generators 13 and 35 are pseudo random number generators that use the same algorithm, the exchange of random numbers can be omitted. Specifically, both of the random number generators 13 and 35 generate the same pseudo-random number by updating the random number generated at a preset timing. Thereby, since the host device 10 and the memory controller 30 do not need to exchange random numbers, the confidentiality of the latency designation address 51 can be improved. The timing for updating the random number may be, for example, when a read process based on the read command is performed a predetermined number of times, or when the host device 10 transmits a command instructing to update the random number. Note that the use of the above pseudo-random numbers does not limit the exchange of random numbers. For example, the random number generators 13 and 35 may generate pseudo-random numbers using different algorithms. In this case, the pseudo random numbers generated by the random number generators 13 and 35 are exchanged.

また、上記実施の形態において、ホスト装置10及びメモリコントローラ30がレイテンシ指定アドレス51をそれぞれ生成する例を説明したが、これに限られない。ホスト装置10及びメモリコントローラ30が、同一のレイテンシ指定アドレス51を保持していればよい。   In the above embodiment, the host device 10 and the memory controller 30 each generate the latency designation address 51. However, the present invention is not limited to this. It is only necessary that the host device 10 and the memory controller 30 hold the same latency designation address 51.

例えば、ホスト装置10のみが、レイテンシ指定アドレス51を生成するようにしてもよい。この場合、レイテンシ指定アドレス51は、乱数13Aのみから生成される。ホスト装置10は、乱数交換コマンドに代えて、生成したレイテンシ指定アドレス51をメモリコントローラ30に送信すればよい。逆に、メモリコントローラ30のみが、レイテンシ指定アドレス51を生成し、生成したレイテンシ指定アドレス51をホスト装置10に送信してもよい。   For example, only the host device 10 may generate the latency designation address 51. In this case, the latency designation address 51 is generated only from the random number 13A. The host device 10 may transmit the generated latency designation address 51 to the memory controller 30 instead of the random number exchange command. Conversely, only the memory controller 30 may generate the latency designation address 51 and transmit the generated latency designation address 51 to the host device 10.

あるいは、ホスト装置10及びメモリコントローラ30にレイテンシ指定アドレス51の初期値が予め設定されていてもよい。あるいは、レイテンシ指定アドレス51の初期値がホスト装置10のみに予め設定されてもよい。この場合、ホスト装置10が、起動時にレイテンシ指定アドレス51のアドレスをメモリコントローラ30に送信してもよい。   Alternatively, the initial value of the latency designation address 51 may be set in advance in the host device 10 and the memory controller 30. Alternatively, the initial value of the latency designation address 51 may be set in advance only for the host device 10. In this case, the host device 10 may transmit the address of the latency designation address 51 to the memory controller 30 at the time of activation.

また、上記実施の形態で説明したメモリコントローラ30の一部又は全部は、集積回路(例えば、LSI、システムLSI等)として実現されるものであってもよい。   In addition, part or all of the memory controller 30 described in the above embodiments may be realized as an integrated circuit (for example, an LSI, a system LSI, or the like).

また、上記実施の形態における各処理の一部又は全部をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。   In addition, a part or all of each processing in the above embodiment may be realized by hardware, or may be realized by software (including a case where it is realized together with an OS (operating system), middleware, or a predetermined library). It may be realized. Further, it may be realized by mixed processing of software and hardware.

以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。   While the embodiments of the present invention have been described above, the above-described embodiments are merely examples for carrying out the present invention. Therefore, the present invention is not limited to the above-described embodiment, and can be implemented by appropriately modifying the above-described embodiment without departing from the spirit thereof.

100 メモリシステム
10 ホスト装置
11 CPU
12 RAM
13,35 乱数生成器
14 ホスト側コントローラ
20 半導体記憶装置
30 メモリコントローラ
31 コマンドデコーダ
32 アドレス取得部
33,141 アクセス制御部
34 バッファ
36 セレクタ
40 半導体メモリ
51 レイテンシ指定アドレス
142,323 アドレス生成部
143 記憶部
144,332 比較部
331 事前取得部
333 送信制御部
100 memory system 10 host device 11 CPU
12 RAM
13, 35 Random number generator 14 Host-side controller 20 Semiconductor storage device 30 Memory controller 31 Command decoder 32 Address acquisition unit 33, 141 Access control unit 34 Buffer 36 Selector 40 Semiconductor memory 51 Latency designation address 142, 323 Address generation unit 143 Storage unit 144, 332 Comparison unit 331 Prior acquisition unit 333 Transmission control unit

Claims (11)

ホスト装置からの要求に応じて半導体メモリにアクセスするメモリコントローラであって、
前記ホスト装置から受信した読み出しコマンドに応答して最短レイテンシで送信すべきデータを格納する半導体メモリのアドレスであって、前記ホスト装置により保持されるアドレスと同一のレイテンシ指定アドレスを取得するアドレス取得部と、
前記レイテンシ指定アドレスのデータを前記半導体メモリから読み出してバッファに格納する事前取得部と、
前記ホスト装置から受信した読み出しコマンドに含まれるアドレスを、前記アドレス取得部により取得されたレイテンシ指定アドレスと比較する比較部と、
前記比較部による比較結果に基づいて、前記最短レイテンシが終了するタイミングで前記バッファに格納されたデータを前記ホスト装置に送信する送信制御部と、
を備えるメモリコントローラ。
A memory controller that accesses a semiconductor memory in response to a request from a host device,
An address acquisition unit that acquires a latency designation address that is the address of a semiconductor memory that stores data to be transmitted with the shortest latency in response to a read command received from the host device and is the same as the address held by the host device When,
A pre-acquisition unit that reads the data of the latency designation address from the semiconductor memory and stores it in a buffer;
A comparison unit that compares an address included in a read command received from the host device with a latency designation address acquired by the address acquisition unit;
A transmission control unit that transmits the data stored in the buffer to the host device at a timing when the shortest latency ends based on a comparison result by the comparison unit;
A memory controller.
請求項1に記載のメモリコントローラであって、
前記アドレス取得部は、前記送信制御部が前記バッファに格納されたデータを前記ホスト装置へ送信した後に、前記レイテンシ指定アドレスを更新し、
前記事前取得部は、更新されたレイテンシ指定アドレスのデータを前記半導体メモリから読み出し、前記バッファに格納されたデータを前記更新されたレイテンシ指定アドレスのデータで更新するメモリコントローラ。
The memory controller of claim 1,
The address acquisition unit updates the latency designation address after the transmission control unit transmits the data stored in the buffer to the host device,
The pre-acquisition unit is a memory controller that reads updated latency designation address data from the semiconductor memory and updates the data stored in the buffer with the updated latency designation address data.
請求項1に記載のメモリコントローラであって、
前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスと一致すると前記比較部により判断された場合、前記送信制御部は、前記最短レイテンシが終了するタイミングで前記バッファに格納されたデータを前記ホスト装置に送信するメモリコントローラ。
The memory controller of claim 1,
If the comparison unit determines that the address included in the read command matches the latency designation address, the transmission control unit stores the transmission control unit in the buffer at a timing when the shortest latency ends. A memory controller that transmits data to the host device.
請求項1ないし請求項3のいずれかに記載のメモリコントローラであって、
前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスと一致しないと前記比較部により判断された場合、前記読み出しコマンドに含まれるアドレスのデータを前記半導体メモリから読み出し、前記半導体メモリから読み出したデータを送信するメモリコントローラ。
A memory controller according to any one of claims 1 to 3,
The transmission control unit reads data of an address included in the read command from the semiconductor memory when the comparison unit determines that an address included in the read command does not match the latency designation address, and the semiconductor memory Memory controller that transmits data read from the memory.
請求項1ないし請求項4のいずれかに記載のメモリコントローラであって、
前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスに一致すると前記比較部により判断された場合、前記読み出しコマンドの受け付けを完了した直後に、前記バッファに格納されたデータを送信するメモリコントローラ。
A memory controller according to any one of claims 1 to 4,
The transmission control unit transmits the data stored in the buffer immediately after completing the reception of the read command when the comparison unit determines that the address included in the read command matches the latency designation address. Memory controller.
請求項1ないし請求項4のいずれかに記載のメモリコントローラであって、
前記送信制御部は、前記読み出しコマンドに含まれるアドレスが前記レイテンシ指定アドレスに一致すると前記比較部により判断された場合、1つのビジー信号及び1つのレディ信号の後に続けて前記バッファに格納されたデータを送信するメモリコントローラ。
A memory controller according to any one of claims 1 to 4,
When the comparison unit determines that the address included in the read command matches the latency designation address, the transmission control unit stores data stored in the buffer after one busy signal and one ready signal. Send memory controller.
請求項1ないし請求項6のいずれかに記載のメモリコントローラであって、
前記アドレス取得部は、
前記レイテンシ指定アドレスの生成に用いられる乱数を生成する乱数生成器と、
所定のアルゴリズムを用いて、前記乱数生成器により生成された乱数から前記レイテンシ指定アドレスを生成するアドレス生成部と、
を含むメモリコントローラ。
A memory controller according to any one of claims 1 to 6,
The address acquisition unit
A random number generator for generating a random number used to generate the latency designation address;
Using a predetermined algorithm, an address generation unit that generates the latency designation address from the random number generated by the random number generator;
Including memory controller.
請求項1ないし請求項6のいずれかに記載のメモリコントローラであって、
前記アドレス取得部は、前記ホスト装置により生成されたレイテンシ指定アドレスを取得するメモリコントローラ。
A memory controller according to any one of claims 1 to 6,
The address acquisition unit is a memory controller that acquires a latency designation address generated by the host device.
ホスト装置と、
半導体メモリと、
前記ホスト装置からの要求に応じて前記半導体メモリにアクセスするメモリコントローラと、
を備え、
前記メモリコントローラは、
前記ホスト装置から受信した読み出しコマンドに応答して最短レイテンシで送信すべきデータを格納する半導体メモリのアドレスであるレイテンシ指定アドレスを取得するアドレス取得部と、
前記レイテンシ指定アドレスのデータを前記半導体メモリから読み出してバッファに格納する事前取得部と、
前記ホスト装置から受信した読み出しコマンドに含まれるアドレスを、前記アドレス取得部により取得されたレイテンシ指定アドレスと比較する第1比較部と、
前記第1比較部による比較結果に基づいて、前記最短レイテンシが終了するタイミングで前記バッファに格納されたデータを前記ホスト装置に送信する送信制御部と、
を備え、
前記ホスト装置は、
前記レイテンシ指定アドレスを記憶する記憶部と、
前記読み出しコマンドを前記メモリコントローラに送信する前に、前記読み出しコマンドに含まれるアドレスを前記記憶部に記憶されたレイテンシ指定アドレスと比較する第2比較部と、
前記第2比較部による比較結果に基づいて、前記最短レイテンシが終了するタイミングで、前記バッファに格納されたデータを前記メモリコントローラから受信するアクセス制御部と、
を備えるメモリシステム。
A host device;
Semiconductor memory,
A memory controller that accesses the semiconductor memory in response to a request from the host device;
With
The memory controller is
An address acquisition unit that acquires a latency designation address that is an address of a semiconductor memory that stores data to be transmitted with the shortest latency in response to a read command received from the host device;
A pre-acquisition unit that reads the data of the latency designation address from the semiconductor memory and stores it in a buffer;
A first comparison unit that compares an address included in a read command received from the host device with a latency designation address acquired by the address acquisition unit;
A transmission control unit configured to transmit data stored in the buffer to the host device at a timing when the shortest latency ends based on a comparison result by the first comparison unit;
With
The host device is
A storage unit for storing the latency designation address;
A second comparison unit that compares an address included in the read command with a latency designation address stored in the storage unit before transmitting the read command to the memory controller;
An access control unit that receives data stored in the buffer from the memory controller at a timing when the shortest latency ends based on a comparison result by the second comparison unit;
A memory system comprising:
請求項9に記載のメモリシステムであって、
前記アクセス制御部は、前記バッファに格納されたデータを前記メモリコントローラから受信してから予め設定された期間が経過するまでに、前記レイテンシ指定アドレスを更新し、
前記アドレス取得部は、前記送信制御部が前記バッファに格納されたデータを前記ホスト装置へ送信してから前記予め設定された期間が経過するまでに、前記レイテンシ指定アドレスを更新し、
前記事前取得部は、更新されたレイテンシ指定アドレスのデータを前記半導体メモリから読み出し、前記バッファに格納されたデータを前記更新されたレイテンシ指定アドレスのデータで更新するメモリシステム。
The memory system according to claim 9, comprising:
The access control unit updates the latency designation address until a preset period elapses after receiving the data stored in the buffer from the memory controller,
The address acquisition unit updates the latency designation address until the preset period elapses after the transmission control unit transmits the data stored in the buffer to the host device.
The pre-acquisition unit reads the updated latency designation address data from the semiconductor memory, and updates the data stored in the buffer with the updated latency designation address data.
請求項9又は請求項10に記載のメモリシステムであって、
前記メモリコントローラは、さらに、
第1乱数を生成する第1乱数生成器、
を備え、
前記ホスト装置は、さらに、
第2乱数を生成する第2乱数生成器、
を備え、
前記アドレス取得部及び前記アクセス制御部の各々は、所定のアルゴリズムを用いて、前記第1乱数と前記第2乱数から、前記レイテンシ指定アドレスを生成するメモリシステム。
The memory system according to claim 9 or 10, wherein
The memory controller further includes:
A first random number generator for generating a first random number;
With
The host device further includes:
A second random number generator for generating a second random number;
With
Each of the address acquisition unit and the access control unit generates a latency designation address from the first random number and the second random number using a predetermined algorithm.
JP2015171270A 2015-08-31 2015-08-31 Memory controller Active JP6456799B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015171270A JP6456799B2 (en) 2015-08-31 2015-08-31 Memory controller
US15/242,713 US20170060460A1 (en) 2015-08-31 2016-08-22 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015171270A JP6456799B2 (en) 2015-08-31 2015-08-31 Memory controller

Publications (2)

Publication Number Publication Date
JP2017049713A JP2017049713A (en) 2017-03-09
JP6456799B2 true JP6456799B2 (en) 2019-01-23

Family

ID=58281001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015171270A Active JP6456799B2 (en) 2015-08-31 2015-08-31 Memory controller

Country Status (1)

Country Link
JP (1) JP6456799B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173291A (en) * 2001-12-06 2003-06-20 Canon Inc Memory controller
JP2004318940A (en) * 2003-04-14 2004-11-11 Renesas Technology Corp Storage device
US7222224B2 (en) * 2004-05-21 2007-05-22 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies

Also Published As

Publication number Publication date
JP2017049713A (en) 2017-03-09

Similar Documents

Publication Publication Date Title
US10685145B2 (en) Secure processor and a program for a secure processor
US9842212B2 (en) System and method for a renewable secure boot
KR102168984B1 (en) Secure device pairing
JP4795812B2 (en) Secure processor
US20170060460A1 (en) Memory controller
JP2011522469A (en) Integrated circuit having protected software image and method therefor
TW202407563A (en) Sram physically unclonable function (puf) memory for generating keys based on device owner
US20230273977A1 (en) Managing ownership of an electronic device
JP6456799B2 (en) Memory controller
JP5759827B2 (en) MEMORY SYSTEM, INFORMATION PROCESSING DEVICE, MEMORY DEVICE, AND MEMORY SYSTEM OPERATION METHOD
JP5316592B2 (en) Secure processor program
JP6462537B2 (en) Memory controller
JP5365664B2 (en) Secure processor
JP2015026892A (en) Information processing system
US20230099455A1 (en) Dynamic boot configuration
JP2021196763A (en) Electronic control apparatus, and control method
JP2011034130A (en) Information processor, information processing method, and program
US20220398349A1 (en) System on chip including secure processor and semiconductor system including the same
TW202343231A (en) Managing ownership of an electronic device
CN118020071A (en) Managing ownership of electronic devices
TW202424741A (en) Owner revocation emulation container
KR20230073013A (en) Methods for security related to ETCS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181105

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181219

R150 Certificate of patent or registration of utility model

Ref document number: 6456799

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