JP2011128826A - Storage device and storage method for semiconductor nonvolatile memory - Google Patents

Storage device and storage method for semiconductor nonvolatile memory Download PDF

Info

Publication number
JP2011128826A
JP2011128826A JP2009285909A JP2009285909A JP2011128826A JP 2011128826 A JP2011128826 A JP 2011128826A JP 2009285909 A JP2009285909 A JP 2009285909A JP 2009285909 A JP2009285909 A JP 2009285909A JP 2011128826 A JP2011128826 A JP 2011128826A
Authority
JP
Japan
Prior art keywords
unit
memory
data
semiconductor
nonvolatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009285909A
Other languages
Japanese (ja)
Other versions
JP2011128826A5 (en
Inventor
Noriyuki Iwasaki
宣之 岩▲崎▼
Kazunori Furusawa
和則 古沢
Yasuyuki Koike
康之 小池
Eiga Mizushima
永雅 水島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP2009285909A priority Critical patent/JP2011128826A/en
Publication of JP2011128826A publication Critical patent/JP2011128826A/en
Publication of JP2011128826A5 publication Critical patent/JP2011128826A5/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To speed up random write access to a nonvolatile memory. <P>SOLUTION: A semiconductor nonvolatile memory includes an initial assignment area and an initial unused area configured of a plurality of erasure units. The semiconductor nonvolatile memory sets the minimum management unit in which host side logical addresses are successively arranged, successively writes input data into a buffer, and generate the address conversion information of the logical address of each minimum management unit and the physical address of a nonvolatile memory. The semiconductor nonvolatile memory successively writes data written in all the storage capacity of the buffer into the unwritten-in area of a first erasure unit whose write-in is scheduled. When any unwritten-in area of the first erasure unit does not exist any more, retrieved valid data of a second erasure unit are written in a preliminarily prepared third erasure unit whose erasure has been completed, and the conversion information is updated, and replaced with a new first erasure unit. The second erasure unit is erased in a batch, and a new second erasure unit is retrieved in parallel with preparation for the generation of a new third erasure unit. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

この発明は、記憶装置と半導体不揮発性メモリの記憶方法に関し、例えば、NAND型フラッシュメモリを用いてHDD置き換え可能な記憶装置(Solid State Drive;SSD) と半導体不揮発性メモリの記憶方法に利用して有効な技術に関するものである。   The present invention relates to a storage device and a storage method of a semiconductor nonvolatile memory. For example, the present invention is applied to a storage device (Solid State Drive; SSD) that can replace an HDD using a NAND flash memory and a storage method of a semiconductor nonvolatile memory. It relates to effective technology.

特開2006−252535号公報には、NAND型フラッシュメモリを用いて、例えばHDD置き換え可能な記憶装置が開示されている。同公報の技術では、書き込みブロックサイズより小さいサイズのデータが複数あり、書き込みが頻繁に発生すると短い期間で書き込み寿命に達してしまうという問題の解決及びデータ転送レートの向上に向けられている。この記憶装置は、不揮発性メモリにファイル管理情報部とデータ部を設け、メモリコントローラでメモリアクセスを行う。上記コントローラは、揮発性メモリを備え、電源起動時に上記不揮発性メモリのファイル管理情報部の記憶データを読み出して上記揮発性メモリに書き込み、上記不揮発性メモリへのデータの書き込み動作と読み出し動作においては、上記揮発性メモリを用いてそれに対応したファイル管理情報の読み出しや書き込みを行い、電源遮断時上記揮発性メモリの記憶データを読み出して上記不揮発性メモリのファイル管理情報部に記憶させる。本願発明者等においては、前記特開2006−252535号公報の技術を発展させて、ランダムライトアクセスの平均速度の改善に向けて特開2009−064251号公報において図9に示したようなSSDを提案している。   Japanese Patent Laid-Open No. 2006-252535 discloses a storage device that can replace, for example, an HDD using a NAND flash memory. The technique disclosed in this publication is directed to solving the problem that there is a plurality of data smaller than the write block size and the write life is reached in a short period of time when the write occurs frequently and improving the data transfer rate. In this storage device, a file management information part and a data part are provided in a nonvolatile memory, and a memory controller performs memory access. The controller includes a volatile memory, reads out data stored in the file management information section of the non-volatile memory and writes the data to the volatile memory when the power is turned on, and performs data write and read operations to the non-volatile memory. The volatile memory is used to read and write the corresponding file management information, and when the power is shut off, the storage data of the volatile memory is read and stored in the file management information section of the nonvolatile memory. The inventors of the present application have developed the technology of the above Japanese Patent Application Laid-Open No. 2006-252535, and in order to improve the average speed of random write access, the SSD shown in FIG. 9 of Japanese Patent Application Laid-Open No. 2009-064251 is used. is suggesting.

特開2006−252535号公報JP 2006-252535 A 特開2009−064251号公報JP 2009-064251 A

図9に示したSSDでは、ホスト論理アドレス(HLBA)は、1セクタ(512B)を最小単位として全容量分をリニア(順次)並べて先頭アドレス0から最終アドレスmaxまでを不揮発性メモリの全領域のうちシステム領域を除いて、複数の区分(区画0〜区画n)に分割管理する。1つの区画は、例えば区画0に例示されているように不揮発性メモリの消去単位群がLPBA0〜LPBAYで構成される。   In the SSD shown in FIG. 9, the host logical address (HLBA) is arranged in a linear (sequential) manner for the entire capacity with one sector (512B) as the minimum unit, and from the start address 0 to the final address max, Of these, the system area is excluded and divided into a plurality of sections (section 0 to section n). In one partition, for example, as illustrated in partition 0, the erase unit group of the nonvolatile memory is composed of LPBA0 to LPBAY.

この1つの区画は、消去単位として示されているように全ライト済み状態で使用する割当分と未使用分とで構成される。未使用分は、フリー部分と代替(不良救済)として設けれている。上記割当分と未使用分の境界は、固定ではなく矢印で示したフリー検索で既存割当LPBAがフリーLPBAに、新しく割当られたフリーLPBAが割当分に動的に交換される。1つの消去単位(LPBA)は、複数のNANDフラッシュメモリチップから構成され、ページ0(PAGE0)から最終ページ(max)までをデータ領域(論理アドレス割当分)とランダムキャッシュ領域(アドレス重複分)に区分されている。これらの区分の境界は固定で扱われる。   As shown as an erasure unit, this one partition is composed of an allocated portion and an unused portion that are used in the all written state. The unused portion is provided as a free portion and an alternative (defect relief). The boundary between the allocated portion and the unused portion is not fixed, and the existing allocated LPBA is dynamically exchanged for the free LPBA and the newly allocated free LPBA is dynamically replaced with the allocated portion by free search indicated by an arrow. One erase unit (LPBA) is composed of a plurality of NAND flash memory chips, and the page 0 (PAGE 0) to the last page (max) are divided into a data area (logical address allocation) and a random cache area (address overlap). It is divided. The boundaries of these categories are fixed.

前記のように消去ブロック内にランダムキャッシュ領域を設けることにより、書き換えデータが入力されると、データ領域に空きがない場合にランダムキャッシュ領域へキャッシュアウトする。ランダムキャッシュ領域にも空きがない場合は、当該消去ブロック内に記憶されている有効データを別の消去済ブロックへコピーする。コピー後にコピー元のブロックのデータを消去することにより消去済ブロックを生成する。   By providing a random cache area in the erase block as described above, when rewrite data is input, the data area is cached out when there is no free space. If there is no free space in the random cache area, the valid data stored in the erase block is copied to another erased block. An erased block is generated by erasing the data of the copy source block after copying.

例えば、1つの消去単位として、前記データ領域に32KBページを120個配置、ランダムキャッシュ領域に4KBページを64個配置し、ページアドレス及びランダムキャッシュ領域のアドレスをブロックアドレスとの関係をつけて消去単位(ブロック)で管理する。この場合、前記のようにページアドレスに対応する消去単位(ブロック)内に空きページがなくなると、別の消去済の消去単位(ブロック)へ有効データをコピーし、コピー後にコピー元の消去単位のデータを消去する動作が発生することになる。この消去動作には時間がかかるため、空きページへのライトのみの場合よりライトアクセス時間が遅くなるという問題がある。   For example, as one erasing unit, 120 32 KB pages are arranged in the data area, 64 4 KB pages are arranged in the random cache area, and the page address and the random cache area address are related to the block address. (Block) to manage. In this case, as described above, when there is no empty page in the erase unit (block) corresponding to the page address, valid data is copied to another erased erase unit (block), and after the copy, An operation for erasing data occurs. Since this erasing operation takes time, there is a problem that the write access time becomes slower than the case of only writing to an empty page.

SSDライト時にアドレスランダム指定で重複がある場合、フラッシュメモリ内に設けた数MB程度のキャッシュ領域の効果は小さく、その結果、パソコンのOS(オペレーティング・システム)の1つであるウィンドウズ(登録商標)のイントール時などに4KB以下のライトアドレス数がフラッシュキャッシュ本数を超えてキャッシュアウトが多発して時間がかかってしまう不具合が発生する。また、ホスト論理アドレスに割当られた特定区分は、不揮発性メモリの対応する特定区分に一対一に対応しており、そのホスト論理アドレスに書き換えデータが集中すると、前記のようにライトアクセス時間が遅くなる上に比較的短い期間内で書き換え回数の制限に達してしまう。   When there is duplication due to address random designation at the time of SSD write, the effect of the cache area of about several MB provided in the flash memory is small, and as a result, Windows (registered trademark) which is one of the OS (Operating System) of the personal computer At the time of installation, the number of write addresses of 4 KB or less exceeds the number of flash caches, resulting in a problem that it takes time due to frequent cache-out. The specific division assigned to the host logical address corresponds to the corresponding specific division of the nonvolatile memory on a one-to-one basis. If rewrite data is concentrated on the host logical address, the write access time is delayed as described above. In addition, the limit on the number of rewrites is reached within a relatively short period.

この発明の目的は、ランダムライトアクセスの平均速度及び書き換え耐性の向上を可能とした記憶装置と不揮発性メモリの記憶方法を提供する。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   An object of the present invention is to provide a storage device and a nonvolatile memory storage method capable of improving the average speed and rewrite endurance of random write access. The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される1つの実施例は、以下の通りである。記憶装置は、半導体不揮発性メモリ、半導体揮発性メモリ、上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラ部を有する。上記半導体不揮発性メモリは、システム検索領域、ホスト側からの全ライト状態に対応した初期割当領域、初期未使用領域を有する。上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位を有する。上記半導体揮発性メモリは、記憶データに対応したホスト側論理アドレスをそれが格納された上記半導体不揮発性メモリの最新の物理アドレスに変換する変換情報を記憶する。上記コントローラ部は、入出力インターフェイス、制御論理回路、バッファメモリを有する。上記制御論理回路は、第1ないし第4動作を行う。上記第1動作は、上記入出力インターフェイスを介して接続されるホスト側の全論理アドレスが複数区分に分割されて構成されて順次に並ぶ複数論理アドレス分に対応した記憶データを最小管理単位として、上記入出力インターフェイスを介してホスト側から入力された書き込みデータを上記バッファメモリに順次に書き込み、各最小管理単位毎のホスト側論理アドレスと上記半導体不揮発性メモリ側の物理アドレスとの変換情報を生成して上記半導体揮発性メモリに記憶させる。上記第2動作は、上記第1動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた後にかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける予め割当られた第1の消去単位の未書き込み領域に順次に書き込む。上記第3動作は、上記第1動作と第2動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換える。上記第4動作は、上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位を用意する。   One embodiment disclosed in the present application is as follows. The storage device includes a semiconductor nonvolatile memory, a semiconductor volatile memory, and a controller unit that performs memory access to the semiconductor nonvolatile memory and the semiconductor volatile memory. The semiconductor nonvolatile memory has a system search area, an initial allocation area corresponding to all write states from the host side, and an initial unused area. Each of the system search area, the initial allocation area, and the initial unused area has a plurality of erase units. The said semiconductor volatile memory memorize | stores the conversion information which converts the host side logical address corresponding to storage data into the newest physical address of the said semiconductor non-volatile memory in which it was stored. The controller unit includes an input / output interface, a control logic circuit, and a buffer memory. The control logic circuit performs first to fourth operations. In the first operation, all the logical addresses on the host side connected via the input / output interface are divided into a plurality of sections and stored data corresponding to a plurality of logical addresses arranged in sequence are set as a minimum management unit. Write data input from the host side via the input / output interface is sequentially written to the buffer memory to generate conversion information between the host side logical address and the semiconductor nonvolatile memory side physical address for each minimum management unit. And stored in the semiconductor volatile memory. In the second operation, after all the storage data of the minimum management unit is written to the entire storage capacity of the buffer memory by the first operation, all the storage data of the buffer memory is previously stored in the semiconductor nonvolatile memory. Data is sequentially written in the unwritten area of the assigned first erase unit. In the third operation, when there is no unwritten area of the first erase unit due to repetition of the first operation and the second operation, there is no more than two unwritten erase units. The effective data in the second erasing unit with the least effective data retrieved from the initial allocation area and the initial unused area of the volatile memory is used as the erased or unused third erasing unit prepared in advance. The conversion information is updated by writing, and the third erase unit is replaced with the first erase unit. The fourth operation prepares the third erase unit that has been erased by batch erasing the second erase unit, and in parallel with the erase operation of the second erase unit, The initial unused area is searched to prepare a new second erase unit.

本願において開示される他の1つの実施例は、以下の通りである。半導体不揮発性メモリを用いた記憶方法として、上記半導体不揮発性メモリの記憶領域は、システム検索領域と、ホスト側からの全ライト状態に対応した初期割当領域と、初期未使用領域にとに分けられる。上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位が設けられる。ホスト側の全論理アドレスが複数区分に分割されて構成されて順次に並ぶ複数論理アドレス分が最小管理単位に設定される。この構成に対して、以下の第1ないし第4制御動作が行われる。第1制御動作は、ホスト側から入力された書き込みデータをバッファメモリに順次に書き込み、かかる書き込みデータの最小管理単位毎のホスト側論理アドレスと書き込み予定の上記半導体不揮発性メモリ側の物理アドレスとのアドレスの変換情報を生成してメモリに記憶する。第2制御動作は、上記第1制御動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた時点でかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける上記書き込み予定の第1の消去単位の未書き込み領域に順次に書き込む。第3制御動作は、上記第1制御動作と第2制御動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換える。第4制御動作は、上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位を用意する。   Another embodiment disclosed in the present application is as follows. As a storage method using a semiconductor nonvolatile memory, the storage area of the semiconductor nonvolatile memory is divided into a system search area, an initial allocation area corresponding to all write states from the host side, and an initial unused area. . Each of the system search area, the initial allocation area, and the initial unused area is provided with a plurality of erase units. All logical addresses on the host side are divided into a plurality of sections, and a plurality of logical addresses arranged in sequence are set as the minimum management unit. The following first to fourth control operations are performed for this configuration. In the first control operation, write data input from the host side is sequentially written into the buffer memory, and the host side logical address for each minimum management unit of the write data and the physical address on the semiconductor nonvolatile memory side to be written are set. Address conversion information is generated and stored in a memory. In the second control operation, all the stored data in the buffer memory is written to the semiconductor nonvolatile memory when a plurality of pieces of the storage data of the minimum management unit are written to the total storage capacity of the buffer memory by the first control operation. Are sequentially written in the unwritten area of the first erase unit to be written. The third control operation is performed under the condition that when there is no unwritten area of the first erase unit due to repetition of the first control operation and the second control operation, there are no two or more unwritten erase units. The erased or unused third erase prepared in advance for the valid data in the second erase unit with the least valid data retrieved from the initial allocation area and the initial unused area of the semiconductor nonvolatile memory The conversion information is updated by writing in the unit, and the third erasing unit is replaced with the first erasing unit. The fourth control operation prepares the third erase unit that has been erased by batch erasing the second erase unit, and in parallel with the erase operation of the second erase unit, The initial unused area is searched to prepare a new second erase unit.

ホスト論理アドレスと不揮発性メモリの物理アドレスの関係制約を無くし、不揮発性メモリの領域全体から各消去単位(消去ブロック)内の空きページへ書込みが可能であるようなアドレス管理とすることにより、消去動作の発生頻度を少なくし、平均ライトアクセス時間の改善を図ることができる。   Erasing by eliminating the restrictions on the relationship between the host logical address and the physical address of the non-volatile memory, and by managing the address so that writing to empty pages in each erase unit (erase block) from the entire non-volatile memory area is possible. The occurrence frequency of the operation can be reduced, and the average write access time can be improved.

この発明に係る記憶装置SSDの一実施例のブロック図である。1 is a block diagram of an embodiment of a storage device SSD according to the present invention. FIG. この発明に係る記憶装置SSDの記憶方法を説明するための一実施例のメモリマップ図である。It is a memory map figure of one Example for demonstrating the storage method of the memory | storage device SSD which concerns on this invention. この発明に係る記憶装置SSDにおけるアドレス変換テーブルの一実施例の説明図である。It is explanatory drawing of one Example of the address conversion table in the memory | storage device SSD which concerns on this invention. 前記図3のPAPATの概念図である。FIG. 4 is a conceptual diagram of the PAPAT of FIG. 3. この発明に係る記憶装置SSDの代表的な動作の1つであるランダムライトアクセス動作の一例を説明するためのブロック図である。It is a block diagram for explaining an example of a random write access operation which is one of typical operations of the storage device SSD according to the present invention. この発明に係る記憶装置SSDの代表的な動作の他の1つであるコンパクション動作の一例を説明するためのブロック図である。It is a block diagram for demonstrating an example of the compaction operation | movement which is another one of the typical operation | movement of the memory | storage device SSD which concerns on this invention. 図7には、この発明に係る記憶装置SSDの代表的な動作の他の1つであるリード動作の一例を説明するためのブロック図である。FIG. 7 is a block diagram for explaining an example of a read operation which is another typical operation of the storage device SSD according to the present invention. この発明に係る記憶装置SSDの一実施例の概略ブロック図である。1 is a schematic block diagram of an embodiment of a storage device SSD according to the present invention. 本願発明者等において先に検討されたSSDのメモリマップ図である。It is a memory map figure of SSD examined previously by the present inventors.

添付の図面に沿って、この発明の好ましい実施の形態について詳細に説明する。   A preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

図1には、この発明に係る記憶装置SSD(Solid State Drive)の一実施例のブロック図が示されている。この実施例の記憶装置は、HDD互換記憶装置として、特に制限されないが、半導体不揮発性メモリ(NANDフラッシュメモリ)FL0〜FL9と、半導体揮発性メモリSDRAM及び点線で示されたコントローラ部としてのシステムLSI、インターフェイスチップS−ATA(Serial Advanced Technology Attachment) を1つのパッケージの中に搭載して、約32Gバイトのような記憶容量を持つような記憶装置SSDとされる。S−ATA(Serial Advanced Technology Attachment) は、パソコンにハードディスクや光ドライブを接続するためのインターフェイス規格である。   FIG. 1 is a block diagram showing an embodiment of a storage device SSD (Solid State Drive) according to the present invention. The storage device of this embodiment is not particularly limited as an HDD compatible storage device, but includes a semiconductor nonvolatile memory (NAND flash memory) FL0 to FL9, a semiconductor volatile memory SDRAM, and a system LSI as a controller unit indicated by a dotted line. An interface chip S-ATA (Serial Advanced Technology Attachment) is mounted in one package, and the storage device SSD has a storage capacity of about 32 GB. S-ATA (Serial Advanced Technology Attachment) is an interface standard for connecting a hard disk or an optical drive to a personal computer.

上記パッケージは、例えば2.5インチのハードディスクドライブ装置と同様な外形サイズ(70.0×100.0×9.5mm)又は3.5インチのハードディスクドライブ装置と同様な外形サイズ(101.6×146.0×25.4mm)にされ、インターフェイス回路S−ATAに接続されるコネクタピンも上記2.5インチの又は3.5インチのハードディスクドライブ装置と同様なものが用いられる。   The package has, for example, the same external size (70.0 × 100.0 × 9.5 mm) as that of a 2.5-inch hard disk drive device or the same external size (101.6 × 10) as that of a 3.5-inch hard disk drive device. The connector pins connected to the interface circuit S-ATA are the same as those of the 2.5 inch or 3.5 inch hard disk drive device.

同図で点線で示したホストHOSTと、半導体不揮発性メモリFL0〜FL9との間のデータのやりとりは、上記インターフェイスチップS−ATA及び制御論理回路としてのシステムLSIを介して行われる。システムLSIは、上記インターフェイスS−ATAに対応して設けられ、シリアル/パラレル変換等を行う入出力回路P−ATA及びコントローラATACを介して点線で示された信号経路切替回路RCに接続される。信号経路切替回路RCは、ECC回路との間での信号伝達を行うセレクタS1、上記入出力回路P−ATAとの間で信号伝達を行うセレクタS2、ライトバッファWB0,WB1との間で信号伝達を行うセレクタS4、半導体不揮発性メモリFL0〜FL9に設けられたフラッシュ入出力部FICとの間で信号伝達を行うセレクタS5及び半導体揮発性メモリSDRAMに対応してメモリ制御回路SDRAMCとの間で信号伝達を行うセレクタS3を有しており、以下に説明するメモリ動作に対応して各回路ブロック間での信号伝達を行う。   Data exchange between the host HOST indicated by a dotted line in the figure and the semiconductor nonvolatile memories FL0 to FL9 is performed via the interface chip S-ATA and the system LSI as the control logic circuit. The system LSI is provided corresponding to the interface S-ATA, and is connected to a signal path switching circuit RC indicated by a dotted line via an input / output circuit P-ATA that performs serial / parallel conversion and the like and a controller ATAC. The signal path switching circuit RC transmits signals to and from the selector S1 that transmits signals to and from the ECC circuit, the selector S2 that transmits signals to and from the input / output circuit P-ATA, and the write buffers WB0 and WB1. A signal is transmitted between the selector S4 that performs data transfer, the selector S5 that performs signal transmission with the flash input / output unit FIC provided in the semiconductor nonvolatile memories FL0 to FL9, and the memory control circuit SDRAMC corresponding to the semiconductor volatile memory SDRAM. A selector S3 that performs transmission is provided, and signal transmission is performed between each circuit block in response to a memory operation described below.

NANDフラッシュメモリ(半導体不揮発性メモリFL0〜FL9)は、エラービットの発生が他のメモリデバイスに比べて比較的多く、それを許容することを前提とするデバイスである。データの書き換え及び消去を繰り返していくうちにメモリセルがデータ記憶特性が劣化し、リード時に正常データがリードできなくなることがある。そのために、記憶媒体に半導体不揮発性メモリを使用してSSDを構成する場合、誤り検出・訂正回路であるECC回路が必須となる。上記ECC回路は、半導体不揮発性メモリFL0〜FL9への書き込みデータ、半導体不揮発性メモリFL0〜FL9からの読み出しデータに対してハミング符号/リード・ソロモン符号/BCH符号などの符号化、複合化を行う。   The NAND flash memory (semiconductor non-volatile memories FL0 to FL9) is a device based on the premise that error bits are generated more frequently than other memory devices and allowed. As data rewriting and erasing are repeated, the memory cell may have deteriorated data storage characteristics, and normal data may not be read at the time of reading. Therefore, when an SSD is configured using a semiconductor nonvolatile memory as a storage medium, an ECC circuit that is an error detection / correction circuit is essential. The ECC circuit performs coding and decoding of data to be written to the semiconductor nonvolatile memories FL0 to FL9 and data to be read from the semiconductor nonvolatile memories FL0 to FL9, such as a Hamming code / Reed-Solomon code / BCH code. .

上記システムLSIには、メモリ動作の高速化に向けて専用制御回路LOG1〜LOG3が設けられる。専用制御回路LOG1は、フリーブロック検索エンジンであり、後述する検索動作を受け持つ。専用制御回路LOG2は、テーブル検索エンジンであり、後述する論理/物理アドレス変換テーブルの検索動作を受け持つ。専用制御回路LOG3は、コンパクションエンジンであり、消去済の消去単位(ブロック)を生成するための後述するコンパクション動作を受け持つ。また、各種制御動作を受け持つCPU(中央処理装置)及びそのワーク領域としてのRAM、制御レジスタREGも設けられる。   The system LSI is provided with dedicated control circuits LOG1 to LOG3 for speeding up the memory operation. The dedicated control circuit LOG1 is a free block search engine and is responsible for a search operation described later. The dedicated control circuit LOG2 is a table search engine, and is responsible for a search operation of a logical / physical address conversion table described later. The dedicated control circuit LOG3 is a compaction engine and is responsible for a compaction operation described later for generating erased erase units (blocks). A CPU (central processing unit) responsible for various control operations, a RAM as a work area, and a control register REG are also provided.

例えば、ホストHOST側からは、300MB(メガバイト)/s の速度でデータD1の伝送が行われる。インターフェイスチップS−ATAでは、160MHz/16(ビット)のようなデータD2に速度変換される。入出力回路P−ATAでは、80MHz/32(ビット)のようなデータD3に速度変換される。したがって、上記信号経路切替回路RCにおいては、80MHz/32(ビット)のような転送速度によりECC回路との間のデータD5、ライトバッファWB0,1との間のデータD6,D7、フラッシュ入出力部FICとの間のデータD8及びメモリ制御回路SDRAMCとの間のデータD9,D10の伝達を行うものとされる。   For example, data D1 is transmitted from the host HOST side at a speed of 300 MB (megabytes) / s. In the interface chip S-ATA, the speed is converted into data D2 such as 160 MHz / 16 (bits). In the input / output circuit P-ATA, the speed is converted to data D3 such as 80 MHz / 32 (bits). Therefore, in the signal path switching circuit RC, the data D5 between the ECC circuit, the data D6 and D7 between the write buffers WB0 and 1 and the flash input / output unit at a transfer rate such as 80 MHz / 32 (bits). Data D8 between the FIC and data D9 and D10 are transmitted between the memory control circuit SDRAMC.

半導体揮発性メモリSDRAMは、例えば80MHz/16(ビット)でデータD12の入出力を行うものであり、上記メモリ制御回路SDRAMCにより32ビットデータが16ビットに振り分けられる。半導体不揮発性メモリFL0〜FL9は、33MHz/8(ビット)の速度でデータD11の入出力が行われる。このデータD11に対応させるため、フラッシュ入出力部FICにおいては半導体不揮発性メモリFL0に例示的に示されているようにセレクタS7と2つのバッファB1,B2が設けられ、これらバッファB1,B2を交互に使用することでセレクタS6を通して入出力される80MHz/32(ビット)のデータD8の速度に近づくよう上記データD11を適合させる。   The semiconductor volatile memory SDRAM performs input / output of data D12 at, for example, 80 MHz / 16 (bit), and 32-bit data is distributed to 16 bits by the memory control circuit SDRAMC. The semiconductor nonvolatile memories FL0 to FL9 input / output data D11 at a speed of 33 MHz / 8 (bit). In order to correspond to the data D11, the flash input / output unit FIC is provided with a selector S7 and two buffers B1 and B2 as shown in the semiconductor nonvolatile memory FL0, and these buffers B1 and B2 are alternately arranged. The data D11 is adapted to approach the speed of the 80 MHz / 32 (bit) data D8 input / output through the selector S6.

半導体不揮発性メモリFL0〜FL9は、1回の書き込みにより最大で4kB+4kB(8kB)のデータ書き込み(ページライト)が可能にされる。前記のように半導体不揮発性メモリFL0〜FL9を10個を並列形態に設けるようにすることにより、8k×10=80kB分のデータを一括して書き込むようにすることができる。これに対応して、上記ライトバッファWB0,WB1は80kBの記憶容量を持つようにされる。一方、ホスト側においては、1つの論理アドレスで1セクタが指定され、512Bのデータがシリアルに入出力される。   The semiconductor nonvolatile memories FL0 to FL9 can perform data writing (page writing) of 4 kB + 4 kB (8 kB) at the maximum by one writing. By providing ten semiconductor nonvolatile memories FL0 to FL9 in parallel as described above, data for 8 k × 10 = 80 kB can be written in a lump. Correspondingly, the write buffers WB0 and WB1 have a storage capacity of 80 kB. On the other hand, on the host side, one sector is designated by one logical address, and 512B data is input / output serially.

中央処理装置CPUは、特に制限されないが、レジスタREGを介してホストからの動作指示等のコマンド等を受け取りSSD全体の制御動作を行う。信号経路切替回路RCののセレクタS1〜S5の制御によりインターフェイスコントローラATAC、ECC回路、ライトバッァWB0,1、メモリ制御回路SDRAMC及びフラッシュ入出力部FICの間の信号伝達経路の切替も上記CPUにより行われる。   Although not particularly limited, the central processing unit CPU receives commands such as operation instructions from the host via the register REG and performs control operations for the entire SSD. The CPU also performs switching of signal transmission paths among the interface controller ATAC, ECC circuit, write buffer WB0, 1, memory control circuit SDRAMC, and flash input / output unit FIC under the control of the selectors S1 to S5 of the signal path switching circuit RC. .

図2には、この発明に係る記憶装置SSDの記憶方法を説明するための一実施例のメモリマップ図が示されている。ホスト側論理アドレスHLBAは、0からmaxまでのアドレス空間を有し、各論理アドレスにより1セクタ(512B)のデータを指定する。これに対して、前記図1で説明したように記憶装置SSDを構成する半導体不揮発性メモリFL0〜FL9のそれぞれにおける最大書き込みデータ数は8kBである。これらのことを前提とし、ホスト側から半導体不揮発性メモリFL0〜FL9に対してランダムライトアクセスを効率よく高速に行うようにするため、SSD側においてはホスト側論理アドレスの10個(10セクタ)分に対応したデータ512B×10(=5kB(キロバイト))を最小管理単位に設定する。つまり、ホスト側では論理アドレス0、10、20、30、40……(10進法表記)のように10個毎の論理アドレスに対応した10個ずつのセクタをSSD側での最小管理単位として扱う。   FIG. 2 shows a memory map of one embodiment for explaining a storage method of the storage device SSD according to the present invention. The host-side logical address HLBA has an address space from 0 to max, and designates one sector (512 B) of data by each logical address. On the other hand, as described in FIG. 1, the maximum number of write data in each of the semiconductor nonvolatile memories FL0 to FL9 constituting the storage device SSD is 8 kB. Based on these premises, in order to perform random write access from the host side to the semiconductor non-volatile memories FL0 to FL9 efficiently and at high speed, on the SSD side, there are 10 (10 sectors) of the host side logical address. Data 512B × 10 (= 5 kB (kilobytes)) corresponding to is set as the minimum management unit. That is, on the host side, 10 sectors corresponding to every 10 logical addresses as logical addresses 0, 10, 20, 30, 40... (Decimal notation) are set as the minimum management unit on the SSD side. deal with.

1つの最小単位は、順に並ぶ論理アドレス0〜9(10進法表記)の10セクタ分を上記論理アドレス0〜9の順序を保持したままとして扱う。前記のように半導体不揮発性メモリFL0〜FL9のように10チャネル分の入出力部を持つために、1回の書き込みで80kBのデータの書き込みが可能である。そこで、ライトバッファWB0,WB1は、前記のようにそれぞれ80kBの記憶容量を持つようにされる。したがって、ライトバッファWB0,WB1は、それぞれが5kBの最小管理単位を16個分を記憶することができる。   One minimum unit treats 10 sectors of logical addresses 0 to 9 (decimal notation) arranged in order while maintaining the order of the logical addresses 0 to 9. Since the semiconductor nonvolatile memories FL0 to FL9 have the input / output units for 10 channels as described above, it is possible to write 80 kB of data by one writing. Therefore, the write buffers WB0 and WB1 each have a storage capacity of 80 kB as described above. Therefore, each of the write buffers WB0 and WB1 can store 16 minimum management units of 5 kB.

同図に例示されているような5kBのライトデータWD1,WD2,WD3が論理アドレス順とは無関係にランダムに入力されると、最初のライトデータWD1はライトバッファWB0の先頭に格納され、第2番目のライトデータWD2は上記ライトデータWD1の次に格納され、第3番目のライトデータWD3は上記ライトデータDW2の次に格納されれる。このように、16個分のライトデータWD1〜WD16(図示せず)が論理アドレスの順序とは無関係にされてライトバッファWB0に入力順に従って書き込まれ、16個目に引き続き17個目以上のライトデータが入力されると、ライトバッファWB1に前記同様に格納される。   When 5 kB write data WD1, WD2, WD3 as illustrated in the figure are randomly input regardless of the logical address order, the first write data WD1 is stored at the head of the write buffer WB0, and the second The third write data WD2 is stored next to the write data WD1, and the third write data WD3 is stored next to the write data DW2. In this manner, 16 pieces of write data WD1 to WD16 (not shown) are written in the write buffer WB0 according to the input order regardless of the order of the logical addresses. When data is input, it is stored in the write buffer WB1 as described above.

ライトバッファWB1へのライトデータの入力と並行して、ライトバッファWB0に格納された80kBのデータは、1ページ(PAGE)分データとして不揮発性メモリFL0〜FL9に書き込まれる。この書き込みの準備動作として、ライトバッファWB0からは前記のように32ビット(4B)の単位で順次にデータが出力されるので、フラッシュ入出力部FICでセクタ毎にデータの分配が行われる。例えば、フラッシュインターフェイスライトデータWD1の10進法での最下位桁0に対応した論理アドレスのセクタがチャネル0に対応した不揮発性メモリFL0に、同様な最下位桁1に対応した論理アドレスのセクタがチャネル1に対応した不揮発性メモリFL1に、以下同様に最下位桁9に対応した論理アドレスのセクタがチャネル9に対応した不揮発性メモリFL9にそれぞれ入力される。ライトデータWD2,WD3においても、前記ライトデータWD1と同様にして不揮発性メモリFL0〜9に入力される。   In parallel with the input of the write data to the write buffer WB1, the 80 kB data stored in the write buffer WB0 is written into the nonvolatile memories FL0 to FL9 as one page (PAGE) data. As a write preparatory operation, data is sequentially output from the write buffer WB0 in units of 32 bits (4B) as described above, so that data is distributed for each sector by the flash input / output unit FIC. For example, the sector of the logical address corresponding to the least significant digit 0 in the decimal notation of the flash interface write data WD1 is in the nonvolatile memory FL0 corresponding to the channel 0 and the sector of the logical address corresponding to the least significant digit 1 is the same. Similarly, the sector of the logical address corresponding to the least significant digit 9 is input to the nonvolatile memory FL9 corresponding to the channel 9 in the nonvolatile memory FL1 corresponding to the channel 9 in the same manner. The write data WD2 and WD3 are also input to the nonvolatile memories FL0 to 9 in the same manner as the write data WD1.

この実施例では、不揮発性メモリの物理アドレスBidxは、0〜maxまでのアドレス空間を有し、各物理アドレスにより1ページ(PAGE)分のデータを指定する。通常メモリアドレスは、2進のアドレス信号により指定される。したがって、SSDの最小管理単位も4セクタや8セクタのように2進の重みに対応して設定することが考えられる。例えば8セクタ(4kB)を最小管理単位とし、8チャンネルの不揮発性メモリFL0〜7を用いて1ページ(PAGE)を64kB(128セクタ)とすることもできる。この場合には、ホスト論理アドレス空間に対して物理アドレス空間は、前記最小管理単位により1/8(3ビット分)に縮小され、16個の最小管理単位により1ページが構成されるので更に1/16(4ビット分)に縮小されることになる。この結果、ホスト論理アドレス空間と不揮発性メモリの物理アドレス空間とが縮小された形態で一致し、前記図9で説明したようなランダムライトアクセスのためのフリー部分や代替(不良救済)を設けるために物理アドレスに拡張ビットを付加しなければならない。   In this embodiment, the physical address Bidx of the nonvolatile memory has an address space from 0 to max, and data for one page (PAGE) is designated by each physical address. A normal memory address is designated by a binary address signal. Therefore, it is conceivable that the minimum management unit of the SSD is set corresponding to the binary weight, such as 4 sectors or 8 sectors. For example, 8 sectors (4 kB) can be set as the minimum management unit, and one page (PAGE) can be set to 64 kB (128 sectors) using the 8-channel nonvolatile memories FL0 to 7. In this case, the physical address space with respect to the host logical address space is reduced to 1/8 (for 3 bits) by the minimum management unit, and one page is constituted by 16 minimum management units. / 16 (4 bits). As a result, the host logical address space and the physical address space of the non-volatile memory coincide with each other in a reduced form, and a free portion or a replacement (defective relief) for random write access as described with reference to FIG. 9 is provided. An extension bit must be added to the physical address.

この実施例のように最小管理単位を10セクタのように設定し、それに対応して10チャネルの不揮発性メモリFL0〜9として1ページ当たりのセクタ数を10×16=160個のように増加させることにより、前記8セクタ(4kB)を最小管理単位とした場合の物理アドレス空間内に、ホスト論理アドレス空間に格納される全データを記憶することができる記憶領域の他に余分の記憶領域を設けることができる。この記憶領域は、前記ランダムライトアクセスのためのフリー部分や代替分(不良救済)とシステム検索領域として使用される。すなわち、この実施例の物理アドレス空間は、ページ0(PAGE0)から最終ページ(max)までがシステム検索領域、初期割当領域、初期未使用領域及び代替分が割り当てられる。初期割当領域は、前記データ領域(論理アドレス割当分)であり、ホスト論理アドレス空間の全データが格納可能な記憶容量を持つ。そして、前記のような最小管理単位により生成した記憶領域が、上記初期未使用領域及び代替分に振り分けられる。   As in this embodiment, the minimum management unit is set to 10 sectors, and the number of sectors per page is increased to 10 × 16 = 160 corresponding to the 10-channel nonvolatile memories FL0 to 9 correspondingly. Thus, an extra storage area is provided in addition to the storage area capable of storing all data stored in the host logical address space in the physical address space when the 8 sectors (4 kB) are set as the minimum management unit. be able to. This storage area is used as a free part for the random write access, an alternative part (defective relief), and a system search area. That is, in the physical address space of this embodiment, the system search area, the initial allocation area, the initial unused area, and the alternative are allocated from page 0 (PAGE 0) to the last page (max). The initial allocation area is the data area (for logical address allocation) and has a storage capacity capable of storing all data in the host logical address space. Then, the storage area generated by the minimum management unit as described above is allocated to the initial unused area and the alternative part.

不揮発性メモリの前記各領域は、消去単位群として全体が示されているように複数の消去単位から構成され、消去単位の先頭は、ブロックアドレスBidx0とされる。同図において、代表として3つの消去単位がハッチャングが付されて、それぞれにブロックアドレスBidxP,ブロックアドレスBidxR,ブロックアドレスBidxQとして例示されている。   Each area of the non-volatile memory is composed of a plurality of erase units as shown as a whole as an erase unit group, and the head of the erase unit is a block address Bidx0. In the figure, as a representative, three erase units are hatched, and are illustrated as a block address BidxP, a block address BidxR, and a block address BidxQ, respectively.

1つの消去単位(BST)は、ページ(PAGE)0から63までの64ページを持つようにされる。1ページ(PAGE)には、80kB(160セクタ)が割り当てられるから、1つの消去単位には約5MB(メガバイト)にされる。ランダムライトアクセスにおいては、消去単位(BST)は、現書込先BidxQと、次フリー候補BidxP及びフリー(未使用)BidxRの3個分が用意されている。   One erase unit (BST) has 64 pages from page (PAGE) 0 to 63. Since one page (PAGE) is allocated with 80 kB (160 sectors), one erase unit is set to about 5 MB (megabytes). In random write access, three erasure units (BST) are prepared: a current write destination BidxQ, a next free candidate BidxP, and a free (unused) BidxR.

現書込先BidxQには、前記のようにランダムライトアクセスによるライトデータWD1,WD2,WD3がライトバッファWB0を介してページ単位で書き込まれる。ライトバッファWB1に格納されたライトデータは、次のページに書き込まれる。このようにライトバッファWB0とWB1に格納された1ページ分(80kB)が現書込先BidxQに矢印で示したように順次にキャッシュアウトされる。したがって、ホスト論理アドレスで指定されるライトデータWD0〜WD3は、それぞれが書き込まれたライトバッファWB0の格納位置情報、かかるライトバッファWB0の書込先の消去単位BidxQのブロックアドレス情報及びページ情報PAGEにより特定された物理アドレスがそれぞれに割当られる。このような物理アドレスへの変換情報は、上記ライトバッファWB0へのライトデータWD1,WD2,WD3等の書込毎に生成され、半導体揮発性メモリSDRAMの変換テーブルに書き込まれる。   As described above, write data WD1, WD2, and WD3 by random write access are written to the current write destination BidxQ in units of pages via the write buffer WB0. The write data stored in the write buffer WB1 is written to the next page. In this way, one page (80 kB) stored in the write buffers WB0 and WB1 is sequentially cached to the current write destination BidxQ as indicated by an arrow. Therefore, the write data WD0 to WD3 specified by the host logical address is based on the storage position information of the write buffer WB0 into which each is written, the block address information of the erase unit BidxQ of the write destination of the write buffer WB0, and the page information PAGE. The identified physical address is assigned to each. Such conversion information to the physical address is generated every time the write data WD1, WD2, WD3, etc. are written to the write buffer WB0, and written into the conversion table of the semiconductor volatile memory SDRAM.

ライトバッファWB0に既にライトデータWD1が格納されている状態でホスト側から更新されたライトデータWD1’が再度入力されると、ライトバッフWB1での書き換えが行われる。これにより、更新されたライトデータWD1’によって無効となるライトデータWD1をフラッシュメモリに書き込んでしまうという無駄が無くなる。   When the updated write data WD1 'is input again from the host side while the write data WD1 is already stored in the write buffer WB0, rewriting in the write buffer WB1 is performed. This eliminates the waste of writing write data WD1 that is invalidated by the updated write data WD1 'to the flash memory.

現書込先ブロックBidxQにおいて、最終ページの1つ前のページ62までのキャッシュアウトされると、逆引きバッファBUFに格納されている逆引き情報位置を最終ページ63に格納して現書込先ブロックBidxQを閉じる。予め確保されているフリー(未使用)BidxRの消去を開始する。この消去中に次フリー候補をシステム検索領域や代替分を除いた消去単位群(初期割当領域+初期未使用領域)の中から論理アドレスとのアドレス関係制約なくフラットに検索する。この検索は、有効データ量の最も少ないものが選ばれる。つまり、前記ランダムライトアクセスによるキャッシュアウトによって無効となるデータが発生するので、有効データが最も少ないものは、逆に言えば書き換えによって無効データにされたものが多数発生したものが選ばれる。同図では、次フリー候補BidxPが検索された。このような検索動作は、例えばCPUを用いて行うようにすることもできるが、高速に行うようにするためにために、図1の実施例のようにフリーブロック検索エンジンを構成する専用制御回路LOG1が設けられている。   When the current write destination block BidxQ is cached out to the page 62 immediately before the last page, the reverse lookup information position stored in the reverse lookup buffer BUF is stored in the last page 63 and the current write destination. Close block BidxQ. Erasure of free (unused) BidxR secured in advance is started. During this erasure, the next free candidate is searched flatly from the erasure unit group (initial allocation area + initial unused area) excluding the system search area and the alternative, without any address relation with the logical address. This search is selected with the least amount of valid data. In other words, invalid data is generated by the cache-out by the random write access. Therefore, the data having the least valid data is selected, in other words, the one in which many invalid data are generated by rewriting. In the figure, the next free candidate BidxP is searched. Such a search operation can be performed using, for example, a CPU, but in order to perform it at a high speed, a dedicated control circuit constituting a free block search engine as in the embodiment of FIG. LOG1 is provided.

前記フリー(未使用)BidxRの消去が完了すると、上記検索された次フリー候補BidxPにハッチャングで示された有効データがライトバッファWB0,WB1に読み出され、消去完了のフリー(未使用)BidxRに順次に書き込まれる。このような有効データの移動に対応してアドレス変換テーブルも更新される。つまり、ブロックアドレスがBidxPは、BidxRに変更され、ライトバッファの格納位置及びページアドレスも変更される。この実施例では、このような消去単位間での有効データの移し替えをコンパクション動作と呼ぶ。この時、移動される最小管理単位が1ページに満たないときには、つまり、同図に異なるハッチャングで示した2つの最小管理単位については、ライトバッファWB0(又はWB1)に残される。フリー(未使用)BidxRは、同図では3ページ分に書き込まれた状態で、新しい現書込先とされる。このようなコンパクション動作は、例えばCPUを用いて行うようにすることもできるが、高速に行うようにするためにために、図1の実施例のようにコンパクションエンジンを構成する専用制御回路LOG3が設けられている。   When the erasure of the free (unused) BidxR is completed, valid data indicated by hatching in the searched next free candidate BidxP is read to the write buffers WB0 and WB1, and the erasure complete free (unused) BidxR is read. Written sequentially. Corresponding to such movement of valid data, the address conversion table is also updated. That is, the block address BidxP is changed to BidxR, and the storage position and page address of the write buffer are also changed. In this embodiment, such transfer of valid data between erase units is called a compaction operation. At this time, when the minimum management unit to be moved is less than one page, that is, two minimum management units indicated by different hatching in the figure are left in the write buffer WB0 (or WB1). The free (unused) BidxR is set as a new current writing destination in a state where it is written in three pages in FIG. Such a compaction operation can be performed using, for example, a CPU. However, in order to perform the compaction operation at high speed, a dedicated control circuit LOG3 constituting the compaction engine as in the embodiment of FIG. Is provided.

ライトバッファWB0(又はWB1)には、上記のように移動できずに残された2つの最小管理単位が存在するので、ランダムライトアクセスによるホスト側からのライトデータは2つの最小管理単位の後に順に入力され、2つの最小管理単位を含めて16個の1ページ分となったとき、つまりはランダムライトアクセスに14個分の最小管理単位が入力されたときに上記新しい現書込先BidxRの第4ページ目に書き込まれる。そして、上記次フリー候補BidxPは、新しいフリー(未使用)になる。この実施例のSSDのランダムライトアクセスにおいては、上記3種類の消去単位を消去単位群(初期割当領域+初期未使用領域)の中から論理アドレスとのアドレス関係制約なくフラットに更新される。このように、ホスト論理アドレスと不揮発性メモリの物理アドレスの関係制約を無くし、不揮発性メモリの領域全体から各消去単位(消去ブロック)内の空きページへ書込みが可能であるようなアドレス管理とすることにより、消去動作の発生頻度を少なくし、平均ライトアクセス時間の改善を図ることができる。   Since the write buffer WB0 (or WB1) has two minimum management units that cannot be moved as described above, the write data from the host side by random write access is in order after the two minimum management units. When there are 16 one page including two minimum management units, that is, when 14 minimum management units for random write access are input, the new current write destination BidxR The fourth page is written. Then, the next free candidate BidxP becomes a new free (unused). In the random write access of the SSD of this embodiment, the above three types of erase units are updated flat from the erase unit group (initial allocation area + initial unused area) without restrictions on the address relationship with the logical address. In this way, address management is performed so that the relationship between the host logical address and the physical address of the nonvolatile memory is eliminated, and writing to an empty page in each erase unit (erase block) from the entire area of the nonvolatile memory is possible. As a result, the frequency of occurrence of the erase operation can be reduced, and the average write access time can be improved.

発明の理解を容易にするため、単純にホスト側から最小管理単位でランダムライトアクセスが行われた例を説明したが、実際にはホスト側からは論理アドレスに対応した1セクタで書き込むこと、あるいは複数の任意のセクタ数に対してアクセスすることは当然ある。この結果、最小管理単位内の1ないし数セクタ、あるいは最小管理単位を跨ぐ数セクタでのランダムライトアクセスが発生する。   In order to facilitate the understanding of the invention, the example in which random write access is simply performed from the host side in the minimum management unit has been described, but in fact, the host side writes in one sector corresponding to the logical address, or It is natural to access a plurality of arbitrary sectors. As a result, random write access occurs in one to several sectors in the minimum management unit or in several sectors across the minimum management unit.

ホスト側からはライトデータの任意の先頭論理アドレスとセクタ数Nが入力される。したがって、ライトバッァWB0等には、最小管理単位の持つ前記0〜9のアドレスのうち、上記先頭の論理アドレスに対応した0〜9のうちいずれか1つを指定して上記セクタ数に対応して9まで順次に書き込まれる。セクタ数Nが当該最小管理単位を超えるときには、次の最小管理単位に残りのセクタが0から順に入力される。この結果、ライトバッァWB0等においては、前記のようなランダムライトアクセスによって最小管理単位に無効データ(無効セクタ)が含まれるものが発生する。このため、フラッシュメモリへの1ページ分の書き込みの際に、当該最小管理単位の以前の記憶情報(10セクタ分)をフラッシュメモリから読み出し、上記ランダムライトアクセスによって入力された更新データを除いた無効データ部分に対応したセクタデータがコピーされる。このような置き換えによって、ライトバッァWB0等には最小管理単位毎に常に最新データ(更新データ)が格納され、前記のような現書込先とされるフラッシュメモリに書き込まれる。このうな書き込み動作に対応して上記フラッシュメモリにおける以前のコピー元の最小管理単位は無効にされる。   An arbitrary head logical address and the number of sectors N of the write data are input from the host side. Therefore, in the write buffer WB0, etc., one of 0 to 9 corresponding to the top logical address is designated from among the 0 to 9 addresses that the minimum management unit has, so as to correspond to the number of sectors. 9 are sequentially written. When the number of sectors N exceeds the minimum management unit, the remaining sectors are sequentially input from 0 in the next minimum management unit. As a result, in the write buffer WB0 or the like, there is a case in which invalid data (invalid sector) is included in the minimum management unit by the random write access as described above. For this reason, when writing one page to the flash memory, the previous storage information (for 10 sectors) of the minimum management unit is read from the flash memory, and invalid except for the update data input by the random write access. Sector data corresponding to the data portion is copied. By such replacement, the latest data (update data) is always stored in the write buffer WB0 and the like for each minimum management unit, and written into the flash memory as the current write destination as described above. Corresponding to such a write operation, the minimum management unit of the previous copy source in the flash memory is invalidated.

前記論理アドレスと物理アドレスとは、最小管理単位毎の物理アドレスに対応した変換テーブルを作成すればよい。1つの最小管理単位毎には、固定的にセクタは順に並んで記憶されるので、最小管理単位毎の物理アドレスがわかれば、その中に記憶された1つのセクタを特定することができる。最も簡単な変換テーブルは、前記10セクタ分の論理アドレスに対応して、物理アドレスを検索するようなテーブルを作成すればよい。しかしながら、32GBのような記憶容量を持つ論理アドレス空間に対して直接に変換するアドレス変換テーブルを生成するは、前記半導体揮発性メモリSDRAMの記憶容量が増大してしまう。このようなアドレス変換のためのテーブル検索は、CPUを用いて行うようにすることもできるが、高速動作化のために、図1の実施例のようにテーブル検索エンジンを構成する専用制御回路LOG2が設けられている。   For the logical address and the physical address, a conversion table corresponding to the physical address for each minimum management unit may be created. For each minimum management unit, the sectors are fixedly stored in order, so if the physical address for each minimum management unit is known, one sector stored therein can be specified. The simplest conversion table may be a table that searches for a physical address corresponding to the logical address of 10 sectors. However, generating an address conversion table that directly converts a logical address space having a storage capacity such as 32 GB increases the storage capacity of the semiconductor volatile memory SDRAM. Such a table search for address conversion can be performed using a CPU. However, in order to increase the operation speed, a dedicated control circuit LOG2 constituting the table search engine as in the embodiment of FIG. Is provided.

図3には、この発明に係る記憶装置SSDにおけるアドレス変換テーブルの一実施例の説明図が示されている。この実施例の管理テーブルは、次のように5種類から構成される。PAPATは、ページアドレス物理アドレステーブルであり、ホスト論理アドレス(HLBA)に対応するアドレス変換テーブルの格納先を示す。PAPATは、ホスト論理アドレス640kB分(5kB×128)の物理格納先を4Bで示す。このPAPATは、不揮発性メモリ(フラッシュメモリに)に格納せず、起動時にPATとBSTから揮発性メモリSDRAMに構築し、動作中は揮発性メモリSDRAMにて最新情報を常時管理する。   FIG. 3 shows an explanatory diagram of an embodiment of the address conversion table in the storage device SSD according to the present invention. The management table of this embodiment is composed of five types as follows. PAPAT is a page address physical address table and indicates a storage destination of an address conversion table corresponding to a host logical address (HLBA). PAPAT indicates the physical storage destination of the host logical address 640 kB (5 kB × 128) by 4B. This PAPAT is not stored in the non-volatile memory (in the flash memory), but is constructed from the PAT and BST to the volatile memory SDRAM at the time of startup, and the latest information is always managed in the volatile memory SDRAM during operation.

PATは、ページアドレステーブルであり、ホスト論理アドレスの物理アドレスを示す。このPATは、不揮発性メモリ(フラッシュメモリに)格納され、必要に応じて揮発性メモリSDRAMにリードされる。   PAT is a page address table and indicates a physical address of a host logical address. This PAT is stored in a non-volatile memory (in a flash memory), and is read into a volatile memory SDRAM as necessary.

BSTは、ブロック状態テーブルであり、不揮発性メモリの消去単位(ブロック)を複数まとめた管理情報である。BSTは、起動時に全てが展開され、揮発性メモリSDRAM上で最新情報を常時管理し、不揮発性メモリにも格納する。   BST is a block state table, and is management information in which a plurality of erase units (blocks) of the nonvolatile memory are collected. All of the BSTs are expanded at the time of startup, and the latest information is always managed on the volatile memory SDRAM and is also stored in the nonvolatile memory.

UDRVSは、ユーザデータ逆引き情報であり、前記のようなフリー(未使用)の消去単位を生成するためのユーザデータ用の消去単位(ブロック)の移し替え(コンパクション)時,消去単位中のどの最小管理単位が有効か判定するためのテーブルへのPAPATインデックスとPAT内インデックス(バックポインタ情報)であり、前記図2の消去単位の最終ページ63にまとめて記憶される。   UDRVS is user data reverse lookup information, and when erasure unit (block) for user data for generating a free (unused) erasure unit as described above is transferred (compaction), which one in the erasure unit A PAPAT index and an index within PAT (back pointer information) for determining whether or not the minimum management unit is valid are stored together on the last page 63 of the erase unit in FIG.

TRVSは、テーブル逆引き情報であり、テーブル用消去単位(ブロック)の前記移し替え(コンパクション)時、消去単位中に書き込んだPAT/BSTテーブル(512B)のPAT/BSTインデックス(バックポインタ)情報である。各ページPAGE毎と各消去単位毎の最終ページ63にまとめて格納される。各ページPAGEにおいては、前記のように10×16=160個のセクタが格納されるが、最後の160番目のセクタに上記テーブル逆引き情報が格納される。   TRVS is table reverse lookup information, which is PAT / BST index (back pointer) information of the PAT / BST table (512B) written in the erase unit when the table erase unit (block) is transferred (compacted). is there. The last page 63 is stored together for each page PAGE and each erase unit. In each page PAGE, 10 × 16 = 160 sectors are stored as described above, but the table reverse lookup information is stored in the last 160th sector.

図3において、変換対象のホスト論理アドレスHLBAxは、最小管理単位(5kB)×128のホストページアドレスHPAxに変換される。揮発性メモリに全展開されているPAPATのHPAxで指定されたアドレスには、BSTインデックスが格納されており、これを参照するとPATの物理格納先情報(ページ情報とBSTインデックス)を取得することができる。揮発性メモリに全展開されているBSTのBSTインデックスにより指定されたアドレスには、PATの物理先(物理ブロック情報)が取得できる。これらから不揮発性メモリのPAT(512B)をPAT(バッファ)にリードし、HPAxからPAT内インデックスを換算し、HPAxに対応するユーザデータの物理先情報BSTインデックスを取得する。揮発性メモリに全展開されているBSTのBSTインデックスを参照すると、データの物理先(物理ブロック情報)を取得でき、不揮発性メモリのユーザデータに至る。このようなアドレス変換により、ホスト側から目的の1つのユーザデータをリードできる。   In FIG. 3, the host logical address HLBAx to be converted is converted into a host page address HPAx of minimum management unit (5 kB) × 128. The BST index is stored at the address specified by the HPAx of the PAPAT that is fully expanded in the volatile memory. By referring to this, physical storage destination information (page information and BST index) of the PAT can be acquired. it can. The physical destination (physical block information) of the PAT can be acquired at the address specified by the BST index of the BST that is fully expanded in the volatile memory. From these, the PAT (512B) of the nonvolatile memory is read into the PAT (buffer), the PAT index is converted from the HPAx, and the physical destination information BST index of the user data corresponding to the HPAx is obtained. By referring to the BST index of the BST fully expanded in the volatile memory, the physical destination (physical block information) of the data can be acquired, and the user data of the nonvolatile memory is reached. By such address conversion, one target user data can be read from the host side.

図4には、前記図3のPAPATの概念図が示されている。PAPATは、前記のようにPAT(ページアドレステーブル)自体のデバイス物理アドレステーブルであり、PATの全体サイズが大きいために揮発性メモリ(SDRAM)に常駐できない。常駐させるためには、揮発性メモリ(SDRAM)の記憶容量が増大する。そこで、PATのポインタとしてPAPATをRAMに全展開し、PATは必要に応じて不揮発性メモリからのリードを行う。PAPATは、PAT自体の物理先情報を揮発性メモリ(SDRAM)に展開(常駐)したテーブルであり、不揮発性メモリには格納しない。起動時には、PATとBSTから最新判定して揮発性メモリ(SDRAM)に構築する。   FIG. 4 shows a conceptual diagram of the PAPAT of FIG. The PAPAT is a device physical address table of the PAT (page address table) itself as described above, and cannot be resident in the volatile memory (SDRAM) due to the large size of the PAT. In order to be resident, the storage capacity of the volatile memory (SDRAM) increases. Therefore, PAPAT is fully expanded in the RAM as a PAT pointer, and the PAT reads from the nonvolatile memory as necessary. PAPAT is a table in which physical destination information of the PAT itself is expanded (resident) in a volatile memory (SDRAM), and is not stored in the nonvolatile memory. At startup, the latest determination is made from the PAT and BST, and the volatile memory (SDRAM) is constructed.

ホスト論理アドレスは、10セクタ分の最小管理単位毎の物理格納先情報を4Bで示すようにし、例示的に示されている0〜1,127のようなホスト論理アドレスの連続128個分=640kBを1セクタ(512B)の更新単位として扱う。PAPATインデックスは、揮発性メモリ(SDRAM)にHLBA順に全展開状にされてPATの物理先を示す。   For the host logical address, the physical storage destination information for each minimum management unit for 10 sectors is indicated by 4B, and 128 consecutive host logical addresses such as 0 to 1,127 shown as an example = 640 kB Is treated as an update unit of one sector (512B). The PAPAT index is fully expanded in HLBA order in the volatile memory (SDRAM) and indicates the physical destination of the PAT.

アドレス変換のための各種情報は、最新データが1ページ分まとまると逐一不揮発性メモリに書き込まれる。つまり、SDRAMのテーブルにおいて、アドレス変換のための更新データが1ページ分まとまると不揮発性メモリに退避させることにより、電源遮断時等において不揮発性メモリに退避されるべきデータ量を少なくしている。   Various information for address conversion is written to the nonvolatile memory one by one when the latest data is collected for one page. In other words, in the SDRAM table, when update data for address conversion is collected for one page, it is saved in the nonvolatile memory, thereby reducing the amount of data to be saved in the nonvolatile memory when the power is shut off.

図5には、この発明に係る記憶装置SSDの代表的な動作の1つであるランダムライトアクセス動作の一例を説明するためのブロック図が示されている。前記のようにホストHOST側からのライトデータ(1)は、S−ATA〜P−ATA〜ATAC〜RCを通してWB0,1のうちいずれか一方(同図ではWB0)に入力される。このとき、SDRAMにも並列してデータ格納がされる。このWB0に16個分の最小管理単位が記憶され、16個目に引き続き17個目以上のライトデータが入力されると、ライトバッファWB1に前記同様に格納される(図示せず)。WB0に記憶された80kBのデータ(2)は、順次に読み出されてECC回路を通してパリティビットが付加されてフラッシュ入出力部FICを介して10チャンネルに振り分けられて不揮発性メモリFL0〜FL9の現書込先消去単位に書き込まれる。WB1に記憶された80kBのデータについても前記同様である。   FIG. 5 is a block diagram for explaining an example of a random write access operation which is one of typical operations of the storage device SSD according to the present invention. As described above, the write data (1) from the host HOST side is input to one of WB0 and WB0 (WB0 in the figure) through S-ATA to P-ATA to ATAC to RC. At this time, data is also stored in parallel in the SDRAM. 16 minimum management units are stored in WB0, and when 17th or more write data is input subsequently to the 16th, it is stored in the write buffer WB1 in the same manner as described above (not shown). The 80 kB data (2) stored in WB0 is sequentially read out, added with a parity bit through the ECC circuit, distributed to 10 channels via the flash input / output unit FIC, and stored in the nonvolatile memories FL0 to FL9. It is written in the write destination erase unit. The same applies to the 80 kB data stored in WB1.

前記のようにライトデータをSDRAMに並列して書き込みを行うようにすることにより、ホストライトからホストリードのようにホストアクセスが切り替わる場合、SDRAMにWB0,WB1のライトデータが存在するために、ホストライトで使用していたWB0,WB1のライトデータの退避のための時間が不要であり、直ちにWB0,WB1をホストリードで利用することができる。つまり、図7で後述するようにWB0,WB1に不揮発性メモリFL0〜FL9からのリードデータを上書きすることができる。   By writing the write data in parallel to the SDRAM as described above, when the host access is switched from the host write to the host read, the write data of WB0 and WB1 exists in the SDRAM. No time is required for saving the write data of WB0 and WB1 used for writing, and WB0 and WB1 can be immediately used for host read. That is, as will be described later with reference to FIG. 7, read data from the nonvolatile memories FL0 to FL9 can be overwritten on WB0 and WB1.

図6には、この発明に係る記憶装置SSDの代表的な他の動作の1つであるコンパクション動作の一例を説明するためのブロック図が示されている。データ(1)は、不揮発性メモリFL0〜FL9の次フリー候補の消去単位から読み出される有効データであり、ECC回路を通して誤り検出訂正が行われてWB0に蓄積される。このWB0に16個分の最小管理単位が記憶され、16個目に引き続き17個目以上の有効データが入力されると、ライトバッファWB1に前記同様に格納される(図示せず)。WB0に記憶された80kBの有効データ(2)は、順次に読み出されてECC回路を通してパリティビットが付加されてフラッシュ入出力部FICを介して10チャンネルに振り分けられて不揮発性メモリFL0〜FL9のフリー(未使用)消去単位に書き込まれる。WB1に記憶された80kBのデータについても同様である。   FIG. 6 is a block diagram for explaining an example of a compaction operation that is one of other typical operations of the storage device SSD according to the present invention. Data (1) is valid data read from the erase unit of the next free candidate in the nonvolatile memories FL0 to FL9, is subjected to error detection and correction through the ECC circuit, and is stored in WB0. 16 minimum management units are stored in WB0, and when 17th or more valid data is input following the 16th, it is stored in the write buffer WB1 in the same manner (not shown). The 80 kB valid data (2) stored in WB0 is sequentially read out, added with a parity bit through the ECC circuit, distributed to 10 channels via the flash input / output unit FIC, and stored in the nonvolatile memories FL0 to FL9. It is written in a free (unused) erase unit. The same applies to 80 kB data stored in WB1.

図7には、この発明に係る記憶装置SSDの代表的な動作の他の1つであるリード動作の一例を説明するためのブロック図が示されている。データ(1)は、不揮発性メモリFL0〜FL9からホストリード要求範囲に対応した読み出しデータであり、ECC回路を通して誤り検出訂正が行われてWB0に蓄積される。このWB0に蓄積された記憶されたデータ(2)がRC〜ATAC〜P−ATA〜S−ATAを通してホストHOSTに読み出される。   FIG. 7 is a block diagram for explaining an example of a read operation which is another typical operation of the storage device SSD according to the present invention. Data (1) is read data corresponding to the host read request range from the nonvolatile memories FL0 to FL9, is subjected to error detection and correction through the ECC circuit, and is stored in WB0. The stored data (2) stored in WB0 is read out to the host HOST through RC-ATAC-P-ATA-S-ATA.

図8には、この発明に係る記憶装置SSDの一実施例の概略ブロック図が示されている。同図のコントローラ部は、前記図1のコントローラ部に対応し、揮発性メモリは前記SDRAMに対応し、不揮発性メモリは前記FL0〜FL9に対応し、不揮発性メモリI/Fは前記FICに対応している。コントローラ部は、入力回路ATAIFと、CPU及びECCが例示的に示され、論理制御回路LTCに前記RC,WB0,WB1等が含まれる。この実施例は、SSDとして前記図1では省略されている部分の一実施例が開示されている。   FIG. 8 is a schematic block diagram showing one embodiment of the storage device SSD according to the present invention. 1 corresponds to the controller unit of FIG. 1, the volatile memory corresponds to the SDRAM, the nonvolatile memory corresponds to the FL0 to FL9, and the nonvolatile memory I / F corresponds to the FIC. is doing. The controller unit exemplarily includes an input circuit ATAIF, a CPU, and an ECC, and the logic control circuit LTC includes the RC, WB0, WB1, and the like. In this embodiment, an embodiment of a portion omitted in FIG. 1 as an SSD is disclosed.

この実施例のSSDには、電源検出回路PDTと電源遮断時の動作電圧を確保するためのコンデンサCP及びスイッチSWを更に備えている。このコンデンサCPは、システム側において予期しない電源遮断が生じた場合でも、その蓄積電荷によって半導体不揮発性メモリやコントローラ部及び半導体揮発性メモリや電源検出回路に電圧を供給して、半導体不揮発性メモリの中断処理を含めた正常終了状態まで動作電圧や、半導体揮発性メモリの退避させるべきデータを半導体不揮発性メモリに退避させる退避時間を確保できるように動作する。コンデンサCPは、上記のような中断処理やデータ退避が行われるような動作電圧確保のために必要な容量値を持つようにされる。   The SSD of this embodiment further includes a power supply detection circuit PDT, a capacitor CP and a switch SW for securing an operating voltage when the power is shut off. The capacitor CP supplies a voltage to the semiconductor nonvolatile memory, the controller unit, the semiconductor volatile memory, and the power detection circuit by the accumulated charge even when an unexpected power interruption occurs on the system side, and the capacitor CP It operates so as to ensure an operating voltage and a save time for saving data to be saved in the semiconductor volatile memory to the semiconductor nonvolatile memory until a normal end state including the interruption process. The capacitor CP is set to have a capacitance value necessary for securing an operating voltage such that the above interruption processing and data saving are performed.

上記電源検出回路PDTは、マイクロコンピュータ等のようなホスト側からの電源電圧を受けて、その電源投入と電源遮断を検出する。これらの電源投入検出信号と電源遮断検出信号は、電源投入又は電源遮断に対応したコントローラ部からの信号、あるいはコントロール線から供給される制御信号に対応してスイッチSWの制御や半導体不揮発性メモリと半導体揮発性メモリとの間でのデータ転送動作の指示に用いられる。   The power supply detection circuit PDT receives a power supply voltage from the host side such as a microcomputer and detects the power-on and power-off. These power-on detection signal and power-off detection signal are the signals from the controller corresponding to power-on or power-off, or the control of the switch SW and the semiconductor nonvolatile memory in response to the control signal supplied from the control line. It is used to instruct data transfer operations with a semiconductor volatile memory.

スイッチSWは、上記その電源投入と電源遮断を検出信号により切り替えられ、コンデンサCPが電源電圧による充電動作から、その保持電圧を記憶装置SSDの内部回路の動作電圧として供給する動作を行う。上記電源検出回路PDTは、上記コンデンサCPの保持電圧が有効に利用できるようにするために、コンデンサCPで形成された動作電圧がシステム側に逆流してしまうのを防止するような機能も持つものである。最も簡単な構成は、ダイオード等の一方向性素子を通してシステム側からの電源電圧が、記憶装置SSDの電源電圧として上記スイッチSWを通してコンデンサCPにチャージアップされるとともに、コントロール部、半導体不揮発性メモリ、半導体揮発性メモリ、インターフェイス回路I/F及び電源検出回路に伝えられる。   The switch SW is switched between power-on and power-off by a detection signal, and the capacitor CP performs an operation of supplying the holding voltage as an operating voltage of an internal circuit of the storage device SSD from a charging operation by the power supply voltage. The power supply detection circuit PDT also has a function of preventing the operating voltage formed by the capacitor CP from flowing back to the system side so that the holding voltage of the capacitor CP can be used effectively. It is. In the simplest configuration, a power supply voltage from the system side is charged up to the capacitor CP through the switch SW as a power supply voltage of the storage device SSD through a unidirectional element such as a diode, a control unit, a semiconductor nonvolatile memory, It is transmitted to the semiconductor volatile memory, the interface circuit I / F, and the power supply detection circuit.

ホストシステム側において電源遮断等が発生した場合、上記のように電圧検出回路によりコントローラ部及び半導体不揮発性メモリにはコンデンサCPから動作電圧が維持される逆流防止が行われるとともに、インターフェイス回路I/Fが上記システム側からの信号に応答しないように制御され、半導体揮発性メモリに退避データが存在するときには半導体不揮発性メモリの予め決められた退避領域にかかる退避データの退避が行われる。もしも半導体不揮発性メモリへの書き込み動作中ならば、特に制限されないが、リセットコマンドが発行されて半導体不揮発性メモリの書き込み動作が中断処理される。同様に、半導体不揮発性メモリの消去動作中ならばリセットコマンドが発行されて、半導体不揮発性メモリの消去動作も中断処理される。電源遮断時にキャパシタで電圧保持期間中に退避する仕組み以外に、OS等によりホストから電源オフシーケンスで発行する特定コマンドを受けて退避する仕組みも可能である。これら両方を抱き合わせることも可能である。   When a power interruption or the like occurs on the host system side, as described above, the voltage detection circuit prevents backflow in which the operating voltage is maintained from the capacitor CP to the controller unit and the semiconductor nonvolatile memory, and the interface circuit I / F Is controlled so as not to respond to the signal from the system side, and when the save data exists in the semiconductor volatile memory, the save data related to a predetermined save area of the semiconductor nonvolatile memory is saved. If the writing operation to the semiconductor nonvolatile memory is in progress, there is no particular limitation, but a reset command is issued and the writing operation of the semiconductor nonvolatile memory is interrupted. Similarly, if the semiconductor nonvolatile memory is being erased, a reset command is issued and the semiconductor nonvolatile memory is erased. In addition to a mechanism for saving during the voltage holding period with the capacitor when the power is shut off, a mechanism for receiving a specific command issued in a power-off sequence from the host by the OS or the like is also possible. It is also possible to tie both of these together.

この発明に係る記憶装置SSDにおいては、前記のようにライト制御でページアドレスの関係制約を無くし、領域全体から、各消去ブロック内の空きページへ書込みが可能であるようなアドレス管理とする。データライト時は、消去済ブロックを1つ選んでデータを入力順に書込む。消去済ブロックが無い場合は、無効ページ数が最大のブロックから有効データのみを置換領域内のブロックヘ転送、元のブロックのデータを消去、消去済ブロックと置換領域のブロックの論理アドレスを交換、空きページを持った消去ブロックをデータ領域内へ作成することで、フォーマット容量までページ書込みが可能となる。これを繰返すことで、消去動作の発生頻度を最小とし、平均ライトアクセス時間の改善を図ることができる。   In the storage device SSD according to the present invention, as described above, address control is performed such that the page address relation restriction is eliminated by write control, and writing to empty pages in each erase block is possible from the entire area. At the time of data writing, one erased block is selected and data is written in the order of input. If there is no erased block, transfer only valid data from the block with the largest number of invalid pages to the block in the replacement area, erase the original block data, exchange the logical address of the erased block and the replacement area block, and free By creating an erase block having a page in the data area, it is possible to write the page up to the format capacity. By repeating this, the frequency of occurrence of the erase operation can be minimized and the average write access time can be improved.

前記記憶装置SSDを用いてパソコンのOS(オペレーティング・システム)をイントールした場合、記憶装置SSDの特定の論理アドレスの範囲にのみライトアクセスが行われる可能性がある。この場合には、かかる論理アドレス範囲に対応して特定の消去単位間(物理アドレス領域)での前記のような書込/消去が繰り返して行われてしまうことが考えられる。   When a personal computer OS (operating system) is installed using the storage device SSD, there is a possibility that write access is performed only within a specific logical address range of the storage device SSD. In this case, it is conceivable that the write / erase as described above is repeatedly performed between specific erase units (physical address areas) corresponding to the logical address range.

本願発明においては最小管理単位で論理アドレスと物理アドレスを変換することに着目し、ホスト側からのランダムライトアクセスの合間に、例えばCPUにより記憶データの書き換えの無い消去単位に対してランダムあるいは一定の手順に従って1ないし複数の最小管理単位を読み出して、現在使用中のライトバッファWB0(WB1)に書き込む。これにより、当該最小管理単位の論理アドレスを別の物理アドレスが変更され、もとの最小管理単位が無効化される。このような動作をホスト側から書き換えの無いあるいは極端に少ない消去単位に対して繰り返してランダムに実施することにより、このような消去単位においてもいずれは有効データ数が減少し、前記図2の次フリー候補として選ばれることになる。この結果、初期割当領域+初期未使用領域)の全体について、ほぼ均等に分散させて前記書き換え(消去動作)を実施することができ、書き換え回数の制限を実質的に無くすことができる。   In the present invention, paying attention to the conversion of the logical address and the physical address in the minimum management unit, between random write accesses from the host side, for example, random or constant with respect to the erase unit in which the stored data is not rewritten by the CPU. One or more minimum management units are read according to the procedure and written to the write buffer WB0 (WB1) currently in use. Thereby, another physical address is changed from the logical address of the minimum management unit, and the original minimum management unit is invalidated. By repeatedly performing such an operation on the erasure unit without rewriting or extremely small number from the host side, the number of valid data is reduced in any of these erasure units. It will be selected as a free candidate. As a result, the rewriting (erasing operation) can be performed with the entire initial allocation area + initial unused area) being distributed substantially evenly, and the restriction on the number of rewrites can be substantially eliminated.

本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、最小管理単位のセクタ数は、10の他に8等のように2進に対応したものであってよいが、物理アドレス拡張ビットを設けることなく、システム領域や未使用領域、代替領域を設ける上で10等のように2進に対応したセクタ数+αに増加させることが便利である。論理アドレスと物理アドレスの変換テーブルの構成は、前記実施例のような階層的に行うことにより、揮発性メモリに常駐させる変換テーブル情報量を少なくするものであればよい。前記のようなアドレス変換や、アドレス変換のための物理アドレスの更新等の制御は、CPUで行うもの、あるいは専用論理回路により実施するもの等種々の形態をとることができる。   Although the invention made by the present inventor has been specifically described based on the above-described embodiment, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention. For example, the number of sectors in the minimum management unit may correspond to binary, such as 8 in addition to 10, but without providing a physical address extension bit, a system area, an unused area, or an alternative area In providing, it is convenient to increase the number of sectors corresponding to binary +10, such as 10 or the like. The configuration of the conversion table of the logical address and the physical address is not limited as long as the conversion table information amount to be resident in the volatile memory is reduced by performing hierarchically as in the above embodiment. Control such as the above-described address conversion and updating of a physical address for address conversion can take various forms such as those performed by a CPU or those performed by a dedicated logic circuit.

この発明は、一括消去型の半導体不揮発性メモリを用い、HDDと互換性を持つようにされたSSD及び半導体不揮発性メモリの記憶方法に広く利用することができる。   The present invention can be widely used in SSDs and semiconductor nonvolatile memory storage methods that use a batch erase semiconductor nonvolatile memory and are compatible with HDDs.

HOST…ホスト、S−ATA…インターフェイスチップ、P−ATA…入出力回路、ATAC…コントローラ、RC…信号経路切替回路、S1〜S7、SDTAMC…メモリ制御回路、SDRAM…半導体揮発性メモリ、FL0〜FL9…半導体不揮発性メモリ、WB0,WB1…ライトバッファ、CPU…中央処理装置、REG…レジスタ、RAM…メモリ、LOG1〜LOG3…専用論理回路、
WD1〜WD3…ライトデータ、
PDT…電源検出回路、SW…スイッチ、CP…コンデンサ、LTC…論理制御回路。
HOST ... Host, S-ATA ... Interface chip, P-ATA ... I / O circuit, ATAC ... Controller, RC ... Signal path switching circuit, S1-S7, SDTAMC ... Memory control circuit, SDRAM ... Semiconductor volatile memory, FL0-FL9 ... Semiconductor nonvolatile memory, WB0, WB1 ... Write buffer, CPU ... Central processing unit, REG ... Register, RAM ... Memory, LOG1 to LOG3 ... Dedicated logic circuit,
WD1 to WD3 ... write data,
PDT ... Power supply detection circuit, SW ... Switch, CP ... Capacitor, LTC ... Logic control circuit.

Claims (7)

半導体不揮発性メモリと、
半導体揮発性メモリと、
上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラ部とを有し、
上記半導体不揮発性メモリは、
システム検索領域と、
ホスト側からの全ライト状態に対応した初期割当領域と、
初期未使用領域とを有し、
上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位を有し、
上記半導体揮発性メモリは、記憶データに対応したホスト側論理アドレスをそれが格納された上記半導体不揮発性メモリの最新の物理アドレスに変換する変換情報を記憶し、
上記コントローラ部は、
入出力インターフェイスと、
制御論理回路と、
バッファメモリとを有し、
上記制御論理回路は、
上記入出力インターフェイスを介してホスト側から入力された書き込みデータを上記バッファメモリに順次に書き込み、書き込みデータに割り当てられた最小管理単位毎のホスト側論理アドレスと上記半導体不揮発性メモリ側の物理アドレスとの変換情報を生成して上記半導体揮発性メモリに記憶させ第1動作と、
上記第1動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた後にかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける予め割当られた第1の消去単位の未書き込み領域に順次に書き込む第2動作と、
上記第1動作と第2動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換える第3動作と、
上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位の用意する第4動作を行い、
上記最小管理単位は、上記入出力インターフェイスを介して接続されるホスト側の全論理アドレスを複数区分に分割して構成され、順次に並ぶ複数論理アドレス分に対応した記憶データとされる、
記憶装置
A semiconductor nonvolatile memory;
Semiconductor volatile memory,
A controller unit that performs memory access to the semiconductor nonvolatile memory and the semiconductor volatile memory,
The semiconductor nonvolatile memory is
A system search area;
Initial allocation area corresponding to all write states from the host side,
And an initial unused area,
Each of the system search area, the initial allocation area, and the initial unused area has a plurality of erase units,
The semiconductor volatile memory stores conversion information for converting a host-side logical address corresponding to stored data into the latest physical address of the semiconductor nonvolatile memory in which the data is stored,
The controller part
An input / output interface;
A control logic circuit;
Buffer memory,
The control logic circuit is
Write data input from the host side via the input / output interface is sequentially written to the buffer memory, and a host side logical address for each minimum management unit assigned to the write data and a physical address on the semiconductor nonvolatile memory side A conversion operation information and storing it in the semiconductor volatile memory, and a first operation;
After the storage data of the minimum management unit for a plurality of pieces is written to the total storage capacity of the buffer memory by the first operation, all the storage data of the buffer memory is first allocated in the semiconductor nonvolatile memory in advance. A second operation for sequentially writing to an unwritten area of an erase unit;
When there is no unwritten area of the first erase unit by repeating the first operation and the second operation, the initial allocation of the semiconductor nonvolatile memory is performed on condition that there are no two or more unwritten erase units. The effective data in the second erasing unit with the least effective data retrieved from the area and the initial unused area is written in the previously erased or unused third erasing unit, and the conversion information is written. A third operation that updates and replaces the third erase unit with the first erase unit;
The third erase unit that has been erased by batch erasing the second erase unit is prepared, and the initial allocation area and the initial unused area are set in parallel with the erase operation of the second erase unit. Perform a fourth operation to search and prepare a new second erase unit,
The minimum management unit is configured by dividing all logical addresses on the host side connected via the input / output interface into a plurality of sections, and is stored data corresponding to a plurality of logical addresses arranged sequentially.
Storage device
請求項1において、
上記入出力インターフェイスは、ハードディスクドライブ互換性の入出力インターフェイスであり、
上記半導体不揮発性メモリは、NAND型フラッシュメモリであり、
上記半導体揮発性メモリは、シンクロナス・ダイナミック・ランダム・アクセス・メモリであり、
上記コントローラ部は、CPUを含むシステムLSIであり、
上記コントローラ部のバッファメモリは、第1バッファメモリと第2バッファメモリとで構成され、 かかる第1バッファメモリと第2バッファメモリは、
上記第1動作と第2動作において、一方のバッファメモリを用いて上記第2動作が行われるとき他方のバッファメモリを用いて上記第1動作が同時並行して行われることが可能とされ、
上記第3動作において、一方のバッファメモリを用いて上記第2の消去単位における有効データを予め準備されている第3の消去単位に書き込むとき、他方のバッファメモリを用いて上記第2の消去単位における次の有効データの読み込みを行う、
記憶装置。
In claim 1,
The above input / output interface is a hard disk drive compatible input / output interface,
The semiconductor nonvolatile memory is a NAND flash memory,
The semiconductor volatile memory is a synchronous dynamic random access memory,
The controller unit is a system LSI including a CPU,
The buffer memory of the controller unit is composed of a first buffer memory and a second buffer memory, and the first buffer memory and the second buffer memory are
In the first operation and the second operation, when the second operation is performed using one buffer memory, the first operation can be performed in parallel using the other buffer memory.
In the third operation, when the valid data in the second erase unit is written to the third erase unit prepared in advance using one buffer memory, the second erase unit is used using the other buffer memory. Reads the next valid data in
Storage device.
請求項2において、
上記最小管理単位は、順に並ぶ10個の論理アドレスに対応するものであり、
上記半導体不揮発性メモリは、上記最小管理単位における10個の論理アドレスに対応した10個の入出力部を有し、個々の入出力部に対して複数の半導体チップからなる半導体不揮発性メモリが設けられる、
記憶装置。
In claim 2,
The minimum management unit corresponds to 10 logical addresses arranged in order,
The semiconductor non-volatile memory has 10 input / output units corresponding to 10 logical addresses in the minimum management unit, and a semiconductor non-volatile memory including a plurality of semiconductor chips is provided for each input / output unit. Be
Storage device.
請求項1において、
ホスト側の論理アドレスに対応した記憶データが格納された上記半導体不揮発性メモリの物理アドレスを記憶するアドレス変換情報は、
ホスト側論理アドレスに対応するアドレス変換テーブルの格納先を示す第1情報と、
ホスト側論理アドレスの物理アドレスを示す第2情報と、
上記半導体不揮発性メモリの消去単位を管理する第3情報とを含む、
記憶装置。
In claim 1,
Address conversion information for storing a physical address of the semiconductor nonvolatile memory in which stored data corresponding to a logical address on the host side is stored is:
First information indicating a storage destination of an address conversion table corresponding to a host-side logical address;
Second information indicating the physical address of the host-side logical address;
And third information for managing an erase unit of the semiconductor nonvolatile memory,
Storage device.
請求項1ないし4のいずれかにおいて、
電源検出回路と、
電圧保持回路とを更に有し、
上記コントローラ部は、
電源遮断時において上記電源検出回路の電源遮断検出信号により、上記電圧保持回路の保持電圧を上記コントローラ部、半導体揮発性メモリ及び半導体不揮発性メモリの動作電圧に切り替え、上記バッファメモリと上記半導体揮発性メモリの退避対象データを読み出して上記半導体不揮発性メモリに書き込み、
電源投入時において上記電源検出回路の電源投入検出信号により、電源電圧を上記電圧保持回路の入力電圧、上記コントローラ部、半導体揮発性メモリ及び半導体不揮発性メモリの動作電圧として供給し、上記半導体不揮発性メモリに保持された退避対象データを読み出して上記バッファメモリと半導体揮発性メモリに書き込みを行う、
記憶装置。
In any of claims 1 to 4,
A power detection circuit;
A voltage holding circuit;
The controller part
When the power is cut off, the holding voltage of the voltage holding circuit is switched to the operating voltage of the controller unit, the semiconductor volatile memory, and the semiconductor nonvolatile memory by the power interruption detection signal of the power detection circuit, and the buffer memory and the semiconductor volatile Read the data to be saved in the memory and write it to the semiconductor nonvolatile memory,
When the power is turned on, the power supply detection signal of the power supply detection circuit supplies the power supply voltage as the input voltage of the voltage holding circuit, the operation voltage of the controller unit, the semiconductor volatile memory, and the semiconductor nonvolatile memory. Read the save target data held in the memory and write to the buffer memory and the semiconductor volatile memory,
Storage device.
半導体不揮発性メモリを用いた記憶方法であって、
上記半導体不揮発性メモリの記憶領域は、システム検索領域と、ホスト側からの全ライト状態に対応した初期割当領域と、初期未使用領域にとに分けられ、
上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位が設けられ、
ホスト側の全論理アドレスが複数区分に分割されて構成されて順次に並ぶ複数論理アドレス分が最小管理単位に設定され、
第1制御動作は、ホスト側から入力された書き込みデータをバッファメモリに順次に書き込み、かかる書き込みデータの最小管理単位毎のホスト側論理アドレスと書き込み予定の上記半導体不揮発性メモリ側の物理アドレスとのアドレスの変換情報を生成してメモリに記憶し、
第2制御動作は、上記第1制御動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた時点でかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける上記書き込み予定の第1の消去単位の未書き込み領域に順次に書き込み、
第3制御動作は、上記第1制御動作と第2制御動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換え、
第4制御動作は、上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位を用意する、
半導体不揮発性メモリの記憶方法。
A storage method using a semiconductor nonvolatile memory,
The storage area of the semiconductor nonvolatile memory is divided into a system search area, an initial allocation area corresponding to all write states from the host side, and an initial unused area.
Each of the system search area, the initial allocation area, and the initial unused area is provided with a plurality of erase units,
All logical addresses on the host side are divided into a plurality of sections, and a plurality of logical addresses sequentially arranged are set as the minimum management unit.
In the first control operation, write data input from the host side is sequentially written into the buffer memory, and the host side logical address for each minimum management unit of the write data and the physical address on the semiconductor nonvolatile memory side to be written are set. Generate address translation information and store it in memory,
In the second control operation, all the stored data in the buffer memory is written to the semiconductor nonvolatile memory when a plurality of pieces of the storage data of the minimum management unit are written to the total storage capacity of the buffer memory by the first control operation. Sequentially write in the unwritten area of the first erase unit to be written in
The third control operation is performed under the condition that when there is no unwritten area of the first erase unit due to repetition of the first control operation and the second control operation, there are no two or more unwritten erase units. The erased or unused third erase prepared in advance for the valid data in the second erase unit with the least valid data retrieved from the initial allocation area and the initial unused area of the semiconductor nonvolatile memory Writing the unit to update the conversion information, replacing the third erase unit with the first erase unit,
The fourth control operation prepares the third erase unit that has been erased by batch erasing the second erase unit, and in parallel with the erase operation of the second erase unit, And searching for an initial unused area to prepare a new second erasing unit,
Storage method for semiconductor nonvolatile memory.
請求書6において、
上記最小管理単位は、順に並ぶ10個の論理アドレスに対応するものであり、
上記半導体不揮発性メモリは、上記最小管理単位における10個の論理アドレスに対応した10個の入出力部を有し、個々の入出力部に対して複数の半導体チップからなる半導体不揮発性メモリが設けられる、
半導体不揮発性メモリの記憶方法。
In bill 6,
The minimum management unit corresponds to 10 logical addresses arranged in order,
The semiconductor non-volatile memory has 10 input / output units corresponding to 10 logical addresses in the minimum management unit, and a semiconductor non-volatile memory including a plurality of semiconductor chips is provided for each input / output unit. Be
Storage method for semiconductor nonvolatile memory.
JP2009285909A 2009-12-17 2009-12-17 Storage device and storage method for semiconductor nonvolatile memory Pending JP2011128826A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009285909A JP2011128826A (en) 2009-12-17 2009-12-17 Storage device and storage method for semiconductor nonvolatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009285909A JP2011128826A (en) 2009-12-17 2009-12-17 Storage device and storage method for semiconductor nonvolatile memory

Publications (2)

Publication Number Publication Date
JP2011128826A true JP2011128826A (en) 2011-06-30
JP2011128826A5 JP2011128826A5 (en) 2013-01-24

Family

ID=44291365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009285909A Pending JP2011128826A (en) 2009-12-17 2009-12-17 Storage device and storage method for semiconductor nonvolatile memory

Country Status (1)

Country Link
JP (1) JP2011128826A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261897B2 (en) 2017-01-20 2019-04-16 Samsung Electronics Co., Ltd. Tail latency aware foreground garbage collection algorithm
CN110806984A (en) * 2018-08-06 2020-02-18 爱思开海力士有限公司 Apparatus and method for searching for valid data in memory system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218754A (en) * 1996-02-13 1997-08-19 Ekushingu:Kk Data storage system
JP2002288034A (en) * 2001-03-23 2002-10-04 Mitsubishi Electric Corp Semiconductor storage device and its reading and writing method
JP2006252535A (en) * 2005-02-09 2006-09-21 Hitachi Ulsi Systems Co Ltd Storage apparatus
JP2007058840A (en) * 2005-07-29 2007-03-08 Sony Corp Storage device, computer system, and storage system
WO2007105688A1 (en) * 2006-03-16 2007-09-20 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile storage device, and nonvolatile storage system
US20070300037A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Persistent flash memory mapping table

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218754A (en) * 1996-02-13 1997-08-19 Ekushingu:Kk Data storage system
JP2002288034A (en) * 2001-03-23 2002-10-04 Mitsubishi Electric Corp Semiconductor storage device and its reading and writing method
JP2006252535A (en) * 2005-02-09 2006-09-21 Hitachi Ulsi Systems Co Ltd Storage apparatus
JP2007058840A (en) * 2005-07-29 2007-03-08 Sony Corp Storage device, computer system, and storage system
WO2007105688A1 (en) * 2006-03-16 2007-09-20 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile storage device, and nonvolatile storage system
US20070300037A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Persistent flash memory mapping table

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261897B2 (en) 2017-01-20 2019-04-16 Samsung Electronics Co., Ltd. Tail latency aware foreground garbage collection algorithm
CN110806984A (en) * 2018-08-06 2020-02-18 爱思开海力士有限公司 Apparatus and method for searching for valid data in memory system
CN110806984B (en) * 2018-08-06 2023-04-07 爱思开海力士有限公司 Apparatus and method for searching for valid data in memory system

Similar Documents

Publication Publication Date Title
US8688894B2 (en) Page based management of flash storage
JP4524309B2 (en) Memory controller for flash memory
JP5907739B2 (en) Nonvolatile memory device
KR101916206B1 (en) Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
US8738851B2 (en) Device and memory system for swappable memory
US8898371B2 (en) Accessing logical-to-physical address translation data for solid state disks
TWI592800B (en) Memory management method and storage controller using the same
TWI537728B (en) Buffer memory management method, memory control circuit unit and memory storage device
US20120239853A1 (en) Solid state device with allocated flash cache
WO2011073939A1 (en) Data management in solid state storage devices
JP2006515086A (en) Method and apparatus for grouping pages in a block
US11520696B2 (en) Segregating map data among different die sets in a non-volatile memory
TWI463313B (en) Memory management method and memory controller and memory storage device using the same
KR20150018654A (en) Trim mechanism using multi-level mapping in a solid-state media
CN110928487A (en) Storage device and operation method of storage device
CN112099985A (en) Data storage device and non-volatile memory control method
KR20210028729A (en) Logical vs. physical table fragments
JP2012058770A (en) Memory controller, flash memory system equipped with memory controller and control method of flash memory
JP2005115561A (en) Flash rom controller
JP2012068765A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
JP2011128826A (en) Storage device and storage method for semiconductor nonvolatile memory
US11416410B2 (en) Memory system, method of operating the same and data processing system for supporting address translation using host resource
JP2012068764A (en) Memory controller, nonvolatile memory system with memory controller, and control method of nonvolatile memory
JP2011128826A5 (en) Storage device, system LSI, and data processing method
JP2012037971A (en) Memory controller, nonvolatile memory system provided with memory controller, and method for controlling nonvolatile memory

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140312