JP2012168737A - Memory unit - Google Patents

Memory unit Download PDF

Info

Publication number
JP2012168737A
JP2012168737A JP2011029277A JP2011029277A JP2012168737A JP 2012168737 A JP2012168737 A JP 2012168737A JP 2011029277 A JP2011029277 A JP 2011029277A JP 2011029277 A JP2011029277 A JP 2011029277A JP 2012168737 A JP2012168737 A JP 2012168737A
Authority
JP
Japan
Prior art keywords
data
memory
volatile memory
volatile
nonvolatile
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.)
Withdrawn
Application number
JP2011029277A
Other languages
Japanese (ja)
Inventor
Hiroo Fujiwara
啓雄 藤原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011029277A priority Critical patent/JP2012168737A/en
Publication of JP2012168737A publication Critical patent/JP2012168737A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a memory unit having a security function which clears data in the memory by pseudo-volatilization when power supply breaks down in operation, and capable of executing non-volatilization processing of the data at a high speed when finishing operation.SOLUTION: A memory is constituted of a volatile memory part and a non-volatile memory part, and stores a part of a writing data unit in the non-volatile memory part and a part of the writing data unit in the volatile memory part. The data to be written in the non-volatile memory part is encrypted by using the data to be written in the volatile memory part as a key. Thereby, when the memory is removed, the whole data disappears due to extinction of the data stored in the volatile memory part. When operation is finished, the volatile data is moved to the non-volatile memory part by an inside data movement engine and the whole data can be non-volatilized. As the amount of data movement is small, high speed data movement can be executed in comparison with the case that the whole data is in the volatile memory part.

Description

本発明は、メモリ装置に係り、特に主記憶に不揮発性メモリを適用したメモリ装置に関するものである。   The present invention relates to a memory device, and more particularly to a memory device in which a nonvolatile memory is applied to a main memory.

情報を記憶する手段としてさまざまなメモリ装置が開発されている。演算等を処理するプロセッサ内の一時記憶レジスタ、一連のプログラム処理の実行に必要な情報を格納するDRAM等で構成された主記憶装置、データの保管が可能なハードディスクなどの外部記憶装置などがある。これら記憶媒体は、情報の維持に電源供給が必要か否かによって、不揮発性メモリと揮発性メモリに分類される。従来、電源供給が必要な揮発性メモリは高速、小容量であるため、一時記憶レジスタや主記憶装置に利用されてきた。また電源供給が不要な不揮発性メモリは、低速であるが、大容量かつ電源不要であるために、情報の保管用として外部記憶装置に利用されてきた。近年、フラッシュメモリのように不揮発であるが高速なメモリが開発され、高速性を必要とするレジスタや主記憶に不揮発なメモリを適用することが可能となりつつある。   Various memory devices have been developed as means for storing information. There is a temporary storage register in the processor for processing operations, a main storage device composed of DRAM for storing information necessary for executing a series of program processing, an external storage device such as a hard disk capable of storing data, etc. . These storage media are classified into a nonvolatile memory and a volatile memory depending on whether power supply is necessary for maintaining information. Conventionally, volatile memories that require power supply have been used for temporary storage registers and main storage devices because of their high speed and small capacity. Nonvolatile memories that do not require power supply are low speed, but have a large capacity and do not require a power supply, and thus have been used for external storage devices for information storage. In recent years, a non-volatile but high-speed memory such as a flash memory has been developed, and it is becoming possible to apply a non-volatile memory to registers and main memory that require high speed.

従来技術として、特許文献1には、中央処理装置と、主記憶部と、表示系と、それらを接続するバスとからなる情報処理装置において、主記憶部にフラッシュメモリを用いた情報処理装置が開示されている。   As a prior art, Patent Document 1 discloses an information processing apparatus using a flash memory for a main storage unit in an information processing apparatus including a central processing unit, a main storage unit, a display system, and a bus connecting them. It is disclosed.

又、特許文献2には、主記憶が全て不揮発性メモリで構成された装置において、突発的な電源の遮断発生後、電源再投入時にシステムが正常に動作するように、特別なハードウェアと処理手順を備えた装置が開示されている。   Patent Document 2 also discloses special hardware and processing so that the system operates normally when power is turned on again after a sudden power shutdown in an apparatus in which the main memory is composed entirely of a non-volatile memory. An apparatus with a procedure is disclosed.

又、特許文献3には、不揮発メモリをプログラムメモリとして使用する場合、不揮発メモリからCPU用主記憶メモリへプログラムを転送後実行するが、不揮発メモリの低速性によりプログラム実行の遅れが発生する。これを解決するために、複数の不揮発メモリを平行動作させ、個々の不揮発メモリのビジー情報でその切替えを実施するメモリ制御システムが開示されている。   Further, in Patent Document 3, when a nonvolatile memory is used as a program memory, the program is executed after being transferred from the nonvolatile memory to the CPU main memory. However, the program execution is delayed due to the low speed of the nonvolatile memory. In order to solve this problem, a memory control system is disclosed in which a plurality of nonvolatile memories are operated in parallel and the switching is performed using busy information of individual nonvolatile memories.

又、特許文献4には、不揮発メモリの同じ領域を主記憶領域およびファイル領域の何れとしてもアクセスできるコンピュータシステムが開示されている。   Patent Document 4 discloses a computer system that can access the same area of a nonvolatile memory as both a main storage area and a file area.

又、特許文献5には、第三者から重要なデータを保護するために、電源をオフする操作を検出すると、動作中に必要とされるデータやプログラムを記憶する作業用の記憶装置からデータを消去する装置が開示されている。   Further, in Patent Document 5, in order to protect important data from a third party, when an operation to turn off the power is detected, data necessary for the operation and data from a working storage device that stores a program are stored. An apparatus for erasing is disclosed.

又、特許文献6には、情報処理機器または二次記憶装置が盗難された場合に、不揮発メモリである二次記憶装置の内容にアクセスできないようにすることを目的とし、電源オフ時に二次記憶装置中のファイル管理領域をSRAMに待避し、ファイル管理領域の内容を破壊してから実際に電源をオフする装置が開示されている。   Patent Document 6 aims to prevent access to the contents of the secondary storage device, which is a nonvolatile memory, when the information processing device or the secondary storage device is stolen. An apparatus is disclosed in which the file management area in the apparatus is saved in the SRAM and the power is actually turned off after the contents of the file management area are destroyed.

特開平5-334168JP 5-334168 特開2010-108253JP2010-108253 特開2004-48428JP2004-48428 特開2004-362464JP2004-362464 特開2004-334626JP2004-334626 特開平11-212730JP-A-11-212730

