JP2012168737A - Memory unit - Google Patents
Memory unit Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
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,
又、特許文献2には、主記憶が全て不揮発性メモリで構成された装置において、突発的な電源の遮断発生後、電源再投入時にシステムが正常に動作するように、特別なハードウェアと処理手順を備えた装置が開示されている。
又、特許文献3には、不揮発メモリをプログラムメモリとして使用する場合、不揮発メモリからCPU用主記憶メモリへプログラムを転送後実行するが、不揮発メモリの低速性によりプログラム実行の遅れが発生する。これを解決するために、複数の不揮発メモリを平行動作させ、個々の不揮発メモリのビジー情報でその切替えを実施するメモリ制御システムが開示されている。
Further, in
又、特許文献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.
揮発性の主記憶に、不揮発な記憶媒体を適用することによって、電源が落ちた状態でも、情報の保持が可能になる。これを利用すれば、主記憶をプログラム実行のワーキングエリアとしてだけでなく、情報を保管する場所として利用することが可能になる。しかし、これを実現した場合、主記憶の揮発高速性、外部記憶装置の不揮発低速性を前提にした従来のシステムに問題を起こす可能性がある。例えば、近年情報保護の問題が大きくなっているが、現在の計算機システムでは主記憶は揮発性がほとんどであるため、情報保護の観点からは、対策不十分であることが多い。本発明では、揮発性メモリと不揮発性メモリを混在させてメモリ構成し、揮発メモリの特性を提供することが可能な、不揮発メモリを提供する。本発明による構成で解決する一つ目の課題は、データの擬似的な揮発性実現によるセキュリティ実現である。実行途中のデータについては、正規の手順を経ない場合には、データを残さず揮発させることでセキュリティ機能を実現する。二つ目の課題は、正規の手順を経た場合に完全な不揮発メモリを提供することである。揮発データの不揮発化処理として揮発データ部分を高速に不揮発メモリに移動する機能を実現する。 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.
本発明によるメモリの基本構成を、図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
また、本発明によるメモリは、入力データピン20を介して入力されたデータをセキュリティ付データに変換する暗号化回路8を持つ。
The memory according to the present invention has an encryption circuit 8 that converts data input via the
また、本発明によるメモリは、不揮発メモリ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
メモリ割当レジスタ10は図2に示すとおり、不揮発メモリ毎に1ビット、本実施例では合計4ビットのレジスタである。値0はその不揮発メモリは揮発メモリとデータ共有していないことを意味し値1はその不揮発メモリが揮発メモリとデータ共有していることを意味している。メモリ割当レジスタ10へは、メモリ割当ピン19を介して、設定値が入力される。メモリ割当レジスタ10は、4ビット中1ビットのみが値1にセット可能であり本実施例では、不揮発メモリD4を指定した状態で値”0001”の場合を示している。
As shown in FIG. 2, the
メモリ状態フラグ11は図2に示すとおり、不揮発メモリ毎に1ビット、本実施例では合計4ビットのレジスタである。値0はその不揮発メモリの最新データが不揮発メモリ上にあること、つまり該当データが不揮発状態にあることを意味し、値1はその不揮発メモリの最新データが揮発メモリ上にあること、つまり該当データが揮発状態にあることを意味している。メモリ状態フラグ11はメモリ割当レジスタ10が値1を持つ不揮発メモリに対応した部分のみ意味を持つ。メモリ状態フラグ11はメモリ状態フラグ出力ピン22から外部に出力されており、メモリデータが不揮発化状態か揮発化状態か監視することができる。
As shown in FIG. 2, the
データ移動エンジン回路7は、起動信号ピン18からの信号により起動される。起動信号ピン18は2個の信号からなり、不揮発メモリから揮発メモリにデータ移動を行う初期化処理と、揮発メモリから不揮発メモリにデータ移動を行う不揮発化処理の起動ができる。
The data
また、本発明によるメモリは、メモリから読み出されたデータがセキュリティ付データの場合、通常のデータに複合する複合化回路12を持つ。複合化回路12は出力データピン21を介してメモリ読み出しデータを出力する。
In addition, the memory according to the present invention has a
また、本発明によるメモリは、内部に動作によってアドレスやデータを選択するメモリアドレスセレクタ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
メモリ書き込みデータセレクタ14は、通常動作時は、暗号化回路8から送られるデータを選択し、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5間でデータ移動するときには、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4または揮発メモリ5が出力するデータを選択する。
The memory
出力データセレクタ15は、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5から読み出したデータを選択する。1段目のセレクタは、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、不揮発メモリD4と揮発メモリ5を選択する。本実施例では、不揮発メモリD4が揮発メモリ5とデータを共有しているので、通常動作時は、不揮発メモリA1、不揮発メモリB2、不揮発メモリC3、および揮発メモリ5が選択される。通常動作時は、不揮発メモリD4は揮発メモリ5とデータを共有しており、かつ最新データは揮発メモリ5内にある。メモリ全体の初期化処理とメモリ全体の不揮発化処理による不揮発メモリと揮発メモリ間のデータ移動時は、不揮発メモリから揮発メモリにデータ移動する場合は、不揮発メモリを選択し、揮発メモリから不揮発メモリにデータ移動する場合は、揮発メモリを選択する。
The
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
本メモリの使用に先立ち以下の初期化処理を実施する。まず、セキュリティモード構成又は主記憶揮発モード構成を決めるモードレジスタ9を設定する。セキュリティモード構成時は、揮発メモリに書き込まれるデータで不揮発メモリに書き込むデータが暗号化された状態になり、不自然な作業などで電源断が発生した場合、揮発メモリ部のデータが消滅することで、全データのセキュリティが保たれる。主記憶揮発モード構成の場合は、プログラム等から直接アクセスできるデータすべてが、揮発メモリに格納され、従来技術による記憶階層を実現する。
Prior to using this memory, the following initialization processing is performed. First, the
次に揮発メモリと対応する不揮発メモリを定め、メモリ割当レジスタ10に設定する。本実施例では、メモリ割当レジスタ10は不揮発メモリD4を指定する値”0001”の場合を示している。ここで設定された不揮発メモリは揮発メモリ間とデータ転送しあうことで、該当データを揮発化したり、不揮発化したりできる。
Next, a nonvolatile memory corresponding to the volatile memory is determined and set in the
モードレジスタ9の設定とメモリ割当レジスタ10の設定は、モードピン17、メモリ割当ピン19から設定されるが、装置で使用方法を固定する場合、実装するボードから本メモリへ固定信号を入力することで実現してもよい。装置で使用方法を適宜変更する場合は、CPUなどの外部コントローラから、使用の都度設定値を書き込むことにより実現してもよい。
The setting of the
最後にメモリ割当レジスタ10で設定された不揮発メモリのデータを揮発メモリにコピーする。不揮発メモリから揮発メモリへのデータ移動は、データ移動エンジン回路7を起動することにより実施する。データ移動エンジン回路7は内部にアドレスカウンタを持ち、メモリ割当レジスタ10で設定された不揮発メモリの最下位アドレスから最上位アドレスに順次データを読み出し、揮発メモリの最下位アドレスから最上位アドレスに順次データを書き込む。通常の揮発メモリでは初期化として’0’書き込みが行われるが、本発明によるメモリでは、指定された不揮発メモリのデータをコピーすることにより揮発メモリの初期化となる。アドレスカウンタが最上位のアドレスに到達し、コピーが終了したら、データ移動エンジン回路7は、対応する不揮発メモリのメモリ状態フラグ11に最新データが揮発メモリにあるというフラグをたてる。
Finally, the nonvolatile memory data set by the
図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
メモリ書き込みデータセレクタ14は常に内部の不揮発メモリD4から読み出したデータを選択し、揮発メモリ5にデータを送る。不揮発メモリD4から読み出したデータが揮発メモリ5に書き込まれると、データ移動エンジン回路7の内部アドレスカウンタは次のアドレスに更新され、同様な移動処理が実行される。データ移動エンジン回路7の内部アドレスカウンタが不揮発メモリD4と揮発メモリ5の最上位アドレスに到達し、そのデータ移動が完了すると、データ移動エンジン回路7は、メモリ状態フラグ11を”0001”に更新し、処理終了になる。外部の装置はメモリ状態フラグ11の状態を、メモリ状態フラグ出力ピン22を介して監視することにより、初期化完了を認識することができる。この初期化時のデータ移動は、セキュリティモードでも主記憶揮発モードでもモードに関係なく同様な処理が実行される。
The memory
本実施例では、データ移動エンジン回路7内のアドレスカウンタは1個でよいが、処理の高速化を目的に、読み出しアドレスカウンタと書き込みアドレスカウンタを2個用意する構成もある。読み出しアドレスカウンタと書き込みアドレスカウンタが別になっていれば、メモリの読み出しと書き込みを並列実行可能となり、データの移動は早く実行できる。
In this embodiment, only one address counter is required in the data
図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
通常動作時に、不自然な行為により、記憶装置に電源が供給されなくなった場合、揮発メモリ上のデータ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
読み出し書き込みアドレスは、アドレスピン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
図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
読み出し書き込みアドレスは、アドレスピン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
図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
本実施例では、データ移動エンジン回路7内のアドレスカウンタは1個でよいが、処理の高速化を目的に、読み出しアドレスカウンタと書き込みアドレスカウンタを2個用意する構成もある。読み出しアドレスカウンタと書き込みアドレスカウンタが別になっていれば、メモリの読み出しと書き込みを並列実行可能となり、データの移動は早く実行できる。
In this embodiment, only one address counter is required in the data
図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
該当アドレスのメモリ間のデータ移動が完了すると、データ移動エンジン内アドレスカウンタ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
本実施例では、不揮発メモリが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)
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)
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 |
-
2011
- 2011-02-15 JP JP2011029277A patent/JP2012168737A/en not_active Withdrawn
Cited By (1)
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 |