JP2005293177A - Memory controller and flash memory system - Google Patents

Memory controller and flash memory system Download PDF

Info

Publication number
JP2005293177A
JP2005293177A JP2004106559A JP2004106559A JP2005293177A JP 2005293177 A JP2005293177 A JP 2005293177A JP 2004106559 A JP2004106559 A JP 2004106559A JP 2004106559 A JP2004106559 A JP 2004106559A JP 2005293177 A JP2005293177 A JP 2005293177A
Authority
JP
Japan
Prior art keywords
flash memory
register
data
information
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004106559A
Other languages
Japanese (ja)
Inventor
Takeshi Koyaizu
剛 小柳津
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 JP2004106559A priority Critical patent/JP2005293177A/en
Publication of JP2005293177A publication Critical patent/JP2005293177A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To configure a master flash memory system and a slave flash memory system by using one memory controller. <P>SOLUTION: A master flash memory 33 and a slave flash memory 34 are connected to the memory controller 32 via an internal bus 36. The memory controller 32 accesses either the master flash memory 33 or the slave flash memory 34 according to information provided by a host system 31 connected thereto via an external bus 36. The memory controller 32 determines the chip of the flash memory to be accessed according to information supplied from the host system 31 that designates a destination for writing it. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、メモリコントローラ及びフラッシュメモリシステムに関する。   The present invention relates to a memory controller and a flash memory system.

近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種である。フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。   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 nonvolatile memory. Data stored in the flash memory is required to be retained even when power is not supplied.

NAND型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“1”を示すデータが格納されている消去状態から、論理値“0”を示すデータが格納されている書込状態へと変化することができる。これとは対照的に、書込状態から消去状態へと変化するときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルが、全て同時に消去状態になる。この一括消去動作は、一般的に、“ブロック消去”と称されている。NAND型フラッシュメモリに対する書込処理若しくは読出処理は、ページと称される予め定められた数のメモリセル単位で処理が行なわれる。消去処理の単位であるブロックは複数のページで構成されている。   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. 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型フラッシュメモリを用いたメモリシステムに置換えることができる。このため、NAND型フラッシュメモリを用いたメモリシステムは、従来の磁気ディスク装置を置換える用途に使用されることが多くなっている。   If a page in the NAND flash memory corresponds to a sector in the magnetic disk device, the magnetic disk device can be replaced with a memory system using the NAND flash memory relatively easily. For this reason, a memory system using a NAND flash memory is often used to replace a conventional magnetic disk device.

例えば、特許文献1(特開2002−259130)に示されているマスタディスクとスレーブディスクで構成されたディスク装置は、図6に示した構成のメモリシステムに置換えられる。図6に示したメモリシステムでは、メモリコントローラ52とフラッシュメモリ53でマスタ側のメモリシステムが構成され、メモリコントローラ54とフラッシュメモリ55でスレーブ側のメモリシステムが構成されている。従って、ホストシステム51が、メモリコントローラ52にアクセスすれば、マスタ側のフラッシュメモリ53に記憶されているデータにアクセスすることができ、メモリコントローラ54にアクセスすれば、スレーブ側のフラッシュメモリ55に記憶されているデータにアクセスすることができる。
特開2002−259130号公報
For example, a disk device composed of a master disk and a slave disk disclosed in Patent Document 1 (Japanese Patent Laid-Open No. 2002-259130) is replaced with a memory system having the structure shown in FIG. In the memory system shown in FIG. 6, the memory controller 52 and the flash memory 53 constitute a master side memory system, and the memory controller 54 and the flash memory 55 constitute a slave side memory system. Therefore, if the host system 51 accesses the memory controller 52, the data stored in the flash memory 53 on the master side can be accessed. If the host system 51 accesses the memory controller 54, the data is stored in the flash memory 55 on the slave side. Data can be accessed.
JP 2002-259130 A

図6に示した従来のフラッシュメモリシステムは、マスタ側とスレーブ側が独立したフラッシュメモリシステムを構成しているので、マスタ側とスレーブ側のフラッシュメモリシステムを構成する際に、2つのメモリコントローラが必要になる。ホストシステム側は、マスタ側のフラッシュメモリシステムにアクセスする場合と、スレーブ側のフラッシュメモリシステムにアクセスする場合とで、異なるメモリコントローラにアクセスしなければならない。   Since the conventional flash memory system shown in FIG. 6 constitutes a flash memory system in which the master side and the slave side are independent, two memory controllers are required when configuring the master side and slave side flash memory systems. become. The host system side must access different memory controllers when accessing the flash memory system on the master side and when accessing the flash memory system on the slave side.

そこで、本発明は、1つのメモリコントローラでマスタ側のフラッシュメモリシステムとスレーブ側のフラッシュメモリシステムを構成することができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステムを提供することを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a memory controller capable of configuring a master flash memory system and a slave flash memory system with a single memory controller, and a flash memory system including the memory controller.

本発明に係る目的は、ホストシステム側から供給されるアクセス先に関する情報が設定される情報保持機能と、複数のフラッシュメモリチップに対するアクセスを制御するアクセス制御機能とを備え、前記情報保持機能の一部が、アクセス先のフラッシュメモリチップを指定する情報の設定領域に割当てられていることを特徴とするメモリコントローラによって達成される。   An object of the present invention includes an information holding function for setting information about an access destination supplied from the host system side, and an access control function for controlling access to a plurality of flash memory chips. Is allocated to a setting area for information specifying the flash memory chip to be accessed.

また、本発明によれば、前記情報保持機能が、シリンダレジスタ、デバイス・ヘッドレジスタ、セクタレジスタで構成されていることが好ましい。   According to the present invention, it is preferable that the information holding function includes a cylinder register, a device head register, and a sector register.

また、本発明によれば、アクセス先のフラッシュメモリチップを指定する情報が、前記デバイス・ヘッドレジスタのデバイスに関するパラメータの設定領域に設定されることが好ましい。   According to the present invention, it is preferable that the information specifying the flash memory chip to be accessed is set in the parameter setting area for the device of the device / head register.

また、本発明によれば、前記情報保持機能が、論理ブロックアドレスレジスタであることが好ましい。   According to the present invention, it is preferable that the information holding function is a logical block address register.

また、本発明に係る目的は、前記メモリコントローラと、複数のフラッシュメモリチップを備えることを特徴とするフラッシュメモリシステムによっても達成される。   The object according to the present invention is also achieved by a flash memory system comprising the memory controller and a plurality of flash memory chips.

また、本発明に係る目的は、ホストシステム側から供給されるアクセス先に関する情報が設定される情報保持機能と、複数のフラッシュメモリチップに対するアクセスを制御するアクセス制御機能と、マスタデータが記憶される第1のフラッシュメモリチップと、スレーブデータが記憶される第2のフラッシュメモリチップを備え、前記情報保持機能の一部が、第1のフラッシュメモリチップ若しくは第2のフラッシュメモリチップを指定する情報の設定領域に割当てられていることを特徴とするフラッシュメモリシステムによっても達成される。   An object of the present invention is to store an information holding function for setting information about an access destination supplied from the host system side, an access control function for controlling access to a plurality of flash memory chips, and master data. A first flash memory chip and a second flash memory chip in which slave data is stored, and a part of the information holding function stores information specifying the first flash memory chip or the second flash memory chip; This is also achieved by a flash memory system characterized in that it is allocated to a setting area.

また、本発明によれば、前記情報保持機能が、シリンダレジスタ、デバイス・ヘッドレジスタ、セクタレジスタで構成されていることが好ましい。   According to the present invention, it is preferable that the information holding function includes a cylinder register, a device head register, and a sector register.

また、本発明によれば、第1のフラッシュメモリチップ若しくは第2のフラッシュメモリチップを指定する情報が、前記デバイス・ヘッドレジスタのデバイスに関するパラメータの設定領域に設定されることが好ましい。   Further, according to the present invention, it is preferable that information specifying the first flash memory chip or the second flash memory chip is set in a parameter setting area for the device of the device / head register.

また、本発明によれば、前記情報保持機能が、論理ブロックアドレスレジスタであることが好ましい。   According to the present invention, it is preferable that the information holding function is a logical block address register.

本発明によれば、1つのメモリコントローラでマスタ側のフラッシュメモリシステムとスレーブ側のフラッシュメモリシステムを構成することができる。ホストシステム側は、同一のメモリコントローラに対するアクセスで、マスタ側のフラッシュメモリに記憶されているデータと、スレーブ側のフラッシュメモリシステムに記憶されているデータに、アクセスすることができる。   According to the present invention, a flash memory system on the master side and a flash memory system on the slave side can be configured with a single memory controller. The host system side can access the data stored in the flash memory system on the master side and the data stored in the flash memory system on the slave side by accessing the same memory controller.

以下、図面に基づき、本発明の実施の形態について詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[フラッシュメモリシステム1の説明]
図1は、フラッシュメモリシステム1を概略的に示すブロック図である。図1に示したようにフラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するメモリコントローラ3で構成されている。又、フラッシュメモリシステム1は、通常ホストシステム4に着脱可能に装着されて使用され、ホストシステム4に対して一種の外部記憶装置として用いられる。
[Description of flash memory system 1]
FIG. 1 is a block diagram schematically showing the flash memory system 1. As shown in FIG. 1, the flash memory system 1 includes a flash memory 2 and a memory 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 is 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 memory 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, and an ECC (error collection code) block 11. And a flash memory sequencer block 12. The memory controller 3 constituted by these functional blocks is integrated on one semiconductor chip. The function of each block will be described below.

マイクロプロセッサ6は、メモリコントローラ3を構成する各機能ブロック全体の動作を制御する機能ブロックである。   The microprocessor 6 is a functional block that controls the operation of the entire functional blocks constituting the memory controller 3.

ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づきホストインターフェースブロック7は動作する。   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 or the like is taken into the memory controller 3 using the host interface block 7 as an entrance, and the data or the like supplied from the flash memory system 1 to the host system 4 is sent to the host system 4 using the host interface block 7 as an exit. Supplied.

さらに、ホストインターフェースブロック7は、ホストシステム4より供給されるホストアドレス及び外部コマンドを一時的に保持するタスクファイルレジスタ(図示せず)及びエラーが発生した場合にセットされるエラーレジスタ(図示せず)等を有している。本発明に係るフラッシュメモリシステム1では、ホストアドレスに関する情報が設定されるレジスタの情報に基づいて、アクセス対象のフラッシュメモリチップが決定される。   The host interface block 7 further includes a task file register (not shown) that temporarily holds a host address and an external command supplied from the host system 4 and an error register (not shown) that is set when an error occurs. ) Etc. In the flash memory system 1 according to the present invention, a flash memory chip to be accessed is determined based on register information in which information related to a host address is set.

ワークエリア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 memory 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.

[フラッシュメモリの説明]
フラッシュメモリシステムで、データが記憶されるNAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
[Description of flash memory]
A NAND flash memory in which data is stored in a flash memory system is a non-volatile memory developed for use as a storage device (as an alternative to a hard disk). This 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.

NAND型フラッシュメモリは、このような特徴を有するため、通常、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替後のデータ)を書込み、古いデータ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なっている。このようなデータの書替を行なった場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム側から与えられるアドレスに基づく論理ブロックアドレスと、フラッシュメモリ内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理されており、アドレス変換テーブルは、後述する対応論理ブロックアドレスに基づいて作成される。   Since the NAND flash memory 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 is written. A process of erasing a block in which (data before rewriting) has been written is performed. When such data is rewritten, the data after rewriting is written in a block different from that before rewriting, so the logical block address based on the address given from the host system side and the block in the flash memory The correspondence with the physical block address, which is an 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(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザ領域と16バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザ領域と64バイトの冗長領域で構成されているものも提供されている。   The configuration of the block and page differs depending on the specification of the flash memory. However, in a general flash memory, as shown in FIG. 2A, one block is composed of 32 pages (P0 to P31). A page is composed of a user area of 512 bytes and a redundant area of 16 bytes. 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.

ここで、ユーザ領域は、主に、ホストシステムから供給されるデ―タが記憶される領域であり、冗長領域は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加データが記憶される領域である。エラ―コレクションコードは、ユーザ領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、外部のECCブロックによって生成される。対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することもできる。つまり、対応論理ブロックアドレスが格納されていない場合は、消去済ブロックであると判断される。ブロックステータスは、そのブロックが不良ブロック(正常にデータの書込み等を行なうことができないブロック)であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。   Here, the user area is mainly an area for storing data supplied from the host system, and the redundant area is for storing additional data such as an error correction code, a corresponding logical block address and a block status. It is an area. The error correction code is additional data for detecting and correcting an error included in 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.

次に、NAND型フラッシュメモリの回路構成について説明する。一般的なNAND型フラッシュメモリは、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によってメモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。   Next, a circuit configuration of the NAND flash memory will be described. A general NAND flash memory includes a register for holding write data or read data and a memory cell array for storing data. 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トランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書込み若しくはデータの消去を行なっている。このフローティングゲートは周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。尚、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。ここで、フローティングゲートに電子が注入されている状態(書込状態)が、論理値の「0」のデータに対応し、フローティングゲートから電子が排出されている状態(消去状態)が、論理値の「1」のデータに対応する。   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. 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”.

[フラッシュメモリに対するアクセスの説明]
図3で、バッファ21と付加データ用レジスタ22は、メモリコントローラ20内に構成されており、バッファ21にはホストシステムから供給されるデータ、又はフラッシュメモリ23から読み出されたデータが保持され、付加データ用レジスタ22にはエラーコレクションコード等の付加データが設定される。一方、レジスタ24とメモリセルアレイ25は、フラッシュメモリ23内に構成されており、レジスタ24はメモリコントローラ20から供給されるデータ又はメモリセルアレイ25から出力されたデータを保持する。メモリセルアレイ25はメモリコントローラ20から供給されるデータを記憶する。
[Description of access to flash memory]
In FIG. 3, the buffer 21 and the additional data register 22 are configured in the memory controller 20, and the buffer 21 holds data supplied from the host system or data read from the flash memory 23. Additional data such as an error correction code is set in the additional data register 22. On the other hand, the register 24 and the memory cell array 25 are configured in the flash memory 23, and the register 24 holds data supplied from the memory controller 20 or data output from the memory cell array 25. The memory cell array 25 stores data supplied from the memory controller 20.

ホストシステムから供給されるデータをフラッシュメモリ23に書込むときは、ホストシステムから供給されるデータがバッファ21に保持され、バッファ21に保持されたデータに対して作成されたエラーコレクションコードやその他の付加データが、付加データ用レジスタ22に設定される。バッファ21に保持されたユーザデータと付加データ用レジスタ22に設定された付加データは、フラッシュメモリ23に転送され、フラッシュメモリ23内のレジスタ24に保持される。レジスタ24に保持されたユーザデータと付加データは、メモリコントローラ20から指定されたページに複写(記憶)される。   When the data supplied from the host system is written to the flash memory 23, the data supplied from the host system is held in the buffer 21, and an error correction code generated for the data held in the buffer 21 and other data Additional data is set in the additional data register 22. The user data held in the buffer 21 and the additional data set in the additional data register 22 are transferred to the flash memory 23 and held in the register 24 in the flash memory 23. The user data and additional data held in the register 24 are copied (stored) on a page designated by the memory controller 20.

フラッシュメモリ23に記憶されているデータを読み出す場合は、メモリコントローラ20から指定されたページに記憶されているデータが、メモリセルアレイ25から出力されレジスタ24に保持される。レジスタ24に保持されたデータは、メモリコントローラ20に転送され、バッファ21と付加データ用レジスタ22に保持される。その後、バッファ21に保持されたデータは、ホストシステムに転送される。   When data stored in the flash memory 23 is read, the data stored in the page specified by the memory controller 20 is output from the memory cell array 25 and held in the register 24. The data held in the register 24 is transferred to the memory controller 20 and held in the buffer 21 and the additional data register 22. Thereafter, the data held in the buffer 21 is transferred to the host system.

本発明に係るフラッシュメモリシステムでは、図4に示したようにメモリコントローラ32にマスタ側のフラッシュメモリ33とスレーブ側のフラッシュメモリ34が内部バス36を介して接続されている。メモリコントローラ32は、外部バス35を介して接続されているホストシステム31から供給される情報に従って、マスタ側のフラッシュメモリ33又はスレーブ側のフラッシュメモリ34にアクセスする。   In the flash memory system according to the present invention, a master flash memory 33 and a slave flash memory 34 are connected to a memory controller 32 via an internal bus 36 as shown in FIG. The memory controller 32 accesses the master-side flash memory 33 or the slave-side flash memory 34 in accordance with information supplied from the host system 31 connected via the external bus 35.

本発明に係るフラッシュメモリシステムでは、ホストシステム31から供給される書込先を指示する情報に基づいてアクセスするフラッシュメモリのチップが決定される。つまり、メモリコントローラ32は、ホストシステム31から供給される書込先を指示する情報に基づいて、基づいてアクセスするフラッシュメモリのチップを決定している。   In the flash memory system according to the present invention, a flash memory chip to be accessed is determined based on information indicating the write destination supplied from the host system 31. That is, the memory controller 32 determines the flash memory chip to be accessed based on the information indicating the write destination supplied from the host system 31.

上記、書込先を指示する情報は、通常、CHS(Cylinder Head Sector)方式又はLBA(Logical Block Addressing)方式で供給される。図5は、書込先を指示する情報が設定されるレジスタを示している。CHS(Cylinder Head Sector)方式では、シリンダレジスタ41、デバイス・ヘッドレジスタ42及びセクタレジスタ43に書込先を指示する情報が設定される。LBA(Logical Block Addressing)方式では、LBAレジスタ44に書込先を指示する情報が設定される。   The information for instructing the write destination is usually supplied by a CHS (Cylinder Head Sector) method or an LBA (Logical Block Addressing) method. FIG. 5 shows a register in which information indicating the write destination is set. In the CHS (Cylinder Head Sector) method, information indicating the write destination is set in the cylinder register 41, the device head register 42, and the sector register 43. In the LBA (Logical Block Addressing) method, information indicating the write destination is set in the LBA register 44.

CHS(Cylinder Head Sector)方式の場合、例えば、シリンダレジスタ41が16ビット、デバイス・ヘッドレジスタ42が8ビット、セクタレジスタ43が8ビットで構成されている。デバイス・ヘッドレジスタ42は、デバイスのパラメータ用に4ビット、ヘッドのパラメータ用に4ビットが割当てられている。ここで、デバイス・ヘッドレジスタ42のデバイスのパラメータ用に割当てられているビットの1つを、マスタ側のフラッシュメモリ33又はスレーブ側のフラッシュメモリ34を選択するためビットとし、そのビットの論理値(“0”と“1”)を、マスタ側のフラッシュメモリ33又はスレーブ側のフラッシュメモリ34の選択指示に割当てる。論理値“0”をマスタ側のフラッシュメモリ33の選択指示に、論理値“1”をスレーブ側のフラッシュメモリ34の選択指示とした場合、メモリコントローラ32は、論理値“0”が設定されていれば、マスタ側のフラッシュメモリ33にアクセスし、論理値“1”が設定されていれば、スレーブ側のフラッシュメモリ34にアクセスする。従って、ホストシステム31は、選択指示用のビットの論理値を適宜設定することにより、マスタ側のフラッシュメモリ33とスレーブ側のフラッシュメモリ34にアクセスすることができる。   In the case of the CHS (Cylinder Head Sector) system, for example, the cylinder register 41 is composed of 16 bits, the device head register 42 is composed of 8 bits, and the sector register 43 is composed of 8 bits. The device head register 42 is assigned 4 bits for device parameters and 4 bits for head parameters. Here, one of the bits allocated for the device parameter of the device head register 42 is a bit for selecting the flash memory 33 on the master side or the flash memory 34 on the slave side, and the logical value ( “0” and “1”) are assigned to selection instructions for the flash memory 33 on the master side or the flash memory 34 on the slave side. When the logical value “0” is used to select the flash memory 33 on the master side and the logical value “1” is used to select the flash memory 34 on the slave side, the memory controller 32 is set to the logical value “0”. Then, the flash memory 33 on the master side is accessed, and if the logical value “1” is set, the flash memory 34 on the slave side is accessed. Accordingly, the host system 31 can access the flash memory 33 on the master side and the flash memory 34 on the slave side by appropriately setting the logical values of the selection instruction bits.

LBA(Logical Block Addressing)方式で使用されるLBAレジスタ44は、28ビット又は48ビットで構成されている。この方式の場合も同様に、LBAレジスタ44の1つのビットを、マスタ側のフラッシュメモリ33又はスレーブ側のフラッシュメモリ34を選択するための情報とすれば、マスタ側のフラッシュメモリ33又はスレーブ側のフラッシュメモリ34の選択指示を行うことができる。   The LBA register 44 used in the LBA (Logical Block Addressing) method is composed of 28 bits or 48 bits. Similarly, in the case of this method, if one bit of the LBA register 44 is information for selecting the flash memory 33 on the master side or the flash memory 34 on the slave side, the flash memory 33 on the master side or the slave side An instruction to select the flash memory 34 can be issued.

尚、上記選択指示を設定するレジスタは、ホストシステム側からアクセス可能なレジスタであれば、特に限定されることはない。選択指示に割当てられるビットのビット数や、そのビットに設定される論理値と選択指示の内容との対応関係も、特に限定されることはない。   The register for setting the selection instruction is not particularly limited as long as it is a register accessible from the host system side. The number of bits allocated to the selection instruction and the correspondence between the logical value set for the bit and the content of the selection instruction are not particularly limited.

マスタデータとスレーブデータを備えたシステムでは、上記マスタ側のフラッシュメモリ33に、マスタデータが記憶され、スレーブ側のフラッシュメモリ34にスレーブデータが保存される。このマスタデータが、システムの起動プログラムであった場合、通常はマスタ側のフラッシュメモリ33に記憶されているマスタデータを使用してシステムが起動し、マスタデータから起動できない場合は、スレーブ側のフラッシュメモリ34に保存されているスレーブデータを使用して起動する。但し、マスタ側のフラッシュメモリに記憶されるデータ、スレーブ側のフラッシュメモリ34に記憶されるデータは、特に限定されない。   In a system including master data and slave data, the master data is stored in the flash memory 33 on the master side, and the slave data is stored in the flash memory 34 on the slave side. If this master data is a system startup program, the system is normally started up using the master data stored in the flash memory 33 on the master side. It starts using the slave data stored in the memory 34. However, the data stored in the flash memory on the master side and the data stored in the flash memory 34 on the slave side are not particularly limited.

図1は、本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。FIG. 1 is a block diagram schematically showing a flash memory system according to the present invention. 図2は、フラッシュメモリにおけるブロックとページの構成を示す概略図である。FIG. 2 is a schematic diagram showing the configuration of blocks and pages in the flash memory. 図3は、フラッシュメモリに対するアクセスを説明するための概略図である。FIG. 3 is a schematic diagram for explaining access to the flash memory. 図4は、メモリコントローラにマスタ側のフラッシュメモリとスレーブ側のフラッシュメモリが接続された構成を概略的に示すブロック図である。FIG. 4 is a block diagram schematically showing a configuration in which a master-side flash memory and a slave-side flash memory are connected to a memory controller. 図5は、書込先を指示する情報が設定されるレジスタを概略的に示すブロック図である。FIG. 5 is a block diagram schematically showing a register in which information indicating the write destination is set. 図6は、従来のメモリシステムを概略的に示すブロック図である。FIG. 6 is a block diagram schematically showing a conventional memory system.

符号の説明Explanation of symbols

1 フラッシュメモリシステム
2、33、34、53、55 フラッシュメモリ
3、32、52、54 メモリコントローラ
4、31、51 ホストシステム
5 ホストインターフェース制御ブロック
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 フラッシュメモリシーケンサブロック
13 外部バス
14 内部バス
1 Flash memory system 2, 33, 34, 53, 55 Flash memory 3, 32, 52, 54 Memory controller 4, 31, 51 Host system 5 Host interface control block 6 Microprocessor 7 Host interface block 8 Work area 9 Buffer 10 Flash Memory interface block 11 ECC block 12 Flash memory sequencer block 13 External bus 14 Internal bus

Claims (9)

ホストシステム側から供給されるアクセス先に関する情報が設定される情報保持機能と、
複数のフラッシュメモリチップに対するアクセスを制御するアクセス制御機能とを備え、
前記情報保持機能の一部が、アクセス先のフラッシュメモリチップを指定する情報の設定領域に割当てられていることを特徴とするメモリコントローラ。
An information holding function in which information about the access destination supplied from the host system side is set;
An access control function for controlling access to a plurality of flash memory chips,
A memory controller, wherein a part of the information holding function is assigned to an information setting area for designating a flash memory chip to be accessed.
前記情報保持機能が、シリンダレジスタ、デバイス・ヘッドレジスタ、セクタレジスタで構成されていることを特徴とする請求項1に記載のメモリコントローラ。   2. The memory controller according to claim 1, wherein the information holding function includes a cylinder register, a device head register, and a sector register. アクセス先のフラッシュメモリチップを指定する情報が、前記デバイス・ヘッドレジスタのデバイスに関するパラメータの設定領域に設定されることを特徴とする請求項2に記載のメモリコントローラ。   3. The memory controller according to claim 2, wherein information for designating an access destination flash memory chip is set in a parameter setting area for a device of the device / head register. 前記情報保持機能が、論理ブロックアドレスレジスタであることを特徴とする請求項1記載のメモリコントローラ。   2. The memory controller according to claim 1, wherein the information holding function is a logical block address register. 請求項1乃至4のいずれか1項に記載のメモリコントローラと、複数のフラッシュメモリチップを備えることを特徴とするフラッシュメモリシステム。   A flash memory system comprising: the memory controller according to claim 1; and a plurality of flash memory chips. ホストシステム側から供給されるアクセス先に関する情報が設定される情報保持機能と、
複数のフラッシュメモリチップに対するアクセスを制御するアクセス制御機能と、
マスタデータが記憶される第1のフラッシュメモリチップと、
スレーブデータが記憶される第2のフラッシュメモリチップを備え、
前記情報保持機能の一部が、第1のフラッシュメモリチップ若しくは第2のフラッシュメモリチップを指定する情報の設定領域に割当てられていることを特徴とするフラッシュメモリシステム。
An information holding function in which information about the access destination supplied from the host system side is set;
An access control function for controlling access to a plurality of flash memory chips;
A first flash memory chip in which master data is stored;
A second flash memory chip for storing slave data;
A flash memory system, wherein a part of the information holding function is assigned to an information setting area for designating a first flash memory chip or a second flash memory chip.
前記情報保持機能が、シリンダレジスタ、デバイス・ヘッドレジスタ、セクタレジスタで構成されていることを特徴とする請求項6に記載のフラッシュメモリシステム。   7. The flash memory system according to claim 6, wherein the information holding function includes a cylinder register, a device head register, and a sector register. 第1のフラッシュメモリチップ若しくは第2のフラッシュメモリチップを指定する情報が、前記デバイス・ヘッドレジスタのデバイスに関するパラメータの設定領域に設定されることを特徴とする請求項7に記載のフラッシュメモリシステム。   8. The flash memory system according to claim 7, wherein information designating the first flash memory chip or the second flash memory chip is set in a parameter setting area related to a device of the device head register. 前記情報保持機能が、論理ブロックアドレスレジスタであることを特徴とする請求項6に記載のフラッシュメモリシステム。   7. The flash memory system according to claim 6, wherein the information holding function is a logical block address register.
JP2004106559A 2004-03-31 2004-03-31 Memory controller and flash memory system Pending JP2005293177A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004106559A JP2005293177A (en) 2004-03-31 2004-03-31 Memory controller and flash memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004106559A JP2005293177A (en) 2004-03-31 2004-03-31 Memory controller and flash memory system

Publications (1)

Publication Number Publication Date
JP2005293177A true JP2005293177A (en) 2005-10-20

Family

ID=35326043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004106559A Pending JP2005293177A (en) 2004-03-31 2004-03-31 Memory controller and flash memory system

Country Status (1)

Country Link
JP (1) JP2005293177A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323212A (en) * 2006-05-30 2007-12-13 Kyocera Corp Flash memory system, electronic apparatus and portable terminal device
WO2008025238A1 (en) * 2006-08-18 2008-03-06 Fortune Spring Technology (Shenzhen) Corporation Storage device with large capacity and method based on flash memory
WO2010039389A3 (en) * 2008-09-30 2010-05-27 Micron Technology, Inc. Solid state storage device controller with parallel operation mode

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323212A (en) * 2006-05-30 2007-12-13 Kyocera Corp Flash memory system, electronic apparatus and portable terminal device
WO2008025238A1 (en) * 2006-08-18 2008-03-06 Fortune Spring Technology (Shenzhen) Corporation Storage device with large capacity and method based on flash memory
WO2010039389A3 (en) * 2008-09-30 2010-05-27 Micron Technology, Inc. Solid state storage device controller with parallel operation mode
KR101251772B1 (en) 2008-09-30 2013-04-05 마이크론 테크놀로지, 인크. Solid state storage device controller with parallel operation mode

Similar Documents

Publication Publication Date Title
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
JP2006018373A (en) Memory controller, flash memory system and control method for flash memory
JP4177360B2 (en) Memory controller, flash memory system, and flash memory control method
JP4661497B2 (en) Memory controller, flash memory system, and flash memory control method
JP4661369B2 (en) Memory controller
JP4661191B2 (en) Memory controller, flash memory system, and flash memory control method
JP4177292B2 (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
JP2005292925A (en) Memory controller, flash memory system, and control method for flash memory
JP4000124B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2005293177A (en) Memory controller and flash memory system
JP4661748B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4697146B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP3934659B1 (en) Memory controller and flash memory system
JP2005316793A (en) Flash memory system and control method of flash memory
JP4235595B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP4194518B2 (en) Memory controller, flash memory system, and flash memory control method
JP4670370B2 (en) Memory controller and flash memory system
JP4304167B2 (en) Memory controller, flash memory system, and flash memory control method
JP4366283B2 (en) Memory controller and flash memory system including the memory controller
JP2006178909A (en) Memory controller, flash memory system and method for controlling flash memory
JP4254930B2 (en) Memory controller, flash memory system, and flash memory control method
JP4332108B2 (en) Memory controller, flash memory system, and flash memory control method
JP2006099594A (en) Memory controller, flash memory system, and control method for flash memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080422

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080715