揮発性の主記憶に、不揮発な記憶媒体を適用することによって、電源が落ちた状態でも、情報の保持が可能になる。これを利用すれば、主記憶をプログラム実行のワーキングエリアとしてだけでなく、情報を保管する場所として利用することが可能になる。しかし、これを実現した場合、主記憶の揮発高速性、外部記憶装置の不揮発低速性を前提にした従来のシステムに問題を起こす可能性がある。例えば、近年情報保護の問題が大きくなっているが、現在の計算機システムでは主記憶は揮発性がほとんどであるため、情報保護の観点からは、対策不十分であることが多い。本発明では、揮発性メモリと不揮発性メモリを混在させてメモリ構成し、揮発メモリの特性を提供することが可能な、不揮発メモリを提供する。本発明による構成で解決する一つ目の課題は、データの擬似的な揮発性実現によるセキュリティ実現である。実行途中のデータについては、正規の手順を経ない場合には、データを残さず揮発させることでセキュリティ機能を実現する。二つ目の課題は、正規の手順を経た場合に完全な不揮発メモリを提供することである。揮発データの不揮発化処理として揮発データ部分を高速に不揮発メモリに移動する機能を実現する。   By applying a nonvolatile storage medium to the volatile main memory, information can be retained even when the power is turned off. If this is used, the main memory can be used not only as a working area for program execution but also as a place for storing information. However, when this is realized, there is a possibility of causing a problem in a conventional system based on the premise that the main memory volatilizes at a high speed and the external storage device has a nonvolatile low speed. For example, the problem of information protection has been increasing in recent years, but in current computer systems, the main memory is almost volatile, so that measures are often insufficient from the viewpoint of information protection. The present invention provides a non-volatile memory that can provide a characteristic of a volatile memory by mixing a volatile memory and a non-volatile memory. The first problem to be solved by the configuration according to the present invention is to realize security by realizing pseudo volatility of data. For data in the middle of execution, if the normal procedure is not passed, the security function is realized by volatilizing the data without leaving it. The second problem is to provide a complete non-volatile memory after a normal procedure. A function of moving the volatile data portion to the nonvolatile memory at high speed as the nonvolatile processing of the volatile data is realized.

主記憶を構成する記憶装置を揮発性メモリと不揮発性メモリで構成する。書き込みデータ単位の一部を不揮発性メモリ、一部を揮発性メモリに格納する。主記憶への書き込みは通常一定の長さをもったデータ単位で行われるが、アドレスの下位ビットを判定に利用して、揮発性メモリか不揮発性メモリに格納する。この構成の記憶装置では、記憶装置をいきなり取り外したような場合に揮発部に格納されたデータが消失する。揮発メモリ部に書き込むデータを鍵として、不揮発メモリ部に書き込むデータを暗号化することで、揮発部のデータ消失により全体のデータを取り出し不能にさせることが可能になり、擬似的な揮発メモリが実現できる。通常動作終了後には、内部に備えたデータ移動エンジンで、揮発データを不揮発メモリに転送することで、記憶装置全体の不揮発化を実行できる。すべてのデータを揮発メモリに持つ場合に比べて、移動データが少ないので、高速な不揮発メモリへの移動が可能である。このメモリ構成がデータセキュリティを実現する第1の構成である。   A storage device constituting the main memory is constituted by a volatile memory and a nonvolatile memory. A part of the write data unit is stored in a nonvolatile memory and a part is stored in a volatile memory. Writing to the main memory is usually performed in units of data having a certain length, but the lower bits of the address are used for determination and stored in volatile memory or nonvolatile memory. In the storage device having this configuration, data stored in the volatile unit is lost when the storage device is suddenly removed. By encrypting the data to be written to the nonvolatile memory part using the data to be written to the volatile memory part as a key, it becomes possible to make it impossible to retrieve the entire data due to the data loss of the volatile part, realizing a pseudo volatile memory it can. After the normal operation is completed, the entire storage device can be made non-volatile by transferring the volatile data to the non-volatile memory by the internal data movement engine. Compared to the case where all the data is stored in the volatile memory, since the movement data is small, it is possible to move to the nonvolatile memory at high speed. This memory configuration is the first configuration for realizing data security.

第1の構成により、本発明の対象となる課題は解決されるが、主記憶が揮発メモリ、その他の拡張記憶が拡張メモリである従来メモリ構成方法と互換性を持つために、揮発性メモリを主記憶、不揮発性メモリを拡張記憶とするメモリ構成もあわせて実現可能とする。この構成では、アドレスの下位の部分を主記憶として揮発性メモリに割り当て、上位の部分を拡張記憶として不揮発性メモリに割り当て、プログラム実行に必要な主記憶データは、揮発メモリに格納する。拡張記憶と主記憶間は、記憶装置内に備えたデータ移動エンジンによりデータ移動を実行し、記憶領域を入れ替えが可能とする。このメモリ構成が主記憶を揮発メモリとする第2の構成である。   The first configuration solves the problem that is the subject of the present invention. However, in order to be compatible with the conventional memory configuration method in which the main memory is a volatile memory and the other extended memory is an extended memory, the volatile memory is used. It is also possible to realize a memory configuration in which main memory and nonvolatile memory are expanded. In this configuration, the lower part of the address is assigned to the volatile memory as the main memory, the upper part is assigned to the nonvolatile memory as the extended storage, and the main storage data necessary for program execution is stored in the volatile memory. Between the extended memory and the main memory, data movement is executed by a data movement engine provided in the storage device, and the storage areas can be switched. This memory configuration is a second configuration in which the main memory is a volatile memory.

データセキュリティを実現する第1の構成と、主記憶を揮発メモリとする第2の構成は、記憶装置内のアドレス割当てを変更することで実現する。記憶装置のアドレス設定を切り替える論理を内部に保持することで、データセキュリティを実現する第1の構成と、主記憶を揮発メモリとする第2の構成の両方を、単一の記憶装置で実現する。   The first configuration for realizing data security and the second configuration using the main memory as a volatile memory are realized by changing the address allocation in the storage device. By holding the logic for switching the address setting of the storage device inside, the first configuration that realizes data security and the second configuration that uses the main memory as a volatile memory are realized by a single storage device. .

本発明によれば、動作中に正規の手順を経ないで取り外したメモリに対して、メモリ内に完全なデータを残さない、擬似揮発化によるセキュリティ機能を備えた不揮発メモリを実現できる。擬似揮発化データの不揮発化は、揮発メモリ部のデータを不揮発メモリ部に移動することで実現するが、すべてのデータを揮発メモリに持つ場合に比べ高速に実行することができる。   According to the present invention, it is possible to realize a non-volatile memory having a security function by pseudo-volatility that does not leave complete data in the memory with respect to the memory removed without performing a regular procedure during operation. The pseudo-volatile data is made non-volatile by moving the data in the volatile memory unit to the non-volatile memory unit, but can be executed at a higher speed than when all the data is stored in the volatile memory.

本発明によるメモリの基本構成を示す図である。It is a figure which shows the basic composition of the memory by this invention. 本発明によるメモリに内蔵されるレジスタの内容を示す図である。It is a figure which shows the content of the register incorporated in the memory by this invention. 不揮発メモリから揮発メモリへのデータ移動処理(初期化処理)を示す図である。It is a figure which shows the data movement process (initialization process) from a non-volatile memory to a volatile memory. セキュリティモード時の動作を示す図である。It is a figure which shows the operation | movement at the time of security mode. 本発明によるメモリに内蔵される暗号化回路を示す図である。It is a figure which shows the encryption circuit incorporated in the memory by this invention. 本発明によるメモリに内蔵される複合化回路を示す図である。It is a figure which shows the compound circuit built in the memory by this invention. 主記憶揮発モード時の動作を示す図である。It is a figure which shows the operation | movement at the time of main memory volatile mode. 揮発メモリから不揮発メモリへのデータ移動処理(不揮発化処理)を示す図である。It is a figure which shows the data movement process (nonvolatization process) from a volatile memory to a non-volatile memory. セキュリティモード時と主記憶揮発モード時のアドレス生成方法を示す図である。It is a figure which shows the address generation method at the time of security mode and main memory volatile mode. データ移動エンジン回路の内部回路を示す図である。It is a figure which shows the internal circuit of a data movement engine circuit.

