JP6332077B2 - データ管理装置およびプログラム - Google Patents
データ管理装置およびプログラム Download PDFInfo
- Publication number
- JP6332077B2 JP6332077B2 JP2015033147A JP2015033147A JP6332077B2 JP 6332077 B2 JP6332077 B2 JP 6332077B2 JP 2015033147 A JP2015033147 A JP 2015033147A JP 2015033147 A JP2015033147 A JP 2015033147A JP 6332077 B2 JP6332077 B2 JP 6332077B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- written
- block
- write request
- write
- 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
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
[1.第1実施形態]
[1−1.構成]
図1は、ブロック単位でデータの消去が行われるブロックを3個以上備える書換え可能な不揮発性の記憶装置としてフラッシュメモリを搭載しているデータ管理装置2の全体構成を示すブロック図である。データ管理装置2は、CPU10と、RAM12と、ROM14と、フラッシュコントローラ20と、フラッシュメモリ30と、入出力インターフェース(I/O)50とを備えている。電源60は、データ管理装置2の各部に電力を供給する。
図2には示されていないが、管理情報として「書込み中」は、書込み対象のブロック40のデータを消去中または書込み要求データを書込み中であることを表わしている。
(1)データ書込み処理
CPU10が実行するデータ書込み処理について説明する。図4のフローチャートは、CPU10が実行するフラッシュドライバソフト16が、CPU10が実行するアプリケーションソフト18またはデータ管理装置2以外の他の装置からフラッシュメモリ30に対する書込み要求を受け付けると実行される。
例えば、図5では、手順(1)において、ブロック#2の管理情報が「書込み済み」であり、ブロック#3の管理情報が「未書込み」である。このように、管理情報が「書込み済み」、「未書込み」の順序になっているブロック#2、#3において、ブロック#3の「未書込み」が示すブロック#1が次にデータを書込む対象のブロックとして決定される。
次に、CPU10は、手順(3)においてブロック#1のデータを消去することにより、手順(4)に示すように、ブロック#1の管理情報を「未書込み」に設定する。これにより、次にデータを書込むブロックはブロック#2になる。
図6の手順(1)において、図5の手順(1)と同様にデータA''の書込み要求を受け付けると、CPU10は、図5と同様に手順(1)〜(6)にしたがってブロック#1にデータA''を正常に書込む。
CPU10が実行するデータ復旧処理について説明する。図7のフローチャートは、電源切断から復帰したタイミング、つまり電源60が再投入されてデータ管理装置2が再起動するタイミングで実行される。
例えば、図5の手順(3)においてブロック#1のデータを消去中に電源60が切断されると、ブロック#1のデータは不定になる。この場合、ブロック#1の管理情報は「書込み済み」、「未書込み」、「書込み中」のいずれにもなり得る。ブロック#1の管理情報が「書込み中」になると、「書込み中」が書込まれているのはブロック#1とブロック#3との両方になる。
CPU10が実行するデータ読出し処理について説明する。図8のフローチャートは、フラッシュドライバソフト16がアプリケーションソフト18またはデータ管理装置2以外の他の装置からフラッシュメモリ30からの読出し要求を受け付けると実行される。図8のフローチャートにおいて「S」はステップを表わしている。
読出し要求と同じIDのブロックが複数ある場合、データ管理装置2は、例えば管理情報として「未書込み」が書込まれているブロックから結合方向を逆方向に検索し、最初に読出し要求のデータのIDと一致するIDのブロックからデータを読出す。管理情報として「未書込み」が書込まれているブロックに最新のデータが書込まれているので、結合方向を逆方向に検索することにより、読出し要求のデータのIDと一致するIDの最新のデータを読み出すことができる。
以上説明した第1実施形態によれば、以下の効果を得ることができる。
(1)3個以上のブロック40が環状に一方向に結合されており、管理情報がブロックの結合方向において次のブロックの書込み状態を表わしている。したがって、例えば、図5の手順(3)において、ブロック#2、#3に書込まれている管理情報の「書込み済み」、「書込み中」の順序に基づいて、ブロック#1の書込み状態が「書込み中」であることをブロック#3の管理情報が表わしていると判断できる。
[2−1.構成]
第2実施形態のデータ管理装置2の基本的な構成は第1実施形態と同様である。第2実施形態では、n種類のデータに対し、復旧用に同じ種類のデータをそれぞれ2個のブロックに書込み、合計で2n個のブロック40を使用する点が第1実施形態と異なる。
[2−2.効果]
第2実施形態では、第1実施形態の効果(1)、(2)、(4)に加え、以下の効果を得ることができる。
[3−1.構成]
第3実施形態のデータ管理装置2の基本的な構成は第1実施形態と同様である。第3実施形態では、1個の書込み要求データを受け付ける毎に特定順序と一致しているか否かを判定するのではなく、受け付ける書込み要求データをすべて一旦RAM12に記憶する。そして、書込みの要求順序が特定順序ではない場合、特定順序になるように並べ替えてブロック40に順次書込む。
第3実施形態では、第1実施形態の効果(1)〜(4)に加え、以下の効果を得ることができる。
[4−1.構成]
第4実施形態のデータ管理装置2の基本的な構成は第1実施形態と同様である。第4実施形態では、書込み要求データを受け付けると、環状に一方向に結合している2個のブロックに、特定順序として連続して同じ書込み要求データを書込む点が第1実施形態と異なる。
第4実施形態では、第1実施形態の効果(1)、(2)、(4)に加え、以下の効果を得ることができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、以下の種々の形態を取り得る。
(4)上記実施形態における一つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
Claims (7)
- ブロック(40)単位でデータの消去が行われる前記ブロックを3個以上備える書換え可能な不揮発性の記憶装置(30)と、
前記記憶装置からのデータの読出しと前記記憶装置へのデータの書込みとを実行する制御手段(10、16、S400〜S408、S420)と、
を備え、
3個以上の前記ブロックは、予め論理的に環状に一方向に結合されており、
各ブロックは、環状に一方向に結合された前記ブロックの結合方向において各ブロックの次の前記ブロックにおける書込み状態を表わす管理情報が書込まれる管理部(46)と、書込み要求で受け付ける書込み要求データが書込まれるデータ部(44)とを有し、
前記制御手段(S400〜S408)は、前記ブロックに前記書込み要求データを書込むときの予め設定された特定のデータ書込み順序である特定順序と前記結合方向とにしたがって、前記ブロックに前記書込み要求データを書込む、
ことを特徴とするデータ管理装置。 - 請求項1に記載のデータ管理装置であって、
前記制御手段は、前記管理情報として、前記書込み要求データが正常に書込まれたことを示す書込み済みと、前記書込み要求データを書込み中であることを示す書込み中と、次に前記書込み要求データを書込む対象であり、まだ前記書込み要求データが書込まれていないことを示す未書込みとのうちいずれかを設定する、
ことを特徴とするデータ管理装置。 - 請求項1または2に記載のデータ管理装置であって、
前記制御手段(S404〜S408)は、前記書込み要求で要求される前記書込み要求データの書込みの要求順序が前記特定順序ではない場合、前記特定順序となるように前記要求順序の前記書込み要求データの間にデータを補完して前記ブロックに前記書込み要求データを書込む、
ことを特徴とするデータ管理装置。 - 請求項2を引用する請求項3に記載のデータ管理装置であって、
前記制御手段は、前記ブロックに書込まれている前記管理情報と前記書込み要求データのデータ種類とに基づいて前記特定順序になるように次に書込むべき前記データ種類を決定し、次に書込むべき前記データ種類と前記書込み要求で書込みが要求される前記書込み要求データの前記データ種類とが一致する場合、前記未書込みが示す前記ブロックに前記書込み要求データを書込み、次に書込むべき前記データ種類と前記書込み要求で書込みが要求される前記書込み要求データの前記データ種類とが一致しない場合、次に書込むべき前記データ種類と同じ前記書込み要求データを前記ブロックから補完データとして読出して前記未書込みが示す前記ブロックに前記補完データを書込んでから、前記補完データが書込まれた次の前記ブロックに前記書込み要求データを書込む、
ことを特徴とするデータ管理装置。 - 請求項1または2に記載のデータ管理装置であって、
前記書込み要求で要求される前記書込み要求データの書込みの要求順序が前記特定順序ではない場合、前記制御手段は、前記要求順序の前記書込み要求データを前記特定順序に並べ替えてから前記ブロックに書込む、
ことを特徴とするデータ管理装置。 - 請求項1から5のいずれか一項に記載のデータ管理装置であって、
前記制御手段は環状に一方向に結合されている2個の前記ブロックに連続して前記書込み要求データを書込む、
ことを特徴とするデータ管理装置。 - 請求項1から6のいずれか一項に記載の手段としてコンピュータを機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015033147A JP6332077B2 (ja) | 2015-02-23 | 2015-02-23 | データ管理装置およびプログラム |
DE102016202684.4A DE102016202684B4 (de) | 2015-02-23 | 2016-02-22 | Datenmanagementvorrichtung und datenmanagementprogramm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015033147A JP6332077B2 (ja) | 2015-02-23 | 2015-02-23 | データ管理装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016157186A JP2016157186A (ja) | 2016-09-01 |
JP6332077B2 true JP6332077B2 (ja) | 2018-05-30 |
Family
ID=56577727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015033147A Active JP6332077B2 (ja) | 2015-02-23 | 2015-02-23 | データ管理装置およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6332077B2 (ja) |
DE (1) | DE102016202684B4 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7089423B2 (ja) * | 2018-07-12 | 2022-06-22 | ルネサスエレクトロニクス株式会社 | 情報処理装置及び制御方法 |
WO2023190210A1 (ja) * | 2022-03-30 | 2023-10-05 | ローム株式会社 | 電源管理回路および電子機器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4419752B2 (ja) * | 2004-08-25 | 2010-02-24 | 株式会社デンソー | データ記憶装置 |
JP2007328438A (ja) | 2006-06-06 | 2007-12-20 | Seiko Epson Corp | 情報処理装置、そのデータバックアップ及び復旧方法 |
JP2012123733A (ja) * | 2010-12-10 | 2012-06-28 | Seiko Epson Corp | 情報処理装置及び情報処理装置におけるデータ管理方法 |
US20130198453A1 (en) | 2012-01-26 | 2013-08-01 | Korea Electronics Technology Institute | Hybrid storage device inclucing non-volatile memory cache having ring structure |
US9678863B2 (en) | 2012-06-12 | 2017-06-13 | Sandisk Technologies, Llc | Hybrid checkpointed memory |
-
2015
- 2015-02-23 JP JP2015033147A patent/JP6332077B2/ja active Active
-
2016
- 2016-02-22 DE DE102016202684.4A patent/DE102016202684B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
DE102016202684B4 (de) | 2022-09-29 |
DE102016202684A1 (de) | 2016-08-25 |
JP2016157186A (ja) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108183957B (zh) | 主从同步方法及装置 | |
CN104516793A (zh) | 数据镜像控制设备和方法 | |
US9063894B2 (en) | Cascade ordering | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
CN102378969A (zh) | 拷贝卷中存储的数据的去重复 | |
US9552286B2 (en) | Information processing apparatus and installation method | |
JP2006120082A (ja) | メモリカード、半導体装置、及びメモリカードの制御方法 | |
CN113744064B (zh) | 在区块链节点中执行交易的方法及装置 | |
JPWO2009004674A1 (ja) | 記憶装置、ディスク装置、書込み判定方法、制御装置 | |
CN101246429B (zh) | 将闪存模块用作主存储器的电子系统和相关系统引导方法 | |
JP2019133633A (ja) | 電子コンピュータ装置及び方法 | |
JP6332077B2 (ja) | データ管理装置およびプログラム | |
US20160283148A1 (en) | Backup control device, backup control method, and recording medium | |
EP2977907B1 (en) | Data storage device, method for storing data, and onboard control device | |
JP2010086009A (ja) | 記憶装置およびメモリ制御方法 | |
US7257030B2 (en) | Operating a storage component | |
JP4558393B2 (ja) | 情報処理装置 | |
CN111045709B (zh) | 固件升级方法和固件升级装置 | |
KR101969799B1 (ko) | 전자 장치 및 제어 방법 | |
JP2009223435A (ja) | データ記憶方法及び装置、並びにプログラム | |
JP4239754B2 (ja) | 不揮発メモリシステム | |
US9971659B1 (en) | Memory programming providing corruption protection | |
US7934067B2 (en) | Data update history storage apparatus and data update history storage method | |
JP3790756B2 (ja) | ディスクアレイ装置、ディスク制御装置及びディスクアレイのデータ障害を復旧する方法 | |
KR101545077B1 (ko) | 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180328 |
|
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: 20180403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180416 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6332077 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |