JP2012088758A - 記憶装置及び記憶装置の制御方法 - Google Patents
記憶装置及び記憶装置の制御方法 Download PDFInfo
- Publication number
- JP2012088758A JP2012088758A JP2010232322A JP2010232322A JP2012088758A JP 2012088758 A JP2012088758 A JP 2012088758A JP 2010232322 A JP2010232322 A JP 2010232322A JP 2010232322 A JP2010232322 A JP 2010232322A JP 2012088758 A JP2012088758 A JP 2012088758A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage medium
- storage
- storage device
- entry
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】本発明の記憶装置は、不揮発性メモリ管理サービス1(制御機構)と、外部記憶装置2と、不揮発性メモリ3と、を備える。外部記憶装置2は、不揮発性メモリ使用サイズを格納する不揮発性メモリ使用サイズ21と、チェックサムを格納するChecksum値22と、を備える。不揮発性メモリ3は、複数のEntry 31(エントリ)を備える。複数のEntry 31の各々は、当該Entry が有効か否かを示すSignature 311と、Status312と、データ長313と、データ部314と、の各項目を備える。中断からの再開時には、チェックサムの再検証により、不揮発性メモリ3の障害か否かを判断する。
【選択図】図1
Description
不揮発性メモリには、BIOSやOSを立ち上げるために必要な情報や障害ログが格納されており、その他、システム運用する上で必要な重要情報が格納されている。
なお、不揮発性メモリは、長期間使用による劣化などが原因で、故障する場合が有るため、従来は、不揮発性メモリを二重化するなどの技術が提案されている。
しかしながら、書き込み中の電源断が発生した場合には、データの整合がとれず、チェックサムチェックが不一致になってしまうという問題点が残っており、本発明でも、この問題点の解決を課題としている。
しかしながら、上記背景技術で述べた従来の記憶装置の制御方法にあっては、突然の電源断や、FATAL障害発生により、不揮発性メモリへの書き込みが中断してしまった場合、不揮発性メモリに期待外のフォーマットの状態で格納されることがあり、不揮発性メモリの全消去を行わなければシステムの立ち上げ不可になるケースが存在するという問題点が有る。
また、本発明の他の目的は、不揮発性メモリの格納データの正常性チェックに際しては、有効な部位のみを有効値として扱ってチェックサム検証を行うことを可能にして、電源断が起きても、不揮発性メモリの信頼性チェックを行うことができる記憶装置及び記憶装置の制御方法を提供することにある。
また、データの正常性のチェックにおいても、有効な部位のみを有効値として扱えるようにすることで、電源断が起きても、不揮発性メモリの信頼性チェックを可能とする。
このため、本発明では、不揮発性メモリの格納形式を定義し、不揮発性メモリとは別個に設置した外部記憶装置に、不揮発性メモリの使用サイズとチェックサム値とを格納するようにし、その上で、不揮発性メモリの格納フォーマット、不揮発性メモリへの所定のアクセス手順を実行する。
図1は、本発明の実施形態に係る記憶装置の全体構成を示す構成図である。
同図に示す本実施形態に係る記憶装置は、不揮発性メモリ管理サービス1(制御手段)と、外部記憶装置2(第2の記憶媒体)と、不揮発性メモリ3(第1の記憶媒体)と、を備える。
外部記憶装置2は、不揮発性メモリ使用サイズを格納する不揮発性メモリ使用サイズ21と、チェックサムを格納するChecksum値22と、を備える。
不揮発性メモリ3は、複数のEntry 31(エントリ)を備える。
本発明では、一般に、不揮発性メモリ3として、読み書き可能な任意の種類の記憶媒体を使用することができる。
また、外部記憶装置2は、ここでは本発明に係る記憶装置の1構成要素としたが、遠隔地を含む任意の地点に設置された外部の記憶装置とすることも可能である。
図2は、本発明の実施形態に係る記憶装置の変数新規作成処理時の処理手順を示すフローチャート図である。
以下、図1を参照しながら、図2に示すフローチャートを使用して、本実施形態に係る記憶装置の変数新規作成処理時の処理手順を説明する。
ここでは、不揮発性メモリ管理サービス1が、外部の上位システムからデータ新規作成指示を受けた場合について説明する。
まず、ステップA1では、不揮発性メモリ管理サービス1は、Signature を無効とした新規エントリを不揮発性メモリ3の最後尾に作成する。
次に、ステップA3では、不揮発性メモリ管理サービス1は、作成したエントリのステータスを文字列の「ADDED 」とする(より具体的には、エントリ項目のStatus312に「ADDED 」を格納する)。
次に、ステップA4では、不揮発性メモリ管理サービス1は、作成したエントリのSignatureを有効とする(より具体的には、エントリ項目のSignature311に、例えば、有効を示すフラグを立てる)。
以下、図1を参照しながら、図3に示すフローチャートを使用して、本実施形態に係る記憶装置の変数削除処理時の処理手順を説明する。
不揮発性メモリ管理サービス1が、外部の上位システムからデータ削除指示を受けた場合は、以下に示す処理を開始する。
次に、ステップB2では、不揮発性メモリ管理サービス1は、当該削除対象データの不揮発性メモリ使用サイズを外部記憶装置2の不揮発性メモリ使用サイズ21に保存し、また、前述のチェックサム値を外部記憶装置2のChecksum値22に保存する。
以下、図1を参照しながら、図4に示すフローチャートを使用して、本実施形態に係る記憶装置の変数更新処理時の処理手順を説明する。
不揮発性メモリ管理サービス1が、外部の上位システムからデータ更新指示を受けた場合は、以下に示す処理を開始する。
先ず、ステップC1では、不揮発性メモリ管理サービス1は、当該更新対象のデータを保持するエントリを対象に、図3に示す手順でのデータの削除を行う。
次に、ステップC2では、不揮発性メモリ管理サービス1は、当該エントリへの当該更新データの書き込みを行う。
以下、図1を参照しながら、図5に示すフローチャートを使用して、本実施形態に係る記憶装置のアクセス要求処理時の処理手順を説明する。
ここでは、不揮発性メモリ管理サービス1 が、データリード要求を受けた場合の処理を説明する。
先ず、ステップD1では、不揮発性メモリ管理サービス1は、探査位置を不揮発性メモリ3の先頭領域(図示は省略)にセットする。
ステップD3では、不揮発性メモリ管理サービス1は、現在のエントリのSignature311が目的のデータであるか否かを検証し、現在のエントリのSignature311が目的のデータであった場合、当該現在のエントリに目的のデータが格納されていると判断し、Foundの場合として処理を終了する。また、現在のエントリのSignature311が目的のデータではなかった場合には、ステップD2に戻って次のエントリから検索を繰り返す。
以下、図1を参照しながら、図6に示すフローチャートを使用して、本実施形態に係る記憶装置の立ち上げ時の処理における処理手順を説明する。
この立ち上げ時の処理手順は、システム障害等により中断していた処理を再開する場合に実行するものとする。
先ず、ステップE1では、不揮発性メモリ管理サービス1は、外部記憶装置2から、不揮発性メモリ使用サイズ21の内容(不揮発性メモリ使用サイズ)と、チェックサム値22の内容(チェックサム)とを取得する。
次に、ステップE3では、不揮発性メモリ管理サービス1は、ステップE2で算出したチェックサムと、ステップE1で取得したチェックサム値22の内容(チェックサム)とが一致するか否かを検証し、上記チェックサムの一致がとれなかった場合はステップE4に進み、上記チェックサムの一致がとれた場合はステップE6に移る。
ステップE4では、不揮発性メモリ管理サービス1は、前回データ削除中に電源断になった可能性を疑い(つまり、或るエントリのエントリ項目であるStatus312を、文字列の「ADDED」から文字列の「DELETED」に書き換えた状態で電源断になった可能性がある)ので、文字列の「ADDED」が示す数値データ(部分的なチェックサム)と、文字列の「DELETED」が示す数値データ(部分的なチェックサム)との差分値を、上記算出済のチェックサムに加算する。
ステップE6では、不揮発性メモリ管理サービス1は、不揮発性メモリ3を正常と判断し、未使用領域の初期化を行う。その後、処理を終了する(正常終了)。
ステップE7では、不揮発性メモリ管理サービス1は、不揮発性メモリ3に障害発生と判断し、処理を終了する(異常終了)。
エントリ更新中に電源断になった場合、エントリ更新中のエントリは必ず最後尾にあり(ステップA1参照)、外部記憶に保存された不揮発性メモリ使用領域長は、更新中の一つ前のエントリの末尾を指している。よって、次回立上げ時に、ステップE6にて、この更新中のエントリ部分を初期化することで、不揮発性メモリの整合を保つことができる。
同様に、データ追加時において、不揮発性メモリ使用サイズとチェックサム値とを更新する前に電源断になった場合は、追加中の変数(より具体的にはエントリ)は無効とすることができる。
2 外部記憶装置(第2の記憶媒体)
3 不揮発性メモリ(第1の記憶媒体)
21 不揮発性メモリ使用サイズ
22 Checksum値(チェックサム値)
31 Entry(エントリ)。
311 Signature(有効/無効・フラグ)格納項目
312 Status(ステータス)格納項目
313 データ長格納項目
314 データ部(データ格納項目)
Claims (8)
- 1記憶単位を構成するエントリ内に、所与のデータと、該データの属性情報と、該エントリの属性情報とを記憶する第1の記憶媒体と、
前記第1の記憶媒体の現在までの使用量と、該使用量で示される前記第1の記憶媒体内の記憶データについてのチェックサム値とを記憶する第2の記憶媒体と、
所与の指令に基づいて、前記第1と第2の記憶媒体の記憶内容を制御する制御手段と、を備えたことを特徴とする記憶装置。 - 前記データは可変長データであり、前記制御手段は、前記属性情報には当該データの長さを示す情報を含めることを特徴とする請求項1記載の記憶装置。
- 前記制御手段は、前記エントリの属性情報として、該エントリが有効か無効かを示すSignature情報と、該エントリのステータスを示すStatus情報との、2種類の情報を示すことを特徴とする請求項1または請求項2記載の記憶装置。
- 前記制御手段は、前記Status情報として、エントリが新規に生成された時には文字列の「ADDED」を示し、当該エントリが削除された時には文字列の「DELETED」を示すことを特徴とする請求項3記載の記憶装置。
- 前記制御手段は、中断からの再起動時には、前記第2の記憶媒体が記憶する前記現在までの使用量の範囲で、前記第1の記憶媒体の現在までの記憶データのチェックサム値を算出すると共に、該算出したチェックサム値と、前記第2の記憶媒体が記憶する前記チェックサム値とを比較することにより、前記第1の記憶媒体の現在までの記憶データを検証することを特徴とする請求項1乃至4のいずれか1項に記載の記憶装置。
- 前記制御手段は、中断からの再起動時には、前記第2の記憶媒体が記憶する前記現在までの使用量の範囲で、前記第1の記憶媒体の現在までの記憶データのチェックサム値を算出すると共に、該算出したチェックサム値と、前記第2の記憶媒体が記憶する前記チェックサム値とを比較し、該比較が不一致となる場合は、前記第2の記憶媒体が記憶する前記チェックサム値に対して前記文字列の「ADDED」と「DELETED」とのデータの相違によるチェックサム値の相違分を補正した上で、前記算出したチェックサム値との再比較を行うと共に、該再比較でも不一致となる場合は、前記第1の記憶媒体に障害が生じたと判断することを特徴とする請求項4記載の記憶装置。
- 前記第1の記憶媒体は不揮発性メモリであることを特徴とする請求項1乃至6のいずれか1項に記載の記憶装置。
- 第1の記憶媒体の1記憶単位を構成するエントリ内に、所与のデータと、該データの属性情報と、該エントリの属性情報とを記憶するステップと、
第2の記憶媒体に、前記第1の記憶媒体の現在までの使用量と、該使用量で示される前記第1の記憶媒体内の記憶データについてのチェックサム値とを記憶するステップと、
所与の指令に基づいて、前記第1と第2の記憶媒体の記憶内容を制御する制御ステップと、を有することを特徴とする記憶装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010232322A JP5267534B2 (ja) | 2010-10-15 | 2010-10-15 | 記憶装置及び記憶装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010232322A JP5267534B2 (ja) | 2010-10-15 | 2010-10-15 | 記憶装置及び記憶装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012088758A true JP2012088758A (ja) | 2012-05-10 |
JP5267534B2 JP5267534B2 (ja) | 2013-08-21 |
Family
ID=46260359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010232322A Expired - Fee Related JP5267534B2 (ja) | 2010-10-15 | 2010-10-15 | 記憶装置及び記憶装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5267534B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05314020A (ja) * | 1992-05-08 | 1993-11-26 | Toshiba Corp | メモリカード装置 |
JP2010231699A (ja) * | 2009-03-30 | 2010-10-14 | Nec Corp | データ処理装置、データ処理方法、及びデータ処理プログラム |
-
2010
- 2010-10-15 JP JP2010232322A patent/JP5267534B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05314020A (ja) * | 1992-05-08 | 1993-11-26 | Toshiba Corp | メモリカード装置 |
JP2010231699A (ja) * | 2009-03-30 | 2010-10-14 | Nec Corp | データ処理装置、データ処理方法、及びデータ処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5267534B2 (ja) | 2013-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7694094B2 (en) | Transaction method for managing the storing of persistent data in a transaction stack | |
US8281229B2 (en) | Firmware verification using system memory error check logic | |
TWI490876B (zh) | 系統啟動引導處理方法及裝置 | |
TWI433157B (zh) | 存取快閃記憶體的方法以及相關之記憶裝置 | |
US8751817B2 (en) | Data processing apparatus and validity verification method | |
CN103858107A (zh) | 安全恢复装置和方法 | |
JP2006268524A (ja) | 記憶装置、その制御方法及びプログラム | |
US20190332480A1 (en) | Method, device and computer program product for detecting incomplete write of data | |
US20150370653A1 (en) | Replacement of a corrupt driver variable record | |
EP2339499A1 (en) | Storage device, information processing device, and program | |
TW201526007A (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
US8788800B2 (en) | OS processing method, system and non-transitory computer readable storage medium thereof | |
WO2022194048A1 (zh) | 一种数据更新方法、装置及车辆 | |
JP6861739B2 (ja) | 組み込み装置及びファームウェア更新方法 | |
JP2010067098A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US7657795B2 (en) | Method and apparatus for writing to a target memory page of a memory | |
US9507665B2 (en) | Computing device and method for accessing BIOS using middleware controller of the computing device | |
CN113238790A (zh) | 基于sd卡和eeprom的固件程序更新方法及系统 | |
US8261133B1 (en) | Protection and recovery of non-redundant information stored in a memory | |
JP5267534B2 (ja) | 記憶装置及び記憶装置の制御方法 | |
CN112579179A (zh) | 一种嵌入式系统的分区挂载方法 | |
CN111522686B (zh) | 一种非易失性数据的读写方法及装置 | |
CN112099987A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
US20060143369A1 (en) | Nonvolatile memory and card reader provided with the same | |
JP2005149291A (ja) | ファイルシステム、そのプログラム及び情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130312 |
|
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: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130422 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5267534 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |