JP4060639B2 - データ管理装置 - Google Patents
データ管理装置 Download PDFInfo
- Publication number
- JP4060639B2 JP4060639B2 JP2002139984A JP2002139984A JP4060639B2 JP 4060639 B2 JP4060639 B2 JP 4060639B2 JP 2002139984 A JP2002139984 A JP 2002139984A JP 2002139984 A JP2002139984 A JP 2002139984A JP 4060639 B2 JP4060639 B2 JP 4060639B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- information
- file
- record
- 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 - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、組み込みチップ上のメモリ管理(データ参照、データ書き込み)のためのデータ管理の技術分野に属する。
【0002】
【従来の技術】
(スマートカード(Smart Card)とアトミシティ(Atomicity))
組み込みチップにおけるデータは、EEPROMやフラッシュメモリ、FeRAM(強誘電体メモリ)など、不揮発性メモリが用いられる。これらの不揮発性メモリの用途として、ICカード、携帯電話などのデータ格納デバイスとして用いられる。これらのデバイスは、以下の特徴をもつ。
(1)容量が小さい。(数Kbytes〜数100Kbytes)
(2)データの書き込み時間が遅い。(1ページあたり数ms〜10ms程度)
これらのデバイスを用いて格納されるデータの1つに電子マネーなどの電子価値情報がある。このような電子価値情報を不揮発性メモリに格納するためには、「Atomicity」を保証することが必要不可欠であることが知られている。Atomicityとは、あるデータのデータ格納のTransaction(処理)において、その処理後の状態が「そのデータを完全に格納している」か「そのデータを全く格納していない」の2つの状態(all or nothing)だけをとるTransactionの特徴である。この手法については、既に、データベースの分野で様々な方法(データ書き込み保証方式)が確立されており、これらの分野の技術を用いて、前述した「容量」や「書き込み遅延」を考慮した不揮発性メモリに対する「データ書き込み保証方式」が報告されている。
【0003】
(Before-Image Logging法)
文献「Recoverable Persistent Memory for Smart Card (CARDIS2000,LNCS 1820,pp.134-140,2000」によれば、次の方法によって、データ書き込み保証が達成される。
まず、「Before-Image Log」と呼ばれる退避領域と、実際にデータを保存する「データ保持領域」を、不揮発性メモリに用意する。Before-Image Logには、「データ保持領域のアドレス」と「そのアドレスに格納されているデータ」が格納される。
今、データXをデータ保持領域のアドレスA上に格納する。
(1)Before-Image LogにデータYが存在するかどうかについて確認する。
データが存在した場合 (2)へ
データが存在しなかった場合 (4)へ
(2)Before-Image Logの書き込み先アドレスBとデータYをデータ保持領域に書き込む。
(3)(6)へ
(4)アドレスAと、アドレスAにあるデータYをBefore-Image Logに書き込む。(バックアップをとる。)
(5)データXをデータ保持領域のアドレスAに書き込む。
(6)Before-Image Logファイルをクリアする。 この方法では、不揮発性メモリにデータを書き込む処理(2)(4)(5)(6)において、障害が発生した際のAtomicityが損なわれる可能性があるが、処理(2)(4)(5)のいずれかで障害が発生しても、Before-Image Log内のデータが変更されていないため、単に処理(1)から処理を復旧させることで不揮発性メモリの状態を戻すことができる。
【0004】
(After-Image Logging法)
文献「ICカードとICカードのデータ更新方法」(特開2000−172804(特願平10−341838号))では、Before-Image Logging法に比べてデータ書き込みのタイミングをずらしたAfter-Image Logging法を用いた方法が提案されている。
まず、「Commit Buffer(コミットバッファ)」と呼ばれる退避領域と、実際にデータを格納する「データ保持領域」を不揮発性メモリに保持する。Commit Bufferには、データ保持領域に格納するデータとデータ保持領域の格納先アドレスが保持される。また、書き込みが正常に行われているかどうかについては、Commit Flag(コミットフラッグ)を用いて判断される。
今、データXをデータ保持領域のアドレスA上に格納する。
(1)Commit Bufferのデータ内に、データ保持領域の格納先アドレスAが存在するか確認する。
存在した場合 (2)へ
存在しない場合 (3)へ
(2)Commit BufferのデータYを、データ保持領域のアドレスAに書き込む。
(書き込み後、Commit BufferのCommit FlagをOFFにする。)
(3)Commit Bufferの容量を確認
容量が不足した場合 (2)へ
容量が不足しない場合 (4)へ
(4)Commit BufferにアドレスAとデータXを書き込む。
(書き込み後、Commit BufferのCommit FlagをONにする。)
(5)データ保持領域の格納先アドレスAにデータXを書き込む。
(6)処理終了
この方式では、不揮発性メモリにデータを書き込む処理(2)(4)(5)において、障害が発生した際にAtomicityが損なわれる可能性がある。処理(2)で障害が発生した場合、Commit Buffer内のデータが変更されていないため、単に処理(1)から処理を復旧させることで不揮発性メモリの状態を戻すことが可能である。処理(4)で障害が発生した場合、Commit FlagがOFFの状態であるため、単に処理(1)から処理を開始することで復旧させることができる。処理(5)で障害が発生した場合、Commit Buffer内のデータは既に格納されているため処理(1)から処理を再開すればよい。
この方式では、データ保持領域のアドレスAにあるデータを参照するには、以下のように行う。
(1)Commit Bufferのデータ内に、データ保持領域の格納先アドレスAが存在するか確認する。
存在した場合 Commit BufferのデータXを参照し、終了する。
存在しない場合 (2)へ
(2)データ保持領域のアドレスAにデータが存在するか確認する。
存在した場合 データ保持領域のデータXを参照し、終了する。
存在しない場合 エラー終了(該当データなし)
【0005】
(Before-Image Logging法とAfter-Image Logging法)
Before-Image Logging法は、不揮発性メモリに対する書き込み回数が増加する。これは、必ず、Befor-Image Logと呼ばれるバックアップ領域にデータを格納する必要があるためである。また、異常系からの復旧処理では、1度Befor-Image Logにあるデータを復旧し、その後に本トランザクションを実装するため、処理時間が正常系に比べてかかる。
After-Image Logging法はCommit Bufferの容量が要求される。この容量が少ない場合、Commit Bufferの情報をデータ保持領域にコピーし領域を空ける必要があるため、不揮発性メモリへの書き込み回数は増加する。また、データを参照する際に、Commit Bufferからデータの検索を行い、次に、データ保持領域に対して検索を行うために処理時間がかかる。この問題点を解決した方法がShadow Page法である。
【0006】
(Shadow Page法)
文献「Recoverable Persistent Memory for Smart Card(CARDIS2000,LNCS 1820,pp.134-140,2000)」によれば、前述したAfter-Image Logging法に近い形式として、「Shadow Page法」が報告されている。
まず、「Indirection Table」と呼ばれるアドレス格納領域と、実際にデータを格納する「データ保持領域」を不揮発性メモリに保持する。Indirection Tableには、各データのデータ保持領域のアドレスが保持される。データ保持領域には「Free Page」と呼ばれるデータ書き込み領域が、データ保持領域上のどこかに存在する。ここで、Indirection Tableは、Free Pageのアドレスを保持しない。
今、データ保持領域のアドレスAにあるデータXをYに更新する。Free Pageがデータ保持領域B上に存在するものとする。
(1)Indirection Tableを揮発性領域(RAM領域)にコピーする。(Translation Tableとする。)
(2)Free PageにデータYを格納する。
(3)Translation TableのデータXが格納されているアドレスAをBに書き換える。
(4)Translation TableをIndirection Tableにコピーする。
(5)処理終了
この方式では、不揮発性メモリにデータを書き込む処理(2)(4)において、障害が発生した際にAtomicityが損なわれる可能性がある。処理(2)で障害が発生した場合、Indirection Tableは更新されていない。従って、処理(1)から開始することで復旧可能である。
【0007】
(ページ切り替え法(Switching法))
「Shadow Page法」では、Translation Tableを書き込む際に、EEPROMの書き込み時間を考慮しておらず、書き込みの際に異常が発生した場合、状態を保持できなくなり、完全にAtomicityを保証している方式としては不十分である。この問題を解決する方法として、「Implementation of Transaction for Open Smart Card」(システム管理法)や「トランザクション管理装置(特願2001−138564)」(ビット切り替え法)が報告されている。これらの方式では、Indirection Tableを2面用意し、一方を、Shadow Page法におけるTranslaton Tableとし、その切り替えを瞬間的に(Atomic(アトミック)に)行うことで完全にAtomicityを保証している方式である。両方式の違いについては、「システム管理法」では、この切り替えを利用可能なEEPROM領域の判別を行うメモリマネージャのようなメモリ管理装置が代行し、なんらかの方法で、有効ページを判別し、Atomicityの保証を行っているのに対して、「ビット切り替え法」では、1ビットの変更がAtomicに行えるというEEPROM等不揮発性メモリの性質を利用して、EEPROMページの更新を行い、Atomicityを保証している。また、Switching法では、スイッチを多段に構成することによって、切り分けられた複数のデータ保持領域に対する書き込み保証も行うことが可能である。
【0008】
【発明が解決しようとする課題】
Shadow Page法やSwitching法を用いた方式では、以下の問題がある。
▲1▼データ保持領域を切り分ける際に、ある1つの連続領域を単位として切り分け、切り分けた領域毎にFree Pageを有する必要がある。このため、Free Pageのための領域が必要である。
▲2▼順編成や循環編成などのファイル形式を与えることができない。
本発明は、「Shadow Page法」や「Switching法」と同じ書き込み回数で、ある1つの連続した領域を、任意のアドレスの組み合せによって領域を論理的に切り分け、Free Pageを1箇所に集約することを課題とする。
【0009】
【課題を解決するための手段】
図1に本発明のデータ管理装置の概要構成を示す。
データ管理装置は、ファイル管理手段160、アドレス計算手段150、アドレス管理手段130,140、スイッチ格納手段120、データ管理手段110、計算ロジック判定手段170から構成される。 データ管理装置は、制御命令を受信し、それに従った処理を行う。制御命令は、データ格納命令とデータ参照命令があり、データを格納する場合、「データ格納命令」を受信し、データを格納する。データを参照する場合、「データ参照命令」を受信し、参照データを返却する。
【0010】
請求項1に記載の発明は、
あるデータが格納される連続した1つのデータ格納領域を順編成、循環編成など様々なデータ格納形式を用いて複数のデータ格納領域に分けて管理し、ある1つの変更可能な領域を用いてデータ格納のアトミシティを保証し、その変更可能な領域は分割された複数のデータ格納領域で共有されることを特徴とするデータ管理装置であって、
(1)あるデータを保持する連続した1つのデータ格納領域を有するデータ格納手段と、
「データ格納領域の格納位置情報(アドレス)」を受信し、データ格納領域のアドレスにあるデータを特定し、特定したデータを送信する手段と、を備えたデータ管理手段と、
(2)データ格納領域を複数の領域(レコード)に分け、それぞれのレコードに対してID(レコード番号)を与える手段と、
(3)レコード番号とアドレスを対応付けた情報(レコード情報)を複数保持し、「データ格納領域の変更可能な領域(変更可能領域)の位置情報(変更可能アドレス)」を保持するアドレス格納領域を有するアドレス格納手段と、
レコード番号を受信し、受信したレコード番号から1つのレコード情報を特定し、特定したレコード情報と変更可能アドレスから構成される情報(アドレスリスト)を形成し、アドレスリストを送信する手段と、
アドレスリストを受信し、受信したアドレスリストからレコード番号を抽出し、そのレコード番号から1つのレコード情報を特定し、そのレコード情報のアドレスを更新し、変更可能アドレスを更新する手段と、を備えた2つのアドレス管理手段(130),(140)と、
(4)2つのアドレス管理手段のうち、一方をデータ格納を行うためのアドレスが格納されているデータ格納アドレス手段に特定し、他方をデータ参照を行うためのアドレスが格納されているデータ参照アドレス手段に特定する情報(スイッチ情報)を保持するスイッチ格納領域と、を有するスイッチ格納手段(120)と、
(5)あるアドレスリストを受信し、アドレスリストをある変換手段(アドレス変換手段)によって変換し、変換後のアドレスリストを送信するアドレス計算手段(150)と、
【0011】
(6)(i)「レコード番号」と「データ」から構成されるファイル格納情報を受信する手段と、スイッチ格納手段からスイッチ情報を取得し、取得したスイッチ情報を用いて2つのアドレス管理手段の一方をデータ格納を行うためのアドレスが格納されているデータ参照アドレス管理手段に特定し、他方をデータ参照を行うためのアドレスが格納されているデータ格納アドレス管理手段に特定する手段と、レコード番号とデータ参照アドレス管理手段を用いて、アドレスリスト(アドレスリスト1)を取得する手段と、
アドレスリスト1とアドレス計算手段を用いて変更後のアドレスリスト(アドレスリスト2)を取得する手段と、
アドレスリスト1に含まれる変更可能アドレス(変更可能アドレス1)と、データとデータ管理手段を用いて、データをデータ格納領域に保持する手段と、
アドレスリスト2とデータ格納アドレス管理手段となるアドレス管理手段を用いて、アドレスリスト2をアドレス格納領域に保持する手段と、
スイッチ情報を更新する手段により更新したスイッチ情報とスイッチ格納手段を用いてスイッチ格納領域に保持する手段と、を有するデータ格納手段と、
(ii)レコード番号から構成されるファイル参照情報を受信する手段と、
レコード番号とデータ参照アドレス管理手段を用いて、アドレスリスト(アドレスリスト1)を取得する手段と、
アドレスリスト1からアドレス(アドレス1)を抽出する手段と、
アドレス1とデータ管理手段を用いて、データ格納領域からデータを取得する手段と、
取得したデータを送信する手段と、を有するデータ参照手段と、を備えたファイル管理手段(160)と、から構成することを特徴とする。
【0012】
請求項2に記載の発明は、
請求項1に記載のデータ管理装置において、
アドレス管理手段で管理するレコード情報は、複数のレコード番号をグループとしてまとめ、1つのID(ファイルID)を与えたレコード情報であり、
前記2つのアドレス管理手段(130),(140)は、
(7)レコード番号を、ある任意の複数の組にまとめ、まとめられた組にID(ファイルID)を与える手段と、
(8)ファイルIDと、そのファイルIDに対応した複数のレコード番号を対応付けた情報(レコードリスト)を与える手段と、
(9)ファイルIDとデータから構成されるファイル格納情報を与える手段と、
(10)ファイルIDから構成されるファイル参照情報を与える手段と、
(11)レコードリストと変更可能アドレスからアドレスリストを構成する手段と、を備え、
前記ファイル管理手段(160)は、
(12)このファイル格納情報を用いたデータ格納手段と、
(13)このファイル参照情報を用いたデータ参照手段と、を備えたことを特徴とする。
【0013】
請求項3に記載の発明は、
請求項2に記載のデータ管理装置において、
ファイルID単位で、順編成構造や循環編成構造など、様々なレコード管理を行うことを特徴とするデータ管理装置であり、
(14)ロジックごとに識別情報(ロジックID)を与える手段と、
(15)ロジックIDとファイルIDの組を保持し、ファイルIDを受信し、ファイルIDから、ロジックIDを特定し、特定したロジックIDを送信する計算ロジック判定手段(170)と、を備え、
前記アドレス計算手段(150)は、
(16)複数のアドレス計算手段を保持し、ロジックIDとアドレス計算に必要となる情報(引数)とアドレスリストからなる情報(アドレス変換情報)を受信し、ロジックIDから1つのアドレス計算手段を特定し、特定したアドレス計算手段にアドレスリストと引数を送信し、変換したアドレスリスト(アドレスリスト2)を受信し、アドレスリスト2を送信する手段と、を有するアドレス計算手段2と、を備え、
(17)前記データ格納手段に加え、
ファイルIDと計算ロジック判定手段を用いてロジックIDを取得する手段と、取得したロジックIDを用いてアドレス変換情報を形成する手段と、アドレス変換情報とアドレス計算手段2を用いて変更後のアドレスリスト(アドレスリスト2)を取得する手段と、を備えたデータ格納手段と、
(18)前記ファイル管理手段に加え、
前記追加したデータ格納手段のファイル管理手段を有すること、を特徴とする。
【0014】
請求項4に記載の発明は、
請求項1乃至3の何れか1項に記載のデータ管理装置において、
前記アドレス計算手段(150)は、
(19)アドレスリスト中のレコード番号に該当するアドレスを特定し、特定したアドレス(アドレス3)と変更可能アドレス(アドレス4)を入れ替える手段を備えたことを特徴とする。
【0015】
請求項5に記載の発明は、
請求項1乃至3の何れか1項に記載のデータ管理装置において、
前記アドレス計算手段(150)は、
(20)アドレスリスト中の先頭レコードに格納されたアドレスを特定し、特定したアドレス(アドレス3)と変更可能アドレス(アドレス4 を入れ替え、アドレスリストをFIFO(First In First Out)として、2番目のレコードを先頭レコードとし、変更可能アドレスを最後のレコードとする手段を備えたことを特徴とする。
【0016】
請求項6に記載の発明は、
請求項1乃至5の何れか1項に記載のデータ管理装置において、
前記スイッチ情報を更新する手段は、
(21)スイッチ情報を1の場合0に変更し、0の場合1に変更するスイッチ更新手段であることを特徴とする。
【0017】
請求項7に記載の発明は、
請求項1乃至5の何れか1項に記載のデータ管理装置において、
前記スイッチ情報を更新する手段は、
(22)スイッチ情報に1を加算するスイッチ更新手段であることを特徴とする。
【0018】
【発明の実施の形態】
(全体構成)
図2に本発明のデータ管理装置の構成例を示す。
データ管理装置は、データ格納媒体におけるデータ格納装置であり、「データ格納部210」「データ管理部220」「アドレス格納部230」「アドレス格納部240」「アドレス管理部250」「アドレス管理部260」「アドレス計算部270」「スイッチ格納部280」「ファイル管理部290」「計算ロジック判定部300」から構成される。
データ管理装置は、制御命令を受信し、それに従った処理を行う。制御命令は、データ格納命令とデータ参照命令がある。データを格納する場合、「データ格納命令」を受信し、データを格納する。データを参照する場合、「データ参照命令」を受信し、参照データを返却する。データ格納命令の例を図3に示す。データ参照命令の例を図4に示す。
【0019】
(ファイル管理部290)
ファイル管理部290の構成例を図5に示す。
ファイル管理部290は、「制御命令」を受信する「制御命令受信バッファ292」と、「データ格納命令」で格納するデータを受信する「格納データ受信バッファ294」と、「データ参照命令」でデータを送信する「参照データ送信バッファ293」と、「アドレス管理部250」と「アドレス管理部260」をデータ格納アドレス管理部と参照アドレス管理部に切り替える計算を行う「スイッチ計算部295」と、制御命令を実行する「制御命令実行部291」から構成される。
【0020】
(データ格納部210)
データ格納部210は、格納するデータとそのアドレスを保持する。その例を図6に示す。データ格納部は、例えば、EEPROMやFeRAM、フラッシュメモリ、磁気ディスクなどの不揮発性のデバイスが用いられる。
(データ管理部220)
データ管理部220の構成例を図7に示す。
データ管理部220は、「制御命令」「アドレス」「データ」から構成される「データ格納命令」を受信し、データ格納部210のアドレスにデータを書き込む手段と、「制御命令」「アドレス」から構成される「データ参照命令」を受信し、データ格納部210から該当するアドレスのデータを取得する手段を有する。データ格納命令の例を図8に示す。データ参照命令の例を図9に示す。
「データ格納制御部221」は、「データ格納命令」「データ参照命令」を受信し、「アドレス検索部222」にアドレスを送信する。「アドレス検索部222」は、「データ格納部210」のアドレスを検索し、データ格納位置を確認する。「データ格納制御部221」は、確認された後に「データ格納部210」にデータを格納、もしくは、取得を行う。
【0021】
(アドレス格納部230,240)
アドレス格納部230と240は、データ格納部210の連続した格納領域を複数の領域に分割し、分割したデータ(レコード)を任意の組にまとめたグループをファイルとする。アドレス格納部230,240は、「データ格納部210」の「アドレス」と、そのデータが属するファイルの識別子(ファイルID)と、ファイル内におけるアドレスの識別子(レコード番号)と、アドレス変更可能領域(Shadow Page)のアドレスを対応させて保持する。保持データの例をを図10に示す。
ファイルに1つのレコードしか存在しない場合、ファイルIDの代わりとしてレコード番号を用いることも可能である。また、ファイルIDやレコード番号の例として、ISO/IEC7816-4で規定されたTLV形式のタグやEFIDを利用することも可能である。図10では、ファイルID:01にはレコードが2件存在し、それぞれデータ格納部210のアドレス「0400」「0010」のデータが存在する。
【0022】
(アドレス管理部250,260)
アドレス管理部250,260の構成例を図11に示す。
アドレス管理部250と260は、それぞれ対応する「アドレス格納部230」「アドレス格納部240」から「アドレスリスト」を取得し、格納する。アドレスリストは、「Shadow Page」と、あるファイルIDに含まれるレコードのアドレスのリストから構成される。アドレスリストの例を図12に示す。アドレス管理部250とアドレス管理部260は、「制御命令」「アドレスリスト」から構成される「アドレス格納命令」を受信し、アドレス格納部230,240のファイルにデータアドレスを書き込む手段と、「制御命令」から構成される「アドレス参照命令」を受信し、アドレス格納部230,240から該当するファイル内のデータアドレスを取得する手段を有する。図13にアドレス格納命令の例を示す。図14にアドレス参照命令の例を示す。
アドレス管理部250,260は、スイッチ情報(スイッチ格納部280)を用いて「データ格納アドレス管理部」と「データ参照アドレス管理部」のいずれかの役割を果たす。
データ格納アドレス管理部の場合、「アドレス格納制御部251」は、「アドレス格納命令」「アドレス参照命令」を受信し、「ファイル検索部252」は、「アドレス格納部230,240」のファイルを検索し、データアドレス格納位置を確認する。「アドレス格納制御部251」は、データアドレス格納位置が確認された後に「アドレス格納部230,240」にデータアドレスとShadow Pageアドレスを格納する。ここで、データ参照アドレス管理部の場合、データの取得を行う。
【0023】
(スイッチ格納部280)
スイッチ格納部280は、アドレス管理部250,260の「データ格納アドレス管理部」と「データ参照アドレス管理部」を識別するスイッチ情報SWが格納されている。図15にその例を示す。
【0024】
(アドレス計算部270)
アドレス計算部270の構成例を図16に示す。
アドレス計算部270は、アドレスリストとロジックIDと引数(Argument)から構成される「アドレス変換命令」を元に、ロジックIDに従ったロジックでアドレスリストを変換する。図17にアドレス変換命令の例を示す。アドレス計算部270は、複数のロジックIDと対応付けられたアドレス変換部272と1つのロジック判定部271を有する。ロジック判定部は、ロジックIDから対応するアドレス変換部にアドレスAを送信し、アドレス変換部は、アドレスを変換しロジック判定部に返却し、ロジック判定部は、変換されたアドレスリストBを送信する。
【0025】
(計算ロジック判定部300)
計算ロジック判定部300の例を図18に示す。
計算ロジック判定部300は、ファイルIDとそのファイル内のデータ管理方式のIDである「ロジックID」から構成されるロジックテーブル302と、ファイルIDとロジックテーブルから合致するロジックIDを特定するロジックテーブル参照部301から構成される。ロジックテーブルの例を図19に示す。
計算ロジック判定部は、ファイルIDを受信し、受信したファイルIDを用いてロジックIDを特定し、そのロジックIDを送信する。
以下、図面を参照してフローを説明する。
【0026】
(全体フロー)
まず、データ格納/データ参照の全体フローを図20のフローチャートを用いて説明する。
(P51-1)データ管理装置に制御命令(データ格納命令/データ参照命令)を送信する。
(P51-2)命令コードを判定する。
(データ格納命令の場合) (P51-3)へ移る
(データ参照命令の場合) (P51-4)へ移る
(P51-3)データ管理装置は、データ格納命令に含まれるデータを格納する。
(P51-4)データ管理装置は、データ参照命令のファイルIDとレコード番号のデータを参照して出力する。
(データ格納フロー(ファイル管理部290))
ファイル管理部290のデータ格納の内部フローを図21及び図5を用いて説明する。
(P52-1)制御命令受信バッファ292と格納データ受信バッファ294に制御命令(データ格納命令)と格納データを格納する。
(P52-2)制御命令実行部291は、スイッチ格納部280を用いてスイッチ情報SWを参照する。
(P52-3)SW(SW=1or0)を判定する。
SW=1の時 (P52-4)へ移る
SW=0の時 (P52-5)へ移る
(P52-4)格納先アドレス管理部をアドレス管理部250とする。
参照先アドレス管理部をアドレス管理部260とする。
(P52-5)格納先アドレス管理部をアドレス管理部260とする。
参照先アドレス管理部をアドレス管理部250とする。
(P52-6)参照先アドレス管理部からアドレスリストAを取得。
(P52-7)アドレスリストAからファイルID(FID)を取得し、FIDと計算ロジック判定部300(ロジックテーブル参照部、ロジックテーブル)を用いてロジックID(LID)を特定する。
(P52-8)アドレスリストAとLIDを用いてアドレス変換命令Cを作り、Cをアドレス計算部270に入力し、変換されたアドレスリストBを取得する。
(P52-9)アドレスリストAのShadow Pageのアドレスを格納先アドレスとし、格納命令のデータを格納データとして、データ格納命令を形成し、データ管理部220にデータ格納命令を送信し、データ格納部210にデータを格納する。
(P52-10)アドレスリストBを用いてアドレス格納命令を形成し、格納先アドレス管理部にアドレス格納命令を送信し、アドレス格納部にアドレスを格納する。
(P52-11)SW(スイッチ情報)を反転する。(これに代えてスイッチ情報に1を加算しても良い。)(スイッチ情報が0の場合:1、1の場合:0)
(P52-12)スイッチ情報をスイッチ格納部280に格納する。
【0027】
(アドレス変換方法(データファイルのランダムアクセス))
アドレス計算部270のアドレス変換部274の計算方法の例として、アドレス変換命令の引数(Argument)で指定されたレコード番号に対して、あるデータを格納したときの格納後のアドレス計算を行うロジックを図22(順編成の形成方法)に示す。
(P54-1)アドレス変換命令から、アドレスリストAと引数を受信する。
(P54-2)引数のレコード番号n(02)から、アドレスリスト内の変更を行うレコードのレコード番号RecNum(#2)を特定する。
(P54-3)Shadow Pageのアドレスデータと、RecNum(#2)のアドレスデータを入れ替え、変更後のアドレスリストBを形成する。
(P54-4)アドレスリストBを返却する。
【0028】
(アドレス変換方法(データファイルのリングバッファ管理))
アドレス計算部270のアドレス変換部272の計算方法の例として、最も古いデータを削除し、最も新しいデータを新規に格納し、レコード番号を格納された順に振り直す循環編成ファイルとしてデータを格納したときの格納後のアドレス計算を行うロジックを図23(循環編成の形成方法)に示す。
(P55-1)アドレス変換命令から、アドレスリストAを受信する。
(P55-2)アドレスリストA内のデータの内、リストの最後のデータを一次バッファtempに保持する。
(P55-3)残りのリストの先頭にShadow Pageのデータを連接する。
(P55-4)一次バッファtempをShadow Pageに格納し、連接されたリストを用いて、変換後のアドレスリストBを形成する。
(P55-5)アドレスリストBを返却する。
【0029】
(データ参照フロー)
ファイル管理部290のデータ参照の内部フローを図24及び図5を用いて説明する。
(P53-1)制御命令受信バッファ292にデータ参照命令を受信して格納する。
(P53-2)制御命令実行部291は、スイッチ格納部280を用いてスイッチ情報SWを参照する。
(P53-3)SWを判定する。
SW=1の時 (P53-4)へ移る
SW=0の時 (P53-5)へ移る
(P53-4)格納先アドレス管理部をアドレス管理部250とする。
参照先アドレス管理部をアドレス管理部260とする。
(P53-5)格納先アドレス管理部をアドレス管理部260とする。
参照先アドレス管理部をアドレス管理部250とする。
(P53-6)参照先アドレス管理部からアドレスリストAを取得する。
(P53-7)制御命令のレコード番号からアドレスリストAに含まれる1つのアドレスを特定し、データ参照命令のアドレスとし、データ参照命令を形成し、データ管理部にデータ参照命令を送信し、データを取得する。
(P53-8)取得したデータを送信バッファに格納し、データを送信する。
【0030】
(データ格納処理における異常系の対応)
図21におけるデータ格納フローにおいて、異常系(電源断、処理中断)が発生した場合の対応について説明する。
本発明において、問題となる箇所は、「不揮発性」の格納領域に対してデータを書き込む際、もしくはその前後に発生する処理中断である。不揮発性の格納領域に対する書き込みは、(P52-9)(P52-10)(P52-12)で発生する。以下、この前後で異常系が発生し処理が中断された場合について説明する。
(P52-9)以前で処理が中断された場合
データの更新が全く行われていない(ロールバックしている)ため、処理を先頭から再開する。
(P52-9)で処理が中断された場合
データ管理部に対して、データ参照アドレス管理部のShadow Pageのアドレスが渡され、そこに書き込みが行われているが、Shadow Pageのアドレスは、データ参照の際には参照されることはない。したがって、事実上、データの更新は全く行われていない(ロールバックしている)ことと等価であるため、処理を先頭から再開する。
(P52-9)〜(P52-10)に処理が中断された場合
データ参照アドレス管理部に変更が行われていないため、参照されるデータの内容に変更はない。したがって、事実上、データの更新は全く行われていない(ロールバックしている)ことと等価であるため、処理を先頭から再開する。
(P52-10)で処理が中断された場合
データ参照アドレス管理部に変更が行われていないため、参照されるデータの内容に変更はなし、したがって、事実上、データの更新は全く行われていない(ロールバックしている)ことと等価であるため、処理を先頭から再開する。
(P52-10)〜(P52-12)で処理が中断された場合
データ参照アドレス管理部に変更が行われていないため、参照されるデータの内容に変更はなし。したがって、事実上、データの更新は全く行われていない(ロールバックしている)ことと等価であるため、処理を先頭から再開する。
(P52-12)は、瞬間的に行われることが前提である。
【0031】
【発明の効果】
本発明によって、様々なファイル構成を有するファイルシステムのデータをアトミックに更新することが可能であり、また、アドレス計算ロジックを工夫することによって、様々なファイル管理方法を実現することができる。また、前記Switching法との連携によって、完全に領域が独立したデータ格納領域の双方に対してアトミックにデータ更新を行いたい場合、本発明におけるスイッチをSwitching法と同様に多段に構成することで、Switching法を拡張し、独立した領域に対してそれぞれのデータ管理方式に対応したデータ更新を行うこともできる。
【図面の簡単な説明】
【図1】データ管理装置の概要構成図。
【図2】データ管理装置の構成図。
【図3】データ格納命令の例を示す図。
【図4】データ参照命令の例を示す図。
【図5】ファイル管理部290の構成図。
【図6】データ格納部210の保持データを示す図。
【図7】データ管理部220の構成図。
【図8】データ格納命令の例を示す図。
【図9】データ参照命令の例を示す図。
【図10】アドレス格納部230,240の保持データを示す図。
【図11】アドレス管理部250,260の構成図。
【図12】アドレスリストの例を示す図。
【図13】アドレス格納命令の例を示す図。
【図14】アドレス参照命令の例を示す図。
【図15】スイッチ格納部280のスイッチ情報の例を示す図。
【図16】アドレス計算部270の構成図。
【図17】アドレス変換命令の例を示す図。
【図18】計算ロジック判定部300の構成図。
【図19】ロジックテーブルの例を示す図。
【図20】全体のフローチャート。
【図21】データ格納のフローチャート。
【図22】順編成の形成方法を説明するための図。
【図23】循環編成の形成方法を説明するための図。
【図24】データ参照のフローチャート。
【符号の説明】
110・・・データ管理手段、120・・・スイッチ格納手段、130,140・・・アドレス管理手段、150・・・アドレス計算手段、160・・・ファイル管理手段、170・・・計算ロジック判定手段
210・・・データ格納部
220・・・データ管理部
221・・・データ格納制御部、222・・・アドレス検索部
230,240・・・アドレス格納部
250,260・・・アドレス管理部
251・・・アドレス格納制御部、252・・・ファイル検索部
270・・・アドレス計算部
271・・・ロジック判定部、272・・・アドレス変換部
290・・・ファイル管理部
291・・・制御命令実行部、292・・・制御命令受信バッファ、293・・・参照データ送信バッファ、294・・・格納データ受信バッファ、295・・・スイッチ計算部
300・・・計算ロジック判定部
301・・・ロジックテーブル参照部、302・・・ロジックテーブル
Claims (7)
- あるデータが格納される連続した1つのデータ格納領域を順編成、循環編成など様々なデータ格納形式を用いて複数のデータ格納領域に分けて管理し、ある1つの変更可能な領域を用いてデータ格納のアトミシティを保証し、その変更可能な領域は分割された複数のデータ格納領域で共有されることを特徴とするデータ管理装置であって、
(1)あるデータを保持する連続した1つのデータ格納領域を有するデータ格納手段と、
「データ格納領域の格納位置情報(アドレス)」を受信し、データ格納領域のアドレスにあるデータを特定し、特定したデータを送信する手段と、を備えたデータ管理手段と、
(2)データ格納領域を複数の領域(レコード)に分け、それぞれのレコードに対してID(レコード番号)を与える手段と、
(3)レコード番号とアドレスを対応付けた情報(レコード情報)を複数保持し、「データ格納領域の変更可能な領域(変更可能領域)の位置情報(変更可能アドレス)」を保持するアドレス格納領域を有するアドレス格納手段と、
レコード番号を受信し、受信したレコード番号から1つのレコード情報を特定し、特定したレコード情報と変更可能アドレスから構成される情報(アドレスリスト)を形成し、アドレスリストを送信する手段と、
アドレスリストを受信し、受信したアドレスリストからレコード番号を抽出し、そのレコード番号から1つのレコード情報を特定し、そのレコード情報のアドレスを更新し、変更可能アドレスを更新する手段と、を備えた2つのアドレス管理手段と、
(4)2つのアドレス管理手段のうち、一方をデータ格納を行うためのアドレスが格納されているデータ格納アドレス手段に特定し、他方をデータ参照を行うためのアドレスが格納されているデータ参照アドレス手段に特定する情報(スイッチ情報)を保持するスイッチ格納領域を有するスイッチ格納手段と、
(5)あるアドレスリストを受信し、アドレスリストをある変換手段(アドレス変換手段)によって変換し、変換後のアドレスリストを送信するアドレス計算手段と、
(6)(i)「レコード番号」と「データ」から構成されるファイル格納情報を受信する手段と、
スイッチ格納手段からスイッチ情報を取得し、取得したスイッチ情報を用いて2つのアドレス管理手段の一方をデータ格納を行うためのアドレスが格納されているデータ参照アドレス管理手段に特定し、他方をデータ参照を行うためのアドレスが格納されているデータ格納アドレス管理手段に特定する手段と、
レコード番号とデータ参照アドレス管理手段を用いて、アドレスリスト(アドレスリスト1)を取得する手段と、
アドレスリスト1とアドレス計算手段を用いて変更後のアドレスリスト(アドレスリスト2)を取得する手段と、
アドレスリスト1に含まれる変更可能アドレス(変更可能アドレス1)と、データとデータ管理手段を用いて、データをデータ格納領域に保持する手段と、
アドレスリスト2とデータ格納アドレス管理手段となるアドレス管理手段を用いて、アドレスリスト2をアドレス格納領域に保持する手段と、
スイッチ情報を更新する手段により更新したスイッチ情報とスイッチ格納手段を用いてスイッチ格納領域に保持する手段と、を有するデータ格納手段と、
(ii)レコード番号から構成されるファイル参照情報を受信する手段と、
レコード番号とデータ参照アドレス管理手段を用いて、アドレスリスト(アドレスリスト1)を取得する手段と、
アドレスリスト1からアドレス(アドレス1)を抽出する手段と、
アドレス1とデータ管理手段を用いて、データ格納領域からデータを取得する手段と、
取得したデータを送信する手段と、を有するデータ参照手段と、を備えたファイル管理手段と、から構成されることを特徴とするデータ管理装置。 - 請求項1に記載のデータ管理装置において、
アドレス管理手段で管理するレコード情報は、複数のレコード番号をグループとしてまとめ、1つのID(ファイルID)を与えたレコード情報であり、
前記2つのアドレス管理手段は、
(7)レコード番号を、ある任意の複数の組にまとめ、まとめられた組にID(ファイルID)を与える手段と、
(8)ファイルIDと、そのファイルIDに対応した複数のレコード番号を対応付けた情報(レコードリスト)を与える手段と、
(9)ファイルIDとデータから構成されるファイル格納情報を与える手段と、
(10)ファイルIDから構成されるファイル参照情報を与える手段と、
(11)レコードリストと変更可能アドレスからアドレスリストを構成する手段と、を備え、
前記ファイル管理手段は、
(12)このファイル格納情報を用いたデータ格納手段と、
(13)このファイル参照情報を用いたデータ参照手段と、を備えたことを特徴とするデータ管理装置。 - 請求項2に記載のデータ管理装置において、
ファイルID単位で、順編成構造や循環編成構造など、様々なレコード管理を行うことを特徴とするデータ管理装置であり、
(14)ロジックごとに識別情報(ロジックID)を与える手段と、
(15)ロジックIDとファイルIDの組を保持し、ファイルIDを受信し、ファイルIDから、ロジックIDを特定し、特定したロジックIDを送信する計算ロジック判定手段と、を備え、
前記アドレス計算手段は、
(16)複数のアドレス計算手段を保持し、ロジックIDとアドレス計算に必要となる情報(引数)とアドレスリストからなる情報(アドレス変換情報)を受信し、ロジックIDから1つのアドレス計算手段を特定し、特定したアドレス計算手段にアドレスリストと引数を送信し、変換したアドレスリスト(アドレスリスト2)を受信し、アドレスリスト2を送信する手段と、を有するアドレス計算手段2と、を備え、
(17)前記データ格納手段に加え、
ファイルIDと計算ロジック判定手段を用いてロジックIDを取得する手段と、取得したロジックIDを用いてアドレス変換情報を形成する手段と、アドレス変換情報とアドレス計算手段2を用いて変更後のアドレスリスト(アドレスリスト2)を取得する手段と、を備えたデータ格納手段と、
(18)前記ファイル管理手段に加え、
前記追加したデータ格納手段のファイル管理手段を有すること、を特徴とするデータ管理装置。 - 請求項1乃至3の何れか1項に記載のデータ管理装置において、
前記アドレス計算手段は、
(19)アドレスリスト中のレコード番号に該当するアドレスを特定し、特定したアドレス(アドレス3)と変更可能アドレス(アドレス4)を入れ替える手段を備えたことを特徴とするデータ管理装置。 - 請求項1乃至3の何れか1項に記載のデータ管理装置において、
前記アドレス計算手段は、
(20)アドレスリスト中の先頭レコードに格納されたアドレスを特定し、特定したアドレス(アドレス3)と変更可能アドレス(アドレス4 を入れ替え、アドレスリストをFIFOとして、2番目のレコードを先頭レコードとし、変更可能アドレスを最後のレコードとする手段を備えたことを特徴とするデータ管理装置。 - 請求項1乃至5の何れか1項に記載のデータ管理装置において、
前記スイッチ情報を更新する手段は、
(21)スイッチ情報を1の場合0に変更し、0の場合1に変更するスイッチ更新手段であることを特徴とするデータ管理装置。 - 請求項1乃至5の何れか1項に記載のデータ管理装置において、
前記スイッチ情報を更新する手段は、
(22)スイッチ情報に1を加算するスイッチ更新手段であることを特徴とするデータ管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002139984A JP4060639B2 (ja) | 2002-05-15 | 2002-05-15 | データ管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002139984A JP4060639B2 (ja) | 2002-05-15 | 2002-05-15 | データ管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003330773A JP2003330773A (ja) | 2003-11-21 |
JP4060639B2 true JP4060639B2 (ja) | 2008-03-12 |
Family
ID=29700973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002139984A Expired - Lifetime JP4060639B2 (ja) | 2002-05-15 | 2002-05-15 | データ管理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4060639B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7531631B2 (en) | 2004-01-20 | 2009-05-12 | Juridical Foundation The Chemoserotherapeutic Research Institute | Method for preparing human serum albumin through heat-treatment in the presence of divalent cation |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782577B (zh) | 2019-04-04 | 2023-03-24 | 安徽寒武纪信息科技有限公司 | 数据处理装置及方法以及相关产品 |
CN111831337B (zh) | 2019-04-19 | 2022-11-29 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
KR102550451B1 (ko) * | 2019-04-04 | 2023-06-30 | 캠브리콘 테크놀로지스 코퍼레이션 리미티드 | 데이터 처리방법과 장치 및 관련 제품 |
-
2002
- 2002-05-15 JP JP2002139984A patent/JP4060639B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7531631B2 (en) | 2004-01-20 | 2009-05-12 | Juridical Foundation The Chemoserotherapeutic Research Institute | Method for preparing human serum albumin through heat-treatment in the presence of divalent cation |
Also Published As
Publication number | Publication date |
---|---|
JP2003330773A (ja) | 2003-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230117542A1 (en) | Remote Data Replication Method and System | |
US11301379B2 (en) | Access request processing method and apparatus, and computer device | |
US6934877B2 (en) | Data backup/recovery system | |
KR100560726B1 (ko) | 대용량 기억 시스템의 선택된 데이터의 스냅샷의 보존 | |
US5287496A (en) | Dynamic, finite versioning for concurrent transaction and query processing | |
WO2017190604A1 (zh) | 数据库系统中事务恢复的方法与数据库管理系统 | |
JPWO2004025475A1 (ja) | データベースの再編成システム、並びに、データベース | |
JPS62297950A (ja) | デ−タ・システムのジャ−ナリング方法 | |
EP1332444A4 (en) | METHOD AND APPARATUS FOR PROCESSING DATA | |
US20090313501A1 (en) | Method and arrangement for processing transactions in a flash type memory device | |
US8108356B2 (en) | Method for recovering data in a storage system | |
JPH06139120A (ja) | ファイルの更新方式 | |
US20030126163A1 (en) | Method for file deletion and recovery against system failures in database management system | |
KR20110046118A (ko) | 적응적 로깅 장치 및 방법 | |
CN111414134A (zh) | 面向持久内存文件系统的事务写优化框架的方法及系统 | |
US20080320062A1 (en) | Method of transferring file system, file system transference program, and file system transference device | |
WO2017113211A1 (zh) | 访问请求处理方法、装置及计算机系统 | |
JP4060639B2 (ja) | データ管理装置 | |
JPH10283228A (ja) | マルチシステム環境のログ・ストリームを圧縮するシステム | |
JPH10289141A (ja) | マルチシステム環境のログ・ストリームを管理する方法 | |
JPH0816881B2 (ja) | データベース更新方法 | |
JPH06149485A (ja) | データ完結性保証処理方法 | |
JP3599138B2 (ja) | ジャーナルバックアップ方法及びシステム | |
CN112698785B (zh) | 存储设备的数据更新方法 | |
JPH03271841A (ja) | データベースにおけるリカバリ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040408 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071129 |
|
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: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071220 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101228 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4060639 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101228 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111228 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111228 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131228 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |