JP4213140B2 - Memory controller, flash memory system, and flash memory control method - Google Patents
Memory controller, flash memory system, and flash memory control method Download PDFInfo
- Publication number
- JP4213140B2 JP4213140B2 JP2005163988A JP2005163988A JP4213140B2 JP 4213140 B2 JP4213140 B2 JP 4213140B2 JP 2005163988 A JP2005163988 A JP 2005163988A JP 2005163988 A JP2005163988 A JP 2005163988A JP 4213140 B2 JP4213140 B2 JP 4213140B2
- Authority
- JP
- Japan
- Prior art keywords
- device information
- flash memory
- type identification
- acquired
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、メモリコントローラ及び当該メモリコントローラを備えるフラッシュメモリシステムに関する。 The present invention relates to a memory controller and a flash memory system including the memory controller.
近年、不揮発性の記憶媒体であるフラッシュメモリの開発が盛んに行われ、デジタルカメラ等の情報機器の記憶媒体として普及している。 In recent years, flash memory, which is a non-volatile storage medium, has been actively developed and is widely used as a storage medium for information devices such as digital cameras.
情報機器によるフラッシュメモリへのアクセスを制御するために、メモリコントローラが用いられる。フラッシュメモリは、品種によってアクセスの際の仕様(容量、ブロックサイズ、データ幅、セル構造、読み出しスピード等)が異なるため、各品種の仕様に対応したメモリコントローラが必要となる。 A memory controller is used to control access to the flash memory by information equipment. The flash memory has different access specifications (capacity, block size, data width, cell structure, read speed, etc.) depending on the type, so a memory controller corresponding to the specification of each type is required.
フラッシュメモリの品種毎に、別々にメモリコントローラを開発するのでは、フラッシュメモリの多様化にメモリコントローラの開発が追いつかないという状況が生じる。 If the memory controller is developed separately for each type of flash memory, there is a situation where the development of the memory controller cannot catch up with the diversification of the flash memory.
このため、フラッシュメモリの品種を識別して、品種に対応した仕様でフラッシュメモリへのアクセスを制御できるメモリコントローラが提案されている(例えば特許文献1を参照)。このようなメモリコントローラは、多くの場合、フラッシュメモリが有する識別情報を読み出す。そして、メモリコントローラ内部に設けられたROMに格納されたデバイス情報の中から当該フラッシュメモリの識別情報に対応するデバイス情報を取得し、取得したデバイス情報に応じた仕様でフラッシュメモリへのアクセスを制御する。
しかしながら、新たな品種のフラッシュメモリが開発された場合には、その品種に対応したデバイス情報がメモリコントローラのROMに格納されていないことがある。これに対して、新たなフラッシュメモリが開発される度に、ROMを交換するという対応策が考えられるが、これを実行することは非常に煩雑である。 However, when a new type of flash memory is developed, device information corresponding to the type may not be stored in the ROM of the memory controller. On the other hand, every time a new flash memory is developed, a countermeasure to replace the ROM can be considered, but it is very complicated to execute this.
本発明は上記の実情に鑑みてなされたもので、新規なフラッシュメモリに対応可能なメモリコントローラ、当該メモリコントローラを備えるフラッシュメモリシステム、及び、フラッシュメモリの制御方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a memory controller capable of handling a new flash memory, a flash memory system including the memory controller, and a flash memory control method.
本発明の第1の観点に係るメモリコントローラは、フラッシュメモリを記憶媒体として利用するホストシステムからの命令に応答してフラッシュメモリを制御することにより、前記フラッシュメモリへのアクセスを実行するメモリコントローラであって、設定されたデバイス情報により定められる仕様で、前記フラッシュメモリへのアクセスを実行する、フラッシュメモリインターフェース手段と、読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第1のデバイス情報記憶手段と、書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第2のデバイス情報記憶手段と、制御対象となる前記フラッシュメモリが有する品種識別情報を取得する品種識別情報取得手段と、前記品種識別情報取得手段が取得した前記品種識別情報に対応したデバイス情報を、前記第1のデバイス情報記憶手段又は前記第2のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定するデバイス情報設定手段と、から構成される、ことを特徴とする。 A memory controller according to a first aspect of the present invention is a memory controller that executes access to a flash memory by controlling the flash memory in response to a command from a host system that uses the flash memory as a storage medium. A flash memory interface means for executing access to the flash memory according to a specification determined by the set device information, and a read-only storage element, the device associated with the type of the flash memory A first device information storage means for storing information in advance; a second device information storage means for storing rewritable and nonvolatile storage elements in association with the type of the flash memory; The flash memory to be controlled has Type identification information acquisition means for acquiring type identification information, and device information corresponding to the type identification information acquired by the type identification information acquisition means are the first device information storage means or the second device information storage means. And device information setting means for setting the acquired device information in the flash memory interface means.
前記第2のデバイス情報記憶手段は、前記第1のデバイス情報記憶手段が記憶していない品種のフラッシュメモリに対応するデバイス情報を記憶し、前記デバイス情報設定手段は、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第1のデバイス情報記憶手段に記録されている場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第1のデバイス情報記憶手段から取得し、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第1のデバイス情報記憶手段に記録されていない場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第2のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定してもよい。 The second device information storage means stores device information corresponding to a type of flash memory that is not stored in the first device information storage means, and the device information setting means includes the type identification information acquisition means. When device information corresponding to the acquired product type identification information is recorded in the first device information storage unit, the device information corresponding to the product type identification information acquired by the product type identification information acquisition unit is stored in the first device information. If the device information corresponding to the product type identification information acquired by the product type identification information acquisition unit is not recorded in the first device information storage unit, the product type identification information acquisition unit Acquires device information corresponding to the product type identification information acquired from the second device information storage means, and acquires the acquired device information. The chair information may be set to the flash memory interface unit.
前記第1のデバイス情報記憶手段及び前記第2のデバイス情報記憶手段は、前記フラッシュメモリにアクセスするための仕様を定義するデバイス情報のうち、少なくとも最小限のデバイス情報を含む第1のデバイス情報を記憶し、前記フラッシュメモリは、デバイス情報のうち、前記第1のデバイス情報に含まれない第2のデバイス情報を、所定のメモリ領域に記憶し、前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記第1のデバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記第2のデバイス情報を読み出して前記デバイス情報設定手段に供給し、前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記第2のデバイス情報を前記フラッシュメモリインターフェース手段に設定してもよい。 The first device information storage unit and the second device information storage unit store first device information including at least minimum device information among device information defining specifications for accessing the flash memory. And the flash memory stores, in a predetermined memory area, second device information not included in the first device information among device information, and the flash memory interface means includes the device information setting means. Accessing the flash memory with a specification determined by the first device information set by the first device information, reading the second device information from a predetermined memory area of the flash memory, and supplying the second device information to the device information setting means, The device information setting means is the flash memory interface. The second device information read by the scan unit may be set to the flash memories interface means.
前記第1のデバイス情報記憶手段及び前記第2のデバイス情報記憶手段は、前記フラッシュメモリにアクセスするための仕様を定義するデバイス情報のうち、最小限のデバイス情報である必須デバイス情報を記憶し、前記フラッシュメモリは、デバイス情報のうち、前記必須デバイス情報に含まれない任意デバイス情報を、所定のメモリ領域に記憶し、前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記必須デバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記任意デバイス情報を読み出して前記デバイス情報設定手段に供給し、前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記任意デバイス情報を前記フラッシュメモリインターフェース手段に設定してもよい。 The first device information storage means and the second device information storage means store essential device information that is minimum device information among device information defining specifications for accessing the flash memory, The flash memory stores arbitrary device information that is not included in the essential device information in device information in a predetermined memory area, and the flash memory interface unit is set by the device information setting unit. Accessing the flash memory with a specification determined by information, reading the arbitrary device information from a predetermined memory area of the flash memory, and supplying the device information setting means to the device information setting means, wherein the device information setting means comprises the flash memory interface means Read by The arbitrary device information may be set to the flash memory interface unit that.
本発明の第2の観点に係るフラッシュメモリシステムは、上記の特徴のうち少なくともいずれか一つを有するメモリコントローラと、フラッシュメモリとを備えることを特徴とする。 A flash memory system according to a second aspect of the present invention includes a memory controller having at least one of the above characteristics and a flash memory.
本発明の第3の観点に係るフラッシュメモリの制御方法は、フラッシュメモリから当該フラッシュメモリの品種を特定するための品種識別情報を取得する品種識別情報取得ステップと、読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第1のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第1の判別ステップと、前記第1の判別ステップで格納されていないと判別した場合に、書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第2のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第2の判別ステップと、前記第1の判別ステップ又は第2の判別ステップにおいて、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されていると判別した場合に、前記第1のデバイス情報記憶手段又は前記第2のデバイス情報記憶手段から、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報を取得する、デバイス情報取得ステップと、前記デバイス情報取得ステップで取得したデバイス情報を、前記フラッシュメモリにアクセスするためのインターフェース手段に設定する、デバイス情報設定ステップと、から構成される、ことを特徴とする。 A flash memory control method according to a third aspect of the present invention includes a type identification information acquisition step for acquiring type identification information for specifying a type of the flash memory from the flash memory, and a read-only storage element. Whether the device information corresponding to the product type identification information acquired in the product type identification information acquisition step is stored in the first device information storage unit that stores device information associated with the product type of the flash memory in advance. A rewritable and non-volatile storage element when it is determined that it is not stored in the first determination step and the first determination step, and device information is stored in the flash memory type Stored in association with the second device information storage means, acquired in the type identification information acquisition step In the second determination step for determining whether device information corresponding to the species identification information is stored, and in the first determination step or the second determination step, the type identification information acquisition step acquires the device information. When it is determined that device information corresponding to product type identification information is stored, the product type identification acquired in the product type identification information acquisition step from the first device information storage unit or the second device information storage unit A device information acquisition step for acquiring device information corresponding to the information, and a device information setting step for setting the device information acquired in the device information acquisition step in an interface means for accessing the flash memory. It is characterized by that.
本発明によれば、メモリコントローラが書き換え可能な不揮発性記憶媒体を備え、当該不揮発性記憶媒体に新規のフラッシュメモリに対応するデバイス情報を記憶する。このため、本発明のメモリコントローラ、フラッシュメモリシステム、及び、フラッシュメモリの制御方法は、新規のフラッシュメモリに対応できる。 According to the present invention, the memory controller includes a rewritable nonvolatile storage medium, and device information corresponding to the new flash memory is stored in the nonvolatile storage medium. Therefore, the memory controller, the flash memory system, and the flash memory control method of the present invention can be applied to a new flash memory.
以下、図面を参照して、本発明の実施の形態について詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[フラッシュメモリシステムの説明]
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。図1に示したようにフラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するコントローラ3で構成されている。
[Description of flash memory system]
FIG. 1 is a block diagram schematically showing a flash memory system 1 according to the present invention. As shown in FIG. 1, the flash memory system 1 includes a flash memory 2 and a
なお、フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続される。ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等から構成される。ホストシステム4は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。
The flash memory system 1 is connected to the host system 4 via the
コントローラ3は、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、ROM(Read Only Memory)12と、FRAM(Ferroelectric Random Access Memory)15と、から構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積される。以下に各機能ブロックについて説明する。
The
マイクロプロセッサ6は、ROM12に記録されたプログラムに従って、コントローラ3の全体の動作を制御する。マイクロプロセッサ6は、例えば、フラッシュメモリシステム1の起動時にフラッシュメモリ2の品種に対応したデバイス情報を設定するための、デバイス情報設定処理を実行するように各部を制御する。
The
ホストインターフェースブロック7は、ホストシステム4とデータ、アドレス情報、ステータス情報、外部コマンド情報等の授受を行なう。すなわち、フラッシュメモリシステム1とホストシステム4は、外部バス13を介して相互に接続される。かかる状態において、ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインターフェースブロック7を入口としてコントローラ3の内部に取り込まれ、フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストシステム4に供給される。
The host interface block 7 exchanges data, address information, status information, external command information, and the like with the host system 4. That is, the flash memory system 1 and the host system 4 are connected to each other via the
より詳細には、ホストインターフェースブロック7は、ホストシステム4より供給されるホストアドレス及び外部コマンドを一時的に格納するコマンドレジスタ、書き込み又は読み出しを行うデータのサイズを格納するセクタ数レジスタ、書き込み又は読み出しを行うデータのアドレスを格納するLBA(Logical Block Addressing)レジスタ、等を有する。そして、これらのレジスタを介してホストシステム4との情報の授受を行う。 More specifically, the host interface block 7 is a command register that temporarily stores a host address and an external command supplied from the host system 4, a sector number register that stores the size of data to be written or read, and a write or read command. An LBA (Logical Block Addressing) register for storing an address of data to be executed. Information is exchanged with the host system 4 via these registers.
ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される。
The
バッファ9は、フラッシュメモリ2から読出したデータ及びフラッシュメモリ2に書込むデータを一時的に保持する。 The buffer 9 temporarily holds data read from the flash memory 2 and data to be written to the flash memory 2.
フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド情報等の授受を行う。フラッシュメモリインターフェースブロック10は、ブロックサイズ、データ幅、セル構造、読み出しスピード、記憶容量等のデバイス情報を設定されることによって、様々な品種のフラッシュメモリ2へのアクセスに対応することを可能とする。
The flash
以下、デバイス情報について、簡単に説明する。
ブロックサイズは、フラッシュメモリ2におけるデータの消去単位であるブロックのサイズを定義するデバイス情報で、例えば、スモールブロック(S)とラージブロック(L)とが設定可能とされる。
データ幅は、フラッシュメモリ2が内部バス14を介して送受信できるデータのビット数を定義するデバイス情報で、例えば、8ビットと16ビットとが設定可能とされる。
セル構造は、フラッシュメモリ2を構成するメモリセルの構造を定義するデバイス情報で、例えば、シングルレベルセル(SL)とマルチレベルセル(ML)とが設定可能とされる。
読み出しスピードは、フラッシュメモリ2に書き込まれているデータを読み出す際のスピード(より具体的にはリードイネーブル信号のパルス周期)を定義するデバイス情報である。読み出しスピードは、例えば、30ns、50ns等が設定可能とされる。
記憶容量は、フラッシュメモリ2の記憶容量を定義するデバイス情報で、例えば、32Mb、64Mb、128Mb等が設定可能とされる。
The device information will be briefly described below.
The block size is device information that defines the size of a block that is a data erasing unit in the flash memory 2, and for example, a small block (S) and a large block (L) can be set.
The data width is device information that defines the number of bits of data that can be transmitted and received by the flash memory 2 via the
The cell structure is device information that defines the structure of the memory cells constituting the flash memory 2, and for example, a single level cell (SL) and a multilevel cell (ML) can be set.
The read speed is device information that defines the speed at which data written in the flash memory 2 is read (more specifically, the pulse cycle of the read enable signal). For example, 30 ns and 50 ns can be set as the reading speed.
The storage capacity is device information that defines the storage capacity of the flash memory 2, and can be set to 32 Mb, 64 Mb, 128 Mb, for example.
また、フラッシュメモリインターフェースブロック10は、フラッシュメモリシステム1の起動時に、マイクロプロセッサ6による制御に従い、フラッシュメモリ2にデバイスID読み出し命令を送る。そして、これに応答してフラッシュメモリ2から出力されるデバイスID(メーカコード、デバイスコード及び拡張コード)を受け取ってマイクロプロセッサ6に供給する。
Further, the flash
ECCブロック11は、フラッシュメモリ2に書込むデータに付加されるエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する。 The ECC block 11 generates an error correction code added to data to be written to the flash memory 2 and detects and corrects an error included in the read data based on the error correction code added to the read data.
ROM12は、不揮発性の記憶素子で、格納したデータを書き換えることができない。ROM12は、マイクロプロセッサ6による処理の手順を定義するプログラムを格納する。ROM12は、例えば、後述するデバイス情報設定処理の手順を定義するプログラムを格納する。
The
また、ROM12は、上記のプログラムの他、フラッシュメモリ2にアクセスする際に設定する必要があるデバイス情報をフラッシュメモリ2の品種に対応付けた第1のデバイス情報テーブルを格納する。図3に示すように、第1のデバイス情報テーブルは、フラッシュメモリ2の品種に対応付けて、フラッシュメモリ2にアクセスする際に必要となる最小限のデバイス情報である、ブロックサイズと、データ幅と、セル構造とを格納する。
In addition to the above program, the
ここで、最小限のデバイス情報のみが既知である場合、これに含まれない任意デバイス情報である記憶容量と読み出しスピードについては、以下のような仮の値を設定すれば、フラッシュメモリ2へのアクセスが可能となる。すなわち、記憶容量には最小の容量値を設定し、読み出しスピードには最低速の読み出しスピードを設定する。このとき、コントローラ3がアクセス可能なメモリ空間は、フラッシュメモリ2の有するメモリ空間のうち、最小の容量値に対応するメモリ空間となる。また、より高速な読み出しが可能な品種のフラッシュメモリ2が接続された場合でも、最低速の読み出しスピードとなる。
Here, if only the minimum device information is known, the storage capacity and read speed, which are optional device information not included in this, can be set to the flash memory 2 by setting the following temporary values. Access is possible. That is, the minimum capacity value is set as the storage capacity, and the minimum reading speed is set as the reading speed. At this time, the memory space accessible by the
FRAM15は、不揮発性の記憶媒体で、格納したデータを書き換えることや、データを書き加えることが可能である。FRAM15は、図3に示すように、ROM12に格納される第1のデバイス情報テーブルと同種の情報を記録する第2のデバイス情報テーブルを格納する。第2のデバイス情報テーブルは、例えば、新規のフラッシュメモリ2が開発された場合や、後述するデバイス情報設定処理においてエラー情報が通知された場合に、ホストシステム4により更新される。
The
上述の第1又は第2のデバイス情報テーブルに格納される最小限のデバイス情報のみでは、フラッシュメモリ2に効率的にアクセスをすることはできない。一般に、フラッシュメモリ2に効率的なアクセスをするためには、上記の最小限のデバイス情報の他に、フラッシュメモリ2の記憶容量や読み出しスピード等のデバイス情報が要求される。本実施の形態のコントローラ3は、後述するデバイス情報設定処理において、最小限のデバイス情報以外のデバイス情報を、フラッシュメモリ2の所定のページから読み出し、当該読み出したデバイス情報を再設定して、以後のアクセスを実行する。
なお、最小限のデバイス情報以外のデバイス情報であっても、デバイスコードに基づいて一意に定まる記憶容量については、前記第1と第2のデバイス情報テーブルに格納するようにしてもよい。
The flash memory 2 cannot be accessed efficiently with only the minimum device information stored in the first or second device information table. In general, in order to efficiently access the flash memory 2, in addition to the above-mentioned minimum device information, device information such as the storage capacity and read speed of the flash memory 2 is required. In the device information setting process described later, the
Note that, even for device information other than the minimum device information, the storage capacity uniquely determined based on the device code may be stored in the first and second device information tables.
[フラッシュメモリの説明]
次に、フラッシュメモリ2について説明する。図2に示すように、フラッシュメモリ2は、ホストシステム4によって利用される記憶領域であるメモリ部21と、フラッシュメモリ2の品種を識別するためのデバイスIDを保持するデバイスID保持部22とから構成される。
[Description of flash memory]
Next, the flash memory 2 will be described. As shown in FIG. 2, the flash memory 2 includes a
図4は、メモリ部21のメモリ構造を概略的に示す図である。図4に示したように、フラッシュメモリ2はデータの読み出し及び書き込みにおける処理単位であるページと、データの消去単位であるブロックで構成されている。
FIG. 4 is a diagram schematically showing the memory structure of the
上記ページは、例えば、512バイトのユーザ領域25と、16バイトの冗長領域26によって構成される。ユーザ領域25は、主に、ホストシステム4から供給されるデータが格納される領域であり、冗長領域26は、エラーコレクションコード、ブロックステータス等の付加情報が格納される領域である。
The page is composed of a 512-
エラーコレクションコードは、ユーザ領域25に格納されたデータに含まれる誤りを訂正するための付加情報であり、ECCブロック11によって生成される。このエラーコレクションコードに基づき、ユーザ領域25に格納されたデータに含まれる誤りが所定数以下であれば、その誤りが訂正される。
The error collection code is additional information for correcting an error included in the data stored in the
ブロックステータスは、そのブロックが不良ブロック(正常にデータの書込み等を行なうことができないブロック)であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。 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は、メモリ部21の所定のページに当該フラッシュメモリ2に対するアクセスに最小限必要なデバイス情報以外のデバイス情報(本実施の形態では、記憶容量と読み出しスピード)を格納する。つまり、メモリ部21の所定のページには、上述の第1及び第2のデバイス情報テーブルに格納されていないデバイス情報が格納される。デバイス情報は、フラッシュメモリシステム1の起動時にコントローラ3によって読み出される。
The flash memory 2 stores device information (in this embodiment, storage capacity and read speed) other than the minimum device information necessary for accessing the flash memory 2 in a predetermined page of the
デバイスID保持部22は、フラッシュメモリ2の品種を特定するためのメーカコード、デバイスコード及び拡張コードを保持する。フラッシュメモリ2は、コントローラ3からデバイスID読み出し命令を受け取ると、これに応答して、内部バス14を介して、デバイスID保持部22に格納されているデバイスIDをコントローラ3に供給する。
The device
次に、このように構成されるフラッシュメモリシステム1の動作について、説明する。 Next, the operation of the flash memory system 1 configured as described above will be described.
[起動時の動作の説明]
フラッシュメモリシステム1の起動時に、コントローラ3は、フラッシュメモリ2の品種に対応したデバイス情報を設定するための、デバイス情報設定処理を実行する。
[Description of startup operation]
When the flash memory system 1 is activated, the
以下、デバイス情報設定処理の手順について、図5に示すフローチャートを参照して説明する。
デバイス情報設定処理は、フラッシュメモリシステム1に電源が投入されることにより開始される。
Hereinafter, the procedure of the device information setting process will be described with reference to the flowchart shown in FIG.
The device information setting process is started when the flash memory system 1 is turned on.
デバイス情報設定処理が開始されると、コントローラ3のマイクロプロセッサ6は、フラッシュメモリインターフェースブロック10を制御して、デバイスID読み出し命令をフラッシュメモリ2に送出し、これに応答してフラッシュメモリ2から出力されるデバイスコード(デバイスIDに含まれるデバイスコード)を取得する(ステップS100)。
When the device information setting process is started, the
次に、マイクロプロセッサ6は、ROM12に格納された第1のデバイス情報テーブルを検索し、ステップS100で取得したデバイスコードに対応するデバイス情報が有るか否かを判別する(ステップS110)。
Next, the
第1のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がある場合(ステップS110;Yes)、マイクロプロセッサ6は、処理をステップS140に進める。
If there is device information corresponding to the acquired device code in the first device table (step S110; Yes), the
一方、第1のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がない場合(ステップS110;No)、マイクロプロセッサ6は、FRAM15に格納された第2のデバイス情報テーブルを検索し、ステップS100で取得したデバイスコードに対応するデバイス情報が有るか否かを判別する(ステップS120)。
On the other hand, when there is no device information corresponding to the acquired device code in the first device table (step S110; No), the
第2のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がある場合(ステップS120;Yes)、マイクロプロセッサ6は、処理をステップS140に進める。
If there is device information corresponding to the acquired device code in the second device table (step S120; Yes), the
一方、第2のデバイステーブルに、取得したデバイスコードに対応するデバイス情報がない場合(ステップS120;No)、マイクロプロセッサ6は、ホストインターフェースブロック7及び外部バス13を介して、接続されたフラッシュメモリ2が未対応の品種である旨を示すエラー情報をホストシステム4に通知し(ステップS130)、デバイス情報設定処理を終了する。
On the other hand, when there is no device information corresponding to the acquired device code in the second device table (step S120; No), the
なお、エラー情報を受け取ったホストシステム4は、これに応答して、フラッシュメモリ2に対応するデバイス情報を取得し、第2のデバイス情報テーブルを更新する処理を実行するようにしてもよい。 The host system 4 that has received the error information may acquire the device information corresponding to the flash memory 2 and update the second device information table in response to the error information.
第1又は第2のデバイス情報テーブルに、取得したデバイスコードに対応するデバイス情報がある場合、ステップS140において、マイクロプロセッサ6は、第1又は第2のデバイス情報テーブルから、当該デバイスコードに対応するデバイス情報を取得する(ステップS140)。なお、このとき取得するデバイス情報には、フラッシュメモリ2のメモリ部21にアクセスするために必要とされる最小限のデバイス情報(ブロックサイズ、データ幅、及び、セル構造)が含まれる。つまり、第1及び第2のデバイス情報テーブルには、少なくともフラッシュメモリ2のメモリ部21にアクセスするために必要とされるデバイス情報を格納しておく。
When there is device information corresponding to the acquired device code in the first or second device information table, the
次に、マイクロプロセッサ6は、取得した最小限のデバイス情報を、フラッシュメモリインターフェースブロック10に設定する。また、読み出しスピードを定義するデバイス情報を、最低速度の読み出しスピードとなるように設定し、記憶容量を最小の記憶容量に設定する(ステップS150)。このとき、設定する読み出しスピード及び記憶容量は、仮の設定値である。なお、第1及び第2のデバイス情報テーブルに、記憶容量を格納する場合には、記憶容量はデバイス情報テーブルに格納されている値に設定する。
Next, the
次に、マイクロプロセッサ6は、フラッシュメモリインターフェースブロック10及び内部バス14を介して、フラッシュメモリ2のメモリ部21の所定のページから、最小限のデバイス情報以外のデバイス情報(読み出しスピード及び記憶容量)を読み出す(ステップS160)。そして、マイクロプロセッサ6は、読み出したデバイス情報をフラッシュメモリインターフェースブロック10に再設定して(ステップS170)、デバイス情報設定処理を終了する。
Next, the
上記のデバイス情報設定処理によって、デバイス情報が適切に設定されると、コントローラ3は、設定されたデバイス情報に基づいてフラッシュメモリ2への以後のアクセスを制御する。
When the device information is appropriately set by the device information setting process, the
以上で説明したように、本実施の形態のフラッシュメモリシステム1は、コントローラ3にデバイス情報を追加することができる不揮発性の記憶媒体(FRAM15)を備えるため、ROM12を更新することなく新規な品種のフラッシュメモリ2に対応できる。
As described above, since the flash memory system 1 according to the present embodiment includes the nonvolatile storage medium (FRAM 15) that can add device information to the
また、本実施の形態のフラッシュメモリシステム1は、第1又は第2のデバイス情報テーブルに格納されるデバイス情報が、必要最小限のデバイス情報に限られ、他のデバイス情報はフラッシュメモリ2の所定のページから読み出すこととしている。このため、ROM12及びFRAM15におけるフラッシュメモリ一品種当たりの記憶容量を最小限度に抑制することができる。別の観点から見れば、一定の記憶容量のROM12及びFRAM15によって最多の品種のフラッシュメモリに対応することができる。
Also, in the flash memory system 1 of the present embodiment, the device information stored in the first or second device information table is limited to the minimum necessary device information, and other device information is stored in the flash memory 2 in a predetermined manner. Read from the page. For this reason, the storage capacity per type of flash memory in the
上記の実施の形態では、第1又は第2のデバイス情報テーブルに、最小限のデバイス情報のみを格納する場合を例に説明したが、第1又は第2のデバイス情報テーブルには他のデバイス情報も格納するようにしてもよい。この場合、デバイス情報設定処理において、フラッシュメモリ2の所定のページに記録された他のデバイス情報を取得するための手順を省略することができる。 In the above embodiment, the case where only the minimum device information is stored in the first or second device information table has been described as an example, but other device information is stored in the first or second device information table. May also be stored. In this case, in the device information setting process, the procedure for acquiring other device information recorded on a predetermined page of the flash memory 2 can be omitted.
上記の実施の形態では、ROMに第1のデバイス情報テーブルを設け、既知の品種のフラッシュメモリに対応するデバイス情報を予め格納する場合を例に説明した。しかし、ROMに第1のデバイス情報テーブルを設けることなく、FRAMの第2のデバイス情報テーブルに、全ての品種についてのデバイス情報を記録するようにしてもよい。 In the above embodiment, the case where the first device information table is provided in the ROM and device information corresponding to a known type of flash memory is stored in advance has been described as an example. However, the device information for all types may be recorded in the second device information table of the FRAM without providing the first device information table in the ROM.
上記の実施の形態では、メモリコントローラが、第2のデバイス情報テーブルを格納する不揮発性の記憶媒体としてFRAMを備える場合を例に説明した。しかし、当該不揮発性の記憶媒体はFRAMに限られない。例えば、MRAM(Magnetoresistive Random Access Memory)、ハードディスク等で構成されてもよい。 In the above-described embodiment, the case where the memory controller includes the FRAM as a nonvolatile storage medium that stores the second device information table has been described as an example. However, the nonvolatile storage medium is not limited to the FRAM. For example, it may be configured by an MRAM (Magnetoresistive Random Access Memory), a hard disk, or the like.
1 フラッシュメモリシステム
2 フラッシュメモリ
3 コントローラ
4 ホストシステム
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 ROM
13 外部バス
14 内部バス
15 FRAM
21 メモリ部
22 デバイスID保持部
25 ユーザ領域
26 冗長領域
1 Flash memory system 2
13
21
Claims (6)
設定されたデバイス情報により定められる仕様で、前記フラッシュメモリへのアクセスを実行する、フラッシュメモリインターフェース手段と、
読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第1のデバイス情報記憶手段と、
書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第2のデバイス情報記憶手段と、
制御対象となる前記フラッシュメモリが有する品種識別情報を取得する品種識別情報取得手段と、
前記品種識別情報取得手段が取得した前記品種識別情報に対応したデバイス情報を、前記第1のデバイス情報記憶手段又は前記第2のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定するデバイス情報設定手段と、から構成される、
ことを特徴とするメモリコントローラ。 A memory controller that executes access to the flash memory by controlling the flash memory in response to an instruction from a host system that uses the flash memory as a storage medium,
Flash memory interface means for executing access to the flash memory in a specification determined by the set device information;
A first device information storage means, which is a read-only storage element and stores in advance device information associated with the type of flash memory;
A rewritable and non-volatile storage element that stores device information in association with the type of the flash memory;
Product type identification information acquisition means for acquiring product type identification information of the flash memory to be controlled;
Device information corresponding to the product type identification information acquired by the product type identification information acquisition unit is acquired from the first device information storage unit or the second device information storage unit, and the acquired device information is stored in the flash memory. Device information setting means for setting in the interface means,
A memory controller characterized by that.
前記デバイス情報設定手段は、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第1のデバイス情報記憶手段に記録されている場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第1のデバイス情報記憶手段から取得し、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報が、前記第1のデバイス情報記憶手段に記録されていない場合、前記品種識別情報取得手段が取得した前記品種識別情報に対応するデバイス情報を前記第2のデバイス情報記憶手段から取得し、当該取得したデバイス情報を前記フラッシュメモリインターフェース手段に設定する、
ことを特徴とする請求項1に記載のメモリコントローラ。 The second device information storage means stores device information corresponding to a type of flash memory that is not stored in the first device information storage means,
When the device information corresponding to the product type identification information acquired by the product type identification information acquisition unit is recorded in the first device information storage unit, the device information setting unit acquires the product type identification information acquisition unit. The device information corresponding to the product type identification information is acquired from the first device information storage unit, and the device information corresponding to the product type identification information acquired by the product type identification information acquisition unit is the first device information storage unit. If not recorded in the means, device information corresponding to the product type identification information acquired by the product type identification information acquisition unit is acquired from the second device information storage unit, and the acquired device information is acquired by the flash memory interface unit. Set to
The memory controller according to claim 1.
前記フラッシュメモリは、デバイス情報のうち、前記第1のデバイス情報に含まれない第2のデバイス情報を、所定のメモリ領域に記憶し、
前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記第1のデバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記第2のデバイス情報を読み出して前記デバイス情報設定手段に供給し、
前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記第2のデバイス情報を前記フラッシュメモリインターフェース手段に設定する、
ことを特徴とする請求項1又は2に記載のメモリコントローラ。 The first device information storage unit and the second device information storage unit store first device information including at least minimum device information among device information defining specifications for accessing the flash memory. Remember,
The flash memory stores, in a predetermined memory area, second device information that is not included in the first device information among device information,
The flash memory interface means accesses the flash memory with a specification determined by the first device information set by the device information setting means, and obtains the second device information from a predetermined memory area of the flash memory. Read and supply to the device information setting means,
The device information setting means sets the second device information read by the flash memory interface means in the flash memory interface means;
The memory controller according to claim 1, wherein the memory controller is a memory controller.
前記フラッシュメモリは、デバイス情報のうち、前記必須デバイス情報に含まれない任意デバイス情報を、所定のメモリ領域に記憶し、
前記フラッシュメモリインターフェース手段は、前記デバイス情報設定手段によって設定される前記必須デバイス情報により定められる仕様で前記フラッシュメモリへアクセスし、前記フラッシュメモリの所定のメモリ領域から前記任意デバイス情報を読み出して前記デバイス情報設定手段に供給し、
前記デバイス情報設定手段は、前記フラッシュメモリインターフェース手段により読み出された前記任意デバイス情報を前記フラッシュメモリインターフェース手段に設定する、
ことを特徴とする請求項1から3のいずれか1項に記載のメモリコントローラ。 The first device information storage means and the second device information storage means store essential device information that is minimum device information among device information defining specifications for accessing the flash memory,
The flash memory stores arbitrary device information not included in the essential device information in device information in a predetermined memory area,
The flash memory interface means accesses the flash memory with a specification determined by the essential device information set by the device information setting means, reads the arbitrary device information from a predetermined memory area of the flash memory, and reads the device To the information setting means,
The device information setting means sets the arbitrary device information read by the flash memory interface means in the flash memory interface means;
The memory controller according to claim 1, wherein the memory controller is a memory controller.
読み出し専用の記憶素子であって、前記フラッシュメモリの品種に対応付けられたデバイス情報を予め記憶する、第1のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第1の判別ステップと、
前記第1の判別ステップで格納されていないと判別した場合に、書き換え可能かつ不揮発性の記憶素子であって、デバイス情報を前記フラッシュメモリの品種に対応付けて記憶する、第2のデバイス情報記憶手段に、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報が格納されているか否かを判別する、第2の判別ステップと、
前記第1の判別ステップ又は第2の判別ステップにおいて、前記品種識別情報取得ステップで取得した品種識別情報に対応するデバイス情報が格納されていると判別した場合に、前記第1のデバイス情報記憶手段又は前記第2のデバイス情報記憶手段から、前記品種識別情報取得ステップで取得した前記品種識別情報に対応するデバイス情報を取得する、デバイス情報取得ステップと、
前記デバイス情報取得ステップで取得したデバイス情報を、前記フラッシュメモリにアクセスするためのインターフェース手段に設定する、デバイス情報設定ステップと、から構成される、
ことを特徴とするフラッシュメモリの制御方法。 A type identification information acquisition step for acquiring type identification information for identifying the type of the flash memory from the flash memory;
Corresponding to the product type identification information acquired in the product type identification information acquisition step in a first device information storage means, which is a read-only storage element that prestores device information associated with the product type of the flash memory. A first determination step of determining whether or not device information to be stored is stored;
A second device information storage that is a rewritable and non-volatile storage element that stores device information in association with the type of the flash memory when it is determined that it is not stored in the first determination step. A second determination step of determining whether or not device information corresponding to the type identification information acquired in the type identification information acquisition step is stored in the means;
In the first determination step or the second determination step, when it is determined that device information corresponding to the product identification information acquired in the product identification information acquisition step is stored, the first device information storage unit Alternatively, a device information acquisition step for acquiring device information corresponding to the type identification information acquired in the type identification information acquisition step from the second device information storage unit;
A device information setting step for setting the device information acquired in the device information acquisition step in an interface means for accessing the flash memory,
A method for controlling a flash memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005163988A JP4213140B2 (en) | 2005-06-03 | 2005-06-03 | Memory controller, flash memory system, and flash memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005163988A JP4213140B2 (en) | 2005-06-03 | 2005-06-03 | Memory controller, flash memory system, and flash memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006338481A JP2006338481A (en) | 2006-12-14 |
JP4213140B2 true JP4213140B2 (en) | 2009-01-21 |
Family
ID=37558970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005163988A Expired - Fee Related JP4213140B2 (en) | 2005-06-03 | 2005-06-03 | Memory controller, flash memory system, and flash memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4213140B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100823171B1 (en) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | Computer system having a partitioned flash translation layer and flash translation layer partition method thereof |
JP2008084340A (en) * | 2007-11-12 | 2008-04-10 | Ricoh Co Ltd | Pc card controller, computer system with this pc card controller and pc card identification method |
JP5119947B2 (en) * | 2008-01-24 | 2013-01-16 | 富士通株式会社 | Information processing device |
-
2005
- 2005-06-03 JP JP2005163988A patent/JP4213140B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006338481A (en) | 2006-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4245585B2 (en) | Memory controller, flash memory system, and flash memory control method | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
JP4722839B2 (en) | MEMORY CONTROL CIRCUIT, NONVOLATILE MEMORY DEVICE, AND MEMORY CONTROL METHOD | |
JP4828816B2 (en) | Memory card, semiconductor device, and memory card control method | |
JP4373943B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JPWO2007000862A1 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND DATA WRITE METHOD | |
US20080104361A1 (en) | Storage Device, Memory Managing Apparatus, Memory Managing Method, and Program | |
JPWO2005083573A1 (en) | Semiconductor memory device | |
JP4843222B2 (en) | Semiconductor memory device control method, memory card, and host device | |
JP4177360B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP7395388B2 (en) | Memory system and its control method | |
JP4213140B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2004220068A (en) | Memory card and method for writing data in memory | |
JP4661369B2 (en) | Memory controller | |
JP4235624B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4710918B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP4655034B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4177292B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD | |
JP4818453B1 (en) | Electronic device and data reading method | |
JP2006318132A (en) | Memory controller, flash memory system, and control method for flash memory | |
JP4332134B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2005316793A (en) | Flash memory system and control method of flash memory | |
JP4177301B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4194518B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4304167B2 (en) | Memory controller, flash memory system, and flash memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081017 |
|
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: 20081021 |
|
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: 20081029 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4213140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |