JP4480064B2 - メモリ管理装置およびメモリ管理方法 - Google Patents

メモリ管理装置およびメモリ管理方法

Info

Publication number
JP4480064B2
JP4480064B2 JP2003564734A JP2003564734A JP4480064B2 JP 4480064 B2 JP4480064 B2 JP 4480064B2 JP 2003564734 A JP2003564734 A JP 2003564734A JP 2003564734 A JP2003564734 A JP 2003564734A JP 4480064 B2 JP4480064 B2 JP 4480064B2
Authority
JP
Japan
Prior art keywords
file
management information
information
block
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.)
Expired - Fee Related
Application number
JP2003564734A
Other languages
English (en)
Other versions
JPWO2003065210A1 (ja
Inventor
朗善 前田
隆義 岡崎
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2003065210A1 publication Critical patent/JPWO2003065210A1/ja
Application granted granted Critical
Publication of JP4480064B2 publication Critical patent/JP4480064B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、記憶手段に格納したファイルのデータの信頼性を低下させることなく管理するメモリ管理装置およびメモリ管理方法に関する。
DVDなどのデジタル家電機器では、機器を動作させるプログラムの保持や、処理したデータの記憶等のために、フラッシュメモリを用いた記憶装置を有している。
フラッシュメモリは、その記憶素子の構成より、NAND型フラッシュメモリ、AND型フラッシュメモリのようなシリアルフラッシュメモリや、NOR型フラッシュメモリなどに分類することができる。
このうち、NOR型のものは、書き込みや読み出し動作において不具合が生じる確率が低く、信頼性が高いメモリである。また、CPUが直接アクセスすることができるので、読み出し速度が速く、ランダムアクセスに適しており、プログラムを格納するためのメモリとして利用されている。
一方、シリアルフラッシュメモリは、メモリセルのサイズがNOR型フラッシュメモリの約3分の1と小さく、高集積化が進んでいる上に、消去及び書き込み速度が速く、消去時間がNOR型フラッシュメモリの約100分の1、書き込み時間が約20分の1である。ところが、CPUから直接アクセスすることができないうえに、書き込みや読み出し動作に不具合が生じる確率が相対的に高い、という欠点がある。このため、動画データ、オーディオデータなど、時間的連続性があるストリームデータのように、高精度な読み出しおよび書き込みが要求されないデータを格納する際に利用されている。
このような機能および特性より、従来のデジタル家電機器の動作を制御する情報処理装置では、プログラムを格納するメモリとしてNOR型フラッシュメモリを用いていた。NOR型フラッシュメモリを有する情報処理装置としては、図28に示すような構成が一般的である。以下、その構成および動作について図面を参照しながら説明する。
図28に示すように、従来の情報処理装置100dは、情報処理部30と、変数を保持するワークメモリ14と、プログラムを格納するNOR型フラッシュ21と、電源切断時に情報を待避させる情報退避部22と、を有する。
ワークメモリ14は、SDRAM(Synchronous Dynamic Random Access Memory)が用いられる。
NOR型フラッシュ21は、情報処理部30からのアクセスにより、格納しているデータを情報処理部30に供給する。また、情報処理部30からのアクセスにより、格納しているデータの消去、および供給されるデータの格納を行う。
情報退避部22は、情報処理部30より供給される、動作状況やディスクの書き込みアドレスなどの管理情報を格納するSRAM(Static Random Access Memory)である。SRAMは消費電力が小さいため、電源を切断してもバックアップ電池を使用することで、保持しているデータが消去されないメモリであり、情報退避部22は、情報処理部30より消去および書き換えが命令されるまで、データを変更することなく保持する。
次に、このように構成される情報処理装置100dの動作について説明する。
情報処理装置100dに電源が投入されると、情報処理部30は、情報退避部22に格納されている変数を読み出し、ワークメモリ14に転送する。そして、NOR型フラッシュ21に格納されているプログラムを1ステップ毎に読み出し、記述されているプログラムの命令に従って、順次、処理を実行する。変数に変化が生じた場合、情報処理部30はワークメモリ14の変数を書き換える。また、情報処理部30は、処理を実行しながら、定期的に、情報退避部22に変数をバックアップする。そして、電源切断時に、情報処理部30は、電源切断直前の状態を情報退避部22に書き込む。
しかしながら、NOR型フラッシュのメモリ容量は、最大32Mbit程度であるため、デジタル家電機器のプログラムが増大するに従い、単一のメモリにプログラムを格納することができなくなっている。ところが、複数のNOR型フラッシュを配置すると、部品の数が増加するので、基盤の実装面積や製造コストを増大させる、という問題がある。
また、SRAMは、電源切断後も管理情報や電源切断直前のデータを保持するためにバックアップ電源が必要である。このため、従来のディジタル家電は、市販されているコイン型のリチウム電池や、通電時に充電する充電電池などによって、常時SRAMに電源を供給する回路をも有しており、基盤の実装面積をさらに増大させている。その上、SRAM自体も高価であるため、SRAMによらない管理情報のバックアップが望まれている。
さらに、従来の情報処理装置100dは、情報処理部30が、プログラムを1ステップ毎にNOR型フラッシュ21より読み出して、処理を実行しているので、実行時間がかかるという問題もある。
本発明は、上記のような問題点を解決するためのものであり、メモリ容量の大きいシリアルフラッシュメモリに対して、不具合を生じることなく書き込みや読み出しを行うことのできるメモリ管理装置およびメモリ管理方法を提供することを目的とする。
上記の課題を解決するために、本発明の請求項にかかるメモリ管理装置は、ファイルと、格納している全ファイルの情報を記述した第1の管理情報および第2の管理情報と、を格納する主記憶手段と、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、上記主記憶手段が有する上記第1の管理情報の内容を、上記新管理情報の内容により更新する第1の管理情報更新手段と、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、上記主記憶手段が有する上記第2の管理情報の内容を、上記新管理情報の内容により更新する第2の管理情報更新手段と、を備え、前記第1の管理情報、及び第2の管理情報はそれぞれ、前記主記憶手段の処理状態を表示し、前記主記憶手段の所定の領域に対するデータの書き込み処理及び消去処理が完了したか否かに関する更新情報を表示する動作状態表示領域を少なくとも有する処理状態表示領域を有し、前記第1の管理情報更新手段により前記第1の管理情報の更新が開始され前記第1の管理情報の更新中に前記主記憶手段の所定の領域に対するデータの書き込みと消去とが実行され、前記第1の管理情報の更新が完了した後に、前記第2の管理情報更新手段により前記第2の管理情報更新されるものであり起動時に、前記第1の管理情報の更新情報が、前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していないことを示す場合には、前記第1の管理情報は前記第2の管理情報の内容に更新され、前記第1の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していることを示し、前記第2の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理または消去処理が完了していないことを示す場合には、前記第2の管理情報は前記第1の管理情報の内容に更新されるもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記管理情報生成手段が生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記状態表示は、上記第1の管理情報が消去中であることを示す、第1の状態表示と、上記第1の管理情報が更新中であることを示す、第2の状態表示と、新しいファイルが書き込み中であることを示す、第3の状態表示と、古いファイルが消去中であることを示す、第4の状態表示と、上記第2の管理情報が消去中であることを示す、第5の状態表示と、上記第2の管理情報が更新中であることを示す、第6の状態表示と、すべての処理が終了したことを示す、第7の状態表示と、を有するもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項または請求項に記載のメモリ管理装置において、上記動作状態表示領域は、上記第1の管理情報が消去中であることを表示する、第1の状態表示領域と、上記第1の管理情報が更新中であることを表示する、第2の状態表示領域と、新しいファイルが書き込み中であることを表示する、第3の状態表示領域と、古いファイルが消去中であることを表示する、第4の状態表示領域と、上記第2の管理情報が消去中であることを表示する、第5の状態表示領域と、上記第2の管理情報が更新中であることを表示する、第6の状態表示領域と、すべての処理が終了したことを表示する、第7の状態表示領域と、を有するもの、としたものである。
本発明の請求項にかかるメモリ管理装置は、請求項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたものである。
本発明の請求項10にかかるメモリ管理装置は、請求項ないし請求項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
本発明の請求項11にかかるメモリ管理装置は、請求項ないし請求項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
本発明の請求項12にかかるメモリ管理装置は、請求項、請求の範囲項、請求項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して2値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたものである。
本発明の請求項13にかかるメモリ管理装置は、請求項ないし請求項12のいずれかに記載のメモリ管理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたものである。
本発明の請求項14にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第1の管理情報および第2の管理情報と、を格納する主記憶手段に対するファイルの消去、及び書込みを管理するメモリ管理方法であって、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第1の管理情報の内容を、上記新管理情報の内容により更新する第1の管理情報更新ステップと、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理ステップと、上記主記憶手段が有する上記第2の管理情報の内容を、上記新管理情報の内容により更新する第2の管理情報更新ステップと、を有し、前記第1の管理情報、及び第2の管理情報はそれぞれ、前記主記憶手段の処理状態を表示し、前記主記憶手段の所定の領域に対するデータの書き込み処理及び消去処理が完了したか否かに関する更新情報を表示する動作状態表示領域を少なくとも有する処理状態表示領域を有し、前記第1の管理情報更新ステップにより前記第1の管理情報の更新を開始し、前記第1の管理情報の更新中に前記主記憶手段の所定の領域に対するデータの書き込みと消去とを実行し、前記第1の管理情報の更新が完了した後に、前記第2の管理情報更新ステップにより前記第2の管理情報を更新するものであり、起動時に、前記第1の管理情報の更新情報が、前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していないことを示す場合には、前記第1の管理情報を前記第2の管理情報の内容に更新し、前記第1の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していることを示し、前記第2の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理または消去処理が完了していないことを示す場合には、前記第2の管理情報を前記第1の管理情報の内容に更新するもの、としたものである。
本発明の請求項15にかかるメモリ管理方法は、ファイルと、請求項14に記載のメモリ管理方法において、上記管理情報生成ステップにて生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたものである。
本発明の請求項16にかかるメモリ管理方法は、請求項15に記載のメモリ管理方法において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたものである。
本発明の請求項17にかかるメモリ管理方法は、請求項16に記載のメモリ管理方法において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたものである。
本発明の請求項18にかかるメモリ管理方法は、請求項17に記載のメモリ管理方法において、上記記憶処理ステップにおいて、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたものである。
本発明の請求項19にかかるメモリ管理方法は、請求項14に記載のメモリ管理方法において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理ステップにおいて、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたものである。
本発明の請求項20にかかるメモリ管理方法は、請求項19に記載のメモリ管理方法において、上記状態表示は、上記第1の管理情報が消去中であることを示す、第1の状態表示と、上記第1の管理情報が更新中であることを示す、第2の状態表示と、新しいファイルが書き込み中であることを示す、第3の状態表示と、古いファイルが消去中であることを示す、第4の状態表示と、上記第2の管理情報が消去中であることを示す、第5の状態表示と、上記第2の管理情報が更新中であることを示す、第6の状態表示と、すべての処理が終了したことを示す、第7の状態表示と、を有するもの、としたものである。
本発明の請求項21にかかる情報処理方法は、請求項14または請求項19に記載のメモリ管理方法において、上記動作状態表示領域は、上記第1の管理情報が消去中であることを表示する、第1の状態表示領域と、上記第1の管理情報が更新中であることを表示する、第2の状態表示領域と、新しいファイルが書き込み中であることを表示する、第3の状態表示領域と、古いファイルが消去中であることを表示する、第4の状態表示領域と、上記第2の管理情報が消去中であることを表示する、第5の状態表示領域と、上記第2の管理情報が更新中であることを表示する、第6の状態表示領域と、すべての処理が終了したことを表示する、第7の状態表示領域と、を有するもの、としたものである。
本発明の請求項22にかかる情報処理方法は、請求項19に記載のメモリ管理方法において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理ステップにおいて、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたものである。
本発明の請求項23にかかる情報処理方法は、請求項14ないし請求項22のいずれかに記載のメモリ管理方法において、上記メモリ管理方法は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
本発明の請求項24にかかる情報処理方法は、請求項14ないし請求項22のいずれかに記載のメモリ管理方法において、上記メモリ管理方法は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
本発明の請求項25にかかる情報処理方法は、請求項17、請求項19、請求項22のいずれかに記載のメモリ管理方法において、上記メモリ管理方法は、各ページに表示されている値を一定ビット毎に区分して2値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたものである。
本発明の請求項26にかかる情報処理方法は、請求項14ないし請求項25のいずれかに記載のメモリ管理方法において、上記主記憶手段は、シリアルフラッシュメモリであるもの、としたものである。
以上説明したように、本発明の請求項にかかるメモリ管理装置によれば、ファイルと、格納している全ファイルの情報を記述した第1の管理情報および第2の管理情報と、を格納する主記憶手段と、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、上記主記憶手段が有する上記第1の管理情報の内容を、上記新管理情報の内容により更新する第1の管理情報更新手段と、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、上記主記憶手段が有する上記第2の管理情報の内容を、上記新管理情報の内容により更新する第2の管理情報更新手段と、を備え、前記第1の管理情報、及び第2の管理情報はそれぞれ、前記主記憶手段の処理状態を表示し、前記主記憶手段の所定の領域に対するデータの書き込み処理及び消去処理が完了したか否かに関する更新情報を表示する動作状態表示領域を少なくとも有する処理状態表示領域を有し、前記第1の管理情報更新手段により前記第1の管理情報の更新が開始され前記第1の管理情報の更新中に前記主記憶手段の所定の領域に対するデータの書き込みと消去とが実行され、前記第1の管理情報の更新が完了した後に、前記第2の管理情報更新手段により前記第2の管理情報更新されるものであり起動時に、前記第1の管理情報の更新情報が、前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していないことを示す場合には、前記第1の管理情報は前記第2の管理情報の内容に更新され、前記第1の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していることを示し、前記第2の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理または消去処理が完了していないことを示す場合には、前記第2の管理情報は前記第1の管理情報の内容に更新されるもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となる上記主記憶手段の領域を決定することができる。また、上記第1の管理情報を上記主記憶手段に書き込んだ後、上記記憶処理手段によりファイルの書き込みや消去を行うので、記憶処理手段がすべての処理を完了する前に処理を中断した場合に、上記メモリ管理装置により書き込みや消去途中のファイルを検出して、消去することができる。さらに、上記第1の管理情報を書き込んだ後、上記第2の管理情報を書き込むので、上記第2の管理情報の書き込みや消去が途中で中断された場合に、上記第1の管理情報を用いて復旧することができる。また、上記メモリ管理装置により、上記主記憶手段の様々な状態を把握することができる。また、上記メモリ管理装置により上記主記憶手段の様々な状態を把握し、ファイルまたはブロックに対する処理が中断されている場合には、そのファイルやブロックを復旧させることができる。
本発明の請求項にかかるメモリ管理装置によれば、請求項に記載のメモリ管理装置において、上記管理情報生成手段が生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となるブロックを決定し、そのブロックに対する消去や書き込みを行うことができる。
本発明の請求項にかかるメモリ管理装置によれば、請求項に記載のメモリ管理装置において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたので、上記メモリ管理装置により上記主記憶手段の様々な状態を把握し、ファイルまたはブロックに対する処理が中断されている場合には、そのファイルやブロックを復旧させることができる。
本発明の請求項にかかるメモリ管理装置によれば、請求項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたので、その領域に対する書き込みが終了しているか否かを把握することができる。
本発明の請求項にかかるメモリ管理装置によれば、請求項に記載のメモリ管理装置において、上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたので、その領域に対する書き込みが終了しているか否かを把握し、次の書き込み時には、書き込みされていないブロックを書き込み対象のブロックとして選択することができる。
本発明の請求項6にかかるメモリ管理装置によれば、請求項5に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたので、上記メモリ管理装置により、その領域に対する処理の状態を把握することができる。
本発明の請求項7にかかるメモリ管理装置によれば、請求項6に記載のメモリ管理装置において、上記状態表示は、上記第1の管理情報が消去中であることを示す、第1の状態表示と、上記第1の管理情報が更新中であることを示す、第2の状態表示と、新しいファイルが書き込み中であることを示す、第3の状態表示と、古いファイルが消去中であることを示す、第4の状態表示と、上記第2の管理情報が消去中であることを示す、第5の状態表示と、上記第2の管理情報が更新中であることを示す、第6の状態表示と、すべての処理が終了したことを示す、第7の状態表示と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第1の管理情報に対する処理が中断されている場合には上記第1の管理情報の内容を上記第2の管理情報の内容により更新し、上記第2の管理情報に対する処理が中断されている場合には上記第2の管理情報の内容を上記第1の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。
本発明の請求項にかかるメモリ管理装置によれば、請求項または請求項に記載のメモリ管理装置において、上記動作状態表示領域は、上記第1の管理情報が消去中であることを表示する、第1の状態表示領域と、上記第1の管理情報が更新中であることを表示する、第2の状態表示領域と、新しいファイルが書き込み中であることを表示する、第3の状態表示領域と、古いファイルが消去中であることを表示する、第4の状態表示領域と、上記第2の管理情報が消去中であることを表示する、第5の状態表示領域と、上記第2の管理情報が更新中であることを表示する、第6の状態表示領域と、すべての処理が終了したことを表示する、第7の状態表示領域と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第1の管理情報に対する処理が中断されている場合には上記第1の管理情報の内容を上記第2の管理情報の内容により更新し、上記第2の管理情報に対する処理が中断されている場合には上記第2の管理情報の内容を上記第1の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。また、各種の処理の状態を表示する領域を、それぞれ異なる領域とすることにより、同一の領域に対する書き込み回数を減少させることができ、上記主記憶部の耐久性を保持することができる。
本発明の請求項にかかるメモリ管理装置によれば、請求項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたので、ブロックが使用できるか否かを把握し、次の書き込み時には、使用できるブロックを書き込み対象のブロックとして選択することができる。
本発明の請求項10にかかるメモリ管理装置によれば、請求項ないし請求項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
本発明の請求項11にかかるメモリ管理装置によれば、請求項ないし請求項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みやビット化けが発生していない場合のみ、表示されている値が示す状態を把握することができる。
本発明の請求項12にかかるメモリ管理装置によれば、請求項、請求項、請求項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して2値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
本発明の請求項13にかかるメモリ管理装置によれば、請求項ないし請求項12のいずれかに記載のメモリ管理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたので、上記主記憶手段に対して高速に消去や書き込みができるうえに、データサイズの大きいプログラムファイルやデータファイルを格納することができる。
本発明の請求項14にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第1の管理情報および第2の管理情報と、を格納する主記憶手段に対するファイルの消去、及び書込みを管理するメモリ管理方法であって、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第1の管理情報の内容を、上記新管理情報の内容により更新する第1の管理情報更新ステップと、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理ステップと、上記主記憶手段が有する上記第2の管理情報の内容を、上記新管理情報の内容により更新する第2の管理情報更新ステップと、を有し、前記第1の管理情報、及び第2の管理情報はそれぞれ、前記主記憶手段の処理状態を表示し、前記主記憶手段の所定の領域に対するデータの書き込み処理及び消去処理が完了したか否かに関する更新情報を表示する動作状態表示領域を少なくとも有する処理状態表示領域を有し、前記第1の管理情報更新ステップにより前記第1の管理情報の更新を開始し、前記第1の管理情報の更新中に前記主記憶手段の所定の領域に対するデータの書き込みと消去とを実行し、前記第1の管理情報の更新が完了した後に、前記第2の管理情報更新ステップにより前記第2の管理情報を更新するものであり、起動時に、前記第1の管理情報の更新情報が、前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していないことを示す場合には、前記第1の管理情報を前記第2の管理情報の内容に更新し、前記第1の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していることを示し、前記第2の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理または消去処理が完了していないことを示す場合には、前記第2の管理情報を前記第1の管理情報の内容に更新するもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となる上記主記憶手段の領域を決定することができる。また、上記第1の管理情報を上記主記憶手段に書き込んだ後、上記記憶処理手段によりファイルの書き込みや消去を行うので、記憶処理手段がすべての処理を完了する前に処理を中断した場合に、上記メモリ管理装置により書き込みや消去途中のファイルを検出して、消去することができる。さらに、上記第1の管理情報を書き込んだ後、上記第2の管理情報を書き込むので、上記第2の管理情報の書き込みや消去が途中で中断された場合に、上記第1の管理情報を用いて復旧することができる。また、上記メモリ管理装置により、上記主記憶手段の様々な状態を把握することができる。また、上記メモリ管理装置により上記主記憶手段の様々な状態を把握し、ファイルまたはブロックに対する処理が中断されている場合には、そのファイルやブロックを復旧させることができる。
本発明の請求項15にかかるメモリ管理方法によれば、請求項14に記載のメモリ管理方法において、上記管理情報生成ステップにて生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むものとしたので、上記メモリ管理装置により、書き込み対象や消去対象となるブロックを決定し、そのブロックに対する消去や書き込みを行うことができる。
本発明の請求項16にかかるメモリ管理方法によれば、請求項15に記載のメモリ管理方法において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたので、としたので、上記メモリ管理装置により上記主記憶手段の様々な状態を把握し、ファイルまたはブロックに対する処理が中断されている場合には、そのファイルやブロックを復旧させることができる。
本発明の請求項17にかかるメモリ管理方法によれば、請求項16に記載のメモリ管理方法において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたので、その領域に対する書き込みが終了しているか否かを把握することができる。
本発明の請求項18にかかるメモリ管理方法によれば、請求項17に記載のメモリ管理方法において、上記記憶処理ステップにおいて、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたので、その領域に対する書き込みが終了しているか否かを把握し、次の書き込み時には、書き込みされていないブロックを書き込み対象のブロックとして選択することができる。
本発明の請求項19にかかるメモリ管理方法によれば、請求項14に記載のメモリ管理方法において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理ステップにおいて、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたので、上記メモリ管理装置により、その領域に対する処理の状態を把握することができる。
本発明の請求項20にかかるメモリ管理方法によれば、請求項19に記載のメモリ管理方法において、上記状態表示は、上記第1の管理情報が消去中であることを示す、第1の状態表示と、上記第1の管理情報が更新中であることを示す、第2の状態表示と、新しいファイルが書き込み中であることを示す、第3の状態表示と、古いファイルが消去中であることを示す、第4の状態表示と、上記第2の管理情報が消去中であることを示す、第5の状態表示と、上記第2の管理情報が更新中であることを示す、第6の状態表示と、すべての処理が終了したことを示す、第7の状態表示と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第1の管理情報に対する処理が中断されている場合には上記第1の管理情報の内容を上記第2の管理情報の内容により更新し、上記第2の管理情報に対する処理が中断されている場合には上記第2の管理情報の内容を上記第1の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。
本発明の請求項21にかかるメモリ管理方法によれば、請求項14または請求項19に記載のメモリ管理方法において、上記動作状態表示領域は、上記第1の管理情報が消去中であることを表示する、第1の状態表示領域と、上記第1の管理情報が更新中であることを表示する、第2の状態表示領域と、新しいファイルが書き込み中であることを表示する、第3の状態表示領域と、古いファイルが消去中であることを表示する、第4の状態表示領域と、上記第2の管理情報が消去中であることを表示する、第5の状態表示領域と、上記第2の管理情報が更新中であることを表示する、第6の状態表示領域と、すべての処理が終了したことを表示する、第7の状態表示領域と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第1の管理情報に対する処理が中断されている場合には上記第1の管理情報の内容を上記第2の管理情報の内容により更新し、上記第2の管理情報に対する処理が中断されている場合には上記第2の管理情報の内容を上記第1の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。また、各種の処理の状態を表示する領域を、それぞれ異なる領域とすることにより、同一の領域に対する書き込み回数を減少させることができ、上記主記憶部の耐久性を保持することができる。
本発明の請求項22にかかるメモリ管理方法によれば、請求項19に記載のメモリ管理方法において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理ステップにおいて、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするものとしたので、ブロックが使用できるか否かを把握し、次の書き込み時には、使用できるブロックを書き込み対象のブロックとして選択することができる。
本発明の請求項23にかかるメモリ管理方法によれば、請求項14ないし請求項22のいずれかに記載のメモリ管理方法において、上記メモリ管理方法は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたものとしたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
本発明の請求項24にかかるメモリ管理方法によれば、請求項14ないし請求項22のいずれかに記載のメモリ管理方法において、上記メモリ管理方法は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより2値に割り当て、各領域の表示値を取得する表示値取得手段を備えたものとしたので、上記処理状態表示領域に誤書き込みやビット化けが発生していない場合のみ、表示されている値が示す状態を把握することができる。
本発明の請求項25にかかるメモリ管理方法によれば、請求項17、請求項19、請求項22のいずれかに記載のメモリ管理方法において、上記メモリ管理方法は、各ページに表示されている値を一定ビット毎に区分して2値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたものとしたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
本発明の請求項26にかかるメモリ管理方法によれば、請求項14ないし請求項25のいずれかに記載のメモリ管理方法において、上記主記憶手段は、シリアルフラッシュメモリである、としたので、上記主記憶手段に対して高速に消去や書き込みができるうえに、データサイズの大きいプログラムファイルやデータファイルを格納することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定するものではない。また、本明細書および図面において、数字の末尾に付した「h」は、その数字が16進表記であることを示している。
(実施の形態1)
まず、本発明の請求項ないし請求項13に記載のメモリ管理装置および請求項14ないし請求項26に記載のメモリ管理方法を実施の形態1として、図面を参照しながら説明する。
図1は、本実施の形態1に係るメモリ管理装置を有する情報処理装置の構成を示すブロック図である。
図1に示すように本実施の形態1による情報処理装置100は、プログラムファイルやデータファイルを保持するメモリ管理装置10と、メモリ管理装置10より提供されるプログラムファイルやデータファイルに基づいて処理を行う情報処理部30と、を有する。
メモリ管理装置10は、プログラムファイルとデータファイルとを格納するファイルフラッシュ11と、ファイルフラッシュ11に格納されているファイルの管理を行うファイル管理部13と、情報処理部30の作業領域であるワークメモリ14と、ファイル管理部13からファイルフラッシュ11にアクセスできるようにするフラッシュインターフェース(以下、フラッシュI/Fと称す)12と、ブートプログラムを格納するブートフラッシュ15と、を有する。そして、バス16を介して、ブートフラッシュ15とフラッシュI/F12とが、ファイル管理部13に接続されている。
ファイルフラッシュ11は、NAND型フラッシュメモリ、AND型フラッシュメモリのようなシリアルフラッシュメモリからなる。このファイルフラッシュ11は、フラッシュI/F12を介してなされるファイル管理部13からのアクセスに応答し、格納しているデータをファイル管理部13に供給する。また、ファイル管理部13からの命令により、格納しているデータを消去し、ファイル管理部13からデータが供給されると、該データを格納する。
以下、ファイルフラッシュ11の構造を、8Mbyteの容量を有するものを例にとって説明する。
図2に、ファイルフラッシュ11の記憶領域の構造を示す。
ファイルフラッシュ11の記憶領域は、1024個のブロックより構成され、先頭のブロックを1とし、以降1024まで、順にブロック番号が付与されている。このブロックは、消去を行う際に消去単位となる。また、各ブロックは、8kbyteの記憶容量を有し、528byteごとに16個のページに区分されている。そして、各ページは、先頭を1とし、以降16まで、順にページ番号が付与されている。このページは、ファイル管理部13より書き込みを行う際に書き込み単位となる。さらに、各ページは、先頭より512byteまでに配置され、ファイルを格納するデータ領域と、データ領域に続いて該ページの末尾までの16byteに配置され、ファイル管理部13よりデータ領域を更新する際に、その処理結果などの情報が付加される冗長領域と、により構成されている。なお、本発明は、ファイルフラッシュ11の容量およびブロック数を限定するものではなく、任意の容量とすることができる。ファイルフラッシュ11の容量は、格納するファイルのサイズなどに基づいて決定することが望ましい。
また、図3に示すように、ファイルフラッシュ11の先頭より、該ファイルフラッシュ11に保持しているファイルの管理情報を格納する情報管理領域11Iが配置されており、情報管理領域11Iの後に、情報処理装置100を動作させるプログラムなどの各種実行ファイルや、機器の動作中に発生する各種のデータファイルを格納するデータファイル領域11Dが配置されている。ここで、情報管理領域11Iおよびデータファイル領域11Dが有する各ブロックの各ページは、それぞれ、512byteのデータ領域と、16byteの冗長領域より構成されており、プログラムファイルやデータファイルはデータ領域に格納されるものである。
ファイルフラッシュ11に格納されているファイルには、各ファイルを識別するファイルIDが付与されている。このファイルIDは、4桁の16進表記の数字よりなり、該数字によりファイルの属性を規定したものであってもよく、例えば、最上位より3桁目までが0であるものは、情報管理領域11Iに格納される管理情報のファイルであることを示し、最上位より3桁目までが0でないものは、データファイル領域11Dに格納されるプログラムファイルやデータファイルであることを示すようにしてもよい。この場合、管理情報のファイルIDは、0000hから000Fhまでであり、オリジナル管理情報IoにファイルID=0000hが付与され、バックアップ管理情報IbにファイルID=0001hが付与される。そして、プログラムファイルおよびデータファイルのファイルIDは、0010hより大きい数字であり、ファイル1〜ファイル3の3本のファイルを有する場合、ファイル1にファイルID=0010hが付与され、ファイル2にファイルID=0011hが付与され、ファイル3にファイルID=0012hが付与される。
情報管理領域11Iは、ブロック1に、データファイル領域11Dに格納されているファイルに関する管理情報を記述したオリジナル管理情報Io(第1の管理情報)が配置され、ブロック2に、オリジナル管理情報Ioに不具合が発生したときのためのバックアップであり、オリジナル管理情報Ioと同一のデータを有するバックアップ管理情報Ib(第2の管理情報)が配置されている。そして、情報管理領域11Iとして3ブロック以上のブロックが割り付けられている場合、ブロック3より最終ブロックまでは、データを格納していない空きブロックとなる。この空きブロックは、ブロック1およびブロック2に不具合が発生したときに、オリジナル管理情報Ioやバックアップ管理情報Ibを格納するために用いる。
オリジナル管理情報Ioおよびバックアップ管理情報Ibは、先頭より、データファイル領域11Dに格納されているファイル数に関するファイル数情報Icntが配置され、これに続いて、データファイル領域11Dに格納されている各ファイルのファイル名やファイルサイズなどの情報を有するファイル管理情報Ifが配置され、これに続いて、複数のブロックに分割して格納されているファイルの一連の流れを復元可能にするブロックマップImapが配置されている。
ここで、ファイル管理情報Ifは、ファイルフラッシュ11に格納されている各ファイルの情報を記述したものであり、n(nは1以上の整数)個の各ファイルに対して一定容量ずつ割り当てられたファイル情報If1〜Ifnを有する。このファイル管理情報Ifは、データファイル領域11Dに格納可能なファイル数分のデータ容量を確保しており、データファイル領域11Dに格納されているファイル数が、格納可能なファイル数以下である場合、余剰領域はデータが格納されていない空き領域となる。
また、各ファイル情報If1〜Ifnは、対応するファイルのIDと、スタートブロック番号と、ファイルサイズと、ファイル名と、を示す情報を有する。IDは、例えば「ID=XXXXh」の形式で記述されたファイルIDであり、スタートブロック番号は、そのファイルの先頭が格納されているブロックのブロック番号である。そのIDにファイルが割り当てられていない場合、スタートブロック番号を「FFFFh」とし、ファイル名を空白とするように規定してもよい。この場合、書き換え時等に、該IDにファイルが割り当てられると、スタートブロック番号、およびファイル名が記述される。
このファイルフラッシュ11では、ファイルをブロック単位で管理しているので、1つのファイルを分割して、前後を接しない複数のブロックに格納することもある。ブロックマップImapは、このような場合でも、分割されたファイルの所在を明確にし、ファイルの一連の流れを復元可能にするためのものであり、ファイルフラッシュ11が有する1024個の各ブロックに対して一定容量ずつ割り当てられたブロック情報Imap1〜ブロック情報Imap1024を有する。
そして、ブロック情報Imap1〜ブロック情報Imap1024は、該ブロックに格納されているファイルのIDと、そのファイルの前部が格納されている前ブロック番号と、そのファイルの後部が格納されている次ブロック番号と、を示す情報を有する。IDには、該ブロックにファイルが格納されている場合に、そのファイルのファイルIDが記述される。該ブロックにファイルが格納されていない場合には、そのブロックの状態がフラグにより示される。例えば、不具合を有するブロックのIDを、「FEEEh」とし、書き込まれていない未使用ブロックのIDを、「FFFFh」としてもよい。前ブロック番号には、該ブロックがファイルの途中部を格納している場合、その前部を格納しているブロック番号を記述する。また、ファイルの先頭部を格納するブロックおよび未使用ブロックの、前ブロック番号を、「FFFFh」としてもよい。一方、次ブロック番号には、該ブロックがファイルの途中部を格納している場合、その次の部分を格納しているブロック番号を記述する。また、ファイルの最後部を格納するブロックおよび未使用ブロックの次ブロック番号を、「FFFFh」としてもよい。
図4に示したように、冗長領域は、各ページの先頭から512byteを占めるデータ領域に続いて配置され、データ領域に対して消去や書き込みを行う際に、その処理結果などの情報を付加する16byteの領域である。この冗長領域には、データ領域の更新処理状態を表示するモードRBmodと、該ブロックのデータ領域の更新処理において不具合が発生したか否かを表示する有効性情報RBvalと、該ブロックが使用されているか否かを表示するブロック書込状態RBwrと、該ブロックが不具合を有する不良ブロックであるか否かを表示するブロック良否情報RBbdと、該ページが使用されているか否かを表示するページ書込状態RPwrと、該ページのデータ領域のECC(Error Correction Code:誤り訂正符号)データを格納するECC情報RPeccと、が割り付けられている。さらに冗長領域は、データを格納しない空き領域を有する。ここで、ブロック書込状態RBwrおよびページ書込状態RPwrは、請求の範囲に記述した書き込み終了表示領域に相当するものである。
モードRBmodは、該ブロックのデータ領域の内容を更新する際に、そのブロックに対する消去および書き込み処理の状態を示すフラグであり、オリジナル管理情報Ioまたはバックアップ管理情報Ibが消去中である状態を「FFFFh」、オリジナル管理情報Ioまたはバックアップ管理情報Ibが更新中(新ファイル作成中)である状態を「FFF0h」、データファイル領域11Dに新しいファイルが書き込み中である状態を「FF00h」、データファイル領域11Dの古いファイルが消去中である状態を「F000h」、データ更新が正常に終了した状態や更新が発生していない状態を「0000h」として定義している。このモードRBmodは、各ブロックの1ページ〜3ページ、あるいは1ページの冗長領域に付加される。
有効性情報RBvalは、該ブロックのデータ領域における消去、書き込み時に、不良ブロック(使用できないブロック)が発生したか否かを示すフラグであり、不良ブロックが発生していない状態を「FFh」、新しいファイルの消去や書き込み処理時に不良ブロックが発生した状態を「F0h」、古いファイルの消去や書き込み処理時に不良ブロックが発生した状態を「0Fh」として定義している。この有効性情報RBvalは、各ブロックの1ページ〜3ページの冗長領域に付加される。
ブロック書込状態RBwrは、該ブロックが使用されているか否かを示すフラグであり、該ブロックが未使用である状態を「FFh」、該ブロックが使用されている状態(書き込みが終了している状態)を「00h」として定義している。このブロック書込状態RBwrは、各ブロックの1ページ〜3ページ、あるいは1ページの冗長領域に付加される。
ブロック良否情報RBbdは、該ブロックが不良ブロック(使用できないブロック)であるか否かを示すフラグであり、不良ブロックではない状態を「FFh」、不良ブロックである状態を「00h」として定義している。このブロック良否情報RBbdは、各ブロックの1ページ〜3ページ、あるいは1ページの冗長領域に付加される。
ページ書込状態RPwrは、該ページが使用されているか否かを示すフラグであり、該ページが未使用である状態を「FFh」、該ページが使用されている状態(書き込みが終了している状態)を「00h」として定義している。このページ書込状態RPwrは、各ページの冗長領域に付加される。
なお、本発明は、冗長領域の各領域に付加されるフラグを限定するものではなく、各状態を、任意のフラグに定義することができる。
ファイル管理部13は、起動時に、ブートフラッシュ15を読み出し、ブートプログラムに基づいて、ファイルフラッシュ11に格納されているファイルをワークメモリ14に格納する。ワークメモリ14のファイルが更新されると、ファイル管理部13は、ファイルフラッシュ11のファイルを更新するための新管理情報を生成し、該新管理情報に基づいて更新されたファイルをファイルフラッシュ11に書き込み、旧ファイルを消去し、新管理情報の内容によりファイルフラッシュ11のオリジナル管理情報Ioおよびバックアップ管理情報Ibを更新する。また、情報処理部30の命令に従って、ファイルをファイルフラッシュ11より消去するための新管理情報を生成し、該新管理情報に基づいてファイルフラッシュ11のファイルを消去し、新管理情報の内容によりファイルフラッシュ11のオリジナル管理情報Ioおよびバックアップ管理情報Ibを更新する。さらに、ワークメモリ14に新ファイルが生成されると、そのファイルをファイルフラッシュ11に書き込むための新管理情報を生成し、該新管理情報に基づいてファイルをファイルフラッシュ11に書き込み、新管理情報の内容によりファイルフラッシュ11のオリジナル管理情報Ioおよびバックアップ管理情報Ibを更新する。さらにファイル管理部13は、ファイルフラッシュ11のファイルやブロック、ページの状態を、冗長領域に表示されている値に基づいて判定する。このファイル管理部13は、請求の範囲に記述したファイル管理手段、管理情報生成手段、第1の管理情報更新手段、記憶処理手段、第2の管理情報更新手段、および表示値取得手段を含むものである。
ワークメモリ14は、SDRAM(Synchronous Dynamic Random Access Memory)からなり、起動時にファイル管理部13から供給されるオリジナル管理情報Ioおよびバックアップ管理情報Ibなどのファイルを格納する。以下、ワークメモリ14に格納されているオリジナル管理情報Ioを、管理情報Iwとして説明する。また、ファイル管理部13および情報処理部30は、ワークメモリ14を介してデータの授受を行う。
ブートフラッシュ15は、起動時の情報処理装置100の処理を定めたブートプログラムを格納している。ここで、ブートプログラムは、起動時、ファイル管理部13がファイルフラッシュ11を利用できるようにする手順と、ファイル管理部13が情報管理領域11Iのデータをワークメモリ14に読み出す手順と、管理情報Iwの記述に従って、データファイル領域11Dに格納されているすべてのファイルをワークメモリ14に読み出す手順と、転送されたプログラムを情報処理部30が先頭から読み出す手順と、を定めたものである。
次に、このように構成されるメモリ管理装置10における、ファイルフラッシュ11に対するファイルの消去、書き込み、読み出しの方法を説明する。
まず、ファイルフラッシュ11に書き込まれているファイルを消去する方法を説明する。
ファイルフラッシュ11の消去単位はブロックであり、消去の際には、1ブロックごとにその内容を消去するブロック消去を行う。このようなブロック消去の方法を説明する。図7は、ブロック消去の方法を説明するフローチャートである。
ブロック消去を行う際、ファイル管理部13は、消去を行うブロックのブロック番号を指定して、ブロック消去命令を発行する(ステップS11)。
すると、ファイルフラッシュ11は、ファイル管理部13より指定されたブロックの内容を消去する(ステップS12)。
次に、ファイル管理部13はファイルフラッシュ11から返却されるエラーコードにより、消去が正常に終了したか否かを判断する(ステップS13)。
消去が成功した場合は、そのブロックの冗長領域に正常ブロックであることを登録する。なお、消去されたビットは「1」となっているので、消去したブロックが情報管理領域11Iのブロックである場合、モードRBmodは、ブロックの消去が正常終了したことを表示するものとなっている。同様に、有効性情報RBvalは、正常ブロックであることを表示し、ブロック良否情報RBbdは、そのブロックが不良ブロックではないことを表示し、ページ書込状態RPwrは、そのブロックが未使用であることを表示しているので、このステップでは特に書き込みは行わない(ステップS14)。
一方、消去に失敗した場合は、そのブロックの冗長領域に不良ブロックであることを登録する。すなわち、有効性情報RBvalに、古いファイルの消去処理時に不良ブロックが発生したことを示す「0Fh」を記述し、ブロック良否情報RBbdに、不良ブロックであることを示す情報を記述する。(ステップS15)。
次に、このようなブロック消去により、ファイルフラッシュ11のファイルを消去する方法を説明する。図8は、ファイル消去の方法を説明するフローチャートである。
ファイルの消去を行う際、ファイル管理部13は消去対象となるブロックのブロック番号または消去するファイルのファイルIDを認識しているので、まず、ファイル管理部13は、消去するブロック番号を認識しているか否か、つまり、消去対象のブロック番号をファイルフラッシュ11に対して指定可能か否かを判断する。消去対象のブロック番号を認識している場合、ステップS23に移行する。(ステップS21)。
消去対象のブロック番号を認識していない場合、ファイル管理部13はワークメモリ14に有する管理情報Iwのファイル管理情報Ifを検索し、消去するファイルのファイルIDを有するファイル情報より、そのファイルの先頭が格納されているスタートブロック番号を取得する(ステップS22)。
消去対象のブロック番号を得ると、該当するブロックに対するブロック消去を実行する。このブロック消去は、前述のステップS11〜S15によって行う(ステップS23)。
次に、ファイル管理部13はブロック消去が正常に終了したか否かを判断し、正常に終了した場合は、ステップS26に移行する(ステップS24)。
ブロック消去に失敗した場合、ファイル管理部13は、ワークメモリ14に有する管理情報IwのブロックマップImapに、不良ブロック、すなわち使用できなくなった使用禁止ブロックであることを登録する。例えば、ブロックBNの消去に失敗した場合、ブロック情報ImapBNのIDに、「FEEEh」が記述される。この時、管理情報Iwは、使用禁止ブロックが登録された是正用管理情報となっている(ステップS25)。
ステップS24において、ブロック消去が正常に終了していると判断された場合、ファイル管理部13は、ブロックマップImapより、消去しているファイルの次の部分を格納しているブロック番号を取得する。例えば、ブロックBNを消去した場合、ブロック情報ImapBNより、次ブロック番号を取得する(ステップS26)。
そして、ファイル管理部13は、取得した次ブロック番号により、ステップS23において消去したブロックがファイル終端のブロックまたは未使用ブロックであるか判断し、終端のブロックまたは未使用ブロックである場合、処理を終了する。一方、終端のブロックまたは未使用ブロックではない場合、ステップS23に戻り、ブロックの消去を行う(ステップS27)。
以下、このステップS21〜ステップS27を、ファイル消去フローF1と称す。
次に、ファイルフラッシュ11にファイルを書き込む方法を説明する。
ファイルフラッシュ11の書き込み単位はページであり、書き込みの際には、データを1ページごとに書き込むページ書き込みを行う。このようなページ書き込みの方法を説明する。図9は、ページ書き込みの方法を説明するフローチャートである。
ページ書き込みを行う際、ファイル管理部13は、書き込みを行うブロックとページとを指定したページ書き込み命令をフラッシュI/F12に発行する。そして、ワークメモリ14に有するファイルのデータやファイルIDを出力する(ステップS31)。
ページ書き込みを命令されると、フラッシュI/F12は、ファイルフラッシュ11の、指定されたページを書き込み可能な状態にし、続いてファイル管理部13から入力される書き込みデータをシリアルでファイルフラッシュ11に出力する。すると、ファイルフラッシュ11は、フラッシュI/F12より入力されるデータを、ファイル管理部13より指定されたページに書き込む(ステップS32)。
次に、ファイル管理部13はファイルフラッシュ11から返却されるエラーコードにより、書き込みが正常に終了したか否かを判断する(ステップS33)。
書き込みに成功した場合は、そのブロックの冗長領域にブロックとページとが使用中であることを登録する。すなわち、ブロック書込状態RBwrとページ書込状態RPwrとに、書き込みがなされていることを示す「00h」を記述する(ステップS34)。
一方、書き込みに失敗した場合は、そのブロックの冗長領域に不良ブロックであることを登録する。すなわち、有効性情報RBvalに、ファイルの書き込み時に不良ブロックが発生したことを示す「F0h」または「0Fh」を記述し、ブロック良否情報RBbdに、不良ブロックであることを示す情報を記述する(ステップS35)。
次に、このようなページ書き込みにより、ファイルをファイルフラッシュ11に書き込む方法を説明する。図10は、ファイルの書き込みの方法を説明するフローチャートである。
ファイルの書き込みを行う際、ファイル管理部13は、ワークメモリ14に有する管理情報Iwのファイル管理情報Ifを検索し、書き込みを行うファイルのファイルIDを有するファイル情報より、そのファイルの先頭部の書き込み対象となるスタートブロック番号を取得する(ステップS41)。
次にファイル管理部13は、書き込み対象のページ番号を格納する変数に0を代入する(ステップS42)。
書き込み対象のブロック番号とページ番号とを得ると、該当するページに対するページ書き込みを実行する。このページ書き込みは、前述のステップS31〜S35によって行う(ステップS43)。
次に、ファイル管理部13は、ページ書き込みが正常に終了したか判断し、書き込みに失敗した場合は、ステップS49に移行する(ステップS44)。
ページ書き込みに成功した場合、次ページの書き込みのためにページ番号変数を1加算する(ステップS45)。
そして、ファイル管理部13は、すべてのデータの書き込みが終了したか判断し、データが終了した場合は処理を終了する(ステップS46)。
データが終了していない場合、ファイル管理部13は、ページ番号変数に基づき、そのブロックは最終ページまで書き込まれたか判断する。最終ページまで書き込まれていない場合はステップS43に戻り、次ページに対する書き込みを行う(ステップS47)。
最終ページまで書き込んだ場合、ファイル管理部13は、ブロックマップImapより、書き込みを行っているファイルの次の部分を格納するブロック番号を取得する。例えば、ブロックBNに書き込んだ場合、ブロック情報ImapBNより、次ブロック番号を取得する。そしてステップS42に戻り、次のブロックに対する書き込みを行う(ステップS48)。
一方、ステップS44においてページ書き込みに失敗したと判断した場合、そのブロックに対する書き込みを停止し、ファイル管理部13は、ワークメモリ14に有する管理情報IwのブロックマップImapに、不良ブロックであることを登録する。例えば、ブロックBNの書き込みに失敗した場合、ブロック情報ImapBNのIDに、「FEEEh」が記述される(ステップS49)。
ここで、ファイル管理部13は、書き込みに失敗したファイルがオリジナル管理情報Ioまたはバックアップ管理情報Ibであるか判断し、オリジナル管理情報Ioまたはバックアップ管理情報Ibの書き込みに失敗した場合、処理を終了する。なお、オリジナル管理情報Ioおよびバックアップ管理情報Ibの書き込みに失敗した場合の復旧処理については後述する(ステップS50)。
書き込みに失敗したファイルがオリジナル管理情報Ioまたはバックアップ管理情報Ibではない場合、代替ブロックに対する書き込みを行うために、書き込みがなされていない空きブロックを検索する。ファイル管理部13はワークメモリ14に有する管理情報IwのブロックマップImapを検索し、ファイルIDが未使用(FFFFh)となっているブロック情報を取得する。そして、取得したブロック情報に、書き込みを行っているファイルのファイルIDを登録し、そのブロックを、書き込みに失敗したファイルを書き込む代替ブロックとして確保する(ステップS51)。
そして、書き込んだページ数だけファイルのデータ位置を戻し、ステップS42に戻って、ステップS51において確保したブロックの先頭ページより書き込みをやり直す(ステップS52)。
以下、このステップS41〜ステップS52を、ファイル書き込みフローF2と称す。
次に、ファイルフラッシュ11よりファイルを読み出す方法を説明する。
ファイルフラッシュ11の読み出し単位はページであり、ファイル管理部13は、データを1ページごとに読み出すページ読み出しを行う。このようなページ読み出しの方法を説明する。図11は、ページ読み出しの方法を説明するフローチャートである。
ページ読み出しを行う際、ファイル管理部13は、読み出しを行うブロックとページとを指定して、そのページを読み出す命令をバス16を介してフラッシュI/F12に出力する。(ステップS61)。
すると、フラッシュI/F12は、ファイルフラッシュ11の指定されたページに格納されているデータをシリアルで読み出し、バス16を介してファイル管理部13に出力する(ステップS62)。
読み出したデータにエラーがあった場合、ECCによりエラー訂正を行う。(ステップS63)。
次に、このようなページ読み出しにより、ファイルフラッシュ11よりファイルを読み出す方法を説明する。図12は、ファイル読み出しの方法を説明するフローチャートである。
ファイルの読み出しを行う際、ファイル管理部13は、ワークメモリ14に有する管理情報Iwのファイル管理情報Ifを検索し、読み出すファイルのファイルIDを有するファイル情報より、そのファイルの先頭が格納されているスタートブロック番号を取得する(ステップS71)。
次に、ファイル管理部13は、読み出し対象のページ番号を格納する変数に0を代入する(ステップS72)。
読み出し対象のブロック番号とページ番号とを得ると、該当するページに対するページ読み出しを実行する。このページ読み出しは、前述のステップS61〜S63によって行う(ステップS73)。
ページの読み出しが終了すると、次ページの読み出しのためにページ番号変数を1加算する(ステップS74)。
そして、ファイル管理部13は、読み出すファイルのファイル情報Ifnのファイル管理情報に基づき、すべてのデータの読み出しが終了したかを判断する。そして、データが終了した場合は処理を終了する(ステップS75)。
データが終了していない場合、ファイル管理部13は、ページ番号変数に基づき、そのブロックの最終ページまでのデータを読み出したか判断する。最終ページまで読み出していない場合はステップS73に戻り、次ページに対する読み出しを行う(ステップS76)。
最終ページまで読み出した場合、ファイル管理部13は、読み出したデータにECCエラーがあるか判定し、ECCエラーがない場合、ステップS79に移行する(ステップS77)。
読み出したデータにECCエラーがあった場合、エラーが生じているブロックのデータを消去し、異なるブロックに書き込むために、ファイル管理部13は、まず、ファイルフラッシュ11のオリジナル管理情報Ioが格納されているブロックのモードRBmodに、「FFF0h」を書き込み、オリジナル管理情報Ioが更新中であることを表示する(ステップS78−1)。
次に、ワークメモリ14に有する管理情報IwのブロックマップImapを検索し、IDが未使用となっている空きブロックのブロック情報を取得する。そして、取得したブロック情報のIDにファイルIDを登録し、このブロック情報によって管理されているブロックを、ECCエラーが生じているブロックのデータを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する。さらに、ファイル管理部13は、ECCエラーが生じているブロック、すなわちデータを消去するブロックのブロックマップより、IDと、前ブロック番号と、後ブロック番号とを消去する。この時、管理情報Iwは、エラーを有するブロックの情報が消去され、新たにデータを書き込むブロックの情報が追加された新管理情報Iw’となっている(ステップS78−2)。
空きブロックを確保すると、ファイル管理部13は、該確保したブロックに、読み出したブロックのデータを書き込む。この書き込みは、前述のステップS42〜S47,ステップS49〜52により行う(ステップS78−3)。
次にファイル管理部13は、オリジナル管理情報Ioおよびバックアップ管理情報Ibを更新する。すなわち、オリジナル管理情報Ioを消去し、消去したブロックに新管理情報Iw’を書き込んだ後、バックアップ管理情報Ibを消去し、消去したブロックに新管理情報Iw’を書き込む。このオリジナル管理情報Ioおよびバックアップ管理情報Ibを更新する方法は、後で詳述する(ステップS78−4)。
そして、ファイル管理部13は、ECCエラーが生じているブロックのデータを消去する。このブロック消去は、前述のステップS11〜ステップS15により行う(ステップS78−5)。
このようにして、1つのブロックを読み出すと、ファイル管理部13は、ブロックマップImapより、ファイルの次の部分を格納しているブロックのブロック番号を取得する。例えば、ブロックBNを読み出した場合、ブロック情報ImapBNより、次ブロック番号を取得する。そしてステップS72に戻り、次のブロックに対する読み出しを行う(ステップS79)。
以下、このステップS71〜ステップS79を、ファイル読み出しフローF3と称す。
次に、情報処理装置100による情報処理方法、およびメモリ管理装置10によるメモリ管理方法を説明する。
まず、情報処理装置100の起動時の動作について、図面を参照しながら説明する。
情報処理装置100に電源が投入されると、情報処理部30はメモリ管理装置10に対してブートフラッシュ15の読み出しを指示する。すると、ファイル管理部13はブートフラッシュ15に格納されているブートプログラムを読み出し、ブート処理を実行する。図13は、メモリ管理装置10によるブート処理を説明するフローチャートである。
まずファイル管理部13は、ファイル読み出しフローF3により、ファイルフラッシュ11のオリジナル管理情報Ioをワークメモリ14に読み出す(ステップS1001)。
次に、ファイル管理部13は、ワークメモリ14上に読み出した管理情報Iwの冗長領域のモードRBmodに基づいて、前回ファイルフラッシュ11にファイルを書き込んだ際に、その処理が正常に終了したか判断する。
まず、モードRBmodに書き込まれている16ビットの値を4ビットごとに区分し、各4ビットに「0」が書き込まれているか判断する。そして、4ビット中、3ビット以上に「0」が書き込まれている場合、その4ビットの値を「0h」とし、3ビット以上に「0」が書き込まれてない場合、その4ビットの値を「Fh」として、モードRBmodの4値を判定する。また、モードRBmodが、ブロックの先頭ページより3ページまでの所定のビット位置に付加されている場合、ファイル管理部13は、各ページの値を判定した上で、これらの値を多数決判断する。例えば、図5に示すように、ページ1の値が「FF00h」、ページ2の値が「FF0Fh」、ページ3の値が「FF00h」である場合、各ページの上位4ビット(R1)の値はすべて同一であり、R1の値は「Fh」と判定される。同様に、5ビット目〜12ビット目(R2,R3)も、各ページの値が同一であるので、R2の値は「Fh」、R3の値は「0h」と判定される。下位の4ビットは、ページ1の値がページ0およびページ2とは異なっているので、多数決判断により、R4の値は「0h」と判定される。
このような多数決判段により、その値が判定されたモードRBmodが「0000h」である場合、ファイル管理部13は、データ更新処理が正常に終了していると判断し、処理をステップS1008に移行する(ステップS1002)。
前回のデータ更新処理が正常に終了していない場合、ファイル管理部13は、オリジナル管理情報Ioを格納しているブロックのモードRBmodに基づき、オリジナル管理情報Ioは消去の途中または更新の途中であるか、あるいは、データファイル領域11Dのファイルが書き込み中であるか判断する。ファイル管理部13は、ステップS1002と同様の方法で多数決判定して取得したモードRBmodの値が「FFFFh」、「FFF0h」、「FF00h」のいずれでもない場合ステップS1006に移行する(ステップS1003)。
オリジナル管理情報Ioは消去または更新の途中、または、データファイル領域11Dのファイルが書き込み中(新ファイル作成中)である場合、バックアップ管理情報Ibをオリジナル管理情報として用いるために、ファイルフラッシュ11よりワークメモリ14に読み出す。このバックアップ管理情報Ibの読み出しは、ファイル読み出しフローF3によって行う(ステップS1004)。
次に、ファイルフラッシュ11のオリジナル管理情報Ioが格納されているブロックに、ステップS1004で読み出したワークメモリ14上のバックアップ管理情報Ib(以下、新管理情報Iw’)の内容を書き込む(ステップS1005)。
ファイルフラッシュ11のオリジナル管理情報Ioを更新する方法を、図15を参照しながら説明する。
まず、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを格納しているブロックのモードRBmodを、「FFFFh」とし、オリジナル管理情報Ioが消去中であることを表示する(ステップS81)。
ファイル管理部13は、ファイル消去フローF1により、ファイルフラッシュ11のオリジナル管理情報Ioを消去する(ステップS82)。
ここで、ファイルフラッシュ11のオリジナル管理情報Ioが格納されているブロックのモードRBmodに、「FFF0h」を書き込み、オリジナル管理情報が更新中であることを表示する(ステップS83)。
次に、ファイル管理部13は、新管理情報Iw’をフラッシュI/F12に出力し、ステップS82において消去したブロックに書き込む。この書き込みは、ファイル書き込みフローF2によって行う(ステップS84)。
ファイルを書き込むと、ファイル管理部13は書き込みに成功したか判断し、書き込みに成功した場合は、管理情報の更新処理を終了する(ステップS85)。
一方、書き込みに失敗した場合、図16に示した方法で、新たなブロックにオリジナル管理情報Ioを書き込む(オリジナル管理情報の置き換え)(ステップS86)。
オリジナル管理情報Ioを置き換える際には、まず、新管理情報Iw’のブロックマップImapより空きブロックを検索する。すなわち、情報管理領域11Iのブロックに関するブロック情報Imap1〜Ima16のうちIDが未使用となっているブロック情報を取得する。以下、空きブロックとして、ブロック3が検出され、ブロック情報Imap3を取得したものとして説明する(ステップS91)。
取得したブロック情報Imap3にオリジナル管理情報IoのファイルID「0000h」を登録し、該当するブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する(ステップS92)。
ここで、オリジナル管理情報Ioの書き込み対象となるファイルフラッシュ11のブロック3のモードRBmodに、「FFF0h」を書き込み、オリジナル管理情報が更新中であることを表示する(ステップS93)。
そして、ブロック3にワークメモリ上の新管理情報Iw’を書き込む。この書き込みは、ファイル書き込みフローF2によって行う(ステップS94)。
ブロック3に対する書き込みが終了すると、古いオリジナル管理情報Ioを、ファイル消去フローF1によって消去する(ステップS95)。
以下、このステップS81〜ステップS86を、管理情報更新フローF4と称す。
なお、ここでは、オリジナル管理情報Ioの内容を、新ファイルの内容により更新する方法を説明したが、バックアップ管理情報Ibの更新も、この管理情報更新フローF4によって行う。また、ファイルフラッシュ11のオリジナル管理情報Ioと、バックアップ管理情報Ibとは同一内容のファイルであり、ステップS1007でオリジナル管理情報Ioをファイルフラッシュ11より読み出したバックアップ管理情報Ibにより更新した場合でも、更新前後でファイルの内容は変化しない。
ステップS1003において、オリジナル管理情報Ioは消去および更新の途中ではなく、データファイル領域11Dのファイルが書き込み中ではない、と判断された場合、前回のオリジナル管理情報Ioの更新は正常に終了していることになるので、ファイル管理部13は、モードRBmodに基づき、データファイル領域11Dのファイルが書き込みまたは消去の途中ではないか判断する。ファイル管理部13は、ステップS1002と同様の方法で多数決判定して取得したモードRBmodの値が「F000h」または「FF00h」である場合、データファイル領域11Dのファイルが書き込みまたは消去の途中であると判断する。ここで、書き込みまたは消去の途中ではない場合、ステップS1008に移行する(ステップS1006)。
データファイル領域11Dのファイルが書き込みまたは消去の途中である場合、図14に示す方法で、書き込みまたは消去の途中のファイルをファイルフラッシュ11より消去する(ステップS1007)。
書き込みまたは消去の途中のファイルを消去する場合、ファイル管理部13は、管理情報Iwのファイル情報If1〜Ifnに記述されているIDとブロック情報Imap1〜Imap1024に登録されているIDとを比較し、ファイル情報If1〜Ifnに登録されていないIDを有するブロック情報を検索する(ステップS101)。
次に、ファイル管理部13は、取得したブロック情報に記述されている前ブロック番号に基づいて、そのブロック情報が、ファイルのスタートブロックに関するものであるか判断する。前ブロック番号には、スタートブロックである場合「FFFFh」が記述され、先頭ブロックではない場合、そのファイルの前の部分を格納しているブロックの番号が記述されている。ステップS101でブロックBNに関するブロック情報ImapBNを取得した場合、ブロック情報ImapBNの前ブロック番号が「FFFFh」であるならば、ブロックBNはスタートブロックである(ステップS102)。
前ブロック番号にブロック番号が記述されていた場合、そのブロックのブロック情報を取得する。例えば、前ブロック番号に「BN−1」が記述されていた場合、ブロック情報ImapBN−1を取得し、ステップS102に戻る(ステップS103)。
ステップS102においてスタートブロック番号を取得すると、ファイル管理部13はファイル消去フローF1を実行し、ファイルを消去する(ステップS104)。
ここで、全ブロックのブロック情報に登録されているIDについて検索した場合、処理を終了する。未検索のブロック情報が残っている場合、ステップS101に戻る(ステップS105)。
このようにして書き込みまたは消去途中のファイルを消去すると、ステップS1008に移行する。
オリジナル管理情報Ioをワークメモリ14に読み出すと、ファイル管理部13はファイル読み出しフローF3を実行し、バックアップ管理情報Ibをワークメモリ14に読み出す(ステップS1008)。
次に、ファイル管理部13は、バックアップ管理情報Ibを格納しているブロックのモードRBmodに基づいて、前回ファイルフラッシュ11にファイルを書き込んだ際に、その処理が正常に終了したか判断する。ファイル管理部13は、ステップS1002と同様の方法で多数決判定して取得したモードRBmodの値が「0000h」である場合、データ更新処理が正常に終了していると判断し、処理を終了する(ステップS1009)。
一方、ステップS1009でデータ更新処理が正常に終了していないと判断された場合、ファイル管理部13は、ファイルフラッシュ11のバックアップ管理情報Ibが格納されているブロックに、ステップS1001において読み出したワークメモリ14上の管理情報Iwの内容を書き込む。このバックアップ管理情報Ibの更新は、管理情報更新フローF4により行う(ステップS1010)。
このようにしてファイルフラッシュ11のオリジナル管理情報Ioとバックアップ管理情報Ibとをワークメモリ14に読み出すと、ファイル管理部13は、管理情報Iwのファイル管理情報IfおよびブロックマップImapの記述に従って、ファイルフラッシュ11のデータファイル領域11Dに格納されているプログラムファイルやデータファイルをワークメモリ14に転送する。すなわちファイル管理部13は、ファイル情報If17〜ファイル情報Ifnに記述されている各ファイルに対してファイル読み出しフローF3を実行する。
このブート処理が終了すると、情報処理部30は、ワークメモリ14に転送されたプログラムを先頭から読み出して、プログラムの処理を実行する。
情報処理部30は、プログラムの実行に伴いファイルが必要なくなると、ファイル管理部13に対して、ファイルフラッシュ11上のファイルの消去を指示する。また、新ファイルを生成すると、そのファイルをワークメモリ14に出力し、ファイル管理部13に対して新ファイルの書き込みを指示する。
次に、情報処理部30よりファイルの消去、書き込み、読み出しが指示された場合のメモリ管理装置10の動作を説明する。
ここでは、ファイルフラッシュ11のデータファイル領域11Dに格納されているファイル2を、ファイル3に更新する場合を例にとって説明する。図6は、ファイル2をファイル3に更新する手順を、ファイルフラッシュ11の状態ごとに示した図、図17は、ファイル2をファイル3に更新する方法を説明するフローチャートである。
ファイル更新を行う前(状態1)のファイルフラッシュ11には、情報管理領域11Iにオリジナル管理情報Ioとバックアップ管理情報Ibとが格納され、データファイル領域11Dにファイル1とファイル2とが格納されている。また、ワークメモリ14には、ファイルフラッシュ11に格納されているオリジナル管理情報Ioやバックアップ管理情報Ibと同一内容の管理情報Iwが格納されている。
状態2では、ワークメモリ14上の管理情報Iwが更新される。
まず、ファイル管理部13は、管理情報Iwを複製し、ワークメモリ14のデータを有していない領域に、複製した管理情報Iwを退避させる(ステップS2001)。
そして、図18に示す方法で、ファイルフラッシュ11に新ファイルを追加できるか判断し、管理情報Iwに新ファイルのファイルIDを登録する(ステップS2002)。
新ファイルの追加が可能か判断するには、まず、管理情報Iwのファイル管理情報Ifを検索し、IDが未使用となっているファイル情報を取得する(ステップS111)。
そして、取得したファイル情報のIDに、追加する新ファイルのファイルIDを登録し、このファイル情報を新ファイルに割り当てる(ステップS112)。
次に、管理情報IwのブロックマップImapを検索し、IDが未使用となっている空きブロックのブロック情報を取得する(ステップS113)。
そして、取得したブロック情報のIDに新ファイルのファイルIDを登録し、このブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する(ステップS114)。
ここで、ファイル管理部13は、新ファイルを格納するために必要となるブロック数のブロックを確保したか判断し、必要数のブロックを確保していない場合はステップS113に戻る。一方、必要数のブロックにIDを登録すると、処理を終了する。また、必要数のブロックを確保していないが、ファイルフラッシュ11のデータファイル領域11Dに空き領域がなく、ブロック情報Imap1〜ブロック情報Imap1024のすべてのIDにファイルIDが登録されている場合も、処理を終了する(ステップS115)。
このようにして、新ファイルを追加できることを判断すると、ステップS2004に移行し、ファイルフラッシュ11に新ファイルを追加できない場合、処理を終了する(ステップS2003)。
次に、管理情報Iwの、消去するファイル2のファイル情報If2を削除する。また、既存のファイルに新たなファイルを上書きする場合も、上書きされるファイルのファイル情報を削除する。
ファイル情報を削除するには、まず、ファイル管理部13はファイル情報Ifを検索し、消去するファイル2のファイルIDを有するファイル情報If2を取得する。そして、ファイル情報If2のファイルIDと、スタートブロック番号と、ファイルサイズと、ファイル名とを消去する。次に、ファイル管理部13は、ブロックマップImapを検索し、ファイル2のファイルIDが記述されているブロックのブロック情報を取得すると、IDを未使用に設定する。例えば、ブロックBNにファイル2のファイルIDが記述されている場合、ブロック情報ImapBNのIDを「FFFFh」とする。ファイルは複数のブロックにわたって格納されていることもあるので、ブロックマップImapが有するすべてのブロック情報より、ファイル2のファイルIDが記述されているブロック情報を検索し、IDを未使用に設定する。この時、管理情報Iwは、ファイル2に関する情報が消去され、ファイル3に関する情報が追加された新管理情報Iw’となっている。この状態が、図6の「状態2」である(ステップS2004)。
状態3では、オリジナル管理情報Ioが更新される。すなわち、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに、新管理情報Iw’を書き込む(図6には、更新後のオリジナル管理情報を、新オリジナル管理情報と表記)。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、新管理情報Iw’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2005)。
次に、ワークメモリ14に、ステップS2002において登録したファイルIDを有するファイル3が生成される。このファイル3は、情報処理部30が生成してもよいし、情報処理装置100に接続されている他の機器(図示せず)が生成してもよい。また、ファイル3は、このステップより前のステップで生成されてもよい(ステップS2006)。
状態4では、ステップS2006で生成されたファイル3が、ファイルフラッシュ11に書き込まれる。
ファイル管理部13は、ファイルフラッシュ11の、オリジナル管理情報Ioを格納しているブロックのモードRBmodに、「FF00h」を書き込み、データファイル領域11Dにファイルを書き込み中であることを表示する(ステップS2007)。
モードRBmodを設定すると、ファイル管理部13はファイル書き込みフローF2を実行し、ステップS2002で登録したブロックマップに基づいてファイル3を書き込む(ステップS2008)。
次に、ファイル管理部13は、ワークメモリ上の新管理情報Iw’のブロックマップImapが更新されているか判断し、更新されていない場合はステップS2011に移行する。ブロックマップImapが変更されるのは、ステップS2008において書き込みに失敗し、不良ブロックが登録された場合である(ステップS2009)。
ブロックマップImapが更新されていた場合、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに、更新された新管理情報Iw’を書き込む。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2010)。
状態5では、ファイル2が消去される。
ファイル管理部13は、ファイルフラッシュ11の、オリジナル管理情報Ioを格納しているブロックのモードRBmodに、「F000h」を書き込み、データファイル領域11Dの古いファイルが消去中であることを表示する(ステップS2011)。
モードRBmodを設定すると、ファイル管理部13は、ステップS2001で退避させた管理情報Iwに基づいて、ファイル2のIDまたはスタートブロック番号を取得し、ファイル2を消去する。この消去は、ファイル消去フローF1により行う(ステップS2012)。
次に、ファイル管理部13は、ワークメモリ上の新管理情報Iw’のブロックマップImapが更新されているか判断し、更新されていない場合はステップS2015に移行する。ここで、ブロックマップImapが変更されるのは、ステップS2012において消去に失敗し、不良ブロックが登録された場合である(ステップS2013)。
ブロックマップImapが更新されていた場合、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに、更新された新管理情報Iw’(ステップS25における是正用管理情報)を書き込む。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2014)。
状態6では、バックアップ管理情報Ibが更新される。すなわち、ファイル管理部13は、ファイルフラッシュ11のバックアップ管理情報Ibを消去し、消去したブロックに新管理情報Iw’を書き込む(図6には、更新後のバックアップ管理情報を、新バックアップ管理情報と表記)。このバックアップ管理情報Ibの更新は、管理情報更新フローF4によって行い、新管理情報Iw’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2015)。
バックアップ管理情報Ibの更新が終了したら、ステップS2017に移行し、更新に失敗したら処理を終了する(ステップS2016)。
ファイル2をファイル3に更新する処理のすべてが終了したら、ファイル管理部13は、オリジナル管理情報Ioおよびバックアップ管理情報Ibを格納しているブロックのモードRBmodに、「0000h」を記述し、データ更新が正常に終了したことを表示する(ステップS2017)。
次に、ファイルフラッシュ11のデータファイル領域11Dに格納されているファイルを消去する方法を、ファイル2を消去する場合を例にとって説明する。図19は、ファイル消去する方法を説明するフローチャートである。
ファイルフラッシュ11に格納されているファイル2を消去する時には、まず、ファイル管理部13は、管理情報Iwを複製し、ワークメモリ14のデータを有していない領域に、複製した管理情報Iwを退避させる(ステップS2101)。
次に、管理情報Iwの、消去するファイル2のファイル情報If2を削除する。ファイル管理部13は、消去するファイル2のファイルIDを有するファイル情報If2より、ファイルIDと、スタートブロック番号と、ファイルサイズと、ファイル名とを消去する。さらに、ブロックマップImapを検索してファイル2のファイルIDが記述されているブロック情報を取得し、そのブロックマップのIDを未使用に設定する。この時、管理情報Iwは、ファイル2に関する情報が消去された新管理情報Iw’となっている(ステップS2102)。
ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに新管理情報Iw’を書き込む。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、新管理情報Iw’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2103)。
そして、ファイル管理部13は、ファイルフラッシュ11の、オリジナル管理情報Ioを格納しているブロックのモードRBmodに、「F000h」を書き込み、データファイル領域11Dの古いファイルが消去中であることを表示する(ステップS2104)。
モードRBmodを設定すると、ファイル管理部13は、ステップS2101で退避させた管理情報Iwに基づいて、ファイル2のIDまたはスタートブロック番号を取得し、ファイル2を消去する。この消去は、ファイル消去フローF1により行う(ステップS2105)。
次に、ファイル管理部13は、ワークメモリ上の新管理情報Iw’のブロックマップImapが更新されているか判断し、更新されていない場合はステップS2108に移行する。ここで、ブロックマップImapが変更されるのは、ステップS2105において消去に失敗し、不良ブロックが登録された場合である(ステップS2106)。
ブロックマップImapが更新されていた場合、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに、更新された新管理情報Iw’(ステップS25における是正用管理情報)を書き込む。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2107)。
次に、バックアップ管理情報Ibを更新する。すなわち、ファイル管理部13は、ファイルフラッシュ11のバックアップ管理情報Ibを消去し、消去したブロックに新管理情報Iw’を書き込む。このバックアップ管理情報Ibの更新は、管理情報更新フローF4によって行い、新管理情報Iw’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2108)。
バックアップ管理情報Ibの更新が終了したら、ステップS2110に移行し、更新に失敗したら処理を終了する(ステップS2109)。
ファイル2を消去する処理のすべてが終了したら、ファイル管理部13は、オリジナル管理情報Ioおよびバックアップ管理情報Ibを格納しているブロックのモードRBmodに、「0000h」を記述し、データ更新が正常に終了したことを表示する(ステップS2110)。
次に、ファイルフラッシュ11のデータファイル領域11Dに、新ファイルを追加する方法を、ファイル2を追加する場合を例にとって説明する。図20は、ファイルを追加する方法を説明するフローチャートである。
ファイルフラッシュ11にファイル2を追加する時には、まず、ワークメモリ14上の管理情報Iwに新ファイルのファイルIDを登録し、ファイルフラッシュ11に新ファイルを追加できるかを判断する。ファイル管理部13は、管理情報Iwのファイル管理情報Ifを検索し、IDが未使用となっているファイル情報を取得する。そして、取得したファイル情報のIDに、追加する新ファイルのファイルIDを登録し、このファイル情報を新ファイルに割り当てる。さらに、ブロックマップImapを検索し、IDが未使用となっている空きブロックのブロック情報を取得する。そして、取得したブロック情報のIDに新ファイルのファイルIDを登録し、このブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する。この時、管理情報Iwは、追加するファイル2に関する情報が記述された新管理情報Iw’となっている(ステップS2201)。
このようにして、新ファイルを追加できることを判断すると、ステップS2203に移行し、ファイルフラッシュ11に新ファイルを追加できない場合、処理を終了する(ステップS2202)。
ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに新管理情報Iw’を書き込む。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、新管理情報Iw’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2203)。
次に、ワークメモリ14に、ステップS2001において登録したファイルIDを有するファイル2が生成される。このファイル2は、情報処理部30が生成してもよいし、情報処理装置100に接続されている他の機器(図示せず)が生成してもよい。また、ファイル2は、このステップより前のステップで生成されてもよい(ステップS2204)。
ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを格納しているブロックのモードRBmodに、「FF00h」を書き込み、データファイル領域11Dにファイルを書き込み中であることを表示する(ステップS2205)。
モードRBmodを設定すると、ファイル管理部13はファイル書き込みフローF2を実行し、ステップS2201で登録したブロックマップに基づいてファイル2を書き込む(ステップS2206)。
次に、ファイル管理部13は、ワークメモリ上の新管理情報Iw’のブロックマップImapが更新されているか判断し、更新されていない場合はステップS2209に移行する。ブロックマップImapが変更されるのは、ステップS2206において書き込みに失敗し、不良ブロックが登録された場合である(ステップS2207)。
ブロックマップImapが更新されていた場合、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioを消去し、消去したブロックに、更新された新管理情報Iw’を書き込む。このオリジナル管理情報Ioの更新は、管理情報更新フローF4によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2208)。
次に、バックアップ管理情報Ibを更新する。すなわち、ファイル管理部13は、ファイルフラッシュ11のバックアップ管理情報Ibを消去し、消去したブロックに新管理情報Iw’を書き込む。このバックアップ管理情報Ibの更新は、管理情報更新フローF4によって行い、新管理情報Iw’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う(ステップS2209)。
バックアップ管理情報Ibの更新が終了したら、ステップS2211に移行し、更新に失敗したら処理を終了する(ステップS2210)。
ファイル2を追加する処理のすべてが終了したら、ファイル管理部13は、オリジナル管理情報Ioおよびバックアップ管理情報Ibを格納しているブロックのモードRBmodに、「0000h」を記述し、データ更新が正常に終了したことを表示する(ステップS2211)。
以上のように、本実施の形態1による情報処理装置においては、情報処理装置100を、プログラムファイルやデータファイルを保持するメモリ管理装置10と、メモリ管理装置10より提供されるプログラムファイルやデータファイルに基づいて処理を行う情報処理部30と、を有するものとし、メモリ管理装置10を、プログラムファイルとデータファイルとを格納するファイルフラッシュ11と、ファイルフラッシュ11に格納されているファイルの管理を行うファイル管理部13と、情報処理部30の作業領域であるワークメモリ14と、ファイル管理部13からファイルフラッシュ11にアクセスできるようにするフラッシュI/F12と、ブートプログラムを格納するブートフラッシュ15と、を有するもの、としたので、情報処理部30は、ワークメモリ14上に転送されたプログラムを実行することができ、処理を実行する際にファイルフラッシュ11より1ステップ毎に読み出す必要がなくなる。このため、情報処理部30の処理速度が高速化され、実行時間を大幅に削減することができる。
また、ファイル管理部13は、ワークメモリ14に転送された管理情報Iwを更新することにより、ファイルフラッシュ11に対して消去や書き込みを行うための新管理情報Iw’を生成し、ファイルフラッシュ11のオリジナル管理情報Ioの内容を新管理情報Iw’の内容により更新し、新管理情報Iw’の記述に基づいてファイルフラッシュ11のファイルやブロックの消去、書き込みを行い、ファイルフラッシュ11のバックアップ管理情報Ibの内容を新管理情報Iw’の内容に更新するので、ファイル管理部13により、ファイルフラッシュ11の書き込み対象や消去対象となるブロックを決定することができる。また、ファイルフラッシュ11にオリジナル管理情報Ioを書き込んだ後で、ファイルやブロックに対する消去、書き込みを行うので、すべての処理を完了する前に処理を中断した場合に、ファイル管理部13により、消去途中や書き込み途中のファイルを検出して、該ファイルを消去することができる。さらに、オリジナル管理情報Ioを書き込んだ後で、バックアップ管理情報Ibを書き込むので、バックアップ管理情報Ibの消去や書き込みが途中で中断された場合に、オリジナル管理情報Ioを用いてバックアップ管理情報Ibを復旧することができる。
また、各ページの冗長領域に、データ領域の更新処理状態を表示するモードRBmodと、ブロックのデータの更新処理において不具合が発生したか否かを表示する有効性情報RBvalと、該ブロックが使用されているか否かを表示するページ書込状態RBwrと、該ブロックが不具合を有する不良ブロックであるか否かを表示するブロック良否情報RBbdと、該ページが使用されているか否かを表示するページ書込状態RPwrと、データ領域のECCデータを格納するECC情報RPeccとを割り付けたので、メモリ管理部13により、ファイルフラッシュ11の様々な状態を把握し、その状態に応じた処理を行うことができる。
また、メモリ管理部13は、冗長領域の各領域の表示値を、4ビット毎に多数決判断することにより2値に割り当てるので、冗長領域に誤書き込みがなされていた場合でも、表示値が示している状態を把握することができる。
また、メモリ管理部13は、ブロックの複数ページにわたって表示されている表示値を多数決判定し、多数の表示値をそのブロックの値とするので、冗長領域に誤書き込みがなされている場合でも、表示値が示している状態を把握することができる。
さらに、ファイルフラッシュ11をNAND型フラッシュメモリやAND型フラッシュメモリのようなシリアルフラッシュメモリとしたので、NOR型フラッシュメモリの約100分の1の時間で消去を行い、約20分の1時間で書き込みを行うことができる。また、シリアルフラッシュメモリは記憶容量が大きい上に高集積化が進んでいるので、情報処理装置100の実装面積を削減することができる。
なお、本実施の形態1では、モードRBmodの、区分した4ビットのうち3ビット以上に「0」が書き込まれているか否かにより、その値を判定する方法を説明したが、4ビット中、全ビットに「0」が書き込まれているか否かにより、その値を判定しても良い。全ビットに「0」書き込まれている場合、その4ビットの値を「0h」とし、「0」が書き込まれてないビットがある場合、その4ビットの値を「Fh」として、モードRBmodの4値を判定する。
このように、4ビット中、全ビットに「0」が書き込まれているか否かにより、その値を判定することにより、冗長領域に誤書き込みやビット化けが発生していない場合のみ、表示値が示している状態を把握することができるので、より厳密な判定となり、ワークメモリ14に読み出すデータの信頼性を向上させることができる。
また、本実施の形態1では、モードRBmodを各ブロックの先頭より3ページに設け、処理の状態が進行するに従い、フラグを同一の領域に上書きするようにしたが、各状態を所定のページのモードRBmodに割り当て、処理の状態が進行するに従い、割り当てられたページのモードRBmodにフラグを書き込んでもよい。
例えば、モードRBmodは、処理前の状態を「FFFFh」、様々な処理が終わった状態を「0000h」、と定義し、ページ4のモードRBmod4に、「管理情報の更新」を割り当て、ページ3のモードRBmod3に「ファイルの追加」を割り当て、ページ2のモードRBmod2に「ファイル消去」を割り当て、ページ1のモードRBmod1に「データの更新が正常に終了した状態」を割り当ててもよい。
この場合、ファイル管理部13は、ファイルフラッシュ11のオリジナル管理情報Ioやバックアップ管理情報Ibの更新の際に、ページ4のモードRBmod4に「0000h」を書き込む。また、ファイル管理部13は、ファイルフラッシュ11にファイルを書き込む際に、ページ3のモードRBmod3に「0000h」を書き込み、ファイルを消去する際に、ページ2のモードRBmod2に「0000h」を書き込む。そして、すべての処理が終了すると、ページ1のモードRBmod1に「0000h」を書き込む。ここで、ファイルの追加や消去などの処理は、必ずオリジナル管理情報Ioを更新した後で行うので、ページ3やページ2、ページ1のモードRBmod3〜RBmod1に「0000h」を書き込むときには、ページ4のモードRBmod4にも「0000h」が記述されている。ところが、ファイルを消去する前にファイルの追加を行わないこともあるので、ページ2のモードRBmod2に「0000h」を書き込むときに、ページ3のモードRBmod3は「0000h」または「FFFFh」のどちらであってもよい。また、処理が、管理情報の更新のみの場合もあるので、ページ1のモードRBmod1に「0000h」を書き込むときに、ページ2やページ3のモードRBmod2、RBmod3も、「0000h」または「FFFFh」のどちらであってもよい。
このようにして記述したモードRBmodの値は、例えば、ステップS1002やステップS1004において、ファイルフラッシュ11のブロックやオリジナル管理情報Io、バックアップ管理情報Ibに対する処理の状態を判定するときに用いられる。すなわち、ファイル管理部13は、まず、区分した4ビットのうち3ビット以上に「0」が書き込まれているか否か、または、全ビットに「0」が書き込まれているか否かに基づき、該4ビットを「0h」または「Fh」に割り当てて、各ページの値を判定する。次に、いずれのページに「0000h」が記述されているか判断し、処理の状態を判定する。
このように、処理の各状態を所定のページに割り当て、処理が進行するに従い、割り当てられたページに「0000h」を書き込むことにより、同一ページのモードRBmodに対する書き込み回数を減少させることができ、ファイルフラッシュ11の耐久性を保持することができる。
また、本実施の形態1では、メモリ管理装置10を、それぞれ1チップのブートフラッシュ16と、フラッシュI/F12とを用いたものとしたが、図21に示すように、1チップにフラッシュI/Fとブートフラッシュの機能を有するインターフェース部12aを用いてもよい。
フラッシュI/Fとブートフラッシュの機能を有するインターフェース部12aを用いることにより、メモリ管理装置10aの実装面積や、チップ単価、製造工程を削減することができ、コストの合理化を計ることができる。また、ファイル管理部13においては、フラッシュI/Fとブートフラッシュとを、同一のアドレス空間として処理を行うことができるようになるので、両者を区別しないプログラムの開発が可能となる。
また、本実施の形態1では、ファイルフラッシュ11を、1チップ構成のシリアルフラッシュメモリを用いたもの、としているが、複数個のシリアルフラッシュメモリを用いてもよい。
すなわち、図22に示すように、ファイルフラッシュ11aを、3個のシリアルフラッシュFa−1〜Fa−3より構成し、シリアルフラッシュFa−1に、全てのファイルフラッシュ11aのファイルの管理情報を格納する情報管理領域11Iを割り付け、残りのシリアルフラッシュFa−2〜Fa−3により、一連のデータファイル領域11Dを構成するようにしても良い。ここでは、3個のシリアルフラッシュにより構成されたファイルフラッシュ11aの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数(N個)とすることができる。シリアルフラッシュFa−1〜Fa−Nのブロック番号を、一連の番号とすることで、ファイル管理部13は各シリアルフラッシュを区別することなく処理を行うことができる。
これにより、プログラムファイルやデータファイルのサイズの増加に対応することができる。また、各シリアルフラッシュの容量を異なるものとすることができるため、プログラムファイルやデータファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
また、図23に示すように、ファイルフラッシュ11bを、3個のシリアルフラッシュFb−1〜Fb−3より構成し、シリアルフラッシュFb−1の先頭より、全てのファイルフラッシュ11bのファイルの管理情報を格納する情報管理領域11Iを割り付け、シリアルフラッシュFb−1の情報管理領域11Iの後ろからシリアルフラッシュFb−3により、一連のデータファイル領域11Dを形成するようにしても良い。ここでは、3個のシリアルフラッシュにより構成されたファイルフラッシュ11bの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数(N個)とすることができる。シリアルフラッシュFb−1〜シリアルフラッシュFb−Nのブロック番号を、一連の番号とすることで、ファイル管理部13は各シリアルフラッシュを区別することなく処理を行うことができる。
これにより、プログラムファイルやデータファイルのサイズの増加に対応することができる。また、各シリアルフラッシュの容量を異なるものとすることができるため、プログラムファイルやデータファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
また、ファイルフラッシュ11cを複数個のシリアルフラッシュより構成し、各シリアルフラッシュにフラッシュ番号およびアドレスを付与し、各々に、当該シリアルフラッシュのファイルの管理情報を格納する情報管理領域とデータファイル領域とを割り付けるようにしても良い。図24に、3個のシリアルフラッシュ#0〜#2(#0〜#2はフラッシュ番号)より構成されるファイルフラッシュ11cの例を示す。各シリアルフラッシュ#0〜#2には、アドレスA0〜A2が付与され、各々、管理情報#0〜#2を格納する情報管理領域11I−1〜11I−3と、データファイル領域11D−1〜11D−3とが割り付けられている。各管理情報#0〜#2は、ファイルフラッシュ11の情報管理領域11Iに格納されるオリジナル管理情報Ioおよびバックアップ管理情報Ibに相当するものである。ここでは、3個のシリアルフラッシュにより構成されたファイルフラッシュ11cの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数(N個)とすることができる。
このようなファイルフラッシュ11cを用いた場合、ブート処理を行う前に、用いるシリアルフラッシュを選択する必要がある。図25は、シリアルフラッシュ選択処理を説明するフローチャートである。
シリアルフラッシュを選択する際、まず、ファイル管理部13は、選択するフラッシュ番号が指定されたアプリケーションに従って、シリアルフラッシュ#0が選択されているか判断し(ステップS121)、シリアルフラッシュ#0が選択されている場合は、選択対象のシリアルフラッシュのアドレスをアドレスA0に設定する(ステップS122)。シリアルフラッシュ#0が選択されていない場合、シリアルフラッシュ#1が選択されているか判断し(ステップS123)、シリアルフラッシュ#1が選択されている場合は、選択対象のシリアルフラッシュのアドレスをアドレスA1に設定する(ステップS124)。シリアルフラッシュ#1が選択されていない場合、シリアルフラッシュ#2が選択されているか判断し(ステップS125)、シリアルフラッシュ#2が選択されている場合、選択対象シリアルフラッシュのアドレスをアドレスA2に設定する(ステップS126)。ファイルフラッシュ11cがN個のシリアルフラッシュで構成されている場合、同様の手順で、選択するフラッシュ番号を昇順に判断し、シリアルフラッシュの選択を行う。
このようにしてシリアルフラッシュの選択を行った後、ファイル管理部13は、選択したファイルフラッシュを用いて処理を行う。
このように、ファイルフラッシュ11cを複数個のシリアルフラッシュより構成し、各々、当該シリアルフラッシュのファイルの管理情報を格納する情報管理領域とデータファイル領域とを割り付けるようにしたので、ファイルフラッシュの交換が可能となる。
(実施の形態2)
次に、本発明の実施の形態2によるメモリ管理装置を有する情報処理装置を、図面を参照しながら説明する。
図26は、本実施の形態2に係る情報処理装置の構成を示すブロック図である。なお、図26において、図1に示すものと同一または相当する部分には同一符号を付して、詳しい説明を省略する。
図26に示すように、本実施の形態2に係る情報処理装置100bのメモリ管理装置10bは、実施の形態1の情報処理装置100のメモリ管理装置10に、起動時の動作を設定する設定手段17と、外部に接続された外部制御装置200との通信を行う通信手段18と、を加えて備え、ファイルフラッシュ11に、情報処理装置100bの自己診断を行うための自己診断プログラムと、情報処理装置100bを動作させるメインプログラムと、を格納し、ブートフラッシュ15に、ファイルフラッシュ11に格納されている自己診断プログラムをワークメモリ14に読み出す手順を定めたブートプログラムPG1と、ファイルフラッシュ11に格納されているメインプログラムをワークメモリ14に読み出す手順を定めたブートプログラムPG2と、外部制御装置200より転送されるメインプログラムあるいは自己診断プログラムをワークメモリ14に読み出す手順を定めたブートプログラムPG3と、を格納したものである。
外部制御装置200は、パーソナルコンピュータや携帯電話などの、メインプログラムあるいは自己診断プログラムを情報処理装置100bに対して転送可能な装置である。
設定手段17には、起動時にファイル管理部13が実行するブートプログラムの種類が設定される。例えば、状態1の時は、ファイル管理部13はブートプログラムPG1を実行し、状態2の時は、ブートプログラムPG2を、状態3の時はブートプログラムPG3を実行する。
また、各ブートプログラムPG1〜PG3は、メインプログラムや自己診断プログラムをワークメモリ14に読み出す手順の前に、実施の形態1で説明した、オリジナル管理情報Ioとバックアップ管理情報Ibとをワークメモリ14に読み出す手順を有する。
次に、このように構成される情報処理装置100bにおける動作を説明する。
情報処理装置100bが起動されると、ファイル管理部13は、設定手段17の設定に従って、第1のブートプログラム、または第2のブートプログラム、または第3のブートプログラムを実行する。
設定手段17の設定が、状態1である場合、ファイル管理部13は、ブートプログラムPG1を実行する。すなわち実施の形態1で説明したステップS1001〜ステップS1010によりオリジナル管理情報Ioとバックアップ管理情報Ibとをワークメモリ14に読み出した後、ファイルフラッシュ11に格納されている自己診断プログラムを、ワークメモリ14に読み出す。
また、設定手段17の設定が、状態2である場合、ファイル管理部13は、ブートプログラムPG2を実行する。ブートプログラムPG1と同様に、実施の形態1で説明したステップS1001〜ステップS1010によりオリジナル管理情報Ioとバックアップ管理情報Ibとをワークメモリ14に読み出した後、ファイルフラッシュ11に格納されているメインプログラムを、ワークメモリ14に読み出す。
さらに、設定手段17の設定が、状態3である場合、ファイル管理部13は、ブートプログラムPG3を実行する。ブートプログラムPG1と同様に、実施の形態1で説明したステップS1001〜ステップS1010によりオリジナル管理情報Ioとバックアップ管理情報Ibとをワークメモリ14に読み出した後、通信手段18を介して外部制御装置200より転送されるメインプログラム、あるいは自己診断プログラムを、ワークメモリ14に読み出す。
すると、情報処理部30は、ワークメモリ14上のプログラムの処理を実行する。
ここで、情報処理部30が処理を行い、ワークメモリ14上に新たにファイル4を生成した場合、ファイル管理部13は、ファイル4を、通信手段18を介して外部制御装置200に転送する。
また、ファイル管理部13は、情報処理部30の命令に基づいて、ファイル4をファイルフラッシュ11に書き込む。この書き込みは、実施の形態1で説明したステップS2201〜ステップS2211により行い、ファイルフラッシュ11のオリジナル管理情報Ioの内容を、ファイル4の情報を記述した管理情報Iwの内容により更新し、ファイルフラッシュ11にファイル4を書き込む。そして、バックアップ管理情報Ibの内容を管理情報Iwの内容により更新して、ファイル4の書き込みを終了する。
さらに、ファイル管理部13は、外部制御装置200あるいは情報処理部30の要求に応じて、ワークメモリ14上のプログラムファイルやデータファイルを、通信手段18を介して外部制御装置200に送信する。
また、ワークメモリ14上のプログラムが外部制御装置200よりプログラムを取得する手順を定めたものである場合や、外部制御装置200からプログラムの取得を命令された場合、情報処理部30は、通信手段18を介してプログラムファイルやデータファイルを、外部制御装置200より取得する。
以上のように、本実施の形態2によるメモリ管理装置10bを有する情報処理装置100bにおいては、情報処理装置100bに、起動時の動作を設定する設定手段17と、外部に接続された外部制御装置200との通信を行う通信手段18と、を備えたので、自己診断プログラム、またはメインプログラムを選択して実行することができる。また、情報処理装置100bにおいて自己診断を行うことができるようになるので、従来、診断のために必要であった各種治具が不要となり、保守サービスのために冶具を長期間保持する必要がなくなる。
また、通信手段18を介して外部制御装置200と接続したので、新たなプログラムファイルを取得し、ソフトのバージョンアップや、新たな機能の追加を容易に行うことができる。また、外部より容易にファイルを取得できるので、ファイルフラッシュ11に格納するファイルの数を削減することができるとともに、より安価な小容量のファイルフラッシュを用いることができる。
さらに、情報処理装置100bを動作させるプログラムの開発時に、開発中のプログラムを、ファイルフラッシュ11に書き込むことなく動作させることができるので、プログラムのデバッグも容易に行うことができる。
また、外部制御装置200からの要求に応じて、プログラムファイルやデータファイルを通信手段18を介して外部制御装置200に送信するので、情報処理装置100bの外部より、自己診断の結果や、動作結果などをモニタすることができる。
なお、本実施の形態2では、通信手段18を介して外部制御装置200に接続した情報処理装置100bについて説明したが、さらに多くの種類のプログラムファイルやデータファイルを取得するために、情報処理装置100bを、通信手段18を介して、直接、インターネット等に接続してもよい。また、情報処理装置100bを、通信手段18および外部制御装置200を経由してインターネット等に接続してもよい。
(実施の形態3)
次に、本発明の実施の形態3によるメモリ管理装置を有する情報処理装置を、図面を参照しながら説明する。
図27は、本実施の形態3に係る情報処理装置の構成を示すブロック図である。なお、図27において、図26に示すものと同一または相当する部分には同一符号を付して、詳しい説明を省略する。
図27に示すように、本実施の形態3に係る情報処理装置100cのメモリ管理装置10cは、実施の形態2の情報処理装置100bのメモリ管理装置10bに、メインプログラムや自己診断プログラムなどのプログラムファイル、およびデータファイルを蓄積して格納するデータ蓄積手段19を、加えて備えたものである。また、ブートフラッシュ15には、実施の形態2で説明したブートプログラムPG1〜PG3に加え、オリジナル管理情報Ioとバックアップ管理情報Ibとをワークメモリ14に読み出した後に、データ蓄積手段19に蓄積されているメインプログラムあるいは自己診断プログラムをワークメモリ14に読み出す手順を定めたブートプログラムPG4が格納され、設定手段17には、実施の形態2で説明した状態1〜状態3に加え、ファイル管理部13がブートプログラムPG4を実行する状態4が割り当てられている。
データ蓄積手段19は、DVD(Digital Versatile Disk)や、ハードディスク、CD(Compact Disc)、CD−R(Compact Disc-Recordable)、半導体メモリ装置などの、電源切断後もデータを保持する記録媒体である。
次に、このように構成される情報処理措置100cにおける動作を説明する。
情報処理装置100cが起動されると、ファイル管理部13は、設定手段17の設定に従って、第1のブートプログラム、または第2のブートプログラム、または第3のブートプログラム、または第4のブートプログラムを実行する。
設定手段17の設定が、状態1である場合、ファイル管理部13はブートプログラムPG1を、状態2である場合、ブートプログラムPG2を、状態3である場合、ブートプログラムPG3を実行する。また、設定手段17の設定が、状態4である場合、ファイル管理部13は、ブートプログラムPG4を実行し、オリジナル管理情報Ioと、バックアップ管理情報Ibとをワークメモリ14に読み出した後、データ蓄積手段19に蓄積されているメインプログラムあるいは自己診断プログラムをワークメモリ14に読み出す。
すると、情報処理部30は、ワークメモリ14上のプログラムの処理を実行する。
情報処理部30による処理の結果、新たにファイル5が生成された場合、ファイル管理部13は、情報処理部30からの命令に基づいて、ファイル5をファイルフラッシュ11に書き込む。この書き込みは、実施の形態1で説明したステップS2201〜ステップS2211により行い、ファイルフラッシュ11のオリジナル管理情報Ioの内容を、ファイル5の情報を記述した管理情報Iwの内容により更新し、ファイルフラッシュ11にファイル5を書き込む。そして、バックアップ管理情報Ibの内容を管理情報Iwの内容により更新して、ファイル5の書き込みを終了する。
また、ファイル管理部13は、外部制御装置200あるいは情報処理手段30の要求に応じて、ファイル5を、通信手段18を介して外部制御装置200に送信する。
さらに、ファイル管理部13は、情報処理手段30の命令に基づいて、ファイル5をデータ蓄積手段19に蓄積する。
また、ワークメモリ14上のプログラムが外部制御装置200よりプログラムを取得する手順を定めたものである場合や、外部制御装置200からプログラムの取得を命令された場合、情報処理部30は、通信手段18を介してプログラムファイルやデータファイルを、外部制御装置200より取得する。以上のように、本発明の実施の形態3による情報処理装置100cにおいては、情報処理装置100cに、データを蓄積して格納するデータ蓄積手段19を備えたので、自己診断プログラムの実行により生成した自己診断結果ファイルや、情報処理装置100cの使用履歴および故障履歴などをデータ蓄積手段19に蓄積することができるとともに、該情報を蓄積した記録媒体を取り外して使用することができる。また、この自己診断結果ファイルを用いて、情報処理装置100cや、情報処理装置100cに接続されている他の機器の劣化などをモニタすることができる。さらに、データ蓄積手段19を介して、外部からの各種ファイルの取得や、メインプログラムおよび自己診断プログラムの実行が可能となる。
本発明のメモリ管理装置およびメモリ管理方法は書き込み対象や消去対象となる主記憶手段の領域を決定できるとともに、記憶処理手段がすべての処理を完了する前に処理を中断した場合に買い込みや消去途中のファイルを検出して消去することができる。また、ファイルやブロックに対する処理が中断されている場合には、そのフィルやブロックを復旧させることができ、有用である。
本発明の実施の形態1に係るメモリ管理装置を有する情報処理装置の構成を示すブロック図である。 本発明の実施の形態1に係る情報処理装置の、ファイルフラッシュの記憶領域の構造を説明する模式図である。 本発明の実施の形態1に係る情報処理装置の、ファイルフラッシュの構成を説明する模式図である。 本発明の実施の形態1に係る情報処理装置の、ファイルフラッシュの冗長領域の構成を説明する模式図である。 本発明の実施の形態1に係る情報処理装置における、冗長領域のモードを判定する方法を説明する図である。 本発明の実施の形態1に係る情報処理装置による、ファイル2をファイル3に更新する手順を説明する図である。 本発明の実施の形態1に係るメモリ管理装置のファイルフラッシュにおける、ブロック消去の方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置のファイルフラッシュよりファイルを消去する方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置のファイルフラッシュにおける、ページ書き込みの方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置のファイルフラッシュに、ファイルを書き込む方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置のファイルフラッシュにおける、ページ読み出しの方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置のファイルフラッシュより、ファイルを読み出す方法を説明するフローチャートである。 本発明の実施の形態1に係る情報処理装置の、ブート処理を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置による、書き込みまたは消去の途中のファイルをファイルフラッシュより消去する方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置による、ファイルフラッシュのオリジナル管理情報およびバックアップ管理情報を更新する方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置による、ファイルフラッシュのオリジナル管理情報およびバックアップ管理情報を、新たなブロックに書き込む方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置による、ファイルフラッシュのファイル2をファイル3に更新する方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置により、新ファイルを追加できるかを判断する方法を説明する。 本発明の実施の形態1に係るメモリ管理装置による、ファイルフラッシュよりファイルを消去する方法を説明するフローチャートである。 本発明の実施の形態1に係るメモリ管理装置による、ファイルフラッシュにファイルを追加する方法を説明するフローチャートである。 本発明の実施の形態1に係る情報処理装置の構成の別の一例を示すブロック図である。 本発明の実施の形態1に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。 本発明の実施の形態1に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。 本発明の実施の形態1に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。 図24に示したファイルフラッシュにおいて、シリアルフラッシュを選択する方法を説明するフローチャートである。 本発明の実施の形態2に係るメモリ管理装置を有する情報処理装置の構成を示すブロック図である。 本発明の実施の形態3に係るメモリ管理装置を有する情報処理装置の構成を示すブロック図である。 従来の情報処理装置の構成を示すブロック図である。

