JP5991239B2 - Nonvolatile semiconductor memory write control method and microcomputer - Google Patents

Nonvolatile semiconductor memory write control method and microcomputer Download PDF

Info

Publication number
JP5991239B2
JP5991239B2 JP2013051709A JP2013051709A JP5991239B2 JP 5991239 B2 JP5991239 B2 JP 5991239B2 JP 2013051709 A JP2013051709 A JP 2013051709A JP 2013051709 A JP2013051709 A JP 2013051709A JP 5991239 B2 JP5991239 B2 JP 5991239B2
Authority
JP
Japan
Prior art keywords
data
update frequency
types
block
frequency group
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.)
Expired - Fee Related
Application number
JP2013051709A
Other languages
Japanese (ja)
Other versions
JP2014178825A (en
Inventor
佑樹 堀井
佑樹 堀井
伊藤 智康
智康 伊藤
政裕 神谷
政裕 神谷
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2013051709A priority Critical patent/JP5991239B2/en
Publication of JP2014178825A publication Critical patent/JP2014178825A/en
Application granted granted Critical
Publication of JP5991239B2 publication Critical patent/JP5991239B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

本発明は、不揮発性半導体メモリの書き込み制御方法及び不揮発性半導体メモリを備えるマイクロコンピュータに関する。   The present invention relates to a write control method for a nonvolatile semiconductor memory and a microcomputer including the nonvolatile semiconductor memory.

近年、不揮発性半導体メモリの一種であるフラッシュメモリを内蔵したマイクロコンピュータが使用されており、このフラッシュメモリは、例えば、マイクロコンピュータのCPU(Central Processing Unit)が使用するユーザプログラムを格納する用途や、種々のデータを書き込んで格納しておく用途に用いられる。ここで、フラッシュメモリは、1ワード毎の書き込みが可能であるが、消去は複数ワードからなるブロックを単位として一括で消去することが必要となる。   In recent years, a microcomputer incorporating a flash memory which is a kind of nonvolatile semiconductor memory has been used. For example, the flash memory can be used for storing a user program used by a CPU (Central Processing Unit) of the microcomputer, Used for writing and storing various data. Here, the flash memory can be written for each word, but the erasure needs to be erased collectively in units of a block composed of a plurality of words.

ブロック消去回数が増えるとフラッシュメモリの寿命を縮めることになるため、フラッシュメモリに記憶されているデータが更新される場合に、極力消去を行わないようにする技術が提案されている。例えば、特許文献1には、データをID単位で管理し、更新されたデータのみを追記することで消去回数を低減する技術が開示されている。その他、更新される可能性があるデータと更新されないデータとをブロックを分けて管理することで、ブロック中の領域を効率的に使用し、消去回数を低減させる方法がある。   When the number of block erase increases, the life of the flash memory is shortened. Therefore, a technique has been proposed in which erasure is not performed as much as possible when data stored in the flash memory is updated. For example, Patent Document 1 discloses a technique for managing data in units of IDs and adding only updated data to reduce the number of erasures. In addition, there is a method in which data that can be updated and data that is not updated are managed separately to efficiently use an area in the block and reduce the number of erasures.

特開2004−164493号公報JP 2004-164493 A

しかしながら、更新される可能性がある複数種類のデータについても、それらの間で更新頻度に差があることも想定される。例えば1つのブロック中に更新頻度が低いデータが含まれていると、その分だけ更新頻度が高いデータを書き込める領域が減少するため、ブロック消去回数が増加するおそれがある。
本発明は上記事情に鑑みてなされたものであり、その目的は、各データの更新頻度に応じて効率的に書き換えを行うことができる不揮発性半導体メモリの書き込み制御方法およびマイクロコンピュータを提供することにある。
However, it is also assumed that there is a difference in the update frequency between multiple types of data that may be updated. For example, if data with a low update frequency is included in one block, the area in which data with a high update frequency can be written is reduced by that amount, which may increase the number of block erases.
The present invention has been made in view of the above circumstances, and an object thereof is to provide a nonvolatile semiconductor memory write control method and a microcomputer that can be efficiently rewritten according to the update frequency of each data. It is in.

請求項1又は2記載の不揮発性半導体メモリのデータ書き込み制御方法によれば、複数種類のデータのそれぞれについて、所定期間に亘る更新頻度を計測すると(第1ステップ)、その計測の結果に基づいて、複数種類のデータを低更新頻度群と高更新頻度群とに二分する(第2ステップ)。すると以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む(第3ステップ)。 According to the data write control method of the nonvolatile semiconductor memory according to claim 1 or 2 , when the update frequency over a predetermined period is measured for each of a plurality of types of data (first step), based on the measurement result A plurality of types of data are divided into a low update frequency group and a high update frequency group (second step). Thereafter, the updated data is written by dividing the low frequency block for writing data belonging to the low update frequency group and the high frequency block for writing data belonging to the high update frequency group (third step).

これにより、高頻度用ブロックについては、当該ブロックの全ての領域に対して更新されたデータを書き込むことができ、消去される回数が少なくなる。また、低頻度用ブロックについては、更新頻度の高いデータによって使用可能な領域が埋め尽くされることないので消去される回数が少なくなる。したがって、更新頻度の異なるデータが1つのブロックに混在することでブロックの消去回数が増加することを回避し、総じてブロックの消去回数を低減することにより、不揮発性半導体メモリの寿命を長期化させることができる。
そして、請求項1記載の発明によれば、データが書き込み可能なブロックが2ブロック以下になると、前記第1〜第3ステップを実行せず、前記複数種類のデータがそれぞれ更新されると、共通のブロックに書き込みを行う。
また、請求項2記載の発明によれば、前記第2ステップにおいて、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えると、前記第3ステップを実行せず、前記複数種類のデータがそれぞれ更新されると、低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込む第4ステップを実行する。
As a result, for the high-frequency block, updated data can be written in all areas of the block, and the number of times of erasure is reduced. Also, the low frequency block is erased less frequently because the usable area is not filled with data with high update frequency. Therefore, it is possible to extend the life of the nonvolatile semiconductor memory by avoiding an increase in the number of block erasures by mixing data with different update frequencies in one block and reducing the number of block erasures as a whole. Can do.
According to the first aspect of the present invention, when the number of blocks into which data can be written becomes 2 blocks or less, the first to third steps are not executed and the plurality of types of data are updated respectively. Write to the block.
According to the invention of claim 2, in the second step, when the number of types of data belonging to one of the low update frequency group and the high update frequency group exceeds a predetermined threshold, If the plurality of types of data are updated without executing the third step, a part of the number of types of data belonging to the low update frequency group and a part of the number of types of data belonging to the high update frequency group are obtained. A fourth step of writing to the common block is executed.

第1実施形態であり、CPUの制御内容を示すフローチャートThe flowchart which is 1st Embodiment and shows the control content of CPU. ステップS3の更新頻度測定処理を示すフローチャートThe flowchart which shows the update frequency measurement process of step S3 複数のブロックを使用したデータの書き込み管理を説明する図Diagram explaining data write management using multiple blocks ステップS9の通常管理の処理イメージを示す図The figure which shows the processing image of normal management of step S9 使用データ量とブロック容量との比率変化に応じた、本実施形態と従来技術とのブロック消去回数の変化を示す図The figure which shows the change of the block erasing frequency of this embodiment and the prior art according to the ratio change of the amount of used data and block capacity. (a)はマイクロコンピュータの構成を示す機能ブロック図、(b)はRAMにおける書き込みデータの管理テーブルを示す図(A) is a functional block diagram showing the configuration of the microcomputer, (b) is a diagram showing a write data management table in the RAM 第2実施形態であり、一群のデータ数が極めて大きい場合の図4相当図FIG. 4 is a diagram corresponding to FIG. 4 when the number of data in a group is extremely large in the second embodiment. 図1相当図1 equivalent diagram 第3実施形態であり、ステップS5内で実行される閾値決定処理のフローチャートThe flowchart of the threshold value determination process which is 3rd Embodiment and is performed in step S5 第4実施形態を示す図3相当図FIG. 3 equivalent view showing the fourth embodiment

(第1実施形態)
図6(a)に示すように、マイクロコンピュータ1は、CPU2,プログラム記憶用のフラッシュメモリ(FLASH)3,データ記憶用のフラッシュメモリ4(不揮発性半導体メモリ),RAM(Random Access Memory)5,周辺回路6を備えている。CPU2は、フラッシュメモリ3からプログラムデータを読み出して実行することで、フラッシュメモリ4のデータ書き込み及び書き換え(更新)、ブロックの消去及び書き込み対象ブロックの切替えなどを制御するメモリコントローラの機能を有している。
RAM5はCPU2のメインメモリであり、データの書き込みや書き換えなどの際に、データやCPU2の演算結果などを一時的に保持する作業領域として用いられる。フラッシュメモリ4は、内部に記憶部として、複数のブロックに分けられているメモリセルを有している。
(First embodiment)
As shown in FIG. 6A, the microcomputer 1 includes a CPU 2, a flash memory (FLASH) for program storage 3, a flash memory 4 for data storage (nonvolatile semiconductor memory), a RAM (Random Access Memory) 5, A peripheral circuit 6 is provided. The CPU 2 has the function of a memory controller that controls data writing and rewriting (updating), erasing of blocks, switching of blocks to be written, and the like by reading program data from the flash memory 3 and executing the program data. Yes.
The RAM 5 is a main memory of the CPU 2, and is used as a work area for temporarily storing data, calculation results of the CPU 2, and the like when data is written or rewritten. The flash memory 4 includes a memory cell divided into a plurality of blocks as a storage unit.

次に、本実施形態の作用について、図1から図5を参照して説明する。CPU2は、例えばアプリケーションの制御条件等に応じて更新される複数種類のデータに。それぞれIDを付して管理している。そして、何れかのデータが更新されると、更新されたデータをフラッシュメモリ4の空き領域に順次書き込んで行く。1つのブロックの全てにデータを書き込んだ時点で、他に空き領域が無ければ、書き込み済みのブロックを消去して当該ブロックに書き込みを行う。1ブロックの容量は、例えば2kバイト程度である。   Next, the operation of the present embodiment will be described with reference to FIGS. The CPU 2 uses, for example, a plurality of types of data that are updated according to application control conditions. Each is managed with an ID. Then, when any data is updated, the updated data is sequentially written in the empty area of the flash memory 4. When data is written to all of one block, if there is no other free area, the written block is erased and the block is written. The capacity of one block is, for example, about 2 kbytes.

図1に示すように、先ずCPU2は「初期管理」として、フラッシュメモリ4の1つのブロックに、データの種類は無関係に更新されたものから順次書き込みを行う(S1)。その時点で、フラッシュメモリ4の書き込み可能なブロックの数が「3」以上であれば(S2;YES)、各データについて更新頻度を測定する(S3)。そして、規定時間T1(所定時間)が経過するまでは(S4;NO)ステップS1に戻り、上記の処理を繰り返し実行する。   As shown in FIG. 1, first, the CPU 2 sequentially writes data in one block of the flash memory 4 from the updated data regardless of the type of data as “initial management” (S1). At that time, if the number of writable blocks in the flash memory 4 is “3” or more (S2; YES), the update frequency is measured for each data (S3). Then, until the specified time T1 (predetermined time) has elapsed (S4; NO), the process returns to step S1, and the above processing is repeatedly executed.

ステップS2において書き込み可能なブロックの数が「3」未満であれば(NO)、ステップS1に戻り初期管理を継続する。一般に、フラッシュメモリについては、使用中においてもデータの書き込みが正常に行えるかどうかチェックするメモリテストが行われる。メモリテストは、例えば書き込んだデータ値をそのまま読み出すことができるか否か(ベリファイ)で行われ、書き込みが正常にできないと判定されたブロックについては、以降の使用(書き込み)が禁止されるので、書き込み可能なブロックの数は変動することがある。尚、ステップS3及びS4は、第1ステップ及び更新頻度計測手段に相当する。   If the number of writable blocks in step S2 is less than “3” (NO), the process returns to step S1 to continue the initial management. In general, a flash memory is subjected to a memory test for checking whether data can be normally written even during use. The memory test is performed by, for example, whether or not the written data value can be read as it is (verify), and subsequent use (write) is prohibited for the block that is determined not to be normally written. The number of writable blocks may vary. Steps S3 and S4 correspond to the first step and update frequency measuring means.

すなわち、図3に示すData1,Data2,…は、データのID(種類)を示している。同じ数字のデータは同じ種類(ここでは6種類)であり、後に書き込まれたものが更新されたデータである。図3(1)→(2)(図3中は丸数字)に示すように、最初にブロック1に更新されたデータを書き込み、ブロック1の全ての領域にデータを書き込むと、次は異なるブロックに更新されたデータを書き込む。ブロック2及び3が既に使用済みであれば、ブロック2を消去してから書き込みを行う。ブロック2の全ての領域にデータを書き込むと、次はブロック3を消去して書き込みを行う。このような処理を順次繰り返す(図3(3)→(4))。   That is, Data1, Data2,... Shown in FIG. 3 indicate data IDs (types). Data of the same number is of the same type (here, 6 types), and data written later is updated data. As shown in FIG. 3 (1) → (2) (circled numbers in FIG. 3), when updated data is first written in block 1 and data is written in all areas of block 1, the next block is different. Write updated data to. If the blocks 2 and 3 have already been used, the block 2 is erased before writing. When data is written in all areas of the block 2, the block 3 is erased and writing is performed. Such processing is sequentially repeated (FIG. 3 (3) → (4)).

図2に示すように、測定対象とするデータの種類をポインタNで決定すると(S11,図3の例では、N=0〜5)、データ(N)が更新されているか否かを判断する(S12)。更新されていれば(YES)、対応する更新頻度カウンタをインクリメントする(S13)。そして、全てのデータの測定が完了するまで(S14;NO)ポインタNをインクリメントして(S15)ステップS12に戻り、測定を継続する。   As shown in FIG. 2, when the type of data to be measured is determined by the pointer N (S11, N = 0 to 5 in the example of FIG. 3), it is determined whether or not the data (N) is updated. (S12). If it has been updated (YES), the corresponding update frequency counter is incremented (S13). Then, the pointer N is incremented until the measurement of all data is completed (S14; NO) (S15), and the process returns to step S12 to continue the measurement.

また、図6(b)は、例えばフラッシュメモリ4を使用して更新頻度を測定する場合の管理テーブルの一例であり、各データのIDと、データ本体と、データ値のチェックサムと、更新回数カウンタとからなる。尚、この管理テーブルはRAM5に配置しても良い(その場合、データ本体を記憶させる必要はない)。   FIG. 6B is an example of a management table when the update frequency is measured using, for example, the flash memory 4. Each data ID, data body, data value checksum, and update count are shown. It consists of a counter. This management table may be arranged in the RAM 5 (in this case, it is not necessary to store the data body).

再び、図1を参照する。初期管理を行っている間に規定時間が経過すると(S4;YES)、その時点での各データの更新頻度を参照し、例えば予め定められている閾値に対する高低に応じてデータを2群に分類する。例えば更新頻度が閾値未満であるものを低更新頻度群とし、更新頻度が閾値を超えているものを高更新頻度群とする(S5,第2ステップ,更新頻度判定手段)。そして、次の書き込み対象となる(書き込み済みの)ブロックを消去すると(S6)、低更新頻度群,高更新頻度群の何れか一方が以降に更新された場合の書き込み先を、消去したブロックに設定する(S7,第3ステップ,ブロック管理手段)。   Reference is again made to FIG. If the specified time elapses during the initial management (S4; YES), the update frequency of each data at that time is referred to, for example, the data is classified into two groups according to the level with respect to a predetermined threshold To do. For example, those with an update frequency less than the threshold are set as a low update frequency group, and those with an update frequency exceeding the threshold are set as a high update frequency group (S5, second step, update frequency determination means). Then, when the next write target (written) block is erased (S6), the write destination when any one of the low update frequency group and the high update frequency group is subsequently updated is set to the erased block. Set (S7, third step, block management means).

この時点で、フラッシュメモリ4に使用可能なブロックが「3」以上あれば(S8;YES)、以降は「通常管理」として2ブロックで管理を行う(S9,第3ステップ,ブロック管理手段)。「2ブロックで管理」とは、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとの2つに分けて管理することである。   At this time, if there are “3” or more usable blocks in the flash memory 4 (S8; YES), management is performed in two blocks as “normal management” thereafter (S9, third step, block management means). “Management by two blocks” means that management is divided into two parts, a low frequency block for writing data belonging to the low update frequency group and a high frequency block for writing data belonging to the high update frequency group.

図3(5)→(6)はステップS6,S7の処理イメージであり、例えばData1〜3の更新頻度が高く(高更新頻度群)Data4〜6の更新頻度が低い(低更新頻度群)とすると、ブロック2を消去して、以降にData1〜3の何れかが更新されれば、更新されたデータをブロック2(高頻度用ブロック)に書き込むようにする。そして、ブロック1(低頻度用ブロック)の残りの領域には、以降に更新されたData4〜6を書き込む。   FIGS. 3 (5) → (6) are processing images of steps S6 and S7. For example, the update frequency of Data1 to 3 is high (high update frequency group) and the update frequency of Data4 to 6 is low (low update frequency group). Then, the block 2 is erased, and if any of the data 1 to 3 is updated thereafter, the updated data is written into the block 2 (high frequency block). Then, the data 4 to 6 updated thereafter are written in the remaining area of the block 1 (low frequency block).

また図4は、「通常管理」(S9)の処理イメージであり、図3(6)の状態からData1〜3の更新が繰り返されることでブロック2の全ての領域を使用すると、次はブロック3(高頻度用ブロック)を消去して、以降に更新されたData1〜3を書き込む(図4上段(7))。その後、同様にブロック3の全ての領域を使用すると、次はブロック2を消去して、以降に更新されたData1〜3を書き込む(図4上段(8))。   FIG. 4 is a processing image of “normal management” (S9). When all the areas of block 2 are used by repeating the update of Data 1 to 3 from the state of FIG. (High-frequency block) is erased, and updated Data 1 to 3 are written thereafter (upper row (7) in FIG. 4). After that, when all the areas of the block 3 are used in the same manner, the block 2 is erased and the updated Data1 to 3 are written thereafter (upper part (8) in FIG. 4).

また、図3(6)の状態からData4〜6の更新が繰り返されることで先にブロック1の全ての領域を使用すると、次はブロック3(低頻度用ブロック)を消去して、以降に更新されたData4〜6を書き込む(図4下段(7))。その後、同様にブロック3の全ての領域を使用すると、次はブロック1を消去して、以降に更新されたData1〜3を書き込む(図4下段(8))。   In addition, if data 4 to 6 are repeatedly updated from the state of FIG. 3 (6), if all areas of block 1 are used first, then block 3 (low frequency block) is erased and updated thereafter. Data 4 to 6 are written (lower row (7) in FIG. 4). After that, when all the areas of the block 3 are used in the same manner, the block 1 is erased and the updated data 1 to 3 are written (lower part (8) in FIG. 4).

そして、図1に示すように、ステップS9の通常管理に移行してから規定時間T2(所定時間)が経過するまでは(S10;NO)ステップS8に戻り通常管理を継続するが、規定時間T2が経過すると(YES)、ステップS1に戻り初期管理から再実行する。規定時間T2は、ステップS4における規定時間T1よりも長い時間(例えば、T1の数十倍など)に設定される。すなわち、各データの更新頻度は、アプリケーションの制御条件等に応じて変化することも考えられるので、通常管理をある程度継続した時点で再度更新頻度を計測して、低更新頻度群,高更新頻度群にそれぞれ属するデータを再度分別する。   Then, as shown in FIG. 1, until the prescribed time T2 (predetermined time) elapses after the transition to the normal management in step S9 (S10; NO), the routine returns to step S8 and the normal management is continued, but the prescribed time T2 (YES), the process returns to step S1 and re-executes from the initial management. The specified time T2 is set to a time longer than the specified time T1 in step S4 (for example, several tens of times T1). That is, the update frequency of each data may change depending on the control conditions of the application, etc. Therefore, when the normal management is continued to some extent, the update frequency is measured again, and the low update frequency group and the high update frequency group The data belonging to each is sorted again.

ここで、図5に示すように、1ブロックに格納できる最大データ数をMとし、使用するデータの数(ID数)をUとすると、従来技術のように更新されたデータを1つのブロックに区別なく書き込むと、全てのデータが更新されるまでのブロック消去回数E1は、
E1=U/(M−U) …(1)
となる(但し、M>Uを条件とする)。すなわち、ブロックを1回消去するまでに、U種類のデータを何回更新できるかは(M−U)/Uで表されるから、(1)式はその逆数となっている。
Here, as shown in FIG. 5, when the maximum number of data that can be stored in one block is M and the number of data to be used (number of IDs) is U, the updated data as in the prior art is put into one block. If written without distinction, the number of block erase times E1 until all data is updated is
E1 = U / (MU) (1)
(Provided that M> U is a condition). That is, how many times the U-type data can be updated before erasing the block once is represented by (MU) / U, and therefore, the expression (1) is the reciprocal thereof.

一方、本実施形態のように、データを高更新頻度群と低更新頻度群とに分けて、2つのブロックを使用中として管理すると、全てのデータが更新されるまでのブロック消去回数E2は、
E2=2×U/(2M−U) …(2)
となる。したがって、ブロックの消去回数を削減した数Edは、
Ed=E1−E2=U/(M−U)−2×U/(2M−U)
=U/{(M−U)(2M−U)}≧0 …(3)
となるから、確実に消去回数が削減される。
ここで、具体数値例として、M=100,U=30として計算すると、
E1=30/(100−30)≒0.43
E2=2×30/(2×100−30)≒0.35
であるから、E1>E2となっている。
On the other hand, if the data is divided into a high update frequency group and a low update frequency group and managed as two blocks in use as in this embodiment, the number of block erase times E2 until all data is updated is
E2 = 2 × U / (2M−U) (2)
It becomes. Therefore, the number Ed obtained by reducing the number of block erases is:
Ed = E1-E2 = U / (MU) -2 * U / (2MU)
= U 2 / {(M- U) (2M-U)} ≧ 0 ... (3)
Therefore, the number of erasures is surely reduced.
Here, as a specific numerical example, when calculating with M = 100 and U = 30,
E1 = 30 / (100-30) ≈0.43
E2 = 2 × 30 / (2 × 100−30) ≈0.35
Therefore, E1> E2.

また図5には、M=100とした場合の従来の消去回数と、本実施形態の消去回数とをグラフ化して示している。従来の場合、ブロック容量に対する使用データ量の比率が60%から100%に近付くにつれて消去回数が急上昇している。一方、本実施形態の場合は、上記比率が大きくなっても消去回数はあまり上昇せず、両者の差が大きく開いて行くことが分かる。   FIG. 5 is a graph showing the number of conventional erasures when M = 100 and the number of erasures according to this embodiment. In the conventional case, the number of erasures rapidly increases as the ratio of the used data amount to the block capacity approaches 60% to 100%. On the other hand, in the case of the present embodiment, it can be seen that the number of erasures does not increase so much even when the ratio increases, and the difference between the two increases greatly.

以上のように本実施形態によれば、CPU2は、フラッシュメモリ4に書き込まれる複数種類のデータのそれぞれについて、規定時間T1に亘る更新頻度を計測すると、その計測の結果に基づいて、複数種類のデータを低更新頻度群と高更新頻度群とに二分する。すると以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込むようにした。   As described above, according to the present embodiment, when the CPU 2 measures the update frequency over the specified time T1 for each of a plurality of types of data written to the flash memory 4, a plurality of types of data are determined based on the measurement result. Divide the data into a low update frequency group and a high update frequency group. Thereafter, the updated data is written by dividing the low-frequency block for writing data belonging to the low update frequency group and the high-frequency block for writing data belonging to the high update frequency group.

これにより、高頻度用ブロックについては、当該ブロックの全ての領域に対して更新されたデータを書き込むことができ、消去される回数が少なくなる。また、低頻度用ブロックについては、更新頻度の高いデータによって使用可能な領域が埋め尽くされることないので消去される回数が少なくなる。したがって、更新頻度の異なるデータが1つのブロックに混在することでブロックの消去回数が増加することを回避し、総じてブロックの消去回数を低減することで、フラッシュメモリ4の寿命を長期化させることができる。   As a result, for the high-frequency block, updated data can be written in all areas of the block, and the number of times of erasure is reduced. Also, the low frequency block is erased less frequently because the usable area is not filled with data with high update frequency. Therefore, it is possible to avoid an increase in the number of block erasures due to a mixture of data having different update frequencies in one block, and to extend the life of the flash memory 4 by reducing the number of block erases as a whole. it can.

また、CPU2は、ステップS9における通常管理を開始してから規定時間T2が経過すると、ステップS1からの処理を再実行するので、その後の状況に応じて各データの更新頻度が変化した場合でも低更新頻度群と高更新頻度群とを適切に判別できる。更に、CPU2は、フラッシュメモリ4のデータが書き込み可能なブロックが2ブロック以下になると通常管理は行わず、複数種類のデータがそれぞれ更新されると共通のブロックに書き込みを行うので、低頻度用ブロックと高頻度用ブロックとを分けて書き込みデータを管理できない場合には、従来通りに書き込みを行うことができる。   In addition, since the CPU 2 re-executes the processing from the step S1 when the specified time T2 has elapsed since the start of the normal management in the step S9, the CPU 2 is low even when the update frequency of each data changes according to the subsequent situation. An update frequency group and a high update frequency group can be appropriately determined. Furthermore, the CPU 2 does not perform normal management when the number of blocks into which data in the flash memory 4 can be written is 2 blocks or less, and writes data to a common block when a plurality of types of data are updated. If the write data cannot be managed separately for the high-frequency block, writing can be performed as usual.

(第2実施形態)
図7及び図8は第2実施形態であり、第1実施形態と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第2実施形態では、ステップS5において各データを低更新頻度群と高更新頻度群とに分別した結果、図7(b)に示すように一方のデータ群のサイズが極めて大きく、1ブロックの容量の大半を占めていたとする。
(Second Embodiment)
7 and 8 show the second embodiment. The same parts as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted. Hereinafter, different parts will be described. In the second embodiment, as a result of separating each data into a low update frequency group and a high update frequency group in step S5, the size of one data group is extremely large as shown in FIG. Occupy the majority.

この場合、ステップS6を実行すると、続くステップS16において、予め定められた上限(閾値,例えば1ブロックの容量の90%)を超えることで「YES」と判断する。そして、各データ群を、それぞれのデータ群サイズの1/2(一部)ずつに分けると、低更新頻度群の1/2と高更新頻度群の1/2との新たな書き込み先を、ステップS6で消去したブロックに設定する(S17,第4ステップ,ブロック管理手段)。それから、ステップS8に移行する。   In this case, when step S6 is executed, “YES” is determined in the subsequent step S16 by exceeding a predetermined upper limit (threshold, for example, 90% of the capacity of one block). Then, when each data group is divided into ½ (part) of each data group size, new write destinations of ½ of the low update frequency group and ½ of the high update frequency group are The block erased in step S6 is set (S17, fourth step, block management means). Then, the process proceeds to step S8.

図7(b)(5)→(6)に示すケースでは、高更新頻度群に属するものがData1〜6であり、低更新頻度群に属するものがData7,8である。Data1〜6がブロック容量の大半を占めているとすれば、以降に更新されたData1〜3とData7とを消去したブロック2に書き込む。残りのData4〜6,Data8が更新されると、ブロック1に空き領域があればそのままブロック1に書き込む。尚、データ数が奇数の場合は(1/2±1)で調整する。   In the case shown in FIGS. 7B, 5, and 6, data 1 to 6 belong to the high update frequency group, and data 7 and 8 belong to the low update frequency group. If Data1-6 occupy most of the block capacity, then updated Data1-3 and Data7 are written to the erased block 2. When the remaining Data 4 to 6 and Data 8 are updated, if there is an empty area in block 1, it is written in block 1 as it is. If the number of data is an odd number, adjustment is made at (1/2 ± 1).

そして、ブロック2に先んじてブロック1の全領域に書き込みを行うと、ブロック3を消去して更新されたData4〜6,Data8を書き込む(図示せず)。したがって、ステップS17を経た際にステップS9で実行される「通常管理」は、上述した図7(b)(6)の様な管理形態となる。   Then, when writing is performed in the entire area of the block 1 prior to the block 2, the updated data 4 to 6 and data 8 are written by erasing the block 3 (not shown). Therefore, the “normal management” executed in step S9 after step S17 has a management form as shown in FIGS.

以上のように第2実施形態によれば、CPU2は、低更新頻度群と高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えるとステップS7を実行せず、各データがそれぞれ更新されると、低更新頻度群に属するデータID数の1/2と、高更新頻度群に属するデータID数の1/2とを共通のブロックに書き込むようにした。したがって、各群に属するデータ数に偏りがある場合でも、ブロックの消去回数が増加することを抑制できる。   As described above, according to the second embodiment, the CPU 2 does not execute step S7 when the number of types of data belonging to one of the low update frequency group and the high update frequency group exceeds a predetermined threshold value. When each data is updated, 1/2 of the number of data IDs belonging to the low update frequency group and 1/2 of the number of data IDs belonging to the high update frequency group are written in a common block. Therefore, even when there is a bias in the number of data belonging to each group, an increase in the number of block erasures can be suppressed.

(第3実施形態)
第3実施形態では、低更新頻度群と高更新頻度群とを分別するための閾値を、CPU2が更新頻度の計測結果に基づいて決定する。図9は、ステップS5内で実行されるが、CPU2は、図6(b)に示したような管理テーブルに記憶されている各データの更新頻度を参照し(S21)、それらの最小値及び最大値を判定する(S22)。そして、最小値と最大値との間に閾値を設定する(S23)。ここで閾値を設定する方式としては、例えば最小値と最大値との中間値に設定したり、全ての更新頻度数の重み付き平均をとる、といったものが考えられる。
(Third embodiment)
In the third embodiment, the CPU 2 determines a threshold for separating the low update frequency group and the high update frequency group based on the update frequency measurement result. FIG. 9 is executed in step S5, but the CPU 2 refers to the update frequency of each data stored in the management table as shown in FIG. 6B (S21), and determines the minimum value and The maximum value is determined (S22). Then, a threshold value is set between the minimum value and the maximum value (S23). Here, as a method of setting the threshold value, for example, an intermediate value between the minimum value and the maximum value or a weighted average of all the update frequency numbers can be considered.

以上のように第3実施形態によれば、CPU2は、ステップS5で複数種類のデータを、低更新頻度群と高更新頻度群とに二分するための閾値を、ステップS3における更新頻度の計測結果に基づき決定するので、実際の各データの更新頻度に応じて閾値を適切に決定できる。   As described above, according to the third embodiment, the CPU 2 determines the threshold value for dividing the plurality of types of data into the low update frequency group and the high update frequency group in step S5, and the update frequency measurement result in step S3. Therefore, the threshold value can be appropriately determined according to the actual update frequency of each data.

(第4実施形態)
第4実施形態では、図10に示すように、フラッシュメモリ4に書き込み可能なブロック数が4以上ある場合は、それらの内1つ(例えばブロック4)を、更新される可能性が無い固定データの記憶領域として使用する。そして、ブロック1〜3を用いて、第1〜第3実施形態と同様のブロック管理を行うようにする。
このように、CPU2が固定データも取り扱う場合は、固定データを記憶させるブロックと、更新されるデータが記憶されるブロックとを分けて管理することで、ブロックの消去回数が増加することを抑制できる。
(Fourth embodiment)
In the fourth embodiment, as shown in FIG. 10, when there are four or more blocks that can be written to the flash memory 4, one of them (for example, the block 4) is fixed data that is not likely to be updated. Used as a storage area. Then, the same block management as in the first to third embodiments is performed using the blocks 1 to 3.
As described above, when the CPU 2 also handles fixed data, the block in which the fixed data is stored and the block in which the updated data are stored are managed separately, so that the increase in the number of block erasures can be suppressed. .

本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
フラッシュメモリのブロック数は、「5」以上でも良い。
規定時間T2が経過するとステップS1からの処理を再実行するのは、必要に応じて行えば良い。
第2実施形態において、一方のデータ群のサイズが1ブロックの容量の大半を占めている場合に、次のブロックを書き込み先とするデータ種類数は、低更新頻度群,高更新頻度群に属するデータの1/2ずつに限らず、各データ群のそれぞれ一部であれば良い。
The present invention is not limited to the embodiments described above or shown in the drawings, and the following modifications or expansions are possible.
The number of blocks of the flash memory may be “5” or more.
When the specified time T2 has elapsed, the process from step S1 may be re-executed as necessary.
In the second embodiment, when the size of one data group occupies most of the capacity of one block, the number of data types for writing the next block belongs to the low update frequency group and the high update frequency group. It is not limited to ½ of the data, but may be a part of each data group.

図面中、1はマイクロコンピュータ(更新頻度計測手段,更新頻度判定手段,ブロック管理手段)、2はCPU、4はフラッシュメモリ(不揮発性半導体メモリ)を示す。   In the drawings, 1 is a microcomputer (update frequency measuring means, update frequency determining means, block management means), 2 is a CPU, and 4 is a flash memory (nonvolatile semiconductor memory).

Claims (12)

データを一括して消去可能な単位である所定サイズのブロックを複数有してなる不揮発性メモリ(4)に対して、更新された複数種類のデータを空き領域に書き込む方法において、
前記複数種類のデータのそれぞれについて、所定期間に亘る更新頻度を計測する第1ステップと、
前記計測の結果に基づき、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分する第2ステップと、
低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む第3ステップとからなり、
データが書き込み可能なブロックが2ブロック以下になると、前記第1〜第3ステップを実行せず、
前記複数種類のデータがそれぞれ更新されると、共通のブロックに書き込みを行うことを特徴とする不揮発性半導体メモリのデータ書き込み制御方法。
In a method of writing a plurality of types of updated data in a vacant area with respect to a nonvolatile memory (4) having a plurality of blocks of a predetermined size, which is a unit capable of erasing data collectively,
A first step of measuring the update frequency over a predetermined period for each of the plurality of types of data;
A second step of dividing the plurality of types of data into a low update frequency group and a high update frequency group based on a result of the measurement;
A low frequency block to write data belonging to a low update frequency groups, separately and frequently block to write data belonging to a high update frequency group, Ri Do and a third step of writing the updated data,
When the number of blocks into which data can be written is 2 blocks or less, the first to third steps are not executed,
A data writing control method for a nonvolatile semiconductor memory, wherein writing to a common block is performed when each of the plurality of types of data is updated .
データを一括して消去可能な単位である所定サイズのブロックを複数有してなる不揮発性メモリ(4)に対して、更新された複数種類のデータを空き領域に書き込む方法において、
前記複数種類のデータのそれぞれについて、所定期間に亘る更新頻度を計測する第1ステップと、
前記計測の結果に基づき、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分する第2ステップと、
低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む第3ステップとからなり、
前記第2ステップにおいて、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えると、前記第3ステップを実行せず、
前記複数種類のデータがそれぞれ更新されると、
低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込む第4ステップを実行することを特徴とする不揮発性半導体メモリのデータ書き込み制御方法。
In a method of writing a plurality of types of updated data in a vacant area with respect to a nonvolatile memory (4) having a plurality of blocks of a predetermined size, which is a unit capable of erasing data collectively,
A first step of measuring the update frequency over a predetermined period for each of the plurality of types of data;
A second step of dividing the plurality of types of data into a low update frequency group and a high update frequency group based on a result of the measurement;
The third step of writing the updated data by dividing the low frequency block for writing data belonging to the low update frequency group and the high frequency block for writing data belonging to the high update frequency group,
In the second step, when the number of types of data belonging to one of the low update frequency group and the high update frequency group exceeds a predetermined threshold, the third step is not executed,
When each of the plurality of types of data is updated,
A nonvolatile semiconductor memory characterized by executing a fourth step of writing a part of the number of types of data belonging to the low update frequency group and a part of the number of types of data belonging to the high update frequency group to a common block Data write control method.
前記第3ステップの実行を開始してから所定時間が経過すると、前記第1〜第3ステップを再実行することを特徴とする請求項1又は2記載の不揮発性半導体メモリのデータ書き込み制御方法。 3. The data write control method for a nonvolatile semiconductor memory according to claim 1 , wherein the first to third steps are re-executed when a predetermined time elapses after the execution of the third step is started . 前記第2ステップにおいて、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えると、前記第3ステップを実行せず、
前記複数種類のデータがそれぞれ更新されると、
低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込む第4ステップを実行することを特徴とする請求項1又は3記載の不揮発性半導体メモリのデータ書き込み制御方法。
In the second step, when the number of types of data belonging to one of the low update frequency group and the high update frequency group exceeds a predetermined threshold, the third step is not executed,
When each of the plurality of types of data is updated,
Low update frequency part of the number types of data belonging to the group and the high update frequency data belonging to group a part of the number of kinds and executes a fourth step of writing to a common block claim 1 or 4. A data write control method for a nonvolatile semiconductor memory according to 3 .
前記第2ステップにおいて、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分するための閾値を、前記第1ステップにおける更新頻度の計測結果に基づき決定することを特徴とする請求項1から4の何れか一項に記載の不揮発性半導体メモリのデータ書き込み制御方法。   In the second step, a threshold for dividing the plurality of types of data into a low update frequency group and a high update frequency group is determined based on the update frequency measurement result in the first step. The data write control method for a nonvolatile semiconductor memory according to claim 1. データが書き込み可能なブロックが4ブロック以上あれば、その内1つのブロックを、更新されない固定データの記憶領域として使用し、
残りの3つのブロックを用いて前記第1〜第3ステップを実行することを特徴とする請求項1から5の何れか一項に記載の不揮発性半導体メモリのデータ書き込み制御方法。
If there are 4 or more blocks in which data can be written, use one of them as a storage area for fixed data that is not updated,
6. The data write control method for a nonvolatile semiconductor memory according to claim 1, wherein the first to third steps are executed using the remaining three blocks.
データを一括して消去可能な単位である所定サイズのブロックを複数有し、更新された複数種類のデータが空き領域に書き込まれて記憶される不揮発性メモリ(4)を内蔵するマイクロコンピュータ(1)であって、
前記複数種類のデータのそれぞれについて、一定期間に亘る更新頻度を計測する更新頻度計測手段と、
前記計測の結果に基づき、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分する更新頻度判定手段と、
以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む書き込みブロック管理手段とを備え
データが書き込み可能なブロックが2ブロック以下になると、前記更新頻度計測手段,更新頻度判定手段及び前記ブロック管理手段を機能させず、
前記複数種類のデータがそれぞれ更新されると、共通のブロックに書き込みを行うことを特徴とするマイクロコンピュータ。
A microcomputer (1) having a plurality of blocks of a predetermined size, which is a unit capable of erasing data collectively, and having a nonvolatile memory (4) in which a plurality of types of updated data are written and stored in an empty area ) And
For each of the plurality of types of data, update frequency measuring means for measuring the update frequency over a certain period,
Based on the measurement result, the plurality of types of data is divided into a low update frequency group and a high update frequency group, an update frequency determination means,
Thereafter, a low frequency block for writing data belonging to the low update frequency group and a high frequency block for writing data belonging to the high update frequency group, and a writing block management means for writing updated data are provided ,
When the number of blocks in which data can be written is 2 blocks or less, the update frequency measurement means, the update frequency determination means, and the block management means are not functioned,
A microcomputer that writes to a common block when each of the plurality of types of data is updated .
データを一括して消去可能な単位である所定サイズのブロックを複数有し、更新された複数種類のデータが空き領域に書き込まれて記憶される不揮発性メモリ(4)を内蔵するマイクロコンピュータ(1)であって、
前記複数種類のデータのそれぞれについて、一定期間に亘る更新頻度を計測する更新頻度計測手段と、
前記計測の結果に基づき、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分する更新頻度判定手段と、
以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む書き込みブロック管理手段とを備え、
前記ブロック管理手段は、前記更新頻度判定手段の判定結果により、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えた状態において、前記複数種類のデータがそれぞれ更新されると、低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込むことを特徴とするマイクロコンピュータ。
A microcomputer (1) having a plurality of blocks of a predetermined size, which is a unit capable of erasing data collectively, and having a nonvolatile memory (4) in which a plurality of types of updated data are written and stored in an empty area ) And
For each of the plurality of types of data, update frequency measuring means for measuring the update frequency over a certain period,
Based on the measurement result, the plurality of types of data is divided into a low update frequency group and a high update frequency group, an update frequency determination means,
Thereafter, a low frequency block for writing data belonging to the low update frequency group and a high frequency block for writing data belonging to the high update frequency group, and a writing block management means for writing updated data are provided,
In the state where the number of types of data belonging to any one of the low update frequency group and the high update frequency group exceeds a predetermined threshold according to the determination result of the update frequency determination unit, the block management unit When a plurality of types of data are updated, a part of the number of types of data belonging to the low update frequency group and a part of the number of types of data belonging to the high update frequency group are written in a common block. A microcomputer.
前記更新頻度計測手段は、前記ブロック管理手段によるブロック管理が実行されてから所定時間が経過すると、前記更新頻度の計測を再開することを特徴とする請求項7又は8記載のマイクロコンピュータ。 9. The microcomputer according to claim 7, wherein the update frequency measuring means restarts the measurement of the update frequency when a predetermined time elapses after the block management by the block management means is executed . 前記ブロック管理手段は、前記更新頻度判定手段の判定結果により、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えた状態において、前記複数種類のデータがそれぞれ更新されると、低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込むことを特徴とする請求項7又は9記載のマイクロコンピュータ。 In the state where the number of types of data belonging to any one of the low update frequency group and the high update frequency group exceeds a predetermined threshold according to the determination result of the update frequency determination unit, the block management unit When a plurality of types of data are updated, a part of the number of types of data belonging to the low update frequency group and a part of the number of types of data belonging to the high update frequency group are written in a common block. The microcomputer according to claim 7 or 9 . 前記更新頻度判定手段は、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分するための閾値を、前記更新頻度の計測結果に基づき決定することを特徴とする請求項7から10の何れか一項に記載のマイクロコンピュータ。 The update frequency determination means, wherein said plurality of types of data, characterized in that the threshold value for bisecting into low update frequency group and the high update frequency group is determined based on the prior SL update frequency measurement result Item 11. The microcomputer according to any one of Items 7 to 10. データが書き込み可能なブロックが4ブロック以上あれば、その内1つのブロックを、更新されない固定データの記憶領域として使用し、
残りの3つのブロックを用いて、前記更新頻度計測手段,更新頻度判定手段及び前記ブロック管理手段を機能させることを特徴とする請求項7から11の何れか一項に記載のマイクロコンピュータ。
If there are 4 or more blocks in which data can be written, use one of them as a storage area for fixed data that is not updated,
The microcomputer according to any one of claims 7 to 11, wherein the remaining three blocks are used to cause the update frequency measuring means, the update frequency determining means, and the block management means to function.
JP2013051709A 2013-03-14 2013-03-14 Nonvolatile semiconductor memory write control method and microcomputer Expired - Fee Related JP5991239B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013051709A JP5991239B2 (en) 2013-03-14 2013-03-14 Nonvolatile semiconductor memory write control method and microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013051709A JP5991239B2 (en) 2013-03-14 2013-03-14 Nonvolatile semiconductor memory write control method and microcomputer

