[go: up one dir, main page]

JP2011138364A - Memory system - Google Patents

Memory system Download PDF

Info

Publication number
JP2011138364A
JP2011138364A JP2009298512A JP2009298512A JP2011138364A JP 2011138364 A JP2011138364 A JP 2011138364A JP 2009298512 A JP2009298512 A JP 2009298512A JP 2009298512 A JP2009298512 A JP 2009298512A JP 2011138364 A JP2011138364 A JP 2011138364A
Authority
JP
Japan
Prior art keywords
random number
block
data
unit
memory system
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.)
Pending
Application number
JP2009298512A
Other languages
Japanese (ja)
Inventor
Takaaki Ikeda
宇晶 池田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009298512A priority Critical patent/JP2011138364A/en
Publication of JP2011138364A publication Critical patent/JP2011138364A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】
本発明は、簡便な方法で、消去回数の記憶容量を低減可能なメモリシステムを提供する。
【解決手段】
データの消去の単位であるブロックにデータを記憶可能な記憶部と、前記記憶部に記憶されるデータが消去されるたびに保存される消去演算回数を記憶するカウンタ記憶部33と、前記記憶部に記憶される前記データが消去されるとき、乱数を取得する乱数取得部30と、前記乱数が、所定の条件を満たすか否かを判定する条件判定部31と、前記条件判定部31により前記乱数が所定の条件を満たすと判定されたとき、前記消去演算回数を歩進させる消去回数歩進部32と、前記記憶部に記憶された消去演算回数が所定の回数を超えたときに、前記所定の条件を変更する変更部34とを備えたことを特徴とするメモリシステム。
【選択図】図5
【Task】
The present invention provides a memory system capable of reducing the storage capacity of the number of erasures by a simple method.
[Solution]
A storage unit capable of storing data in a block which is a unit of erasing data; a counter storage unit 33 for storing the number of times of erasure calculation stored each time the data stored in the storage unit is erased; and the storage unit When the data stored in is erased, the random number acquisition unit 30 that acquires a random number, the condition determination unit 31 that determines whether the random number satisfies a predetermined condition, and the condition determination unit 31 When it is determined that the random number satisfies a predetermined condition, the erasure count step 32 for incrementing the erasure calculation count, and when the erasure calculation count stored in the storage section exceeds a predetermined count, A memory system comprising: a changing unit 34 for changing a predetermined condition.
[Selection] Figure 5

Description

本発明は、読み出し回数に制限を有するフラッシュメモリを用いたメモリシステムに関する。   The present invention relates to a memory system using a flash memory having a limit on the number of times of reading.

不揮発性半導体メモリ、例えば、フラッシュメモリは、様々な電子機器に搭載されてい
る。不揮発性半導体メモリには、例えばNAND型フラッシュメモリのように、データを
消去する場合にはブロック単位で行い、データの書き込み/読み出しの場合には、ページ単位で行うように、消去/書き込み/読み出しにおける管理単位が異なるものがある。
Nonvolatile semiconductor memories, such as flash memories, are mounted on various electronic devices. In a nonvolatile semiconductor memory, for example, as in a NAND flash memory, erasing / writing / reading is performed in units of blocks when erasing data, and in units of pages when writing / reading data. Some management units are different.

パーソナルコンピュータなどのホスト機器を用いて、不揮発性半導体メモリにデータの書き込みをするとき、不揮発性半導体メモリのアドレス領域を指定し書き込みを行う。   When data is written into the nonvolatile semiconductor memory using a host device such as a personal computer, the address area of the nonvolatile semiconductor memory is designated and written.

このような不揮発性半導体メモリはデータの上書きができないため、不揮発性半導体メモリのデータの書き換えをする際において、書き換え前のデータが保存された元ブロック内でホスト機器から書き換え要求がないデータを、書き換え後のデータの書き込み先である新ブロックに移し、この新ブロックにホスト機器から書き換え要求されたデータを書き込んだ後に、元ブロックに保存されたデータを消去する必要がある。つまり、外部から指定されたアドレスにデータの書き換えをしていくと、特定の領域に短時間に書き換え、すなわち消去の処理が集中し、特定の領域における消去回数の偏りが大きくなる。   Since such a nonvolatile semiconductor memory cannot overwrite data, when rewriting the data of the nonvolatile semiconductor memory, the data without a rewrite request from the host device in the original block in which the data before rewriting is saved, It is necessary to move to a new block where the data after rewriting is written, write the data requested to be rewritten from the host device to the new block, and then erase the data stored in the original block. In other words, when data is rewritten to an address designated from the outside, rewriting, that is, erasing processing concentrates in a specific area in a short time, and the bias of erasure frequency in the specific area increases.

そのため、不揮発性半導体メモリでは、データの書き換え箇所を均等に分散させるウェアレベリングと呼ばれる処理が行われる。このウェアレベリングの処理を行うために、不揮発性半導体メモリのブロックの消去回数をメモリ内に保存する必要がある。   Therefore, in the nonvolatile semiconductor memory, a process called wear leveling is performed in which data rewrite locations are evenly distributed. In order to perform the wear leveling process, it is necessary to store the number of erases of the block of the nonvolatile semiconductor memory in the memory.

近年の不揮発性半導体メモリの大容量化に伴い、不揮発性半導体メモリのブロック数が増大し、消去回数を保存する記憶容量も増大するという問題が生じる。   With the recent increase in capacity of nonvolatile semiconductor memories, there is a problem that the number of blocks of the nonvolatile semiconductor memory increases and the storage capacity for storing the number of erasures also increases.

特許第3401742号公報Japanese Patent No. 3401742

本発明は、簡便な方法で、消去回数の記憶容量を低減可能なメモリシステムを提供する。   The present invention provides a memory system capable of reducing the storage capacity of the number of erasures by a simple method.

本発明の一態様に係るメモリシステムは、データの消去の単位であるブロックにデータを記憶可能な記憶部と、前記記憶部に記憶されるデータが消去されるたびに保存される消去演算回数を記憶するカウンタ記憶部と、前記記憶部に記憶される前記データが消去されるとき、乱数を取得する乱数取得部と、前記乱数が、所定の条件を満たすか否かを判定する条件判定部と、前記条件判定部により前記乱数が所定の条件を満たすと判定されたとき、前記消去演算回数を歩進させる消去回数歩進部と、前記記憶部に記憶された消去演算回数が所定の回数を超えたときに、前記所定の条件を変更する変更部とを備えたことを特徴とする。   A memory system according to one embodiment of the present invention includes a storage unit that can store data in a block that is a unit of data erasing, and an erase operation count that is saved each time the data stored in the storage unit is erased. A counter storage unit that stores data, a random number acquisition unit that acquires a random number when the data stored in the storage unit is erased, and a condition determination unit that determines whether or not the random number satisfies a predetermined condition , When the condition determining unit determines that the random number satisfies a predetermined condition, the erasure count step for incrementing the erasure calculation count, and the erasure calculation count stored in the storage unit are set to a predetermined count. And a changing unit that changes the predetermined condition when exceeding the predetermined condition.

本発明によれば、簡便な方法で、消去回数の記憶容量を低減可能なメモリシステムを提供できる。   According to the present invention, it is possible to provide a memory system capable of reducing the storage capacity of the number of erasures by a simple method.

本発明の第1の実施形態におけるメモリシステムの一態様であるNAND型フラッシュメモリを備えたメモリシステムの構成を示すブロック図。1 is a block diagram showing a configuration of a memory system including a NAND flash memory that is an aspect of a memory system according to a first embodiment of the present invention. 本発明の第1の実施形態におけるメモリシステムの一態様であるNAND型フラッシュメモリセルアレイの構成を示す回路図。1 is a circuit diagram showing a configuration of a NAND flash memory cell array which is an aspect of a memory system according to a first embodiment of the present invention. 本発明の第1の実施形態におけるNANDコントローラの機能の概略を示すブロック図。1 is a block diagram showing an outline of functions of a NAND controller according to a first embodiment of the present invention. 本発明の第1の実施形態におけるNANDコントローラによるカウント動作を示すフローチャート図。The flowchart figure which shows the count operation by the NAND controller in the 1st Embodiment of this invention. 本発明の第1の実施形態の変形例3におけるNANDコントローラの機能の概略を示すブロック図。The block diagram which shows the outline of the function of the NAND controller in the modification 3 of the 1st Embodiment of this invention. 本発明の第2の実施形態におけるメモリシステムの乱数テーブル表を示す概念図。The conceptual diagram which shows the random number table of the memory system in the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるメモリシステムのデータの消去回数又は読み出し回数のカウント動作を示すフローチャート図。The flowchart figure which shows the count operation | movement of the frequency | count of erasing or reading of the data of the memory system in the 2nd Embodiment of this invention.

(第1の実施形態)
まず、本発明の第1の実施形態にかかるメモリシステムの構成について、図1及び図2を参照して説明する。図1は、本発明の第1の実施形態におけるメモリシステムの一態様であるNAND型フラッシュメモリを備えたメモリシステムの構成を示すブロック図である。また、図2は、本発明の第1の実施形態におけるメモリシステムの一態様であるNAND型フラッシュメモリセルアレイの構成を示す回路図である。
(First embodiment)
First, the configuration of the memory system according to the first embodiment of the present invention will be described with reference to FIG. 1 and FIG. FIG. 1 is a block diagram showing a configuration of a memory system including a NAND flash memory which is an aspect of the memory system according to the first embodiment of the present invention. FIG. 2 is a circuit diagram showing a configuration of a NAND flash memory cell array which is an aspect of the memory system according to the first embodiment of the present invention.

[メモリシステムの構成]
図1に示すように、メモリシステムは、NAND型フラッシュメモリ10とNANDコントローラ11で構成される。
[Memory system configuration]
As shown in FIG. 1, the memory system includes a NAND flash memory 10 and a NAND controller 11.

<NAND型フラッシュメモリ>
NAND型フラッシュメモリ10は、複数のメモリセルが直列に接続され、その両端に選択ゲートトランジスタが接続されたNANDストリングが複数メモリセルアレイ内に形成され、データの消去の単位であるブロックを複数有する。
<NAND flash memory>
The NAND flash memory 10 includes a plurality of blocks, each of which is a unit for erasing data, in which a plurality of memory cells are connected in series and NAND strings each having a selection gate transistor connected to both ends thereof are formed in a plurality of memory cell arrays.

より具体的には、図2に示すように、メモリセルアレイ内に形成された複数のNANDストリング20は、直列に接続された電気的書き換え可能な複数個の不揮発性メモリセルM1乃至Mnとその両端部にビット線BLに接続するための第1の選択ゲートトランジスタT1及びソース線に接続するための第2の選択ゲートトランジスタT2を有する。このNANDストリング20内における各不揮発性メモリセルの制御ゲートは、それぞれ異なるワード線に接続される。   More specifically, as shown in FIG. 2, the plurality of NAND strings 20 formed in the memory cell array include a plurality of electrically rewritable nonvolatile memory cells M1 to Mn connected in series and both ends thereof. The portion includes a first selection gate transistor T1 for connection to the bit line BL and a second selection gate transistor T2 for connection to the source line. The control gates of the nonvolatile memory cells in the NAND string 20 are connected to different word lines.

1つのワード線は、複数のNANDストリング20内のそれぞれ対応する不揮発性メモリセルで共有されている。第1及び第2の選択ゲートトランジスタT1,T2の制御ゲートはそれぞれ、ワード線と平行な第1及び第2の選択ゲート線SGD,SGSに接続される。1つのワード線を共有する不揮発性メモリセルMの集合は、データの読み出し又は書き込みの単位となるページを構成する。複数のページの集合は、データ消去の単位となるブロックを構成する。なお、理解を容易にするため、複数のブロックを説明する場合において、各ブロックには順序付けがなされているものとする。   One word line is shared by the corresponding nonvolatile memory cells in the plurality of NAND strings 20. The control gates of the first and second selection gate transistors T1 and T2 are connected to first and second selection gate lines SGD and SGS that are parallel to the word line, respectively. A set of nonvolatile memory cells M sharing one word line constitutes a page that is a unit for reading or writing data. A set of a plurality of pages constitutes a block serving as a data erasing unit. For ease of understanding, it is assumed that each block is ordered when a plurality of blocks are described.

<NANDコントローラ>
次に、NANDコントローラ11について図1を用いて、説明する。NANDコントローラ11は、ホストインターフェース回路(図1ではホストI/F)12、演算処理装置(以下、MPUという:Micro processing unit)13、ROM(Read-only memory)14、RAM(Random access memory)15、及びNANDインターフェース回路(図1ではNANDI/F)16を備えている。
<NAND controller>
Next, the NAND controller 11 will be described with reference to FIG. The NAND controller 11 includes a host interface circuit (host I / F in FIG. 1) 12, an arithmetic processing unit (hereinafter referred to as MPU) 13, a ROM (Read-only memory) 14, and a RAM (Random access memory) 15. , And a NAND interface circuit (NAND I / F in FIG. 1) 16.

ホストインターフェース回路12は、NANDコントローラ11とホスト装置との間における情報(コマンドCMD、アドレスADD、データDAT)の入出力の制御を行うためのものである。   The host interface circuit 12 controls input / output of information (command CMD, address ADD, data DAT) between the NAND controller 11 and the host device.

MPU13は、NANDコントローラ11全体の動作を制御するためのものである。MPU13は、例えば、メモリシステムが電源供給を受けて、ROM14に格納されているファームウェア(制御プログラム)をRAM15上に読み出して所定の処理を実行することにより、各種のテーブルをRAM15上に作成する。   The MPU 13 is for controlling the entire operation of the NAND controller 11. The MPU 13 creates various tables on the RAM 15 by, for example, receiving power from the memory system, reading the firmware (control program) stored in the ROM 14 onto the RAM 15 and executing predetermined processing.

ROM14は、MPU13により制御される制御プログラム等を格納する。   The ROM 14 stores a control program controlled by the MPU 13.

RAM15は、MPU13の作業エリアとして使用され、ROM14から読み出された制御プログラムや各種のテーブルを記憶する。このRAM15には、ブロックカウンタテーブル17a、ページカウンタテーブル17bが設けられている。このブロックカウンタテーブル17aにはメモリセルアレイ内の各ブロックにおけるデータの消去演算回数が保存されており、ページカウンタテーブル17bには各ページにおけるデータの読出演算回数が保存されている。   The RAM 15 is used as a work area for the MPU 13 and stores control programs and various tables read from the ROM 14. The RAM 15 is provided with a block counter table 17a and a page counter table 17b. The block counter table 17a stores the number of data erase operations in each block in the memory cell array, and the page counter table 17b stores the number of data read operations in each page.

NANDインターフェース回路16は、NANDコントローラ11とNAND型フラッシュメモリ10との間における情報の入出力の制御を行う。   The NAND interface circuit 16 controls input / output of information between the NAND controller 11 and the NAND flash memory 10.

次に、上記第1の実施形態におけるNANDコントローラ11の機能うちカウンタ機能の概略について図3のブロック図を用いて、説明する。   Next, an outline of the counter function among the functions of the NAND controller 11 in the first embodiment will be described with reference to the block diagram of FIG.

図3に示すように、NANDコントローラ11のうちカウンタ機能を司る部分は、乱数取得部30と、条件判定部31と、消去回数歩進部32と、カウンタ記憶部33とを有する。乱数取得部30は、ホスト機器の要求によりあるブロックにおけるデータが消去されると、又はホスト機器の要求によりあるページにおけるデータが読み出されると、MPU13を用いて、ROM14上に格納されている乱数発生プログラムを読み出し、この乱数発生プログラムによって発生された乱数をRAM15上に保存する。   As shown in FIG. 3, the part that controls the counter function of the NAND controller 11 includes a random number acquisition unit 30, a condition determination unit 31, an erase count step unit 32, and a counter storage unit 33. The random number acquisition unit 30 generates random numbers stored on the ROM 14 using the MPU 13 when data in a certain block is erased by a request from the host device or when data in a page is read by a request from the host device. The program is read, and the random number generated by the random number generation program is stored on the RAM 15.

条件判定部31は、上記の乱数発生プログラムにより発生する乱数が、所定の条件を満たすか否かを判定するためのものである。具体的には、ROM14上に格納されている条件判定プログラムを用いて、RAM15上に保存された乱数が後述する所定の条件を満たすか判断し、後述する消去回数歩進部32に歩進させるか否かの判断データを転送する。   The condition determination unit 31 is for determining whether or not a random number generated by the random number generation program satisfies a predetermined condition. Specifically, using a condition determination program stored on the ROM 14, it is determined whether a random number stored on the RAM 15 satisfies a predetermined condition described later, and an erasure count stepping unit 32 described later is incremented. Whether or not is transferred.

ここで、条件判定部31により、乱数が所定の条件を満たすか判断し判断データを消去回数歩進部32に転送するとは、例えば乱数発生プログラムによって発生する乱数が0又は1の場合において、乱数が1のときのみ消去回数歩進部32に歩進させる判断データを転送することを意味する。   Here, the condition determination unit 31 determines whether the random number satisfies a predetermined condition and transfers the determination data to the erasure count stepping unit 32. For example, when the random number generated by the random number generation program is 0 or 1, This means that the judgment data to be advanced is transferred to the erasure count step 32 only when is 1.

なお、所定の条件は、例えば(1)一定範囲内(例えば、0から255までの整数の範囲内)で乱数発生プログラムによって発生した乱数が予めRAM15に記憶されている閾値(例えば、127)よりも大きいか又は小さいか、(2)一定範囲内(例えば、0から255までの整数の範囲内)で乱数発生プログラムによって発生した乱数がある特定の値(例えば、127)に該当するか、あるいは(3)上記の一定範囲内のある特定の範囲(例えば、127から255)に発生した乱数が属するかなどの設定とすることができる。   The predetermined condition is, for example, (1) based on a threshold (for example, 127) in which random numbers generated by the random number generation program within a certain range (for example, within an integer range of 0 to 255) are stored in the RAM 15 in advance. Or (2) a random number generated by a random number generation program within a certain range (for example, an integer range from 0 to 255) falls within a certain value (for example, 127), or (3) It is possible to set whether or not a random number generated in a specific range (for example, 127 to 255) within the above-mentioned fixed range belongs.

消去回数歩進部32は、条件判定部31から転送された判断データに基づいて、消去演算回数又は読出演算回数を歩進するためのものである。   The erase count step 32 is used to increment the erase count or read count based on the determination data transferred from the condition determination section 31.

ある特定のブロックに保存されているデータが消去され、判断データを消去回数歩進部32が受信したとき、消去回数歩進部32は、RAM15内に設けられたブロックカウンタテーブル17aのうちある特定のブロックにおけるデータの消去演算回数をRAM15上に読み出す。発生された乱数が前述した所定の条件を満たす判断データを受信した場合には、消去回数歩進部32は、上記のブロックカウンタテーブル17a内のある特定のブロックにおけるデータの消去演算回数を歩進させ、再度ブロックカウンタテーブル17aに保存する。   When data stored in a specific block is erased and the determination data is received by the erasure count stepping unit 32, the erasure count stepping unit 32 selects a specific one of the block counter tables 17a provided in the RAM 15. The number of data erasure operations in this block is read onto the RAM 15. When the generated random number receives the determination data that satisfies the above-mentioned predetermined condition, the erase count increment unit 32 increments the number of data erase operations in a specific block in the block counter table 17a. And store it again in the block counter table 17a.

なお、ある特定のページに保存されているデータが読み出された場合には、消去回数歩進部32は、ページカウンタテーブル17b内のある特定のページにおけるデータの読出演算回数を読み出し、読出演算回数を歩進させる場合には、ページカウンタテーブル17bに再度保存する。   When data stored in a specific page is read out, the erasure count stepping unit 32 reads out the read operation count of data in a specific page in the page counter table 17b and reads out the read operation. When incrementing the number of times, it is stored again in the page counter table 17b.

カウンタ記憶部33は、NANDフラッシュメモリ10内の各ブロックの消去演算回数が保存されているブロックカウンタテーブル17aと、各ページの読出演算回数が保存されているページカウンタテーブル17bで構成される。   The counter storage unit 33 includes a block counter table 17a in which the number of erase operations for each block in the NAND flash memory 10 is stored, and a page counter table 17b in which the number of read operations for each page is stored.

[消去の回数又は読み出し回数のカウント動作]
次に、本実施形態におけるNANDコントローラ11による消去回数又は読み出し回数のカウント動作について図1及び図4を用いて説明する。図4は、本発明の第1の実施形態におけるNANDコントローラ11によるカウント動作を示すフローチャート図である。
[Counting the number of times of erasing or reading]
Next, the counting operation of the number of times of erasing or the number of times of reading by the NAND controller 11 in the present embodiment will be described with reference to FIGS. FIG. 4 is a flowchart showing the count operation by the NAND controller 11 in the first embodiment of the present invention.