Claims (26)

  1. ファイルと、格納している全ファイルの情報を記述した第1の管理情報および第2の管理情報と、を格納する主記憶手段と、
    上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、
    上記主記憶手段が有する上記第1の管理情報の内容を、上記新管理情報の内容により更新する第1の管理情報更新手段と、
    上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、
    上記主記憶手段が有する上記第2の管理情報の内容を、上記新管理情報の内容により更新する第2の管理情報更新手段と、
    を備え、
    前記第1の管理情報、及び第2の管理情報はそれぞれ、前記主記憶手段の処理状態を表示し、前記主記憶手段の所定の領域に対するデータの書き込み処理及び消去処理が完了したか否かに関する更新情報を表示する動作状態表示領域を少なくとも有する処理状態表示領域を有し、
    前記第1の管理情報更新手段により前記第1の管理情報の更新が開始され前記第1の管理情報の更新中に前記主記憶手段の所定の領域に対するデータの書き込みと消去とが実行され、前記第1の管理情報の更新が完了した後に、前記第2の管理情報更新手段により前記第2の管理情報更新されるものであり
    起動時に、前記第1の管理情報の更新情報が、前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していないことを示す場合には、前記第1の管理情報は前記第2の管理情報の内容に更新され、
    前記第1の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していることを示し、前記第2の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理または消去処理が完了していないことを示す場合には、前記第2の管理情報は前記第1の管理情報の内容に更新される、
    ことを特徴とするメモリ管理装置。
  2. 請求項に記載のメモリ管理装置において、
    上記管理情報生成手段が生成する上記新管理情報は、
    上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、
    上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、
    上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、
    上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むものである、
    ことを特徴とするメモリ管理装置。
  3. 請求項に記載のメモリ管理装置において、
    上記処理状態表示領域は、
    所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、
    所定の領域が使用できないことを表示する使用禁止表示領域と、
    を有する、ことを特徴とするメモリ管理装置。
  4. 請求項に記載のメモリ管理装置において、
    上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
    上記書き込み終了表示領域は、
    各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、
    各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、
    を有する、ことを特徴とするメモリ管理装置。
  5. 請求項に記載のメモリ管理装置において、
    上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きする、
    ことを特徴とするメモリ管理装置。
  6. 請求項に記載のメモリ管理装置において、
    上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
    上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きする、
    ことを特徴とするメモリ管理装置。
  7. 請求項に記載のメモリ管理装置において、
    上記状態表示は、
    上記第1の管理情報が消去中であることを示す、第1の状態表示と、
    上記第1の管理情報が更新中であることを示す、第2の状態表示と、
    新しいファイルが書き込み中であることを示す、第3の状態表示と、
    古いファイルが消去中であることを示す、第4の状態表示と、
    上記第2の管理情報が消去中であることを示す、第5の状態表示と、
    上記第2の管理情報が更新中であることを示す、第6の状態表示と、
    すべての処理が終了したことを示す、第7の状態表示と、
    を有することを特徴とするメモリ管理装置。
  8. 請求項または請求項に記載のメモリ管理装置において、
    上記動作状態表示領域は、
    上記第1の管理情報が消去中であることを表示する、第1の状態表示領域と、
    上記第1の管理情報が更新中であることを表示する、第2の状態表示領域と、
    新しいファイルが書き込み中であることを表示する、第3の状態表示領域と、
    古いファイルが消去中であることを表示する、第4の状態表示領域と、
    上記第2の管理情報が消去中であることを表示する、第5の状態表示領域と、
    上記第2の管理情報が更新中であることを表示する、第6の状態表示領域と、
    すべての処理が終了したことを表示する、第7の状態表示領域と、
    を有することを特徴とするメモリ管理装置。
  9. 請求項に記載のメモリ管理装置において、
    上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
    上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きする、
    ことを特徴とするメモリ管理装置。
  10. 請求項ないし請求項のいずれかに記載のメモリ管理装置において、
    上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により2値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
    ことを特徴とするメモリ管理装置。
  11. 請求項ないし請求項のいずれかに記載のメモリ管理装置において、
    上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより2値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
    ことを特徴とするメモリ管理装置。
  12. 請求項、請求項、請求項のいずれかに記載のメモリ管理装置において、
    上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して2値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えた、
    ことを特徴とするメモリ管理装置。
  13. 請求項ないし請求項12のいずれかに記載のメモリ管理装置において、
    上記主記憶手段は、シリアルフラッシュメモリである、
    ことを特徴とするメモリ管理装置。
  14. ファイルと、格納している全ファイルの情報を記述した第1の管理情報および第2の管理情報と、を格納する主記憶手段に対するファイルの消去、及び書込みを管理するメモリ管理方法であって、
    上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成ステップと、
    上記主記憶手段が有する上記第1の管理情報の内容を、上記新管理情報の内容により更新する第1の管理情報更新ステップと、
    上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理ステップと、
    上記主記憶手段が有する上記第2の管理情報の内容を、上記新管理情報の内容により更新する第2の管理情報更新ステップと、を有し、
    前記第1の管理情報、及び第2の管理情報はそれぞれ、前記主記憶手段の処理状態を表示し、前記主記憶手段の所定の領域に対するデータの書き込み処理及び消去処理が完了したか否かに関する更新情報を表示する動作状態表示領域を少なくとも有する処理状態表示領域を有し、
    前記第1の管理情報更新ステップにより前記第1の管理情報の更新を開始し、前記第1の管理情報の更新中に前記主記憶手段の所定の領域に対するデータの書き込みと消去とを実行し、前記第1の管理情報の更新が完了した後に、前記第2の管理情報更新ステップにより前記第2の管理情報を更新するものであり、
    起動時に、前記第1の管理情報の更新情報が、前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していないことを示す場合には、前記第1の管理情報を前記第2の管理情報の内容に更新し、
    前記第1の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理が完了していることを示し、前記第2の管理情報の更新情報が前記主記憶手段の所定の領域に対するデータの書き込み処理または消去処理が完了していないことを示す場合には、前記第2の管理情報を前記第1の管理情報の内容に更新する、
    ことを特徴とするメモリ管理方法。
  15. 請求項14に記載のメモリ管理方法において、
    上記管理情報生成ステップにて生成する上記新管理情報は、
    上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、
    上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、
    上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、
    上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むものである、
    ことを特徴とするメモリ管理方法。
  16. 請求項15に記載のメモリ管理方法において、
    上記処理状態表示領域は、
    所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、
    所定の領域が使用できないことを表示する使用禁止表示領域と、
    を有する、ことを特徴とするメモリ管理方法。
  17. 請求項16に記載のメモリ管理方法において、
    上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
    上記書き込み終了表示領域は、
    各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、
    各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、
    を有する、ことを特徴とするメモリ管理方法。
  18. 請求項17に記載のメモリ管理方法において、
    上記記憶処理ステップにおいて、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きする、
    ことを特徴とするメモリ管理方法。
  19. 請求項14に記載のメモリ管理方法において、
    上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
    上記記憶処理ステップにおいて、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きする、
    ことを特徴とするメモリ管理方法。
  20. 請求項19に記載のメモリ管理方法において、
    上記状態表示は、
    上記第1の管理情報が消去中であることを示す、第1の状態表示と、
    上記第1の管理情報が更新中であることを示す、第2の状態表示と、
    新しいファイルが書き込み中であることを示す、第3の状態表示と、
    古いファイルが消去中であることを示す、第4の状態表示と、
    上記第2の管理情報が消去中であることを示す、第5の状態表示と、
    上記第2の管理情報が更新中であることを示す、第6の状態表示と、
    すべての処理が終了したことを示す、第7の状態表示と、
    を有することを特徴とするメモリ管理方法。
  21. 請求項14または請求項19に記載のメモリ管理方法において、
    上記動作状態表示領域は、
    上記第1の管理情報が消去中であることを表示する、第1の状態表示領域と、
    上記第1の管理情報が更新中であることを表示する、第2の状態表示領域と、
    新しいファイルが書き込み中であることを表示する、第3の状態表示領域と、
    古いファイルが消去中であることを表示する、第4の状態表示領域と、
    上記第2の管理情報が消去中であることを表示する、第5の状態表示領域と、
    上記第2の管理情報が更新中であることを表示する、第6の状態表示領域と、
    すべての処理が終了したことを表示する、第7の状態表示領域と、
    を有することを特徴とするメモリ管理方法。
  22. 請求項19に記載のメモリ管理方法において、
    上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
    上記記憶処理ステップにおいて、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きする、
    ことを特徴とするメモリ管理方法。
  23. 請求項14ないし請求項22のいずれかに記載のメモリ管理方法において、
    上記メモリ管理方法は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により2値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
    ことを特徴とするメモリ管理方法。
  24. 請求項14ないし請求項22のいずれかに記載のメモリ管理方法において、
    上記メモリ管理方法は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより2値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
    ことを特徴とするメモリ管理方法。
  25. 請求項17、請求項19、請求項22のいずれかに記載のメモリ管理方法において、
    上記メモリ管理方法は、各ページに表示されている値を一定ビット毎に区分して2値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えた、
    ことを特徴とするメモリ管理方法。
  26. 請求項14ないし請求項25のいずれかに記載のメモリ管理方法において、
    上記主記憶手段は、シリアルフラッシュメモリである、
    ことを特徴とするメモリ管理方法。
