JP4636046B2 - MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD - Google Patents

MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD Download PDF

Info

Publication number
JP4636046B2
JP4636046B2 JP2007086982A JP2007086982A JP4636046B2 JP 4636046 B2 JP4636046 B2 JP 4636046B2 JP 2007086982 A JP2007086982 A JP 2007086982A JP 2007086982 A JP2007086982 A JP 2007086982A JP 4636046 B2 JP4636046 B2 JP 4636046B2
Authority
JP
Japan
Prior art keywords
logical
physical
zone
block
forming
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.)
Active
Application number
JP2007086982A
Other languages
Japanese (ja)
Other versions
JP2008243156A (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.)
TDK Corp
Original Assignee
TDK 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 TDK Corp filed Critical TDK Corp
Priority to JP2007086982A priority Critical patent/JP4636046B2/en
Publication of JP2008243156A publication Critical patent/JP2008243156A/en
Application granted granted Critical
Publication of JP4636046B2 publication Critical patent/JP4636046B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法に関する。   The present invention relates to a memory controller, a flash memory system including the memory controller, and a flash memory control method.

従来、データの物理的な読み書きの単位であるページを所定数含んだ、データ消去の単位である物理ブロックによって構成されている複数個のフラッシュメモリチップに対するアクセスにおいて、互いに異なるフラッシュメモリチップ内の複数個の物理ブロックを仮想的に結合した仮想ブロックを形成してアクセスする方法が知られている(例えば、特許文献1参照)。この仮想ブロックを形成したアクセスでは、異なるフラッシュメモリチップ内の物理ブロックが並行してアクセスされるため、アクセススピードが高速になる。   Conventionally, when accessing a plurality of flash memory chips configured by physical blocks that are data erasure units that include a predetermined number of pages that are physical read / write units of data, a plurality of flash memory chips in different flash memory chips are accessed. A method of accessing by forming a virtual block obtained by virtually combining a plurality of physical blocks is known (see, for example, Patent Document 1). In the access that forms this virtual block, the physical blocks in different flash memory chips are accessed in parallel, so that the access speed is increased.

また、大容量化したフラッシュメモリチップ内の記憶領域を円滑に管理するため、フラッシュメモリチップ内の記憶領域を複数の物理ゾーンに分割して管理する方法が用いられている(例えば、特許文献2参照)。各物理ゾーンは、複数の物理ブロックで構成されている。そして、各物理ゾーンには固有の物理ゾーン番号(PZN)が、各物理ブロックには固有の物理ブロックアドレス(PBA)が割り当てられている。   Further, in order to smoothly manage the storage area in the flash memory chip having a large capacity, a method of managing the storage area in the flash memory chip by dividing it into a plurality of physical zones is used (for example, Patent Document 2). reference). Each physical zone is composed of a plurality of physical blocks. Each physical zone is assigned a unique physical zone number (PZN), and each physical block is assigned a unique physical block address (PBA).

一方、セクタ(512バイト)単位の領域につけた通し番号であるLBA(Logical Block Address)で管理されているホストシステム側のアドレス空間も複数の論理ゾーンに分割して管理されている。各論理ゾーンに含まれる複数セクタの領域内では、LBAが連続している。更に、各論理ゾーン内は複数の論理ブロックに分割して管理されている。そして、各論理ゾーンには論理ゾーン番号(LZN)が、各論理ブロックには論理ブロック番号(LBN)が割り当てられている。   On the other hand, the address space on the host system side managed by the LBA (Logical Block Address) which is a serial number assigned to the sector (512 bytes) unit area is also divided and managed in a plurality of logical zones. The LBA is continuous in the area of a plurality of sectors included in each logical zone. Furthermore, each logical zone is managed by being divided into a plurality of logical blocks. Each logical zone is assigned a logical zone number (LZN), and each logical block is assigned a logical block number (LBN).

この管理方法では、物理ゾーンに対して論理ゾーンが1対1の対応関係で割り当てられ、対応関係にある物理ゾーンと論理ゾーンとの間で、物理ゾーンに含まれる物理ブロックと論理ゾーンに含まれる論理ブロックとの対応関係が管理される。
国際公開第WO2002/046929号パンフレット 2005−18490号公報
In this management method, a logical zone is assigned to a physical zone in a one-to-one correspondence relationship, and a physical block and a logical zone included in the physical zone are included between the corresponding physical zone and the logical zone. Correspondence with logical blocks is managed.
International Publication No. WO2002 / 046929 Pamphlet 2005-18490 gazette

しかしながら、LBAが特定の範囲の領域(例えば、ファイルアロケーションテーブルが格納される領域等)にデータの書込みや書換えが集中すると、その領域が属する論理ゾーンに対応する物理ゾーンに含まれる物理ブロックに書き込みが集中する。フラッシュメモリは、消去回数が多くなると、不良ブロック化する可能性が高くなるため、上述のように、特定の物理ブロックに書き込みが集中すると不良ブロックが発生しやすくなるという問題があった。   However, if data writing or rewriting concentrates in an area with a specific LBA range (for example, an area in which a file allocation table is stored), the data is written into a physical block included in the physical zone corresponding to the logical zone to which the area belongs. Concentrate. As the number of times of erasure increases, there is a high possibility that a flash memory becomes a defective block. As described above, there is a problem that a defective block is likely to occur when writing concentrates on a specific physical block.

かかる実情に鑑み、本発明は、仮想ブロックを用いてフラッシュメモリへのアクセススピードを高速化し、フラッシュメモリ内の一部の記憶領域にアクセスが集中することを回避できるメモリコントローラ及びメモリコントローラの制御方法を提供する。   In view of such circumstances, the present invention increases the access speed to the flash memory using a virtual block, and avoids the concentration of access to some storage areas in the flash memory, and a control method for the memory controller I will provide a.

上記目的を達成するために、本発明によるメモリコントローラは、ホストシステムから与えられるセクタ単位の論理アドレスに基づいて、物理ブロック単位で記憶データの消去が行われる複数個のフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記論理アドレスが連続する (nは1以上の整数)セクタの領域を含む論理ブロックを複数個形成することにより前記論理アドレスが割り当てられている領域を前記論理ブロック毎の領域に分割する論理ブロック形成手段と、複数個の前記論理ブロックを含む論理ゾーンを2 (mは1以上の整数)個形成する手段であって、それぞれの前記論理ゾーンには前記論理ブロックを跨いで前記論理アドレスが連続する領域が含まれないように前記論理ゾーンを形成する論理ゾーン形成手段と、それぞれの前記フラッシュメモリ内の記憶領域を複数個の物理ゾーンに分割することにより、複数個の物理ブロックを含む前記物理ゾーンを数個形成する物理ゾーン形成手段とそれぞれが異なる前記フラッシュメモリに含まれる複数個の前記物理ゾーンからなる物理ゾーングループを複数個形成するグループ形成手段と、それぞれの前記物理ゾーングループに対して、1個の前記論理ゾーンを割り当てる論理ゾーン割り当て手段と、前記物理ゾーングループに含まれるそれぞれの前記物理ゾーンから個ずつ選択された複数個の物理ブロックを仮想的に結合した仮想ブロックを形成する仮想ブロック形成手段と、記論理ゾーンに属する論理ブロックを、当該論理ゾーンに対応する前記物理ゾーングループに属する前記仮想ブロックに割り当てる論理ブロック割り当て手段とを備え、前記論理ブロック形成手段は、前記論理アドレスをビット表示したものの下位側から数えてnビット目のビットより上位側のビットからなる上位側ビットに基づいて論理ブロック形成し、前記論理ゾーン形成手段は、前記上位側ビットの下位mビットに基づいて前記論理ゾーンを形成することを特徴とする。 In order to achieve the above object, a memory controller according to the present invention controls access to a plurality of flash memories in which stored data is erased in units of physical blocks, based on logical addresses in units of sectors given from a host system. a memory controller, wherein (the n 1 or more integer) 2 n logical addresses continue by form a plurality of logical blocks including the area of the sector, the area where the logical addresses are assigned logical block A logical block forming means for dividing each area and a means for forming 2 m (m is an integer of 1 or more) logical zones including a plurality of the logical blocks. The logical zone is formed so that the area where the logical address continues across the block is not included. A logical zone forming means, by dividing the storage area of each of the said flash memory into a plurality of physical zone, a physical zone forming means for forming several double the physical zone including a plurality of physical blocks, Group forming means for forming a plurality of physical zone groups composed of a plurality of the physical zones each included in the different flash memory , and a logical zone for allocating one logical zone to each of the physical zone groups and assignment means, a virtual block forming means for forming a virtual block each of the physical zones from one by one selected plurality of physical blocks virtually bonds contained in the physical zone group, before Symbol logical zone belongs logical blocks, the physical zone group corresponding to the logical zone Wherein a logical block allocation means for allocating a virtual block, the logical block forming means, the upper bits formed from the upper side of bits than the bit of the n-th bit counted from the lower despite the logical address displayed in bits A logical block is formed based on the logical zone, and the logical zone forming means forms the logical zone based on the lower m bits of the upper bits .

また、アクセスが集中する領域が、振り分け単位である論理ブロックに含まれる領域より十分に広ければ、アクセスが特定の領域に集中しても、そのアクセスは各物理ゾーンに含まれる物理ブロックに対するアクセスに分散される。更に、論理ブロックに含まれる領域の容量と仮想ブロックに含まれるユーザ領域の容量とが等しいため、各仮想ブロックに割り当てられる領域の論理アドレスは連続したアドレスになる。   In addition, if the area where access is concentrated is sufficiently larger than the area included in the logical block that is the distribution unit, even if the access is concentrated in a specific area, the access is limited to the access to the physical block included in each physical zone. Distributed. Furthermore, since the capacity of the area included in the logical block is equal to the capacity of the user area included in the virtual block, the logical address of the area allocated to each virtual block is a continuous address.

また、仮想ブロック形成手段が仮想ブロックを形成しているため、異なるフラッシュメモリに並行してアクセスすることができるようになり、アクセススピードが高速になる。   Further, since the virtual block forming means forms the virtual block, it becomes possible to access different flash memories in parallel, and the access speed is increased.

本発明のフラッシュメモリシステムは、物理ブロック単位で記憶データの消去が行われる複数個のフラッシュメモリと、これらのフラッシュメモリに対するアクセスを制御するメモリコントローラを備えることを特徴とする。 A flash memory system according to the present invention includes a plurality of flash memories in which stored data is erased in units of physical blocks, and a memory controller that controls access to these flash memories .

本発明のフラッシュメモリの制御方法は、ホストシステムから与えられるセクタ単位の論理アドレスに基づいて、物理ブロック単位で記憶データの消去が行われる複数個のフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、前記論理アドレスが連続する (nは1以上の整数)セクタの領域を含む論理ブロックを複数個形成することにより前記論理アドレスが割り当てられている領域を前記論理ブロック毎の領域に分割する論理ブロック形成ステップと、複数個の前記論理ブロックを含む論理ゾーンを2 (mは1以上の整数)個形成するステップであって、それぞれの前記論理ゾーンには前記論理ブロックを跨いで前記論理アドレスが連続する領域が含まれないように前記論理ゾーンを形成する論理ゾーン形成ステップと、それぞれの前記フラッシュメモリ内の記憶領域を複数個の物理ゾーンに分割することにより、複数個の物理ブロックを含む前記物理ゾーンを数個形成する物理ゾーン形成ステップとそれぞれが異なる前記フラッシュメモリに含まれる複数個の前記物理ゾーンからなる物理ゾーングループを複数個形成するグループ形成ステップと、それぞれの前記物理ゾーングループに対して、1個の前記論理ゾーンを割り当てる論理ゾーン割り当てステップと、前記物理ゾーングループに含まれるそれぞれの前記物理ゾーンから個ずつ選択された複数個の物理ブロックを仮想的に結合した仮想ブロックを形成する仮想ブロック形成ステップと記論理ゾーンに属する論理ブロックを、当該論理ゾーンに対応する前記物理ゾーングループに属する前記仮想ブロックに割り当てる論理ブロック割り当てステップとを有し、前記論理ブロック形成ステップでは、前記論理アドレスをビット表示したものの下位側から数えてnビット目のビットより上位側のビットからなる上位側ビットに基づいて論理ブロック形成し、前記論理ゾーン形成ステップでは、前記上位側ビットの下位mビットに基づいて前記論理ゾーンを形成することを特徴とする。
The flash memory control method of the present invention is a flash memory control method for controlling access to a plurality of flash memories in which stored data is erased in units of physical blocks, based on logical addresses in units of sectors given from a host system. And forming a plurality of logical blocks including areas of 2 n (n is an integer of 1 or more) sectors where the logical addresses are continuous, thereby assigning the area to which the logical address is assigned to each logical block. A logical block forming step for dividing the logical block, and a step of forming 2 m (m is an integer of 1 or more) logical zones including a plurality of the logical blocks , wherein each logical zone includes the logical block. The theory that the logical zone is formed so as not to include the area where the logical addresses are contiguously straddled. A management zone forming step, by dividing a storage area of each of the said flash memory into a plurality of physical zone, a physical zone forming step of forming several double the physical zone including a plurality of physical blocks, respectively Forming a plurality of physical zone groups composed of the plurality of physical zones included in the flash memories having different numbers, and assigning one logical zone to each of the physical zone groups a step, a virtual block forming step of forming a virtual blocks virtually couples the selected plurality of physical blocks one by one from each of the physical zones included in the physical zone group, belonging to the prior SL logical zone the physical zone where the logical block corresponding to the logical zone And a logical block allocating step of allocating the virtual blocks belonging to the emission group, in the logical block formation step consists of the upper bits than bits of n-th bit counted from the lower side although the logical address and bits displayed A logical block is formed based on upper bits, and in the logical zone forming step, the logical zone is formed based on lower m bits of the upper bits .

論理ブロックに含まれる領域の容量と仮想ブロックに含まれるユーザ領域の容量とが等しいため、各仮想ブロックに割り当てられる領域の論理アドレスは連続したアドレスになる。また、アクセスが集中する領域が、振り分け単位である論理ブロックに含まれる領域より十分に広ければ、アクセスが特定の領域に集中しても、そのアクセスは各物理ゾーンに含まれる物理ブロックに対するアクセスに分散される。また、仮想ブロックを形成しているため、異なるフラッシュメモリに並行してアクセスすることができるようになり、アクセススピードが高速になる。   Since the capacity of the area included in the logical block is equal to the capacity of the user area included in the virtual block, the logical address of the area allocated to each virtual block is a continuous address. In addition, if the area where access is concentrated is sufficiently larger than the area included in the logical block that is the distribution unit, even if the access is concentrated in a specific area, the access is limited to the access to the physical block included in each physical zone. Distributed. Further, since the virtual block is formed, different flash memories can be accessed in parallel, and the access speed is increased.

本発明のメモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法によれば、論理ブロックに含まれる領域の容量と仮想ブロックに含まれるユーザ領域の容量とが等しくなるように設定し、このように設定した論理ブロック単位で、LBAが連続する領域を各論理ゾーンに振り分けている。このように、論理ブロック単位で、論理アドレスが連続する複数セクタの領域を振り分けているため、アクセスが集中する領域が、振り分け単位である論理ブロックに含まれる領域より十分に広ければ、アクセスが特定の領域に集中しても、そのアクセスは各物理ゾーンに含まれる物理ブロックに対するアクセスに分散される。また、振り分け単位である論理ブロックに含まれる領域の容量を、仮想ブロックに含まれるユーザ領域の容量と等しくしているので、各仮想ブロックにはLBAが連続する領域が割り当てられ、アドレス管理が煩雑にならない。さらに、仮想ブロックを形成しているため、異なるフラッシュメモリに並行してアクセスすることができるようになり、アクセススピードが高速になる。   According to the memory controller, the flash memory system including the memory controller, and the flash memory control method according to the present invention, the capacity of the area included in the logical block is set to be equal to the capacity of the user area included in the virtual block. In the logical block unit set as described above, an area where LBAs are continuous is distributed to each logical zone. In this way, since the areas of multiple sectors with consecutive logical addresses are distributed in units of logical blocks, if the area where access is concentrated is sufficiently larger than the area included in the logical block that is the distribution unit, the access is specified. Even if concentrated in the area, the access is distributed to accesses to physical blocks included in each physical zone. In addition, since the capacity of the area included in the logical block, which is a distribution unit, is made equal to the capacity of the user area included in the virtual block, an area where LBA continues is assigned to each virtual block, and address management is complicated. do not become. Furthermore, since the virtual block is formed, different flash memories can be accessed in parallel, and the access speed is increased.

以下、本発明の実施の形態を、図面を参照しながら説明する。図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。図1に示すように、フラッシュメモリシステム1は、2つのフラッシュメモリチップ2−0,2−1とから成るフラッシュメモリ2と、それを制御するメモリコントローラ3とで構成されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram schematically showing a flash memory system 1 according to the present invention. As shown in FIG. 1, the flash memory system 1 includes a flash memory 2 including two flash memory chips 2-0 and 2-1, and a memory controller 3 that controls the flash memory 2.

フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続されている。ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等から構成されている。ホストシステム4は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。   The flash memory system 1 is connected to the host system 4 via the external bus 13. The host system 4 is composed of a CPU (Central Processing Unit) for controlling the entire operation of the host system 4, a companion chip for transferring information to and from the flash memory system 1, and the like. The host system 4 may be various information processing apparatuses such as a personal computer and a digital still camera that process various types of information such as characters, sounds, and image information.

メモリコントローラ3は、図1に示すように、マイクロプロセッサ6と、ホストインタフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインタフェースブロック10と、ECC(Error Correcting Code)ブロック11と、ROM(Read Only Memory)12とから構成される。メモリコントローラ3は、内部バス14−0,14−1を介してそれぞれフラッシュメモリチップ2−0,2−1と接続されている。これら機能ブロックによって構成されるメモリコントローラ3は、一つの半導体チップ上に集積される。以下、各機能ブロックについて説明する。   As shown in FIG. 1, the memory controller 3 includes a microprocessor 6, a host interface block 7, a work area 8, a buffer 9, a flash memory interface block 10, an ECC (Error Correcting Code) block 11, and a ROM. (Read Only Memory) 12. The memory controller 3 is connected to the flash memory chips 2-0 and 2-1, respectively, via internal buses 14-0 and 14-1. The memory controller 3 constituted by these functional blocks is integrated on one semiconductor chip. Hereinafter, each functional block will be described.

