JP2005234928A - Storage device - Google Patents

Storage device Download PDF

Info

Publication number
JP2005234928A
JP2005234928A JP2004043946A JP2004043946A JP2005234928A JP 2005234928 A JP2005234928 A JP 2005234928A JP 2004043946 A JP2004043946 A JP 2004043946A JP 2004043946 A JP2004043946 A JP 2004043946A JP 2005234928 A JP2005234928 A JP 2005234928A
Authority
JP
Japan
Prior art keywords
register
area
interface
microprocessor
semiconductor memory
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.)
Withdrawn
Application number
JP2004043946A
Other languages
Japanese (ja)
Inventor
Kazuo Kamata
和雄 鎌田
Atsushi Shiraishi
敦 白石
Junji Yomo
淳史 四方
Yasuhiro Nakamura
靖宏 中村
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004043946A priority Critical patent/JP2005234928A/en
Publication of JP2005234928A publication Critical patent/JP2005234928A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology to change functions not depending on conventional firm-on-flash technologies. <P>SOLUTION: A memory area (222) for parameter blocks, which are used to change register configuration, is formed on a non-volatile semiconductor memory (22) to perform configuration processing for the register on the basis of the parameter blocks in reset exception processing of a microprocessor (24). With this method, only by rewriting the parameter blocks in the non-volatile semiconductor memory through a host computer, configuration contents of the register can be easily changed. Thereby, functions in a storage device can be changed not depending on conventional firm-on-flash technologies. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、電気的に書き換え可能な不揮発性半導体メモリを記憶媒体として用いた記憶装置の機能変更技術に係り、例えばフラッシュメモリカードに適用して有効な技術に関する。   The present invention relates to a technology for changing a function of a storage device using an electrically rewritable nonvolatile semiconductor memory as a storage medium, and relates to a technology that is effective when applied to, for example, a flash memory card.

不揮発性半導体メモリを用いた記憶装置として、フラッシュメモリを用いた記憶装置がある。フラッシュメモリは、データの書き込みを行う前に、データ書き込みを行う一つ以上のセクタから構成されるブロックを消去しなければならない。また、パーソナルコンピュータなどのホストコンピュータに接続された場合、パーソナルコンピュータが発行するコマンドなどの解析を行い、パーソナルコンピュータが要求するデータの読み出しや書き込みを制御する必要がある。このフラッシュメモリの制御やホストコンピュータ間の制御を行うために、記憶装置にはファームウェアが格納されている。このような記憶装置として、電源オン時のリセット例外処理(パワーオン処理)に、フラッシュメモリからRAMにロードすることで、ROM内の不具合が発生したモジュールの代わりにRAMの不具合が修正されたモジュールを使用することにより、ROMのファームウェアの不具合対策を行う技術が知られている(例えば特許文献1参照)。かかる技術において記憶装置に格納されるファームウェアは、各機能ごとに分割された複数のモジュールと、各モジュールの呼び出し毎に参照されるジャンプテーブルで構成される。ジャンプテーブルは、各モジュールのアドレスを示している。また、この記憶装置は、不揮発性半導体メモリであるフラッシュメモリ、マイクロプロセッサ、ファームウェアが格納されるROM、そしてROMに格納されているファームウェア内のジャンプテーブルまたは修正されたジャンプテーブルと修正されたモジュールをフラッシュメモリからロードするRAMから構成される。フラッシュメモリには、ホストコンピュータが書き込むデータと、修正されたジャンプテーブルや複数のモジュールが格納される。ROMには、予めファームウェアが格納されている。   As a storage device using a nonvolatile semiconductor memory, there is a storage device using a flash memory. The flash memory must erase a block composed of one or more sectors to which data is written before data is written. Further, when connected to a host computer such as a personal computer, it is necessary to analyze commands issued by the personal computer and control reading and writing of data requested by the personal computer. Firmware is stored in the storage device to control the flash memory and between the host computers. As such a storage device, a module in which a defect in the RAM is corrected instead of a module in which a defect has occurred in the ROM by loading the flash memory into the RAM for reset exception processing (power-on process) at power-on. There is known a technique for taking measures against malfunctions of ROM firmware by using (see, for example, Patent Document 1). In such a technique, the firmware stored in the storage device includes a plurality of modules divided for each function and a jump table that is referred to for each module call. The jump table indicates the address of each module. The storage device also includes a flash memory, which is a nonvolatile semiconductor memory, a microprocessor, a ROM in which firmware is stored, and a jump table in the firmware stored in the ROM or a corrected jump table and a corrected module. It consists of RAM loaded from flash memory. The flash memory stores data to be written by the host computer, a corrected jump table, and a plurality of modules. Firmware is stored in the ROM in advance.

電源オン後、第1のメモリに格納されているジャンプテーブルが、マイクロプロセッサによって、ROMからRAMにコピーされる。ファームウェアに不具合が発生していないときには、RAMにコピーされたジャンプテーブルは、すべてROMに格納されているファームウェアの各モジュールのアドレスを示している。   After the power is turned on, the jump table stored in the first memory is copied from the ROM to the RAM by the microprocessor. When there is no malfunction in the firmware, the jump table copied to the RAM indicates the address of each module of the firmware stored in the ROM.

ROMに格納されているファームウェアに不具合が発生した場合、フラッシュメモリには、不具合が発生したモジュールに対する修正したモジュールを格納する。同時に、ジャンプテーブルも、修正されたモジュールのアドレスを示すように修正され、フラッシュメモリに格納される。   When a failure occurs in the firmware stored in the ROM, the flash memory stores a corrected module for the failed module. At the same time, the jump table is also modified to indicate the address of the modified module and stored in the flash memory.

ROMに格納されているジャンプテーブルをRAMにコピーした後、修正されたジャンプテーブルおよび複数のモジュールがフラッシュメモリに格納されている場合には、フラッシュメモリに格納されている修正されたジャンプテーブルおよび複数のモジュールはRAMにロードされる。このとき、ROMからコピーされたジャンプテーブルは、フラッシュメモリに格納されている修正されたジャンプテーブルに書き替えられる。これにより、ROMに格納されている不具合が発生したモジュールは参照されず、RAMにロードされている修正モジュールが参照される。   After the jump table stored in the ROM is copied to the RAM and the modified jump table and the plurality of modules are stored in the flash memory, the modified jump table and the plurality of modules stored in the flash memory are stored. These modules are loaded into the RAM. At this time, the jump table copied from the ROM is rewritten to the corrected jump table stored in the flash memory. As a result, the module in which the problem stored in the ROM has occurred is not referred to, but the correction module loaded in the RAM is referred to.

以上のように、不具合が発生したモジュール及びジャンプテーブルを修正し、フラッシュメモリに格納することにより、ROMに格納されているファームウェアに不具合が発生した場合にも、容易にファームウェアの修正が可能になる。このような技術をファームオンフラッシュ技術という。   As described above, by correcting the module and jump table in which a problem has occurred and storing them in the flash memory, it is possible to easily correct the firmware even if a problem has occurred in the firmware stored in the ROM. . Such a technology is called a farm-on-flash technology.

特開平11−265283号公報(図1)Japanese Patent Laid-Open No. 11-265283 (FIG. 1)

上記従来技術によれば、ファームウェアの修正のために必要になるRAMの容量は、不具合が発生したモジュールとジャンプテーブルの容量で十分であるのでRAM容量を低減でき、そのような意味では記憶装置の低価格化を図ることができる。   According to the above prior art, the capacity of the RAM required for the firmware correction is sufficient because the capacity of the module and the jump table in which the problem has occurred is sufficient, and in this sense, the RAM capacity can be reduced. Lower prices can be achieved.

しかしながら、電源が投入された際に、フラッシュメモリからRAMにロードすることでROM内の不具合が発生したモジュールの代わりにRAM内の修正モジュールを使用することでファームウェアの不具合対策を行っているため、修正されたモジュールが増えると、それに応じてRAMの空き容量が減少され、RAMに空き容量が無くなったときには不具合対策ができなくなる。   However, when the power is turned on, the trouble of the firmware is taken by using the correction module in the RAM instead of the module in which the trouble in the ROM has occurred by loading from the flash memory to the RAM. When the number of corrected modules increases, the free space of the RAM is reduced accordingly, and when the free space is exhausted in the RAM, it becomes impossible to take countermeasures against the problem.

本発明の目的は、従来のファームオンフラッシュ技術によらないで機能変更を可能とするための技術を提供することにある。   An object of the present invention is to provide a technique for enabling a function change without using a conventional firmware-on-flash technique.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

すなわち、ホストコンピュータによってデータの書き換えが可能な不揮発性半導体メモリと、ファームウェアが格納されているプログラムメモリと、上記ファームウェアを処理するためのマイクロプロセッサと、上記マイクロプロセッサのリセット例外処理によって設定されるレジスタとを含んで半導体集積回路が形成されるとき、上記不揮発性半導体メモリに、上記レジスタの設定の変更を可能とするパラメータブロックの記憶エリアを形成し、上記マイクロプロセッサのリセット例外処理において上記パラメータブロックに基づいて上記レジスタの設定処理が行われるようにする。   That is, a nonvolatile semiconductor memory whose data can be rewritten by a host computer, a program memory in which firmware is stored, a microprocessor for processing the firmware, and a register set by reset exception processing of the microprocessor When the semiconductor integrated circuit is formed, a parameter block storage area is provided in the non-volatile semiconductor memory that allows the setting of the register to be changed. In the microprocessor reset exception processing, the parameter block Based on the above, the register setting process is performed.

上記の手段によれば、上記マイクロプロセッサのリセット例外処理において上記パラメータブロックに基づいて上記レジスタの設定処理が行われるため、ホストコンピュータを介して不揮発性半導体メモリ内の上記パラメータブロックを書き換えるだけで、上記レジスタの設定内容を容易に変更することができる。このことが、ファームオンフラッシュ技術によらないで、記憶装置内部の機能変更を達成する。   According to the above means, since the register setting process is performed based on the parameter block in the reset exception process of the microprocessor, just rewriting the parameter block in the nonvolatile semiconductor memory via the host computer, The setting contents of the register can be easily changed. This achieves a function change inside the storage device without relying on the firmware on flash technology.

このとき、上記ホストコンピュータとの間で信号のやり取りを可能とする第1インタフェースと、上記不揮発性半導体メモリとの間で信号のやり取りを可能とする第2インタフェースと、上記マイクロプロセッサのワークエリアとして使用されるワークRAMとを含み、上記レジスタには、上記第1インタフェース及び上記第2インタフェースに含まれる各種レジスタ、及び上記ワークRAMにおける記憶領域の一部を含めることができる。   At this time, a first interface capable of exchanging signals with the host computer, a second interface capable of exchanging signals with the nonvolatile semiconductor memory, and a work area of the microprocessor The register may include various registers included in the first interface and the second interface, and a part of a storage area in the work RAM.

また、上記パラメータブロックは、上記レジスタを特定するためのアドレス情報と、上記レジスタへの設定内容と、上記内容を上記レジスタに設定するか否かの識別情報を含んで構成することができ、その場合において、上記マイクロプロセッサは上記識別情報を判別し、その判別結果に応じて、対応するレジスタの設定を行うように構成することができる。   The parameter block may include address information for specifying the register, setting contents for the register, and identification information as to whether or not to set the contents in the register. In some cases, the microprocessor may be configured to determine the identification information and set a corresponding register in accordance with the determination result.

さらに、コントローラと書換え可能な不揮発性半導体メモリとを有する記憶装置において、上記コントローラは、ホストインタフェース、上記不揮発性半導体メモリに接続するメモリインタフェース、上記ホストインタフェースと上記メモリインタフェースを制御するプロセッサ、上記プロセッサが実行可能な第1プログラムを保有する書き換え不可能なプログラムメモリ、及び上記プロセッサのワークRAMを含んで構成し、上記不揮発性半導体メモリには、上記プロセッサが実行可能な第2のプログラムを格納する第1領域と、コントローラ内部の機能設定用パラメータを格納する第2の領域とを形成する。そして上記プロセッサは、上記第1プログラムに従ったリセット例外処理にて、上記第1領域から上記ワークRAMへの上記第2プログラムの転送と、上記第2領域から上記コントローラ内部への機能設定用パラメータの転送とにより、上記コントローラの機能の変更及び拡張が可能にされる。このようにしてもホストコンピュータを介して不揮発性半導体メモリ内の上記パラメータブロックを書き換えるだけで上記コントローラの機能の変更及び拡張を行うことができる。   Further, in a storage device having a controller and a rewritable nonvolatile semiconductor memory, the controller includes a host interface, a memory interface connected to the nonvolatile semiconductor memory, a processor that controls the host interface and the memory interface, and the processor Includes a non-rewritable program memory having a first executable program and a work RAM of the processor, and the nonvolatile semiconductor memory stores a second program executable by the processor. A first area and a second area for storing function setting parameters in the controller are formed. In the reset exception processing according to the first program, the processor transfers the second program from the first area to the work RAM, and sets function parameters from the second area to the controller. By transferring the above, the function of the controller can be changed and expanded. Even in this way, it is possible to change and extend the function of the controller simply by rewriting the parameter block in the nonvolatile semiconductor memory via the host computer.

このとき、機能設定用パラメータの転送先は、上記ホストインタフェースのコントロールレジスタ領域、上記メモリインタフェースのコントロールレジスタ領域、及び上記ワークRAMの記憶領域のうちから選ばれた所定の領域とすることができる。   At this time, the function setting parameter transfer destination can be a predetermined area selected from the control register area of the host interface, the control register area of the memory interface, and the storage area of the work RAM.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、マイクロプロセッサのリセット例外処理においてパラメータブロックに基づいてレジスタの設定処理が行われるため、ホストコンピュータを介して不揮発性半導体メモリ内の上記パラメータブロックを書き換えるだけで、上記レジスタの設定内容を容易に変更することができ、それにより、従来のファームオンフラッシュ技術によらないで、記憶装置内部の機能変更を行うことができる。また、かかる機能変更はRAMの空き容量が無い場合でも可能となる。   That is, since the register setting process is performed based on the parameter block in the reset exception process of the microprocessor, the setting contents of the register can be easily changed only by rewriting the parameter block in the nonvolatile semiconductor memory via the host computer. It is possible to change the function of the storage device without relying on the conventional firmware-on-flash technology. Further, such a function change is possible even when there is no free space in the RAM.

図1には、本発明にかかる記憶装置の一例であるフラッシュメモリカードが示される。   FIG. 1 shows a flash memory card which is an example of a storage device according to the present invention.

図1において、1はホストコンピュータであり、2はこのホストコンピュータ1に着脱自在に結合されたフラッシュメモリカードである。このフラッシュメモリカード2とホストコンピュータ1とは標準バス101を介して各種信号のやり取りが可能とされる。特に制限されないが、上記ホストコンピュータ1は、パーソナルコンピュータとされる。   In FIG. 1, 1 is a host computer, and 2 is a flash memory card detachably coupled to the host computer 1. Various signals can be exchanged between the flash memory card 2 and the host computer 1 via the standard bus 101. Although not particularly limited, the host computer 1 is a personal computer.

フラッシュメモリカード2は、不揮発性半導体メモリの一例とされるフラッシュメモリ22と、このフラッシュメモリカード2の動作制御のためのコントローラ21とを含む。このコントローラ21とフラッシュメモリ22とは、フラッシュバス102を介して各種信号のやり取りが可能とされる。ここで、上記フラッシュメモリが、本発明における不揮発性半導体メモリの一例とされる。   The flash memory card 2 includes a flash memory 22 which is an example of a nonvolatile semiconductor memory, and a controller 21 for controlling the operation of the flash memory card 2. Various signals can be exchanged between the controller 21 and the flash memory 22 via the flash bus 102. Here, the flash memory is an example of the nonvolatile semiconductor memory in the present invention.

フラッシュメモリ22は、ユーザ情報の記憶を可能とするユーザ記憶領域223とは別に、ファームオンフラッシュ技術で使用される修正モジュールの格納領域であるFOF領域221(第1領域)と、後述するレジスタの設定変更を可能とするパラメータブロックの格納領域であるレジスタ設定領域222(第2領域)とが形成される。上記パラメータブロックの内容変更はホストコンピュータ1からフラッシュメモリカード2に対して発行される所定コマンドを用いて行うことができる。そのようなパラメータブロックには、レジスタを特定するためのアドレス情報と、上記レジスタへの設定内容と、上記内容を上記レジスタに設定するか否かの識別情報が含まれる。このとき、上記マイクロプロセッサ24は上記識別情報を判別し、その判別結果に基づいて、対応するレジスタの設定が行われる。   The flash memory 22 has a FOF area 221 (first area), which is a storage area for correction modules used in the firmware-on-flash technology, in addition to a user storage area 223 that can store user information. A register setting area 222 (second area), which is a parameter block storage area that allows setting changes, is formed. The contents of the parameter block can be changed using a predetermined command issued from the host computer 1 to the flash memory card 2. Such a parameter block includes address information for specifying a register, setting contents for the register, and identification information as to whether or not to set the contents in the register. At this time, the microprocessor 24 discriminates the identification information, and the corresponding register is set based on the discrimination result.

特に制限されないが、上記コントローラ21は、ファームウェアを格納するプログラムメモリとしてのROM(リードオンリーメモリ)25、ファームオンフラッシュ技術における修正モジュールの記憶エリアやプロセッサ24での演算処理のワークエリアとして利用されるワークRAM(ランダムアクセスメモリ)26、上記ROM25に格納されているファームウェアを処理可能なマイクロプロセッサ24、パッド(PAD)29を介して結合されたホストコンピュータ1との間でデータのやり取りを可能とするためのホストインタフェース27、パッド(PAD)30を介して結合されたフラッシュメモリ22との間でデータのやり取りを可能とするためのフラッシュインタフェース28、及び転送データの一時記憶のために利用されるデータバッファ23などを含む。   Although not particularly limited, the controller 21 is used as a ROM (Read Only Memory) 25 as a program memory for storing firmware, a storage area for correction modules in the firmware on flash technology, and a work area for arithmetic processing in the processor 24. Data can be exchanged between a work RAM (random access memory) 26, a microprocessor 24 capable of processing firmware stored in the ROM 25, and a host computer 1 coupled via a pad (PAD) 29. Host interface 27, flash interface 28 for enabling data exchange with flash memory 22 coupled via pad (PAD) 30, and temporary storage of transfer data. Including data buffer 23.

ホストインタフェース27は、このホストインタフェース27の機能設定や機能拡張に関する各種レジスタ(REG)271を含んで成る。特に制限されないが、上記レジスタ271には、ホストコンピュータ1に対して各種信号を伝達するためのドライバの駆動能力を設定可能なホストI/Oドライブレジスタ、システムクロック信号の周波数を設定可能なシステム分周レジスタ、クロック発信停止のクロック数を設定可能なシステムクロックレジスタが含まれ、それらはマイクロプロセッサ24のリセット例外処理において上記フラッシュメモリ22におけるレジスタ設定領域222の設定情報に従って設定可能とされる。   The host interface 27 includes various registers (REG) 271 relating to function setting and function expansion of the host interface 27. Although not particularly limited, the register 271 includes a host I / O drive register capable of setting a driving capability of a driver for transmitting various signals to the host computer 1 and a system component capable of setting a frequency of a system clock signal. A peripheral clock and a system clock register capable of setting the number of clocks for stopping clock transmission are included, and these can be set according to the setting information in the register setting area 222 in the flash memory 22 in the reset exception processing of the microprocessor 24.

また、フラッシュインタフェース28は、このフラッシュインタフェース28の機能設定や機能拡張に関する各種レジスタ(REG)281を備える。特に制限されないが、上記レジスタ281には、フラッシュメモリ22に対して各種信号を伝達するためのドライバの駆動能力を設定可能なフラッシュI/Oドライブレジスタが含まれる。   Further, the flash interface 28 includes various registers (REG) 281 relating to function setting and function expansion of the flash interface 28. Although not particularly limited, the register 281 includes a flash I / O drive register capable of setting a driving capability of a driver for transmitting various signals to the flash memory 22.

さらに、上記RAM26の記憶領域の一部を利用して、ECC(エラー訂正コード)不可エラーデータ出力の有効・無効の識別情報の記憶エリアや、ウェアレベリング回数情報の記憶エリア、バンク当たりのデータブロック数情報の記憶エリアが形成される。このような記憶エリアもレジスタと見ることができ、かかるレジスタも、上記フラッシュメモリ22におけるレジスタ設定領域222の設定情報に従って設定可能とされる。   Further, by using a part of the storage area of the RAM 26, a storage area for valid / invalid identification information for ECC (error correction code) impossible error data output, a storage area for wear leveling count information, a data block per bank A storage area for numerical information is formed. Such a storage area can also be regarded as a register, and such a register can also be set according to the setting information in the register setting area 222 in the flash memory 22.

図2には上記ROM25に格納されているファームウェアの内部構成例が示される。   FIG. 2 shows an example of the internal configuration of the firmware stored in the ROM 25.

図2に示されるように、ROM25に格納されているファームウェア201には、電源オン処理モジュール、初期ジャンプテーブル、初期モジュール1,…,初期モジュールkが含まれる。電源オン処理モジュールは、電源オン処理時に実行されるモジュールである。初期ジャンプテーブルは、初期モジュール1,…,初期モジュールkのアドレスを示している。初期モジュール1,…,初期モジュールkは、機能ごとに分割されたプログラムである。   As shown in FIG. 2, the firmware 201 stored in the ROM 25 includes a power-on processing module, an initial jump table, initial modules 1,. The power-on process module is a module that is executed during the power-on process. The initial jump table indicates the addresses of the initial modules 1,. The initial modules 1,..., And the initial module k are programs divided for each function.

図3には、ROM25に格納されているリセット例外処理プログラム(電源オン処理モジュール)を処理する処理するマイクロプロセッサのフローチャートが示される。   FIG. 3 shows a flowchart of the microprocessor for processing the reset exception processing program (power-on processing module) stored in the ROM 25.

まず、ステップ301において、このフラッシュメモリカード2の各部についての初期設定が行われる。この初期設定には、ホストインタフェース27やフラッシュインタフェース28内のレジスタ271,281や、RAM26、さらにはマイクロプロセッサ24の内部レジスタの初期設定が含まれる。   First, in step 301, initial setting for each part of the flash memory card 2 is performed. This initial setting includes initial setting of the registers 271 and 281 in the host interface 27 and the flash interface 28, the RAM 26, and further the internal registers of the microprocessor 24.

次いで、ステップ302において、ROM25に格納されている初期ジャンプテーブルがRAM26にコピーされる。   Next, at step 302, the initial jump table stored in the ROM 25 is copied to the RAM 26.

ステップ303では、フラッシュメモリ22の修正されたファームウェアが格納されているブロックアドレスnの修正ファーム管理部をデータバッファ23に転送している。その後、マイクロプロセッサ24は、データバッファ23に転送された修正ファーム管理部の修正ファーム有無フラグをリードし、フラッシュメモリ22のブロックアドレスnに修正されたモジュールやジャンプテーブルが格納されているかどうかを確認する(ステップ304)。   In step 303, the modified firmware management unit of the block address n storing the modified firmware of the flash memory 22 is transferred to the data buffer 23. Thereafter, the microprocessor 24 reads the correction firmware presence / absence flag of the correction firmware manager transferred to the data buffer 23, and checks whether the corrected module or jump table is stored in the block address n of the flash memory 22. (Step 304).

修正されたモジュールやジャンプテーブルがフラッシュメモリ22のブロックアドレスnに格納されている場合には、ステップ305及びステップ306の処理が行われる。ステップ305では、フラッシュメモリ22の修正されたファームウェアが格納されているブロックアドレスnの修正ファームウェア格納部をデータバッファ23に転送している。ステップ306では、データバッファ23に転送された修正ファームウェア格納部をRAM26にコピーしている。   When the corrected module or jump table is stored at the block address n of the flash memory 22, the processing of step 305 and step 306 is performed. In step 305, the modified firmware storage unit of the block address n in which the modified firmware of the flash memory 22 is stored is transferred to the data buffer 23. In step 306, the modified firmware storage unit transferred to the data buffer 23 is copied to the RAM 26.

ここで、ステップ302でROM25からコピーされた初期ジャンプテーブルは、フラッシュメモリ22に格納されていた修正ジャンプテーブルに書き替えられる。このようにして従来のファームオンフラッシュ技術による機能変更を行うことができる。   Here, the initial jump table copied from the ROM 25 in step 302 is rewritten to the modified jump table stored in the flash memory 22. In this way, the function can be changed by the conventional firmware on flash technology.

そして、ステップ306の処理が終了した後は、レジスタの設定内容の変更が必要に応じて行われる。つまり、ステップ301で初期設定されたレジスタの設定内容を変更する必要がある場合には、上記ファームオンフラッシュ技術による変更処理(ステップ304〜306)とは別個の処理として以下のように実行される。   Then, after the processing of step 306 is completed, the setting contents of the register are changed as necessary. In other words, when it is necessary to change the register settings initially set in step 301, the processing is executed as follows as a process separate from the change process (steps 304 to 306) by the firmware-on-flash technique. .

レジスタ設定領域222におけるパラメータブロックがチェックされ、RAM26におけるエリアの変更についてデータの設定があるか否かの判別が行われる(ステップ307)。この判別においてデータの設定があると判断された場合には、レジスタ設定領域222から該当データが読み出され、RAM26に設定される。   The parameter block in the register setting area 222 is checked, and it is determined whether or not there is data setting for changing the area in the RAM 26 (step 307). If it is determined in this determination that data is set, the corresponding data is read from the register setting area 222 and set in the RAM 26.

次に、ホストコンピュータ1からフラッシュメモリカード2に供給される電源電圧(供給電圧)のレベルチェックが行われる(ステップ309)。この供給電圧が2.4V以上の場合には、3V系のドライブ能力が発揮されるよう、該当データがレジスタ設定領域222から読み出されてレジスタ271(ホストI/Oドライブレジスタ)やレジスタ281(フラッシュI/Oドライブレジスタ)に設定される。また、上記供給電圧が2.4Vに達していない場合には、1.8V系のドライブ能力が発揮されるよう、該当データがレジスタ設定領域222から読み出されてレジスタ271(ホストI/Oドライブレジスタ)やレジスタ281(フラッシュI/Oドライブレジスタ)に設定される。これにより、そのときの供給電圧に適したドライブ能力が設定される。   Next, the level of the power supply voltage (supply voltage) supplied from the host computer 1 to the flash memory card 2 is checked (step 309). When the supply voltage is 2.4 V or higher, the corresponding data is read from the register setting area 222 so that the 3V drive capability is exhibited, and the register 271 (host I / O drive register) or the register 281 ( Flash I / O drive register). If the supply voltage does not reach 2.4V, the corresponding data is read from the register setting area 222 and the register 271 (host I / O drive) so that 1.8V drive capability can be exhibited. Register) and register 281 (flash I / O drive register). Thereby, the drive capability suitable for the supply voltage at that time is set.

次に、上記パラメータブロックのチェックにより、レジスタの変更についてデータの設定があるか否かの判別が行われる(ステップ312)。この判別において、データの設定があると判断された場合には、該当データがレジスタ設定領域222から読み出されて、それが対応レジスタに設定される。そして、他に処理に移行される。また、上記ステップ312の判別においてデータの設定が無いと判断された場合にはレジスタの設定変更が行われることなく他の処理に移行される。   Next, by checking the parameter block, it is determined whether or not data is set for register change (step 312). In this determination, if it is determined that data is set, the corresponding data is read from the register setting area 222 and set in the corresponding register. Then, the process proceeds to other processing. If it is determined in step 312 that there is no data setting, the process shifts to another process without changing the register setting.

上記の例によれば、以下の作用効果を得ることができる。   According to the above example, the following effects can be obtained.

(1)フラッシュメモリ22に、レジスタの設定の変更を可能とするパラメータブロックの記憶エリアであるレジスタ設定領域が形成され、マイクロプロセッサ24のリセット例外処理において上記パラメータブロックに基づいて上記レジスタの設定処理が行われるため、ホストコンピュータ1を介して上記パラメータブロックを書き換えるだけで、上記レジスタの設定内容を容易に変更することができる。   (1) The flash memory 22 is provided with a register setting area which is a parameter block storage area that allows register settings to be changed. In the reset exception process of the microprocessor 24, the register setting process is performed based on the parameter block. Therefore, the setting contents of the register can be easily changed simply by rewriting the parameter block via the host computer 1.

(2)上記(1)の作用効果により、従来のファームオンフラッシュ技術によらないで、記憶装置内部の機能変更が可能になる。   (2) The function and effect of the above (1) makes it possible to change the function inside the storage device without using the conventional firmware-on-flash technique.

(3)上記(2)の作用効果により、従来のファームオンフラッシュ技術での貴重な資源であるRAM26やフラッシュメモリ22の空き容量を圧迫しないで済む。   (3) Due to the effect of the above (2), it is not necessary to press the free capacity of the RAM 26 and the flash memory 22 which are valuable resources in the conventional farm-on-flash technology.

以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.

例えば、上記フラッシュメモリ22におけるレジスタ設定領域222の設定情報に従って設定可能なオプションレジスタを設け、このオプションレジスタの変更によりファームウェアの変更を行うようにしても良い。例えばデフォルトでは、フラッシュメモリカード2がパスワードによりロックされている状態でリード動作は禁止されるが、上記オプションレジスタの書き換えによりリード動作を許可するようにしても良い。また、デフォルトでは、フラッシュメモリカード2がパスワードによりロックされている状態でパスワードとともにデータを消去する(フォーシングイレース)のは許可されるが、これを上記オプションレジスタの書き換えにより禁止するようにしても良い。   For example, an option register that can be set according to the setting information in the register setting area 222 in the flash memory 22 may be provided, and the firmware may be changed by changing the option register. For example, by default, the read operation is prohibited when the flash memory card 2 is locked by a password, but the read operation may be permitted by rewriting the option register. Further, by default, it is permitted to erase data along with the password (forcing erase) while the flash memory card 2 is locked by the password, but this may be prohibited by rewriting the option register. good.

以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるフラッシュメモリカードに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種記憶装置に広く適用することができる。   In the above description, the case where the invention made mainly by the present inventor is applied to the flash memory card, which is the field of use behind the present invention, has been described. However, the present invention is not limited to this and is widely applied to various storage devices. Can be applied.

本発明は、ホストコンピュータによってデータの書き換えが可能な不揮発性半導体メモリを含むことを条件に適用することができる。   The present invention can be applied on the condition that a nonvolatile semiconductor memory in which data can be rewritten by a host computer is included.

本発明にかかる記憶装置の一例であるフラッシュメモリカードの構成例ブロック図である。1 is a block diagram illustrating a configuration example of a flash memory card which is an example of a storage device according to the present invention. 上記フラッシュメモリカードに含まれるROMに格納されているファームウェアの内部構成例説明図である。It is explanatory drawing of the internal structure example of the firmware stored in ROM contained in the said flash memory card. 上記ROMに格納されている電源オン処理モジュールを処理するマイクロプロセッサのフローチャートである。It is a flowchart of the microprocessor which processes the power-on process module stored in the said ROM.

符号の説明Explanation of symbols

1 ホストコンピュータ
2 フラッシュメモリカード
21 コントローラ
22 フラッシュメモリ
23 データバッファ
24 マイクロプロセッサ
25 ROM
26 RAM
27 ホストインタフェース
28 フラッシュインタフェース
29,30 PAD
221 FOF領域
222 レジスタ設定領域
223 ユーザ記憶領域
271,281 レジスタ
1 Host computer 2 Flash memory card 21 Controller 22 Flash memory 23 Data buffer 24 Microprocessor 25 ROM
26 RAM
27 Host interface 28 Flash interface 29, 30 PAD
221 FOF area 222 Register setting area 223 User storage area 271 281 register

Claims (5)

