JP2010205167A - Nonvolatile memory, and control method and program thereof - Google Patents
Nonvolatile memory, and control method and program thereof Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
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
フラッシュメモリでは、複数のブロック(記憶素子)が備えられ、ブロック単位でデータの消去と書込(これを書換という)が行われるが、書換回数には制限がある。この書換回数は、フラッシュメモリ全体対しての回数ではなく、ブロック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.
フラッシュメモリにおいて、ハードウェアを用いてウェアレベリングを実装することは、コスト増や大型化という問題が生じるため、昨今のフラッシュメモリの普及状況を鑑みると現実的ではない。よって、ウェアレベリングは、ハードウェアではなく、ソフトウェアを用いて実装することが望ましい。 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.
以下、本発明を実施するための形態(実施形態)について添付図面を参照して詳細に説明する。本発明の不揮発性メモリの一実施形態として、電気的にデータの消去及び書込が可能なフラッシュメモリを例に説明する。 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 /
I/F回路2は、アドレス、データ、WAIT信号がそれぞれ伝送される信号線(バス)と接続される。また、本実施形態でのI/F回路2は、割込信号が伝送される信号線とも接続される。なお、アドレス、データ、WAIT信号がそれぞれ伝送される信号線は、図示しないCPU(Central Processing Unit)と接続されている。このCPUは、本実施形態のフラッシュメモリが接続(組込)されている電子機器のCPUである。
The I /
カウンタ3には、カウンタ用のクロックが入力される。このクロック入力は、例として、簡便さと通常時計として使用される水晶周波数の32.768kHzとし、規定値は0x40000(8秒)とする。このカウンタ3は、時間をカウントし、タイムスタンプを取得する。取得されたタイムスタンプは、カウンタ値としてRAM4の所定の領域に記録(設定)される。
A counter clock is input to the
また図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
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
次に、本実施形態のフラッシュメモリの動作(本発明のフラッシュメモリの制御方法及びプログラムの一実施形態)について図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
そして、前回の消去から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
ステップ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
ステップ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 /
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から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.
前記不揮発性メモリ又は前記不揮発性メモリと接続される電子機器は、
時間の計測を行うステップと、
前記複数のブロック毎に、最後に消去が行われたときの時間を記録しておくステップと、
所定のブロックの消去が行われた場合に、計測した現在の時間と、前記所定のブロックに対応して記録されている時間とに基づいて演算を行うステップと、
前記演算の結果が予め設定された規定値よりも小さい場合、ウェイト信号をアクティブにするステップと、
を有することを特徴とする不揮発性メモリの制御方法。 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:
時間の計測を行う処理と、
前記複数のブロック毎に、最後に消去が行われたときの時間を記録しておく処理と、
所定のブロックの消去が行われた場合に、計測した現在の時間と、前記所定のブロックに対応して記録されている時間とに基づいて演算を行う処理と、
前記演算の結果が予め設定された規定値よりも小さい場合、ウェイト信号をアクティブにする処理と、
をコンピュータに実行させることを特徴とするプログラム。 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.
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)
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 |
-
2009
- 2009-03-05 JP JP2009052521A patent/JP2010205167A/en not_active Withdrawn
Cited By (5)
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 |