Publications (2)

Publication Number Publication Date
JP2014178825A JP2014178825A (en) 2014-09-25
JP5991239B2 true JP5991239B2 (en) 2016-09-14

Family

ID=51698727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013051709A Expired - Fee Related JP5991239B2 (en) 2013-03-14 2013-03-14 Nonvolatile semiconductor memory write control method and microcomputer

Country Status (1)

Country Link
JP (1) JP5991239B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7279534B2 (en) 2019-06-18 2023-05-23 株式会社デンソー Data storage controller and data storage control system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4686358B2 (en) * 2005-12-26 2011-05-25 ジヤトコ株式会社 Control device with flash memory
EP2411914A1 (en) * 2009-03-24 2012-02-01 Hitachi, Ltd. Storage apparatus and its data control method
JP5569469B2 (en) * 2011-05-25 2014-08-13 株式会社デンソー Electronics

Also Published As

Publication number Publication date
JP2014178825A (en) 2014-09-25

Similar Documents

Publication Publication Date Title
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
TWI569273B (en) Method for read disturbance management in non-volatile memory devices
JP5629391B2 (en) Semiconductor memory device and method for controlling semiconductor memory device
US20100125696A1 (en) Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor
US20180101302A1 (en) Data Storage Device and Data Writing Method Thereof
US10599345B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
US9330787B2 (en) Memory system and memory controller
TWI436369B (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
EP3262508B1 (en) Patrol scrub periods based on power status
US10108471B2 (en) System and method for utilizing history information in a memory device
JP2011070346A (en) Memory system
JP2011203916A (en) Memory controller and semiconductor storage device
US10241678B2 (en) Data storage device and data writing method capable of avoiding repeated write operation of a TLC block when interrupted
KR20200037882A (en) Memory device with dynamic cache management
JP6102515B2 (en) Information processing apparatus, control circuit, control program, and control method
US10586601B2 (en) Semiconductor memory device and read control method thereof
US9361201B2 (en) Memory system and memory controller
JP2015001909A (en) Information processor, control circuit, control program, and control method
US11733909B2 (en) Secure-erase prediction for data storage devices
JP5991239B2 (en) Nonvolatile semiconductor memory write control method and microcomputer
JP2015191294A (en) Memory controller, memory system, and memory control method
JP2016151922A (en) Memory control device and memory control method
TWI453747B (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
JP2014026511A (en) Write control method of nonvolatile semiconductor memory device and microcomputer
JP6486647B2 (en) Error correction device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160801

R151 Written notification of patent or utility model registration

Ref document number: 5991239

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees