CN106528001B - A kind of caching system based on nonvolatile memory and software RAID - Google Patents
A kind of caching system based on nonvolatile memory and software RAID Download PDFInfo
- Publication number
- CN106528001B CN106528001B CN201611106177.5A CN201611106177A CN106528001B CN 106528001 B CN106528001 B CN 106528001B CN 201611106177 A CN201611106177 A CN 201611106177A CN 106528001 B CN106528001 B CN 106528001B
- Authority
- CN
- China
- Prior art keywords
- cache
- raid
- metadata
- block
- software
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提出一种基于非易失性存储器和软件RAID的缓存系统,其特征为一种融合非易失性存储器Apache Pass,软件RAID和Device Mapper驱动模块Buaacache的新型存储系统架构。本发明利用Linux的Device Mapper机制来管理软件RAID,以高速设备Apache Pass作为低速RAID的Cache,从而构建一个两级缓存系统。Persistent Memory具有掉电后介质数据不丢失和读写性能卓越的特性。本发明选用Persistent Memory作为软件RAID的高速缓存,在成本远低于硬件RAID的条件下,实现软件RAID读写性能逼近甚至超过硬件RAID。
The present invention proposes a cache system based on non-volatile memory and software RAID, which is characterized by a novel storage system architecture integrating non-volatile memory Apache Pass, software RAID and Device Mapper driver module Buaacache. The invention utilizes the Device Mapper mechanism of Linux to manage the software RAID, and uses the high-speed device Apache Pass as the Cache of the low-speed RAID, thereby constructing a two-level cache system. Persistent Memory has the characteristics of no loss of media data after power failure and excellent read and write performance. The present invention selects Persistent Memory as the high-speed cache of software RAID, and under the condition that the cost is far lower than that of hardware RAID, the reading and writing performance of software RAID approaches or even exceeds that of hardware RAID.
Description
技术领域technical field
本发明涉及计算机数据存储技术领域,尤其涉及一种新型缓存系统,具体涉及到新型掉电非易失性存储器Persistent Memory和软件RAID。The invention relates to the technical field of computer data storage, in particular to a novel cache system, in particular to a novel power-down non-volatile memory Persistent Memory and software RAID.
背景技术Background technique
随着SSD的兴起,主流的存储系统都逐渐采用SSD与机械硬盘混合的分层存储方式。目前的存储方案例如dm-cache,其设计与实现均基于Linux Device Mapper框架,实质上是通用的块设备缓存模块,利用SSD随机读写性能好的特点,将SSD作为磁盘的缓存。与SSD相比,新生的非易失性存储器(Persistent Memory,简称PMEM,也可称为是持久性存储器),具有高速I/O,大存储容量,掉电非易失性和可字节寻址等卓越特性,因此提出一种基于Persistent Memory和软件RAID的新型缓存系统。With the rise of SSDs, mainstream storage systems are gradually adopting a hierarchical storage method that mixes SSDs and mechanical hard disks. The current storage solutions such as dm-cache are designed and implemented based on the Linux Device Mapper framework, which is essentially a general-purpose block device cache module. Using SSDs with good random read and write performance, SSDs are used as disk caches. Compared with SSD, the new non-volatile memory (Persistent Memory, referred to as PMEM, also known as persistent memory) has high-speed I/O, large storage capacity, non-volatile power-off and byte-seeking Therefore, a new cache system based on Persistent Memory and software RAID is proposed.
非易失性存储器:Persistent Memory,简称PMEM,其特点是完全断电后信息不丢失。除了保证介质数据掉电后不丢失的特性外,还具有可字节寻址(Byte-addressable)和I/O性能优越等特性。在写回模式(write back)下,此类设备根据材料不同,其写耗费时间、读耗费时间均逼近DRAM,因此将其作为软件RAID的高速缓存十分有吸引力。现有的PMEM研究方案多集中于硬件领域,目前尚未有厂商和研究机构推出结合PMEM与软件RAID的解决方案提出。Non-volatile memory: Persistent Memory, referred to as PMEM, is characterized by the fact that information will not be lost after a complete power failure. In addition to ensuring that the media data will not be lost after power failure, it also has the characteristics of byte addressable (Byte-addressable) and superior I/O performance. In the write back mode (write back), depending on the material, the write time and read time of this type of device are close to DRAM, so it is very attractive to use it as a software RAID cache. Existing PMEM research solutions are mostly focused on the hardware field, and no manufacturer or research institution has yet proposed a solution combining PMEM and software RAID.
AEP:Apache Pass,Intel公司为即将在2017年推出的服务器平台“Purley”而研发的新一代Persistent Memory,在缓存系统中作为软件RAID的缓存使用。AEP: Apache Pass, a new generation of Persistent Memory developed by Intel for the server platform "Purley" to be launched in 2017, is used as a software RAID cache in the cache system.
软件RAID:Software Redundant Arrays of Independent Disks,称作软件独立磁盘冗余阵列,简称软件阵列。与硬件RAID相比,软件RAID不需要外插RAID卡实现,而是将若干机械硬盘或固态硬盘之类的底层存储设备,以纯软件形式聚合成为一个大的虚拟RAID设备。借助PMEM作为高速缓存,软件RAID可在成本远低于硬件RAID的前提下,性能方面逼近甚至超过后者。Linux系统中目前以MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟块设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能。目前在Linux下,软件RAID支持RAID-0、RAID-1、RAID-4,、RAID-5,RAID-6和RAID-10。Software RAID: Software Redundant Arrays of Independent Disks, called software redundant array of independent disks, referred to as software array. Compared with hardware RAID, software RAID does not require an external RAID card to implement, but aggregates several underlying storage devices such as mechanical hard drives or solid-state drives into a large virtual RAID device in the form of pure software. With PMEM as a high-speed cache, software RAID can approach or even surpass the latter in terms of performance while the cost is much lower than that of hardware RAID. In the Linux system, software RAID is currently implemented in the form of MD (Multiple Devices) virtual block devices, using multiple underlying block devices to virtualize a new virtual block device, and using striping (stripping) technology to evenly distribute data blocks to Multiple disks to improve the read and write performance of the virtual device. Currently under Linux, software RAID supports RAID-0, RAID-1, RAID-4, RAID-5, RAID-6, and RAID-10.
传统软件RAID方案瓶颈:严重依赖于服务器的CPU性能和电流负载,在写回模式下,断电故障会导致内存中的数据丢失且无法恢复,与硬件RAID相比优势不明显。PMEM作为近几年兴起的热门新型存储设备,目前尚未有厂商和研究机构推出结合PersistentMemory与软件RAID的解决方案,因此本发明选用在掉电介质数据不丢失和I/O性能方面性能卓越的Persistent Memory作为软件RAID的高速缓存,提出一种新型高效的缓存系统。Bottleneck of the traditional software RAID solution: It depends heavily on the CPU performance and current load of the server. In the write-back mode, a power failure will cause the data in the memory to be lost and cannot be recovered. Compared with hardware RAID, the advantage is not obvious. PMEM is a popular new storage device that has emerged in recent years. At present, no manufacturers and research institutions have released a solution that combines PersistentMemory and software RAID. Therefore, the present invention selects Persistent Memory with excellent performance in terms of non-loss of power-off medium data and I/O performance. As the high-speed cache of software RAID, a new high-efficiency cache system is proposed.
发明内容Contents of the invention
本发明的目的是针对传统软件RAID解决方案在掉电恢复和读写性能方面的不足,并且针对目前尚未有非易失性存储器(Persistent Memory,简称PMEM)与软件RAID结合的方案推出,提出一种基于PMEM和软件RAID的缓存系统。The purpose of the present invention is to address the shortcomings of traditional software RAID solutions in power-down recovery and read-write performance, and to propose a solution for the combination of non-volatile memory (Persistent Memory, PMEM) and software RAID. A caching system based on PMEM and software RAID.
本发明基于Linux的Device Mapper磁盘映射机制,开发内核驱动模块Buaacache,将高速设备PMEM作为低速RAID的高速缓存,从而构建一个两级缓存系统。The present invention is based on the Device Mapper disk mapping mechanism of Linux, develops the kernel driver module Buaacache, and uses the high-speed device PMEM as the high-speed cache of low-speed RAID, thereby constructing a two-level cache system.
本发明所述内核驱动模块Buaacache将低速RAID与高速PEME作为一个整体创建为一个虚拟混合块设备,用户可像读写普通块设备一样使用混合块设备。虚拟块设备中的缓存设备PMEM与缓存对象RAID对用户均不可见,用户均无法直接访问。用户读写这个新创建的虚拟块设备时,实际的存储过程经过Buaacache缓存,如果读写命中则直接返回缓存里的数据(或直接写到缓存),否则将读写磁盘阵列。The kernel driver module Buaacache of the present invention creates a virtual mixed block device with low-speed RAID and high-speed PEME as a whole, and users can use the mixed block device like reading and writing common block devices. The cache device PMEM and the cache object RAID in the virtual block device are invisible to the user and cannot be directly accessed by the user. When the user reads and writes the newly created virtual block device, the actual storage process is cached by Buaacache. If the read and write hits, the data in the cache will be returned directly (or directly written to the cache), otherwise the disk array will be read and written.
本发明所述缓存设备PMEM的数据空间分为元数据空间和数据空间,采用组相联映射方式,将数据空间划分成预先定义大小的缓存块,进一步将缓存块按固定个数组合为一个组(Set)。元数据主要记录硬盘块与一个确定组中的某个缓存块的一一映射关系,通过PMEM特有的字节寻址(Byte-addressable)方式实现读写。The data space of the cache device PMEM in the present invention is divided into a metadata space and a data space, and the data space is divided into cache blocks of a predefined size by using a group associative mapping method, and the cache blocks are further combined into a group according to a fixed number (Set). The metadata mainly records the one-to-one mapping relationship between a hard disk block and a certain cache block in a certain group, and reads and writes are realized through PMEM's unique byte addressable (Byte-addressable) method.
本发明借助PMEM设备掉电后介质数据不丢失的特性,弥补了传统写回机制掉电数据丢失的缺陷,避免对磁盘阵列的多次访问,极大缩短了读写时间。采用及时回写内存元数据的方式,实现在缓存系统运行的过程中实时备份元数据到缓存设备,保存系统运行现场。当发生断电事故后,主机重新上电后可从缓存设备中恢复系统运行现场,避免缓存中的脏数据因为失去与所缓存的磁盘块的对应关系而无法写回到磁盘,实现掉电恢复功能。The invention makes up for the defect of power-off data loss in the traditional write-back mechanism by virtue of the characteristic that the medium data is not lost after the PMEM device is powered off, avoids multiple accesses to the disk array, and greatly shortens the reading and writing time. By adopting the method of writing back the memory metadata in time, the metadata can be backed up to the cache device in real time during the operation of the cache system, and the system operation site can be saved. When a power failure occurs, the host can restore the system operation site from the cache device after the host is powered on again, preventing the dirty data in the cache from being written back to the disk due to the loss of the corresponding relationship with the cached disk block, and realizing power-off recovery Function.
本发明选用开源方案dm-cache进行二次开发,由于dm-cache作为Linux成熟内核的一部分,可采用一个或多个快速设备为后端慢速存储系统扮演缓存的角色。然而dm-cache最新版本仅可在内核3.10版本上编译运行,内核版本跨度过大导致不能在新版本稳定内核上正常运行。鉴于目前尚未有新内核移植版本发行,因此本发明进行了针对性移植工作。The present invention selects the open source program dm-cache for secondary development. Since dm-cache is a part of the Linux mature kernel, one or more fast devices can be used to play the role of cache for the back-end slow storage system. However, the latest version of dm-cache can only be compiled and run on the kernel version 3.10, and the kernel version span is too large to run normally on the new version of the stable kernel. In view of the fact that there is no new kernel porting version issued yet, the present invention has carried out targeted porting work.
附图说明Description of drawings
图1缓存系统Linux I/O层次图;Figure 1 Linux I/O hierarchy diagram of the cache system;
图2Buaacache驱动模块图;Figure 2 Buaacache driver module diagram;
图3缓存系统整体架构图;Figure 3 shows the overall architecture of the cache system;
图4缓存设备Apache Pass结构图;Figure 4 cache device Apache Pass structure diagram;
图5缓存系统映射方式示意图;Figure 5 is a schematic diagram of a cache system mapping method;
图6缓存系统读请求流程示意图;Figure 6 is a schematic diagram of a cache system read request flow;
图7缓存系统写请求流程示意图;Figure 7 is a schematic diagram of a cache system write request flow;
图8内核移植工作示意图;Fig. 8 schematic diagram of kernel transplantation work;
图9bio部分内核移植示意图;Figure 9 is a schematic diagram of bio kernel transplantation;
图10Device Mapper部分内核移植示意图;Figure 10 Schematic diagram of part of the kernel transplantation of Device Mapper;
具体实施方式Detailed ways
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。In order to make the object, technical solution and advantages of the present invention more clearly, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
本发明的目的针对目前基于软件RAID的磁盘阵列系统在存储性能和掉电数据易丢失等方面的不足,提出一种基于非易失性存储器(Persistent Memory,简称PMEM)和软件RAID的缓存系统。本发明基于Linux的Device Mapper机制,开发内核驱动模块Buaacache,采用Intel研发的PMEM设备Apache Pass,作为低速RAID的高速缓存。所述软件RAID在Linux4.4内核下通过mdadm软件的“-C”或者“-create”参数完成创建,并由mdadm进行管理。The purpose of the present invention is aimed at the deficiencies in the storage performance and easy loss of power-off data of the current disk array system based on software RAID, and proposes a cache system based on non-volatile memory (Persistent Memory, PMEM for short) and software RAID. The invention is based on the Device Mapper mechanism of Linux, develops the kernel driver module Buaacache, and adopts the PMEM device Apache Pass developed by Intel as the high-speed cache of low-speed RAID. The software RAID is created through the "-C" or "-create" parameter of the mdadm software under the Linux4.4 kernel, and is managed by mdadm.
本发明在Linux I/O体系中的层次如图1所示。如图2所示,Buaacache运行在Linux64位稳定内核4.4版本下,工作在Linux块设备I/O体系结构中的块设备驱动层,注册为Linux kernel Device Mapper框架下的目标驱动(Target Driver),以内核驱动的方式动态加载使用。该驱动模块调用Device Mapper中的dmsetup程序将软件磁盘阵列和ApachePass作为一个整体创建为一个混合块设备,用户可像读写普通块设备一样操作该设备。The layers of the present invention in the Linux I/O system are shown in FIG. 1 . As shown in Figure 2, Buaacache runs under the Linux64-bit stable kernel version 4.4, works in the block device driver layer in the Linux block device I/O architecture, and is registered as the target driver (Target Driver) under the Linux kernel Device Mapper framework. It is dynamically loaded and used as a kernel driver. The driver module invokes the dmsetup program in Device Mapper to create the software disk array and ApachePass as a whole as a hybrid block device, and the user can operate the device like a common block device.
本发明的系统结构如图3所示,当用户执行读写请求时,该请求首先被文件系统捕捉,由文件系统下发请求给通用块设备层,具体以内核数据结构bio的形式呈现,然后继续下发给Device Mapper层,Device Mapper层对bio进行分割和重组等操作后,最终下发给Buaacache驱动层。The system structure of the present invention is shown in Figure 3. When a user executes a read-write request, the request is first captured by the file system, and the file system sends the request to the general block device layer, specifically presented in the form of the kernel data structure bio, and then Continue to send it to the Device Mapper layer. After the Device Mapper layer splits and reorganizes the bio, it finally sends it to the Buaacache driver layer.
本发明的缓存结构如图4所示,每个非易失性存储器Apache Pass的第一个缓存块可作为超级块(Super Block),用于存放整个缓存相关的关键信息,也可保留留作它用。紧接着元数据空间保存若干元数据(Meta Data),元数据区存储用于管理数据缓存块(DataBlock)的元数据。数据区划分为若干指定大小的数据缓存块(Data Block),默认每8个扇区组成一个缓存块,每512个缓存块组成一个组(Set),同时软件RAID中的硬盘也按此划分。每个缓存块记录对应硬盘块的起始扇区编号,由元数据结构体记录,每个元数据结构体维护相应的状态,必要的锁和tag信息。元数据和数据块都是按照先后顺序线性存放。The cache structure of the present invention is as shown in Figure 4, and the first cache block of each nonvolatile memory Apache Pass can be used as a super block (Super Block) to store key information related to the entire cache, and can also be reserved as it uses. Next, the metadata space stores some metadata (Meta Data), and the metadata area stores metadata for managing data cache blocks (DataBlock). The data area is divided into several data cache blocks (Data Block) of a specified size. By default, every 8 sectors form a cache block, and every 512 cache blocks form a group (Set). At the same time, the hard disks in the software RAID are also divided according to this. Each cache block records the starting sector number of the corresponding hard disk block, which is recorded by the metadata structure, and each metadata structure maintains the corresponding state, necessary lock and tag information. Metadata and data blocks are stored linearly in sequential order.
本发明的缓存映射方式如图5所示。本发明采用512路组相联映射机制,避免以元数据为代表的高热度数据发生聚集现象。组相联映射可分为直接映射和线性哈希探测两步骤进行:第一步:直接映射,将磁盘块映射到缓存设备中的一个组;第二部:线性哈希探测,一旦找到目标组,就在组内线性查找对应的数据块;通过组相联映射可以将磁盘上局部范围的顺序数据块缓存到一个目标组里。The cache mapping method of the present invention is shown in FIG. 5 . The present invention adopts a 512-way group associative mapping mechanism to avoid aggregation of high-temperature data represented by metadata. Group associative mapping can be divided into two steps: direct mapping and linear hash detection: the first step: direct mapping, mapping disk blocks to a group in the cache device; second step: linear hash detection, once the target group is found , just search the corresponding data block linearly in the group; through the group associative mapping, the sequential data blocks in the local range on the disk can be cached into a target group.
本发明的缓存读写流程图分别如图6和图7所示,本发明缓存回收机制仅支持写回模式。当用户读写请求未命中缓存时,并且缓存块全部为脏块无空闲缓存块时,缓存回收机制采用Two-Handed时钟算法,写回最近20分钟内未访问过的脏块到磁盘阵列,维护了数据的一致性。The cache reading and writing flow charts of the present invention are shown in FIG. 6 and FIG. 7 respectively, and the cache recycling mechanism of the present invention only supports the write-back mode. When the user's read and write requests miss the cache, and all the cache blocks are dirty and there are no free cache blocks, the cache reclamation mechanism uses the Two-Handed clock algorithm to write back the dirty blocks that have not been accessed in the last 20 minutes to the disk array for maintenance. data consistency.
本发明的掉电恢复机制如图8所示,本发明在用户读写请求未命中时,一旦有元数据更新,以字节寻址方式从内存及时写入缓存设备。发生意外断电事故后,内存中的元数据均及时备份在缓存设备中,在主机重新上电后,Buaacache驱动模块会将缓存设备中已备份的元数据重新加载到内存中,然后将缓存设备中元数据对应的脏数据(因断电从缓存未及时写回磁盘阵列的数据)写回到RAID,实现掉电恢复。The power-off recovery mechanism of the present invention is shown in FIG. 8 . When the user's read and write requests miss, once there is metadata update, the present invention writes the cache device from the memory in a byte addressing manner in time. After an unexpected power outage, the metadata in the memory is backed up in the cache device in time. After the host is powered on again, the Buaacache driver module will reload the backed-up metadata in the cache device into the memory, and then the cache device The dirty data corresponding to the middle metadata (data not written back to the disk array in time from the cache due to power failure) is written back to RAID to realize power failure recovery.
本发明基于开源方案dm-cache进行二次开发,如发明内容所述,将dm-cache从内核3.10版本移植到内核4.4长期支持版本。移植工作对块设备读写请求字段bio和DeviceMapper中的部分字段进行内核变更跟踪,进行相应适配。bio是linux内核中通用块层的一个核心数据结构,负责联系内存缓冲区与块设备。The present invention carries out secondary development based on the open-source solution dm-cache, as described in the summary of the invention, transplants dm-cache from kernel 3.10 version to kernel 4.4 long-term support version. In the transplantation work, the kernel change tracking is performed on the block device read and write request field bio and some fields in DeviceMapper, and corresponding adaptations are made. bio is a core data structure of the general block layer in the linux kernel, which is responsible for contacting the memory buffer and the block device.
如图9所示,与内核3.10版本相比,内核4.4版本中的bio字段新增bvec_iter结构体,封装了原来属于bio中bi_sector,bi_size,bi_idx和bi_bvec_done四个关键字段。As shown in Figure 9, compared with the kernel version 3.10, the bio field in the kernel version 4.4 has a new bvec_iter structure, which encapsulates the four key fields of bi_sector, bi_size, bi_idx and bi_bvec_done in the original bio.
如图10所示,Device Mapper框架提供同步或者异步的IO服务,在kernel 4.4中dm-io一共有四种dm_io_mem_type类型。与内核3.10版本相比较,内核4.4版本中,dm_io_memory用struct bio*bio替代struct bio_vec,dm_io_memtype用DM_IO_BIO替代DM_IO_BVEC。As shown in Figure 10, the Device Mapper framework provides synchronous or asynchronous IO services. In kernel 4.4, dm-io has four dm_io_mem_type types. Compared with kernel version 3.10, in kernel version 4.4, dm_io_memory uses struct bio*bio instead of struct bio_vec, and dm_io_memtype uses DM_IO_BIO instead of DM_IO_BVEC.
Claims (2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201611106177.5A CN106528001B (en) | 2016-12-05 | 2016-12-05 | A kind of caching system based on nonvolatile memory and software RAID |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201611106177.5A CN106528001B (en) | 2016-12-05 | 2016-12-05 | A kind of caching system based on nonvolatile memory and software RAID |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106528001A CN106528001A (en) | 2017-03-22 |
| CN106528001B true CN106528001B (en) | 2019-08-23 |
Family
ID=58341307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201611106177.5A Active CN106528001B (en) | 2016-12-05 | 2016-12-05 | A kind of caching system based on nonvolatile memory and software RAID |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106528001B (en) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180130140A (en) * | 2017-05-29 | 2018-12-07 | 에스케이하이닉스 주식회사 | Data processing system and data processing method |
| CN107577492A (en) * | 2017-08-10 | 2018-01-12 | 上海交通大学 | The NVM block device drives method and system of accelerating file system read-write |
| CN109933279B (en) * | 2017-12-19 | 2021-01-22 | 中国科学院声学研究所 | A Content Filtering Method Supporting Hybrid Storage System |
| CN108108130A (en) * | 2017-12-22 | 2018-06-01 | 深圳忆联信息系统有限公司 | A kind of method and solid state disk for promoting solid state disk read-write performance |
| CN109086425B (en) * | 2018-08-09 | 2022-05-06 | 北京百度网讯科技有限公司 | Data processing method and apparatus for database |
| CN109240609B (en) * | 2018-08-23 | 2022-02-18 | 郑州云海信息技术有限公司 | Data space read-write method and system based on AEP memory |
| CN110032526B (en) * | 2019-04-16 | 2021-10-15 | 苏州浪潮智能科技有限公司 | A method, system and device for page caching based on non-volatile media |
| CN110532136B (en) * | 2019-08-30 | 2023-05-02 | 四川效率源信息安全技术股份有限公司 | Raid data recovery method based on metadata |
| CN111158599B (en) * | 2019-12-29 | 2022-03-22 | 北京浪潮数据技术有限公司 | Method, device and equipment for writing data and storage medium |
| CN112069091B (en) * | 2020-08-17 | 2023-09-01 | 北京科技大学 | A memory access optimization method and device applied to molecular dynamics simulation software |
| CN113326072B (en) * | 2021-05-24 | 2023-11-24 | 北京计算机技术及应用研究所 | Real-time monitoring method based on nonvolatile memory under Feiteng server platform |
| CN114201115A (en) * | 2021-12-14 | 2022-03-18 | 北京达佳互联信息技术有限公司 | Data storage system, method, computer device and storage medium |
| CN114637470B (en) * | 2022-03-23 | 2024-07-02 | 苏州浪潮智能科技有限公司 | Disk array card write cache verification method, system, medium and device after power failure |
| CN115639956B (en) * | 2022-09-27 | 2025-08-01 | 山东云海国创云计算装备产业创新中心有限公司 | Dirty data transfer method, device and computer readable storage medium |
| CN115729468A (en) * | 2022-11-15 | 2023-03-03 | 北京同有飞骥科技股份有限公司 | Data redundancy protection dual hard disk system based on software RAID |
| CN115599607B (en) * | 2022-11-29 | 2023-06-16 | 苏州浪潮智能科技有限公司 | Data recovery method and related device of RAID array |
| CN119847622A (en) * | 2025-03-20 | 2025-04-18 | 宝德计算机系统股份有限公司 | Raid drive self-adaptation method and system |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1527973A (en) * | 2000-06-23 | 2004-09-08 | 英特尔公司 | non-volatile cache |
| CN101236526A (en) * | 2007-01-30 | 2008-08-06 | 扬智科技股份有限公司 | Computer system with cache system connected to non-volatile storage |
| CN102043731A (en) * | 2010-12-17 | 2011-05-04 | 天津曙光计算机产业有限公司 | Cache system of storage system |
| CN102053929A (en) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | IO cache operation method and system based on DM layer of Linux system |
| CN102147802A (en) * | 2010-12-17 | 2011-08-10 | 曙光信息产业(北京)有限公司 | Pseudo-random type NFS application acceleration system |
| CN102203751A (en) * | 2008-10-30 | 2011-09-28 | 惠普开发有限公司 | Redundant array of independent disks (raid) write cache sub-assembly |
| CN102521147A (en) * | 2011-11-17 | 2012-06-27 | 曙光信息产业(北京)有限公司 | Management method by using rapid non-volatile medium as cache |
| CN104035887A (en) * | 2014-05-22 | 2014-09-10 | 中国科学院计算技术研究所 | Block device caching device and method based on simplification configuration system |
| CN104679442A (en) * | 2013-12-02 | 2015-06-03 | 中兴通讯股份有限公司 | Method and device for improving performance of disk array |
| CN105339885A (en) * | 2013-05-23 | 2016-02-17 | 网络装置公司 | Efficient storage of small random changes to data on disk |
| CN105955841A (en) * | 2016-04-18 | 2016-09-21 | 华中科技大学 | Method for RAID dual-controller to write cache mirror with disk |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7930499B2 (en) * | 2007-08-15 | 2011-04-19 | Digi-Data Corporation | Method to accelerate block level snapshots in archiving storage systems |
-
2016
- 2016-12-05 CN CN201611106177.5A patent/CN106528001B/en active Active
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1527973A (en) * | 2000-06-23 | 2004-09-08 | 英特尔公司 | non-volatile cache |
| CN101236526A (en) * | 2007-01-30 | 2008-08-06 | 扬智科技股份有限公司 | Computer system with cache system connected to non-volatile storage |
| CN102203751A (en) * | 2008-10-30 | 2011-09-28 | 惠普开发有限公司 | Redundant array of independent disks (raid) write cache sub-assembly |
| CN102043731A (en) * | 2010-12-17 | 2011-05-04 | 天津曙光计算机产业有限公司 | Cache system of storage system |
| CN102053929A (en) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | IO cache operation method and system based on DM layer of Linux system |
| CN102147802A (en) * | 2010-12-17 | 2011-08-10 | 曙光信息产业(北京)有限公司 | Pseudo-random type NFS application acceleration system |
| CN102521147A (en) * | 2011-11-17 | 2012-06-27 | 曙光信息产业(北京)有限公司 | Management method by using rapid non-volatile medium as cache |
| CN105339885A (en) * | 2013-05-23 | 2016-02-17 | 网络装置公司 | Efficient storage of small random changes to data on disk |
| CN104679442A (en) * | 2013-12-02 | 2015-06-03 | 中兴通讯股份有限公司 | Method and device for improving performance of disk array |
| CN104035887A (en) * | 2014-05-22 | 2014-09-10 | 中国科学院计算技术研究所 | Block device caching device and method based on simplification configuration system |
| CN105955841A (en) * | 2016-04-18 | 2016-09-21 | 华中科技大学 | Method for RAID dual-controller to write cache mirror with disk |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106528001A (en) | 2017-03-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106528001B (en) | A kind of caching system based on nonvolatile memory and software RAID | |
| Yang et al. | I-CASH: Intelligently coupled array of SSD and HDD | |
| JP6007329B2 (en) | Storage controller, storage device, storage system | |
| JP6732684B2 (en) | Information processing device, storage device, and information processing system | |
| US10037272B2 (en) | Storage system employing MRAM and array of solid state disks with integrated switch | |
| US9996542B2 (en) | Cache management in a computerized system | |
| CN104350477B (en) | Optimized context removal for solid-state drives (SSDs) | |
| CN102521147B (en) | Management method by using rapid non-volatile medium as cache | |
| US10956071B2 (en) | Container key value store for data storage devices | |
| CN103530237B (en) | A kind of rubbish recovering method of Solid-state disc array | |
| CN111857540B (en) | Data access method, apparatus and computer program product | |
| US8862819B2 (en) | Log structure array | |
| Wu et al. | LDM: Log disk mirroring with improved performance and reliability for SSD-based disk arrays | |
| CN109144899A (en) | Method for managing table recovery | |
| CN105353991A (en) | Disk array reconstruction optimization method and device | |
| CN117519612B (en) | Mass small file storage system and method based on index online splicing | |
| US11561695B1 (en) | Using drive compression in uncompressed tier | |
| US12153803B2 (en) | Storage device and operation method thereof | |
| US20220221988A1 (en) | Utilizing a hybrid tier which mixes solid state device storage and hard disk drive storage | |
| US9471252B2 (en) | Use of flash cache to improve tiered migration performance | |
| Shu | Data Storage Architectures and Technologies | |
| CN105045540B (en) | A kind of data layout method of Solid-state disc array | |
| CN105988720A (en) | Data storage device and method | |
| CN107451069A (en) | The rubbish recovering method of Solid-state disc array based on headspace | |
| Wu et al. | Improving availability of raid-structured storage systems by workload outsourcing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |