JP2002318714A - フラッシュメモリ最適化装置及びプログラム - Google Patents

フラッシュメモリ最適化装置及びプログラム

Info

Publication number
JP2002318714A
JP2002318714A JP2001124789A JP2001124789A JP2002318714A JP 2002318714 A JP2002318714 A JP 2002318714A JP 2001124789 A JP2001124789 A JP 2001124789A JP 2001124789 A JP2001124789 A JP 2001124789A JP 2002318714 A JP2002318714 A JP 2002318714A
Authority
JP
Japan
Prior art keywords
block
data
invalid
flash memory
management table
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
JP2001124789A
Other languages
English (en)
Inventor
Hiroyuki Tsutsumi
弘之 堤
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2001124789A priority Critical patent/JP2002318714A/ja
Publication of JP2002318714A publication Critical patent/JP2002318714A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明の課題は、ユーザが気付かないうちにフ
ラッシュメモリの最適化処理を自動的に行い、ブロック
の飛び地に点在するデータの連結書込み、又は無効デー
タブロックの消去により、フラッシュメモリのデータ書
込み速さのパフォーマンスの低下を防止できるようにす
ることにある。 【解決手段】情報処理装置である携帯端末1上で、CP
U1aの制御により、電源ON、電源OFF又はキー入
力待ち等のタイミングで、フラッシュメモリであるフラ
ッシュROM1iに分散してブロックの飛び地に点在し
た実データを、RAM1cのワークエリア1d上に集約
連結して連続領域として1ブロックの実イメージを作成
し、フラッシュROM1i内のブロックに前記実イメー
ジを書込み、ブロック管理テーブルを更新し、或いは、
フラッシュROM1i内の無効データを有する無効デー
タブロックをデータ消去し、ブロック管理テーブルを更
新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
内のユーザエリアを最適化するフラッシュメモリ最適化
装置及びプログラムに関するものである。
【0002】
【従来の技術】従来から、電気的にデータ書込み可能な
フラッシュROM(Read Only Memory)等のフラッシュ
メモリとRAMを搭載した携帯端末システムにおいて、
FAT(File Allocation Table)システムによりユー
ザファイルを管理する場合、導入時にフラッシュROM
のフォーマットを行うが、この導入時の1回のフォーマ
ットのみでフラッシュROMを使用し続けるとファイル
ライトのパフォーマンスが落ちる。
【0003】この場合、もう一度フラッシュメモリのユ
ーザエリアをフォーマットしてからアプリケーションを
ダウンロードすればいいが、運用中の端末では入替に時
間が掛り、初期導入と同一のステップは踏みにくい。こ
の場合、PCにおけるデフラグのようなユーティリティ
を用意することにより、あるタイミングでユーザに意識
してやらせていた。
【0004】
【発明が解決しようとする課題】しかし、従来のフラッ
シュメモリの最適化においては、ユーザが一々意識し
て、ユーティリティの実行を行うのは、大変時間と手間
が掛かり、定期的に実行のタイミングを意識していなけ
ればならないので、ユーザの精神的・肉体的負担も大き
い。
【0005】また、フラッシュメモリファイルシステム
においては、フラッシュメモリ上のユーザエリアを複数
のブロックに分けて、ファイル等を分割して任意のブロ
ックに格納する構成を有する。この構成において、アク
セスファイルデータが分散してフラッシュメモリのブロ
ックの飛び地に点在する状態が発生する。
【0006】また、これとは別に、リードオンリーで使
用する場合は問題ないが、ファイルのライト、デリー
ト、上書が頻繁に発生すると、フラッシュメモリ上に無
効データを有する無効データブロックが沢山できる。こ
れらの状態になると、ファイルライトスピードが極端に
遅くなるという問題があった。
【0007】本発明の課題は、ユーザが気付かないうち
にフラッシュメモリの最適化処理を自動的に行い、ブロ
ックの飛び地に点在するデータの連結書込み、又は無効
データブロックの消去により、フラッシュメモリのデー
タ書込み速さのパフォーマンスの低下を防止できるよう
にすることにある。
【0008】
【課題を解決するための手段】以上の課題を解決するた
めに、請求項1に記載の発明は、フラッシュメモリを有
する情報処理装置において、複数のブロックに分散した
ファイルの実データを1ブロック毎に連続領域として作
成して前記フラッシュメモリを最適化する最適化装置
(例えば、図1に示す携帯端末1)であって、ファイル
の実データがどのブロックにわたるかを示すチェインデ
ータ(例えば、図3に示すチェインデータb)をブロッ
ク管理テーブル(例えば、図2に示すブロック管理テー
ブルa)に記憶する記憶手段(例えば、図1に示すフラ
ッシュROM1i上の管理エリア)と、電源ON、電源
OFF、キー入力待ち等の所定のタイミングで、ブロッ
ク管理テーブルに記憶されたチェインデータに基づいて
ファイルの実データがどのブロックに分散しているかを
判別する判別手段(例えば、図1に示すCPU1a、図
4に示すステップA1)と、当該判別に基づいて、各ブ
ロックに分散された実データをワークエリアに順次コピ
ーして1ブロックの実データを作成する作成手段(例え
ば、CPU1a、図4に示すステップA3)と、当該作
成した1ブロックの実データを前記フラッシュメモリに
書込み(例えば、CPU1a、図4に示すステップA
5)、当該書込みに基づいて前記ブロック管理テーブル
を更新する更新手段(例えば、CPU1a、図4に示す
ステップA8)と、を具備したことを特徴としている。
【0009】請求項1に記載の発明に拠れば、ファイル
の実データがどのブロックにわたるかを示すチェインデ
ータをブロック管理テーブルに記憶し、電源ON、電源
OFF、キー入力待ち等の所定のタイミングで、ブロッ
ク管理テーブルに記憶されたチェインデータに基づいて
ファイルの実データがどのブロックに分散しているかを
判別し、当該判別に基づいて、各ブロックに分散された
実データをワークエリアに順次コピーして1ブロックの
実データを作成し、当該作成した1ブロックの実データ
を前記フラッシュメモリに書込み、当該書込みに基づい
て前記ブロック管理テーブルを更新する。
【0010】従って、電源ON、電源OFF又はキー入
力待ち等の所定のタイミングで、自動的にフラッシュメ
モリのブロックに分散したデータを順次集約連結して連
続領域として1ブロックずつ書込んで最適化するので、
ユーザが気付かないうちに最適化処理を行うことがで
き、フラッシュメモリのデータ書込み速さのパフォーマ
ンスが低下することを防止でき、フラッシュメモリを使
用する利便性を向上できる。
【0011】請求項2に記載の発明は、フラッシュメモ
リを有する情報処理装置において、当該フラッシュメモ
リに含まれる無効データブロックを消去して当該フラッ
シュメモリを最適化する最適化装置(例えば、図1に示
す携帯端末1)であって、ブロックが無効か有効かを示
す有効/無効情報(例えば、図2に示すブロック有効無
効フラッグ)をブロック毎にブロック管理テーブル(例
えば、図2に示すブロック管理テーブルa)に記憶する
記憶手段(例えば、図1に示すフラッシュROM1i上
の管理エリア)と、電源ON、電源OFF、キー入力待
ち等の所定のタイミングで、前記ブロック管理テーブル
に記憶された前記有効/無効情報に基づいて無効データ
ブロックを検索する検索手段(例えば、図1に示すCP
U1a、図6に示すステップB1)と、無効データブロ
ックが検索された場合は、消去対象の無効データブロッ
クを選択する選択手段(例えば、CPU1a、図6に示
すステップB3)と、当該選択された無効データブロッ
クを消去し(例えば、CPU1a、図6に示すステップ
B4)、当該消去された無効データブロックに対応する
ブロック管理テーブルの有効/無効情報を消去済みに設
定する設定手段(例えば、CPU1a、図6に示すステ
ップB5)と、を具備したことを特徴としている。
【0012】請求項2に記載の発明に拠れば、ブロック
が無効か有効かを示す有効/無効情報をブロック毎にブ
ロック管理テーブルに記憶し、電源ON、電源OFF、
キー入力待ち等の所定のタイミングで、前記ブロック管
理テーブルに記憶された前記有効/無効情報に基づいて
無効データブロックを検索し、無効データブロックが検
索された場合は、消去対象の無効データブロックを選択
し、当該選択された無効データブロックを消去し、当該
消去された無効データブロックに対応するブロック管理
テーブルの有効/無効情報を消去済みに設定する。
【0013】従って、電源ON、電源OFF又はキー入
力待ち等の所定のタイミングで、自動的にフラッシュメ
モリの無効データブロックを1ブロックずつ消去して最
適化するので、ユーザが気付かないうちに最適化処理を
行うことができ、フラッシュメモリのデータ書込み速さ
のパフォーマンスが低下することを防止でき、フラッシ
ュメモリを使用する利便性を向上できる。
【0014】
【発明の実施の形態】以下、添付図面を参照して、本発
明の第1の実施の形態及び第2の実施の形態について順
に説明する。
【0015】(第1の実施の形態)本第1の実施の形態
を図1、図2、図3、図4及び図5を参照して説明す
る。図1は、本第1の実施の形態を実行する携帯端末
(ハンディターミナル)の内部構成を示すブロック図であ
る。本第1の実施の形態では、フラッシュメモリとして
フラッシュROM(Read Only Memory)の例を説明す
る。
【0016】情報処理装置である携帯端末1は、CPU
(Central Processing Unit)1aと、表示部1bと、
RAM(Random Access Memory)1cと、RAM1c内
のワークエリア1dと、入力部1eと、記憶装置1f
と、記憶装置1f内の記録媒体1gと、伝送制御部1h
と、フラッシュROM1iと、タイマ1jと、CPU1
a、表示部1b、RAM1c、入力部1eと、記憶装置
1f、伝送制御部1h、フラッシュROM1i、タイマ
1jとを接続するバス1kとを有する。
【0017】本実施の形態では、携帯端末(ハンディタ
ーミナル)を使用するが、これに限るものではなく、フ
ラッシュROMを有する情報処理装置であればよく、例
えば、デスクトップPC、PDA(Personal Digital A
ssistants)、携帯電話、PHS(Personal Handyphone
System)等でもよい。
【0018】CPU1aは、フラッシュROM最適化手
順を実行する(図4参照)。先ず、CPU1aは、フラ
ッシュROM1iのユーザエリア上で、実データが分散
してブロックの飛び地に点在するかをブロック管理テー
ブルを用いて検索し、実データが飛び地に点在するかの
判別をし、実データが飛び地に点在する場合、飛び地に
点在する各データをRAM1cのワークエリア1d上に
順次集約及び連結して連続領域として1ブロックに対応
する実イメージを作成し、フラッシュROM1iのユー
ザエリア上の、空きブロックを検索し、当該空きブロッ
ク上に前記実イメージを書込み、各飛び地に点在してい
た実データを有するブロックをデータ消去する。
【0019】また、CPU1aは、RAM1cのワーク
エリア1d上に、前記実イメージの書込み及びブロック
のデータ消去に対応する管理イメージを作成し、フラッ
シュROM1iの管理エリア上の空きブロックを検索
し、当該空きブロック上に前記管理イメージを書込む。
【0020】表示部1bは、LCD(Liquid Crystal D
isplay)等により構成され、CPU1aから入力される
表示指示に従って各種表示データの画面表示を行う。
【0021】RAM1cは、プログラム、入力指示、入
力データ及び処理結果等の各種データを、CPU1aで
ランダムアクセス展開可能に格納するメモリ領域である
ワークエリア1dを有する。また記憶装置1fの各種プ
ログラム及びデータを展開自在である。
【0022】入力部1eは、カーソルキー、数字入力キ
ー及び各種機能キー等を備えたキーボード及びマウスを
含み、キーボードで押下された押下信号やマウスの位置
信号をCPU1aに出力する。
【0023】記憶装置1fは、プログラムやデータなど
が予め記憶された記録媒体1gを有し、記録媒体1g
は、磁気的、光学的記録媒体、若しくは半導体等の不揮
発性メモリ等のCPU1a読取り可能な記録媒体で構成
されている。記録媒体1gは、ハードディスク等の記憶
装置1fに固定的に設けたもの、若しくはCD−RO
M、メモリカード等の着脱自在に装着する可搬型のもの
を含む。この記録媒体1gには携帯端末1のシステムプ
ログラム、及びこれに対応する各種処理プログラム、及
びこれらのプログラムで処理する又は処理されたデータ
等の各種データを格納する。RAM1c及び記憶装置1
fは、CPU1aの制御によりデータの書込みが可能な
構成である。
【0024】また、記録媒体1gに記憶されたプログラ
ム、データ等は、その一部若しくは全部を外部機器から
WAN(Wide Area Network)、LAN(Local Area Ne
twork)等のネットワーク網等の伝送媒体を介して伝送
制御部1hから受信して格納する構成にしてもよく、ま
た、記録媒体1fはネットワーク網上に構築された外部
機器の記録媒体であってもよい。更に、前記各種プログ
ラムをネットワーク網等の伝送媒体を介して外部機器へ
送信及びインストールする構成にしてもよい。
【0025】伝送制御部1hは、ネットワーク網を介し
て、外部機器との通信を行うためのモデム、TA(Term
inal Adapter)、ルータ等によって構成されるが、Ir
DA(Infrared Data Association)規格の赤外線通信
装置や無線通信装置等でもよい。
【0026】ネットワーク網は、インターネット等のネ
ットワークであるが、これに限るものではなく、電話回
線網、ISDN回線網、専用線、移動体通信網、通信衛
星回線、CATV回線、光通信回線と、それらを接続す
るインターネットサービスプロバイダや基地局等を含
む。
【0027】フラッシュROM1iは、電気的にデータ
の書込みが可能なROMであり、その上に実データを格
納するユーザエリアと、ユーザエリアの実データを管理
する管理データを格納する管理エリアを有し、それぞれ
のエリアは複数のブロックを有する。タイマ1jは、例
えば、APO(Auto Power Off)監視用のタイマであ
る。
【0028】次に、フラッシュROM1iに記憶する管
理エリア上のブロック管理テーブルを図2及び図3を参
照して説明する。図2は、フラッシュROM1iに記憶
する管理エリア上のブロック管理テーブルaの構成を示
す図である。
【0029】ブロック管理テーブルaは、ユーザエリア
の各ブロックの管理情報だけでなく、管理エリアの各ブ
ロックの管理情報も有する。ブロック管理テーブルaに
は、各ブロックの番号の情報であるブロックNo.と、
そのブロックに有効なデータがあるかを示す有効/無効
情報であるブロック有効無効フラッグと、ブロック検索
時の目印であるサーチ開始ポインタと、ファイル分割の
データ位置及び結合情報であり実データがどのブロック
にわたるかを示すチェインデータbとを有する。
【0030】ブロック有効無効フラッグは、FF(初期
状態)、0、それ以外の3通りが有る。FFはフォーマ
ットをかけた状態であり、その中にデータを有さない。
0は無効データを含む無効状態であり、無効フラッグを
意味する。それ以外は、有効なデータを含む状態であ
り、有効フラッグを意味する。サーチ開始ポインタにつ
いて、各ブロックの検索は、例えばサーチ開始ポインタ
の次のブロックから開始し、最大で1回りする。
【0031】図3は、図2のブロック管理テーブルa上
のチェインデータbのテーブルの構成を示す図である。
実ファイルの分割は、例えば2KB単位のセクタに分割
され、当該セクタを各ブロックに格納し、そのセクタ同
士の位置及び結合情報がチェインデータbであって、チ
ェインデータbはテーブル構造を有し、その構成を図3
を用いて説明する。なお、1ブロック中にセクタは、ブ
ロックサイズに基づくある一定数を超えない数まで入る
ことができる。これに関して、ブロック管理テーブルa
は、図2上47個のブロックを有するが、この数に限定
されるものではない。
【0032】チェインデータは、それぞれのブロック毎
にテーブルを持ち、管理項目として、1.ファイル番
号、2.ファイルのセクタ数及びファイルのサイズ、
3.ファイルの何番目のセクタかの情報、4.フラッシ
ュROMのユーザエリアのブロックの何番目かの情報を
有する。ファイル番号は、携帯端末1の内部で管理する
番号であり、フラッシュROM1i上全てのファイル数
を母数とするファイル番号である。
【0033】次に、図4及び図5を参照して、携帯端末
1上のフラッシュROM最適化プログラムの動作を説明
する。図4は、フラッシュROM最適化を行うデータ連
結書込みプログラムの動作手順を示すフローチャートで
ある。
【0034】このフローチャートは、携帯端末1を構成
するコンピュータに各機能を実現させるためのプログラ
ムを説明する為のものである。このプログラムは、CP
U1aが読取可能なプログラムコードの形態で記録媒体
1gに格納されている例で説明するが、全ての機能を記
録媒体1gに格納する必要は無く、必要に応じてその一
部若しくは全部をネットワーク網を介して伝送制御部1
hから受信して実現するようにしてもよい。
【0035】最初に、予め当該データ連結書込み手順を
電源ON又は電源OFFのどちらのタイミングで実行す
るのかを設定しておく。電源ON又は電源OFFが為さ
れた時、CPU1aは、自動的にデータ連結書込みプロ
グラムを起動して実行する。
【0036】先ず、CPU1aは、フラッシュROM1
iのユーザエリア上で、実データが分散してブロックの
飛び地に点在するかを検索する(ステップA1)。具体
的には、フラッシュROM1iのユーザエリア上に、実
データである実ファイルのセクタが、ユーザエリアのブ
ロックの飛び地に点在するかを、ブロック管理エリアの
ブロック管理テーブルa上のチェインデータbを用いて
検索する。
【0037】そして、CPU1aは、実データが飛び地
に点在するかの判別をする(ステップA2)。実データ
が飛び地に点在する場合、飛び地に点在する各実データ
を1ブロック分、RAM1cのワークエリア1d上に順
次集約及び連結して連続領域として1ブロックに対応す
る実イメージを作成する(ステップA3)。
【0038】そして、CPU1aは、フラッシュROM
1iのユーザエリア上の、空きブロックを検索し(ステ
ップA4)、CPU1aは、当該空きブロック上に前記
実イメージを書込む(ステップA5)。
【0039】当該ステップA5において、ステップA3
で集約した各実データは、元のブロック上で古い無効な
実データとなるので、CPU1aは、実イメージの書込
みの後、各々の古い実データを有するブロックをデータ
消去してもよい。また、当該各々の古い実データを元の
ブロック上に残して無効データブロックとしておき、別
の所定のタイミングで、当該無効データブロックをデー
タ消去してもよい。
【0040】そして、CPU1aは、RAM1cのワー
クエリア1d上に、前記実イメージの書込みに対応する
管理データである管理イメージを作成する(ステップA
6)。CPU1aは、管理データであるブロック管理テ
ーブルa上のブロック有効無効フラッグにおいて、ステ
ップA5で書込みを行ったユーザエリア上のブロックに
対しては、有効フラッグをつけ、古い実データの残った
ブロックには無効フラッグをつけて無効データブロック
とし、また、前記各古い実データを有するブロックをデ
ータ消去した場合には、データ消去したブロックにFF
をつける。同じく、チェインデータbを書込みしたブロ
ック上の実イメージにあわせて更新する。以上のユーザ
エリアの更新にあわせて、ブロック管理テーブルaを更
新する。
【0041】そして、CPU1aは、フラッシュROM
1iの管理エリア上の、空きブロックを検索し(ステッ
プA7)、CPU1aは、当該空きブロック上に前記管
理イメージを書込む(ステップA8)。実データの場合
と同様に、元の管理データは古い無効な管理データとな
るので、CPU1aは、管理エリア上の無効管理データ
を有するブロックをデータ消去してもよく、また、当該
古い管理データを元のブロック上に残して無効データブ
ロックの1つである無効管理データブロックとしてお
き、別の所定のタイミングで、当該無効管理データブロ
ックをデータ消去してもよい。なお、ブロック管理テー
ブルaには、実データの管理データのみでなく、管理デ
ータに対する管理データを有する構成にしてもよい。
【0042】そして、データ連結書込み手順を終了す
る。なお、ステップA2でデータが飛び地に点在しない
場合、同様にデータ連結書込み手順を終了する。
【0043】以上の手順をフラッシュROM1i上にデ
ータがブロックの飛び地に点在するデータが検索されな
くなるまで実行すれば、1ブロックずつデータ連結書込
み手順を実行していき、全ての点在するデータを連続領
域としてブロック上に書込むことができる。
【0044】ステップA5での実イメージの書込みの
後、ステップA8での管理イメージの書込みへすぐ移行
するのは、携帯端末1におけるLBO(Low Battery Of
f)に対する対策であり、当該実データ書込みとこれに
対応する管理データの書込みの間でのLBO(Low Batt
ery Off)による電源OFFにより、実イメージの書込
みだけが実行され、実データと管理データの間の不整合
の発生を防ぐ。
【0045】次に、図4の具体的な処理例について図5
を用いて説明する。図5は、ブロック連結書込み手順の
具体説明図であり、(I)は、ユーザエリアについての
説明図であり、(II)は、管理エリアについての説明図
である。
【0046】最初、図5(I)に示すように、データの
最適化実行前に、3つの実ファイルのセクタ、、
が、ユーザエリアのブロックの飛び地である各ブロック
に点在する。電源のON又はOFFによって、ステップ
A3,A4,A5の手順により、ワークエリア1d上に
3つのセクタ、、を順次集約及び連結し連続領域
として1ブロックに対応する実イメージとし、ユーザエ
リア上の1つの空きブロックにセクタ、、を連結
した実イメージを書込み、元にあったセクタ、、
は元の各ブロック上でデータ消去する。
【0047】次に、図5(II)に示すように、ステップ
A6,A7,A8の手順により、ワークエリア1d上
に、前記書込み及び消去に対応したブロック管理テーブ
ルaの新しい管理イメージを作成し、管理エリア上の1
つの空きブロックに書込み、元にあった管理データをデ
ータ消去する。前記管理イメージの作成において、ユー
ザエリア上で、元の各セクタがあったブロックには消去
済みを示すFFがつけられ、新しく書込んだブロックに
は有効フラッグがつけられようにブロック管理テーブル
a上のブロック有効無効フラッグを更新し、同様に管理
エリア上で元の管理データがあったブロックには消去済
みを示すFFがつけられ、新しく管理イメージを書込ん
だブロックには有効フラッグがつけられように管理デー
タに対する管理データを更新する。
【0048】データ連結書込み手順後は、ユーザが、例
えば、ネットワーク網から伝送制御部1hを介してアプ
リケーション等をダウンロードし、フラッシュROM1
i上に書込みをする場合、飛び地に点在するデータが無
いため、最大のパフォーマンスでアプリケーション等の
書込みを行うことができる。
【0049】よって、電源ON又は電源OFFのタイミ
ングで、自動的にフラッシュROMのブロックに分散し
たデータを順次集約連結して連続領域として1ブロック
ずつ書込んで最適化するので、ユーザが気付かないうち
に最適化処理を行うことができ、電源ON後にフラッシ
ュROMのデータ書込み速さが最大のパフォーマンスを
実現できるので、フラッシュROM使用の利便性が増
す。
【0050】(第2の実施の形態)本第2の実施の形態
を図6及び図7を参照して説明する。本実施の形態の装
置的特徴は上記第1の実施の形態と同様であり、重複を
避けるため説明を省略し、各部分の符号も同じ物を使
い、CPU1aは本実施の形態のフラッシュROM最適
化を行う無効データブロック消去プログラムを実行す
る。図6は、電源ON又は電源OFF時にフラッシュR
OM最適化を行う無効データブロック消去プログラムの
動作手順を示すフローチャートである。
【0051】一般に、フラッシュROMは、先にデータ
を書込んだ後、最後にブロック管理テーブルを更新させ
るため、フォーマットしないで使い続けた場合、無効デ
ータが増える。本実施の形態は、当該無効データを有す
る無効データブロックを消去することによるフラッシュ
ROMの最適化手順である。
【0052】最初に、予め無効データブロック消去手順
を電源ON又は電源OFFのどちらのタイミングで実行
するのかを設定しておく。電源ON又は電源OFFが為
された時、CPU1aは、自動的に無効データブロック
消去プログラムを起動して実行する。
【0053】先ず、CPU1aは、無効データブロック
の検索を行う(ステップB1)。具体的には、CPU1
aは、フラッシュROM1i上管理エリア上のブロック
管理テーブルa内のサーチ開始ポインタを用いて、各ブ
ロックを順に、ブロック管理テーブルa内のブロック有
効無効フラッグを参照して、無効フラッグを有する無効
データブロックを検索する。
【0054】そして、CPU1aは、無効データブロッ
クが有るかどうかを判別する(ステップB2)。無効デ
ータブロックが有る場合、CPU1aは、ブロック管理
テーブルa内のブロック有効無効フラッグを用いて、無
効データブロックに対応するブロックの番号を同じくブ
ロック管理テーブルa内のブロックNo.から選択する
(ステップB3)。
【0055】そして、CPU1aは、前記選択した番号
の無効データブロックをデータ消去し(ステップB
4)、CPU1aは、ブロック管理テーブルa内のブロ
ック有効無効フラッグを、消去済みを示すFFに更新し
(ステップB5)、無効データブロック消去手順を終了
する。なお、ステップB2で、無効データブロックが無
い場合、同様に無効データブロック消去手順を終了す
る。
【0056】以上の説明では消去対象の範囲は、ユーザ
エリアある。なお、管理エリアの無効管理データブロッ
クをデータ消去するときは、同様に管理データに対する
管理データを更新する。
【0057】以上の手順をフラッシュROM1i上の無
効データブロックが検索されなくなるまで実行すれば、
無効データブロックを1ブロックずつ全てデータ消去で
きる。無効データブロック消去手順後は、フラッシュR
OM1i上に書込みをする場合、無効データブロックが
無いため、最大のパフォーマンスでアプリケーション等
の書込みを行うことができる。
【0058】よって、電源ON又は電源OFFのタイミ
ングで、自動的にフラッシュROMの無効データブロッ
クを1ブロックずつ消去して最適化するので、ユーザが
気付かないうちに最適化処理を行うことができ、電源O
N後に、フラッシュROMのデータ書込み速さが最大の
パフォーマンスを実現できるので、フラッシュROM使
用の利便性が増す。
【0059】次に、当該無効データブロック消去手順の
変形例として、キー入力待ち時における無効データブロ
ック消去を行う手順を図7を参照して説明する。図7
は、キー入力待ち時にフラッシュROM最適化を行う無
効データブロック消去プログラムの動作手順を示すフロ
ーチャートである。業務アプリケーションでは、概し
て、全体の使用時間に対してキー入力待ちの時間が一番
多く、このキー入力待ちの時間の有効活用を図るもので
ある。
【0060】先ず、CPU1aは、キー入力待ちを行う
(ステップC1)。具体的には、CPU1aは、入力部
1eからユーザ等による入力を待つ状態で待機する。そ
して、CPU1aは、入力部1eからユーザ等によるキ
ー入力割込みがあるかどうかを判別する(ステップC
2)。
【0061】キー入力割込みが無い場合、CPU1a
は、タイマ1jのカウンタをインクリメントする(ステ
ップC3)。具体的には、例えば、CPU1aのSle
epモードに入ってからカウンタをインクリメントす
る。当該カウンタのインクリメントは、停止状態を表す
Haltのカウントを増加するという意味を持つ。
【0062】そして、CPU1aは、タイマ1jのカウ
ンタの値により、Haltが連続して10回以上である
かを判別する(ステップC4)。Haltが連続して1
0回以上の場合、CPU1aは、フラッシュROM1i
上の無効データブロックを消去する(ステップC5)。
無効データブロックの消去の手順は、ステップB1〜B
5を実行する。
【0063】そして、キー入力待ち時の無効データブロ
ック消去手順を終了する。また、ステップC5において
Haltが連続して10回以上でない場合、同様にキー
入力待ち時の無効データブロック消去手順を終了する。
【0064】ステップC2において、キー入力割込みが
ある場合、CPU1aは、タイマ1jのカウンタをクリ
アし(ステップC6)、キー入力待ち時の無効データブ
ロック消去手順を終了する。
【0065】以上の手順を例えば所定の時間間隔で実行
する。フラッシュROM1i上の無効データブロックが
検索されなくなるまで実行すれば、無効データブロック
を1ブロックずつ全てデータ消去できる。
【0066】よって、無駄なキー入力待ち時間を有効活
用して、キー入力待ちのタイミングで、自動的にフラッ
シュROMの無効データブロックを1ブロックずつ消去
して最適化するので、ユーザが気付かないうちに最適化
処理を行うことができてユーザの肉体的・精神的負担を
取り除き、キー入力後に、フラッシュROMのデータ書
込み速さに最大のパフォーマンスを実現できるので、フ
ラッシュROM使用の利便性が増す。
【0067】キー入力待ちのタイミングでは、無効デー
タブロック消去処理だけでなく、第1の実施の形態のよ
うなデータ連結書込み処理を行ってもよい。その場合、
ステップC5において、ステップA1〜A8を実行す
る。
【0068】なお、第1の実施の形態及び第2の実施の
形態では、電源ON、電源OFF、キー待ち入力のタイ
ミングでフラッシュROM1i最適化の実施の形態を説
明したが、これに限られず、これ以外の所定のタイミン
グで最適化を行うようにしてもよい。また、第1の実施
の形態及び第2の実施の形態では、フラッシュメモリと
してフラッシュROM(Read Only Memory)を例にとっ
て説明したが、フラッシュメモリはフラッシュROMに
限定されるものではなく、その他の記憶媒体にも適用可
能である。
【0069】以上、本発明の実施の形態につき説明した
が、本発明は、必ずしも上述した手段及び手法にのみ限
定されるものではなく、本発明にいう目的を達成し、本
発明にいう効果を有する範囲内において適宜に変更実施
が可能なものである。
【0070】
【発明の効果】以上詳述したごとく、請求項1及び請求
項3に記載の発明によれば、電源ON、電源OFF又は
キー入力待ち等の所定のタイミングで、自動的にフラッ
シュメモリのブロックに分散したデータを順次集約連結
して連続領域として1ブロックずつ書込んで最適化する
ので、ユーザが気付かないうちに最適化処理を行うこと
ができ、フラッシュメモリのデータ書込み速さのパフォ
ーマンスが低下することを防止でき、フラッシュメモリ
を使用する利便性を向上できる。
【0071】請求項2及び請求項4に記載の発明によれ
ば、電源ON、電源OFF又はキー入力待ち等の所定の
タイミングで、自動的にフラッシュメモリの無効データ
ブロックを1ブロックずつ消去して最適化するので、ユ
ーザが気付かないうちに最適化処理を行うことができ、
フラッシュメモリのデータ書込み速さのパフォーマンス
が低下することを防止でき、フラッシュメモリを使用す
る利便性を向上できる。
【図面の簡単な説明】
【図1】本発明のフラッシュROM最適化を実行する携
帯端末の内部構成を示すブロック図である。
【図2】図1上のフラッシュROMに記憶する管理エリ
ア上のブロック管理テーブルの構成を示す図である。
【図3】図2のブロック管理テーブル上のチェインデー
タのテーブルの構成を示す図である。
【図4】フラッシュROM最適化を行うデータ連結書込
みプログラムの動作手順を示すフローチャートである。
【図5】ブロック連結書込み手順の具体説明図であり、
(I)は、ユーザエリアについての説明図であり、(I
I)は、管理エリアについての説明図である。
【図6】電源ON又は電源OFF時にフラッシュROM
最適化を行う無効データブロック消去プログラムの動作
手順を示すフローチャートである。
【図7】キー入力待ち時にフラッシュROM最適化を行
う無効データブロック消去プログラムの動作手順を示す
フローチャートである。
【符号の説明】
1…携帯端末 1a…CPU 1b…表示部 1c…RAM 1d…ワークエリア 1e…入力部 1f…記憶装置 1g…記録媒体 1h…伝送制御部 1i…フラッシュROM 1j…タイマ 1k…バス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】フラッシュメモリを有する情報処理装置に
    おいて、複数のブロックに分散したファイルの実データ
    を1ブロック毎に連続領域として作成して前記フラッシ
    ュメモリを最適化する最適化装置であって、 ファイルの実データがどのブロックにわたるかを示すチ
    ェインデータをブロック管理テーブルに記憶する記憶手
    段と、 電源ON、電源OFF、キー入力待ち等の所定のタイミ
    ングで、ブロック管理テーブルに記憶されたチェインデ
    ータに基づいてファイルの実データがどのブロックに分
    散しているかを判別する判別手段と、 当該判別に基づいて、各ブロックに分散された実データ
    をワークエリアに順次コピーして1ブロックの実データ
    を作成する作成手段と、 当該作成した1ブロックの実データを前記フラッシュメ
    モリに書込み、当該書込みに基づいて前記ブロック管理
    テーブルを更新する更新手段と、 を具備したことを特徴とするフラッシュメモリ最適化装
    置。
  2. 【請求項2】フラッシュメモリを有する情報処理装置に
    おいて、当該フラッシュメモリに含まれる無効データブ
    ロックを消去して当該フラッシュメモリを最適化する最
    適化装置であって、 ブロックが無効か有効かを示す有効/無効情報をブロッ
    ク毎にブロック管理テーブルに記憶する記憶手段と、 電源ON、電源OFF、キー入力待ち等の所定のタイミ
    ングで、前記ブロック管理テーブルに記憶された前記有
    効/無効情報に基づいて無効データブロックを検索する
    検索手段と、 無効データブロックが検索された場合は、消去対象の無
    効データブロックを選択する選択手段と、 当該選択された無効データブロックを消去し、当該消去
    された無効データブロックに対応するブロック管理テー
    ブルの有効/無効情報を消去済みに設定する設定手段
    と、 を具備したことを特徴とするフラッシュメモリ最適化装
    置。
  3. 【請求項3】コンピュータに、 複数のブロックに分散したフラッシュメモリのファイル
    の実データがどのブロックにわたるかを示すチェインデ
    ータをブロック管理テーブルに記憶させる機能と、 電源ON、電源OFF、キー入力待ち等の所定のタイミ
    ングで、ブロック管理テーブルに記憶されたチェインデ
    ータに基づいてファイルの実データがどのブロックに分
    散しているかを判別する機能と、 当該判別に基づいて、各ブロックに分散された実データ
    をワークエリアに順次コピーして1ブロックの実データ
    を作成する機能と、 当該作成した1ブロックの実データを前記フラッシュメ
    モリに書込み、当該書込みに基づいて前記ブロック管理
    テーブルを更新する機能と、 を実現させるためのプログラム。
  4. 【請求項4】コンピュータに、 フラッシュメモリに含まれるブロックが無効か有効かを
    示す有効/無効情報をブロック毎にブロック管理テーブ
    ルに記憶させる機能と、 電源ON、電源OFF、キー入力待ち等の所定のタイミ
    ングで、前記ブロック管理テーブルに記憶された前記有
    効/無効情報に基づいて無効データブロックを検索する
    機能と、 無効データブロックが検索された場合は、消去対象の無
    効データブロックを選択する機能と、 当該選択された無効データブロックを消去し、当該消去
    された無効データブロックに対応するブロック管理テー
    ブルの有効/無効情報を消去済みに設定する機能と、 を実現させるためのプログラム。
JP2001124789A 2001-04-23 2001-04-23 フラッシュメモリ最適化装置及びプログラム Pending JP2002318714A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001124789A JP2002318714A (ja) 2001-04-23 2001-04-23 フラッシュメモリ最適化装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001124789A JP2002318714A (ja) 2001-04-23 2001-04-23 フラッシュメモリ最適化装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2002318714A true JP2002318714A (ja) 2002-10-31

Family

ID=18974118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001124789A Pending JP2002318714A (ja) 2001-04-23 2001-04-23 フラッシュメモリ最適化装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2002318714A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140628A (ja) * 2005-11-15 2007-06-07 Sony Corp 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008135940A (ja) * 2006-11-28 2008-06-12 Toshiba Corp 携帯端末
JP2009116873A (ja) * 2007-11-06 2009-05-28 Samsung Electronics Co Ltd ソリッドステートメモリ(ssm)、ssmを有するコンピュータシステム及びssm駆動方法
JP2009151386A (ja) * 2007-12-18 2009-07-09 Ricoh Co Ltd 画像処理装置
JP2009176155A (ja) * 2008-01-25 2009-08-06 Kyocera Corp 携帯通信端末
JP2010231814A (ja) * 2003-01-27 2010-10-14 I-O Data Device Inc ジョブ処理システム
JP2012198811A (ja) * 2011-03-22 2012-10-18 Toshiba Corp メモリシステム、不揮発性記憶装置及びその制御方法
JP2014059889A (ja) * 2013-10-29 2014-04-03 Toshiba Corp メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
US8745313B2 (en) 2008-03-01 2014-06-03 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
US9715344B2 (en) 2014-03-12 2017-07-25 Samsung Electronics Co., Ltd. Memory device and controlling method of the same
CN115662492A (zh) * 2022-12-26 2023-01-31 合肥康芯威存储技术有限公司 一种数据存储设备的量产测试方法及装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231814A (ja) * 2003-01-27 2010-10-14 I-O Data Device Inc ジョブ処理システム
US7904669B2 (en) 2005-11-15 2011-03-08 Sony Corporation Information processing device, image pickup device, information processing method and computer program
JP2007140628A (ja) * 2005-11-15 2007-06-07 Sony Corp 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
US8295875B2 (en) 2006-11-28 2012-10-23 Fujitsu Toshiba Mobile Communications Limited Apparatus and method for mobile communication by using non-volatile memory device
JP2008135940A (ja) * 2006-11-28 2008-06-12 Toshiba Corp 携帯端末
JP4751814B2 (ja) * 2006-11-28 2011-08-17 富士通東芝モバイルコミュニケーションズ株式会社 携帯端末
JP2009116873A (ja) * 2007-11-06 2009-05-28 Samsung Electronics Co Ltd ソリッドステートメモリ(ssm)、ssmを有するコンピュータシステム及びssm駆動方法
JP2009151386A (ja) * 2007-12-18 2009-07-09 Ricoh Co Ltd 画像処理装置
JP2009176155A (ja) * 2008-01-25 2009-08-06 Kyocera Corp 携帯通信端末
US9092324B2 (en) 2008-03-01 2015-07-28 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
US8745313B2 (en) 2008-03-01 2014-06-03 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
US9417799B2 (en) 2008-03-01 2016-08-16 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
JP2012198811A (ja) * 2011-03-22 2012-10-18 Toshiba Corp メモリシステム、不揮発性記憶装置及びその制御方法
JP2014059889A (ja) * 2013-10-29 2014-04-03 Toshiba Corp メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
US9715344B2 (en) 2014-03-12 2017-07-25 Samsung Electronics Co., Ltd. Memory device and controlling method of the same
CN115662492A (zh) * 2022-12-26 2023-01-31 合肥康芯威存储技术有限公司 一种数据存储设备的量产测试方法及装置
CN115662492B (zh) * 2022-12-26 2023-04-14 合肥康芯威存储技术有限公司 一种数据存储设备的量产测试方法及装置

Similar Documents

Publication Publication Date Title
KR100999267B1 (ko) 관리 서버들에 의해 업데이트된 온-디바이스 애플리케이션 카탈로그
CN102667772B (zh) 文件级分级存储管理系统、方法和设备
KR100273030B1 (ko) 이동 클라이언트 컴퓨터 및 플래쉬 메모리 관리
US7444143B2 (en) Wireless database environment for a small device
JP2003316595A (ja) インストール方法、ファイル更新方法、プログラム及びコンピュータシステム
US6976038B2 (en) Method and apparatus for real time creation and modification of a change log for multi-server synchronization
CN101673207A (zh) 手持式学习终端的程序更新方法
JP2007140910A (ja) コンテンツ表示システム
CN101211265A (zh) 一种终端嵌入式系统的软件更新方法和装置
JP2002318714A (ja) フラッシュメモリ最適化装置及びプログラム
JP2003032381A (ja) 情報通信端末装置、及びプログラム
CN103136027A (zh) 即时更新装置和即时更新方法
CN112612853A (zh) 基于数据库集群的数据处理方法、装置及电子设备
WO2000073938A1 (en) Portable information apparatus
JP2000339211A (ja) ファイル処理装置、ファイル処理システム、及び記憶媒体
KR20070059221A (ko) 이동 저장장치의 파일 관리 장치 및 방법
US8073884B2 (en) System and method to derive high level file system information by passively monitoring low level operations on a FAT file system
JP2003108385A (ja) 着脱型外部記憶装置を利用したコンピュータシステムおよびコンピュータ利用方法
JP2002140216A (ja) ファイル管理システム
GB2338574A (en) Web video telephone with application program swapping
CN111382142A (zh) 数据库的操作方法、服务器和计算机存储介质
CN113377458B (zh) 插件管理方法、装置、电子设备和存储介质
JP2002229890A (ja) 情報表示方法
JP2006126919A (ja) フラッシュメモリのデータ管理装置およびフラッシュメモリの制御方法
US7577463B2 (en) Fast booting method for mobile communication device