なお、説明を簡単にするため、メモリセルアレイに形成されたブロックが2つ(第1ブロック、第2ブロックとする)の場合を考える。   In order to simplify the description, consider a case where there are two blocks (first block and second block) formed in the memory cell array.

まず、ステップS1で、ホスト機器により、例えば第1ブロックのデータの消去要求がなされ、MPU13により第1ブロックにおけるデータが消去される。   First, in step S1, for example, the host device issues a request to erase data in the first block, and the MPU 13 erases data in the first block.

次に、ステップS2で、第1ブロックのデータが消去されると、ROM14に格納されている乱数発生プログラムをMPU13によりRAM15上に読み出し、乱数を発生させる。この発生させる乱数は、一定範囲(例えば、0から63まで)内の乱数とする。この乱数をRAM15上に一時保存する。   Next, in step S2, when the data of the first block is erased, the random number generation program stored in the ROM 14 is read onto the RAM 15 by the MPU 13 to generate random numbers. The random number to be generated is a random number within a certain range (for example, 0 to 63). This random number is temporarily stored in the RAM 15.

そして、ステップS3で、MPU13を用いて、RAM15上に条件判定プログラムを読み出し、乱数が所定の条件を満たすか否かを判定する。ここでは、例えば所定の条件を乱数が「0」か否かという条件とする。ステップS2で発生される乱数が「0」の場合(ステップS3でYesの場合)には、MPU13を用いて、RAM15上に記憶されているブロックカウンタテーブル17aのうち第1ブロックの消去演算回数をRAM15に読み出して、一時保存する。その後、MPU13を用いて、消去回数歩進プログラムにより第1ブロックの消去演算回数を歩進する(ステップS4)。この歩進された消去演算回数を第1ブロックの消去演算回数としてブロックカウンタテーブル17aに再度保存する(ステップS5)。   In step S3, the MPU 13 is used to read a condition determination program on the RAM 15 and determine whether the random number satisfies a predetermined condition. Here, for example, the predetermined condition is a condition that the random number is “0” or not. If the random number generated in step S2 is “0” (Yes in step S3), the MPU 13 is used to calculate the number of erase operations for the first block in the block counter table 17a stored on the RAM 15. Read to RAM 15 and temporarily store. Thereafter, the MPU 13 is used to increment the erase operation count of the first block by the erase count increment program (step S4). The incremented erase operation count is stored again in the block counter table 17a as the first block erase operation count (step S5).

一方で、ステップS2で発生される乱数が「0」以外の場合(ステップS3でNoの場合)には、MPU13を用いて、RAM15上に記憶されているブロックカウンタテーブル17aのうち第1ブロックの消去演算回数をそのまま保存する(ステップS5)。   On the other hand, when the random number generated in step S2 is other than “0” (in the case of No in step S3), the MPU 13 is used to store the first block in the block counter table 17a stored on the RAM 15. The number of erasure operations is stored as it is (step S5).

そして、ステップS5で消去演算回数を保存後に、終了する(ステップS6)。   Then, after storing the number of erasure operations in step S5, the process ends (step S6).

上記のステップS1からS5を第1ブロックにおけるデータの消去時だけでなく、第2ブロックにおけるデータの消去時も同様に行う。   The above steps S1 to S5 are performed not only when erasing data in the first block but also when erasing data in the second block.

以上より、簡便な方法で、消去回数の記憶容量を低減可能なメモリシステムを提供できる。   As described above, it is possible to provide a memory system capable of reducing the storage capacity of the number of erasures by a simple method.

本実施形態におけるメモリシステムでは、ブロックのデータが消去されるごとにブロックカウンタテーブル17a内の消去演算回数を歩進させるわけではなく、ブロックのデータが消去されても、ブロックカウンタテーブル17a内の消去演算回数を歩進させない場合もある。   In the memory system according to the present embodiment, the number of erase operations in the block counter table 17a is not incremented every time the block data is erased. Even if the block data is erased, the erase in the block counter table 17a is not performed. There are cases where the number of computations is not incremented.

このため、消去回数よりも歩進される消去演算回数の方が少なくなる。その結果、ブロックカウンタテーブル17a内の消去演算回数を、実際の消去回数よりも小さくすることができ、ブロックカウンタテーブル17aに保存される記憶容量を低減することができる。   For this reason, the number of erase operations to be incremented is smaller than the number of erase operations. As a result, the number of erase operations in the block counter table 17a can be made smaller than the actual number of erase operations, and the storage capacity stored in the block counter table 17a can be reduced.

なお、本実施形態では、所定の条件を乱数が「0」か否かとする例を示したが、所定の条件としては、消去の回数又は読み出しの回数を確率的に歩進させる構成であればよく、上記条件に制約される必要はない。例えば、所定の条件を発生された乱数が一定の範囲内に属しているか否かという条件でもよく、所定の条件を発生された乱数がメモリシステムに予め保存されたある閾値よりも大きいか小さいかを判断する条件としてもよい。   In the present embodiment, an example in which the predetermined condition is whether the random number is “0” or not is shown. However, as the predetermined condition, the number of erasures or the number of readings may be increased stochastically. Well, there is no need to be constrained by the above conditions. For example, it may be a condition that whether or not a random number generated under a predetermined condition belongs within a certain range, and whether the random number generated under a predetermined condition is larger or smaller than a certain threshold stored in advance in the memory system It is good also as conditions for judging.

また、読み出し回数のカウント動作については、ステップS3まで同様の動作を行い、発生された乱数が所定の条件を満たす場合には、ページカウンタテーブル17b内の読み出しカウンタを歩進させる。一方で、発生された乱数が所定の条件を満たさない場合には、ページカウンタテーブル17b内の読み出しカウンタを歩進せず、そのまま保存する。   As for the count operation of the number of readings, the same operation is performed up to step S3, and when the generated random number satisfies a predetermined condition, the reading counter in the page counter table 17b is incremented. On the other hand, when the generated random number does not satisfy the predetermined condition, the read counter in the page counter table 17b is not incremented and stored as it is.

[第1の実施形態の変形例1]
本発明の第1の実施形態では、例えば第1ブロックにおけるデータを消去するときに、乱数発生プログラムを読み出し、1つの乱数を発生させているが、第1の実施形態の変形例として、乱数発生プログラムを読み出し発生させる乱数を複数としてもよい。
[Modification 1 of the first embodiment]
In the first embodiment of the present invention, for example, when erasing data in the first block, the random number generation program is read and one random number is generated. However, as a modification of the first embodiment, random number generation is performed. A plurality of random numbers for reading and generating a program may be used.

具体的には、一定の範囲内にある乱数を複数個(例えば2個とし、ここでは、以下第1の乱数、第2の乱数という)発生させる。そして、この複数個の乱数に順序をつけてテーブルとしてRAM15に一時保存する(例えば、第1の乱数が1番目で第2の乱数が2番目とする)。始めに、第1ブロックにおけるデータを消去したときに1番目の乱数(第1の乱数)を用いて上記のステップS1からステップS4を行い、次の第2ブロックにおけるデータを消去したときに2番目の乱数(第2の乱数)を用いて上記ステップS1からステップS4を行う。   Specifically, a plurality of random numbers (for example, two, for example, hereinafter referred to as a first random number and a second random number) are generated within a certain range. Then, the plurality of random numbers are ordered and temporarily stored in the RAM 15 as a table (for example, the first random number is the first and the second random number is the second). First, when the data in the first block is erased, the above-described steps S1 to S4 are performed using the first random number (first random number), and the second data is erased when the data in the next second block is erased. Steps S1 to S4 are performed using the random number (second random number).

これにより、MPU13によりデータが消去されるごとに乱数発生プログラムを読み出す必要がない。このため、乱数発生にかかる時間を短くすることができる。   This eliminates the need to read the random number generation program every time data is erased by the MPU 13. For this reason, the time required for random number generation can be shortened.

[第1の実施形態の変形例2]
本発明の第1の実施形態におけるメモリシステムは、ホスト機器に接続する記憶装置を対象としているが、本発明の第1の実施形態の変形例として、メモリシステムが記憶装置をホスト機器に接続したシステム全体を含めてもよい。このとき、本実施形態における乱数発生プログラム、条件判定プログラム、及び消去回数歩進プログラムはホスト機器に記憶されており、ホスト機器の中央演算処理装置を用いて、上記の消去演算回数又は読出演算回数の歩進を行い、RAM15上のブロックカウンタテーブル17a又はページカウンタテーブル17bに保存してもよい。
[Modification 2 of the first embodiment]
The memory system according to the first embodiment of the present invention is intended for a storage device connected to a host device, but as a modification of the first embodiment of the present invention, the memory system connects the storage device to the host device. The entire system may be included. At this time, the random number generation program, the condition determination program, and the erase count step program according to the present embodiment are stored in the host device, and the above-mentioned erase count or read count is calculated using the central processing unit of the host device. May be stored in the block counter table 17a or the page counter table 17b on the RAM 15.

[第1の実施形態の変形例3]
本発明の第1の実施形態におけるメモリシステム内の乱数発生プログラムと条件判定プログラムの変形例について説明する。説明を簡単にするため、条件判定プログラムの所定の条件を、発生された乱数が「0」か否かという条件とする。
[Modification 3 of the first embodiment]
A modification of the random number generation program and the condition determination program in the memory system according to the first embodiment of the present invention will be described. In order to simplify the description, a predetermined condition of the condition determination program is set as a condition whether or not the generated random number is “0”.

本発明の第1の実施形態で発生する乱数は、一定範囲(例えば、「0から63まで」)における乱数である。第1の実施形態の変形例3では、この乱数の一定範囲を広く設定する。例えば、「0から255まで」の一定範囲内における乱数を発生させるように設定する。これにより、発生した乱数が「0」となる確率が第1の実施形態の場合に比べて、低くなる。   The random number generated in the first embodiment of the present invention is a random number within a certain range (for example, “0 to 63”). In the third modification of the first embodiment, a certain range of this random number is set wide. For example, it is set to generate a random number within a certain range of “0 to 255”. As a result, the probability that the generated random number is “0” is lower than in the first embodiment.

従って、あるブロックのデータが消去されて又はあるページからデータが読み出され、消去回数歩進部23によりブロックカウンタテーブル17a内にあるブロックの消去演算回数又はページカウンタテーブル17b内にあるページの読出演算回数が歩進される確率も低くなる。その結果、ブロックカウンタテーブル17aに保存される消去演算回数、読出演算回数の記憶容量を低減することができる。   Accordingly, data in a certain block is erased or data is read out from a certain page, and the number of erase operations of the block in the block counter table 17a or the reading of the page in the page counter table 17b is performed by the erasure count stepping unit 23. The probability that the number of operations is incremented is also reduced. As a result, the storage capacity for the number of erase operations and the number of read operations stored in the block counter table 17a can be reduced.

一方で、第1の実施形態の変形例3における乱数の一定範囲を第1の実施形態に対して狭く設定してもよい。例えば、「0から16まで」の一定範囲内における乱数を発生させるように設定する。これにより、発生した乱数が「0」となる確率が第1の実施形態の場合に比べて、高くなる。   On the other hand, you may set the fixed range of the random number in the modification 3 of 1st Embodiment narrowly with respect to 1st Embodiment. For example, it is set to generate a random number within a certain range of “0 to 16”. As a result, the probability that the generated random number is “0” is higher than in the first embodiment.

その結果、あるブロックのデータが消去される回数又はあるページのデータが読み出される回数を、ブロックカウンタテーブル17a又はページカウンタテーブル17bが第1の実施形態に比べて、正確に示すことができる。   As a result, the block counter table 17a or the page counter table 17b can accurately indicate the number of times the data of a certain block is erased or the number of times the data of a certain page is read compared to the first embodiment.

なお、図5に示すように、各ブロックにおける消去演算回数が、所定の回数を超えたときに、上記の一定範囲を変更する変更部34を、さらに、メモリシステム内に設けてもよい。図5は、本発明の第1の実施形態の変形例3におけるNANDコントローラの機能の概略を示すブロック図である。   As shown in FIG. 5, a change unit 34 that changes the above-mentioned fixed range when the number of erase operations in each block exceeds a predetermined number may be further provided in the memory system. FIG. 5 is a block diagram showing an outline of functions of the NAND controller in the third modification of the first embodiment of the present invention.

メモリセルにはデータの消去回数の上限が決まっている。データの消去回数がこの上限に近い数を超えたときに、発生する乱数の一定範囲を狭めるように、上記の所定の回数が設定された変更部34を用いて変更してもよい。例えば、所定の回数をメモリセルの消去回数の上限に近い数に消去演算回数が歩進される確率をかけた数とし、あるブロックの消去演算回数がこの所定の回数を超えたときに、変更部34を用いて変更する。   A memory cell has an upper limit on the number of times data can be erased. When the number of data erasures exceeds a number close to this upper limit, the change may be made by using the changing unit 34 in which the predetermined number of times is set so as to narrow a certain range of random numbers generated. For example, the predetermined number of times is set to a number that is close to the upper limit of the number of times of erasing the memory cell multiplied by the probability that the number of erasing operations is incremented. It changes using the part 34.

これによって、この一定範囲が狭まるように変更されるとデータの消去回数又はデータの読み出し回数を正確に示すことができる。   Thus, when the certain range is changed to be narrowed, the number of data erasures or the number of data readings can be accurately indicated.

つまり、ブロックカウンタテーブル17a又はページカウンタテーブル17bに保存される消去演算回数又は読出演算回数の記憶容量を低減することができるとともに、データの消去回数又はデータの読み出し回数をより正確に示すこともできる。その結果、各メモリセルに対してデータの消去回数又はデータの読み出し回数の平準化を行うことができる。メモリセルの寿命を長くすることができる。   That is, it is possible to reduce the storage capacity of the number of erase operations or the number of read operations stored in the block counter table 17a or the page counter table 17b, and more accurately indicate the number of data erase times or the number of data read times. . As a result, the data erase count or the data read count can be leveled for each memory cell. The lifetime of the memory cell can be extended.

