CN103984645A - 一种基于双控的缓存一致性数据刷写方法 - Google Patents

一种基于双控的缓存一致性数据刷写方法 Download PDF

Info

Publication number
CN103984645A
CN103984645A CN201410217975.XA CN201410217975A CN103984645A CN 103984645 A CN103984645 A CN 103984645A CN 201410217975 A CN201410217975 A CN 201410217975A CN 103984645 A CN103984645 A CN 103984645A
Authority
CN
China
Prior art keywords
data
superblock
dual control
write
chinese ink
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.)
Granted
Application number
CN201410217975.XA
Other languages
English (en)
Other versions
CN103984645B (zh
Inventor
缪祥虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410217975.XA priority Critical patent/CN103984645B/zh
Publication of CN103984645A publication Critical patent/CN103984645A/zh
Application granted granted Critical
Publication of CN103984645B publication Critical patent/CN103984645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于双控的缓存一致性数据刷写方法,通过合理规划非易失存储器,并借助缓存超级块信息,简化双控状态切换流程,将双控状态切换抽象为超级块信息值的变化,通过双控状态切换有效更改超级块信息值;同时将缓存数据和元数据都存储于非易失存储器,系统意外掉电后,缓存数据不会丢失,系统重启后还能根据超级块信息判断缓存数据有效性,正确的刷写回磁盘,维护双控系统缓存一致性。

Description

一种基于双控的缓存一致性数据刷写方法
 
技术领域
本发明涉及计算机系统及存储领域,具体地说是一种基于双控的缓存一致性数据刷写方法。
背景技术
双控存储系统中,当向磁盘发出读写数据块请求时,请求先经过缓存,缓存到磁盘的刷写由线程异步完成。两个控制器之间的缓存数据一致性对系统尤其重要,当系统掉电重启后,需要将缓存数据刷写回磁盘。缓存数据的一致性判断包括判断两个控制器缓存数据是否同步或者哪个控制器缓存数据有效。如果不能判断两个控制器的缓存数据一致性情况,可能刷写回过时的缓存数据。
非易失性存储器非易失性内存的一种,利用存储单元的可逆的相变来存储信息;非易失性存储器中,依存储器内的数据是否能在使用计算机时随时改写为标准;当电流关掉后,所存储的数据不会消失者的计算机存储器。本发明将利用非易失性存储器解决维护双控缓存一致性的难题。
发明内容
针对现有技术存在的不足之处,本发明提出了一种基于双控的缓存一致性数据刷写方法。
本发明所述一种基于双控的缓存一致性数据刷写方法,解决上述技术问题采用的技术方案如下:该缓存一致性数据刷写方法,通过合理规划非易失存储器,非易失存储器包括超级块区、元数据区和缓存数据区,其中元数据区用于存储元数据,缓存数据区用于缓存数据;该缓存一致性数据刷写方法借助缓存超级块信息,简化双控状态切换流程,将双控状态切换抽象为超级块信息值的变化,通过双控状态切换有效更改超级块信息值;同时将缓存数据和元数据都存储于非易失存储器,系统意外掉电后,缓存数据不会丢失,系统重启后还能根据超级块信息判断缓存数据有效性,正确的刷写回磁盘,维护双控系统缓存一致性。
该基于双控的缓存一致性数据刷写方法中,根据超级块信息判断缓存数据有效性是指,通过超级块区中存储的magic值有效判断缓存数据的有效性;所述magic值是在系统刚启动时,由用户根据配置的状态负责写入至非易失存储器的超级块区的;运行过程中,当控制器状态发生切换时,magic值增1或减1;具体情况为:当发生控制器接管对方时,其magic值增1;当对端控制器active,己方控制器异常时,magic减1,这样当系统意外掉电时,通过超级块信息能够判断之前处于那个状态,再根据比较magic值大小判断缓存数据的有效性。
本发明所述基于双控的缓存一致性数据刷写方法具有的有益效果: 
该基于双控的缓存一致性数据刷写方法借助超级块信息和两个控制器状态可以快速判断数据的一致性;缓存数据和元数据都存储于非易失存储器,系统意外掉电后,不但缓存数据不会丢失,系统重启后还能根据超级块数据信息判断缓存数据有效性,正确的刷写回磁盘,通过该方法显著提高了双控系统缓存数据的一致性,提高公司产品市场竞争力。
附图说明
附图1为非易失存储器使用示意图;
附图2为双控制器联合状态变化示意图;
附图3为双控运行流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的基于双控的缓存一致性数据刷写方法进行详细说明。
本发明首先要解决的技术问题是判断双控缓存数据一致性,进而解决维护双控缓存一致性的难题。为了实现上述目的,本方明所述基于双控的缓存一致性数据刷写方法,通过合理规划非易失存储器,非易失存储器包括超级块区、元数据区和缓存数据区,其中元数据区用于存储元数据,缓存数据区用于缓存数据;该缓存一致性数据刷写方法借助缓存超级块信息,简化双控状态切换流程,将双控状态切换抽象为超级块信息值的变化,通过双控状态切换有效更改超级块信息值;同时将缓存数据和元数据都存储于非易失存储器,系统意外掉电后,缓存数据不会丢失,系统重启后还能根据超级块信息判断缓存数据有效性,正确的刷写回磁盘,维护双控系统缓存一致性。
附图2为双控制器联合状态变化示意图;单独看双控存储系统中的每个控制器状态,包括active,inactive,takeover,standby有效状态,其中active是控制器处于工作状态,inactive指控制器不工作,takeover指对方控制器异常,接管对方,standby指控制器监督对方。双控制器联合状态变化如图2所示,S0状态表示两个控制器同时工作缓存数据一致,S1状态表示只有单个控制器工作,另一控制器被接管,缓存数据单侧有效,即S1状态表示只有单个控制器缓存数据有效;S2状态表示单个控制器工作,另一控制器未激活,缓存数据单侧有效,即S2状态相当于单控;S3状态表示两个控制器同时掉电,两个控制器同时失效;在本方明所述缓存一致性数据刷写方法中,通过超级块信息可以判断之前处于那个状态。
该基于双控的缓存一致性数据刷写方法中,根据超级块信息判断缓存数据有效性是指,通过超级块区中存储的magic值有效判断缓存数据的有效性;初始情况下,由用户根据配置的状态负责写入一个随机的magic值,运行过程中,当控制器状态发生切换时,magic值增1或减1;具体情况为:当发生控制器接管对方时,其magic值增1;当对端控制器active,己方控制器异常时,magic减1,这样当系统意外掉电时,可根据maigc值判断缓存数据的有效性。
附图1为非易失存储器使用示意图,如图1所示,所述非易失存储器包括超级块区、元数据区和缓存数据区,其中超级块区主要保存magic值,元数据区用于存储元数据,缓存数据区用于缓存数据;所述magic值在系统刚启动时由用户负责写入,后续的维护根据双控制器状态切换更改,意外掉电重启后由比较magic值大小可判断缓存数据有效性。
附图3为双控运行流程图,如图3所示,通过本发明所述基于双控的缓存一致性数据刷写方法,所述双控运行流程如下:启动机器,判断是否需要刷新缓存,若需要刷新缓存,则刷新缓存数据至磁盘,若不需要刷新缓存,则写入magic值至超级块区;然后,正常情况下,系统进行IO读写请求,同时用户进程负责维护双控状态的切换与magic值,最后正常关机或掉电;当发生系统掉电并人工重启后,读出magic值并比较大小,判断哪个控制器的数据有效,刷写完成之后,用户根据双控配置情况写入随机magic值,之后再次进入正常流程。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (3)

1.一种基于双控的缓存一致性数据刷写方法,其特征在于, 该缓存一致性数据刷写方法,通过合理规划非易失存储器,非易失存储器包括超级块区、元数据区和缓存数据区,其中元数据区用于存储元数据,缓存数据区用于缓存数据;并借助缓存超级块信息,简化双控状态切换流程,将双控状态切换抽象为超级块信息值的变化,通过双控状态切换有效更改超级块信息值;同时将缓存数据和元数据都存储于非易失存储器,系统意外掉电后,缓存数据不会丢失,系统重启后还能根据超级块信息判断缓存数据有效性,正确的刷写回磁盘,维护双控系统缓存一致性。
2.根据权利要求1所述的基于双控的缓存一致性数据刷写方法,其特征在于,根据超级块信息判断缓存数据有效性是指,通过超级块区中存储的magic值有效判断缓存数据的有效性;所述magic值是在系统刚启动时,由用户根据配置的状态负责写入至非易失存储器的超级块区的;运行过程中,当控制器状态发生切换时,magic值增1或减1;具体情况为:当发生控制器接管对方时,其magic值增1;当对端控制器active,己方控制器异常时,magic减1,这样当系统意外掉电时,通过超级块信息能够判断之前处于那个状态,再根据比较magic值大小判断缓存数据的有效性。
3.根据权利要求1所述的基于双控的缓存一致性数据刷写方法,其特征在于,通过该缓存一致性数据刷写方法,所述双控运行流程如下:启动机器后,判断是否需要刷新缓存,若需要刷新缓存,则刷新缓存数据至磁盘,若不需要刷新缓存,则根据双控配置情况写入magic值至超级块区;然后,正常情况下,系统进行IO读写请求,同时用户进程负责维护双控状态的切换与magic值,最后正常关机或掉电;当发生系统掉电并人工重启后,读出magic值并比较大小,判断哪个控制器的数据有效,刷写完成之后,用户根据双控配置情况写入随机magic值,之后再次进入正常流程。
CN201410217975.XA 2014-05-22 2014-05-22 一种基于双控的缓存一致性数据刷写方法 Active CN103984645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410217975.XA CN103984645B (zh) 2014-05-22 2014-05-22 一种基于双控的缓存一致性数据刷写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410217975.XA CN103984645B (zh) 2014-05-22 2014-05-22 一种基于双控的缓存一致性数据刷写方法

Publications (2)

Publication Number Publication Date
CN103984645A true CN103984645A (zh) 2014-08-13
CN103984645B CN103984645B (zh) 2018-03-02

Family

ID=51276631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410217975.XA Active CN103984645B (zh) 2014-05-22 2014-05-22 一种基于双控的缓存一致性数据刷写方法

Country Status (1)

Country Link
CN (1) CN103984645B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843560A (zh) * 2016-04-08 2016-08-10 中国科学院计算技术研究所 一种维护主从式双控软Raid6一致性的方法及系统
CN106775684A (zh) * 2016-12-02 2017-05-31 北京航空航天大学 一种基于新型非易失性存储器的磁盘缓存掉电恢复方法
CN108628701A (zh) * 2017-03-22 2018-10-09 杭州宏杉科技股份有限公司 缓存数据的保护方法及装置
CN114116531A (zh) * 2022-01-28 2022-03-01 苏州浪潮智能科技有限公司 一种缓存一致性写回的方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2560039Y (zh) * 2002-07-05 2003-07-09 尹启凤 一种断电后不会丢失数据的数据处理装置
US20080177964A1 (en) * 2007-01-24 2008-07-24 Hitachi, Ltd. Remote copy system
CN102016790A (zh) * 2008-04-30 2011-04-13 飞思卡尔半导体公司 数据处理系统中的高速缓存一致性协议
CN102915282A (zh) * 2012-09-28 2013-02-06 浪潮(北京)电子信息产业有限公司 一种存储系统的块设备数据缓存管理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2560039Y (zh) * 2002-07-05 2003-07-09 尹启凤 一种断电后不会丢失数据的数据处理装置
US20080177964A1 (en) * 2007-01-24 2008-07-24 Hitachi, Ltd. Remote copy system
CN102016790A (zh) * 2008-04-30 2011-04-13 飞思卡尔半导体公司 数据处理系统中的高速缓存一致性协议
CN102915282A (zh) * 2012-09-28 2013-02-06 浪潮(北京)电子信息产业有限公司 一种存储系统的块设备数据缓存管理方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843560A (zh) * 2016-04-08 2016-08-10 中国科学院计算技术研究所 一种维护主从式双控软Raid6一致性的方法及系统
CN105843560B (zh) * 2016-04-08 2018-08-10 中国科学院计算技术研究所 一种维护主从式双控软Raid6一致性的方法及系统
CN106775684A (zh) * 2016-12-02 2017-05-31 北京航空航天大学 一种基于新型非易失性存储器的磁盘缓存掉电恢复方法
CN108628701A (zh) * 2017-03-22 2018-10-09 杭州宏杉科技股份有限公司 缓存数据的保护方法及装置
CN108628701B (zh) * 2017-03-22 2021-06-29 杭州宏杉科技股份有限公司 缓存数据的保护方法及装置
CN114116531A (zh) * 2022-01-28 2022-03-01 苏州浪潮智能科技有限公司 一种缓存一致性写回的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN103984645B (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
JP6334828B2 (ja) セルフリフレッシュ省電力モードを有するソリッドステートドライブ
CN101710253B (zh) 嵌入式系统的深度休眠方法
CN103345189A (zh) 一种控制器和一种掉电保护方法
WO2015149577A1 (zh) 存储系统、存储设备及数据存储方法
CN104885034A (zh) 经由使用非易失性存储器来降低易失性存储器的功耗
CN103984645A (zh) 一种基于双控的缓存一致性数据刷写方法
US8135971B2 (en) Data processing apparatus
CN104572511A (zh) 具有混合架构的存储装置和计算机系统
CN103399520B (zh) 用于可编程逻辑控制器系统的掉电数据存取方法及装置
US20170168937A1 (en) Committing transaction without first flushing processor cache to non-volatile memory when connected to ups
CN103927145A (zh) 一种基于混合内存的系统休眠、唤醒方法及装置
CN101515259B (zh) 一种嵌入式设备配置数据保护方法
CN111880636B (zh) 一种存储阵列的断电保护方法及相关装置
WO2019041903A1 (zh) 一种基于非易失存储的计算装置及其使用方法
CN109144778A (zh) 一种存储服务器系统及其备份方法、系统及可读存储介质
US10824561B2 (en) Computer device and data protection method therefor
CN101807212B (zh) 嵌入式文件系统的缓存方法及嵌入式文件系统的缓存装置
CN104808765A (zh) 一种信息处理方法以及电子设备
US20130166852A1 (en) Method for hibernation mechanism and computer system therefor
TWI459289B (zh) Embedded memory card control system with no power sleep mode and its embedded memory card
CN102402447A (zh) 设备启动方法和设备
US10496303B2 (en) Method for reducing power consumption memory, and computer device
US20130073792A1 (en) Electronic apparatus using nand flash and memory management method thereof
CN110794945B (zh) 一种存储服务器备电方法、装置、设备及存储介质
US10514740B2 (en) Computer device and computer-readable storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant