JP2009282568A - 半導体記録装置 - Google Patents

半導体記録装置 Download PDF

Info

Publication number
JP2009282568A
JP2009282568A JP2008131083A JP2008131083A JP2009282568A JP 2009282568 A JP2009282568 A JP 2009282568A JP 2008131083 A JP2008131083 A JP 2008131083A JP 2008131083 A JP2008131083 A JP 2008131083A JP 2009282568 A JP2009282568 A JP 2009282568A
Authority
JP
Japan
Prior art keywords
block
logical
physical
page
fat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008131083A
Other languages
English (en)
Inventor
Takeshi Otsuka
健 大塚
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008131083A priority Critical patent/JP2009282568A/ja
Publication of JP2009282568A publication Critical patent/JP2009282568A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】FATのような小ブロックのランダムライトが連続した場合にかかる時間の最大値を抑制する。
【解決手段】FATを構成するN個(Nは2以上の整数)のブロックに対して、夫々に(2*M)ページから構成される2個の物理ブロックを割り当てる。そしてFAT更新の際には、ブロック管理手段16はN個の論理ブロックに対してページ単位で、各ブロックのページ順に第1物理ブロック、第2の物理ブロックの順番に書き込む。FATの論理アドレスにかかる書き込み回数が(M/N)回増加する毎に、FAT部を構成するN個の論理ブロック番号順に、各論理ブロックの第2物理ブロックに書き込まれたページ数を検出し、ページ数が予め定められた基準ページ数より多い場合は、消去済みの新物理ブロックに集約する。これにより、FATのような小ブロックの書き込み時間の最大値を抑制できる。
【選択図】図4

Description

本発明は、メモリカードなどの半導体記録装置に関し、特にファイルシステムの書き込み速度を保証する技術に関する。
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるSD(Secure Digital)カード等の半導体記録装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
この半導体記録装置に内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去し書き換えを行うメモリである。各物理ブロックは複数個のページによって構成され、書き込みの際にはページの番号順にのみ書き込めるが、消去は物理ブロックを構成する全ページの消去となる。
一方、メモリカードのファイルシステムはファイルアロケーションテーブル(以下、FATという)が多く使用されている。FATは小ブロックのランダムな書き込みを前提としたファイルシステムである。よって、フラッシュメモリにおいては、論理ブロックのページ単位での書き換えが多々発生することになる。論理ブロックの一部のデータを書き換える処理は以下のようになる。
(1)消去済みの新物理ブロックの確保
(2)確保した新物理ブロックへ、更新するデータをページ単位で書き込み
(3)旧物理ブロックのデータを新物理ブロックへ移動
(4)旧物理ブロックの消去
例えば、フラッシュメモリの物理ブロックのサイズを256kバイト(以下、単にBという)とし、夫々の物理ブロックが64ページによって構成されているものとする。このときページのサイズは4kBとなる。さて1ページ分の4kB分のFATを更新するにあたり、このアルゴリズムを適用すると、63ページ分のリードとライトが発生することになる。この手法は、FAT部の書き換え速度の劣化、書き換え回数の増加によるメモリ寿命の低下の点から好ましくない。
そこで特許文献1では、FAT部に相当する論理ブロックに対して、複数個の物理ブロックを用意しておき、FATの論理アドレスのデータを書き換える際、複数の物理ブロックに順次書き込んでいくことにより、書き換え速度の劣化やメモリ寿命の低下といった課題を抑制している。
以下、特許文献1のアルゴリズムについて説明する。ここでは512kBのFATの論理アドレス領域に対して1MBの物理アドレスを割当てて、FATを更新していくものとする。FAT領域は512kBなので、FAT領域にかかる論理アドレス256kBずつに2分割し、前半のFAT領域をFAT0、後半のFAT領域をFAT1とする。これはフラッシュメモリの物理ブロックサイズに対応させたものであり、分割したFAT0及びFAT1には、夫々2個の物理ブロックを割り当てる。
FAT領域に対する書き込みや更新は、フォーマット時の全領域の書き込みと所定の間隔のFATの更新に分類される。
図1は、従来のFATを書き込んだ物理ブロックの説明図であり、図1(a)は、フォーマット直後の物理ブロックの状態、図1(b)は16回のFATを更新した後の物理ブロックの状態、図1(c)は32回のFATを更新した後の物理ブロックの状態を示す。図1(d)は73回FAT更新後の物理ブロックの状態を示す図で、図1(e)は74回目のFAT更新がFAT0に発生した場合の物理ブロックの状態を示す。
まずFAT0に割当てられた2個の物理ブロックをPB0,PB1とし、FAT1に割り当てられた2個の物理ブロックをPB10,PB11とする。フォーマット時は、図1(a)に示すように、夫々片方の物理ブロックPB0,PB10の全ページにFATが書き込まれる。尚ハッチングは書き込み済みを示す。
図1(b)は、前半のFAT領域(FAT0)に対応するFATの更新が13回、後半のFAT領域(FAT1)に対応するFATの更新が3回発生した状態である。この場合は、物理ブロックPB1及びPB11にFATがページ単位で書き込まれるため、FATの1回の更新にかかる時間は、単位ページの書き込み時間だけである。
図1(c)は、さらに前半のFAT領域(FAT0)に対応するFATの更新が10回、後半のFAT領域(FAT1)に対応するFATの更新が6回発生した状態である。これはフォーマット直後からは合計32回のFAT更新となる。
図1(d)は、図1(c)の状態から、連続して41回前半のFAT領域(FAT0)の更新が発生した場合を示す。この場合はFAT0に割り当てられた2個の物理ブロックPB0,PB1は、共に全64ページが書き込み済みになっている。
図1(e)は図1(d)の状態から、前半のFAT領域(FAT0)に更新があった場合である。FAT0に割り当てられた2個の物理ブロックPB0,PB1の全ページは書き込み済みであるので、新しい物理ブロックを2個確保する。新物理ブロックを例えば物理ブロックPB20,PB21とする。そして、2個の旧物理ブロックPB0,PB1に書き込まれているFAT0のデータを、論理アドレスの順番に、新規に確保した物理ブロックPB20に集約する。同一論理アドレスにかかるデータが2個の旧物理ブロックの複数のページに書き込まれている場合は、後で書き込まれたデータを新物理ブロックPB20にコピーする。そして、新たに発生した74回目のFAT更新によるデータは、新たに確保した他方の物理ブロックPB21の最初のページに書き込む。
このように、FAT領域に複数の物理ブロックを割当て、複数の物理ブロックが共に書き込み済みになるまでFATにかかるデータを書き込む。こうすれば、FAT領域への書き込みが発生する毎に、新物理ブロックを確保して以前に書き込んでいた旧物理ブロックのデータをコピーすることが不要になるため、書き換え速度の劣化やメモリ寿命の低下を抑制することができる。
特開2006−40264号公報
ところでカメラレコーダ等の記録媒体にメモリカードを用いた場合、電源断等における記録データ破損の影響を小さくするために、FATの更新を数秒毎に実施している。
カメラレコーダで撮影映像信号の1秒当たり入力レートをA[MB/sec]、FATの更新間隔を2秒、2秒毎に更新するFATのデータ量をB[MB]、FATデータとしてB[MB]の記録時間の最大値をC[sec]とした場合について考察する。
まず記録レートについて考察する。映像信号データの記録は連続アドレスの記録、FAT部の記録がランダムアクセスの記録となるため、映像信号データの記録レートとFAT部の記録レートを別々に考察する。
FATが記録されている間は映像信号の記録はできないため、本システムの場合の映像信号の記録レートRate1は次式(1)を満たすことが必要である。
Rate1≧2A/(2−C) ・・・(1)
また、FAT部の記録レートRate2は次式(2)を満たすことが必要になる。
Rate2≧B/C ・・・(2)
次に、映像信号を一時記録しておくバッファ量について説明する。上述したように、FATの記録中は映像信号を記録することはできないため、映像信号を一時記録するバッファーメモリが必要となる。バッファーメモリの容量BUFの最小値は、(映像信号の入力レート)*(FATの記録にかかる時間の最大値)となり、次式(3)を満たすことが必要となる。
BUF≧A*C ・・・(3)
ここで、FATの記録にかかる時間の最大値について考察する。4GBのメモリカードにおいてクラスタサイズを32kBとすると、128K個のクラスタが割り当てられる。1クラスタに必要なFATのデータ量は4Bであるので、FATに必要とされるデータ量は512kBとなる。
また、記録レートの保証値が4MB/secのメモリカードを使用した場合、2秒間に記録できる最大データ量は8MBなので、更新することができる最大クラスタ数は256クラスタとなる。ここで、256クラスタ分に相当するFATのデータ量は1kBである。映像信号は連続アドレスに記録するので、上記の256個のクラスタは連続するクラスタになる。
一方、フラッシュメモリのページは4kBであり、更新する256個のクラスタのための1kBのFATデータは、最大2個のページに分散されて記録される。
連続するクラスタが記録されるページは、更新するFATの論理アドレスにより、以下に示す2パターンに分類される。
(パターン1)更新するFATが共にFAT0またはFAT1の場合
(パターン2)更新するFATがFAT0とFAT1の場合
さらに、記録する物理ブロックの未記録ページの状態により各パターンは、以下のように分類される。これらのパターンの詳細を図2に示す。
(パターン1−1) 図2(a)に示すように、更新するFATの論理アドレスが共にFAT0またはFAT1であって、FAT更新対象の論理アドレスに対応する物理ブロックの未記録ページ数が最低2ページ分以上である場合。
(パターン1−2) 図2(b)に示すように、更新するFATの論理アドレスが共にFAT0またはFAT1であって、FAT更新対象の論理アドレスに対応する物理ブロックの未記録ページ数が1ページ以下の場合。
(パターン2−1) 図2(c)に示すように、更新するFATの論理アドレスがFAT0とFAT1であって、FAT0とFAT1に対応する夫々の物理ブロックの未記録ページが共に1ページ以上である場合。
(パターン2−2) 図2(d)に示すように、更新するFATの論理アドレスがFAT0とFAT1であって、FAT0とFAT1に対応するどちらかの物理ブロックの未記録ページが存在しない場合。
(パターン2−3) 図2(e)に示すように、更新するFATの論理アドレスがFAT0とFAT1であって、FAT0とFAT1に対応する双方の物理ブロックの未記録ページが存在しない場合。
図3にFATを更新した後の物理ブロックの状態を示す。図3において、黒く塗りつぶした箇所はFATの更新ページである。また斜線部は図2と同一の書き込み状態、縦線部は図2に示す斜線部のデータをコピーした新物理ブロックであることを示す。図3(a),(b)は夫々図2(a),(b)の状態からFAT0の最初の8kBが更新された後の状態を示す。また図3(c),(d),(e)は、図2の(c),(d),(e)の状態から、FAT0の最終の4kBとFAT1の最初の4kBが更新された後の状態である。以下図3の各パターンについて説明する。
図3(a)はFAT0に対応する物理ブロックに未記録ページが2ページ以上あるので、順番に2ページ分更新したFATデータを書き込んでいる。よって、FATの更新にかかる時間は2ページの記録時間になる。
図2(b)では、FAT0に対応する物理ブロックPB1の未記録ページは1ページしかない。よって、最初の1ページを物理ブロックPB1に追記する。この状態でFAT0に割り当てられた2個の物理ブロックPB0,PB1は全ページ記録済みとなる。よって次の1ページを更新する場合は、図3(b)に示すように新規物理ブロックPB20,PB21を確保し、物理ブロックPB0,PB1のデータを新規物理ブロックPB20にコピーする。書き込み済みデータ、更新データの論理アドレスが重複している場合は、時間軸の遅いデータを選択して新規物理ブロックPB20に書き込む。よって、FATの更新にかかる時間は、65ページの記録時間と2物理ブロックの消去時間の和になる。
図2(c)はFAT0及びFAT1に対応する夫々の物理ブロックPB1,PB11に未記録ページが1ページ以上ある。従って図3(c)に示すように、FAT0にかかる物理ブロックPB1に1ページ追記し、FAT1にかかる物理ブロックPB11に1ページ追記する。こうすれば、FATの更新にかかる時間は2ページの記録時間になる。
図2(d)は、FAT1に対応する物理ブロックPB11に未記録ページは存在しているが、FAT0に対応する物理ブロックPB0,PB1に未記録ページは存在しない。よって、FAT0にかかる1ページを更新する場合は、図3(d)に示すように新規物理ブロックPB20,PB21を確保し、物理ブロックPB0,PB1のデータを新規物理ブロックPB20にコピーする。書き込み済みデータ、更新データの論理アドレスが重複している場合は、時間軸の遅いデータを選択して新規物理ブロックPB20に書き込む。また、FAT1に対応するデータは、既存の物理ブロックPB11の未記録ページに書き込めばよい。以上より、FATの更新にかかる時間は、65ページの記録時間と2物理ブロックの消去時間の和になる。
図2(e)は、FAT0及びFAT1に対応する物理ブロックPB0,PB1及びPB10,PB11には、共に未記録ページは存在しない。よって、FAT0にかかる1ページを更新する場合は、図3(e)に示すように新規物理ブロックPB20,PB21を確保し、物理ブロックPB0,PB1のデータを新規物理ブロックにコピーする。書き込み済みデータ、更新データの論理アドレスが重複している場合は、時間軸の遅いデータを選択して新規物理ブロックに書き込む。FAT1に対応するデータの更新も同様に新規物理ブロックPB30,PB31を確保し、そのうち物理ブロックPB30に集約して書き込む。よって、FATの更新にかかる時間は、128ページの記録時間と4物理ブロックの消去時間の和になる。
以上説明したように、FATの更新にかかる時間は、2ページの書き込みの場合から、128ページの書き込みと4物理ブロックの消去の合計時間の場合まであり、非常にバラツキが大きい。
ホスト側にバッファとして必要なデータ容量も、FAT更新にかかる時間の最大値が必要となる。例えば、1ページの記録時間を0.8ms、1物理ブロックの消去時間を2msとすると、最悪の場合は約9ms(=128*0.8+8)となる。入力レート3MB/sの映像信号を記録するには、27MBの容量を持つバッファが必要となる。
本発明は、上記問題を解決するものであり、FATのような小ブロックのランダムライトが連続した場合にかかる時間の最大値を抑制するとともに、比較的高速に書き込みができる半導体記録装置を提供することを目的とする。
この課題を解決するために、本発明の半導体記録装置は、不揮発性メモリと、外部のホスト機器からのコマンドに基づいて前記不揮発性メモリにデータを書き込み又は読み出すメモリコントローラとを具備する半導体記録装置であって、不揮発性メモリは、消去の単位を物理ブロックとすると、複数の物理ブロックを有するものであり、各物理ブロックは2M個(Mは1以上の整数)のページから成り、前記メモリコントローラは、ホスト機器が発行する転送命令にかかる論理ブロックと前記不揮発性メモリの物理ブロックとを対応づけると共に、特定のN個(Nは2以上の整数)の論理ブロックには、夫々第1物理ブロックと第2物理ブロックの2個の物理ブロックを対応づける論物変換テーブルと、前記特定論理ブロックに対して書き込みを行うときに前記第1物理ブロック、第2物理ブロックの順番で書き込むブロック管理手段と、前記特定論理ブロックとそれに対応する(2*N)個の物理ブロックにおいて、そのページに記録されている論理ブロックを構成する論理ページとの対応を管理するページ管理テーブルと、前記特定論理ブロックにかかるライトコマンド数を論理ページ単位で計数する論理ページ計数手段と、前記論理ページ計数手段により計数された書き込み済みの論理ページ数が所定の増加ページ数(R1ページ)を増加する毎に、前記特定論理ブロックを順番に1論理ブロック抽出し、前記ページ管理テーブルを参照にして、抽出した論理ブロックに対応する第2の物理ブロックに記録されているページ数を検出する記録ページ数検出手段と、前記記録ページ数検出手段において検出された第2の物理ブロックのページ数が基準ページ数(R2ページ)を超えた場合には、消去された2つの物理ブロックを新規の第1,第2の物理ブロックとして確保し、前記ページ管理テーブルを参照にしながら、当該第1及び第2の物理ブロックに書き込まれている有効なデータを新規の第1の物理ブロックに集約する集約手段と、を備えたものである。
ここで前記所定の増加ページ(R1ページ)は(M/N)ページであり、前記基準ページ(R2ページ)は、Mページとしてもよい。
この課題を解決するために、本発明の半導体記録装置は、不揮発性メモリと、外部のホスト機器からのコマンドに基づいて前記不揮発性メモリにデータ及びファイルアロケーションテーブル(以下、FAT)を書き込み又は読み出すメモリコントローラとを具備する半導体記録装置であって、前記不揮発性メモリは、消去の単位を物理ブロックとすると、複数の物理ブロックを有するものであり、各物理ブロックは2M個(Mは1以上の整数)のページから成り、前記メモリコントローラは、ホスト機器が発行する転送命令にかかる論理ブロックと前記不揮発性メモリの物理ブロックとを対応づけると共に、FATを記録する特定のN個(Nは2以上の整数)の論理ブロックには、夫々第1物理ブロックと第2物理ブロックの2個の物理ブロックを対応づける論物変換テーブルと、前記FATを記録する論理ブロックに対してフォーマット時には前記第1物理ブロック、それ以降の書き込みには第2物理ブロックに書き込むブロック管理手段と、前記FATを記録する論理ブロックとそれに対応する(2*N)個の物理ブロックにおいて、各物理ブロックの各ページと、そのページに記録されている論理ブロックを構成する論理ページとの対応を記録するページ管理テーブルと、前記FATのフォーマット後のライトコマンド数を論理ページ単位で計数する論理ページ計数手段と、前記論理ページ計数手段により計数された書き込み済みの論理ページ数がM/Nページ数増加する毎に、前記FATを記録するN個の論理ブロックから順番に1論理ブロック抽出し、前記ページ管理テーブルを参照にして、抽出した論理ブロックに対応する第2の物理ブロックに記録されているページ数を検出する記録ページ数検出手段と、前記記録ページ数検出手段において検出された第2の物理ブロックのページ数がMページを超えた場合には、消去された2つの物理ブロックを新規の第1,第2の物理ブロックとして確保し、前記ページ管理テーブルを参照にしながら、当該第1及び第2の物理ブロックに書き込まれている有効なデータを新規の第1の物理ブロックに集約する集約手段と、を備えたものである。
本発明によれば、特定論理ブロックに対応する物理ブロックの書き込みページ数が所定のページ数増加(R1)する毎に、対象とする1論理ブロックの第2の物理ブロックに書き込まれているページ数が基準ページ数(R2)を超えた場合にのみ、当該論理ブロックを構成する2個の物理ブロックのデータを消去済み物理ブロックに集約させる。よって、2個の物理ブロックのデータを消去済み物理ブロックに集約させる動作が集中して発生することを防止できる。従ってFATのような小ブロックの書き込みにかかる時間の最大値を抑制することができる。またFAT更新に備えて、ホスト機器にデータを一時記録するバッファーメモリ容量を小さくすることができる。また、FATの更新速度をR1回のライト時間の総和で定義すれば、より高速なFAT更新速度を保証することができるという効果が得られる。
図4に本発明による半導体記録装置の実施の形態の構成図を示す。本実施の形態において半導体記録装置をメモリカードとする。メモリカードはメモリコントローラ10及び不揮発性のフラッシュメモリ30によって構成される。
次にフラッシュメモリ30について詳細に説明する。図5はフラッシュメモリ30の領域マップであり、図6は1つの物理ブロックの構成図を示す。フラッシュメモリ30は例えば4GBの容量を持つものとし、A個(Aは自然数)の物理ブロックより構成されている。物理ブロックはデータ消去の単位であり、ここでは256kBの容量とする。本実施の形態では、A個の物理ブロックに対してPB0〜PB(A−1)の物理ブロック番号を付している。
そして、物理ブロック番号PB0〜PB(B−1)(Bは、B<Aを満たす自然数)のB個の物理ブロックをフラッシュメモリ30の第1領域31−1、物理ブロック番号B〜(A−1)の(A−B)個の物理ブロックをフラッシュメモリ30の第2領域31−2とする。第1領域31−1は、ホストから転送されるユーザデータ(FAT等のファイルシステムを含む)を記録する領域である。また第2領域31−2は後述するように論物変換テーブル13、ページ管理テーブル14等のシステムデータを記録する領域である。
また論理ブロック番号LBは0〜(B−m)(m>1)とする。論理ブロックに対応するメモリの第1領域の物理ブロック数を論理ブロック数より多く割り当てる。これにより、書き込み済みの論理ブロックを書き換える場合において、論物変換テーブル13を用いて当該論理ブロックに対応して書き込まれている物理ブロックとは別の物理ブロックに書き込むことが可能となる。よって、ホスト機器から同一の論理ブロックに集中してライトコマンドが発行された場合においても、書き換えが同一の物理ブロックに集中することを防止している。
また、各物理ブロックは図6に示すように、n個(nは自然数)のページによって構成され、各ページには0〜(n−1)のページ番号PNが付される。物理ブロックのページは書き込みの単位であり、ここではnを例えば64とする。データサイズが1ページに相当する場合は、同一物理ブロックに64回データを書き込むことができる。
次にこのメモリコントローラ10の詳細について図4を用いて説明する。メモリコントローラ10において、外部インターフェイス11はホスト機器からのコマンド受信及びデータの転送を行うものである。
コマンド解析手段12は外部インターフェイス11によって受信されたコマンドを解析するものである。
論物変換テーブル13は、ホストから発行される論理アドレス番号とフラッシュメモリ30に書き込まれている物理アドレス番号との対応を示すテーブルである。このテーブルはフラッシュメモリ30の第2領域31−2にも書き込まれる。本実施の形態では、FATのランダムな高頻度の書き込みに対応するため、FATを記録するための論理ブロック1個について、2個の物理ブロックを割り当ててフラッシュメモリを管理している。
図7に、論物変換テーブル13の一例を示す。4GBのメモリカードの場合、FATにかかる容量は512kBであるので、前半のFAT領域(FAT0)に256kB、後半のFAT領域(FAT1)に256kBを割当てる。具体的には、論理ブロック番号LB1をFAT0、論理ブロック番号LB2をFAT1とし、論理ブロック番号LB1,LB2には、夫々2個の物理ブロックを割り当てる。図7では、論理ブロック番号1を区別するためLB1(1)、LB1(2)で示している。論理ブロック番号2を区別するため同様にLB2(1)、LB2(2)で示している。
また図7では、論理ブロック番号LB0は物理ブロックPB3に、論理ブロック番号LB1(1),LB1(2)の論理ブロック(FAT0)は物理ブロックPB4,PB6にマッピングされている。論理ブロック番号LB2(1),LB2(2)のブロック(FAT1)は物理ブロックPB5,PB7にマッピングされている。また論理ブロック番号LBJ,LB(J+1)の論理ブロックは、データが書かれていないことを示している。ブロック番号は0〜A−1が有効値なので、Aを書き込むことにより、無効であることを示す。
図8にページ管理テーブル14の一例を示す。ページ管理テーブル14は、FATを構成する各論理ブロックにアサインされた2個の物理ブロックの各物理ページとその物理ページに書き込まれている論理ページとの対応を示すテーブルである。以下では、2個の物理ブロックを第1物理ブロックPB−Fと第2物理ブロックPB−Sとする。
ページ管理テーブル14は、フラッシュメモリ30の第2領域31−2にページ管理テーブル用の物理ブロックとして割り当てられ、FATを更新する毎にその物理ブロックのページに追記していく。
本実施の形態のFAT部は512kBであり、FAT0,FAT1を構成する論理ページ数は物理ブロックのページ数と一致し、夫々64ページからなる。
ページ管理テーブル14のK番目のワード(0≦K≦63)には、FAT0の第1物理ブロックのKページに書き込まれているFAT0の論理ページ番号を格納する。
また、ページ管理テーブル14のK番目のワード(64≦K≦127)には、FAT0の第2物理ブロックの(K−64)ページに書き込まれているFAT0の論理ページ番号を格納する。
同様に、ページ管理テーブル14のK番目のワード(128≦K≦191)には、FAT1の第1物理ブロックの(K−128)ページに書き込まれているFAT1の論理ページ番号を格納する。
また、ページ管理テーブル14のK番目のワード(192≦K≦255)には、FAT1の第2物理ブロックの(K−192)ページに書き込まれているFAT1の論理ページ番号を格納する。
そして、FAT0を構成する論理セクタ番号は512〜1023であり、各論理ページは4kBからなるので、各論理ページには8セクタ割り当てられる。よって、FAT0の論理ページ0には512番〜519番のセクタが、FAT0の論理ページ1には520番〜527番のセクタ、FAT0の論理ページ63には1016〜1023番のセクタが割り当てられる。同様に、FAT1の論理ページ0には1024番〜1031番のセクタが、FAT1の論理ページ1には1032番〜1039番のセクタ、FAT1の論理ページ63には1528番〜1535番のセクタが割り当てられる。
ブロック管理テーブル15は、各物理ブロックが、消去可能であるかどうかを登録するものである。ブロック管理テーブル15は特にフラッシュメモリ30に書き込む必要はない。電源投入時に論物変換テーブル13を読み取り、フラッシュメモリ30の全物理ブロックについて、論物変換テーブル13に登録されているブロックを「0」、そうでないブロックを「1」のように登録して作成する。この場合に「1」と登録されたフラッシュメモリの第1領域31−1の物理ブロックが消去可能ブロックとなる。
ブロック管理手段16は、ホストよりライトコマンドが発行された場合、ブロック管理テーブル15を参照して新物理ブロックを抽出し、抽出された物理ブロックにデータを書き込み、データを書き込んだ物理ブロック番号とホストから発行された論理ブロック番号の対応関係を論物変換テーブル13に登録するものである。
論理ページ数計数手段17は、ここではFATブロックを保持する4つの物理ブロックへのライトコマンド数をFAT更新回数Tとして論理ページ単位で計数するものである。詳細については後述する。
記録ページ数検出手段18は、論理ページ計数手段17により計数されたFAT更新回数Tが所定のページ数増加(R1ページ)する毎に、FAT部の論理ブロックを順番に1論理ブロック抽出し、ページ管理テーブル14を参照にして、抽出した論理ブロックに対応する第2物理ブロックPB−Sに記録されているページ数を検出するものである。本実施の形態では、記録ページ数検出手段18はFAT更新回数Tが16増加する毎に第2物理ブロックの書き込み済みページ数を検出している。
集約手段19は、記録ページ数検出手段18において検出された第2物理ブロックのページ数が基準ページ数(R2ページ)を超えた場合には、消去可能な2個の新規物理ブロック(第1,第2物理ブロック)を確保し、ページ管理テーブル14を参照にしながら、後述するルールに基づいて当該第1及び第2の物理ブロックに書き込まれているデータを新規の第1物理ブロックに集約するものである。本実施の形態では集約手段19の基準ページ数R2は物理ブロックのページ数の1/2、即ち32とする。
フラッシュ制御手段20は、フラッシュメモリ30へのデータの書き込み及びフラッシュメモリ30からのデータの読み出しを行うものである。
次に本実施の形態による半導体記録装置の動作、特にFATデータの更新と集約処理について説明する。FATデータの更新と集約は以下のルールに従って行われる。
(ルール0)FAT0には、2個の物理ブロックが割り当てられる。これを第1物理ブロックPB−Fと第2物理ブロックPB−Sとする。FAT1についても、2個の物理ブロックが割り当てられる。これを第1物理ブロックPB−Fと第2物理ブロックPB−Sとする。これらは夫々独立して管理される。
(ルール1)同一論理ページ番号が複数の物理ページに割り当てられている場合は、第2物理ブロックが優先される。
(ルール2)同一論理ページ番号が同一物理ブロックの複数の物理ページに割り当てられている場合は、大きい物理ページ番号に格納されている論理ページが優先される。
本実施の形態では、FATの更新に以下のルールを追加している。
(ルール3)論理フォーマット直後では、FAT0とFAT1は共に第1物理ブロックのみに割り当てられている状態であり、これを初期状態とする。このときのFAT更新回数Tを0とする。
(ルール4)FATを更新すると、FAT更新回数Tをインクリメントする。
(ルール5−1)T%32が16の状態の次のFATの更新をFAT0の新物理ブロックへの更新可能タイミングとする。
(ルール5−2)T%32が0の状態の次のFAの更新をFAT1の新物理ブロックへの更新可能タイミングとする。
(ルール6−1)ルール5−1の更新タイミングにおいて、FAT0の第2物理ブロックに書き込まれているページ数が32ページより多い場合に、新物理ブロックへの更新を行う。
(ルール6−2)ルール5−2の更新タイミングにおいて、FAT1の第2物理ブロックに書き込まれているページ数が32ページより多い場合に、新物理ブロックへの更新を行う。
(ルール7)新物理ブロックへの更新時には第1物理ブロックと第2物理ブロックを確保し、書き込み済みの第1,第2物理ブロックに書き込まれているFATデータを、新規に確保した第1物理ブロックにコピーする。
(ルール8)新物理ブロックへの更新後のFATデータは、新第2の物理ブロックに書き込む。
FATを更新する場合の動作は、ページ管理テーブル14を参照して、FATブロックに割り当てられた物理ブロックのページの状態を検出し、空きページがあれば、更新するFATを追記するとともにページ管理テーブル14を更新する。
次に上記のルールを適用したFATの更新について、図9Aを参照にしながら説明する。図9A(a)は、フォーマット直後の物理ブロックの状態、図9A(b)は16回のFAT更新後の物理ブロックの状態、図9A(c)は32回のFAT更新後の物理ブロックの状態を示す。図9A(d)は48回のFAT更新後の物理ブロックの状態を示す図で、図9A(e)は集約処理後の状態、図9Bは49回目のFAT更新がFAT0に発生した場合の物理ブロックの状態を示す。
図9A(a)に示すように、フォーマットのときに、FAT0に割り当てられた2個の物理ブロックをPB0,PB1とし、PB0を第1物理ブロックPB−F,PB1を第2物理ブロックPB−Sとする。またFAT1に割り当てられた2個の物理ブロックをPB10,PB11とし、PB10を第1物理ブロックPB−F,PB11を第2物理ブロックPB−Sとする。そして夫々の第1物理ブロックPB−Fである物理ブロックPB0,PB10には全ページに書き込まれる。論理ページ計数手段17は、FAT更新回数Tを0に初期化する。
図9A(b)は、前半のFAT領域(FAT0)に対応するFATの更新が13回、後半のFAT領域(FAT1)に対応するFATの更新が3回発生した状態である。論理ページ計数手段17はFAT0,FAT1の領域は区別せずに計数しているため、FAT更新回数Tは16となる。また図9A(b)は16回目のFAT更新後(T=16)の状態であり、次の書き込みはルール5−1に相当する。よって、記録ページ数検出手段18は、ページ管理テーブル14を参照にしながら、FAT0の第2物理ブロックPB1に書き込まれているページ数を検出する。しかしながら、FAT0の第2物理ブロックに書き込まれているページ数は13ページであり、32ページ以下であるため、ルール6−1を満たさず新物理ブロックへの更新はなされない。
同様に図9A(c)は、さらに前半のFAT領域(FAT0)に対応するFATの更新が10回、後半のFAT領域(FAT1)に対応するFATの更新が6回発生した状態である。この状態は、フォーマット直後からは合計32回のFAT更新である。論理ページ計数手段17が計数しているFAT更新回数Tは32となり、次の書き込みはルール5−2に相当する。よって、記録ページ数検出手段18は、ページ管理テーブル14を参照にしながら、FAT1の第2物理ブロックPB11に書き込まれているページ数を検出する。しかしながら、FAT1の第2物理ブロックに書き込まれているページ数は9ページであり、32ページ以下であるためルール6−2を満たさず、新物理ブロックへの更新はなされない。
図9A(d)は、FATの書き込みが48回目(T=48)の書き込み終了時の状態であり、論理ページ計数手段17により、FAT更新回数Tは48となる。従って次の更新はルール5−1に相当する。よって、記録ページ数検出手段18は、ページ管理テーブル14を参照にしながら、FAT0の第2物理ブロックの記録ページ数を検出する。FAT0の第2物理ブロックPB1には33ページ記録されているので、ルール6−1を満たし、新物理ブロックへの更新条件となり、集約手段19が起動される。
次に集約手段19の動作について説明する。図9A(e)は図9A(d)の状態から、前半のFAT領域(FAT0)に更新が発生する場合である。本状態では、以下のステップでFAT0の更新を実施する。
(ステップ1)ブロック管理テーブル15では、消去可能な2個の新物理ブロック、例えばPB20,PB21を新規の第1,第2物理ブロックとして確保し、消去する。
(ステップ2)ページ管理テーブル14を参照にしながら、(ルール0)〜(ルール2)に従い、現在の第1,第2物理ブロックPB0,PB1に書き込まれているFAT0の有効なデータを、新規に確保した第1物理ブロックPB20に集約する。これにより図9A(e)の状態となる。
(ステップ3)論物変換テーブル13におけるFAT0に対応する物理ブロックを新第1の物理ブロックPB20、新第2の物理ブロックPB21に更新する。またこれに対してページ管理テーブル14を更新する。更に元の物理ブロックPB0,PB1を消去可能ブロックとし、新物理ブロックPB20,PB21を有効ブロックとしてブロック管理テーブル15に登録する。
次にFAT0の更新が必要となった場合には、図9Bに示すように書き込むべきFAT0のデータを新規に確保した物理ブロックPB21に書き込む。これによりFAT更新回数Tは49となる。
一方、後半のFAT領域(FAT1)に更新が発生する場合もルール5−2,6−2を満たしている場合には、集約手段19を起動して同様に集約処理を実施する。そして、FAT1の第2の物理ブロックにFAT1に対応するデータを書き込む。こうして前半と後半のFATの集約可能タイミングを交互になるようにしている。
次に図9A(e)において、FAT更新にかかる時間について説明する。
(ステップ1)では、2個の物理ブロックの消去にかかる時間を要する。
(ステップ2)では、64ページの読み出しにかかる時間と64ページの書き込みにかかる時間を要する。よって、図9A(e)でFAT更新にかかる時間は2物理ブロックの消去及び64ページの読み出し、書き込みに要する時間となる。なお、論物変換テーブル13、ページ管理テーブル14の更新についてもいくらかの時間を要するが、従来例も同様の更新が発生するので、説明を割愛する。
以上説明したように、(ルール0)〜(ルール8)を適用した場合の1回のFAT更新にかかる時間は、1ページの書き込みに要する時間をTwp、1ページの消去に要する時間をTep、1物理ブロックの消去に要する時間をTebとすると、以下のいずれかのパターンになる。
(パターン1)Twp
(パターン2)2Teb+64Twp+64Trp
そして(パターン2)の発生する最短周期は16回の更新間隔である。
よって、FATの更新にかかる時間の最悪値は、FAT更新の16回の平均値で定義できる。この場合パターン1が15回、パターン2が1回なので、上記最悪値をT_16AVで定義すると、次式(4)で表される。
T_16AV=(2Teb+79Twp+64Trp)/16 ・・・(4)
従来例では、図2(e)から図3(e)になるときのように、FAT0における新物理ブロックへの更新とFAT1における新物理ブロックへの更新が2回連続して発生するため、1回のFAT更新にかかる時間は次式(5)で示される。
T_16AV=(4Teb+144Twp+128Trp)/16 ・・・(5)
このように本実施の形態では、16回のFATの更新にかかる時間の平均値を約半分にすることが可能となる。
尚本実施の形態では、FATを構成するブロックがFAT0及びFAT1の2論理ブロックであり、物理ブロックを構成するページ数が64ページの場合について説明した。以下では、FATを構成するブロックがN個、FATを構成する各物理ブロックのページ数が2Mページの場合に、FATの更新について一般化して説明する。
(ルール00)FATをN個の論理ブロックに分割し、分割されたFATを以下FAT[i](0≦i<N)で示す。夫々の論理ブロックには2個の物理ブロック、即ち第1物理ブロックPB−Fと第2物理ブロックPB−Sを割り当てる。
(ルール01)同一論理ページ番号が複数の物理ページに割り当てられている場合は、第2物理ブロックPB−Sのページを優先する。
(ルール02)同一論理ページ番号が同一物理ブロックの複数の物理ページに割り当てられている場合は、大きい物理ページ番号に格納されている論理ページを優先する。
(ルール03)論理フォーマット直後のFAT[i]の状態、即ち第1物理ブロックのみで構成され、全論理ページが第1物理ブロックに割り当てられている状態を初期状態とし、このときのFAT更新回数Tを0とする。
(ルール04)FATを更新すると、Tをインクリメントする。
(ルール05)FAT[i](0≦i<(N−1))を新物理ブロックへ更新することが可能となるタイミングは、以下の条件とする。
T%M=(i+1)*M/N
FAT[N−1]における新物理ブロックへの更新可能タイミングは、以下の条件とする。
T%M=0
(ルール06)上記更新タイミングにおいて、そのFAT[i]の第2物理ブロックに書き込まれているページ数がそのブロックの半分、即ちMページを超える場合に、新物理ブロックへの更新を行う。
(ルール07)新物理ブロックへの更新時には、新たに第1物理ブロックと第2物理ブロックを確保し、書き込み済みの第1物理ブロックと第2物理ブロックに書き込まれているFATデータを、新規に確保した第1物理ブロックにコピーする。
(ルール08)新物理ブロックへの更新後のFATデータは新第2の物理ブロックに書き込む。
上記(ルール05)(ルール06)について、さらに詳細に説明する。一例として、物理ブロックを構成するページ数が128ページ、FATを4個の論理ブロックに分割した場合の新物理ブロックへの更新について説明する。この場合にはNは4、Mは64となる。
この場合FATは、FAT[0]、FAT[1]、FAT[2]、FAT[3]に分割される。夫々のFAT[i]の新物理ブロックへの更新可能タイミングは、ルール05によりTが以下の場合となる。
FAT[0]:16、16+64、16+2*64、・・・・
FAT[1]:32、32+64、32+2*64、・・・・
FAT[2]:48、48+64、48+2*64、・・・・
FAT[3]:64、64+64、64+2*64、・・・・
ルール06では、各更新可能タイミングにおいて、第2物理ブロックのページ数がM、即ち64より多い場合に更新を実施する。FAT[i]の更新タイミングにおいて、更新されない場合のページの最大値は64ページであるから、次の更新タイミングまでのFATが全てFAT[i]に属する論理アドレスであった場合も、FAT[i]に割り当てられた第2の物理ブロックのページ数は128ページにしかならない。よって、ページ数が64ページを超えた場合にのみ更新すればよいことがわかる。
また、更新タイミングの周期の最小値は (M/N)で規定できるので、FAT更新にかかる時間の最悪値は連続する(M/N)回のFAT更新時間の平均値で規定できる。
以上説明したように、FATを構成するN個(Nは2以上の整数)のブロックに対して、夫々に(2*M)ページから構成される2個の物理ブロックを割り当てる。そしてFAT更新の際には、ブロック管理手段はN個の論理ブロックに対してページ単位で、各ブロックのページ順に第1物理ブロック、第2の物理ブロックの順番に書き込む。FATの論理アドレスにかかる書き込み回数が(M/N)回増加する毎に、FAT部を構成するN個の論理ブロック番号順に、各論理ブロックの第2物理ブロックに書き込まれたページ数を検出し、前記ページ数が予め定められた基準ページ数(M)より多い場合は、集約手段は、当該論理ブロックを構成する2個の物理ブロックのデータを消去済みの新物理ブロックに集約する。
従来のFAT更新では、FATを構成する論理ブロックがN個ある場合は、集約処理がN回連続して発生する可能性があったが、本実施の形態では必ず周期的に発生する。FATを構成するN個の論理ブロックにおいて、夫々の論理ブロックを構成する2個の物理ブロックのデータを消去済み物理ブロックに集約させる動作が発生するのは最小(M/N)回毎になる。従って、2個の物理ブロックのデータを新物理ブロックに集約させる動作が集中して発生することを防止できるため、FATのような小ブロックの書き込みにかかる時間の最大値を抑制することができる。よってFATの更新速度を集約処理が発生するFAT更新の周期の総時間で定義すれば、より高速なFAT更新速度を保証することも可能である。またFAT更新に備え、ホスト機器にデータを一時記録するバッファーメモリ容量を小さくすることができる。
次に電源投入時の動作について説明する。FAT更新回数Tは論理フォーマット直後に0にリセットされる。電源投入後に常時論理フォーマットを実施するとは限らないので、Tの初期値を求める必要がある。Tの初期設定は、Tを不揮発性メモリに記録していてもよいが、Tを記録する直前に電断が発生した場合、Tの初期値が得られなくなる。そこで本実施の形態では、電源投入時に各FAT[i]の夫々の第2物理ブロックの書き込み済みページ数の和をFAT更新回数Tとする。これにより電源投入後にも、前述した処理を行うことができる。
このように、(ルール0)〜(ルール8)に従ってFATを更新するので、特にFATの更新回数を不揮発性メモリに記録することなく、FATを構成する各物理ブロックに書き込まれているページ数を検出すれば足りる。
なお、上記説明ではFATの論理ブロック数4個、物理ブロックを構成するページ数を128ページで説明したが、これに制限されるものではない。
本実施の形態ではFATの記録のため1つの論理ブロックに対し第1,第2の物理ブロックを割り当てるようにしているが、FATの記録には限らず、他のデータを保持するための比較的小さい範囲の論理ブロックの更新についても本発明を適用することができる。さらに、本実施の形態では、ページ管理テーブルをフラッシュメモリの第2領域に記録したが、第1領域に記録するようにしてもよい。
一般にページはデータ記録領域と冗長領域で構成されている。1ページ当たり4kBの容量のあるページは、実際には記録バイト数は(4096+256)Bであり、256B分が冗長領域である。冗長領域には、エラー訂正パリティや管理情報を記録している。
よって、FATにかかる論理ブロックを構成する物理ブロックの各ページの冗長領域の一部にページ管理テーブルを記録することも可能である。
本発明の半導体記録装置は、FATのような小ブロックのランダムライトの速度を保証できるので、リアルタイム記録が要求される映像記録分野で使用される可能性が大きい。
従来におけるFATの物理ブロックの書き込み状態の遷移図 FATの物理ブロックの書き込み状態のパターンの説明図 図2の各パターンからFATを更新する場合の遷移説明図 本発明の実施の形態における半導体記録装置の構成図 本実施の形態のフラッシュメモリにおけるメモリ領域の説明図 本実施の形態のフラッシュメモリを構成する物理ブロックの構成図 本実施の形態の論物変換テーブルの説明図 本実施の形態のページ管理テーブルの説明図 本実施の形態のFATの書き込みルールの説明図 本実施の形態のFATの書き込みルールの説明図
符号の説明
10 メモリコントローラ
11 外部インターフェイス
12 コマンド解析手段
13 論物変換テーブル
14 ページ管理テーブル
15 ブロック管理テーブル
16 ブロック管理手段
17 論理ページ計数手段
18 記録ページ数検出手段
19 集約手段
20 フラッシュ制御手段
30 フラッシュメモリ

Claims (3)

  1. 不揮発性メモリと、外部のホスト機器からのコマンドに基づいて前記不揮発性メモリにデータを書き込み又は読み出すメモリコントローラとを具備する半導体記録装置であって、
    不揮発性メモリは、
    消去の単位を物理ブロックとすると、複数の物理ブロックを有するものであり、各物理ブロックは2M個(Mは1以上の整数)のページから成り、
    前記メモリコントローラは、
    ホスト機器が発行する転送命令にかかる論理ブロックと前記不揮発性メモリの物理ブロックとを対応づけると共に、特定のN個(Nは2以上の整数)の論理ブロックには、夫々第1物理ブロックと第2物理ブロックの2個の物理ブロックを対応づける論物変換テーブルと、
    前記特定論理ブロックに対して書き込みを行うときに前記第1物理ブロック、第2物理ブロックの順番で書き込むブロック管理手段と、
    前記特定論理ブロックとそれに対応する(2*N)個の物理ブロックにおいて、そのページに記録されている論理ブロックを構成する論理ページとの対応を管理するページ管理テーブルと、
    前記特定論理ブロックにかかるライトコマンド数を論理ページ単位で計数する論理ページ計数手段と、
    前記論理ページ計数手段により計数された書き込み済みの論理ページ数が所定の増加ページ数(R1ページ)を増加する毎に、前記特定論理ブロックを順番に1論理ブロック抽出し、前記ページ管理テーブルを参照にして、抽出した論理ブロックに対応する第2の物理ブロックに記録されているページ数を検出する記録ページ数検出手段と、
    前記記録ページ数検出手段において検出された第2の物理ブロックのページ数が基準ページ数(R2ページ)を超えた場合には、消去された2つの物理ブロックを新規の第1,第2の物理ブロックとして確保し、前記ページ管理テーブルを参照にしながら、当該第1及び第2の物理ブロックに書き込まれている有効なデータを新規の第1の物理ブロックに集約する集約手段と、を備えた半導体記録装置。
  2. 前記所定の増加ページ(R1ページ)は、(M/N)ページであり、
    前記基準ページ(R2ページ)は、Mページである請求項1に記載の半導体記録装置。
  3. 不揮発性メモリと、外部のホスト機器からのコマンドに基づいて前記不揮発性メモリにデータ及びファイルアロケーションテーブル(以下、FAT)を書き込み又は読み出すメモリコントローラとを具備する半導体記録装置であって、
    前記不揮発性メモリは、
    消去の単位を物理ブロックとすると、複数の物理ブロックを有するものであり、各物理ブロックは2M個(Mは1以上の整数)のページから成り、
    前記メモリコントローラは、
    ホスト機器が発行する転送命令にかかる論理ブロックと前記不揮発性メモリの物理ブロックとを対応づけると共に、FATを記録する特定のN個(Nは2以上の整数)の論理ブロックには、夫々第1物理ブロックと第2物理ブロックの2個の物理ブロックを対応づける論物変換テーブルと、
    前記FATを記録する論理ブロックに対してフォーマット時には前記第1物理ブロック、それ以降の書き込みには第2物理ブロックに書き込むブロック管理手段と、
    前記FATを記録する論理ブロックとそれに対応する(2*N)個の物理ブロックにおいて、各物理ブロックの各ページと、そのページに記録されている論理ブロックを構成する論理ページとの対応を記録するページ管理テーブルと、
    前記FATのフォーマット後のライトコマンド数を論理ページ単位で計数する論理ページ計数手段と、
    前記論理ページ計数手段により計数された書き込み済みの論理ページ数がM/Nページ数増加する毎に、前記FATを記録するN個の論理ブロックから順番に1論理ブロック抽出し、前記ページ管理テーブルを参照にして、抽出した論理ブロックに対応する第2の物理ブロックに記録されているページ数を検出する記録ページ数検出手段と、
    前記記録ページ数検出手段において検出された第2の物理ブロックのページ数がMページを超えた場合には、消去された2つの物理ブロックを新規の第1,第2の物理ブロックとして確保し、前記ページ管理テーブルを参照にしながら、当該第1及び第2の物理ブロックに書き込まれている有効なデータを新規の第1の物理ブロックに集約する集約手段と、を備えた半導体記録装置。
JP2008131083A 2008-05-19 2008-05-19 半導体記録装置 Pending JP2009282568A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008131083A JP2009282568A (ja) 2008-05-19 2008-05-19 半導体記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008131083A JP2009282568A (ja) 2008-05-19 2008-05-19 半導体記録装置

Publications (1)

Publication Number Publication Date
JP2009282568A true JP2009282568A (ja) 2009-12-03

Family

ID=41453004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008131083A Pending JP2009282568A (ja) 2008-05-19 2008-05-19 半導体記録装置

Country Status (1)

Country Link
JP (1) JP2009282568A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135480A1 (ko) * 2016-02-04 2017-08-10 주식회사 알티스트 연속적 쓰기 동작을 수행하기 위한 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135480A1 (ko) * 2016-02-04 2017-08-10 주식회사 알티스트 연속적 쓰기 동작을 수행하기 위한 방법 및 시스템

Similar Documents

Publication Publication Date Title
RU2642349C1 (ru) Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных
JP4633802B2 (ja) 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法
JP4931810B2 (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
US8996791B2 (en) Flash memory device, memory control device, memory control method, and storage system
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
US20200183831A1 (en) Storage system and system garbage collection method
WO2009118917A1 (ja) フラッシュメモリを用いた記憶装置
JPWO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
CN110515550B (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
JP2012128545A (ja) メモリコントローラ、及びデータ記録装置
TWI553481B (zh) 固態硬碟的資料管理方法、寫入管理系統及其方法
JP5180957B2 (ja) メモリコントローラ、半導体記録装置及び書き換え回数通知方法
JP4242245B2 (ja) フラッシュrom制御装置
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
JP2005115562A (ja) フラッシュrom制御装置
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009282568A (ja) 半導体記録装置
JP2011134031A (ja) 半導体記録装置および半導体記録システム
JP2006338731A (ja) データ書き込み方法
JP4898252B2 (ja) 不揮発性記憶装置及びそのデータ管理方法
JP2006244017A (ja) データコピー方法
JP2009282836A (ja) メモリカード及びメモリカードドライブ
TWI747532B (zh) 記憶體裝置