(第2の実施形態)
次に、本発明の第2の実施形態にかかるメモリシステムの構成については、図1及び図6を参照して説明する。図6は本発明の第2の実施形態におけるメモリシステムの乱数テーブル表を示す概念図である。
(Second Embodiment)
Next, the configuration of the memory system according to the second embodiment of the present invention will be described with reference to FIGS. FIG. 6 is a conceptual diagram showing a random number table of the memory system in the second embodiment of the present invention.

なお、第2の実施形態におけるメモリシステムは、第1の実施形態のメモリシステムに対して、メモリシステムに予め順序付けされた乱数が保存されている乱数テーブル(乱数記憶部)が格納されており、データの消去をするごとに順序に沿って乱数が読み出され、例えばブロックカウンタテーブル17aの消去演算回数を歩進させるか否かを判断する点が異なり、その他の構成部分については、同一構成を有している。従って、以下の説明において、第1の実施形態と同様の構成部分については、詳細説明を省略し、異なる構成部分について説明する。   Note that the memory system in the second embodiment stores a random number table (random number storage unit) in which random numbers previously stored in the memory system are stored in the memory system of the first embodiment. Random numbers are read in order each time data is erased. For example, it is determined whether or not to increment the number of erasure operations in the block counter table 17a, and the other components have the same configuration. Have. Therefore, in the following description, detailed description of the same components as those in the first embodiment will be omitted, and different components will be described.

[メモリシステムの構成]
本発明の第2の実施形態におけるメモリシステムでは、第1の実施形態のメモリシステムと異なり、乱数発生プログラムが設けられていない。本実施形態のメモリシステムには、順序付けされた乱数が保存されている乱数テーブルが例えばRAM15に保存されている。
[Memory system configuration]
Unlike the memory system according to the first embodiment, the memory system according to the second embodiment of the present invention does not include a random number generation program. In the memory system of this embodiment, a random number table in which ordered random numbers are stored is stored in, for example, the RAM 15.

例えば、図6に示すように、0又は1の乱数が複数保存されており、それぞれの乱数はポインタの番号により順序付けされている。ポインタの番号に沿って、保存されている乱数が読み出される。この保存されている乱数の個数は素数個(図6では、67個)、ポインタの番号も同数の素数個(図6では、67個)あり、乱数テーブルを構成している。   For example, as shown in FIG. 6, a plurality of random numbers of 0 or 1 are stored, and each random number is ordered by a pointer number. The stored random number is read out along the pointer number. The number of stored random numbers is a prime number (67 in FIG. 6), and the number of pointers is the same number of prime numbers (67 in FIG. 6), forming a random number table.

[消去の回数又は読み出し回数のカウント動作]
次に、上記の乱数テーブルを用いて、メモリシステムのデータの消去回数又はデータの読み出し回数のカウント動作について図7を用いて、説明する。図7は、本発明の第2の実施形態におけるメモリシステムのデータの消去回数又は読み出し回数のカウント動作を示すフローチャート図である。
[Counting the number of times of erasing or reading]
Next, the operation of counting the number of times data is erased or the number of times data is read from the memory system will be described with reference to FIG. FIG. 7 is a flowchart showing the counting operation of the number of times of erasing or reading of data in the memory system according to the second embodiment of the present invention.

なお、消去演算回数又は読出演算回数を歩進させるかを同時に判断するブロックの範囲(以下、歩進判断範囲という)をn個(nは自然数)のブロックとする。歩進判断範囲内のブロックの個数は、ホスト機器からの消去要求に応じて変化する。   Note that a block range (hereinafter referred to as a step determination range) for simultaneously determining whether to increment the number of erase operations or the number of read operations is n (n is a natural number) blocks. The number of blocks within the step determination range changes in response to an erase request from the host device.

まず、ステップS1で、MPU13を用いて、初期状態における乱数テーブル内に設定されているポインタiを読み出す。ステップS2で、ホスト機器により、例えば歩進判断領域内のn個のブロックの消去要求がなされ、MPU13により歩進判断領域内のn個のブロックにおけるデータが消去される。このとき、MPU13により歩進判断領域内のn個のブロックに対応するポインタが、ポインタiを始点として歩進判断領域内のブロックの個数と同数設定される(ブロックの昇降順に対応するn個のポインタをポインタi乃至ポインタi+n−1として設定される)。   First, in step S1, the MPU 13 is used to read the pointer i set in the random number table in the initial state. In step S2, for example, the host device makes an erase request for n blocks in the progress determination area, and the MPU 13 erases data in the n blocks in the progress determination area. At this time, the MPU 13 sets the same number of pointers corresponding to n blocks in the progress determination area as the number of blocks in the progress determination area starting from the pointer i (n blocks corresponding to the ascending / descending order of blocks). Pointers are set as pointer i to pointer i + n−1).

なお、以下の説明を簡単にするために、メモリセルアレイに形成されるブロックを2個(第1ブロック、第2ブロックとする)とし、上記の乱数テーブル内に保存されている乱数の個数より小さな数である2個のブロックが常に歩進判断領域である場合を仮定する。   To simplify the following description, the number of blocks formed in the memory cell array is two (first block and second block), which is smaller than the number of random numbers stored in the random number table. Assume that two blocks that are numbers are always step determination areas.

この場合、ステップS2では、例えばホスト機器の要求により第1ブロック及び第2ブロックのデータが消去されると、第1ブロックにはポインタ1、第2ブロックにはポインタ2が設定される。   In this case, in step S2, for example, when the data of the first block and the second block are erased by a request from the host device, the pointer 1 is set for the first block and the pointer 2 is set for the second block.

次に、ステップS2後に、MPU13によりRAM15に保存されている乱数テーブルが読み込まれ、この乱数テーブルのうち、ステップS2でMPU13により設定されたそれぞれのポインタに対応する乱数がRAM15上に読み出される。上記の例の場合には、第1ブロックに設定されたポインタ1に対応する「0」が、第2ブロックに設定されたポインタ2に対応する「0」が読み出される(ステップS3)。   Next, after step S2, the random number table stored in the RAM 15 is read by the MPU 13, and out of this random number table, the random number corresponding to each pointer set by the MPU 13 in step S2 is read onto the RAM 15. In the case of the above example, “0” corresponding to the pointer 1 set in the first block and “0” corresponding to the pointer 2 set in the second block are read (step S3).

