JP2009003783A - 不揮発性メモリの制御装置及び制御方法及び記憶装置 - Google Patents

不揮発性メモリの制御装置及び制御方法及び記憶装置 Download PDF

Info

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
Application number
JP2007165368A
Other languages
English (en)
Inventor
Tadaaki Kinoshita
忠明 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007165368A priority Critical patent/JP2009003783A/ja
Priority to CNA200810099934XA priority patent/CN101329654A/zh
Priority to US12/143,221 priority patent/US20080320211A1/en
Publication of JP2009003783A publication Critical patent/JP2009003783A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

【課題】FATの情報を用い不揮発性メモリデバイスの物理ブロックの中の任意使用可能な物理ブロックの数を多くし、また物理ブロック消去回数の平均化処理を容易に行える。
【解決手段】不揮発性メモリデバイス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を有する。
不揮発性メモリデバイス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が含まれている。
<FATとファイルのクラスタチェーン;図3、図4>
図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も含まれるものとする。
<論理-物理ブロックアドレス変換テーブル>
図6は、図1における論理−物理ブロックアドレス変換テーブル107の1例を示す図である。論理ブロックアドレス601が、RAM103上の任意の番地から始まる4バイト単位のオフセットアドレスに相当し、データ部には、前記論理ブロックアドレス601に対応付けられた物理ブロックアドレスデータ602が格納される。物理ブロックが対応付けられていない論理ブロックアドレスのデータ部は、FFFFFFFFhデータ(603)が格納されている。
後述する図8におけるステップSA5では、604に示す処理が行われるものであり、図9におけるステップSB12では、605に示す処理が行われるものである。
<物理ブロックアドレス情報部内のテーブル>
図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)。
ステップ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)。
論理ブロック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は、本発明の別動作方法を説明するための補助フロー図である。
物理ブロックアドレス情報部103cに任意使用可能な物理ブロックアドレスを登録する(ステップSV2)前に、前記物理ブロックにイレーズ処理を行う(ステップSC1)ことで、図10に示すステップSB3がスキップ可能となり、図10の処理時間すなわちホストからのライトアクセス時間を短縮することができる。
<消去回数情報部>
図11は、物理ブロック消去回数情報部103dの例である。装置全体としての書き換え限度回数を向上することができる。この状要部103dには、物理ブロック毎に消去を行った回数をカウントしたデータを格納する。カウンタ値は、図10のステップSB1で適当な物理ブロックを選択する際に使用される。例えば、イレーズ/書き込み処理の均一化を行う際に、イレーズ/書き込み回数の少ない物理ブロック選択するのに参照されるデータとなる。
物理ブロックアドレスA01が、RAM103上の任意の番地から始まる4バイト単位のオフセットアドレスに相当し、データ部は物理ブロックアドレス毎のイレーズ回数データA02が格納される。イレーズ/書き込み回数の少ない物理ブロック選択する場合、例えばテーブルの符号A03で示す物理ブロックアドレスPkはこの例では消去回数が1回であるで、その他に0回の物理ブロックアドレスがなければ、候補となり得る。
<FAT最適化期間の設定>
図12は、本発明の装置に対してホストから送られる情報の一例を時系列に示して説明する図である。ホストからは、記憶装置100に送られる情報の期間を分類すると、ライトコマンド期間、データ転送期間、FAT解析最適化コマンド期間、リードコマンド期間、データ転送期間などがある。この中で、FAT解析最適化コマンド期間は、図8で示した動作を実行する期間である。ホストはデータアクセスが必要のない期間にFAT解析最適化コマンドをだすようにしている。これにより本発明の良好な実施が行える。
<論理ー物理ブロック変換テーブルで管理される不揮発性メモリ内の領域の例>
図13は、不揮発性メモリデバイス101上の記憶領域が最小限に管理される状態の例を示したものである。不揮発性メモリデバイス101上の記憶領域B01は、全て物理ブロックで構成されるものであり、その大部分が論理ブロック群B02として論理−物理ブロックアドレス変換テーブル情報部103bで対応付けられる。しかし、オーバーライト不能な不揮発性メモリデバイス101においては、必ず論理ブロック群B02で対応付けられない、任意に使用可能な物理ブロック群B03が少なくとも1ブロックは必要とされる。論理−物理ブロックアドレス変換テーブル情報部103bを構成するにおいて必要な記憶領域は、任意に使用可能な物理ブロック群B03と本発明により、追加可能な物理ブロックB04を登録するに必要な領域となる。
<実施形態の有効性とその他の変形例>
任意に使用可能な物理ブロック数が増えることで、イレーズ/書き込み処理の均一化を行う対象が増えることにつながり、記憶装置全体としての書き換え限度回数の向上を図ることが出来る。NAND型不揮発性メモリを主記憶媒体としたストレージ製品全般に有効である。また任意に使用可能な物理ブロックのデータを消去して管理することで、ホストからのデータライトに対する物理ブロックの消去時間及びホストからのデータライトに付随して発生する冗長なデータライト時間を削減でき、ホストからの書き込み処理を高速に出来る。
物理ブロックアドレス情報部103cの空状況に応じて、ファイルシステムを解析するようにしてもよい。これにより未使用の論理ブロックを検索し、論理-物理ブロックアドレス変換テーブルにより、前記論理ブロックに対応付けられている物理ブロックの対応付けを解除し、任意に使用可能な物理ブロックとして物理ブロックアドレス情報部に記憶する。
物理ブロックアドレス情報部の空状況をホストに通知し、ホストからの命令により、ファイルシステムを解析するようにしてもよい。これにより未使用の論理ブロックを検索し、論理-物理ブロックアドレス変換テーブルにより、前記論理ブロックに対応付けられている物理ブロックの対応付けを解除し、任意に使用可能な物理ブロックとして物理ブロックアドレス情報部に記憶する。
物理ブロックに対する書き込み及びイレーズ処理でエラーすなわちバッドブロック化が生じた場合に、図7のテーブルでは使用中止情報を追加し、図6のテーブルでは登録を削除したままの状態とする取り決めを設けてもよい。
以上本発明によれば、一度ホストからライトされたが、データ領域管理情報部の更新などによりファイルシステム上では使用しなくなった物理ブロックを任意に使用することができ、これらの物理ブロック数を消去しておくことで、ホストからのデータライトに対する物理ブロックの消去時間及びホストからのデータライトに付随して発生する冗長なデータライト時間を削減でき、ホストからの書き込み処理を高速に出来る。
また任意に使用可能な物理ブロック数が増えることで、イレーズ/書き込み処理の均一化を行う対象が増えることにつながり、記憶装置全体としての書き換え限度回数の向上を図ることが出来る。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
この発明が適用された記憶装置の構成例を示すブロック図である。 ファイルシステムのファオーマットの一例を示す図である。 図2におけるFATの一例を説明する図である。 図3におけるファイルチェーンの一例を説明する図である。 図2フォルダ領域に格納されているファイル情報の一例を示す図である。 図1における論理−物理ブロックアドレス変換テーブル情報部の一例を示す図である。 図1における物理ブロックアドレス情報部の一例を示す図である 図1における本発明装置の基本動作を説明するフロー図である。 図1におけるホストからのライトコマンド処理時の本発明における動作例を説明するフロー図である。 本発明装置の他の実施形態における動作例を説明するための補助フロー図である。 図1における物理ブロック消去回数情報部の一例を示す図である ホストから送られてくる情報の時系列の一例を説明する図である。 不揮発性メモリデバイス上で最小限に必要とされる記憶領域の例を示す図である。
符号の説明
101・・・不揮発性メモリデバイス、102・・・MPU、103・・・RAM、104・・・ホストインターフェース、105・・・不揮発性メモリインターフェース、101a・・・ファイルシステム,103b・・・論理-物理ブロックアドレス変換テーブル情報部、103c・・・物理ブロックアドレス情報部、103d・・・物理ブロック消去回数情報部、102b・・・論理−物理ブロックアドレス変換テーブル管理部、102c・・・物理ブロックアドレス情報管理部、102d・・・物理ブロック消去回数管理部、102e・・・ファイルシステム制御部、102g・・・物理ブロック情報修正部、102x・・・統合処理部。

Claims (13)

  1. 不揮発性メモリデバイスのファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別するファイルシステム制御部と、
    論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部と、
    前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部と、
    を有することを特徴とする不揮発性メモリの制御装置。
  2. 前記第1の物理ブロックが任意使用可能な前記第2の物理ブロックとして、前記物理ブロックアドレス情報部に登録されるとき、前記第1の物理ブロックのデータを消去する物理ブロック情報修正部を有したことを特徴とする請求項1記載の不揮発性メモリの制御装置。
  3. 前記ファイルシステム制御部は、ホストからのコマンドに応じて動作をスタートすることを特徴とする請求項1記載の不揮発性メモリの制御装置。
  4. 前記物理ブロックアドレス情報部は、
    バッファとして用いられるRAMに形成されていることを特徴とする請求項1記載の不揮発性メモリの制御装置。
  5. 前記物理ブロックアドレス情報部は、
    前記第1の物理ブロックのアドレスで参照可能なテーブルとして形成されていることを特徴とする請求項1記載の不揮発性メモリの制御装置。
  6. 前記論理−物理ブロックアドレス変換テーブル管理部が、
    前記物理ブロックアドレス情報部に登録されている任意使用可能な物理ブロックの中から、1つの物理ブロックを選択して論理ブロックに対応付けを行なうとき、物理ブロック消去回数情報を参照して選択することを特徴とする請求項1記載の不揮発性メモリの制御装置。
  7. ファイルシステムを含む不揮発性メモリデバイスを、論理-物理ブロックアドレス変換テーブル及び物理ブロックが使用中か否かの情報を含む物理ブロックアドレス情報が記録されたランダムアクセスメモリと、統合制御を行なうマイクロプロセッシングユニットにより制御する不揮発性メモリの制御方法において、
    前記ファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別し、
    前記論理-物理ブロックアドレス変換テーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除し、
    前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、前記物理ブロックアドレス情報に登録する
    ことを特徴とする不揮発性メモリの制御方法。
  8. 前記第1の物理ブロックが任意使用可能な前記第2の物理ブロックとして、前記物理ブロックアドレス情報部に登録されるとき、前記第1の物理ブロックのデータを消去することを特徴とする請求項7記載の不揮発性メモリの制御方法。
  9. 前記ファイルアロケーションテーブルの解析は、ホストからのコマンドに応じて実行されることを特徴とする請求項7記載の不揮発性メモリの制御方法。
  10. 前記物理ブロックアドレス情報に登録されている任意使用可能な物理ブロックの中から、1つの物理ブロックを選択して論理ブロックに対応付けを行なうとき、物理ブロック消去回数情報を参照して選択することを特徴とする請求項7記載の不揮発性メモリの制御方法。
  11. ホストからのコマンドを含むデータを受け取るホストインターフェースと、
    ランダムアクセスメモリと、
    不揮発性メモリデバイスと、
    前記コマンドを解析するとともに、前記ランダムアクセスメモリ、前記不揮発性メモリデバイスを統括制御するマイクロプロセシングユニットと、を有した記憶装置において、
    前記不揮発性メモリデバイスのファイルシステム内のファイルアロケーションテーブル(FAT)を解析し、未使用の論理ブロックを識別するファイルシステム制御部と、
    論理-物理ブロックアドレス変換テーブル情報部のテーブルを用いて、前記未使用の論理ブロックに対応する物理ブロックアドレスから第1の物理ブロックを得、論理ブロックとの対応付けを解除する論理−物理ブロックアドレス変換テーブル管理部と、
    前記第1の物理ブロックを任意使用可能な第2の物理ブロックとして、物理ブロックアドレス情報部に登録する物理ブロックアドレス情報管理部と、
    を有することを特徴とする記憶装置。
  12. 前記第1の物理ブロックが任意使用可能な前記第2の物理ブロックとして、前記物理ブロックアドレス情報部に登録されるとき、前記第1の物理ブロックのデータを消去する物理ブロック情報修正部を有したことを特徴とする請求項11記載の記憶装置。
  13. 前記ファイルシステム制御部は、ホストからのコマンドに応じて動作をスタートすることを特徴とする請求項11記載の記憶装置。
JP2007165368A 2007-06-22 2007-06-22 不揮発性メモリの制御装置及び制御方法及び記憶装置 Withdrawn JP2009003783A (ja)

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)

* Cited by examiner, † Cited by third party
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 (17)

* Cited by examiner, † Cited by third party
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
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
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
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

Family Cites Families (18)

* Cited by examiner, † Cited by third party
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
CN101176074B (zh) * 2005-12-09 2010-12-15 松下电器产业株式会社 非易失性存储器件,写入数据的方法,和读出数据的方法

Cited By (4)

* Cited by examiner, † Cited by third party
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
US8332574B2 (en) Method for efficient storage of metadata in flash memory
EP2034414A1 (en) Semiconductor storage device and method of controlling semiconductor storage device
CN102779095B (zh) 闪存装置、存储器控制装置、存储器控制方法及存储系统
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
US20140181378A1 (en) Control device, control method, and program
JP6455900B2 (ja) ストレージシステムおよびシステムガベージコレクション方法
US10372367B2 (en) Non-volatile memory device, non-volatile memory control device, and non-volatile memory control method
US20080320213A1 (en) Control device of nonvolatile memory and control method thereof, and storage device
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
JP2009230414A (ja) 複数の不揮発性メモリデバイスを有する記憶装置
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
CN110389712B (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
JP2015191336A (ja) メモリ制御装置、情報処理装置とその制御方法、及びプログラム
JP2018160189A (ja) メモリシステム
JP2009003784A (ja) 不揮発性メモリの制御装置及び制御方法及び記憶装置
JP2012248109A (ja) マルチチャネルを有するメモリ装置及び同装置におけるコンパクションのためのリードコマンド群生成方法
JP2005115561A (ja) フラッシュrom制御装置
JP4737223B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2005115562A (ja) フラッシュrom制御装置
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
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