JP2003564734A 2002-01-31 2003-01-31 メモリ管理装置およびメモリ管理方法 Expired - Fee Related JP4480064B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002024497 2002-01-31
JP2002024497 2002-01-31
PCT/JP2003/000991 WO2003065210A1 (fr) 2002-01-31 2003-01-31 Appareil de traitement d'informations, appareil de gestion de memoire, procede de gestion de memoire et procede de traitement d'informations

Publications (2)

Publication Number Publication Date
JPWO2003065210A1 JPWO2003065210A1 (ja) 2005-05-26
JP4480064B2 true JP4480064B2 (ja) 2010-06-16

Family

ID=27654489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003564734A Expired - Fee Related JP4480064B2 (ja) 2002-01-31 2003-01-31 メモリ管理装置およびメモリ管理方法

Country Status (7)

Country Link
US (1) US7418436B2 (ja)
EP (1) EP1473628B1 (ja)
JP (1) JP4480064B2 (ja)
KR (1) KR20040080928A (ja)
CN (1) CN100533378C (ja)
DE (1) DE60332091D1 (ja)
WO (1) WO2003065210A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218406B2 (ja) * 2003-04-25 2009-02-04 富士フイルム株式会社 情報記録再生方法
EP1503570A3 (en) 2003-07-29 2005-07-27 Ricoh Company, Ltd. Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
DE102004013493B4 (de) * 2004-03-18 2009-11-05 Infineon Technologies Ag Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
JP4595409B2 (ja) * 2004-07-08 2010-12-08 ソニー株式会社 情報記録装置および方法、記録媒体、プログラム記録媒体、並びにプログラム
US20060007738A1 (en) * 2004-07-09 2006-01-12 Shinji Inoue Area management type memory system, area management type memory unit and area management type memory controller
DK1797645T3 (en) * 2004-08-30 2018-11-19 Google Llc Systems and methods for providing non-volatile memory management in cordless phones
CN100538668C (zh) * 2004-12-17 2009-09-09 深圳市广道高新技术有限公司 集成式多媒体中间件装置
JP2006277395A (ja) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法
US9459960B2 (en) 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US7831882B2 (en) 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US20070147115A1 (en) * 2005-12-28 2007-06-28 Fong-Long Lin Unified memory and controller
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
WO2008013228A1 (fr) * 2006-07-26 2008-01-31 Panasonic Corporation Contrôleur de mémoire, dispositif de stockage non-volatile, dispositif d'accès et système de stockage non-volatile
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
CN101206577B (zh) * 2006-12-18 2010-05-19 瑞昱半导体股份有限公司 闪速存储器装置及其更新方法与程序搜寻方法
WO2009016832A1 (ja) * 2007-07-31 2009-02-05 Panasonic Corporation 不揮発性記憶装置および不揮発性記憶システム
US8060685B2 (en) * 2007-07-31 2011-11-15 Hewlett-Packard Development Company, L.P. Electronic device data access system and method
US8164656B2 (en) * 2007-08-31 2012-04-24 Unity Semiconductor Corporation Memory emulation in an image capture device
JP5458507B2 (ja) * 2008-05-27 2014-04-02 株式会社リコー 画像処理装置、画像形成装置及びデータ保護方法
DE102008041683A1 (de) 2008-08-29 2010-03-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Rechners mit einem Speicher, Computerprogramm, Computerprogrammprodukt
JP2011192239A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
CN102375748A (zh) * 2010-08-25 2012-03-14 深圳Tcl新技术有限公司 一种电视机闪存恢复方法
JP2012059024A (ja) * 2010-09-09 2012-03-22 Ricoh Co Ltd 情報処理装置、起動制御方法、起動制御プログラム及び記録媒体
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US8756361B1 (en) * 2010-10-01 2014-06-17 Western Digital Technologies, Inc. Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US8756382B1 (en) 2011-06-30 2014-06-17 Western Digital Technologies, Inc. Method for file based shingled data storage utilizing multiple media types
JP5984500B2 (ja) * 2011-11-30 2016-09-06 三菱電機株式会社 情報処理装置、放送受信装置及びソフトウェア起動方法
US8612706B1 (en) 2011-12-21 2013-12-17 Western Digital Technologies, Inc. Metadata recovery in a disk drive
US9098302B2 (en) * 2012-06-28 2015-08-04 Intel Corporation System and apparatus to improve boot speed in serial peripheral interface system using a baseboard management controller
US9703697B2 (en) 2012-12-27 2017-07-11 Intel Corporation Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
CN103631591B (zh) * 2013-11-29 2016-08-17 中国航空无线电电子研究所 符合民用飞机不同软件等级要求的软件运行控制***与方法
CN105204901A (zh) * 2015-09-23 2015-12-30 浪潮(北京)电子信息产业有限公司 一种热加方法及装置
JP6720049B2 (ja) * 2016-10-26 2020-07-08 株式会社マキタ バッテリパック及び充電システム
US10664446B2 (en) * 2016-11-07 2020-05-26 Kyocera Document Solutions Inc. Information processing apparatus and information processing method
CN111819547A (zh) 2018-03-26 2020-10-23 拉姆伯斯公司 命令/地址通道错误检测

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US162902A (en) * 1875-05-04 Improvement in paper cans
US199714A (en) * 1878-01-29 Improvement in machines for crimping seamless foxings for boots and shoes
US210587A (en) * 1878-12-03 Improvement in sewing-machine casters
US85416A (en) * 1868-12-29 Improvement in horse hay-porks
US169045A (en) * 1875-10-19 Improvement in machines for forging nails
US117586A (en) * 1871-08-01 Improvement in molding-machines
US29564A (en) * 1860-08-14 Improvement in plows
US30890A (en) * 1860-12-11 Improvement in seeding-machines
US55497A (en) * 1866-06-12 Improvement in saw-mills
US162900A (en) * 1875-05-04 Improvement in cultivators
US208060A (en) * 1878-09-17 Improvement in signs
US166088A (en) * 1875-07-27 Improvement in devices for bending metal timber-hangers
US162901A (en) * 1875-05-04 Improvement in cartridges
US162899A (en) * 1875-05-04 Improvement in grain-binders
JPS6013494B2 (ja) 1979-07-28 1985-04-08 富士通株式会社 自己診断方式
JPS58107976A (ja) 1981-12-22 1983-06-27 Fujitsu Ltd ボリユウム管理情報の保護方法
JPS6172321A (ja) 1984-09-14 1986-04-14 Nec Corp コンピユ−タシステムの立上げ方式
JP2633614B2 (ja) 1988-03-29 1997-07-23 株式会社日立製作所 フアイル保護装置
JPH0381842A (ja) 1989-08-25 1991-04-08 Toshiba Corp 二重ファイルシステムのファイルチェック装置
JPH0546490A (ja) 1991-08-09 1993-02-26 Toshiba Corp メモリカード装置
EP0528280B1 (en) * 1991-08-09 1997-11-12 Kabushiki Kaisha Toshiba Memory card apparatus
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (ja) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3485938B2 (ja) * 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
JPH0778231A (ja) 1993-09-07 1995-03-20 Toshiba Corp メモリカード
JPH07281951A (ja) 1994-04-15 1995-10-27 Sansei Denshi Japan Kk 拡張可能な記憶装置の制御方法とその装置
US5813009A (en) * 1995-07-28 1998-09-22 Univirtual Corp. Computer based records management system method
US5930815A (en) 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US6801979B1 (en) 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5701492A (en) 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
US5953737A (en) 1997-03-31 1999-09-14 Lexar Media, Inc. Method and apparatus for performing erase operations transparent to a solid state storage system
US6122195A (en) 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
JPH11282765A (ja) 1998-03-27 1999-10-15 Hitachi Ltd フラッシュメモリを使用した外部記憶装置
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
JP2001249855A (ja) 2000-03-07 2001-09-14 Hitachi Ltd 不揮発性メモリのデータ書き替え方法及び加入者回路
JP2002007179A (ja) * 2000-06-26 2002-01-11 Sony Corp 情報処理装置、ファイルシステム
US6687687B1 (en) * 2000-07-26 2004-02-03 Zix Scm, Inc. Dynamic indexing information retrieval or filtering system
JP2002175211A (ja) * 2000-12-07 2002-06-21 Sharp Corp データ管理システムおよびデータ管理方法
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US6838614B2 (en) * 2002-09-10 2005-01-04 Ast Services, Llc Hydraulic and electric umbilical connection for an inspection vehicle for inspecting a liquid-filled tank

