JP2009003783A - 不揮発性メモリの制御装置及び制御方法及び記憶装置 - Google Patents
不揮発性メモリの制御装置及び制御方法及び記憶装置 Download PDFInfo
- Publication number
- JP2009003783A JP2009003783A JP2007165368A JP2007165368A JP2009003783A JP 2009003783 A JP2009003783 A JP 2009003783A JP 2007165368 A JP2007165368 A JP 2007165368A JP 2007165368 A JP2007165368 A JP 2007165368A JP 2009003783 A JP2009003783 A JP 2009003783A
- Authority
- JP
- Japan
- Prior art keywords
- physical block
- logical
- block address
- physical
- information
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】FATの情報を用い不揮発性メモリデバイスの物理ブロックの中の任意使用可能な物理ブロックの数を多くし、また物理ブロック消去回数の平均化処理を容易に行える。
【解決手段】不揮発性メモリデバイス101のファイルシステム内のFATを解析し、未使用の論理ブロックを識別するファイルシステム制御部102eと、論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて前記未使用の論理ブロックの論理ブロックアドレスに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部102bと、前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部102cを有する。
【選択図】図1
【解決手段】不揮発性メモリデバイス101のファイルシステム内のFATを解析し、未使用の論理ブロックを識別するファイルシステム制御部102eと、論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて前記未使用の論理ブロックの論理ブロックアドレスに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部102bと、前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部102cを有する。
【選択図】図1
Description
この発明は、この発明は、不揮発性メモリの制御装置及びその制御方法及び記憶装置に関するもので、特にファイルシステムの情報を利用して論理ブロックアドレス対物理ブロックアドレス変換テーブルと、任意使用可能な物理ブロックを管理する不揮発性メモリの管理方法に工夫がなされている。
NAND型フラッシュメモリは、データ書き換え可能な不揮発性メモリとして知られている。この不揮発メモリは、消去単位は、1物理ブロック単位(例えば128Kバイト)である。一方、データ読み取り単位及び書き込み単位は、例えば2Kバイトに規定されている。またこの不揮発性メモリは、消去または書き込み回数が多くなると素子が劣化し、エラー発生が多くなる。そこで、素子の性能を保証する要素として、書き換え回数を例えば10万回程度に規定している。このために、不揮発性メモリのメモリ制御部に対しては、物理ブロックの消去回数を管理する機能が組み込まれている(例えば特許文献1)。
また、ファイルアロケーションテーブル(FAT)の情報を利用して、未使用ブロックの使用回数を平均化するという提案もある(例えば特許文献2)。
従来の不揮発性メモリの管理方法であると、メモリ全体の物理ブロック単位で消去回数を管理している。このために、物理ブロックの管理及び消去回数の平均化処理が複雑であり時間がかかる。
特第3485938号
US2006/0179263(Y)
この発明の目的は、ファイルシステムの情報、特にファイルアロケーションテーブルの情報を利用することにより、不揮発性メモリデバイスの物理ブロックの中でも、任意使用可能な物理ブロックの数を多くし、また物理ブロックの消去回数の平均化処理(物理ブロックの交替処理)を容易でかつ高速化することができる不揮発性メモリの制御装置及び制御方法及び記憶装置を提供することにある。
上記課題を解決するために、不揮発性メモリデバイスのファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別するファイルシステム制御部と、論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部と、前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部を有することを特徴とする。
上記の手段によると、FATの情報に基づいて、比較的使用されていない第1の物理ブロックを用意に検出することができる。そして、任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報管理部に登録するので、任意使用可能な物理ブロックの数を多く保つことが可能となる。また物理ブロックの消去回数の平均化処理(物理ブロックの交替処理)を容易でかつ高速化することができる。
以下図面を参照して、この発明の実施の形態を説明する。まず、本発明が適用された記憶装置の構成を図1に示して説明する。
<記憶装置>
記憶装置100は、不揮発性メモリデバイス101、マイクロプロセッシングユニット(以下MPUと記す)102、ランダムアクセスメモリユニット(以下RAMと記す)103、ホストインターフェース104、不揮発性メモリインターフェース105を有する。
記憶装置100は、不揮発性メモリデバイス101、マイクロプロセッシングユニット(以下MPUと記す)102、ランダムアクセスメモリユニット(以下RAMと記す)103、ホストインターフェース104、不揮発性メモリインターフェース105を有する。
不揮発性メモリデバイス101の記憶領域は、多数の物理ブロックPHBで構成され、その記憶領域の一部にファイルシステム101aを含む。
このファイルシステム101aには、データ領域管理情報1011、データ領域1012が含まれる。データ領域管理情報1011は、ファイルアロケーションテーブル(FAT)を含む。またデータ領域1012は、フォルダ、ファイルデータなどを含む。
RAM103に設定されている格納部としては、以下のような情報部を挙げることができる。論理ブロックアドレスと物理ブロックアドレスの対応付けを行なったテーブルを有する論理−物理ブロックアドレス変換テーブル情報部103bがある。物理ブロックアドレス情報部103cが設けられている。さらにまた物理ブロック消去回数情報部103dが設けられている。また図示していないが、MPU102で実行するためのプログラムを展開する領域も確保される。
なお上記の論理ブロックアドレスとは、ホストが利用する論理アドレス空間の論理ブロックアドレスである。また物理ブロックアドレスは、不揮発性メモリデバイス101内の物理ブロックアドレスである。
また上記の物理ブロックアドレス情報部103cは、任意に使用可能な状態になった物理ブロックのブロックアドレスを登録している。ここでは例えば論理ブロックアドレスと物理ブロックアドレスの対応付けがされていない物理ブロックのアドレスが登録されている。または、全物理ブロックのアドレスが記述され、論理ブロックと対応付けされているか否かの識別子が付加される方法でもよい。
物理ブロック消去回数情報部103dは、各物理ブロックの各消去回数情報を格納するものである。
上記RAM103内の、論理−物理ブロックアドレス変換テーブル情報部103bのテーブル、物理ブロックアドレス情報部103cのアドレス情報、物理ブロック消去回数情報部103dのデータなどは、MPU102の機能により管理及び処理される。
従って、MPU102は、論理−物理ブロックアドレス変換テーブル管理部102b、物理ブロックアドレス情報管理部102c,物理ブロック消去回数管理部102dを有する。
また不揮発性メモリデバイス101内のファイルシステムを制御するファイルシステム制御部102e、さらには、物理ブロック情報修正部102gを有する。この物理ブロック情報修正部102gはファイルシステム制御部102e内に含まれてもよいが、説明をわかりやすくするために示した。物理ブロック情報修正部102gは、物理ブロック内のデータの削除、物理ブロックの消去回数の修正などを行なう。修正された結果としての消去回数は、消去回数管理部102dの制御の元で、物理ブロック消去回数情報部103dに登録される。さらにまたMPU102内にはコマンド解析部102fもふくまれる。
また上記管理部を統括する統合処理部102xも有する。統合処理部102xはデータの書き込み、読出しも実行する。
ファイルシステム制御部102eは、ファイルシステムを解析することができるし、またファイルシステムの更新処理を行うことができる。フィルシステムを解析するときは、フォルダ内の各ファイルのファイルアロケーションテーブル(FAT)がチェックされる。このとき、RAM103に格納されているプログラムの1部が利用されて、ファイルシステム101aが解析される。この処理については、後で詳しく説明する。
論理−物理ブロックアドレス変換テーブル管理部102bは、論理−物理ブロックアドレス変換テーブルを制御する。これにより、論理ブロックに対応付けられている物理ブロックが把握される。
<ファイルシステムの基本構成>
図2は、ファイルシステムの構成例を示す図である。データ領域管理情報1011には、ファイルのデータ本体以外の情報が格納されている。即ち、ブートセクタ201、FAT202、ルートフォルダ203が含まれる。またデータ領域1012には、フォルダ及び又はファイル204が含まれている。
図2は、ファイルシステムの構成例を示す図である。データ領域管理情報1011には、ファイルのデータ本体以外の情報が格納されている。即ち、ブートセクタ201、FAT202、ルートフォルダ203が含まれる。またデータ領域1012には、フォルダ及び又はファイル204が含まれている。
<FATとファイルのクラスタチェーン;図3、図4>
図3に上記FATの一例を示す。図4は、6つのクラスタで構成されるファイルのチェーンテーブルの1例を示す。
図3に上記FATの一例を示す。図4は、6つのクラスタで構成されるファイルのチェーンテーブルの1例を示す。
FATは、図3に示すようにデータ領域1012に割り当てられたクラスタと呼ばれるデータ単位で、各ファイルの構成を示すテーブルである。
今、あるファイルAが、図4の401で示すように6つのクラスタで構成されるものする。FATデータは、ファイルAを構成する最初のクラスタアドレスから順に参照できるように、ファイルを構成する複数のクラスタアドレスを示すクラスタチェーンを作っている。
ファイルの最終クラスタはチェーンがないためFFFFhを示す。また、更に幾つかのテーブルデータは特別なクラスタを示し、0000hは未使用クラスタ(例えば破線301で囲む部分が任意使用可能なクラスタである)、F8FFhは予約システムデータ等を示す。2クラスタが1物理ブロック(=1論理ブロック)に相当する。
<フォルダ内のファイル情報>
フォルダには1つ又はそれ以上のファイル(1例を図4で示した)が格納される。図5は、フォルダの中にファイル毎に存在するファイル情報を示す図である。ファイル情報には、識別子を含むファイル名情報が記入されてある形式名情報503と、ファイル属性情報501を含む。ファイル属性情報501にはリードオンリー情報502が含まれる。またファイル情報には、FATのファイルチェーンの先頭情報(先頭クラスタアドレス)504も含まれるものとする。
フォルダには1つ又はそれ以上のファイル(1例を図4で示した)が格納される。図5は、フォルダの中にファイル毎に存在するファイル情報を示す図である。ファイル情報には、識別子を含むファイル名情報が記入されてある形式名情報503と、ファイル属性情報501を含む。ファイル属性情報501にはリードオンリー情報502が含まれる。またファイル情報には、FATのファイルチェーンの先頭情報(先頭クラスタアドレス)504も含まれるものとする。
<論理-物理ブロックアドレス変換テーブル>
図6は、図1における論理−物理ブロックアドレス変換テーブル107の1例を示す図である。論理ブロックアドレス601が、RAM103上の任意の番地から始まる4バイト単位のオフセットアドレスに相当し、データ部には、前記論理ブロックアドレス601に対応付けられた物理ブロックアドレスデータ602が格納される。物理ブロックが対応付けられていない論理ブロックアドレスのデータ部は、FFFFFFFFhデータ(603)が格納されている。
図6は、図1における論理−物理ブロックアドレス変換テーブル107の1例を示す図である。論理ブロックアドレス601が、RAM103上の任意の番地から始まる4バイト単位のオフセットアドレスに相当し、データ部には、前記論理ブロックアドレス601に対応付けられた物理ブロックアドレスデータ602が格納される。物理ブロックが対応付けられていない論理ブロックアドレスのデータ部は、FFFFFFFFhデータ(603)が格納されている。
後述する図8におけるステップSA5では、604に示す処理が行われるものであり、図9におけるステップSB12では、605に示す処理が行われるものである。
<物理ブロックアドレス情報部内のテーブル>
図7には、物理ブロックアドレス情報部103cを示し、その中の使用状況フラグデータの例を示している。論理ブロックアドレス701が、RAM103上の任意の番地から始まる1ビット単位のオフセットアドレスに相当し、データ部は任意に使用可能か否かを示す1ビットのフラグデータ702で構成される。
図7には、物理ブロックアドレス情報部103cを示し、その中の使用状況フラグデータの例を示している。論理ブロックアドレス701が、RAM103上の任意の番地から始まる1ビット単位のオフセットアドレスに相当し、データ部は任意に使用可能か否かを示す1ビットのフラグデータ702で構成される。
任意に使用可能な物理ブロックアドレスで参照されるデータ部は、‘0’を格納し、すでに使用中ある論理ブロックアドレスで参照されるデータ部は‘1’を格納する(符号703の部分を参照)。
後述する図8のステップSA5では、符号704に示すフラグのようにフラグ変更処理が行われる。つまり、論理ブロックアドレスが割り当てられた状態、使用状態に設定される。後述する図9の動作例のステップSB12では、符号705に示すフラグのようにフラグ変更処理が行われる。つまり任意使用可能となった物理ブロックPn’は使用状況フラグが’0’に変更され、使用中になった物理ブロックPnは使用状況フラグが’1’に変更される。
<本発明の基本動作説明>
RAM103に格納されてあるプログラムの1部は、ファイルシステム106を解析するのに利用される。ファイルシステム106の解析において、未使用の論理ブロックLjを検索する(ステップSA1)。前記Ljが存在しなければ終了し(ステップSA2)する。ステップSA2で、Ljが存在することが判断されれば、論理ブロックLjが割り当てられている物理ブロックPjを論理-物理ブロックアドレス変換テーブル107を参照して求める(ステップSA3)。
RAM103に格納されてあるプログラムの1部は、ファイルシステム106を解析するのに利用される。ファイルシステム106の解析において、未使用の論理ブロックLjを検索する(ステップSA1)。前記Ljが存在しなければ終了し(ステップSA2)する。ステップSA2で、Ljが存在することが判断されれば、論理ブロックLjが割り当てられている物理ブロックPjを論理-物理ブロックアドレス変換テーブル107を参照して求める(ステップSA3)。
ステップSA3において有効な物理ブロックPjが存在しなければ終了し(ステップSA4)、有効な物理ブロックPjが存在すれば、物理ブロックPjを物理ブロックアドレス情報部に登録する(ステップSA5)。そして、論理-物理ブロックアドレス変換テーブル107の論理ブロックLjに対応する物理ブロックPjの対応付け情報を解除する(ステップSA6)。このとき、物理ブロックPjの情報を空にし、次に使用されるときに、すぐに書き込みが可能な状態にする。また、物理ブロックPjの消去回数情報を更新処理する。
<ホストからの書き込みコマンドに応答した動作例の説明>
ホストからのライトコマンドがホストインターフェース104を介して入力すると、物理ブロックアドレス情報部108から未使用の物理ブロックPnを検索する(ステップSB1)。次に、物理ブロックアドレス情報部103bの物理ブロックPn情報を変更(使用状態)し、論理-物理ブロックアドレス変換テーブル上の論理ブロックLnにPnを登録する(ステップSB2)。次に、物理ブロックPnの消去処理を行い(ステップSB3)、ホストがライトすべき論理ブロックLm8のアドレス情報を論理-物理ブロックアドレス変換テーブル107上から求める(ステップSB4)。
ホストからのライトコマンドがホストインターフェース104を介して入力すると、物理ブロックアドレス情報部108から未使用の物理ブロックPnを検索する(ステップSB1)。次に、物理ブロックアドレス情報部103bの物理ブロックPn情報を変更(使用状態)し、論理-物理ブロックアドレス変換テーブル上の論理ブロックLnにPnを登録する(ステップSB2)。次に、物理ブロックPnの消去処理を行い(ステップSB3)、ホストがライトすべき論理ブロックLm8のアドレス情報を論理-物理ブロックアドレス変換テーブル107上から求める(ステップSB4)。
論理ブロックLmに対応して物理ブロックPn’が登録済でなければ、ホストからのデータを物理ブロックPnに書き込む(ステップSB5,SB6)。登録済であればステップSB7へ進み、物理ブロックPn’の中のデータの存在が確認される。
即ち、まずホストスタートアドレスがスタートアドレスと同じブロックあって、かつ、ブロック境界でないかを判定する(ステップSB7)。
境界でなければ、該当すれば、物理ブロックPn’のスタートアドレス前に存在するデータを物理ブロックPnにコピーし(ステップSB8)、ブロック境界であれば前記スッテップSB7をスキップして、ホストからのデータを物理ブロックPnに書き込む(ステップSB9)。これによりデータの取り残しが防止される。
次にホストエンドアドレスが、スタートアドレスと同じブロックであって、かつ、ブロック境ではないかを判別し(ステップSB10)、該当すれば、物理ブロックPn’のエンドアドレス後のデータを物理ブロックPnにコピーする(ステップSB11)。
物理ブロックPn’は、この時点で任意に使用可能な物理ブロックとして物理ブロックアドレス情報部に登録される(ステップSB12)。また物理ブロックPn’のデータが消去され、その消去回数データも更新される。
次に論理-物理ブロックアドレス変換テーブル上の論理ブロックLnにPnを登録する。ホストからのライトアクセス対象が1ブロックを超える場合は、更にステップSB1からの動作を繰り返すものである。
<追加可能な機能の例>
図10は、本発明の別動作方法を説明するための補助フロー図である。
図10は、本発明の別動作方法を説明するための補助フロー図である。
物理ブロックアドレス情報部103cに任意使用可能な物理ブロックアドレスを登録する(ステップSV2)前に、前記物理ブロックにイレーズ処理を行う(ステップSC1)ことで、図10に示すステップSB3がスキップ可能となり、図10の処理時間すなわちホストからのライトアクセス時間を短縮することができる。
<消去回数情報部>
図11は、物理ブロック消去回数情報部103dの例である。装置全体としての書き換え限度回数を向上することができる。この状要部103dには、物理ブロック毎に消去を行った回数をカウントしたデータを格納する。カウンタ値は、図10のステップSB1で適当な物理ブロックを選択する際に使用される。例えば、イレーズ/書き込み処理の均一化を行う際に、イレーズ/書き込み回数の少ない物理ブロック選択するのに参照されるデータとなる。
図11は、物理ブロック消去回数情報部103dの例である。装置全体としての書き換え限度回数を向上することができる。この状要部103dには、物理ブロック毎に消去を行った回数をカウントしたデータを格納する。カウンタ値は、図10のステップSB1で適当な物理ブロックを選択する際に使用される。例えば、イレーズ/書き込み処理の均一化を行う際に、イレーズ/書き込み回数の少ない物理ブロック選択するのに参照されるデータとなる。
物理ブロックアドレスA01が、RAM103上の任意の番地から始まる4バイト単位のオフセットアドレスに相当し、データ部は物理ブロックアドレス毎のイレーズ回数データA02が格納される。イレーズ/書き込み回数の少ない物理ブロック選択する場合、例えばテーブルの符号A03で示す物理ブロックアドレスPkはこの例では消去回数が1回であるで、その他に0回の物理ブロックアドレスがなければ、候補となり得る。
<FAT最適化期間の設定>
図12は、本発明の装置に対してホストから送られる情報の一例を時系列に示して説明する図である。ホストからは、記憶装置100に送られる情報の期間を分類すると、ライトコマンド期間、データ転送期間、FAT解析最適化コマンド期間、リードコマンド期間、データ転送期間などがある。この中で、FAT解析最適化コマンド期間は、図8で示した動作を実行する期間である。ホストはデータアクセスが必要のない期間にFAT解析最適化コマンドをだすようにしている。これにより本発明の良好な実施が行える。
図12は、本発明の装置に対してホストから送られる情報の一例を時系列に示して説明する図である。ホストからは、記憶装置100に送られる情報の期間を分類すると、ライトコマンド期間、データ転送期間、FAT解析最適化コマンド期間、リードコマンド期間、データ転送期間などがある。この中で、FAT解析最適化コマンド期間は、図8で示した動作を実行する期間である。ホストはデータアクセスが必要のない期間にFAT解析最適化コマンドをだすようにしている。これにより本発明の良好な実施が行える。
<論理ー物理ブロック変換テーブルで管理される不揮発性メモリ内の領域の例>
図13は、不揮発性メモリデバイス101上の記憶領域が最小限に管理される状態の例を示したものである。不揮発性メモリデバイス101上の記憶領域B01は、全て物理ブロックで構成されるものであり、その大部分が論理ブロック群B02として論理−物理ブロックアドレス変換テーブル情報部103bで対応付けられる。しかし、オーバーライト不能な不揮発性メモリデバイス101においては、必ず論理ブロック群B02で対応付けられない、任意に使用可能な物理ブロック群B03が少なくとも1ブロックは必要とされる。論理−物理ブロックアドレス変換テーブル情報部103bを構成するにおいて必要な記憶領域は、任意に使用可能な物理ブロック群B03と本発明により、追加可能な物理ブロックB04を登録するに必要な領域となる。
図13は、不揮発性メモリデバイス101上の記憶領域が最小限に管理される状態の例を示したものである。不揮発性メモリデバイス101上の記憶領域B01は、全て物理ブロックで構成されるものであり、その大部分が論理ブロック群B02として論理−物理ブロックアドレス変換テーブル情報部103bで対応付けられる。しかし、オーバーライト不能な不揮発性メモリデバイス101においては、必ず論理ブロック群B02で対応付けられない、任意に使用可能な物理ブロック群B03が少なくとも1ブロックは必要とされる。論理−物理ブロックアドレス変換テーブル情報部103bを構成するにおいて必要な記憶領域は、任意に使用可能な物理ブロック群B03と本発明により、追加可能な物理ブロックB04を登録するに必要な領域となる。
<実施形態の有効性とその他の変形例>
任意に使用可能な物理ブロック数が増えることで、イレーズ/書き込み処理の均一化を行う対象が増えることにつながり、記憶装置全体としての書き換え限度回数の向上を図ることが出来る。NAND型不揮発性メモリを主記憶媒体としたストレージ製品全般に有効である。また任意に使用可能な物理ブロックのデータを消去して管理することで、ホストからのデータライトに対する物理ブロックの消去時間及びホストからのデータライトに付随して発生する冗長なデータライト時間を削減でき、ホストからの書き込み処理を高速に出来る。
任意に使用可能な物理ブロック数が増えることで、イレーズ/書き込み処理の均一化を行う対象が増えることにつながり、記憶装置全体としての書き換え限度回数の向上を図ることが出来る。NAND型不揮発性メモリを主記憶媒体としたストレージ製品全般に有効である。また任意に使用可能な物理ブロックのデータを消去して管理することで、ホストからのデータライトに対する物理ブロックの消去時間及びホストからのデータライトに付随して発生する冗長なデータライト時間を削減でき、ホストからの書き込み処理を高速に出来る。
物理ブロックアドレス情報部103cの空状況に応じて、ファイルシステムを解析するようにしてもよい。これにより未使用の論理ブロックを検索し、論理-物理ブロックアドレス変換テーブルにより、前記論理ブロックに対応付けられている物理ブロックの対応付けを解除し、任意に使用可能な物理ブロックとして物理ブロックアドレス情報部に記憶する。
物理ブロックアドレス情報部の空状況をホストに通知し、ホストからの命令により、ファイルシステムを解析するようにしてもよい。これにより未使用の論理ブロックを検索し、論理-物理ブロックアドレス変換テーブルにより、前記論理ブロックに対応付けられている物理ブロックの対応付けを解除し、任意に使用可能な物理ブロックとして物理ブロックアドレス情報部に記憶する。
物理ブロックに対する書き込み及びイレーズ処理でエラーすなわちバッドブロック化が生じた場合に、図7のテーブルでは使用中止情報を追加し、図6のテーブルでは登録を削除したままの状態とする取り決めを設けてもよい。
以上本発明によれば、一度ホストからライトされたが、データ領域管理情報部の更新などによりファイルシステム上では使用しなくなった物理ブロックを任意に使用することができ、これらの物理ブロック数を消去しておくことで、ホストからのデータライトに対する物理ブロックの消去時間及びホストからのデータライトに付随して発生する冗長なデータライト時間を削減でき、ホストからの書き込み処理を高速に出来る。
また任意に使用可能な物理ブロック数が増えることで、イレーズ/書き込み処理の均一化を行う対象が増えることにつながり、記憶装置全体としての書き換え限度回数の向上を図ることが出来る。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
101・・・不揮発性メモリデバイス、102・・・MPU、103・・・RAM、104・・・ホストインターフェース、105・・・不揮発性メモリインターフェース、101a・・・ファイルシステム,103b・・・論理-物理ブロックアドレス変換テーブル情報部、103c・・・物理ブロックアドレス情報部、103d・・・物理ブロック消去回数情報部、102b・・・論理−物理ブロックアドレス変換テーブル管理部、102c・・・物理ブロックアドレス情報管理部、102d・・・物理ブロック消去回数管理部、102e・・・ファイルシステム制御部、102g・・・物理ブロック情報修正部、102x・・・統合処理部。
Claims (13)
- 不揮発性メモリデバイスのファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別するファイルシステム制御部と、
論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部と、
前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部と、
を有することを特徴とする不揮発性メモリの制御装置。 - 前記第1の物理ブロックが任意使用可能な前記第2の物理ブロックとして、前記物理ブロックアドレス情報部に登録されるとき、前記第1の物理ブロックのデータを消去する物理ブロック情報修正部を有したことを特徴とする請求項1記載の不揮発性メモリの制御装置。
- 前記ファイルシステム制御部は、ホストからのコマンドに応じて動作をスタートすることを特徴とする請求項1記載の不揮発性メモリの制御装置。
- 前記物理ブロックアドレス情報部は、
バッファとして用いられるRAMに形成されていることを特徴とする請求項1記載の不揮発性メモリの制御装置。 - 前記物理ブロックアドレス情報部は、
前記第1の物理ブロックのアドレスで参照可能なテーブルとして形成されていることを特徴とする請求項1記載の不揮発性メモリの制御装置。 - 前記論理−物理ブロックアドレス変換テーブル管理部が、
前記物理ブロックアドレス情報部に登録されている任意使用可能な物理ブロックの中から、1つの物理ブロックを選択して論理ブロックに対応付けを行なうとき、物理ブロック消去回数情報を参照して選択することを特徴とする請求項1記載の不揮発性メモリの制御装置。 - ファイルシステムを含む不揮発性メモリデバイスを、論理-物理ブロックアドレス変換テーブル及び物理ブロックが使用中か否かの情報を含む物理ブロックアドレス情報が記録されたランダムアクセスメモリと、統合制御を行なうマイクロプロセッシングユニットにより制御する不揮発性メモリの制御方法において、
前記ファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別し、
前記論理-物理ブロックアドレス変換テーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除し、
前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、前記物理ブロックアドレス情報に登録する
ことを特徴とする不揮発性メモリの制御方法。 - 前記第1の物理ブロックが任意使用可能な前記第2の物理ブロックとして、前記物理ブロックアドレス情報部に登録されるとき、前記第1の物理ブロックのデータを消去することを特徴とする請求項7記載の不揮発性メモリの制御方法。
- 前記ファイルアロケーションテーブルの解析は、ホストからのコマンドに応じて実行されることを特徴とする請求項7記載の不揮発性メモリの制御方法。
- 前記物理ブロックアドレス情報に登録されている任意使用可能な物理ブロックの中から、1つの物理ブロックを選択して論理ブロックに対応付けを行なうとき、物理ブロック消去回数情報を参照して選択することを特徴とする請求項7記載の不揮発性メモリの制御方法。
- ホストからのコマンドを含むデータを受け取るホストインターフェースと、
ランダムアクセスメモリと、
不揮発性メモリデバイスと、
前記コマンドを解析するとともに、前記ランダムアクセスメモリ、前記不揮発性メモリデバイスを統括制御するマイクロプロセシングユニットと、を有した記憶装置において、
前記不揮発性メモリデバイスのファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別するファイルシステム制御部と、
論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部と、
前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部と、
を有することを特徴とする記憶装置。 - 前記第1の物理ブロックが任意使用可能な前記第2の物理ブロックとして、前記物理ブロックアドレス情報部に登録されるとき、前記第1の物理ブロックのデータを消去する物理ブロック情報修正部を有したことを特徴とする請求項11記載の記憶装置。
- 前記ファイルシステム制御部は、ホストからのコマンドに応じて動作をスタートすることを特徴とする請求項11記載の記憶装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007165368A JP2009003783A (ja) | 2007-06-22 | 2007-06-22 | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
CNA200810099934XA CN101329654A (zh) | 2007-06-22 | 2008-05-22 | 非易失性存储器控制装置、非易失性存储器控制方法和存储装置 |
US12/143,221 US20080320211A1 (en) | 2007-06-22 | 2008-06-20 | Nonvolatile memory control device, nonvolatile memory control method, and storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007165368A JP2009003783A (ja) | 2007-06-22 | 2007-06-22 | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009003783A true JP2009003783A (ja) | 2009-01-08 |
Family
ID=40137701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007165368A Withdrawn JP2009003783A (ja) | 2007-06-22 | 2007-06-22 | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080320211A1 (ja) |
JP (1) | JP2009003783A (ja) |
CN (1) | CN101329654A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012104975A1 (ja) * | 2011-01-31 | 2012-08-09 | 三菱電機株式会社 | メモリコントローラ |
CN110502448A (zh) * | 2018-05-16 | 2019-11-26 | Aio株式会社 | 非易失性存储器系统 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US8886597B2 (en) * | 2009-10-28 | 2014-11-11 | Sandisk Il Ltd. | Synchronizing changes in a file system which are initiated by a storage device and a host device |
CN101833559B (zh) * | 2009-11-05 | 2012-07-04 | 北京炬力北方微电子有限公司 | 一种读取fat磁盘文件的方法和装置 |
CN101794254B (zh) * | 2009-11-25 | 2012-07-04 | 深圳市硅格半导体有限公司 | Nand flash的数据处理方法 |
US8909877B2 (en) * | 2012-02-02 | 2014-12-09 | International Business Machines Corporation | Dynamic real storage usage control |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US20130346680A1 (en) * | 2012-06-22 | 2013-12-26 | Ross S. Scouller | Emulated electrically erasable memory having an address ram for data stored in flash memory |
US9563382B2 (en) | 2014-06-05 | 2017-02-07 | Sandisk Technologies Llc | Methods, systems, and computer readable media for providing flexible host memory buffer |
US10007442B2 (en) | 2014-08-20 | 2018-06-26 | Sandisk Technologies Llc | Methods, systems, and computer readable media for automatically deriving hints from accesses to a storage device and from file system metadata and for optimizing utilization of the storage device based on the hints |
US10228854B2 (en) * | 2014-08-20 | 2019-03-12 | Sandisk Technologies Llc | Storage devices and methods for optimizing use of storage devices based on storage device parsing of file system metadata in host write operations |
US10268584B2 (en) | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
US9927997B2 (en) | 2015-12-21 | 2018-03-27 | Sandisk Technologies Llc | Methods, systems, and computer readable media for automatically and selectively enabling burst mode operation in a storage device |
US10521118B2 (en) | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
US10884920B2 (en) | 2018-08-14 | 2021-01-05 | Western Digital Technologies, Inc. | Metadata-based operations for use with solid state devices |
US11249664B2 (en) | 2018-10-09 | 2022-02-15 | Western Digital Technologies, Inc. | File system metadata decoding for optimizing flash translation layer operations |
US11340810B2 (en) | 2018-10-09 | 2022-05-24 | Western Digital Technologies, Inc. | Optimizing data storage device operation by grouping logical block addresses and/or physical block addresses using hints |
CN112394884A (zh) * | 2020-11-18 | 2021-02-23 | 珠海全志科技股份有限公司 | 减少ubi子系统管理开销的方法、ubi子系统及介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3485938B2 (ja) * | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
JP3604466B2 (ja) * | 1995-09-13 | 2004-12-22 | 株式会社ルネサステクノロジ | フラッシュディスクカード |
US5963915A (en) * | 1996-02-21 | 1999-10-05 | Infoseek Corporation | Secure, convenient and efficient system and method of performing trans-internet purchase transactions |
US5835718A (en) * | 1996-04-10 | 1998-11-10 | At&T Corp | URL rewriting pseudo proxy server |
US5805803A (en) * | 1997-05-13 | 1998-09-08 | Digital Equipment Corporation | Secure web tunnel |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US6098093A (en) * | 1998-03-19 | 2000-08-01 | International Business Machines Corp. | Maintaining sessions in a clustered server environment |
US6081900A (en) * | 1999-03-16 | 2000-06-27 | Novell, Inc. | Secure intranet access |
CA2328033A1 (en) * | 2000-12-12 | 2002-06-12 | Ibm Canada Limited-Ibm Canada Limitee | Method and system for a computer system to support various communication devices |
US20030051142A1 (en) * | 2001-05-16 | 2003-03-13 | Hidalgo Lluis Mora | Firewalls for providing security in HTTP networks and applications |
US20030046586A1 (en) * | 2001-09-05 | 2003-03-06 | Satyam Bheemarasetti | Secure remote access to data between peers |
US7002565B2 (en) * | 2002-08-28 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Signaling display device to automatically characterize video signal |
US7136986B2 (en) * | 2002-11-29 | 2006-11-14 | Ramos Technology Co., Ltd. | Apparatus and method for controlling flash memories |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
US7395384B2 (en) * | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
US7984231B2 (en) * | 2005-09-22 | 2011-07-19 | Panasonic Corporation | Information recording medium access device, and data recording method |
EP1895418B1 (en) * | 2005-12-09 | 2015-04-01 | Panasonic Corporation | Nonvolatile memory device, method of writing data, and method of reading out data |
-
2007
- 2007-06-22 JP JP2007165368A patent/JP2009003783A/ja not_active Withdrawn
-
2008
- 2008-05-22 CN CNA200810099934XA patent/CN101329654A/zh active Pending
- 2008-06-20 US US12/143,221 patent/US20080320211A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012104975A1 (ja) * | 2011-01-31 | 2012-08-09 | 三菱電機株式会社 | メモリコントローラ |
JP5452736B2 (ja) * | 2011-01-31 | 2014-03-26 | 三菱電機株式会社 | メモリコントローラ及びメモリアクセス方法 |
US9170929B2 (en) | 2011-01-31 | 2015-10-27 | Mitsubishi Electric Corporation | Memory controller |
CN110502448A (zh) * | 2018-05-16 | 2019-11-26 | Aio株式会社 | 非易失性存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101329654A (zh) | 2008-12-24 |
US20080320211A1 (en) | 2008-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009003783A (ja) | 不揮発性メモリの制御装置及び制御方法及び記憶装置 | |
US7783851B2 (en) | Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices | |
US10976930B2 (en) | Memory device and host device | |
EP2034414A1 (en) | Semiconductor storage device and method of controlling semiconductor storage device | |
CN102779095B (zh) | 闪存装置、存储器控制装置、存储器控制方法及存储系统 | |
JP4886866B2 (ja) | 主記憶装置へのアクセスを高速化する方法および記憶装置システム | |
US9146691B2 (en) | Method for managing commands in command queue, memory control circuit unit and memory storage apparatus | |
US20140181378A1 (en) | Control device, control method, and program | |
JP2009003880A (ja) | 不揮発性メモリの制御装置及びその制御方法及び記憶装置 | |
JP6455900B2 (ja) | ストレージシステムおよびシステムガベージコレクション方法 | |
US10372367B2 (en) | Non-volatile memory device, non-volatile memory control device, and non-volatile memory control method | |
JP2009230414A (ja) | 複数の不揮発性メモリデバイスを有する記憶装置 | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
JP2015191336A (ja) | メモリ制御装置、情報処理装置とその制御方法、及びプログラム | |
JP2009003784A (ja) | 不揮発性メモリの制御装置及び制御方法及び記憶装置 | |
JP2018160189A (ja) | メモリシステム | |
JP2012248109A (ja) | マルチチャネルを有するメモリ装置及び同装置におけるコンパクションのためのリードコマンド群生成方法 | |
JP2005115561A (ja) | フラッシュrom制御装置 | |
JP2009259145A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4513786B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP2005115562A (ja) | フラッシュrom制御装置 | |
JP2011076441A (ja) | 情報記録装置、情報記録方法及び情報記録用プログラム | |
JP4410271B2 (ja) | メモリ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100201 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110124 |