[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2010205167A - Nonvolatile memory, and control method and program thereof - Google Patents

Nonvolatile memory, and control method and program thereof Download PDF

Info

Publication number
JP2010205167A
JP2010205167A JP2009052521A JP2009052521A JP2010205167A JP 2010205167 A JP2010205167 A JP 2010205167A JP 2009052521 A JP2009052521 A JP 2009052521A JP 2009052521 A JP2009052521 A JP 2009052521A JP 2010205167 A JP2010205167 A JP 2010205167A
Authority
JP
Japan
Prior art keywords
time
calculation
nonvolatile memory
erased
predetermined block
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
JP2009052521A
Other languages
Japanese (ja)
Inventor
Satoru Fujii
了 藤井
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009052521A priority Critical patent/JP2010205167A/en
Publication of JP2010205167A publication Critical patent/JP2010205167A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a nonvolatile memory capable of statically estimating the minimum lifetime of a memory, and to provide a control method and program thereof. <P>SOLUTION: The nonvolatile memory in which electrical data are written and erased for each of a plurality of blocks includes a counter means for measuring a time, a recording means for recording a time when the last erasure is performed in each of the plurality of blocks, and an operating means for performing an operation on the basis of the present time measured by the counting means and the time recorded in the recording means in accordance with a prescribed block when the prescribed block is erased, and a wait signal is made active when an operation result by the operating means is smaller than a preset specified value. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、データの書込及び消去を電気的に可能とする不揮発性メモリ、その制御方法及びプログラムに関する。   The present invention relates to a nonvolatile memory capable of electrically writing and erasing data, a control method thereof, and a program.

データの書込及び消去を電気的に可能とする不揮発性メモリの一例として、例えば特許文献1、2に開示されているフラッシュメモリがある。フラッシュメモリは、ハードディスクよりも小型で衝撃に強く、バックアップ電源が不要であるという特徴によって、現在幅広く使用されている。フラッシュメモリは、例えば、携帯電話、ゲーム機器、デジタルカメラ、パソコンなどの情報処理装置において、メインメモリ、メモリカードやUSB(Universal Serial Bus)メモリ、BIOS(Basic Input/Output System)などに使用されている。   As an example of a nonvolatile memory that can electrically write and erase data, there are flash memories disclosed in Patent Documents 1 and 2, for example. Flash memory is now widely used due to its features that it is smaller and harder to impact than a hard disk and does not require a backup power supply. The flash memory is used for a main memory, a memory card, a USB (Universal Serial Bus) memory, a BIOS (Basic Input / Output System) in an information processing device such as a mobile phone, a game machine, a digital camera, and a personal computer. Yes.

フラッシュメモリでは、複数のブロック(記憶素子)が備えられ、ブロック単位でデータの消去と書込(これを書換という)が行われるが、書換回数には制限がある。この書換回数は、フラッシュメモリ全体対しての回数ではなく、ブロック1つに対しての回数であるので、データの書換が特定のブロックに集中してしまうと、フラッシュメモリの寿命が短くなってしまう。このようなことから、フラッシュメモリでは、寿命を延ばすための手法として、ウェアレベリングと呼ばれる仕組みを備える必要がある。このウェアレベリングは、データの書換が行われる部分が特定のブロックに集中しないように均等に分散させる手法である。これにより、各ブロックにおける書換回数が均一化され、結果としてフラッシュメモリの寿命を延ばすことができる。   In a flash memory, a plurality of blocks (storage elements) are provided, and data is erased and written (referred to as rewriting) in units of blocks, but the number of times of rewriting is limited. Since the number of times of rewriting is not the number of times for the entire flash memory but the number of times for one block, if the data rewriting concentrates on a specific block, the life of the flash memory is shortened. . For this reason, the flash memory needs to have a mechanism called wear leveling as a technique for extending the lifetime. This wear leveling is a technique for evenly distributing data rewriting so that it does not concentrate on a specific block. Thereby, the number of rewrites in each block is made uniform, and as a result, the life of the flash memory can be extended.

特開2005−99983号公報JP-A-2005-99983 特開2007−156862号公報JP 2007-156862 A

フラッシュメモリにおいて、ハードウェアを用いてウェアレベリングを実装することは、コスト増や大型化という問題が生じるため、昨今のフラッシュメモリの普及状況を鑑みると現実的ではない。よって、ウェアレベリングは、ハードウェアではなく、ソフトウェアを用いて実装することが望ましい。   Implementing wear leveling using hardware in a flash memory is not realistic in view of the recent widespread use of flash memory because of the problem of increased cost and size. Therefore, it is desirable to implement wear leveling using software instead of hardware.

しかしながら、ソフトウェアを用いてウェアレベリングを実装する場合、ソフトウェアのバグ等により書換が著しく発生するという不具合が起こりうる。そして、このような不具合が起こると、書換回数が無駄に消化されてしまい、フラッシュメモリの寿命が短くなってしまうという問題が生じる。なお、上記不具合の検出には、全てのケースを網羅するなど、長時間のテストを必要とすることが多くなるため、事前に不具合を検出してその対策を行うことは困難である。   However, when the wear leveling is implemented using software, there may be a problem that rewriting occurs remarkably due to a software bug or the like. When such a problem occurs, the number of times of rewriting is unnecessarily consumed, resulting in a problem that the life of the flash memory is shortened. In addition, since the detection of the defect often requires a long test such as covering all cases, it is difficult to detect the defect in advance and take measures against it.

本発明は、上記事情に鑑みてなされたものであり、静的にメモリの最低限の寿命を見積もり可能にする不揮発性メモリ、その制御方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a non-volatile memory that can statically estimate the minimum memory life, a control method thereof, and a program.

かかる目的を達成するために、本発明の不揮発性メモリは、複数のブロック毎に電気的なデータの書込及び消去が行われる不揮発性メモリであって、時間を計測するカウンタ手段と、複数のブロック毎に、最後に消去が行われたときの時間が記録される記録手段と、所定のブロックの消去が行われた場合に、カウント手段で計測された現在の時間と、所定のブロックに対応して記録手段に記録されている時間とに基づいて演算を行う演算手段と、を有し、演算手段による演算結果が予め設定された規定値よりも小さい場合、ウェイト信号がアクティブにされることを特徴とする。   In order to achieve such an object, the nonvolatile memory of the present invention is a nonvolatile memory in which electrical data is written and erased for each of a plurality of blocks, and includes a counter means for measuring time, and a plurality of Corresponds to the recording means for recording the time when the last erase was performed for each block, the current time measured by the counting means when the predetermined block was erased, and the predetermined block And calculating means for calculating based on the time recorded in the recording means, and when the calculation result by the calculating means is smaller than a preset specified value, the wait signal is activated. It is characterized by.

本発明の不揮発性メモリの制御方法は、複数のブロック毎に電気的なデータの書込及び消去が行われる不揮発性メモリの制御方法であって、不揮発性メモリ又は不揮発性メモリと接続される電子機器は、時間の計測を行うステップと、複数のブロック毎に、最後に消去が行われたときの時間を記録しておくステップと、所定のブロックの消去が行われた場合に、計測した現在の時間と、所定のブロックに対応して記録されている時間とに基づいて演算を行うステップと、演算の結果が予め設定された規定値よりも小さい場合、ウェイト信号をアクティブにするステップと、を有することを特徴とする。   The non-volatile memory control method of the present invention is a non-volatile memory control method in which electrical data is written and erased for each of a plurality of blocks, and is an electronic device connected to the non-volatile memory or the non-volatile memory. The device measures the time, records the time when the last erase was performed for each of a plurality of blocks, and the current measured when a predetermined block is erased. And a step of performing a calculation based on the time recorded in correspondence with a predetermined block, and a step of activating a wait signal when a result of the calculation is smaller than a predetermined value, It is characterized by having.

本発明のプログラムは、複数のブロック毎に電気的なデータの書込及び消去が行われる不揮発性メモリを制御するためのプログラムであって、時間の計測を行う処理と、複数のブロック毎に、最後に消去が行われたときの時間を記録しておく処理と、所定のブロックの消去が行われた場合に、計測した現在の時間と、所定のブロックに対応して記録されている時間とに基づいて演算を行う処理と、演算の結果が予め設定された規定値よりも小さい場合、ウェイト信号をアクティブにする処理と、をコンピュータに実行させることを特徴とする。   The program of the present invention is a program for controlling a nonvolatile memory in which electrical data is written and erased for each of a plurality of blocks, and includes a process for measuring time, and for each of the plurality of blocks. The process of recording the time when the last erase was performed, the current time measured when the predetermined block was erased, and the time recorded corresponding to the predetermined block The computer is caused to execute a process of performing a calculation based on the above and a process of activating a wait signal when the result of the calculation is smaller than a predetermined value set in advance.

本発明によれば、不揮発性メモリにおいて、静的にメモリの最低限の寿命を見積もり可能にする。   According to the present invention, it is possible to statically estimate the minimum lifetime of a memory in a nonvolatile memory.

本発明の一実施形態に係る不揮発性メモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of the non-volatile memory which concerns on one Embodiment of this invention. 本発明の一実施形態に係る不揮発性メモリのRAMで使用される領域の例を示す図である。It is a figure which shows the example of the area | region used with RAM of the non-volatile memory which concerns on one Embodiment of this invention. 本発明の一実施形態に係る不揮発性メモリの動作例を示すフローチャートである。4 is a flowchart illustrating an operation example of the nonvolatile memory according to the embodiment of the present invention.

以下、本発明を実施するための形態(実施形態)について添付図面を参照して詳細に説明する。本発明の不揮発性メモリの一実施形態として、電気的にデータの消去及び書込が可能なフラッシュメモリを例に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments (embodiments) for carrying out the present invention will be described in detail with reference to the accompanying drawings. As an embodiment of the nonvolatile memory of the present invention, a flash memory capable of electrically erasing and writing data will be described as an example.

まず、本実施形態のフラッシュメモリの構成について図1を用いて説明する。   First, the configuration of the flash memory according to the present embodiment will be described with reference to FIG.

図1に示すように、本実施形態のフラッシュメモリは、一般的な構成であるメモリアレイ1及びI/F回路2の他に、カウンタ(カウンタ手段)3、RAM(記録手段)4、演算器(演算手段)5を有している。なお、図示していないが、本実施形態のフラッシュメモリは、所定の電子機器に接続(組込も含む)されているものとする。電子機器の例としては、携帯電話、ゲーム機器、デジタルカメラ、パソコンなどの情報処理装置が挙げられる。   As shown in FIG. 1, the flash memory according to the present embodiment includes a counter (counter means) 3, a RAM (recording means) 4, an arithmetic unit, in addition to a memory array 1 and an I / F circuit 2 having a general configuration. (Calculation means) 5 is provided. Although not shown, it is assumed that the flash memory according to the present embodiment is connected (including embedded) to a predetermined electronic device. Examples of the electronic device include information processing devices such as a mobile phone, a game device, a digital camera, and a personal computer.

I/F回路2は、アドレス、データ、WAIT信号がそれぞれ伝送される信号線(バス)と接続される。また、本実施形態でのI/F回路2は、割込信号が伝送される信号線とも接続される。なお、アドレス、データ、WAIT信号がそれぞれ伝送される信号線は、図示しないCPU(Central Processing Unit)と接続されている。このCPUは、本実施形態のフラッシュメモリが接続(組込)されている電子機器のCPUである。   The I / F circuit 2 is connected to signal lines (buses) through which address, data, and WAIT signals are transmitted. Further, the I / F circuit 2 in this embodiment is also connected to a signal line through which an interrupt signal is transmitted. A signal line through which each of the address, data, and WAIT signal is transmitted is connected to a CPU (Central Processing Unit) (not shown). This CPU is a CPU of an electronic device to which the flash memory according to this embodiment is connected (embedded).

カウンタ3には、カウンタ用のクロックが入力される。このクロック入力は、例として、簡便さと通常時計として使用される水晶周波数の32.768kHzとし、規定値は0x40000(8秒)とする。このカウンタ3は、時間をカウントし、タイムスタンプを取得する。取得されたタイムスタンプは、カウンタ値としてRAM4の所定の領域に記録(設定)される。   A counter clock is input to the counter 3. As an example, the clock input is 32.768 kHz, which is a crystal frequency used for convenience and a normal clock, and the specified value is 0x40000 (8 seconds). The counter 3 counts time and acquires a time stamp. The acquired time stamp is recorded (set) in a predetermined area of the RAM 4 as a counter value.

また図1では、例として、メモリアレイ1は128個のブロック(記憶素子)から構成されるものとし、カウンタ3は実仕様上あふれることがない64bitとし、RAM4は64bit×(128+1)=1032バイトとし、電源ON時にすべて0に初期化されるものとする。   In FIG. 1, for example, the memory array 1 is assumed to be composed of 128 blocks (storage elements), the counter 3 is set to 64 bits that do not overflow in actual specifications, and the RAM 4 is 64 bits × (128 + 1) = 1032 bytes. And all are initialized to 0 when the power is turned on.

RAM4は、メモリアレイ1のブロック毎に、最後に消去が行われたときのタイムスタンプが記録される。ここで、RAM4にて使用される領域について図2に例示する。RAM4では、ブロック0〜128毎にカウンタ値保持領域が分割される。カウンタ値保持領域とは、カウンタ3で取得されたカウンタ値(タイムスタンプ)を記録して保持するための領域である。図2に示すように、アドレス「0」はブロック0用のカウンタ値保持領域であり、アドレス「8」はブロック1用のカウンタ値保持領域である。このようにして、RAM4において、ブロック1用〜ブロック128用までの、128個のカウンタ値保持領域が使用される。また、RAM4においては、規定値設定用の保持領域が使用される。この領域には、上述したように、例として規定値0x40000(8秒)が保持される。   In the RAM 4, a time stamp at the time of last erasing is recorded for each block of the memory array 1. Here, the area used in the RAM 4 is illustrated in FIG. In the RAM 4, the counter value holding area is divided for each of the blocks 0 to 128. The counter value holding area is an area for recording and holding the counter value (time stamp) acquired by the counter 3. As shown in FIG. 2, the address “0” is a counter value holding area for block 0 and the address “8” is a counter value holding area for block 1. In this manner, 128 counter value holding areas from block 1 to block 128 are used in the RAM 4. In the RAM 4, a specified value setting holding area is used. As described above, the specified value 0x40000 (8 seconds) is held in this area as an example.

次に、本実施形態のフラッシュメモリの動作(本発明のフラッシュメモリの制御方法及びプログラムの一実施形態)について図3を用いて説明する。図3に示す動作を実行するためのプログラムは、フラッシュメモリ内に格納されている。このプログラムは、図示しない電子機器のCPUに読み込まれる。そしてCPUは、そのプログラムによって制御され、図3の動作を行う。   Next, the operation of the flash memory of this embodiment (one embodiment of the flash memory control method and program of the present invention) will be described with reference to FIG. A program for executing the operation shown in FIG. 3 is stored in the flash memory. This program is read into the CPU of an electronic device (not shown). The CPU is controlled by the program and performs the operation of FIG.

例えばブロック0が消去された場合、CPUは、電子機器の電源ON後の初めての消去であるかどうかを判断する(ステップS1)。CPUは、RAM4におけるブロック0用のカウンタ値保持領域に記録(設定)されているカウンタ値を参照する。そして、CPUは、参照した結果、カウンタ値が0である場合は電源ON後の初めての消去であると判断し、カウンタ値が0ではない場合は電源ON後の初めての消去ではないと判断する。   For example, when block 0 is erased, the CPU determines whether or not it is the first erase after the electronic device is powered on (step S1). The CPU refers to the counter value recorded (set) in the counter value holding area for block 0 in the RAM 4. Then, as a result of the reference, if the counter value is 0, the CPU determines that it is the first erasing after the power is turned on, and if the counter value is not 0, the CPU judges that it is not the first erasing after the power is turned on. .

ここでは、例として、RAM4におけるブロック0用のカウンタ値保持領域に記録されているカウンタ値は0であるとする。よって、CPUは、電子機器の電源ON後の初めての消去であると判断し(ステップS1/YES)、カウンタ3から現在のカウンタ値を取得し、その値をRAM4のブロック0用のカウンタ値保持領域に記録する(ステップS2)。ここでは、例としてこのカウンタ値を0x8000とする。   Here, as an example, it is assumed that the counter value recorded in the counter value holding area for block 0 in the RAM 4 is zero. Therefore, the CPU determines that this is the first erasure after the electronic device is powered on (step S1 / YES), obtains the current counter value from the counter 3, and holds the value for the counter value for the block 0 of the RAM 4 Recording in the area (step S2). Here, as an example, this counter value is set to 0x8000.

そして、前回の消去から10秒後に、再びブロック0が消去されたとする。CPUは、再び、電源ON後の初めての消去であるかどうかを判断する(ステップS1)。このとき、RAM4のブロック0用のカウンタ値保持領域には、カウンタ値0x8000が記録されている。よって、CPUは、ブロック0用のカウンタ値保持領域を参照した結果、カウンタ値が0ではないので、電源ON後の初めての消去ではないと判断する(ステップS1/NO)。   Assume that block 0 is erased again 10 seconds after the previous erase. The CPU again determines whether or not it is the first erase after the power is turned on (step S1). At this time, the counter value 0x8000 is recorded in the counter value holding area for the block 0 of the RAM 4. Therefore, as a result of referring to the counter value holding area for block 0, the CPU determines that it is not the first erasing after the power is turned on because the counter value is not 0 (step S1 / NO).

CPUは、演算器5を用いて数式(現在のカウンタ値−カウンタ値保持領域のカウンタ値)を演算させ、その演算結果と、RAM4における規定値設定用の保持領域に予め記録されている規定値とを比較する(ステップS3)。この動作は、例えば次のようになる。まずCPUは、カウンタ3から現在のカウンタ値0x50000(10秒)を取得し、RAM4からカウンタ値保持領域のカウンタ値0x8000を取得し、取得した両方の値を演算器5に入力する。次に演算器5において(0x50000−0x8000)が演算される。この演算結果は、0x42000となる。一方で、規定値は、上述したように0x40000(8秒)である。CPUは、演算結果0x42000と、規定値0x40000とを比較する。   The CPU calculates a mathematical expression (current counter value−counter value in the counter value holding area) using the calculator 5, and the calculation result and a specified value recorded in advance in the holding area for setting the specified value in the RAM 4. Are compared (step S3). This operation is as follows, for example. First, the CPU acquires the current counter value 0x50000 (10 seconds) from the counter 3, acquires the counter value 0x8000 in the counter value holding area from the RAM 4, and inputs both the acquired values to the calculator 5. Next, (0x50000-0x8000) is calculated in the calculator 5. The result of this calculation is 0x42000. On the other hand, the specified value is 0x40000 (8 seconds) as described above. The CPU compares the calculation result 0x42000 with the specified value 0x40000.

ステップS3における比較の結果、演算結果の方が規定値よりも大きいので(ステップS4/YES)、消去が実行された後、CPU、ブロック0用のカウンタ値保持領域に記録されているカウンタ値0x8000を0x58000(0x8000+0x50000)に更新する(ステップS5)。   As a result of the comparison in step S3, the calculation result is larger than the specified value (step S4 / YES). After erasing is executed, the counter value 0x8000 recorded in the counter value holding area for the CPU and block 0 is executed. Is updated to 0x58000 (0x8000 + 0x50000) (step S5).

そして、前回の消去から1秒後に、再びブロック0が消去されたとする。CPUは、再び、電源ON後の初めての消去であるかどうかを判断する(ステップS1)。このとき、RAM4のブロック0用のカウンタ値保持領域には、カウンタ値0x58000が記録されている。よって、CPUは、ブロック0用のカウンタ値保持領域を参照した結果、カウンタ値が0ではないので、電源ON後の初めての消去ではないと判断する(ステップS1/NO)。   Then, assume that block 0 is erased again one second after the previous erase. The CPU again determines whether or not it is the first erase after the power is turned on (step S1). At this time, the counter value 0x58000 is recorded in the counter value holding area for the block 0 of the RAM 4. Therefore, as a result of referring to the counter value holding area for block 0, the CPU determines that it is not the first erasing after the power is turned on because the counter value is not 0 (step S1 / NO).

CPUは、再び、演算器5を用いて数式(現在のカウンタ値−カウンタ値保持領域のカウンタ値)を演算させ、その演算結果と、RAM4における規定値設定用の保持領域に予め記録されている規定値とを比較する(ステップS3)。この動作は、例えば次のようになる。まずCPUは、カウンタ3から現在のカウンタ値0x55000(11秒)を取得し、RAM4からカウンタ値保持領域のカウンタ値0x58000を取得し、取得した両方の値を演算器5に入力する。演算器5において(0x55000−0x58000)が演算される。この演算結果は-0x3000となる。一方で、規定値は0x40000である。よって、CPUは、演算結果-0x3000と、規定値0x40000とを比較する。   The CPU again calculates the mathematical formula (current counter value−counter value of the counter value holding area) using the calculator 5, and the result of the calculation is recorded in advance in the holding area for setting the specified value in the RAM 4. The specified value is compared (step S3). This operation is as follows, for example. First, the CPU acquires the current counter value 0x55000 (11 seconds) from the counter 3, acquires the counter value 0x58000 in the counter value holding area from the RAM 4, and inputs both the acquired values to the calculator 5. The calculator 5 calculates (0x55000-0x58000). The result of this calculation is -0x3000. On the other hand, the specified value is 0x40000. Therefore, the CPU compares the calculation result −0x3000 with the specified value 0x40000.

ステップS3における比較の結果、演算結果の方が規定値よりも小さいので(ステップS4/NO)、CPUは、WAIT信号をACTIVEにする(ステップS6)。なお、WAIT信号のACTIVEは、演算結果が規定値よりも小さい間中行われる。このように、WAIT信号をACTIVEにすることによって、静的に最低限の寿命を見積もり可能にする(静的な寿命設計を可能にする)。   As a result of the comparison in step S3, the calculation result is smaller than the specified value (step S4 / NO), so the CPU sets the WAIT signal to ACTIVE (step S6). The ACTIVE of the WAIT signal is performed while the calculation result is smaller than the specified value. In this way, by setting the WAIT signal to ACTIVE, it is possible to statically estimate the minimum lifetime (allowing a static lifetime design).

なお、上記図3のステップS6において、WAIT信号をACTIVEとする代わりに、割込信号をACTIVEとして、CPUへ異常を通知するようにしてもよい。これにより、ソフトウェアの不具合の検出を可能にする。あるいは、上記図3のステップS6において、WAIT信号をACTIVEにすると同時に、割込信号をACTIVEにすることによって、CPUに異常を通知するようにしてもよい。これにより、静的に最低限の寿命を見積もり可能にするとともに、ソフトウェアの不具合の検出を可能にする。   In step S6 in FIG. 3, instead of setting the WAIT signal to ACTIVE, the interrupt signal may be set to ACTIVE to notify the CPU of the abnormality. This makes it possible to detect software defects. Alternatively, in step S6 of FIG. 3, the CPU may be notified of the abnormality by setting the WAIT signal to ACTIVE and simultaneously setting the interrupt signal to ACTIVE. As a result, it is possible to statically estimate the minimum lifetime and to detect software defects.

なお、上記説明では図3の動作を行う主体を、電子機器のCPUとして説明したが、これに限定されない。例えば、動作の主体は演算器5であってもよい。   In the above description, the main body performing the operation of FIG. 3 has been described as the CPU of the electronic device, but the present invention is not limited to this. For example, the operation subject may be the computing unit 5.

以上説明したように、本実施形態のフラッシュメモリでは、規定時間(規定値)内の再消去の場合、WAIT信号を使用してバスマスタを待たせる。すなわち本実施形態では、所定ブロックの消去のときに前回消去した時間と比較し、一定時間(規定値)を過ぎていなければ、WAIT信号をACTIVEにすることで、静的に最低限の寿命を見積もり可能にする。つまり、一般的なフラッシュメモリに1キロバイト程度の少量のRAMとカウンタと演算器を追加するだけで、仮にソフトウェアに不具合があったとしても、フラッシュメモリの最低限の寿命を保障できる。例えば、本実施形態のフラッシュメモリにおいて、ブロックが128個あって、10万回の書換が可能であるような場合、規定時間を20秒とすれば、各ブロックを順番にアクセスしたとしても、最低限10万回×20秒=約8年という期間の保障が可能となる。   As described above, in the flash memory according to the present embodiment, in the case of re-erasing within a specified time (specified value), the bus master is made to wait using the WAIT signal. That is, in this embodiment, when a predetermined block is erased, compared with the time erased last time, if the predetermined time (specified value) has not passed, the WAIT signal is set to ACTIVE to statically minimize the minimum life. Make an estimate possible. In other words, by adding a small amount of RAM of about 1 kilobyte, a counter, and an arithmetic unit to a general flash memory, the minimum lifetime of the flash memory can be guaranteed even if there is a problem with the software. For example, in the flash memory according to the present embodiment, when there are 128 blocks and 100,000 times of rewriting is possible, if the specified time is 20 seconds, even if each block is accessed in sequence, at least It is possible to guarantee a period of 100,000 times × 20 seconds = about 8 years.

また、本実施形態のフラッシュメモリでは、規定時間(規定値)内の再消去の場合、割込信号を使用してCPUに通知する。すなわち本実施形態のフラッシュメモリでは、所定ブロックの消去のときに前回消去した時間と比較し、一定時間(規定値)を過ぎていなければ、割込信号をACTIVEにしてCPUに異常を通知することで、ソフトウェアの不具合の検出を可能にする。   In the flash memory according to the present embodiment, in the case of re-erasing within a specified time (specified value), an interrupt signal is used to notify the CPU. That is, in the flash memory according to the present embodiment, when a predetermined block is erased, compared to the time erased last time, if the predetermined time (specified value) has not passed, the interrupt signal is set to ACTIVE to notify the CPU of the abnormality. In this way, software defects can be detected.

以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。例えば、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。   As mentioned above, although embodiment of this invention was described, it is not limited to the said embodiment, A various deformation | transformation is possible in the range which does not deviate from the summary. For example, it is configured not only to be executed in time series according to the processing operation described in the above embodiment, but also to be configured so as to be executed in parallel or individually as required by the processing capability of the apparatus that executes the processing. Is also possible.

本発明は、不揮発性メモリを使用可能な機器・装置、システム全般に適用できる。   The present invention can be applied to devices, apparatuses, and systems in general that can use a nonvolatile memory.

1 メモリアレイ
2 I/F回路
3 カウンタ
4 RAM
5 演算器
1 Memory array 2 I / F circuit 3 Counter 4 RAM
5 Calculator

Claims (9)

複数のブロック毎に電気的なデータの書込及び消去が行われる不揮発性メモリであって、
時間を計測するカウンタ手段と、
前記複数のブロック毎に、最後に消去が行われたときの時間が記録される記録手段と、
所定のブロックの消去が行われた場合に、前記カウント手段で計測された現在の時間と、前記所定のブロックに対応して前記記録手段に記録されている時間とに基づいて演算を行う演算手段と、を有し、
前記演算手段による演算結果が予め設定された規定値よりも小さい場合、ウェイト信号がアクティブにされることを特徴とする不揮発性メモリ。
A nonvolatile memory in which electrical data is written and erased for each of a plurality of blocks,
Counter means for measuring time;
For each of the plurality of blocks, recording means for recording the time when the last erasure was performed,
Calculation means for performing calculation based on the current time measured by the counting means and the time recorded in the recording means corresponding to the predetermined block when a predetermined block is erased And having
A non-volatile memory, wherein a wait signal is activated when a calculation result obtained by the calculation means is smaller than a predetermined value set in advance.
前記演算手段による演算結果が予め設定された規定値よりも小さい場合、割込信号がアクティブにされることによって、異常の通知が行われることを特徴とする請求項1記載の不揮発性メモリ。   2. The non-volatile memory according to claim 1, wherein when the calculation result by the calculation means is smaller than a preset specified value, an abnormality signal is notified by activating an interrupt signal. 前記演算手段による演算結果が予め設定された規定値よりも大きい場合、前記所定のブロックの消去が行われた後、前記所定のブロックに対応して前記記録手段に記録されている時間が、前記カウント手段で計測された現在の時間に基づいて新たな値に更新されることを特徴とする請求項1又は2記載の不揮発性メモリ。   If the calculation result by the calculation means is greater than a preset specified value, the time recorded in the recording means corresponding to the predetermined block after erasing the predetermined block is 3. The nonvolatile memory according to claim 1, wherein the nonvolatile memory is updated to a new value based on the current time measured by the counting means. 前記所定のブロックの消去が電源オン後に初めて行われた消去であるか否かが、前記記録手段に記録されている時間に基づいて判断され、
前記演算手段は、
前記所定のブロックの消去が初めて行われた消去ではない場合に前記演算を行うことを特徴とする請求項1から3のいずれか1項に記載の不揮発性メモリ。
Whether the predetermined block is erased for the first time after power-on is determined based on the time recorded in the recording means,
The computing means is
4. The nonvolatile memory according to claim 1, wherein the calculation is performed when the predetermined block is not erased for the first time. 5.
前記所定のブロックの消去が初めて行われた消去である場合、前記カウンタ手段で計測された現在の時間が、前記記録手段において前記所定のブロックに対応して記録されることを特徴とする請求項4記載の不揮発性メモリ。   The erasing of the predetermined block is performed for the first time, and the current time measured by the counter unit is recorded in the recording unit corresponding to the predetermined block. 4. The non-volatile memory according to 4. 複数のブロック毎に電気的なデータの書込及び消去が行われる不揮発性メモリの制御方法であって、
前記不揮発性メモリ又は前記不揮発性メモリと接続される電子機器は、
時間の計測を行うステップと、
前記複数のブロック毎に、最後に消去が行われたときの時間を記録しておくステップと、
所定のブロックの消去が行われた場合に、計測した現在の時間と、前記所定のブロックに対応して記録されている時間とに基づいて演算を行うステップと、
前記演算の結果が予め設定された規定値よりも小さい場合、ウェイト信号をアクティブにするステップと、
を有することを特徴とする不揮発性メモリの制御方法。
A method for controlling a nonvolatile memory in which electrical data is written and erased for each of a plurality of blocks,
The nonvolatile memory or the electronic device connected to the nonvolatile memory is
A step of measuring time;
For each of the plurality of blocks, recording the time when the last erasure was performed;
When the predetermined block is erased, performing a calculation based on the measured current time and the time recorded corresponding to the predetermined block;
When the result of the calculation is smaller than a preset specified value, activating a wait signal;
A method for controlling a non-volatile memory, comprising:
前記演算の結果が予め設定された規定値よりも小さい場合、割込信号をアクティブにすることによって、異常の通知を行うステップを有することを特徴とする請求項6記載の不揮発性メモリの制御方法。   7. The method of controlling a nonvolatile memory according to claim 6, further comprising a step of notifying an abnormality by activating an interrupt signal when a result of the calculation is smaller than a predetermined value set in advance. . 複数のブロック毎に電気的なデータの書込及び消去が行われる不揮発性メモリを制御するためのプログラムであって、
時間の計測を行う処理と、
前記複数のブロック毎に、最後に消去が行われたときの時間を記録しておく処理と、
所定のブロックの消去が行われた場合に、計測した現在の時間と、前記所定のブロックに対応して記録されている時間とに基づいて演算を行う処理と、
前記演算の結果が予め設定された規定値よりも小さい場合、ウェイト信号をアクティブにする処理と、
をコンピュータに実行させることを特徴とするプログラム。
A program for controlling a nonvolatile memory in which electrical data is written and erased for each of a plurality of blocks,
Processing to measure time,
For each of the plurality of blocks, processing for recording the time when the last erasure was performed,
When the predetermined block is erased, a process of performing an operation based on the measured current time and the time recorded corresponding to the predetermined block;
When the result of the calculation is smaller than a preset specified value, a process of activating the wait signal;
A program that causes a computer to execute.
前記演算の結果が予め設定された規定値よりも小さい場合、割込信号をアクティブにすることによって、異常の通知を行う処理をコンピュータに実行させることを特徴とする請求項8記載のプログラム。   9. The program according to claim 8, wherein when the result of the calculation is smaller than a predetermined value set in advance, the computer is caused to perform a process of notifying an abnormality by activating an interrupt signal.
JP2009052521A 2009-03-05 2009-03-05 Nonvolatile memory, and control method and program thereof Withdrawn JP2010205167A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009052521A JP2010205167A (en) 2009-03-05 2009-03-05 Nonvolatile memory, and control method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009052521A JP2010205167A (en) 2009-03-05 2009-03-05 Nonvolatile memory, and control method and program thereof

Publications (1)

Publication Number Publication Date
JP2010205167A true JP2010205167A (en) 2010-09-16

Family

ID=42966551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009052521A Withdrawn JP2010205167A (en) 2009-03-05 2009-03-05 Nonvolatile memory, and control method and program thereof

Country Status (1)

Country Link
JP (1) JP2010205167A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286990B1 (en) 2014-12-22 2016-03-15 Samsung Electronics Co., Ltd. Storage device, nonvolatile memory and method operating same
US9870160B2 (en) 2014-03-26 2018-01-16 Samsung Electronics Co., Ltd. Method of operating memory system including nonvolatile memory and memory controller
US10592130B2 (en) 2016-09-28 2020-03-17 Samsung Electronics Co., Ltd. Computing systems including storage devices controlled by hosts

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870160B2 (en) 2014-03-26 2018-01-16 Samsung Electronics Co., Ltd. Method of operating memory system including nonvolatile memory and memory controller
US9286990B1 (en) 2014-12-22 2016-03-15 Samsung Electronics Co., Ltd. Storage device, nonvolatile memory and method operating same
US10592130B2 (en) 2016-09-28 2020-03-17 Samsung Electronics Co., Ltd. Computing systems including storage devices controlled by hosts
US11157180B2 (en) 2016-09-28 2021-10-26 Samsung Electronics Co., Ltd. Computing systems including storage devices controlled by hosts
US11579779B2 (en) 2016-09-28 2023-02-14 Samsung Electronics Co., Ltd. Computing systems including storage devices controlled by hosts

Similar Documents

Publication Publication Date Title
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
TWI467376B (en) Data protecting method, and memory controll and memory storage device using the same
JP6021241B2 (en) Data processing system with error detection of peripheral device configuration information
US10599345B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
KR102179829B1 (en) Storage system managing run-time bad cells
JP6018113B2 (en) Method, computer and host device for preventing data loss of nonvolatile memory
US8897092B2 (en) Memory storage device, memory controller and controlling method
JP2015036988A (en) Data storage device and method of protecting data storage device from abnormal voltage
US9424177B2 (en) Clock switching method, memory controller and memory storage apparatus
JP2011070346A (en) Memory system
JP2015032317A (en) Data storage device and access control method
CN112015332A (en) Controller and operation method thereof
TWI592866B (en) Methods for atomic writes in a ssd (solid state disk) system and apparatuses using the same
JP2010205167A (en) Nonvolatile memory, and control method and program thereof
US10650879B2 (en) Device and method for controlling refresh cycles of non-volatile memories
TW201438019A (en) A primary memory module with a record of usage history and applications of the primary memory module to a computer system
JP5983512B2 (en) Writing device
JP4661369B2 (en) Memory controller
TWI436367B (en) Method for operating non-volatile flash memory with write protection mechanism
JP5683558B2 (en) Flash memory control device, flash memory control method, and flash memory control program
JP2008234358A (en) Storage device, information processor, and unauthorized writing detection method
JP6972243B1 (en) Memory drive device, information processing device, and control method
TW202418090A (en) Data storage device and method for managing write buffer
TW202418092A (en) Data storage device and method for managing write buffer
JP2023031907A (en) Information processing apparatus and control method of information processing apparatus

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110920

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605