本発明によるメモリの基本構成を、図1に示す。記憶部としては、同じ容量、構成を持つ不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5を持つ。不揮発メモリ、揮発メモリは任意の個数を持つ構成が可能であるが、本実施例では、不揮発メモリ4個、揮発メモリ1個の構成を示している。本発明によるメモリは、入力アドレスから内部の不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4、揮発メモリ5へのアドレスを生成するアドレス生成回路6を持ち、アドレス生成回路6内に、各メモリの割当てを変更することによってセキュリティモード構成又は主記憶揮発モード構成を決めるモードレジスタ9を持つ。アドレス生成回路6には、外部からアドレスピン16を介してメモリアドレスが、モードレジスタ9には、モードピン17を介してモード設定値が入力される。モードレジスタ9は図2に示すとおり、1ビットの設定レジスタでメモリの構成を定義する。値0の場合セキュリティモード構成、値1の場合主記憶揮発モード構成になる。   The basic configuration of a memory according to the present invention is shown in FIG. The storage unit includes a nonvolatile memory A1, a nonvolatile memory B2, a nonvolatile memory C3, a nonvolatile memory D4, and a volatile memory 5 having the same capacity and configuration. The nonvolatile memory and the volatile memory can be configured to have an arbitrary number, but in this embodiment, the configuration of four nonvolatile memories and one volatile memory is shown. The memory according to the present invention has an address generation circuit 6 for generating addresses from the input address to the internal nonvolatile memory A1, nonvolatile memory B2, nonvolatile memory C3, nonvolatile memory D4, and volatile memory 5, and the address generation circuit 6 includes: It has a mode register 9 that determines the security mode configuration or main memory volatile mode configuration by changing the allocation of each memory. A memory address is input from the outside to the address generation circuit 6 via the address pin 16, and a mode setting value is input to the mode register 9 via the mode pin 17. As shown in FIG. 2, the mode register 9 is a 1-bit setting register that defines the memory configuration. A value of 0 is a security mode configuration, and a value of 1 is a main memory volatile mode configuration.

また、本発明によるメモリは、入力データピン20を介して入力されたデータをセキュリティ付データに変換する暗号化回路8を持つ。   The memory according to the present invention has an encryption circuit 8 that converts data input via the input data pin 20 into data with security.

また、本発明によるメモリは、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5間のデータ移動を実現するデータ移動エンジン回路7を持つ。データ移動エンジン回路7内には、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4が揮発メモリ5とデータを共有するか否かを設定するメモリ割当レジスタ10、および不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4の最新データが揮発メモリ5に置かれているか、または不揮発メモリにおかれているか示すメモリ状態フラグ11を持つ。   The memory according to the present invention has a data movement engine circuit 7 that realizes data movement between the nonvolatile memory A1, the nonvolatile memory B2, the nonvolatile memory C3, the nonvolatile memory D4, and the volatile memory 5. In the data movement engine circuit 7, a nonvolatile memory A 1, a nonvolatile memory B 2, a nonvolatile memory C 3, a nonvolatile memory D 4 for setting whether or not the nonvolatile memory A 4 shares data with the volatile memory 5, and a nonvolatile memory A 1, a nonvolatile memory It has a memory status flag 11 indicating whether the latest data of the memory B2, the nonvolatile memory C3, or the nonvolatile memory D4 is placed in the volatile memory 5 or in the nonvolatile memory.

メモリ割当レジスタ10は図2に示すとおり、不揮発メモリ毎に1ビット、本実施例では合計4ビットのレジスタである。値0はその不揮発メモリは揮発メモリとデータ共有していないことを意味し値1はその不揮発メモリが揮発メモリとデータ共有していることを意味している。メモリ割当レジスタ10へは、メモリ割当ピン19を介して、設定値が入力される。メモリ割当レジスタ10は、4ビット中1ビットのみが値1にセット可能であり本実施例では、不揮発メモリD4を指定した状態で値”0001”の場合を示している。   As shown in FIG. 2, the memory allocation register 10 is a register of 1 bit for each nonvolatile memory, and a total of 4 bits in this embodiment. A value of 0 means that the nonvolatile memory is not sharing data with the volatile memory, and a value of 1 is that the nonvolatile memory is sharing data with the volatile memory. A set value is input to the memory allocation register 10 via the memory allocation pin 19. The memory allocation register 10 can set only one bit out of four bits to the value 1, and in this embodiment, the value “0001” is shown in a state where the nonvolatile memory D4 is designated.

メモリ状態フラグ11は図2に示すとおり、不揮発メモリ毎に1ビット、本実施例では合計4ビットのレジスタである。値0はその不揮発メモリの最新データが不揮発メモリ上にあること、つまり該当データが不揮発状態にあることを意味し、値1はその不揮発メモリの最新データが揮発メモリ上にあること、つまり該当データが揮発状態にあることを意味している。メモリ状態フラグ11はメモリ割当レジスタ10が値1を持つ不揮発メモリに対応した部分のみ意味を持つ。メモリ状態フラグ11はメモリ状態フラグ出力ピン22から外部に出力されており、メモリデータが不揮発化状態か揮発化状態か監視することができる。   As shown in FIG. 2, the memory status flag 11 is a register of 1 bit for each nonvolatile memory, and a total of 4 bits in this embodiment. A value of 0 means that the latest data of the nonvolatile memory is on the nonvolatile memory, that is, the corresponding data is in a nonvolatile state, and a value of 1 indicates that the latest data of the nonvolatile memory is on the volatile memory, that is, the corresponding data. Is in a volatile state. The memory status flag 11 is meaningful only for the portion corresponding to the nonvolatile memory in which the memory allocation register 10 has the value 1. The memory status flag 11 is output to the outside from the memory status flag output pin 22 and can monitor whether the memory data is in a non-volatile state or a volatile state.

データ移動エンジン回路7は、起動信号ピン18からの信号により起動される。起動信号ピン18は2個の信号からなり、不揮発メモリから揮発メモリにデータ移動を行う初期化処理と、揮発メモリから不揮発メモリにデータ移動を行う不揮発化処理の起動ができる。   The data movement engine circuit 7 is activated by a signal from the activation signal pin 18. The start signal pin 18 includes two signals, and can start an initialization process for moving data from the nonvolatile memory to the volatile memory and a nonvolatile process for moving data from the volatile memory to the nonvolatile memory.

また、本発明によるメモリは、メモリから読み出されたデータがセキュリティ付データの場合、通常のデータに複合する複合化回路12を持つ。複合化回路12は出力データピン21を介してメモリ読み出しデータを出力する。   In addition, the memory according to the present invention has a composite circuit 12 that combines data with normal data when the data read from the memory is data with security. The composite circuit 12 outputs the memory read data via the output data pin 21.

また、本発明によるメモリは、内部に動作によってアドレスやデータを選択するメモリアドレスセレクタ13、メモリ書き込みデータセレクタ14、出力データセレクタ15を持つ。メモリアドレスセレクタ13は、通常動作時は、アドレス生成回路6で生成されたアドレスを選択し、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5間でデータ移動するときには、データ移動エンジン回路7が出力するアドレスを選択し、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5にアドレスを出力する。   The memory according to the present invention has a memory address selector 13, a memory write data selector 14, and an output data selector 15 for selecting an address and data by operation. The memory address selector 13 selects the address generated by the address generation circuit 6 during normal operation and moves data between the nonvolatile memory A1, the nonvolatile memory B2, the nonvolatile memory C3, the nonvolatile memory D4, and the volatile memory 5. The address output from the data movement engine circuit 7 is selected, and the address is output to the nonvolatile memory A1, the nonvolatile memory B2, the nonvolatile memory C3, the nonvolatile memory D4, and the volatile memory 5.

メモリ書き込みデータセレクタ14は、通常動作時は、暗号化回路8から送られるデータを選択し、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5間でデータ移動するときには、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4または揮発メモリ5が出力するデータを選択する。   The memory write data selector 14 selects data sent from the encryption circuit 8 during normal operation, and moves data between the nonvolatile memory A1, nonvolatile memory B2, nonvolatile memory C3, nonvolatile memory D4 and volatile memory 5, Data output from the nonvolatile memory A1, nonvolatile memory B2, nonvolatile memory C3, nonvolatile memory D4, or volatile memory 5 is selected.

出力データセレクタ15は、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5から読み出したデータを選択する。1段目のセレクタは、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5を選択する。本実施例では、不揮発メモリD4が揮発メモリ5とデータを共有しているので、通常動作時は、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、および揮発メモリ5が選択される。通常動作時は、不揮発メモリD4は揮発メモリ5とデータを共有しており、かつ最新データは揮発メモリ5内にある。メモリ全体の初期化処理とメモリ全体の不揮発化処理による不揮発メモリと揮発メモリ間のデータ移動時は、不揮発メモリから揮発メモリにデータ移動する場合は、不揮発メモリを選択し、揮発メモリから不揮発メモリにデータ移動する場合は、揮発メモリを選択する。   The output data selector 15 selects data read from the nonvolatile memory A1, nonvolatile memory B2, nonvolatile memory C3, nonvolatile memory D4, and volatile memory 5. The first-stage selector selects the non-volatile memory A1, the non-volatile memory B2, the non-volatile memory C3, the non-volatile memory D4, and the volatile memory 5. In this embodiment, since the nonvolatile memory D4 shares data with the volatile memory 5, the nonvolatile memory A1, the nonvolatile memory B2, the nonvolatile memory C3, and the volatile memory 5 are selected during normal operation. During normal operation, the nonvolatile memory D 4 shares data with the volatile memory 5, and the latest data is in the volatile memory 5. When moving data between the non-volatile memory and volatile memory by initialization processing of the entire memory and non-volatile processing of the entire memory, when moving data from the non-volatile memory to the volatile memory, select the non-volatile memory and change from the volatile memory to the non-volatile memory. When moving data, volatile memory is selected.

2段目のセレクタは、メモリ領域の選択を行う。通常動作時は、メモリへのアドレスで指定されたメモリからのデータを選択し、複合化回路12にデータを転送する。メモリ全体の初期化処理とメモリ全体の不揮発化処理による不揮発メモリと揮発メモリ間のデータ移動時は、揮発メモリと不揮発メモリがデータを共有している部分、本実施例では不揮発メモリD4と揮発メモリ5の選択データ部分、が固定的に選択される。   The second-stage selector selects a memory area. During normal operation, data from the memory designated by the address to the memory is selected, and the data is transferred to the composite circuit 12. At the time of data movement between the nonvolatile memory and the volatile memory by the initialization process of the entire memory and the nonvolatile process of the entire memory, the part where the volatile memory and the nonvolatile memory share data, in this embodiment, the nonvolatile memory D4 and the volatile memory Five selection data portions are selected in a fixed manner.

本メモリの使用に先立ち以下の初期化処理を実施する。まず、セキュリティモード構成又は主記憶揮発モード構成を決めるモードレジスタ9を設定する。セキュリティモード構成時は、揮発メモリに書き込まれるデータで不揮発メモリに書き込むデータが暗号化された状態になり、不自然な作業などで電源断が発生した場合、揮発メモリ部のデータが消滅することで、全データのセキュリティが保たれる。主記憶揮発モード構成の場合は、プログラム等から直接アクセスできるデータすべてが、揮発メモリに格納され、従来技術による記憶階層を実現する。   Prior to using this memory, the following initialization processing is performed. First, the mode register 9 that determines the security mode configuration or the main memory volatile mode configuration is set. When the security mode is configured, the data written to the non-volatile memory will be encrypted with the data written to the volatile memory, and if the power is cut off due to unnatural work, the data in the volatile memory will disappear. Security of all data is maintained. In the case of the main memory volatile mode configuration, all data that can be directly accessed from a program or the like is stored in the volatile memory, thereby realizing a storage hierarchy according to the prior art.

次に揮発メモリと対応する不揮発メモリを定め、メモリ割当レジスタ10に設定する。本実施例では、メモリ割当レジスタ10は不揮発メモリD4を指定する値”0001”の場合を示している。ここで設定された不揮発メモリは揮発メモリ間とデータ転送しあうことで、該当データを揮発化したり、不揮発化したりできる。   Next, a nonvolatile memory corresponding to the volatile memory is determined and set in the memory allocation register 10. In this embodiment, the memory allocation register 10 has a value “0001” for designating the nonvolatile memory D4. The non-volatile memory set here can be volatile or non-volatile by transferring data between the volatile memories.

モードレジスタ9の設定とメモリ割当レジスタ10の設定は、モードピン17、メモリ割当ピン19から設定されるが、装置で使用方法を固定する場合、実装するボードから本メモリへ固定信号を入力することで実現してもよい。装置で使用方法を適宜変更する場合は、CPUなどの外部コントローラから、使用の都度設定値を書き込むことにより実現してもよい。   The setting of the mode register 9 and the setting of the memory allocation register 10 are set from the mode pin 17 and the memory allocation pin 19, but when the usage method is fixed in the device, a fixed signal must be input from the mounted board to this memory. It may be realized with. When the usage method is appropriately changed in the apparatus, it may be realized by writing a set value for each use from an external controller such as a CPU.

最後にメモリ割当レジスタ10で設定された不揮発メモリのデータを揮発メモリにコピーする。不揮発メモリから揮発メモリへのデータ移動は、データ移動エンジン回路7を起動することにより実施する。データ移動エンジン回路7は内部にアドレスカウンタを持ち、メモリ割当レジスタ10で設定された不揮発メモリの最下位アドレスから最上位アドレスに順次データを読み出し、揮発メモリの最下位アドレスから最上位アドレスに順次データを書き込む。通常の揮発メモリでは初期化として’0’書き込みが行われるが、本発明によるメモリでは、指定された不揮発メモリのデータをコピーすることにより揮発メモリの初期化となる。アドレスカウンタが最上位のアドレスに到達し、コピーが終了したら、データ移動エンジン回路7は、対応する不揮発メモリのメモリ状態フラグ11に最新データが揮発メモリにあるというフラグをたてる。   Finally, the nonvolatile memory data set by the memory allocation register 10 is copied to the volatile memory. Data movement from the nonvolatile memory to the volatile memory is performed by starting the data movement engine circuit 7. The data movement engine circuit 7 has an address counter inside, reads data sequentially from the lowest address of the nonvolatile memory set by the memory allocation register 10 to the highest address, and sequentially data from the lowest address of the volatile memory to the highest address. Write. In a normal volatile memory, “0” writing is performed as initialization, but in the memory according to the present invention, the volatile memory is initialized by copying the data in the designated nonvolatile memory. When the address counter reaches the highest address and copying is completed, the data movement engine circuit 7 sets a flag indicating that the latest data is in the volatile memory in the memory status flag 11 of the corresponding nonvolatile memory.

図3は、初期化時の不揮発メモリから揮発メモリへのデータの移動を示す。この実施例では、メモリ割当レジスタ10は”0001”であり不揮発メモリD4が揮発メモリとデータ5を共有する。データ転送前のメモリ状態フラグ11は”0000”である。データ移動エンジン回路7が、起動信号ピン18からの信号により初期化処理を開始すると、内部のアドレスカウンタから、不揮発メモリD4と揮発メモリ5の最下位アドレスが、メモリアドレスセレクタ13に送られる。データ移動エンジン回路7が起動中は、データ移動エンジン回路7から送られるアドレスが選択され、不揮発メモリD4および揮発メモリ5および出力データセレクタ15にアドレスが送り出される。出力データセレクタ15は不揮発メモリD4を常に選択する。   FIG. 3 shows the movement of data from the non-volatile memory to the volatile memory during initialization. In this embodiment, the memory allocation register 10 is “0001” and the nonvolatile memory D4 shares data 5 with the volatile memory. The memory status flag 11 before data transfer is “0000”. When the data movement engine circuit 7 starts the initialization process by a signal from the start signal pin 18, the lowest address of the nonvolatile memory D4 and the volatile memory 5 is sent to the memory address selector 13 from the internal address counter. While the data movement engine circuit 7 is activated, an address sent from the data movement engine circuit 7 is selected, and the address is sent to the nonvolatile memory D4, the volatile memory 5 and the output data selector 15. The output data selector 15 always selects the nonvolatile memory D4.

メモリ書き込みデータセレクタ14は常に内部の不揮発メモリD4から読み出したデータを選択し、揮発メモリ5にデータを送る。不揮発メモリD4から読み出したデータが揮発メモリ5に書き込まれると、データ移動エンジン回路7の内部アドレスカウンタは次のアドレスに更新され、同様な移動処理が実行される。データ移動エンジン回路7の内部アドレスカウンタが不揮発メモリD4と揮発メモリ5の最上位アドレスに到達し、そのデータ移動が完了すると、データ移動エンジン回路7は、メモリ状態フラグ11を”0001”に更新し、処理終了になる。外部の装置はメモリ状態フラグ11の状態を、メモリ状態フラグ出力ピン22を介して監視することにより、初期化完了を認識することができる。この初期化時のデータ移動は、セキュリティモードでも主記憶揮発モードでもモードに関係なく同様な処理が実行される。   The memory write data selector 14 always selects the data read from the internal nonvolatile memory D 4 and sends the data to the volatile memory 5. When the data read from the nonvolatile memory D4 is written to the volatile memory 5, the internal address counter of the data movement engine circuit 7 is updated to the next address, and the same movement process is executed. When the internal address counter of the data movement engine circuit 7 reaches the highest address of the nonvolatile memory D4 and the volatile memory 5, and the data movement is completed, the data movement engine circuit 7 updates the memory status flag 11 to “0001”. The process ends. The external device can recognize the completion of initialization by monitoring the state of the memory state flag 11 via the memory state flag output pin 22. For the data movement at the time of initialization, the same processing is executed regardless of the mode in both the security mode and the main memory volatile mode.

本実施例では、データ移動エンジン回路7内のアドレスカウンタは1個でよいが、処理の高速化を目的に、読み出しアドレスカウンタと書き込みアドレスカウンタを2個用意する構成もある。読み出しアドレスカウンタと書き込みアドレスカウンタが別になっていれば、メモリの読み出しと書き込みを並列実行可能となり、データの移動は早く実行できる。   In this embodiment, only one address counter is required in the data movement engine circuit 7, but there is a configuration in which two read address counters and two write address counters are prepared for the purpose of speeding up the processing. If the read address counter and the write address counter are separate, memory read and write can be executed in parallel, and data movement can be performed quickly.

図4は、セキュリティモードにおける通常動作を示す。本モードでは、モードレジスタの設定は’0’であり、各入力データの単位は、不揮発メモリと揮発メモリに書き込まれる。ここでは、メモリ割当レジスタは”0001”であり、不揮発メモリD4が揮発メモリ5とデータを共有するメモリに指定されているものとする。またデータa、b、c、dは一回のデータ書き込み単位であり、データaが不揮発メモリA1、データbが不揮発メモリB2、データcが不揮発メモリC3、データdが揮発メモリ5に書き込まれる場合を示している。ここで不揮発メモリD4は使用されず揮発メモリ部分と同一の記憶領域に割当てられており、記憶装置を不揮発化する場合には、揮発メモリ5のデータを不揮発メモリD4に転送することで、不揮発化される。通常の動作時は、最新のデータdは揮発メモリにのみ存在し、不揮発メモリD4には存在しない。このため、無理に記憶装置を取り外すなどにより電源供給が断たれた場合、揮発メモリ部分のデータdは消失する。   FIG. 4 shows a normal operation in the security mode. In this mode, the mode register is set to “0”, and the unit of each input data is written in the nonvolatile memory and the volatile memory. Here, it is assumed that the memory allocation register is “0001” and the nonvolatile memory D4 is designated as a memory sharing data with the volatile memory 5. Data a, b, c, and d are data write units, where data a is written in nonvolatile memory A1, data b is written in nonvolatile memory B2, data c is written in nonvolatile memory C3, and data d is written in volatile memory 5. Is shown. Here, the non-volatile memory D4 is not used and is allocated to the same storage area as the volatile memory portion. When the storage device is made non-volatile, the data in the volatile memory 5 is transferred to the non-volatile memory D4 to make it non-volatile. Is done. During normal operation, the latest data d exists only in the volatile memory and does not exist in the nonvolatile memory D4. For this reason, when the power supply is cut off by forcibly removing the storage device, the data d in the volatile memory portion is lost.

データ入力ピン20から入力されたデータabcdは、暗号化回路8に送られ、暗号化される。暗号化は、図5に示すとおり、入力されたデータabcdのうちデータabcについてはデータdを用いて暗号変換し、データxyzにされる。データxyzはデータdを鍵として逆変換により、データabcに変換できるものとする。暗号化回路8でデータxyzdに変換されたデータは、データxを不揮発メモリA1、データyを不揮発メモリB2、データzを不揮発メモリC3、データdを揮発メモリ5に書き込まれる。   The data abcd input from the data input pin 20 is sent to the encryption circuit 8 and encrypted. As shown in FIG. 5, in the encryption, the data abc of the input data abcd is cryptographically converted using the data d to be converted into data xyz. Data xyz can be converted to data abc by inverse conversion using data d as a key. The data converted into data xyzd by the encryption circuit 8 is written into the nonvolatile memory A1, the data y as the nonvolatile memory B2, the data z as the nonvolatile memory C3, and the data d as the volatile memory 5.

通常動作時に、不自然な行為により、記憶装置に電源が供給されなくなった場合、揮発メモリ上のデータdは消滅する。データxyzは不揮発メモリ上に残るが、鍵となるデータdが失われているため、元のデータを読み出すことを不可能にできる。メモリからデータを読み出す場合、データxは不揮発メモリA1、データyは不揮発メモリB2、データzは不揮発メモリC3、データdは揮発メモリ5から読み出す。読み出されたデータは複合化回路12に送られる。データxyzはデータdにより暗号化されているが、図6に示すとおり、データdを鍵として複合することによりデータxyzからデータabcをえることができる。   If power is not supplied to the storage device due to an unnatural action during normal operation, the data d on the volatile memory disappears. Although the data xyz remains in the nonvolatile memory, the original data cannot be read because the key data d is lost. When reading data from the memory, data x is read from the nonvolatile memory A1, data y is read from the nonvolatile memory B2, data z is read from the nonvolatile memory C3, and data d is read from the volatile memory 5. The read data is sent to the composite circuit 12. The data xyz is encrypted by the data d, but as shown in FIG. 6, the data abc can be obtained from the data xyz by combining the data d with the key.

読み出し書き込みアドレスは、アドレスピン16から入力されたアドレスが、アドレス生成回路6にてモードレジスタ9の内容に従って変換されアドレスセレクタ13を経由して不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、揮発メモリ5に送られる。図9にセキュリティモード時のアドレス生成結果を示す。セキュリティモードでは、アドレスの比較的下位のビットにより、不揮発メモリまたは揮発メモリにデータを割り振る。本実施例では、各メモリ領域の書き込みデータ幅が8バイトの場合を示しているためアドレスの下位3ビットは使用されない。また、本例では不揮発メモリD4は揮発メモリと対応しているため、通常動作時は使用されない。アドレス000xxxは、不揮発メモリA1、アドレス001xxxは、不揮発メモリB2、アドレス010xxxは、不揮発メモリC3、アドレス011xxxは、揮発メモリ5に割当て、アドレス100xxxは、不揮発メモリA1、アドレス101xxxは、不揮発メモリB2、アドレス110xxxは、不揮発メモリC3、アドレス111xxxは、揮発メモリ5に割当て、以下順次上位アドレス方向に割り当てる。アドレス生成回路6はこの割り当てに従ってメモリへアドレスと選択信号を出力する。   As the read / write address, the address input from the address pin 16 is converted by the address generation circuit 6 according to the contents of the mode register 9 and the address selector 13 passes through the nonvolatile memory A1, nonvolatile memory B2, nonvolatile memory C3, and volatile memory. Sent to 5. FIG. 9 shows an address generation result in the security mode. In the security mode, data is allocated to the non-volatile memory or the volatile memory by the relatively lower bits of the address. In this embodiment, since the write data width of each memory area is 8 bytes, the lower 3 bits of the address are not used. In this example, since the nonvolatile memory D4 corresponds to the volatile memory, it is not used during normal operation. Address 000xxx is nonvolatile memory A1, address 001xxx is nonvolatile memory B2, address 010xxx is nonvolatile memory C3, address 011xxx is allocated to volatile memory 5, address 100xxx is nonvolatile memory A1, address 101xxx is nonvolatile memory B2, The address 110xxx is assigned to the non-volatile memory C3, the address 111xxx is assigned to the volatile memory 5, and the addresses are sequentially assigned in the higher address direction. The address generation circuit 6 outputs an address and a selection signal to the memory according to this assignment.

図7は、揮発メモリを主記憶に不揮発メモリを拡張記憶に割り当てる構成を示す。本モードでは、モードレジスタの設定は’1’であり、命令処理に必要なデータは揮発メモリにすべて置かれた従来型のメモリ階層構成を実現する。ここでは、メモリ割当レジスタは”0001”であり、不揮発メモリD4が揮発メモリ5とデータを共有するメモリに指定されているものとする。またデータa、b、c、dは一回のデータ書き込み単位であり、データa、データb、データc、データdすべて揮発メモリ5に書き込まれる。本構成においても、不揮発メモリD4は揮発メモリ5と対応しており、初期化処理時には不揮発メモリから揮発メモリへ、不揮発化処理時には揮発メモリから不揮発メモリへのデータ移動を実行する。   FIG. 7 shows a configuration in which volatile memory is assigned to main memory and nonvolatile memory is assigned to extended storage. In this mode, the mode register is set to “1”, and a conventional memory hierarchical structure is realized in which all data necessary for instruction processing is placed in the volatile memory. Here, it is assumed that the memory allocation register is “0001” and the nonvolatile memory D4 is designated as a memory sharing data with the volatile memory 5. Data a, b, c, d is a unit of data writing once, and data a, data b, data c, data d are all written in the volatile memory 5. Also in this configuration, the nonvolatile memory D4 corresponds to the volatile memory 5, and performs data movement from the nonvolatile memory to the volatile memory during the initialization process and from the volatile memory to the nonvolatile memory during the nonvolatile process.

入力データabcdは、データ入力ピン20から暗号化回路8に入力されるが、この主記憶揮発モード時、暗号化は実施しない。暗号化回路8を通過したデータはデータセレクタ14を通過し、揮発メモリ5にすべて書き込まれる。データの読み出し時は、出力データセレクタ15、複合化回路8を通過し読み出しが行われる。主記憶揮発モード時、データ複合化は実施しない。   The input data abcd is input from the data input pin 20 to the encryption circuit 8, but encryption is not performed in this main memory volatile mode. The data that has passed through the encryption circuit 8 passes through the data selector 14 and is all written into the volatile memory 5. At the time of reading data, the data is read through the output data selector 15 and the composite circuit 8. Data decryption is not performed in the main memory volatile mode.

読み出し書き込みアドレスは、アドレスピン16から入力されたアドレスが、アドレス生成回路6にてモードレジスタ9の内容に従って変換されアドレスセレクタを経由して揮発メモリ5に送られる。主記憶揮発モード時のアドレス生成は図9に示している。主記憶揮発メモリモードでは、主記憶に対応するデータはすべて揮発メモリに割り振られアドレスはそのまま揮発メモリのアドレスとして使用される。不揮発メモリを、プログラムから直接利用はできない拡張記憶として指定する場合、主記憶容量を超えたアドレスの上位ビットを用いることができる。本例では、アドレス01x…x000xxxを不揮発メモリA1、アドレス10x…x000xxxを不揮発メモリB2、アドレス11x…x000xxxを不揮発メモリC3として利用する場合を示している。本例では不揮発メモリD4は、揮発メモリ5に対応しているため、揮発メモリと同じアドレスとなり、通常動作時には使用されない。   As the read / write address, the address input from the address pin 16 is converted by the address generation circuit 6 according to the contents of the mode register 9 and sent to the volatile memory 5 via the address selector. The address generation in the main memory volatile mode is shown in FIG. In the main memory volatile memory mode, all data corresponding to the main memory is allocated to the volatile memory, and the address is used as it is as the address of the volatile memory. When the nonvolatile memory is designated as an extended storage that cannot be directly used from a program, the upper bits of the address exceeding the main storage capacity can be used. In this example, the address 01x ... x000xxx is used as the nonvolatile memory A1, the address 10x ... x000xxx is used as the nonvolatile memory B2, and the address 11x ... x000xxx is used as the nonvolatile memory C3. In this example, since the non-volatile memory D4 corresponds to the volatile memory 5, it has the same address as the volatile memory and is not used during normal operation.