Also Published As

Publication number Publication date
US20040139310A1 (en) 2004-07-15
US7418436B2 (en) 2008-08-26
CN100533378C (zh) 2009-08-26
EP1473628B1 (en) 2010-04-14
WO2003065210A1 (fr) 2003-08-07
JPWO2003065210A1 (ja) 2005-05-26
DE60332091D1 (de) 2010-05-27
KR20040080928A (ko) 2004-09-20
EP1473628A1 (en) 2004-11-03
CN1498367A (zh) 2004-05-19
EP1473628A4 (en) 2005-11-09

Similar Documents

Publication Publication Date Title
JP4480064B2 (ja) メモリ管理装置およびメモリ管理方法
US8086787B2 (en) Wear leveling method, and storage system and controller using the same
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
JP4132086B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
JP4758648B2 (ja) 不揮発性記憶システムにおける平均消去カウントの維持
JP3178909B2 (ja) 半導体メモリ装置
US20100011153A1 (en) Block management method, and storage system and controller using the same
US7783857B2 (en) Data management apparatus and method, non-volatile memory, storage device having the non-volatile memory and data processing system
JPH09185551A (ja) 半導体記憶装置
JP2001209543A (ja) フラッシュ・マイコンにおけるプログラム書き換え方法
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
KR100622113B1 (ko) 데이터베이스 시스템을 위한 플래쉬 메모리 저장 시스템 및그 방법
JP3928724B2 (ja) 記録媒体の記録制御方法および記録媒体の記録制御装置
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4687720B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4760826B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2008065646A (ja) フラッシュメモリ制御システムとその制御方法
JP2004252746A (ja) 記録媒体の記録制御方法、記録制御装置および電子機器
JP2009301491A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010097386A (ja) データ管理方法
JP2002244935A (ja) 記憶管理装置および記憶管理方法
JP2006053950A (ja) 不揮発性半導体メモリ装置及びその制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071002

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071116

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100312

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees