JP4790334B2 - Nonvolatile memory device - Google Patents
Nonvolatile memory device Download PDFInfo
- Publication number
- JP4790334B2 JP4790334B2 JP2005198558A JP2005198558A JP4790334B2 JP 4790334 B2 JP4790334 B2 JP 4790334B2 JP 2005198558 A JP2005198558 A JP 2005198558A JP 2005198558 A JP2005198558 A JP 2005198558A JP 4790334 B2 JP4790334 B2 JP 4790334B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- busy
- block
- signal
- busy signal
- 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
Landscapes
- Memory System (AREA)
Description
本発明は、フラッシュメモリなどの不揮発性メモリを内蔵した不揮発性記憶装置に関し、更に詳しくは、記憶容量の増大に伴って発生し易くなるタイムアウトの防止に関する。 The present invention relates to a non-volatile storage device incorporating a non-volatile memory such as a flash memory, and more particularly to prevention of a timeout that tends to occur with an increase in storage capacity.
小型・軽量であることを長所とするメモリーカード等の不揮発性記憶装置は、様々な技術分野、特に民生のAV機器や通信機器において広く使用されるようになってきた。それらの不揮発性記憶装置の多くはNAND型フラッシュメモリなどの不揮発性メモリを内蔵している。 Nonvolatile storage devices such as memory cards, which have the advantage of being small and light, have come to be widely used in various technical fields, particularly consumer AV equipment and communication equipment. Many of these nonvolatile storage devices incorporate a nonvolatile memory such as a NAND flash memory.
一方、このようなフラッシュメモリは、まだ書き込みが一度も行われていない領域に対しては、磁気ディスクなどと同様にデータを直接書き込むことができるが、その一方で、既にデータが書き込まれている領域に対しては、まずブロック単位でデータを消去し、消去後の実書き込み領域に対してしか書き込みを行えないという性質を有している。 On the other hand, in such a flash memory, data can be directly written to an area that has not been written yet, like a magnetic disk, but on the other hand, data has already been written. The area has the property that data is first erased in units of blocks and data can be written only to the actual writing area after erasure.
図8(A)に、現在一般的に使用されているフラッシュメモリのブロック構成を示す。フラッシュメモリは最小消去単位である複数の物理ブロック801で構成されており、また1つの物理ブロック801はデータの書き込み単位である複数のページ802で構成されている。図の例では1ページは512B、1ブロックの容量は512B×32ページで16KBである。
FIG. 8A shows a block configuration of a flash memory that is generally used at present. The flash memory is composed of a plurality of
次に、このようなフラッシュメモリを記憶媒体とする不揮発性記憶装置に情報処理装置(以下、ホストという)を用いてデータを書き込む際の処理について、図面を用いて具体的に説明する。 Next, processing when data is written in a nonvolatile storage device using such a flash memory as a storage medium using an information processing device (hereinafter referred to as a host) will be specifically described with reference to the drawings.
図9はホスト100に不揮発性記憶装置の一種であるメモリーカード110が装着された状態を示したものである。メモリーカード110は基本的に、記録媒体であるフラッシュメモリ111、フラッシュインターフェース(以下、フラッシュI/Fと略す)112を介してフラッシュメモリ111へのデータの書き込み、又はフラッシュメモリ111からのデータの読み出しを行うカードコントローラ113、ホスト100から転送されたデータを一時的に保存するバッファメモリ114、及びホスト110との間でデータや制御信号の転送を行うホストI/F115で構成されている。
FIG. 9 shows a state in which a
図10は、メモリーカード110にデータを書き込む際のホスト100・メモリーカード110間のデータの流れを示すタイムチャートである。
ホスト100からメモリーカード110にデータを書き込む際には、最初に、ホスト100から図10aに示すライトコマンド1001が発行され、外部バス117を介してメモリーカード110に転送され、それに引き続いて、図10bに示すようにデータ転送の単位であるセクタ(512B)毎にデータ1002の転送が行われ、ホストI/F115を介してバッファメモリ114に一時的に保存される。
FIG. 10 is a time chart showing a data flow between the
When writing data from the
その際、図10(c)に示すように、1セクタのデータ転送が行われる毎に、ホストI/F115内のビジー発信回路118がビジー信号1003を出力してホスト100に送信し、バッファメモリ114の内部で次のセクタのデータを受信可能な状態になったら、ビジー信号1003を解除してレディーの状態にする。
At this time, as shown in FIG. 10C, every time data transfer of one sector is performed, the
ホスト100は、メモリーカード110がレディーの状態であれば、好きな時に次のセクタのデータ転送を行い、メモリーカード110はビジー信号を出力することを繰り返す。ホスト100は転送するデータがなくなったら、メモリーカード110がレディー/ビジーいずれの状態にあるかによらず、ストップコマンド1004を発行する。それを受けてメモリーカード110はビジー信号1003を出力する(既にビジー信号が出力中の場合もある)。
If the
ホスト100から転送された512Bのデータは、バッファメモリ114内のバッファA119,B120に交互に一時的に保存された後、カードコントローラ113の制御により、図11に示すフローに従ってフラッシュメモリ111へ書き込まれ、転送済のデータの書き込みが全て終了した後に、メモリーカード110はビジー信号を解除してレディーの状態に戻し書き込みを終了する。
The 512B data transferred from the
次に、図11のフローチャートを参照し、フラッシュメモリ111にデータを書き込む際のカード内部の処理について説明する。
上述したようにメモリーカード110へのデータの書き込みは未書き込みの領域にしか行えないため、まず書き込み先となる未書き込みの領域を有する物理ブロックを設定する必要があり(ステップS1101)、新たに消去済みのブロックを確保する必要がある場合には(S1102でYES)、不要なデータが記録された物理ブロックからそのデータを消去して空のブロックを確保する(S1103)。一方、未書き込みの領域を持つ書き込み先ブロックを設定できて、新たな消去済のブロックを確保する必要がない場合には(S1102でNO)、そのブロックに対してデータの書き込みを実行する(S1104)。
Next, with reference to the flowchart of FIG. 11, processing inside the card when writing data to the
As described above, since data can be written to the
書き込みはページ単位で行われ、書き込むべきデータがある場合には書き込みを続け(S1105でYES)、論理アドレス単位で1ブロック分のデータの書き込みが終了するまでは(S1106でNO)、同じ物理ブロックに対してデータの書き込み処理を繰り返す(S1104)。論理アドレス単位で1ブロック分のデータ書き込みが終了した場合には(S1106でYES)、書き込み先となる新たな物理ブロックを設定してS1101からS1104までの処理を繰り返す。
一方、途中で未書き込みのデータがなくなれば書き込みを終了する(S1105でNO)。
On the other hand, if there is no unwritten data on the way, the writing is terminated (NO in S1105).
近年、記憶容量の大容量化の要請に伴ってメモリーカードを構成する1ブロックの容量が増加する傾向にある。図8(B)、(C)に記憶容量の大容量化に伴って採用されたブロックの構成を示すが、図8(B)では1ページを2KB、1物理ブロックを64ページで構成し、1物理ブロックの容量は128KBである。また図8(C)は多値タイプ(図では4値)のメモリーカードに採用されたブロック構成であり、1ページを2KB、1物理ブロックを128ページで構成し、1物理ブロックの容量は256kBであり、図8(A)に示す従来のブロックと比較すると、容量が16倍になる。
なお、多値タイプはひとつのメモリセルで4つの状態を取ることで2ビットの情報を保持することができるためメモリ容量を増やすことができるが、従来の2値タイプに比べてページあたりの書き込み時間が長いというデメリットがある。
In recent years, the capacity of one block constituting a memory card tends to increase in accordance with a request for an increase in storage capacity. 8 (B) and 8 (C) show the configuration of the blocks adopted with the increase in storage capacity. In FIG. 8 (B), 1 page is composed of 2 KB, 1 physical block is composed of 64 pages, The capacity of one physical block is 128 KB. FIG. 8C shows a block configuration adopted for a multi-valued type (four values in the figure) memory card. One page consists of 2 KB, one physical block consists of 128 pages, and the capacity of one physical block is 256 KB. Compared with the conventional block shown in FIG. 8A, the capacity is 16 times.
In the multi-value type, the memory capacity can be increased because 2-bit information can be held by taking four states in one memory cell. However, the write per page is larger than the conventional binary type. There is a demerit that time is long.
図12は図8(C)に示した多値タイプの大ブロックを採用したメモリーカードに書き込みを行う際のメモリーカード110内各部のデータの流れを示したタイムチャート(一部省略)であり、図13は図12の先頭部分のタイムチャートに更にビジー信号を加えたものである。なお、タイムチャートの枠内の数字はページ数を表している。
FIG. 12 is a time chart (partially omitted) showing the flow of data in each part in the
以下、図12及び13に基づいてデータ書き込み時のメモリーカード各部のデータの流れを説明する。
ホスト100からライトコマンドが発行された後、フラッシュメモリ111の書き込み単位であるページ(2KB)を一まとまりとして、ホスト100からホストI/F115にデータが送られ(図12のa)、最初の0ページのデータがバッファメモリ114内のバッファA119に一時保存される(同b)。次に、1ページ目のデータがホスト100から送られ、バッファメモリ114内のバッファB120に一時保存される(同d)。
The data flow of each part of the memory card at the time of data writing will be described below with reference to FIGS.
After the write command is issued from the
続いて、0ページ目のデータがバッファA119からフラッシュメモリ111に送られた後、書き込みが行われ(同c・f)、空いたバッファA119には2ページ目のデータが一時保存される。この処理が繰り返されて1ブロック128ページ分のデータの書き込みが終了する(同b・c・d・e・f)。
Subsequently, after the data of the 0th page is sent from the buffer A119 to the
ところで、図に示した例では、フラッシュメモリ111へのデータ書き込みに先立ちコピー処理を行っている(同f)。コピー処理とは、図11のフローチャートで説明したデータ消去済の空きブロックを確保する処理であり、具体的には、いくつかのブロックに分散して記録されたデータを、全部又は一部の領域のデータが書き込まれていないブロックに集めてコピーした後、コピー元として分散していたデータの記録されている各ブロックのデータを消去して空きブロックを確保するものである。メモリーカード110は、このようなコピー処理とブロック単位でのデータ書き込み処理を択一的に時分割で行っている。
By the way, in the example shown in the figure, copy processing is performed prior to data writing to the flash memory 111 (same as f). The copy process is a process for securing a data-erased empty block described with reference to the flowchart of FIG. 11, and specifically, all or a part of data recorded in a distributed manner in several blocks. Are collected in a block in which no data has been written, and then copied, and then the data of each block in which data distributed as a copy source is recorded is erased to secure an empty block. The
上述したコピー処理を行う場合、図8(A)に示すような16KBと比較的容量の小さいブロックの場合、1ブロックの処理時間は、データ転送とページ単位の書き込み時間を含めて10ms弱であるが、図8(B)のブロックの場合はページあたりの容量とページ数が増えるために約25ms、図8(C)のブロックの場合は多値タイプのメモリでページあたりの書き込み時間が長いために約125msとなる。 When performing the copy process described above, in the case of a block with a relatively small capacity of 16 KB as shown in FIG. 8A, the processing time of one block is less than 10 ms including the data transfer and the writing time for each page. However, in the case of the block shown in FIG. 8B, the capacity per page and the number of pages increase, so that the time is about 25 ms. In the case of the block shown in FIG. Is about 125 ms.
図10で説明したように、ホスト100からメモリーカード110にセクタ単位でデータを転送する毎に比較的幅の短いビジー信号1301がホスト100に返送されるが、コピー処理中はバッファメモリ114に保存されたデータをフラッシュメモリ111に転送することができないため、図13のgに示すようにコピー処理が終了し、バッファAのデータがフラッシュメモリ111に転送されるまでビジー信号1302が継続して出力される。
As described with reference to FIG. 10, every time data is transferred from the
1ブロックの大容量化に伴い、コピー処理中に出されるビジー信号1302の幅が通常時のビジー信号1301に比べ極端に長くなるため、ホスト100はメモリーカード110に何らかの異常が発生したと判断し、タイムアウトするという問題があった。
As the capacity of one block increases, the width of the
特許文献1では、このような問題点を解決するため、フラッシュメモリの消去に伴って長い幅のビジー信号が発生する恐れがある場合には、ビジー信号を解除するタイミングを一定期間遅延させてビジー信号の幅を延長することにより、ホストからカードへデータを送る時間を遅らせてタイムアウトの発生を防止している。
In
しかし、特許文献1の場合、フラッシュメモリの消去を終了した後は通常の書き込み処理に戻るため、ホストからの指示があった場合のみビジー信号の幅を延長すれば良いが、上述したようにコピー処理を行う時期をメモリーカード自身が設定するような場合には対応できないという問題があった。
However, in the case of
本発明は、このような従来の問題点を解決するもので、ビジー信号の幅延長を開始するタイミングを設定する手段を設けることにより、書き込み処理とコピー処理を自己の判断に基づいて択一的に時分割で行うメモリーカードにおいても、ビジー信号の幅延長を実現してタイムアウトの発生を防止できるようにしたものである。 The present invention solves such a conventional problem, and by providing means for setting the timing for starting the extension of the width of a busy signal, write processing and copy processing can be selected based on own judgment. Even in a memory card that is time-shared, the busy signal width can be extended to prevent the occurrence of a timeout.
上記目的を達成するため、本発明の不揮発性記憶装置は、消去単位であるブロックを複数含み、かつ前記ブロックを単位としてデータの書き込みが行われる不揮発性メモリと、情報処理装置から送られてきたデータを一時保存するバッファメモリと、前記バッファメモリにおけるデータの保存状況に応じて前記情報処理装置にビジー信号を送信し、かつ前記ビジー信号を解除するタイミングを遅延させてビジー信号の幅を延長することが可能なインターフェースと、前記情報処理装置から送られてきたデータを前記不揮発性メモリのブロックに書き込む書き込み処理と、前記不揮発性メモリの全部又は一部の領域のデータが書き込まれていないブロックに他のブロックのデータをコピーしてそのブロックを全てデータで埋めた後、前記他のブロックのデータを消去して空きブロックを確保するコピー処理とを択一的に行うコントローラとを備え、前記コントローラは、前記コピー処理を行うときに、前記インターフェースにおける前記ビジー信号の幅延長を開始させるとともに、前記コピー処理の進捗に合わせて、前記幅延長を一時的に中断するように制御することを特徴とするものである。 In order to achieve the above object, the nonvolatile memory device of the present invention has been sent from an information processing device and a nonvolatile memory including a plurality of blocks which are erasure units and in which data is written in units of the blocks. A buffer memory for temporarily storing data, and a busy signal is transmitted to the information processing apparatus according to the data storage status in the buffer memory, and the timing for releasing the busy signal is delayed to extend the width of the busy signal An interface capable of writing, a write process for writing data sent from the information processing apparatus to the block of the nonvolatile memory, and a block in which data of all or a part of the area of the nonvolatile memory is not written. After copying the data of another block and filling all the blocks with data, the other block And a selectively perform controller and copy processing for allocating a free block to erase click data, the controller, when performing the copy processing, starts the width extension of the busy signal at said interface In addition, the width extension is controlled to be temporarily interrupted in accordance with the progress of the copy process .
本発明の不揮発性記憶装置において、前記コントローラは、前記バッファメモリが、コピー処理の終了が終了して、前記幅延長が解除された後に前記不揮発性メモリへ書き込むべきデータの受信を開始した時点又はその直前に、前記インターフェースに前記ビジー信号の幅延長を開始する信号を送信することが好ましい。 In the nonvolatile memory device of the present invention, the controller may be configured to start reception of data to be written to the nonvolatile memory after the end of the copy process and release of the width extension after the buffer memory ends. Immediately before that, it is preferable that a signal for starting the width extension of the busy signal is transmitted to the interface.
また不揮発性記憶装置において、前記インターフェースは、前記ビジー信号を発信するビジー発信回路と、前記ビジー信号を解除するタイミングを遅延させてビジー信号の幅を延長するビジー延長回路と、前記ビジー信号の幅を設定する信号幅設定回路とを備えていてもよい。 In or non-volatile storage, wherein the interface is a busy transmitting circuit for transmitting the busy signal, and busy extension circuit for extending the width of delaying the timing of releasing the busy signal busy signal, said busy signal And a signal width setting circuit for setting the width of the signal.
同様に前記インターフェースは、前記ビジー信号を発信するビジー発信回路と、前記コピー処理の進捗に合わせて前記コントローラから出力されるビジー解除信号を受け、前記ビジー信号を解除するタイミングを設定するビジー延長回路とを備えていてもよい。 Similarly, the interface includes a busy transmission circuit that transmits the busy signal, and a busy extension circuit that receives a busy cancellation signal output from the controller in accordance with the progress of the copy process and sets a timing for canceling the busy signal. And may be provided.
また本発明の不揮発性記憶装置において、前記コントローラは、前記インターフェースに前記コピー処理が終了した時点で前記ビジー信号の幅延長を解除する信号を出力することが好ましい。 In the nonvolatile memory device of the present invention, it is preferable that the controller outputs a signal for canceling the busy signal width extension to the interface when the copy process is completed.
本発明によれば、ブロックの大容量化に伴ってコピー処理に長時間かかるようになった場合でも、タイムアウトを発生させない不揮発性記憶装置を提供できる。 According to the present invention, it is possible to provide a non-volatile storage device that does not cause a timeout even when the copy process takes a long time as the block capacity increases.
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
(参考の形態1)
図1は本発明の参考の形態1におけるメモリーカードのブロック図で、ホストに装着された状態を示す。図中、図9と同一機能を有する部分には同一符号を付している。
The best mode for carrying out the present invention will be described below with reference to the drawings.
( Reference form 1)
Figure 1 is a block diagram of a memory card in the
図1において100は情報処理装置であるホスト、110は不揮発性記憶装置の一種であるメモリーカードであり、メモリーカード110はホスト110の本体に設けられたスロット(図示せず)に着脱可能な状態で装着されている。
In FIG. 1,
メモリーカード110はフラッシュメモリ111、フラッシュI/F112、カードコントローラ113、バッファメモリ114、ホストIF115及び内部バス116で構成される。
The
カードコントローラ113はホスト100の指示に従い、フラッシュI/F112を介してフラッシュメモリ111へのデータの書き込み、フラッシュメモリ111からのデータの読み出しを制御する。バッファメモリ114はホスト100から転送されたデータを一時的に保存する。本実施の形態ではフラッシメモリ111として図8(C)に示す多値タイプの大ブロックを採用しているため、バッファA119、B120の容量はそれぞれ2KBである。
The
ホストI/F115は外部バス117を介しホスト100との間で相互にデータの転送を行う。ホストI/F115にはビジー発信回路118、ビジー延長回路121及び信号幅設定回路122が含まれる。ビジー発信回路118はバッファメモリ114が空いているかどうか確認し、バッファメモリ114に既にデータが保存され、新たなデータを受け入れる状態にないときにホスト100にビジー信号を送信する。ビジー延長回路121はビジー信号を解除するタイミングを遅延させてビジー信号に幅を持たせ、信号幅設定回路122はビジー信号の幅を設定する。
The host I /
図2及び図3は本参考の形態1においてフラッシュメモリ111にデータを書き込む際のメモリーカード110内各部のデータの流れを示すタイムチャートであり、図2はブロックへのデータの書き込みに先立ってコピー処理を行う場合を示し、図3はブロックへのデータ書き込みの間にコピー処理を行う場合を示す。
2 and 3 is a time chart showing the flow of data in the
以下、図2に基づいてデータ書き込みの際の処理を説明する。カードコントローラ113の制御に基づき、図2fに示すように、コピー処理が始まり、ホスト100からバッファA119に対し0ページ目のデータの転送が開始された時点で、カードコントローラ113からビジー延長回路121にビジー延長設定信号201が送られ、その後は図2gに示すようにビジー信号の解除タイミングが遅延され、ビジー信号の幅が延長される。
Hereinafter, the processing at the time of data writing will be described with reference to FIG. Based on the control of the
具体的には、ホスト100から0ページ目のデータ(2KB)がホストI/F115を介し、図2aの上段に数値0〜3で示すようにセクタ単位(512B)でバッファA119に送られ、その都度ビジー発信回路118からビジー信号が発信されるが(同g)、信号幅設定回路122によって定められた所定期間ビジー信号の幅が延長された後レディー状態となる(同a・b・g)。同様にして1ページ目のデータがセクタ単位でホスト100からバッファB120に送られる(同a・d)。なお、信号幅設定回路122で設定されるビジー信号の幅は、コピー処理に要する時間及びホスト100でタイムアウトが生じない範囲の時間を考慮して決定される。
Specifically, the 0th page data (2 KB) is sent from the
次に、フラッシュメモリ111におけるコピー処理が終了すると、カードコントローラ113からビジー延長回路121にビジー延長解除信号202が送られ、その後はビジー発信回路118から通常の信号幅のビジー信号が発信され、フラッシュメモリ111へのページ単位のデータ書き込みが行われる。
Next, when the copy process in the
図2から明らかなように、ビジー信号の幅を延長することにより、コピー処理の最中に、極端に広い幅のビジー信号が送られることがなくなるため、ホスト100におけるタイムアウトの発生を防止できる。
As is clear from FIG. 2, by extending the width of the busy signal, a busy signal having an extremely wide width is not sent during the copy process, so that a timeout in the
図3は2つのブロックへのデータの書き込みの間にコピー処理を行う場合を示したものであるが、同図cに示すようにバッファA119からフラッシュメモリ111に126ページ目のデータを転送した時点、言い換えればホスト100からバッファメモリ114に対し、次に書き込むべきブロックの最初のページである128ページ目のデータの転送を開始した時に、カードコントローラ113からビジー延長回路121にビジー延長設定信号201を送り、その後、図2と同様にビジー信号の幅を延長することにより、ホスト100からバッファメモリ114にデータを送るタイミングを遅らせており、図2の場合と同様に、コピー処理の最中に、極端に長い幅のビジー信号が送られることがなくなるため、ホスト100でタイムアウトが生じるのを防止できる。
FIG. 3 shows the case where the copy process is performed during the writing of data to two blocks, but when the 126th page data is transferred from the
次に、図4のフローチャートを参照し、メモリーカード110にデータを書き込む際のカード内部の処理について説明する。書き込みを開始すると、カードコントローラ113は書き込み先となる物理ブロックの設定を行い(S401)、消去済ブロックの確保が不要な場合は(S402でNO)、S406以降のステップでフラッシュメモリ111へのデータ書き込みを行う。この際、カードコントローラ113からビジー延長回路121にビジー延長解除信号202を送り、ビジー信号の幅延長を解除するが(S405)、この時点では、まだビジー信号の幅延長の設定がされていないため、動作に影響はない。
Next, with reference to the flowchart of FIG. 4, processing inside the card when data is written to the
一方、消去済ブロックの確保が必要な場合は(S402でYES)、コピー処理によって消去済の空のブロックを確保するが(S404)、図11に示した従来例と異なり、カードコントローラ113はその前にビジー延長設定信号201をビジー延長回路121に出力してビジー信号の幅を延長するよう設定する(S403)。その後コピー処理を行うことによって消去済の空のブロックを確保する(S404)。 On the other hand, if it is necessary to secure an erased block (YES in S402), an empty block that has been erased is secured by copy processing (S404). Unlike the conventional example shown in FIG. Before, the busy extension setting signal 201 is output to the busy extension circuit 121 so as to extend the width of the busy signal (S403). Thereafter, an erased empty block is secured by performing copy processing (S404).
コピー処理を終了し空のブロックを確保した後、カードコントローラ113はビジー延長解除信号202を出力してビジー信号の幅延長を解除し(S405)、引き続いて確保した空のブロックへのデータ書き込みを実行する(S406)。
After the copy process is completed and an empty block is secured, the
図3で説明したように、コピー処理はブロック単位でのデータ書き込み処理の間にも行われるため、カードコントローラ113は、バッファメモリ114からフラッシュメモリ111に転送されたデータが126ページ目すなわち論理アドレスで規定するブロックの境界から所定サイズ前のデータであるか確認し、所定サイズ前である場合は(S407でYES)、ビジー延長設定信号201をビジー延長回路121に送信してビジー信号の幅を延長するよう設定する(S408)。
As described with reference to FIG. 3, since the copy process is also performed during the data write process in units of blocks, the
これは、次のブロックのデータを書き込む前に消去済のブロックの確保が必要になる場合に備えての処理である。消去ブロックの確保には時間がかかるため、次のブロックの先頭のデータがホスト100からメモリーカード110に転送される前にビジー信号の幅を延長する設定を行う。一方、バッファメモリ114からフラッシュメモリ111に転送されたデータがブロックの境界から所定サイズ前でない場合は、特に処理は行わない(S407でNO)。
This is a process for a case where it is necessary to secure an erased block before writing the next block of data. Since it takes time to secure the erase block, a setting is made to extend the width of the busy signal before the head data of the next block is transferred from the
それ以降、未書き込みのデータがあり、かつ論理ブロックがデータで埋まった場合には(S409及びS410でYES)、S401に戻り、新たな物理ブロックを設定して消去済みブロックの確保が必要かどうか判断する(S402)。消去済みブロックの確保が必要ない場合には(S402でNO)、ビジー信号の幅延長を解除する(S405)。これによって論理ブロック境界の所定サイズ前に設定したビジー信号の幅延長(S408)が解除される。
一方、消去済みブロックの確保が必要な場合には、コピー処理(S404)を行った後、ビジー信号の幅延長を解除する(S405)。
Thereafter, when there is unwritten data and the logical block is filled with data (YES in S409 and S410), the process returns to S401, and whether or not it is necessary to set a new physical block and secure an erased block Judgment is made (S402). If it is not necessary to secure the erased block (NO in S402), the busy signal width extension is canceled (S405). As a result, the busy signal width extension (S408) set before the predetermined size of the logical block boundary is canceled.
On the other hand, when it is necessary to secure an erased block, the width extension of the busy signal is canceled after performing the copy process (S404) (S405).
なお、図3に示すように、コピー処理を開始する際にビジー延長設定信号201が出力されるが(S403)、すでに論理ブロック境界の所定サイズ前のデータ(図では126ページ目のデータ)がバッファメモリ114からフラッシュメモリ111に転送された時点でビジー延長設定信号201は出力されているので(S408)、動作に影響はない。
As shown in FIG. 3, the busy extension setting signal 201 is output when starting the copy process (S403), but the data before the predetermined size of the logical block boundary (the data on the 126th page in the figure) is already present. Since the busy extension setting signal 201 is output at the time of transfer from the
一方、ブロックにまだ余裕がある場合は(S410でNO)、ページ単位でのデータの書き込みを継続し(S406)、未書き込みのデータがなくなった場合は書き込みを終了する(S409でNO)。 On the other hand, if there is still room in the block (NO in S410), data writing is continued in page units (S406), and if there is no unwritten data, the writing is terminated (NO in S409).
なお、図3では、ビジー延長設定信号201を126ページ目のデータをバッファメモリ114からフラッシュメモリ111に転送した時点で出力したが、ビジー延長設定信号201は、コピー処理後、次のブロックに書き込むべきデータをバッファメモリ114がホスト100から受け取る時点であれば、データの受信と同時かその直前に出力しても良い。
(実施の形態1)
In FIG. 3, the busy extension setting signal 201 is output when the data of the 126th page is transferred from the
(Embodiment 1 )
図5は本発明の実施の形態1におけるメモリーカード110のブロック図である。また図6及び図7は図5のメモリーカードにおいてフラッシュメモリ111にデータを書き込む際のデータの流れを示すタイムチャートであり、図6はブロックへのデータの書き込みに先立ってコピー処理を行う場合を示し、図7はブロックへのデータ書き込みの間にコピー処理を行う場合を示す。
FIG. 5 is a block diagram of the
図5に示す本実施の形態1の構成は、信号幅設定回路122がない点及びビジー延長回路501の機能が若干異なる点以外は図1に示す参考の形態1の構成と同じである。参考の形態1では延長するビジー信号の幅は信号幅設定回路122によって定められたが、本実施の形態では、図6及び7に示すように、コピー処理の進捗に合わせてカードコントローラ113からビジー解除信号601がビジー延長回路501に出力され、ビジー延長回路501はビジー解除信号601を受けるとビジー信号を解除する。例えば、1ブロック128ページのコピー処理のうち、図6では32ページ分の処理が終了する毎に、また図7ではコピー処理の開始時点及び42ページ分の処理が終了する毎にビジー解除信号601を出力してビジー信号の解除を行う。その他の処理については、参考の形態1と同様であるため、説明を省略する。
Configuration of this
参考の形態1のようにビジー信号の幅をあらかじめ設定された一定時間延長させるだけだと、一部の領域がデータで埋められたブロックにコピー処理を施す場合、ブロック中の全ての領域のコピー処理を行う場合に比べてコピー処理の時間が短くなり、バッファメモリが空いているにもかかわらず不要にビジー信号の幅を延長することになり、結果としてデータの転送を遅延させることになる。本実施の形態1のようにコピー処理の進捗に応じてビジー解除信号を出力すれば、バッファメモリの空きを適切に制御することが出来、結果としてデータ転送を不要に遅延させるリスクを回避できる。
When the width of the busy signal is only extended for a predetermined time as in
なお、上記実施の形態において、不揮発性記憶装置としてフラッシュメモリを記憶媒体とするメモリーカードを用いた場合について説明したが、本発明はこれに限定されるものではなく、ブロックを消去・書き込みの単位とする多くの不揮発性記憶装置に適用できることは云うまでもない。 Incidentally, Oite the form status of the embodiments has described the case of using a memory card using a flash memory as the storage medium as a non-volatile memory device, the present invention is not limited thereto, and erasing the block Needless to say, the present invention can be applied to many nonvolatile memory devices as a unit of writing.
本発明にかかる不揮発性記憶装置によれば、ホストにおけるタイムアウトの発生防止と不揮発性メモリへの効率的な書き込みを両立できるため、今後主流となることが予想される大容量の不揮発性記憶装置に適用して有用である。 According to the nonvolatile memory device of the present invention, it is possible to achieve both the prevention of timeout in the host and the efficient writing to the nonvolatile memory, so that the nonvolatile memory device expected to become mainstream in the future is used. Useful to apply.
100 ホスト
110 メモリーカード
111 フラッシュメモリ
112 フラッシュI/F
113 カードコントローラ
114 バッファメモリ
115 ホストI/F
116 内部バス
117 外部バス
118 ビジー発信回路
121 ビジー延長回路
122 信号幅設定回路
501 ビジー延長回路
100
113
116
Claims (4)
情報処理装置から送られてきたデータを一時保存するバッファメモリと、
前記バッファメモリにおけるデータの保存状況に応じて前記情報処理装置にビジー信号を送信し、かつ前記ビジー信号を解除するタイミングを遅延させてビジー信号の幅を延長することが可能なインターフェースと、
前記情報処理装置から送られてきたデータを前記不揮発性メモリのブロックに書き込む書き込み処理と、前記不揮発性メモリの全部又は一部の領域のデータが書き込まれていないブロックに他のブロックのデータをコピーしてそのブロックを全てデータで埋めた後、前記他のブロックのデータを消去して空きブロックを確保するコピー処理とを択一的に行うコントローラとを備え、
前記コントローラは、前記コピー処理を行うときに、前記インターフェースにおける前記ビジー信号の幅延長を開始させるとともに、前記コピー処理の進捗に合わせて、前記幅延長を一時的に中断するように制御することを特徴とする不揮発性記憶装置。 A non-volatile memory that includes a plurality of blocks that are erasure units and in which data is written in units of the blocks;
A buffer memory for temporarily storing data sent from the information processing device;
An interface capable of transmitting a busy signal to the information processing device in accordance with the storage state of data in the buffer memory and extending the width of the busy signal by delaying the timing of releasing the busy signal;
Write processing for writing data sent from the information processing device to the block of the non-volatile memory, and copying data of another block to a block in which data of all or part of the non-volatile memory is not written Then, after all the blocks are filled with data, a controller that selectively performs a copy process for erasing the data of the other blocks and securing a free block,
The controller starts to extend the width of the busy signal in the interface when performing the copy process, and controls to temporarily interrupt the width extension in accordance with the progress of the copy process. A non-volatile memory device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005198558A JP4790334B2 (en) | 2005-07-07 | 2005-07-07 | Nonvolatile memory device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005198558A JP4790334B2 (en) | 2005-07-07 | 2005-07-07 | Nonvolatile memory device |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2007018219A JP2007018219A (en) | 2007-01-25 |
| JP2007018219A5 JP2007018219A5 (en) | 2008-08-14 |
| JP4790334B2 true JP4790334B2 (en) | 2011-10-12 |
Family
ID=37755347
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005198558A Expired - Fee Related JP4790334B2 (en) | 2005-07-07 | 2005-07-07 | Nonvolatile memory device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4790334B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5535128B2 (en) | 2010-12-16 | 2014-07-02 | 株式会社東芝 | Memory system |
| JP2014132505A (en) * | 2010-12-16 | 2014-07-17 | Toshiba Corp | Memory system |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0997218A (en) * | 1995-09-28 | 1997-04-08 | Canon Inc | Flash ROM management method and apparatus and computer control apparatus |
| JPH09233285A (en) * | 1996-02-26 | 1997-09-05 | Canon Inc | Communication device, image forming apparatus, and methods thereof |
| JPH11212862A (en) * | 1998-01-23 | 1999-08-06 | Canon Inc | Data processing device and data rewriting method of data processing device |
-
2005
- 2005-07-07 JP JP2005198558A patent/JP4790334B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007018219A (en) | 2007-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8356134B2 (en) | Memory device with non-volatile memory buffer | |
| JP5002201B2 (en) | Memory system | |
| KR100619806B1 (en) | Mediation method and system for mediating access to disk controller memory | |
| CN108984429A (en) | Occupy the data storage device of period management with buffer | |
| KR20100077026A (en) | Serial interface nand | |
| JPH1185609A (en) | Semiconductor storage device and data management method thereof | |
| CN102279712A (en) | Storage control method, system and device applied to network storage system | |
| KR20090008766A (en) | How the Solid State Disk Controller and the Solid State Disk Controller Process Data | |
| CN108628543B (en) | Garbage collection method and device using the same | |
| JP2006514386A (en) | Drive device, program | |
| JP2008176606A (en) | Memory controller and flash memory system equipped with memory controller and control method of flash memory | |
| CN109683829B (en) | Intelligent storage control system based on FPGA and application thereof | |
| JP4790334B2 (en) | Nonvolatile memory device | |
| US20190258422A1 (en) | Methods and apparatus for controlling flash translation layer recycle from host | |
| JP2005115562A (en) | Flash rom controller | |
| JP2010182216A (en) | Memory controller, nonvolatile storage device, nonvolatile storage system and program | |
| TWI417889B (en) | Write timeout methods for a flash memory and memory device using the same | |
| US20070220216A1 (en) | Memory system and method of controlling the memory system | |
| CN113495850A (en) | Method and device for managing garbage collection program and computer readable storage medium | |
| JP4308780B2 (en) | Semiconductor memory device, memory controller, and data recording method | |
| JP4645043B2 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, AND NONVOLATILE MEMORY SYSTEM | |
| US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
| KR100761374B1 (en) | Flash memory control method and device | |
| JP2007310680A (en) | Nonvolatile storage device and data transfer method thereof | |
| JP4273106B2 (en) | Memory controller, flash memory system, and flash memory control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061226 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080702 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080702 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20081107 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110316 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110331 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110518 |
|
| 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: 20110623 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110720 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |