JP3928724B2 - 記録媒体の記録制御方法および記録媒体の記録制御装置 - Google Patents
記録媒体の記録制御方法および記録媒体の記録制御装置 Download PDFInfo
- Publication number
- JP3928724B2 JP3928724B2 JP2003042983A JP2003042983A JP3928724B2 JP 3928724 B2 JP3928724 B2 JP 3928724B2 JP 2003042983 A JP2003042983 A JP 2003042983A JP 2003042983 A JP2003042983 A JP 2003042983A JP 3928724 B2 JP3928724 B2 JP 3928724B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- address
- small
- writing
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、例えばフラッシュメモリなどの記録媒体の記録制御方法および装置に関する。
【0002】
【従来の技術】
NAND型フラッシュメモリで取り扱う記録データの構成は、例えば図7に示すようなものとされており、ページと呼ばれる小ブロック単位でデータの読み書きが行なわれ、このページの複数個からなるブロックと呼ばれる大ブロック単位でデータの消去がなされるようになっている。
【0003】
1ページは、例えば、512バイトのデータエリアと、16バイトのスペアエリア(冗長部)とから構成される。16バイトのスペアエリアのうちの4バイトは、エラー検出訂正用のECC(Error Correction Code)として使用される。
【0004】
このフラッシュメモリの読み書きの制御方法は、例えば特許文献1(特開2000−31104号公報)に記載されているようなものとされている。
【0005】
フラッシュメモリの読み書きを制御する記録制御装置は、ブロック単位で、フラッシュメモリのどの物理アドレスにデータを書き込んだかを、論理アドレスにより管理するようにしており、このため、上記記録制御装置は、ブロック単位で、フラッシュメモリの物理アドレスと論理アドレスとの変換を行なうための論理物理アドレス変換テーブルを備える。上記記録制御装置は、この論理物理アドレス変換テーブルを用いて、フラッシュメモリのアドレス制御を行なう。
【0006】
この場合、論理アドレスは、各ページのスペアエリアに書き込まれる。また、スペアエリアには、当該論理アドレスのブロックへの書き込みが行なわれている最中であるか否かを示す更新中フラグが含まれる。更新中フラグは、書き込みが行なわれているときには、オン(「0」)にされ、書き込み中でなければ、オフ(「1」)である。
【0007】
次に、NAND型フラッシュメモリにおけるページ単位のデータの書き込み動作について説明する。この場合に、NAND型フラッシュメモリは、書き込み対象ブロックおよび書き込み対象ページは、ランダムに決定することができるが、同一ブロック内での書き込み処理手順においては、アドレス番号の先頭のページから、アドレス順に従って行なわなければならないという制約がある。つまり、同一ブロック内では、アドレスの小さいページから順番に書き込む必要がある。このため、従来は、ページ単位の書き込みであっても、当該書き込み対象ページを含むブロック単位で書き込み動作を行なうようにしている。
【0008】
図8は、このページ単位のデータの書き込み動作の概要を説明するための図である。
【0009】
すなわち、あるブロック中の空いている1ページ分のエリアにページデータを書き込む場合には、1ブロック分の空きエリアを用意し、当該空きエリアの書き込み対象ページアドレスには、新規データを書き込み、当該ブロックの他のページのデータは、元のデータをコピーするようにする。そして、書き込み処理が終了後には、元のブロックを消去するようにする。
【0010】
図9は、このデータ書き込み時の処理動作のフローチャートであり、これは、前述したフラッシュメモリの読み書きを制御する記録制御装置が実行する処理を中心に記述したものである。
【0011】
すなわち、記録制御装置は、フラッシュメモリへの書き込み指示が発生したか否か判別し(ステップS1)、書き込み指示が発生していないと判別したときには、その他の処理を実行する(ステップS2)。
【0012】
そして、ステップS1で、書き込み指示が発生したと判別したときには、記録制御装置は、書き込み対象ブロックおよび書き込み対象ページの論理アドレスを決定し(ステップS3)、当該論理アドレスのブロックの先頭のページの更新中フラグをオンにする(ステップS4)。
【0013】
次に、論理上、記録制御装置の論理物理アドレス変換テーブルに用意している予備の空きエリアに書き込み対象ブロックを退避すると共に、書き込み対象ブロックの論理アドレスと同じ論理アドレスのブロックを書き込める空きブロックエリアを作るようにする(ステップS5)。このステップS5の処理を、図10を参照してさらに説明する。
【0014】
すなわち、例えば、図10に示すように、フラッシュメモリが、論理ブロックアドレスAから論理ブロックアドレスA+n−1までを有効エリアとして持つと共に、論理ブロックアドレスA+nの1ブロック分の予備エリアを持つものとする。ここで、論理ブロックアドレスA+nの予備エリアは、消去済みであって空きエリアであるものとする。
【0015】
図10の例では、書き込み対象ブロックは、論理ブロックアドレスA+3のブロックであるとしている。そこで、この例では、ステップS4において、図10に示すように、論理ブロックアドレスA+3のブロックの先頭のページにおけるスペアエリアの更新中フラグがオンにされる。
【0016】
ステップS5では、記録制御装置は、書き込み対象ブロックである論理ブロックアドレスA+3のブロックの論理ブロックアドレスを、論理物理アドレス変換テーブル上において、予備エリアの論理ブロックアドレスA+nに変更する。このとき、論理ブロックアドレスA+3のブロックデータ上のスペアエリアの論理アドレスは書き換えない。
【0017】
また、論理ブロックアドレスがA+nであった予備エリアの論理ブロックアドレスを、論理物理アドレス変換テーブル上において、A+3に変換する。この論理アドレスの入れ換えは、新規に書き込むブロックのスペアエリアの論理アドレスに、A+3が書かれるようにするためである。
【0018】
そして、この論理アドレスの入れ換えにより、論理上、あたかも、書き込み対象の元のブロックデータが、予備エリアに退避され、書き込み対象の元のブロックデータがあった論理ブロックアドレスが空きエリアになったようになる。
【0019】
以上のようなステップS5の処理が終了したら、記録制御装置は、図8の▲1▼−1を付して示すように、書き込み対象ページよりも前のアドレス順位のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS6)。ただし、このとき、コピー先のブロックの先頭のページのスペアエリアの更新中フラグはオフとされる。
【0020】
次に、記録制御装置は、図8の▲1▼−2で示すように、書き込み対象ページのデータを、書き込み先のブロックエリアの対応するページに書き込む(ステップS7)。
【0021】
次に、記録制御装置は、図8の▲1▼−3で示すように、書き込み対象ページよりも後のアドレス順位のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS8)。
【0022】
以上のようにして、書き込み対象の元のブロックの、すべてのページのデータについて、書き換えが終了したら、記録制御装置は、論理上、予備エリアに退避していた書き込み対象の元のブロックのデータを消去する(ステップS9)。これにより、論理上の予備エリアは空きエリアとなる。
【0023】
次に、記録制御装置は、書き込みが終了したか否か判別し(ステップS10)、終了していなければ、ステップS3に戻って、次の書き込み対象ブロックおよび書き込み対象ページを決定し、以上の処理を繰り返す。また、ステップS10で書き込み終了であると判別したときには、この書き込み処理ルーチンを終了する。
【0024】
ところで、以上のような書き込み処理の最中に、停電や電池切れなどの理由で、電源電圧が遮断されると、書き込み処理が完了しないことになる。その場合に対処するため、従来は、電源電圧の再投入時にリセット処理を行なって、フラッシュメモリのアドレス管理上、不具合が生じないようにしている。
【0025】
図11は、電源電圧が再投入されたときのリセット処理を説明するためのフローチャートである。
【0026】
すなわち、記録制御装置は、電源電圧が再投入されると、図11のリセット処理をスタートさせ、各ブロックの先頭のページのスペアエリアの論理アドレスを検索して、同じ論理アドレスのブロックが2つあるか否か判別する(ステップS21)。
【0027】
前述したように、論理上、予備エリアに退避された書き換え対象の元のブロックのページデータ上のスペアエリアの論理アドレスは元のままであるので、書き換え先のブロックのページデータ上のスペアエリアの論理アドレスと同じ状態となる。したがって、書き込み処理の途中で電源が遮断されたときには、論理アドレスが同一のブロックが2個存在することになる。ただし、書き換え対象の元のブロックでは更新中フラグがオンとされているので、更新中フラグがオフである書き換え先のブロックとは区別が可能である。
【0028】
以上のことに基づいて、ステップS21で、論理アドレスが同一のブロックが2つあると判別したときには、書き込み処理の途中で電源が遮断されたと判断し、それら2つのブロックのうちの、更新中フラグがオンであるブロックのデータは残し、更新中フラグがオフであるブロックのデータは、すべて消去する(ステップS22)。これにより、ページ書き込み処理前の状態に戻る。そして、リセット処理を終了し、次の処理に移る。
【0029】
また、ステップS21で、論理アドレスが同一のブロックは一つしかないと判別したときには、書き込み処理が途中のものは無いとして、このリセット処理をそのまま終了し、次の処理に移る。
【0030】
【特許文献1】
特開2000−311104号公報
【0031】
【発明が解決しようとする課題】
以上のように、従来のフラッシュメモリの記録制御方法においては、1ページのデータの書き込みを行なうごとに、1ブロックのすべてのページを書き込み先のブロックに書き換え(コピーを含む)、書き込み対象の元のブロックは、消去するようにする。
【0032】
したがって、1ページのデータの書き込みが、ブロック単位の書き込みおよび消去を伴うことになるため、従来のフラッシュメモリの記録制御方法においては、書き込み処理速度が遅いという問題があった。
【0033】
この発明は、以上の点にかんがみ、例えばフラッシュメモリのような記録媒体の記録制御方法として書き込み処理速度の高速化を可能にすることを目的とする。
【0034】
【課題を解決するための手段】
前記課題を解決するため、この発明による記録媒体の記録制御方法は、
所定のデータ数の小ブロックをデータの読み書きの単位とし、前記小ブロックの複数個からなる大ブロックをデータの消去の単位とし、前記大ブロック内での前記小ブロックの書き込みはアドレス順になされる記録媒体への記録制御方法であって、
第1の前記小ブロックが含まれる第1の前記大ブロックのうち、前記第1の小ブロックのアドレスよりも前のアドレス順位の前記小ブロックを、データが消去された第2の前記大ブロックの対応するアドレスにコピーする第1のコピー工程と、
前記第2の大ブロックの、前記第1の小ブロックのアドレスに対応するアドレスにデータを書き込む第1の書き込み工程と、
次に書き込みがなされる第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であるかを判別する判別工程と、
前記判別工程で、前記第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であると判別したときに、前記第1の小ブロックと、前記第2の小ブロックとの間の前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第2のコピー工程と、
前記第2のコピー工程の後、前記第2の大ブロックの、前記第2の小ブロックのアドレスに対応するアドレスにデータを書き込む第2の書き込み工程と、
前記判別工程で、前記第2の小ブロックが、前記第1の大ブロックとは異なる前記大ブロック内のものであると判別したときに、前記第1の大ブロックのうち、前記第1の小ブロックのアドレスより後のアドレス順位のすべての前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第3のコピー工程と、
前記第3のコピー工程の後、前記第1の大ブロックのデータを消去する消去工程と
を備えることを特徴とする。
【0035】
この発明によれば、小ブロックの書き込みが終了したときに、その小ブロックが含まれる大ブロックの、当該小ブロックの後のアドレス順位の小ブロックについての書き込み処理(例えばコピー)をする前に、次に書き込みがなされる小ブロックが、書き込みが終了した小ブロックが含まれる大ブロック内のものであって、かつ、次に書き込みがなされる小ブロックのアドレスが、前記書き込みが終了した小ブロックのアドレスの後のアドレス順位であるかどうか判別し、もし、そうであると判別したときには、当該次に書き込みがなされる小ブロックについての書き込みを行なうようにする。
【0036】
したがって、ページ単位の書き込み指示が、同一ブロック内のアドレス順のページについて、連続して複数回発生する場合には、当該同一ブロック内において、ページ単位の書き込みがなされ、その後、当該ブロックの書き込みが終了となるので、書き込み処理速度が高速になる。
【0037】
【発明の実施の形態】
以下、この発明による記録媒体の記録制御方法および装置の実施形態を、IC(Integrated Circuit;集積回路)レコーダに適用した場合を例に、図を参照しながら説明する。
【0038】
図3は、この実施形態が適用されるICレコーダの構成例を示すブロック図である。
【0039】
この図3の例のICレコーダにおいては、マイクロコンピュータにより構成される制御部1に対して、記録媒体としてのフラッシュメモリ2と、表示素子の例としてのLCD(Liquid Crystal Display)3についての表示制御を行なう表示制御部4と、操作入力部5を当該制御部1に接続するための操作入力部インターフェース6と、USB(Universal Serial Bus)インターフェース7とが接続されている。
【0040】
制御部1を構成するマイクロコンピュータは、この例では、CPU(Central Processing Unit)11と、プログラムROM(Read Only Memory)12と、ワークエリア用RAM(Random Access Memory)13とを内蔵している。プログラムROM12と、ワークエリア用RAM13とが、CPUに対して外付けにされているマイクロコンピュータを用いることも勿論できる。
【0041】
制御部1と、フラッシュメモリ2とからなる構成部分が、記録媒体の記録制御装置の実施形態を構成する部分となる。
【0042】
この例のICレコーダにおいては、マイクロホン21からの音声信号は、アンプ22を通じて記録処理部23に供給される。記録処理部23では、制御部1による制御の下に、音声信号をデジタル信号に変換すると共に、データ圧縮を行なう。
【0043】
制御部1は、操作入力部5からの記録指示を、操作入力部インターフェース6を通じて受け取ると、記録処理部23からの音声データを受け取り、フラッシュメモリ2に書き込む。
【0044】
また、制御部1は、操作入力部5から再生指示を、操作入力部インターフェース6を通じて受け取ると、フラッシュメモリ2から音声データを読み出して再生処理部24に送出する。再生処理部24では、制御部1の制御の下に、受け取った音声データの圧縮を解凍し、また、デジタル音声信号をアナログ音声信号に戻す。そして、再生処理部24は、アナログ音声信号をアンプ25を通じて、例えばイヤホンが接続される音声信号出力端子に供給する。
【0045】
また、制御部1は、表示制御部4を介して所定の表示をLCD3の画面上において行なう。
【0046】
さらに、この例のICレコーダにおいては、USBコネクタ8にUSBケーブルを通じて、例えばパーソナルコンピュータを接続することができる。そして、制御部1は、フラッシュメモリ2に記録されている音声データを読み出して、USBインターフェース7を通じてパーソナルコンピュータにデータ転送したり、パーソナルコンピュータからのデータをUSBインターフェース7を通じて受けて、フラッシュメモリ2に書き込んだりすることができる。
【0047】
また、この例では、フラッシュメモリ2に書き込まれる音声データについては、用件ごとに管理することが可能とされており、各用件毎の音声データについては、文字コメントを付加することができるようにされている。そして、その文字コメントは、LCD3の画面に表示することができるようにされている。
【0048】
この場合のフラッシュメモリ2におけるメモリエリア管理について説明する。図4は、この例のフラッシュメモリ2のメモリエリアの説明図である。図4において、「BANK0」および「BANK1」と、「EXTERNAL」とは、TOC(Table of Contents)エリアである。また、「PCM DATA」は、音声データが書き込まれるエリアである。
【0049】
「EXTERNAL」は、文字コメントが書き込まれるエリアである。この例においては、音声データの1用件あたりについて、入力可能な文字は、256バイト分とされ、1ページに割り当てられる。つまり、1ページに1用件分の文字コメントが割り当てられる。
【0050】
「BANK0」および「BANK1」のそれぞれは、「FOLDER INDEX ADRESS STAGE」と、「EXTERNAL MAP」と、「BLANK MAP」と、「REVISION」とを含む。
【0051】
「FOLDER INDEX ADRESS STAGE」は、各用件毎の音声データが「PCM DATA」のエリアのどこにあるか(ページ単位)、また、当該音声データに対応する文字コメントが「EXTERNAL」のエリアのどこにあるか(ページ単位)を管理するための情報を格納する。
【0052】
「EXTERNAL MAP」は、「EXTERNAL」のエリアに文字コメントがどのように書き込まれていて、どのページが空きエリアであるかを管理するための情報を格納する。
【0053】
「BLANK MAP」は、「PCM DATA」にどのように音声データが書き込まれているかの情報を格納する。「REVISION」は、「BANK0」、「BANK1」の改訂回数を示す番号を管理する。
【0054】
この例のICレコーダの場合、USBインターフェース7を通じて接続されるパーソナルコンピュータに、文字コメントを書き込むためのアプリケーションソフトウエアが搭載される。そして、そのアプリケーションにおいては、パーソナルコンピュータの画面に、フラッシュメモリ2に格納されている多数の用件のそれぞれ毎に、文字コメントの書き込み欄が表示され、当該書き込み欄に文字コメントが入力される。
【0055】
そして、入力された文字コメントのデータは、USBインターフェース7を通じてパーソナルコンピュータからICレコーダに転送され、制御部1は、フラッシュメモリ2の「EXTERNAL」のエリアに、転送されてきた文字コメントのデータを書き込む。この場合において、制御部1は、「EXTERNAL」のエリアには、「EXTERNAL MAP」を参照して、空いているエリアをサーチして文字コメントを書き込むようにする。ただし、この例では、「EXTERNAL」のエリアには、アドレス番号順であって、先順位の空きページエリアから順に書き込みを行なうように定められている。
【0056】
なお、「BANK0」および「BANK1」の2つがあるのは、一方に一つ前のTOC情報を格納しておき、常に、一つ前の状態には戻れるようにするためである。つまり、TOCが書き換えられているときに、突然の電源遮断が発生しても、書き換えられているのは一方のBANKであり、書き換えられていない一つ前の状態のBANKの情報には必ず戻ることができる。
【0057】
また、「REVISION」のエリアに格納されている改訂回数を示す番号を参照することにより、「BANK0」および「BANK1」の2つのうちの、いずれが旧く、いずれが新しいTOC情報であるかを知ることができる。
【0058】
[フラッシュメモリ2への書き込み制御]
次に、この実施形態におけるフラッシュメモリ2へのデータの書き込み制御について、説明する。
【0059】
図1および図2は、この実施の形態におけるフラッシュメモリ2へのデータ書き込み時の処理動作のフローチャートであり、これは、制御部1のCPU11がROM12のプログラムに従って実行する処理を中心に記述したものである。
【0060】
すなわち、制御部1は、フラッシュメモリ2への書き込み指示が発生したか否か判別し(ステップS101)、書き込み指示が発生していないと判別したときには、その他の処理を実行する(ステップS102)。
【0061】
そして、ステップS101で、書き込み指示が発生したと判別したときには、制御部1は、書き込み対象ブロックおよび書き込み対象ページの論理アドレスを決定し(ステップS103)、当該論理アドレスのブロックの先頭のページの更新中フラグをオンにする(ステップS104)。
【0062】
次に、論理上、制御部1の論理物理アドレス変換テーブル(RAM12内にある)に用意している予備の空きエリアに書き込み対象ブロックを退避すると共に、書き込み対象ブロックの論理アドレスと同じ論理アドレスのブロックを書き込める空きブロックエリアを作るようにする(ステップS105)。このステップS105の処理は、前述の図10を参照して説明した通りである。
【0063】
次に、制御部1は、書き込み対象ページよりも前のアドレス順位のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS106)。ただし、このとき、コピー先のブロックの先頭のページのスペアエリアの更新中フラグはオフのままとされる。
【0064】
次に、制御部1は、書き込み対象ページのデータを、書き込み先のブロックエリアの対応するページに書き込む(ステップS107)。このステップS107までの処理は、従来の書き込み制御手順である図9のフローチャートのステップS1〜S7までの処理と同様である。
【0065】
この実施形態では、ステップS107でページデータの書き込みが終了した後においては、従来のように即座に書き込み対象ページの後の残りのページをすべてコピーするのではなく、書き込みが終了したページの直後のページを、当該ブロックにおける次の書き込み開始位置として登録して待機する。
【0066】
そして、その待機状態において、書き込み終了であるか否か判別し(図5のステップS111)、書き込み終了であれば、書き込み対象ページよりも後のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS112)。
【0067】
そして、書き込み対象の元のブロックの、すべてのページのデータについて、書き換えが終了したら、制御部1は、論理上、予備エリアに退避していた書き込み対象の元のブロックのデータを消去する(ステップS113)。そして、この書き込み処理ルーチンを終了する。
【0068】
また、ステップS111で、書き込み終了ではないと判別したときには、制御部1は、次の書き込み対象ブロックおよび書き込み対象ページの論理アドレスを決定する(ステップS114)。そして、決定した次の書き込み対象ページが、書き込み中の同一ブロック内のものであって、かつ、ステップS107で書き込んだページアドレスの後順位のアドレスであるか否か判別する(ステップS115)。
【0069】
このステップS115で、次の書き込み対象ページが、書き込み中の同一ブロック内のものであって、かつ、前回、データを書き込んだページよりも後順位のアドレス位置のものであると判別したときには、制御部1は、前回、データを書き込んだページと、次の書き込み対象ページとの間のすべてのページのデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS116)。
【0070】
そして、図1のステップS107に戻り、ステップS114で決定された書き込み対象ページにデータの書き込みを行なう。以下、次の書き込み対象ページが、書き込み中の同一ブロック内のものであって、かつ、前回データを書き込んだページよりも後順位のアドレス位置のものである間は、ステップS111〜ステップS116およびステップS116からステップS107に戻るルーチンを繰り返す。
【0071】
ステップS115で、次の書き込み対象ページが、書き込み中の同一ブロック内のものでないと判別したときには、制御部1は、最後の書き込み対象ページよりも後のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS117)。
【0072】
そして、書き込み対象の元のブロックの、すべてのページのデータについて、書き換えが終了したら、制御部1は、論理上、予備エリアに退避していた書き込み対象の元のブロックのデータを消去する(ステップS118)。そして、ステップS104に戻り、このステップS104以降の処理ステップを繰り返す。
【0073】
したがって、この実施形態の書き込み方法においては、書き込み対象ページの指定が、図5において、▲1▼、▲2▼、▲3▼で示すように、同一ブロック内のページであって、アドレス順位が、順次、後順位となるようなものであった場合には、それらの▲1▼、▲2▼、▲3▼のページは、次のようにして、高速に書き込まれる。
【0074】
すなわち、▲1▼のページの書き込みにおいては、先ず、▲1▼のページよりも前のページが、図5において、▲1▼−1で示すように、書き込み対象の元のブロック(コピー元のブロック)から、書き込み先のブロック(コピー先のブロック)にコピーされる。その後、図5において、▲1▼−2で示すように、▲1▼のページの書き込みがなされる。
【0075】
引き続いて、▲1▼のページと、▲2▼のページの間のすべてのページが、図5において、▲2▼−1で示すように、書き込み対象の元のブロック(コピー元のブロック)から、書き込み先のブロック(コピー先のブロック)にコピーされる。その後、図5において、▲2▼−2で示すように、▲2▼のページの書き込みがなされる。
【0076】
さらに、引き続いて、▲2▼のページと、▲3▼のページの間のすべてのページが、図5において、▲3▼−1で示すように、書き込み対象の元のブロック(コピー元のブロック)から、書き込み先のブロック(コピー先のブロック)にコピーされる。その後、図5において、▲3▼−2で示すように、▲3▼のページの書き込みがなされる。
【0077】
以上のように、この発明によれば、1ページの書き込みを行なうごとに、1ブロック分の書き込みをすべて行なわなければならない従来の方法とは異なり、書き込み対象ページが、同一ブロック内のページであって、アドレス順位が、順次、後順位となるように発生する場合には、一つのブロック内において、必要なページのコピーと、当該書き込み対象ページの書き込みを繰り返すので、高速の書き込み処理が可能になる。
【0078】
特に、前述した「EXTERNAL」のエリアにおいては、文字コメントのデータについて、アドレス番号順であって、先順位の空きページエリアから順に書き込みを行なうように定められているので、この実施形態の書き込み制御方法が有効に働く。
【0079】
つまり、例えば、パーソナルコンピュータで、複数個の用件についての文字コメントをそれぞれ入力した後、それらの複数個の用件についての文字コメントのデータをフラッシュメモリ2に書き込む場合、従来の場合であれば、文字コメントの1用件分毎に、1ブロック単位の書き込みを行なわなければならなかったが、この実施形態によれば、複数個の用件分の文字コメントのデータを、順次に1ブロック内に書き込むことが可能となるので、非常に高速の書き込みが可能になる。
【0080】
また、この実施形態においては、以上のような書き込み処理の最中に、停電や電池切れなどの理由で、電源電圧が遮断された場合に、書き込み処理が完了しないことになることに対処するためのリセット処理は、次のようになされる。
【0081】
図6は、この実施形態において、電源電圧が再投入されたときのリセット処理を説明するためのフローチャートである。
【0082】
すなわち、制御部1は、電源電圧が再投入されると、図6のリセット処理をスタートさせ、先ず、各ブロックの先頭のページのスペアエリアの論理アドレスを検索して、同じ論理アドレスのブロックが2つあるか否か判別する(ステップS121)。
【0083】
前述したように、論理上、予備エリアに退避された書き換え対象の元のブロックのページデータ上の論理アドレスは元のままであるので、書き換え先のブロックの論理アドレスと同じ状態となる。したがって、書き込み処理の途中で電源が遮断されたときには、論理アドレスが同一のブロックが2個存在することになる。ただし、書き換え対象の元のブロックでは更新中フラグがオンとされているので、更新中フラグがオフである書き換え先のブロックとは区別が可能である。
【0084】
以上のことに基づいて、ステップS121で、論理アドレスが同一のブロックが2つあると判別したときには、制御部1は、書き込み処理の途中で電源が遮断されたと判断し、この実施形態では、それら2つのブロックの両方を残し、更新中フラグがオフであるブロック内をサーチし、アドレス順位が1ブロックの最後のページの方からみたときに、連続して空きとなっているページのうち、最も先順位のアドレスとなっているページを検出する(ステップS122)。
【0085】
次に、制御部1は、検出したページを含めて、更新中フラグがオンであるブロックの当該ページ以降のページのデータを、更新中フラグがオフであるブロックの対応するページ位置にすべてコピーする(ステップS123)。コピーが終了したら、更新中フラグがオンであるブロックのデータは、すべて消去する(ステップS124)。そして、リセット処理を終了し、次の処理に移る。
【0086】
また、ステップS121で、論理アドレスが同一のブロックは一つしかないと判別したときには、書き込み処理が途中のものは無いとして、このリセット処理をそのまま終了し、次の処理に移る。
【0087】
以上のリセット処理により、書き込み処理の途中で電源が遮断されてしまったとしても、1ブロック内に連続して複数のページを書き込んだとしても、書き込み済みのページまでのデータは、保存されるという効果がある。
【0088】
なお、上述のリセット処理の変形例として、ステップS122において、更新中フラグがオフであるブロック内をサーチし、アドレス順位が最後のページの方からみたときに、連続して空きとなっているページのうち、最も先順位のアドレスとなっているページを検出したら、当該ページアドレス位置を、当該更新中フラグがオフの状態のブロック(書き込み先ブロック)における、次の書き込み開始位置として登録して、図6のステップS123および124の処理は行なわずにリセット処理を終了するようにしても良い。
【0089】
この場合には、リセット処理により、図1のステップS107が終了した段階になる。したがって、リセット処理の後は、図2のステップS111以降の処理が行なわれる状態になり、書き込み終了であれば、図6のステップS123および124の処理に等しいステップS112およびステップS113の処理を行ない、また、書き込み終了でなければ、次の書き込み対象ブロックおよびページを判別して、上述のような書き込み処理を行なう。
【0090】
[変形例]
以上の実施形態の説明は、記録媒体がNAND型フラッシュメモリである場合であるが、この発明は、NAND型フラッシュメモリと同様のアドレス制御を書き込み時に行なわなければならない記録媒体のすべてに適用可能である。
【0091】
また、この発明が適用される電子機器は、ICレコーダに限られるものでないことも言うまでもない。そして、フラッシュメモリは、電子機器に内蔵の場合に限らず、例えばフラッシュメモリがカード型メモリであって、挿脱可能なものであってもよい。
【0092】
また、上述の実施形態では、ブロック単位の空きエリアを用意して、ページ単位に書き込みを行なう場合において、書き込み元と書き込み先のブロックの区別は、ページデータに含まれる更新中フラグを用いて行なうようにしたが、書き込み元と書き込み先のブロックの区別は、このようなフラグを用いる方法に限定されるものではない。例えば、書き込み元と書き込み先のブロックアドレスを常に記憶して管理するようにすれば、書き込み元と書き込み先のブロックの区別は可能である。
【0093】
また、上述の実施形態の説明では、書き込み制御の管理は、論理物理アドレス変換テーブルを用いて行なうようにしたが、このような方法に限られるものでないことは勿論である。
【0094】
また、上述の説明においては、ブロック内(大ブロック内)では、アドレスの小さいページ(小ブロック)から順番に昇順に書き込むようにした場合について説明したが、この発明は、アドレスの大きいページ(小ブロック)から順番に降順に書き込むようにする場合にも同様に適用できる。
【0095】
【発明の効果】
以上説明したように、この発明によれば、フラッシュメモリのような記録媒体に対して、高速の書き込みが可能になる。
【図面の簡単な説明】
【図1】この発明による記録媒体の記録制御方法の実施形態を説明するためのフローチャートの一部である。
【図2】この発明による記録媒体の記録制御方法の実施形態を説明するためのフローチャートの一部である。
【図3】この発明による記録媒体の記録制御方法の実施形態が適用されるICレコーダの構成例を示す図である。
【図4】フラッシュメモリのメモリエリア構造を説明するための図である。
【図5】この発明による記録媒体の記録制御方法の実施形態を説明するための図である。
【図6】この発明による記録媒体の記録制御方法におけるリセット処理の例を説明するためのフローチャートである。
【図7】NAND型フラッシュメモリのデータ構成を説明するための図である。
【図8】NAND型フラッシュメモリについての、従来の記録制御方法を説明するための図である。
【図9】NAND型フラッシュメモリについての、従来の記録制御方法を説明するためのフローチャートである。
【図10】NAND型フラッシュメモリについての、従来の記録制御方法を説明するための図である。
【図11】従来の記録媒体の記録制御方法におけるリセット処理の例を説明するためのフローチャートである。
【符号の説明】
1…制御部、2…フラッシュメモリ
【発明の属する技術分野】
この発明は、例えばフラッシュメモリなどの記録媒体の記録制御方法および装置に関する。
【0002】
【従来の技術】
NAND型フラッシュメモリで取り扱う記録データの構成は、例えば図7に示すようなものとされており、ページと呼ばれる小ブロック単位でデータの読み書きが行なわれ、このページの複数個からなるブロックと呼ばれる大ブロック単位でデータの消去がなされるようになっている。
【0003】
1ページは、例えば、512バイトのデータエリアと、16バイトのスペアエリア(冗長部)とから構成される。16バイトのスペアエリアのうちの4バイトは、エラー検出訂正用のECC(Error Correction Code)として使用される。
【0004】
このフラッシュメモリの読み書きの制御方法は、例えば特許文献1(特開2000−31104号公報)に記載されているようなものとされている。
【0005】
フラッシュメモリの読み書きを制御する記録制御装置は、ブロック単位で、フラッシュメモリのどの物理アドレスにデータを書き込んだかを、論理アドレスにより管理するようにしており、このため、上記記録制御装置は、ブロック単位で、フラッシュメモリの物理アドレスと論理アドレスとの変換を行なうための論理物理アドレス変換テーブルを備える。上記記録制御装置は、この論理物理アドレス変換テーブルを用いて、フラッシュメモリのアドレス制御を行なう。
【0006】
この場合、論理アドレスは、各ページのスペアエリアに書き込まれる。また、スペアエリアには、当該論理アドレスのブロックへの書き込みが行なわれている最中であるか否かを示す更新中フラグが含まれる。更新中フラグは、書き込みが行なわれているときには、オン(「0」)にされ、書き込み中でなければ、オフ(「1」)である。
【0007】
次に、NAND型フラッシュメモリにおけるページ単位のデータの書き込み動作について説明する。この場合に、NAND型フラッシュメモリは、書き込み対象ブロックおよび書き込み対象ページは、ランダムに決定することができるが、同一ブロック内での書き込み処理手順においては、アドレス番号の先頭のページから、アドレス順に従って行なわなければならないという制約がある。つまり、同一ブロック内では、アドレスの小さいページから順番に書き込む必要がある。このため、従来は、ページ単位の書き込みであっても、当該書き込み対象ページを含むブロック単位で書き込み動作を行なうようにしている。
【0008】
図8は、このページ単位のデータの書き込み動作の概要を説明するための図である。
【0009】
すなわち、あるブロック中の空いている1ページ分のエリアにページデータを書き込む場合には、1ブロック分の空きエリアを用意し、当該空きエリアの書き込み対象ページアドレスには、新規データを書き込み、当該ブロックの他のページのデータは、元のデータをコピーするようにする。そして、書き込み処理が終了後には、元のブロックを消去するようにする。
【0010】
図9は、このデータ書き込み時の処理動作のフローチャートであり、これは、前述したフラッシュメモリの読み書きを制御する記録制御装置が実行する処理を中心に記述したものである。
【0011】
すなわち、記録制御装置は、フラッシュメモリへの書き込み指示が発生したか否か判別し(ステップS1)、書き込み指示が発生していないと判別したときには、その他の処理を実行する(ステップS2)。
【0012】
そして、ステップS1で、書き込み指示が発生したと判別したときには、記録制御装置は、書き込み対象ブロックおよび書き込み対象ページの論理アドレスを決定し(ステップS3)、当該論理アドレスのブロックの先頭のページの更新中フラグをオンにする(ステップS4)。
【0013】
次に、論理上、記録制御装置の論理物理アドレス変換テーブルに用意している予備の空きエリアに書き込み対象ブロックを退避すると共に、書き込み対象ブロックの論理アドレスと同じ論理アドレスのブロックを書き込める空きブロックエリアを作るようにする(ステップS5)。このステップS5の処理を、図10を参照してさらに説明する。
【0014】
すなわち、例えば、図10に示すように、フラッシュメモリが、論理ブロックアドレスAから論理ブロックアドレスA+n−1までを有効エリアとして持つと共に、論理ブロックアドレスA+nの1ブロック分の予備エリアを持つものとする。ここで、論理ブロックアドレスA+nの予備エリアは、消去済みであって空きエリアであるものとする。
【0015】
図10の例では、書き込み対象ブロックは、論理ブロックアドレスA+3のブロックであるとしている。そこで、この例では、ステップS4において、図10に示すように、論理ブロックアドレスA+3のブロックの先頭のページにおけるスペアエリアの更新中フラグがオンにされる。
【0016】
ステップS5では、記録制御装置は、書き込み対象ブロックである論理ブロックアドレスA+3のブロックの論理ブロックアドレスを、論理物理アドレス変換テーブル上において、予備エリアの論理ブロックアドレスA+nに変更する。このとき、論理ブロックアドレスA+3のブロックデータ上のスペアエリアの論理アドレスは書き換えない。
【0017】
また、論理ブロックアドレスがA+nであった予備エリアの論理ブロックアドレスを、論理物理アドレス変換テーブル上において、A+3に変換する。この論理アドレスの入れ換えは、新規に書き込むブロックのスペアエリアの論理アドレスに、A+3が書かれるようにするためである。
【0018】
そして、この論理アドレスの入れ換えにより、論理上、あたかも、書き込み対象の元のブロックデータが、予備エリアに退避され、書き込み対象の元のブロックデータがあった論理ブロックアドレスが空きエリアになったようになる。
【0019】
以上のようなステップS5の処理が終了したら、記録制御装置は、図8の▲1▼−1を付して示すように、書き込み対象ページよりも前のアドレス順位のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS6)。ただし、このとき、コピー先のブロックの先頭のページのスペアエリアの更新中フラグはオフとされる。
【0020】
次に、記録制御装置は、図8の▲1▼−2で示すように、書き込み対象ページのデータを、書き込み先のブロックエリアの対応するページに書き込む(ステップS7)。
【0021】
次に、記録制御装置は、図8の▲1▼−3で示すように、書き込み対象ページよりも後のアドレス順位のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS8)。
【0022】
以上のようにして、書き込み対象の元のブロックの、すべてのページのデータについて、書き換えが終了したら、記録制御装置は、論理上、予備エリアに退避していた書き込み対象の元のブロックのデータを消去する(ステップS9)。これにより、論理上の予備エリアは空きエリアとなる。
【0023】
次に、記録制御装置は、書き込みが終了したか否か判別し(ステップS10)、終了していなければ、ステップS3に戻って、次の書き込み対象ブロックおよび書き込み対象ページを決定し、以上の処理を繰り返す。また、ステップS10で書き込み終了であると判別したときには、この書き込み処理ルーチンを終了する。
【0024】
ところで、以上のような書き込み処理の最中に、停電や電池切れなどの理由で、電源電圧が遮断されると、書き込み処理が完了しないことになる。その場合に対処するため、従来は、電源電圧の再投入時にリセット処理を行なって、フラッシュメモリのアドレス管理上、不具合が生じないようにしている。
【0025】
図11は、電源電圧が再投入されたときのリセット処理を説明するためのフローチャートである。
【0026】
すなわち、記録制御装置は、電源電圧が再投入されると、図11のリセット処理をスタートさせ、各ブロックの先頭のページのスペアエリアの論理アドレスを検索して、同じ論理アドレスのブロックが2つあるか否か判別する(ステップS21)。
【0027】
前述したように、論理上、予備エリアに退避された書き換え対象の元のブロックのページデータ上のスペアエリアの論理アドレスは元のままであるので、書き換え先のブロックのページデータ上のスペアエリアの論理アドレスと同じ状態となる。したがって、書き込み処理の途中で電源が遮断されたときには、論理アドレスが同一のブロックが2個存在することになる。ただし、書き換え対象の元のブロックでは更新中フラグがオンとされているので、更新中フラグがオフである書き換え先のブロックとは区別が可能である。
【0028】
以上のことに基づいて、ステップS21で、論理アドレスが同一のブロックが2つあると判別したときには、書き込み処理の途中で電源が遮断されたと判断し、それら2つのブロックのうちの、更新中フラグがオンであるブロックのデータは残し、更新中フラグがオフであるブロックのデータは、すべて消去する(ステップS22)。これにより、ページ書き込み処理前の状態に戻る。そして、リセット処理を終了し、次の処理に移る。
【0029】
また、ステップS21で、論理アドレスが同一のブロックは一つしかないと判別したときには、書き込み処理が途中のものは無いとして、このリセット処理をそのまま終了し、次の処理に移る。
【0030】
【特許文献1】
特開2000−311104号公報
【0031】
【発明が解決しようとする課題】
以上のように、従来のフラッシュメモリの記録制御方法においては、1ページのデータの書き込みを行なうごとに、1ブロックのすべてのページを書き込み先のブロックに書き換え(コピーを含む)、書き込み対象の元のブロックは、消去するようにする。
【0032】
したがって、1ページのデータの書き込みが、ブロック単位の書き込みおよび消去を伴うことになるため、従来のフラッシュメモリの記録制御方法においては、書き込み処理速度が遅いという問題があった。
【0033】
この発明は、以上の点にかんがみ、例えばフラッシュメモリのような記録媒体の記録制御方法として書き込み処理速度の高速化を可能にすることを目的とする。
【0034】
【課題を解決するための手段】
前記課題を解決するため、この発明による記録媒体の記録制御方法は、
所定のデータ数の小ブロックをデータの読み書きの単位とし、前記小ブロックの複数個からなる大ブロックをデータの消去の単位とし、前記大ブロック内での前記小ブロックの書き込みはアドレス順になされる記録媒体への記録制御方法であって、
第1の前記小ブロックが含まれる第1の前記大ブロックのうち、前記第1の小ブロックのアドレスよりも前のアドレス順位の前記小ブロックを、データが消去された第2の前記大ブロックの対応するアドレスにコピーする第1のコピー工程と、
前記第2の大ブロックの、前記第1の小ブロックのアドレスに対応するアドレスにデータを書き込む第1の書き込み工程と、
次に書き込みがなされる第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であるかを判別する判別工程と、
前記判別工程で、前記第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であると判別したときに、前記第1の小ブロックと、前記第2の小ブロックとの間の前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第2のコピー工程と、
前記第2のコピー工程の後、前記第2の大ブロックの、前記第2の小ブロックのアドレスに対応するアドレスにデータを書き込む第2の書き込み工程と、
前記判別工程で、前記第2の小ブロックが、前記第1の大ブロックとは異なる前記大ブロック内のものであると判別したときに、前記第1の大ブロックのうち、前記第1の小ブロックのアドレスより後のアドレス順位のすべての前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第3のコピー工程と、
前記第3のコピー工程の後、前記第1の大ブロックのデータを消去する消去工程と
を備えることを特徴とする。
【0035】
この発明によれば、小ブロックの書き込みが終了したときに、その小ブロックが含まれる大ブロックの、当該小ブロックの後のアドレス順位の小ブロックについての書き込み処理(例えばコピー)をする前に、次に書き込みがなされる小ブロックが、書き込みが終了した小ブロックが含まれる大ブロック内のものであって、かつ、次に書き込みがなされる小ブロックのアドレスが、前記書き込みが終了した小ブロックのアドレスの後のアドレス順位であるかどうか判別し、もし、そうであると判別したときには、当該次に書き込みがなされる小ブロックについての書き込みを行なうようにする。
【0036】
したがって、ページ単位の書き込み指示が、同一ブロック内のアドレス順のページについて、連続して複数回発生する場合には、当該同一ブロック内において、ページ単位の書き込みがなされ、その後、当該ブロックの書き込みが終了となるので、書き込み処理速度が高速になる。
【0037】
【発明の実施の形態】
以下、この発明による記録媒体の記録制御方法および装置の実施形態を、IC(Integrated Circuit;集積回路)レコーダに適用した場合を例に、図を参照しながら説明する。
【0038】
図3は、この実施形態が適用されるICレコーダの構成例を示すブロック図である。
【0039】
この図3の例のICレコーダにおいては、マイクロコンピュータにより構成される制御部1に対して、記録媒体としてのフラッシュメモリ2と、表示素子の例としてのLCD(Liquid Crystal Display)3についての表示制御を行なう表示制御部4と、操作入力部5を当該制御部1に接続するための操作入力部インターフェース6と、USB(Universal Serial Bus)インターフェース7とが接続されている。
【0040】
制御部1を構成するマイクロコンピュータは、この例では、CPU(Central Processing Unit)11と、プログラムROM(Read Only Memory)12と、ワークエリア用RAM(Random Access Memory)13とを内蔵している。プログラムROM12と、ワークエリア用RAM13とが、CPUに対して外付けにされているマイクロコンピュータを用いることも勿論できる。
【0041】
制御部1と、フラッシュメモリ2とからなる構成部分が、記録媒体の記録制御装置の実施形態を構成する部分となる。
【0042】
この例のICレコーダにおいては、マイクロホン21からの音声信号は、アンプ22を通じて記録処理部23に供給される。記録処理部23では、制御部1による制御の下に、音声信号をデジタル信号に変換すると共に、データ圧縮を行なう。
【0043】
制御部1は、操作入力部5からの記録指示を、操作入力部インターフェース6を通じて受け取ると、記録処理部23からの音声データを受け取り、フラッシュメモリ2に書き込む。
【0044】
また、制御部1は、操作入力部5から再生指示を、操作入力部インターフェース6を通じて受け取ると、フラッシュメモリ2から音声データを読み出して再生処理部24に送出する。再生処理部24では、制御部1の制御の下に、受け取った音声データの圧縮を解凍し、また、デジタル音声信号をアナログ音声信号に戻す。そして、再生処理部24は、アナログ音声信号をアンプ25を通じて、例えばイヤホンが接続される音声信号出力端子に供給する。
【0045】
また、制御部1は、表示制御部4を介して所定の表示をLCD3の画面上において行なう。
【0046】
さらに、この例のICレコーダにおいては、USBコネクタ8にUSBケーブルを通じて、例えばパーソナルコンピュータを接続することができる。そして、制御部1は、フラッシュメモリ2に記録されている音声データを読み出して、USBインターフェース7を通じてパーソナルコンピュータにデータ転送したり、パーソナルコンピュータからのデータをUSBインターフェース7を通じて受けて、フラッシュメモリ2に書き込んだりすることができる。
【0047】
また、この例では、フラッシュメモリ2に書き込まれる音声データについては、用件ごとに管理することが可能とされており、各用件毎の音声データについては、文字コメントを付加することができるようにされている。そして、その文字コメントは、LCD3の画面に表示することができるようにされている。
【0048】
この場合のフラッシュメモリ2におけるメモリエリア管理について説明する。図4は、この例のフラッシュメモリ2のメモリエリアの説明図である。図4において、「BANK0」および「BANK1」と、「EXTERNAL」とは、TOC(Table of Contents)エリアである。また、「PCM DATA」は、音声データが書き込まれるエリアである。
【0049】
「EXTERNAL」は、文字コメントが書き込まれるエリアである。この例においては、音声データの1用件あたりについて、入力可能な文字は、256バイト分とされ、1ページに割り当てられる。つまり、1ページに1用件分の文字コメントが割り当てられる。
【0050】
「BANK0」および「BANK1」のそれぞれは、「FOLDER INDEX ADRESS STAGE」と、「EXTERNAL MAP」と、「BLANK MAP」と、「REVISION」とを含む。
【0051】
「FOLDER INDEX ADRESS STAGE」は、各用件毎の音声データが「PCM DATA」のエリアのどこにあるか(ページ単位)、また、当該音声データに対応する文字コメントが「EXTERNAL」のエリアのどこにあるか(ページ単位)を管理するための情報を格納する。
【0052】
「EXTERNAL MAP」は、「EXTERNAL」のエリアに文字コメントがどのように書き込まれていて、どのページが空きエリアであるかを管理するための情報を格納する。
【0053】
「BLANK MAP」は、「PCM DATA」にどのように音声データが書き込まれているかの情報を格納する。「REVISION」は、「BANK0」、「BANK1」の改訂回数を示す番号を管理する。
【0054】
この例のICレコーダの場合、USBインターフェース7を通じて接続されるパーソナルコンピュータに、文字コメントを書き込むためのアプリケーションソフトウエアが搭載される。そして、そのアプリケーションにおいては、パーソナルコンピュータの画面に、フラッシュメモリ2に格納されている多数の用件のそれぞれ毎に、文字コメントの書き込み欄が表示され、当該書き込み欄に文字コメントが入力される。
【0055】
そして、入力された文字コメントのデータは、USBインターフェース7を通じてパーソナルコンピュータからICレコーダに転送され、制御部1は、フラッシュメモリ2の「EXTERNAL」のエリアに、転送されてきた文字コメントのデータを書き込む。この場合において、制御部1は、「EXTERNAL」のエリアには、「EXTERNAL MAP」を参照して、空いているエリアをサーチして文字コメントを書き込むようにする。ただし、この例では、「EXTERNAL」のエリアには、アドレス番号順であって、先順位の空きページエリアから順に書き込みを行なうように定められている。
【0056】
なお、「BANK0」および「BANK1」の2つがあるのは、一方に一つ前のTOC情報を格納しておき、常に、一つ前の状態には戻れるようにするためである。つまり、TOCが書き換えられているときに、突然の電源遮断が発生しても、書き換えられているのは一方のBANKであり、書き換えられていない一つ前の状態のBANKの情報には必ず戻ることができる。
【0057】
また、「REVISION」のエリアに格納されている改訂回数を示す番号を参照することにより、「BANK0」および「BANK1」の2つのうちの、いずれが旧く、いずれが新しいTOC情報であるかを知ることができる。
【0058】
[フラッシュメモリ2への書き込み制御]
次に、この実施形態におけるフラッシュメモリ2へのデータの書き込み制御について、説明する。
【0059】
図1および図2は、この実施の形態におけるフラッシュメモリ2へのデータ書き込み時の処理動作のフローチャートであり、これは、制御部1のCPU11がROM12のプログラムに従って実行する処理を中心に記述したものである。
【0060】
すなわち、制御部1は、フラッシュメモリ2への書き込み指示が発生したか否か判別し(ステップS101)、書き込み指示が発生していないと判別したときには、その他の処理を実行する(ステップS102)。
【0061】
そして、ステップS101で、書き込み指示が発生したと判別したときには、制御部1は、書き込み対象ブロックおよび書き込み対象ページの論理アドレスを決定し(ステップS103)、当該論理アドレスのブロックの先頭のページの更新中フラグをオンにする(ステップS104)。
【0062】
次に、論理上、制御部1の論理物理アドレス変換テーブル(RAM12内にある)に用意している予備の空きエリアに書き込み対象ブロックを退避すると共に、書き込み対象ブロックの論理アドレスと同じ論理アドレスのブロックを書き込める空きブロックエリアを作るようにする(ステップS105)。このステップS105の処理は、前述の図10を参照して説明した通りである。
【0063】
次に、制御部1は、書き込み対象ページよりも前のアドレス順位のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS106)。ただし、このとき、コピー先のブロックの先頭のページのスペアエリアの更新中フラグはオフのままとされる。
【0064】
次に、制御部1は、書き込み対象ページのデータを、書き込み先のブロックエリアの対応するページに書き込む(ステップS107)。このステップS107までの処理は、従来の書き込み制御手順である図9のフローチャートのステップS1〜S7までの処理と同様である。
【0065】
この実施形態では、ステップS107でページデータの書き込みが終了した後においては、従来のように即座に書き込み対象ページの後の残りのページをすべてコピーするのではなく、書き込みが終了したページの直後のページを、当該ブロックにおける次の書き込み開始位置として登録して待機する。
【0066】
そして、その待機状態において、書き込み終了であるか否か判別し(図5のステップS111)、書き込み終了であれば、書き込み対象ページよりも後のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS112)。
【0067】
そして、書き込み対象の元のブロックの、すべてのページのデータについて、書き換えが終了したら、制御部1は、論理上、予備エリアに退避していた書き込み対象の元のブロックのデータを消去する(ステップS113)。そして、この書き込み処理ルーチンを終了する。
【0068】
また、ステップS111で、書き込み終了ではないと判別したときには、制御部1は、次の書き込み対象ブロックおよび書き込み対象ページの論理アドレスを決定する(ステップS114)。そして、決定した次の書き込み対象ページが、書き込み中の同一ブロック内のものであって、かつ、ステップS107で書き込んだページアドレスの後順位のアドレスであるか否か判別する(ステップS115)。
【0069】
このステップS115で、次の書き込み対象ページが、書き込み中の同一ブロック内のものであって、かつ、前回、データを書き込んだページよりも後順位のアドレス位置のものであると判別したときには、制御部1は、前回、データを書き込んだページと、次の書き込み対象ページとの間のすべてのページのデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS116)。
【0070】
そして、図1のステップS107に戻り、ステップS114で決定された書き込み対象ページにデータの書き込みを行なう。以下、次の書き込み対象ページが、書き込み中の同一ブロック内のものであって、かつ、前回データを書き込んだページよりも後順位のアドレス位置のものである間は、ステップS111〜ステップS116およびステップS116からステップS107に戻るルーチンを繰り返す。
【0071】
ステップS115で、次の書き込み対象ページが、書き込み中の同一ブロック内のものでないと判別したときには、制御部1は、最後の書き込み対象ページよりも後のすべてのページデータを、書き込み対象の元のブロックから、書き込み先のブロックエリアの対応するページにコピーする(ステップS117)。
【0072】
そして、書き込み対象の元のブロックの、すべてのページのデータについて、書き換えが終了したら、制御部1は、論理上、予備エリアに退避していた書き込み対象の元のブロックのデータを消去する(ステップS118)。そして、ステップS104に戻り、このステップS104以降の処理ステップを繰り返す。
【0073】
したがって、この実施形態の書き込み方法においては、書き込み対象ページの指定が、図5において、▲1▼、▲2▼、▲3▼で示すように、同一ブロック内のページであって、アドレス順位が、順次、後順位となるようなものであった場合には、それらの▲1▼、▲2▼、▲3▼のページは、次のようにして、高速に書き込まれる。
【0074】
すなわち、▲1▼のページの書き込みにおいては、先ず、▲1▼のページよりも前のページが、図5において、▲1▼−1で示すように、書き込み対象の元のブロック(コピー元のブロック)から、書き込み先のブロック(コピー先のブロック)にコピーされる。その後、図5において、▲1▼−2で示すように、▲1▼のページの書き込みがなされる。
【0075】
引き続いて、▲1▼のページと、▲2▼のページの間のすべてのページが、図5において、▲2▼−1で示すように、書き込み対象の元のブロック(コピー元のブロック)から、書き込み先のブロック(コピー先のブロック)にコピーされる。その後、図5において、▲2▼−2で示すように、▲2▼のページの書き込みがなされる。
【0076】
さらに、引き続いて、▲2▼のページと、▲3▼のページの間のすべてのページが、図5において、▲3▼−1で示すように、書き込み対象の元のブロック(コピー元のブロック)から、書き込み先のブロック(コピー先のブロック)にコピーされる。その後、図5において、▲3▼−2で示すように、▲3▼のページの書き込みがなされる。
【0077】
以上のように、この発明によれば、1ページの書き込みを行なうごとに、1ブロック分の書き込みをすべて行なわなければならない従来の方法とは異なり、書き込み対象ページが、同一ブロック内のページであって、アドレス順位が、順次、後順位となるように発生する場合には、一つのブロック内において、必要なページのコピーと、当該書き込み対象ページの書き込みを繰り返すので、高速の書き込み処理が可能になる。
【0078】
特に、前述した「EXTERNAL」のエリアにおいては、文字コメントのデータについて、アドレス番号順であって、先順位の空きページエリアから順に書き込みを行なうように定められているので、この実施形態の書き込み制御方法が有効に働く。
【0079】
つまり、例えば、パーソナルコンピュータで、複数個の用件についての文字コメントをそれぞれ入力した後、それらの複数個の用件についての文字コメントのデータをフラッシュメモリ2に書き込む場合、従来の場合であれば、文字コメントの1用件分毎に、1ブロック単位の書き込みを行なわなければならなかったが、この実施形態によれば、複数個の用件分の文字コメントのデータを、順次に1ブロック内に書き込むことが可能となるので、非常に高速の書き込みが可能になる。
【0080】
また、この実施形態においては、以上のような書き込み処理の最中に、停電や電池切れなどの理由で、電源電圧が遮断された場合に、書き込み処理が完了しないことになることに対処するためのリセット処理は、次のようになされる。
【0081】
図6は、この実施形態において、電源電圧が再投入されたときのリセット処理を説明するためのフローチャートである。
【0082】
すなわち、制御部1は、電源電圧が再投入されると、図6のリセット処理をスタートさせ、先ず、各ブロックの先頭のページのスペアエリアの論理アドレスを検索して、同じ論理アドレスのブロックが2つあるか否か判別する(ステップS121)。
【0083】
前述したように、論理上、予備エリアに退避された書き換え対象の元のブロックのページデータ上の論理アドレスは元のままであるので、書き換え先のブロックの論理アドレスと同じ状態となる。したがって、書き込み処理の途中で電源が遮断されたときには、論理アドレスが同一のブロックが2個存在することになる。ただし、書き換え対象の元のブロックでは更新中フラグがオンとされているので、更新中フラグがオフである書き換え先のブロックとは区別が可能である。
【0084】
以上のことに基づいて、ステップS121で、論理アドレスが同一のブロックが2つあると判別したときには、制御部1は、書き込み処理の途中で電源が遮断されたと判断し、この実施形態では、それら2つのブロックの両方を残し、更新中フラグがオフであるブロック内をサーチし、アドレス順位が1ブロックの最後のページの方からみたときに、連続して空きとなっているページのうち、最も先順位のアドレスとなっているページを検出する(ステップS122)。
【0085】
次に、制御部1は、検出したページを含めて、更新中フラグがオンであるブロックの当該ページ以降のページのデータを、更新中フラグがオフであるブロックの対応するページ位置にすべてコピーする(ステップS123)。コピーが終了したら、更新中フラグがオンであるブロックのデータは、すべて消去する(ステップS124)。そして、リセット処理を終了し、次の処理に移る。
【0086】
また、ステップS121で、論理アドレスが同一のブロックは一つしかないと判別したときには、書き込み処理が途中のものは無いとして、このリセット処理をそのまま終了し、次の処理に移る。
【0087】
以上のリセット処理により、書き込み処理の途中で電源が遮断されてしまったとしても、1ブロック内に連続して複数のページを書き込んだとしても、書き込み済みのページまでのデータは、保存されるという効果がある。
【0088】
なお、上述のリセット処理の変形例として、ステップS122において、更新中フラグがオフであるブロック内をサーチし、アドレス順位が最後のページの方からみたときに、連続して空きとなっているページのうち、最も先順位のアドレスとなっているページを検出したら、当該ページアドレス位置を、当該更新中フラグがオフの状態のブロック(書き込み先ブロック)における、次の書き込み開始位置として登録して、図6のステップS123および124の処理は行なわずにリセット処理を終了するようにしても良い。
【0089】
この場合には、リセット処理により、図1のステップS107が終了した段階になる。したがって、リセット処理の後は、図2のステップS111以降の処理が行なわれる状態になり、書き込み終了であれば、図6のステップS123および124の処理に等しいステップS112およびステップS113の処理を行ない、また、書き込み終了でなければ、次の書き込み対象ブロックおよびページを判別して、上述のような書き込み処理を行なう。
【0090】
[変形例]
以上の実施形態の説明は、記録媒体がNAND型フラッシュメモリである場合であるが、この発明は、NAND型フラッシュメモリと同様のアドレス制御を書き込み時に行なわなければならない記録媒体のすべてに適用可能である。
【0091】
また、この発明が適用される電子機器は、ICレコーダに限られるものでないことも言うまでもない。そして、フラッシュメモリは、電子機器に内蔵の場合に限らず、例えばフラッシュメモリがカード型メモリであって、挿脱可能なものであってもよい。
【0092】
また、上述の実施形態では、ブロック単位の空きエリアを用意して、ページ単位に書き込みを行なう場合において、書き込み元と書き込み先のブロックの区別は、ページデータに含まれる更新中フラグを用いて行なうようにしたが、書き込み元と書き込み先のブロックの区別は、このようなフラグを用いる方法に限定されるものではない。例えば、書き込み元と書き込み先のブロックアドレスを常に記憶して管理するようにすれば、書き込み元と書き込み先のブロックの区別は可能である。
【0093】
また、上述の実施形態の説明では、書き込み制御の管理は、論理物理アドレス変換テーブルを用いて行なうようにしたが、このような方法に限られるものでないことは勿論である。
【0094】
また、上述の説明においては、ブロック内(大ブロック内)では、アドレスの小さいページ(小ブロック)から順番に昇順に書き込むようにした場合について説明したが、この発明は、アドレスの大きいページ(小ブロック)から順番に降順に書き込むようにする場合にも同様に適用できる。
【0095】
【発明の効果】
以上説明したように、この発明によれば、フラッシュメモリのような記録媒体に対して、高速の書き込みが可能になる。
【図面の簡単な説明】
【図1】この発明による記録媒体の記録制御方法の実施形態を説明するためのフローチャートの一部である。
【図2】この発明による記録媒体の記録制御方法の実施形態を説明するためのフローチャートの一部である。
【図3】この発明による記録媒体の記録制御方法の実施形態が適用されるICレコーダの構成例を示す図である。
【図4】フラッシュメモリのメモリエリア構造を説明するための図である。
【図5】この発明による記録媒体の記録制御方法の実施形態を説明するための図である。
【図6】この発明による記録媒体の記録制御方法におけるリセット処理の例を説明するためのフローチャートである。
【図7】NAND型フラッシュメモリのデータ構成を説明するための図である。
【図8】NAND型フラッシュメモリについての、従来の記録制御方法を説明するための図である。
【図9】NAND型フラッシュメモリについての、従来の記録制御方法を説明するためのフローチャートである。
【図10】NAND型フラッシュメモリについての、従来の記録制御方法を説明するための図である。
【図11】従来の記録媒体の記録制御方法におけるリセット処理の例を説明するためのフローチャートである。
【符号の説明】
1…制御部、2…フラッシュメモリ
Claims (8)
- 所定のデータ数の小ブロックをデータの読み書きの単位とし、前記小ブロックの複数個からなる大ブロックをデータの消去の単位とし、前記大ブロック内での前記小ブロックの書き込みはアドレス順になされる記録媒体への記録制御方法であって、
第1の前記小ブロックが含まれる第1の前記大ブロックのうち、前記第1の小ブロックのアドレスよりも前のアドレス順位の前記小ブロックを、データが消去された第2の前記大ブロックの対応するアドレスにコピーする第1のコピー工程と、
前記第2の大ブロックの、前記第1の小ブロックのアドレスに対応するアドレスにデータを書き込む第1の書き込み工程と、
次に書き込みがなされる第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であるかを判別する判別工程と、
前記判別工程で、前記第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であると判別したときに、前記第1の小ブロックと、前記第2の小ブロックとの間の前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第2のコピー工程と、
前記第2のコピー工程の後、前記第2の大ブロックの、前記第2の小ブロックのアドレスに対応するアドレスにデータを書き込む第2の書き込み工程と、
前記判別工程で、前記第2の小ブロックが、前記第1の大ブロックとは異なる前記大ブロック内のものであると判別したときに、前記第1の大ブロックのうち、前記第1の小ブロックのアドレスより後のアドレス順位のすべての前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第3のコピー工程と、
前記第3のコピー工程の後、前記第1の大ブロックのデータを消去する消去工程と
を備える
ことを特徴とする記録媒体への記録制御方法。 - 前記第2の書き込み工程の後には、前記判別工程に戻って、前記判別工程以降の処理を行なうようにする
ことを特徴とする請求項1に記載の記録媒体への記録制御方法。 - 請求項1に記載の記録媒体への記録制御方法において、
書き込み処理が途中で中断された後の復帰時には、
前記第2の大ブロックにおいて、アドレス順位が最後の前記小ブロックのアドレスから見たとき、連続して空きとなっている前記小ブロックのアドレスのうちの、最も先順位の前記小ブロッのクアドレスを検出する工程と、
前記第2の大ブロックの、前記最も先順位の前記小ブロックのアドレス以降のすべての前記小ブロックのアドレスに、前記第1の大ブロックの対応する前記小ブロックのデータをコピーする工程と、
前記第1の大ブロックのデータを消去する消去工程と
を行なうことを特徴とする記録媒体への記録制御方法。 - 請求項1に記載の記録媒体への記録制御方法において、
前記小ブロック単位の書き込みが途中で中断された後の復帰時には、前記第2の大ブロックのアドレス順位が最後の前記小ブロックのアドレスから見たとき、連続して空きとなっている前記小ブロックのアドレスのうちの、最も先順位の前記小ブロックのアドレスを、前記第2の大ブロックにおいて、次に書き込みを開始する前記小ブロックのアドレスとする
ことを特徴とする記録媒体への記録制御方法。 - 所定のデータ数の小ブロックをデータの読み書きの単位とし、前記小ブロックの複数個からなる大ブロックをデータの消去の単位とし、前記大ブロック内での前記小ブロックの書き込みはアドレス順になされる記録媒体への記録制御装置であって、
第1の前記小ブロックが含まれる第1の前記大ブロックのうち、前記第1の小ブロックのアドレスよりも前のアドレス順位の小ブロックを、データが消去された第2の前記大ブロックの対応するアドレスにコピーする第1のコピー手段と、
前記第2の大ブロックにおいて、前記第1の小ブロックのアドレスに対応するアドレスにデータを書き込む第1の書き込み手段と、
次に書き込みがなされる前記第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であるかを判別する判別手段と、
前記判別手段で、前記第2の小ブロックが、前記第1の大ブロック内の、前記第1の小ブロックのアドレスより後のアドレス順位であると判別したときに、前記第1の小ブロックと、前記第2の小ブロックとの間の前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第2のコピー手段と、
前記第2のコピー手段でコピーがなされた前記第2の大ブロックにおいて、前記第2の小ブロックのアドレスに対応するアドレスにデータを書き込む第2の書き込み手段と、
前記判別手段で、前記第2の小ブロックが、前記第1の大ブロックとは異なる前記大ブロック内のものであると判別したときに、前記第1の大ブロックのうち、前記第1の小ブロックのアドレスより後のアドレス順位のすべての前記小ブロックのデータを、前記第2の大ブロックの対応するアドレスにコピーする第3のコピー手段と、
前記第3のコピー手段でのコピー処理の後、前記第1の大ブロックのデータを消去する消去手段と
を備えることを特徴とする記録媒体への記録制御装置。 - 請求項5に記載の記録媒体への記録制御装置において、
前記第2の書き込み手段によるデータ書き込みの後に、前記判別手段による判別を再度行なう
ことを特徴とする記録媒体への記録制御装置。 - 請求項5に記載の記録媒体への記録制御装置において、
前記小ブロック単位の書き込みが途中で中断されたことを検出する検出手段と、
前記検出手段で、前記小ブロック単位の書き込みが途中で中断されたと検出したときに、前記第2の大ブロックにおいて、アドレス順位が最後の前記小ブロックアドレスから見たとき、連続して空きとなっている前記小ブロックのアドレスのうちの、最も先順位の前記小ブロックのアドレスを検出する手段と、
前記第2の大ブロックの、前記最も先順位の前記小ブロックのアドレス以降のすべての前記小ブロックのアドレスに、前記第1の大ブロックの対応する前記小ブロックのデータをコピーする手段と、
前記第1の大ブロックのデータを消去する手段と
を備えることを特徴とする記録媒体への記録制御装置。 - 請求項5に記載の記録媒体への記録制御装置において、
前記小ブロック単位の書き込みが途中で中断されたことを検出する検出手段と、
前記検出手段で、前記小ブロック単位の書き込みが途中で中断されたと検出したときに、前記第2の大ブロックのアドレス順位が最後の前記小ブロックアドレスから見たとき、連続して空きとなっている前記小ブロックのアドレスのうちの、最も先順位の前記小ブロックのアドレスを、前記第2の大ブロックにおいて、次に書き込みを開始する前記小ブロックのアドレスとする
ことを特徴とする記録媒体への記録制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003042983A JP3928724B2 (ja) | 2003-02-20 | 2003-02-20 | 記録媒体の記録制御方法および記録媒体の記録制御装置 |
CNB2004800044979A CN100440167C (zh) | 2003-02-20 | 2004-01-27 | 记录媒体的记录控制方法及记录控制装置 |
PCT/JP2004/000695 WO2004075064A1 (ja) | 2003-02-20 | 2004-01-27 | 記録媒体の記録制御方法及び記録制御装置 |
US10/545,488 US20060153025A1 (en) | 2003-02-20 | 2004-01-27 | Recording medium recording control method and recording control device |
KR1020057015190A KR20050111594A (ko) | 2003-02-20 | 2004-01-27 | 기록 매체의 기록 제어 방법 및 기록 제어장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003042983A JP3928724B2 (ja) | 2003-02-20 | 2003-02-20 | 記録媒体の記録制御方法および記録媒体の記録制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004264912A JP2004264912A (ja) | 2004-09-24 |
JP3928724B2 true JP3928724B2 (ja) | 2007-06-13 |
Family
ID=32905384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003042983A Expired - Fee Related JP3928724B2 (ja) | 2003-02-20 | 2003-02-20 | 記録媒体の記録制御方法および記録媒体の記録制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060153025A1 (ja) |
JP (1) | JP3928724B2 (ja) |
KR (1) | KR20050111594A (ja) |
CN (1) | CN100440167C (ja) |
WO (1) | WO2004075064A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI232466B (en) * | 2003-10-28 | 2005-05-11 | Prolific Technology Inc | Method for updating data of non-volatile memory |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
JP2007025001A (ja) * | 2005-07-12 | 2007-02-01 | Sony Corp | 音声記録装置、音声記録方法及び音声記録プログラム |
US9612954B2 (en) | 2008-12-31 | 2017-04-04 | Micron Technology, Inc. | Recovery for non-volatile memory after power loss |
JP6447469B2 (ja) * | 2015-11-23 | 2019-01-09 | 株式会社デンソー | 書換システム |
TWI643066B (zh) * | 2018-01-15 | 2018-12-01 | 慧榮科技股份有限公司 | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 |
JP7213712B2 (ja) * | 2019-02-14 | 2023-01-27 | キオクシア株式会社 | 不揮発性半導体記憶装置 |
CN112416811B (zh) * | 2020-11-18 | 2024-02-27 | 深圳市硅格半导体有限公司 | 基于数据关联度的垃圾回收方法、闪存及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978342B1 (en) * | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US6427184B1 (en) * | 1997-06-03 | 2002-07-30 | Nec Corporation | Disk drive with prefetch and writeback algorithm for sequential and nearly sequential input/output streams |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6230241B1 (en) * | 1998-09-09 | 2001-05-08 | Cisco Technology, Inc. | Apparatus and method for transferring data in a data communications device |
JP4441968B2 (ja) * | 1999-02-26 | 2010-03-31 | ソニー株式会社 | 記録方法、管理方法、及び記録装置 |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
KR100703680B1 (ko) * | 1999-10-14 | 2007-04-05 | 삼성전자주식회사 | 플래시 파일 시스템 |
US7020739B2 (en) * | 2000-12-06 | 2006-03-28 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
US7617352B2 (en) * | 2000-12-27 | 2009-11-10 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP3692313B2 (ja) * | 2001-06-28 | 2005-09-07 | 松下電器産業株式会社 | 不揮発性メモリの制御方法 |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
JP3802411B2 (ja) * | 2001-12-20 | 2006-07-26 | 株式会社東芝 | 不揮発性半導体記憶装置のデータコピー方法 |
JP2003280979A (ja) * | 2002-03-20 | 2003-10-03 | Toshiba Corp | 情報記憶装置 |
-
2003
- 2003-02-20 JP JP2003042983A patent/JP3928724B2/ja not_active Expired - Fee Related
-
2004
- 2004-01-27 KR KR1020057015190A patent/KR20050111594A/ko not_active Application Discontinuation
- 2004-01-27 US US10/545,488 patent/US20060153025A1/en not_active Abandoned
- 2004-01-27 WO PCT/JP2004/000695 patent/WO2004075064A1/ja active Application Filing
- 2004-01-27 CN CNB2004800044979A patent/CN100440167C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2004075064A1 (ja) | 2004-09-02 |
CN1751296A (zh) | 2006-03-22 |
CN100440167C (zh) | 2008-12-03 |
US20060153025A1 (en) | 2006-07-13 |
KR20050111594A (ko) | 2005-11-25 |
JP2004264912A (ja) | 2004-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2242805C2 (ru) | Способ записи, способ управления и устройство для записи | |
TWI375962B (en) | Data writing method for flash memory and storage system and controller using the same | |
US7558904B2 (en) | Controller, data memory system, data rewriting method, and computer program product | |
JP2008198208A (ja) | ホストデータ処理装置の動作方法、ホストデータ処理装置並びにデータ格納装置 | |
JPWO2002054247A1 (ja) | データ記録装置及びフラッシュメモリに対するデータ書き込み方法 | |
US6662269B1 (en) | Data rewriting apparatus, control method, and recording medium | |
TW201217968A (en) | Data writing method, memory controller and memory storage apparatus | |
KR20000048112A (ko) | 일괄 소거형 비휘발성 메모리 장치 및 플래시 메모리의제어 방법 | |
JP3928724B2 (ja) | 記録媒体の記録制御方法および記録媒体の記録制御装置 | |
JP3766396B2 (ja) | メモリ制御装置およびメモリ制御方法 | |
JP2001325128A (ja) | ファイル管理方法、記録又は再生装置 | |
JP4200362B2 (ja) | 記録媒体の記録制御方法、記録制御装置および電子機器 | |
JP2001325134A (ja) | ディレクトリ設定方法、記録装置 | |
JP2004326523A (ja) | 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法 | |
JP4000124B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JPH11120044A (ja) | データ処理装置、データ処理方法、データ処理システム及び記録媒体 | |
JP4403338B2 (ja) | 情報処理装置、情報処理方法 | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP3624647B2 (ja) | 記憶装置、データ管理装置、データ管理システム、データ管理方法、ファイル管理装置、記録媒体及びファイル管理システム | |
JP4580724B2 (ja) | 不揮発性メモリの制御方法 | |
JP4055712B2 (ja) | データ管理装置、データ管理方法及びデータ管理システム | |
JP2001331328A (ja) | 情報処理装置、情報処理方法 | |
JP2008065646A (ja) | フラッシュメモリ制御システムとその制御方法 | |
KR100449712B1 (ko) | 프린터의 보조 메모리 이용 방법 및 장치 | |
JP2002007204A (ja) | 情報処理装置、情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070227 |
|
LAPS | Cancellation because of no payment of annual fees |