ホストインタフェースブロック7は、ホストシステム4との間でデータ、アドレス情報、ステータス情報、外部コマンド等の授受を行なう。外部コマンドとは、ホストシステム4がフラッシュメモリシステム1に対して処理の実行を指示するためのコマンドである。ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインタフェースブロック7を入口としてフラッシュメモリシステム1の内部(例えば、バッファ9)に取り込まれる。また、フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインタフェースブロック7を出口としてホストシステム4に供給される。   The host interface block 7 exchanges data, address information, status information, external commands, etc. with the host system 4. The external command is a command for the host system 4 to instruct the flash memory system 1 to execute processing. Data or the like supplied from the host system 4 to the flash memory system 1 is taken into the flash memory system 1 (for example, the buffer 9) using the host interface block 7 as an entrance. Data supplied from the flash memory system 1 to the host system 4 is supplied to the host system 4 through the host interface block 7 as an exit.

ワークエリア8は、フラッシュメモリチップ2−0,2−1の制御に必要なデータを一時的に保持する作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成されている。ワークエリア8には、例えば、後述の論理ブロックと物理ブロック(仮想ブロック)との関係を示したアドレス変換テーブル、空きブロックを検索する空ブロック検索テーブルなどが記憶される。   The work area 8 is a work area for temporarily holding data necessary for controlling the flash memory chips 2-0 and 2-1, and is composed of a plurality of SRAM (Static Random Access Memory) cells. The work area 8 stores, for example, an address conversion table showing a relationship between a logical block and a physical block (virtual block) described later, an empty block search table for searching for an empty block, and the like.

バッファ9は、フラッシュメモリチップ2−0,2−1から読み出したデータを、ホストシステム4が受け取り可能な状態となるまで保持する。また、フラッシュメモリチップ2−0,2−1に書き込むデータを、フラッシュメモリチップ2−0,2−1が書き込み可能な状態となるまで保持する。   The buffer 9 holds the data read from the flash memory chips 2-0 and 2-1, until the host system 4 can receive the data. Further, data to be written to the flash memory chips 2-0 and 2-1 is held until the flash memory chips 2-0 and 2-1 become writable.

フラッシュメモリインタフェースブロック10は、それぞれ内部バス14−0,14−1を介して、フラッシュメモリチップ2−0,2−1との間でデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。ここで、内部コマンドとは、メモリコントローラ3がフラッシュメモリチップ2−0,2−1に処理の実行を指示するためのコマンドであり、フラッシュメモリチップ2−0,2−1は、メモリコントローラ3から与えられる内部コマンドに従って動作する。   The flash memory interface block 10 exchanges data, address information, status information, internal commands and the like with the flash memory chips 2-0 and 2-1, via the internal buses 14-0 and 14-1. . Here, the internal command is a command for the memory controller 3 to instruct the flash memory chips 2-0 and 2-1 to execute processing, and the flash memory chips 2-0 and 2-1 Operates according to the internal command given by

ECCブロック11は、フラッシュメモリチップ2−0,2−1に書き込むデータにエラーコレクションコードを生成するとともに、読み出したデータに付加されるエラーコレクションコードに基づいて、読み出したデータに含まれる誤りを検出・訂正する。   The ECC block 11 generates an error correction code for data to be written to the flash memory chips 2-0 and 2-1, and detects an error included in the read data based on the error correction code added to the read data. ·correct.

ROM12は、マイクロプロセッサ6による処理の手順を定義するプログラムが記憶される不揮発性の記憶素子である。例えば、アドレス変換テーブルの作成等の処理手順を定義するプログラムが格納されている。   The ROM 12 is a non-volatile storage element that stores a program that defines the procedure of processing performed by the microprocessor 6. For example, a program that defines a processing procedure such as creation of an address conversion table is stored.

マイクロプロセッサ6は、ROM12に記憶されているプログラムに従って、メモリコントローラ3の全体の動作を制御する。例えば、マイクロプロセッサ6は、各種処理を定義したコマンドセットをROM12から読み出して、フラッシュメモリインタフェースブロック10に各種処理を実行させる。   The microprocessor 6 controls the overall operation of the memory controller 3 in accordance with a program stored in the ROM 12. For example, the microprocessor 6 reads a command set defining various processes from the ROM 12 and causes the flash memory interface block 10 to execute various processes.

フラッシュメモリチップ2−0,2−1はNAND型フラッシュメモリからなる。NAND型フラッシュメモリは、不揮発性メモリでありレジスタと、複数のメモリセルが2次元的に配列されたメモリセルアレイを備えている。メモリセルアレイは、複数のメモリセル群と、ワード線とを備える。ここで、メモリセル群は、複数のメモリセルが直列に接続されたものである。各ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間で、データの書き込み又は読み出し、即ち、レジスタから選択されたメモリセルへの書き込み又は選択されたメモリセルからレジスタへのデータの読み出しが行われる。即ち、フラッシュメモリチップ2−0,2−1に入力されたデータは、レジスタを介してメモリセルに書き込まれ、メモリセルから読み出されたデータは、レジスタを介してフラッシュメモリチップ2−0,2−1から出力される。   The flash memory chips 2-0 and 2-1 are NAND flash memories. The NAND flash memory is a non-volatile memory and includes a register and a memory cell array in which a plurality of memory cells are two-dimensionally arranged. The memory cell array includes a plurality of memory cell groups and word lines. Here, the memory cell group is a group in which a plurality of memory cells are connected in series. Each word line is for selecting a specific memory cell in the memory cell group. Data is written or read between the selected memory cell and the register via the word line, that is, data is written from the register to the selected memory cell or data is read from the selected memory cell to the register. Done. That is, the data input to the flash memory chips 2-0 and 2-1 is written into the memory cell via the register, and the data read from the memory cell is transferred via the register to the flash memory chip 2-0, 2-1. 2-1.

NAND型フラッシュメモリでは、データ読み出し動作及びデータ書き込み動作はページ単位で行われ、データ消去動作はブロック(物理ブロック)単位でおこなわれる。物理ブロックは、複数のページで構成される。フラッシュメモリの物理ブロックの構成は、フラッシュメモリの大容量化に伴い変化している。本発明の実施の形態では、1個のページが4セクタ(2048バイト)のユーザ領域と64バイトの冗長領域とで構成され、1個の物理ブロックが64個のページで構成されているフラッシュメモリを用いる。本発明の実施の形態では用いないが、1個のページが1セクタ(512バイト)のユーザ領域と16バイトの冗長領域とで構成され、1個の物理ブロックが32個のページで構成されているフラッシュメモリも知られている。   In the NAND flash memory, a data read operation and a data write operation are performed in units of pages, and a data erase operation is performed in units of blocks (physical blocks). A physical block is composed of a plurality of pages. The configuration of the physical block of the flash memory has changed as the capacity of the flash memory has increased. In the embodiment of the present invention, one page is composed of a user area of 4 sectors (2048 bytes) and a redundant area of 64 bytes, and one physical block is composed of 64 pages. Is used. Although not used in the embodiment of the present invention, one page is composed of a user area of one sector (512 bytes) and a redundant area of 16 bytes, and one physical block is composed of 32 pages. There are also known flash memories.

ユーザ領域はホストシステム4から与えられるデータを記憶するための領域である。冗長領域は、誤り訂正符号(ECC:Error Correcting Code)、論理アドレス情報、ブロックステータス(フラグ)等の付加データを記憶するための領域である。   The user area is an area for storing data given from the host system 4. The redundant area is an area for storing additional data such as an error correcting code (ECC), logical address information, and a block status (flag).

論理アドレス情報は、ユーザ領域に有効なデータが格納されている物理ブロックと対応関係にある論理ブロックを特定するための情報である。ユーザ領域に有効なデータが格納されていない物理ブロックについては、そのブロックの冗長領域に、論理アドレス情報は格納されていない。したがって、冗長領域に論理アドレス情報が格納されているか否かを判定することにより、その冗長領域が含まれている物理ブロックに有効なデータが格納されているか否かを判定することができる。つまり、冗長領域に論理アドレス情報が格納されていないとき、その物理ブロックには、有効なデータが格納されていないと判断する。   The logical address information is information for specifying a logical block corresponding to a physical block in which valid data is stored in the user area. For a physical block in which valid data is not stored in the user area, logical address information is not stored in the redundant area of the block. Therefore, by determining whether or not logical address information is stored in a redundant area, it is possible to determine whether or not valid data is stored in a physical block including the redundant area. That is, when logical address information is not stored in the redundant area, it is determined that valid data is not stored in the physical block.

尚、論理ブロックと物理ブロックとの対応関係は通常、アドレス変換テーブルによって管理される。このアドレス変換テーブルは、各物理ブロックの冗長領域に記憶されている論理アドレス情報に基づいて作成される。   The correspondence relationship between the logical block and the physical block is usually managed by an address conversion table. This address conversion table is created based on logical address information stored in the redundant area of each physical block.

ブロックステータス(フラグ)は、ブロックの良否を示すフラグである。正常にデータの書き込み等を行うことができないブロックは、不良ブロックと判別され、冗長領域には、不良ブロックであることを示すブロックステータス(フラグ)が書き込まれる。尚、初期不良の不良ブロックには、不良ブロックであることを示すブロックステータス(フラグ)が出荷前に書き込まれる。   The block status (flag) is a flag indicating whether the block is good or bad. A block in which data cannot be normally written is determined as a defective block, and a block status (flag) indicating a defective block is written in the redundant area. Note that a block status (flag) indicating a defective block is written in the defective block with an initial defect before shipment.

ホストシステム4側のアドレス空間は、セクタ(512バイト)単位で分割した領域に付けた通し番号であるLBA(Logical Block Address)で管理されている。図2に示すように、本実施の形態では、ホストシステム4側からLBA#0〜#4095999からなる4096000セクタの領域がアクセスされる場合について説明する。ここでは、LBAが連続する512セクタの領域を論理ブロックとして管理し、この論理ブロックに論理ブロック番号(LBN)を付している。例えば、LBA#0〜#511の512セクタの領域は、LBN#0の論理ブロックに属し、LBA#512〜#1023の512セクタの領域は、LBN#2の論理ブロックに属している。このように、LBA#0〜#4095999の4096000セクタの領域内には、LBN#0〜#7999の8000個の論理ブロックが構成される。   The address space on the host system 4 side is managed by an LBA (Logical Block Address) which is a serial number assigned to an area divided in units of sectors (512 bytes). As shown in FIG. 2, in the present embodiment, a case will be described in which an area of 4096000 sectors consisting of LBA # 0 to # 40995999 is accessed from the host system 4 side. Here, an area of 512 sectors in which the LBA is continuous is managed as a logical block, and a logical block number (LBN) is assigned to this logical block. For example, the 512 sector area of LBA # 0 to # 511 belongs to the logical block of LBN # 0, and the 512 sector area of LBA # 512 to # 1023 belongs to the logical block of LBN # 2. In this manner, 8000 logical blocks LBN # 0 to # 7999 are configured in the area of 4096000 sectors of LBA # 0 to # 40995999.

尚、各論理ブロックに属する領域の容量(セクタ数)については、後述する1個の仮想ブロックに含まれるユーザ領域の容量(セクタ数)に一致するように適宜設定される。   The capacity (number of sectors) of the area belonging to each logical block is set as appropriate so as to match the capacity (number of sectors) of the user area included in one virtual block described later.

