CN102915282A - 一种存储系统的块设备数据缓存管理方法及系统 - Google Patents
一种存储系统的块设备数据缓存管理方法及系统 Download PDFInfo
- Publication number
- CN102915282A CN102915282A CN2012103695357A CN201210369535A CN102915282A CN 102915282 A CN102915282 A CN 102915282A CN 2012103695357 A CN2012103695357 A CN 2012103695357A CN 201210369535 A CN201210369535 A CN 201210369535A CN 102915282 A CN102915282 A CN 102915282A
- Authority
- CN
- China
- Prior art keywords
- block device
- data
- memory
- information
- bbu
- 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.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种存储系统的块设备数据缓存管理方法及系统,克服目前采用BBU对内存的保护以及BBU在块设备缓存中的应用还没有较为成熟的技术的不足,该方法包括:存储系统的所有内存条都被后备电池模组(BBU)保护时,分配部分内存条用于块设备数据的掉电保护;存储系统的部分内存条被BBU保护时,将被BBU保护的内存条用于块设备数据的掉电保护。本申请的实施例提供了一种具有BBU保护内存的计算机系统尤其是存储系统上恢复供电时如何重新识别数据的技术方案。
Description
技术领域
本发明涉及数据存储和保护领域,尤其涉及一种存储系统的块设备数据缓存管理方法及系统。
背景技术
磁盘是现在计算机系统的非掉电易失的主要存储设备。虽然磁盘内部存储速度和外部接口速度不断提高,但是其存取速度仍然无法和内存相比,尤其是与随机存取速度相比。
为了提高存储容量和性能,通过独立磁盘冗余阵列(Redundant Array ofIndependent Disks,简记为RAID)技术可以将多个物理磁盘逻辑组合起来形成一个逻辑磁盘,但是其性能也远低于随机存取内存(RAM)。
这些物理磁盘、RAID逻辑磁盘都称为块设备,其特点是读写数据时必须以一个块大小为基本单元来进行,一般块大小为512个字节。
为了提高存储效率和数据访问速度,计算机系统采用数据缓存机制,把要写入的数据先写到内存中,后续再异步写回到块设备上;读取数据时先查看内存中是否已有有效数据,有则从内存上读取,否则从块设备读取并将数据存放到内存中。
这种数据缓存机制利用内存较高的随机存取性能提高了块设备的数据访问效率,不过也因此存在着如果系统突然断电则很可能丢失数据的缺陷和风险,因为内存中可能存在还未写回到块设备的“脏数据”。
为了克服这种缺陷,一些计算机系统包括计算机存储系统增加了后备电池模组(Battery Backup Unit,简记为BBU)。当系统突然断电时BBU持续给部分或者全部内存供电,保持这部分内存的数据。在BBU供电的这段时间内如果系统恢复供电,则可以识别BBU保护的内存中的块设备缓存数据,避免数据丢失。但如何管理BBU保护的内存,以及块设备如何进行缓存的技术,目前还没有得到较多的研究和较好的发展。
发明内容
本发明所要解决的技术问题是克服目前采用BBU对内存的保护以及BBU在块设备缓存中的应用还没有较为成熟的技术的不足。
为了解决上述技术问题,本发明提供了一种存储系统的块设备数据缓存管理方法,包括如下步骤:
存储系统的所有内存条都被后备电池模组(BBU)保护时,分配部分内存条用于块设备数据的掉电保护;
存储系统的部分内存条被BBU保护时,将被BBU保护的内存条用于块设备数据的掉电保护。
优选地,用于块设备数据的掉电保护的内存条包括多段物理地址连续的内存。
优选地,多段物理地址连续的内存中,第一段物理地址连续的内存设置有块设备信息区、数据单元信息区以及数据单元区,存储的块设备信息和数据包括超级块信息、块设备信息位图以及数据单元信息位图;其余段物理地址连续的内存设置有数据单元区,存储超级块信息。
优选地,每段物理地址连续的内存的超级块信息占据第一个物理页大小的存储空间,块设备信息位图起始位置紧邻存储超级块信息的位置之后,块设备信息位图大小大于支持的最大块设备数量/8个字节且和超级块信息的位置对齐。
优选地,块设备信息位图每一字位表示一个块设备信息结构是否有效。
优选地,块设备信息区紧邻块设备信息位图之后,块设备信息区的大小等于支持的最大的块设备数量与块设备信息大小的乘积且与超级块信息对齐。
优选地,数据单元信息位图每一个字位表示一个数据单元信息结构是否有效。
优选地,数据单元包含连续的整数的物理内存页。
本发明还提供了一种存储系统的块设备数据缓存管理系统,包括:
判断模块,配置为判断存储系统的所有内存条是否都被后备电池模组(BBU)保护;
设置模块,配置为存储系统的所有内存条都被后备电池模组(BBU)保护时,分配部分内存条用于块设备数据的掉电保护;否则,将被BBU保护的内存条用于块设备数据的掉电保护。
优选地,所述设置模块配置为用于块设备数据的掉电保护的内存条包括多段物理地址连续的内存。
与现有技术相比,本申请的实施例提供了一种在具有BBU保护内存的计算机系统尤其是存储系统上如何分配内存记录块设备信息、缓存数据信息的技术方案。本申请的实施例提供了一种具有BBU保护内存的计算机系统尤其是存储系统上恢复供电时如何重新识别数据的技术方案。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本申请实施例中受BBU保护的第一段物理地址连续内存的数据布局示意图。
图2为本申请实施例中受BBU保护的非第一段物理地址连续内存的数据布局示意图。
图3为本申请实施例系统启动时对BBU保护的内存的处理流程示意图。
图4为本申请实施例系统添加支持掉电保护的块设备的流程示意图。
图5为本申请实施例向块设备中写入数据的流程示意图。
图6为本申请实施例回收数据单元的流程示意图。
图7为本申请实施例系统重新启动对BBU保护内存的数据恢复流程示意图。
图8为本申请实施例的存储系统的块设备数据缓存管理系统的构造示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征在不相冲突前提下的相互结合,均在本发明的保护范围之内。
本申请实施例的块设备数据缓存管理方法主要用于具有后备电池模组(Battery Backup Unit,简记BBU)的存储系统(比如计算机系统),其BBU在系统外部电源中断后持续给系统的部分内存或者全部内存供电,避免所供电内存上的数据丢失。
现代计算机系统对内存采用分页(Page)访问机制,在CPU保护模式下,系统进程使用逻辑地址访问内存,CPU自动将逻辑地址转化为虚拟地址、物理地址,再对物理地址对应的内存进行读写。
存储空间较大的计算机系统或者其他的存储系统,一般具有多根内存条,每根内存条的内存物理地址是连续的,记为一段内存。不同内存条之间的物理地址可能不连续,因此系统可能具有多段内存。
对于所有内存条都被BBU保护的情况,将部分内存条的内存作为系统通用内存,用于系统内核、进程、页表、通用内存管理,剩余的内存条的内存用于块设备信息和数据的保存;对于部分内存条而非全部内存条被BBU保护的情况,将不被BBU保护的内存条作为系统通用内存,而将BBU保护的内存条用于块设备信息和数据的保存。
BBU保护的用于保存块设备信息和数据的内存,包括多段物理地址连续的内存,其中第一段物理地址连续的内存(可称之为第一内存段)如图1所示,设置有块设备信息区、数据单元信息区以及数据单元区,存储的块设备信息和数据包括:超级块信息、块设备信息位图以及数据单元信息位图;其余段的内存(可称之为非第一内存段)如图2所示,设置有数据单元区,存储超级块信息。
其中第一内存段的超级块信息结构如下:
struct bbu_cache_superblock{
char magic[N];//魔幻数,用于表明该段内存是有效的BBU保护内存
int version;//本超级块结构的版本号
int total_segs;//内存段总数
int seg_id;//本内存段编号
unsigned long seg_size;//本内存段大小
int max_bdev_num;//支持的最大块设备数量
unsigned long bdev_info_bmp_start;//块设备信息位图起始位置
unsigned long bdev_info_bmp_size;//块设备信息位图大小
unsigned long bdev_info_zone_start;//块设备信息区起始位置
unsigned long bdev_info_zone_size;//块设备信息区大小
unsigned long io_cache_bmp_start;//
unsigned long io_cache_bmp_size;//
unsigned long io_cache_info_zone_start;//数据单元信息区起始位置
unsigned long io_cache_info_zone_size;//数据单元信息区大小
unsigned long io_cache_zone_start;//数据单元区起始位置
unsigned long io_cache_zone_size;//数据单元区大小
//本数据单元区第一个数据单元在全局数据单元中的编号
unsigned long io_cache_first_unit;
};
非第一内存段的超级块信息结构为:
struct bbu_cache_seg_superblock{
char magic[N];//魔幻数,用于表明该段内存是有效的BBU保护内存
int version;//本超级块结构的版本号
int total_segs;//内存段总数
int seg_id;//本内存段编号
unsigned long seg_size;//本内存段大小
unsigned long io_cache_zone_start;//数据单元区起始位置
unsigned long io_cache_zone_size;//数据单元区大小
//本数据单元区第一个数据单元在全局数据单元中的编号
unsigned long io_cache_first_unit;
};
每段物理地址连续的内存的超级块信息占据内存段的第一个物理页大小PAGE_SIZE的存储空间,而块设备信息、数据单元信息只保存在第一个内存段中。
块设备信息位图起始位置bdev_info_bmp_start紧邻存储超级块信息的位置(即PAGE_SIZE)之后,块设备信息位图大小bdev_info_bmp_size大于支持的最大块设备数量(max_bdev_num)/8个字节且和PAGE_SIZE对齐。
块设备信息位图bdev_info_bmp的结构为简单的连续内存,每一字位表示一个块设备信息结构是否有效,即块设备信息区bdev_info_zone就是块设备信息结构数组,bdev_info_bmp的第i位表示bdev_info_zone中第i个块设备信息结构是否有效。
块设备信息结构定义为:
struct bdev_info_s{
unsigned long bdev_id;//块设备唯一标识号
char bdev_name[256];//块设备名称
unsigned long bdev_size;//块设备大小
};
块设备信息区紧邻块设备信息位图之后,其大小bdev_info_zone_size等于max_bdev_num与块设备信息(struct bdev_info_s)大小的乘积且和PAGE_SIZE对齐。
数据单元信息位图io_cache_bmp的结构也为连续内存,每一个字位表示一个数据单元信息结构是否有效,即数据单元信息区io_cache_info_zone就是数据单元信息结构数组,io_cache_bmp的第i位表示io_cache_info_zone中第i个数据单元信息结构是否有效。
数据单元是指保存块设备读写数据的基本内存单元,包含连续的整数个的物理内存页,一个数据单元包含多个连续的块设备的数据块。数据单元信息是表示一个数据单元的相关信息,结构如下:
structio_cache_unit_info_s{
unsigned long bdev_id;
//该数据单元保存的数据位于块设备中的偏移量,单位为数据单元大小。
unsigned long index;
//该数据单元状态,使用其中一个位Cache_Unit_Dirty表示该数据单元数据是否为“脏”
unsigned long flags;
//该数据单元中各数据块是否有“脏”数据,第i位表示第i块数据状态
unsigned long buf_block_stat;
};
数据单元信息位图紧邻块设备信息区之后,其大小计算方法为:
(1)io_cache_bmp_size=(所有保护内存段大小之和÷数据单元大小)/8;
(2)将io_cache_bmp_size向上对齐物理页大小PAGE_SIZE。
数据单元信息区紧邻数据单元信息位图之后,其大小计算方法为:
(1)io_cache_info_size=(所有保护内存段大小之和÷数据单元大小)×sizeof(struct io_cache_unit_info_s);
(2)将io_cache_info_size向上对齐物理页大小PAGE_SIZE。
所有内存段的数据单元的编号在逻辑上是连续的,即假设第一个内存段具有M个数据单元,则第二个内存段的第一个数据单元的全局编号为第M+1个。
如果计算机系统的内存都被BBU保护,则分配部分内存条作为系统通用内存,剩余的内存条用于块设备数据掉电保护。用于块设备数据掉电保护的内存由多个内存段组成,每段内存结构如前所述。本申请的实施例在系统启动时,对BBU保护的内存的处理过程,如图3所示,主要包括如下的步骤。
步骤S31,系统启动时,将BBU保护的内存映射到页表中,从而可以使系统进程可通过逻辑地址访问BBU保护的内存。除了BBU保护的内存以外,系统的其他内存也会被映射到页表中作为操作系统的常规内存使用。
步骤S32,查看每段内存的超级块的magic字段,如果和预设的值相等,则认为系统经历了突然断电和启动且BBU持续供电保护了内存数据,然后转至后文中的块设备数据恢复处理流程;否则认为内存段中数据无效,可执行步骤S33进行初始化。
步骤S33,将所有内存段内存的所有字节写0。
步骤S34,对第一内存段的超级块结构进行设置,具体包括设置以下字段:魔幻数magic、版本号version、内存段数total_segs、本内存段编号seg_id(等于1)、本内存段大小seg_size、支持的最大的块设备数量max_bdev_num、块设备信息位图起始位置bdev_info_bmp_start和块设备信息位图大小bdev_info_bmp_size。
步骤S35,计算和设置第一内存段超级块结构的以下字段:数据单元区起始位置io_cache_zone_start和数据单元区大小io_cache_zone_size,其中数据单元区起始位置紧邻数据单元信息区之后,其大小为该段内存剩余大小且和数据单元大小对齐。
步骤S36,对非第一内存段设置超级块信息structbbu_cache_seg_superblock,其中该段的数据单元区位于超级块区之后,数据单元区大小为该段内存剩余大小且和数据单元大小对齐。
步骤S37,使用系统通用内存,建立空闲数据单元链表(free_cache_list)和已使用数据单元链表(busy_cache_list),链表节点采用编号和逻辑地址来记录数据单元,将所有数据单元都作为空闲未使用状态加入到free_cache_list中,busy_cache_list链表为空。
本申请的实施例中,对已经创建的块设备分配有唯一标识号,系统添加一个支持掉电保护的块设备流程如图4所示,主要包括如下步骤。
步骤S41,从块设备信息位图第一位开始查找非0的位,根据该位的序号得到对应的块设备信息结构。
步骤S42,设置块设备信息结构,包括设置块设备的唯一标识号、设备路径以及大小等等。
步骤S43,将该设备信息结构对应在块设备信息位图中的位设置为1。
本申请的实施例可以向块设备中写入数据。本申请的实施例中,系统使用适当的缓存结构如基树、哈希链表来组织块设备的数据单元,该结构的节点单元如基树节点、链表节点从系统通用内存中分配即可,而数据单元实体位于BBU保护内存段中。向块设备中写入数据,如图5所示,主要包括如下步骤。
步骤S51,从空闲数据单元链表free_cache_list中获取一个空闲数据单元,将该数据单元加入到该块设备的缓存结构(基树/哈希链表等)中,并将该数据单元加入到已使用数据单元链表busy_cache_list中。
步骤S52,根据该数据单元的编号查找和设置位于第一内存段中的数据单元信息区io_cache_info_zone中的数据单元信息结构structio_cache_unit_info_s,其中索引(index)字段为该数据单元的数据位于该块设备数据的偏移量(以数据单元大小为单位),bdev_id设置为该块设备的唯一标号,flags字段和buf_block_stat字段(一个数据结构字段,表示该数据单元中各数据块是否有“脏”数据,第i位表示第i块数据状态)都设置为0。
步骤S53,根据该数据单元的编号查找和设置位于第一内存段中数据单元信息位图中对应的位为1。
步骤S54,将应用层数据复制到数据单元中对应的块上,并设置数据单元信息结构中的buf_block_stat的对应的位为1,表示该块有“脏”数据。
步骤S55,设置数据单元信息结构中的flags字段的位Cache_Unit_Dirty为1,表示该数据单元有“脏”数据。
本申请的实施例可以释放回收数据单元。本申请的实施例中,系统根据块设备缓存结构(基树/哈希链表等)查找数据单元,并将数据写回到块设备存储介质(磁盘)上后,清除数据单元信息结构中的buf_block_stat字段所有位以及将flags字段的位Cache_Unit_Dirty置为0,此后可以将数据单元回收。本申请的实施例中,回收数据单元的流程如图6所示,主要包括如下步骤。
步骤S61,从已使用数据单元链表busy_cache_list中查找一个数据不为“脏”的数据单元。
步骤S62,将该数据单元对应的数据单元信息位图中的位设置为0。
步骤S63,将该数据单元加入到空闲数据单元链表free_cache_list中。
本申请的实施例可以删除一个块设备。本申请的实施例中,删除一个块设备前应将所有“脏”数据都写回到块设备存储介质(磁盘)上,然后将该设备对应BBU保护内存段中的块设备信息位图中的位设置为0。
本申请的实施例在执行块设备数据恢复处理流程时,如前文系统启动时对BBU保护的内存的处理流程所述,当系统在使用中出现意外掉电时,BBU将持续给所保护的内存供电。来电后系统重新启动,对BBU保护内存的数据恢复流程,如图7所示,主要包括如下步骤。
步骤S71,查看第一内存段的超级块的magic字段,如果和预定的值相等,则认为系统经历了突然断电和启动且BBU持续供电保护了内存数据,转步骤S72执行;否则结束本流程,执行前文所述系统启动时对BBU保护的内存的处理流程中所述的内存初始化操作。
步骤S72,根据块设备信息位图和块设备信息区查找获取块设备信息,具体的查找方法为:查询块设备信息位图中每一位,若第i位值为1,则认为块设备信息区中第i个块设备信息结构有效,该第i个块设备信息结构中相关字段如bdev_id可用于判断和启动对应的块设备。
步骤S73,根据数据单元信息位图查找有效的数据单元,具体的查找方法为:查询数据单元信息位图io_cache_bmp中每一位,若第i位值为1,则认为数据单元信息区中第i个数据单元信息结构有效,根据该第i个数据单元信息结构得知其对应的块设备(bdev_id字段)、该数据单元的数据(第i个数据单元)在该块设备数据中的位置(index字段)以及该数据单元有哪些数据块为“脏”数据(flags字段和buf_block_stat字段)。
步骤S74,根据查找到的块设备信息和数据单元信息,将“脏”数据写回到块设备存储介质(磁盘)上。
如图8所示,本申请实施例的存储系统的块设备数据缓存管理系统,主要包括判断模块810以及设置模块820。
判断模块810,配置为判断存储系统的所有内存条是否都被后备电池模组(BBU)保护;
设置模块820,与判断模块810相连,配置为存储系统的所有内存条都被后备电池模组(BBU)保护时,分配部分内存条用于块设备数据的掉电保护;否则,将被BBU保护的内存条用于块设备数据的掉电保护。
上述设置模块820配置为用于块设备数据的掉电保护的内存条包括多段物理地址连续的内存。
本申请的实施例可以应用在具有内存后备电池的存储系统(比如计算机系统)上,将后备电池保护的内存划分为超级块信息区、块设备信息位图、块设备信息区、数据单元位图、数据单元信息区以及数据单元区等等,用以记录块设备信息和块设备缓存数据信息和数据。在系统经历突然断电和恢复供电后可完整恢复断电前来自块设备上层应用层请求保存且已应答保存完成但是实际还未写入到块设备存储介质上的数据。
本申请的实施例在系统未被后备电池保护的内存都作为操作系统通用内存使用,如果系统所有内存都被后备电池保护则一部分内存作为系统通用内存,以满足操作系统保存操作系统内核、页表、通用内存管理以及进程管理等必须的内存需求。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种存储系统的块设备数据缓存管理方法,包括如下步骤:
存储系统的所有内存条都被后备电池模组(BBU)保护时,分配部分内存条用于块设备数据的掉电保护;
存储系统的部分内存条被BBU保护时,将被BBU保护的内存条用于块设备数据的掉电保护。
2.根据权利要求1所述的方法,其中:
用于块设备数据的掉电保护的内存条包括多段物理地址连续的内存。
3.根据权利要求2所述的方法,其中:
多段物理地址连续的内存中,第一段物理地址连续的内存设置有块设备信息区、数据单元信息区以及数据单元区,存储的块设备信息和数据包括超级块信息、块设备信息位图以及数据单元信息位图;其余段物理地址连续的内存设置有数据单元区,存储超级块信息。
4.根据权利要求3所述的方法,其中:
每段物理地址连续的内存的超级块信息占据第一个物理页大小的存储空间,块设备信息位图起始位置紧邻存储超级块信息的位置之后,块设备信息位图大小大于支持的最大块设备数量/8个字节且和超级块信息的位置对齐。
5.根据权利要求3所述的方法,其中:
块设备信息位图每一字位表示一个块设备信息结构是否有效。
6.根据权利要求3所述的方法,其中:
块设备信息区紧邻块设备信息位图之后,块设备信息区的大小等于支持的最大的块设备数量与块设备信息大小的乘积且与超级块信息对齐。
7.根据权利要求3所述的方法,其中:
数据单元信息位图每一个字位表示一个数据单元信息结构是否有效。
8.根据权利要求3所述的方法,其中:
数据单元包含连续的整数的物理内存页。
9.一种存储系统的块设备数据缓存管理系统,包括:
判断模块,配置为判断存储系统的所有内存条是否都被后备电池模组(BBU)保护;
设置模块,配置为存储系统的所有内存条都被后备电池模组(BBU)保护时,分配部分内存条用于块设备数据的掉电保护;否则,将被BBU保护的内存条用于块设备数据的掉电保护。
10.根据权利要求9所述的系统,其中:
所述设置模块配置为用于块设备数据的掉电保护的内存条包括多段物理地址连续的内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103695357A CN102915282A (zh) | 2012-09-28 | 2012-09-28 | 一种存储系统的块设备数据缓存管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103695357A CN102915282A (zh) | 2012-09-28 | 2012-09-28 | 一种存储系统的块设备数据缓存管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102915282A true CN102915282A (zh) | 2013-02-06 |
Family
ID=47613654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103695357A Pending CN102915282A (zh) | 2012-09-28 | 2012-09-28 | 一种存储系统的块设备数据缓存管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102915282A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984645A (zh) * | 2014-05-22 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于双控的缓存一致性数据刷写方法 |
CN104809392A (zh) * | 2015-04-29 | 2015-07-29 | 浪潮电子信息产业股份有限公司 | 一种基于Windows进程的系统性保护方法及装置 |
CN105095026A (zh) * | 2015-08-31 | 2015-11-25 | 小米科技有限责任公司 | Ext文件系统的超级块修复方法和装置、智能设备 |
CN105677588A (zh) * | 2016-01-06 | 2016-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据保护方法及装置 |
CN105740172A (zh) * | 2016-01-26 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种块设备数据缓存掉电保护的方法及系统 |
CN106872908A (zh) * | 2017-04-26 | 2017-06-20 | 安徽优旦科技有限公司 | Bms系统异常掉电soc保护方法 |
CN109086462A (zh) * | 2018-09-21 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种分布式文件系统中元数据的管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229133A1 (en) * | 2007-03-13 | 2008-09-18 | Fujitsu Limited | Power reduction device for data backup |
CN101504865A (zh) * | 2009-03-06 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 存储系统的数据处理方法及存储设备 |
CN101609435A (zh) * | 2009-03-24 | 2009-12-23 | 成都市华为赛门铁克科技有限公司 | 一种设备掉电保护的方法、电子设备和网络系统 |
CN101938361A (zh) * | 2010-06-08 | 2011-01-05 | 中兴通讯股份有限公司 | 光网络数据信息的存储方法和嵌入式设备 |
-
2012
- 2012-09-28 CN CN2012103695357A patent/CN102915282A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229133A1 (en) * | 2007-03-13 | 2008-09-18 | Fujitsu Limited | Power reduction device for data backup |
CN101504865A (zh) * | 2009-03-06 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 存储系统的数据处理方法及存储设备 |
CN101609435A (zh) * | 2009-03-24 | 2009-12-23 | 成都市华为赛门铁克科技有限公司 | 一种设备掉电保护的方法、电子设备和网络系统 |
CN101938361A (zh) * | 2010-06-08 | 2011-01-05 | 中兴通讯股份有限公司 | 光网络数据信息的存储方法和嵌入式设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984645A (zh) * | 2014-05-22 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于双控的缓存一致性数据刷写方法 |
CN103984645B (zh) * | 2014-05-22 | 2018-03-02 | 浪潮电子信息产业股份有限公司 | 一种基于双控的缓存一致性数据刷写方法 |
CN104809392A (zh) * | 2015-04-29 | 2015-07-29 | 浪潮电子信息产业股份有限公司 | 一种基于Windows进程的系统性保护方法及装置 |
CN105095026A (zh) * | 2015-08-31 | 2015-11-25 | 小米科技有限责任公司 | Ext文件系统的超级块修复方法和装置、智能设备 |
CN105677588A (zh) * | 2016-01-06 | 2016-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据保护方法及装置 |
CN105740172A (zh) * | 2016-01-26 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种块设备数据缓存掉电保护的方法及系统 |
CN106872908A (zh) * | 2017-04-26 | 2017-06-20 | 安徽优旦科技有限公司 | Bms系统异常掉电soc保护方法 |
CN109086462A (zh) * | 2018-09-21 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种分布式文件系统中元数据的管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102915282A (zh) | 一种存储系统的块设备数据缓存管理方法及系统 | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
CN102364474B (zh) | 用于机群文件系统的元数据存储系统和管理方法 | |
CN102222085B (zh) | 一种基于相似性与局部性结合的重复数据删除方法 | |
CN101483067B (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
CN104731717B (zh) | 存储器装置及存储器管理方法 | |
US20100100668A1 (en) | Control method for logical strips based on multi-channel solid-state non-volatile storage device | |
CN101777017B (zh) | 一种连续数据保护系统的快速恢复方法 | |
CN101645043B (zh) | 写数据的方法、读数据的方法及存储设备 | |
KR20130031046A (ko) | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 | |
CN103026346A (zh) | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 | |
KR20100065786A (ko) | 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 | |
CN106528001A (zh) | 一种基于非易失性存储器和软件raid的缓存系统 | |
CN103593477A (zh) | 一种哈希数据库的配置方法和装置 | |
CN102402622A (zh) | 嵌入式内存数据库的内存页面管理调度方法 | |
CN113626431A (zh) | 一种基于lsm树的延迟垃圾回收的键值分离存储方法及系统 | |
CN102981979B (zh) | 一种提高存储系统数据访问速度的方法 | |
CN105786400A (zh) | 一种异构混合内存组件、系统及存储方法 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN112882649B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN105005510A (zh) | 应用于固态硬盘阻变存储器缓存的纠错保护架构及方法 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN103198021B (zh) | 一种提高固态硬盘数据传输效率的方法 | |
CN104376099A (zh) | 一种基于闪存的文件系统的实现方法和实现装置 | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130206 |