JP2006309539A - Memory controller, flash memory system and control method of flash memory - Google Patents
Memory controller, flash memory system and control method of flash memory Download PDFInfo
- Publication number
- JP2006309539A JP2006309539A JP2005131920A JP2005131920A JP2006309539A JP 2006309539 A JP2006309539 A JP 2006309539A JP 2005131920 A JP2005131920 A JP 2005131920A JP 2005131920 A JP2005131920 A JP 2005131920A JP 2006309539 A JP2006309539 A JP 2006309539A
- Authority
- JP
- Japan
- Prior art keywords
- address
- register
- address register
- flash memory
- address data
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法に関する。 The present invention relates to a memory controller, a flash memory system, and a flash memory control method.
近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種である。フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。 In recent years, flash memories have been widely adopted as semiconductor memories used in memory systems such as memory cards and silicon disks. A flash memory is a kind of nonvolatile memory. Data stored in the flash memory is required to be retained even when power is not supplied.
NAND型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“1”を示すデータが格納されている消去状態から、論理値“0”を示すデータが格納されている書込状態へと変化することができる。 A NAND flash memory is a type of flash memory that is particularly frequently used in the above memory system. Each of the plurality of memory cells included in the NAND flash memory receives a logical value “0” from an erased state in which data indicating a logical value “1” is stored, independently of the other memory cells. It is possible to change to a writing state in which the indicated data is stored.
これとは対照的に、複数のメモリセルのうちの少なくとも1つが書込状態から消去状態へと変化しなければならないときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルにおいて、全てのメモリセルが同時に消去状態とならなければならない。この一括消去動作は、一般的に、"ブロック消去"と称されている。ブロック消去が行われたブロックは、消去済ブロックと称される。 In contrast, when at least one of the plurality of memory cells must change from a written state to an erased state, each memory cell cannot change independently of the other memory cells. At this time, in a predetermined number of memory cells called blocks, all the memory cells must be simultaneously erased. This batch erase operation is generally called “block erase”. A block that has been subjected to block erase is referred to as an erased block.
上記のような特徴により、NAND型フラッシュメモリでは、データを上書することが不可能である。メモリセルにおける格納データを書換えるためには、新しいデータを含んだブロックデータが消去済ブロックに書込まれた後に、古いデータを格納しているブロックのためのブロック消去が行われなければならない。 Due to the above features, data cannot be overwritten in the NAND flash memory. In order to rewrite the stored data in the memory cell, after block data including new data is written to the erased block, block erasure for the block storing the old data must be performed.
書換えられたデータは、以前に格納されていたブロックとは異なるブロックに書込まれる。そのため、ホストシステムから供給されるアドレス信号によって指定される論理ブロックアドレスと、フラッシュメモリ内での実際のブロックアドレスを示す物理ブロックアドレスとの間の対応関係は、フラッシュメモリにてデータが書換えられる毎に、コントローラによって動的に調整される。例えば、論理ブロックアドレスと物理ブロックアドレスの間の対応関係は、コントローラに設けられたアドレス変換テーブルに記載される。 The rewritten data is written in a block different from the previously stored block. Therefore, the correspondence between the logical block address specified by the address signal supplied from the host system and the physical block address indicating the actual block address in the flash memory is the same every time data is rewritten in the flash memory. Dynamically adjusted by the controller. For example, the correspondence between logical block addresses and physical block addresses is described in an address conversion table provided in the controller.
例えば、特許文献1では、アドレス変換テーブルで、論理ブロックアドレスが物理ブロックアドレスに変換される。この物理ブロックアドレスは物理アドレスレジスタの物理ブロックアドレス部に設定される。物理アドレスレジスタのワードアドレス部には、初期値が適宜設定される。物理アドレスレジスタは、物理ブロックアドレス部及びワードアドレス部に、保持しているアドレスデータを、フラッシュメモリに供給し、アドレスデータを供給する毎に、ワードアドレス部に保持されている値をインクリメントしている。
しかしながら、特許文献1では、アクセス先の物理ブロックが変わる毎に、物理アドレスレジスタの物理ブロックアドレス部に新たな物理ブロックアドレスが設定され、ワードアドレス部に新たな初期値が設定される。従って、複数ブロックに連続的にアクセスするときに、物理アドレスレジスタの再設定処理が、その都度行われることになり、処理効率が低下するという問題があった。
However, in
そこで、本発明は、複数ブロックに連続的にアクセスするときの処理効率を向上させることができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム並びにフラッシュメモリの制御方法を提供することを目的とする。 Therefore, an object of the present invention is to provide a memory controller, a flash memory system including the memory controller, and a flash memory control method capable of improving processing efficiency when continuously accessing a plurality of blocks.
上記目的を達成するために、本発明の第1の観点に係るメモリコントローラは、
複数ページからなる物理ブロックを記憶領域に複数持つフラッシュメモリに対してのホストシステムからのアクセスを制御するメモリコントローラであって、
前記ホストシステムより逐次与えられる論理アドレスから、前記アクセスの対象となる前記物理ブロックを順次検出する物理ブロック検出手段と、
前記メモリコントローラに与えるアドレスデータを保持するための第1のアドレスレジスタと、
前記メモリコントローラに与えるアドレスデータを保持するための第2のアドレスレジスタと、
前記物理ブロック検出手段で検出した物理ブロックに対応するアドレスデータを前記第1のアドレスレジスタに設定して保持させる第1のアドレス設定手段と、
前記第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次に前記アクセスの対象となる物理ブロックを前記物理ブロック検出手段の検出結果から求め、該求めた物理ブロックに対応するアドレスデータを前記第2のアドレスレジスタに設定して保持させる第2のアドレス設定手段と、
前記第1のアドレスレジスタに保持されているアドレスデータを前記フラッシュメモリに供給して前記アクセスを実行させるアドレスデータ供給手段と、
前記第1のアドレスレジスタに保持されいるアドレスデータが前記フラッシュメモリに供給されたことに応答し、その時点に前記第2のアドレスレジスタに保持されているアドレスデータを該第1のアドレスレジスタに設定して保持させるアドレスデータ変更手段と、
前記第2のアドレスレジスタに保持されているアドレスデータが前記第1のアドレスレジスタに保持されたことに応答し、その時点で該第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次にアクセスの対象となる物理ブロックを前記物理ブロック検出手段の検出結果から求め、該求めた物理ブロックに対応するアドレスデータを該第2のアドレスレジスタに設定して保持させる第3のアドレス設定手段と、
を備えることを特徴とする。
In order to achieve the above object, a memory controller according to the first aspect of the present invention provides:
A memory controller that controls access from a host system to a flash memory having a plurality of physical blocks of multiple pages in a storage area,
Physical block detection means for sequentially detecting the physical blocks to be accessed from logical addresses sequentially given from the host system;
A first address register for holding address data to be given to the memory controller;
A second address register for holding address data to be given to the memory controller;
First address setting means for setting and holding address data corresponding to the physical block detected by the physical block detection means in the first address register;
The physical block to be accessed next to the physical block indicated by the address data held in the first address register is obtained from the detection result of the physical block detecting means, and the address data corresponding to the obtained physical block Second address setting means for setting and holding in the second address register;
Address data supply means for supplying the address data held in the first address register to the flash memory to execute the access;
In response to the address data held in the first address register being supplied to the flash memory, the address data held in the second address register at that time is set in the first address register. Address data changing means to be held,
In response to the address data held in the second address register being held in the first address register, the physical block of the physical block indicated by the address data held in the first address register at that time Next, third address setting means for obtaining a physical block to be accessed from the detection result of the physical block detecting means, and setting and holding address data corresponding to the obtained physical block in the second address register When,
It is characterized by providing.
尚、前記第1のアドレスレジスタは、前記アドレスデータの前記物理ブロックを特定する部分を保持するメインレジスタと前記アドレスデータの前記ページを指定する部分を保持するサブレジスタとを備え、
前記第2のアドレスレジスタは、前記アドレスデータの物理ブロックを特定する部分を保持するメインレジスタと前記アドレスデータの前記ページを指定する部分を保持するサブレジスタとを備え、
前記第1のアドレス設定手段は、前記第1のアドレスレジスタのサブレジスタの初期値を設定する第1の初期値設定手段を備え、
前記第2のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第2の初期値設定手段を備え、
前記第3のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第3の初期値設定手段を備え、
前記第1のアドレスレジスタのサブレジスタに保持された値を更新する更新手段が設けられてもよい。
The first address register includes a main register that holds a part that specifies the physical block of the address data, and a sub-register that holds a part that specifies the page of the address data.
The second address register includes a main register that holds a part that specifies a physical block of the address data, and a sub-register that holds a part that specifies the page of the address data.
The first address setting means includes first initial value setting means for setting an initial value of a sub-register of the first address register,
The second address setting means includes second initial value setting means for setting an initial value of a sub-register of the second address register,
The third address setting means comprises third initial value setting means for setting an initial value of a sub-register of the second address register;
Update means for updating a value held in a sub-register of the first address register may be provided.
この場合、前記更新手段が、前記第1のアドレスレジスタのサブレジスタに保持されている値に対して1ずつ減算又は加算を施してもよい。 In this case, the updating means may subtract or add one by one to the value held in the subregister of the first address register.
また、前記第2のアドレスレジスタに保持されているアドレスデータが前記第1のアドレスレジスタに設定されたことに応答して、該第2のアドレスレジスタに新たなアドレスデータが設定可能であることを示し、その結果、該第2のアドレスレジスタに新たなアドレスデータが設定されたことに応答して、該第2のアドレスレジスタにさらに新たなアドレスデータの設定ができないことを示すフラグ設定手段を備えてもよい。 In addition, in response to the address data held in the second address register being set in the first address register, new address data can be set in the second address register. As a result, in response to the setting of new address data in the second address register, there is provided flag setting means for indicating that new address data cannot be set in the second address register. May be.
上記目的を達成するために、本発明の第2の観点に係るフラッシュメモリシステム、上記本発明の第1の観点に係るメモリコントローラと、フラッシュメモリを備えることを特徴とする。 In order to achieve the above object, a flash memory system according to the second aspect of the present invention, a memory controller according to the first aspect of the present invention, and a flash memory are provided.
上記目的を達成するために、本発明の第3の観点に係るフラッシュメモリの制御方法は、
複数ページからなる物理ブロックを記憶領域に複数持つフラッシュメモリに対してのホストシステムからのアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストシステムより逐次与えられる論理アドレスから、前記アクセスの対象となる前記物理ブロックを順次検出する物理ブロック検出処理と、
前記メモリコントローラに与えるアドレスデータを保持するための第1のアドレスレジスタに、前記物理ブロック検出処理で検出した物理ブロックに対応するアドレスデータを設定して保持させる第1のアドレス設定処理と、
前記第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次に前記アクセスの対象となる物理ブロックを前記物理ブロック検出処理の検出結果から求め、前記メモリコントローラに与えるアドレスデータを保持するための第2のアドレスレジスタに該求めた物理ブロックに対応するアドレスデータを設定して保持させる第2のアドレス設定処理と、
前記第1のアドレスレジスタに保持されているアドレスデータを前記フラッシュメモリに供給して前記アクセスを実行させるアドレスデータ供給処理と、
前記第1のアドレスレジスタに保持されているアドレスデータが前記フラッシュメモリに供給されたことに応答し、その時点に前記第2のアドレスレジスタに保持されているアドレスデータを該第1のアドレスレジスタに設定して保持させるアドレスデータ変更処理と、
前記第2のアドレスレジスタに保持されているアドレスデータが前記第1のアドレスレジスタに保持されたことに応答し、その時点で該第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次にアクセスの対象となる物理ブロックを前記物理ブロック検出処理の検出結果から求め、該求めた物理ブロックに対応するアドレスデータを該第2のアドレスレジスタに設定して保持させる第3のアドレス設定処理と、
を行うことを特徴とする。
In order to achieve the above object, a flash memory control method according to a third aspect of the present invention includes:
A flash memory control method for controlling access from a host system to a flash memory having a plurality of physical blocks of multiple pages in a storage area,
Physical block detection processing for sequentially detecting the physical blocks to be accessed from logical addresses sequentially given from the host system;
A first address setting process for setting and holding address data corresponding to a physical block detected by the physical block detection process in a first address register for holding address data to be given to the memory controller;
The physical block to be accessed is obtained from the detection result of the physical block detection process next to the physical block indicated by the address data held in the first address register, and the address data to be given to the memory controller is held. A second address setting process for setting and holding address data corresponding to the obtained physical block in the second address register for;
Address data supply processing for supplying the address data held in the first address register to the flash memory and executing the access;
Responding to the address data held in the first address register being supplied to the flash memory, the address data held in the second address register at that time is stored in the first address register. Address data change processing to be set and retained,
In response to the address data held in the second address register being held in the first address register, the physical block of the physical block indicated by the address data held in the first address register at that time Next, a third address setting process for obtaining a physical block to be accessed from the detection result of the physical block detection process, and setting and holding address data corresponding to the obtained physical block in the second address register When,
It is characterized by performing.
尚、前記第1のアドレスレジスタは、前記アドレスデータの前記物理ブロックを特定する部分を保持するメインレジスタと前記アドレスデータの前記ページを指定する部分を保持するサブレジスタとを備え、
前記第2のアドレスレジスタは、前記アドレスデータの物理ブロックを特定する部分を保持するメインレジスタと前記アドレスデータの前記ページを指定する部分を保持するサブレジスタとを備え、
前記第1のアドレス設定処理は、前記第1のアドレスレジスタのサブレジスタの初期値を設定する第1の初期値設定処理を含み、
前記第2のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第2の初期値設定処理を含み、
前記第3のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第3の初期値設定処理を含み、
前記第1のアドレスレジスタのサブレジスタに保持された値を更新する更新処理を行ってもよい。
The first address register includes a main register that holds a part that specifies the physical block of the address data, and a sub-register that holds a part that specifies the page of the address data.
The second address register includes a main register that holds a part that specifies a physical block of the address data, and a sub-register that holds a part that specifies the page of the address data.
The first address setting process includes a first initial value setting process for setting an initial value of a sub-register of the first address register,
The second address setting means includes a second initial value setting process for setting an initial value of a sub-register of the second address register;
The third address setting means includes a third initial value setting process for setting an initial value of a sub-register of the second address register;
Update processing for updating the value held in the sub-register of the first address register may be performed.
この場合、前記更新処理が、前記第1のアドレスレジスタのサブレジスタに保持されている値に対して1ずつ減算又は加算を施してもよい。 In this case, in the update process, the value held in the sub-register of the first address register may be subtracted or added one by one.
また、前記第2のアドレスレジスタに保持されているアドレスデータが前記第1のアドレスレジスタに設定されたことに応答して、該第2のアドレスレジスタに新たなアドレスデータが設定可能であることを示し、その結果、該第2のアドレスレジスタに新たなアドレスデータが設定されたことに応答して、該第2のアドレスレジスタにさらに新たなアドレスデータの設定ができないことを示すフラグ設定処理を行ってもよい。 In addition, in response to the address data held in the second address register being set in the first address register, new address data can be set in the second address register. As a result, in response to the setting of new address data in the second address register, a flag setting process is performed to indicate that new address data cannot be set in the second address register. May be.
本発明によれば、第1のアドレスレジスタには、アクセス中のブロックに対応するアドレスデータが保持され、次にアクセスするブロックのアドレスデータが第2のアドレスレジスタに保持される。そして、アクセス先のブロックが切替わるときに第2のアドレスレジスタに保持されているアドレスデータが第1のアドレスレジスタに転送される。これにより、アクセス先のブロックが切替わるときの処理効率の低下を抑制することができる。 According to the present invention, the address data corresponding to the block being accessed is held in the first address register, and the address data of the next block to be accessed is held in the second address register. When the access destination block is switched, the address data held in the second address register is transferred to the first address register. Thereby, it is possible to suppress a decrease in processing efficiency when the access destination block is switched.
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
図1は、本発明の実施形態に係るフラッシュメモリシステム10を示す構成図である。
図1に示したように、フラッシュメモリシステム10は、フラッシュメモリ11と、それを制御するメモリコントローラ20とで構成されている。このフラッシュメモリシステム10は、通常、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとするホストシステム30である各種情報処理装置に内蔵される。
以下に、フラッシュメモリ11及びメモリコントローラ20の詳細と、フラッシュメモリシステム10の動作とを説明する。
[フラッシュメモリ11の説明]
このフラッシュメモリシステム10において、データが記憶されるフラッシュメモリ11は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書ができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram showing a
As shown in FIG. 1, the
The details of the
[Description of flash memory 11]
In the
NAND型フラッシュメモリは、このような特徴を有するため、通常、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替え後のデータ)を書込み、古いデータ(書替え前のデータ)が書込まれていたブロックを消去するという処理を行なっている。 Since NAND flash memory has such characteristics, normally, when data is rewritten, new data (data after rewriting) is written to the erased block that has been erased, and old data (rewriting is performed). A process of erasing the block in which the previous data) has been written is performed.
このようなデータの書替えを行なった場合、書替え後のデータは、書替え前と異なるブロックに書込まれるため、ホストシステム30側から与えられる論理アドレスと、フラッシュメモリ11内での物理アドレスとの対応関係は、データを書替える毎に動的に変化する。従って、フラッシュメモリ11にアクセスするときには、通常、論理アドレスと物理アドレスとの対応関係を示したアドレス変換テーブルが作成され、このアドレス変換テーブルを用いて、フラッシュメモリ11に対するアクセスが行なわれる。
When such data rewriting is performed, the data after rewriting is written in a block different from that before rewriting, so the correspondence between the logical address given from the
図2は、ブロックとページの関係を示す説明図である。
上記ブロックとページの構成は、フラッシュメモリ11の仕様によって異なるが、一般的なフラッシュメモリでは、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザー領域と16バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザー領域と64バイトの冗長領域で構成されているものも提供されている。
FIG. 2 is an explanatory diagram showing the relationship between blocks and pages.
The configuration of the block and page differs depending on the specifications of the
ここで、ユーザー領域は、主に、ホストシステム30から供給されるデ―タが記憶される領域であり、冗長領域は、誤り訂正符号、対応論理アドレス情報及びブロックステータス等の付加データが記憶される領域である。誤り訂正符号は、ユーザー領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、後述するECCブロックによって生成される。
Here, the user area is mainly an area where data supplied from the
対応論理アドレス情報は、物理ブロックにデータが記憶されている場合に書込まれ、その物理ブロックに記憶されているデータの論理アドレスに関する情報を示している。尚、物理ブロックにデータが記憶されていない場合は、対応論理アドレス情報が書込まれないので、対応論理アドレス情報が書込まれているか否かで、そのブロックが消去済ブロックであるか否かを判断することができる。つまり、対応論理アドレス情報が書込まれていない場合は、消去済ブロックであると判断される。 The corresponding logical address information is written when data is stored in a physical block, and indicates information related to the logical address of the data stored in the physical block. If no data is stored in the physical block, the corresponding logical address information is not written, so whether the corresponding logical address information is written or not is the erased block. Can be judged. That is, if the corresponding logical address information is not written, it is determined that the block is an erased block.
ブロックステータスは、その物理ブロックが不良ブロック(正常にデータの書込み等を行なうことができない物理ブロック)であるか否かを示すフラグであり、その物理ブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。 The block status is a flag indicating whether or not the physical block is a bad block (a physical block in which data cannot be normally written). When the physical block is determined to be a bad block, Is set with a flag indicating that it is a bad block.
次に、フラッシュメモリ11の回路構成について説明する。
一般的なNAND型フラッシュメモリは、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によって、メモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。
Next, the circuit configuration of the
A general NAND flash memory includes a register for holding write data or read data and a memory cell array for storing data. The memory cell array includes a plurality of memory cell groups in which a plurality of memory cells are connected in series, and a specific memory cell in the memory cell group is selected by a word line. Data copying (copying from register to memory cell or copying from memory cell to register) is performed between the memory cell selected by the word line and the register.
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入したり、フローティングゲートから電荷(電子)を排出したりすることによって、データの書込みや消去を行う。 A memory cell constituting the memory cell array is composed of a MOS transistor having two gates. Here, the upper gate is called a control gate, and the lower gate is called a floating gate. By injecting charges (electrons) into the floating gate and discharging charges (electrons) from the floating gate, Write and erase data.
フローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。フローティングゲートに電子が注入されている状態(書込状態)が、論理値“0”のデータに対応し、フローティングゲートから電子が排出されている状態(消去状態)が、論理値“1”のデータに対応する。 Since the floating gate is surrounded by an insulator, the injected electrons are held for a long period of time. When injecting electrons into the floating gate, a high voltage is applied so that the control gate is at the high potential side. When electrons are injected from the floating gate, a high voltage at which the control gate is at the low potential side is applied. Applied to discharge electrons. The state in which electrons are injected into the floating gate (write state) corresponds to data having a logical value “0”, and the state in which electrons are discharged from the floating gate (erased state) has a logical value “1”. Corresponds to data.
[メモリコントローラ20の説明]
メモリコントローラ20は、ホストインターフェースブロック21と、マイクロプロセッサ22と、フラッシュメモリインターフェースブロック23と、ECC(エラー・コレクション・コード)ブロック24と、バッファ25と、ROM(Read Only Memory)26と、SRAM(Static Randam Access Memory)27とを備え、これらの要素が一つの半導体チップ上に集積されている。以下に、各要素の機能を説明する。
[Description of Memory Controller 20]
The
マイクロプロセッサ22は、ROM26に記憶されたプログラムに基づき動作し、メモリコントローラ20全体の動作を制御する手段であり、SRAM27の記憶領域を作業領域として用いる。
論理アドレス(フラッシュメモリシステム10に対して与えられるアドレス)と物理アドレス(フラッシュメモリ11内のアドレス)の対応関係を示す変換テーブルは、マイクロプロセッサ22によって、SRAM27の記憶領域に作成される。
The
A conversion table indicating the correspondence between the logical address (address given to the flash memory system 10) and the physical address (address in the flash memory 11) is created in the storage area of the
ホストインターフェースブロック21は、ホストシステム30から外部バス31を介して得られるコマンド、論理アドレスを中継してマイクロプロセッサ22に与え、ホストシステム30から与えられるデータをバッフア25に与える機能を持つ。また、ホストインタフェースブロック21は、マイクロプロセッサ22から与えられる信号やバッファ25に保持されたデータをホストシステム30に転送する機能を持つ。
The
バッファ25は、フラッシュメモリ11から内部バス12を介して読出されたデータ及びフラッシュメモリ11に書込まれるべきデータを保持するための機能ブロックである。フラッシュメモリ11から読出されたデータは、ホストシステム30に出力されるまで、バッファ25に保持される。フラッシュメモリ11に書込まれるべきデータは、フラッシュメモリ11のデータ書込動作の準備ができるまで、バッファ25に保持される。
The
ECCブロック24は、フラッシュメモリ11への書込データに付加されるエラーコレクションコードを生成するための機能ブロックである。加えて、ECCブロック24は、フラッシュメモリ11からデータと共に読出されたエラーコレクションコードに基づいて、読出データに含まれる誤りの検出及び訂正を行う。
The
図3は、図1中のフラッシュメモリインターフェースブロック23の構成を説明する図である。
フラッシュメモリインターフェースブロック23には、アドレスレジスタ23a、アドレスレジスタ23b、空きフラグレジスタ23c、制御ブロック23d、及びデータ転送部(転送部)23eが設けられている。
FIG. 3 is a diagram for explaining the configuration of the flash
The flash
アドレスレジスタ23a及びアドレスレジスタ23bには、アドレスデータとしてフラッシュメモリ11内の物理アドレスが保持される。アドレスレジスタ23a及びアドレスレジスタ23bに保持されるアドレスデータは、マイクロプロセッサ22によって設定される。
The
データ転送部23eは、バッファ25に保持された書込みデータをフラッシュメモリ11に転送とすると共に、フラッシュメモリ11から読出されたデータをバッファ25に転送する。
The data transfer unit 23 e transfers write data held in the
次に、図1のフラッシュメモリシステム10の動作を説明する。
ホストシステム30は、フラッシュメモリ11にアクセスするためのコマンドや論理アドレスを、フラッシュメモリシステム10に与える。コマンドや論理アドレスは、ホストインターフェースブロック21を介してマイクロプロセッサ22に与えられる。フラッシュメモリ11にデータを書込む場合には、そのデータがホストシステム30から与えられ、ホストインターフェースブロック21を介してバッファ25に与えられる。
Next, the operation of the
The
マイクロプロセッサ22は、コマンドを解読すると共に、論理アドレスをSRAM27のアドレス変換テーブルを利用して物理アドレスに変換する。そして、物理アドレスをフラッシュメモリインターフェースブロック23のアドレスレジスタ23aに設定する。つまり、論理アドレスに示されるブロックに対応する物理ブロックを変換テーブルにより検出し、検出した物理ブロックを示すアドレスデータをアドレスレジスタ23aに設定する。
フラッシュメモリ11の複数ブロックに対して連続的にアクセスするときには、マイクロプロセッサ22は、次にアクセスするブロックに対応する物理アドレスをアドレスレジスタ23bに設定して保持させる。
The
When continuously accessing a plurality of blocks of the
アドレスレジスタ23aに保持されている物理アドレスに対応するブロックへのアクセスが終了すると、アドレスレジスタ23bに保持される物理アドレスがアドレスレジスタ23aに転送される。その後、新たにアドレスレジスタ23aに保持された物理アドレスに基づいて生成されたアドレスデータがフラッシュメモリ11に供給される。
When the access to the block corresponding to the physical address held in the
アドレスレジスタ23bからアドレスレジスタ23aへの物理アドレスの転送は、制御ブロック23dによって制御される。又、制御ブロック23dは、アドレスレジスタ23bに保持される物理アドレスをアドレスレジスタ23aに転送したときに、空きフラグレジスタ23cに空き情報を設定する。この空き情報は、アドレスレジスタ23bに新たな物理アドレスを設定することができることを示す情報である。
The transfer of the physical address from the
マイクロプロセッサ22は、空きフラグレジスタ23cに空き情報が設定されたのを検知すると、新たな物理アドレスをアドレスレジスタ23bに設定する。その後、マイクロプロセッサ22は、空きフラグレジスタ23cに設定されている空き情報を解除する。
When the
尚、制御ブロック23dは、アドレスレジスタ23bに保持される物理アドレスがアドレスレジスタ23aに転送される前に、空きフラグレジスタ23cに空き情報が設定されていないことを確認することが好ましい。空きフラグレジスタ23cに空き情報が設定されている場合には、アドレスレジスタ23bに、次のアクセス先のブロックに対応する物理アドレスが設定されていないことを示すからである。
Note that the
図4は、アクセス処理の効率の説明図であり、アドレスレジスタが1つだけの場合(図4(a))と、本発明に係る2つのアドレスレジスタ(アドレスレジスタ23a及びアドレスレジスタ23b)を備えている場合(図4(b))とを示している。
FIG. 4 is an explanatory diagram of the efficiency of the access processing, and includes the case where there is only one address register (FIG. 4A) and two address registers (
アドレスレジスタが1つだけの場合(図4(a))、最初にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換a)。得られた物理アドレスは、アドレスレジスタに設定される(レジスタ設定a)。アドレスレジスタに物理アドレスが設定されると、設定された物理アドレスに基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力a)。このアクセスが、nページ分の読出し処理であれば、読出すページを指示するアドレスデータがnページ分順次出力される。
When there is only one address register (FIG. 4A), an address conversion process for obtaining a physical address corresponding to the first accessed block is executed (address conversion a). The obtained physical address is set in the address register (register setting a). When a physical address is set in the address register, access to the
最初のブロックに対するアクセスが終了すると、2番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換b)。得られた物理アドレスは、アドレスレジスタに設定される(レジスタ設定b)。アドレスレジスタに物理アドレスが設定されると、設定された物理アドレスに基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力b)。このアクセスが、mページ分の読出し処理であれば、読出すページを指示するアドレスデータがmページ分順次出力される。
When the access to the first block is completed, an address conversion process for obtaining a physical address corresponding to the block to be accessed second is executed (address conversion b). The obtained physical address is set in the address register (register setting b). When a physical address is set in the address register, access to the
2番目のブロックに対するアクセスが終了すると、3番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換c)。得られた物理アドレスは、アドレスレジスタに設定される(レジスタ設定c)。アドレスレジスタに物理アドレスが設定されると、上記と同様にフラッシュメモリ11に対するアクセスが開始される。
When the access to the second block is completed, an address conversion process for obtaining a physical address corresponding to the third accessed block is executed (address conversion c). The obtained physical address is set in the address register (register setting c). When a physical address is set in the address register, access to the
図3のように、2つのアドレスレジスタ23a及びアドレスレジスタ23bを備えている場合(図4(b))、最初にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換a)。得られた物理アドレスは、アドレスレジスタ23aに設定される(レジスタ設定a)。引続き2番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換b)。得られた物理アドレスは、アドレスレジスタ23bに設定される(レジスタ設定b)。
When two
アドレスレジスタ23aに最初にアクセスするブロックに対応する物理アドレスが設定され、アドレスレジスタ23bに2番目にアクセスするブロックに対応する物理アドレスが設定されると、アドレスレジスタ23aに設定された物理アドレスに基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力a)。このアクセスが、nページ分の読出し処理であれば、読出すページを指示するアドレスデータがnページ分順次出力される。
When the physical address corresponding to the block to be accessed first is set in the
尚、2番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理(アドレス変換b)とその物理アドレスのアドレスレジスタ23bへの設定(レジスタ設定b)は、アドレスレジスタ23aに設定された物理アドレスに基づいたフラッシュメモリ11へのアクセス(アドレス出力a)を開始した後に実行してもよい。
Note that the address conversion processing (address conversion b) for obtaining the physical address corresponding to the second accessed block and the setting of the physical address in the
最初のブロックに対するアクセスが終了すると、アドレスレジスタ23bに設定されている物理アドレスがアドレスレジスタ23aに転送され、引続き新たにアドレスレジスタ23aに保持された物理アドレス(2番目にアクセスするブロックに対応する物理アドレス)に基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力b)。このアクセスが、mページ分の読出し処理であれば、読出すページを指示するアドレスデータがmページ分順次出力される。
When the access to the first block is completed, the physical address set in the
アドレスレジスタ23bに設定されていた物理アドレスがアドレスレジスタ23aに転送された後、フラッシュメモリ11に対するアクセスと並行して3番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換c)。得られた物理アドレスは、アドレスレジスタ23bに設定される(レジスタ設定c)。
After the physical address set in the
2番目のブロックに対するアクセスが終了すると、アドレスレジスタ23bに設定されている物理アドレスがアドレスレジスタ23aに転送され、引続き新たにアドレスレジスタ23aに保持された物理アドレス(3番目にアクセスするブロックに対応する物理アドレス)に基づいてフラッシュメモリ11に対するアクセスが開始される。
When the access to the second block is completed, the physical address set in the
上述のように2つのアドレスレジスタ23a及びアドレスレジスタ23bを備えている場合は、一方のアドレスレジスタ23bに、次にアクセスするブロックに対応する物理アドレスを予め保持させておくことができるので、アクセス先のブロックが切替わるときに、アドレスレジスタ間の転送処理を行うだけで引続きアクセスを続行することができる。
When the two
上記各アドレスレジスタ23a,23bをメインレジスタとサブレジスタとでそれぞれ構成してもよい。例えば、メインレジスタにアクセス先のブロックを指示する物理ブロックアドレスを設定し、サブレジスタにアクセスする先頭のページのページ番号とアクセスするページ数を設定する。 Each of the address registers 23a and 23b may be composed of a main register and a sub register. For example, a physical block address indicating an access destination block is set in the main register, and the page number of the first page accessing the sub register and the number of pages accessed are set.
図5は、アドレスレジスタ23a,23bをメインレジスタとサブレジスタとで構成した場合の読出し処理の説明図である。
読出し処理では、フラッシュメモリ11に対して、読出しコマンドが供給され、続いてアドレスレジスタ23aのメインレジスタに保持されている物理アドレスとサブレジスタに保持されているページ番号に基づいて生成されたアドレスデータ(アドレスa)を供給する。フラッシュメモリ11は、供給された読出しコマンド及びアドレスデータに応答してデータaを出力する。尚、サブレジスタに保持されているページ番号とページ数は、アドレスデータをフラッシュメモリ11に供給する毎に更新する。この更新では、ページ番号が+1され、ページ数が−1される。
FIG. 5 is an explanatory diagram of read processing when the address registers 23a and 23b are composed of a main register and a sub register.
In the read process, a read command is supplied to the
nページ分のデータを読出す場合は、サブレジスタにアクセスするページ数としてnを設定し、サブレジスタに保持されているページ数が0になるまで読出しコマンド及びアドレスデータが順次供給され、これに応答してフラッシュメモリ11からデータが出力される。先頭のページからnページ目のデータを読出すための読出しコマンド及びアドレスデータを供給した後、アドレスレジスタ23bに保持されている物理アドレス、ページ番号及びページ数がアドレスレジスタ23aに転送される。
When reading data for n pages, n is set as the number of pages to access the sub-register, and the read command and address data are sequentially supplied until the number of pages held in the sub-register becomes zero. In response, data is output from the
アドレスレジスタ23bに保持されていた物理アドレス、ページ番号及びページ数がアドレスレジスタ23aに転送された後、上記と同様に読出しコマンド及びアドレスデータが順次供給され、これに応答してフラッシュメモリ11からデータが出力される。
After the physical address, page number, and number of pages held in the
一方、アドレスレジスタ23bに保持されていた物理アドレス、ページ番号及びページ数がアドレスレジスタ23aに転送されると、制御ブロック23dは、空きフラグレジスタ23cに空き情報を設定する。マイクロプロセッサ22は、空きフラグレジスタ23cに空き情報が設定されたのを検知すると、アドレスレジスタ23bに新たな物理アドレス、ページ番号及びページ数を設定する。マイクロプロセッサ22は、アドレスレジスタ23bに新たな物理アドレス、ページ番号及びページ数を設定した後、空きフラグレジスタ23cに設定された空き情報を解除する。このようにして、フラッシュメモリ11に対するアクセスと並行して、アドレスレジスタ23bに新たな物理アドレス、ページ番号及びページ数が設定される。
On the other hand, when the physical address, page number, and number of pages held in the
以上のように、本実施形態のフラッシュメモリシステム10では、2つのアドレスレジスタ23a及びアドレスレジスタ23bを備えているので、一方のアドレスレジスタ23bに、次にアクセスするブロックに対応する物理アドレスを予め保持させておくことができるので、アクセス先のブロックが切替わるときに、アドレスレジスタ間の転送処理を行うだけで引続きアクセスを続行することができ、アクセスの効率を向上できる。
As described above, since the
10 フラッシュメモリシステム
11 フラッシュメモリ
20 メモリコントローラ
21 ホストインターフェースブロック
22 マイクロプロセッサ
23 フラッシュメモリインターフェースブロック
23a アドレスレジスタ
23b アドレスレジスタ
23c 空きフラグレジスタ
23d 制御ブロック
23e 転送部
24 ECCブロック
25 バッファ
26 ROM
63 SRAM
DESCRIPTION OF
63 SRAM
Claims (9)
前記ホストシステムより逐次与えられる論理アドレスから、前記アクセスの対象となる前記物理ブロックを順次検出する物理ブロック検出手段と、
前記メモリコントローラに与えるアドレスデータを保持するための第1のアドレスレジスタと、
前記メモリコントローラに与えるアドレスデータを保持するための第2のアドレスレジスタと、
前記物理ブロック検出手段で検出した物理ブロックに対応するアドレスデータを前記第1のアドレスレジスタに設定して保持させる第1のアドレス設定手段と、
前記第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次に前記アクセスの対象となる物理ブロックを前記物理ブロック検出手段の検出結果から求め、該求めた物理ブロックに対応するアドレスデータを前記第2のアドレスレジスタに設定して保持させる第2のアドレス設定手段と、
前記第1のアドレスレジスタに保持されているアドレスデータを前記フラッシュメモリに供給して前記アクセスを実行させるアドレスデータ供給手段と、
前記第1のアドレスレジスタに保持されいるアドレスデータが前記フラッシュメモリに供給されたことに応答し、その時点に前記第2のアドレスレジスタに保持されているアドレスデータを該第1のアドレスレジスタに設定して保持させるアドレスデータ変更手段と、
前記第2のアドレスレジスタに保持されているアドレスデータが前記第1のアドレスレジスタに保持されたことに応答し、その時点で該第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次にアクセスの対象となる物理ブロックを前記物理ブロック検出手段の検出結果から求め、該求めた物理ブロックに対応するアドレスデータを該第2のアドレスレジスタに設定して保持させる第3のアドレス設定手段と、
を備えることを特徴とするメモリコントローラ。 A memory controller that controls access from a host system to a flash memory having a plurality of physical blocks of multiple pages in a storage area,
Physical block detection means for sequentially detecting the physical blocks to be accessed from logical addresses sequentially given from the host system;
A first address register for holding address data to be given to the memory controller;
A second address register for holding address data to be given to the memory controller;
First address setting means for setting and holding address data corresponding to the physical block detected by the physical block detection means in the first address register;
The physical block to be accessed next to the physical block indicated by the address data held in the first address register is obtained from the detection result of the physical block detecting means, and the address data corresponding to the obtained physical block Second address setting means for setting and holding in the second address register;
Address data supply means for supplying the address data held in the first address register to the flash memory to execute the access;
In response to the address data held in the first address register being supplied to the flash memory, the address data held in the second address register at that time is set in the first address register. Address data changing means to be held,
In response to the address data held in the second address register being held in the first address register, the physical block indicated by the address data held in the first address register at that time Next, third address setting means for obtaining a physical block to be accessed from the detection result of the physical block detecting means, and setting and holding address data corresponding to the obtained physical block in the second address register When,
A memory controller comprising:
前記第2のアドレスレジスタは、前記アドレスデータの物理ブロックを特定する部分を保持するメインレジスタと前記アドレスデータの前記ページを指定する部分を保持するサブレジスタとを備え、
前記第1のアドレス設定手段は、前記第1のアドレスレジスタのサブレジスタの初期値を設定する第1の初期値設定手段を備え、
前記第2のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第2の初期値設定手段を備え、
前記第3のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第3の初期値設定手段を備え、
前記第1のアドレスレジスタのサブレジスタに保持された値を更新する更新手段が設けられていることを特徴する請求項1に記載のメモリコントローラ。 The first address register includes a main register that holds a part that specifies the physical block of the address data, and a sub-register that holds a part that specifies the page of the address data,
The second address register includes a main register that holds a part that specifies a physical block of the address data, and a sub-register that holds a part that specifies the page of the address data.
The first address setting means includes first initial value setting means for setting an initial value of a sub-register of the first address register,
The second address setting means includes second initial value setting means for setting an initial value of a sub-register of the second address register,
The third address setting means comprises third initial value setting means for setting an initial value of a sub-register of the second address register;
2. The memory controller according to claim 1, further comprising updating means for updating a value held in a sub-register of the first address register.
前記ホストシステムより逐次与えられる論理アドレスから、前記アクセスの対象となる前記物理ブロックを順次検出する物理ブロック検出処理と、
前記メモリコントローラに与えるアドレスデータを保持するための第1のアドレスレジスタに、前記物理ブロック検出処理で検出した物理ブロックに対応するアドレスデータを設定して保持させる第1のアドレス設定処理と、
前記第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次に前記アクセスの対象となる物理ブロックを前記物理ブロック検出処理の検出結果から求め、前記メモリコントローラに与えるアドレスデータを保持するための第2のアドレスレジスタに該求めた物理ブロックに対応するアドレスデータを設定して保持させる第2のアドレス設定処理と、
前記第1のアドレスレジスタに保持されているアドレスデータを前記フラッシュメモリに供給して前記アクセスを実行させるアドレスデータ供給処理と、
前記第1のアドレスレジスタに保持されているアドレスデータが前記フラッシュメモリに供給されたことに応答し、その時点に前記第2のアドレスレジスタに保持されているアドレスデータを該第1のアドレスレジスタに設定して保持させるアドレスデータ変更処理と、
前記第2のアドレスレジスタに保持されているアドレスデータが前記第1のアドレスレジスタに保持されたことに応答し、その時点で該第1のアドレスレジスタに保持されているアドレスデータが示す物理ブロックの次にアクセスの対象となる物理ブロックを前記物理ブロック検出処理の検出結果から求め、該求めた物理ブロックに対応するアドレスデータを該第2のアドレスレジスタに設定して保持させる第3のアドレス設定処理と、
を行うことを特徴とするフラッシュメモリの制御方法。 A flash memory control method for controlling access from a host system to a flash memory having a plurality of physical blocks of multiple pages in a storage area,
Physical block detection processing for sequentially detecting the physical blocks to be accessed from logical addresses sequentially given from the host system;
A first address setting process for setting and holding address data corresponding to a physical block detected by the physical block detection process in a first address register for holding address data to be given to the memory controller;
The physical block to be accessed is obtained from the detection result of the physical block detection process next to the physical block indicated by the address data held in the first address register, and holds the address data to be given to the memory controller. A second address setting process for setting and holding address data corresponding to the obtained physical block in a second address register for;
Address data supply processing for supplying the address data held in the first address register to the flash memory and executing the access;
Responding to the address data held in the first address register being supplied to the flash memory, the address data held in the second address register at that time is stored in the first address register. Address data change processing to be set and retained,
In response to the address data held in the second address register being held in the first address register, the physical block indicated by the address data held in the first address register at that time Next, a third address setting process for obtaining a physical block to be accessed from the detection result of the physical block detection process, and setting and holding address data corresponding to the obtained physical block in the second address register When,
And a flash memory control method.
前記第2のアドレスレジスタは、前記アドレスデータの物理ブロックを特定する部分を保持するメインレジスタと前記アドレスデータの前記ページを指定する部分を保持するサブレジスタとを備え、
前記第1のアドレス設定処理は、前記第1のアドレスレジスタのサブレジスタの初期値を設定する第1の初期値設定処理を含み、
前記第2のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第2の初期値設定処理を含み、
前記第3のアドレス設定手段は、前記第2のアドレスレジスタのサブレジスタの初期値を設定する第3の初期値設定処理を含み、
前記第1のアドレスレジスタのサブレジスタに保持された値を更新する更新処理を行うことを特徴する請求項6に記載のフラッシュメモリの制御方法。 The first address register includes a main register that holds a part that specifies the physical block of the address data, and a sub-register that holds a part that specifies the page of the address data,
The second address register includes a main register that holds a part that specifies a physical block of the address data, and a sub-register that holds a part that specifies the page of the address data.
The first address setting process includes a first initial value setting process for setting an initial value of a sub-register of the first address register,
The second address setting means includes a second initial value setting process for setting an initial value of a sub-register of the second address register;
The third address setting means includes a third initial value setting process for setting an initial value of a sub-register of the second address register;
The flash memory control method according to claim 6, wherein an update process for updating a value held in a sub-register of the first address register is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005131920A JP4304167B2 (en) | 2005-04-28 | 2005-04-28 | Memory controller, flash memory system, and flash memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005131920A JP4304167B2 (en) | 2005-04-28 | 2005-04-28 | Memory controller, flash memory system, and flash memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006309539A true JP2006309539A (en) | 2006-11-09 |
JP4304167B2 JP4304167B2 (en) | 2009-07-29 |
Family
ID=37476345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005131920A Active JP4304167B2 (en) | 2005-04-28 | 2005-04-28 | Memory controller, flash memory system, and flash memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4304167B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449673B2 (en) | 2013-01-03 | 2016-09-20 | Samsung Electronics Co., Ltd. | Memory device and memory system having the same |
-
2005
- 2005-04-28 JP JP2005131920A patent/JP4304167B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449673B2 (en) | 2013-01-03 | 2016-09-20 | Samsung Electronics Co., Ltd. | Memory device and memory system having the same |
Also Published As
Publication number | Publication date |
---|---|
JP4304167B2 (en) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100626393B1 (en) | Nonvolatile Memory Device and Its Multi-Page Copyback Method | |
JP4373943B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4544167B2 (en) | Memory controller and flash memory system | |
JP4177360B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4254932B2 (en) | Memory controller and flash memory system | |
JP2006155335A (en) | Memory controller, flash memory system, and control method thereof | |
JP4609406B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP4177292B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD | |
JP4304167B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2005292925A (en) | Memory controller, flash memory system, and control method for flash memory | |
JP2007094639A (en) | Memory controller and flash memory system | |
JP4177301B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4000124B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP2005316793A (en) | Flash memory system and control method of flash memory | |
JP2006221334A (en) | Memory controller, flash memory system, and control method for flash memory | |
JP4194518B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4213053B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP2006178909A (en) | Memory controller, flash memory system and method for controlling flash memory | |
JP4332108B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2007094571A (en) | Memory controller, flash memory system, and control method of flash memory | |
JP4561110B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP2005293177A (en) | Memory controller and flash memory system | |
JP2008077468A (en) | Memory controller, flash memory system with memory controller, and control method of flash memory | |
JP4366283B2 (en) | Memory controller and flash memory system including the memory controller | |
JP3934659B1 (en) | Memory controller and flash memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090327 |
|
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: 20090421 |
|
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: 20090427 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4304167 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140501 Year of fee payment: 5 |