本実施の形態では、8つの論理ゾーン(LZN#0〜#7)にそれぞれ1000個の論理ブロックを振り分けている。ここで、振り分け先の論理ゾーンの個数及び振り分け単位である論理ブロックに含まれる領域のセクタ数は、共に2のべき乗で与えられる数値に設定する。尚、論理ブロックに含まれる領域のセクタ数については、1個の仮想ブロックに含まれるユーザ領域の容量(セクタ数)に一致するように設定されるので、1個の仮想ブロックに含まれるユーザ領域のセクタ数が2のべき乗で与えられる数値になるように仮想ブロックが構成される。つまり、1個の物理ブロックに含まれるユーザ領域のセクタ数が2のべき乗で与えられる数値になっている場合、仮想ブロックを構成する物理ブロックの個数が2のべき乗で与えられる数値になる。このように設定することにより、論理ブロックに含まれるセクタ単位の領域の振り分け先は、LBAをビット表示(2進数表示)したときの、一部のビットの値に基づいて判別することができる。   In this embodiment, 1000 logical blocks are allocated to 8 logical zones (LZN # 0 to # 7). Here, the number of logical zones to be distributed and the number of sectors in the area included in the logical block as the distribution unit are both set to numerical values given as powers of two. The number of sectors in the area included in the logical block is set so as to match the capacity (number of sectors) of the user area included in one virtual block, so the user area included in one virtual block The virtual block is configured so that the number of sectors becomes a value given as a power of 2. That is, when the number of sectors in the user area included in one physical block is a numerical value given by a power of 2, the number of physical blocks constituting the virtual block is a numerical value given by a power of 2. By setting in this way, the allocation destination of the sector unit area included in the logical block can be determined based on the value of a part of bits when the LBA is displayed in bits (binary display).

図3はビット表示(2進数表示)のLBAであり、LBA#0〜#4095999を22ビット表示している。この22ビットのLBAの上位13ビット(LBAの下位側から数えて10ビット目から22ビット目までの13ビット)は各論理ブロックに付けたLBNを示し、下位9ビット(LBAの下位側から数えて1ビット目から9ビット目までの9ビット)は各論理ブロックに含まれるセクタ単位の領域に付けた通し番号である論理セクタ番号(LSN)を示す。LBNの下位3ビット(LBAの下位側から数えて10ビット目から12ビット目までの3ビット)は、8個の論理ゾーンに付けたLZNを示す。つまり、論理ブロックに含まれるセクタ単位の領域の振り分け先は、LBNの下位3ビット(LBAの下位側から数えて10ビット目から12ビット目までの3ビット)の値に基づいて判別することができる。   FIG. 3 shows an LBA of bit display (binary number display), and LBA # 0 to # 40995999 are displayed in 22 bits. The upper 13 bits of the 22-bit LBA (13 bits from the 10th bit to the 22nd bit counted from the lower side of the LBA) indicate the LBN attached to each logical block, and the lower 9 bits (counted from the lower side of the LBA) 9 bits from the 1st bit to the 9th bit) indicates a logical sector number (LSN) which is a serial number assigned to a sector unit area included in each logical block. The lower 3 bits of LBN (3 bits from the 10th bit to the 12th bit counted from the lower side of the LBA) indicate LZNs attached to 8 logical zones. In other words, the allocation destination of the sector unit area included in the logical block can be determined based on the value of the lower 3 bits of LBN (3 bits from the 10th bit to the 12th bit counted from the lower side of the LBA). it can.

振り分け先の論理ゾーンのLZNに対応するビットは、振り分け先の論理ゾーンの個数及び振り分け単位である論理ブロックに含まれる領域のセクタ数に基づいて決定される。例えば、振り分け先の論理ゾーンの個数が2個で、論理ブロックに含まれる領域のセクタ数が2セクタの場合、LBAの下位側から数えてn+1ビット目からm+nビット目までのmビットの値に基づいて振り分け先の論理ゾーンが判別される。又、各論理ブロックに付けたLBNは、LBAの下位nビットを除いたLBAの上位側のビットによって示される。論理ゾーン内の論理ブロックの通し番号であるLZIBNは、LBNの下位mビットを除いたLBNの上位側のビット(LBAの下位n+mビットを除いたLBAの上位側のビット)によって示される。図3に示した例では、LBNの下位3ビットを除いたLBNの上位側のビット(LBAの下位12ビットを除いたLBAの上位側のビット)がLZIBNを示す。 The bit corresponding to LZN of the logical zone of the distribution destination is determined based on the number of logical zones of the distribution destination and the number of sectors in the area included in the logical block that is the distribution unit. For example, if the number of logical zones to be distributed is 2 m and the number of sectors in the area included in the logical block is 2 n sectors, m bits from the (n + 1) th bit to the (m + n) th bit counted from the lower side of the LBA Based on the value, the logical zone of the distribution destination is determined. Further, the LBN attached to each logical block is indicated by the upper bits of the LBA excluding the lower n bits of the LBA. The LZIBN that is the serial number of the logical block in the logical zone is indicated by the upper bits of the LBN excluding the lower m bits of the LBN (the upper bits of the LBA excluding the lower n + m bits of the LBA). In the example shown in FIG. 3, the upper bits of the LBN excluding the lower 3 bits of the LBN (the upper bits of the LBA excluding the lower 12 bits of the LBA) indicate LZIBN.

図4に示すように、フラッシュメモリチップ2−0,2−1はそれぞれ8192個の物理ブロックを有している。以下、フラッシュメモリチップ2−0内の物理ゾーン番号及び物理ブロックアドレスを表す際には、PZN及びPBAのように添え字0を用い、フラッシュメモリチップ2−1内の物理ゾーン番号及び物理ブロックアドレスを表す際には、PZN及びPBAのように添え字1を用いる。フラッシュメモリチップ2−0,2−1内の物理ブロックには、それぞれ、PBA#0〜#8191,PBA#0〜#8191が付されている。各フラッシュメモリチップ2−0,2−1内は、8個の物理ゾーンに分割されている。即ち、各物理ゾーンには、PBAが連続する1024個の物理ブロックがそれぞれ含まれている。例えば、フラッシュメモリチップ2−0において、#0〜#1023の物理ブロックは、PZN#0の物理ゾーンに含まれ、PBA#1024〜#2047の物理ブロックは、PZN#1の物理ゾーンに含まれる。フラッシュメモリチップ2−1においても同様に、#0〜#1023の物理ブロックは、PZN#0の物理ゾーンに含まれ、PBA#1024〜#2047の物理ブロックは、PZN#1の物理ゾーンに含まれる。尚、各物理ゾーン内の物理ブロックに付けた通し番号を物理ゾーン内ブロック番号(PZIBN)と呼ぶ。また、フラッシュメモリチップ2−0内の物理ゾーン内ブロック番号を表す際には、PZIBNのように添え字0を用い、フラッシュメモリチップ2−1内の物理ゾーン内ブロック番号を表す際には、PZIBNのように添え字1を用いる。 As shown in FIG. 4, each of the flash memory chips 2-0 and 2-1 has 8192 physical blocks. Hereinafter, when representing the physical zone number and physical block address in the flash memory chip 2-0, the subscript 0 is used as in PZN 0 and PBA 0 , and the physical zone number and physical in the flash memory chip 2-1 are used. When expressing a block address, the subscript 1 is used, such as PZN 1 and PBA 1 . The physical blocks in the flash memory chips 2-0 and 2-1, are assigned PBA 0 # 0 to # 8191, PBA 1 # 0 to # 8191, respectively. Each flash memory chip 2-0, 2-1 is divided into eight physical zones. That is, each physical zone includes 1024 physical blocks each having a continuous PBA. For example, in the flash memory chip 2-0, the physical blocks # 0 to # 1023 are included in the physical zone PZN 0 # 0, and the physical blocks PBA 0 # 1024 to # 2047 are the physical zone PZN 0 # 1. include. Similarly, in the flash memory chip 2-1, the physical blocks # 0 to # 1023 are included in the physical zone of PZN 1 # 0, and the physical blocks of PBA 1 # 1024 to # 2047 are the physical blocks of PZN 1 # 1. Included in the zone. A serial number assigned to a physical block in each physical zone is referred to as a physical zone block number (PZIBN). When the block number in the physical zone in the flash memory chip 2-0 is represented, the subscript 0 is used as in PZIBN 0 , and the block number in the physical zone in the flash memory chip 2-1 is represented. Subscript 1 is used as in PZIBN 1 .

フラッシュメモリチップ2−0内の物理ゾーンとフラッシュメモリチップ2−1内の物理ゾーンは、PZNとPZNとが一致する物理ゾーン同士が相互に関連付けられている。例えば、フラッシュメモリチップ2−0内のPZN#0の物理ゾーンとフラッシュメモリチップ2−1内のPZN#0の物理ゾーンとが関連付けられ、フラッシュメモリチップ2−0内のPZN#1の物理ゾーンとフラッシュメモリチップ2−1内のPZN#1の物理ゾーンとが関連付けられている。 In the physical zone in the flash memory chip 2-0 and the physical zone in the flash memory chip 2-1, physical zones in which PZN 0 and PZN 1 coincide with each other are associated with each other. For example, the physical zone of PZN 0 # 0 in the flash memory chip 2-0 is associated with the physical zone of PZN 1 # 0 in the flash memory chip 2-1, and PZN 0 # 1 in the flash memory chip 2-0 is associated. Are associated with the physical zone of PZN 1 # 1 in the flash memory chip 2-1.

相互に関連付けられた物理ゾーンには、その物理ゾーンのPZN(PZNとPZN)とLZNが一致する論理ゾーンが割り当てられる。例えば、フラッシュメモリチップ2−0内のPZN#0の物理ゾーンとフラッシュメモリチップ2−1内のPZN#0の物理ゾーンに対しては、LZN#0の論理ゾーンが割り当てられ、フラッシュメモリチップ2−0内のPZN#1の物理ゾーンとフラッシュメモリチップ2−1内のPZN#1の物理ゾーンに対しては、LZN#1の論理ゾーンが割り当てられる。 A logical zone in which PZN (PZN 0 and PZN 1 ) and LZN of the physical zone coincide with each other is assigned to the physical zone associated with each other. For example, the logical zone of LZN # 0 is allocated to the physical zone of PZN 0 # 0 in the flash memory chip 2-0 and the physical zone of PZN 1 # 0 in the flash memory chip 2-1, and the flash memory for PZN 1 # 1 physical zone of PZN 0 # 1 in the physical zone and the flash memory chip 2-1 in the chip 2-0 are assigned logical zone LZN # 1.

メモリコントローラ3は、関連付けられた2個の物理ゾーンからそれぞれ1つずつ物理ブロックを選択し、選択された2つの物理ブロックを仮想的に結合して仮想ブロックを形成する。この仮想ブロックには、この仮想ブロックを構成する物理ブロックが含まれる物理ゾーンと対応関係にある論理ゾーンに属する論理ブロックが割り当てられる。図5は、LZN#0の論理ゾーン内の論理ブロックと、フラッシュメモリチップ2−0内のPZN#0の物理ゾーン内の物理ブロックとフラッシュメモリチップ2−1内のPZN#0の物理ゾーン内の物理ブロックを仮想的に結合した仮想ブロックとの対応関係を示した図である。ハッチングされた物理ブロックが、仮想ブロックを構成する物理ブロックを表している。例えば、LBN#0の論理ブロックは、フラッシュメモリチップ2−0内のPZN#0の物理ゾーン内のPZIBN#14の物理ブロックとフラッシュメモリチップ2−1内のPZN#0の物理ゾーン内のPZIBN#16の物理ブロックとで構成される仮想ブロックに割り当てられている。また、LBN#8の論理ブロックは、PZIBN#2の物理ブロックとPZIBN#3の物理ブロックとで構成される仮想ブロックに割り当てられている。 The memory controller 3 selects one physical block from each of the two associated physical zones, and virtually combines the two selected physical blocks to form a virtual block. To this virtual block, a logical block belonging to a logical zone having a correspondence relationship with a physical zone including the physical block constituting the virtual block is assigned. FIG. 5 shows a logical block in the logical zone of LZN # 0, a physical block in the physical zone of PZN 0 # 0 in the flash memory chip 2-0, and a physical block of PZN 1 # 0 in the flash memory chip 2-1. It is the figure which showed the correspondence with the virtual block which combined the physical block in a zone virtually. The hatched physical block represents a physical block constituting the virtual block. For example, the logical block of LBN # 0 includes the physical block of PZIBN 0 # 14 in the physical zone of PZN 0 # 0 in the flash memory chip 2-0 and the physical zone of PZN 1 # 0 in the flash memory chip 2-1. Assigned to a virtual block composed of physical blocks of PZIBN 1 # 16. The logical block of LBN # 8 is allocated to a virtual block composed of a physical block of PZIBN 0 # 2 and a physical block of PZIBN 1 # 3.

尚、論理ブロックと仮想ブロック(物理ブロック)の対応関係は、論理ブロックを構成する各物理ブロックの冗長領域に書き込まれる論理アドレス情報に基づいて判別される。例えば、LBN#8の論理ブロック、つまり、LZIBN#1の論理ブロックに割り当てられたPZIBN#2の物理ブロック及びPZIBN#3の物理ブロックの冗長領域には、論理アドレス情報として#1が書き込まれる。 The correspondence relationship between the logical block and the virtual block (physical block) is determined based on the logical address information written in the redundant area of each physical block constituting the logical block. For example, # 1 is written as logical address information in the redundant area of the physical block of PZIBN 0 # 2 and the physical block of PZIBN 1 # 3 allocated to the logical block of LBN # 8, that is, the logical block of LZIBN # 1. It is.

フラッシュメモリチップ2−0,2−1内の物理ブロックで構成された仮想ブロックにアクセスするときは、アクセス対象の領域が属する論理ブロック及び論理ゾーンが特定される。続いて、その論理ゾーンに割り当てられた2個の物理ゾーンが特定される。さらに、アクセス対象の領域が属する論理ブロックと対応関係にある仮想ブロックを構成する2個の物理ブロックが特定される。   When accessing a virtual block composed of physical blocks in the flash memory chips 2-0 and 2-1, the logical block and logical zone to which the access target area belongs are specified. Subsequently, two physical zones assigned to the logical zone are specified. Further, two physical blocks constituting a virtual block corresponding to the logical block to which the area to be accessed belongs are specified.

次に、各論理ブロックに属するLBAが連続する512セクタの領域と、各仮想ブロックを構成する2個の物理ブロック内の記憶領域との対応関係について説明する。尚、物理ブロック内の各ページに含まれる4セクタのユーザ領域については、先頭から順番に第1セクタ領域、第2セクタ領域、第3セクタ領域、第4セクタ領域と呼ぶ。   Next, a description will be given of the correspondence between the 512 sector area where the LBAs belonging to each logical block are continuous and the storage areas in the two physical blocks constituting each virtual block. The 4-sector user area included in each page in the physical block is referred to as a first sector area, a second sector area, a third sector area, and a fourth sector area in order from the top.

図6は、フラッシュメモリチップ2−0のPBA#14の物理ブロックとフラッシュメモリチップ2−1のPBA#16の物理ブロックとで構成された仮想ブロック内の記憶領域と、この仮想ブロックに割り当てられたLBN#0の論理ブロックに属するLSN#0〜#511の512セクタの領域との対応関係を示している。フラッシュメモリチップ2−0のPBA#14の物理ブロックには、LBN#0の論理ブロックに属するLSNが偶数の領域が割り当てられ、フラッシュメモリチップ2−1のPBA#16の物理ブロックには、LBN#0の論理ブロックに属するLSNが奇数の領域が割り当てられる。各物理ブロックに含まれるページ番号(PN)#0〜#63の各ページには、ページ番号の順番で(ページ番号が若い方から順番に)、各ページ内では第1セクタ領域、第2セクタ領域、第3セクタ領域、第4セクタ領域の順番で、論理ブロックに属する256セクタの領域が、LSNが若い方から順番に割り当てられる。 FIG. 6 shows a storage area in a virtual block composed of a physical block of PBA 0 # 14 of the flash memory chip 2-0 and a physical block of PBA 1 # 16 of the flash memory chip 2-1, and the virtual block. The correspondence relationship with the 512 sector area of LSN # 0 to # 511 belonging to the assigned logical block of LBN # 0 is shown. An area having an even number of LSNs belonging to the logical block of LBN # 0 is assigned to the physical block of PBA 0 # 14 of the flash memory chip 2-0, and the physical block of PBA 1 # 16 of the flash memory chip 2-1 , An area having an odd LSN belonging to the logical block of LBN # 0 is allocated. In each page of page numbers (PN) # 0 to # 63 included in each physical block, the first sector area and the second sector are included in each page in the order of page numbers (in order from the smallest page number). In the order of the area, the third sector area, and the fourth sector area, areas of 256 sectors belonging to the logical block are assigned in order from the lowest LSN.

図7は、図6に示されたLBN#0の論理ブロックに属する512セクタの領域に付けられたLSNを、LBAに置き換えて示した図である。論理ブロックに属する512セクタの領域のLBAは連続しているので、仮想ブロックには、LBAが連続する512セクタの領域が割り当てられる。尚、他の論理ブロック(LBN#0以外の論理ブロック)に属するLSN#0〜#511の512セクタの領域と、その論理ブロックが割り当てられた仮想ブロック内の記憶領域との対応関係も、図6に示した対応関係と同様になる。また、他の論理ブロックの場合には、LSNとLBAの対応関係がLBN#0の論理ブロックの場合と異なるが、いずれの論理ブロックの場合であっても、仮想ブロックには、LBAが連続する512セクタの領域が割り当てられる。   FIG. 7 is a diagram in which the LSN attached to the 512 sector area belonging to the logical block of LBN # 0 shown in FIG. 6 is replaced with an LBA. Since the LBA of the 512-sector area belonging to the logical block is continuous, the 512-sector area where the LBA is continuous is allocated to the virtual block. The correspondence relationship between the 512 sector area of LSN # 0 to # 511 belonging to another logical block (logical block other than LBN # 0) and the storage area in the virtual block to which the logical block is assigned is also shown in FIG. This is the same as the correspondence shown in FIG. Further, in the case of other logical blocks, the correspondence between LSN and LBA is different from that in the case of the logical block of LBN # 0, but in any logical block, the LBA is continuous in the virtual block. An area of 512 sectors is allocated.

また、フラッシュメモリでは、データを書き換える際に、書き換え対象となるデータが保存されている物理ブロックの内容を別の物理ブロックに転写して書き換えを行なう。このため、物理ゾーンに含まれる物理ブロックの数が論理ゾーンに含まれる論理ブロックの数より多く構成される。また、フラッシュメモリ内の物理ブロックには、出荷時から不良である先天性の不良ブロックが含まれている。更に、出荷時に良品の物理ブロックであっても、使用開始後に劣化して不良ブロックになる物理ブロック(後天性の不良ブロック)もある。従って、各論理ゾーンに含まれる論理ブロックの個数は、物理ゾーンに含まれる良品の物理ブロックの個数及び後天性の不良ブロックの発生個数等を考慮して決定される。本実施の形態では、1000個の論理ブロックが含まれる論理ゾーンに対して、1024個の仮想ブロックに相当する記憶領域を割り当てている。つまり、各物理ゾーンに含まれる物理ブロックの数を1024個としている。   In the flash memory, when data is rewritten, the contents of the physical block storing the data to be rewritten are transferred to another physical block for rewriting. For this reason, the number of physical blocks included in the physical zone is configured to be greater than the number of logical blocks included in the logical zone. In addition, the physical blocks in the flash memory include innate defective blocks that are defective from the time of shipment. Furthermore, even if a physical block is a non-defective product at the time of shipment, there is a physical block (acquired defective block) that deteriorates after use and becomes a defective block. Accordingly, the number of logical blocks included in each logical zone is determined in consideration of the number of good physical blocks included in the physical zone, the number of acquired defective blocks, and the like. In the present embodiment, a storage area corresponding to 1024 virtual blocks is allocated to a logical zone including 1000 logical blocks. That is, the number of physical blocks included in each physical zone is 1024.

上述のフラッシュメモリシステム1に新たなデータを書き込む場合、メモリコントローラ3は、まず、書き込み先のLBAの下位側から数えて10ビット目から12ビット目までの3ビットの値に基づいて、その書き込み先の領域が属する論理ゾーンを特定する。次にメモリコントローラ3は、特定された論理ゾーンと対応関係にあるフラッシュメモリチップ2−0内の物理ゾーン及びフラッシュメモリチップ2−1内の物理ゾーンから、それぞれ1個ずつデータが書き込まれていない物理ブロックを検索し、検出された2個の物理ブロックを仮想的に結合して仮想ブロックを構成し、当該仮想ブロックにデータを保存する。この仮想ブロックを構成する2個の物理ブロックの先頭ページの冗長領域には、その書き込み先の領域が属する論理ブロックのLZIBN(LBAの下位12ビットを除いたLBAの上位側のビット)が書き込まれる。   When writing new data to the flash memory system 1 described above, the memory controller 3 first writes the data based on the 3-bit value from the 10th bit to the 12th bit counted from the lower side of the write destination LBA. Identify the logical zone to which the previous region belongs. Next, the memory controller 3 has not written data one by one from the physical zone in the flash memory chip 2-0 and the physical zone in the flash memory chip 2-1 that have a corresponding relationship with the specified logical zone. A physical block is searched, two detected physical blocks are virtually combined to form a virtual block, and data is stored in the virtual block. In the redundant area of the first page of the two physical blocks constituting this virtual block, the LZIBN of the logical block to which the write destination area belongs (the upper bits of the LBA excluding the lower 12 bits of the LBA) is written. .

尚、上述の空きブロックの検索では、冗長領域を参照して、論理アドレス情報(LZIBN)が保存されていない物理ブロック(不良ブロックを除く)のPBA,PBAを記載した空きブロック検索テーブルを予め作成しておき、この空きブロック検索テーブルを用いて仮想ブロックを構成する物理ブロックを選択するようにしてもよい。 In the above-described search for empty blocks, an empty block search table describing PBA 0 and PBA 1 of physical blocks (excluding bad blocks) in which logical address information (LZIBN) is not stored is referred to by referring to the redundant area. It may be created in advance and a physical block constituting a virtual block may be selected using this empty block search table.

以上で説明した本発明の実施の形態では、論理ブロック単位でLBAが連続する領域を各論理ゾーンに振り分けている。このため、アクセスが集中する領域が、振り分け単位である論理ブロックに含まれる領域より十分に広ければ、アクセスが特定の領域に集中しても、そのアクセスは各物理ゾーンに含まれる物理ブロックに対するアクセスに分散される。このため、不良ブロックが発生する確率が低減できる。   In the embodiment of the present invention described above, an area where LBAs continue in logical block units is allocated to each logical zone. For this reason, if the area where the access is concentrated is sufficiently larger than the area included in the logical block that is the distribution unit, even if the access is concentrated in a specific area, the access is an access to the physical block included in each physical zone. To be distributed. For this reason, the probability that a defective block will occur can be reduced.

また、フラッシュメモリチップ2−0,2−1のそれぞれから選択された2つの物理ブロックを用いて仮想ブロックを構成しているため、異なるフラッシュメモリチップ内の物理ブロックに並行してアクセスすることができるようになり、アクセススピードが高速になる。   Further, since the virtual block is configured using two physical blocks selected from each of the flash memory chips 2-0 and 2-1, it is possible to access the physical blocks in different flash memory chips in parallel. It becomes possible to increase the access speed.

また、フラッシュメモリシステム1において、メモリコントローラ3は、LBAの特定のビットを参照することによって、論理ブロックの振り分け先となる論理ゾーンを判別することができる。   In the flash memory system 1, the memory controller 3 can determine a logical zone to which a logical block is allocated by referring to a specific bit of the LBA.

更に、振り分けの単位である論理ブロックに属する領域の容量(セクタ数)と、仮想ブロックに含まれるユーザ領域の容量(セクタ数)とが等しいため、各仮想ブロックに対しては、LBAが連続する領域が割り当てられ、アドレス管理が煩雑にならない。
次に、比較例として、図8から図10に示したように、割り振りの単位を仮想ブロックに含まれるユーザ領域の容量(セクタ数)の1/2とした場合(割り振りの単位を256セクタとした場合)について説明する。
Furthermore, since the capacity (number of sectors) of the area belonging to the logical block, which is a distribution unit, is equal to the capacity (number of sectors) of the user area included in the virtual block, the LBA is continuous for each virtual block. Areas are allocated and address management is not complicated.
Next, as a comparative example, as shown in FIGS. 8 to 10, when the allocation unit is ½ of the capacity (number of sectors) of the user area included in the virtual block (the allocation unit is 256 sectors). ).

割り振りの単位である256セクタ単位の領域を、説明の便宜上論理グループとし、この論理グループにグループ番号(GN)を付している。つまり、LBA#0〜#255の256セクタの領域はGN#0の論理グループに属し、LBA#256〜#511の256セクタの領域はGN#1の論理グループに属し、LBA#512〜#767の256セクタの領域はGN#3の論理グループに属し、以下同様に論理グループが構成され、グループ番号が付される。これらの論理グループは、LZN#0〜#7の8個の論理ゾーンに対して順次割り振られる。例えば、GN#0の論理グループはLZN#0の論理ゾーンに割り振られ、GN#1の論理グループはLZN#1の論理ゾーンに割り振られ、GN#2の論理グループはLZN#2の論理ゾーンに割り振られる。   An area of 256 sectors, which is an allocation unit, is defined as a logical group for convenience of explanation, and a group number (GN) is assigned to this logical group. That is, the 256 sector area of LBA # 0 to # 255 belongs to the logical group of GN # 0, the 256 sector area of LBA # 256 to # 511 belongs to the logical group of GN # 1, and LBA # 512 to # 767. The 256 sector area belongs to the logical group of GN # 3, and the logical group is formed similarly in the following, and is assigned a group number. These logical groups are sequentially allocated to the eight logical zones LZN # 0 to # 7. For example, the logical group of GN # 0 is allocated to the logical zone of LZN # 0, the logical group of GN # 1 is allocated to the logical zone of LZN # 1, and the logical group of GN # 2 is allocated to the logical zone of LZN # 2. Allocated.

各論理ゾーンに割り振られた論理グループは、2個の論理グループが1組となって1個の論理ブロックが構成され、この1個の論理ブロックが1個の仮想ブロックに割り当てられる。例えば、LZN#0の論理ゾーンに割り振られるGN#0,#8,#16,#24の論理グループは、GN#0,#8の2個の論理グループが1組となって1個の論理ブロック(LZIBN#0の論理ブロック)が構成され、GN#16,#24の論理グループが1組となって1個の論理ブロック(LZIBN#1の論理ブロック)が構成される。   In the logical group allocated to each logical zone, two logical groups constitute one logical block and one logical block is allocated to one virtual block. For example, the logical groups of GN # 0, # 8, # 16, and # 24 allocated to the logical zone of LZN # 0 have one logical group consisting of two logical groups of GN # 0 and # 8. A block (logical block of LZIBN # 0) is configured, and one logical block (logical block of LZIBN # 1) is configured by a combination of logical groups of GN # 16 and # 24.

この論理グループ単位の振り分けを、ビット表示(2進数表示)のLBAを参照して説明する。   This logical group unit distribution will be described with reference to an LBA of bit display (binary display).

図9に示すように、22ビットのLBAの上位14ビットが、割り振りの単位である論理グループに付けたGNを示し、このGNの下位3ビット、つまり、LBAの下位側から数えて10ビット目から12ビット目までの3ビットが、振り分け先の論理ゾーンのLZNを示す。また、GNの上位10ビット、つまり、LBAの下位側から数えて13ビット目から22ビット目までの10ビットが、各論理ブロックに付けられたLZIBNを示す。   As shown in FIG. 9, the upper 14 bits of the 22-bit LBA indicate the GN assigned to the logical group that is the unit of allocation. The lower 3 bits of this GN, that is, the 10th bit counted from the lower side of the LBA 3 bits from the 12th bit to the 12th bit indicate the LZN of the logical zone of the distribution destination. Further, the upper 10 bits of GN, that is, 10 bits from the 13th bit to the 22nd bit counted from the lower side of the LBA indicate the LZIBN assigned to each logical block.

従って、振り分け先の論理ゾーンのLZNを示すGNの下位3ビット及びLZIBNを示すGNの上位10ビットが同一の2つの論理グループ、つまり、GNの下位側から数えて4ビット目だけが異なる2つの論理グループが1個の論理ブロックになる。例えば、GNを示す全ビットが“0”のGN#0の論理グループと、GNを示す14ビットの下位側から数えて4ビット目だけが“1”のGN#8の論理グループが、LZN#0の論理ゾーン内のLZIBN#0の論理ブロックを構成する。又、LBAの下位側から数えて12ビット目のビットとLBAの下位8ビットを連結した9ビットが、論理ブロックに含まれるセクタ単位の領域に付けたLSNを示す。   Therefore, two logical groups in which the lower 3 bits of GN indicating LZN of the distribution destination logical zone and the upper 10 bits of GN indicating LZIBN are the same, that is, only the fourth bit counting from the lower side of GN is different. A logical group becomes one logical block. For example, a logical group of GN # 0 in which all bits indicating GN are “0” and a logical group of GN # 8 in which only the fourth bit is “1” from the lower 14 bits indicating GN are LZN #. The logical block of LZIBN # 0 in the logical zone of 0 is configured. Further, 9 bits obtained by concatenating the 12th bit counted from the lower side of the LBA and the lower 8 bits of the LBA indicate the LSN attached to the sector unit area included in the logical block.

各論理ゾーンに割り振られた2個の論理グループで1個の論理ブロックを構成し、この1個の論理ブロックが1個の仮想ブロックに割り当てた場合も、この論理ブロックに属するLSN#0〜#511の512セクタの領域と、この論理ブロックが割り当てられた仮想ブロック内の記憶領域との対応関係は、図6と同様の対応関係になる。しかし、1個の論理ブロックを構成する2個の論理グループにおいて、一方の論理グループに属する領域のLBAと他方の論理グループに属する領域のLBAは連続していなので、LSNをLBAに置き換えた場合、LSN#0〜#255に対応する領域のLBAとLSN#256〜#511に対応する領域のLBAは連続していない。   Even when one logical block is constituted by two logical groups allocated to each logical zone, and this one logical block is assigned to one virtual block, LSN # 0 to #SN belonging to this logical block The correspondence relationship between the 512 sector area 511 and the storage area in the virtual block to which this logical block is assigned is the same as that shown in FIG. However, in the two logical groups constituting one logical block, the LBA of the area belonging to one logical group and the LBA of the area belonging to the other logical group are continuous. Therefore, when LSN is replaced with LBA, The LBA in the area corresponding to LSN # 0 to # 255 and the LBA in the area corresponding to LSN # 256 to # 511 are not continuous.

例えば、図9は、LZN#0の論理ゾーン内のLZIBN#0の論理ブロックを、フラッシュメモリチップ2−0内のPZN#0の物理ゾーン内のPZIBN#14の物理ブロックとフラッシュメモリチップ2−1内のPZN#0の物理ゾーン内のPZIBN#16の物理ブロックとで構成される仮想ブロックに割り当てた場合を示している。この論理ブロックに属するLSN#0〜#255の領域は、LBA#0〜#255に対応し、LSN#256〜#511の領域は、LBA#2048〜#2303に対応する。このように、LSN#0〜#255に対応する領域のLBAとLSN#256〜#511に対応する領域のLBAが連続していない。 For example, FIG. 9 shows that the logical block of LZIBN # 0 in the logical zone of LZN # 0 is replaced with the physical block of PZIBN 0 # 14 in the physical zone of PZN 0 # 0 in the flash memory chip 2-0 and the flash memory chip. In this example, the virtual block is assigned to a physical block of PZIBN 1 # 16 in the physical zone of PZN 1 # 0 in 2-1. The areas of LSN # 0 to # 255 belonging to this logical block correspond to LBA # 0 to # 255, and the areas of LSN # 256 to # 511 correspond to LBA # 2048 to # 2303. Thus, the LBA of the area corresponding to LSN # 0 to # 255 and the LBA of the area corresponding to LSN # 256 to # 511 are not continuous.

尚、本発明のフラッシュメモリシステムは、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。   It should be noted that the flash memory system of the present invention is not limited to the above-described embodiment, and it is needless to say that various modifications can be made without departing from the gist of the present invention.

例えば、フラッシュメモリの数は2個に限定されず、2のべき乗個であればよい。また論理ブロック内のセクタ数、及び、論理ゾーンの個数も2のべき乗個であれば8個に限定されない。いずれの場合も、論理ブロックに属する領域の容量(セクタ数)と仮想ブロックのユーザ領域の容量(セクタ数)を同じにし、論理ブロック単位で各論理ゾーンにセクタ単位の領域を振り分けるようにすればよい。   For example, the number of flash memories is not limited to two, and may be a power of two. Also, the number of sectors in the logical block and the number of logical zones are not limited to eight as long as the number is the power of two. In any case, if the capacity (number of sectors) of the area belonging to the logical block and the capacity (number of sectors) of the user area of the virtual block are made the same, the area of the sector unit is allocated to each logical zone in logical block units. Good.

本発明の実施の形態によるフラッシュメモリシステムの概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a flash memory system according to an embodiment of the present invention. 論理ブロックを論理ゾーンに振り分ける処理を説明する図である。It is a figure explaining the process which distributes a logical block to a logical zone. ビット表示(2進数表示)したLBAを示した図である。It is the figure which showed LBA which carried out bit display (binary number display). 関連付けられた物理ゾーンに対する論理ゾーンの割り当てを説明する図である。It is a figure explaining allocation of the logical zone with respect to the related physical zone. 仮想ブロックの構成を示す図である。It is a figure which shows the structure of a virtual block. 仮想ブロック内の記憶領域と論理ブロックに属する領域との対応関係を、LSNを用いて示した図である。It is the figure which showed the correspondence of the memory area in a virtual block, and the area | region which belongs to a logical block using LSN. 仮想ブロック内の記憶領域と論理ブロックに属する領域との対応関係を、LBAを用いて示した図である。It is the figure which showed the correspondence of the storage area in a virtual block, and the area | region which belongs to a logical block using LBA. 比較例における振り分け処理を説明する図である。It is a figure explaining the distribution process in a comparative example. 比較例におけるビット表示(2進数表示)したLBAを示した図である。It is the figure which showed LBA which carried out the bit display (binary number display) in the comparative example. 比較例における仮想ブロック内の記憶領域と論理ブロックに属する領域との対応関係を、LBAを用いて示した図である。It is the figure which showed the correspondence of the storage area in the virtual block in a comparative example, and the area | region which belongs to a logical block using LBA.

符号の説明Explanation of symbols

1 フラッシュメモリシステム
2 フラッシュメモリ
2−1,2−0 フラッシュメモリチップ
3 メモリコントローラ
DESCRIPTION OF SYMBOLS 1 Flash memory system 2 Flash memory 2-1 and 2-0 Flash memory chip 3 Memory controller

Claims (3)

ホストシステムから与えられるセクタ単位の論理アドレスに基づいて、物理ブロック単位で記憶データの消去が行われる複数個のフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記論理アドレスが連続する (nは1以上の整数)セクタの領域を含む論理ブロックを複数個形成することにより前記論理アドレスが割り当てられている領域を前記論理ブロック毎の領域に分割する論理ブロック形成手段と、
複数個の前記論理ブロックを含む論理ゾーンを2 (mは1以上の整数)個形成する手段であって、それぞれの前記論理ゾーンには前記論理ブロックを跨いで前記論理アドレスが連続する領域が含まれないように前記論理ゾーンを形成する論理ゾーン形成手段と、
それぞれの前記フラッシュメモリ内の記憶領域を複数個の物理ゾーンに分割することにより、複数個の物理ブロックを含む前記物理ゾーンを数個形成する物理ゾーン形成手段と
それぞれが異なる前記フラッシュメモリに含まれる複数個の前記物理ゾーンからなる物理ゾーングループを複数個形成するグループ形成手段と、
それぞれの前記物理ゾーングループに対して、1個の前記論理ゾーンを割り当てる論理ゾーン割り当て手段と、
前記物理ゾーングループに含まれるそれぞれの前記物理ゾーンから個ずつ選択された複数個の物理ブロックを仮想的に結合した仮想ブロックを形成する仮想ブロック形成手段と、
記論理ゾーンに属する論理ブロックを、当該論理ゾーンに対応する前記物理ゾーングループに属する前記仮想ブロックに割り当てる論理ブロック割り当て手段とを備え、
前記論理ブロック形成手段は、前記論理アドレスをビット表示したものの下位側から数えてnビット目のビットより上位側のビットからなる上位側ビットに基づいて論理ブロック形成し、
前記論理ゾーン形成手段は、前記上位側ビットの下位mビットに基づいて前記論理ゾーンを形成することを特徴とするメモリコントローラ。
A memory controller that controls access to a plurality of flash memories in which stored data is erased in units of physical blocks based on logical addresses in units of sectors given from a host system,
By forming a plurality of logical blocks including areas of 2 n sectors (n is an integer equal to or greater than 1) where the logical addresses are continuous, the area to which the logical addresses are assigned is divided into areas for each logical block. Logical block forming means;
A means for forming 2 m (m is an integer of 1 or more) logical zones including a plurality of logical blocks , and each logical zone has a region where the logical addresses are continuous across the logical blocks. Logical zone forming means for forming the logical zone so as not to be included ;
By dividing the storage area of each of the said flash memory into a plurality of physical zone, a physical zone forming means for forming several double the physical zone including a plurality of physical blocks,
Group forming means for forming a plurality of physical zone groups each consisting of a plurality of the physical zones included in the flash memory different from each other;
Logical zone assigning means for assigning one logical zone to each physical zone group ;
A virtual block forming means for forming a virtual block that combines a plurality of physical blocks which are selected one by one from each of the physical zones included in the physical zone group virtually,
A logical block belonging to the prior SL logical zones, and a logical block allocation means for allocating the virtual blocks belonging to the physical zone group corresponding to the logical zone,
The logical block forming means forms a logical block based on higher-order bits composed of bits higher than the n-th bit counted from the lower-order side of the logical address expressed in bits,
The memory controller, wherein the logical zone forming unit forms the logical zone based on lower m bits of the upper bits .
物理ブロック単位で記憶データの消去が行われる複数個のフラッシュメモリと、これらのフラッシュメモリに対するアクセスを制御する請求項1に記載のメモリコントローラを備えることを特徴とするフラッシュメモリシステム。 A flash memory system comprising: a plurality of flash memories in which stored data is erased in units of physical blocks; and a memory controller according to claim 1 for controlling access to the flash memories. ホストシステムから与えられるセクタ単位の論理アドレスに基づいて、物理ブロック単位で記憶データの消去が行われる複数個のフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記論理アドレスが連続する (nは1以上の整数)セクタの領域を含む論理ブロックを複数個形成することにより前記論理アドレスが割り当てられている領域を前記論理ブロック毎の領域に分割する論理ブロック形成ステップと、
複数個の前記論理ブロックを含む論理ゾーンを2 (mは1以上の整数)個形成するステップであって、それぞれの前記論理ゾーンには前記論理ブロックを跨いで前記論理アドレスが連続する領域が含まれないように前記論理ゾーンを形成する論理ゾーン形成ステップと、
それぞれの前記フラッシュメモリ内の記憶領域を複数個の物理ゾーンに分割することにより、複数個の物理ブロックを含む前記物理ゾーンを数個形成する物理ゾーン形成ステップと
それぞれが異なる前記フラッシュメモリに含まれる複数個の前記物理ゾーンからなる物理ゾーングループを複数個形成するグループ形成ステップと、
それぞれの前記物理ゾーングループに対して、1個の前記論理ゾーンを割り当てる論理ゾーン割り当てステップと、
前記物理ゾーングループに含まれるそれぞれの前記物理ゾーンから個ずつ選択された複数個の物理ブロックを仮想的に結合した仮想ブロックを形成する仮想ブロック形成ステップと
記論理ゾーンに属する論理ブロックを、当該論理ゾーンに対応する前記物理ゾーングループに属する前記仮想ブロックに割り当てる論理ブロック割り当てステップとを有し、
前記論理ブロック形成ステップでは、前記論理アドレスをビット表示したものの下位側から数えてnビット目のビットより上位側のビットからなる上位側ビットに基づいて論理ブロック形成し、
前記論理ゾーン形成ステップでは、前記上位側ビットの下位mビットに基づいて前記論理ゾーンを形成することを特徴とするフラッシュメモリの制御方法。
A flash memory control method for controlling access to a plurality of flash memories in which stored data is erased in physical block units, based on logical addresses in sector units given from a host system,
By forming a plurality of logical blocks including areas of 2 n sectors (n is an integer equal to or greater than 1) where the logical addresses are continuous, the area to which the logical addresses are assigned is divided into areas for each logical block. A logic block forming step;
Forming 2 m (m is an integer of 1 or more) logical zones including a plurality of logical blocks , each logical zone having a region where the logical addresses are continuous across the logical blocks; Forming a logical zone so as not to be included; and
By dividing the storage area of each of the said flash memory into a plurality of physical zone, a physical zone forming step of forming several double the physical zone including a plurality of physical blocks,
A group forming step of forming a plurality of physical zone groups each consisting of a plurality of the physical zones included in the flash memory different from each other ;
A logical zone assignment step for assigning one logical zone to each of the physical zone groups ;
A virtual block forming step of forming a virtual block that combines a plurality of physical blocks which are selected one by one from each of the physical zones included in the physical zone group virtually,
A logical block belonging to the prior SL logical zones, and a logical block allocation step of allocating the virtual blocks belonging to the physical zone group corresponding to the logical zone,
In the logical block forming step, a logical block is formed based on higher-order bits composed of bits higher than the n-th bit counted from the lower-order side of the logical address in bits.
In the logical zone forming step, the logical zone is formed based on lower m bits of the upper bits .
JP2007086982A 2007-03-29 2007-03-29 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD Active JP4636046B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007086982A JP4636046B2 (en) 2007-03-29 2007-03-29 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007086982A JP4636046B2 (en) 2007-03-29 2007-03-29 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD

Publications (2)

Publication Number Publication Date
JP2008243156A JP2008243156A (en) 2008-10-09
JP4636046B2 true JP4636046B2 (en) 2011-02-23

Family

ID=39914363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007086982A Active JP4636046B2 (en) 2007-03-29 2007-03-29 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD

Country Status (1)

Country Link
JP (1) JP4636046B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179066A (en) 2013-02-14 2014-09-25 Panasonic Corp Storage control device, storage system, and storage control method
WO2023100212A1 (en) * 2021-11-30 2023-06-08 Tdk株式会社 Memory controller and flash memory system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181784A (en) * 1998-12-18 2000-06-30 Hitachi Ltd Non-volatile storage device which can be rewritten
JP2003015946A (en) * 2001-07-05 2003-01-17 Tdk Corp Memory controller, flash memory system with memory controller and flash memory control method
JP2003085037A (en) * 1993-03-08 2003-03-20 M-Systems Ltd Memory management method
JP2004508626A (en) * 2000-08-25 2004-03-18 レクサー メディア,インク. Flash memory architecture that stores overhead data and user data separately
JP2004086300A (en) * 2002-08-23 2004-03-18 Megawin Technology Co Ltd Flash memory logical address detection method
JP2005107601A (en) * 2003-09-26 2005-04-21 Tdk Corp Memory controller, flash memory system equipped with memory controller, and control method of flash memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085037A (en) * 1993-03-08 2003-03-20 M-Systems Ltd Memory management method
JP2000181784A (en) * 1998-12-18 2000-06-30 Hitachi Ltd Non-volatile storage device which can be rewritten
JP2004508626A (en) * 2000-08-25 2004-03-18 レクサー メディア,インク. Flash memory architecture that stores overhead data and user data separately
JP2003015946A (en) * 2001-07-05 2003-01-17 Tdk Corp Memory controller, flash memory system with memory controller and flash memory control method
JP2004086300A (en) * 2002-08-23 2004-03-18 Megawin Technology Co Ltd Flash memory logical address detection method
JP2005107601A (en) * 2003-09-26 2005-04-21 Tdk Corp Memory controller, flash memory system equipped with memory controller, and control method of flash memory

Also Published As

Publication number Publication date
JP2008243156A (en) 2008-10-09

Similar Documents

Publication Publication Date Title
JP4171749B2 (en) Memory controller and flash memory system
JP4666080B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4632180B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP5093294B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4702387B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4737223B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4636005B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4636046B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4710918B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4241741B2 (en) Memory controller and flash memory system
JP4687720B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4582232B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4661566B2 (en) Access controller, flash memory system, and access control method
JP4434171B2 (en) Memory controller and flash memory system
JP2012068764A (en) Memory controller, nonvolatile memory system with memory controller, and control method of nonvolatile memory
JP4254933B2 (en) Memory controller and flash memory system
JP2010086106A (en) Memory controller, flash memory system with memory controller, and method for controlling flash memory
JP2010026878A (en) Memory controller, flash memory system equipped with memory controller, and control method of flash memory
JP3934659B1 (en) Memory controller and flash memory system
JP4760826B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4235595B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4254930B2 (en) Memory controller, flash memory system, and flash memory control method
JP4273109B2 (en) Memory controller and flash memory system
JP4569554B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2010092200A (en) Memory controller, flash memory system equipped with memory controller and method of controlling flash memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100729

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: 20101026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4636046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150