そして、ステップS4で、MPU13を用いて、RAM15上に条件判定プログラムを読み出し、読み出されたそれぞれの乱数が所定の条件を満たすか否かを判定する。例えば、所定の条件を乱数が「0」か否かという条件とする。ステップS3で発生される乱数が「0」の場合(ステップS4でYesの場合)には、MPU13を用いて、RAM15上に記憶されているブロックカウンタテーブル17aのうち各ブロックの消去演算回数をRAM15に読み出し、一時保存する。その後、MPU13により消去回数歩進プログラムを用いて、各ブロックの消去演算回数を歩進する(ステップS5)。上記の例では、第1ブロックに対応する乱数が「0」であるため、第1ブロックの消去演算回数に1を加えた回数を第1ブロックの消去演算回数として歩進される(ステップS5)。同様に、第2ブロックに対応する乱数も「0」であるため、第2ブロックの消去演算回数も1加算される(ステップS5)。   In step S4, the MPU 13 is used to read a condition determination program on the RAM 15, and determine whether each read random number satisfies a predetermined condition. For example, the predetermined condition is a condition that the random number is “0” or not. If the random number generated in step S3 is “0” (Yes in step S4), the MPU 13 is used to store the number of erase operations for each block in the block counter table 17a stored in the RAM 15 in the RAM 15. And store it temporarily. Thereafter, the MPU 13 increments the number of erase operations for each block using an erase count increment program (step S5). In the above example, since the random number corresponding to the first block is “0”, the number obtained by adding 1 to the number of erase operations in the first block is incremented as the number of erase operations in the first block (step S5). . Similarly, since the random number corresponding to the second block is also “0”, the number of erase operations of the second block is also incremented by 1 (step S5).

この第1ブロックの歩進された消去演算回数、第2ブロックの歩進された消去演算回数をブロックカウンタテーブル17aに再度保存する(ステップS6)。   The number of erase operations advanced in the first block and the number of erase operations advanced in the second block are stored again in the block counter table 17a (step S6).

一方で、ステップS2で発生される乱数が「0」以外の場合(ステップS4でNoの場合)には、MPU13を用いて、RAM15上に記憶されているブロックカウンタテーブル17aのうち各ブロックの消去演算回数をそのまま保存する(ステップS6)。   On the other hand, if the random number generated in step S2 is other than “0” (No in step S4), the MPU 13 is used to erase each block in the block counter table 17a stored on the RAM 15. The number of calculations is stored as it is (step S6).

ブロックカウンタテーブル17a内のブロックの消去演算回数を保存した後に、上記ステップS1〜S6内で使用したポインタのうち、ポインタの番号が最大なポインタに1加算して、乱数テーブル内に設定することで終了する(ステップS7)。上記の例の場合には、ポインタの番号が最大なポインタはポインタ2であるため、ポインタ3に歩進させて、乱数テーブル内に設定することで終了する。   After storing the number of block erase operations in the block counter table 17a, the pointer used in steps S1 to S6 is incremented by 1 and set in the random number table. The process ends (step S7). In the case of the above example, since the pointer with the largest pointer number is the pointer 2, the process is terminated by stepping the pointer 3 and setting it in the random number table.

ステップS7後に、例えば再度第1ブロック及び第2ブロックにおけるデータの消去要求がホスト機器によりなされると、MPU13を用いて、乱数テーブル内に設定されているポインタ3を読み出す。上記のステップS2同様に、MPU13により第1ブロック及び第2ブロックのデータが消去されると、MPU13を用いてRAM15に保存されている乱数テーブルを読み出し、乱数テーブルのうちMPU13により設定されたポインタ3,4に対応する乱数をRAM15上に読み出す。   After step S7, for example, when the host device makes a data erasure request again in the first block and the second block, the MPU 13 is used to read the pointer 3 set in the random number table. Similarly to the above step S2, when the data of the first block and the second block is erased by the MPU 13, the random number table stored in the RAM 15 is read using the MPU 13, and the pointer 3 set by the MPU 13 in the random number table is read. , 4 are read out on the RAM 15.

このように、例えばホスト機器により歩進判断領域内の2個のブロックにおけるデータの消去要求がなされる度に、2個のポインタそれぞれを順序に沿って2個ずらし、ずらした後のポインタそれぞれに対応する乱数を取得する。それぞれの乱数を用いて、条件判定プログラムを適用する。ただし、ポインタ65とポインタ66に対応する乱数を用いて条件判定プログラムを適用した後に、第1ブロック及び第2ブロックのデータが再度消去された場合には、ポインタ67に設定されている。ポインタ67の次のポインタについては、乱数テーブル内のポインタ1に戻して、条件判定プログラムを適用する。つまり、乱数テーブル内のポインタをひととおり使用した後には、ポインタをポインタ1にずらし、条件判定プログラムを適用する。   In this way, for example, every time the host device makes a data erasure request in two blocks in the progress determination area, the two pointers are shifted by two according to the order, and the pointers after the shift are respectively changed. Get the corresponding random number. A condition determination program is applied using each random number. However, the pointer 67 is set when the data of the first block and the second block are erased again after applying the condition determination program using the pointer 65 and the random number corresponding to the pointer 66. The pointer next to the pointer 67 is returned to the pointer 1 in the random number table, and the condition determination program is applied. That is, after using all the pointers in the random number table, the pointer is shifted to the pointer 1 and the condition determination program is applied.

以上より、取得した乱数に対して、条件判定プログラムを適用することで、簡便な方法で、消去回数の記憶容量を低減可能なメモリシステムを提供できる。   As described above, by applying the condition determination program to the acquired random number, it is possible to provide a memory system that can reduce the storage capacity of the number of erasures by a simple method.

本実施形態では、メモリシステムに予め順序付けされた乱数が保存されている乱数テーブルを保存されている。このため、あるブロックにおけるデータの消去されるたびに乱数を発生させる必要がない。そのため、第1の実施形態に比べて、消去回数又は読み出し回数のカウント動作の処理を迅速にすることができる。   In the present embodiment, a random number table that stores pre-ordered random numbers is stored in the memory system. For this reason, it is not necessary to generate a random number every time data in a certain block is erased. Therefore, compared with the first embodiment, it is possible to speed up the processing of counting the number of times of erasure or the number of times of reading.

また、本実施形態では、乱数テーブル内に保存されている乱数を素数個にしている。また、ブロックのデータを消去する際に、乱数テーブル内のポインタをひととおり使用した後には再度ポインタがポインタ1に戻るため、ポインタが複数回使用される場合がある。このため、あるポインタを1回目に使用するブロックと、あるポインタを複数回目(例えば2回目)に使用するブロックとは異なる場合がある。上記の例であれば、ポインタ1を1回目に使用するのは第1ブロックであり、2回目に使用するのは第2ブロックとなる。   In the present embodiment, the random numbers stored in the random number table are prime numbers. Further, when erasing block data, the pointer returns to the pointer 1 again after using the pointer in the random number table all the time, so the pointer may be used a plurality of times. For this reason, a block that uses a certain pointer for the first time may be different from a block that uses a certain pointer for a plurality of times (for example, the second time). In the above example, the pointer 1 is used for the first time for the first block, and the second time is used for the second block.

その結果、ブロックカウンタテーブル17aの各ブロックに対する消去演算回数の歩進に偏りが生じにくくなる。その結果、メモリセルの消去回数の平準化を行うことができ、メモリセルの寿命を長くすることができる。   As a result, it is difficult to cause a bias in the number of erase operations for each block in the block counter table 17a. As a result, the number of erases of the memory cell can be leveled, and the life of the memory cell can be extended.

なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。   Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be extracted as an invention.

10…NAND型フラッシュメモリ
11…NANDコントローラ
12…ホストインターフェース回路
13…MPU
14…ROM
15…RAM
16…NANDインターフェース回路
17a…ブロックカウンタテーブル
17b…ページカウンタテーブル
30…乱数取得部
31…条件判定部
32…消去回数歩進部
33…カウンタ記憶部
34…変更部
DESCRIPTION OF SYMBOLS 10 ... NAND type flash memory 11 ... NAND controller 12 ... Host interface circuit 13 ... MPU
14 ... ROM
15 ... RAM
16 ... NAND interface circuit 17a ... block counter table 17b ... page counter table 30 ... random number acquisition unit 31 ... condition determination unit 32 ... erase count step unit 33 ... counter storage unit 34 ... change unit

Claims (6)

データの消去の単位であるブロックにデータを記憶可能な記憶部と、
前記記憶部に記憶されるデータが消去されるたびに保存される消去演算回数を記憶するカウンタ記憶部と、
前記記憶部に記憶される前記データが消去されるとき、乱数を取得する乱数取得部と、
前記乱数が、所定の条件を満たすか否かを判定する条件判定部と、
前記条件判定部により前記乱数が所定の条件を満たすと判定されたとき、前記消去演算回数を歩進させる消去回数歩進部と、
前記記憶部に記憶された消去演算回数が所定の回数を超えたときに、前記所定の条件を変更する変更部と
を備えたことを特徴とするメモリシステム。
A storage unit capable of storing data in a block which is a unit of data erasure;
A counter storage unit for storing the number of erasure operations stored each time the data stored in the storage unit is erased;
A random number acquisition unit for acquiring a random number when the data stored in the storage unit is erased;
A condition determination unit for determining whether or not the random number satisfies a predetermined condition;
When the condition determination unit determines that the random number satisfies a predetermined condition, an erasure count stepping unit that increments the erasure calculation count;
A memory system comprising: a changing unit that changes the predetermined condition when the number of erasure operations stored in the storage unit exceeds a predetermined number.
前記変更部が、
前記記憶部に記憶される消去演算回数が所定の回数を超えたときに、前記所定の条件を
前記乱数が前記所定の条件よりも満たす確率が高い条件に変更する
ことを特徴とする請求項1記載のメモリシステム。
The changing unit is
2. The predetermined condition is changed to a condition that has a higher probability that the random number satisfies the predetermined condition when the number of erasure operations stored in the storage unit exceeds a predetermined number. The described memory system.
前記乱数取得部が、
順序付けされた前記乱数が保存されている乱数記憶部と、
前記記憶部に記憶される前記データが消去されるとき、前記消去回数に対応する順番の前記乱数を取得することを特徴とする請求項1又は請求項2記載のメモリシステム。
The random number acquisition unit
A random number storage unit in which the ordered random numbers are stored;
3. The memory system according to claim 1, wherein when the data stored in the storage unit is erased, the random numbers in an order corresponding to the number of times of erasure are acquired.
前記記憶部内の前記ブロックが複数設けられており、
前記乱数記憶部内の順序付けされた前記乱数が、素数個設けられており、
前記消去演算回数を歩進させるかを同時に判断する歩進判断範囲を前記素数よりも小さな個数の前記ブロックごとにすることを特徴とする請求項3記載のメモリシステム。
A plurality of the blocks in the storage unit are provided,
The ordered random numbers in the random number storage unit are provided as prime numbers,
4. The memory system according to claim 3, wherein a step determination range for simultaneously determining whether to increment the number of erasure operations is set for each block smaller than the prime number.
前記所定の条件を前記乱数が満たす確率を小さくするように前記所定の条件を設定することを特徴とする請求項1乃至請求項4のいずれか1項に記載のメモリシステム。 The memory system according to claim 1, wherein the predetermined condition is set so as to reduce a probability that the random number satisfies the predetermined condition. 前記所定の条件を前記乱数が満たす確率を大きくするように前記所定の条件を設定することを特徴とする請求項1乃至請求項4のいずれか1項に記載のメモリシステム。 5. The memory system according to claim 1, wherein the predetermined condition is set so as to increase a probability that the random number satisfies the predetermined condition.
JP2009298512A 2009-12-28 2009-12-28 Memory system Pending JP2011138364A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009298512A JP2011138364A (en) 2009-12-28 2009-12-28 Memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009298512A JP2011138364A (en) 2009-12-28 2009-12-28 Memory system

Publications (1)

Publication Number Publication Date
JP2011138364A true JP2011138364A (en) 2011-07-14

Family

ID=44349724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009298512A Pending JP2011138364A (en) 2009-12-28 2009-12-28 Memory system

Country Status (1)

Country Link
JP (1) JP2011138364A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014132346A1 (en) * 2013-02-27 2014-09-04 株式会社日立製作所 Semiconductor storage
CN115437580A (en) * 2022-11-08 2022-12-06 合肥康芯威存储技术有限公司 Data storage device management method and system and data storage device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014132346A1 (en) * 2013-02-27 2014-09-04 株式会社日立製作所 Semiconductor storage
JP6018696B2 (en) * 2013-02-27 2016-11-02 株式会社日立製作所 Semiconductor storage
CN115437580A (en) * 2022-11-08 2022-12-06 合肥康芯威存储技术有限公司 Data storage device management method and system and data storage device

Similar Documents

Publication Publication Date Title
US12443371B2 (en) Data writing method and storage device
KR102254392B1 (en) Operating method of memory controller and nonvolatile memory system including nonvolatile memory device and memory controller
KR102179270B1 (en) Nonvolatile memory device and operating method thereof
KR102437591B1 (en) Operation method of nonvolatile memory system and method operation of memory controller
TWI774830B (en) Memory system and operating method thereof
US10168913B2 (en) Data storage device and data maintenance method thereof
CN111475425B (en) Method for managing flash memory module and related flash memory controller and electronic device
JP2014022031A (en) Nonvolatile memory device, memory system including the same, memory block managing, deleting, and programming method for them
US8751735B2 (en) Protection against data corruption for multi-level memory cell (MLC) flash memory
JP2008165960A (en) Method for erasing data of nand flash memory device
US10970230B2 (en) Memory system and operating method thereof
JP2015187864A (en) Method of operating memory system including nonvolatile memory and memory controller
TWI791981B (en) Data writing method memory control circuit unit and memory storage apparatus
EP3985516B1 (en) Memory device, storage device including the same and method of operating the storage device
KR20130123516A (en) Semiconductor memory device, memory system including the same and operating method thereof
KR20200137244A (en) Memory system and operating method thereof
JP2020013626A (en) Memory system
JP2011138364A (en) Memory system
US12242746B2 (en) Storage device and method for storing meta data in a distributed manner
JP4818453B1 (en) Electronic device and data reading method
JP4235646B2 (en) Memory controller and flash memory system
JP2009217630A (en) Memory system
JP2023039459A (en) Memory system and method
JP2006048746A (en) Memory card
JP4170261B2 (en) Nonvolatile semiconductor memory device and data writing or erasing method thereof

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111205