JP2012014400A - Semiconductor memory device and semiconductor memory system - Google Patents

Semiconductor memory device and semiconductor memory system Download PDF

Info

Publication number
JP2012014400A
JP2012014400A JP2010149925A JP2010149925A JP2012014400A JP 2012014400 A JP2012014400 A JP 2012014400A JP 2010149925 A JP2010149925 A JP 2010149925A JP 2010149925 A JP2010149925 A JP 2010149925A JP 2012014400 A JP2012014400 A JP 2012014400A
Authority
JP
Japan
Prior art keywords
area
block
semiconductor memory
data
stored
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
JP2010149925A
Other languages
Japanese (ja)
Inventor
Yasuharu Takagi
康晴 高木
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 JP2010149925A priority Critical patent/JP2012014400A/en
Publication of JP2012014400A publication Critical patent/JP2012014400A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor memory device with a long product life.SOLUTION: A semiconductor memory device 2 comprises: a semiconductor memory part 30 which is classified into a first area with a high rewrite frequency, a second area with a low rewrite frequency, and a free block area; a memory controller 10 for performing control so as to copy data stored in the second block to the uppermost entry block of the free block area at a predetermined timing, and also freeing the block, where the data has been stored, from the second area and entering it in the lowermost block of the free block area.

Description

本発明は、ホストデバイスからのデータを記憶する半導体メモリを有する半導体メモリ装置、および、ホストデバイスと半導体メモリ装置とを具備する半導体メモリシステムに関する。   The present invention relates to a semiconductor memory device having a semiconductor memory for storing data from a host device, and a semiconductor memory system including the host device and the semiconductor memory device.

NAND型フラッシュメモリを有する不揮発性半導体メモリ装置は、メモリセルに記憶されたデータをブロックと呼ばれる複数のメモリセル単位で一括して消去処理を行うことにより構造を簡略化し、安価かつ大容量を実現している。半導体メモリ装置は可動部がなく低消費電力であることから、携帯電話または携帯音楽プレーヤ等のホストデバイスの記憶装置として広く利用されている。しかし、NAND型フラッシュメモリには、書き込み/消去回数の制限があることが知られている。   A nonvolatile semiconductor memory device having a NAND flash memory simplifies the structure by collectively erasing data stored in memory cells in units of a plurality of memory cells called blocks, and realizes low cost and large capacity is doing. Since a semiconductor memory device has no movable part and low power consumption, it is widely used as a storage device for a host device such as a mobile phone or a portable music player. However, it is known that the NAND flash memory has a limit on the number of times of writing / erasing.

この制限は、メモリセルに対する消去処理では、基板に対してゲートに高電圧がかけられフローティングゲートに電子が注入されることに起因する。消去処理が何回も実行されるとフローティングゲート周りの酸化膜が劣化し、データが破壊されてしまうことがある。消去処理が特定のメモリセルに集中することを回避して製品寿命を長くするために、消去処理回数の多いメモリセルと少ないメモリセルとを入れ替えて、メモリセルの劣化進行の平均化をはかる、いわゆるウェアレベリング(wear leveling)が実施されている。   This limitation is due to the fact that in the erase process for the memory cell, a high voltage is applied to the gate relative to the substrate and electrons are injected into the floating gate. If the erasing process is performed many times, the oxide film around the floating gate may deteriorate and the data may be destroyed. In order to avoid the concentration of erasure processing on specific memory cells and prolong the product life, the memory cells with a large number of erasure processing times are replaced with the memory cells with a small number of times, and the deterioration progress of the memory cells is averaged. So-called wear leveling is carried out.

さらに、書き替え頻度が高いデータを記憶する領域(パーティション)と、書き替え頻度が低いデータを記憶する領域(パーティション)と、のサイズを同じにしておき、所定のタイミングで、2つの領域に記憶されたデータを互いに入れ替えることにより、半導体メモリ全体のウェアレベリング処理を平均化する半導体メモリ装置が知られている。   Furthermore, the area (partition) for storing data with high rewrite frequency and the area (partition) for storing data with low rewrite frequency are made the same size and stored in two areas at a predetermined timing. There is known a semiconductor memory device that averages the wear leveling process of the entire semiconductor memory by exchanging the obtained data with each other.

なお、ウェアレベリングを行う半導体メモリ装置では、ホストデバイスが半導体メモリ中の個々のメモリセルの物理的な位置を示す物理アドレスを用いてデータ記憶位置を特定することは困難である。このため論理空間という概念を構築し、物理アドレスを論理空間における位置を示す論理アドレスに変換している。論理アドレスを物理アドレスに変換するためには、論理アドレス(logical address)/物理アドレス(physical address)変換テーブル(以下、「論物(L/P)変換テーブル」という。)が用いられている。   In a semiconductor memory device that performs wear leveling, it is difficult for a host device to specify a data storage position using a physical address indicating a physical position of each memory cell in the semiconductor memory. For this reason, the concept of logical space is constructed, and physical addresses are converted into logical addresses indicating positions in the logical space. In order to convert a logical address into a physical address, a logical address / physical address conversion table (hereinafter referred to as “logical / physical (L / P) conversion table”) is used.

特開2008−225576号公報JP 2008-225576 A

本発明の実施形態は、製品寿命の長い半導体メモリ装置および製品寿命の長い半導体メモリシステム、を提供することを目的とする。   An embodiment of the present invention aims to provide a semiconductor memory device having a long product life and a semiconductor memory system having a long product life.

上記目的を達成すべく、本発明の一態様の半導体メモリ装置は、書き替え頻度が高い論理アドレス範囲のデータを記憶するブロックからなる第1の領域と、前記書き替え頻度が低い論理アドレス範囲のデータを記憶するブロックからなる第2の領域と、前記第1または第2の領域からの解放順にエントリされた記憶可能ブロックからなるフリーブロック領域と、に分類される半導体メモリ部と、前記第1の領域のブロックに記憶されたデータを書き替えるときに、書き替え後のデータを前記フリーブロック領域の最上位エントリのブロックに記憶するとともに、前記データが記憶されていたブロックを前記第1の領域から解放して前記フリーブロック領域の最下位にエントリし、所定のタイミングで、前記第2の領域のブロックに記憶されたデータを、前記フリーブロック領域の最上位エントリのブロックにコピーするとともに、前記データが記憶されていたブロックを前記第2の領域から解放して前記フリーブロック領域の最下位にエントリするように制御するメモリコントローラと、を具備する。   In order to achieve the above object, a semiconductor memory device according to one embodiment of the present invention includes a first area including a block that stores data in a logical address range with a high rewrite frequency, and a logical address range with a low rewrite frequency. A semiconductor memory unit classified into a second area composed of blocks for storing data and a free block area composed of storable blocks entered in the release order from the first or second area; When rewriting the data stored in the block of the area, the rewritten data is stored in the block of the highest entry in the free block area, and the block in which the data is stored is stored in the first area. From the free block area, and stored in the block of the second area at a predetermined timing. Data is copied to the block of the highest entry in the free block area, and the block in which the data is stored is released from the second area and controlled to enter the lowest block of the free block area. And a memory controller.

本実施の形態の半導体メモリシステムの構成図である。It is a block diagram of the semiconductor memory system of this Embodiment. 半導体メモリ部の構成を説明するための説明図である。It is explanatory drawing for demonstrating the structure of a semiconductor memory part. 本実施の形態の半導体メモリ装置の処理を説明するための説明図である。It is explanatory drawing for demonstrating the process of the semiconductor memory device of this Embodiment. 本実施の形態の半導体メモリ装置の処理の流れを説明するためのフローチャートである。4 is a flowchart for explaining a processing flow of the semiconductor memory device of the present embodiment;

本発明の実施形態の半導体メモリ装置2および半導体メモリシステム(以下、「メモリシステム」ともいう)1について説明する。   A semiconductor memory device 2 and a semiconductor memory system (hereinafter also referred to as “memory system”) 1 according to an embodiment of the present invention will be described.

図1に示すように、実施形態の半導体メモリ装置2は、パソコンまたはデジタルカメラ等のホストデバイス3と着脱可能に接続されるメモリカード、または、ホストデバイス3の内部に収納され、ホストデバイス3の起動データ等を記録する、いわゆるエンベデッドタイプの記憶装置等である。または、半導体メモリ装置2とホストデバイス3とが、SSD(Solid State Disk)、または、携帯音楽プレーヤであるMP3プレーヤ等の、メモリシステム1を構成していてもよい。半導体メモリ装置2は、半導体メモリ部(以下、単に「メモリ部」ともいう。)30と、メモリコントローラ10とを有する。   As shown in FIG. 1, the semiconductor memory device 2 of the embodiment is housed in a memory card that is detachably connected to a host device 3 such as a personal computer or a digital camera, or in the host device 3. This is a so-called embedded type storage device that records start-up data and the like. Alternatively, the semiconductor memory device 2 and the host device 3 may constitute a memory system 1 such as an SSD (Solid State Disk) or an MP3 player that is a portable music player. The semiconductor memory device 2 includes a semiconductor memory unit (hereinafter also simply referred to as “memory unit”) 30 and a memory controller 10.

メモリ部30はNAND型フラッシュメモリであり、単位セルである多数のメモリセル31が、書き込みに用いるビット線および読み出しに用いるワード線等で接続された構造を有する。なお、NAND型のメモリ部30は、メモリセル31を駆動するのに必要な導線を複数のセルで共有している。このためデータの書き込み/読み込みはページと呼ばれる複数ビット単位で、消去はブロックと呼ばれる複数のページ単位、例えば64ページ単位で一括して行われる。   The memory unit 30 is a NAND flash memory, and has a structure in which a large number of memory cells 31 as unit cells are connected by a bit line used for writing and a word line used for reading. The NAND type memory unit 30 shares a plurality of cells with a conductive wire necessary for driving the memory cell 31. Therefore, data writing / reading is performed in units of a plurality of bits called pages, and erasing is performed in batches in units of a plurality of pages called blocks, for example, in units of 64 pages.

メモリコントローラ10は、バス17を介して接続された、ROM19と、制御部であるCPU11と、RAM14と、ホスト I/F(インターフェイス)18と、記憶するデータの符号化処理および記憶されたデータの復号処理を行う誤り訂正(ECC:Error Correcting Code)部20と、NAND I/F(インターフェイス)21と、を有する。なお、ECC機能をホストデバイス3が有する場合にはECC部20は不要である。   The memory controller 10 includes a ROM 19, a CPU 11 that is a control unit, a RAM 14, a host I / F (interface) 18, an encoding process of data to be stored, and a stored data connected via a bus 17. An error correcting code (ECC) unit 20 that performs decoding processing and a NAND I / F (interface) 21 are included. Note that the ECC unit 20 is not required when the host device 3 has the ECC function.

メモリコントローラ10は、CPU11を用いて、ホストI/F18を介してホストデバイス3とのデータ送受信を、NAND I/F21を介してメモリ部30とのデータ送受信を行う。半導体メモリ装置2の動作時に、RAM14には、後述するように、論理アドレス/物理アドレス変換テーブル(以下、「論物変換テーブル」という)16が記憶されており、論物変換テーブル16は随時、書き換えられていく。   The memory controller 10 uses the CPU 11 to perform data transmission / reception with the host device 3 via the host I / F 18 and data transmission / reception with the memory unit 30 via the NAND I / F 21. During the operation of the semiconductor memory device 2, the RAM 14 stores a logical address / physical address conversion table (hereinafter referred to as “logical / physical conversion table”) 16 as will be described later. It will be rewritten.

ここで、図2に示すように半導体メモリ部30を構成する複数のメモリセル31は、消去単位である複数の物理ブロックに区分される。一方、半導体メモリ装置2と接続されたホストデバイス3は論理空間における各メモリセル31の位置を示す論理アドレス(LBA:Logical Block Address)によりデータの送受信を指示する。   Here, as shown in FIG. 2, the plurality of memory cells 31 constituting the semiconductor memory unit 30 are divided into a plurality of physical blocks which are erase units. On the other hand, the host device 3 connected to the semiconductor memory device 2 instructs transmission / reception of data by a logical address (LBA: Logical Block Address) indicating the position of each memory cell 31 in the logical space.

なお、以下の説明では、論理空間の区分サイズは物理ブロックサイズと同一とし、論理空間1区分(以下、「論理ブロック」と呼ぶ)に対して1個の物理ブロックが対応付けられている論物変換形式とする。すなわち、1個の論理ブロックのサイズは1個の物理ブロックサイズと同一であるが、1個の論理ブロックに対して複数個の物理ブロックが対応付けられている論物変換形式でも良い。   In the following description, the logical space partition size is the same as the physical block size, and one logical block is associated with one logical space partition (hereinafter referred to as “logical block”). The conversion format. That is, the size of one logical block is the same as the size of one physical block, but a logical-physical conversion format in which a plurality of physical blocks are associated with one logical block may be used.

CPU11は、論物変換テーブル16にもとづいて論理アドレスと物理アドレスの変換を行うアドレス変換部(不図示)等の動作をファームウエア(FW)により実行する。ホストデバイス3からのコマンド入力に応じた半導体メモリ装置2全体の制御、例えばウェアレベリング処理等もCPU11においてFWで実行される。なお、それぞれの処理専用、例えばウェアレベリング処理用のドライバーまたは、IC等を有していてもよい。ROM19は、半導体メモリ装置2の制御プログラム等が格納されている記憶部であり、メモリ部30の一部または図示しない不揮発性記憶部にもメモリコントローラ10が半導体メモリ装置2を制御するための情報、例えば論物変換テーブル16等が記憶される。   The CPU 11 executes an operation of an address conversion unit (not shown) for converting a logical address and a physical address based on the logical / physical conversion table 16 by using firmware (FW). Control of the entire semiconductor memory device 2 in response to a command input from the host device 3, such as wear leveling processing, is also executed by the CPU 11 with FW. In addition, you may have a driver for exclusive use of each process, for example, a wear leveling process, or IC. The ROM 19 is a storage unit that stores a control program or the like for the semiconductor memory device 2, and information for the memory controller 10 to control the semiconductor memory device 2 in a part of the memory unit 30 or a nonvolatile storage unit (not shown). For example, the logical-physical conversion table 16 is stored.

そして、図3(A)および図3(B)に示すように、メモリ部30は、第1の領域である領域A(41A1、41A2)と、第2の領域である領域B(41B1、41B2)と、第3の領域である領域C(41C1、41C2)と、フリーブロック領域(42)と、に分類される。   As shown in FIGS. 3A and 3B, the memory unit 30 includes a region A (41A1, 41A2) that is a first region and a region B (41B1, 41B2) that is a second region. ), A third area C (41C1, 41C2), and a free block area (42).

領域A、領域B、および領域Cに対しては、フリーブロック領域(42)から1以上のブロックが割り当てられている。なお、メモリ部30は、少なくとも2つの領域に区分して管理されていればよく、例えば、領域Cは設定されていなくとも構わない。ホストデバイス3またはメモリコントローラ10は、どの論理アドレス範囲が領域A、領域Bおよび領域Cに対応するかを管理している。フリーブロック領域(42)には論理アドレスが割り当てられていない。   For area A, area B, and area C, one or more blocks are allocated from the free block area (42). Note that the memory unit 30 may be managed by being divided into at least two areas. For example, the area C may not be set. The host device 3 or the memory controller 10 manages which logical address range corresponds to the area A, the area B, and the area C. No logical address is assigned to the free block area (42).

ここで、フリーブロック領域(42)は、複数の書き込み可能ブロック、言い替えれば複数の記憶可能ブロックからなる。NAND型のメモリ部30は、いわゆるオーバーライト動作が行えないために、ブロックの消去処理をしてから書き込み処理を行う必要がある。また、1ページの書き替えでも、例えば64ページからなるブロック全てを書き替える必要がある。後述するように、半導体メモリ装置2では、フリーブロック領域(42)を準備することにより、ウェアレベリング処理を行っている。   Here, the free block area (42) includes a plurality of writable blocks, in other words, a plurality of storable blocks. Since the NAND type memory unit 30 cannot perform a so-called overwrite operation, it is necessary to perform a writing process after performing a block erasing process. Further, even if one page is rewritten, it is necessary to rewrite all the blocks composed of, for example, 64 pages. As will be described later, the semiconductor memory device 2 performs the wear leveling process by preparing a free block area (42).

