JP2009211245A - Flash memory control system and control method - Google Patents

Flash memory control system and control method Download PDF

Info

Publication number
JP2009211245A
JP2009211245A JP2008051667A JP2008051667A JP2009211245A JP 2009211245 A JP2009211245 A JP 2009211245A JP 2008051667 A JP2008051667 A JP 2008051667A JP 2008051667 A JP2008051667 A JP 2008051667A JP 2009211245 A JP2009211245 A JP 2009211245A
Authority
JP
Japan
Prior art keywords
read
unit
flash memory
data
write
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
JP2008051667A
Other languages
Japanese (ja)
Inventor
Takayuki Oguri
孝之 小栗
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.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
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 NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2008051667A priority Critical patent/JP2009211245A/en
Publication of JP2009211245A publication Critical patent/JP2009211245A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a flash memory control system and control method, allowing effective protection of read-dedicated data without consuming memory capacity of a flash memory. <P>SOLUTION: This flash memory control system is provided with a read/write part 117 as a virtual function and a read-dedicated part 118 as a virtual function in a data area 114 of the flash memory 114, and has: a read/write part driver 108 for accessing the read/write part 117; a read-dedicated part driver 109 for accessing the read-dedicated part 118; and an alias part 106 sending a read or write instruction of data to any driver. The read-dedicated part driver 109 materializes the access to the read-dedicated part 118 only to the read instruction. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明はフラシュメモリを有する情報処理装置に係り、特にフラッシュメモリの制御方法および制御システムに関する。   The present invention relates to an information processing apparatus having a flash memory, and more particularly to a flash memory control method and control system.

一般に、フラッシュメモリは1つ以上のフラッシュメモリデバイスで構成され、フラッシュメモリデバイスは、内部の管理単位として、ブロック、 ページ、 セクタ等の単位を有する。1つのブロックの中に複数のページが含まれ、1つのページに複数のセクタが含まれる。セクタは情報処理装置が扱う単位であり、ブロックおよびページはフラッシュメモリのイレ−ス単位である。   Generally, a flash memory is composed of one or more flash memory devices, and the flash memory device has units such as blocks, pages, and sectors as internal management units. A plurality of pages are included in one block, and a plurality of sectors are included in one page. A sector is a unit handled by the information processing apparatus, and a block and a page are flash memory erase units.

図8は、フラッシュメモリの一般的な論理的構造を示す模式図である。ここでは、中央処理装置CPU801がフラッシュメモリ802を制御するものとする。フラッシュメモリ802は、図示するようにデータ領域803とスペア領域804とに論理的に分けられている。後述するように、1つのブロック(またはページ)は、そのときの状態に応じて、スペア領域804かデータ領域803のどちらかに属する。CPU801のアプリケーションは、データ領域803に属するブロックを読み込むことはできるが、スペア領域に属するブロックを読み取ることはできない。   FIG. 8 is a schematic diagram showing a general logical structure of a flash memory. Here, it is assumed that the central processing unit CPU 801 controls the flash memory 802. The flash memory 802 is logically divided into a data area 803 and a spare area 804 as shown in the figure. As will be described later, one block (or page) belongs to either the spare area 804 or the data area 803 depending on the state at that time. The application of the CPU 801 can read a block belonging to the data area 803, but cannot read a block belonging to the spare area.

データ領域803とスペア領域804との間ではブロック(またはページ)の移動がある。この移動は、フラッシュメモリのイレ−ス可能な回数が少ないので、フラッシュメモリ全体を順繰りに使って特定の部分が壊れないようにする仕組みである。この仕組みはフラッシュメモリの使用できる容量を減らさない書き込み仕様として一般的なものである。   There is a block (or page) movement between the data area 803 and the spare area 804. This movement is a mechanism for preventing a specific part from being broken by using the entire flash memory in order because the number of times the flash memory can be erased is small. This mechanism is a general writing specification that does not reduce the usable capacity of the flash memory.

ブロック(またはページ)の移動はセクタ内容の更新をするときに発生する。以下、図8に示すように、CPU801がブロックaのセクタi+1の内容を更新する際、データ領域803とスペア領域804との間で発生するブロックの移動について簡単に説明をする。   Block (or page) movement occurs when updating the sector contents. Hereinafter, as shown in FIG. 8, when the CPU 801 updates the contents of the sector i + 1 of the block a, a block movement that occurs between the data area 803 and the spare area 804 will be briefly described.

図9はセクタ内容の更新およびブロック移動の通常の手順を説明するための説明図である。最初にスペア領域804のブロックbのデータを削除し、全て消えたことを確認する(ステップ9−1)。 続いて、データ領域803にあるブロックa内の更新しないセクタi, i+2, …, i+mのデータをブロックbにコピ−し(ステップ9−2)、更新するデータのセクタi+1’をブロックbに書込む(ステップ9−3)。   FIG. 9 is an explanatory diagram for explaining normal procedures for updating sector contents and moving blocks. First, the data of block b in the spare area 804 is deleted, and it is confirmed that all data has been deleted (step 9-1). Subsequently, the data of sectors i, i + 2,..., I + m that are not updated in the block a in the data area 803 are copied to the block b (step 9-2), and the sector i + 1 of the data to be updated is copied. 'Is written in the block b (step 9-3).

次に、いままで使用していたブロックaを未使用に変更してスペア領域804のブロックとして扱うとともに(ステップ9−4)、スペア領域804にあって書込が行われたブロックbをデータ領域803のブロックとして扱う(ステップ9−5)。こうしてCPU801のアプリケーションは、セクタi+1’が更新されたブロックbをデータ領域803のデータとして読み取ることが可能となる。   Next, the block a used so far is changed to unused and handled as a block in the spare area 804 (step 9-4), and the block b in the spare area 804 where data has been written is used as the data area. Treated as a block 803 (step 9-5). In this way, the application of the CPU 801 can read the block b in which the sector i + 1 ′ is updated as data in the data area 803.

ところで、このようなデータの書込み中に情報処理装置の電源がOFFになると、データ書込み処理は、通常、装置内に残った電力によって実行されるが、その際、ステップ9−4まで実行されて停止する可能性がある。ステップ9−4は、いままで使用していたブロックaを未使用に変更した直後に電源が切れた状態であるから、データ領域803には有効なデータの入ったブロックがなくなっている。この状態では、有効なデータが入ったブロックがブロックaなのかブロックbなのか、あるいはそれ以外なのかを判別することができない。そこで、このような電源断発生時のデータの消失あるいは破壊を防止しようとする技術がいくつか提案されている。   By the way, when the power of the information processing apparatus is turned off during such data writing, the data writing process is normally executed by the power remaining in the apparatus, but at that time, it is executed until step 9-4. May stop. Step 9-4 is a state in which the power is turned off immediately after the block “a” used so far is changed to “unused”, so that there is no block containing valid data in the data area 803. In this state, it cannot be determined whether the block containing valid data is the block a, the block b, or any other block. Therefore, several techniques have been proposed for preventing the loss or destruction of data when such a power interruption occurs.

特許文献1に開示されたフラッシュメモリの管理方法では、スペア領域に論理アドレスを記録しておくことで、フラッシュメモリの更新中に電源断されてもスペア領域に存在する論理アドレスによりアドレス変換テ−ブルを容易に復元することができる。これによって上述したデータ化けやデータロストを回避することが可能となる。   In the flash memory management method disclosed in Patent Document 1, a logical address is recorded in the spare area, so that even if the power is cut off during the flash memory update, the address conversion test is performed by the logical address existing in the spare area. Bull can be restored easily. This makes it possible to avoid the above-mentioned data corruption and data loss.

特許文献2に開示されたメモリシステムでは、簡易のライトバックキャッシュと補助電源とを設け、電源の供給がなくなったときにキャッシュからフラッシュメモリに対して確実にデータを書込みができるようにする。   In the memory system disclosed in Patent Document 2, a simple write-back cache and an auxiliary power supply are provided so that data can be reliably written from the cache to the flash memory when power is not supplied.

特開2003−167795号公報Japanese Patent Application Laid-Open No. 2003-167775 特開平10−240633号公報JP-A-10-240633

しかしながら、特許文献1に開示された方法では、論理アドレスを記憶する領域などが必要となってフラッシュメモリ内部のメモリ消費量が多くなり、コストも高くなる。また、未使用になったデータ領域やスペア領域の回収・再利用に工夫が必須となるので、更新するデータ量に依って性能が低下する可能性がある。   However, the method disclosed in Patent Document 1 requires an area for storing a logical address, which increases the memory consumption in the flash memory and increases the cost. In addition, since it is essential to collect and reuse unused data areas and spare areas, there is a possibility that the performance may deteriorate depending on the amount of data to be updated.

また特許文献2に開示されたメモリシステムでは、キャッシュおよび補助電源というハ−ドウエア回路を追加するために、一般的なフラッシュメモリよりも部品が多くなり、コストも高いものとなる。   Further, in the memory system disclosed in Patent Document 2, since hardware circuits such as a cache and an auxiliary power supply are added, the number of components is increased and the cost is higher than that of a general flash memory.

また、特許文献1および2に開示された方法では、ライト(書込)不可のリード専用データを考慮した管理を行っていないために、セキュリティの面で十分でない。たとえば、図9に示すステップ9−4の場合、更新されたセクタi+1に続くセクタi+2のデータがリード専用のデータであった場合、アプリケーションからは、データ更新に全く関係のないリード専用ファイルの一部がロストしたように見える。   In addition, the methods disclosed in Patent Documents 1 and 2 are not sufficient in terms of security because management is not performed in consideration of read-only data that cannot be written (written). For example, in the case of step 9-4 shown in FIG. 9, when the data in sector i + 2 following updated sector i + 1 is read-only data, the application reads data that has nothing to do with data update. It seems that part of the dedicated file is lost.

リード専用に使われるデータはソフトウエアやシステムデータ等の重要なデータであることも多いため、このデータが化けたりロストしたりすることは、情報処理装置が動かなくなる、ソフトウエアが正常に動作できなくなる、あるいはソフトウエアが起動できなくなる等の問題を引き起こす可能性が高くなる。   Since data used exclusively for reading is often important data such as software and system data, if this data is garbled or lost, the information processing device will not work, and the software can operate normally. There is a high possibility of causing problems such as disappearance or inability to start software.

そこで、本発明の目的は、フラッシュメモリのメモリ容量を消費することなくリード専用のデータを有効に保護することができるフラッシュメモリ制御システムおよび制御方法を提供することにある。   Accordingly, an object of the present invention is to provide a flash memory control system and a control method capable of effectively protecting read-only data without consuming the memory capacity of the flash memory.

本発明によるフラッシュメモリ制御システムは、フラッシュメモリのデータ領域に仮想機能としてのリードライト部と仮想機能としてのリード専用部とが設けられ、前記リードライト部にアクセスするための第1仮想ドライバと、前記リード専用部にアクセスするための第2仮想ドライバと、データのリードあるいはライト指示を前記第1および第2仮想ドライバのいずれか一方へ送る切替手段と、を有し、前記第2仮想ドライバはリード指示に対してのみ前記リード専用部へのアクセスを実現することを特徴とする。   The flash memory control system according to the present invention is provided with a read / write unit as a virtual function and a read-only unit as a virtual function in a data area of the flash memory, and a first virtual driver for accessing the read / write unit, A second virtual driver for accessing the read-only unit; and a switching means for sending a data read or write instruction to one of the first and second virtual drivers. The second virtual driver Access to the read dedicated part is realized only for a read instruction.

本発明によりフラッシュメモリのメモリ容量を消費することなくリード専用のデータを有効に保護することができる。   According to the present invention, read-only data can be effectively protected without consuming the memory capacity of the flash memory.

1.一実施形態
1.1)構成
図1は本発明の一実施形態によるフラッシュメモリ制御システムを適用した情報処理装置の概略的構成を示すブロック図である。情報処理装置101はCPU102および外部メモリ103を有する。CPU102は、アプリケーション、ドライバおよびOS(Operating System)を実行するプログラム制御プロセッサであり、外部メモリ103はCPU102と外部バスで接続された外部記憶装置であり、アプリケーションやOS等のプログラム、アプリケーションが使用するデータやシステムデータなどを格納する。
1. 1. Embodiment 1.1) Configuration FIG. 1 is a block diagram showing a schematic configuration of an information processing apparatus to which a flash memory control system according to an embodiment of the present invention is applied. The information processing apparatus 101 includes a CPU 102 and an external memory 103. The CPU 102 is a program control processor that executes applications, drivers, and an OS (Operating System). The external memory 103 is an external storage device connected to the CPU 102 via an external bus, and is used by programs and applications such as applications and OSs. Stores data and system data.

CPU102は内部メモリ104を含み、内部メモリ104は、アプリケーション105、エイリアス部106、ファイルシステム107、リードライト部ドライバ108、リード専用部ドライバ109、バスドライバ110、およびローダ111を含み、ローダ111はローダ・リード専用部アクセスデータ部112を含む。   The CPU 102 includes an internal memory 104. The internal memory 104 includes an application 105, an alias unit 106, a file system 107, a read / write unit driver 108, a read-only unit driver 109, a bus driver 110, and a loader 111. The loader 111 is a loader 111. A read-only part access data part 112 is included.

外部メモリ103は、制御ソフト113およびフラッシュメモリ114を含み、フラッシュメモリ114はデータ部115およびスペア部116を含む。データ部115はリードライト部117とリード専用部118とを含み、互いに影響を与えないようにレイアウトされている。すなわち、リードライト部117とリード専用部118とはフラッシュメモリの消去単位であるブロックまたはページ単位で区切られていて、リードライト部117とリード専用部118とに跨ったブロックあるいはページが存在しない構造を有している。   The external memory 103 includes control software 113 and a flash memory 114, and the flash memory 114 includes a data unit 115 and a spare unit 116. The data portion 115 includes a read / write portion 117 and a read dedicated portion 118, and is laid out so as not to affect each other. That is, the read / write unit 117 and the read-only unit 118 are divided in units of blocks or pages, which are erase units of the flash memory, and there are no blocks or pages straddling the read / write unit 117 and the read-only unit 118. have.

内部メモリ104におけるアプリケーション105は、情報処理装置101の目的および用途に従って設けられたモジュールである。   The application 105 in the internal memory 104 is a module provided according to the purpose and use of the information processing apparatus 101.

エイリアス部106は、アプリケーション105からリード(読込み)あるいはライト(書込み)を指示されたファイルのファイル名を変換することによって、リードライト部ドライバ108あるいはリード専用部ドライバ109のいずれを経由してファイルをアクセスすべきかをファイルシステム107に対して指示をするパス切替機能を有する。ファイルシステム107は、アプリケーション105の扱うファイルをセクタに分解したり、逆にセクタを1つのファイルにまとめたりする機能を有する。   The alias unit 106 converts the file name of the file for which reading (reading) or writing (writing) is instructed from the application 105, so that the file is transferred via either the read / write unit driver 108 or the read-only unit driver 109. It has a path switching function for instructing the file system 107 whether to access. The file system 107 has a function of decomposing a file handled by the application 105 into sectors, or consolidating the sectors into one file.

ファイルシステム107、リードライト部ドライバ108およびリード専用部ドライバ109により、リードライト部117とリード専用部118とを別々の仮想外部メモリとしてアプリケーション105に提供することができる。また、CPU102から見える論理構造としては、リードライト部117はファイルシステム107で管理され、リード専用部118はファイルシステム107の管理外に存在する。   The file system 107, the read / write unit driver 108, and the read-only unit driver 109 can provide the read / write unit 117 and the read-only unit 118 to the application 105 as separate virtual external memories. As a logical structure that can be seen from the CPU 102, the read / write unit 117 is managed by the file system 107, and the read-only unit 118 is outside the management of the file system 107.

リードライト部ドライバ108は、ファイルシステム107からの指示をバスドライバ110に渡す機能を有する。   The read / write unit driver 108 has a function of passing an instruction from the file system 107 to the bus driver 110.

リード専用部ドライバ109は、ファイルシステム107からのリード指示のアドレスを変換する機能と、ファイルシステム107からのライト指示に対してエラーを返す機能と、リード専用部118からの読み取り情報を返す機能とを有する。   The read-only unit driver 109 has a function of converting an address of a read instruction from the file system 107, a function of returning an error in response to a write instruction from the file system 107, and a function of returning read information from the read-only unit 118. Have

バスドライバ110は外部メモリ103とCPU102との間のバス制御を実行し、リードライト部ドライバ108やリード専用部ドライバ109からのリード/ライトの指示を外部メモリ103に伝える機能を有する。   The bus driver 110 has a function of executing bus control between the external memory 103 and the CPU 102 and transmitting a read / write instruction from the read / write unit driver 108 or the read dedicated unit driver 109 to the external memory 103.

ローダ111は、情報処理装置101が起動したときに動作し、ローダ・リード専用部アクセスデータ部112からリード専用部118にアクセスするための情報を読み出し、リード専用部118から読み出したOSやアプリケーションを内部メモリ104に展開し、制御を渡す機能を有する。   The loader 111 operates when the information processing apparatus 101 is activated, reads information for accessing the read dedicated unit 118 from the loader / read dedicated unit access data unit 112, and reads the OS and application read from the read dedicated unit 118. It has a function of developing in the internal memory 104 and passing control.

外部メモリ103は、CPU102の内部メモリ104に存在するローダ111以外のソフトウエア、すなわちアプリケーション105、エイリアス部106、ファイルシステム107、リードライト部ドライバ108、リード専用部109、およびバスドライバ110のソフトウエアを格納し、各ソフトウエアが使用するデータも格納されている。   The external memory 103 is software other than the loader 111 existing in the internal memory 104 of the CPU 102, that is, software of the application 105, the alias unit 106, the file system 107, the read / write unit driver 108, the read dedicated unit 109, and the bus driver 110. The data used by each software is also stored.

外部メモリ103に含まれる制御ソフト113は、バスドライバ110が外部メモリ103に通知したデータのアドレスをフラッシュメモリ114内部のアドレスに変換し、フラッシュメモリ114に対するデータのリード/ライトを行う機能を有する。具体的には、図9で説明したように、スペア部116のブロック初期化、スペア部116のブロックへの更新データの書込み、データ部115にあった元ブロックのスペア部116への移動、および新たに書込みしたスペア部116のブロックのデータ部115への移動などの制御を行う。   The control software 113 included in the external memory 103 has a function of converting the address of data notified to the external memory 103 by the bus driver 110 into an address in the flash memory 114 and reading / writing data to / from the flash memory 114. Specifically, as described with reference to FIG. 9, block initialization of the spare unit 116, writing of update data to the block of the spare unit 116, movement of the original block in the data unit 115 to the spare unit 116, and Control such as movement of the newly written spare unit 116 to the data unit 115 is performed.

なお、データ部115に存在するリードライト部117とリード専用部118とは、仮想モジュ−ルであり、データを保持する機能と、制御ソフト113の指示により書込みされたデータを保持する機能を有す。   Note that the read / write unit 117 and the read-only unit 118 existing in the data unit 115 are virtual modules and have a function of holding data and a function of holding data written in accordance with an instruction from the control software 113. The

なお、図1において、通常のフラッシュメモリ制御システムとは異なる構成要素は、エイリアス部106、リード専用部ドライバ109、ローダ・リード専用部アクセスデータ部112およびリード専用部118である。   In FIG. 1, components different from the normal flash memory control system are an alias unit 106, a read-only unit driver 109, a loader / read-only unit access data unit 112, and a read-only unit 118.

図2は本実施形態で用いられるフラッシュメモリの内容を模式的に示す図である。図2において、フラッシュメモリ114の内容201は、データ部115の内容202とスペア部116の内容203とを含み、データ部内容202はリードライト部117の内容204とリード専用部118の内容205とを含む。   FIG. 2 is a diagram schematically showing the contents of the flash memory used in this embodiment. In FIG. 2, the content 201 of the flash memory 114 includes the content 202 of the data portion 115 and the content 203 of the spare portion 116, and the data portion content 202 includes the content 204 of the read / write portion 117 and the content 205 of the read dedicated portion 118. including.

