JP5694212B2 - Management information generation method and memory system - Google Patents
Management information generation method and memory system Download PDFInfo
- Publication number
- JP5694212B2 JP5694212B2 JP2012037949A JP2012037949A JP5694212B2 JP 5694212 B2 JP5694212 B2 JP 5694212B2 JP 2012037949 A JP2012037949 A JP 2012037949A JP 2012037949 A JP2012037949 A JP 2012037949A JP 5694212 B2 JP5694212 B2 JP 5694212B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- physical
- block address
- physical block
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000010276 construction Methods 0.000 claims description 78
- 239000004065 semiconductor Substances 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 description 137
- 238000007726 management method Methods 0.000 description 58
- 239000000284 extract Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013523 data management Methods 0.000 description 2
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明の実施形態は、管理情報生成方法およびメモリシステムに関する。 Embodiments described herein relate generally to a management information generation method and a memory system.
近年、不揮発性半導体記憶装置であるNANDフラッシュメモリの大容量化が進行し、このNANDフラッシュメモリを搭載したSSD(Solid State Drive)が注目されている。 In recent years, the capacity of a NAND flash memory, which is a nonvolatile semiconductor memory device, has increased, and an SSD (Solid State Drive) equipped with this NAND flash memory has attracted attention.
従来、SSDでは、揮発性メモリ上の管理テーブルをそのままを不揮発性メモリであるNANDフラッシュメモリへ記憶させていた。しかしながら、管理テーブルのサイズが大きい場合、大きなメモリサイズの揮発性メモリが必要となる。また、管理テーブルのサイズが大きい場合、NANDフラッシュメモリから揮発性メモリへの読み込みに長時間を要する。このため、管理テーブルのサイズを縮小化することが望まれている。 Conventionally, an SSD stores a management table in a volatile memory as it is in a NAND flash memory that is a nonvolatile memory. However, when the size of the management table is large, a volatile memory having a large memory size is required. Further, when the size of the management table is large, it takes a long time to read from the NAND flash memory to the volatile memory. For this reason, it is desired to reduce the size of the management table.
本発明が解決しようとする課題は、小さいサイズの管理テーブルで不揮発性メモリ内のデータを管理できる管理情報生成方法およびメモリシステムを提供することである。 The problem to be solved by the present invention is to provide a management information generation method and a memory system capable of managing data in a nonvolatile memory with a management table having a small size.
実施形態によれば、コンピュータシステムの外部記憶装置として用いられる半導体記憶装置内に配置された不揮発性メモリ内における物理ブロックアドレスを、アドレス値の小さい値から順番に第1の所定数ずつ抽出して物理ブロックアドレスグループを生成する。さらに、前記物理ブロックアドレスグループの中にバッドブロックの物理ブロックアドレスが含まれている場合に、前記バッドブロックよりも後の最初のグッドブロックの物理ブロックアドレスを次の物理ブロックアドレスグループの先頭の物理ブロックアドレスに設定して、前記次の物理ブロックアドレスグループを生成する。そして、前記物理ブロックアドレスグループのそれぞれに対し、最初のバッドブロック以降の物理ブロックアドレスを全て第1のバッドブロックに設定する。さらに、前記物理ブロックアドレスグループの全体から前記グッドブロックの多い順番で前記物理ブロックアドレスグループを第2の所定数ずつ抽出して物理ブロックアドレスグループ群を生成する。生成した物理ブロックアドレスグループ群のそれぞれに対し、各物理ブロックアドレスグループ内におけるバッドブロックの連続数および先頭からのグッドブロックの連続数が、前記物理ブロックアドレスグループ群内の中で最もグッドブロックが少ない物理ブロックアドレスグループと同じ値となるよう前記各物理ブロックアドレスグループに第2のバッドブロックを設定する。ホスト装置から指定される論理アドレスに対応する前記不揮発性メモリ内の論理ブロックアドレスを用いて設定された複数の連続した論理ブロックアドレスである論理ブロックアドレスグループと、前記物理ブロックアドレスグループ群と、を対応付けしたアドレス管理テーブルを生成する。 According to the embodiment, a first predetermined number of physical block addresses in a non-volatile memory arranged in a semiconductor memory device used as an external storage device of a computer system are extracted in order from a small address value. Create a physical block address group. Furthermore, when the physical block address of the bad block is included in the physical block address group, the physical block address of the first good block after the bad block is changed to the first physical block address of the next physical block address group. The next physical block address group is generated by setting the block address. Then, for each of the physical block address groups, all the physical block addresses after the first bad block are set to the first bad block. Further, a second predetermined number of physical block address groups are extracted from the entire physical block address group in order of increasing number of good blocks to generate a physical block address group group. For each of the generated physical block address groups, the number of consecutive bad blocks in each physical block address group and the number of consecutive good blocks from the top are the least in the physical block address group. A second bad block is set in each physical block address group so as to have the same value as the physical block address group. A logical block address group that is a plurality of continuous logical block addresses set by using a logical block address in the nonvolatile memory corresponding to a logical address specified by a host device, and the physical block address group group. An associated address management table is generated.
以下に添付図面を参照して、実施形態に係る管理情報生成方法およびメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。 Hereinafter, a management information generation method and a memory system according to embodiments will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to these embodiments.
(第1の実施形態) (First embodiment)
図1は、第1の実施形態に係るSSDの構成例を示すブロック図である。半導体記憶装置(メモリシステム)としてのSSD(Solid State Drive)1は、コンピュータシステムに用いられる外部記憶装置であり、RAM2と、実際にデータを記憶するNANDメモリ4(不揮発性メモリ)と、コントローラ3と、を備えている。
FIG. 1 is a block diagram illustrating a configuration example of an SSD according to the first embodiment. An SSD (Solid State Drive) 1 as a semiconductor storage device (memory system) is an external storage device used in a computer system, and includes a
RAM2は、ホスト装置10、コントローラ3、NANDメモリ4に接続されている。また、NANDメモリ4は、コントローラ3、RAM2に接続されている。そして、コントローラ3は、ホスト装置10、RAM2、NANDメモリ4に接続されている。
The
RAM2は、例えばSRAM、DRAM、FERAMなどのメモリである。RAM2は、ホスト装置10から送られてくるデータを一時的に記憶するとともに、記憶したデータをNANDメモリ4に送る。また、RAM2は、ホスト装置10から読み出し要求のあったデータがNANDメモリ4から読み出されると、読み出したデータを一時的に記憶しておく。NANDメモリ4から読み出されてRAM2に一時的に記憶されたデータは、ホスト装置10に送られる。
The
RAM2は、ホストアドレス変換テーブル21、リード・ライトバッファ22、管理テーブルとしてのBA(Block Address)変換テーブル23Aおよび有効性管理テーブル24Aなどを記憶する。ホストアドレス変換テーブル21は、ホスト装置10から与えられる論理アドレスと、NANDメモリ4の論理ブロックアドレスとの間の対応関係を示す変換テーブルである。NANDメモリ4の論理ブロックは、SSD1内で設定される消去単位であり、1以上の物理ブロックに対応付けられている。
The
BA変換テーブル23Aは、NANDメモリ4の論理ブロックアドレスと、NANDメモリ4の物理ブロックアドレス(記憶位置)との間の対応関係を示す変換テーブル(アドレス管理テーブル)であり、アドレス管理(読み出し/書き込み制御)に用いられる。物理ブロックは、NANDメモリ4内において独立して消去可能な最小単位のことであり、複数の物理ページから構成される。なお、以下では論理ブロックアドレスを論理BAといい、物理ブロックアドレスを物理BAという。
The BA conversion table 23A is a conversion table (address management table) indicating a correspondence relationship between the logical block address of the
本実施形態のBA変換テーブル23Aでは、アドレス番号が連続している論理BAがグループ化されている。また、アドレス番号が連続している物理BAがグループ化されている。そして、グループ化された論理BAとグループ化された物理BAとが対応付けされている。有効性管理テーブル24Aは、論理BAの有効性や消去回数などを論理BA毎に示すテーブルである。 In the BA conversion table 23A of this embodiment, logical BAs having consecutive address numbers are grouped. In addition, physical BAs having consecutive address numbers are grouped. Then, the grouped logical BA and the grouped physical BA are associated with each other. The validity management table 24A is a table indicating the validity of the logical BA, the number of erasures, etc. for each logical BA.
ホストアドレス変換テーブル21、BA変換テーブル23A、有効性管理テーブル24Aは、SSD1の起動時等の所定タイミングで、NANDメモリ4からRAM2に展開される。
The host address conversion table 21, BA conversion table 23A, and validity management table 24A are expanded from the
また、NANDメモリ4内のデータ書き込みやデータ消去等に伴い、ホスト装置10から与えられる論理アドレスとNANDメモリ4の論理BAとの間の対応関係が更新された場合、RAM2に展開されたホストアドレス変換テーブル21が更新される。
When the correspondence between the logical address given from the
BA変換テーブル23A、有効性管理テーブル24Aは、例えば、SSD1を最初に使用する際などに構築される。また、論理BAの有効性や書き換え回数などが更新された場合、RAM2に展開された有効性管理テーブル24Aが更新される。
The BA conversion table 23A and the validity management table 24A are constructed, for example, when the
リード・ライトバッファ22は、NANDメモリ4とホスト装置10との間でデータ転送を行う際に用いられるバッファメモリである。NANDメモリ4から読み出されたデータは、リード・ライトバッファ22でバッファリングされてホスト装置10に送られる。また、ホスト装置10から書き込み要求のあったデータは、リード・ライトバッファ22でバッファリングされてNANDメモリ4に書き込まれる。
The read /
コントローラ3は、NANDメモリ4が記憶しているテーブル群(ホストアドレス変換テーブル21、BA変換テーブル23A、有効性管理テーブル24A)を、所定のタイミング(起動時など)でRAM2に取込むとともに、RAM2内のテーブル群を所定のタイミングでNANDメモリ4に記憶させる。また、コントローラ3は、ホスト装置10とNANDメモリ4との間でRAM2を介してデータ転送を行う。
The
コントローラ3は、BA変換テーブル23A、有効性管理テーブル24Aを用いて、RAM2、NANDメモリ4を制御することにより、NANDメモリ4に対してデータの読み出し/書き込み制御を行う。コントローラ3は、テーブル構築部(Generator)31、書き込み制御部32、読み出し制御部33、ホストアドレス変換部34、ブロックアドレス変換部35を有している。
The
テーブル構築部31は、論理BAや物理BAのアドレス番号の連続性を利用して、BA変換テーブル23A、有効性管理テーブル24Aを構築する。テーブル構築部31は、何れのタイミングでBA変換テーブル23A、有効性管理テーブル24Aを構築してもよい。また、テーブル構築部31は、必要に応じてBA変換テーブル23A、有効性管理テーブル24Aを再構築してもよい。
The
書き込み制御部32は、RAM2内のホストアドレス変換テーブル21、BA変換テーブル23A、有効性管理テーブル24Aを用いて、NANDメモリ4内へのデータの書き込みを行う。
The write control unit 32 writes data into the
読み出し制御部33は、RAM2内のホストアドレス変換テーブル21、BA変換テーブル23A、有効性管理テーブル24Aを用いて、NANDメモリ4からのデータの読み出しを行なう。
The
また、書き込み制御部32、読み出し制御部33は、データ転送の際に、テーブル群をRAM2およびNANDメモリ4で更新しながらテーブル群に基づいてRAM2およびNANDメモリ4でのデータ管理を行なう。
The write control unit 32 and the
ホストアドレス変換部34は、ホストアドレス変換テーブル21を用いて論理アドレスを論理BAに変換する。また、ホストアドレス変換部34は、ホストアドレス変換テーブル21を用いて論理アドレスを論理BAに変換する。
The host
ブロックアドレス変換部35は、BA変換テーブル23A、有効性管理テーブル24Aを用いて、論理BAをNANDメモリ4内の記憶位置である物理BAに変換する。また、ブロックアドレス変換部35は、BA変換テーブル23A、有効性管理テーブル24Aを用いて、物理BAを論理BAに変換する。
The block
例えば、NANDメモリ4内にデータを書き込む場合、書き込み制御部32は、有効性管理テーブル24Aを参照して、利用されていない有効な論理ブロック(書き込み可能な論理ブロック)を選択する。そして、書き込み制御部32は、選択した論理ブロックに論理アドレスで指定されたデータを書き込む。さらに、書き込み制御部32は、選択した論理ブロックの論理BAと論理アドレスとの対応関係を、ホストアドレス変換テーブル21に登録する。
For example, when data is written in the
また、NANDメモリ4内からデータを読み出す場合、読み出し制御部33は、ホストアドレス変換部34、ブロックアドレス変換部35にデータ変換指示を送る。これにより、ホストアドレス変換部34は、ホストアドレス変換テーブル21を用いて論理アドレスを論理BAに変換する。
When reading data from the
SSD1は、図示しないインタフェースを介して、ホスト装置10からの読み書き指示を受ける。ホスト装置10とSSD1との間のインタフェースは、例えば、SATA(Serial ATA)規格に準拠するが、これに限定されるものではない。
The
NANDメモリ4は、NAND型フラッシュメモリなどの不揮発性半導体メモリである。NANDメモリ4は、複数の不揮発性メモリセルが行列上に配置されたメモリセルアレイ及び当該メモリセルアレイに対する書き込み、読み出し、消去動作を制御するための周辺回路を含んでいる。メモリセルアレイは、データ消去の最小単位であるブロックを複数配列して構成されている。各々のブロックは、データ書き込み及び読み出しの最小単位であるページを複数配列して構成されている。各々のメモリセルは、1ビットを記憶するように構成されていてもよいし、2ビット以上を記憶するように構成されていてもよい。NANDメモリ4では、ブロック内の同一ページに対する再書き込みは、一度当該ページを含むブロック全体を消去した後でなければ許可されない。
The
ホスト装置10からSSD1に書き込まれたデータは、所定の管理単位でNANDメモリ4に記憶される。論理BA空間上の連続したアドレスを論物変換(論理BAと物理BAとの変換)の単位として、当該連続したアドレスがまとめてNANDメモリ4上の物理的な領域に割り当てられる。管理単位内においては、論理BAが連続する複数のセクタが順に配置されている。管理単位の大きさは任意であるが、例えば、NANDメモリ4のページサイズやブロックサイズ、あるいはホスト装置10が採用するファイルシステムのクラスタサイズ等に一致させることができる。なお、クラスタサイズは、セクタサイズ以上でブロックサイズ以下である。
Data written from the
ホスト装置10から書き込まれた更新データが管理単位にアラインされていない場合には、NANDメモリ4上の管理単位の大きさの領域に既に記憶されているデータと、管理単位の大きさに満たない新たに書き込まれた更新データと、がRAM2上でマージされ、管理単位のデータが作成されたうえでNANDメモリ4の空き領域に書き込まれる(リードモディファイライト)。ホスト装置10から書き込まれたデータがNANDメモリ4上のどの論理BAに書き込まれるかは動的に変化するものであり、その対応関係がホストアドレス変換テーブル21によって管理される。論理アドレスとしては、例えば、論理容量に対してセクタ単位で0から通し番号が付されたLBA(Logical Block Address)が採用される。
When the update data written from the
ここで、管理単位でアラインされたLBAとNANDメモリ4上において管理単位に割り振られているデータ領域との対応関係について説明する。ホスト装置10が書き込み要求で指定する論理アドレスはセクタ単位であるが、SSD1内部では論理アドレスは管理単位の大きさ(例えば、クラスタサイズ)でアラインされる。そして、管理単位内の連続するLBAに対応するセクタが、NANDメモリ4の管理単位の領域にまとめて記憶される。例えば、管理単位の大きさがクラスタサイズに等しい場合、クラスタサイズでアラインされたLBAに対応する複数のセクタが、NANDメモリ4のクラスタサイズ分の領域に書き込まれる。
Here, a correspondence relationship between the LBA aligned in the management unit and the data area allocated to the management unit on the
図2は、SSD内で行われるアドレス変換を説明するための図である。論理アドレスで指定されるデータが何れの論理BAに書き込まれているかを示すテーブルがホストアドレス変換テーブル21である。また、論理BAで示されるデータが、NANDメモリ4内の何れの物理BAに書き込まれているかを示すテーブルがBA変換テーブル23Aである。
FIG. 2 is a diagram for explaining address conversion performed in the SSD. A table indicating in which logical BA the data designated by the logical address is written is the host address conversion table 21. A table indicating which physical BA in the
例えば、NANDメモリ4内にデータを書き込む場合、ホスト装置10から論理アドレス41が指定される。書き込み制御部32は、有効性管理テーブル24Aを参照して、利用されていない有効な論理ブロックを選択する。そして、書き込み制御部32は、選択した論理ブロックに論理アドレスで指定されたデータを書き込む。さらに、書き込み制御部32は、選択した論理ブロックの論理BAと論理アドレスとの対応関係を、ホストアドレス変換テーブル21に登録する。さらに、ブロックアドレス変換部35は、BA変換テーブル23Aを用いて、論理BA42を物理BA43に変換する。そして、書き込み制御部32は、物理BA43を含むライトコマンドをNANDメモリ4に送る。これにより、論理アドレス41に対応する物理BA43にデータが書き込まれる。
For example, when writing data into the
同様に、NANDメモリ4内からデータを読み出す場合、ホスト装置10から論理アドレス41が指定される。ホストアドレス変換部34は、ホストアドレス変換テーブル21を用いて論理アドレス41を論理BA42に変換する。さらに、ブロックアドレス変換部35は、BA変換テーブル23Aを用いて、論理BA42を物理BA43に変換する。そして、読み出し制御部33は、物理BA43を含むリードコマンドをNANDメモリ4に送る。これにより、論理アドレス41に対応する物理BA43からデータが読み出される。
Similarly, when data is read from the
このように、SSD1を有したコンピュータシステムでは、NANDメモリ4内のデータにアクセスする際に、BA変換テーブル23Aを用いて、論理BAが物理BAに変換される。
Thus, in the computer system having the
つぎに、本実施形態の特徴の1つであるBA変換テーブル23Aについて説明する。図3は、第1の実施形態に係るBA変換テーブルと有効性管理テーブルの構成例を示す図である。図3の(a)は、BA変換テーブル23Aを示し、図3の(b)は、有効性管理テーブル24Aを示している。 Next, the BA conversion table 23A, which is one of the features of this embodiment, will be described. FIG. 3 is a diagram illustrating a configuration example of the BA conversion table and the validity management table according to the first embodiment. 3A shows the BA conversion table 23A, and FIG. 3B shows the validity management table 24A.
BA変換テーブル23Aでは、アドレスが連続している論理BAと、アドレスが連続している物理BAと、が対応付けされている。具体的には、BA変換テーブル23Aでは、連続した16ブロック分の論理BAと、連続した16ブロック分の物理BAと、が対応付けされている。 In the BA conversion table 23A, logical BAs having consecutive addresses are associated with physical BAs having consecutive addresses. Specifically, in the BA conversion table 23A, a continuous 16-block logical BA and a continuous 16-block physical BA are associated with each other.
例えば、テーブル構築部31は、16ブロック分の論理BA「00」〜「15」を1つの論理BAグループに設定する。換言すると、複数の論理BAが、BA変換テーブル23A内の1つのエントリに設定される。図3のBA変換テーブル23Aでは、論理BA「00」〜「15」のグループを「論理BA 00/15」で示している。
For example, the
また、テーブル構築部31は、論理BA「00」〜「15」に対応する64Slot数分の物理BAの組(物理BAグループ群)を論理BA「00」〜「15」に対応付けする。物理BAグループ群内の各物理BAグループは、16ブロック分の物理BAである。したがって、テーブル構築部31は、例えば16ブロック分の物理BAを1つの物理BAグループに設定する。
In addition, the
テーブル構築部31は、例えば、16ブロック分の物理BA「x+0」〜「x+15」を1つの物理BAグループに設定し、16ブロック分の物理BA「v+0」〜「v+15」を1つの物理BAグループに設定する。
For example, the
そして、テーブル構築部31は、論理BA「00」〜「15」のSlot「00」に対応する物理BAグループに物理BA「x+0」〜「x+15」を割り当てる。また、テーブル構築部31は、論理BA「00」〜「15」のSlot「63」に対応する物理BAグループに物理BA「v+0」〜「v+15」を割り当てる。
Then, the
BA変換テーブル23Aには、例えば、物理BA「x+0」〜「x+15」や物理BA「v+0」〜「v+15」の先頭アドレスが登録される。図3の(a)では、物理BA「x+0」〜「x+15」の物理BAグループを物理BA「x」で示している。また、図3の(a)では物理BA「v+0」〜「v+15」の物理BAグループを物理BA「v」で示している。 For example, the head addresses of physical BAs “x + 0” to “x + 15” and physical BAs “v + 0” to “v + 15” are registered in the BA conversion table 23A. In FIG. 3A, physical BA groups of physical BAs “x + 0” to “x + 15” are indicated by physical BA “x”. In FIG. 3A, physical BA groups of physical BAs “v + 0” to “v + 15” are indicated by physical BA “v”.
同様に、テーブル構築部31は、16ブロック分の論理BA「N」〜「N+15」(Nは16の倍数)を1つの論理BAグループに設定する。そして、テーブル構築部31は、BA変換テーブル23A内の各Slotに、16ブロック分の物理BAを1つの物理BAグループとして登録する。このように、テーブル構築部31は、各Slotの物理BAグループと、論理BAグループと、を対応付けしてBA変換テーブル23Aに登録する。
Similarly, the
なお、図3のBA変換テーブル23Aでは、論理BA「00」〜「15」やSlot「00」などのインデックスを示したが、インデックスは省略してもよい。この場合、各論理BAグループが16ブロック分の論理BAを含み、かつ各論理BAグループのSlot数が64であることを前提に、BA変換テーブル23A内から物理BAが読み出される。 In the BA conversion table 23A of FIG. 3, indexes such as logical BAs “00” to “15” and Slot “00” are shown, but the indexes may be omitted. In this case, the physical BA is read from the BA conversion table 23A on the assumption that each logical BA group includes 16 blocks of logical BA and the number of slots in each logical BA group is 64.
物理BAの中には、誤りが多いなど記憶領域として使用できないバッドブロックが含まれている。例えば、消去エラーやプログラムエラー(書き込み失敗)によって、物理ブロックがバッドブロックとなる場合がある。 The physical BA includes bad blocks that cannot be used as a storage area due to many errors. For example, a physical block may become a bad block due to an erase error or a program error (write failure).
図3の(b)に示す有効性管理テーブル24Aは、各論理ブロックの有効性を管理するテーブルである。有効性管理テーブル24Aでは、各論理ブロックの論理BAと、有効性を示す情報(有効性情報)と、が対応付けされている。有効性を示す情報が「有効」である論理ブロックは、正常な論理ブロック(グッドブロック)であり、有効性を示す情報が「無効」である論理ブロックは、バッドブロックである。 The validity management table 24A shown in FIG. 3B is a table for managing the validity of each logical block. In the validity management table 24A, the logical BA of each logical block is associated with information indicating validity (validity information). A logical block whose information indicating validity is “valid” is a normal logical block (good block), and a logical block whose information indicating validity is “invalid” is a bad block.
例えば、物理BA「00」〜「15」のSlot「63」に対応する物理BA「v+1」がバッドブロックである場合、物理BA「v+1」に対応する論理BA「01」が有効性管理テーブル24A内に「無効」として登録される。なお、有効性管理テーブル24Aには、各論理BAグループの消去回数などを登録しておいてもよい。 For example, when the physical BA “v + 1” corresponding to the slot “63” of the physical BA “00” to “15” is a bad block, the logical BA “01” corresponding to the physical BA “v + 1” is the validity management table 24A. Registered as “invalid”. The validity management table 24A may register the number of erasures of each logical BA group.
ここで、NANDメモリ4内からのデータ読み出し処理手順について説明する。図4は、NANDメモリ内からのデータ読み出し処理手順を示すフローチャートである。ホスト装置10は、リードコマンドと、データ読み出し対象の論理アドレス41を、SSD1のコントローラ3に送る。
Here, a procedure for reading data from the
コントローラ3のホストアドレス変換部34は、ホストアドレス変換テーブル21を用いて論理アドレス41を論理BA42に変換する(ステップS10)。このとき、ホストアドレス変換部34は、論理アドレス41を、論理BA42と論理ブロック内のオフセットと、に変換する。オフセットの値は、Slotの位置を算出される際に用いられる値であり、オフセットの単位は、SSD1内のデータ管理単位である。ホストアドレス変換部34は、オフセットの値を用いてSlot位置C(Cは、00〜63の何れか)を算出しておく。
The host
さらに、ブロックアドレス変換部35は、BA変換テーブル23Aを用いて、論理BA42を物理BA43に変換する。具体的には、ブロックアドレス変換部35は、論理BAを16で割った値「A」と余り「B」を算出する(ステップS20)。そして、ブロックアドレス変換部35は、BA変換テーブル23Aの「A+1」段目を物理BAの読み出し対象位置に設定する。ブロックアドレス変換部35は、BA変換テーブル23Aから「A+1」段目でSlot位置Cの物理BAを読み出す(ステップS30)。ブロックアドレス変換部35は、読み出した物理BAに「B」を足した値を、読み出し対象の物理BA43として算出する(ステップS40)。
Further, the block
ブロックアドレス変換部35によって算出された物理BA43が、ホスト装置10から送られてきた論理アドレス41に対応する物理BAとなる。読み出し制御部33は、物理BA43を含むリードコマンドをNANDメモリ4に送る。これにより、論理アドレス41に対応する物理BA43のデータが読み出される。
The
なお、本実施の形態では、論理BAグループや物理BAグループを16個のブロックアドレス群で構成する場合について説明したが、論理BAグループや物理BAグループは、2個以上のブロックアドレス群で構成すればよい。 In this embodiment, the logical BA group and the physical BA group are configured by 16 block address groups. However, the logical BA group and the physical BA group may be configured by two or more block address groups. That's fine.
また、本実施の形態では、論理BAグループに64個のSlotを割り当てる場合について説明したが、論理BAグループに割り当てるSlotは、64個未満であってもよいし、65個以上であってもよい。 Further, in this embodiment, the case where 64 slots are allocated to the logical BA group has been described, but the number of slots allocated to the logical BA group may be less than 64, or may be 65 or more. .
このように第1の実施形態によれば、BA変換テーブル23A内で、アドレスが連続している論理BAと、アドレスが連続している物理BAと、が対応付けされているので、BA変換テーブル23Aを効率良く圧縮できる。したがって、SSD1に必要なRAM2のメモリ容量を減らすことが可能となる。
As described above, according to the first embodiment, in the BA conversion table 23A, the logical BA having consecutive addresses and the physical BA having consecutive addresses are associated with each other. 23A can be efficiently compressed. Therefore, the memory capacity of the
また、NANDメモリ4やRAM2内に記憶させるBA変換テーブル23Aのサイズが小さくなるので、SSD1を長寿命化することが可能となる。また、NANDメモリ4に記憶させるBA変換テーブル23Aのサイズが小さくなるので、BA変換テーブル23Aの、NANDメモリ4への書き込み、読み出しに必要な時間を短縮することが可能となる。
In addition, since the size of the BA conversion table 23A stored in the
また、BA変換テーブル23Aのサイズが小さくなるので、SSD1の起動時間やスタンバイ状態への移行時間を短縮することが可能となる。また、論理BAから物理BAへのブロックアドレス変換コストを抑制することが可能となる。また、論理ブロックの数を増やすことなく、BA変換テーブル23Aを構築できる。
In addition, since the size of the BA conversion table 23A is reduced, it is possible to shorten the startup time of the
また、BA変換テーブル23Aを用いることにより、論理BAと物理BAとの間のアドレス変換が速くなる(圧縮していない場合と比べてアドレス変換が遅くならない)。 Further, by using the BA conversion table 23A, the address conversion between the logical BA and the physical BA is accelerated (the address conversion is not delayed as compared with the case where the compression is not performed).
(第2の実施形態)
つぎに、図5〜図9を用いてこの発明の第2の実施形態について説明する。第2の実施形態では、グッドブロック数が略同数の物理BAグループを集めて1つの論理BAグループに対応付ける。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, physical BA groups having substantially the same number of good blocks are collected and associated with one logical BA group.
図5は、第2の実施形態に係るBA変換テーブルの構築処理手順を示すフローチャートである。また、図6は、第2の実施形態に係るBA変換テーブルの構築処理(前段処理)を説明するための図であり、図7は、第2の実施形態に係るBA変換テーブルの構築処理(後段処理)を説明するための図である。 FIG. 5 is a flowchart showing a procedure for constructing a BA conversion table according to the second embodiment. FIG. 6 is a diagram for explaining a BA conversion table construction process (previous process) according to the second embodiment. FIG. 7 is a diagram illustrating a BA conversion table construction process according to the second embodiment. It is a figure for demonstrating latter process.
図6に示すように、テーブル構築部31は、NANDメモリ4にアクセスし、NANDメモリ4の物理ブロックの状態(有効/無効)を示す物理ブロック状態51を、物理BA毎に読み出す(ステップS110)。を読み出す。物理ブロック状態51では、物理BAの順番で各物理ブロックの有効/無効が示されている。図6では、物理ブロック状態51において、物理BA「02」,「24」,「31」の各物理ブロックがバッドブロック(無効)である場合を示している。
As illustrated in FIG. 6, the
テーブル構築部31は、物理ブロック状態51に基づいて、物理BAグループを生成し、物理BAグループを整理する(ステップS120)。例えば、テーブル構築部31は、物理BAグループとして、物理ブロック状態51から16個ずつの物理BAをアドレス値の小さい順番で抽出する。このとき、テーブル構築部31は、16個の物理BAで構成される物理BAグループにバッドブロックの物理BAが含まれていると、バッドブロックの次のグッドブロックの物理BAを次の物理BAグループの先頭の物理BAとする。なお、以下では、バッドブロックの物理BAをバッド物理BAといい、グッドブロックの物理BAをグッド物理BAという。
Based on the
例えば、図6に示す物理ブロック状態51から物理BAグループを生成する場合、テーブル構築部31は、物理BA「00」〜「15」を、1つの物理BAグループとして抽出する。具体的には、テーブル構築部31は、物理BA「00」〜「15」を、第1の物理BAグループG1として抽出する(図6のs1)。
For example, when generating a physical BA group from the
ここでは、物理BA「02」がバッド物理BAなので、テーブル構築部31は、次に抽出する物理BAグループの先頭の物理BAを、物理BA「02」の次のグッド物理BAである物理BA「03」とする。そして、テーブル構築部31は、物理BA「03」からスタートして連続した合計16個の物理BAを1つの物理BAグループとして抽出する。具体的には、テーブル構築部31は、物理BA「03」〜「19」を、1つの物理BAグループG2として抽出する(図6のs2)。
Here, since the physical BA “02” is a bad physical BA, the
なお、テーブル構築部31は、バッド物理BAが複数連続する場合は、連続するバッド物理BAが途切れた後の次のグッド物理BAを、次の物理BAグループの先頭の物理BAとする。
When a plurality of bad physical BAs are consecutive, the
テーブル構築部31は、第2の物理BAグループG2として、物理BA「03」〜「19」を抽出した後、3つ目の物理BAグループを抽出する。ここでは、物理BA「03」〜「19」にバッド物理BAが含まれていないので、テーブル構築部31は、次の物理BAグループの先頭の物理BAを物理BA「20」とする。そして、テーブル構築部31は、物理BA「20」からスタートして連続した合計16個の物理BAを1つの物理BAグループとして抽出する。具体的には、テーブル構築部31は、物理BA「20」〜「35」を、第3の物理BAグループG3として抽出する(図6のs3)。
The
ここでは、物理BA「24」がバッド物理BAなので、テーブル構築部31は、次の物理BAグループの先頭の物理BAを物理BA「25」とする。そして、テーブル構築部31は、物理BA「25」からスタートして連続した合計16個の物理BAを1つの物理BAグループとして抽出する。具体的には、テーブル構築部31は、物理BA「25」〜「40」を、第4の物理BAグループG4として抽出する(図6のs4)。
Here, since the physical BA “24” is a bad physical BA, the
ここでは、物理BA「31」がバッド物理BAなので、テーブル構築部31は、次の物理BAグループの先頭の物理BAを物理BA「32」とする。そして、テーブル構築部31は、物理BA「32」からスタートして連続した合計16個の物理BAを第5の物理BAグループG5として抽出する(図6のs5)。
Here, since the physical BA “31” is a bad physical BA, the
テーブル構築部31は、全ての物理BAに対して物理BAグループへのグループ分けを行う。すなわち、テーブル構築部31は、以下の処理を繰り返す。
(1)テーブル構築部31は、合計16個の連続した物理BAを1つの物理BAグループとして抽出する。
(2)抽出した物理BAグループにバッド物理BAが含まれていれば、テーブル構築部31は、バッド物理BAの後の最初のグッド物理BAを次の物理BAグループの先頭の物理BAに設定する。
The
(1) The
(2) If a bad physical BA is included in the extracted physical BA group, the
さらに、テーブル構築部31は、各物理BAグループ内において最初のバッド物理BA以降の物理BAを全てバッド物理BAに設定する。例えば、物理BA「00」〜「15」からなる物理BAグループG1では、物理BA「02」がバッド物理BAなので、テーブル構築部31は、物理BAグループG1内の物理BA「02」〜「15」を全てバッド物理BAに設定する。
Furthermore, the
これにより、物理BA「00」〜「15」からなる物理BAグループG1のバッド物理BA数は、14個に設定される。また、物理BAグループG2のバッド物理BA数は、0個に設定され、物理BAグループG3のバッド物理BA数は、12個に設定される。 As a result, the number of bad physical BAs of the physical BA group G1 including the physical BAs “00” to “15” is set to 14. The number of bad physical BAs in the physical BA group G2 is set to 0, and the number of bad physical BAs in the physical BA group G3 is set to 12.
そして、テーブル構築部31は、物理BAグループを整理する。具体的には、テーブル構築部31は、各物理BAグループを、バッド物理BA数でグループ分けすることにより、バッドブロック数情報52を生成する(図6のs11〜s14)。バッドブロック数情報52は、各物理BAグループを、バッド物理BA数でグループ分けした情報である。バッドブロック数情報52では、バッド物理BA数と、物理BAグループ(グループリスト)と、が対応付けされている。
Then, the
例えば、バッドブロック数情報52では、バッド物理BA数が0個の物理BAグループに、物理BA「03」〜「19」からなる物理BAグループG2が登録される。なお、バッドブロック数情報52へは、物理BAグループG2を示す情報として、物理BAグループG2内の先頭の物理BAである物理BA「03」を登録しておけばよい。
For example, in the bad
同様に、バッドブロック数情報52では、バッド物理BA数が14個の物理BAグループに、物理BAグループG1が登録される。バッドブロック数情報52へは、物理BAグループG1を示す情報として、物理BAグループG1内の先頭の物理BAである物理BA「00」が登録される。
Similarly, in the bad
この後、テーブル構築部31は、バッドブロック数情報52を用いて、後述するBA変換テーブル23Bを構築する。BA変換テーブル23Bは、BA変換テーブル23Aと同様の構成を有したテーブルである。すなわち、BA変換テーブル23Bでは、64Slot数分の物理BAグループが、1つの論理BAグループに対応付けされている。
Thereafter, the
BA変換テーブル23Bを構築するため、テーブル構築部31は、バッドブロック数情報52から、バッド物理BA数の少ない物理BAグループを、64Slot数分ずつ順番に抽出する(図7のs21)。換言すると、物理BAグループの全体からグッドブロックの多い順番で物理BAグループを64Slot数分ずつ抽出する。図7では、バッド物理BA数が4個〜3個である物理BAグループが64Slot数分だけ抽出された場合を示している。以下では、s21の処理によって抽出された64Slot数分の物理BAグループを、物理BAグループ群Hxという。
In order to construct the BA conversion table 23B, the
テーブル構築部31は、物理BA「W」〜「W+15」を1つの物理BAグループとして抽出し、物理BA「X」〜「X+15」を1つの物理BAグループとして抽出する。同様に、テーブル構築部31は、物理BA「Y」〜「Y+15」を1つの物理BAグループとして抽出し、物理BA「Z」〜「Z+15」を1つの物理BAグループとして抽出する。このように、テーブル構築部31は、16個の物理BAを1つの物理BAグループとして、64グループ(64Slot数)分の物理BAグループ群Hxを抽出する。
The
そして、テーブル構築部31は、抽出した64Slot数分の物理BA毎に論理BAグループを組んでいく。具体的には、テーブル構築部31は、抽出した64Slot数分の物理BAグループを用いて論理BAグループ(16個の論理BAからなるグループ)を組むことができるか否かを判断する(ステップS130)。テーブル構築部31は、64Slot数分の論理BAを抽出できた場合に、64Slot数分の物理BAグループを用いて論理BAグループを組むことができると判断する。
Then, the
論理BAグループを組むことができる場合(ステップS130、Yes)、テーブル構築部31は、論理BAグループを組んで、BA変換テーブル23Bに登録する(ステップS140)。BA変換テーブル23Bに登録された物理BAグループは、バッドブロック数情報52から削除される。
When a logical BA group can be formed (step S130, Yes), the
テーブル構築部31は、論理BAグループをBA変換テーブル23Bに登録する際に、論理BAグループ内の各論理BAに有効性を設定する。このとき、テーブル構築部31は、物理BAグループ群Hxの中から、バッド物理BA数が最も多いSlotの物理BAグループを選択する。テーブル構築部31は、バッド物理BA数の少ない順番で物理BAグループを抽出しているので、最後のSlotであるSlot63の物理BAグループ(物理BA「Z」の物理BAグループ)を選択する。そして、選択した物理BAグループのバッド物理BAと同じ段に設定されている物理BAを全てバッド物理BAに設定する。
The
換言すると、テーブル構築部31は、物理BAグループ群内において、各物理BAグループ内におけるバッドブロックの連続数および先頭からのグッドブロックの連続数が、物理BAグループ群の中で最もグッドブロックが少ない物理BAグループと同じ値となるよう各物理BAグループにバッドブロックを設定する。
In other words, in the physical BA group group, the
例えば、Slot63の物理BAグループにおいて、第M(Mは自然数)段目以降がバッド物理BAである場合、他のSlotの物理BAグループも、全て第M段目以降をバッド物理BAに設定する。図7の場合、物理BA「Z」の物理BAグループにおいて、c3段目までがグッド物理BAであり、c4段目以降はバッド物理BAである。このため、テーブル構築部31は、Slot00〜63の全ての物理BAグループに対して、c3段目までをグッド物理BAに設定し、c4段目以降をバッド物理BAに設定した論理BAグループ群Hx2(図示せず)を生成する。
For example, in the physical BA group of
図7のs21で抽出された物理BAグループ群Hxの場合、物理BA「W+4」や物理BA「X+4」は、c4段目の物理BAである。このため、テーブル構築部31は、物理BA「W+4」や物理BA「X+4」をバッド物理BAに設定した論理BAグループ群Hx2を生成する。
In the case of the physical BA group group Hx extracted in s21 of FIG. 7, the physical BA “W + 4” and the physical BA “X + 4” are c4th-stage physical BAs. Therefore, the
そして、c0段目のSlot00〜63の物理BAが1つの論理BAに設定され、c1段目のSlot00〜63の物理BAが1つの論理BAに設定される。同様に、c3段目のSlot00〜63の物理BA、c4段目のSlot00〜63の物理BA、・・・、c15段目のSlot00〜63の物理BAが、それぞれ1つの論理BAに設定される。そして、テーブル構築部31は、各論理BAに有効性を設定する。
Then, the physical BAs of
図8は、第2の実施形態に係るBA変換テーブルと有効性管理テーブルの構成例を示す図である。図8の(a)は、BA変換テーブル23Bを示し、図8の(b)は、有効性管理テーブル24Bを示している。BA変換テーブル23Bは、BA変換テーブル23Aと同様の構成を有したテーブルであり、有効性管理テーブル24Bは、有効性管理テーブル24Aと同様の構成を有したテーブルである。 FIG. 8 is a diagram illustrating a configuration example of the BA conversion table and the validity management table according to the second embodiment. FIG. 8A shows the BA conversion table 23B, and FIG. 8B shows the validity management table 24B. The BA conversion table 23B is a table having the same configuration as the BA conversion table 23A, and the validity management table 24B is a table having the same configuration as the validity management table 24A.
BA変換テーブル23Bへは、論理BAグループに対応する物理BAグループ郡Hx2が登録される。物理BAグループ群Hx2の場合、c0段目の物理BA「W」〜「Z」が論理BA「P」に設定され、c1段目の物理BA「W+1」〜「Z+1」が論理BA「P+1」に設定される。同様に、c3段目の物理BA「W+3」〜「Z+3」、c4段目の物理BA「W+4」〜「Z+4」、・・・、c15段目の物理BA「W+15」〜「Z+15」が、それぞれ論理BA「P+3」,「P+4」〜「P+15」に設定される。 A physical BA group group Hx2 corresponding to the logical BA group is registered in the BA conversion table 23B. In the case of the physical BA group group Hx2, the physical BAs “W” to “Z” in the c0 stage are set to the logical BA “P”, and the physical BAs “W + 1” to “Z + 1” in the c1 stage are the logical BA “P + 1”. Set to Similarly, c3 stage physical BAs “W + 3” to “Z + 3”, c4 stage physical BAs “W + 4” to “Z + 4”,..., C15 stage physical BAs “W + 15” to “Z + 15” The logical BAs are set to “P + 3”, “P + 4” to “P + 15”, respectively.
そして、16ブロック分の論理BA「P」〜「P+15」が、1つの論理BAグループに設定され、16ブロック分×64Slot数分の物理BAグループ群Hx2に対応付けされて、BA変換テーブル23Bに登録される。 Then, 16 blocks of logical BA “P” to “P + 15” are set in one logical BA group, and are associated with the physical BA group group Hx2 of 16 blocks × 64 slots, and are stored in the BA conversion table 23B. be registered.
図8(a)のBA変換テーブル23Bでは、論理BA「P」〜「P+15」の論理BAグループを「論理BA P/(P+15)」で示している。また、各Slotの物理BAグループには、物理BAグループの先頭の物理BAが登録される。これにより、BA変換テーブル23Bには、物理BA「W」〜「Z」が、「論理BA P/(P+15)」に対応付けされて登録される(図7のs22)。 In the BA conversion table 23B of FIG. 8A, logical BA groups of logical BAs “P” to “P + 15” are indicated by “logical BA P / (P + 15)”. Also, the first physical BA of the physical BA group is registered in the physical BA group of each slot. Accordingly, the physical BAs “W” to “Z” are registered in the BA conversion table 23B in association with “logical BA P / (P + 15)” (s22 in FIG. 7).
また、テーブル構築部31は、論理BAグループ内の各論理BAの有効性を有効性管理テーブル24Bに登録する(ステップS150)。ここでは、c0〜c3段目までの論理BA「P」〜「P+3」がグッド物理BAに設定されているので、論理BA「P」〜「P+3」には、「有効」が設定される。また、c4〜c15段目がバッド物理BAに設定されているので、c4〜c15段目までの論理BA「P+4」〜「P+15」には、「無効」が設定される。
The
この後、無効な論理BAのグッドブロックを物理BAグループに変更して、整理する(ステップS160)。具体的には、テーブル構築部31は、物理BAグループ群Hxのうち、物理BAグループ群Hx2を生成する際にグッド物理BAからバッド物理BAに変換された物理BAを有した物理BAグループを抽出する。換言すると、テーブル構築部31は、物理BAグループ群Hxのうち、BA変換テーブル23Bに登録されなかったグッド物理BAを有した物理BAグループを抽出する。
Thereafter, the good block of the invalid logical BA is changed to the physical BA group and arranged (step S160). Specifically, the
ここでは、物理BAグループ群Hxの論理BAグループを組む際に、物理BA「W+4」〜「X+4」のグッドブロックが利用されていないので、テーブル構築部31は、物理BA「W+4」〜「X+4」を用いて新しい論理BAグループを生成する。このとき、論理BAグループの先頭は、物理BA「W+4」となり、バッドブロック数は15となる。
Here, since the good blocks of the physical BAs “W + 4” to “X + 4” are not used when forming the logical BA group of the physical BA group group Hx, the
換言すると、物理BAグループ群Hx2を生成する際に、物理BA「W+4」〜「X+4」がバッド物理BAに変換されたので、物理BA「W」〜「X」の物理BAグループが抽出される(図7のs23)。 In other words, when the physical BA group group Hx2 is generated, the physical BAs “W + 4” to “X + 4” are converted into bad physical BAs, so the physical BA groups of the physical BAs “W” to “X” are extracted. (S23 in FIG. 7).
そして、テーブル構築部31は、抽出した各物理BAグループに対し、BA変換テーブル23Bに登録されなかったグッド物理BA(以下、未登録物理BAという)を用いた新たな物理BAグループを生成する。このとき、テーブル構築部31は、抽出した各物理BAグループの中で最も小さな値の未登録物理BAを、新たな物理BAグループの先頭の物理BAに設定する。テーブル構築部31は、抽出した全ての物理BAグループに対して、新たな物理BAグループを生成する。
Then, the
ここでは、物理BA「W+4」〜「W+19」からなる物理BAグループや、物理BA「X+4」〜「X+19」からなる物理BAグループが、新たな物理BAグループとして生成される。 Here, a physical BA group consisting of physical BAs “W + 4” to “W + 19” and a physical BA group consisting of physical BAs “X + 4” to “X + 19” are generated as new physical BA groups.
そして、テーブル構築部31は、生成した新たな物理BAグループを、バッドブロック数情報52に登録する(図7のs24)。例えば、物理BA「W+4」〜「W+19」からなる物理BAグループは、グッド物理BA数が1個なので、バッド物理BA数が15個のグループリストに登録される。
Then, the
テーブル構築部31は、新たに登録されたバッドブロック数情報52を用いて、上述した図7のs21〜s24と同様の処理を繰り返す。これにより、バッドブロック数情報52に新たに登録された物理BAグループもBA変換テーブル23Bに登録される。このとき、新たに登録された物理BAグループは、他の物理BAグループとともに64Slot数分の物理BAグループ群を構成し、物理BAグループ群としてBA変換テーブル23Bに登録される。
The
具体的には、d0段目の物理BA「W+4」〜「X+4」が論理BA「Q」に設定され、d1段目の物理BA「W+5」〜「X+5」が論理BA「Q+1」に設定され、d15段目の物理BA「W+19」〜「X+19」が、論理BA「Q+15」に設定される。同様に、他の物理BAグループのd0段目の物理BA「S」〜「T」が、論理BA「Q」に設定される。 Specifically, the physical BAs “W + 4” to “X + 4” in the d0 stage are set to the logical BA “Q”, and the physical BAs “W + 5” to “X + 5” in the d1 stage are set to the logical BA “Q + 1”. , D15th-stage physical BAs “W + 19” to “X + 19” are set to the logical BA “Q + 15”. Similarly, the physical BA “S” to “T” in the d0 stage of the other physical BA group are set to the logical BA “Q”.
なお、BA変換テーブル23Bに登録される物理BAグループは、16個の物理BAである必要はない。例えば、12個の物理BA「W+4」〜「W+19」からなる新しい物理BAグループを、BA変換テーブル23Bに登録してもよい。この場合、13個目以降の物理BAに対応する論理BAは、バッドブロック数情報52において「無効」に設定される。換言すると、新たな物理BAグループにおいて、物理BAが16個に満たない場合は、足りない物理BAの箇所にバッドブロックが存在するものとして扱われる。
The physical BA group registered in the BA conversion table 23B does not have to be 16 physical BAs. For example, a new physical BA group composed of 12 physical BAs “W + 4” to “W + 19” may be registered in the BA conversion table 23B. In this case, logical BAs corresponding to the 13th and subsequent physical BAs are set to “invalid” in the bad
論理BAが設定された後、16ブロック分の論理BA「Q」〜「Q+15」が、1つの論理BAグループに設定され、16ブロック分×64Slot数分の物理BAグループ群Hx3(図示せず)に対応付けされて、BA変換テーブル23Bに登録される。 After the logical BA is set, the logical BA “Q” to “Q + 15” for 16 blocks are set in one logical BA group, and the physical BA group group Hx3 (16 blocks × 64 slots) (not shown) Are registered in the BA conversion table 23B.
図8(a)のBA変換テーブル23Bでは、論理BA「Q」〜「Q+15」のグループを「論理BA Q/(Q+15)」で示している。また、各Slotの物理BAには、物理BAグループの先頭の物理BAが登録される。これにより、BA変換テーブル23Bには、物理BA「W+4」〜「X+4」,「S」〜「T」が、「論理BA Q/(Q+15)」に対応付けされて登録される。 In the BA conversion table 23B of FIG. 8A, a group of logical BAs “Q” to “Q + 15” is indicated by “logical BA Q / (Q + 15)”. In addition, the first physical BA of the physical BA group is registered in the physical BA of each slot. Thereby, the physical BAs “W + 4” to “X + 4” and “S” to “T” are registered in the BA conversion table 23B in association with “logical BA Q / (Q + 15)”.
そして、テーブル構築部31は、論理BAグループ内の各論理BAの有効性を有効性管理テーブル24Bに登録する。ここでは、d0段目の論理BA「Q」がグッド物理BAに設定されているので、論理BA「Q」には、「有効」が設定される。また、d1〜d11段目がバッド物理BAに設定され、d12段目〜d15段目には物理BAが存在しないので、d1〜d15段目までの論理BA「Q+1」〜「Q+15」には、「無効」が設定される。
Then, the
この後、論理BAグループを組むことができなくなるまで、ステップS130〜S160の処理が繰り返される。論理BAグループを組むことができなくなると(ステップS130、No)、BA変換テーブル23Bの生成処理は終了する。 Thereafter, the processes of steps S130 to S160 are repeated until a logical BA group cannot be formed. When it becomes impossible to form a logical BA group (step S130, No), the generation process of the BA conversion table 23B ends.
なお、64Slot数未満の物理BAグループが余った場合、テーブル構築部31は、64Slot数未満のまま物理BAグループ群をBA変換テーブル23Bに登録する。この場合において、物理BAグループ内に複数のグッドブロックがある場合、物理BAグループを複数に分割し、分割した物理BAグループにグッドブロックを分配してもよい。例えば、2つのグッドブロックを有した物理BAグループが残った場合、テーブル構築部31は、1つのグッドブロックを有した物理BAグループと1つのグッドブロックを有した物理BAグループとの2つの物理BAグループを生成する。そして、テーブル構築部31は、2つの物理BAグループを用いて物理BAグループ群を生成するとともに、論理BAグループと対応付けしてBA変換テーブル23Bに登録する。
If there are more physical BA groups than the number of 64 slots, the
BA変換テーブル23Bを構成する際に、バッドブロックがあると、バッドブロックに対応する論理ブロックを利用することができなくなる。本実施形態では、バッドブロックを整理しながら、BA変換テーブル23Bを構築することにより、BA変換テーブル23Bの圧縮度を上げ、これによりSSD1に必要なRAM2のメモリ容量を減らしている。
When the BA conversion table 23B is configured, if there is a bad block, a logical block corresponding to the bad block cannot be used. In this embodiment, the BA conversion table 23B is constructed while organizing the bad blocks, thereby increasing the degree of compression of the BA conversion table 23B, thereby reducing the memory capacity of the
このように、テーブル構築部31は、BA変換テーブル23Bを構築する際に、グッドブロック数が略同数の物理BAグループを集めて1つの論理BAグループに対応付けしている。これにより、BA変換テーブル23Bの圧縮率を高めることが可能となる。
As described above, when the
図9は、SSDを搭載したパーソナルコンピュータの一例を示す斜視図である。パーソナルコンピュータ1200は、SSD1と、本体1201と、表示ユニット1202と、を備えている。なお、ここでは、パーソナルコンピュータ1200がSSD1を備えている場合について説明する。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204と、を備えている。
FIG. 9 is a perspective view showing an example of a personal computer equipped with an SSD. The
本体1201は、筐体1205と、キーボード1206と、ポインティングデバイスであるタッチパッド1207とを備えている。筐体1205内部には、メイン回路基板、ODD(optical disk device)ユニット、カードスロット、及びSSD1等が収容されている。
The
カードスロットは、筐体1205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部1208が設けられている。ユーザは、この開口部1208を通じて筐体1205の外部から追加デバイスをカードスロットに挿抜することが可能である。
The card slot is provided adjacent to the peripheral wall of the
SSD1は、従来のHDDの置き換えとして、パーソナルコンピュータ1200内部に実装された状態として使用してもよいし、パーソナルコンピュータ1200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。
The
図10は、SSDを搭載したパーソナルコンピュータのシステム構成例を示している。パーソナルコンピュータ1200は、CPU1301、ノースブリッジ1302、主メモリ1303、ビデオコントローラ1304、オーディオコントローラ1305、サウスブリッジ1309、BIOS−ROM1310、SSD1、ODDユニット1311、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)1312、及びネットワークコントローラ1313等を備えている。
FIG. 10 shows a system configuration example of a personal computer equipped with an SSD. The
CPU1301は、パーソナルコンピュータ1200の動作を制御するために設けられたプロセッサであり、SSD1から主メモリ1303にロードされるオペレーティングシステム(OS)を実行する。更に、ODDユニット1311が、装填された光ディスクに対して読み出し処理及び書き込み処理の少なくとも1つの処理の実行を可能にした場合に、CPU1301は、それらの処理の実行をする。
The
また、CPU1301は、BIOS−ROM1310に格納されたシステムBIOS(Basic Input Output System)も実行する。尚、システムBIOSは、パーソナルコンピュータ1200内のハードウェア制御のためのプログラムである。
The
ノースブリッジ1302は、CPU1301のローカルバスとサウスブリッジ1309との間を接続するブリッジデバイスである。ノースブリッジ1302には、主メモリ1303をアクセス制御するメモリコントローラも内蔵されている。
The
また、ノースブリッジ1302は、AGP(Accelerated Graphics Port)バス等を介してビデオコントローラ1304との通信、及びオーディオコントローラ1305との通信を実行する機能も有している。
The
主メモリ1303は、プログラムやデータを一時的に記憶し、CPU1301のワークエリアとして機能する。主メモリ1303は、例えばDRAMから構成される。ビデオコントローラ1304は、パーソナルコンピュータ1200のディスプレイモニタとして使用される表示ユニット1202を制御するビデオ再生コントローラである。
The
オーディオコントローラ1305は、パーソナルコンピュータ1200のスピーカ1306を制御するオーディオ再生コントローラである。サウスブリッジ1309は、LPC(Low Pin Count)バス1314上の各デバイス、及びPCI(Peripheral Component Interconnect)バス1315上の各デバイスを制御する。また、サウスブリッジ1309は、各種ソフトウェア及びデータを格納する記憶装置であるSSD1を、ATAインタフェースを介して制御する。
The
パーソナルコンピュータ1200は、セクタ単位でSSD1へのアクセスを行う。ATAインタフェース(I/F)を介して、書き込みコマンド、読み出しコマンド、フラッシュコマンド等がSSD1に入力される。
The
また、サウスブリッジ1309は、BIOS−ROM1310、及びODDユニット1311をアクセス制御するための機能も有している。EC/KBC1312は、電力管理のためのエンベデッドコントローラと、キーボード(KB)1206及びタッチパッド1207を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC1312は、ユーザによるパワーボタンの操作に応じてパーソナルコンピュータ1200の電源をON/OFFする機能を有している。ネットワークコントローラ1313は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
The
パーソナルコンピュータ1200は、SSD1に電源供給を行い、また、SSD1に停止要求(Standby要求)を発行する。仮にパーソナルコンピュータ1200からSSD1への電源供給が不正に断たれた場合であっても、書き込みエラーの発生を未然に防ぐことができる。
The
このように第2の実施形態によれば、連続した物理BAで構成された物理BAグループをBA変換テーブル23Bに登録しているので、BA変換テーブルの構築処理時間を短縮できる。また、論理BAから物理BAへの変換を短時間で行うことが可能となる。 As described above, according to the second embodiment, since the physical BA group constituted by continuous physical BAs is registered in the BA conversion table 23B, the construction time of the BA conversion table can be shortened. Also, conversion from logical BA to physical BA can be performed in a short time.
また、バッド物理ブロック数が少ない順番で、物理BAグループを組んでいるので、バッド物理ブロックを集めることが可能となる。したがって、BA変換テーブル23Bの圧縮率を上げることが可能となる。 In addition, since the physical BA groups are assembled in the order of decreasing number of bad physical blocks, it is possible to collect bad physical blocks. Accordingly, the compression rate of the BA conversion table 23B can be increased.
また、バッド物理BA数の少ない物理BAグループを順番に抽出してBA変換テーブル23Bを構築していくので、グッドブロック同士の組み合わせやバッドブロック同士の組み合わせなどを探索することなく、BA変換テーブル23Bを構築できる。したがって、BA変換テーブル23Bの構築処理は、物理ブロック数のリニアオーダーに応じた短い時間で行うことが可能となる。 Further, since the BA conversion table 23B is constructed by sequentially extracting the physical BA groups having a small number of bad physical BAs, the BA conversion table 23B can be searched without searching for a combination of good blocks or a combination of bad blocks. Can be built. Therefore, the construction process of the BA conversion table 23B can be performed in a short time according to the linear order of the number of physical blocks.
このように第1および第2の実施形態によれば、小さいサイズの管理テーブルで不揮発性メモリ内のデータを管理することが可能となる。 As described above, according to the first and second embodiments, data in the nonvolatile memory can be managed with a management table having a small size.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
1…SSD、3…コントローラ、4…NANDメモリ、10…ホスト装置、23A,23B…BA変換テーブル、24A,24B…有効性管理テーブル、31…テーブル構築部、35…ブロックアドレス変換部、51…物理ブロック状態、52…バッドブロック数情報、Hx…物理BAグループ群。
DESCRIPTION OF
Claims (5)
前記物理ブロックアドレスグループの中にバッドブロックの物理ブロックアドレスが含まれている場合に、前記バッドブロックよりも後の最初のグッドブロックの物理ブロックアドレスを次の物理ブロックアドレスグループの先頭の物理ブロックアドレスに設定して、前記次の物理ブロックアドレスグループを生成する第2のグループ生成ステップと、
前記物理ブロックアドレスグループのそれぞれに対し、最初のバッドブロック以降の物理ブロックアドレスを全てバッドブロックに設定する第1のバッドブロック設定ステップと、
前記物理ブロックアドレスグループの全体から前記グッドブロックの多い順番で前記物理ブロックアドレスグループを第2の所定数ずつ抽出して物理ブロックアドレスグループ群を生成するグループ群生成ステップと、
生成した物理ブロックアドレスグループ群のそれぞれに対し、各物理ブロックアドレスグループ内におけるバッドブロックの連続数および先頭からのグッドブロックの連続数が、前記物理ブロックアドレスグループ群内の中で最もグッドブロックが少ない物理ブロックアドレスグループと同じ値となるよう前記各物理ブロックアドレスグループにバッドブロックを設定する第2のバッドブロック設定ステップと、
ホスト装置から指定される論理アドレスに対応する前記不揮発性メモリ内の論理ブロックアドレスを用いて設定された複数の連続した論理ブロックアドレスである論理ブロックアドレスグループと、前記物理ブロックアドレスグループ群と、を対応付けしたアドレス管理テーブルを生成するテーブル生成ステップと、
前記論理ブロックアドレスグループ内の各論理ブロックアドレスがグッドブロックであるか否かを示す有効性情報を前記論理ブロックアドレスに設定した有効性管理テーブルを、前記物理ブロックアドレスがグッドブロックであるか否かに基づいて生成する有効性設定ステップと、
前記第2のバッドブロック設定ステップでバッドブロックに設定された物理ブロックアドレスを用いて、前記物理ブロックアドレスグループを生成する第3のグループ生成ステップと、
を含み、
前記第3のグループ生成ステップで生成した物理ブロックアドレスグループに対し、前記第2のグループ生成ステップ、前記第1のバッドブロック設定ステップ、前記グループ群生成ステップ、前記第2のバッドブロック設定ステップ、前記テーブル生成ステップ、前記有効性設定ステップおよび前記第3のグループ生成ステップを繰り返すことを特徴とする管理情報生成方法。 A physical block address group is generated by extracting a first predetermined number of physical block addresses in a non-volatile memory arranged in a semiconductor storage device used as an external storage device of a computer system, in order from the smallest address value. A first group generation step,
When the physical block address of the bad block is included in the physical block address group, the physical block address of the first good block after the bad block is changed to the first physical block address of the next physical block address group. And a second group generation step for generating the next physical block address group,
A first bad block setting step for setting all physical block addresses after the first bad block to bad blocks for each of the physical block address groups;
A group group generating step of generating a physical block address group group by extracting the physical block address group by a second predetermined number in order of increasing the number of good blocks from the whole of the physical block address group;
For each of the generated physical block address groups, the number of consecutive bad blocks in each physical block address group and the number of consecutive good blocks from the top are the least in the physical block address group. A second bad block setting step for setting a bad block in each physical block address group so as to have the same value as the physical block address group;
A logical block address group that is a plurality of continuous logical block addresses set by using a logical block address in the nonvolatile memory corresponding to a logical address specified by a host device, and the physical block address group group. A table generation step for generating an associated address management table;
The validity management table in which validity information indicating whether or not each logical block address in the logical block address group is a good block is set in the logical block address, whether or not the physical block address is a good block A validity setting step to generate based on
A third group generation step of generating the physical block address group using the physical block address set in the bad block in the second bad block setting step;
Including
For the physical block address group generated in the third group generation step, the second group generation step, the first bad block setting step, the group group generation step, the second bad block setting step, A management information generation method comprising repeating the table generation step, the validity setting step, and the third group generation step.
前記物理ブロックアドレスグループの中にバッドブロックの物理ブロックアドレスが含まれている場合に、前記バッドブロックよりも後の最初のグッドブロックの物理ブロックアドレスを次の物理ブロックアドレスグループの先頭の物理ブロックアドレスに設定して、前記次の物理ブロックアドレスグループを生成する第2のグループ生成ステップと、
前記物理ブロックアドレスグループのそれぞれに対し、最初のバッドブロック以降の物理ブロックアドレスを全てバッドブロックに設定する第1のバッドブロック設定ステップと、
前記物理ブロックアドレスグループの全体から前記グッドブロックの多い順番で前記物理ブロックアドレスグループを第2の所定数ずつ抽出して物理ブロックアドレスグループ群を生成するグループ群生成ステップと、
生成した物理ブロックアドレスグループ群のそれぞれに対し、各物理ブロックアドレスグループ内におけるバッドブロックの連続数および先頭からのグッドブロックの連続数が、前記物理ブロックアドレスグループ群内の中で最もグッドブロックが少ない物理ブロックアドレスグループと同じ値となるよう前記各物理ブロックアドレスグループにバッドブロックを設定する第2のバッドブロック設定ステップと、
ホスト装置から指定される論理アドレスに対応する前記不揮発性メモリ内の論理ブロックアドレスを用いて設定された複数の連続した論理ブロックアドレスである論理ブロックアドレスグループと、前記物理ブロックアドレスグループ群と、を対応付けしたアドレス管理テーブルを生成するテーブル生成ステップと、
を含むことを特徴とする管理情報生成方法。 A physical block address group is generated by extracting a first predetermined number of physical block addresses in a non-volatile memory arranged in a semiconductor storage device used as an external storage device of a computer system, in order from the smallest address value. A first group generation step,
When the physical block address of the bad block is included in the physical block address group, the physical block address of the first good block after the bad block is changed to the first physical block address of the next physical block address group. And a second group generation step for generating the next physical block address group,
A first bad block setting step for setting all physical block addresses after the first bad block to bad blocks for each of the physical block address groups;
A group group generating step of generating a physical block address group group by extracting the physical block address group by a second predetermined number in order of increasing the number of good blocks from the whole of the physical block address group;
For each of the generated physical block address groups, the number of consecutive bad blocks in each physical block address group and the number of consecutive good blocks from the top are the least in the physical block address group. A second bad block setting step for setting a bad block in each physical block address group so as to have the same value as the physical block address group;
A logical block address group that is a plurality of continuous logical block addresses set by using a logical block address in the nonvolatile memory corresponding to a logical address specified by a host device, and the physical block address group group. A table generation step for generating an associated address management table;
A management information generation method comprising:
前記第2のバッドブロック設定ステップでバッドブロックに設定された物理ブロックアドレスを用いて、前記物理ブロックアドレスグループを生成する第3のグループ生成ステップと、
をさらに含み、
前記第3のグループ生成ステップで生成した物理ブロックアドレスグループに対し、前記第2のグループ生成ステップ、前記第1のバッドブロック設定ステップ、前記グループ群生成ステップ、前記第2のバッドブロック設定ステップおよび前記テーブル生成ステップを行うことを特徴とする請求項2に記載の管理情報生成方法。 The validity management table in which validity information indicating whether or not each logical block address in the logical block address group is a good block is set in the logical block address, whether or not the physical block address is a good block A validity setting step to generate based on
A third group generation step of generating the physical block address group using the physical block address set in the bad block in the second bad block setting step;
Further including
For the physical block address group generated in the third group generation step, the second group generation step, the first bad block setting step, the group group generation step, the second bad block setting step, and the The management information generation method according to claim 2, wherein a table generation step is performed.
前記第2のバッドブロック設定ステップでバッドブロックに設定された物理ブロックアドレスを用いて、前記物理ブロックアドレスグループを生成する第3のグループ生成ステップと、
をさらに含み、
前記第3のグループ生成ステップで生成した物理ブロックアドレスグループに対し、前記第2のグループ生成ステップ、前記第1のバッドブロック設定ステップ、前記グループ群生成ステップ、前記第2のバッドブロック設定ステップ、前記テーブル生成ステップ、前記有効性設定ステップおよび前記第3のグループ生成ステップを繰り返すことを特徴とする請求項2に記載の管理情報生成方法。 The validity management table in which validity information indicating whether or not each logical block address in the logical block address group is a good block is set in the logical block address, whether or not the physical block address is a good block A validity setting step to generate based on
A third group generation step of generating the physical block address group using the physical block address set in the bad block in the second bad block setting step;
Further including
For the physical block address group generated in the third group generation step, the second group generation step, the first bad block setting step, the group group generation step, the second bad block setting step, The management information generation method according to claim 2, wherein the table generation step, the validity setting step, and the third group generation step are repeated.
ホスト装置から指定された論理アドレスに基づいて、前記不揮発性メモリに対してデータの読み出し/書き込み制御を行うコントローラと、
を備え、
前記コントローラは、
前記論理アドレスに対応する前記不揮発性メモリ内の論理ブロックアドレスと当該論理ブロックアドレスに対応する前記不揮発性メモリ内の物理ブロックアドレスとが対応付けされたアドレス管理テーブルを構築するテーブル構築部を有し、
前記不揮発性メモリは、前記アドレス管理テーブルを記憶するとともに、前記コントローラは、前記アドレス管理テーブルを用いて前記不揮発性メモリに対するデータの読み出し/書き込み制御を行ない、
前記テーブル構築部は、
前記物理ブロックアドレスを、アドレス値の小さい値から順番に第1の所定数ずつ抽出して物理ブロックアドレスグループを生成し、
前記物理ブロックアドレスグループの中にバッドブロックの物理ブロックアドレスが含まれている場合に、前記バッドブロックよりも後の最初のグッドブロックの物理ブロックアドレスを次の物理ブロックアドレスグループの先頭の物理ブロックアドレスに設定して、前記次の物理ブロックアドレスグループを生成し、
前記物理ブロックアドレスグループのそれぞれに対し、最初のバッドブロック以降の物理ブロックアドレスを全てバッドブロックに設定し、
前記物理ブロックアドレスグループの全体から前記グッドブロックの多い順番で前記物理ブロックアドレスグループを第2の所定数ずつ抽出して物理ブロックアドレスグループ群を生成し、
生成した物理ブロックアドレスグループ群のそれぞれに対し、前記物理ブロックアドレスグループ群の各物理ブロックアドレスグループの先頭からのグッドブロックの連続数およびバッドブロックの連続数が、前記物理ブロックアドレスグループ群の中で最もグッドブロックが少ない物理ブロックアドレスグループと同じ値となるよう前記各物理ブロックアドレスグループにバッドブロックを設定し、
ホスト装置から指定される論理アドレスに対応する前記不揮発性メモリ内の論理ブロックアドレスを用いて設定された複数の連続した論理ブロックアドレスである論理ブロックアドレスグループと、前記物理ブロックアドレスグループ群と、を対応付けしたアドレス管理テーブルを生成することを特徴とするメモリシステム。 Non-volatile memory;
A controller that performs data read / write control on the nonvolatile memory based on a logical address designated by a host device;
With
The controller is
A table construction unit for constructing an address management table in which a logical block address in the nonvolatile memory corresponding to the logical address is associated with a physical block address in the nonvolatile memory corresponding to the logical block address; ,
The nonvolatile memory stores the address management table, and the controller performs data read / write control with respect to the nonvolatile memory using the address management table,
The table construction unit
The physical block address is extracted by a first predetermined number in order from a smaller address value to generate a physical block address group,
When the physical block address of the bad block is included in the physical block address group, the physical block address of the first good block after the bad block is changed to the first physical block address of the next physical block address group. To generate the next physical block address group,
For each of the physical block address groups, all physical block addresses after the first bad block are set as bad blocks,
The physical block address group is generated by extracting a second predetermined number of the physical block address groups in order of increasing number of the good blocks from the entire physical block address group,
For each of the generated physical block address groups, the number of consecutive good blocks and the number of consecutive bad blocks from the beginning of each physical block address group of the physical block address group Set a bad block in each physical block address group so that it has the same value as the physical block address group with the fewest good blocks,
A logical block address group that is a plurality of continuous logical block addresses set by using a logical block address in the nonvolatile memory corresponding to a logical address specified by a host device, and the physical block address group group. A memory system that generates an associated address management table.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012037949A JP5694212B2 (en) | 2012-02-23 | 2012-02-23 | Management information generation method and memory system |
US13/609,991 US8924636B2 (en) | 2012-02-23 | 2012-09-11 | Management information generating method, logical block constructing method, and semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012037949A JP5694212B2 (en) | 2012-02-23 | 2012-02-23 | Management information generation method and memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013174970A JP2013174970A (en) | 2013-09-05 |
JP5694212B2 true JP5694212B2 (en) | 2015-04-01 |
Family
ID=49267832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012037949A Expired - Fee Related JP5694212B2 (en) | 2012-02-23 | 2012-02-23 | Management information generation method and memory system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5694212B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6180271B2 (en) * | 2013-10-09 | 2017-08-16 | 日本放送協会 | Video recording apparatus and video recording method |
CN114968106B (en) * | 2022-05-27 | 2024-11-05 | 芯天下技术股份有限公司 | NAND FLASH group swap method, device, equipment and medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901498B2 (en) * | 2002-12-09 | 2005-05-31 | Sandisk Corporation | Zone boundary adjustment for defects in non-volatile memories |
JP4173410B2 (en) * | 2003-06-26 | 2008-10-29 | Tdk株式会社 | Memory controller and flash memory system including the memory controller |
JP4702703B2 (en) * | 2007-04-26 | 2011-06-15 | Tdk株式会社 | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
-
2012
- 2012-02-23 JP JP2012037949A patent/JP5694212B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013174970A (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
JP4439578B1 (en) | Nonvolatile semiconductor memory drive device and data management method for nonvolatile semiconductor memory drive device | |
US8924636B2 (en) | Management information generating method, logical block constructing method, and semiconductor memory device | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US9146691B2 (en) | Method for managing commands in command queue, memory control circuit unit and memory storage apparatus | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
US9058256B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US9292435B2 (en) | Memory device and method of operation | |
JP2010152909A (en) | Nonvolatile semiconductor memory drive device, information management device, management method of storage area in nonvolatile semiconductor memory drive device | |
KR20100094241A (en) | Nonvolatile memory device not including reserved blocks | |
JP2013174975A (en) | Memory system and data writing method for the same | |
TWI459198B (en) | Memory storage device, memory controller thereof, and method for identifying valid data | |
TW201403319A (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
US8943289B2 (en) | Data moving method for flash memory module, and memory controller and memory storage apparatus using the same | |
JP2015053075A (en) | Memory system, information processing device, and storage device | |
US8527733B2 (en) | Memory system | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN102567221A (en) | Data management method, memory controller and memory storage device | |
JP5694212B2 (en) | Management information generation method and memory system | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
JP2012068765A (en) | Memory controller, flash memory system with memory controller, and control method of flash memory | |
JP2012037971A (en) | Memory controller, nonvolatile memory system provided with memory controller, and method for controlling nonvolatile memory | |
CN109002265B (en) | Data processing method and related device | |
US20140281160A1 (en) | Non-volatile semiconductor storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140805 |
|
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: 20150106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150204 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5694212 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |