CN104063185B - 资料储存系统及资料储存方法 - Google Patents
资料储存系统及资料储存方法 Download PDFInfo
- Publication number
- CN104063185B CN104063185B CN201410232702.2A CN201410232702A CN104063185B CN 104063185 B CN104063185 B CN 104063185B CN 201410232702 A CN201410232702 A CN 201410232702A CN 104063185 B CN104063185 B CN 104063185B
- Authority
- CN
- China
- Prior art keywords
- block
- generation
- aggregation
- indivisible
- data
- 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
-
- 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/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/1474—Saving, restoring, recovering or retrying in transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种资料储存系统及资料储存方法,具有不可分割性的资料被储存在硬盘上的区块,区块包含确定区块集合体(P1)、次世代确定区块集合体(C1)及不可分割区块集合体(S3),确定区块集合体(P1)只存在于硬盘上;次世代确定区块集合体在规定的时序变换成为确定区块集合体;而不可分割区块集合体(S3)基于次世代确定区块集合体(C1)且依照每位使用者制成,使用者(A)对(S3)进行需要资料的变更等,并且在结束处理时,将储存资料的区块集合体从不可分割区块集合体(S4)与次世代确定区块集合体(C2)整体化而作为确定区块集合体(P3)并储存在硬盘上。本发明的资料储存系统能够不可分割交易且各使用者不会受到他人的资料处理的影响。
Description
技术领域
本发明有关于一种能够不可分割交易(atomic transaction)(不能够部分性确定的交易,只有完全实行,或是完全不实行的任一者)的资料储存系统及资料储存方法。
背景技术
先前的能够不可分割交易的资料储存系统,例如特开2006-106868号公报(专利文献1)所揭示。专利文献1提到作为档案管理系统有记录表(log)方式及附带档案(sidefile)方式,并且举出附带档案方式的影子分页(shadow page)方式的缺点,同时揭示解决该缺点的档案系统。
先前的具有不可分割性的资料储存系统,其构成如上述。虽然有记载记录表方式的档案系统是有利的,但是记录表方式的档案系统有成本高的问题。又,在先前的档案系统,在多位使用者进行存取的如硬盘的非挥发性记忆体,关于被每位使用者各自使用的档案,当某位使用者欲确定某个档案时,因为会有其他使用者正在处理的其他档案亦同时被确定的情况,例如,电源中断时,会有各自使用者不希望的资料被储存,造成使用者受到其他使用者处理的影响的问题。
发明内容
本发明为了消除如上述的问题而进行,并且以提供一种能够不可分割交易且各使用者不会受到他人资料处理的影响的资料储存系统及资料储存方法作为目的。
本发明的资料储存系统是一种具有多位使用者能够存取的资料的非挥发性记忆体的资料储存系统。资料被保持在规定的区块内,多位使用者中的一人在处理该区块中时,其他的使用者不能处理该处理中的区块。规定的区块包含各自个别地设置的确定区块、次世代确定区块及不可分割区块(atomic block),确定区块、次世代确定区块及不可分割区块被包含在各自多个集合而成的确定区块集合体、次世代确定区块集合体及不可分割区块集合体,确定区块集合体只有存在于所述非挥发性记忆体上,所述资料储存系统包含:第1区块形成单元,其由将确定区块集合体的一部分区块复制并且从确定区块集合体,形成能够横跨非挥发性记忆体及其以外的记忆体而存在的次世代确定区块集合体;第2区块形成单元,其由将次世代确定区块集合体的一部分区块复制而从次世代确定区块集合体,对每位使用者形成能够横跨非挥发性记忆体及其以外的记忆体而存在的不可分割区块集合体;区块操作接受单元,其对每位使用者接受区块集合体的操作,该区块集合体是对由第2区块形成单元所形成的不可分割区块集合体,保持不可分割性而成;合并单元,其是将由区块操作接受单元的操作结束后的不可分割区块集合体,由边对每位使用者保持不可分割性,边将接受由区块操作接受单元修正后的区块,与在次世代确定区块集合体所含有的修正前的区块调换,来合并于次世代确定区块集合体;及变迁单元,其在将由合并单元所合并而成的次世代确定区块集合体保持不可分割性的状态,由将在次世代确定区块集合体所含有的非挥发性记忆体以外存在的全部区块,写入非挥发性记忆体而使其变迁至确定区块集合体。
又,在此,非挥发性记忆体上以外的场所包含在RAM上、CPU的一部分所设置的高速缓冲记忆体(cache)等。
较佳是变迁单元由该合并单元,将合并在多个不可分割区块集合体上修正后的区块而成的次世代确定区块集合体,并使其变迁至该确定区块集合体。
而且,较佳是合并单元将能够多个并行而存在的不可分割区块集合体,在任意的时序合并于次世代确定区块集合体。
较佳是变迁单元以包含不可分割区块位置特定单元,该不可分割区块位置特定单元是特定储存有具有不可分割性的资料的确定区块集合体的位置。
较佳是不可分割区块位置特定单元包含一对超级区块,该一对超级区块具有:区块号码,其特定各自保持有具有不可分割性的资料的区块集合体;及增量计数器(increment counter),在每次具有不可分割性的资料被写入新的区块集合体时,该一对区块号码中的一方的区块号码及增量计数器的值依照顺序被更新。
各自的超级区块具有一对特定保持有具有不可分割性资料的区块集合体的区块号码及增量计数器,在该一对特定保持有具有不可分割性资料的区块集合体的区块号码及增量计数器,亦可储存同一资料。
又,区块集合体的各自的区块包含有区块号码管理表,该区块号码管理表亦可能够储存资料并储存物理性区块号码与区块ID的关系。
而且,确定区块集合体、该次世代确定区块及该不可分割区块集合体,亦可包含:使用者区块,其储存能够依照每位使用者而变更的资料;及区块号码管理表,其管理该使用者区块。
在本发明的其他方面,资料储存方法是将电脑作为具有多位使用者能够存取的资料的非挥发性记忆体的资料储存系统并使其动作的资料储存方法。
资料被保持在规定的区块内,多位使用者中的一人在处理该区块中时,其他的使用者不能处理该处理中的区块,规定的区块是包含各自个别地设置的确定区块、次世代确定区块及不可分割区块,确定区块、次世代确定区块及不可分割区块被包含于各自多个集合而成的确定区块集合体、次世代确定区块集合体及不可分割区块集合体。确定区块集合体只有存在于非挥发性记忆体上。程序将电脑作为以下单元并使其动作:第1区块形成单元,其由将确定区块集合体的一部分区块复制并且从确定区块集合体,形成能够横跨非挥发性记忆体及其以外的记忆体而存在的次世代确定区块集合体;第2区块形成单元,其由将次世代确定区块集合体的一部分区块复制而从次世代确定区块集合体,对每位使用者形成能够横跨非挥发性记忆体及其以外的记忆体而存在的不可分割区块集合体;区块操作接受单元,其对每位使用者接受区块集合体的操作,该区块集合体对由第2区块形成单元所形成的不可分割区块集合体,保持不可分割性而成;合并单元,其将由区块操作接受单元的操作结束后的不可分割区块集合体,由边对每位使用者保持不可分割性,边将接受由区块操作接受单元修正后的区块,与在次世代确定区块集合体所含有的修正前的区块调换,来合并于次世代确定区块集合体;及变迁单元,其在将由合并单元所合并而成的次世代确定区块集合体保持不可分割性的状态,由将在次世代确定区块集合体所含有的非挥发性记忆体以外存在的全部区块,写入非挥发性记忆体而使其变迁至确定区块集合体。
接受使用者对于不可分割区块集合体所期望的保持不可分割性的区块操作时,能够确定不可分割区块集合体以保持不可分割性的状态被变迁至确定区块集合体。
本发明能够提供一种能够不可分割交易且各使用者不会受到他人资料处理的影响的非挥发性记忆体用的资料储存系统。
附图说明
图1是显示本发明的资料储存系统能够应用的电脑系统的构成的方块图;
图2是显示资料储存系统的位置的图;
图3是显示在资料储存系统的储存资料的区块的集合体的存在位置的图;
图4是显示在资料储存系统的通常时的处理的流程图;
图5是显示系统初期化处理的内容的流程图;
图6是显示超级区块判定处理内容的流程图;
图7是显示次世代确定区块集合体开启处理的流程图;
图8是显示系统结束处理的流程图;
图9是显示不可分割操作开始宣言及不可分割ID取得系统的流程图;
图10是显示不可分割操作结束宣言处理的流程图;
图11是显示新区块ID取得处理内容的流程图;
图12是显示区块读人处理内容的流程图;
图13是显示区块写入处理内容的流程图;
图14是显示区块开放处理内容的流程图;
图15是显示同步处理内容的流程图;
图16是显示超级区块的内容及其位置的图;
图17是显示区块集合体的变迁状态的图;
图18是显示在区块集合体的变迁的具体上的物理区块号码等的变迁例的图;
图19是显示在区块集合体的变迁的具体上的物理区块号码等的变迁例的图;
图20是显示在区块集合体的变迁的具体上的物理区块号码等的变迁例的图;
图21是显示在区块集合体的变迁的具体上的物理区块号码等的变迁例的图;
图22是显示在区块集合体的变迁的具体上的物理区块号码等的变迁例的图;及
图23是显示在区块集合体的变迁的具体上的物理区块号码等的变迁例的图。
图中
10:电脑系统; 11:中央处理单元;
12:随机存取记忆体; 13:显示器;
14:键盘; 15:硬盘;
16:通信装置; 18:汇流排;
21、22:超级区块; 21a、21b、22a、22b:子超级区块;
51-55:区块号码管理表; C1-C5:次世代确定区块集合体;
P1-P4:确定区块集合体; S1-S7:不可分割区块集合体;
S11-S21:步骤流程说明; S111-S112:步骤流程说明;
S1111-S1115:步骤流程说明; S1121-S1123:步骤流程说明;
S141-S144:步骤流程说明; S151-S152:步骤流程说明;
S161-S164:步骤流程说明; S171-S172:步骤流程说明;
S181-S186:步骤流程说明; S191:步骤流程说明;
S201-S202:步骤流程说明; S21:步骤流程说明;
t1-t4:时间
具体实施方式
以下,参照图示来说明本发明的实施形态。图1是显示本发明的资料储存系统能够应用的电脑系统的构成的方块图。参照图1,电脑系统10包含:CPU(中央处理单元;CentralProcessing Unit)11,其控制系统全体;RAM(随机存取记忆体;Ram Access Memory)12,其通过汇流排18而连接CPU11;显示器13;键盘14;硬盘15及通信装置16。多位使用者各自从电脑通过通信装置16而在电脑系统的硬盘15进行存取。
图1是显示在实施形态的资料储存系统的位置的图。参照图2,使用者使用硬盘15来储存资料时能够使用资料储存系统。硬盘15能够以规定的位元组(byte)单位来读写(能够覆写)。该系统是作为使用者在硬盘15所具有的多个资料储存区块储存所需要的资料而进行说明。
又,在该资料储存系统,资料具有不可分割性,各自使用者关闭档案时,对于每位使用者,档案以不可分割性的方式被关闭。又,当某使用者处理某区块的资料中,其他使用者不能够处理该区块的资料。
而且,在此,硬盘15具有多个区块,能够保证在读取中遇到意外的电源中断时,不会对全部区块的状态造成任何影响,且在写入中遇到意外的电源中断时,只有写入中的单一区块呈现不定的状态,不会对其他的区块造成影响。
图3用以说明在该实施形态的资料储存系统的储存资料的区块的集合体的图。在该实施形态,各自的区块集合体具有确定区块集合体、次世代确定区块集合体及不可分割区块集合体的3种形态。确定区块集合体是使用硬盘15上的区块的一部分,并且由多位使用者资料区块及一个以上的管理区块所构成的可得到一贯性的区块集合体,该使用者资料区块储存对使用者有意义的资料;而该管理区块是管理使用者资料区块。
在此,关于使用者资料区块及管理区块后述,在图18说明的被储存在物理区块号码PB2的区块号码管理表是管理区块的一个例子,而储存有使用者的资料的物理区块号码PB3等是使用者资料区块的一个例子。
例如次世代确定区块集合体是硬盘15时,横跨RAM12而存在来准备变迁至确定区块集合体的状态。其亦是经常只有存在于一处。该区块集合体决定在确定区块集合体所含有的全部区块且无法覆写,由将必须修正的使用者资料区块及管理区块,只有使用未被包含于硬盘15上的确定区块集合体的区块来修正,能够制作可得到一贯性的状态。
不可分割区块集合体横跨横跨硬盘15及RAM12而存在。因应交易,当交易开始时从次世代确定区块集合体分歧。当交易结束时将变更部分合并至次世代确定区块集合体,并且消灭。可多个存在亦可不存在。
亦即,该区块是将使用者期望不可分割处理的对一个以上的使用者资料区块的修正,使用未被包含于确定区块集合体且次世代确定区块集合体的硬盘15上的区块来修正,并且由在不可分割处理结束时点,将修正后的全部使用者资料区块,只有修正次世代确定区块集合体的管理区块,能够合并至次世代确定区块集合体的构成区块。
随后,说明在资料储存系统的CPU11的动作。图4~15是显示使资料储存系统动作的CPU11所进行的动作的流程图。
图4是显示在实施形态的资料储存系统的通常时的处理的流程图。参照图4,通常时,电源被关闭时,系统被初期化(步骤S11,以下将步骤省略),并接受使用者的操作(S12)。该使用者的处理是由键盘14等来进行。使用者的操作包含不可分割操作开始宣言及不可分割ID取得(S14)、不可分割操作结束宣言(S15)、新区块ID取得(S16)、区块资料读人(S17)、区块资料写入(S18)、区块开放(S19)、或同步(sync、S20)的任一者。结束该等处理时,进行系统结束处理(S21)并关闭电源。
在此,不可分割操作开始宣言指使用者边保持不可分割性边开始资料处理。不可分割ID是为了识别使用者而使用。亦即,在该实施形态,是使用不可分割ID及区块ID来特定储存有资料的区块。又,所谓区块ID是间接地指示硬盘15的物理区块号码者。
又,在该实施形态,由同步处理,能够在依照使用者意思的任意时序,将所制作的资料等储存在硬盘15上。
而且,在此所示的使用者的多个操作中的任意时序可发生电源中断。随后,说明在图4的S11所示的系统初期化处理。图5是显示系统初期化处理的内容的流程图。参照图5,在系统初期化处理,首先,进行超级区块判定(S111),随后,进行次世代确定区块集合体开启处理(S112)。
在此,说明超级区块。超级区块是用以特定储存有具有不可分割性的资料的最新的区块所使用的一对区块。在图16显示超级区块的一个例子。超级区块亦与通常的资料同样地,被储存在硬盘15的规定区块。在此,为了容易理解,说明在硬盘15的物理区块号码为0及1储存一对超级区块21、22的例子。
超级区块21、22是使用硬盘15上的物理区块号码0、1。如图16所示,超级区块21具有2组子超级区块21a与21b,该子超级区块21a与21b在各自内部具有:增量计数器;及物理区块号码,其是放置区块号码管理表。超级区块22亦同样。当资料具有不可分割性而被关闭时,CPU11边将超级区块21及22交替地使增量计数器增加边写入储存具有不可分割性的资料的区块。此时,将同一资料依照顺序写入子超级区块21a与21b及子超级区块22a与22b。
因此,当写人中发生电源中断时,在子超级区块21a与21b、或是子超级区块22a与22b所写入的资料不同。因此,观察子超级区块21a及21b、或是22a及22b的资料时,能够知道在哪一个超级区块所写入的区块号码管理表的物理区块号码是管理最新具有不可分割性的资料的物理区块号码。
说明该判定处理。图6是显示超级区块判定处理内容的流程图。参照图6,超级区块判定处理(S111)读入第1、第2超级区块(S1111)并进行判定错误(S1112)。在第1超级区块有错误时,将位于第2超级区块内的区块号码的物理区块号码视为确定区块集合体(S1113)。在第2超级区块有错误时,将位于第1超级区块内的物理区块号码视为确定区块集合体(S1115)。任一方都无错误时,将位于增量计数器较大一方的超级区块内的物理区块号码视为确定区块集合体(S1114)。因此,超级区块是作为区块位置特定单元而动作。
又,在此,两超级区块都错误是只有在硬盘15未格式化时,或是发生物理性障碍时。
随后,说明在图5的S112所示的次世代确定区块集合体开启处理。图7是显示次世代确定区块集合体开启处理的流程图。参照图7,在次世代确定区块集合体开启处理(S112),在全部的区块集合体探索未使用的物理区块号码(S1121),并在取得的空物理区块号码的区块,复制确定区块集合体的区块号码管理表的内容(S1122)。将复制对方的物理区块号码作为次世代确定区块集合体的区块号码管理表位置而保持在RAM上(S1123)。
因此,CPU11其功能作为从确定区块集合体衍生,来形成次世代确定区块集合体的第1区块形成单元。
又,为了降低探索空区块的成本,以在硬盘15上保持位元图(bitmap)的构成为佳,该位元图是管理在确定区块集合体的使用中的区块号码。
随后,说明在图4的S21所示的系统结束处理。图8显示系统结束处理的流程图。参照图8,系统结束处理是包含同步处理(「sync」、S211))。
随后,说明在图4的S14所示的不可分割操作开始宣言及不可分割ID取得系统。图9显示不可分割操作开始宣言及不可分割ID取得系统的流程图。参照图9,不可分割操作开始宣言及不可分割ID取得系统在全部的区块集合体探索未使用的物理区块号码(S141)。在取得的空物理区块号码的区块,复制次世代确定区块集合体的区块号码管理表的内容(S142)。将复制对方的物理区块号码作为该不可分割区块集合体的区块号码管理表位置而与不可分割ID同时保持在RAM上(S143)。将不可分割ID送回至使用者(S144)。因此,该CPU11其功能是作为从次世代确定区块集合体衍生来形成不可分割区块集合体的第2区块形成单元。
随后,说明在图4 S15所示的不可分割操作结束宣言。图10是显示不可分割操作结束宣言处理的流程图。参照图10,不可分割操作结束宣言是将因应使用者指定的不可分割ID的对不可分割区块集合体所进行的全部区块操作(开放、分配),反映至次世代确定区块集合体的区块号码管理表(S151)。将在RAM上所保持的不可分割ID及区块管理表的物理区块号码作废(S152)。因此,CPU11其功能是作为区块操作接受单元,该区块操作接受单元是接受使用者对于不可分割区块集合体所期望的保持不可分割性的区块操作。
随后,说明在图4 S16所示的新区块ID取得处理。第11图是显示新区块ID取得处理内容的流程图。参照第11图,在新区块ID处理,是在全部的区块集合体探索未使用的区块ID(S161),并在全部的区块集合体探索未使用的物理区块号码(S162),且将区块ID及物理区块号码的映射资讯记忆在对应使用者指定的不可分割ID的不可分割区块集合体的区块号码管理表(S163),并将区块ID送返至使用者(S164)。
随后,说明在图4 S17所示的区块资料读人处理。图12是显示区块读入处理内容的流程图。参照图12,在区块资料读入处理,读入对应使用者指定的不可分割ID的不可分割区块集合体的区块号码管理表,并求得对应指定的区块ID的物理区块号码(S171)。读人物理区块号码的区块资料,并送返至使用者(S172)。
随后,说明在图4 S18所示的区块资料写入处理。图13显示区块写入处理内容的流程图。参照图13,在区块资料写入处理,检查在对应使用者指定的不可分割ID的不可分割区块集合体,被指定的区块ID的区块,是否在对象不可分割区块集合体已复制完成(S181、S182)。观察对象不可分割区块集合体的区块号码管理表,并求得被指定的区块ID的物理区块号码(S183)。随后,将使用者所交给的资料写入所求得物理区块号码的区块(S186)。
在S182若未复制完成时,在全区块集合体探索未使用的物理区块号码(S184)。在对象不可分割区块集合体的区块号码管理表,登记被指定区块ID及探索得到的物理区块号码的映射资讯(S185)。随后,移交至S186。
随后,说明在图4 S19所示的区块开放处理。图14是显示区块开放处理内容的流程图。参照图14,在区块开放处理,从对应被指定的区块ID的不可分割区块集合体的区块号码管理表,删除对应被指定的区块ID的记载(S191)。
随后,说明在图4 S20所示的同步处理。图15是显示同步处理的流程图。参照图15,使用者通过键盘14等指示自己的资料处理结束时,观察次世代确定区块集合体的区块号码管理表,将对于在次世代确定区块集合体所含有的全部物理区块号码(亦包含管理用区块),RAM上的高速缓冲记忆体(cache)、硬盘15所具有的高速缓冲记忆体等全部高速缓冲记忆体上的资料写出至硬盘15上(S201)。
作为该「同步处理」,有使用者指示「不可分割操作结束宣言」后,明示地进行「同步处理」的情况;及CPU11自动且定期地进行「同步处理」的情况。前者的方法时,使用者能够保证自己的处理已确实地被反映至确定区块集合体。后者因为使用者在「不可分割操作结束宣言」后,未进行「同步处理」,所以将留在次世代确定区块集合体的使用者区块,使其在确定区块集合体确定。后者的处理时,因为CPU11定期性进行,不需要使用者的介入,能够谋求整体的处理效率。在此,依照使用者的选择,来实行任一者。
对于现在作为确定区块用无效的超级区块,将在有效的超级区块的增量计数器值加上1后的内容及次世代确定区块集合体的区块号码管理表的物理区块号码写入(S202)。随后,进行图7所示的次世代确定区块集合体开启处理。因此,CPU11操作接受单元接受使用者的区块操作时,其功能作为使该不可分割区块集合体以保持不可分割性的状态变迁至该确定区块集合体的变迁单元。
随后,具体地说明区块集合体的变迁。图17是显示区块集合体的变迁状态的图。在图17,比虚线下方在硬盘15所存在的区块集合体,上方是在硬盘15以外的RAM上等的场所存在的区块集合体。如上述,确定区块集合体是只有存在于硬盘15上。由系统初期化处理中的超级区块判定,具有不可分割性的确定区块集合体P1被特定在硬盘15上。由系统初期化处理中的次世代确定区块集合体开启处理,能够从确定区块集合体P1制作次世代确定区块集合体C1。
在此,使用者A进行不可分割操作开始宣言时,能够制作不可分割区块集合体S1,且由新区块ID取得或区块资料的读入、写入、区块的开放等的处理,能够制作不可分割区块集合体S2。结束资料处理,使用者由进行不可分割操作结束宣言,能够生成次世代确定区块集合体C2,且由使用者明示地指示的同步处理(sync),或是由CPU11在每一定时间实行的同步处理(sync),次世代确定区块集合体C2被移交至确定区块P2且被储存在硬盘15上。
随后,多使用者A及B在进行资料处理时的区块集合体的变迁时,此时具体上的区块ID与不可分割ID的关系,参照图17至23来说明。在此,不可分割ID使用者为了识别在后面说明的图19的使用者A的不可分割区块集合体或使用者B的不可分割区块集合体的识别号码。
在图17,使用者A及使用者B不可分割处理确定区块集合体P2的资料。图18显示刚系统初期化处理后的超级区块、确定区块集合体及次世代确定区块集合体的详细的图。在此,将物理区块号码以PB0、PB1、···,并将不可分割ID以ID0、ID1、···的方式表示。在此,超级区块PB0及PB1具有如图18所示的值。因为CPU11参照超级区块PB0及PB1的增量计数器的值,能够判断具有最新确定区块集合体的超级区块为PB0,使用该区块号码管理表PB2。在此,PB2的确定区块集合体的管理表具有51所示的内容。表51在区块ID0将PB3、在区块ID1将PB4、在区块ID2将PB5作为物理区块号码而储存。在图18显示各自的物理区块PB3至PB5哪位使用者的资料区块及区块ID。
CPU11从该状态制作次世代确定区块集合体C2时,为了此目的,使用以往未使用的物理区块亦即物理区块PB6,复制确定区块集合体的区块号码管理表51来制作次世代确定区块集合体区块号码管理表52。
随后,使用者A指示变更自己的资料时,制作不可分割区块集合体S3。此时,如图19,制作将次世代确定区块集合体区块号码管理表52复制而成的对使用者A的不可分割区块集合体区块号码管理表53。在此,该不可分割区块集合体管理表53被制作在以往未使用的物理区块PB7。
另一方面,使用者B亦指示变更自己的资料时,制作不可分割区块集合体S5。此时,如图19,制作将次世代确定区块集合体区块号码管理表52复制而成的对使用者B的不可分割区块集合体区块号码管理表54。在此,该不可分割区块集合体管理表54亦是被制作在以往未使用的物理区块PB8。
图20是显示依照使用者A的区块ID0及1的刚修正后的次世代确定区块集合体及不可分割区块集合体的详细。使用者A将PB3及PB4的资料复制至物理区块PB9及PB10并修正。其结果,对使用者A的不可分割区块集合体管理表53被变更为不可分割区块集合体管理表55而被储存在物理区块PB7。
图21是显示依照使用者B的区块ID2的刚修正后的次世代确定区块集合体及不可分割区块集合体的详细。使用者B将PB5的资料复制至物理区块PB11并修正。其结果,对使用者B的不可分割区块集合体管理表54被变更为不可分割区块集合体管理表56而被储存在物理区块PB8。
进行如上述的处理后,使用者A进行不可分割操作结束宣言时,能够制作次世代确定区块集合体C3。图22是显示依照使用者A的刚不可分割操作结束宣言的次世代确定区块集合体的详细。在图中,次世代确定区块集合体C3以椭圆形围成,并且包含次世代确定区块集合体区块号码管理表、使用者A的资料区块1、2及使用者B的资料区块1,在物理区块PB6所储存的次世代确定区块集合体区块号码管理表55。
在此,进行同步处理时,能够制作确定区块集合体P3。图23是显示在同步处理的超级区块及确定区块集合体的详细。如图23所示,次世代确定区块集合体直接被移交至确定区块集合体,同时超级区块2的增量计数器是此超级区块1的增量计数器增加1而成为11,在此,储存有被确定的确定区块集合体区块号码管理表的物理区块号码亦即PB6作为区块号码管理表的物理区块号码而被储存。
如此,在该实施形态,变更资料等时,因为经常边将新资料复制至以往未使用的区块号码边进行,且在不可分割处理的结束时以将其位置储存在区块号码管理表的方式进行,能够使用该区块号码而在硬盘上储存确定区块集合体的资料。又,即便在任何时序发生电源中断,亦一定能够确实地保护原来的资料。
又,在各自的区块集合体,未变更的区块在区块集合体之间被共同所有。
随后,说明使用者处理中发生电源中断时的硬盘15的状态。在图17所示的显示区块集合体的变迁的图,说明在时刻t1、t2、t3、t4的各自的发生电源中断时的状态。
(1)在时刻t1发生电源中断时
参照图17,在资料储存系统被初期化而形成次世代确定区块集合体C1,使用者使用不可分割区块集合体S1而开始资料处理的阶段发生电源中断的情况。
此时,在硬盘15上确定的只有确定区块集合体P1,其后无写入确定区块集合体的资料。因此,超级区块的增量计数器或区块号码未被重写。
因此,从该状态恢复时,在相同确定区块集合体P1被确定的超级区块的资料能够使用。
(2)在时刻t2发生电源中断时
使用者A使用不可分割区块集合体S3记录资料,且另外使用者B使用不可分割区块集合体S5记录资料的进行中发生电源中断的情况。此时,在硬盘15上记录CPU11自动地进行同步处理而成的确定区块集合体P2。
因此,从该状态恢复时,在确定区块集合体P2被确定的超级区块的资料能够使用。
(3)在时刻t3发生电源中断时
由于使用者A在不可分割区块集合体S4结束不可分割的资料处理,并进行不可分割操作结束宣言,所处理的区块作为次世代确定区块集合体C3而被合并,且由使用者明示地、或者系统自动地进行同步处理,C3变迁至该确定区块集合体P3,而且使用者B对不可分割区块集合体S6进行处理的进行中发生电源中断的情况。此时,使用者A的资料由同步处理,在硬盘上确定作为确定区块集合体P3。然而,因为使用者B未进行此种处理,不可分割区块集合体S6消失。
从该状态恢复时,在确定区块集合体P3被确定的超级区块的资料能够使用。
(4)在时刻t4发生电源中断时
在使用者B结束处理的阶段发生电源中断时的情况。从该状态恢复时,在确定区块集合体P3被确定的超级区块的资料能够使用。
如上述,在该实施形态,多位使用者在各自的资料处理中即便突然发生电源中断,下次电源投入时,能够作为正常状态而进行系统的初期化处理,因为使用者能够在自己所要的时序,将自己的资料作为确定区块集合体而在硬盘15上确定的缘故,能够保持并行进行处理的多位使用者所期望的处理的不可分割性,同时在电源中断时不会受到他人的影响。
又,不急于确定资料的使用者,由不明示性地进行同步处理而是委托系统定期性进行同步处理,能够提升系统整体的性能。
而且,在上述实施形态,说明使用硬盘作为非挥发性记忆体的情况,但是未限定于此,亦能够应用于包含快闪记忆体的任意的非挥发性记忆体。
而且,在上述实施形态,为了检测构成具有不可分割性的资料的区块,说明使用一对超级区块的情况,但是未限定于此,只要是能够保证被写入硬盘的区块、区块写完的构造(例如,采取全部资料的总和检查)时,能够使用任意方法。
又,在上述实施形态,说明了多位使用者进行存取的资料储存系统,但是在此所称多位使用者,亦包含在硬盘上所储存的多程序被读出至RAM上且在CPU并列地被处理时的多程序。
而且,在上述实施形态,在各区块集合体所包含的区块号码管理表,作为储存于单一区块内而说明,但是非被储存于单一区块时,由多个区块来构成区块号码管理表,将其由本构成来管理时,能够容易地进行扩充。
以上,参照图示说明了本发明的实施形态,但是本发明未限定于图示的实施形态。对于未图示的实施形态,在与本发明同一范围内或是均等的范围内,能够施加各种的修正或变形。产业上的利用可能性
因为本发明的资料储存系统能够不可分割交易且各使用者不会受到他人的资料处理的影响,利用作为非挥发性记忆体的资料储存系统是有利的。
Claims (9)
1.一种资料储存系统,其具有多位使用者能够存取一资料的功能,为一非挥发性记忆体的资料储存系统,其中,该资料被保持在规定的一区块内,多位使用者中的一人在处理所述区块时,其他的使用者不能处理使用中的所述区块,所述区块包含各自个别地设置的一确定区块、一次世代确定区块及一不可分割区块,所述确定区块、次世代确定区块及不可分割区块被包含在于各自多个集合而成的一确定区块集合体、一次世代确定区块集合体及一不可分割区块集合体,所述确定区块集合体只有存在于所述非挥发性记忆体上,其特征在于:所述资料储存系统包含:
一第1区块形成单元,通过将所述确定区块集合体的一部分区块复制,而从所述确定区块集合体形成能够横跨所述非挥发性记忆体及其以外的记忆体而存在的所述次世代确定区块集合体;
一第2区块形成单元,通过将所述次世代确定区块集合体的一部分区块复制,而从所述次世代确定区块对每位使用者形成能够横跨所述非挥发性记忆体及其以外的记忆体而存在的所述不可分割区块集合体;
一区块操作接受单元,其对每位使用者,接受对由所述第2区块形成单元所形成的所述不可分割区块集合体进行的保持不可分割性的一区块集合体的操作;
一合并单元,其将由所述区块操作接受单元的操作结束后的所述不可分割区块集合体,由边对每位使用者保持不可分割性,边将接受由所述区块操作接受单元修正后的区块,与所述次世代确定区块集合体所含有的修正前的区块调换,来合并成为所述次世代确定区块集合体;及
一变迁单元,其在将由所述合并单元所合并而成的所述次世代确定区块集合体保持不可分割性的状态,由在所述次世代确定区块集合体所含有的所述非挥发性记忆体以外存在的全部区块,写入所述非挥发性记忆体而使其变迁至所述确定区块集合体;
其中,所述变迁单元包含一不可分割区块位置特定单元,所述不可分割区块位置特定单元包含具有一区块号码的一对超级区块,将资料按照顺序交替写入所述一对超级区块,当其中一个超级区块有错误时,将另一个超级区块内的区块号码的物理区块号码视为确定区块集合体。
2.如权利要求1所述的资料储存系统,其特征在于:所述变迁单元由所述合并单元,将合并在多个所述不可分割区块集合体上修正后的区块而成的所述次世代确定区块集合体,并使其变迁至所述确定区块集合体。
3.如权利要求2所述的资料储存系统,其特征在于:所述合并单元将能够多个并行而存在的所述不可分割区块集合体,在任意的时序合并于所述次世代确定区块集合体。
4.如权利要求1所述的资料储存系统,其特征在于:所述变迁单元包含一不可分割区块位置特定单元,所述不可分割区块位置特定单元特定储存具有不可分割性的资料的所述确定区块集合体的位置。
5.如权利要求4所述的资料储存系统,其特征在于:所述不可分割区块位置特定单元包含一对超级区块,所述超级区块具有:一区块号码,其特定各自保持有具有不可分割性的资料的区块集合体;及一增量计数器;在每次具有不可分割性的资料被写入新的区块集合体时,所述一对区块号码中的一方的所述区块号码及所述增量计数器的值依照顺序被更新。
6.如权利要求5所述的资料储存系统,其特征在于:各自的所述超级区块具有一对特定保持有具有不可分割性的资料的区块集合体的所述区块号码及增量计数器,在所述一对特定保持有具有不可分割性的资料的区块集合体的所述区块号码及增量计数器,储存同一资料。
7.如权利要求1所述的资料储存系统,其特征在于:所述区块集合体的各自的区块包含一区块号码管理表,所述区块号码管理表能够储存存有资料的一物理性区块号码与一区块I D的关系。
8.如权利要求1所述的资料储存系统,其特征在于:所述确定区块集合体、次世代确定区块及不可分割区块集合体,包含:一使用者资料区块,其储存能够依照每位使用者而变更的资料;及一区块号码管理表,其管理所述使用者资料区块。
9.一种资料储存方法,其是将电脑作为具有多位使用者能够存取一资料,将所述资料存取于一非挥发性记忆体的资料储存方法,其中,所述资料被保持在规定的一区块内,多位使用者中的一人在处理所述区块时,其他的使用者不能处理使用中的所述区块,所述区块是包含各自个别地设置的一确定区块、一次世代确定区块及一不可分割区块,所述确定区块、所述次世代确定区块及所述不可分割区块是被包含于各自多个集合而成的一确定区块集合体、一次世代确定区块集合体及一不可分割区块集合体,所述确定区块集合体只有存在于所述非挥发性记忆体上,其特征在于:所述方法是将电脑依序执行以下步骤:
通过第1区块形成单元将所述确定区块集合体的一部分区块复制并且从所述确定区块集合体,形成能够横跨所述非挥发性记忆体及其以外的记忆体而存在的所述次世代确定区块集合体;
通过第2区块形成单元将所述次世代确定区块集合体的一部分区块复制而从所述次世代确定区块集合体,对每位使用者形成能够横跨所述非挥发性记忆体及其以外的记忆体而存在的所述不可分割区块集合体;
通过区块操作接受单元对每位使用者接受一区块集合体的操作,所述区块集合体对由所述第2区块形成单元所形成的所述不可分割区块集合体,保持不可分割性而成;
通过合并单元将由所述区块操作接受单元的操作结束后的所述不可分割区块集合体,由边对每位使用者保持不可分割性,边将接受由所述区块操作接受单元修正后的区块,与在所述次世代确定区块集合体所含有的修正前的区块调换,来合并成为所述次世代确定区块集合体;及
通过变迁单元将由所述合并单元所合并而成的所述次世代确定区块集合体在保持不可分割性的状态下,将在所述次世代确定区块集合体所含有的所述非挥发性记忆体以外存在的全部区块写入所述非挥发性记忆体,而使其变迁至所述确定区块集合体;
其中,所述变迁单元包含一不可分割区块位置特定单元,所述不可分割区块位置特定单元包含具有一区块号码的一对超级区块,将资料按照顺序交替写入所述一对超级区块,当其中一个超级区块有错误时,将另一个超级区块内的区块号码的物理区块号码视为确定区块集合体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-307639 | 2007-11-28 | ||
JP2007307639A JP4210318B1 (ja) | 2007-11-28 | 2007-11-28 | データ格納システムおよびデータ格納プログラム |
CN200880118624.6A CN101981547B (zh) | 2007-11-28 | 2008-11-04 | 资料储存系统及资料储存方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880118624.6A Division CN101981547B (zh) | 2007-11-28 | 2008-11-04 | 资料储存系统及资料储存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063185A CN104063185A (zh) | 2014-09-24 |
CN104063185B true CN104063185B (zh) | 2018-05-15 |
Family
ID=40325720
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880118624.6A Expired - Fee Related CN101981547B (zh) | 2007-11-28 | 2008-11-04 | 资料储存系统及资料储存方法 |
CN201410232702.2A Active CN104063185B (zh) | 2007-11-28 | 2008-11-04 | 资料储存系统及资料储存方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880118624.6A Expired - Fee Related CN101981547B (zh) | 2007-11-28 | 2008-11-04 | 资料储存系统及资料储存方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8055853B2 (zh) |
EP (1) | EP2216721A4 (zh) |
JP (1) | JP4210318B1 (zh) |
KR (1) | KR100921876B1 (zh) |
CN (2) | CN101981547B (zh) |
WO (1) | WO2009069436A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424030B (zh) * | 2013-08-22 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 多进程操作共享内存的方法和装置 |
WO2015198392A1 (ja) * | 2014-06-24 | 2015-12-30 | 株式会社島津製作所 | 情報管理システム |
CN104778223B (zh) * | 2015-03-25 | 2018-08-21 | 广州多益网络股份有限公司 | 一种手游房屋的数据模型建立方法及装置 |
US20190155507A1 (en) * | 2017-11-21 | 2019-05-23 | Silicon Motion Inc. | Method for performing system backup in a memory device, associated memory device and controller thereof, and associated electronic device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1673978A (zh) * | 2004-03-28 | 2005-09-28 | 联发科技股份有限公司 | 资料区块的资料管理方法及其相关资料存取系统 |
CN1755673A (zh) * | 2004-09-30 | 2006-04-05 | 株式会社东芝 | 具备文件管理功能的文件系统及文件管理方法 |
CN1908907A (zh) * | 2005-08-01 | 2007-02-07 | 普安科技股份有限公司 | 改善资料写入效率的方法以及实施此方法的子系统与系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414840A (en) * | 1992-06-25 | 1995-05-09 | Digital Equipment Corporation | Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory |
JPH07175700A (ja) * | 1993-12-20 | 1995-07-14 | Fujitsu Ltd | データベース管理方式 |
US7174440B2 (en) * | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
US7526599B2 (en) * | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
US8762331B2 (en) * | 2004-06-29 | 2014-06-24 | Microsoft Corporation | Concurrent transactions and page synchronization |
US7257690B1 (en) * | 2004-10-15 | 2007-08-14 | Veritas Operating Corporation | Log-structured temporal shadow store |
-
2007
- 2007-11-28 JP JP2007307639A patent/JP4210318B1/ja active Active
-
2008
- 2008-11-04 CN CN200880118624.6A patent/CN101981547B/zh not_active Expired - Fee Related
- 2008-11-04 KR KR1020097011526A patent/KR100921876B1/ko active IP Right Grant
- 2008-11-04 US US12/514,289 patent/US8055853B2/en active Active
- 2008-11-04 EP EP08854486A patent/EP2216721A4/en not_active Ceased
- 2008-11-04 CN CN201410232702.2A patent/CN104063185B/zh active Active
- 2008-11-04 WO PCT/JP2008/070038 patent/WO2009069436A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1673978A (zh) * | 2004-03-28 | 2005-09-28 | 联发科技股份有限公司 | 资料区块的资料管理方法及其相关资料存取系统 |
CN1755673A (zh) * | 2004-09-30 | 2006-04-05 | 株式会社东芝 | 具备文件管理功能的文件系统及文件管理方法 |
CN1908907A (zh) * | 2005-08-01 | 2007-02-07 | 普安科技股份有限公司 | 改善资料写入效率的方法以及实施此方法的子系统与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101981547B (zh) | 2014-07-16 |
KR20090077979A (ko) | 2009-07-16 |
US8055853B2 (en) | 2011-11-08 |
EP2216721A4 (en) | 2011-02-23 |
US20110022813A1 (en) | 2011-01-27 |
EP2216721A1 (en) | 2010-08-11 |
CN104063185A (zh) | 2014-09-24 |
WO2009069436A1 (ja) | 2009-06-04 |
CN101981547A (zh) | 2011-02-23 |
JP2009134346A (ja) | 2009-06-18 |
JP4210318B1 (ja) | 2009-01-14 |
KR100921876B1 (ko) | 2009-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063185B (zh) | 资料储存系统及资料储存方法 | |
Katz et al. | Database support for versions and alternatives of large design files | |
Arge et al. | Cache-oblivious priority queue and graph algorithm applications | |
Ryang et al. | Discovering high utility itemsets with multiple minimum supports | |
JP6272555B2 (ja) | 計算機システム、及び、情報処理方法 | |
CN107787489A (zh) | 包括层级的文件存储系统 | |
CN105824720B (zh) | 一种面向数据连续读取的重删纠删混合系统的数据放置方法 | |
EP3362916B1 (en) | Signature-based cache optimization for data preparation | |
CN107220145A (zh) | 一种闪存数据库数据恢复的方法 | |
CN106951375A (zh) | 在存储系统中删除快照卷的方法及装置 | |
Kleppmann | Moving elements in list CRDTs | |
DE112011105774T5 (de) | Verschiebbarer Speicher, der In-Memory-Datenstrukturen unterstützt | |
JP6598997B2 (ja) | データ準備のためのキャッシュ最適化 | |
TWI311327B (en) | Method for page random write and read in the block of flash memory | |
Murthy et al. | Ventilatory dependency after cardiovascular surgery | |
JP2021077382A (ja) | 知識管理システム | |
Jayanti et al. | Concurrent disjoint set union | |
CN107704466A (zh) | 数据储存系统 | |
Sen et al. | Deletion without rebalancing in balanced binary trees | |
van der Zanden et al. | Computing Treewidth on the GPU | |
Chen et al. | Efficient olap with udfs | |
Da et al. | Extending JSON CRDTs with Move Operations | |
CN107656876A (zh) | 数据存储方法及装置、计算机可读存储介质、终端 | |
Adams et al. | SPEER: Sentence-Level Planning of Long Clinical Summaries via Embedded Entity Retrieval | |
Baier et al. | Space-efficient parallel construction of succinct representations of suffix tree topologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: Kyoto Prefecture Applicant after: KYOTO SOFTWARE RESEARCH, INC. Address before: Kyoto Prefecture Applicant before: Kyoto Software Res Inc. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: KYOTO SOFTWARE RES INC. TO: KYOTO SOFTWARE RESEARCH, INC. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |