JP2006323751A - 情報処理装置、寿命監視方法およびプログラム - Google Patents

情報処理装置、寿命監視方法およびプログラム Download PDF

Info

Publication number
JP2006323751A
JP2006323751A JP2005148128A JP2005148128A JP2006323751A JP 2006323751 A JP2006323751 A JP 2006323751A JP 2005148128 A JP2005148128 A JP 2005148128A JP 2005148128 A JP2005148128 A JP 2005148128A JP 2006323751 A JP2006323751 A JP 2006323751A
Authority
JP
Japan
Prior art keywords
flash memory
management table
storage device
unit
rewrite
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.)
Granted
Application number
JP2005148128A
Other languages
English (en)
Other versions
JP4215746B2 (ja
Inventor
Shigeto Tsuburaya
成人 円谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2005148128A priority Critical patent/JP4215746B2/ja
Priority to US11/436,644 priority patent/US7904637B2/en
Publication of JP2006323751A publication Critical patent/JP2006323751A/ja
Application granted granted Critical
Publication of JP4215746B2 publication Critical patent/JP4215746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

【課題】 書換え回数を格納するための格納領域が予め設定されていなくても、フラッシュメモリの劣化を監視することが可能な情報処理装置および寿命監視方法を提供する。
【解決手段】 判断部102bは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在するか否かを判断する。累計書換え回数管理テーブル22bがフラッシュメモリ22に存在しない場合、作成部102cは、累計書換え回数管理テーブル22bをフラッシュメモリ22に作成し、記録部102eは、その作成された累計書換え回数管理テーブル22bに累計書換え回数を記録する。監視部102fは、ストレージ装置2の寿命を、累計書換え回数管理テーブル22bに記録された累計書換え回数と、フラッシュメモリに記録された書換え回数制限値とに基づいて監視する。
【選択図】 図1

Description

本発明は、情報処理装置、寿命監視方法およびプログラムに関し、特には、フラッシュメモリを含むストレージ装置の寿命を監視する情報処理装置、寿命監視方法およびプログラムに関する。
従来、情報処理装置用のストレージ装置として、ハードディスクドライブ装置がよく用いられていた。
しかしながら、ハードディスクドライブ装置の信頼性は高くない。このため、高い信頼性が要求されるシステムでは、ハードディスクドライブ装置を定期的に交換したり、予備のストレージデバイスを情報処理装置に接続したりして、ハードディスクドライブ装置の信頼性を補完する必要があった。
一方、近年、半導体フラッシュメモリの大容量化および価格低下が実現されている。半導体フラッシュメモリを用いたストレージ装置は、ハードディスクドライブ装置より高い信頼性を有する。このため、現在、半導体フラッシュメモリを用いたストレージ装置が、情報処理装置用のストレージ装置として用いられるようになっている。
しかし、フラッシュメモリは、情報の消去および書換えを繰り返すことにより、記憶素子が劣化するという問題点を有する。
特許文献1(特開2000−57000号公報)には、フラッシュメモリの劣化を監視するフラッシュメモリ内蔵マイクロコンピュータが記載されている。
具体的には、フラッシュメモリと異なる不揮発性メモリに、フラッシュメモリの書換え保証回数と、フラッシュメモリの書換え回数とが記録される。フラッシュメモリの書換え回数が、フラッシュメモリの書換え保証回数を超えると、報知信号が出力される。
また、特許文献2(特開平9−305497号公報)には、フラッシュメモリの劣化をセクタ単位で監視する記録再生装置が記載されている。
具体的には、保証消去回数と累計消去回数とが、セクタごとに、フラッシュメモリに記録される。累計消去回数が保証消去回数を超えると、その旨がマイコンに報告される。
特開2000−57000号公報 特開平9−305497号公報
特許文献1および2に記載の装置では、書換え回数を格納するための格納領域が予め設定されており、その予め設定されている格納領域に書換え回数が格納される。
このため、特許文献1および2に記載の装置では、その格納領域が予め設定されていない場合、書換え回数を格納することができず、その結果、フラッシュメモリの劣化を監視することができない。
本発明の目的は、書換え回数を格納するための格納領域が予め設定されていなくても、フラッシュメモリの劣化を監視することが可能な情報処理装置、寿命監視方法およびプログラムを提供することである。
上記目的を達成するために、本発明の情報処理装置は、書換え回数制限値が記録されたフラッシュメモリを含むストレージ装置と接続され、該フラッシュメモリに書き込まれた情報を書き換え、また、該書換え回数制限値を用いて該ストレージ装置の寿命を監視する情報処理装置であって、累計書換え回数を管理するための管理テーブルが前記フラッシュメモリに存在するか否かを判断する判断部と、前記管理テーブルが前記フラッシュメモリに存在しないと前記判断部が判断すると、前記管理テーブルを前記フラッシュメモリに作成する作成部と、前記情報が書き換えられた回数を示す累計書換え回数を、前記作成部にて作成された管理テーブルに記録する記録部と、前記ストレージ装置の寿命を、前記管理テーブルに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する監視部とを含む。
また、本発明の寿命監視方法は、書換え回数制限値が記録されたフラッシュメモリを含むストレージ装置と接続され、該フラッシュメモリに書き込まれた情報を書き換え、また、該書換え回数制限値を用いて該ストレージ装置の寿命を監視する情報処理装置が行う寿命監視方法であって、累計書換え回数を管理するための管理テーブルが前記フラッシュメモリに存在するか否かを判断する判断ステップと、前記管理テーブルが前記フラッシュメモリに存在しないと判断されると、前記管理テーブルを前記フラッシュメモリに作成する作成ステップと、前記情報が書き換えられた回数を示す累計書換え回数を、前記作成部にて作成された管理テーブルに記録する記録ステップと、前記ストレージ装置の寿命を、前記管理テーブルに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する監視ステップとを含む。
上記の発明によれば、管理テーブルがフラッシュメモリに存在しない場合、管理テーブルがフラッシュメモリに作成され、その作成された管理テーブルに累計書換え回数が記録される。ストレージ装置の寿命は、管理テーブルに記録された累計書換え回数とフラッシュメモリに記録された書換え回数制限値とに基づいて監視される。
このため、書換え回数を格納するための管理テーブルが予め設定されていなくても、ストレージ装置の劣化を監視することが可能となる。
また、前記フラッシュメモリは、複数の格納領域を有し、該格納領域ごとに情報を書換え可能であり、前記累計書換え回数が前記格納領域ごとに前記管理テーブルに記録され、前記ストレージ装置の寿命が、前記管理テーブルに前記格納領域ごとに記録された累計書換え回数と、前記フラッシュメモリに記録された書換え回数制限値と、に基づいて監視されることが望ましい。
上記の発明によれば、格納領域ごとに情報を書換え可能なフラッシュメモリを含むストレージ装置の寿命を監視することが可能になる。
また、前記フラッシュメモリは、前記情報処理装置と接続可能なストレージ装置の型名と、その型名のストレージ装置が含むフラッシュメモリの書換え回数制限値とを、前記型名ごとに関連づけて格納し、かつ、自己を含むストレージ装置の型名を固定的に格納し、また、前記フラッシュメモリから該フラッシュメモリを含むストレージ装置の型名が取得され、その取得されたストレージ装置の型名に関連づけられた書換え回数制限値が前記フラッシュメモリから取得され、その取得された書換え回数制限値と、前記管理テーブルに前記格納領域ごとに記録された累計書換え回数と、に基づいて、前記ストレージ装置の寿命が監視されることが望ましい。
上記の発明によれば、実際に接続されているストレージ装置に応じた書換え制限値を取得することが可能となる。このため、より正確な寿命監視を行うことが可能となる。
また、前記フラッシュメモリは、自己を含むストレージ装置を識別するための識別情報を固定的に格納し、また、前記情報処理装置が起動すると、前記フラッシュメモリから前記識別情報が取得され、前記情報処理装置が起動すると、前記管理テーブルが前記フラッシュメモリに存在するか否かが判断され、前記管理テーブルが前記フラッシュメモリに存在しないと判断されると、前記作成された管理テーブルに、前記取得された識別情報が記録され、前記管理テーブルが前記フラッシュメモリに存在すると判断されると前記管理テーブルから前記識別情報が入手され、その入手された識別情報と前記取得された識別情報とが比較されて、前記フラッシュメモリが置換されたか否かが判定され、前記フラッシュメモリが置換されたと判定されると、前記管理テーブルが消去され、その後、新たな管理テーブルが前記フラッシュメモリに作成されることが望ましい。
上記の発明によれば、例えば、前記ストレージ装置が新しいストレージ装置に置換される際に、前記ストレージ装置に格納されていた情報(ただし、識別情報を除く)が、その新しいストレージ装置に複写された場合、その新しいストレージ装置に複写された累計書換え回数が初期化される。
このため、前記ストレージ装置に格納されていた情報が、その新しいストレージ装置に複写された場合でも、その新しいフラッシュメモリの寿命を高い精度で監視することが可能になる。
また、前記フラッシュメモリに作成された管理テーブルと同じ管理テーブルを格納する不揮発性記憶部をさらに含むことが望ましい。
上記の発明によれば、フラッシュメモリの故障等により、フラッシュメモリに作成された管理テーブルが参照できなくなった場合でも、不揮発性記憶部に格納された管理テーブルを参照することが可能になる。
また、前記書換え回数制限値から前記書換え回数を引いた値が所定値以下になると、警告が発せられることが望ましい。
上記の発明によれば、ストレージ装置が寿命になったことを、ユーザに知らせることが可能になる。
また、本発明のプログラムは、書換え回数制限値が記録されたフラッシュメモリを含むストレージ装置と接続され、該フラッシュメモリに書き込まれた情報を書き換えるコンピュータに、該書換え回数制限値を用いて該ストレージ装置の寿命を監視する寿命監視処理を実行させるプログラムであって、累計書換え回数を管理するための管理テーブルが前記フラッシュメモリに存在するか否かを判断する判断処理と、前記管理テーブルが前記フラッシュメモリに存在しないと判断されると、前記管理テーブルを前記フラッシュメモリに作成する作成処理と、前記情報が書き換えられた回数を示す累計書換え回数を、前記作成部にて作成された管理テーブルに記録する記録処理と、前記ストレージ装置の寿命を、前記管理テーブルに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する監視処理と、を含む寿命監視処理を、前記コンピュータに実行させる。
上記の発明によれば、上記寿命監視方法をコンピュータに実行させることが可能になる。
本発明によれば、書換え回数を格納するための管理テーブルが予め設定されていなくても、フラッシュメモリの劣化を監視することが可能となる。
以下、本発明の実施例について図面を参照して詳細に説明する。
図1は、本発明の一実施例の情報処理装置を示すブロック図である。
図1において、情報処理装置1は、ストレージ装置2と接続される。ストレージ装置2は、情報処理装置1から取り外されることが可能である。なお、ストレージ装置2は、コンパクトフラッシュメモリカードまたはSDメモリカードといった規格化されて市販されているストレージ装置でもよい。
情報処理装置1は、主記憶部101と、演算器102と、表示回路103と、表示装置104と、入出力回路105と、不揮発性記憶装置106を含む。ストレージ装置2は、制御回路21と、フラッシュメモリ22とを含む。
主記憶部101は、コンピュータにて読み取り可能な記録媒体の一例である。主記憶部101には、情報処理装置1の動作を規定する実行プログラムが記録されている。
演算器102は、コンピュータの一例である。演算器102は、主記憶部101に記録されている実行プログラムを読み取り、その読み取られた実行プログラムを実行して種々の処理を行う。
例えば、演算器102は、その実行プログラムを実行して、取得部102aと、判断部102bと、作成部102cと、書換え部102dと、記録部102eと、監視部102fと、入手部102gと、判定部102hとを実現する。
表示回路103は、表示用信号を表示装置104に提供する。
表示装置104は、表示回路103から表示用信号を受け付けると、その受け付けられた表示用信号に応じた情報を表示する。
入出力回路105は、ストレージ装置2、具体的には制御回路21と接続する。
入出力回路105は、演算器102によって制御され、制御回路21に読み出し要求および書込み要求を提供する。換言すると、演算器102は、入出力回路105を制御して、ストレージ装置2に格納されているファイルデータ等のデータの読み出し、および、ストレージ装置2へのファイルデータ等のデータの書込みを実行する。
なお、ストレージ装置2では、制御回路21は、その受け付けられた読み出し要求および書込み要求を解釈し、その解釈結果に応じて、フラッシュメモリ22に対するデータの読み出しおよび書込みを行う。
また、制御回路21は、演算器102によって制御され、表示回路103を通じて表示装置104に所望のデータを表示する。
不揮発性記憶装置106は、情報処理装置1の電源が切れた状態となっても、内部のデータを保持する。演算器102は、不揮発性記憶装置106に格納されたデータを読み出し、また、不揮発性記憶装置106にデータを書き込むことができる。
フラッシュメモリ22は、「ページ」と呼ばれる一定の大きさの基本管理単位ごとに、データの書込みを管理する。
また、フラッシュメモリ22は、データを消去する場合、複数ページのデータをまとめて消去する。フラッシュメモリ22では、この複数ページが基本消去単位となり、この基本消去単位は、「消去ブロック」と呼ばれる。
よって、フラッシュメモリ22に書き込まれたデータが書き換えられときには、一旦消去ブロック単位でデータが消去された後、更新後のデータがページ単位で書き込まれる。
データの消去とデータの書込みが行われることにより、フラッシュメモリ22の記憶素子は劣化する。このため、書換えの耐用回数は、限定された回数に規定される。
特定の消去ブロックで、その限定された回数を超えた書換えが行われた場合には、その特定の消去ブロックの記憶素子は故障し、データの読み出し、および、新たなデータの書込みが不可能となる。その結果、制御回路21は、入出力回路105からの読み出し要求および書込み要求に対し、エラーを返す可能性が生じる。
一般的に、フラッシュメモリの記憶容量および消去ブロックの大きさは、規定されたものではなく、使用されるストレージ装置の品種(型名)により異なる。
ストレージ装置2、具体的にはフラッシュメモリ22には、ストレージ型名パラメータテーブル22aと、累計書換え回数管理テーブル22bと、ストレージ装置2の型名(Model number)22cと、ストレージ装置2のシリアル番号(Serial number)22dとが格納される。なお、型名22cおよびシリアル番号22dの書換えは禁止されている。
図2は、ストレージ型名パラメータテーブル22aの一例を示した説明図である。
図2において、ストレージ型名パラメータテーブル22aでは、ストレージ型名301と、消去ブロックサイズ302と、ストレージ容量303と、書換え耐用回数304とが、ストレージ型名301ごとに、互いに関連づけられている。
ストレージ型名301は、情報処理装置1にて使用される可能性のあるストレージ型名(品種)を示す。
消去ブロックサイズ(BLOCKSIZE)302は、消去ブロックサイズ302と関連づけられたストレージ型名のストレージ装置に含まれるフラッシュメモリ202の消去ブロックサイズを、セクタ数で示す。
なお、「セクタ」は、ストレージ装置のデータ管理単位である。ストレージ装置は、例えば、1ないし複数のセクタを1ページとしてフラッシュメモリにデータを書き込む。
ストレージ容量(CAPACITY)303は、ストレージ容量303と関連づけられたストレージ型名のストレージ装置の全記憶容量を、セクタ数で示す。
書換え耐用回数(ENDULANCE)304は、書換え耐用回数304と関連づけられたストレージ型名のストレージ装置における各消去ブロックの書込み回数制限値を示す。
図3は、累計書換え回数管理テーブル22bの一例を示した説明図である。
なお、本実施例では、累計書換え回数管理テーブル22bは、フラッシュメモリ22の最上位ディレクトリ(ルートディレクトリ)に、“ERASECOUNT.txt”というファイル名で配置される。なお、累計書換え回数管理テーブル22bの格納場所および名称は、上記に限らず、予め決められた格納場所および予め決められた名称であればよい。
図3において、累計書換え回数管理テーブル22bには、ファイル先頭から、ストレージ型名(Model Number)401、シリアル番号(SERIAL Number)402、テーブル作成年月日(START)403、消去ブロック数(CAPACITY)404が記録され、その後に、消去ブロックごとの消去書換え回数405、406、407・・・が1行ずつ記録され、最後に、最終行を示す最終行識別行408が記録されている。
図3では、ストレージ型名として“STRAGE1”が示され、シリアル番号として“ABCDEFG”が示され、全容量として4000の消去ブロックが示され、消去ブロック1の累計書換え回数が12回であることが示されている。なお、消去ブロックの番号は、フラッシュメモリ22の論理アドレス順になっている。
累計書換え回数管理テーブル22bは、ストレージ装置2が初期状態のときには、フラッシュメモリ22に存在しない。
図1に戻って、シリアル番号22dは、ストレージ装置ごとにユニークに割り当てられている。このため、シリアル番号22dは、ストレージ装置2の識別情報となる。
ストレージ装置2がATAプロトコルに準じたストレージ装置の場合、フラッシュメモリ22には、ストレージ装置2の型名22cとストレージ装置2のシリアル番号22dとを示したIdentify Device情報22eが格納される。なお、Identify Device情報22eは、IDE-HDD用に標準化されているATAプロトコルで定義されている。また、Identify Device情報22eの書換えは禁止されている。
演算器102の取得部102aは、情報処理装置1が起動すると、フラッシュメモリ22からIdentify Device情報22eを取得する。
取得部102aは、Identify Device情報22eを取得すると、Identify Device情報22eから型名22cおよびシリアル番号22dを取得する。
取得部102aは、型名22cを取得すると、ストレージ型名パラメータテーブル22a上で、その取得された型名22cと関連づけられている、消去ブロックサイズ302と、ストレージ容量303と、書換え耐用回数304とを取得する(図2参照)。
取得部102aは、それら取得された情報、具体的には、型名22c、シリアル番号22d、消去ブロックサイズ302、および、ストレージ容量303を、記録部102eに提供する。
また、取得部102aは、その取得されたシリアル番号22dを、判定部102hに提供する。
また、取得部102aは、その取得された書換え耐用回数304を、監視部102fに提供する。監視部102fは、書換え耐用回数304を受け付けると、その受け付けられた書換え耐用回数304を格納する。
判断部102bは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在するか否かを判断する。例えば、判断部102bは、情報処理装置1が起動すると、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在するか否かを判断する。
本実施例では、判断部102bは、まず、フラッシュメモリ22の最上位ディレクトリに、“ERASECOUNT.txt”というファイル名があるか否かを判断する。
判断部102bは、“ERASECOUNT.txt”というファイル名がフラッシュメモリ22の最上位ディレクトリにあると、そのファイル名のファイルのデータ構成が図3に示したデータ構成であるか否かを判断する。
判断部102bは、“ERASECOUNT.txt”というファイル名がフラッシュメモリ22の最上位ディレクトリにあり、かつ、そのファイル名のファイルのデータ構成が図3に示したデータ構成である場合、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在すると判断する。その後、判断部102bは、その判断結果を入手部102gに提供する。
一方、“ERASECOUNT.txt”というファイル名がフラッシュメモリ22の最上位ディレクトリにない場合、あるいは、そのファイル名のファイルのデータ構成が図3に示したデータ構成と異なる場合、判断部102bは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在しないと判断する。その後、判断部102bは、その判断結果を作成部102cに提供する。
作成部102cは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在しない旨の判断結果を判断部102bから受け付けると、累計書換え回数管理テーブル22b(図3参照)をフラッシュメモリ22に作成する。
なお、作成部102cにて作成された累計書換え回数管理テーブル22bには、ストレージ装置2に関する情報は記録されていない。
作成部102cは、累計書換え回数管理テーブル22bを作成すると、記録部102eに作成通知を提供する。
記録部102eは、作成通知を受け付けると、作成部102cにて作成された累計書換え回数管理テーブル22bに、ストレージ装置2に関する情報を記録する。
具体的には、まず、記録部102eは、取得部102aから受け付けた型名22cを、ストレージ型名401として記録する。
続いて、記録部102eは、取得部102aから受け付けたシリアル番号22dを、シリアル番号402として記録する。
続いて、記録部102eは、現在の日付を不図示の時計部から取得し、その取得された日付を、テーブル作成年月日403として記録する。
続いて、記録部102eは、取得部102aから受け付けたストレージ容量303を同じく取得部102aから受け付けた消去ブロックサイズ302で除算した値を、消去ブロック数404として記録する。なお、この除算で剰余が発生した場合には、記録部102eは、その除算により算出された商に1を加算した値を、消去ブロック数404として記録する。
続いて、記録部102eは、各消去ブロックの累計書換え回数を、フラッシュメモリの論理アドレス(セクタアドレス)順に記録する。なお、この時点では、記録部102eは、全消去ブロックの書換え回数として「0」(図3の例では“000000”)を格納する。
最後に、記録部102eは、最後に最終行識別行である“END”を記録する。
記録部102eは、累計書換え回数管理テーブル22bに“END”を記録すると、累計書換え回数管理テーブル22bのファイル名を“ERASECOUNT.txt”として、そのファイル名の累計書換え回数管理テーブル22bを、フラッシュメモリ22の最上位ディレクトリに格納する。
また、記録部102eは、情報処理装置1が起動すると、主記憶部101に、更新用書換え回数テーブルを作成する。
更新用書換え回数テーブルは、フラッシュメモリ22の消去ブロックごとの書換え回数を、情報処理装置1が起動している間保存する。
なお、更新用書換え回数テーブルが作成された際には、記録部102eは、各消去ブロックの書換え回数を「0」にして、更新用書換え回数テーブルを初期化する。
また、記録部102eは、各消去ブロックとその消去ブロックに対応するセクタアドレス(論理アドレス)との対応関係を、書換え部102dに提供する。
書換え部102dは、フラッシュメモリ22に記録されたデータを書き換える。
具体的には、書換え部102dは、まず、データが書き換えられるセクタの位置を示すセクタアドレスと、そのセクタに新たに書き込むデータとを、入出力回路105を介して、制御回路21に提供する。続いて、書換え部102dは、データ書込み要求を、入出力回路105を介して、制御回路21に提供する。
制御回路21は、セクタアドレスとデータとを受け取った後にデータの書込み要求を受けると、フラッシュメモリ22にデータを書き込む。
具体的には、制御回路21は、まず、そのセクタアドレスにて特定されるセクタを含む消去ブロックを特定する。
その後、制御回路21は、その特定された消去ブロックに格納されているデータを読み出し、その後、その特定された消去ブロックに格納されているデータを一旦消去する。
その後、制御回路21は、その読み出されたデータ中の、入出力回路105から受け付けられたセクタアドレスにて特定されるセクタ部分のデータを、入出力回路105から受け付けられたデータに更新する。
その後、制御回路21は、一部のデータが更新されたデータを、その特定された消去ブロックに含まれるページに書き込む。この書込みにより、ストレージ装置2としての書換え動作が完遂する。
また、書換え部102dは、書換えを行うたびに、主記憶部101に作成された更新用書換え回数テーブルを更新する。
具体的には、書換え部102dは、まず、制御回路21に提供したセクタアドレスに対応する消去ブロックを特定する。続いて、書換え部102dは、更新用書換え回数テーブルに記録されている、その特定された消去ブロックに対応する書換え回数を、その回数を1つインクリメントした数値で上書きする。
また、記録部102eは、情報処理装置1がシャットダウン指示を受け付けると、累計書換え回数管理テーブル22bを更新する。
具体的には、記録部102eは、まず、既に記録されている累計書換え回数管理テーブル22bの各消去ブロックの書換え回数を読み出す。
続いて、記録部102eは、主記憶102上の更新書換え回数テーブルに記録されている各消去ブロックの書換え回数を読み出す。
続いて、記録部102eは、同じ消去ブロックごとに、累計書換え回数管理テーブル22bから読み出された消去ブロックの書換え回数と、更新書換え回数テーブルから読み出された消去ブロックの書換え回数とを加算する。
続いて、記録部102eは、その加算された累計書換え回数を、累計書換え回数管理テーブル22bに全て書き戻す。
なお、記録部102eは、この更新後の累計書換え回数更新テーブル22bの内容を、不揮発性記憶装置106にも保管する。
記録部102eは、累計書換え回数管理テーブル22bの更新が終了すると、更新終了通知を監視部102fに提供する。
監視部102fは、更新終了通知を受け付けると、ストレージ装置2の寿命を、累計書換え回数管理テーブル22bに記録された各消去ブロックの累計書換え回数と、取得部102aがフラッシュメモリ22から取得した書換え耐用回数304とに基づいて監視する。
例えば、監視部102fは、消去ブロックごとに、書換え耐用回数304から消去ブロックの累計書換え回数を引いた値(以下「差」と称する。)が所定値以下になったか否かを判断する。
なお、この所定値は、0以上の数とすることが望ましい。この場合、いずれかの消去ブロックの累計書換え回数が、書換え耐用回数304を超えたか、あるいは超えそうな状況であるか否かが判断される。
監視部102fは、いずれかの差が所定値以下になると、表示回路103に、警告表示用信号を提供する。
表示回路103は、警告表示用信号を受け付けると、表示装置104に、ストレージ装置2が書換えによって寿命に達した旨の警告を表示する。
入手部102gは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在すると判断部102bが判断すると、累計書換え回数管理テーブル22bからシリアル番号402を入手する(図3参照)。入手部102gは、その入手されたシリアル番号を判定部102hに提供する。
判定部102hは、入手部102gにて入手されたシリアル番号と、取得部102aにて取得されたシリアル番号とを比較する。判定部102hは、入手部102gにて入手されたシリアル番号と、取得部102aにて取得されたシリアル番号とが異なる場合、ストレージ装置2が置換されたと判断する。
なお、入手部102gは、書換え可能な累計書換え回数管理テーブル22bからシリアル番号402を入手し、また、取得部102aは、書換えが禁止されているIdentify Device情報22eからシリアル番号22dを取得する。
ここで、判定部102hの判定動作を補足する。
基本的に、累計書換え回数管理テーブル22bに記載されたシリアル番号402は、Identify Device情報22eに示されたシリアル番号22dになっているはずであるから、その2つのシリアル番号が異なる状況は、通常発生しない。
しかしながら、情報処理装置1にてデータが書き込まれたストレージ装置が、寿命等の原因により、新しいストレージ装置に交換される場合、その交換されるストレージ装置に書き込まれたデータが、その新しいストレージ装置に複写される可能性がある。
このとき、その交換されるストレージ装置に書き込まれた累計書換え回数管理テーブル22bも、その新しいストレージ装置に複写されると、入手部102gにて入手されたシリアル番号と、取得部102aにて取得されたシリアル番号とが異なる状況が生じる。判定部102hは、この状況が発生したか否かを判定する。
判定部102hは、ストレージ装置2が置換されたと判断すると、作成部102cに置換通知を提供する。
作成部102cは、置換通知を受け付けると、フラッシュメモリ22に存在している累計書換え回数管理テーブル22bを削除し、その後、新たな累計書換え回数管理テーブル22bをフラッシュメモリ22に作成する。
作成部102cは、累計書換え回数管理テーブル22bを作成すると、記録部102eに作成通知を提供する。
記録部102eは、作成通知を受け付けると、作成部102cにて作成された累計書換え回数管理テーブル22bに、ストレージ装置2に関する情報を上述したように記録する。
このとき、記録部102eは、各消去ブロックの累計書換え回数を初期化して「0」にする。このため、置換されたストレージ装置2の書換え回数を正確にカウントすることが可能になる。
次に、動作を説明する。
図4は、情報処理装置1の動作を説明するためのフローチャートである。以下、図4を参照して、情報処理装置1の動作を説明する
まず、ステップ201で、情報処理装置1が起動する。
情報処理装置1が起動すると、演算器102は、主記憶部101に記録された動作プログラムに従って、以下に示す動作を実行する。
まず、ステップ202では、演算器102は、ストレージ装置2に格納されているストレージ型名パラメータ情報を取得する。なお、ストレージ型名パラメータ情報は、ストレージ型名パラメータテーブル22aに記録された情報である。
具体的には、まず、演算器102は、ストレージ装置2の型名22cと、ストレージ装置2のシリアル番号22dを取得する。この取得動作は、取得部102aにて実行される。
例えば、ストレージ装置2が、一般に用いられるATAプロトコルに準じたハードディスクドライブの場合には、取得部102aは、ストレージ装置2の型名22cおよびシリアル番号22dを、Identify Device情報22eから取得する。
また、取得部102aは、ストレージ装置2にあらかじめ格納されているストレージ型名パラメータテーブル22aを読み出す。
取得部102aは、Identify Device情報22eから取得したストレージ装置2の型名22cと、ストレージ型名パラメータテーブル22aとから、ストレージ装置2の消去ブロックサイズ302、ストレージ容量(全記憶容量サイズ)303、書換え耐用回数(各消去ブロックサイズの書換え許容回数)304を得る。
例えば、取得部102aは、Identify Device情報22eから取得したストレージ装置2の型名22cと関連づけられている、消去ブロックサイズ302、ストレージ容量303および書換え耐用回数304とを、ストレージ型名パラメータテーブル22aから取得する。
取得部102aは、それら取得された情報、具体的には、型名22c、シリアル番号22d、消去ブロックサイズ302、および、ストレージ容量303を、記録部102eに提供する。
また、取得部102aは、その取得されたシリアル番号22dを、判定部102hに提供する。
また、取得部102aは、その取得された書換え耐用回数304を、監視部102fに提供する。監視部102fは、書換え耐用回数304を受け付けると、その受け付けられた書換え耐用回数304を格納する。
演算器102は、ストレージ型名パラメータ情報(消去ブロックサイズ302、ストレージ容量303および書換え耐用回数304)を取得すると、ステップ203を実行する。
ステップ203では、演算器102は、ストレージ装置2に累計書換え回数管理テーブル22bが存在するか否かを確認する。
演算器102は、ストレージ装置2に累計書換え回数管理テーブル22bが存在する場合にはステップ206を実行し、一方、ストレージ装置2に累計書換え回数管理テーブル22bが存在しない場合にはステップ204を実行する。なお、この確認は、判断部102bにて実行される。
具体的には、判断部102bは、まず、フラッシュメモリ22の最上位ディレクトリに、“ERASECOUNT.txt”というファイル名のファイルがあるか否かを判断する。
判断部102bは、“ERASECOUNT.txt”というファイル名のファイルがフラッシュメモリ22の最上位ディレクトリにあると、そのファイル名のファイルのデータ構成が図3に示したデータ構成であるか否かを判断する。
判断部102bは、“ERASECOUNT.txt”というファイル名のファイルがフラッシュメモリ22の最上位ディレクトリにあり、かつ、そのファイル名のファイルのデータ構成が図3に示したデータ構成である場合、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在すると判断する。その後、判断部102bは、その判断結果を入手部102gに提供する。
一方、“ERASECOUNT.txt”というファイル名のファイルがフラッシュメモリ22の最上位ディレクトリにない場合、あるいは、そのファイル名のファイルのデータ構成が図3に示したデータ構成と異なる場合、判断部102bは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在しないと判断する。その後、判断部102bは、その判断結果を作成部102cに提供する。
なお、累計書換え回数管理テーブル22bは、ストレージ装置2が初期状態のときには、フラッシュメモリ22に存在しない。このため、初期状態のストレージ装置2が情報処理装置1に接続された後に演算器102が最初に起動したときには、判断部102bは、累計書換え回数管理テーブル22bを見つけることができない。
ステップ204では、演算器102は、「累計書換え回数管理テーブル」ファイルを作成する初期化処理を開始する。演算器102は、初期化処理を開始すると、ステップ205を実行する。
ステップ205では、演算器102は、累計書換え回数管理テーブル22bをストレージ装置2に作成する。なお、累計書換え回数管理テーブル22bの作成は、作成部102cにて実行され、その作成された累計書換え回数管理テーブル22bへの情報の記録は、記録部102eにて実行される。
具体的には、作成部102cは、累計書換え回数管理テーブル22bをフラッシュメモリ22に作成する。なお、作成部102cにて作成された累計書換え回数管理テーブル22bには、ストレージ装置2に関する情報は記録されていない。
作成部102cは、累計書換え回数管理テーブル22bを作成すると、記録部102eに作成通知を提供する。
記録部102eは、作成通知を受け付けると、作成部102cにて作成された累計書換え回数管理テーブル22bに、ストレージ装置2に関する情報を記録する。
具体的には、まず、記録部102eは、取得部102aから受け付けた型名22cを、ストレージ型名401として、累計書換え回数管理テーブル22bに記録する。続いて、記録部102eは、取得部102aから受け付けたシリアル番号22dを、シリアル番号402として、累計書換え回数管理テーブル22bに記録する。続いて、記録部102eは、現在の日付を不図示の時計部から取得し、その取得された日付を、テーブル作成年月日403として、累計書換え回数管理テーブル22bに記録する。
続いて、記録部102eは、取得部102aから受け付けたストレージ容量303を、同じく取得部102aから受け付けた消去ブロックサイズ302で除算し、その除算結果(商)値を、消去ブロック数404として、累計書換え回数管理テーブル22bに記録する。なお、この除算で剰余が発生した場合には、記録部102eは、その除算により算出された商に1を加算した値を、消去ブロック数404として、累計書換え回数管理テーブル22bに記録する。
続いて、記録部102eは、各消去ブロックの累計書換え回数を、論理アドレス順に累計書換え回数管理テーブル22bに記録する。なお、この時点では、記録部102eは、全消去ブロックの書換え回数として「0」を累計書換え回数管理テーブル22bに記録する。
最後に、記録部102eは、最後に最終行識別行である“END”を累計書換え回数管理テーブル22bに記録する。
記録部102eは、累計書換え回数管理テーブル22bに“END”を記録すると、累計書換え回数管理テーブル22bのファイル名を“ERASECOUNT.txt”として、そのファイル名の累計書換え回数管理テーブル22bを、フラッシュメモリ22の最上位ディレクトリに格納する。
演算器102は、累計書換え回数管理テーブル22bを、フラッシュメモリ22の最上位ディレクトリに格納すると、ステップ207を実行する。
一方、ステップ206では、演算器102は、フラッシュメモリ22に存在する累計書換え回数管理テーブル22bからシリアル番号402を入手し、そのシリアル番号402が、Identify Device情報から取得されたシリアル番号22dと一致するか否かを判断する。
演算器102は、シリアル番号402とシリアル番号22dとが一致すると、ストレージ装置2は置換されていないと判断してステップ207を実行する。一方、演算器102は、シリアル番号402とシリアル番号22dとが異なると、ストレージ装置2は置換されたと判断してステップ204を実行する。
なお、シリアル番号402の入手は、入手部102gにて実行され、両シリアル番号が一致するか否かの判断は、判定部102hにて実行される。
具体的には、入手部102gは、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在すると判断部102bが判断すると、累計書換え回数管理テーブル22bからシリアル番号402を入手する。入手部102gは、その入手されたシリアル番号を判定部102hに提供する。
判定部102hは、入手部102gにて入手されたシリアル番号と、取得部102aにて取得されたシリアル番号とを比較する。判定部102hは、入手部102gにて入手されたシリアル番号と、取得部102aにて取得されたシリアル番号とが異なる場合、ストレージ装置2が置換されたと判断する。
ステップ207では、演算器102は、主記憶部101に更新書換え回数テーブルを作成する。更新書換え回数テーブルは、フラッシュメモリ22の消去ブロックごとに発生する書換え回数を、情報処理装置1が起動している間保存し、記録部102eにて作成される。
記録部102eは、更新用書換え回数テーブルを作成する際には、各消去ブロックの書換え回数を「0」にして、更新用書換え回数テーブルを初期化する。また、記録部102eは、各消去ブロックとその消去ブロックに対応するセクタアドレスとの対応関係を、書換え部102dに提供する。
演算器102は、更新用書換え回数テーブルを作成すると、ステップ208を実行する。
ステップ208では、演算器102は、ストレージ装置2のデータの書換えが発生したか否かを判断する。ストレージ装置2のデータの書換えは、書換え部102dにて実行される。
具体的には、書換え部102dは、まず、データが書き換えられるセクタの位置を示すセクタアドレスと、そのセクタに新たに書き込むデータとを、入出力回路105を介して、制御回路21に提供する。続いて、書換え部102dは、データ書込み要求を、入出力回路105を介して、制御回路21に提供する。
制御回路21は、セクタアドレスとデータとを受け取った後にデータの書込み要求を受けると、フラッシュメモリ22にデータを書き込む。
ストレージ装置2のデータの書換えが発生すると、演算器102は、ステップ209を実行する。
ステップ209では、演算器102は、主記憶部101に作成された更新用書換え回数テーブルを更新する。更新用書換え回数テーブルの更新は、書換え部102dにて実行される。
具体的には、書換え部102dは、まず、制御回路21に提供したセクタアドレスに対応する消去ブロックを特定する。続いて、書換え部102dは、更新用書換え回数テーブルに記録されている、その特定された消去ブロックに対応する書換え回数を、その回数を1つインクリメントした数値で上書きする。
演算器102は、更新用書換え回数テーブルを更新すると、ステップ208を実行する。このため、書換え部102dは、演算器102が継続して動作している間の各消去ブロックの書換え回数を、更新用書換え回数テーブルに記録する。
次に、情報処理装置1がシャットダウンを行う際の動作を説明する。
情報処理装置1がシャットダウン指示を受け付けると、演算器102は、ステップ210を実行する。
ステップ210では、演算器102は、シャットダウン動作を開始する。演算器102は、シャットダウン動作を開始すると、ステップ211を実行する。
ステップ211では、演算器102は、累計書換え回数管理テーブル22bを更新する。累計書換え回数管理テーブル22bの更新は、記録部102eにて実行される。
具体的には、記録部102eは、まず、累計書換え回数管理テーブル22bに記録されている各消去ブロックの書換え回数を読み出す。
続いて、記録部102eは、主記憶102上の更新書換え回数テーブルに記録されている各消去ブロックの書換え回数を読み出す。
続いて、記録部102eは、同じ消去ブロックごとに、累計書換え回数管理テーブル22bから読み出された消去ブロックの書換え回数と、更新書換え回数テーブルから読み出された消去ブロックの書換え回数とを加算する。
続いて、記録部102eは、その加算された累計書換え回数を、累計書換え回数管理テーブル22bに全て書き戻して累計書換え回数管理テーブル22bを更新する。
演算器102は、累計書換え回数管理テーブル22bを更新すると、ステップ212を実行する。
ステップ212では、演算器102は、この更新後の累計書換え回数更新テーブル22bの内容を、不揮発性記憶装置106に保管する。また、記録部102eは、累計書換え回数管理テーブル22bの更新が終了すると、更新終了通知を監視部102fに提供する。
演算器102は、更新後の累計書換え回数更新テーブル22bの内容を、不揮発性記憶装置106に保管すると、ステップ213を実行する。
ステップ213では、演算器102は、ストレージ装置2が寿命になったか否かを確認する。寿命の判断は、監視部102fにて実行される。
具体的には、監視部102fは、ストレージ装置2の寿命を、累計書換え回数管理テーブル22bに記録された各消去ブロックの累計書換え回数と、取得部102aがフラッシュメモリ22から取得した書換え耐用回数304とに基づいて監視する。
例えば、監視部102fは、消去ブロックごとに、書換え耐用回数304から消去ブロックの累計書換え回数を引いた値(差)が所定値以下になったか否かを判断する。なお、この所定値は、0以上の数とすることが望ましい。この場合、いずれかの消去ブロックの累計書換え回数が、書換え耐用回数304を超えたか、あるいは超えそうな状況であるか否かが判断される。
いずれかの差が所定値以下になると、監視部102fは、ストレージ装置2が寿命になったと判断する。ストレージ装置2が寿命になったと監視部102fが判断すると、演算器102は、テップ214を実行する。
一方、すべての差が所定値より大きい場合、監視部102fは、ストレージ装置2は寿命に達していないと判断する。ストレージ装置2は寿命に達していないと監視部102fが判断すると、演算器102は、ステップ215を実行する。
ステップ214では、演算器102は、アラーム表示による通報を行う。アラーム表示による通報は、監視部102fにて制御される。
具体的には、監視部102fは、表示回路103に、警告表示用信号を提供する。表示回路103は、警告表示用信号を受け付けると、表示装置104に、ストレージ装置2が書換えによって寿命に達した旨の警告を表示して、使用者にストレージ装置2の寿命を通報する。
演算器102は、ストレージ装置2の寿命の通報に対する確認通知を使用者から受け付けると、ステップ215を実行する。
ステップ215では、演算器102は、シャットダウン処理を実行して情報処理装置1の動作を終了する。
本実施例によれば、以下の効果を奏する。
累計書換え回数管理テーブル22bがフラッシュメモリ22に存在しない場合、作成部102cは、累計書換え回数管理テーブル22bをフラッシュメモリ22に作成し、記録部102eは、その作成された累計書換え回数管理テーブル22bに累計書換え回数を記録する。
このため、累計書換え回数を格納するための累計書換え回数管理テーブル22bが予め設定されていなくても、ストレージ装置2の劣化を監視することが可能となる。
また、フラッシュメモリ22は、複数の消去ブロックを有し、その消去ブロックごとに情報を書換え可能である。記録部102eは、累計書換え回数を消去ブロックごとに累計書換え回数管理テーブル22bに記録する。監視部102fは、ストレージ装置2の寿命を、累計書換え回数管理テーブル22bに消去ブロックごとに記録された累計書換え回数と、フラッシュメモリ22に記録された書換え回数制限値と、に基づいて監視する。
このため、消去ブロックごとに情報を書換え可能なフラッシュメモリを含むストレージ装置の寿命を監視することが可能になる。よって、フラッシュメモリ22の消去ブロックごとに書き換え回数が寿命に達しているか否かを管理した上で、情報処理装置1を運用することが可能になる。したがって、ストレージ装置2の書換え回数が書換え制限値を超えることにより、ストレージ装置が故障してしまうことを未然に防止することが可能になる。
また、フラッシュメモリ22は、情報処理装置1と接続可能なストレージ装置の型名と、その型名のストレージ装置が含むフラッシュメモリの書換え回数制限値とを、その型名ごとに関連づけて格納するとともに、自己を含むストレージ装置の型名を格納する。
また、取得部102aは、フラッシュメモリ22からフラッシュメモリ22を含むストレージ装置の型名を取得し、その取得されたストレージ装置の型名に関連づけられた書換え回数制限値をフラッシュメモリ22から取得する。
監視部102fは、取得部102aにて取得された書換え回数制限値と、累計書換え回数管理テーブル22bに消去ブロックごとに記録された累計書換え回数と、に基づいて、ストレージ装置2の寿命を監視する。
フラッシュメモリの消去ブロックサイズおよび書換え耐用回数は、使用されるストレージ装置の型(品種)により様々であるが、本実施例では、実際に接続されているストレージ装置に応じた書換え制限値を取得することが可能となる。このため、より正確な寿命監視を行うことが可能となる。
また、フラッシュメモリ22は、自己を含むストレージ装置2を識別するためのシリアル番号22dを固定的に格納する。取得部102aは、情報処理装置1が起動すると、フラッシュメモリ22からシリアル番号22dを取得する。
判断部102bは、情報処理装置1が起動すると、累計書換え回数管理テーブル22bがフラッシュメモリ22に存在するか否かを判断する。
累計書換え回数管理テーブル22bがフラッシュメモリ22に存在しないと判断部102bが判断すると、記録部102eは、作成部102cにて作成された累計書換え回数管理テーブル22bに、取得部102aにて取得されたシリアル番号を記録する。
累計書換え回数管理テーブル22bがフラッシュメモリ22に存在すると判断部102bが判断すると、入手部102gは、累計書換え回数管理テーブル22bからシリアル番号を入手する。
判定部102hは、入手部102gにて入手されたシリアル番号と、取得部102aにて取得されたシリアル番号とを比較して、ストレージ装置2が置換されたか否かを判定する。
ストレージ装置2が置換されたと判定部102hが判定すると、作成部102cは、フラッシュメモリ22に存在する累計書換え回数管理テーブル22bを削除し、その後、新たな累計書換え回数管理テーブル22bをフラッシュメモリ22に作成する。
この場合、演算器102は、ストレージ装置2の個体ごとに付与されるシリアル番号を管理することにより、ストレージ装置自体が交換された場合でも、自動的にストレージ装置が交換されたことを判別することが可能になる。また、ストレージ装置が交換されると、交換後のストレージ装置内の各消去ブロック書換え回数を初期化することが可能になる。
また、不揮発性記憶装置106は、フラッシュメモリ22に作成された累計書換え回数管理テーブル22bと同じ累計書換え回数管理テーブル22bを格納する。
このため、ストレージ装置2が故障等により、ストレージ装置2に作成された累計書換え回数管理テーブル22bが参照できなくなった場合でも、不揮発性記憶装置106に格納された累計書換え回数管理テーブル22bを参照することが可能になる。
また、警告部としての表示装置104は、書換え回数制限値から書換え回数を引いた値が所定値以下になったと監視部102fが判断すると、警告を発する。
この場合、各消去ブロックの書換え回数が書換え回数制限値を超えた場合、または、各消去ブロックの書換え回数が書換え回数制限値を近々超える可能性がある状況に至った場合に、ストレージ装置2の書換え寿命に関する警告を通知することが可能となる。
なお、前述の実施例では、情報処理装置1のシャットダウン時点にて累計書換え回数管理テーブル22bが更新されていた。しかしながら、連続稼動にて使用される情報処理装置では、累計書換え回数管理テーブル22bが長期間更新されないことも想定される。このため、記録部102eが、シャットダウン時点だけでなく、定期的あるいは所望のタイミングで、累計書換え回数管理テーブル22bを更新することが望ましい。
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
本発明の一実施例の情報処理装置を示したブロック図である。 ストレージ型名パラメータテーブルの一例を示した説明図である。 累計書換え回数管理テーブルの一例を示した説明図である。 情報処理装置の動作を説明するためのフローチャートである。
符号の説明
1 情報処理装置
101 主記憶部
102 演算器
102a 取得部
102b 判断部
102c 作成部
102d 書換え部
102e 記録部
102f 監視部
102g 入手部
102h 判定部
103 表示回路
104 表示装置
105 入出力回路
106 不揮発性記憶装置
2 ストレージ装置
21 制御回路
22 フラッシュメモリ
22a ストレージ型名パラメータテーブル
22b 累計書換え回数管理テーブル
22c 型名
22d シリアル番号
22e Identify Device情報

Claims (13)

  1. 書換え回数制限値が記録されたフラッシュメモリを含むストレージ装置と接続され、該フラッシュメモリに書き込まれた情報を書き換え、また、該書換え回数制限値を用いて該ストレージ装置の寿命を監視する情報処理装置であって、
    累計書換え回数を管理するための管理テーブルが前記フラッシュメモリに存在するか否かを判断する判断部と、
    前記管理テーブルが前記フラッシュメモリに存在しないと前記判断部が判断すると、前記管理テーブルを前記フラッシュメモリに作成する作成部と、
    前記情報が書き換えられた回数を示す累計書換え回数を、前記作成部にて作成された管理テーブルに記録する記録部と、
    前記ストレージ装置の寿命を、前記管理テーブルに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する監視部と、を含む情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記フラッシュメモリは、複数の格納領域を有し、該格納領域ごとに情報を書換え可能であり、
    前記記録部は、前記累計書換え回数を前記格納領域ごとに前記管理テーブルに記録し、
    前記監視部は、前記ストレージ装置の寿命を、前記管理テーブルに前記格納領域ごとに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する、情報処理装置。
  3. 請求項2に記載の情報処理装置において、
    前記フラッシュメモリは、前記情報処理装置と接続可能なストレージ装置の型名と、その型名のストレージ装置が含むフラッシュメモリの書換え回数制限値とを、前記型名ごとに関連づけて格納し、かつ、自己を含むストレージ装置の型名を固定的に格納し、
    前記フラッシュメモリから該フラッシュメモリを含むストレージ装置の型名を取得し、その取得されたストレージ装置の型名に関連づけられた書換え回数制限値を前記フラッシュメモリから取得する取得部をさらに含み、
    前記監視部は、前記取得部にて取得された書換え回数制限値と、前記管理テーブルに前記格納領域ごとに記録された累計書換え回数と、に基づいて前記ストレージ装置の寿命を監視する、情報処理装置。
  4. 請求項1ないし3のいずれか1項に記載の情報処理装置において、
    前記フラッシュメモリは、自己を含むストレージ装置を識別するための識別情報を固定的に格納し、
    前記取得部は、前記情報処理装置が起動すると、前記フラッシュメモリから前記識別情報をさらに取得し、
    前記判断部は、前記情報処理装置が起動すると、前記管理テーブルが前記フラッシュメモリに存在するか否かを判断し、
    前記管理テーブルが前記フラッシュメモリに存在しないと前記判断部が判断すると、前記記録部は、前記作成部にて作成された管理テーブルに、前記取得部にて取得された識別情報を記録し、
    前記管理テーブルが前記フラッシュメモリに存在すると前記判断部が判断すると、前記管理テーブルから前記識別情報を入手する入手部と、
    前記入手部にて入手された識別情報と、前記取得部にて取得された識別情報と、を比較して、前記ストレージ装置が置換されたか否かを判定する判定部と、をさらに含み、
    前記作成部は、前記ストレージ装置が置換されたと前記判定部が判定すると、前記管理テーブルを削除し、その後、新たな管理テーブルを前記フラッシュメモリに作成する、情報処理装置。
  5. 請求項1ないし4のいずれか1項に記載の情報処理装置において、
    前記フラッシュメモリに作成された管理テーブルと同じ管理テーブルを格納する不揮発性記憶部をさらに含む、情報処理装置。
  6. 請求項1ないし5のいずれか1項に記載の情報処理装置において、
    前記監視部は、前記書換え回数制限値から前記累計書換え回数を引いた値が所定値以下になったか否かを判断し、
    前記書換え回数制限値から前記累計書換え回数を引いた値が前記所定値以下になったと前記監視部が判断すると、警告を発する警告部をさらに含む、情報処理装置。
  7. 書換え回数制限値が記録されたフラッシュメモリを含むストレージ装置と接続され、該フラッシュメモリに書き込まれた情報を書き換え、また、該書換え回数制限値を用いて該ストレージ装置の寿命を監視する情報処理装置が行う寿命監視方法であって、
    累計書換え回数を管理するための管理テーブルが前記フラッシュメモリに存在するか否かを判断する判断ステップと、
    前記管理テーブルが前記フラッシュメモリに存在しないと判断されると、前記管理テーブルを前記フラッシュメモリに作成する作成ステップと、
    前記情報が書き換えられた回数を示す累計書換え回数を、前記作成部にて作成された管理テーブルに記録する記録ステップと、
    前記ストレージ装置の寿命を、前記管理テーブルに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する監視ステップと、を含む寿命監視方法。
  8. 請求項7に記載の寿命監視方法において、
    前記フラッシュメモリは、複数の格納領域を有し、該格納領域ごとに情報を書換え可能であり、
    前記記録ステップでは、前記累計書換え回数を前記格納領域ごとに前記管理テーブルに記録し、
    前記監視ステップでは、前記ストレージ装置の寿命を、前記管理テーブルに前記格納領域ごとに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する、寿命監視方法。
  9. 請求項8に記載の寿命監視方法において、
    前記フラッシュメモリは、前記情報処理装置と接続可能なストレージ装置の型名と、その型名のストレージ装置が含むフラッシュメモリの書換え回数制限値とを、前記型名ごとに関連づけて格納し、かつ、自己を含むストレージ装置の型名を固定的に格納し、
    前記フラッシュメモリから該フラッシュメモリを含むストレージ装置の型名を取得し、その取得されたストレージ装置の型名に関連づけられた書換え回数制限値を前記フラッシュメモリから取得する取得ステップをさらに含み、
    前記監視ステップでは、前記取得された書換え回数制限値と、前記管理テーブルに前記格納領域ごとに記録された累計書換え回数と、に基づいて前記ストレージ装置の寿命を監視する、寿命監視方法。
  10. 請求項7ないし9のいずれか1項に記載の寿命監視方法において、
    前記フラッシュメモリは、自己を含むストレージ装置を識別するための識別情報を固定的に格納し、
    前記取得ステップでは、前記情報処理装置が起動すると、前記フラッシュメモリから前記識別情報をさらに取得し、
    前記判断ステップでは、前記情報処理装置が起動すると、前記管理テーブルが前記フラッシュメモリに存在するか否かを判断し、
    前記記録ステップでは、前記管理テーブルが前記フラッシュメモリに存在しないと判断されると前記作成された管理テーブルに、前記取得された識別情報を記録し、
    前記管理テーブルが前記フラッシュメモリに存在すると前記判断部が判断すると、前記管理テーブルから前記識別情報を入手する入手ステップと、
    前記入手された識別情報と、前記取得された識別情報と、を比較して、前記ストレージ装置が置換されたか否かを判定する判定ステップと、をさらに含み、
    前記作成ステップでは、前記ストレージ装置が置換されたと判定されると、前記管理テーブルを削除し、その後、新たな管理テーブルを前記フラッシュメモリに作成する、寿命監視方法。
  11. 請求項7ないし10のいずれか1項に記載の寿命監視方法において、
    前記フラッシュメモリに作成された管理テーブルと同じ管理テーブルを格納する不揮発性記憶部に格納する格納ステップをさらに含む、寿命監視方法。
  12. 請求項7ないし11のいずれか1項に記載の寿命監視方法において、
    前記監視ステップでは、前記書換え回数制限値から前記累計書換え回数を引いた値が所定値以下になったか否かを判断し、
    前記書換え回数制限値から前記累計書換え回数を引いた値が前記所定値以下になったと判断されると、警告を発する警告ステップをさらに含む、寿命監視方法。
  13. 書換え回数制限値が記録されたフラッシュメモリを含むストレージ装置と接続され、該フラッシュメモリに書き込まれた情報を書き換えるコンピュータに、該書換え回数制限値を用いて該ストレージ装置の寿命を監視する寿命監視処理を実行させるプログラムであって、
    累計書換え回数を管理するための管理テーブルが前記フラッシュメモリに存在するか否かを判断する判断処理と、
    前記管理テーブルが前記フラッシュメモリに存在しないと判断されると、前記管理テーブルを前記フラッシュメモリに作成する作成処理と、
    前記情報が書き換えられた回数を示す累計書換え回数を、前記作成部にて作成された管理テーブルに記録する記録処理と、
    前記ストレージ装置の寿命を、前記管理テーブルに記録された累計書換え回数と、前記書換え回数制限値と、に基づいて監視する監視処理と、を含む寿命監視処理を、前記コンピュータに実行させるプログラム。
JP2005148128A 2005-05-20 2005-05-20 情報処理装置および寿命監視方法 Active JP4215746B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005148128A JP4215746B2 (ja) 2005-05-20 2005-05-20 情報処理装置および寿命監視方法
US11/436,644 US7904637B2 (en) 2005-05-20 2006-05-19 Information processing apparatus, lifetime monitoring method and program for monitoring lifetime of storage device including flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005148128A JP4215746B2 (ja) 2005-05-20 2005-05-20 情報処理装置および寿命監視方法

Publications (2)

Publication Number Publication Date
JP2006323751A true JP2006323751A (ja) 2006-11-30
JP4215746B2 JP4215746B2 (ja) 2009-01-28

Family

ID=37449632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005148128A Active JP4215746B2 (ja) 2005-05-20 2005-05-20 情報処理装置および寿命監視方法

Country Status (2)

Country Link
US (1) US7904637B2 (ja)
JP (1) JP4215746B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008139689A1 (ja) * 2007-05-10 2008-11-20 Panasonic Corporation メモリコントローラ、半導体記録装置及び書き換え回数通知方法
JP2013130974A (ja) * 2011-12-20 2013-07-04 Kayaba Ind Co Ltd データ記録装置及びドライブレコーダ

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007331356A (ja) * 2006-06-19 2007-12-27 Ricoh Co Ltd 画像形成装置
JP4575346B2 (ja) * 2006-11-30 2010-11-04 株式会社東芝 メモリシステム
KR20090000192A (ko) * 2007-01-29 2009-01-07 삼성전자주식회사 유효기간 및/ 또는 인듀어런스 데이터를 알려주는 전자시스템 및 그 방법
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
TWI372397B (en) * 2007-08-06 2012-09-11 Ind Tech Res Inst Method and system of defect management for storage medium
US8375160B2 (en) * 2007-11-14 2013-02-12 Panasonic Corporation Memory controller, nonvolatile storage module, access module and nonvolatile storage system
US8560762B2 (en) * 2008-06-25 2013-10-15 Microsoft Corporation Limited memory power
EP2418646A1 (en) * 2010-08-12 2012-02-15 Harman Becker Automotive Systems GmbH Diagnosis system for removable media drives
JP2014216041A (ja) * 2013-04-30 2014-11-17 ソニー株式会社 メモリ装置およびメモリ管理方法
CN104658550A (zh) * 2013-11-19 2015-05-27 株式会社东芝 磁盘装置及其控制方法
JP6750518B2 (ja) * 2017-01-27 2020-09-02 株式会社Jvcケンウッド 映像記録制御装置、方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3407317B2 (ja) 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
JPH09305497A (ja) 1996-05-15 1997-11-28 Hitachi Ltd 記録再生装置およびそのコントローラ、データ保護方法
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JP3421581B2 (ja) 1998-06-29 2003-06-30 株式会社日立製作所 不揮発性半導体メモリを用いた記憶装置
JP2000057000A (ja) 1998-08-17 2000-02-25 Sharp Corp フラッシュメモリ内蔵マイクロコンピュータ
US6249838B1 (en) * 1998-12-28 2001-06-19 Cisco Technology Inc. Physical medium information in file system header
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
JP4183237B2 (ja) 2002-10-28 2008-11-19 シャープ株式会社 記憶装置
JP4256175B2 (ja) 2003-02-04 2009-04-22 株式会社東芝 不揮発性半導体メモリ
JP2004280187A (ja) 2003-03-12 2004-10-07 Matsushita Electric Ind Co Ltd 不揮発性メモリ搭載マイクロコントローラのデータ書き換え方法
US7363421B2 (en) * 2005-01-13 2008-04-22 Stmicroelectronics S.R.L. Optimizing write/erase operations in memory devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008139689A1 (ja) * 2007-05-10 2008-11-20 Panasonic Corporation メモリコントローラ、半導体記録装置及び書き換え回数通知方法
JP5180957B2 (ja) * 2007-05-10 2013-04-10 パナソニック株式会社 メモリコントローラ、半導体記録装置及び書き換え回数通知方法
JP2013130974A (ja) * 2011-12-20 2013-07-04 Kayaba Ind Co Ltd データ記録装置及びドライブレコーダ

Also Published As

Publication number Publication date
US7904637B2 (en) 2011-03-08
US20060265545A1 (en) 2006-11-23
JP4215746B2 (ja) 2009-01-28

Similar Documents

Publication Publication Date Title
JP4215746B2 (ja) 情報処理装置および寿命監視方法
JP4164118B1 (ja) フラッシュメモリを用いた記憶装置
JP4472010B2 (ja) 記憶装置
JP4487978B2 (ja) 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
US10222982B2 (en) Lifetime management device and lifetime management method
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
US20020091965A1 (en) System and method for early detection of impending failure of a data storage system
TWI406127B (zh) 更新使用者資料的方法
JP2010505193A (ja) メモリカードの寿命末期の回復およびサイズ変更
JP2010086009A (ja) 記憶装置およびメモリ制御方法
KR101258589B1 (ko) 저널링 파일 시스템에 따라 데이터를 기록한 정보저장매체,저널링 파일 시스템을 이용해서 데이터를 기록/복구하는방법 및 장치
JP2010257340A (ja) 情報処理装置、情報処理方法及びプログラム
JPH11272569A (ja) フラッシュメモリを使用した外部記憶装置のデータ回復方式
US9405668B1 (en) Data storage device initialization information accessed by searching for pointer information
JP2007094767A (ja) メモリ制御装置及びメモリ制御方法
JP2008191797A (ja) ファイルシステム
JP4572205B2 (ja) フラッシュメモリドライブ装置、その制御方法及びそのプログラム
JPH06332795A (ja) 電気的消去可能な不揮発性メモリの制御方法及びシステム
JP2014115927A (ja) プログラム更新装置、方法、プログラム、及び記憶媒体
JP6913797B2 (ja) 情報処理装置
CN114371960A (zh) 嵌入式设备的参数管理方法以及系统
JP2009288914A (ja) フラッシュメモリおよび電子機器
JP2005276288A (ja) 不揮発性記憶装置の寿命管理方法
JP2004220343A (ja) メモリ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

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: 20081015

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: 20081104

R150 Certificate of patent or registration of utility model

Ref document number: 4215746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350