なお、データの更新に伴い領域A、領域B、または領域Cから解放されたブロックは、フリーブロック領域(42)に登録する時に消去処理を実行してもよいし、新たに領域A、領域B、または領域Cに割り当てられる時に消去処理を実行してもよいし、任意のタイミングで消去処理を実行してもよい。   It should be noted that the block released from the area A, the area B, or the area C with the data update may be erased when it is registered in the free block area (42), or a new area A, area B Alternatively, the erasing process may be executed when it is assigned to the area C, or the erasing process may be executed at an arbitrary timing.

領域Aは、書き替え頻度が高い論理アドレス範囲のデータを記憶する単数または複数のブロックからなる。領域Bは、書き替え頻度が低い論理アドレス範囲のデータを記憶する単数または複数のブロックからなる。フリーブロック領域は、領域Aまたは領域Bからの解放順にエントリされた単数または複数の記憶可能ブロックからなる。領域Cは、書き替えが必要ない論理アドレス範囲のデータを記憶する複数のブロックからなり、フリーブロック領域との書き替え処理の対象とはならない。ホストデバイス3またはメモリコントローラ10は、用途に応じて領域A、領域B、および領域Cの論理アドレス範囲を設定する。   The area A is composed of a single block or a plurality of blocks that store data in a logical address range that is frequently rewritten. The area B is composed of one or a plurality of blocks that store data in a logical address range with a low rewrite frequency. The free block area is composed of one or a plurality of storable blocks entered in the order of release from the area A or the area B. The area C includes a plurality of blocks that store data in a logical address range that does not require rewriting, and is not a target of rewriting processing with the free block area. The host device 3 or the memory controller 10 sets the logical address ranges of the area A, the area B, and the area C according to the usage.

例えば、領域Aは、ホストデバイス3のシステム動作時のログなどを記憶するデータ領域であり、その書き換え頻度は領域Bに比較して高い。領域Bは、ホストデバイス3が実行するファームウェアなどを記憶するプログラム領域であり、その書き換え頻度は領域Aに比較して低い。領域Cは、半導体メモリ装置2の起動データまたはホストデバイス3のブートコードなど、システムの基本的な動作に必要な重要情報が記憶されている領域である。   For example, the area A is a data area for storing a log or the like at the time of system operation of the host device 3, and its rewrite frequency is higher than that of the area B. The area B is a program area for storing firmware executed by the host device 3 and its rewrite frequency is lower than that of the area A. The area C is an area in which important information necessary for basic operation of the system such as startup data of the semiconductor memory device 2 or boot code of the host device 3 is stored.

そして、図3(A)に示すように、半導体メモリ装置2のメモリコントローラ10は、領域A(41A1、41A2)のブロックに記憶されたデータを書き替える(更新する)ときに、書き替え後のデータをフリーブロック領域の最上位エントリのブロック(42T)にコピーするとともに、元々データが記憶されていたブロックを領域A(41A1、41A2)から解放して、フリーブロック領域の最下位(42B)にエントリするように制御する。   Then, as shown in FIG. 3A, when the memory controller 10 of the semiconductor memory device 2 rewrites (updates) the data stored in the block of the area A (41A1, 41A2), The data is copied to the block (42T) of the highest entry in the free block area, and the block in which the data is originally stored is released from the area A (41A1, 41A2), and is moved to the lowest position (42B) of the free block area. Control to enter.

すなわち、論物変換テーブル16のフリーブロック領域42の最上位エントリのブロック(42T)を、領域Aの論理アドレスに変更し、元々データが記憶されていた領域Aのブロックをフリーブロック領域の最下位(42B)に割り当てる。すなわち、ブロックを開放するとは、このブロックについて論理アドレスとの関連付けを無効化し、フリーブロック領域42に割り当てることを意味する。   That is, the block (42T) of the highest entry in the free block area 42 of the logical-physical conversion table 16 is changed to the logical address of the area A, and the block of the area A where the data was originally stored is changed to the lowest block of the free block area. (42B). That is, releasing the block means invalidating the association with the logical address for this block and allocating it to the free block area 42.

解放されたブロックはフリーブロック領域42の最下位にエントリされ、フリーブロック領域42の最上位のブロック(42T)から順に書き込み処理に割り当てられるため、データ更新が発生するブロックについては循環的な割り当てが行われることになり、同一のブロックが連続的に書き換えに使用されることはない。換言すれば、領域Aは書き替えのときに自動的にウェアレベリング処理が行われる。   The released block is entered at the lowest position in the free block area 42 and is assigned to the write process in order from the highest block (42T) in the free block area 42, and therefore, cyclic allocation is performed for the block in which data update occurs. As a result, the same block is not continuously used for rewriting. In other words, the wear leveling process is automatically performed on the area A when rewriting.

さらに、図3(B)に示すように、メモリコントローラ10は、所定のタイミングで、領域B(41B1、41B2)のブロックに記憶されたデータを、フリーブロック領域42の最上位エントリのブロック42Tにコピーするとともに、データが記憶されていた領域Bのブロックを領域Bから解放してフリーブロック領域42の最下位42Bにエントリするように制御する。   Further, as shown in FIG. 3B, the memory controller 10 transfers the data stored in the block of the area B (41B1, 41B2) to the block 42T of the highest entry in the free block area 42 at a predetermined timing. At the same time as copying, control is performed so that the block in the area B in which the data is stored is released from the area B and entered in the lowest 42B of the free block area 42.

領域Bに割り当てられたブロックは書き換え頻度の低いデータを保持しているため、本実施の形態を適用しない場合、データ更新によってフリーブロック領域42へ割り当てられる機会が少なく、ほとんど書き換えがされないままである。従って、領域Aとフリーブロックとの間だけでブロックの循環がなされ、記憶領域全体に亘る均一なウェアレベリング処理を行うことができない。一方で本実施の形態を適用する場合、書き替え頻度が低いブロックからなる領域B(41B1、41B2)から、所定のタイミングでブロックを解放することにより、メモリ部30として、より均一なウェアレベリング処理を行う。   Since the block assigned to the area B holds data with a low rewrite frequency, when this embodiment is not applied, there are few opportunities to be assigned to the free block area 42 by the data update, and the rewrite is hardly performed. . Accordingly, the block is circulated only between the area A and the free block, and uniform wear leveling processing over the entire storage area cannot be performed. On the other hand, when this embodiment is applied, a more uniform wear leveling process is performed as the memory unit 30 by releasing a block at a predetermined timing from the area B (41B1, 41B2) including blocks with low rewrite frequency. I do.

なお、領域Bのウェアレベリング処理を行うタイミングとしては、メモリ部30に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数等に、もとづくことが好ましく、接続されたホストデバイス3からのコマンド指示に、もとづくことが特に好ましい。   Note that the timing for performing the wear leveling process in the area B is preferably based on the number of times data is rewritten, a predetermined time interval, a predetermined number of activations, or the like stored in the memory unit 30. It is particularly preferable to follow the command instructions from

なお、領域B(41B1、41B2)のウェアレベリング処理は、領域に記憶されている全てのデータを一度に書き替え処理してもよいが、時間を要する。このため、所定のタイミング毎に、領域Bのブロックに記憶されたデータの一部を、順に書き替え処理することが好ましい。例えば、ホストデバイス3からのコマンド指示があるたびに、領域Bの書き替え対象ブロックをずらしていくことにより、データの一部を、順に書き替え処理することができる。   Note that the wear leveling process for the area B (41B1 and 41B2) may rewrite all the data stored in the area at one time, but takes time. For this reason, it is preferable to rewrite a part of the data stored in the block of the region B in order at every predetermined timing. For example, every time there is a command instruction from the host device 3, by shifting the block to be rewritten in the area B, a part of the data can be rewritten in order.

また、領域Cについても、領域Bと同様に所定のタイミングでウェアレベリング処理を行うことにより、メモリ部30として、より均一なウェアレベリング処理を行うことができる。しかし、領域Cは重要な情報が記憶されている。データの書き替え処理にはデータが破損する可能性があるため、領域Cはウェアレベリング処理の対象外とすることが好ましい。   As for the area C, by performing the wear leveling process at a predetermined timing similarly to the area B, the memory unit 30 can perform a more uniform wear leveling process. However, the area C stores important information. Since data may be damaged in the data rewriting process, the area C is preferably excluded from the wear leveling process.

本実施の形態のメモリ装置2およびメモリシステム1は、メモリ部30として、より均一なウェアレベリング処理を行うことができるために、製品寿命が長い。   Since the memory device 2 and the memory system 1 according to the present embodiment can perform more uniform wear leveling processing as the memory unit 30, the product life is long.

次に図4のフローチャートを用いて、本実施の形態のメモリ装置2およびメモリシステム1の処理の流れについて詳細に説明する。   Next, the processing flow of the memory device 2 and the memory system 1 according to the present embodiment will be described in detail with reference to the flowchart of FIG.

<ステップS10> 論物変換テーブル読み込み処理
例えば、メモリ装置2は、ホストデバイス3と接続されることにより電力が供給されて(S10:Yes)稼働状態となる。すると、不揮発性メモリ部に記憶されていた、論物変換テーブル16がRAM14に転送される。そして、CPU11は論物変換テーブル16をもとに、データの書き込み処理/読み出し処理を、終了指示があるまで(S11:Yes)、繰り返して行う。なお、以下は、データの書き込み処理についてのみ説明する。
<Step S10> Logical-physical conversion table reading process For example, the memory device 2 is connected to the host device 3 to be supplied with power (S10: Yes) and is in an operating state. Then, the logical / physical conversion table 16 stored in the nonvolatile memory unit is transferred to the RAM 14. Then, the CPU 11 repeatedly performs data writing / reading processing based on the logical-physical conversion table 16 until an end instruction is given (S11: Yes). In the following, only the data writing process will be described.

<ステップS11> 第1のウェアレベリング処理
ホストデバイス3からシステム動作ログなどのデータが送信されると、ECC20にて符号化処理が行われ、メモリ部30の第1の領域である領域A(41A1等)に記憶される。このとき、既に記憶されているブロックの一部のデータの書き替え処理となる場合には、メモリコントローラ10の制御により、書き替え後のデータをフリーブロック領域42の最上位エントリのブロック42Tに記憶するとともに、データが記憶されていたブロックを第1の領域から解放してフリーブロック領域42の最下位のブロック42Bにエントリする。
<Step S11> First Wear Leveling Processing When data such as a system operation log is transmitted from the host device 3, an encoding process is performed by the ECC 20, and a region A (41A1) which is a first region of the memory unit 30 Etc.). At this time, in the case of rewriting processing of a part of the data of the already stored block, the rewritten data is stored in the block 42T of the highest entry in the free block area 42 under the control of the memory controller 10. At the same time, the block in which the data is stored is released from the first area and entered in the lowest block 42B of the free block area 42.

言い換えれば、フリーブロック領域42の最上位エントリのブロック42Tに、領域Aの論理アドレスが割り当てられる。データが記憶されていたブロックは消去処理されて記憶可能ブロックとして、領域Aの論理アドレスからフリーブロック領域42の最下位のブロック42Bに変更される。すなわち、領域Aは、通常の書き替え処理において、自動的にウェアレベリング処理が行われる。   In other words, the logical address of the area A is assigned to the block 42T of the highest entry in the free block area 42. The block in which the data is stored is erased and changed from the logical address in the area A to the lowest block 42B in the free block area 42 as a storable block. That is, in the area A, the wear leveling process is automatically performed in the normal rewriting process.

<ステップS12>
ホストデバイス3から、領域Bのウェアレベリング処理開始の指示を行う専用コマンド(以下、「専用コマンド」という)が発行されるまでは(No)、ステップS10からの通常の処理が繰り返し行われる。
<Step S12>
Until the dedicated command (hereinafter referred to as “dedicated command”) for instructing the start of the wear leveling processing for the area B is issued from the host device 3 (No), the normal processing from step S10 is repeated.

ここで、専用コマンドは、メモリ部30に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数等にもとづき発行される。データの書き替え回数にもとづく場合には、例えば、N回(Nは自然数)の書き込み処理コマンドの発行毎にホストデバイス3が、専用コマンドを発行する。時間間隔の場合には、毎日1回、週に1回、または、2時間に1回のように専用コマンドが発行される。起動回数は、例えば、メモリシステム1の起動回数がカウントされ、所定の起動回数になるとコマンドが発行される。   Here, the dedicated command is issued based on the number of times of rewriting data stored in the memory unit 30, a predetermined time interval, a predetermined number of activations, or the like. When based on the number of data rewrites, for example, the host device 3 issues a dedicated command every time N times (N is a natural number) write processing commands are issued. In the case of a time interval, a dedicated command is issued once a day, once a week, or once every two hours. As the number of activations, for example, the number of activations of the memory system 1 is counted, and a command is issued when the number of activations reaches a predetermined number.

なお、専用コマンドを受信した半導体メモリ装置2は、直ちに領域Bのウェアレベリング処理を開始してもよいが、他の処理が行われていない、いわゆるアイドリング時間にウェアレベリング処理を開始するようにしてもよい。   The semiconductor memory device 2 that has received the dedicated command may immediately start the wear leveling process in the region B, but start the wear leveling process at a so-called idling time when no other process is performed. Also good.

なお、本実施の形態の半導体メモリ装置2では、専用コマンド発行のタイミングを決定する前記回数等は、ホストデバイス3が管理しているが、半導体メモリ装置2が管理してもよい。さらに、半導体メモリ装置2ではホストデバイス3からの専用コマンドの指示にもとづき、領域Bのウェアレベリング処理を開始するタイミングが決定されるが、ホストデバイス3からの専用コマンドではなく、半導体メモリ装置が半導体メモリ部30に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数等にもとづき、自ら所定のタイミングを決定し、領域Bのウェアレベリング処理を行ってもよい。   In the semiconductor memory device 2 of the present embodiment, the host device 3 manages the number of times for determining the timing of issuing the dedicated command, but the semiconductor memory device 2 may also manage it. Further, in the semiconductor memory device 2, the timing for starting the wear leveling processing of the area B is determined based on the instruction of the dedicated command from the host device 3, but the semiconductor memory device is not the dedicated command from the host device 3, but the semiconductor memory device Based on the number of rewrites of data stored in the memory unit 30, a predetermined time interval, or a predetermined number of activations, the predetermined timing may be determined by itself and the wear leveling process of the region B may be performed.

以上の説明のように、専用コマンド発行の所定のタイミングは、メモリ部30に記憶されるデータの書き替え回数、所定の時間間隔もしくは所定の起動回数のいずれか等、または接続されたホストデバイス3からのコマンド指示に、もとづく。ただし、ホストデバイス3もメモリ部30に記憶されるデータの書き替え回数、所定の時間間隔または所定の起動回数のいずれか等にもとづき専用コマンドを発行する。   As described above, the predetermined timing for issuing the dedicated command is the number of times of rewriting the data stored in the memory unit 30, one of the predetermined time interval or the predetermined number of activations, or the connected host device 3. Based on the command instructions from. However, the host device 3 also issues a dedicated command based on the number of times of rewriting data stored in the memory unit 30, a predetermined time interval, or a predetermined number of activations.

<ステップS13> 第2のウェアレベリング処理
ホストデバイス3から、専用コマンドが発行される(S13:Yes)と、メモリコントローラ10の制御により、領域Bのウェアレベリング処理が行われる。すなわち、領域Bの一つのブロックに記憶されたデータは、フリーブロック領域42の最上位エントリのブロック42Tにコピーされるとともに、データが記憶されていた領域Bのブロックは領域Bから解放されフリーブロック領域42の最下位のブロック42Bにエントリするようにメモリコントローラ10により制御される。
<Step S13> Second Wear Leveling Processing When a dedicated command is issued from the host device 3 (S13: Yes), the wear leveling processing of the area B is performed under the control of the memory controller 10. That is, the data stored in one block of the area B is copied to the block 42T of the highest entry in the free block area 42, and the block of the area B in which the data is stored is released from the area B and free block Control is performed by the memory controller 10 so as to enter the lowest block 42B of the area 42.

<ステップS14>
領域Bの、例えば所定数の複数のブロックについて、順にステップS13の処理が行われる。所定数のブロックについての処理が完了する(Yes)と、領域Bのウェアレベリング処理は、いったん、終了してステップS11からの通常の処理が行われる。
なお、領域Bのうち、どこまでウェアレベリング処理されたかは、CPU11が記憶しており、次のコマンド入力があったときには、続きの処理が行われる。
<Step S14>
For example, a predetermined number of blocks in the area B are sequentially processed in step S13. When the process for the predetermined number of blocks is completed (Yes), the wear leveling process for the area B is once ended and the normal process from step S11 is performed.
It should be noted that the extent to which the wear leveling processing has been performed in the area B is stored in the CPU 11, and when the next command is input, the subsequent processing is performed.

ここで、1回のコマンドにより、ウェアレベリング処理するブロックの数は適宜、定められる。もちろん、1度に領域Bの全てのブロックについて処理してもよい。また、1回のコマンドにより処理するブロック数ではなく、ウェアレベリング処理に要する処理時間等により制御してもよい。   Here, the number of blocks to be subjected to wear leveling processing is appropriately determined by one command. Of course, you may process about all the blocks of the area | region B at once. Further, the control may be performed not based on the number of blocks processed by one command but by the processing time required for the wear leveling process.

<ステップS15> データ待避処理
半導体メモリ装置2の動作がOFF状態となる(S10:No)場合、その前にデータ待避処理が行われる。すなわち、RAM14に記憶されていた論物変換テーブル16およびウェアレベリング処理情報等が、不揮発性メモリ部に記憶される。
<Step S15> Data Saving Process When the operation of the semiconductor memory device 2 is turned off (S10: No), the data saving process is performed before that. That is, the logical-physical conversion table 16 and the wear leveling processing information stored in the RAM 14 are stored in the nonvolatile memory unit.

上記動作を行う半導体メモリ装置2および半導体メモリ装置2を有するメモリシステム1は、均一なウェアレベリング処理を行うために製品寿命が長い。   The semiconductor memory device 2 and the memory system 1 having the semiconductor memory device 2 that perform the above operation have a long product life in order to perform uniform wear leveling processing.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1…半導体メモリシステム、2…半導体メモリ装置、3…ホストデバイス、10…メモリコントローラ、11…CPU、14…RAM、16…論物変換テーブル、17…バス、19…ROM、20…ECC部、30…半導体メモリ部、31…メモリセル、42…フリーブロック領域、42B…最下位ブロック、42T…最上位ブロック DESCRIPTION OF SYMBOLS 1 ... Semiconductor memory system, 2 ... Semiconductor memory device, 3 ... Host device, 10 ... Memory controller, 11 ... CPU, 14 ... RAM, 16 ... Logical-physical conversion table, 17 ... Bus, 19 ... ROM, 20 ... ECC part, 30 ... Semiconductor memory unit, 31 ... Memory cell, 42 ... Free block area, 42B ... Lowermost block, 42T ... Uppermost block

Claims (5)

書き替え頻度が高い論理アドレス範囲のデータを記憶するブロックからなる第1の領域と、前記書き替え頻度が低い論理アドレス範囲のデータを記憶するブロックからなる第2の領域と、前記第1または第2の領域からの解放順にエントリされた記憶可能ブロックからなるフリーブロック領域と、に分類される半導体メモリ部と、
前記第1の領域のブロックに記憶されたデータを書き替えるときに、書き替え後のデータを前記フリーブロック領域の最上位エントリのブロックに記憶するとともに、前記データが記憶されていたブロックを前記第1の領域から解放して前記フリーブロック領域の最下位にエントリし、
所定のタイミングで、前記第2の領域のブロックに記憶されたデータを、前記フリーブロック領域の最上位エントリのブロックにコピーするとともに、前記データが記憶されていたブロックを前記第2の領域から解放して前記フリーブロック領域の最下位にエントリするように制御するメモリコントローラと、を具備することを特徴とする半導体メモリ装置。
A first area composed of blocks storing data in a logical address range with a high rewrite frequency; a second area composed of blocks storing data in a logical address range with a low rewrite frequency; and the first or first A free block area consisting of storable blocks entered in order of release from the area of 2, and a semiconductor memory unit classified into:
When rewriting the data stored in the block of the first area, the rewritten data is stored in the block of the highest entry in the free block area, and the block in which the data is stored is stored in the first block. Release from the area of 1 and enter the lowest block of the free block area,
At a predetermined timing, the data stored in the block of the second area is copied to the block of the highest entry in the free block area, and the block storing the data is released from the second area. And a memory controller that controls to enter the lowest part of the free block area.
前記所定のタイミングが、前記半導体メモリ部に記憶されるデータの書き替え回数もしくは所定の時間間隔もしくは所定の起動回数のいずれか、または接続されたホストデバイスからのコマンド指示に、もとづくことを特徴とする請求項1に記載の半導体メモリ装置。   The predetermined timing is based on either the number of rewrites of data stored in the semiconductor memory unit, a predetermined time interval, or a predetermined number of activations, or a command instruction from a connected host device. The semiconductor memory device according to claim 1. 所定のタイミングのたびに、前記第2の領域のブロックに記憶されたデータの一部を、順に書き替えることを特徴とする請求項1または請求項2に記載の半導体メモリ装置。   3. The semiconductor memory device according to claim 1, wherein a part of the data stored in the block of the second area is rewritten in order at every predetermined timing. 前記半導体メモリ部が、記憶されるデータの書き替えが必要ない論理アドレス範囲のデータを記憶するブロックからなる第3の領域を有することを特徴とする請求項1から請求項3のいずれか1項に記載の半導体メモリ装置。   4. The semiconductor memory unit according to claim 1, wherein the semiconductor memory unit has a third area including a block for storing data in a logical address range that does not require rewriting of stored data. 5. The semiconductor memory device described in 1. ホストデバイスと、
請求項1から請求項4のいずれか1項に記載の半導体メモリ装置と、を具備することを特徴とする半導体メモリシステム。
A host device,
A semiconductor memory system comprising: the semiconductor memory device according to claim 1.
JP2010149925A 2010-06-30 2010-06-30 Semiconductor memory device and semiconductor memory system Pending JP2012014400A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010149925A JP2012014400A (en) 2010-06-30 2010-06-30 Semiconductor memory device and semiconductor memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010149925A JP2012014400A (en) 2010-06-30 2010-06-30 Semiconductor memory device and semiconductor memory system

Publications (1)

Publication Number Publication Date
JP2012014400A true JP2012014400A (en) 2012-01-19

Family

ID=45600761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010149925A Pending JP2012014400A (en) 2010-06-30 2010-06-30 Semiconductor memory device and semiconductor memory system

Country Status (1)

Country Link
JP (1) JP2012014400A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017501489A (en) * 2014-12-05 2017-01-12 華為技術有限公司Huawei Technologies Co.,Ltd. Controller, flash memory device, method for identifying data block stability, and method for storing data in flash memory device
US10229050B2 (en) 2015-12-15 2019-03-12 Samsung Electronics Co., Ltd. Method for operating storage controller and method for operating storage device including the same wherein garbage collection is performed responsive to free block unavailable during reuse
JP2020529665A (en) * 2017-08-04 2020-10-08 マイクロン テクノロジー,インク. Wear leveling
JP2020198128A (en) * 2020-08-31 2020-12-10 キオクシア株式会社 Memory system
JP2021530810A (en) * 2018-07-20 2021-11-11 中興通訊股▲ふん▼有限公司Zte Corporation Wear leveling and access methods, devices and storage media for non-volatile memory
JP2022506259A (en) * 2018-11-01 2022-01-17 マイクロン テクノロジー,インク. Data relocation in memory

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017501489A (en) * 2014-12-05 2017-01-12 華為技術有限公司Huawei Technologies Co.,Ltd. Controller, flash memory device, method for identifying data block stability, and method for storing data in flash memory device
US9772790B2 (en) 2014-12-05 2017-09-26 Huawei Technologies Co., Ltd. Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus
US10229050B2 (en) 2015-12-15 2019-03-12 Samsung Electronics Co., Ltd. Method for operating storage controller and method for operating storage device including the same wherein garbage collection is performed responsive to free block unavailable during reuse
JP2020529665A (en) * 2017-08-04 2020-10-08 マイクロン テクノロジー,インク. Wear leveling
JP7092865B2 (en) 2017-08-04 2022-06-28 マイクロン テクノロジー,インク. Wear leveling
JP2021530810A (en) * 2018-07-20 2021-11-11 中興通訊股▲ふん▼有限公司Zte Corporation Wear leveling and access methods, devices and storage media for non-volatile memory
JP7110479B2 (en) 2018-07-20 2022-08-01 中興通訊股▲ふん▼有限公司 WEAR LEVELING AND ACCESS METHOD, DEVICE AND STORAGE MEDIUM FOR NON-VOLATILE MEMORY
JP2022506259A (en) * 2018-11-01 2022-01-17 マイクロン テクノロジー,インク. Data relocation in memory
JP2020198128A (en) * 2020-08-31 2020-12-10 キオクシア株式会社 Memory system

Similar Documents

Publication Publication Date Title
US11880602B2 (en) Data writing method and storage device
CN111240586B (en) Memory system and method of operating the same
US8250286B2 (en) Block management method, and storage system and controller using the same
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
US20170039141A1 (en) Mapping table updating method, memory storage device and memory control circuit unit
US9146691B2 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
US20170336992A1 (en) Method, device, and program for managing a flash memory for mass storage
JP2011203916A (en) Memory controller and semiconductor storage device
KR20130016941A (en) Memory system and meta data managing method thereof
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
JP2012014400A (en) Semiconductor memory device and semiconductor memory system
US11537318B2 (en) Memory system and operating method thereof
JP2018160189A (en) Memory system
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
CN113885808A (en) Mapping information recording method, memory control circuit unit and memory device
US11543998B2 (en) Memory controller for controlling different numbers of memory devices and storage device including the same
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US20120151180A1 (en) Data writing method, memory controller and memory storage apparatus
US10346040B2 (en) Data merging management method based on data type, memory storage device and memory control circuit unit
US9792068B2 (en) Memory system and method of controlling nonvolatile memory
JP2012068765A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
US11922048B2 (en) Memory controller managing map data and operating method thereof
US11366725B2 (en) Storage device and method of operating the same
US20210132804A1 (en) Storage device and method of operating the storage device