図8は揮発データから不揮発データにデータを移動する処理を示している。この実施例では、メモリ割当レジスタ10は”0001”であり不揮発メモリD4が揮発メモリ5とデータを共有する。データ転送前のメモリ状態フラグ11は”0001”である。データ移動エンジン回路7が、起動信号ピン18からの信号により不揮発化処理を起動すると、内部のアドレスカウンタから、不揮発メモリD4と揮発メモリ5の最下位アドレスが出力され、メモリアドレスセレクタ13に送られる。データ移動エンジン回路7が起動中は、データ移動エンジン回路7から送られるアドレスが選択され、不揮発メモリD4および揮発メモリ5および出力データセレクタ15にそのアドレスが送り出される。出力データセレクタ15は揮発メモリ5を常に選択する。メモリ書き込みデータセレクタ14は常に内部の揮発メモリ5から読み出したデータを選択し、不揮発メモリD4にデータを送る。揮発メモリ5から読み出したデータが不揮発メモリD4に書き込まれると、データ移動エンジン回路7の内部アドレスカウンタは更新され次のアドレスに対して、同様な移動処理が実行される。データ移動エンジン回路7の内部アドレスカウンタが不揮発メモリD4と揮発メモリ5の最上位アドレスに到達すると、データ移動エンジン回路7は、メモリ状態フラグ11を”0000”に更新し、処理終了になる。外部の装置はメモリ状態フラグ出力ピン22を介してメモリ状態フラグ11の状態を監視することにより、不揮発化処理完了を認識することができる。この不揮発化時のデータ移動は、セキュリティモードでも主記憶揮発モードでもモードに関係なく同様な処理が実行される。   FIG. 8 shows a process of moving data from volatile data to nonvolatile data. In this embodiment, the memory allocation register 10 is “0001” and the nonvolatile memory D 4 shares data with the volatile memory 5. The memory status flag 11 before data transfer is “0001”. When the data movement engine circuit 7 starts the nonvolatile process by a signal from the start signal pin 18, the lowest address of the nonvolatile memory D4 and the volatile memory 5 is output from the internal address counter and sent to the memory address selector 13. . While the data movement engine circuit 7 is activated, an address sent from the data movement engine circuit 7 is selected, and the address is sent to the nonvolatile memory D4, the volatile memory 5 and the output data selector 15. The output data selector 15 always selects the volatile memory 5. The memory write data selector 14 always selects the data read from the internal volatile memory 5 and sends the data to the nonvolatile memory D4. When the data read from the volatile memory 5 is written to the nonvolatile memory D4, the internal address counter of the data movement engine circuit 7 is updated, and the same movement process is executed for the next address. When the internal address counter of the data movement engine circuit 7 reaches the highest address of the non-volatile memory D4 and the volatile memory 5, the data movement engine circuit 7 updates the memory status flag 11 to “0000”, and the process ends. The external device can recognize the completion of the nonvolatile process by monitoring the state of the memory state flag 11 via the memory state flag output pin 22. The data movement at the time of non-volatility performs the same processing regardless of the mode in both the security mode and the main memory volatile mode.

本実施例では、データ移動エンジン回路7内のアドレスカウンタは1個でよいが、処理の高速化を目的に、読み出しアドレスカウンタと書き込みアドレスカウンタを2個用意する構成もある。読み出しアドレスカウンタと書き込みアドレスカウンタが別になっていれば、メモリの読み出しと書き込みを並列実行可能となり、データの移動は早く実行できる。   In this embodiment, only one address counter is required in the data movement engine circuit 7, but there is a configuration in which two read address counters and two write address counters are prepared for the purpose of speeding up the processing. If the read address counter and the write address counter are separate, memory read and write can be executed in parallel, and data movement can be performed quickly.

図10はデータ移動エンジン回路7の詳細構造を示す。起動ピン18からの起動信号により、データ移動エンジンシーケンサ24が起動される。データ移動エンジン回路7が動作中は、データ移動エンジンシーケンサ24からデータ移動エンジンセレクタ信号26が3本出力される。メモリアドレスセレクタ13、メモリ書き込みデータセレクタ14、出力データセレクタ15への選択信号であり、ここまでで説明したとおりに各動作に対応したデータ選択信号を出力する。データ移動エンジンシーケンサ24は、データ移動エンジン内アドレスカウンタ23にリセット信号を送り、メモリの最下位アドレスをセットする。データ移動エンジン内アドレスカウンタ23は、データ移動メモリアドレス25を、セレクタ13を介して内部のメモリに出力する。   FIG. 10 shows the detailed structure of the data movement engine circuit 7. In response to an activation signal from the activation pin 18, the data movement engine sequencer 24 is activated. While the data movement engine circuit 7 is operating, three data movement engine selector signals 26 are output from the data movement engine sequencer 24. This is a selection signal to the memory address selector 13, the memory write data selector 14, and the output data selector 15, and outputs a data selection signal corresponding to each operation as described above. The data movement engine sequencer 24 sends a reset signal to the data movement engine internal address counter 23 to set the lowest address of the memory. The data movement engine internal address counter 23 outputs the data movement memory address 25 to the internal memory via the selector 13.

該当アドレスのメモリ間のデータ移動が完了すると、データ移動エンジン内アドレスカウンタ23は+1され次のアドレスが出力される。データ移動エンジン内アドレスカウンタ23がメモリの最上位アドレスに達すると、メモリ割当レジスタ10で指定されたビットに対応したメモリ状態フラグ11が、初期化処理時は’1’に、不揮発化処理時は’0’にセットされ、データ移動エンジンシーケンサ24の動作は終了する。   When the data movement between the memories at the corresponding address is completed, the data movement engine internal address counter 23 is incremented by 1 and the next address is output. When the address counter 23 in the data movement engine reaches the highest address of the memory, the memory status flag 11 corresponding to the bit specified in the memory allocation register 10 is set to “1” at the initialization process, and at the nonvolatile process. Set to '0', the operation of the data movement engine sequencer 24 ends.

本実施例では、不揮発メモリが4個、揮発メモリが1個の場合の構成を示したが、不揮発メモリが揮発メモリ以上の個数であれば、不揮発メモリ、揮発メモリともより多い構成でもかまわない。不揮発メモリの個数が増えた場合、メモリ割当レジスタ、メモリ状態フラグのビット数が対応して増える。揮発メモリの個数が増えた場合、メモリ割当レジスタ、メモリ状態フラグの個数が対応して増え、独立管理する揮発メモリの数だけ、メモリ割当レジスタ、メモリ状態フラグを備えることになり、それぞれの揮発メモリに対して、同様な処理を実行することになる。   In the present embodiment, a configuration in which there are four nonvolatile memories and one volatile memory is shown. However, as long as the number of nonvolatile memories is greater than or equal to the volatile memories, a larger number of nonvolatile memories and volatile memories may be used. When the number of nonvolatile memories increases, the number of bits of the memory allocation register and the memory status flag increases correspondingly. When the number of volatile memories increases, the number of memory allocation registers and memory status flags increases correspondingly, and the number of volatile memories managed independently includes as many memory allocation registers and memory status flags. For this, the same processing is executed.

1 不揮発メモリA
2 不揮発メモリB
3 不揮発メモリC
4 不揮発メモリD
5 揮発メモリ
6 アドレス生成回路
7 データ移動エンジン回路
8 暗号化回路
9 モードレジスタ
10 メモリ割当レジスタ
11 メモリ状態フラグ
12 複合化回路
13 メモリアドレスセレクタ
14 メモリ書き込みデータセレクタ
15 出力データセレクタ
16 アドレス入力ピン
17 モード入力ピン
18 起動ピン
19 メモリ割当ピン
20 データ入力ピン
21 データ出力ピン
22 メモリ状態フラグ出力ピン
23 データ移動エンジン内アドレスカウンタ
24 データ移動エンジンシーケンサ
25 データ移動メモリアドレス
26 データ移動セレクタ信号
1 Nonvolatile memory A
2 Nonvolatile memory B
3 Nonvolatile memory C
4 Nonvolatile memory D
5 Volatile memory
6 Address generation circuit
7 Data movement engine circuit
8 Encryption circuit
9 Mode register
10 Memory allocation register
11 Memory status flag
12 Compound circuit
13 Memory address selector
14 Memory write data selector
15 Output data selector
16 Address input pin
17 Mode input pin
18 Activation pin
19 Memory allocation pin
20 Data input pin
21 Data output pin
22 Memory status flag output pin
23 Data movement engine internal address counter
24 Data movement engine sequencer
25 Data movement memory address
26 Data movement selector signal

Claims (6)

不揮発メモリ部分と揮発メモリ部分で構成されたメモリで、1回の読み出し書き込みデータ単位のうち、一部を不揮発メモリ部分、一部を揮発メモリ部分に格納する構成を備え、読み出し書き込みデータに対しては、不揮発メモリ部分に書き込むデータを揮発メモリ部分に書き込むデータを鍵として暗号複合化する回路を備えたメモリ装置。   A memory composed of a non-volatile memory part and a volatile memory part, and has a configuration in which a part of one read / write data unit is stored in a non-volatile memory part and a part is stored in a volatile memory part. Is a memory device including a circuit that encrypts and decrypts data to be written to the nonvolatile memory portion using data to be written to the volatile memory portion as a key. 請求項1記載のメモリ装置で、電源供給が断たれた場合に揮発メモリ部分のデータを消失させることで、不揮発メモリ部分のデータを読み出すことを防止することを特徴とするメモリ装置。   2. The memory device according to claim 1, wherein when the power supply is cut off, the data in the volatile memory portion is lost, thereby preventing the data in the nonvolatile memory portion from being read out. 請求項1記載のメモリ装置において、不揮発メモリ部分に書き込むデータを揮発メモリ部分に書き込むデータを鍵として暗号化することで、揮発メモリ部分のデータ消失により全体のデータが消失することを特徴とするメモリ装置。   2. The memory device according to claim 1, wherein the entire data is lost due to data loss of the volatile memory portion by encrypting data to be written to the nonvolatile memory portion with the data to be written to the volatile memory portion as a key. apparatus. 複数の不揮発メモリ部分と複数の揮発メモリ部分で構成されたメモリ装置で、揮発メモリ部分に記録されたデータと不揮発メモリ部分に記録されたデータを相互に移動する機能と、揮発メモリ部分ごとに各不揮発メモリ部分がデータをその揮発メモリ部分と共有しているかいないか記憶したレジスタと、共有している場合には、そのデータが揮発メモリ部分にあるか不揮発メモリ部分にあるか示す状態フラグを内部に備えたメモリ装置。   A memory device composed of a plurality of nonvolatile memory portions and a plurality of volatile memory portions, and a function for moving data recorded in the volatile memory portion and data recorded in the nonvolatile memory portion to each other, and for each volatile memory portion If the non-volatile memory part is shared with a register that stores whether data is shared with the volatile memory part or not, the status flag that indicates whether the data is in the volatile memory part or the non-volatile memory part A memory device prepared for. 請求項4記載のメモリ装置において、電源断に先立ち、揮発メモリ部分ごとに、各不揮発メモリ部分がデータをその揮発メモリ部分と共有している場合、そのデータが揮発メモリ部分にあるか不揮発メモリ部分にあるか示す状態フラグに従って、揮発メモリ部分のデータを対応する不揮発メモリ部分にデータ移動し、転送後は状態フラグを更新することで、すべての揮発メモリ部分のデータを不揮発メモリ部分にデータ移動し、その不揮発化完了を、すべての状態フラグの論理積から確認した後、電源断することで、データ全体を不揮発データとして保持することを特徴とするメモリ装置。   5. The memory device according to claim 4, wherein, for each volatile memory portion, when each nonvolatile memory portion shares data with the volatile memory portion prior to power-off, the data is in the volatile memory portion or the nonvolatile memory portion. The data in the volatile memory part is moved to the corresponding non-volatile memory part according to the status flag indicating whether or not, and after the transfer, the status flag is updated to move all the volatile memory part data to the non-volatile memory part. The memory device is characterized in that the entire data is held as nonvolatile data by confirming the completion of the nonvolatileization from the logical product of all the state flags and then turning off the power. 不揮発メモリ部分と揮発メモリ部分で構成されたメモリ装置で、アドレスと各メモリ部分との対応付け変更回路を内蔵し、該変更回路の設定により、メモリ装置内での各アドレスに対する不揮発メモリ部分と揮発メモリ部分を変更できるメモリ装置。   A memory device composed of a non-volatile memory portion and a volatile memory portion, and has a built-in circuit for changing the correspondence between the address and each memory portion. By setting the change circuit, the non-volatile memory portion and the volatile memory for each address in the memory device A memory device that can change the memory part.
JP2011029277A 2011-02-15 2011-02-15 Memory unit Withdrawn JP2012168737A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011029277A JP2012168737A (en) 2011-02-15 2011-02-15 Memory unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011029277A JP2012168737A (en) 2011-02-15 2011-02-15 Memory unit

Publications (1)

Publication Number Publication Date
JP2012168737A true JP2012168737A (en) 2012-09-06

Family

ID=46972832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011029277A Withdrawn JP2012168737A (en) 2011-02-15 2011-02-15 Memory unit

Country Status (1)

Country Link
JP (1) JP2012168737A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445233B2 (en) 2014-06-23 2019-10-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445233B2 (en) 2014-06-23 2019-10-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Similar Documents

Publication Publication Date Title
TWI746933B (en) Memory system and method for controlling non-volatile memory
JP3892851B2 (en) Memory card and semiconductor device
JP5662037B2 (en) Data whitening to read and write data to non-volatile memory
DE102013111339A1 (en) A security management unit, host controller interface with the same, methods of operating a host controller interface, and devices having a host controller interface
JP2005505069A5 (en)
US8717831B2 (en) Memory circuit
JPWO2005004382A1 (en) Cryptographic processing device
JP5721901B2 (en) Encryption of memory devices with wear leveling
JP4253272B2 (en) Memory card, semiconductor device, and control method of semiconductor memory
CN113420308A (en) Data access control method and control system for encryption memory
JP4966418B1 (en) Information processing apparatus and write control method
CN110765501A (en) Encrypted USB flash disk
WO2006051779A1 (en) Nonvolatile storage device control method, memory controller and nonvolatile storage device
JP2012168737A (en) Memory unit
CN106100829A (en) The method and device of encryption storage
JP7042837B2 (en) Information processing equipment, control methods and programs for information processing equipment
US10310972B1 (en) Memory apparatus and method of wear-leveling of a memory apparatus
JP6282197B2 (en) Storage device, method and program
JP6399821B2 (en) Information processing apparatus, information processing method, and computer program
CN112579481B (en) Data processing method, data processing device and computing device
US20150215129A1 (en) Data encryption of a storage area
TWI647619B (en) Method for performing hardware resource management in an electronic device, and corresponding electronic device
CN108196790B (en) Data management method, storage device, and computer-readable storage medium
WO2015194063A1 (en) Memory management method, program for memory management, and memory management device
JP2012104170A (en) Hard disk device

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513