JP4096660B2 - データ記録制御装置及びプログラム - Google Patents
データ記録制御装置及びプログラム Download PDFInfo
- Publication number
- JP4096660B2 JP4096660B2 JP2002241941A JP2002241941A JP4096660B2 JP 4096660 B2 JP4096660 B2 JP 4096660B2 JP 2002241941 A JP2002241941 A JP 2002241941A JP 2002241941 A JP2002241941 A JP 2002241941A JP 4096660 B2 JP4096660 B2 JP 4096660B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- area
- cpu
- count value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
本発明は、記録媒体へのデータ記録を制御するデータ記録制御装置及びその制御用のプログラムに関する。
【0002】
【従来の技術】
従来、携帯可能なノート型のパーソナルコンピュータ等の携帯型情報処理装置においては、各種データや各種プログラムを記録するための大容量の記録媒体として、ハードディスク装置が搭載されている。しかし、ハードディスク装置は衝撃に弱いため、耐衝撃性に優れた不揮発性半導体メモリ等の小容量の記録媒体も携帯型情報処理装置に搭載されている。
【0003】
【発明が解決しようとする課題】
しかしながら、不揮発性半導体メモリは、ハードディスク装置に比べて書込回数の制限値が低いため、書込回数が制限値を超えてしまう可能性が高く、記録されたデータが失われてしまうことがある。また、不揮発性半導体メモリ内において部分的にデータ書込回数が偏っている場合に、その偏り部分で書込回数が制限値に達してしまうと、このメモリ全体をそれ以上使用することができなくなってしまう。
【0004】
このような現象は、メモリ内のデータ書込領域を決定する主体が制御側のプログラムにあり、利用するプログラムによってメモリ内の一部の記録領域に対するデータ書込動作が頻発するためである。すなわち、従来のメモリの利用形態では、部分的に記録領域に対する書込み回数を考慮した制御が行われていなかったため、メモリを有効利用することができない場合があり、不揮発性半導体メモリの大容量化と普及とを妨げるおそれがあった。
【0005】
本発明の課題は、書込回数に制限のある記録媒体に効率良くデータを記録してデータの消失を防ぐとともに、これにより記録媒体の長寿命化を実現するとともにハードディスク装置の代替として使用できるようにすることである。
【0009】
【課題を解決するための手段】
請求項1記載の発明は、1以上のブロックから構成される不揮発性の記録媒体へのアクセスを制御するデータ記録制御装置であって、前記記録媒体内の指示されたブロックに、データとそのデータの書込回数及びそのデータを所定の条件の時に代替として書き込むための代替ブロックのアドレスを記録するデータ記録手段と、前記ブロック毎に記録された前記書込回数の中から抽出した大きい書込回数と小さい書込回数との差を算出し、その差が予め設定された閾値に達したか否かを比較する比較手段と、前記比較手段により前記大きい書込回数と小さい書込回数との差が前記閾値に達したと判断された場合に、前記大きい書込回数を持つブロックと前記小さい書込回数を持つブロックとを前記代替ブロックのアドレスを参照することにより空きブロックを介して入れ替えて記録する入替手段と、を備えることを特徴としている。
【0012】
【発明の実施の形態】
図面を参照して本発明に関るデータ記録制御装置1について詳細に説明する。以下において、データ記録制御装置1の第1及び第2の実施の形態について詳細に説明するが、各実施の形態におけるデータ記録制御装置1の構成は、何れも図1に示す構成を有するため、図1に示す各機能的構成部について重複する説明は省略し、同一の部分には同一の符号を付して説明する。
【0013】
〔第1の実施の形態〕
以下、各実施の形態の共通部分を含めて、第1の実施の形態について詳細に説明する。まず、構成を説明する。
図1は、本発明を提供した一実施の形態によるデータ記録制御装置1の機能的構成を示すブロック図である。図1に示すように、データ記録制御装置1は、CPU11、入力部12、表示部13、RAM14、ROM15、印字装置16、不揮発性メモリドライブ17、HDD18、伝送制御部18により構成され、各部は相互にデータの送受信が可能なようにバス20により接続されている。
【0014】
図2は、図1に示すROM15に記憶された各種プログラムの階層構造を模式的に示す図である。各種プログラムには、上位階層から順に、CPU11によって実行されるアプリケーションプログラム、メモリ管理やタスク管理等をはじめとするOS(Operating System)の基本機能を実現するシステムプログラム、HDD(Hard Disk Drive)を制御するHDD制御プログラムがあり、不揮発性メモリ17Aを制御する不揮発性メモリ制御プログラムが最下層に実装されている。図1のCPU11は、図2に示す不揮発性メモリ制御プログラムを利用して、不揮発性メモリ17Aに、OSによる認識が可能な記録領域とOSによる認識不可能な代替記録領域とを設定する(図3参照)とともに、後述する各種処理において不揮発性メモリ17Aのデータの書込み、読出し、編集処理等を制御する。
【0015】
ここで、図4を参照して、不揮発性メモリ17Aの記録領域及び代替記録領域について説明する。なお、記録領域及び代替記録領域は、各々複数のデータブロックにより構成される。
【0016】
図4(a)は、記録領域の1ブロックのデータ構成例を示す図である。図4(a)に示すように、記録領域を構成する各ブロック100は、実データを記録するためのデータ領域101と、データ領域内のデータのエラー訂正用のECC(Error Correcting Code)を記録するための領域102と、データ領域101へのデータの書込回数を記録する書込回数カウント領域103と、データ領域101におけるデータの書込回数が所定回数に達した場合にデータ領域101内の実データを記録する代替記録領域内のブロックを指定するアドレスを記録するための代替ブロック指定領域104と、書込回数カウント領域103及び代替ブロック指定領域104に記録されたデータのエラー訂正用のECCを記録するための領域105とによって構成される。
【0017】
図4(b)は、代替記録領域の1ブロックのデータ構成例を示す図である。図4(b)に示すように、代替記録領域を構成する各代替ブロック110は、実データを記録するためのデータ領域111と、データ領域内のデータのエラー訂正用のECCを記録するための領域112と、データ領域111へのデータ書込回数を記録するための書込回数カウント領域113と、このブロックのデータが記録領域のブロックの代替領域として使用された場合にブロック100のアドレスを記録するためのオリジナルブロック指定領域114と、オリジナルブロック指定領域114内のデータのエラー訂正用のECCを記録するための領域115とによって構成される。
【0018】
なお、以下に説明する各処理において、CPU11は、不揮発性メモリ17A内の各ブロックにデータを書き込む際に、実データのエラー訂正用のECCを算出して領域102(又は領域112)に記録するとともに、データ書込回数及び代替ブロックのアドレス(又はオリジナルブロックのアドレス)を書き込む際にそのECCを算出して領域105及び領域115に記録する。また、CPU11は、各ブロックからデータを読み出す際に、上記各ブロックに記録したECCによりエラー訂正処理を行う。このCPU11によるECCを利用したエラー訂正処理の説明は、以下省略する。
【0019】
以下、図1に示したデータ記録制御装置1の各機能的構成部について詳細に説明する。
【0020】
CPU(Central Processing Unit)11は、ROM15に記憶されているOSを含むシステムプログラム及び当該システムに対応する各種アプリケーションプログラムをRAM14内に形成されたワークメモリに展開し、該システムプログラムに従って各部を制御する。また、入力部12や伝送制御部16から入力される各種指示あるいはデータをRAM14内に一時的に格納し、この入力指示及び入力データに応じてROM15内に格納されたアプリケーションプログラムに従って各種処理を実行し、その処理結果をRAM14内に一時的に格納する。そして、RAM14に格納した処理結果を入力部12からの入力指示に従ってROM15内の保存先に保存する。
【0021】
具体的には、CPU11は、ROM15に記憶されたデータ編集処理プログラム、編集対象データ読出処理1用プログラム、及び編集内容書込処理1用プログラムを読み出してRAM14内のワークメモリに展開し、後述するデータ編集処理、編集対象データ読出処理1、及び編集内容書込処理1を実行し、それらの処理結果をRAM14内のワークメモリに記憶するとともに表示部12に表示させる。
【0022】
CPU11は、入力部12からデータ編集処理プログラムを起動する指示が入力されると、データ編集処理を実行する。CPU11は、データ編集処理において、データ編集対象のファイルを選択するためのファイル指定用メニュー(図示省略)を表示部13に表示し、入力部12から指定されたファイルを開き、ファイル内のデータを編集するためのファイル編集画面(図示省略)を表示部13に表示する。CPU11は、ファイル編集画面において選択された編集対象データが入力部12を介して入力されると、後述する編集対象データ読出処理1を実行した後、読み出した編集対象データの編集処理を実行し、入力部12からの指示入力により編集処理の内容が確定されると、後述する編集内容書込処理1を実行する。
【0023】
CPU11は、編集対象データ読出処理1において、指定された編集対象データが記録された不揮発性メモリ17Aの記録領域のブロック100のデータを検索して、このブロックの代替ブロック指定領域104内に代替ブロックを指定するデータが記録されているか否かを判別する。CPU11は、代替ブロック指定領域104において代替ブロックを指定するデータが記録されていれば、指定された代替ブロック110を検索し、そのデータ領域111に記録された実データを編集対象データとして読み出す。一方、CPU11は、代替ブロックを指定するデータが代替ブロック指定領域104に記録されていないと判別すると、ブロック100のデータ領域101から実データを編集対象データとして読み出す。
【0024】
CPU11は、編集対象データ読出処理1において読み出した実データ(以下、編集対象データという)に編集処理を施して編集処理済データを生成する。次いで、編集内容書込処理1において、編集対象データが記録されていたブロック100の書込回数カウント領域103から書込回数のカウント値を読み出すとともに、代替ブロック指定領域104から代替ブロックのアドレスを読み出す。CPU11は、読み出した書込回数のカウント値をROM15に予め記憶されたカウント閾値と比較して、カウント値がカウント閾値未満であれば、ブロック100のデータ領域101に編集処理済データを記録し、書込回数カウント領域103のカウント値を1加算する。
【0025】
また、CPU11は、編集内容書込処理1において、ブロック100への書込回数のカウント値がカウント閾値以上である場合には、代替ブロック指定領域104において代替ブロックを指定するデータが記録されていれば、指定された代替ブロック110のデータ領域111に編集処理済データを記録する。一方、代替ブロックを指定するアドレスが記録されていなければ、不揮発性メモリ17Aの代替記録領域からデータが記録されていない代替ブロック110を探索してブロック100の代替ブロックに指定し、この代替ブロック110のオリジナルブロック指定領域114にブロック100のアドレスを記録する。
【0026】
入力部12は、カーソルキー、数字入力キー及び各種機能キー等を備えたキーボード及びマウス等のポインティングデバイスにより構成され、キーボードにおいて押下されたキーの押下信号やマウスの位置信号をCPU11に出力する。
【0027】
表示部13は、LCD(Liquid Crystal Display)等により構成され、CPU11から入力される表示信号の指示に従って、CPU11により処理中のデータや処理結果のデータ等を表示する。
【0028】
RAM(Random Access Memory)14は、CPU11により実行制御される各種処理において、ROM15から読み出されたプログラム、入力または出力データ、及びパラメータ等の一時的な格納領域を形成する。
【0029】
ROM(Read Only Memory)15は、CPU11が前記各種プログラムを実行する際に使用するプログラムやデータ等が予め記憶されている。具体的には、ROM15は、図2に示すような各種処理プログラムを記憶しており、アプリケーションプログラムとしてデータ編集処理プログラム、編集対象データ読出処理1用プログラム、編集内容書込処理1用プログラム等を記憶する。このほかに、ROM15は、書込回数を制限するカウント閾値を記憶する。
【0030】
なお、ROM15に記憶されたプログラム、データ等は、その一部若しくは全部を外部機器からLAN(Local Area Network)、WAN(Wide Area Network)等の図示しない通信ネットワークを介して伝送制御部19から受信して格納する構成にしてもよい。
【0031】
印字装置16は、図示しない画像形成部、転写部、定着部、給紙部等を備え、CPU11から入力されるデータを記録紙に印字出力する。
【0032】
不揮発性メモリドライブ17は、メモリ用インターフェイスであり、不揮発性の半導体メモリである不揮発性メモリ17Aとデータ記録制御装置1との間のデータの送受信を仲介する。
【0033】
HDD(Hard Disk Drive)18は、ハードディスク18Aとデータ記録制御装置1とのデータの送受信を仲介するインターフェイスである。
【0034】
伝送制御部19は、図示しない通信ネットワークを介して、外部機器との通信を行うためのネットワークカード、モデム、TA(Terminal Adapter)、ルータ等によって構成される。
【0035】
次に、第1の実施の形態における動作を説明する。
CPU11によるメインの処理であるデータ編集処理と、データ編集処理内で実行される編集対象データ読出処理1及び編集内容書込処理1について、図5〜図7のフローチャートを参照して説明する。
【0036】
ここで、これらのフローチャートに記述されている各機能を実現するためのプログラムは、読み取り可能なプログラムコードの形態でROM15に格納されており、CPU11はこのプログラムコードに従った動作を逐次実行する。また、CPU11は、伝送媒体を介して伝送されてきた上述のプログラムコードに従った動作を逐次実行することもできる。すなわち、ROM15の他、伝送媒体を介して外部供給されたプログラムやデータを利用して本実施の形態に特有の動作を実行することもできる。
【0037】
図5は、CPU11により実行されるデータ編集処理を示すフローチャートである。図5に示すデータ編集処理において、CPU11はファイル指定用メニュー(図示省略)を表示部13に表示させる(ステップS1)。次いで、入力部12からの指示入力によってファイルが指定されたか否かを判別し(ステップS2)、ファイルが指定されなければ(ステップS2;NO)、ステップS1に戻り、ファイルが指定されると(ステップS2;YES)、指定されたファイルが記録されたブロックを不揮発性メモリ17Aから検索し、RAM14に展開し(ステップS3)、ステップS4に移行する。
【0038】
次いで、CPU11は、ファイル編集画面(図示省略)を表示部13に表示して(ステップS4)、入力部12からの指示入力によって編集対象データが指定されたか否かを判別する(ステップS5)。CPU11は、編集対象データが指定されなければ(ステップS5;NO)、ステップS4に戻り、編集対象データが指定されると(ステップS5;YES)、後述する編集対象データ読出処理1を実行し(ステップS6)、続いて編集対象データの編集処理を実行し、編集処理済データを生成する(ステップS7)。
【0039】
上記ステップS7の編集処理の終了後に、CPU11は入力部12からの指示入力により編集内容が確定されたか否かを判別し(ステップS8)、確定されなければ(ステップS8;NO)、ステップS7に戻り、編集内容が確定されると(ステップS8;YES)、後述する編集内容書込処理1を実行して編集処理済データを不揮発性メモリ17Aに記録し、データ編集処理を終了する。
【0040】
図6は、上記データ編集処理内でCPU11により実行される編集対象データ読出処理1を示すフローチャートである。図6に示す編集対象データ読出処理1において、CPU11は、編集対象データが記録された不揮発性メモリ17Aの記録領域のブロック100を読み出し、このブロックの代替ブロック指定領域104内のデータを読み出して(ステップS11)、代替ブロック110を指定するデータの有無を判別する(ステップS12)。
【0041】
CPU11は、代替ブロック指定領域104内に代替ブロック110を指定するデータが記録されていないと判別すると(ステップS12;NO)、ブロック100のデータ領域101に記録された実データを読み出す(ステップS13)。一方、代替ブロック指定領域104に代替ブロックを指定するデータが記録されていると判別すると(ステップS12;YES)、CPU11は不揮発性メモリ17Aから代替ブロック110を検索してそのデータ領域111から実データを読み出す(ステップS14)。
【0042】
図7は、データ編集処理内でCPU11により実行される編集内容書込処理1を示すフローチャートである。なお、この図7に示す編集内容書込処理1の説明においては、編集対象データに対応するブロック100のアドレスをA0、A0のブロックの代替ブロック110のアドレスをA1、代替記憶領域内のデータが記録されていない任意の空きブロックのアドレスをA2とする。
【0043】
図7に示す編集内容書込処理1において、CPU11は、編集対象データが記録された不揮発性メモリ17A内のアドレスがA0である場合に(ステップS21)、アドレスA0のブロック100の書込回数カウント領域103及び代替ブロック指定領域104に記録されたデータを読み出して(ステップS22)、書込回数カウント領域103から読み出したカウント値を、ROM15に記憶されたカウント閾値未満であるか否かを判別し(ステップS23)、書込回数のカウント値がカウント閾値未満であれば(ステップS23;YES)、アドレスA0のブロック100のデータ領域101に編集処理済データを記録し、書込回数カウント領域103のカウント値を1加算して(ステップS24)、編集内容書込処理1を終了する。
【0044】
一方、CPU11は、ステップS23においてアドレスA0のブロックの書込回数のカウント値がカウント閾値未満ではないと判別すると(ステップS23;NO)、ブロック100の代替ブロック指定領域104に代替ブロックを指定するデータがあるか否かを判別する(ステップS25)。ここで、CPU11は、代替ブロックを指定するデータ(アドレスA1)があると判別すると(ステップS25;YES)、アドレスA1の代替ブロック110を読み出して(ステップS26)、アドレスA1の代替ブロック110のデータ領域111に編集処理済データを記録して(ステップS27)、編集内容書込処理1を終了する。
【0045】
一方、CPU11は、ステップS25においてアドレスA0のブロック100の代替ブロック指定領域104において代替ブロックを指定するデータが記録されていないと判別すると(ステップS25;NO)、不揮発性メモリ17Aの代替記録領域からデータが記録されていない空きブロックを探索する(ステップS28)。
【0046】
続いて、CPU11は、アドレスA2の空きブロックをアドレスA0のブロック100の代替ブロックに指定して、アドレスA0のブロック100の代替ブロック指定領域104にアドレスA2を記録する(ステップS29)。次いで、アドレスA2の代替ブロック110のデータ領域111に編集済データを記録して(ステップS30)、編集内容書込処理1を終了する。
【0047】
以上説明したように、第1の実施の形態のデータ記録制御装置1によれば、CPU11は、不揮発性メモリ制御プログラムによって不揮発性メモリ17Aに記録領域と代替記録領域とを設定し、記録領域のブロックにおけるデータ書込回数が閾値に達すると、このブロックに記録されたデータを代替記録領域の代替ブロックに記録するため、不揮発性メモリ17Aに対して効率良くデータを記録して、不揮発性メモリ17Aの使用期間を延ばすとともにその大容量化を可能にする。また、これにより不揮発性メモリを始めとする書込回数に制限がある記録媒体の普及を促進することができる。
【0048】
なお、本第1の実施の形態においては、代替ブロック110については書込回数のカウント値を記録する領域を設けていないが、代替ブロック110についても書込回数カウント領域を設け、カウント値がカウント閾値に達した場合に、不揮発性メモリ17Aの交換を促すガイダンスを表示部13に表示したり、代替ブロック110に記録されたデータのバックアップデータをROM15内に保存してもよい。これにより、データの損失をより確実に防止することができる。
【0049】
〔第2の実施の形態〕
本第2の実施の形態では、データ記録制御装置1は第1の実施の形態において図1のブロック図を参照して説明した構成と略同様であるため、同一の構成部分には同一の符号を付し、重複する説明は省略する。
【0050】
ただし、第2の実施の形態では、図1のCPU11は、図2の不揮発性メモリ制御プログラムを利用して図3に示すように記録領域と代替記録領域とを設定せず、図8に示すように不揮発性メモリ17A全体をOSによる認識が可能な記録領域に設定する。
【0051】
また、第2の実施の形態において、CPU11は、不揮発性メモリ制御プログラムを利用して、図9に示すブロック管理テーブルを作成し、RAM14に保存することによって不揮発性メモリ17A内の各ブロックのデータを管理する。図9に示すように、ブロック管理テーブルには、不揮発性メモリ17A内のアドレスと、ブロック名と、ユーザが指定可能なファイル名と、データ書込回数のカウント値と、各ブロックに記録された実データと、代替ブロック名とが対応付けて記憶されている。
【0052】
ここで、本実施の形態においては、不揮発性メモリ17A内の各ブロックは、図4(a)のブロック100と同様のデータ構成を有する。第1の実施の形態と異なる点は、例えば、不揮発性メモリ17A内の任意のブロックXにおいてデータ記録回数がカウント閾値に達した場合に、CPU11はデータ記録回数がカウント閾値に達していない他のブロックYを探索し、これらの2ブロックのデータを入れ替える。このとき、CPU11は、ブロックXの代替ブロック指定領域にブロックYのアドレスを記録し、ブロックYの代替ブロック指定領域にブロックXのアドレスを記録する。即ち、代替ブロックは予め決められたものではなく、記録されたデータを入れ替えるブロック同士が互いに代替ブロックとなる。
【0053】
なお、本実施の形態における不揮発性メモリ17Aの各ブロックのデータ構成は、第1の実施の形態と同様のデータ構成(図4(a)参照)であるものとして以下の説明を行うが、図10に示すように、書込回数カウント領域103に代わって書込回数チェック領域を設けてもよい。この場合には、図10の書込回数チェック領域123には、データ領域121にデータを書き込む毎にビットパターンを記録してゆき、ビットパターンの書込回数が所定回数になるとパターンが変化するように構成する。そして、CPU11はパターンの変化を検出することによりこのブロックにおけるデータの書込みを制限する。
【0054】
以下、図1を参照して、本実施の形態におけるデータ記録制御装置1の機能的構成を説明する。
【0055】
本実施の形態におけるCPU11は、具体的には、ROM15に記憶されたデータ編集処理プログラム、編集対象データ読出処理2用プログラム、編集内容書込処理2用プログラム、更新処理プログラム、交換戻し処理プログラム、交換処理プログラムを読み出してRAM14内のワークメモリに展開し、後述するデータ編集処理、編集対象データ読出処理2、編集内容書込処理2、更新処理、交換戻し処理、交換処理を実行し、それらの処理結果をRAM14内のワークメモリに記憶するとともに表示部12に表示させる。また、CPU11は、データ編集処理の実行回数の累計と、不揮発性メモリ17A野全ブロックのうちデータ書込回数が最も多いブロックの書込回数カウント値Cmaxと、データ書込回数が最も少ないブロックの書込回数カウント値CminとをRAM14に記憶させる。
【0056】
CPU11は、データ編集処理において、第1の実施の形態と略同様の処理を実行するため、その詳細な説明は省略する。ただし、本実施の形態では、CPU11は編集対象データ読出処理1の代わりに後述する編集データ読出処理2を、また編集内容書込処理1の代わりに後述する編集内容書込処理2を実行する。
【0057】
CPU11は、編集対象データ読出処理2において、編集対象データが記録されたブロックを読み出し、このブロックの代替ブロック指定領域において代替ブロックを指定するデータがなければこのブロックのデータ領域から実データを読み出す。一方、代替ブロック指定領域104に代替ブロックを指定するデータがあれば、代替ブロックを読み出してそのデータ領域から実データを読み出す。また、実データを読み出したブロックの書込回数カウント領域からカウント値Cを読み出して、RAM14内に記憶されたカウント値Cmaxと比較し、カウント値CがCmaxより大きければ、カウント値CによってRAM14内のCmaxを更新する。一方、カウント値CをRAM14内に記憶されたカウント値Cminと比較し、カウント値Cがカウント値Cminよりも小さければ、カウント値CによってRAM14内のカウント値Cminを更新する。
【0058】
CPU11は、編集内容書込処理2において、データ編集処理の実行回数が100の倍数であれば後述する更新処理を実行し、100の倍数でなければ更新処理を省略して、データ編集処理における編集対象データが記録された不揮発性メモリ17A内のブロックを読み出す。次いで、この読み出したブロックの代替ブロック指定領域において代替ブロックを指定するデータがなければ、このブロックのデータ領域に編集処理済データを記録するとともに書込回数カウント領域のカウント値Cを1加算する。一方、読み出したブロックのデータ領域に代替ブロックを指定するデータがあると、代替ブロックを読み出してそのデータ領域に編集処理済データを記録するとともに書込回数カウント領域のカウント値Cを1加算する。
【0059】
また、CPU11は、編集内容書込処理2において、編集処理済データを記録したブロックのカウント値CがRAM14内に記憶されたカウント値Cmaxよりも大きければ、カウント値Cによってカウント値Cmaxを更新し、カウント値Cがカウント値Cminよりも小さければ、カウント値Cによってカウント値Cminを更新する。
【0060】
CPU11は、更新処理において、RAM14に記憶されたカウント値Cmax及びカウント値Cminとの差が、ROM15に記憶されたカウント差閾値未満ではない場合に、カウント値Cmaxのブロックのデータを読み出し、このブロックの代替ブロック指定領域において代替ブロックを指定するデータがあれば、後述する交換戻し処理を実行する。次いで、CPU11は、カウント値Cminのブロックのデータを読み出し、このブロックの代替ブロック指定領域において代替ブロックを指定するデータがあれば、後述する交換戻し処理を行う。次にCPU11は、後述する交換処理を実行して更新処理を終了する。
【0061】
CPU11は、交換戻し処理において、図9のブロック管理テーブルを参照して、実データが記録されていない空きブロックを探索し、この空きブロックを利用して、交換戻しの対象となるブロック及びその代替ブロックに記録された実データを交換することにより、実データを元のブロックに戻す。
【0062】
ここで、図11(a)を参照して、交換戻し処理の例を説明する。図11(a)に示すように、交換戻し処理の対象となるカウント値Cmax又はカウント値CminのブロックB1は、代替ブロックとしてブロックB2が設定されており、ブロックB1の実データD1とブロックB2の実データD2とが入れ替えて記録されており、ブロックB1の代替ブロック指定領域にはB2が、またブロックB2の代替ブロック指定領域にはB1が記録されている。CPU11は、ブロックB2に記録された実データD1を空きブロックAaのデータ領域に移し、ブロックAaの代替ブロック指定領域にB1を記録し、ブロックB2の代替ブロック指定領域をクリアする。
【0063】
次いで、CPU11は、空になったブロックB2のデータ領域にブロックB1に記録された実データD2を移し、ブロックB1の代替ブロック指定領域をクリアする。続いて、CPU11は、空になったブロックB1のデータ領域にブロックAaのデータ領域に記録された実データD1を移す。これにより、ブロックB1の実データD1及びブロックB2の実データD2が元のブロックに戻される。
【0064】
CPU11は、交換処理において、交換戻し処理において実データが元のブロックに戻されたカウント値Cmaxのブロックとカウント値Cminのブロックとに記録された実データを交換する。
【0065】
ここで、図11(b)を参照して、交換処理の例を説明する。図11(b)に示すように、カウント値CmaxのブロックB1のデータ領域には実データD1が、またカウント値CminのブロックB2のデータ領域には実データD2が記録されている。CPU11は、図9のブロック管理テーブルを参照して、データが記録されていない空きブロックAaを探索する。次いで、ブロックB1の実データD1をブロックAaのデータ領域に移し、ブロックAaの代替ブロック指定領域にB1を記録し、ブロックB1の代替ブロック指定領域にAaを記録する。
【0066】
続いて、CPU11は、ブロックB2の実データD2をブロックB1のデータ領域に移してブロックB2の代替ブロック指定領域にB1を記録し、ブロックB1の代替ブロック指定領域にB2を記録する。次いで、ブロックAaのデータ領域に記録した実データD1をブロックB2のデータ領域に移し、ブロックAaの代替ブロック指定領域のデータをクリアし、ブロックB2の代替ブロック指定領域にB1を記録する。このようにして、書込回数が最多のブロックと最少のブロックとに記録された実データが交換される。
【0067】
以下、図12を参照して、CPU11による更新処理において実行されるカウント値Cmaxのブロックの交換戻し処理、カウント値Cminのブロックの交換戻し処理及びこれらの交換戻し処理後に実行される交換処理までの一連の処理手順の例を説明する。
【0068】
図12に示すように、CPU11は、まず1回目の交換戻し処理において、カウント値CmaxのブロックB1及びその代替ブロックB2に記録された実データを、空きブロックAaを利用することにより元のブロックに戻し、ブロックB1及びB2の代替ブロック指定領域のデータをクリアする。また、ブロックB1の書込回数のカウント値40,000に1を加算して40,001に更新し、ブロックB2のカウント値30,000に1を加算して30,001に更新する。
【0069】
次いで、CPU11は2回目の交換戻し処理において、カウント値CminのブロックB3及びその代替ブロックB4に記録された実データを、上記と同様の手順で元のブロックに戻し、ブロックB3及びB4の代替ブロック指定領域のデータをクリアする。また、ブロックB3の書込回数のカウント値10,000に1を加算して10,001に更新し、ブロックB4の書込回数のカウント値20,000に1を加算して20,001に更新する。
【0070】
次に、CPU11は、上記の2回の交換戻し処理後、カウント値CmaxのブロックB1に記録された実データD1及びカウント値CminのブロックB3に記録された実データD3を交換する。このように、CPU11は、書込頻度が高いブロックに記録されたデータを書き込み頻度が低いブロックのデータと交換し、特定のブロックに対するデータ書込みが集中することを防ぐ。
【0071】
ROM15は、具体的には、図2に示すような各種処理プログラムを記憶しており、データ編集処理プログラム、編集対象データ読出処理2用プログラム、編集内容書込処理2用プログラム、更新処理プログラム、交換戻し処理プログラム、交換処理プログラム等のアプリケーションプログラムを記憶する。また、RAM14は、CPU11によるデータ編集処理の実行回数の累計、不揮発性メモリ17Aのブロックのうちデータ書込回数が最多のブロックにおける書込回数のカウント値Cmax、データ書込回数が最少のブロックにおける書込回数のカウント値であるカウント値Cmin、カウント差閾値等を記憶する。
【0072】
次に、第2の実施の形態における動作を説明する。
CPU11によるデータ編集処理において実行される編集対象データ読出処理2、編集内容書込処理2、更新処理、交換戻し処理、交換処理について、図13〜図17のフローチャートを参照して説明する。
【0073】
図13は、CPU11による編集対象データ読出処理2を示すフローチャートである。CPU11は、図13に示す編集対象データ読出処理2において、編集対象データが記録された不揮発性メモリ17A内のブロックを検索し、このブロックの代替ブロック指定領域内のデータを読み出し(ステップS101)、代替ブロックが指定されいるか否かを判別する(ステップS102)。
【0074】
ステップS102において、代替ブロックが指定されていない場合には(ステップS102;NO)、ステップS101で検索したブロックのデータ領域に記録された実データと書込回数カウント領域に記録されたカウント値Cとを読み出して(ステップS103)、ステップS105に移行する。一方、ブロックの代替ブロック指定領域において代替ブロックが指定されている場合には(ステップS102;YES)、指定された代替ブロックのデータ領域に記録された実データと書込回数カウント領域に記録されたカウント値Cとを読み出して(ステップS104)、ステップS105に移行する。
【0075】
ステップS105において、CPU11は、上記ステップS103又はS104において読み出したデータ書込回数のカウント値CがRAM14に記録されたカウント値Cmaxを超えるか否かを判別し、カウント値Cがカウント値Cmaxを超える場合には(ステップS105;YES)、カウント値CによりRAM14内に記憶されたカウント値Cmaxをカウント値Cによって更新し(ステップS106)、編集対象データ読出処理2を終了する。
【0076】
一方、ステップS105において、CPU11は、カウント値Cがカウント値Cmaxを超えない場合には(ステップS105;NO)、カウント値CがRAM14に記憶されたカウント値Cmin未満であるか否かを判別し(ステップS107)、カウント値Cがカウント値Cmin未満である場合には(ステップS107;YES)、カウント値Cによりカウント値Cminを更新し、カウント値Cがカウント値Cmin未満ではない場合には(ステップS107;NO)、そのまま編集対象読出処理2を終了する。
【0077】
図14は、編集内容書込処理2を示すフローチャートである。図14に示すように、CPU11は、RAM14に記憶されたデータ編集処理の実行回数が100の倍数であるか否かを判別し(ステップS111)、100の倍数ではないと判別すると(ステップS111;NO)、ステップS113に移行し、100の倍数であれば(ステップS111;YES)、更新処理を実行して(ステップS112)、ステップS113に移行する。
【0078】
次に、CPU11は、不揮発性メモリ17Aから編集対象データのブロックA0のデータを読み出し(ステップS113)、書込回数カウント領域及び代替ブロック指定領域内のデータを読み出した後(ステップS114)、代替ブロックを指定するデータの有無を判別する(ステップS115)。
【0079】
ステップS115において、代替ブロックを指定するデータがなければ(ステップS115;NO)、ステップS113で読み出したブロックのデータ領域に編集処理済データを記録するとともに、このブロックの書込回数カウント領域のカウント値Cを1加算して(ステップS116)、ステップS118に移行する。一方、ステップS115において、代替ブロックを指定するデータがあれば(ステップS115;YES)、指定された代替ブロックを読み出し、そのデータ領域に編集処理済データを記録し、このブロックの書込回数カウント領域のカウント値Cを1加算して(ステップS117)、ステップS118に移行する。
【0080】
続いて、CPU11は、ステップS116又はS117において編集処理済データを書き込んだブロックのカウント値Cを、RAM14に記憶されたカウント値Cmaxを超えるか否かを判別し(ステップS118)、カウント値Cがカウント値Cmaxを超えていれば(ステップS118;YES)、カウント値Cによってカウント値Cmaxを更新して(ステップS119)、編集内容書込処理2を終了する。
【0081】
一方、CPU11は、ステップS118においてカウント値Cがカウント値Cmax以下であれば(ステップS118;NO)、カウント値CがRAM14に記憶されたカウント値Cmin未満であるか否かを判別し(ステップS120)、カウント値Cがカウント値Cmin未満でなければ(ステップS120;NO)、そのまま編集内容書込処理2を終了する。一方、カウント値Cがカウント値Cmin未満であれば(ステップS120;YES)、カウント値Cによってカウント値Cminを更新し(ステップS121)、編集内容書込処理を終了する。
【0082】
図15は、CPU11による編集内容書込処理2において実行される更新処理を示すフローチャートである。図15に示すように、CPU11は、RAM14内に記憶されたカウント値Cmax及びカウント値Cminの差が、ROM15に記憶されたカウント差閾値未満であるか否かを判別し(ステップS122)、カウント差閾値未満であれば(ステップS122;YES)、そのまま更新処理を終了する。一方、カウント値Cmax及びカウント値Cminの差がカウント差閾値未満ではない場合には(ステップS122;NO)、カウント値Cmaxのブロックを読み出すとともに、その代替ブロック指定領域内のデータを読み出す(ステップS123)。
【0083】
次いで、CPU11は、カウント値Cmaxのブロックの代替ブロック指定領域において代替ブロックが指定されているか否かを判別し(ステップS124)、代替ブロックが指定されていなければ(ステップS124;NO)、ステップS126に移行し、代替ブロックが指定されていると(ステップS124;YES)、カウント値Cmaxのブロックの交換戻し処理を実行して(ステップS125)、ステップS126に移行する。
【0084】
次に、CPU11は、カウント値Cminのブロックのデータを読み出すとともにその代替ブロック指定領域内のデータを読み出して(ステップS126)、代替ブロックを指定するデータの有無を判別する(ステップS127)。CPU11は、代替ブロックを指定するデータがなければ(ステップS127;NO)、ステップS129に移行し、代替ブロックを指定するデータがあると(ステップS127;YES)、カウント値Cminのブロックの交換戻し処理を実行して(ステップS128)、ステップS129に移行する。続いて、CPU11は、カウント値Cmaxのブロックとカウント値Cinのブロックのデータを交換する交換処理を実行して(ステップS129)、更新処理を終了する。
【0085】
図16は、CPU11による更新処理において実行される交換戻し処理を示すフローチャートである。図16に示すように、CPU11は、交換戻し処理の対象となるブロック(ここでは、ブロックA1とする)のデータと、その代替ブロック(ブロックA2とする)のデータとを読み出す(ステップS131)。次いで、CPU11は、図9に示すブロック管理テーブルを参照して空きブロックを探索し(ステップS132)、ブロックAaを取得する(ステップS133)。
【0086】
次いで、CPU11は、ブロックAaのデータ領域にブロックA2に記録された実データD1を記録し、ブロックAaの代替ブロック指定領域にA1を記録して書込回数カウント領域のカウント値Cを1加算する(ステップS134)。また、CPU11は、ブロックA2の代替ブロック指定領域のデータをクリアする(ステップS135)。
【0087】
続いて、CPU11は、ブロックA1のデータ領域に記録された実データD2をブロックA2のデータ領域に移し、ブロックA1の代替ブロック指定領域のデータをクリアする(ステップS136)。次に、CPU11は、ブロックAaのデータ領域に記録した実データD1をブロックA1のデータ領域に移し、ブロックA1の書込回数カウント領域のカウント値を1加算する(ステップS137)。そして、ブロックAaの代替ブロック指定領域のデータをクリアして(ステップS138)、交換戻し処理を終了する。
【0088】
図17は、CPU11による更新処理において実行される交換処理を示すフローチャートである。図17に示すように、CPU11は、交換戻し処理済みのカウント値Cmaxのブロック(ここでは、ブロックA1とする)及びカウント値Cminのブロック(ブロックA2とする)のデータを不揮発性メモリ17Aから読み出す(ステップS141)。次いで、CPU11は、図9のブロック管理テーブルを参照して不揮発性メモリ17A内の空きブロックを探索し(ステップS142)、空きブロック(ブロックAaとする)を取得する(ステップS143)。
【0089】
続いて、CPU11は、ブロックA1に記録された実データD1をブロックAaのデータ領域に移し、ブロックAaの代替ブロック指定領域にA1を記録し、ブロックAaの書込回数カウント領域のカウント値Cを1加算する(ステップS144)。次に、CPU11は、A1の代替ブロック指定領域にAaを記録した後(ステップS145)、ブロックA2に記録された実データD2をブロックA1のデータ領域に移し、ブロックA1の代替ブロック指定領域にA2を記録し、ブロックA1の書込回数カウント領域のカウント値を1加算する(ステップS146)。
【0090】
次に、CPU11は、ブロックAaに記録された実データD1をブロックA2のデータ領域に移し、ブロックA2の代替ブロック指定領域にA1を記録し、ブロックA2の書込回数カウント領域のカウント値を1加算する(ステップS147)。次いで、CPU11は、ブロックAaの代替ブロック指定領域のデータをクリアして(ステップS148)、交換処理を終了する。
【0091】
以上説明したように、第2の実施の形態のデータ記録制御装置1によれば、CPU11は、書込回数カウント値が最多のブロック及び最少のブロックのカウント値の差がカウント差閾値に達すると、不揮発性メモリ17Aの空きブロックを利用してこれらのブロックのデータを入れ替えるため、不揮発性メモリ17A内において部分的にデータ書込が頻発することを防止できる。このため、不揮発性メモリ17Aにおけるデータの消失を防ぎ、大容量化を可能にする。また、これにより、不揮発性メモリを始めとする書込回数に制限がある記録媒体の長寿命化を実現するとともにハードディスク装置の代替として使用できるようにすることができる。
【0092】
なお、上記第2の実施の形態においては、編集内容書込処理2において、データ編集処理の実行回数が100の倍数のときに更新処理を実行することとしたが、更新処理の実行頻度はこれに限定されないが、編集内容書込処理2を実行する毎に毎回更新処理を行うのではなく、CPU11による他の処理の妨げにならないように頻度を設定し、定期的に更新処理を実行することが望ましい。
【0093】
また、上記第2の実施の形態においては、データが記録されていない空きブロックを利用して任意のブロックから他のブロックにデータを移動する例を説明したが、これは例えば停電等が発生した場合に移動中のデータが失われることを防ぐためである。この他に、例えば空きブロックを利用せずに、移動させるデータをRAM14に一時記憶させてデータの移動を行ってもよい。
【0094】
更に、上記第2の実施の形態では、交換処理においてデータの書込回数カウント値が最多と最少のブロックのデータを入れ替えたが、これに限らず、データの書込みが頻発するブロックとそれよりも書込頻度が低いブロックのデータを入れ替えることによって不揮発性メモリ17Aにおける部分的なデータ書込が集中することを防止してデータの消失を防ぐことができる。
【0095】
その他、データ記録制御装置1を構成する各部の細部構成、及び細部動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【0099】
【発明の効果】
請求項1又は2記載の発明によれば、記録媒体内のデータ記録領域毎のデータ記録回数を平均化することができ、記録媒体の使用期間を延ばすことができる。また、これにより、書込回数に制限がある記録媒体の長寿命化を実現するとともにハードディスク装置の代替として使用できるようにすることができる。また、記録媒体内のデータ記録領域毎のデータ記録回数を平均化する処理を実行する際に、代替ブロックのアドレスを参照することにより空きブロックを介しているので、停電等が発生した場合に移動中のデータが失われることを防ぐことができる。
【図面の簡単な説明】
【図1】本発明を適用した第1及び第2の実施の形態によるデータ記録制御装置1の機能的構成を示すブロック図である。
【図2】図1のROM15に記憶された各種プログラムの階層構造を模式的に示す図である。
【図3】第1の実施の形態における図1の不揮発性メモリ17Aの構成を示す図である。
【図4】(a)は、図1の不揮発性メモリ17Aの記録領域の1ブロックのデータ構成例を示す図であり、(b)は、代替記録領域の1ブロックのデータ構成例を示す図である。
【図5】第1及び第2の実施の形態における図1のCPU11によるデータ編集処理を示すフローチャートである。
【図6】第1の実施の形態における図1のCPU11による編集対象データ読出処理1を示すフローチャートである。
【図7】第1の実施の形態における図1のCPU11による編集内容書込処理1を示すフローチャートである。
【図8】第2の実施の形態における図1の不揮発性メモリ17Aの構成を示す図である。
【図9】第2の実施の形態において図1のROM15に記憶されたブロック管理テーブルを示す図である。
【図10】図1の不揮発性メモリ17Aの記録領域の1ブロックの図4(a)とは異なるデータ構成例を示す図である。
【図11】(a)は、第2の実施の形態における図1のCPU11による交換戻し処理の手順を示す図であり、(b)はCPU11による交換処理の手順を示す図である。
【図12】第2の実施の形態における図1のCPU11による更新処理において、交換戻し処理を2回実行した後に交換処理を実行する場合の手順を示す図である。
【図13】第2の実施の形態における図1のCPU11による編集対象データ読出処理2を示すフローチャートである。
【図14】第2の実施の形態における図1のCPU11による編集内容書込処理2を示すフローチャートである。
【図15】第2の実施の形態における図1のCPU11による更新処理を示すフローチャートである。
【図16】第2の実施の形態における図1のCPU11による交換戻し処理を示すフローチャートである。
【図17】第2の実施の形態における図1のCPU11による交換処理を示すフローチャートである。
【符号の説明】
1 データ記録制御装置
11 CPU
12 入力部
13 表示部
14 RAM
15 ROM
16 印字装置
17 不揮発性メモリドライバ
17A 不揮発性メモリ
18 HDD
18A ハードディスク
19 伝送制御部
20 バス
Claims (2)
- 1以上のブロックから構成される不揮発性の記録媒体へのアクセスを制御するデータ記録制御装置であって、
前記記録媒体内の指示されたブロックに、データとそのデータの書込回数及びそのデータを所定の条件の時に代替として書き込むための代替ブロックのアドレスを記録するデータ記録手段と、
前記ブロック毎に記録された前記書込回数の中から抽出した大きい書込回数と小さい書込回数との差を算出し、その差が予め設定された閾値に達したか否かを比較する比較手段と、
前記比較手段により前記大きい書込回数と小さい書込回数との差が前記閾値に達したと判断された場合に、前記大きい書込回数を持つブロックと前記小さい書込回数を持つブロックとを前記代替ブロックのアドレスを参照することにより空きブロックを介して入れ替えて記録する入替手段と、
を備えることを特徴とするデータ記録制御装置。 - データ記録制御装置のコンピュータを、
記録媒体内の指示されたブロックに、データとそのデータの書込回数及びそのデータを所定の条件の時に代替として書き込むための代替ブロックのアドレスを記録するデータ記録手段、
前記ブロック毎に記録された前記書込回数の中から抽出した大きい書込回数と小さい書込回数との差を算出し、その差が予め設定された閾値に達したか否かを比較する比較手段、
前記比較手段により前記大きい書込回数と小さい書込回数との差が前記閾値に達したと判断された場合に、前記大きい書込回数を持つブロックと前記小さい書込回数を持つブロックとを前記代替ブロックのアドレスを参照することにより空きブロックを介して入れ替えて記録する入替手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002241941A JP4096660B2 (ja) | 2002-08-22 | 2002-08-22 | データ記録制御装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002241941A JP4096660B2 (ja) | 2002-08-22 | 2002-08-22 | データ記録制御装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004079140A JP2004079140A (ja) | 2004-03-11 |
JP4096660B2 true JP4096660B2 (ja) | 2008-06-04 |
Family
ID=32024276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002241941A Expired - Fee Related JP4096660B2 (ja) | 2002-08-22 | 2002-08-22 | データ記録制御装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4096660B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100744122B1 (ko) * | 2006-01-12 | 2007-08-01 | 삼성전자주식회사 | 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치 |
KR100818797B1 (ko) | 2006-10-19 | 2008-04-01 | 삼성전자주식회사 | 메모리 용량 조절 방법과 메모리 용량 조절 장치 |
JP5039463B2 (ja) * | 2007-07-12 | 2012-10-03 | 株式会社日立製作所 | 記録装置および記録方法 |
JP5255389B2 (ja) * | 2008-09-29 | 2013-08-07 | 株式会社日立製作所 | 記憶装置およびメモリ制御方法 |
KR101786027B1 (ko) * | 2009-04-07 | 2017-10-18 | 콘티넨탈 오토모티브 시스템 주식회사 | 자동차의 데이터 저장 방법 |
JP4952740B2 (ja) * | 2009-04-13 | 2012-06-13 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
KR101534540B1 (ko) * | 2011-07-28 | 2015-07-07 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 메모리 이동을 실행하는 방법 및 장치 |
-
2002
- 2002-08-22 JP JP2002241941A patent/JP4096660B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004079140A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5079868B2 (ja) | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 | |
JP4530059B2 (ja) | ディスクアレイ装置、ファームウェア交換方法およびファームウェア交換プログラム | |
KR101251717B1 (ko) | 정보 처리 장치, 정보 처리 장치의 제어 방법 및 기억 매체 | |
JP2007179545A (ja) | 不揮発性メモリをキャッシュとして用いる保存装置及びその管理方法 | |
JP2008250779A (ja) | 暗号機能を備えた記憶制御装置、データ暗号化方法及び記憶システム | |
KR100468882B1 (ko) | 인쇄장치, 그 제어방법 및 정보기록매체 | |
JP2005157739A (ja) | ディスクアレイ装置及びディスクアレイ装置の障害回避方法 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
JP6097845B2 (ja) | 不揮発性キャッシュメモリにデータをバックアップするストレージシステム | |
JP7208000B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP4096660B2 (ja) | データ記録制御装置及びプログラム | |
JP2005346610A (ja) | スナップショットの取得および利用のための記憶システムおよび方法 | |
JP2007001090A (ja) | 画像形成装置のデータバックアップシステム、画像形成装置及びデータバックアップ方法 | |
JP2008123314A (ja) | 半導体記憶装置への情報記録方法及び情報記録システム | |
JP2005174178A (ja) | ディスクアレイ装置及びディスクアレイ装置の保守方法 | |
JP2013041430A (ja) | 画像形成装置、画像形成装置の制御方法 | |
JP2008225672A (ja) | 半導体メモリ装置 | |
US20060055796A1 (en) | Image processing apparatus | |
JP4687556B2 (ja) | 画像処理装置、画像処理装置の制御方法及び制御プログラム | |
JP4577433B2 (ja) | プリンター | |
JP2006126919A (ja) | フラッシュメモリのデータ管理装置およびフラッシュメモリの制御方法 | |
JP5150200B2 (ja) | 情報管理装置 | |
JP2006277320A (ja) | ディスクアレイ装置、ディスクアレイ制御方法及びプログラム | |
JP2008102565A (ja) | 情報処理装置、情報処理プログラムおよび可搬記憶媒体 | |
JP2008059036A (ja) | データ保管装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071009 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080123 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080303 |
|
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: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140321 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |