JP5267534B2 - 記憶装置及び記憶装置の制御方法 - Google Patents
記憶装置及び記憶装置の制御方法 Download PDFInfo
- Publication number
- JP5267534B2 JP5267534B2 JP2010232322A JP2010232322A JP5267534B2 JP 5267534 B2 JP5267534 B2 JP 5267534B2 JP 2010232322 A JP2010232322 A JP 2010232322A JP 2010232322 A JP2010232322 A JP 2010232322A JP 5267534 B2 JP5267534 B2 JP 5267534B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage medium
- nonvolatile memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
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 (3)
- 所与のデータと、当該データの属性情報と、エントリが有効か無効かを示すSignature情報と、エントリのステータスを示すStatus情報とを含むエントリを記憶するための第1の記憶媒体と、
前記第1の記憶媒体の現在までの使用量と、当該使用量で示される前記第1の記憶媒体内の記憶データについてのチェックサム値とを記憶するための第2の記憶媒体と、
前記第1の記憶媒体、及び前記第2の記憶媒体の記憶内容を制御する制御手段と
を備え、
前記制御手段は、
前記第1の記憶媒体に新規エントリを生成する場合、当該エントリに含まれる前記Status情報に文字列の「ADDED」を記憶し、
前記第1の記憶媒体に記憶されているエントリを削除する場合、当該エントリに含まれる前記Status情報に文字列の「DELETED」を記憶し、
中断からの再起動時には、前記第2の記憶媒体に記憶されている前記現在までの使用量の範囲で、前記第1の記憶媒体の現在までの記憶データのチェックサム値を算出すると共に、当該算出したチェックサム値と、前記第2の記憶媒体に記憶されている前記チェックサム値とを比較し、当該比較が不一致となる場合は、前記第2の記憶媒体に記憶されている前記チェックサム値に対して前記文字列の「ADDED」と「DELETED」とのデータの相違によるチェックサム値の相違分を補正した上で、前記算出したチェックサム値との再比較を行うと共に、当該再比較でも不一致となる場合は、前記第1の記憶媒体に障害が生じたと判断する
ことを特徴とする記憶装置。 - 前記データは可変長データであり、
前記制御手段は、前記第1の記憶媒体に、前記データとして可変長データを記憶させて、前記データの属性情報として当該データの長さを示す情報を記憶させる
ことを特徴とする請求項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 JP2012088758A (ja) | 2012-05-10 |
JP5267534B2 true 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) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3175974B2 (ja) * | 1992-05-08 | 2001-06-11 | 株式会社東芝 | メモリカード装置 |
JP2010231699A (ja) * | 2009-03-30 | 2010-10-14 | Nec Corp | データ処理装置、データ処理方法、及びデータ処理プログラム |
-
2010
- 2010-10-15 JP JP2010232322A patent/JP5267534B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012088758A (ja) | 2012-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8589730B2 (en) | Handling errors during device bootup from a non-volatile memory | |
US8281229B2 (en) | Firmware verification using system memory error check logic | |
TWI490876B (zh) | 系統啟動引導處理方法及裝置 | |
US20090013122A1 (en) | Transaction Method for Managing the Storing of Persistent Data in a Transaction Stack | |
JP4824657B2 (ja) | 保安データを管理する装置およびその方法 | |
TWI433157B (zh) | 存取快閃記憶體的方法以及相關之記憶裝置 | |
JP2006268524A (ja) | 記憶装置、その制御方法及びプログラム | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN101344868B (zh) | 数据备份和获取的方法和装置 | |
US9710340B2 (en) | Replacement of a corrupt driver variable record | |
US8751817B2 (en) | Data processing apparatus and validity verification method | |
JP2012128643A (ja) | メモリシステム | |
US8788800B2 (en) | OS processing method, system and non-transitory computer readable storage medium thereof | |
TW201526007A (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
WO2022194048A1 (zh) | 一种数据更新方法、装置及车辆 | |
CN105786545B (zh) | 基于异构混合内存的断点恢复方法和*** | |
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 | |
US8261133B1 (en) | Protection and recovery of non-redundant information stored in a memory | |
CN112579179A (zh) | 一种嵌入式***的分区挂载方法 | |
JP5267534B2 (ja) | 記憶装置及び記憶装置の制御方法 | |
CN111522686B (zh) | 一种非易失性数据的读写方法及装置 | |
CN112099987A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
JP2009295089A (ja) | メモリアクセス制御方法及びメモリ制御装置、コンピュータプログラム | |
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 |