JP2010015222A - Memory card - Google Patents
Memory card Download PDFInfo
- Publication number
- JP2010015222A JP2010015222A JP2008172102A JP2008172102A JP2010015222A JP 2010015222 A JP2010015222 A JP 2010015222A JP 2008172102 A JP2008172102 A JP 2008172102A JP 2008172102 A JP2008172102 A JP 2008172102A JP 2010015222 A JP2010015222 A JP 2010015222A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- memory card
- rewriting
- controller
- 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
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本発明は、情報記録媒体、特に不揮発性メモリ素子を用いたメモリカードに関する。 The present invention relates to an information recording medium, and more particularly to a memory card using a nonvolatile memory element.
フラッシュメモリなど書換え可能な不揮発性メモリ素子を内蔵したメモリカードが近年普及しつつあり、メモリカードに用いられるフラッシュメモリの種類としては、大容量で低コストの多値NAND型のフラッシュメモリが使われ始めている。しかし、多値NANDフラッシュメモリは、特許文献1に記載されるように、ある記録領域にデータを書き込む際に記録エラーが発生すると、その記録領域だけでなく、他の記録領域に保持されたデータも変化する(データが壊れる)場合があるという課題がある。 In recent years, memory cards with built-in rewritable non-volatile memory elements such as flash memory are becoming widespread, and the type of flash memory used for the memory card is a large-capacity and low-cost multi-value NAND flash memory. I'm starting. However, as described in Patent Document 1, when a recording error occurs when data is written in a certain recording area, the multi-level NAND flash memory is not only the recording area but also the data held in another recording area. However, there is a problem that the data may change (data may be corrupted).
記録エラー時にデータが壊れる領域は、特許文献1に記載のように、メモリセルを共有するページの関係や、メモリセルの共有範囲などが影響する。従って、記録エラーの発生時にどの記録領域のデータが壊れるかは、メモリカードの内部構成や内部コントローラの制御方法によって異なる。 As described in Patent Document 1, the area where data is destroyed at the time of a recording error is affected by the relationship of pages sharing memory cells, the sharing range of memory cells, and the like. Therefore, which recording area data is destroyed when a recording error occurs differs depending on the internal configuration of the memory card and the control method of the internal controller.
パソコンやカメラ機器などのホスト機器には、様々な品種のメモリカードが装着される。しかし、ホスト機器が個々のメモリカードの内部構成や内部コントローラの制御方法までは把握できない。ホスト機器がメモリカードへのデータ記録時にエラーが発生した場合、エラーが発生した記録領域の他に、メモリカード内の何処の記録領域のデータも壊れたか、ホスト機器が予測することは困難である。ホスト機器から見ると、記録エラーの発生時に、ランダムにどこかのアドレスのデータも壊れた可能性がある、という程度しか把握できない。 Various types of memory cards are installed in host devices such as personal computers and camera devices. However, the host device cannot grasp the internal configuration of each memory card and the control method of the internal controller. If an error occurs when the host device records data on the memory card, it is difficult for the host device to predict whether the data in the recording area in the memory card other than the recording area where the error occurred has been corrupted. . From the perspective of the host device, it is possible to grasp only the extent that data at some address may have been randomly destroyed when a recording error occurs.
また、メモリカードに記録された映像などのデータは、一般にファイルシステムによってファイルとして管理されている。ファイルシステムは、個々のファイルのサイズや記録更新の日時、クラスタやセクタなどの記録領域の使用状況や空き状況などを管理し、これらをファイル管理情報として、映像などのデータと共に記録媒体に記録する。メモリカードが装着されたホスト機器は、このファイル管理情報を頼りに所望のデータにアクセスするため、ファイル管理情報は重要な情報である。 Data such as video recorded on a memory card is generally managed as a file by a file system. The file system manages the size of individual files, the date and time of recording update, the usage status and availability of recording areas such as clusters and sectors, and records these as file management information on a recording medium along with data such as video. . Since the host device with the memory card attached accesses desired data using this file management information, the file management information is important information.
また、フラッシュメモリなどのメモリ素子は書換え可能な回数に上限があり、書換え寿命が存在する。あるメモリカードに対して、これまでに累計で何回の書換えを行なったか、など、書換え回数のカウント値をメモリカード内に保持させれば、カードの書換え寿命を管理することができる。 In addition, a memory device such as a flash memory has an upper limit on the number of times that data can be rewritten, and has a rewriting life. If the count value of the number of rewrites, such as how many times the memory card has been rewritten so far, is held in the memory card, the rewrite life of the card can be managed.
しかし、ホスト機器がメモリカードの書換え回数のカウント値を更新するのは煩雑であり、メモリカード内部のコントローラが自動的に書換えカウント値を更新する方が便利である。ホスト機器は、メモリカードへのデータ書き込みだけをすれば良く、カード内のコントローラが自動的にホストからのデータ書き込み量や書き込み回数に応じた値をメモリカード内のカウント値に加算し更新すれば良い。 However, it is complicated for the host device to update the count value of the number of times of rewriting the memory card, and it is more convenient for the controller inside the memory card to automatically update the rewrite count value. The host device only needs to write data to the memory card, and if the controller in the card automatically adds and updates the value according to the amount of data written from the host and the number of writes to the count value in the memory card. good.
以上のような背景技術を踏まえ、従来のメモリカードについて図5を用いて説明する。
メモリカード300がパソコンやメモリカメラなどのホスト機器に装着されると、インタフェース330を介して、ホスト機器からのデータ書き込み命令やデータ読み出し命令がコントローラ310に指示される。コントローラ310はホスト機器からの命令を解釈し、必要なメモリモジュール321〜324にアクセスし、ホスト機器とメモリモジュール間のデータのやり取りを制御する。ホスト機器からデータの書き込み命令があった場合、コントローラ310はインタフェース330を介してホスト機器から送られてくるデータをメモリモジュール321〜324へ記録するだけでなく、適切なタイミングで、書換え回数のカウント値を更新する。
Based on the above background art, a conventional memory card will be described with reference to FIG.
When the
コントローラ310は制御動作がプログラム可能な構成であったり、または、コントローラ310内にCPUを内蔵したりする場合が多い。このため、コントローラ310の制御プログラムを例えば別メモリモジュール340に格納しておき、メモリカード300の起動時にコントローラ310が別メモリモジュール340からプログラムをロードし、制御動作を開始する。
In many cases, the
メモリカード内のコントローラのプログラムや、前述の書換え回数のカウント値などは、別メモリモジュール340に格納すれば良い。しかし、これらのデータをメモリモジュール321〜324に格納すれば、別メモリモジュール340は不要となり、メモリカードのコストを削減することができる。しかし、この場合次のような課題が発生する。
メモリカードのメモリモジュールに多値NANDフラッシュメモリを用いた場合、同じ多値NANDメモリモジュール上に格納された書換え回数のカウント値を更新する際に記録エラーが発生すると、他の記録領域のデータまで壊れる可能性がある。壊れたデータが前述のファイルシステムのファイル管理情報だった場合、ホスト機器は所望のファイルデータにアクセスできなくなる。また、壊れたデータがメモリカード内のコントローラの制御プログラムだった場合は、コントローラが動作不能となり、メモリカードに格納されたデータにはアクセス不能となる。 When a multi-level NAND flash memory is used for the memory module of the memory card, if a recording error occurs when updating the count value of the number of rewrites stored in the same multi-level NAND memory module, the data in other recording areas There is a possibility of breaking. If the corrupted data is the file management information of the file system, the host device cannot access the desired file data. Further, when the corrupted data is a control program for the controller in the memory card, the controller becomes inoperable and the data stored in the memory card becomes inaccessible.
本発明ではこの課題を解決し、多値NANDフラッシュメモリを用いた場合でも、記録エラーの発生時に、重要なデータまで壊れることを防止することを目的とする。 An object of the present invention is to solve this problem and prevent even important data from being broken when a recording error occurs even when a multi-level NAND flash memory is used.
本発明に係る第1のメモリカードは、記憶領域を構成するn個(nは2以上の整数)の不揮発性メモリモジュールと、n個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含む。メモリカードにおいて、n個のメモリモジュールが所定のサイズ毎にストライピングされる。コントローラは、更新頻度の高いデータを、メモリモジュールのストライピングの順序における第2番目から第n番目までのメモリモジュールのうちのいずれか1つに配置する。更新頻度の高いデータには、メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも1つが含まれる。 A first memory card according to the present invention includes n (n is an integer of 2 or more) nonvolatile memory modules constituting a storage area, and a controller that controls writing and reading of data to the n memory modules. Including. In the memory card, n memory modules are striped every predetermined size. The controller arranges frequently updated data in any one of the second to nth memory modules in the striping order of the memory modules. The frequently updated data includes at least one of information on the number of times of rewriting to the memory card, the amount of rewriting data, the number of rewriting blocks, and the degree of consumption with respect to the rewriting life.
本発明に係る第2のメモリカードは、記憶領域を構成するn個(nは2以上の整数)の不揮発性メモリモジュールと、n個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含む。メモリカードにおいて、n個のメモリモジュールが所定のサイズ毎にストライピングされる。コントローラを動作させるプログラムデータのような重要度の高いデータが、n個のメモリモジュールのうちの少なくとも1つのメモリモジュールに格納される。コントローラは、メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも1つを、プログラムデータを格納したメモリモジュールとは異なるメモリモジュールに配置する。 A second memory card according to the present invention includes n (n is an integer of 2 or more) nonvolatile memory modules constituting a storage area, and a controller that controls writing and reading of data to the n memory modules. Including. In the memory card, n memory modules are striped every predetermined size. Highly important data such as program data for operating the controller is stored in at least one of the n memory modules. The controller arranges at least one of the number of rewrites to the memory card, the amount of rewrite data, the number of rewrite blocks, and the degree of consumption with respect to the rewrite life in a memory module different from the memory module storing the program data.
本発明によれば、メモリカードの書換え回数など、更新頻度の高いデータを、ストライプの先頭を避けて配置するため、多値NANDフラッシュメモリを用いた場合に記録エラーが発生しても、ストライプ単位の先頭のデータは保護される。従って、ファイルシステムの管理情報など、フォルダの先頭領域が保護されることでファイルエントリの破壊の危険性を低減する効果がある。 According to the present invention, data having a high update frequency such as the number of times of rewriting of a memory card is arranged avoiding the head of the stripe, so even if a recording error occurs when a multi-level NAND flash memory is used, the stripe unit Data at the beginning of is protected. Therefore, the risk of destruction of the file entry is reduced by protecting the top area of the folder such as file system management information.
また、メモリカードのコントローラを動かすのに必要なプログラムデータなどの重要度の高いデータが、更新頻度の高いデータと異なるストライプに配置されることで、プログラムデータの破壊の危険性を低減する効果がある。更新頻度の高いデータや、重要度の高いデータを格納するために、別途メモリモジュールを設けて格納する必要がなくなり、余分なコストをかけずにメモリカードを構成することが可能となる。 In addition, because highly important data such as program data required to operate the controller of the memory card is placed in a different stripe from data that is frequently updated, there is an effect of reducing the risk of destruction of program data. is there. In order to store data with high update frequency or data with high importance, there is no need to provide a separate memory module for storage, and a memory card can be configured without extra costs.
以下、本発明の実施形態について、添付の図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
(実施の形態1)
図1は、本発明の実施形態のメモリカードの内部構成を表した図である。図1において、メモリカード200は、メモリカード200の動作制御を行うコントローラ210と、データを記憶するメモリモジュール221〜224と、パソコンやメモリカメラ等のホスト機器との間で通信を行うためのインタフェース230とを備える。メモリモジュール221〜224は多値NAND型フラッシュメモリである。コントローラ210は例えばCPUで構成され、プログラムデータをロードし実行することで所定の機能を実現する。
(Embodiment 1)
FIG. 1 is a diagram showing an internal configuration of a memory card according to an embodiment of the present invention. In FIG. 1, a
メモリカード200がホスト機器のカードスロットに装着されると、インタフェース230を介して、ホスト機器から、データ書き込みや読み出し命令を受信する。コントローラ210はホスト機器からの命令を解釈し、必要なメモリモジュール221〜224にアクセスし、ホスト機器とメモリモジュール間のデータのやり取りを制御する。すなわち、コントローラ210はホスト機器からの命令にしたがいメモリモジュール221〜224に対して書き込みや読み出しを行う。コントローラ210にはメモリモジュール221〜224が並列に接続されており、コントローラ210はデータの書き込みや読み出しを各メモリモジュール221〜224に対して同時(並列)に実行でき、これにより高速なデータ書き込みや読み出しが行なわれる。
When the
このようにコントローラ210に並列に接続されたメモリモジュール221〜224に対して同時にデータ書き込みや読み出しを行なうためには、ホスト機器から見たメモリ空間を適当なサイズ毎に各メモリモジュールに順に割り当てる必要がある。これを一般に「ストライプ」や「ストライピング」と呼ぶ。
As described above, in order to simultaneously write and read data to and from the
図2に、本実施形態におけるメモリカード200の記録領域の割り当てを示す。メモリカードの全記録領域100は、4つのメモリモジュール221〜224により構成される。メモリカードの全記録領域100は通常記録領域131と特殊記録領域130と132に分けられる。
FIG. 2 shows allocation of recording areas of the
特殊記録領域130は領域141〜144を含む。領域141はメモリモジュール221の先頭領域であり、領域142はメモリモジュール222の先頭領域であり、領域143はメモリモジュール223の先頭領域であり、領域144はメモリモジュール224の先頭領域である。また、特殊記録領域132は領域151〜154を含む。領域151はメモリモジュール221の末尾領域であり、領域152はメモリモジュール222の末尾領域であり、領域153はメモリモジュール223の末尾領域であり、領域154はメモリモジュール224の末尾領域である。
The
領域m0〜m99はストライプ単位に区切られた記録領域であり、4つのメモリモジュール221〜224で構成される。ホスト機器から見たメモリ空間110は領域m0〜m99からなる。メモリ空間110はメモリカードの通常記録領域131に対応する。
Areas m0 to m99 are recording areas divided into stripe units, and are composed of four
前述のようにメモリカードの全記録領域100は4つのメモリモジュール221〜224で構成されている。このうち、各メモリモジュール121〜124の先頭部分141〜144と、末尾部分151〜154を除いた残りの部分を通常記録領域131として、ホスト機器へ開放している。ホスト機器からは通常記録領域131が、メモリ空間110として見える。ホスト機器はメモリ空間110に対して、通常の書き込み命令や読み出し命令を使ってアクセスすることができる。一方で、特殊記録領域130、132は、ホスト機器から通常の書き込み命令や読み出し命令ではアクセスできない領域である。ベンダユニークコマンドなどの特殊な命令をホスト機器が発行した場合のみ、特殊記録領域130、132にアクセスすることができる。
As described above, the
通常記録領域131は4つのメモリモジュール221〜224がストライプされており、例えばストライプ単位を8KB(キロバイト)とすると、ストライプ単位に区切られた個々の記録領域m0〜m99は、それぞれ8KBの記録領域となる。ホスト機器はメモリ空間110に対して、例えばm0〜m3の範囲をアクセスすると、メモリカード200内部ではm0〜m3はそれぞれ異なる4つのメモリモジュール121〜124に割り当てられているので、4つのメモリモジュールが同時に動作することが可能となる。この並列動作によって、ホスト機器のアクセス命令に対して高速にデータを読み、書きすることが可能となる。本実施形態においてストライピングの順序は、メモリモジュール221、メモリモジュール222、メモリモジュール223、メモリモジュール224の順とする(以降の実施形態においても同じ)。
In the
図3はメモリカード200をファイルシステムで管理した場合の記録領域を説明した図である。図3において、領域420はファイルシステムの管理単位であり、ファイルエントリ431〜433は、空き領域434〜439を含む。
FIG. 3 is a diagram illustrating a recording area when the
通常、ホスト機器側に搭載されるファイルシステムは、メモリカードの記録領域を所定のサイズからなる管理単位で管理する。ファイルシステムの管理単位420は、ファイルシステムの種類によって呼称が異なり、例えば「セクタ」や「クラスタ」と呼ばれる。また、この管理単位420はファイルシステムの設定によってサイズが異なる。ここでは、一例としてファイルシステムの管理単位420を「クラスタ」と呼び、管理単位420のサイズを32KBとする。ファイルシステムは、1クラスタ(=32KB)の管理単位でメモリカード200の記録領域を管理することになる。前述の図2において、m0〜m99のストライプ単位を8KBとすると、1クラスタは8KBずつ、4つのストライプ単位から構成されることになり、1クラスタ内は、8KBずつ異なるメモリモジュール221〜224に割り当てられることになる。
Usually, the file system mounted on the host device side manages the recording area of the memory card in a management unit having a predetermined size. The file
ここで、ホスト機器のファイルシステムには複数のファイルを格納するフォルダ(またはディレクトリ)の仕組みがあるとする。図3の管理単位420に1つのフォルダを割り当てると、フォルダ内には多数のファイルエントリを格納することができる。ファイルエントリとは、ファイルの名前やサイズ、作成や更新された日時、使用している記録領域など、ファイルに関する種々の情報が含まれたファイルシステムの管理情報のことである。図3では、管理単位420を1つのフォルダとして、その中にファイルエントリ431〜433が格納されている。これはホスト機器から見ると、1つのフォルダに3つのファイルが格納されている状態として見える。図3において、領域434〜439まではフォルダ内の空き領域であり、ここにはファイルエントリは存在しない。
Here, it is assumed that the file system of the host device has a folder (or directory) mechanism for storing a plurality of files. When one folder is assigned to the
ここで、本実施形態のメモリカードは、フラッシュメモリの書換え回数のカウント値など、更新頻度の高いデータを配置する場所に大きな特徴がある。すなわち、本実施形態のメモリカードでは、更新頻度の高いデータをメモリモジュール224の先頭部分144または末尾部分154に配置する。これらの領域144、154は特殊領域であり、ホスト機器から通常の読み出し命令や書き込み命令ではアクセスできない領域である。さらには、これらの領域144、154は、ストライピングの順序で最後のメモリモジュールに位置する。以下ではこの配置による作用を説明する。
Here, the memory card according to the present embodiment has a great feature in a place where data with high update frequency such as a count value of the number of rewrites of the flash memory is arranged. That is, in the memory card of the present embodiment, data with a high update frequency is arranged in the
まず、図2において、メモリモジュール224の先頭部分144、または、末尾部分154は、ホスト機器から見えるメモリ空間110には割り当てられていないため、通常の書き込み命令で上書きされることはない。そこで、先頭部分144、または、末尾部分154に、本メモリカードの書換え回数のカウント値を配置すれば、誤ってホスト機器にカウント値を上書きされる心配はない。また、先頭部分144と末尾部分154は、メモリモジュール224の一部であるため、多値NANDフラッシュメモリ上の領域である。ここに配置された書換え回数のカウント値を図1のコントローラ210が更新する際に、記録エラーが発生する可能性がある。その場合、メモリモジュール224上のいずれかのデータも同時に壊れる可能性がある。仮に、メモリモジュール224の先頭部分144に書換え回数のカウント値を配置した場合に、その更新時に記録エラーが発生し、同じメモリモジュール124上の記録領域m7のデータが壊れたと想定する。ここで、図3に示すように、m7に相当する領域はファイルシステムのフォルダに割り当てられているが、ファイルエントリ情報は存在しない空き領域である。従って、記録領域m7のデータが壊れたとしても、既存のファイルアクセスには何ら影響がないことが分かる。
First, in FIG. 2, the
すなわち、本実施形態のメモリカードでは、更新頻度の高いデータをストライピングの順序の先頭を避けて、なるべくストライピングの順序の最後の方へ配置する。ストライプの先頭に配置することにより、記録エラーの発生時に、ストライプ先頭のメモリモジュール上のどこかのデータが壊れる可能性があり、ファイルシステムの管理単位、この場合は各クラスタの先頭部分が壊れることになる。これは図3において、例えば領域m0やm4が破壊される可能性が高くなり、領域m4が破壊された場合は、ファイルエントリ431〜433が無効なデータとなる。ファイルエントリ情報が無効なデータになると、ホスト機器はメモリカードに格納されたファイルにアクセスすることが不能となる。
That is, in the memory card of the present embodiment, data with a high update frequency is arranged as far as possible in the striping order, avoiding the top of the striping order. By placing it at the beginning of the stripe, if a recording error occurs, some data on the memory module at the beginning of the stripe may be destroyed, and the file system management unit, in this case, the beginning of each cluster may be destroyed. become. In FIG. 3, for example, there is a high possibility that the areas m0 and m4 are destroyed. When the area m4 is destroyed, the
本実施形態では、ファイルシステムの管理単位を32KBとし、メモリカードのストライプ数を4ストライプ、ストライプ単位を8KBとした。仮にファイルエントリが1つあたり32バイトとすると、1つの管理単位32KBに格納可能なファイルエントリ数は、32KB÷32=1024個となる。もし、書換え回数のカウント値など、更新頻度の高いデータをストライピングの順序での最後に配置すれば、先頭のストライプから最後のストライプの1つ前まで、つまり、ストライプ単位3個までは安全であるため、ストライプ3個分のファイルエントリ数、すなわち、768個(=8KB÷32×3個)のファイルエントリまでは、記録エラーによるデータ破壊が避けられる。 In this embodiment, the file system management unit is 32 KB, the number of stripes of the memory card is 4 stripes, and the stripe unit is 8 KB. If the number of file entries is 32 bytes, the number of file entries that can be stored in one management unit 32 KB is 32 KB / 32 = 1024. If data with high update frequency, such as the count value of the number of rewrites, is placed at the end in the striping order, it is safe from the first stripe to the last stripe, that is, up to three stripe units. Therefore, data corruption due to a recording error can be avoided up to the number of file entries for three stripes, that is, up to 768 (= 8 KB / 32 × 3) file entries.
また、図2において、メモリモジュール224の先頭部分144や末尾部分154が、他の目的で使われている場合、更新頻度の高いデータをメモリモジュール223の先頭部分143や末尾部分153に配置する場合も考えられる。この場合はストライピングの順序で3番目に配置されるため、ストライプ単位2個分のファイルエントリ数については本実施形態の効果が得られることになる。ストライプ単位2個分のファイルエントリ数、すなわち、512個(=8KB÷32×2個)のファイルエントリまでは、記録エラーによるデータ破壊が避けられる。
Further, in FIG. 2, when the
同様に、ストライピングの順序の2番目である先頭部分142や末尾部分152に配置した場合も、データ破壊が避けられるファイルエントリ数は少なくなるが、本実施形態の効果を得ることができる。このように、更新頻度の高いデータをストライプの先頭を避けて配置すれば、本実施形態の効果を得ることができる。
Similarly, even when the file is arranged in the
コントローラ210は、メモリモジュール221〜224のストライプ単位やストライピングの順序を制御する。また、コントローラ210は、ホスト機器に対して、各メモリモジュールのどの範囲をメモリ空間として見せるかを制御する。そして、書換え回数のカウント値など更新頻度の高いデータを、ストライピングの順序の先頭を避けて、ストライピングの順序の先頭でないメモリモジュール上の、さらに、ホスト機器にメモリ空間として見せない領域に配置するように制御する。このようなコントローラ210の制御動作は、コントローラに内蔵されたCPUなどのプログラムとして実装することが可能である。これによって、本実施形態のメモリカード200の動作を実現することができる。
The
(実施の形態2)
次に、本発明の第2の実施形態について説明する。本実施形態のメモリカードは実施の形態1と同様に図1に示す構成を有する。図4に、本実施形態のメモリカードの記録領域の割り当てを示す。
(Embodiment 2)
Next, a second embodiment of the present invention will be described. The memory card of the present embodiment has the configuration shown in FIG. FIG. 4 shows allocation of recording areas of the memory card of the present embodiment.
本実施形態では、メモリカード200のコントローラ210のプログラムデータをメモリカード200内のメモリモジュールに配置する方法について説明する。プログラムデータとは、コントローラ210が所望の制御動作を実行するためにロードするプログラムのことである。
In the present embodiment, a method for arranging program data of the
図4において、書換え回数のカウント値など更新頻度の高いデータを、メモリモジュール224の先頭部分144または末尾部分154に配置する。メモリモジュール124はストライピングの順序の最後に位置する。ストライピングの順序の最後のメモリモジュール上に更新頻度の高いデータを配置する効果は実施形態1で説明した通りである。本実施形態では、コントローラ210のプログラムデータを配置する際には、メモリモジュール224を避けて、メモリモジュール221〜223の先頭部分141〜143や末尾部分151〜153のいずれかに配置する。以下ではこの作用について説明する。
In FIG. 4, data having a high update frequency such as a count value of the number of rewrites is arranged in the
本実施形態では、コントローラ210のプログラムデータは、メモリモジュール221〜223の先頭部分141〜143や末尾部分151〜153に配置される。これらの記録領域はホスト機器から見えるメモリ空間110には割り当てられていないため、ホスト機器は通常の書き込み命令や読み出し命令ではアクセスすることができない。従って、ホスト機器が誤ってコントローラ210のプログラムデータを無効なデータで上書きすることを防止できる。
In the present embodiment, the program data of the
さらに、書換え回数のカウント値など更新頻度の高いデータを、ストライピングの順序で最後のメモリモジュール224の先頭部分144や末尾部分154に配置したことで、書換え回数のカウント値を更新する際に記録エラーが発生すると、メモリモジュール124上のいずれかの領域のデータも壊れる可能性がある。しかし、コントローラのプログラムデータは、メモリモジュール124を避けて、メモリモジュール121〜123の先頭部分141〜143や末尾部分151〜153に配置されているため、プログラムデータの破壊を逃れることができる。コントローラのプログラムデータが正常であれば、コントローラ210が正常に機能し、ホスト機器からのメモリカード200へのデータアクセスが可能となる。
Furthermore, data with high update frequency, such as the count value of the number of rewrites, is arranged in the
このように本実施形態では、書換え回数のカウント値など更新頻度の高いデータと、メモリカード200内のコントローラ210のプログラムデータなど重要度の高いデータを、ストライプの異なるメモリモジュールに配置する。この方法によって、多値NANDフラッシュメモリを用いた場合でも、別メモリモジュールのような部品を追加する必要がなく、通常のメモリモジュール上にデータを配置できるため、メモリカードのコストを抑えることができる。
As described above, in this embodiment, highly updated data such as the count value of the number of rewrites and highly important data such as the program data of the
なお、本実施形態では、4個のメモリモジュールをストライプさせた例で説明したが、ストライプの数はこれに限らず、複数個のメモリモジュールで、複数のストライプを構成するメモリカードであれば、本実施形態の思想を適用することができる。 In the present embodiment, an example in which four memory modules are striped has been described. However, the number of stripes is not limited to this, and a memory card that forms a plurality of stripes with a plurality of memory modules can be used. The idea of this embodiment can be applied.
なお、本実施形態では、メモリモジュールの先頭領域または末尾領域に特定のデータを配置する例を説明したが、これに限らず、ホスト機器がアクセス可能な通常のメモリ空間において割り当てていない領域であれば、メモリモジュールの先頭や末尾でなくとも、その領域に特定のデータを配置するようにしてもよい。 In this embodiment, an example in which specific data is arranged in the head area or the end area of the memory module has been described. However, the present invention is not limited to this, and any area that is not allocated in a normal memory space accessible by the host device may be used. For example, specific data may be arranged in the area even if it is not at the beginning or end of the memory module.
なお、本実施形態では、更新頻度の高いデータとして、メモリカードの書換え回数のカウント値を例に説明したが、これに限らず、メモリカードの稼動履歴、メモリカードのエラー発生のログ情報、メモリカードが使用された温度や電圧などの履歴情報、メモリカードの個体識別情報、メモリカードの製造者や所有者に関する情報等の、メモリカードを使用する上で更新する可能性のあるデータを、更新頻度の高いデータとしてもよい。これらのデータに対しては、更新の際に記録エラーが発生する可能性があり、よって、上記実施形態の思想を適用することが有効となる。 In the present embodiment, the count value of the number of times the memory card has been rewritten has been described as an example of frequently updated data. However, the present invention is not limited to this, and the memory card operation history, memory card error occurrence log information, memory Updates data that may be updated when using the memory card, such as history information such as the temperature and voltage at which the card was used, individual identification information of the memory card, and information about the manufacturer and owner of the memory card. It is good also as data with high frequency. For these data, there is a possibility that a recording error will occur at the time of updating. Therefore, it is effective to apply the idea of the above embodiment.
なお、本実施形態では、重要度の高いデータとして、メモリカード内のコントローラのプログラムデータを例に説明したが、これに限らず、メモリカードの稼動履歴、メモリカードのエラー発生のログ情報、メモリカードが使用された温度や電圧などの履歴情報、メモリカードの個体識別情報、メモリカードの製造者や所有者に関する情報、メモリカードのスペック情報など、データ破壊を防止したいデータを重要度の高いデータとしてもよい。これらのデータを、更新頻度の高いデータと別々のストライプのメモリモジュールに配置することで、本実施形態の効果を得ることができる。 In the present embodiment, the program data of the controller in the memory card has been described as an example of the data having high importance. However, the present invention is not limited to this, and the operation history of the memory card, log information on the occurrence of an error in the memory card, Data with high importance such as history information such as temperature and voltage used, memory card individual identification information, memory card manufacturer and owner information, memory card specification information, etc. It is good. The effect of this embodiment can be obtained by arranging these data in memory modules having different stripes from data with high update frequency.
なお、本実施形態では、メモリカードの書換え回数という表現を用いたが、これに限らず、メモリカードの書換えデータ量、書換えブロック数、書換え寿命に対する消耗の度合いや、残りの書換え可能な回数、残りの書換え可能なデータ量、残りの書換え可能なブロック数など、メモリカードの書換え寿命を管理できるデータであれば、同等の意味として扱うことができる。 In the present embodiment, the expression of the number of times of rewriting the memory card is used. However, the present invention is not limited to this, and the amount of rewrite data of the memory card, the number of rewrite blocks, the degree of consumption with respect to the rewrite life, the remaining number of times that can be rewritten, Any data that can manage the rewritable life of the memory card, such as the remaining rewritable data amount and the remaining rewritable number of blocks, can be treated as equivalent.
以上のように、本発明のメモリカードは、多値NANDフラッシュメモリなど、記録エラー時に他の記録領域のデータも壊れる可能性のあるメモリ素子を用いてメモリカードを構成する際に利用される。 As described above, the memory card of the present invention is used when a memory card is configured by using a memory element such as a multi-level NAND flash memory that may destroy data in other recording areas at the time of a recording error.
100 メモリカードの全記録領域
110 ホスト機器から見たメモリ空間
131 メモリカードの通常記録領域
130、132 メモリカードの特殊記録領域
141〜144 メモリモジュールの先頭領域
151〜154 メモリモジュールの末尾領域
200 メモリカード
210 コントローラ
221〜224 メモリモジュール
230 インタフェース
m0〜m99 ストライプ単位に区切られた記録領域
100 Memory card
Claims (6)
前記n個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含むメモリカードであって、
前記n個のメモリモジュールが所定のサイズ毎にストライピングされ、
前記コントローラは、前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも1つを、前記メモリモジュールのストライピングの順序における第2番目から第n番目までのメモリモジュールのうちのいずれか1つに配置する
ことを特徴とするメモリカード。 N (n is an integer of 2 or more) nonvolatile memory modules constituting the storage area;
A memory card including a controller for controlling writing and reading of data to and from the n memory modules,
The n memory modules are striped every predetermined size,
The controller receives at least one of the number of times of rewriting, the amount of rewriting data, the number of rewriting blocks, and the degree of consumption with respect to the rewriting life for the memory card from the second to the nth in the striping order of the memory modules. A memory card, which is arranged in any one of the memory modules up to.
前記n個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含むメモリカードであって、
前記n個のメモリモジュールが所定のサイズ毎にストライピングされ、
前記コントローラを動作させるプログラムデータが、前記n個のメモリモジュールのうちの少なくとも1つのメモリモジュールに格納され、
前記コントローラは、前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも1つを、前記プログラムデータを格納したメモリモジュールとは異なるメモリモジュールに配置する、
ことを特徴とするメモリカード。 N (n is an integer of 2 or more) nonvolatile memory modules constituting the storage area;
A memory card including a controller for controlling writing and reading of data to and from the n memory modules,
The n memory modules are striped every predetermined size,
Program data for operating the controller is stored in at least one of the n memory modules,
The controller arranges at least one of the number of times of rewriting, the amount of rewriting data, the number of rewriting blocks, and the degree of consumption with respect to the rewriting life in a memory module different from the memory module storing the program data. To
A memory card characterized by that.
前記コントローラは、前記メモリモジュールの前記特殊記録領域に、前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも1つを配置する、請求項1から4のいずれか1つ記載のメモリカード。 Each of the memory modules has a normal recording area that can be accessed using a normal write command and a read command, and a special recording area that can be accessed only by a predetermined command,
2. The controller arranges at least one of information on the number of rewrites, the amount of rewrite data, the number of rewrite blocks, and the degree of consumption with respect to a rewrite life in the special recording area of the memory module. 5. The memory card according to any one of 4 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008172102A JP2010015222A (en) | 2008-07-01 | 2008-07-01 | Memory card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008172102A JP2010015222A (en) | 2008-07-01 | 2008-07-01 | Memory card |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010015222A true JP2010015222A (en) | 2010-01-21 |
Family
ID=41701310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008172102A Pending JP2010015222A (en) | 2008-07-01 | 2008-07-01 | Memory card |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010015222A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011227802A (en) * | 2010-04-22 | 2011-11-10 | Funai Electric Co Ltd | Data recording device |
WO2014038073A1 (en) * | 2012-09-07 | 2014-03-13 | 株式会社日立製作所 | Storage device system |
CN113495523A (en) * | 2020-03-19 | 2021-10-12 | 松下知识产权经营株式会社 | Programmable controller and updating method of programmable controller |
-
2008
- 2008-07-01 JP JP2008172102A patent/JP2010015222A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011227802A (en) * | 2010-04-22 | 2011-11-10 | Funai Electric Co Ltd | Data recording device |
WO2014038073A1 (en) * | 2012-09-07 | 2014-03-13 | 株式会社日立製作所 | Storage device system |
JP5820078B2 (en) * | 2012-09-07 | 2015-11-24 | 株式会社日立製作所 | Storage system |
CN113495523A (en) * | 2020-03-19 | 2021-10-12 | 松下知识产权经营株式会社 | Programmable controller and updating method of programmable controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4472010B2 (en) | Storage device | |
EP2389631B1 (en) | Solid state memory formatting | |
US9684568B2 (en) | Data storage device and flash memory control method | |
KR100975178B1 (en) | Data storage device | |
US7681008B2 (en) | Systems for managing file allocation table information | |
JP4215746B2 (en) | Information processing apparatus and life monitoring method | |
EP2309392A1 (en) | Memory system | |
JP4373943B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2009230407A (en) | Data update method, memory system and memory device | |
CN101563729A (en) | Hybrid solid-state memory system having volatile and non-volatile memory | |
JP2005301591A (en) | Device with nonvolatile memory, and memory controller | |
US20180150390A1 (en) | Data Storage Device and Operating Method Therefor | |
US8954692B2 (en) | File protecting method and system, and memory controller and memory storage apparatus thereof | |
JP2013222435A (en) | Semiconductor storage device and method of controlling the same | |
JP5570406B2 (en) | Memory controller and data recording apparatus | |
US9948809B2 (en) | Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information | |
JP4829202B2 (en) | Storage device and memory control method | |
JP2010015222A (en) | Memory card | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
US20130036257A1 (en) | Memory system which can avoid unavailability due to operation error by user | |
JP4334331B2 (en) | Flash memory access control method | |
JP5707695B2 (en) | Flash disk device | |
US9116794B2 (en) | Storage device data protection system | |
US10732875B2 (en) | Data processing method for solid state drive | |
JP2012037971A (en) | Memory controller, nonvolatile memory system provided with memory controller, and method for controlling nonvolatile memory |