リードライト部内容204は、マスタブートレコード206、ファイルシステム管理エリア内容207およびスペアセクタ208を含み、ファイルシステム管理エリア内容207はパーティション情報209、FAT210およびファイルシステムデータ部211を含む。リード専用部内容205はOSファイル212、アプリケーションファイル213およびシステムデータファイル214を含む。   The read / write portion content 204 includes a master boot record 206, a file system management area content 207, and a spare sector 208, and the file system management area content 207 includes partition information 209, FAT 210, and a file system data portion 211. The read-only part content 205 includes an OS file 212, an application file 213, and a system data file 214.

OSファイル212は、エイリアス部106、ファイルシステム107、リードライト部ドライバ108、リード専用ドライバ109、バスドライバ110等のドライバを含むOSが格納されるエリアである。アプリケーションファイル213は、アプリケーション105およびアプリケーションのリード専用データが格納されるエリアである。システムデータファイル214は、情報処理装置全体のシステム情報が格納されているエリアである。   The OS file 212 is an area in which an OS including drivers such as the alias unit 106, the file system 107, the read / write unit driver 108, the read-only driver 109, and the bus driver 110 is stored. The application file 213 is an area in which the application 105 and read-only data of the application are stored. The system data file 214 is an area in which system information of the entire information processing apparatus is stored.

なお、マスタブートレコード206、ファイルシステム管理エリア内容207、スペアセクタ208、パーティション情報209、FAT210およびファイルシステムデータ部211については、本発明に直接関係しない上に周知でもあるので詳細は省略する。   The master boot record 206, the file system management area contents 207, the spare sector 208, the partition information 209, the FAT 210, and the file system data unit 211 are not directly related to the present invention and are well known and will not be described in detail.

1.2)動作
上述したように、本実施形態によるシステムでは、フラッシュメモリ114におけるデータ部115のリードライト部117とリード専用部118とは、フラッシュメモリの消去単位であるブロックまたはページ単位で区切られており、互いに影響を与えないようにレイアウトされている。このようにレイアウトされたリードライト部117とリード専用部118とは、次のように制御される。
1.2) Operation As described above, in the system according to the present embodiment, the read / write unit 117 and the read-only unit 118 of the data unit 115 in the flash memory 114 are separated in units of blocks or pages that are erase units of the flash memory. Are laid out so as not to affect each other. The read / write unit 117 and the read dedicated unit 118 laid out in this way are controlled as follows.

まず、アプリケーション105がデータの読込みをする場合、エイリアス部106は読み込みするデータがフラッシュメモリ115のリードライト部117に存在するのかリード専用部118に存在するのか判定し、その判定結果にしたがってファイルシステム107に対してリード指示を行う。ファイルシステム107は指示されたドライバに対してリード指示を送る。   First, when the application 105 reads data, the alias unit 106 determines whether the data to be read exists in the read / write unit 117 or the read-only unit 118 of the flash memory 115, and the file system according to the determination result. A read instruction is issued to 107. The file system 107 sends a read instruction to the instructed driver.

リードライト部ドライバ108がリード指示を受け取れば、バスドライバ110を通して制御ソフト113にリード指示を出力し、制御ソフト113は指示に該当する内容をリードライト部117から読み出してCPU側へ返す。   When the read / write unit driver 108 receives the read instruction, the read instruction is output to the control software 113 through the bus driver 110, and the control software 113 reads the content corresponding to the instruction from the read / write unit 117 and returns it to the CPU side.

リード専用部118がリード指示を受け取れば、読み出しするアドレスを変換し、バスドライバ110を通して制御ソフト113へリード指示を送る。制御ソフト113は、指示に該当する内容をリード専用部118から読み出ししてCPU側へ返す。   When the read dedicated unit 118 receives the read instruction, the read address is converted, and the read instruction is sent to the control software 113 through the bus driver 110. The control software 113 reads the content corresponding to the instruction from the read-only unit 118 and returns it to the CPU side.

アプリケーションが書込みをする場合、エイリアス部106で書込むデータを元データがリードライト部117に存在するのかリード専用部118に存在するのかを判定し、ファイルシステム107に対してどちらの領域にライトするのか指示をする。ファイルシステム107は指示されたドライバにライト指示を行う。   When the application writes, it is determined whether the data to be written by the alias unit 106 is the original data in the read / write unit 117 or the read-only unit 118, and is written in which area to the file system 107. I will tell you. The file system 107 issues a write instruction to the instructed driver.

リードライト部ドライバ108がライト指示を受け取ると、制御ソフト113にライト指示をし、制御ソフト113はスペア部116を使ってリードライト部117に当該データの書込みを行い、その結果(正常/異常)を上位へ返す。   When the read / write unit driver 108 receives the write instruction, the read / write unit driver 108 instructs the control software 113 to write, and the control software 113 writes the data to the read / write unit 117 using the spare unit 116, and the result (normal / abnormal) To the top.

これに対して、リード専用部118がライト指示を受け取れば、書込みできない旨を上位に返す。   On the other hand, when the read-only unit 118 receives a write instruction, it returns to the upper level that it cannot be written.

したがって、アプリケーション105がリードライト部117に対してデータのリード/ライトをする場合には、リードライト部ドライバ108を通してフラッシュメモリ114のリードライト部117にアクセスし、アプリケーション105がリード専用データの読み込みを行う場合には、リード専用部ドライバ109を通してフラッシュメモリ114のリード専用部118にアクセスすることができる。しかしながら、アプリケーション105がリード専用データに書込みをしようとすると、リード専用部ドライバ109からエラーを受け取る。したがって、リードライト部117にデータを書込み中に電源断になっても、フラッシュメモリ114のリード専用部118のデータが化けたりロストしたりする事態を確実に回避することができる。   Therefore, when the application 105 reads / writes data from / to the read / write unit 117, the read / write unit 117 of the flash memory 114 is accessed through the read / write unit driver 108, and the application 105 reads the read-only data. When performing, the read-only unit 118 of the flash memory 114 can be accessed through the read-only unit driver 109. However, when the application 105 attempts to write to the read-only data, an error is received from the read-only unit driver 109. Therefore, even if the power is turned off while data is being written to the read / write unit 117, it is possible to reliably avoid a situation where the data in the read-only unit 118 of the flash memory 114 is garbled or lost.

1.3)効果
上述したように、本実施形態によれば、読み書きするデータが使用するエリア(リードライト部117)と、読み込み専用のデータが使用するエリア(リード専用部118)とを互いに影響を与えないようにレイアウトして分割しているので、読み書きするデータの書き込み中の電源断により、読み込み専用のデータも一緒に化けたり消失したりすることがない。
1.3) Effects As described above, according to the present embodiment, the area used by read / write data (read / write unit 117) and the area used by read-only data (read-only unit 118) influence each other. Therefore, the read-only data is not garbled or lost when the power is turned off while writing the data to be read or written.

また、リード専用部ドライバ109やリード専用部118などは、仮想機能により実現するために、追加回路が不要であり、フラッシュメモリ114の制御についても変更は不要である。   Further, since the read-only unit driver 109, the read-only unit 118, and the like are realized by a virtual function, no additional circuit is required, and the control of the flash memory 114 does not need to be changed.

2.一実施例
2.1)構成
図3は本発明の一実施例によるフラッシュメモリ制御システムを適用した情報処理装置のブロック図である。情報処理装置401は、CPU402と、図1における外部メモリ103に該当するコンパクトフラッシュ(登録商標、以下同様)403とを含む。CPU402は内部メモリ404を含み、内部メモリ404はアプリケーション405と、エイリアス部106に該当するラッパー406と、ファイルシステム107に該当するFATファイルシステム407と、リードライト部ドライバ108に該当するハードディスクドライバ408と、リード専用部ドライバ109に該当する仮想フロッピィディスクドライバ409と、バスドライバ110に該当するIDEドライバ410と、ローダ411と、を含む。またローダ411はローダ・リード専用部アクセスデータ部412を含む。
2. 2. Embodiment 2.1) Configuration FIG. 3 is a block diagram of an information processing apparatus to which a flash memory control system according to an embodiment of the present invention is applied. The information processing apparatus 401 includes a CPU 402 and a compact flash (registered trademark, hereinafter the same) 403 corresponding to the external memory 103 in FIG. The CPU 402 includes an internal memory 404. The internal memory 404 includes an application 405, a wrapper 406 corresponding to the alias unit 106, a FAT file system 407 corresponding to the file system 107, and a hard disk driver 408 corresponding to the read / write unit driver 108. , A virtual floppy disk driver 409 corresponding to the read-only section driver 109, an IDE driver 410 corresponding to the bus driver 110, and a loader 411. The loader 411 includes a loader / read dedicated part access data part 412.

ラッパー406には仮想フロッピィディスクに存在するファイルの一覧が保持されている。仮想フロッピィディスクドライバ409はリード専用部ドライバ109と同様の機能を有し、フロッピィディスクにアクセスするようにアプリケーションに見せかけてコンパクトフラッシュ403にアクセスする。   The wrapper 406 holds a list of files existing on the virtual floppy disk. The virtual floppy disk driver 409 has a function similar to that of the read-only unit driver 109, and accesses the compact flash 403 by making it appear to an application to access the floppy disk.

コンパクトフラッシュ403は制御ソフト413とフラッシュメモリ414とを含む。フラッシュメモリ414は、データ部415とスペア部416を含み、データ部415はリードライト部417とリード専用部418とを含む。リードライト部417は、アプリケーションが扱うリード/ライトするデータ419を含む。リード専用部418は、アプリケーション405が使用するパラメータ420と、OSおよびアプリケーションのプログラムを格納したファイルであるOS/アプリ421とを含む。   The compact flash 403 includes control software 413 and a flash memory 414. The flash memory 414 includes a data part 415 and a spare part 416, and the data part 415 includes a read / write part 417 and a read-only part 418. The read / write unit 417 includes data 419 to be read / written handled by the application. The read-only unit 418 includes a parameter 420 used by the application 405 and an OS / application 421 that is a file storing the OS and application programs.

本実施例に特徴的な機能は、ラッパー406、仮想フロッピィディスクドライバ409、ローダ・リード専用部アクセスデータ部412およびリード専用部418である。なお、図3における矢印の実線は、アプリケーション405がフラッシュメモリ414に存在するファイルをアクセスするための経路を示していて、矢印線のかかったブロックは、経路上に機能するブロックである。   Functions unique to the present embodiment are a wrapper 406, a virtual floppy disk driver 409, a loader / read dedicated section access data section 412, and a read dedicated section 418. Note that the solid line indicated by the arrow in FIG. 3 indicates a path for the application 405 to access a file existing in the flash memory 414, and the block indicated by the arrow is a block that functions on the path.

図4は、図2におけるデータ部内容202の具体例を示す図である。ただし、比較が容易なように、図4の用語を図2にあわせている。   FIG. 4 is a diagram showing a specific example of the data portion content 202 in FIG. However, the terminology in FIG. 4 is matched with that in FIG. 2 for easy comparison.

本実施例によれば、図4に示すように、リードライト部内容204は、ファイルシステム管理エリア内容207に属するが、リード専用部内容205はファイルシステム管理エリア内容207の外側におかれている。   According to this embodiment, as shown in FIG. 4, the read / write portion content 204 belongs to the file system management area content 207, but the read dedicated portion content 205 is placed outside the file system management area content 207. .

セクタ番号のHDおよびFDは、それぞれハードディスクのセクタ番号、仮想フロッピィディスクのセクタ番号を示す。ハードディスクのセクタ番号0にマスタブートレコード206が割り当てられ、フラッシュメモリ414内のブロック番号は#0に該当し、かつ、ブロック#0はリードライト部内容204に属する。具体的には次の通りである。   The sector numbers HD and FD indicate the sector number of the hard disk and the sector number of the virtual floppy disk, respectively. The master boot record 206 is assigned to the sector number 0 of the hard disk, the block number in the flash memory 414 corresponds to # 0, and the block # 0 belongs to the read / write portion content 204. Specifically, it is as follows.

ハードディスクのセクタ番号10−23および仮想フロッピィディスクのセクタ番号0−13にOSファイル212が割り当てられ、フラッシュメモリ414内のブロック番号は#1〜#2に該当し、ブロック#1〜#2はリード専用部内容205に属する。   The OS file 212 is assigned to the sector numbers 10-23 of the hard disk and the sector numbers 0-13 of the virtual floppy disk, the block numbers in the flash memory 414 correspond to # 1 to # 2, and the blocks # 1 to # 2 are read. It belongs to the dedicated part content 205.

ハードディスクのセクタ番号25−37および仮想フロッピィディスクのセクタ番号15−27にアプリケーションファイル213が割り当てられ、フラッシュメモリ414内のブロック番号は#2〜#3に該当し、ブロック#2〜#3はリード専用部内容205に属する。   The application file 213 is assigned to the sector numbers 25-37 of the hard disk and the sector numbers 15-27 of the virtual floppy disk, the block numbers in the flash memory 414 correspond to # 2 to # 3, and the blocks # 2 to # 3 are read. It belongs to the dedicated part content 205.

ハードディスクのセクタ番号40−42および仮想フロッピィディスクのセクタ番号30−32にシステムデータファイル214が割り当てられ、フラッシュメモリ414内のブロック番号は#4に該当し、ブロック#4はリード専用部内容205に属する。   The system data file 214 is allocated to the sector number 40-42 of the hard disk and the sector number 30-32 of the virtual floppy disk, the block number in the flash memory 414 corresponds to # 4, and the block # 4 is stored in the read-only part content 205 Belongs.

ハードディスクのセクタ番号50、51−54、55−989は、ファイルシステム管理エリア内容207に属する通常のシステムにてアクセスできるエリアである。このエリア内のハードディスクのセクタ番号50はパーティション情報209が割り当てられ、フラッシュメモリ414内のブロック番号は#5に該当し、ブロック#5はリードライト部内容204に属する。   The hard disk sector numbers 50, 51-54, 55-989 are areas accessible by a normal system belonging to the file system management area contents 207. Partition information 209 is assigned to the sector number 50 of the hard disk in this area, the block number in the flash memory 414 corresponds to # 5, and block # 5 belongs to the read / write portion content 204.

ハードディスクのセクタ番号51〜54はFAT210が割り当てられ、フラッシュメモリ414内のブロック番号は#5に該当し、ブロック#5はリードライト部内容204に属する。   FAT 210 is assigned to the sector numbers 51 to 54 of the hard disk, the block number in the flash memory 414 corresponds to # 5, and the block # 5 belongs to the read / write unit content 204.

ハードディスクのセクタ番号55〜989はファイルシステムデータ部211が割り当てられ、フラッシュメモリ414内のブロック番号は#5〜#98に該当し、ブロック#5〜#98はリードライト部内容204に属する。   The file system data part 211 is assigned to the sector numbers 55 to 989 of the hard disk, the block numbers in the flash memory 414 correspond to # 5 to # 98, and the blocks # 5 to # 98 belong to the read / write part contents 204.

ハードディスクのセクタ番号990〜999はスペアセクタ208が割り当てられ、フラッシュメモリ114内のブロック番号は#99に該当し、ブロック#99はリードライト部内容204に属する。   Spare sectors 208 are assigned to the sector numbers 990 to 999 of the hard disk, the block number in the flash memory 114 corresponds to # 99, and the block # 99 belongs to the read / write section content 204.

次に、情報処理装置401に電源が入ったときの動作について説明をする。   Next, an operation when the information processing apparatus 401 is turned on will be described.

2.2)起動時の動作
情報処理装置401に電源が入ると、内部メモリ404に見えるローダ411が動作を開始する。ローダ411は、OS/アプリ421をアクセスするためのセクタ番号をローダ・リードライト専用部アクセスデータ部412から取り出す。図4の例では、OSファイル212はハードディスクセクタ番号で10〜23セクタ、 アプリケーションファイル213はハードディスクセクタ番号で25〜37セクタである。ローダ411は、CPU402とコンパクトフラッシュ403を接続するインタフェースを直接制御し、コンパクトフラッシュ403に対して、OS/アプリ421のハードディスクセクタ番号を入力してリード指示を順番に送る。つまり、最初にOS、次にアプリケーションの順番で、ハードディスクセクタ番号の小さい順に、セクタを読み出しする指示とハードディスクセクタ番号を送る。
2.2) Operation at startup When the information processing apparatus 401 is turned on, the loader 411 visible in the internal memory 404 starts operating. The loader 411 takes out the sector number for accessing the OS / application 421 from the loader / read / write exclusive part access data part 412. In the example of FIG. 4, the OS file 212 has a hard disk sector number of 10 to 23 sectors, and the application file 213 has a hard disk sector number of 25 to 37 sectors. The loader 411 directly controls the interface connecting the CPU 402 and the compact flash 403, inputs the hard disk sector number of the OS / application 421 to the compact flash 403, and sends read instructions in order. That is, an instruction to read a sector and a hard disk sector number are sent in the order of the hard disk sector number in the order of OS, then application.

コンパクトフラッシュ403内の制御ソフト413は、入力された指示とハードディスクセクタ番号を解析し、入力されたハードディスクセクタ番号を、フラッシュメモリ414のブロック番号とブロック内のセクタ番号とに分解する。例えば入力されたハードディスクセクタ番号が12である場合には、ブロック番号は“1”、ブロック内のセクタ番号は“2”である。この情報を使って、フラッシュメモリ414の中の該当するブロックの該当するセクタを読み出し、IDEインタフェースでローダ411にOS/アプリ421の内容を返す。ローダ411は読み出したデータを、内部メモリ404に貼り付ける。OS/アプリ421を全て内部メモリ404に貼り付け終わると、ローダは終了し、OSを介してアプリケーション405に制御が渡る。   The control software 413 in the compact flash 403 analyzes the input instruction and the hard disk sector number, and decomposes the input hard disk sector number into a block number of the flash memory 414 and a sector number in the block. For example, if the input hard disk sector number is 12, the block number is “1” and the sector number in the block is “2”. Using this information, the corresponding sector of the corresponding block in the flash memory 414 is read, and the contents of the OS / application 421 are returned to the loader 411 through the IDE interface. The loader 411 pastes the read data on the internal memory 404. When all the OS / applications 421 have been pasted into the internal memory 404, the loader ends and control is passed to the application 405 via the OS.

2.3)リード専用データの読み出し動作
図5はアプリケーションがリード専用データを読み込む時の本実施例のリード動作を示すシーケンス図である。ここでは、アプリケーション405が自身を初期化するために、リード専用部418のパラメータ420を読み出す動作について説明をする。ローダ411が終了してOSを介してアプリケーション405に制御が渡ると、アプリケーション405は、アプリケーションとして動作するためにアプリケーション自身を初期化する必要がある。この初期化のために、アプリケーション設定情報が格納されているパラメータ420が読み出される。以下、このパラメータ読み出し動作を詳細に説明する。
2.3) Read operation of read-only data FIG. 5 is a sequence diagram showing the read operation of this embodiment when the application reads the read-only data. Here, an operation of reading the parameter 420 of the read-only unit 418 in order for the application 405 to initialize itself will be described. When the loader 411 ends and control is passed to the application 405 via the OS, the application 405 needs to initialize the application itself in order to operate as an application. For this initialization, a parameter 420 in which application setting information is stored is read. Hereinafter, the parameter reading operation will be described in detail.

アプリケーション405から見ると、パラメータ420は、仮想フロッピィディスクドライバ409を経由してアクセスするので仮想フロッピィディスクに存在するデータとして認識される。   When viewed from the application 405, the parameter 420 is recognized as data existing in the virtual floppy disk because it is accessed via the virtual floppy disk driver 409.

まず、アプリケーション405は、パラメータ420を読み込む場合、ラッパー406に対してパラメータ420のリード指示を送る(ステップ5−1)。ラッパー406は入力されたファイル名と内部に保持する仮想フロッピィディスクに存在するファイルの一覧とを比較してパラメータのドライブ判定を行う(ステップ5−2)。ここでは、パラメータ420は仮想フロッピィディスクに存在するファイルであると判定される。そして、ラッパー406は、FATファイルシステム407に対して仮想フロッピィディスクのパラメータ420のリード指示を行う(ステップ5−3)。   First, when reading the parameter 420, the application 405 sends a read instruction for the parameter 420 to the wrapper 406 (step 5-1). The wrapper 406 compares the input file name with a list of files existing in the virtual floppy disk held therein, and performs parameter drive determination (step 5-2). Here, it is determined that the parameter 420 is a file existing on the virtual floppy disk. The wrapper 406 then instructs the FAT file system 407 to read the parameter 420 of the virtual floppy disk (step 5-3).

なお、パラメータ420のファイル名の記述は、仮想フロッピィディスクに存在する情報が含まれている。また、ハードディスクドライブに存在する情報が含まれている別名のファイルパラメータ420’として見える場合には、このパラメータ420’のファイル名を、ラッパー406によってパラメータ420のファイル名に変換することも可能である。   Note that the description of the file name of the parameter 420 includes information existing on the virtual floppy disk. In addition, when the file name 420 ′ of the alias including information existing in the hard disk drive is seen, the file name of the parameter 420 ′ can be converted into the file name of the parameter 420 by the wrapper 406. .

FATファイルシステム407は、仮想フロッピィディスクドライバ409にファイルのエントリ情報を読み出す指示をする(ステップ5−4)。エントリ情報の読み込みは、FATファイルシステム407から仮想フロッピィディスクドライバ409にエントリ情報の入ったセクタ番号のリード指示で行われる。   The FAT file system 407 instructs the virtual floppy disk driver 409 to read file entry information (step 5-4). The entry information is read from the FAT file system 407 to the virtual floppy disk driver 409 by a read instruction of the sector number containing the entry information.

仮想フロッピィディスクドライバ409はパラメータ420がどこのセクタに存在するか識別するエントリ情報をFATファイルシステム407に返す(ステップ5−5)。エントリ情報は、コンパクトフラッシュ403の中にあるリード専用部418の内容、つまり、OSファイル212、アプリケーションファイル213およびシステムデータファイル214の情報であり、仮想フロッピィディスクドライバ409の中で固定値として保持している。固定値として使えるのは、情報処理装置401の設計時に、コンパクトフラッシュ403の中にあるリード専用部418の情報マップが決められているからである。その際、既存のシステムのようにリード指示をIDEドライバ410へ送ることはない。   The virtual floppy disk driver 409 returns entry information for identifying in which sector the parameter 420 exists to the FAT file system 407 (step 5-5). The entry information is the contents of the read-only unit 418 in the compact flash 403, that is, information on the OS file 212, the application file 213, and the system data file 214, and is held as a fixed value in the virtual floppy disk driver 409. ing. It can be used as a fixed value because the information map of the read-only unit 418 in the compact flash 403 is determined when the information processing apparatus 401 is designed. At this time, a read instruction is not sent to the IDE driver 410 as in the existing system.

更にFATファイルシステム407は、ファイルがどのようにマップされているか知るために、マップ情報(FAT情報)のリード指示を仮想フロッピィディスクドライバ409へ送る(ステップ5−6)。このリード指示も、仮想フロッピィディスクドライバ409にFAT情報の入ったセクタ番号のリード指示で行われる。仮想フロッピィディスクドライバは、FAT情報を返すが、この情報も仮想フロッピィディスクドライバが固定で保持する値である(ステップ5−7)。その際、既存のシステムのようにリード指示をIDEドライバ410へ送ることはない。   Further, the FAT file system 407 sends a map information (FAT information) read instruction to the virtual floppy disk driver 409 in order to know how the file is mapped (step 5-6). This read instruction is also given to the virtual floppy disk driver 409 by a read instruction of the sector number containing the FAT information. The virtual floppy disk driver returns FAT information, and this information is also a value that the virtual floppy disk driver holds in a fixed manner (step 5-7). At this time, a read instruction is not sent to the IDE driver 410 as in the existing system.

FATファイルシステム407は受け取ったエントリ情報とFAT情報からセクタ番号を計算し(ステップ5−8)、当該セクタ番号のリード指示を仮想フロッピィディスクドライバ409へ送る(ステップ5−9)。仮想フロッピィディスクドライバ409は、受け取ったセクタ番号を、コンパクトフラッシュ403をアクセスするためのセクタ番号に変換する(ステップ5−10)。例えば、図4におけるシステムデータファイル214 (=パラメータ420)の仮想フロッピィディスクのセクタ番号30を、ハードディスクのセクタ番号40に変換をする。仮想フロッピィディスクドライバ409は、変換後のセクタ番号と入力された指示をIDEドライバ410に送る(5−11)。   The FAT file system 407 calculates a sector number from the received entry information and FAT information (step 5-8), and sends a read instruction for the sector number to the virtual floppy disk driver 409 (step 5-9). The virtual floppy disk driver 409 converts the received sector number into a sector number for accessing the compact flash 403 (step 5-10). For example, the sector number 30 of the virtual floppy disk in the system data file 214 (= parameter 420) in FIG. 4 is converted to the sector number 40 of the hard disk. The virtual floppy disk driver 409 sends the converted sector number and the input instruction to the IDE driver 410 (5-11).

このように、仮想フロッピィディスクドライバ409は、リード指示をIDEドライバ410を送ることなく、固定値のエントリ情報およびFAT情報を戻し(ステップ5−5、5−7)、FATファイルシステム407から受け取ったセクタ番号を変換してIDEドライバ410へ送る(ステップ5−10、5−11)というシーケンスにより、読み出し専用のセクタに対して読み込みだけのアクセス経路を実現することができる。これにより当該セクタの内容が化けたりロストしたりしない仕組みの一部が実現される。   In this manner, the virtual floppy disk driver 409 returns the read instruction to the IDE driver 410 and returns the fixed value entry information and FAT information (steps 5-5 and 5-7) and receives them from the FAT file system 407. With the sequence of converting the sector number and sending it to the IDE driver 410 (steps 5-10 and 5-11), it is possible to realize a read-only access path for the read-only sector. This realizes a part of the mechanism in which the contents of the sector are not garbled or lost.

IDEドライバ410は、仮想フロッピィディスクドライバ409から入力した指示とセクタ番号とをIDEインタフェ−スを通してコンパクトフラッシュ403に送る(ステップ5−12)。   The IDE driver 410 sends the instruction and sector number input from the virtual floppy disk driver 409 to the compact flash 403 through the IDE interface (step 5-12).

コンパクトフラッシュ403内の制御ソフト413は、入力された指示とセクタ番号を解析し、入力されたセクタ番号をフラッシュメモリ414のブロック番号とブロック内のセクタ番号に分解する(ステップ5−13)。例えば、入力されたセクタ番号が“40”であれば、ブロック番号が“4”で、ブロック内のセクタ番号が“0”である。分解されたブロック番号およびセクタ番号を使って、フラッシュメモリ414の中の該当するブロックの該当するセクタを読み出し(ステップ5−14)、そのセクタ内容をIDEインタフェ−スを通してIDEドライバ410に返す(ステップ5−15)。   The control software 413 in the compact flash 403 analyzes the input instruction and sector number, and decomposes the input sector number into a block number of the flash memory 414 and a sector number in the block (step 5-13). For example, if the input sector number is “40”, the block number is “4” and the sector number in the block is “0”. Using the decomposed block number and sector number, the corresponding sector of the corresponding block in the flash memory 414 is read (step 5-14), and the sector contents are returned to the IDE driver 410 through the IDE interface (step 5-14). 5-15).

このセクタ内容は、IDEドライバ410によって仮想フロッピィディスクドライバ409に返され(ステップ5−16)、さらに仮想フロッピィディスクドライバ409によってFATファイルシステム407へ返される(ステップ5−17)。   The sector contents are returned to the virtual floppy disk driver 409 by the IDE driver 410 (step 5-16), and further returned to the FAT file system 407 by the virtual floppy disk driver 409 (step 5-17).

FATファイルシステム407は、仮想フロッピィディスクのファイルのエントリ情報を更新し、仮想フロッピィディスクドライバ409にファイル更新したエントリ情報のライト指示を送る(ステップ5−18)。   The FAT file system 407 updates the entry information of the file on the virtual floppy disk and sends an instruction to write the updated entry information to the virtual floppy disk driver 409 (step 5-18).

さらに、FATファイルシステム407はラッパー406にセクタ内容を返し(ステップ5−19)、ラッパー406はアプリケーション405に返す(ステップ5−20)。こうして、アプリケーション405は、初期化に必要なデータ=パラメータを読み取ることに成功する。アプリケーション405は読み取ったパラメータを解析してアプリケーション自身を初期化する。   Further, the FAT file system 407 returns the sector contents to the wrapper 406 (step 5-19), and the wrapper 406 returns to the application 405 (step 5-20). In this way, the application 405 succeeds in reading the data = parameter necessary for initialization. The application 405 analyzes the read parameters and initializes the application itself.

2.4)リード専用データへのライト指示
次に、アプリケーション405がOS/アプリ421のセクタに誤って書込み指示した場合、つまりアプリケーション405がパラメータ420にデータのライト指示をした場合について本実施例の動作を説明する。
2.4) Write instruction to read-only data Next, the case where the application 405 erroneously instructs writing to the sector of the OS / application 421, that is, the case where the application 405 instructs the parameter 420 to write data is described. The operation will be described.

図6はアプリケーションがリード専用データに対して誤ってライト指示を発した場合の本実施例の応答処理を示すシーケンス図である。アプリケーション405がラッパー406に対してパラメータ420’へのデータのライト指示を行ったとする(ステップ6−1)。この場合、ラッパー406は入力されたパラメータ420’のファイル名をパラメータ420のファイル名に変換し、変換したファイル名と内部に保持する仮想フロッピィディスクに存在するファイルの一覧と比較して、仮想フロッピィディスクに存在するファイルであることを判定すると(ステップ6−2)、パラメータ420’のファイル名をパラメータ420のファイル名に変換して、FATファイルシステム407に対して、仮想フロッピィディスクのパラメータ420のライト指示を送る(ステップ603)。FATファイルシステム407は、仮想フロッピィディスクドライバ409にファイルのエントリ情報のリード指示を送る(ステップ6−4)。   FIG. 6 is a sequence diagram showing a response process according to the present embodiment when an application erroneously issues a write instruction to read-only data. Assume that the application 405 instructs the wrapper 406 to write data to the parameter 420 '(step 6-1). In this case, the wrapper 406 converts the input file name of the parameter 420 ′ into the file name of the parameter 420, and compares the converted file name with a list of files existing on the virtual floppy disk held therein, thereby comparing the virtual floppy disk. If it is determined that the file exists on the disk (step 6-2), the file name of the parameter 420 ′ is converted to the file name of the parameter 420, and the virtual file disk parameter 420 is changed to the FAT file system 407. A write instruction is sent (step 603). The FAT file system 407 sends a read instruction for file entry information to the virtual floppy disk driver 409 (step 6-4).

仮想フロッピィディスクドライバ409は、上述したように(図5のステップ505)、パラメータ420がどこのセクタに存在するか識別するエントリ情報を固定値としてFATファイルシステム407に返す(ステップ6−5)。その際、既存のシステムのようにリード指示をIDEドライバ410へ送ることはない。   As described above (step 505 in FIG. 5), the virtual floppy disk driver 409 returns entry information for identifying in which sector the parameter 420 exists as a fixed value to the FAT file system 407 (step 6-5). At this time, a read instruction is not sent to the IDE driver 410 as in the existing system.

更に、FATファイルシステム407は、ファイルがどのようにマップされているか知るために、マップ情報(FAT情報)のリード指示を仮想フロッピィディスクドライバ409へ送り(ステップ6−6)、仮想フロッピィディスクドライバ409はその応答としてFAT情報を固定値で返す(ステップ6−7)。その際、既存のシステムのようにリード指示をIDEドライバ410へ送ることはない。   Furthermore, the FAT file system 407 sends a map information (FAT information) read instruction to the virtual floppy disk driver 409 to know how the file is mapped (step 6-6), and the virtual floppy disk driver 409. In response, FAT information is returned as a fixed value (step 6-7). At this time, a read instruction is not sent to the IDE driver 410 as in the existing system.

FATファイルシステム407は受け取ったエントリ情報とFAT情報からパラメータのセクタ番号を計算し(ステップ6−8)、当該パラメータのライト指示を仮想フロッピィディスクドライバ409へ送る(ステップ6−9)。これに応答して、仮想フロッピィディスクドライバ409は、FATファイルシステム407に、仮想フロッピィディスクがノッチされている情報(書込不可)を返す(ステップ6−10)。   The FAT file system 407 calculates a parameter sector number from the received entry information and FAT information (step 6-8), and sends a write instruction for the parameter to the virtual floppy disk driver 409 (step 6-9). In response to this, the virtual floppy disk driver 409 returns information (not writable) that the virtual floppy disk is notched to the FAT file system 407 (step 6-10).

FATファイルシステム407は、仮想フロッピィディスクドライバ409からノッチ情報を受け取ると、ラッパー406にエラーを返し(ステップ6−11)、ラッパー406はアプリケーション405にエラーを返す(ステップ6−12)。いずれにしても仮想フロッピィディスクドライバ409がライト指示をIDEドライバ410へ送ることはない。   When the FAT file system 407 receives the notch information from the virtual floppy disk driver 409, the FAT file system 407 returns an error to the wrapper 406 (step 6-11), and the wrapper 406 returns an error to the application 405 (step 6-12). In any case, the virtual floppy disk driver 409 does not send a write instruction to the IDE driver 410.

以上のようにして、仮想フロッピィディスクドライバ409は、上位からのライト指示に対して、ライト不可(仮想フロッピィディスクがノッチされている情報)によるエラーを上位に返すことで、書込みをさせない機能を実現する。これに対して、上述したように上位からのリード指示に対しては、下位にリード指示を送ることによって、フラッシュメモリ414のリード専用部418にアクセスしてデータの読み取りを可能にする。   As described above, the virtual floppy disk driver 409 realizes a function that prevents writing by returning to the upper level an error indicating that writing is not possible (information that the virtual floppy disk is notched) in response to a write instruction from the upper level. To do. On the other hand, as described above, in response to a read instruction from the upper level, the read instruction is sent to the lower level, thereby accessing the read-only unit 418 of the flash memory 414 and reading the data.

2.5)リードライト部へのデータ書き込み動作
次に、アプリケーション405によって、コンパクトフラッシュ403内のデータ419にデータ書き込みする場合について説明をする。ただし、このデータ書き込み動作は、ラッパー406を経由すること以外、通常の書き込み方法と同様である。
2.5) Data Write Operation to Read / Write Unit Next, a case where data is written to the data 419 in the compact flash 403 by the application 405 will be described. However, this data write operation is the same as the normal write method except that it goes through the wrapper 406.

図7は、アプリケーションがリードライト部へのデータ書き込み時の本実施例のライト動作を示すシーケンス図である。上述したように、アプリケーション405から見て、データ419は、ハードディスクドライバを経由してアクセスするので、ハードディスクに存在するデータとして認識される。   FIG. 7 is a sequence diagram showing the write operation of this embodiment when the application writes data to the read / write unit. As described above, when viewed from the application 405, the data 419 is accessed via the hard disk driver, and thus is recognized as data existing on the hard disk.

まず、アプリケーション405がデータ419を書込みする場合はラッパー406にデータ419のライト指示をする(ステップ7−1)。ラッパー406は入力されたファイル名と内部に保持する仮想フロッピィディスクに存在するファイルの一覧と比較してドライブ判定を行う(ステップ7−2)。ここでは、データ419は仮想フロッピィディスクに存在しないファイルであると判定される。ラッパー406は、FATファイルシステム407に対して、ハードディスクのデータ419に対して書き込みを行うライト指示を送る(ステップ7−3)。   First, when the application 405 writes the data 419, the wrapper 406 is instructed to write the data 419 (step 7-1). The wrapper 406 performs drive determination by comparing the input file name with a list of files existing in the virtual floppy disk held therein (step 7-2). Here, it is determined that the data 419 is a file that does not exist on the virtual floppy disk. The wrapper 406 sends a write instruction for writing to the hard disk data 419 to the FAT file system 407 (step 7-3).

FATファイルシステム407はデータのセクタ番号を計算し(ステップ7−4)、当該セクタ番号のデータとライト指示をハードディスクドライバ408へ送る(ステップ7−5)。ハードディスクドライバ408は入力したセクタ番号、ライト指示およびデータをIDEドライバ410へ送る(ステップ7−6)。IDEドライバ410は、入力したライト指示、セクタ番号およびデータをIDEインタフェ−スを通してコンパクトフラッシュ403へ送る(ステップ7−7)。   The FAT file system 407 calculates the sector number of the data (step 7-4), and sends the data of the sector number and the write instruction to the hard disk driver 408 (step 7-5). The hard disk driver 408 sends the input sector number, write instruction, and data to the IDE driver 410 (step 7-6). The IDE driver 410 sends the input write instruction, sector number, and data to the compact flash 403 through the IDE interface (step 7-7).

コンパクトフラッシュ403内の制御ソフト413は、入力されたライト指示とセクタ番号を解析し、入力されたセクタ番号をフラッシュメモリ414のブロック番号とブロック内のセクタ番号に分解する(ステップ7−8)。例えば入力されたセクタ番号が#71であればブロック番号は“7”、ブロック内のセクタ番号は“1”である。この情報を使って、フラッシュメモリ414の中の該当するブロックの該当するセクタを特定する。   The control software 413 in the compact flash 403 analyzes the input write instruction and the sector number, and decomposes the input sector number into a block number of the flash memory 414 and a sector number in the block (step 7-8). For example, if the input sector number is # 71, the block number is “7” and the sector number in the block is “1”. Using this information, the corresponding sector of the corresponding block in the flash memory 414 is specified.

次に、制御ソフト413は、スペア部416から未使用のブロックを検索し、図9で説明したようにデータの書き込み処理を実施する(ステップ7−9)。続いて、制御ソフト413は、IDEインタフェ−スを通してIDEドライバ410に対して、書き込みが成功したことを通知する(ステップ7−10)。   Next, the control software 413 searches for an unused block from the spare unit 416, and performs a data writing process as described with reference to FIG. 9 (step 7-9). Subsequently, the control software 413 notifies the IDE driver 410 that the writing has succeeded through the IDE interface (step 7-10).

書き込み正常完了通知を受け取ると、IDEドライバ410は、ハードディスクドライバ408に正常終了した通知を送り(ステップ7−11)、ハードディスクドライバ408はFATファイルシステム407に正常終了したことを通知する(ステップ7−12)。FATファイルシステム407は、ハードディスクのファイルのエントリ情報とFAT情報を更新し、ハードディスクドライバ408にファイルの更新したエントリ情報とFAT情報のライト指示をする(ステップ7−13)。続いて、FATファイルシステム407はラッパー406に正常終了を通知し(ステップ7−14)、さらにラッパー406はアプリケーション405に正常終了を通知する(ステップ7−15)。   Upon receiving the write normal completion notification, the IDE driver 410 sends a normal end notification to the hard disk driver 408 (step 7-11), and the hard disk driver 408 notifies the FAT file system 407 that the normal end has been completed (step 7-). 12). The FAT file system 407 updates the hard disk file entry information and FAT information, and instructs the hard disk driver 408 to write the updated entry information and FAT information of the file (step 7-13). Subsequently, the FAT file system 407 notifies the wrapper 406 of normal termination (step 7-14), and the wrapper 406 notifies the application 405 of normal termination (step 7-15).

なお、アプリケーション405によって、コンパクトフラッシュ403内のデータ419からデータを読み込みする場合は、ラッパー406を経由すること以外、通常の読み込み方法と同様であるから説明は省略する。   Note that reading data from the data 419 in the compact flash 403 by the application 405 is the same as the normal reading method except that the data is passed through the wrapper 406, and the description thereof is omitted.

2.6)効果
上述したように、図4におけるリード専用部418をファイルシステム管理エリア内容207の外側におくことと、図5における仮想フロッピィディスクドライバ409によって実現されるステップ5−5〜5−11のシーケンスと、図6におけるステップ6−5〜6−10のライト不可シーケンスとによって、リード専用のセクタに対して読み込みだけのアクセス経路を実現することができる。すなわち、書き込みするときにアクセスするブロックは、リードライト部417とスペア部416に限定することができ、リード専用部418のブロックをアクセスすることがないようにできる。つまり、図9で述べたデータ更新シーケンスは、リードライト部417にデータを書き込みするときには発生するが、リード専用部418はデータ書き込みが発生しないため、図9のシーケンスが発生しない。これによってリード専用部418を有効に保護することができ、リード専用のデータの破壊を回避できる。こうしてフラッシュメモリへの書き込み時にリード専用のデータが化けたりロストしたりすることを防ぐことができる。
2.6) Effects As described above, placing the read-only part 418 in FIG. 4 outside the file system management area contents 207 and steps 5-5 to 5-5 realized by the virtual floppy disk driver 409 in FIG. 11 and the write disable sequence in steps 6-5 to 6-10 in FIG. 6 can realize an access path only for reading to a read-only sector. That is, the blocks accessed when writing can be limited to the read / write unit 417 and the spare unit 416, and the block of the read dedicated unit 418 can be prevented from being accessed. That is, the data update sequence described with reference to FIG. 9 occurs when data is written to the read / write unit 417, but the read-only unit 418 does not generate data, and thus the sequence of FIG. 9 does not occur. As a result, the read-only portion 418 can be effectively protected, and destruction of read-only data can be avoided. Thus, it is possible to prevent the read-only data from being garbled or lost when writing to the flash memory.

このように制御することで、読み書きするデータが使用するエリアと、読み込み専用のデータが使用するエリアとを分割することができ、読み書きするデータの書き込み中の電源断により読み込み専用のデータも一緒に化けたりロストしたりすることがない。さらに、CPU視点の仮想フロッピィディスクドライブやリード専用部等の仮想機能部を使うため、既存の装置環境を利用することができ、追加の回路は不要でありフラッシュメモリの制御についても変更は不要である。   By controlling in this way, it is possible to divide the area used by read / write data and the area used by read-only data. It won't be garbled or lost. In addition, since a virtual functional part such as a virtual floppy disk drive or read-only part from the CPU viewpoint is used, the existing device environment can be used, no additional circuit is required, and no change is required in the control of the flash memory. is there.

なお、上記実施例では、マスタブートレコード206からパーティション情報209の間に、OS/アプリ421およびパラメータ420を入れたが、下記の場所にOS/アプリ421および パラメータ420を入れてもよい。すなわち、スペアセクタ208をリード専用部に割り当て、OS/アプリ421および パラメータ420を入れてもよい。また、パーティション情報209とFAT210との間をリード専用部にして、OS/アプリ421および パラメータ420を入れてもよい。   In the above embodiment, the OS / application 421 and the parameter 420 are inserted between the master boot record 206 and the partition information 209. However, the OS / application 421 and the parameter 420 may be inserted in the following place. That is, the spare sector 208 may be assigned to the read-only part, and the OS / application 421 and the parameter 420 may be inserted. In addition, the OS / application 421 and the parameter 420 may be inserted between the partition information 209 and the FAT 210 as a read-only part.

また、ファイルシステムの中の1ファイルに、ブロックが別のファイルと共有しないようにダミーのエリアを含んだ、OS/アプリ421および パラメータ420をまとめた統合ファイルを用意し、この統合ファイルをリード専用部として使用してもよい。   Also, a single file in the file system is prepared as an integrated file that includes a dummy area so that the block is not shared with another file. It may be used as a part.

また、ファイルシステムは、FAT12/16を具体例としたが、他のファイルシステムを採用してもよい。   The file system is FAT12 / 16 as a specific example, but other file systems may be adopted.

上記実施例では、仮想フロッピィディスクをリード専用部ドライバの具体例としたが、CD−ROMドライバなどのストレ−ジ系のドライバにより置き換える構成としてもよい。更に、リード部専用ドライバ(仮想フロッピィディスクドライバ)をアプリケーション105に静的リンク等により取り込む構成にしてもよい。   In the above embodiment, the virtual floppy disk is a specific example of the read-only driver, but it may be replaced with a storage type driver such as a CD-ROM driver. Further, a dedicated read section driver (virtual floppy disk driver) may be incorporated into the application 105 by a static link or the like.

また、上記実施例では、エイリアス部106をラッパー406として、FATファイルシステム406をラップした具体例としたが、ラッパー406の機能は、アプリケーション405あるいはFATファイルシステム407に組み込みすることにより実現してもよいし、シェルの機能により実現してもよい。   In the above embodiment, the alias unit 106 is used as the wrapper 406 and the FAT file system 406 is wrapped. However, the function of the wrapper 406 may be realized by being incorporated in the application 405 or the FAT file system 407. It may be realized by a shell function.

本発明は、組み込み系のフラッシュメモリを使用する情報処理装置に適用可能である。   The present invention can be applied to an information processing apparatus using an embedded flash memory.

本発明の一実施形態によるフラッシュメモリ制御システムを適用した情報処理装置の概略的構成を示すブロック図である。1 is a block diagram showing a schematic configuration of an information processing apparatus to which a flash memory control system according to an embodiment of the present invention is applied. 本実施形態で用いられるフラッシュメモリの内容を模式的に示す図である。It is a figure which shows typically the content of the flash memory used by this embodiment. 本発明の一実施例によるフラッシュメモリ制御システムを適用した情報処理装置のブロック図である。1 is a block diagram of an information processing apparatus to which a flash memory control system according to an embodiment of the present invention is applied. 図2におけるデータ部内容202の具体例を示す図である。It is a figure which shows the specific example of the data part content 202 in FIG. アプリケーションがリード専用データを読み込む時の本実施例のリード動作を示すシーケンス図である。It is a sequence diagram which shows the read operation of a present Example when an application reads read-only data. アプリケーションがリード専用データに対して誤ってライト指示を発した場合の本実施例の応答処理を示すシーケンス図である。It is a sequence diagram which shows the response process of a present Example when an application accidentally issues a write instruction with respect to read-only data. アプリケーションがリードライト部へのデータ書き込み時の本実施例のライト動作を示すシーケンス図である。It is a sequence diagram which shows the write operation of a present Example at the time of an application writing the data to a read / write part. フラッシュメモリの一般的な論理的構造を示す模式図である。It is a schematic diagram which shows the general logical structure of flash memory. セクタ内容の更新およびブロック移動の通常の手順を説明するための説明図である。It is explanatory drawing for demonstrating the normal procedure of the update of a sector content, and block movement.

符号の説明Explanation of symbols

101 情報処理装置
102 CPU
103 外部メモリ
104 内部メモリ
105 アプリケーション
106 エイリアス部
107 ファイルシステム
108 リードライト部ドライバ
109 リード専用部ドライバ
110 バスドライバ
111 ローダ
112 ローダ・リード専用アクセスデータ部
113 制御ソフト
114 フラッシュメモリ
115 データ部
116 スペア部
117 リードライト部
118 リード専用部
201 フラッシュメモリ内容
202 データ部内容
203 スペア部内容
204 リードライト部内容
205 リード専用部の内容
206 マスタブートレコード
207 ファイルシステム管理エリア内容
208 スペアセクタ
209 パーティション情報
210 FAT
211 ファイルシステムデータ部
212 OSファイル
213 アプリケーションファイル
214 システムデータファイル
401 情報処理装置
402 CPU
403 コンパクトフラッシュ
404 内部メモリ
405 アプリケーション
406 ラッパー
407 FATファイルシステム
408 ハードディスクドライバ
409 仮想フロッピィディスクドライバ
410 IDEドライバ
411 ローダ
412 ローダ・リード専用アクセスデータ部
413 制御ソフト
414 フラッシュメモリ
415 データ部
416 スペア部
417 リードライト部
418 リード専用部
419 データ
420 パラメータ
421 OS/アプリ
101 Information processing apparatus 102 CPU
103 external memory 104 internal memory 105 application 106 alias unit 107 file system 108 read / write unit driver 109 read only unit driver 110 bus driver 111 loader 112 loader / read only access data unit 113 control software 114 flash memory 115 data unit 116 spare unit 117 Read / write unit 118 Read-only unit 201 Flash memory content 202 Data unit content 203 Spare unit content 204 Read / write unit content 205 Read-only unit content 206 Master boot record 207 File system management area content 208 Spare sector 209 Partition information 210 FAT
211 File system data section 212 OS file 213 Application file 214 System data file 401 Information processing apparatus 402 CPU
403 Compact Flash 404 Internal Memory 405 Application 406 Wrapper 407 FAT File System 408 Hard Disk Driver 409 Virtual Floppy Disk Driver 410 IDE Driver 411 Loader 412 Loader / Read Dedicated Access Data Unit 413 Control Software 414 Flash Memory 415 Data Unit 416 Spare Unit 417 Read Write Part 418 read only part 419 data 420 parameter 421 OS / application

Claims (10)

フラッシュメモリの制御システムにおいて、
前記フラッシュメモリのデータ領域に、仮想機能としてのリードライト部と仮想機能としてのリード専用部とが設けられ、
前記リードライト部にアクセスするための第1仮想ドライバと、
前記リード専用部にアクセスするための第2仮想ドライバと、
データのリードあるいはライト指示を前記第1および第2仮想ドライバのいずれか一方へ送る切替手段と、
を有し、前記第2仮想ドライバはリード指示に対してのみ前記リード専用部へのアクセスを実現することを特徴とするフラッシュメモリ制御システム。
In the flash memory control system,
In the data area of the flash memory, a read / write unit as a virtual function and a read-only unit as a virtual function are provided,
A first virtual driver for accessing the read / write unit;
A second virtual driver for accessing the read-only part;
Switching means for sending a data read or write instruction to one of the first and second virtual drivers;
And the second virtual driver realizes access to the read-only unit only in response to a read instruction.
前記リードライト部と前記リード専用部とは、前記フラッシュメモリの消去単位で区切られており、前記リードライト部でのデータ書き込みおよび消去が前記リード専用部へ影響しない構造を有することを特徴とする請求項1に記載のフラッシュメモリ制御システム。   The read / write unit and the read-only unit are separated by an erase unit of the flash memory, and have a structure in which data writing and erasing in the read / write unit do not affect the read-only unit. The flash memory control system according to claim 1. アプリケーションで扱うファイルとセクタとの変換を行うファイルシステムを更に有し、前記リードライト部は前記ファイルシステムにより管理され、前記リード専用部は前記ファイルシステムの管理外であることを特徴とする請求項1または2に記載のフラッシュメモリ制御システム。   The file system for converting files and sectors handled by an application, the read / write unit is managed by the file system, and the read-only unit is outside the management of the file system. 3. The flash memory control system according to 1 or 2. フラッシュメモリを有する情報処理装置において、
前記フラッシュメモリのデータ領域に設けられた仮想機能としてのリードライト部にアクセスするための第1仮想ドライバと、
前記データ領域に設けられた仮想機能としてのリード専用部にアクセスするための第2仮想ドライバと、
データのリードあるいはライト指示を前記第1および第2仮想ドライバのいずれか一方へ送る切替手段と、
を有し、前記第2仮想ドライバはリード指示に対してのみ前記リード専用部へのアクセスを実現することを特徴とする情報処理装置。
In an information processing apparatus having a flash memory,
A first virtual driver for accessing a read / write unit as a virtual function provided in a data area of the flash memory;
A second virtual driver for accessing a read-only part as a virtual function provided in the data area;
Switching means for sending a data read or write instruction to one of the first and second virtual drivers;
And the second virtual driver realizes access to the read dedicated unit only in response to a read instruction.
前記リードライト部と前記リード専用部とは、前記フラッシュメモリの消去単位で区切られており、前記リードライト部でのデータ書き込みおよび消去が前記リード専用部へ影響しない構造を有することを特徴とする請求項4に記載の情報処理装置。   The read / write unit and the read-only unit are separated by an erase unit of the flash memory, and have a structure in which data writing and erasing in the read / write unit do not affect the read-only unit. The information processing apparatus according to claim 4. アプリケーションで扱うファイルとセクタとの変換を行うファイルシステムを更に有し、前記リードライト部は前記ファイルシステムにより管理され、前記リード専用部は前記ファイルシステムの管理外であることを特徴とする請求項4または5に記載の情報処理装置。   The file system for converting files and sectors handled by an application, the read / write unit is managed by the file system, and the read-only unit is outside the management of the file system. The information processing apparatus according to 4 or 5. フラッシュメモリを有する情報処理装置のフラッシュメモリ制御方法において、
前記フラッシュメモリのデータ領域に設けられた仮想機能としてのリードライト部にアクセスするための第1仮想ドライバを生成し、
前記データ領域に設けられた仮想機能としてのリード専用部にアクセスするための第2仮想ドライバを生成し、
データのリードあるいはライト指示を前記第1および第2仮想ドライバのいずれか一方へ送り、
前記第2仮想ドライバがリード指示に対してのみ前記リード専用部へのアクセスを提供する、
ことを特徴とするフラッシュメモリ制御方法。
In a flash memory control method for an information processing apparatus having a flash memory,
Generating a first virtual driver for accessing the read / write unit as a virtual function provided in the data area of the flash memory;
Generating a second virtual driver for accessing the read-only part as a virtual function provided in the data area;
Sending a data read or write instruction to one of the first and second virtual drivers,
The second virtual driver provides access to the read-only unit only for a read instruction;
And a flash memory control method.
前記リードライト部と前記リード専用部とは、前記フラッシュメモリの消去単位で区切られており、前記リードライト部でのデータ書き込みおよび消去が前記リード専用部へ影響しない構造を有することを特徴とする請求項7に記載のフラッシュメモリ制御方法。   The read / write unit and the read-only unit are separated by an erase unit of the flash memory, and have a structure in which data writing and erasing in the read / write unit do not affect the read-only unit. The flash memory control method according to claim 7. アプリケーションで扱うファイルとセクタとの変換を行うファイルシステムを更に有し、前記リードライト部は前記ファイルシステムにより管理され、前記リード専用部は前記ファイルシステムの管理外であることを特徴とする請求項7または8に記載のフラッシュメモリ制御方法。   The file system for converting files and sectors handled by an application, the read / write unit is managed by the file system, and the read-only unit is outside the management of the file system. 9. The flash memory control method according to 7 or 8. フラッシュメモリを有する情報処理装置としてコンピュータを機能させるプログラムにおいて、
前記フラッシュメモリのデータ領域に設けられた仮想機能としてのリードライト部にアクセスするための第1仮想ドライバと、
前記データ領域に設けられた仮想機能としてのリード専用部にアクセスするための第2仮想ドライバと、
データのリードあるいはライト指示を前記第1および第2仮想ドライバのいずれか一方へ送る切替手段と、
を有し、前記第2仮想ドライバがリード指示に対してのみ前記リード専用部へのアクセスを実現するように前記コンピュータを機能させることを特徴とするプログラム。
In a program for causing a computer to function as an information processing apparatus having a flash memory,
A first virtual driver for accessing a read / write unit as a virtual function provided in a data area of the flash memory;
A second virtual driver for accessing a read-only part as a virtual function provided in the data area;
Switching means for sending a data read or write instruction to one of the first and second virtual drivers;
And the second virtual driver causes the computer to function so as to realize access to the read dedicated unit only in response to a read instruction.
JP2008051667A 2008-03-03 2008-03-03 Flash memory control system and control method Pending JP2009211245A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008051667A JP2009211245A (en) 2008-03-03 2008-03-03 Flash memory control system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008051667A JP2009211245A (en) 2008-03-03 2008-03-03 Flash memory control system and control method

Publications (1)

Publication Number Publication Date
JP2009211245A true JP2009211245A (en) 2009-09-17

Family

ID=41184338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008051667A Pending JP2009211245A (en) 2008-03-03 2008-03-03 Flash memory control system and control method

Country Status (1)

Country Link
JP (1) JP2009211245A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011199865A (en) * 2010-03-17 2011-10-06 Ls Industrial Systems Co Ltd Parameter communication device and method for inverter

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021123A (en) * 1996-07-02 1998-01-23 Nissin Electric Co Ltd Information processor
JP2001067268A (en) * 1999-08-24 2001-03-16 Toshiba Corp Method for managing contents, and storage medium
JP2002108176A (en) * 2000-07-24 2002-04-10 Minolta Co Ltd Process cartridge
JP2002175194A (en) * 2000-12-07 2002-06-21 Ricoh Co Ltd Program downloading system, program downloading device, image forming device, program downloading method, and computer-readable recording medium with program for executing the method recorded thereon
JP2003150450A (en) * 2001-11-14 2003-05-23 Tdk Corp Memory controller, memory system, and control method for memory
JP2005115695A (en) * 2003-10-08 2005-04-28 Murata Mach Ltd Communication device
JP2007501450A (en) * 2003-08-01 2007-01-25 シンビアン ソフトウェア リミテッド Method for accessing data on a computer device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021123A (en) * 1996-07-02 1998-01-23 Nissin Electric Co Ltd Information processor
JP2001067268A (en) * 1999-08-24 2001-03-16 Toshiba Corp Method for managing contents, and storage medium
JP2002108176A (en) * 2000-07-24 2002-04-10 Minolta Co Ltd Process cartridge
JP2002175194A (en) * 2000-12-07 2002-06-21 Ricoh Co Ltd Program downloading system, program downloading device, image forming device, program downloading method, and computer-readable recording medium with program for executing the method recorded thereon
JP2003150450A (en) * 2001-11-14 2003-05-23 Tdk Corp Memory controller, memory system, and control method for memory
JP2007501450A (en) * 2003-08-01 2007-01-25 シンビアン ソフトウェア リミテッド Method for accessing data on a computer device
JP2005115695A (en) * 2003-10-08 2005-04-28 Murata Mach Ltd Communication device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011199865A (en) * 2010-03-17 2011-10-06 Ls Industrial Systems Co Ltd Parameter communication device and method for inverter
US8868629B2 (en) 2010-03-17 2014-10-21 Ls Industrial Systems Co., Ltd. Apparatus and method for communicating parameter of inverter

Similar Documents

Publication Publication Date Title
EP3764237B1 (en) System startup method and apparatus, electronic device and storage medium
US8473670B2 (en) Boot management of non-volatile memory
KR101288700B1 (en) Multi-operating system(os) start device, computer-readable recording medium, and multi-os start method
JP5663060B2 (en) Method and system for facilitating fast startup of a flash memory system
JP5225003B2 (en) MEMORY PROTECTION METHOD, INFORMATION PROCESSING DEVICE, MEMORY PROTECTION PROGRAM, AND RECORDING MEDIUM CONTAINING MEMORY PROTECTION PROGRAM
US10228993B2 (en) Data dump for a memory in a data processing system
CN103460179A (en) Method and apparatus for transparently instrumenting an application program
WO2009153917A1 (en) Virtual computer system, information processor and program providing the virtual computer system
JP5466645B2 (en) Storage device, information processing device, and program
US20040148478A1 (en) Method and apparatus for protecting data in computer system in the event of unauthorized data modification
JP2009098890A (en) File system and computer readable storage medium
EP3785149B1 (en) Memory assignment for guest operating systems
WO2009144602A1 (en) Protection and security provisioning using on-the-fly virtualization
JP5846016B2 (en) Information processing apparatus, information processing method, and information processing program
US7234039B1 (en) Method, system, and apparatus for determining the physical memory address of an allocated and locked memory buffer
US7882353B2 (en) Method for protecting data in a hard disk
JP2009211245A (en) Flash memory control system and control method
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
CN111752475B (en) Method and device for data access management in storage server
JP4892414B2 (en) Control circuit, storage medium, processing device, embedded system, and area management method
KR102145358B1 (en) Method and computer-readable medium emboding program for protecting data integrity of disk in alternate operating system environment
US11989435B2 (en) Re-partitioning of a flash memory device
JP2010282645A (en) Linux program start-up system
JP2009110297A (en) Information processing apparatus and maintenance method of the same
JP2011113129A (en) Information recording device and information recording method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130130