JP7089423B2 - 情報処理装置及び制御方法 - Google Patents
情報処理装置及び制御方法 Download PDFInfo
- Publication number
- JP7089423B2 JP7089423B2 JP2018132068A JP2018132068A JP7089423B2 JP 7089423 B2 JP7089423 B2 JP 7089423B2 JP 2018132068 A JP2018132068 A JP 2018132068A JP 2018132068 A JP2018132068 A JP 2018132068A JP 7089423 B2 JP7089423 B2 JP 7089423B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- flag
- update status
- memory area
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
このため、データの更新処理の中断が発生しても、有効なデータを特定することができる技術が求められている。
まず、実施の形態の詳細な説明に先立って、実施の形態の概要について説明する。図1は、実施の形態の概要にかかる情報処理装置1の構成の一例を示すブロック図である。情報処理装置1は、記憶部2と、制御部3と、使用データ決定部4とを有する。
以下、実施の形態の詳細について説明する。図2は、実施の形態にかかるマイクロコントローラ10の構成の一例を示すブロック図である。マイクロコントローラ10は、図1の情報処理装置1に相当する。図2に示すように、マイクロコントローラ10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、周辺回路13と、データ格納用フラッシュメモリ14と、機能設定用フラッシュメモリ15と、使用データ決定部16と、フラッシュシーケンサ17と、周辺バス18とを有する。周辺バス18は、CPU11、フラッシュシーケンサ17、及び周辺回路13が接続されるバスである。
次に、ステップ112(S112)において、フラッシュシーケンサ17は、スイッチ領域100_1を消去する。
次に、ステップ113(S113)において、フラッシュシーケンサ17は、スイッチ領域100_0に、消去完了フラグA1ECとして、消去の完了を示す所定値を書き込む。
次に、ステップ122(S122)において、フラッシュシーケンサ17は、スイッチ領域100_0を消去する。
次に、ステップ123(S123)において、フラッシュシーケンサ17は、スイッチ領域100_1に、消去完了フラグA0ECとして、消去の完了を示す所定値を書き込む。
次に、ステップ214(S214)において、フラッシュシーケンサ17は、スイッチ領域100_1に、書き込み完了フラグA1PCとして、書き込みの完了を示す所定値を書き込む。
次に、ステップ224(S224)において、フラッシュシーケンサ17は、スイッチ領域100_0に、書き込み完了フラグA0PCとして、書き込みの完了を示す所定値を書き込む。
次に、ステップ312(S312)において、フラッシュシーケンサ17は、タグ領域200を消去する。
次に、ステップ313(S313)において、フラッシュシーケンサ17は、スイッチ領域100_1に、消去完了フラグTEC1として、消去の完了を示す所定値を書き込む。
次に、ステップ322(S322)において、フラッシュシーケンサ17は、タグ領域200を消去する。
次に、ステップ323(S323)において、フラッシュシーケンサ17は、スイッチ領域100_0に、消去完了フラグTEC0として、消去の完了を示す所定値を書き込む。
次に、ステップ412(S412)において、フラッシュシーケンサ17は、タグ領域200に、書き込み完了フラグVAPCとして、書き込みの完了を示す所定値を書き込む。
次に、ステップ422(S422)において、フラッシュシーケンサ17は、タグ領域200に、書き込み完了フラグVAPCとして、書き込みの完了を示す所定値を書き込む。
同様に、図12における状態(F)、(G)、(H)は、スイッチ領域100_0からスイッチ領域100_1への有効領域の切り替え途中において、電源瞬断等により更新処理が中断した場合に発生するフラグのパターンを示している。これらの状態の場合も、領域の切り替え処理が完全に終わっていないため、スイッチ領域100_1ではなくスイッチ領域100_0を有効領域と判定する。
次に、実施の形態2について説明する。以下、実施の形態1と異なる点について説明し、実施の形態1と同様な点については説明を省略する。
また、無効なスイッチ領域100への設定データの書き込みが行われる前に有効スイッチ領域フラグVAFの更新が行われると、設定データの書き込みが行われていないにもかかわらず、当該スイッチ領域100が有効な領域と判定されてしまう。例えば、「スイッチ領域消去」コマンド、「タグ領域消去」コマンド、「タグ領域更新」コマンドという順でコマンドが実行された場合、すなわち、「スイッチ領域書き込み」コマンドが実行されない誤った手順で機能設定用フラッシュメモリ15の更新が実施されると、有効領域の判定を正しく行えなくなる。
このように、上述した有効領域の判定方法では、タグ領域200とスイッチ領域100_0が同時に消去された場合、又はタグ領域200とスイッチ領域100_1が同時に消去された場合、有効な領域を正しく判定できない恐れがある。そこで、本実施の形態では、フラッシュシーケンサ17は、所定の条件を満たした場合に限り、メモリ領域の消去を行う。
スイッチ領域100_1の全ての設定データが書き込み済みである場合(ステップ331でYes)、処理は、ステップ311へ移行し、図9に示した処理と同様の処理が行われる。これに対し、スイッチ領域100_1のいずれかの設定データが書き込み済みでない場合(ステップ331でNo)、処理はエラー終了する。すなわち、この場合、タグ領域200の消去は行われない。
このため、設定データが書き込み済みでない状態で、タグ領域200の消去が開始されてしまうことを防ぐことができる。したがって、実施の形態1よりも、有効領域の判定の確実性を向上できる。
次に、実施の形態3について説明する。以下、実施の形態1又は実施の形態2と異なる点について説明し、実施の形態1又は実施の形態2と同様な点については説明を省略する。
セキュリティ設定領域300Bは、IDなどのセキュリティ機能を設定するための機能設定データを記憶する領域である。
ブロック保護設定領域300Cは、データ格納用フラッシュメモリ14の各ブロックに対する書き換え許可及び禁止などを設定するための機能設定データを記憶する領域である。
本実施の形態では、マイクロコントローラ10の所定の機能についての機能設定データが記憶されるメモリ領域として、機能設定用フラッシュメモリ15は、コンフィギュレーション設定領域300A、セキュリティ設定領域300B、及びブロック保護設定領域300Cの3つのメモリ領域を備える。これに対応して、スイッチ領域100_0は3つの設定データD0-0、D0-1、D0-2を記憶し、スイッチ領域100_1も3つの設定データD1-0、D1-1、D1-2を記憶している。つまり、マイクロコントローラ10の所定の機能についての機能設定データが記憶されるメモリ領域の数に応じて、スイッチ領域100_0及びスイッチ領域100_1に記憶すべき設定データ数は変わる。
なお、以下の説明では、コンフィギュレーション設定領域300A、セキュリティ設定領域300B、及びブロック保護設定領域300Cについて、区別せずに言及する場合、設定領域300と称す。
なお、マイクロコントローラ10の起動時に、各種機能設定のためにスイッチ領域100から読み出した設定データをレジスタ(図示せず)に格納している場合には、フラッシュシーケンサ17は、スイッチ領域100の設定データではなくレジスタの値を参照して、分割領域CNF_0と分割領域CNF_1のいずれが無効な領域であるかを決定してもよい。
また、スイッチ領域100_0の設定データD0-1とスイッチ領域100_1の設定データD1-1は、セキュリティ設定領域300Bのいずれかの分割領域を指定するデータである。換言すると、設定データD0-1、D1-1は、分割領域SEC_0に記憶された機能設定データ又は分割領域SEC_1に記憶された機能設定データのいずれかを指定するデータである。
また、スイッチ領域100_0の設定データD0-2とスイッチ領域100_1の設定データD1-2は、ブロック保護設定領域300Cのいずれかの分割領域を指定するデータである。換言すると、設定データD0-2、D1-2は、分割領域BP_0に記憶された機能設定データ又は分割領域BP_1に記憶された機能設定データのいずれかを指定するデータである。
上記に示した全ての実施形態において、上述した処理を行う各要素は、ハードウェア的には、プロセッサ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラム等によって実現される。したがって、これらの処理がハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
2 記憶部
3 制御部
4 使用データ決定部
5_1、5_2、5_3 メモリ領域
6_1、6_2 データ
7 有効指示フラグ
8_1、8_2、8_3 更新状況フラグ
10 マイクロコントローラ
11 CPU
12 RAM
13 周辺回路
14 データ格納用フラッシュメモリ
15 機能設定用フラッシュメモリ
16 使用データ決定部
17 フラッシュシーケンサ
18 周辺バス
100、100_0、100_1 スイッチ領域
200 タグ領域
300 設定領域
300A コンフィギュレーション設定領域
300B セキュリティ設定領域
300C ブロック保護設定領域
BP_0、BP_1、CNF_0、CNF_1、SEC_0、SEC_1 分割領域
Claims (9)
- 第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記第1の更新状況フラグは、前記第2のメモリ領域に記憶され、前記第1のデータの更新のために行われる前記第1のメモリ領域の消去処理が開始したか否か又は完了したか否かを示すフラグであり、
前記第2の更新状況フラグは、前記第1のメモリ領域に記憶され、前記第2のデータの更新のために行われる前記第2のメモリ領域の消去処理が開始したか否か又は完了したか否かを示すフラグであり、
前記第3の更新状況フラグは、前記第1のメモリ領域又は前記第2のメモリ領域に記憶され、前記有効指示フラグの更新のために行われる前記第3のメモリ領域の消去処理が開始したか否か又は完了したか否かを示すフラグである
情報処理装置。 - 第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記制御部は、現在有効なデータが前記第1のデータである場合、前記第2のメモリ領域に前記第2のデータが記憶されている場合に限り、CPU(Central Processing Unit)から消去コマンドを受信したことに応じて実行される消去である、前記第3のメモリ領域の消去を実施し、現在有効なデータが前記第2のデータである場合、前記第1のメモリ領域に前記第1のデータが記憶されている場合に限り、前記CPUから消去コマンドを受信したことに応じて実行される消去である、前記第3のメモリ領域の消去を実施する
情報処理装置。 - 第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記記憶部には、さらに、前記第3の更新状況フラグに含まれる、前記有効指示フラグの書き込みが完了したか否かを示す書き込み完了フラグが記憶され、
前記制御部は、前記書き込み完了フラグが書き込みの完了を示す場合に限り、CPUから消去コマンドを受信したことに応じて実行される消去である、前記第1のメモリ領域又は前記第2のメモリ領域の消去を実施する
情報処理装置。 - 第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記記憶部には、さらに、前記第1の更新状況フラグとは異なるフラグである前記第1のデータの書き込みが完了したか否かを示す第1の書き込み完了フラグと前記第2の更新状況フラグとは異なるフラグである前記第2のデータの書き込みが完了したか否かを示す第2の書き込み完了フラグが記憶され、
前記制御部は、前記第1の書き込み完了フラグ又は前記第2の書き込み完了フラグが、新たに有効とすべきデータについて書き込みの完了を示す場合に限り、CPUから消去コマンドを受信したことに応じて実行される消去である、前記第3のメモリ領域の消去を実施する
情報処理装置。 - 情報処理装置であって、
第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記記憶部は、さらに、所定の機能についての機能設定データが記憶される第4のメモリ領域及び第5のメモリ領域を含み、
前記第1のデータ及び前記第2のデータは、前記第4のメモリ領域に記憶された前記機能設定データ又は前記第5のメモリ領域に記憶された前記機能設定データのいずれを前記情報処理装置において使用するかを指定するデータであり、
前記制御部は、前記機能設定データが値の変更を禁止する対象である場合、前記第4のメモリ領域と前記第5のメモリ領域のいずれか一方に対し新たな前記機能設定データの書き込み指示を受け付けたとき、当該新たな前記機能設定データに代えて、他方に記憶されている、現在有効なデータである前記機能設定データを書き込む
情報処理装置。 - 情報処理装置であって、
第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記記憶部は、さらに、所定の機能についての機能設定データが記憶される第4のメモリ領域及び第5のメモリ領域を含み、
前記第1のデータ及び前記第2のデータは、前記第4のメモリ領域に記憶された前記機能設定データ又は前記第5のメモリ領域に記憶された前記機能設定データのいずれを前記情報処理装置において使用するかを指定するデータであり、
前記制御部は、有効であるデータが前記第1のデータであることを示す前記有効指示フラグを前記第3のメモリ領域に書き込む場合、前記第1のデータが記憶され、かつ、記憶された前記第1のデータにより指定される前記機能設定データが記憶されている場合に限り、前記有効指示フラグの書き込みを実施する
情報処理装置。 - 情報処理装置であって、
第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記記憶部は、さらに、所定の機能についての機能設定データが記憶される第4のメモリ領域及び第5のメモリ領域を含み、
前記第1のデータ及び前記第2のデータは、前記第4のメモリ領域に記憶された前記機能設定データ又は前記第5のメモリ領域に記憶された前記機能設定データのいずれを前記情報処理装置において使用するかを指定するデータであり、
前記記憶部は、前記第4のメモリ領域及び前記第5のメモリ領域の組をn個(nは2以上の整数)含み、
前記第1のメモリ領域は、n個の前記第1のデータを記憶し、
前記第2のメモリ領域は、n個の前記第2のデータを記憶する
情報処理装置。 - 第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含む記憶部と、
前記記憶部に対する消去及び書き込みを制御する制御部と、
前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、使用するデータを決定する使用データ決定部と、
を有し、
前記制御部は、前記記憶部に、前記第1のデータの更新状況を示す第1の更新状況フラグと前記第2のデータの更新状況を示す第2の更新状況フラグと前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記使用データ決定部は、前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定し、
前記記憶部は、フラッシュメモリであり、
前記制御部は、
前記第1の更新状況フラグを前記第2のメモリ領域に記憶し、
前記第2の更新状況フラグを前記第1のメモリ領域に記憶し、
前記第3の更新状況フラグを前記第1のメモリ領域又は前記第2のメモリ領域に記憶する
情報処理装置。 - 第1のデータが記憶される第1のメモリ領域と、第2のデータが記憶される第2のメモリ領域と、前記第1のデータと前記第2のデータのうちどちらが有効であるかを示す有効指示フラグが記憶される第3のメモリ領域とを含むフラッシュメモリである記憶部の前記第2のメモリ領域に前記第1のデータの更新状況を示す第1の更新状況フラグを記憶し、前記第1のメモリ領域に前記第2のデータの更新状況を示す第2の更新状況フラグを記憶し、前記第1のメモリ領域又は前記第2のメモリ領域に前記有効指示フラグの更新状況を示す第3の更新状況フラグを記憶し、
前記有効指示フラグに基づく判定が不可能である場合、前記第1の更新状況フラグ、前記第2の更新状況フラグ、及び前記第3の更新状況フラグの値に基づいて、前記第1のデータと前記第2のデータのうちどちらが有効であるかを判定する
制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018132068A JP7089423B2 (ja) | 2018-07-12 | 2018-07-12 | 情報処理装置及び制御方法 |
US16/450,294 US11137937B2 (en) | 2018-07-12 | 2019-06-24 | Information processing device and control method determining valid data in multiple memory areas based on multiple valid flags |
CN201910610918.0A CN110716693B (zh) | 2018-07-12 | 2019-07-08 | 信息处理器件和控制方法 |
EP19185316.7A EP3594818B1 (en) | 2018-07-12 | 2019-07-09 | Information processing device and control methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018132068A JP7089423B2 (ja) | 2018-07-12 | 2018-07-12 | 情報処理装置及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020009347A JP2020009347A (ja) | 2020-01-16 |
JP7089423B2 true JP7089423B2 (ja) | 2022-06-22 |
Family
ID=67226054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018132068A Active JP7089423B2 (ja) | 2018-07-12 | 2018-07-12 | 情報処理装置及び制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11137937B2 (ja) |
EP (1) | EP3594818B1 (ja) |
JP (1) | JP7089423B2 (ja) |
CN (1) | CN110716693B (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154926A (ja) | 1999-11-25 | 2001-06-08 | Nec Shizuoka Ltd | フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体 |
JP2006031276A (ja) | 2004-07-14 | 2006-02-02 | Sony Corp | 半導体集積回路、データ記憶方法及びデータ通信装置 |
JP2013037430A (ja) | 2011-08-04 | 2013-02-21 | Dainippon Printing Co Ltd | Icチップ、icチップにおける処理方法、及びicチップ用処理プログラム |
JP2015191395A (ja) | 2014-03-28 | 2015-11-02 | 大日本印刷株式会社 | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム |
JP2016133874A (ja) | 2015-01-16 | 2016-07-25 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びフラッシュメモリ制御方法 |
JP2016157186A (ja) | 2015-02-23 | 2016-09-01 | 株式会社デンソー | データ管理装置およびプログラム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
JP3364356B2 (ja) * | 1995-03-30 | 2003-01-08 | 富士通株式会社 | メモリ書替え装置 |
JP3640154B2 (ja) * | 1997-09-30 | 2005-04-20 | ソニー株式会社 | 不揮発性メモリ、不揮発性メモリの管理方法、不揮発性メモリを有する記憶装置、不揮発性メモリを管理するデータ管理装置及びデータ処理システム |
JP4188744B2 (ja) * | 2003-04-08 | 2008-11-26 | 株式会社ルネサステクノロジ | メモリカード |
WO2006011186A1 (ja) * | 2004-07-23 | 2006-02-02 | Spansion Llc | コントローラ、データ記憶システム、データ書き換え方法及びコンピュータプログラムプロダクト |
JP4883570B2 (ja) * | 2006-09-27 | 2012-02-22 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置、不揮発性半導体記憶装置、及びそれらの動作方法 |
EP2225643B1 (en) * | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
JP2011129192A (ja) * | 2009-12-16 | 2011-06-30 | Samsung Electronics Co Ltd | 半導体記憶装置 |
JP2011128998A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | 半導体記憶装置 |
JP5793061B2 (ja) * | 2011-11-02 | 2015-10-14 | ルネサスエレクトロニクス株式会社 | キャッシュメモリ装置、キャッシュ制御方法、およびマイクロプロセッサシステム |
JP2014071535A (ja) * | 2012-09-27 | 2014-04-21 | Fujitsu Semiconductor Ltd | メモリ管理装置、マイクロコントローラ及びメモリ管理方法 |
JP6005566B2 (ja) * | 2013-03-18 | 2016-10-12 | 株式会社東芝 | 情報処理システム、制御プログラムおよび情報処理装置 |
CN103544995B (zh) * | 2013-08-27 | 2016-09-21 | 华为技术有限公司 | 一种坏道修复方法及装置 |
TWI516921B (zh) * | 2013-10-02 | 2016-01-11 | 群聯電子股份有限公司 | 資料處理方法、記憶體儲存裝置與記憶體控制電路單元 |
JP6631513B2 (ja) * | 2014-05-07 | 2020-01-15 | ソニー株式会社 | メモリ制御装置、メモリ装置およびメモリ制御方法 |
TWI557744B (zh) * | 2015-01-27 | 2016-11-11 | 緯創資通股份有限公司 | 資料儲存方法及嵌入式系統 |
JP2017010396A (ja) * | 2015-06-24 | 2017-01-12 | 富士通株式会社 | ストレージ装置、キャッシュ書込制御方法及びキャッシュ書込制御プログラム |
JP2017027479A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | データ読出し方法及び情報処理システム |
US20170083254A1 (en) * | 2015-09-19 | 2017-03-23 | Qualcomm Incorporated | Secure transaction management techniques |
US10607195B2 (en) * | 2016-06-06 | 2020-03-31 | ArrowPass, Inc. | Facilitating selling and validating digital resources |
US10416931B2 (en) * | 2016-09-30 | 2019-09-17 | Hewlett Packard Enterprise Development Lp | Fault tolerance in shared memory |
JP6753257B2 (ja) * | 2016-10-04 | 2020-09-09 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム |
-
2018
- 2018-07-12 JP JP2018132068A patent/JP7089423B2/ja active Active
-
2019
- 2019-06-24 US US16/450,294 patent/US11137937B2/en active Active
- 2019-07-08 CN CN201910610918.0A patent/CN110716693B/zh active Active
- 2019-07-09 EP EP19185316.7A patent/EP3594818B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154926A (ja) | 1999-11-25 | 2001-06-08 | Nec Shizuoka Ltd | フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体 |
JP2006031276A (ja) | 2004-07-14 | 2006-02-02 | Sony Corp | 半導体集積回路、データ記憶方法及びデータ通信装置 |
JP2013037430A (ja) | 2011-08-04 | 2013-02-21 | Dainippon Printing Co Ltd | Icチップ、icチップにおける処理方法、及びicチップ用処理プログラム |
JP2015191395A (ja) | 2014-03-28 | 2015-11-02 | 大日本印刷株式会社 | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム |
JP2016133874A (ja) | 2015-01-16 | 2016-07-25 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びフラッシュメモリ制御方法 |
JP2016157186A (ja) | 2015-02-23 | 2016-09-01 | 株式会社デンソー | データ管理装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2020009347A (ja) | 2020-01-16 |
CN110716693A (zh) | 2020-01-21 |
CN110716693B (zh) | 2024-02-13 |
US20200019341A1 (en) | 2020-01-16 |
US11137937B2 (en) | 2021-10-05 |
EP3594818B1 (en) | 2021-05-05 |
EP3594818A1 (en) | 2020-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4031190B2 (ja) | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 | |
JP2011129192A (ja) | 半導体記憶装置 | |
US20150153960A1 (en) | Methods of sanitizing a flash-based data storage device | |
KR100507884B1 (ko) | 플래시 메모리의 메모리 재기록 제어 시스템, 메모리 재기록 제어 방법, 메모리 재기록 제어 방법의 각 공정을 실행시키는 프로그램을 기록한 정보 기록 매체 | |
JP2009230407A (ja) | データの更新方法、メモリシステムおよびメモリデバイス | |
JP2001014871A (ja) | 不揮発性半導体記憶装置 | |
JP3875153B2 (ja) | 不揮発性半導体記憶装置およびその書き換え禁止制御方法 | |
JP2001195241A (ja) | コンピュータ | |
JP2006350885A (ja) | 半導体装置 | |
JP4480815B2 (ja) | メモリ書き換え方法及びコンピュータシステム | |
JP2008504628A (ja) | 安全なフラッシング | |
JP2008533574A (ja) | セクタ単位での消去の可能な半導体メモリ手段の第1のセクタへの再書き込み方法および装置 | |
JP2017097576A (ja) | 書換システム | |
JP7089423B2 (ja) | 情報処理装置及び制御方法 | |
JP6575157B2 (ja) | ファームウェアのダウンロード方法及びファームウェア組込機器 | |
WO2018150820A1 (ja) | 情報処理装置 | |
JP4452158B2 (ja) | 不揮発性メモリシステム | |
JP2007011929A (ja) | 不揮発性メモリのデータ更新方法、制御装置、及びデータ更新プログラム | |
JP2011081641A (ja) | メモリ制御装置 | |
JPH11282690A (ja) | 制御プログラムの書込方法及び情報処理装置並びに情報処理システム | |
JP2005128613A (ja) | 画像形成装置 | |
JP5787095B2 (ja) | 不揮発性メモリへのデータ記憶方法 | |
JPH06222986A (ja) | メモリ制御装置 | |
JP2001051910A (ja) | 不揮発メモリ装置 | |
JP2011108161A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220105 |
|
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: 20220524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7089423 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |