JP2008299455A - Data storage device and data management method - Google Patents
Data storage device and data management method Download PDFInfo
- Publication number
- JP2008299455A JP2008299455A JP2007142734A JP2007142734A JP2008299455A JP 2008299455 A JP2008299455 A JP 2008299455A JP 2007142734 A JP2007142734 A JP 2007142734A JP 2007142734 A JP2007142734 A JP 2007142734A JP 2008299455 A JP2008299455 A JP 2008299455A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- written
- block
- semiconductor 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
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
Description
本発明は、不揮発性半導体メモリを記憶媒体とし、ホスト機器に着脱自在なデータ記憶装置及びこのデータ記憶装置におけるデータ管理方法に関する。
に関する。
The present invention relates to a data storage device using a nonvolatile semiconductor memory as a storage medium and detachable from a host device, and a data management method in the data storage device.
About.
従来から、NAND型の不揮発性半導体メモリ(フラッシュメモリ)を主たる記憶媒体とし、例えばPC(Personal Computer)や携帯電話機、携帯型AV(Audio/Video)機器等のホスト機器に着脱自在な可搬性のデータ記憶装置(いわゆるメモリカード)が知られている。このメモリカードにおいては、例えばFAT(File Allocation Tables)ファイルシステム等のホスト機器側のファイル管理システムによってデータの書き込み及び読み出しの管理が行われる。また、メモリカード内部では、不揮発性半導体メモリ内の物理領域は複数のブロックに分割され、当該ブロックがデータの消去単位となっている。また、ブロックはさらに複数のページに分割され、当該ページがデータの書き込み及び読み出し単位となっている。 Conventionally, NAND-type non-volatile semiconductor memory (flash memory) has been used as the main storage medium. For example, it is portable and detachable from a host device such as a PC (Personal Computer), a mobile phone, or a portable AV (Audio / Video) device. Data storage devices (so-called memory cards) are known. In this memory card, for example, data writing and reading are managed by a file management system on the host device side such as a FAT (File Allocation Tables) file system. In the memory card, the physical area in the non-volatile semiconductor memory is divided into a plurality of blocks, which are used as data erasure units. The block is further divided into a plurality of pages, and the page is a unit for writing and reading data.
上記ファイル管理システムを用いてデータの書き込み、読み出し及び消去を行う際には、ホスト機器のシステム側から与えられる論理アドレスと、不揮発性半導体メモリ内の上記ページの物理アドレスとが一意に対応していないため、その対応関係をメモリカード内部で管理する必要がある。この管理の方法の一つとして、論理アドレスと物理アドレスとの対応関係を、メモリカード内部の不揮発性半導体メモリ上に記録し、対応関係に変化がある度に更新するという方法がある。しかしながら、この方法では、システム全体の処理速度が低下してしまうという欠点や、処理中の電源切断によって管理情報が消失した場合の復旧が困難であるという欠点がある。 When writing, reading and erasing data using the file management system, the logical address given from the system side of the host device and the physical address of the page in the nonvolatile semiconductor memory uniquely correspond to each other. Therefore, it is necessary to manage the correspondence within the memory card. As one of the management methods, there is a method in which a correspondence relationship between a logical address and a physical address is recorded on a nonvolatile semiconductor memory inside a memory card and updated whenever the correspondence relationship changes. However, this method has a drawback that the processing speed of the entire system is reduced, and that it is difficult to recover when management information is lost due to power-off during processing.
そこで上記欠点を補うための方法として、システムの起動時(電源投入時)等の必要なときに、不揮発性半導体メモリ内部の状態を基に、論理アドレスと物理アドレスとの対応関係を示す変換テーブルを作成するという方法がある(例えば、特許文献1参照)。
しかしながら、上記特許文献1に記載の方法を実現するためには、少なくとも、データが書き込まれている全てのページに対して読み出しを行わなければならないため、莫大な回数の読み出し処理が発生し、システムの処理速度が低下してしまうことになる。
However, in order to realize the method described in
以上のような事情に鑑み、本発明の目的は、不揮発性半導体メモリからデータを読み出す際の処理速度を向上させることが可能なデータ記憶装置及びデータ管理方法を提供することにある。 In view of the circumstances as described above, an object of the present invention is to provide a data storage device and a data management method capable of improving the processing speed when reading data from a nonvolatile semiconductor memory.
上述の課題を解決するため、本発明の主たる観点に係るデータ記憶装置は、ホスト機器に着脱自在なデータ記憶装置であって、前記データの消去単位である複数のブロックに分割され、かつ、前記各ブロックが、前記データの読み出し及び書き込み単位であってそれぞれ冗長領域を有する複数のページに分割された不揮発性の半導体メモリと、前記各ブロックのうち第1のブロックの各ページのうち第1のデータが最後に書き込まれた第1のページの前記冗長領域に、当該第1のデータの書き込み以前に当該第1のデータとは異なる第2のデータが最後に書き込まれた第2のページの前記半導体メモリ上での位置を示す第1の位置情報を記憶するよう制御する制御手段とを具備する。 In order to solve the above-described problem, a data storage device according to a main aspect of the present invention is a data storage device that is detachable from a host device, and is divided into a plurality of blocks that are erasure units of the data, and Each block is a unit for reading and writing data, and is a nonvolatile semiconductor memory divided into a plurality of pages each having a redundant area, and a first of the pages of the first block of the blocks In the redundant area of the first page where data was last written, the second page of the second page where the second data different from the first data was last written before the first data was written And control means for controlling to store first position information indicating a position on the semiconductor memory.
ここでホスト機器とは例えばPC、AV機器、ゲーム機器、ディジタルスチルカメラ、ディジタルビデオカメラ、携帯電話機等の電子機器であり、不揮発性の半導体メモリとは例えばNAND型のメモリであり、データ記憶装置とは例えばいわゆるメモリカード等である。また第1及び第2のデータは、それぞれ複数のページに書き込まれる場合もあり、上記第1及び第2のページはそれらの第1及び第2のデータがそれぞれ最後に書き込まれたページである。また上記第2のページとは、単一のページのみを指す概念ではなく、複数の異なるページであってもよい。この場合上記第2のデータはその各ページに書き込まれた複数の異なるデータである。第1の位置情報は、第2のページの位置が一意に識別できる情報であれば、物理ページ番号(物理アドレス)でも、論理ページ番号(論理アドレス)でもよいし、第1のページからの相対位置を示す情報でも構わない。 Here, the host device is an electronic device such as a PC, an AV device, a game device, a digital still camera, a digital video camera, or a mobile phone, and the non-volatile semiconductor memory is, for example, a NAND memory, and a data storage device Is, for example, a so-called memory card. The first and second data may be written on a plurality of pages, respectively, and the first and second pages are pages where the first and second data are written last. The second page is not a concept indicating only a single page but may be a plurality of different pages. In this case, the second data is a plurality of different data written on each page. The first position information may be a physical page number (physical address) or a logical page number (logical address) as long as the position of the second page can be uniquely identified, or relative to the first page. Information indicating the position may be used.
この構成によれば、第1のデータが最後に書き込まれた第1のページの冗長領域に、第2のデータが最後に書き込まれた第2のページの位置情報が記憶されているため、ホスト機器側は、当該第1のページにアクセスして当該位置情報を参照することで、第2のページに対して読み出し処理を行うことなく、第2のデータのページ位置を把握することができる。また、第2のデータが上記第2のページ以外の複数のページにも書き込まれている場合であっても、当該複数のページの読み出しを行うことなく第2のデータのページ位置を把握することができる。したがって、ホスト機器は、当該位置情報を基に、ホスト機器側から見たデータの論理アドレスと、半導体メモリ内部の物理アドレスとの対応関係を示すアドレス対応情報を即座に構築することができるため、データ記憶装置へアクセスする際のホスト機器側の処理速度を格段に向上させることができる。また、上記アドレス対応情報を半導体メモリ上に予め別途用意しておく必要がないため、ホスト機器の処理中にデータ記憶装置への電源供給が遮断されてしまった場合でも、上記位置情報を基に上記アドレス対応情報を容易に構築することができる。 According to this configuration, since the position information of the second page where the second data is last written is stored in the redundant area of the first page where the first data is written last, the host By accessing the first page and referring to the position information, the device side can grasp the page position of the second data without performing a read process on the second page. In addition, even when the second data is written on a plurality of pages other than the second page, the page position of the second data is grasped without reading the plurality of pages. Can do. Therefore, the host device can immediately construct address correspondence information indicating the correspondence between the logical address of the data viewed from the host device side and the physical address inside the semiconductor memory based on the position information. The processing speed on the host device side when accessing the data storage device can be significantly improved. In addition, since it is not necessary to prepare the address correspondence information on the semiconductor memory in advance, even if the power supply to the data storage device is interrupted during the processing of the host device, the address information is based on the position information. The address correspondence information can be easily constructed.
上記データ記憶装置において、前記制御手段は、前記第1のページの直後の第3のページに前記第2のデータが書き込まれる際に、前記第1の位置情報を基に、前記第3のページの前記冗長領域に、前記第1のデータが最後に書き込まれた前記第1のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶するよう制御してもよい。 In the data storage device, when the second data is written to a third page immediately after the first page, the control unit is configured to use the third page based on the first position information. The redundant area may be controlled to store second position information indicating a position on the semiconductor memory of the first page where the first data is last written.
これにより、新たなページにデータが書き込まれる度に当該ページの冗長領域に新たな位置情報を記憶することができるため、ホスト機器は常に最新の位置情報を基にアドレス対応情報を容易に構築することができる。 As a result, each time data is written to a new page, new position information can be stored in the redundant area of the page, so that the host device always easily constructs address correspondence information based on the latest position information. be able to.
上記データ記憶装置において、前記制御手段は、前記第1のデータの書き込み後に前記第2のデータを書き込む場合であって、前記各ブロックのうち第1のブロック内に前記第2のデータを書き込み可能なページが存在しない場合に、前記第2のデータを前記第1のブロックとは異なる第2のブロックの先頭の第4のページへ書き込み、前記第1のデータを前記第4のページの直後の第5のページへ書き込み、当該第5のページの冗長領域に、前記第2のデータが最後に書き込まれた前記第4のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶し、前記第1のブロックを消去するよう制御しても構わない。 In the data storage device, the control means can write the second data in the first block of the blocks when the second data is written after the first data is written. When there is no new page, the second data is written to the fourth page at the head of the second block different from the first block, and the first data is immediately after the fourth page. Write to the fifth page, and store in the redundant area of the fifth page second position information indicating the position on the semiconductor memory of the fourth page where the second data was last written However, the first block may be controlled to be erased.
これにより、書き込み対象のブロックが移動した場合でも、当該新たなブロックにおいて、最終書き込み対象のページの冗長領域に第2の位置情報を記憶させ、上記アドレス対応情報を構築させることができる。 Thus, even when the write target block moves, the second position information can be stored in the redundant area of the final write target page in the new block, and the address correspondence information can be constructed.
本発明の他の観点に係るデータ管理方法は、データの消去単位である複数のブロックに分割され、かつ、前記各ブロックが、前記データの読み出し及び書き込み単位であってそれぞれ冗長領域を有する複数のページに分割された不揮発性の半導体メモリを有し、ホスト機器に着脱自在なデータ記憶装置におけるデータ管理方法であって、前記各ブロックのうち第1のブロックの各ページのうち第1のデータが最後に書き込まれた第1のページの前記冗長領域に、当該第1のデータの書き込み以前に当該第1のデータとは異なる第2のデータが最後に書き込まれた第2のページの前記半導体メモリ上での位置を示す第1の位置情報を記憶し、前記第1のページの前記冗長領域から前記第1の位置情報を読み出し、前記第1及び第2のデータの、前記半導体メモリ上における位置と、前記ホスト機器により割り当てられた論理空間における位置との対応関係を示す対応情報を生成することを特徴とする。 A data management method according to another aspect of the present invention is divided into a plurality of blocks which are data erasing units, and each of the blocks is a data read / write unit and each has a redundant area. A data management method in a data storage device having a nonvolatile semiconductor memory divided into pages and detachable from a host device, wherein the first data in each page of the first block among the blocks The semiconductor memory of the second page in which second data different from the first data is written last in the redundant area of the first page written last before the first data is written. Storing first position information indicating a position on the first position, reading the first position information from the redundant area of the first page, the first and second data, Serial and position on the semiconductor memory, and generates the correspondence information indicating a correspondence relationship between the position in the logical space assigned by the host device.
この構成により、ホスト機器は、上記第1の位置情報から生成した対応情報を基に第2のデータへ即座にアクセスすることが可能となる。 With this configuration, the host device can immediately access the second data based on the correspondence information generated from the first position information.
上記データ管理方法において、前記第1のページの直後の第3のページに前記第2のデータが書き込まれる際に、前記第1の位置情報を基に、前記第3のページの前記冗長領域に、前記第1のデータが最後に書き込まれた前記第1のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶し、前記記憶された第2の位置情報を基に、前記対応情報を更新するようにしてもよい。 In the data management method, when the second data is written to the third page immediately after the first page, the redundancy information of the third page is stored in the redundant area based on the first position information. , Storing second position information indicating a position on the semiconductor memory of the first page in which the first data was last written, and based on the stored second position information, The correspondence information may be updated.
上記データ管理方法において、前記対応情報を当該データ記憶装置または前記ホスト機器の所定の記憶領域へ記憶し、前記記憶された対応情報を基に前記第2のページから前記第2のデータを読み出し、前記読み出しが終了したときに前記記憶領域から前記対応情報を消去するようにしても構わない。 In the data management method, the correspondence information is stored in a predetermined storage area of the data storage device or the host device, and the second data is read from the second page based on the stored correspondence information, The correspondence information may be erased from the storage area when the reading is completed.
これにより、上記記憶領域の容量を最小限に抑えることができる。 As a result, the capacity of the storage area can be minimized.
上記データ管理方法において、前記第1のデータの書き込み後に前記第2のデータを書き込む場合であって、前記各ブロックのうち第1のブロック内に前記第2のデータを書き込み可能なページが存在しない場合に、前記第2のデータを前記第1のブロックとは異なる第2のブロックの先頭の第4のページへ書き込み、前記第1のデータを前記第4のページの直後の第5のページへ書き込み、前記第5のページの冗長領域に、前記第2のデータが最後に書き込まれた前記第4のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶し、前記第1のブロックを消去し、前記第5のページの前記冗長領域から読み出した前記第2の位置情報を基に前記対応情報を更新するようにしてもよい。 In the data management method, when the second data is written after the first data is written, there is no page in which the second data can be written in the first block among the blocks. In this case, the second data is written to the fourth page at the head of the second block different from the first block, and the first data is written to the fifth page immediately after the fourth page. The second position information indicating the position on the semiconductor memory of the fourth page where the second data was last written is stored in the redundant area of the fifth page for writing, and the first page The corresponding information may be updated based on the second position information read from the redundant area of the fifth page.
以上のように、本発明によれば、不揮発性半導体メモリからデータを読み出す際の処理速度を向上させることができる。 As described above, according to the present invention, it is possible to improve the processing speed when reading data from the nonvolatile semiconductor memory.
以下、本発明の実施の形態を図面に基づき説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は本発明の一実施形態に係るデータ記憶装置の構成を示すブロック図である。
同図に示すように、データ記憶装置10は、不揮発性半導体メモリ1、制御部としてのプロセッサ2、内部RAM3、バッファRAM4、及びインターフェース部5を有する。データ記憶装置10は、例えばカード状の形態のいわゆるメモリカードであり、PCやディジタルカメラ等のホスト機器(図示を省略)に対して抜き差し可能なリムーバブルメモリとして用いられる。
FIG. 1 is a block diagram showing a configuration of a data storage device according to an embodiment of the present invention.
As shown in FIG. 1, the
不揮発性半導体メモリ1は、複数のマルチレベルセルにより構成され、例えば各セルが4値(2ビット)を記憶するNANDフラッシュメモリである。
The
プロセッサ2は、データ記憶装置10の各ブロックを統括的に制御しながら、内部RAM3またはバッファRAM4と不揮発性半導体メモリ1との間でデータ転送を行い、データの読み出し、書き込み及び消去を行う。
The
内部RAM3は、プロセッサ2の作業用の記憶領域として用いられ、例えば、ホスト機器から転送されるプロセッサ2に対する動作制御コマンドや、当該コントロールコマンドを実行する際に必要な諸処のパラメータ、データ記憶装置10内の内部状態等を一時的に記憶する。また内部RAM3は、不揮発性半導体メモリ1から読み出されたデータを再度不揮発性半導体メモリ1へ書き込む際に、当該書き込みデータを一旦蓄える。
The
バッファRAM4は、いわゆるページバッファとして機能し、インターフェース部5を介してホスト機器側から転送された書き込みデータを一旦蓄えると共に、不揮発性半導体メモリ1から読み出されインターフェース部5を介してホスト機器側に転送されるデータを一旦蓄える。
The
インターフェース部5は、ホスト機器のホストインターフェース部11との間のインターフェースを取るためのものである。インターフェース部5は、例えば、シリアルプロトコルにより3本の信号線を用いてデータ転送を行うシリアルインターフェースと、パラレルプロトコルにより6本の信号線を用いてデータ転送を行うパラレルインターフェースとを有する。
The
図2は不揮発性半導体メモリ1における記憶領域の構成を示す図である。
同図に示すように、この記憶領域は、複数のブロック(物理ブロック)21(ブロック0、ブロック1・・・)に分割されている。この各ブロック21はデータの消去単位となる。各ブロック21は、データの書き込み単位または読み出し単位である複数のページ(物理ページ)22(ページ0、ページ1・・・)に分割されている。
FIG. 2 is a diagram showing a configuration of a storage area in the
As shown in the figure, this storage area is divided into a plurality of blocks (physical blocks) 21 (
図3は、1つのブロック21の各ページ22の構成を示した図である。
同図に示すように、1つのブロック21は例えば16個のページ22で構成され、各ページ22は、データ(実データ)の書き込み領域である複数(例えば4個)のセクタ23(セクタ0〜セクタ3)と、エラー訂正符号やその他のメタデータの記憶領域である冗長エリア24とを有している。
FIG. 3 is a diagram showing the configuration of each
As shown in the figure, one
図4は、本実施形態における冗長エリア24に記憶された情報の一例を示した図である。
本実施形態においては、各ブロック21には、予め複数の種類のデータを識別するためのデータID(例えばA〜F)が割り当てられており、各ブロック21の各ページ22には、その割り当てられた何れかのデータIDを有するデータしか書き込めないようになっている。より具体的には、データIDは、ホスト機器により割り当てられた論理空間上での各データの論理ブロックアドレス(LBA:Logical Block Address)に対応付けられている。例えば、データID:A〜Fは、LBA:0〜5に対応している。
FIG. 4 is a diagram showing an example of information stored in the
In the present embodiment, each
同図に示すように、各ページ22の冗長エリア24には、そのページ22に書き込まれているデータのデータIDと、その他の各データIDに対応する最新データ(最後に書き込まれたデータ)が書き込まれたページ22の位置(ページ番号)を示す情報が記憶されている。例えば、同図の例においては、ページ10に書き込まれているデータはデータID:Fを有するデータであり、その他のデータID:A〜Eを有するデータの各最新データは、それぞれページ5、ページ8、ページ9、ページ3、ページ0に書き込まれていることを示している。
As shown in the figure, in the
各ブロック21には、同一のデータIDを有するデータが複数のページ22に書き込まれる場合もあるが、冗長エリア24には、あくまでそれら複数の同一データのうち、最後に書き込まれたデータが書き込まれたページ位置を示す情報が記憶される。すなわち、冗長エリア24には、同一データが書き込まれた複数のページのうち、最大のページ番号が記憶される。同図の例では、同図のページ1、2、5〜7に示された「x」は、それらのページに書き込まれたデータと同一のデータが後のページにも書き込まれていることを示している。
In each
各データIDは、そのページ22に書き込まれているデータを一意に識別できるものであれば、アルファベットのほか、数値であっても、文字列であっても構わない。またその他のデータIDに対応する最新データのページ位置を示す情報は、当該ページ位置が一意に識別できるものであれば、物理ページ番号のほか、論理ページ番号であってもよいし、そのページからの相対位置を示す情報であっても構わない。
Each data ID may be a numerical value or a character string in addition to the alphabet as long as the data written on the
図5は、本実施形態における冗長エリア24に記憶された情報の他の例を示した図である。
同図に示すように、必ずしも各ブロック21に割り当てられたデータIDの全てに対応するデータが存在しない場合もある。同図の例では、このブロック21にはデータID:Aに対応するデータがどのページ22にも存在しないため、ページ10の冗長エリア24には、そのことを示す情報(「nonexistence」)が記憶される。もちろん、何れかのIDに対応するデータが存在しないことを示す情報は、文字列であっても、数字であっても構わない。
FIG. 5 is a diagram showing another example of information stored in the
As shown in the figure, there is a case where data corresponding to all the data IDs assigned to each
次に、上記のように構成されたデータ記憶装置10及びホスト機器の動作について説明する。
Next, operations of the
ホスト機器が各ブロック21にアクセス(読み出し/書き込み)する際には、各ブロック21内部の最終使用(書き込み)済みページの冗長エリア24の情報を読み出し、各ブロックに割り当てられている全てのデータIDに対応するデータがどのページ22に存在しているかを示す対応情報を生成する。本実施形態においては、この対応情報をID/ページマップと称する。なお、最終使用済みページを検索する手法としては、例えば、各ページ22の冗長エリア24に書き込みが発生しているか否かを条件として、各ブロック21の最後のページ(最大のページ番号を有するページ)から前のページへ順に読み出しを行っていく手法(線形検索)や、2分検索、木検索等の周知の手法が用いられる。
When the host device accesses (reads / writes) each
図6は、当該ID/ページマップの例を示した図である。
同図(a)は、各ブロック21に割り当てられたデータIDの全てに対応するデータが存在している場合のID/ページマップ61を示している。この例では、上記図4に示したページ10の冗長エリア24を基に生成されたID/ページマップ61が示されている。
FIG. 6 is a diagram showing an example of the ID / page map.
FIG. 5A shows an ID /
同図(b)は、各ブロック21に割り当てられたデータIDのうちいずれかのIDに対応するデータが存在しない場合のID/ページマップ61を示している。この例では、上記図5に示したページ10の冗長エリア24を基に生成されたID/ページマップ61が示されている。
FIG. 5B shows an ID /
このID/ページマップ61は、ホスト機器の揮発性メモリ(図示せず)上や、データ記憶装置10の内部RAM3に保持され、例えばホスト機器からのアクセスが完了する毎に消去される。また、ID/ページマップ61は、ホスト機器がID/ページマップ61が生成されたブロック21へアクセスする可能性がある間は保持され続けるようにしても構わない。
The ID /
次に、不揮発性半導体メモリ1にアクセス(書き込み/読み出し)がある場合のホスト機器及びデータ記憶装置10の動作についてより詳細に説明する。
Next, operations of the host device and the
図7は、不揮発性半導体メモリ1にデータを書き込む際の動作を示したフローチャートである。
FIG. 7 is a flowchart showing an operation when data is written to the
同図に示すように、ホスト機器は、各ブロック21に書き込みを行うに際し、まず、そのブロック21について既に生成済みのID/ページマップ61が存在するか否かを判断する(ステップ71)。ID/ページマップがまだ生成されていない場合には(No)、書き込みを行うページの直前のページの冗長エリア24を読み出し、当該冗長エリア24に記憶された情報を基にID/ページマップ61を生成する(ステップ72)。
As shown in the figure, when writing to each
次に、ホスト機器は、生成されたID/ページマップ61を、書き込み対象のページに応じて更新する(ステップ73)。このとき、データ記憶装置10は、この更新済みのID/ページマップ61に応じて、書き込み対象のページの冗長エリア24にデータIDとページ位置についての情報を生成する(ステップ74)。
Next, the host device updates the generated ID /
そして、データ記憶装置10は、ホスト機器から指定されたデータと、上記生成した冗長エリア24の情報を、不揮発性半導体メモリ1の書き込み対象のページへ書き込む(ステップ75)。
Then, the
図8は、データの書き込みに際して各ページの冗長エリア24の情報が順次記憶されていく様子を示した図である。
同図(a)に示すように、ブロックNのページ5の冗長エリア24には、データID:Fのデータが書き込まれており、またデータID:A〜Eに対応するデータは、それぞれページ1、ページ2、ページ3、ページ0及びページ4に書き込まれていることを示す情報が記憶されている。この状態から、次のページ6にデータID:Aのデータを書き込む場合には、上記ページ5の冗長エリア24の情報を基に生成されたID/ページマップ61がその書き込みに対応して更新される。
FIG. 8 is a diagram showing a state in which information in the
As shown in FIG. 9A, data ID: F is written in the
そして、同図(b)に示すように、当該更新されたID/ページマップ61を基に、ページ6の冗長エリア24には、当該ページ6にはデータID:Aのデータが書き込まれ、またデータID:B〜Fに対応するデータは、それぞれページ2、ページ3、ページ0、ページ4及びページ5に書き込まれていることを示す情報が記憶される。
Then, as shown in FIG. 6B, based on the updated ID /
この状態から、次のページ7にデータID:Bのデータを書き込む場合にも、同様に上記ページ6の冗長エリア24の情報を基に生成されたID/ページマップ61がその書き込みに対応して更新される。
In this state, when data of data ID: B is written to the next page 7, the ID /
そして、同図(c)に示すように、当該更新されたID/ページマップ61を基に、ページ7の冗長エリア24には、当該ページ7にはデータID:Bのデータが書き込まれ、またデータID:A、C〜Fに対応するデータは、それぞれページ6、ページ3、ページ0、ページ4及びページ5に書き込まれていることを示す情報が記憶される。
Then, as shown in FIG. 6C, based on the updated ID /
以上の動作により、各ページ22にデータの書き込みを行う度に、書き込み対象のページ22の冗長エリア24の情報が更新されていくため、ホスト機器は、最終使用済みページの冗長エリア24を読み出すことで、そのブロック21内のID/ページマップ61を即座に構築し、論理アドレスと物理アドレスとの対応関係を容易に把握することができる。
With the above operation, each time data is written to each
なお、ブロック21内に書き込みを行えるページ22が存在しない場合(全てのページ22に書き込みが行われている場合)には、書き込もうとしているデータを新たな別のブロック21へ書き込み、その後、書き込み対象以外の各データIDを有するデータを古いブロックから当該別のブロック21へコピーし、コピー終了後、古いブロック21のデータを消去する。図9は、この場合に各ページの新たなブロック21の冗長エリア24の情報が更新される様子を示した図である。
If there is no
同図に示すように、データID:Dのデータの書き込み指令が発生し、ブロックNに書き込み可能なページがない場合には、データ記憶装置10は、まず、当該データID:Dのデータを新たなブロックMの先頭のページ0に書き込む。このとき、このページ0への書き込みに対応したID/ページマップ61が生成される。それとともに、同図(a)に示すように、ブロックMのページ0の冗長エリア24には、このページに書き込まれたデータがデータID:Dのデータであり、その他のデータID:A〜C、E及びFに対応するデータはいずれも当該ブロックMには存在しないことを示す情報が記憶される。
As shown in the figure, when a data write command for data ID: D is generated and there is no writable page in block N, the
続いて、ブロックMのページ1にデータID:Aのデータがコピーされる場合には、当該ページ1への書き込みに対応して上記生成されたID/ページマップ61が生成される。それとともに、同図(b)に示すように、ブロックMのページ1の冗長エリア24には、このページに書き込まれたデータはデータID:Aのデータであり、データID:Dのデータはページ0に書き込まれ、その他のデータID:B、C、E及びFに対応するデータはいずれも当該ブロックMには存在しないことを示す情報が記憶される。
Subsequently, when the data of the data ID: A is copied to the
続いて、ブロックMのページ2にデータID:Bのデータがコピーされる場合にも同様に、当該ページ2への書き込みに対応して上記生成されたID/ページマップ61が生成される。それとともに、同図(c)に示すように、ブロックMのページ2の冗長エリア24には、このページに書き込まれたデータはデータID:Bのデータであり、データID:A、Dのデータはそれぞれページ1、0に書き込まれ、その他のデータID:B、C、E及びFに対応するデータはいずれも当該ブロックMには存在しないことを示す情報が記憶される。
Subsequently, when the data of the data ID: B is copied to the
ブロックMのページ3及び4にデータC及びEがそれぞれコピーされる場合にも、当該コピーに応じてID/ページマップ61が更新されるとともに各ページの冗長エリア24の情報も更新されていく(図示せず)。
Even when the data C and E are respectively copied to the
そして、ブロックMのページ5にデータID:Fのデータがコピーされる場合にも、当該ページ5への書き込みに対応して上記生成されたID/ページマップ61が生成される。それとともに、同図(d)に示すように、ブロックMのページ5の冗長エリア24には、このページに書き込まれたデータはデータID:Fのデータであり、データID:A〜Eのデータはそれぞれページ1、ページ2、ページ3、ページ0、ページ4に書き込まれていることを示す情報が記憶される。以上の処理が終了すると、ブロックNは消去される。
When the data with the data ID: F is copied to the
このように、書き込み対象のブロックが変更される場合にも、前のブロックからのコピー処理に応じて各ページ22の冗長エリア24の情報が順次書き込まれていくため、ホスト機器は、各データIDに対応するデータが書き込まれている最新のページ位置を常に把握してID/ページマップ61を即座に構築することができる。なお、新たなブロックへのコピー処理の途中段階のページ(図8の例ではブロックMのページ0〜4)においては、冗長エリア24の情報さえ記憶されていればID/ページマップ61の更新処理は行わなくてもよく、コピー処理が終了した最終ページ(図8の例ではブロックMのページ5)についてのみID/ページマップ61を生成するようにしてもよい。
As described above, even when the block to be written is changed, the information on the
図10は、不揮発性半導体メモリ1に書き込まれたデータを読み込む際の動作を示したフローチャートである。
同図に示すように、データを読み出す場合には、まず、ホスト機器は、読み出し対象のブロック21についてID/ページマップ61が生成されているか否かを判断し(ステップ101)、ID/ページマップ61生成されていない場合(No)には、ホスト機器は、書き込み対象のブロック21の最終使用済みページを検索し、当該ページの冗長エリア24の情報からID/ページマップ61を生成する(ステップ102)。
FIG. 10 is a flowchart showing an operation when reading data written in the
As shown in the figure, when reading data, the host device first determines whether or not the ID /
そして、ホスト機器は、生成されたID/ページマップ61を基に、読み出し対象のデータのページ位置を取得し(ステップ103)、取得したページ位置を基に、読み出し対象のデータを不揮発性半導体メモリ1から読み出す(ステップ104)。 Then, the host device acquires the page position of the data to be read based on the generated ID / page map 61 (step 103), and stores the data to be read based on the acquired page position in the nonvolatile semiconductor memory. 1 is read out (step 104).
このように、ホスト機器は、最終使用済みページの冗長エリア24の情報から即座にID/ページマップ61を生成し、所望のデータへ即座にアクセスすることができる。
As described above, the host device can immediately generate the ID /
本発明は上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。 The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present invention.
上述の実施形態における各ページ22の冗長エリア24の情報は、そのページ22に書き込まれたデータのデータIDと、他のデータIDに対応するデータが書き込まれた最新ページ位置を示す情報であったが、例えば図11に示すように、各ブロック21に割り当てられた全てのデータIDに対応するデータが書き込まれた各最新ページを記憶する形でも構わない。
The information of the
上述の実施形態においては、各ブロック21に割り当てられたデータIDは6個(A〜F)であったが、もちろんこの数に限られるものではなく、冗長エリアの容量に応じて適宜変更することが可能である。
In the above-described embodiment, the number of data IDs assigned to each
上述の実施形態においては、各ブロック21毎にID/ページマップ61を生成及び更新していたが、不揮発性半導体メモリ1の全てのブロック21について生成されたID/ページマップ61を統合した1つのID/ページマップ61を生成するようにしても構わない。
In the above-described embodiment, the ID /
1…不揮発性半導体メモリ
2…プロセッサ
3…内部RAM
4…バッファRAM
5…インターフェース部
10…データ記憶装置
11…インターフェース部
11…ホストインターフェース部
21…ブロック
22…ページ
23…セクタ
24…冗長エリア
61…ID/ページマップ
DESCRIPTION OF
4 ... Buffer RAM
DESCRIPTION OF
Claims (7)
前記データの消去単位である複数のブロックに分割され、かつ、前記各ブロックが、前記データの読み出し及び書き込み単位であってそれぞれ冗長領域を有する複数のページに分割された不揮発性の半導体メモリと、
前記各ブロックのうち第1のブロックの各ページのうち第1のデータが最後に書き込まれた第1のページの前記冗長領域に、当該第1のデータの書き込み以前に当該第1のデータとは異なる第2のデータが最後に書き込まれた第2のページの前記半導体メモリ上での位置を示す第1の位置情報を記憶するよう制御する制御手段と
を具備することを特徴とするデータ記憶装置。 A data storage device that is detachable from a host device,
A non-volatile semiconductor memory that is divided into a plurality of blocks that are data erasing units, and each block is divided into a plurality of pages that are units for reading and writing the data and each have a redundant area;
Among the blocks, the first data is written in the redundant area of the first page in which the first data is written last in each page of the first block. A data storage device comprising: control means for controlling to store first position information indicating a position on the semiconductor memory of a second page in which different second data is written last. .
前記制御手段は、前記第1のページの直後の第3のページに前記第2のデータが書き込まれる際に、前記第1の位置情報を基に、前記第3のページの前記冗長領域に、前記第1のデータが最後に書き込まれた前記第1のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶するよう制御することを特徴とするデータ記憶装置。 The data storage device according to claim 1,
The control means, when the second data is written to the third page immediately after the first page, based on the first position information, in the redundant area of the third page, A data storage device that controls to store second position information indicating a position on the semiconductor memory of the first page in which the first data is written last.
前記制御手段は、前記第1のデータの書き込み後に前記第2のデータを書き込む場合であって、前記各ブロックのうち第1のブロック内に前記第2のデータを書き込み可能なページが存在しない場合に、前記第2のデータを前記第1のブロックとは異なる第2のブロックの先頭の第4のページへ書き込み、前記第1のデータを前記第4のページの直後の第5のページへ書き込み、当該第5のページの冗長領域に、前記第2のデータが最後に書き込まれた前記第4のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶し、前記第1のブロックを消去するよう制御することを特徴とするデータ記憶装置。 The data storage device according to claim 1,
The control means is a case where the second data is written after the first data is written, and there is no page in which the second data can be written in the first block among the blocks. In addition, the second data is written to the fourth page at the head of the second block different from the first block, and the first data is written to the fifth page immediately after the fourth page. In the redundant area of the fifth page, second position information indicating the position on the semiconductor memory of the fourth page where the second data was last written is stored, and the first page A data storage device characterized by controlling to erase a block.
前記各ブロックのうち第1のブロックの各ページのうち第1のデータが最後に書き込まれた第1のページの前記冗長領域に、当該第1のデータの書き込み以前に当該第1のデータとは異なる第2のデータが最後に書き込まれた第2のページの前記半導体メモリ上での位置を示す第1の位置情報を記憶し、
前記第1のページの前記冗長領域から前記第1の位置情報を読み出し、前記第1及び第2のデータの、前記半導体メモリ上における位置と、前記ホスト機器により割り当てられた論理空間における位置との対応関係を示す対応情報を生成する
ことを特徴とするデータ管理方法。 A nonvolatile semiconductor memory is divided into a plurality of blocks, which are data erasing units, and each block is divided into a plurality of pages, each of which is a unit for reading and writing data and has a redundant area. A data management method in a data storage device detachable from a host device,
Among the blocks, the first data is written in the redundant area of the first page in which the first data is written last in each page of the first block. Storing first position information indicating a position on the semiconductor memory of a second page in which different second data is written last;
The first position information is read from the redundant area of the first page, and the position of the first and second data on the semiconductor memory and the position in the logical space allocated by the host device A data management method characterized by generating correspondence information indicating a correspondence relationship.
前記第1のページの直後の第3のページに前記第2のデータが書き込まれる際に、前記第1の位置情報を基に、前記第3のページの前記冗長領域に、前記第1のデータが最後に書き込まれた前記第1のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶し、
前記記憶された第2の位置情報を基に、前記対応情報を更新する
ことを特徴とするデータ管理方法。 The data management method according to claim 4,
When the second data is written to the third page immediately after the first page, the first data is stored in the redundant area of the third page based on the first position information. Storing second position information indicating a position on the semiconductor memory of the first page written last,
The correspondence management information is updated based on the stored second position information. A data management method, comprising:
前記対応情報を当該データ記憶装置または前記ホスト機器の所定の記憶領域へ記憶し、
前記記憶された対応情報を基に前記第2のページから前記第2のデータを読み出し、
前記読み出しが終了したときに前記記憶領域から前記対応情報を消去する
ことを特徴とするデータ管理方法。 A data management method according to claim 4, wherein
Storing the correspondence information in a predetermined storage area of the data storage device or the host device;
Reading the second data from the second page based on the stored correspondence information;
The data management method, wherein the correspondence information is erased from the storage area when the reading is completed.
前記第1のデータの書き込み後に前記第2のデータを書き込む場合であって、前記各ブロックのうち第1のブロック内に前記第2のデータを書き込み可能なページが存在しない場合に、前記第2のデータを前記第1のブロックとは異なる第2のブロックの先頭の第4のページへ書き込み、
前記第1のデータを前記第4のページの直後の第5のページへ書き込み、
前記第5のページの冗長領域に、前記第2のデータが最後に書き込まれた前記第4のページの前記半導体メモリ上での位置を示す第2の位置情報を記憶し、
前記第1のブロックを消去し、
前記第5のページの前記冗長領域から読み出した前記第2の位置情報を基に前記対応情報を更新する
ことを特徴とするデータ管理方法。 The data management method according to claim 4,
In the case where the second data is written after the first data is written, and there is no page in which the second data can be written in the first block among the blocks, the second data is written. Is written to the fourth page at the beginning of the second block different from the first block,
Writing the first data to a fifth page immediately after the fourth page;
Storing, in the redundant area of the fifth page, second position information indicating a position on the semiconductor memory of the fourth page where the second data was last written;
Erasing the first block;
The data management method, wherein the correspondence information is updated based on the second position information read from the redundant area of the fifth page.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007142734A JP2008299455A (en) | 2007-05-30 | 2007-05-30 | Data storage device and data management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007142734A JP2008299455A (en) | 2007-05-30 | 2007-05-30 | Data storage device and data management method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008299455A true JP2008299455A (en) | 2008-12-11 |
Family
ID=40172953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007142734A Pending JP2008299455A (en) | 2007-05-30 | 2007-05-30 | Data storage device and data management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008299455A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157807A (en) * | 2007-12-27 | 2009-07-16 | Tdk Corp | Memory controller, flash memory system provided with memory controller, and method for controlling flash memory |
US9152547B2 (en) | 2009-07-16 | 2015-10-06 | Samsung Electronics Co., Ltd. | Apparatus and method for scratch pad memory management |
CN108701084A (en) * | 2017-01-23 | 2018-10-23 | 美光科技公司 | The processing of partial write block |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004151939A (en) * | 2002-10-30 | 2004-05-27 | Matsushita Electric Ind Co Ltd | Storage device |
JP2006127242A (en) * | 2004-10-29 | 2006-05-18 | Fuji Photo Film Co Ltd | Storage device control unit and program |
-
2007
- 2007-05-30 JP JP2007142734A patent/JP2008299455A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004151939A (en) * | 2002-10-30 | 2004-05-27 | Matsushita Electric Ind Co Ltd | Storage device |
JP2006127242A (en) * | 2004-10-29 | 2006-05-18 | Fuji Photo Film Co Ltd | Storage device control unit and program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157807A (en) * | 2007-12-27 | 2009-07-16 | Tdk Corp | Memory controller, flash memory system provided with memory controller, and method for controlling flash memory |
US9152547B2 (en) | 2009-07-16 | 2015-10-06 | Samsung Electronics Co., Ltd. | Apparatus and method for scratch pad memory management |
CN108701084A (en) * | 2017-01-23 | 2018-10-23 | 美光科技公司 | The processing of partial write block |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9842030B2 (en) | Data storage device and flash memory control method | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
JPWO2007000862A1 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND DATA WRITE METHOD | |
KR100847506B1 (en) | Storage device, memory management method and program | |
JP2009199625A (en) | Memory card, and method for controlling memory card and method for controlling nonvolatile semiconductor memory | |
JP2004127185A (en) | Memory card | |
WO1999030239A1 (en) | Memory and access method | |
JP2012234495A (en) | Flash memory device, memory control device, memory control method and storage system | |
JPWO2009096180A1 (en) | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM | |
JP2006040264A (en) | Control method of memory card, and control method of nonvolatile semiconductor memory | |
JP2008009527A (en) | Memory system | |
US20100318726A1 (en) | Memory system and memory system managing method | |
JP5874525B2 (en) | Control device, storage device, and storage control method | |
JP2008299455A (en) | Data storage device and data management method | |
JP2009259145A (en) | Memory controller, flash memory system provided with memory controller, and method for controlling flash memory | |
US9798470B2 (en) | Memory system for storing and processing translation information | |
JP2012068765A (en) | Memory controller, flash memory system with memory controller, and control method of flash memory | |
JP5949122B2 (en) | Control device, storage device, and storage control method | |
JP5395163B2 (en) | Memory management device and memory area setting method | |
JP2012068764A (en) | Memory controller, nonvolatile memory system with memory controller, and control method of nonvolatile memory | |
JP4308780B2 (en) | Semiconductor memory device, memory controller, and data recording method | |
JP4888333B2 (en) | Flash disk device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120710 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121106 |