JP2005292926A - Memory controller, flash memory system, and control method for flash memory - Google Patents

Memory controller, flash memory system, and control method for flash memory Download PDF

Info

Publication number
JP2005292926A
JP2005292926A JP2004103308A JP2004103308A JP2005292926A JP 2005292926 A JP2005292926 A JP 2005292926A JP 2004103308 A JP2004103308 A JP 2004103308A JP 2004103308 A JP2004103308 A JP 2004103308A JP 2005292926 A JP2005292926 A JP 2005292926A
Authority
JP
Japan
Prior art keywords
page
flash memory
writing
write
pages
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.)
Granted
Application number
JP2004103308A
Other languages
Japanese (ja)
Other versions
JP4194518B2 (en
Inventor
Naoki Mukoda
直樹 向田
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.)
TDK Corp
Original Assignee
TDK 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 TDK Corp filed Critical TDK Corp
Priority to JP2004103308A priority Critical patent/JP4194518B2/en
Publication of JP2005292926A publication Critical patent/JP2005292926A/en
Application granted granted Critical
Publication of JP4194518B2 publication Critical patent/JP4194518B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To determine whether or not writing to consecutive pages of a flash memory has been completed even if the writing is interrupted. <P>SOLUTION: When data are written to consecutive pages P0 to P31 of the flash memory, (01011) and (11000) are set in redundant areas of writing start pages P0 and P11 as end point information corresponding to writing end pages, and (01011) and (11000) are set in redundant areas of the writing end pages P10 and P23 as writing completion information. If the writing is interrupted, (01011) and (11000) are not set as the writing completion information, so that, for example, a check on the redundant areas of the writing end pages P10 and P23 can determine whether or not the writing has been completed. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。   The present invention relates to a memory controller, a flash memory system including the memory controller, and a flash memory control method.

近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種であり、フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。   In recent years, flash memories have been widely adopted as semiconductor memories used in memory systems such as memory cards and silicon disks. A flash memory is a kind of non-volatile memory, and data stored in the flash memory is required to be held even when power is not supplied.

NAND型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“1”を示すデータが格納されている消去状態から、論理値“0”を示すデータが格納されている書込状態へと変化することができる。   A NAND flash memory is a type of flash memory that is particularly frequently used in the above memory system. Each of the plurality of memory cells included in the NAND flash memory receives a logical value “0” from an erased state in which data indicating a logical value “1” is stored, independently of the other memory cells. It is possible to change to a writing state in which the indicated data is stored.

これとは対照的に、書込状態から消去状態へと変化するときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルが、全て同時に消去状態になる。この一括消去動作は、一般的に、“ブロック消去”と称されている。
NAND型フラッシュメモリに対する書込処理若しくは読出処理は、ページと称される予め定められた数のメモリセル単位で処理が行なわれる。消去処理の単位であるブロックは複数のページで構成されている。
In contrast, when changing from the written state to the erased state, each memory cell cannot change independently of the other memory cells. At this time, all of a predetermined number of memory cells called blocks are simultaneously erased. This batch erase operation is generally called “block erase”.
The writing process or the reading process for the NAND flash memory is performed in units of a predetermined number of memory cells called pages. A block which is a unit of erasure processing is composed of a plurality of pages.

NAND型フラッシュメモリを用いたメモリシステムでは、突然の電源遮断等により、書込処理が中断される場合がある。このような場合、NAND型フラッシュメモリには、不完全な書込みデータが残されてしまう。その後、電源を投入したときに、このような不完全な書込みデータと正常な書込みデータを判別することが困難なときがある。   In a memory system using a NAND flash memory, the writing process may be interrupted due to a sudden power interruption or the like. In such a case, incomplete write data is left in the NAND flash memory. After that, when the power is turned on, it may be difficult to discriminate between such incomplete write data and normal write data.

このような問題を解消するために、下記特許文献1では、各ブロックの先頭ページ(冗長領域)に無効フラグを、最終ページ(冗長領域)に有効フラグを設け、正常に書込処理が終了したときに、有効フラグが有効となる設定処理を行ない、そのブロックのデータが不要となったときに、無効フラグが有効となる設定処理を行なっている。このようにすることにより、有効フラグが有効となる設定がなされているか否かにより、正常に書込処理が終了したか、又は中断したかを判別することができる。
特開2003−15929号公報
In order to solve such a problem, in Patent Document 1 below, an invalid flag is provided in the first page (redundant area) of each block, and an valid flag is provided in the last page (redundant area), and the writing process is normally completed. In some cases, the setting process for enabling the valid flag is performed, and the setting process for enabling the invalid flag is performed when the data of the block becomes unnecessary. In this way, it is possible to determine whether the writing process has been normally completed or has been interrupted depending on whether or not the valid flag is set to be valid.
JP 2003-15929 A

特許文献1(特開2003−15929号公報)では、ブロック内の全ページにデータを書込んだときに有効フラグが有効となる設定処理を行なっているが、ブロック内の全ページにデータを書込まずに処理を終了させる場合もある。例えば、最初の処理で、ブロック内の一部のページにデータを書込んで処理を終了させ、次回の処理でその続きを書込む場合がある。このような場合、ブロック内の一部のページにデータを書込む処理が正常に終了したときには、有効フラグが有効となる設定処理は行なわれない。よって、その処理が正常に終了したかを判断することができない。   In Patent Document 1 (Japanese Patent Laid-Open No. 2003-15929), a setting process is performed in which the validity flag is valid when data is written to all pages in the block. However, data is written to all pages in the block. In some cases, the process may be terminated without being included. For example, in the first process, data may be written to some pages in the block to end the process, and the continuation may be written in the next process. In such a case, when the process of writing data to a part of the pages in the block ends normally, the setting process for enabling the valid flag is not performed. Therefore, it cannot be determined whether the process has been completed normally.

そこで、本発明は、ブロック内の一部のページにデータを書込む処理の場合でも、その処理が正常に行なわれたか否かを判断することができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的とする。   Therefore, the present invention provides a memory controller that can determine whether or not the process has been performed normally even in the case of a process of writing data to some pages in a block, and a flash memory system including the memory controller, It is another object of the present invention to provide a flash memory control method.

上記目的を達成するために、本発明の第1の観点に係るメモリコントローラは、ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込機能と、前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定機能と、前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定機能と、を備えることを特徴とする。   In order to achieve the above object, the memory controller according to the first aspect of the present invention continuously writes data to a plurality of consecutive pages belonging to the same block in the flash memory based on a request from the host system side. A write function, an end point information setting function for setting end point information indicating a write end page in the redundant area of the write start page of the plurality of pages, and a write area in the redundant area of the write end page of the plurality of pages. And a process completion information setting function for setting process completion information indicating that the writing process for the inclusion end page has been completed.

なお、前記処理完了情報として、前記終点情報と同一の情報を用いてもよい。
また、前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定してもよい。
Note that the same information as the end point information may be used as the processing completion information.
The end point information may be set in a redundant area of all pages from the write start page to the write end page of the plurality of pages.

上記目的を達成するために、本発明の第2の観点に係るフラッシュメモリシステムは、本発明の第1の観点に係るメモリコントローラと、フラッシュメモリとを備えることを特徴とする。   In order to achieve the above object, a flash memory system according to a second aspect of the present invention comprises a memory controller according to the first aspect of the present invention and a flash memory.

上記目的を達成するために、本発明の第3の観点に係るフラッシュメモリの制御方法は、ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込処理と、前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定処理と、前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定処理と、を含むことを特徴とする。   In order to achieve the above object, a flash memory control method according to a third aspect of the present invention provides data to a plurality of consecutive pages belonging to the same block in the flash memory based on a request from the host system side. A continuous writing process for writing, an end point information setting process for setting end point information indicating a write end page in the redundant area of the write start page of the plurality of pages, and a redundant area of the write end page of the plurality of pages. And a process completion information setting process for setting process completion information indicating that the writing process for the writing end page has been completed.

なお、前記処理完了情報として、前記終点情報と同一の情報を用いてもよい。
また、前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定してもよい。
Note that the same information as the end point information may be used as the processing completion information.
The end point information may be set in a redundant area of all pages from the write start page to the write end page of the plurality of pages.

本発明によれば、ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページにデータを書込むときに、その書込処理の書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定し、書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定している。このようにすることにより、書込開始ページの冗長領域に設定されている終点情報と、書込終了ページの冗長領域に設定されている処理完了情報の整合がとれているか否かで、その書込み処理が正常に行なわれたか否かを判断することができる。   According to the present invention, when data is written to a plurality of continuous pages belonging to the same block in the flash memory on the basis of a request from the host system side, in the redundant area of the write start page of the write process, End point information indicating the write end page is set, and process completion information indicating that the write process for the write end page is completed is set in the redundant area of the write end page. By doing so, the end point information set in the redundant area of the writing start page and the processing completion information set in the redundant area of the writing end page are determined depending on whether or not the writing is completed. It can be determined whether the process has been performed normally.

以下、図面に基づき、本発明の実施の形態について詳細に説明する。
[フラッシュメモリシステム1の説明]
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[Description of flash memory system 1]
FIG. 1 is a block diagram schematically showing a flash memory system 1 according to the present invention.

図1に示したように、フラッシュメモリシステム1は、フラッシュメモリ2とそれを制御するメモリコントローラ(以下、単にコントローラという)3とで構成されている。フラッシュメモリシステム1は、通常、ホストシステム4に着脱可能に装着されて使用され、ホストシステム4に対して一種の外部記憶装置として用いられる。   As shown in FIG. 1, the flash memory system 1 includes a flash memory 2 and a memory controller (hereinafter simply referred to as a controller) 3 that controls the flash memory 2. The flash memory system 1 is normally used by being detachably attached to the host system 4 and used as a kind of external storage device for the host system 4.

尚、ホストシステム4としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。   Examples of the host system 4 include various information processing apparatuses such as a personal computer and a digital still camera that process various information such as characters, sounds, and image information.

フラッシュメモリ2は、ページ単位で読出し又は書込みを、ブロック単位で消去を実行するデバイスであり、例えば、1ブロックは32ページで構成され、1ページは512バイトのユーザ領域と16バイトの冗長領域で構成されている。   The flash memory 2 is a device that executes reading or writing in units of pages and erasing in units of blocks. For example, one block is composed of 32 pages, and one page is a 512-byte user area and a 16-byte redundant area. It is configured.

コントローラ3は、ホストインターフェース制御ブロック5と、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、フラッシュメモリシーケンサブロック12とから構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積されている。以下に各ブロックの機能を説明する。   The controller 3 includes a host interface control block 5, a microprocessor 6, a host interface block 7, a work area 8, a buffer 9, a flash memory interface block 10, an ECC (error collection code) block 11, And a flash memory sequencer block 12. The controller 3 constituted by these functional blocks is integrated on one semiconductor chip. The function of each block will be described below.

マイクロプロセッサ6は、コントローラ3を構成する各機能ブロック全体の動作を制御する機能ブロックである。
ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づきホストインターフェースブロック7は動作する。
The microprocessor 6 is a functional block that controls the operation of the entire functional blocks constituting the controller 3.
The host interface control block 5 is a functional block that controls the operation of the host interface block 7. Here, the host interface control block 5 includes an operation setting register (not shown) for setting the operation of the host interface block 7, and the host interface block 7 operates based on the operation setting register.