ホストコンピュータによってデータの書き換えが可能な不揮発性半導体メモリと、ファームウェアを格納する書き換え不可能なプログラムメモリと、上記ファームウェアを処理するためのマイクロプロセッサと、上記マイクロプロセッサのリセット例外処理によって設定されるレジスタと、を含み、
上記不揮発性半導体メモリは、上記レジスタの設定の変更を可能とするパラメータブロックの記憶エリアを含み、
上記マイクロプロセッサのリセット例外処理において上記パラメータブロックに基づいて上記レジスタの設定処理が行われる、記憶装置。
Nonvolatile semiconductor memory capable of rewriting data by a host computer, non-rewritable program memory for storing firmware, a microprocessor for processing the firmware, and a register set by reset exception processing of the microprocessor And including
The nonvolatile semiconductor memory includes a parameter block storage area that allows the setting of the register to be changed,
A storage device in which the register setting process is performed based on the parameter block in the reset exception process of the microprocessor.
上記ホストコンピュータとの間で信号のやり取りを可能とする第1インタフェースと、上記不揮発性半導体メモリとの間で信号のやり取りを可能とする第2インタフェースと、上記マイクロプロセッサのワークエリアとして使用されるワークRAMとを含み、
上記レジスタには、上記第1インタフェース及び上記第2インタフェースに含まれる各種レジスタ、及び上記ワークRAMにおける記憶領域の一部が含まれる、請求項1記載の記憶装置。
Used as a work area for the microprocessor, a first interface capable of exchanging signals with the host computer, a second interface capable of exchanging signals with the nonvolatile semiconductor memory Work RAM,
The storage device according to claim 1, wherein the register includes various registers included in the first interface and the second interface, and a part of a storage area in the work RAM.
上記パラメータブロックには、上記レジスタを特定するためのアドレス情報と、上記レジスタへの設定内容と、上記内容を上記レジスタに設定するか否かの識別情報が含まれ、上記マイクロプロセッサは上記識別情報を判別し、その判別結果に応じて、対応するレジスタの設定を行う、請求項2記載の記憶装置。 The parameter block includes address information for specifying the register, setting contents for the register, and identification information as to whether or not to set the contents in the register. The microprocessor stores the identification information. The storage device according to claim 2, wherein the corresponding register is set according to the determination result. コントローラと書換え可能な不揮発性半導体メモリとを有する記憶装置であって、
上記コントローラは、ホストインタフェース、上記不揮発性半導体メモリに接続するメモリインタフェース、上記ホストインタフェースと上記メモリインタフェースを制御するプロセッサ、上記プロセッサが実行可能な第1プログラムを保有する書き換え不可能なプログラムメモリ、及び上記プロセッサのワークRAMを有し、
上記不揮発性半導体メモリは、上記プロセッサが実行可能な第2のプログラムを格納する第1領域と、コントローラ内部の機能設定用パラメータを格納する第2の領域とを有し、
上記プロセッサは、上記第1プログラムに従ったリセット例外処理にて、上記第1領域から上記ワークRAMへの上記第2プログラムの転送と、上記第2領域から上記コントローラ内部への機能設定用パラメータの転送とにより、上記コントローラの機能の変更及び拡張が可能にされる、記憶装置。
A storage device having a controller and a rewritable nonvolatile semiconductor memory,
The controller includes a host interface, a memory interface connected to the nonvolatile semiconductor memory, a processor for controlling the host interface and the memory interface, a non-rewritable program memory having a first program executable by the processor, and A work RAM for the processor;
The nonvolatile semiconductor memory has a first area for storing a second program that can be executed by the processor, and a second area for storing a function setting parameter inside the controller.
In the reset exception processing according to the first program, the processor transfers the second program from the first area to the work RAM, and sets function setting parameters from the second area to the controller. A storage device in which the function of the controller can be changed and expanded by the transfer.
機能設定用パラメータの転送先は、上記ホストインタフェースのコントロールレジスタ領域、上記メモリインタフェースのコントロールレジスタ領域、及び上記ワークRAMの記憶領域のうちから選ばれた所定の領域である、請求項4記載の記憶装置。
5. The storage according to claim 4, wherein the function setting parameter transfer destination is a predetermined area selected from a control register area of the host interface, a control register area of the memory interface, and a storage area of the work RAM. apparatus.
JP2004043946A 2004-02-20 2004-02-20 Storage device Withdrawn JP2005234928A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004043946A JP2005234928A (en) 2004-02-20 2004-02-20 Storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004043946A JP2005234928A (en) 2004-02-20 2004-02-20 Storage device

Publications (1)

Publication Number Publication Date
JP2005234928A true JP2005234928A (en) 2005-09-02

Family

ID=35017823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004043946A Withdrawn JP2005234928A (en) 2004-02-20 2004-02-20 Storage device

Country Status (1)

Country Link
JP (1) JP2005234928A (en)

Similar Documents

Publication Publication Date Title
JP4129381B2 (en) Nonvolatile semiconductor memory device
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
US7117328B2 (en) Non-volatile data storage system and data storaging method
US7290097B2 (en) Nonvolatile memory
KR100316981B1 (en) Microcomputer provided with flash memory and method of storing program into flash memory
KR20070060101A (en) Systems and methods for providing nonvolatile memory management in wireless phones
JP2008134736A (en) Electronic equipment
JP2008065434A (en) Program start control device
JP2010140266A (en) Electronic device system and electronic device
JP2000099405A (en) Electronic equipment having flash memory
TWI473103B (en) Flash memory storage device and method for determining bad storage area thereof
US20080195893A1 (en) A repairable semiconductor memory device and method of repairing the same
JP2005071303A (en) Program starting device
JP2007310916A (en) Memory card
JP2010086009A (en) Storage device and memory control method
JP2004220068A (en) Memory card and method for writing data in memory
JP2007034581A (en) Memory controller, flash memory system and method for controlling flash memory
JP2008251154A (en) Nonvolatile semiconductor memory device
JP4661369B2 (en) Memory controller
KR20180066601A (en) Method of driving memory system
JP4544167B2 (en) Memory controller and flash memory system
JP2009176147A (en) Electronic equipment and method for determining permission of access to memory of electronic equipment
JPH11265283A (en) Correction method for firmware in storage device, and storage device
JP4655034B2 (en) Memory controller, flash memory system, and flash memory control method
JP2005234928A (en) Storage device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070501