ホストインターフェースブロック7は、ホストシステム4とデータ、アドレス情報、ステータス情報及び外部コマンド情報の授受を行なう機能ブロックである。
すなわち、フラッシュメモリシステム1がホストシステム4に装着されると、フラッシュメモリシステム1とホストシステム4は、外部バス13を介して相互に接続され、かかる状態において、ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインターフェースブロック7を入口としてコントローラ3の内部に取り込まれる。フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストシステム4に供給される。
The host interface block 7 is a functional block that exchanges data, address information, status information, and external command information with the host system 4.
That is, when the flash memory system 1 is attached to the host system 4, the flash memory system 1 and the host system 4 are connected to each other via the external bus 13, and in this state, the host system 4 connects to the flash memory system 1. The supplied data and the like are taken into the controller 3 through the host interface block 7 as an entrance. Data or the like supplied from the flash memory system 1 to the host system 4 is supplied to the host system 4 through the host interface block 7 as an exit.

さらに、ホストインターフェースブロック7は、ホストシステム4より供給されるホストアドレス及び外部コマンドを一時的に格納するタスクファイルレジスタ(図示せず)及びエラーが発生した場合にセットされるエラーレジスタ(図示せず)等を有している。   Further, the host interface block 7 includes a task file register (not shown) for temporarily storing a host address and an external command supplied from the host system 4 and an error register (not shown) set when an error occurs. ) Etc.

ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される機能ブロックである。   The work area 8 is a work area in which data necessary for controlling the flash memory 2 is temporarily stored, and is a functional block configured by a plurality of SRAM (Static Random Access Memory) cells.

バッファ9は、フラッシュメモリ2から読出したデータ及びフラッシュメモリ2に書込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ2から読出したデータは、ホストシステム4の受取準備ができるまでバッファ9に保持され、フラッシュメモリ2に書込むデータは、フラッシュメモリ2の書込準備ができるまでバッファ9に保持される。   The buffer 9 is a functional block that temporarily holds data read from the flash memory 2 and data to be written to the flash memory 2. That is, data read from the flash memory 2 is held in the buffer 9 until the host system 4 is ready to receive data, and data to be written into the flash memory 2 is held in the buffer 9 until the flash memory 2 is ready to write. The

フラッシュメモリシーケンサブロック12は、内部コマンドに基づきフラッシュメモリ2の動作を制御する機能ブロックである。フラッシュメモリシーケンサブロック12は、複数のレジスタ(図示せず)を備え、この複数のレジスタに内部コマンドを実行する際に必要な情報が設定される。この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュメモリシーケンサブロック12は、その情報に基づいて処理を実行する。ここで、「内部コマンド」とは、コントローラ3からフラッシュメモリ2に与えられるコマンドであり、ホストシステム4からフラッシュメモリシステム1に与えられるコマンドである「外部コマンド」と区別される。   The flash memory sequencer block 12 is a functional block that controls the operation of the flash memory 2 based on internal commands. The flash memory sequencer block 12 includes a plurality of registers (not shown), and information necessary for executing an internal command is set in the plurality of registers. When information necessary for executing an internal command is set in the plurality of registers, the flash memory sequencer block 12 executes processing based on the information. Here, the “internal command” is a command given from the controller 3 to the flash memory 2 and is distinguished from an “external command” which is a command given from the host system 4 to the flash memory system 1.

フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド情報及びデバイスID情報等の授受を行う機能ブロックである。   The flash memory interface block 10 is a functional block that exchanges data, address information, status information, internal command information, device ID information, and the like with the flash memory 2 via the internal bus 14.

ECCブロック11は、フラッシュメモリ2に書込むデ―タに付加されるエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する機能ブロックである。   The ECC block 11 generates an error correction code to be added to data to be written to the flash memory 2, and detects and corrects errors included in the read data based on the error correction code added to the read data. Function block.

[フラッシュメモリ2の説明]
フラッシュメモリ2は、NAND型フラッシュメモリであり、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。NAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
[Description of flash memory 2]
The flash memory 2 is a NAND flash memory, and is a non-volatile memory developed for use as a storage device (as an alternative to a hard disk). The NAND flash memory cannot perform random access, and writing and reading are performed in units of pages and erasing is performed in units of blocks. Since data cannot be overwritten, when data is written, data is written into the erased area.

フラッシュメモリ2は、このような特徴を有するため、通常、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替後のデータ)を書込み、古いデータ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なっている。   Since the flash memory 2 has such characteristics, normally, when data is rewritten, new data (data after rewriting) is written to the erased block that has been erased, and old data ( A process of erasing the block in which the data before rewriting) has been written is performed.

このようなデータの書替を行なった場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム4側から与えられるアドレスに基づく論理ブロックアドレスと、フラッシュメモリ2内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理されており、アドレス変換テーブルは、後述する対応論理ブロックアドレスに基づいて作成される。   When such data rewriting is performed, the data after rewriting is written in a block different from that before rewriting. Therefore, the logical block address based on the address given from the host system 4 side and the flash memory 2 The correspondence relationship with the physical block address, which is a block address, dynamically changes every time data is rewritten. The correspondence between the logical block address and the physical block address is normally managed by an address conversion table indicating the correspondence, and the address conversion table is created based on a corresponding logical block address described later.

ここで、上記ブロックとページの関係を図2を参照して説明する。
図2(a),(b)は、ブロック及びページの関係を説明する説明図である。
フラッシュメモリにおけるブロックとページの関係は、フラッシュメモリの仕様によって異なるが、一般的なフラッシュメモリでは、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザ領域と16バイトの冗長領域で構成されている。
Here, the relationship between the block and the page will be described with reference to FIG.
2A and 2B are explanatory diagrams for explaining the relationship between blocks and pages.
The relationship between the block and the page in the flash memory differs depending on the specification of the flash memory, but in a general flash memory, as shown in FIG. 2A, one block is composed of 32 pages (P0 to P31), Each page includes a 512-byte user area and a 16-byte redundant area.

又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザ領域と64バイトの冗長領域で構成されているものも提供されている。
ユーザ領域は、主に、ホストシステム4から供給されるデ―タが記憶される領域であり、冗長領域は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加データが記憶される領域である。エラ―コレクションコードは、ユーザ領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、外部のECCブロックによって生成される。対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。
As the storage capacity increases, as shown in FIG. 2B, one block is composed of 64 pages (P0 to P63), and each page is composed of a 2048-byte user area and a 64-byte redundant area. What is being provided is also provided.
The user area is mainly an area for storing data supplied from the host system 4, and the redundant area is an area for storing additional data such as an error correction code, a corresponding logical block address and a block status. is there. The error collection code is additional data for detecting and correcting an error included in the data stored in the user area, and is generated by an external ECC block. The corresponding logical block address indicates to which logical block address the block corresponds when data is stored in the block.

尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することもできる。つまり、対応論理ブロックアドレスが格納されていない場合は、消去済ブロックであると判断される。ブロックステータスは、そのブロックが不良ブロック(正常にデータの書込み等を行なうことができないブロック)であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。   If no data is stored in the block, the corresponding logical block address is not stored. Therefore, whether or not the block is an erased block depends on whether or not the corresponding logical block address is stored. It can also be judged. That is, if the corresponding logical block address is not stored, it is determined that the block is an erased block. The block status is a flag indicating whether or not the block is a bad block (a block in which data cannot be normally written). If it is determined that the block is a bad block, the block status is bad. A flag indicating a block is set.

次に、フラッシュメモリ2の回路構成について説明する。フラッシュメモリ2は、一般的なNAND型フラッシュメモリと同様に、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイとによって構成されている。   Next, the circuit configuration of the flash memory 2 will be described. The flash memory 2 includes a register for holding write data or read data and a memory cell array for storing data, as in a general NAND flash memory.

メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によってメモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。   The memory cell array includes a plurality of memory cell groups in which a plurality of memory cells are connected in series, and a specific memory cell in the memory cell group is selected by a word line. Data copying (copying from the register to the memory cell or copying from the memory cell to the register) is performed between the memory cell selected by the word line and the register.

メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書込み若しくはデータの消去を行なっている。   A memory cell constituting the memory cell array is composed of a MOS transistor having two gates. Here, the upper gate is called a control gate and the lower gate is called a floating gate. Data is written by injecting charges (electrons) into the floating gate or discharging charges (electrons) from the floating gate. Or data is erased.

フローティングゲートは周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。尚、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。ここで、フローティングゲートに電子が注入されている状態(書込状態)が、論理値の「0」のデータに対応し、フローティングゲートから電子が排出されている状態(消去状態)が、論理値の「1」のデータに対応する。   Since the floating gate is surrounded by an insulator, the injected electrons are held for a long period of time. When electrons are injected into the floating gate, a high voltage is applied so that the control gate is on the high potential side. When electrons are injected from the floating gate, electrons are injected on the floating gate. A voltage is applied to discharge electrons. Here, the state in which electrons are injected into the floating gate (write state) corresponds to the data of the logical value “0”, and the state in which electrons are discharged from the floating gate (erased state) is the logical value. Corresponds to the data of “1”.

[動作説明]
フラッシュメモリシステム1では、ホストシステム4側からの要求に基づいて、フラッシュメモリ2内の同一ブロックに属する連続した複数ページにデータを書込む書込処理を行なうときに、その書込処理の書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定し、書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する。以下に、この終点情報と処理完了情報について図面を参照して説明する。
[Description of operation]
In the flash memory system 1, when a write process for writing data to a plurality of continuous pages belonging to the same block in the flash memory 2 is performed based on a request from the host system 4, the write process is performed. End point information indicating the writing end page is set in the redundant area of the start page, and processing completion information indicating that the writing process for the writing end page is completed is set in the redundant area of the writing end page. To do. The end point information and processing completion information will be described below with reference to the drawings.

図3は、フラッシュメモリ2内のページの冗長領域に設定される終点情報と処理完了情報の一例を示す図である。
図3では、32個のページで構成されたブロックに対して、ステップ1〜3の書込処理を行なっている。例えば、ステップ1では、ページ0〜10(P0〜P10の11個のページ)のユーザ領域にデータが書込まれ、ステップ2では、ページ11〜23(P11〜P23の13個のページ)のユーザ領域にデータが書込まれ、ステップ3では、ページ24〜31(P24〜P31の8個のページ)のユーザ領域にデータが書込まれる。
FIG. 3 is a diagram showing an example of end point information and processing completion information set in a redundant area of a page in the flash memory 2.
In FIG. 3, the writing process in steps 1 to 3 is performed on a block composed of 32 pages. For example, in step 1, data is written in the user area of pages 0 to 10 (11 pages P0 to P10), and in step 2, users of pages 11 to 23 (13 pages P11 to P23) are written. Data is written in the area, and in step 3, data is written in the user area of pages 24-31 (eight pages P24-P31).

各ページのユーザ領域にデータを書込むときに、終点情報若しくは処理完了情報に対応する情報が冗長領域に設定される。ステップ1の書込処理では、書込開始ページであるページ0(P0)から書込終了ページであるページ10(P10)までの全ての冗長領域に、次回の書込処理(ステップ2)で書込みが開始されるページのページの番号である11(2進数の01011b)が設定される。この11(2進数の01011b)は、書込み開始ページに、書込み対象のページ数を加算した値であり、書込終了ページに対応する。   When data is written in the user area of each page, information corresponding to end point information or processing completion information is set in the redundant area. In the writing process in step 1, the next writing process (step 2) writes to all redundant areas from page 0 (P0), which is the writing start page, to page 10 (P10), which is the writing end page. 11 (binary number 01011b), which is the page number of the page on which is started. This 11 (binary number 01011b) is a value obtained by adding the number of pages to be written to the write start page, and corresponds to the write end page.

ステップ1と同様、ステップ2の書込処理では、書込開始ページであるページ11(P11)から書込終了ページであるページ23(P23)までの全ての冗長領域に、次回の書込処理(ステップ3)で書込みが開始されるページの番号である24(2進数の11000b)が設定される。
ステップ3の書込処理では、このブロックの最終ページであるページ31(P31)までデータが書込まれるので、書込開始ページであるページ24(P24)から書込終了ページであるページ31(P31)までの全ての冗長領域に、0(2進数の00000b)が設定される。ここで、書込処理の書込終了ページが、そのブロックの最終ページである場合、次回の書込処理で書込みが開始されるページの番号として0(2進数の00000b)を設定している。
As in step 1, in the write process in step 2, the next write process (in the redundant area from page 11 (P11) as the write start page to page 23 (P23) as the write end page) In step 3), 24 (binary number 11000b), which is the page number where writing starts, is set.
In the write process in step 3, since data is written up to page 31 (P31) which is the last page of this block, page 24 (P24) which is the write start page to page 31 (P31) which is the write end page. ) Is set to 0 (binary number 00000b) in all the redundant areas up to. Here, when the writing end page of the writing process is the last page of the block, 0 (binary 00000b) is set as the page number where writing is started in the next writing process.

この例では、終点情報に対応する情報として、次回の書込処理で書込みが開始されるページの番号を用い、処理完了情報に対応する情報についても、次回の書込処理で書込みが開始されるページの番号を用いている。
このようにした場合、書込開始ページの冗長領域に設定されているページ番号の1個前のページが書込終了ページに対応するので、書込開始ページの冗長領域に設定されているページ番号の、1個前のページの冗長領域に、書込開始ページと同一のページ番号が設定されていれば、書込開始ページから書込終了ページまでの書込処理が正常に行われたと判断できる。
In this example, the page number where writing is started in the next writing process is used as the information corresponding to the end point information, and the writing corresponding to the processing completion information is also started in the next writing process. The page number is used.
In this case, the page number immediately before the page number set in the redundant area of the write start page corresponds to the write end page, so the page number set in the redundant area of the write start page If the same page number as the writing start page is set in the redundant area of the previous page, it can be determined that the writing process from the writing start page to the writing end page has been performed normally. .

つまり、ステップ1で、ステップ1の書込開始ページであるページ0(P0)の冗長領域に、11(2進数の01011b)が設定されていた場合、ページ10(P10)がステップ1の書込終了ページに対応するので、ページ10(P10)の冗長領域に11(2進数の01011b)が設定されていれば、ステップ1の書込処理が正常に行われたと判断できる。ステップ2で、ステップ2の書込開始ページであるページ11(P11)の冗長領域に、24(2進数の11000b)が設定されていた場合、ページ23(P23)がステップ2の書込終了ページに対応するので、ページ23(P23)の冗長領域に24(2進数の11000b)が設定されていれば、ステップ2の書込処理が正常に行われたと判断できる。   That is, if 11 (binary 01011b) is set in the redundant area of page 0 (P0), which is the write start page of step 1, in step 1, page 10 (P10) is written in step 1 Since it corresponds to the end page, if 11 (binary 01011b) is set in the redundant area of page 10 (P10), it can be determined that the writing process of step 1 has been performed normally. In step 2, if 24 (binary number 11000b) is set in the redundant area of page 11 (P11) which is the write start page of step 2, page 23 (P23) is the write end page of step 2 Therefore, if 24 (binary 11000b) is set in the redundant area of page 23 (P23), it can be determined that the writing process of step 2 has been performed normally.

ステップ3で、ステップ3の書込開始ページであるページ24(P24)の冗長領域に、0(2進数の00000b)が設定されていた場合、ページ31(P31)がステップ3の書込終了ページに対応するので、ページ31(P31)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ3の書込処理が正常に行われたと判断てきる。   If 0 (binary 00000b) is set in the redundant area of page 24 (P24) which is the write start page of step 3 in step 3, page 31 (P31) is the write end page of step 3 Therefore, if 0 (binary number 00000b) is set in the redundant area of page 31 (P31), it is determined that the writing process in step 3 has been performed normally.

次に、書込処理が途中で中断した場合について、図4を参照して説明する。
図4は、書込処理中に処理が中断した場合の冗長領域の設定状態(その1)を示す図である。
ステップ2の書込処理では、ページ11〜23(P11〜P23)のユーザ領域にデータが書込まれるので、ページ11〜23の冗長領域に、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定される。ここで、ユーザ領域に対する書込処理と冗長領域に対する書込処理は同時進行するので、ユーザ領域に対する書込処理が途中で中断したときには、同様に冗長領域に対する書込処理も中断する。
Next, a case where the writing process is interrupted will be described with reference to FIG.
FIG. 4 is a diagram showing a redundant area setting state (part 1) when the process is interrupted during the writing process.
In the writing process of step 2, data is written in the user area of pages 11 to 23 (P11 to P23), so that the page of which writing is started in the next writing process in the redundant area of pages 11 to 23 is written. The number 24 (binary 11000b) is set. Here, since the writing process for the user area and the writing process for the redundant area proceed simultaneously, when the writing process for the user area is interrupted, the writing process for the redundant area is similarly interrupted.

図4に示した例では、ページ11〜19(P11〜P19)の冗長領域に、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定されているが、ページ20〜23(P20〜P23)の冗長領域には、24(2進数の11000b)が設定されていない。従って、ステップ2の書込処理は、ページ19(P19)に対する書込処理が終了した後に処理が中断したと判断することができる。つまり、書込終了ページ以外のページの冗長領域にも処理完了情報を設定すれば、書込処理が中断したときの処理の進行状況を検知することができる。   In the example shown in FIG. 4, 24 (binary number 11000b), which is the page number where writing is started in the next writing process, is set in the redundant areas of pages 11 to 19 (P11 to P19). However, 24 (binary 11000b) is not set in the redundant areas of pages 20 to 23 (P20 to P23). Therefore, it can be determined that the writing process in step 2 is interrupted after the writing process for page 19 (P19) is completed. That is, if the process completion information is set in the redundant areas of pages other than the write end page, the progress of the process when the write process is interrupted can be detected.

図3の例では、書込開始ページから書込終了ページまでの全て冗長領域に同じ値を設定していたが、書込開始ページと書込終了ページとの間に存在するページの冗長領域には、終点情報若しくは処理完了情報を設定しない構成にしてもよい(図5参照)。   In the example of FIG. 3, the same value is set for all the redundant areas from the writing start page to the writing end page, but the redundant area of the page existing between the writing start page and the writing end page is set. May be configured not to set end point information or processing completion information (see FIG. 5).

図5は、書込処理中に処理が中断した場合の冗長領域の設定状態(その2)を示す図である。
図5の例では、書込終了ページ以外のページの冗長領域には処理完了情報を設定していない(2進数の11111b)。このようにした場合、書込処理が中断したときの処理の進行状況を検知することはできないが、書込処理が正常に終了したか否かは判断することができる。
FIG. 5 is a diagram showing a redundant area setting state (part 2) when the process is interrupted during the writing process.
In the example of FIG. 5, the processing completion information is not set in the redundant areas of pages other than the write end page (binary number 11111b). In this case, the progress of the process when the writing process is interrupted cannot be detected, but it can be determined whether or not the writing process has ended normally.

つまり、ステップ2の書込処理の書込開始ページであるページ11(P11)の冗長領域には、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定されているが、書込終了ページであるページ23(P23)の冗長領域には、処理完了情報として24(2進数の11000b)が設定されていないので、ステップ2の書込処理は途中で中断したと判断することができる。   That is, in the redundant area of page 11 (P11) which is the write start page of the write process in step 2, 24 (binary number 11000b) which is the page number where writing is started in the next write process is performed. Although it is set, 24 (binary number 11000b) is not set as the processing completion information in the redundant area of page 23 (P23) which is the writing end page. It can be determined that it has been interrupted.

図3〜図5では、書込開始ページの冗長領域に設定される終点情報と書込終了ページの冗長領域に設定する処理完了情報とを同じにした場合を説明したが、終点情報と書込完了情報とを異ならせてもよい。その例を、図6〜図8を用いて説明する。   3 to 5, the end point information set in the redundant area of the write start page and the processing completion information set in the redundant area of the write end page have been described as being the same. The completion information may be different. Examples thereof will be described with reference to FIGS.

図6は、フラッシュメモリ内のページの冗長領域に設定される終点情報と処理完了情報の他の例を示す図である。
図6に示した例では、終点情報に対応する情報として、次回の書込処理で書込みが開始されるページの番号を用い、処理完了情報に対応する情報として、冗長領域に0(2進数の00000b)を設定し、書込開始ページを除いた書込終了ページまでの全てのページの冗長領域に書込んでいる。この場合、書込開始ページの冗長領域に設定されているページ番号の、1個前のページの冗長領域に、(2進数の00000b)が設定されていれば、書込開始ページから書込終了ページまでの書込処理が正常に行われたと判断できる。
FIG. 6 is a diagram showing another example of the end point information and the processing completion information set in the page redundancy area in the flash memory.
In the example shown in FIG. 6, the page number where writing is started in the next writing process is used as information corresponding to the end point information, and 0 (binary number) is stored in the redundant area as information corresponding to the processing completion information. 00000b) is set, and data is written in the redundant areas of all pages up to the write end page except the write start page. In this case, if (binary number 00000b) is set in the redundant area of the previous page of the page number set in the redundant area of the writing start page, writing ends from the writing start page. It can be determined that the writing process up to the page has been performed normally.

つまり、ステップ1で、ステップ1の書込開始ページであるページ0(P0)の冗長領域に、11(2進数の01011b)が設定されていた場合、ページ10(P10)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ1の書込処理が正常に行われたと判断できる。   That is, if 11 (binary 01011b) is set in the redundant area of page 0 (P0) which is the write start page of step 1 in step 1, 0 (in the redundant area of page 10 (P10)) If the binary number 00000b) is set, it can be determined that the writing process in step 1 has been performed normally.

ステップ2で、ステップ2の書込開始ページであるページ11(P11)の冗長領域に、24(2進数の11000b)が設定されていた場合、ページ23(P23)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ2の書込処理が正常に行われたと判断できる。   In step 2, if 24 (binary number 11000b) is set in the redundant area of page 11 (P11) which is the write start page in step 2, 0 (binary number) is set in the redundant area of page 23 (P23). 00000b) is set, it can be determined that the writing process in step 2 has been performed normally.

ステップ3で、ステップ3の書込開始ページであるページ24(P24)の冗長領域に、0(2進数の00000b)が設定されていた場合、ページ31(P31)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ3の書込処理が正常に行われたと判断できる。   In step 3, if 0 (binary number 00000b) is set in the redundant area of page 24 (P24) that is the write start page in step 3, 0 (binary number) is set in the redundant area of page 31 (P31). 00000b) is set, it can be determined that the writing process in step 3 has been performed normally.

図7は、書込処理中に処理が中断した場合の冗長領域の設定状態(その3)を示す図である。
図7のステップ2の書込処理でページ11〜23(P11〜P23)のユーザ領域にデータを書込む予定であったが、ページ20の書込みが完了した段階で処理が中断された場合、ページ12〜20(P12〜P20)の冗長領域には、0(2進数の00000b)が設定されているが、ページ21〜23(P21〜P23)の冗長領域には、0(2進数の00000b)が設定されていない。従って、ステップ2の書込処理は、ページ20(P20)に対する書込処理が終了した後に処理が中断したと判断することができる。つまり、書込終了ページ以外のページの冗長領域にも処理完了情報を設定すれば、書込処理が中断したときの処理の進行状況を検知することができる。
FIG. 7 is a diagram showing a redundant area setting state (part 3) when the process is interrupted during the writing process.
If the write processing in step 2 in FIG. 7 was to write data to the user area of pages 11 to 23 (P11 to P23), but the processing is interrupted when the writing of page 20 is completed, the page 0 (binary number 00000b) is set in the redundant area of 12 to 20 (P12 to P20), but 0 (binary number 00000b) is set in the redundant area of pages 21 to 23 (P21 to P23). Is not set. Therefore, it can be determined that the writing process in step 2 is interrupted after the writing process for page 20 (P20) is completed. That is, if the process completion information is set in the redundant areas of pages other than the write end page, the progress of the process when the write process is interrupted can be detected.

図6の例では、書込開始ページを除く書込終了ページまでの全ての冗長領域に同じ値を設定していたが、書込開始ページと書込終了ページとの間に存在するページの冗長領域には、終点情報若しくは処理完了情報を設定しない構成にしてもよい(図8参照)。   In the example of FIG. 6, the same value is set for all the redundant areas up to the write end page except the write start page. However, the redundancy of the page existing between the write start page and the write end page is set. The area may be configured not to set end point information or processing completion information (see FIG. 8).

図8は、書込処理中に処理が中断した場合の冗長領域の設定状態(その4)を示す図である。
図8のように、書込終了ページ以外のページの冗長領域には処理完了情報を設定していない。このようにした場合、書込処理が中断したときの処理の進行状況を検知することはできないが、書込処理が正常に終了したか否かは判断することができる。
FIG. 8 is a diagram showing a redundant area setting state (part 4) when the process is interrupted during the writing process.
As shown in FIG. 8, processing completion information is not set in the redundant areas of pages other than the write end page. In this case, the progress of the process when the writing process is interrupted cannot be detected, but it can be determined whether or not the writing process has ended normally.

つまり、ステップ2の書込処理の書込開始ページであるページ11(P11)の冗長領域には、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定されているが、書込終了ページであるページ23(P23)の冗長領域には、処理完了情報として0(2進数の00000b)が設定されていないので、ステップ2の書込処理は途中で中断したと判断することができる。   That is, in the redundant area of page 11 (P11) which is the write start page of the write process in step 2, 24 (binary number 11000b) which is the page number where writing is started in the next write process is performed. Although it is set, 0 (binary number 00000b) is not set as the processing completion information in the redundant area of page 23 (P23) which is the writing end page. It can be determined that it has been interrupted.

尚、以上の説明では、終点情報として次回の書込処理で書込みが開始されるページの番号を用いたが、終点情報は直接的若しくは間接的に書込終了ページを示している情報であれば、他の情報であってもよい。例えば、終点情報として書込終了ページの番号等を用いてもよい。処理完了情報についても、上述の例に限定されず、書込終了ページの番号等を用いてもよい。   In the above description, the page number at which writing is started in the next writing process is used as the end point information. However, the end point information is information indicating the write end page directly or indirectly. Other information may be used. For example, the write end page number or the like may be used as the end point information. The processing completion information is not limited to the above example, and the number of the write end page may be used.

本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。1 is a block diagram schematically showing a flash memory system according to the present invention. ブロック及びページの関係を説明する説明図である。It is explanatory drawing explaining the relationship between a block and a page. フラッシュメモリ内のページの冗長領域に設定される終点情報と処理完了情報の一例を示す図である。It is a figure which shows an example of the end point information set to the redundant area | region of the page in flash memory, and process completion information. 書込処理中に処理が中断した場合の冗長領域の設定状態(その1)を示す図である。It is a figure which shows the setting state (the 1) of a redundant area when a process is interrupted during a writing process. 書込処理中に処理が中断した場合の冗長領域の設定状態(その2)を示す図である。It is a figure which shows the setting state (the 2) of a redundant area when a process is interrupted during a writing process. フラッシュメモリ内のページの冗長領域に設定される終点情報と処理完了情報の他の例を示す図である。It is a figure which shows the other example of the end point information set in the redundant area | region of the page in flash memory, and process completion information. 書込処理中に処理が中断した場合の冗長領域の設定状態(その3)を示す図である。It is a figure which shows the setting state (the 3) of a redundant area when a process is interrupted during a write process. 書込処理中に処理が中断した場合の冗長領域の設定状態(その4)を示す図である。It is a figure which shows the setting state (the 4) of a redundant area when a process is interrupted during a write process.

符号の説明Explanation of symbols

1 フラッシュメモリシステム
2 フラッシュメモリ
3 メモリコントローラ
4 ホストシステム
1 Flash memory system 2 Flash memory 3 Memory controller 4 Host system

Claims (7)

ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込機能と、
前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定機能と、
前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定機能と、
を備えることを特徴とするメモリコントローラ。
Based on a request from the host system side, a continuous writing function for writing data to a plurality of continuous pages belonging to the same block in the flash memory,
An end point information setting function for setting end point information indicating a write end page in a redundant area of the write start page of the plurality of pages;
A process completion information setting function for setting process completion information indicating that the writing process for the write end page is completed in the redundant area of the write end page of the plurality of pages;
A memory controller comprising:
前記処理完了情報として、前記終点情報と同一の情報を用いることを特徴とする請求項1に記載のメモリコントローラ。   The memory controller according to claim 1, wherein the same information as the end point information is used as the processing completion information. 前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定することを特徴とする請求項1又は2に記載のメモリコントローラ。   3. The memory controller according to claim 1, wherein the end point information is set in a redundant area of all pages from the write start page to the write end page of the plurality of pages. 請求項1乃至3のいずれか1項に記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。   A flash memory system comprising the memory controller according to any one of claims 1 to 3 and a flash memory. ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込処理と、
前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定処理と、
前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定処理と、
を含むことを特徴とするフラッシュメモリの制御方法。
Based on a request from the host system side, a continuous writing process for writing data to a plurality of continuous pages belonging to the same block in the flash memory;
End point information setting processing for setting end point information indicating a write end page in the redundant area of the write start page of the plurality of pages;
A process completion information setting process for setting process completion information indicating that the write process for the write end page is completed in the redundant area of the write end page of the plurality of pages;
A method for controlling a flash memory, comprising:
前記処理完了情報として、前記終点情報と同一の情報を用いることを特徴とする請求項5に記載のフラッシュメモリの制御方法。   6. The flash memory control method according to claim 5, wherein the same information as the end point information is used as the processing completion information. 前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定することを特徴とする請求項5又は6に記載のフラッシュメモリの制御方法。
7. The flash memory control method according to claim 5, wherein the end point information is set in a redundant area of all pages from the write start page to the write end page of the plurality of pages.
JP2004103308A 2004-03-31 2004-03-31 Memory controller, flash memory system, and flash memory control method Expired - Fee Related JP4194518B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004103308A JP4194518B2 (en) 2004-03-31 2004-03-31 Memory controller, flash memory system, and flash memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004103308A JP4194518B2 (en) 2004-03-31 2004-03-31 Memory controller, flash memory system, and flash memory control method

Publications (2)

Publication Number Publication Date
JP2005292926A true JP2005292926A (en) 2005-10-20
JP4194518B2 JP4194518B2 (en) 2008-12-10

Family

ID=35325828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004103308A Expired - Fee Related JP4194518B2 (en) 2004-03-31 2004-03-31 Memory controller, flash memory system, and flash memory control method

Country Status (1)

Country Link
JP (1) JP4194518B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257283A (en) * 2006-03-23 2007-10-04 Tdk Corp Memory controller and flash memory system
JP2008276371A (en) * 2007-04-26 2008-11-13 Tdk Corp MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
WO2014024350A1 (en) * 2012-08-07 2014-02-13 パナソニック株式会社 Recording device, access device, recording system, and recording method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257283A (en) * 2006-03-23 2007-10-04 Tdk Corp Memory controller and flash memory system
JP2008276371A (en) * 2007-04-26 2008-11-13 Tdk Corp MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
WO2014024350A1 (en) * 2012-08-07 2014-02-13 パナソニック株式会社 Recording device, access device, recording system, and recording method
JPWO2014024350A1 (en) * 2012-08-07 2016-07-25 パナソニックIpマネジメント株式会社 Recording apparatus, access apparatus, recording system, and recording method
US9778857B2 (en) 2012-08-07 2017-10-03 Panasonic intellectual property Management co., Ltd Recording device, access device, recording system, and recording method

Also Published As

Publication number Publication date
JP4194518B2 (en) 2008-12-10

Similar Documents

Publication Publication Date Title
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
JP2006018373A (en) Memory controller, flash memory system and control method for flash memory
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
JP4697146B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4177360B2 (en) Memory controller, flash memory system, and flash memory control method
JP4194518B2 (en) Memory controller, flash memory system, and flash memory control method
JP2006155335A (en) Memory controller, flash memory system, and control method thereof
JP4661369B2 (en) Memory controller
JP2010128697A (en) Memory system
JP4177292B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD
JP4544167B2 (en) Memory controller and flash memory system
JP2005292925A (en) Memory controller, flash memory system, and control method for flash memory
JP4661497B2 (en) Memory controller, flash memory system, and flash memory control method
JP2006221334A (en) Memory controller, flash memory system, and control method for flash memory
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP4000124B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4332108B2 (en) Memory controller, flash memory system, and flash memory control method
JP4609406B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2006178909A (en) Memory controller, flash memory system and method for controlling flash memory
JP4304167B2 (en) Memory controller, flash memory system, and flash memory control method
JP4366283B2 (en) Memory controller and flash memory system including the memory controller
JP2005293177A (en) Memory controller and flash memory system
JP4273038B2 (en) Memory controller, flash memory system, and flash memory data transfer method
JP4254930B2 (en) Memory controller, flash memory system, and flash memory control method
JP4245594B2 (en) Memory controller and flash memory system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080910

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: 20080916

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: 20080922

R150 Certificate of patent or registration of utility model

Ref document number: 4194518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees