CN101266541A - iSCSI目标器与存储设备的接口方法 - Google Patents

iSCSI目标器与存储设备的接口方法 Download PDF

Info

Publication number
CN101266541A
CN101266541A CNA2007100874227A CN200710087422A CN101266541A CN 101266541 A CN101266541 A CN 101266541A CN A2007100874227 A CNA2007100874227 A CN A2007100874227A CN 200710087422 A CN200710087422 A CN 200710087422A CN 101266541 A CN101266541 A CN 101266541A
Authority
CN
China
Prior art keywords
bio
memory device
data
request
interface method
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
Application number
CNA2007100874227A
Other languages
English (en)
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.)
WUHAN HAIHENG INFORMATION STORAGE CO Ltd
Original Assignee
WUHAN HAIHENG INFORMATION STORAGE 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 WUHAN HAIHENG INFORMATION STORAGE CO Ltd filed Critical WUHAN HAIHENG INFORMATION STORAGE CO Ltd
Priority to CNA2007100874227A priority Critical patent/CN101266541A/zh
Publication of CN101266541A publication Critical patent/CN101266541A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了iSCSI目标器与存储设备的接口方法。将linux2.6内核中的数据结构的bio结构体和BIO接口方法应用于该iSCSI目标器与存储设备的接口方法中。bio结构体是linux2.6内核中最新定义的一系列数据结构之一。由于bio结构体描述的是I/O操作,它可以包括内存中的一个或多个页,相对于以前的buffer_head结构体,可以避免不必要的数据块的分割。并且由于bio结构体是轻量级的,它描述的I/O请求块可以分布在非连续的内存区。这种方法屏蔽了对不同的存储块设备的访问接口的差异性,对所有块级存储设备通用,而且还具有效率高、性能好、稳定性强的特点。

Description

iSCSI目标器与存储设备的接口方法
技术领域
本发明涉及计算机存储技术领域,具体地涉及基于iSCSI(Internet SmallComputer System Interface,因特网小型计算机系统接口)目标器与存储设备的接口方法。
背景技术
九十年代以前,存储产品大多作为服务器的组成部分之一,这种形式的存储被称为SAS(Server Attached Storage,服务器附属存储)或DAS(DirectAttached Storage,直接附属存储)。随着技术发展,进入九十年代以后,人们逐渐意识到IT系统的数据集中和共享成为一个亟待解决的问题。于是,网络化存储的概念被提出并得到了迅速发展。从架构上来分,今天的网络化存储系统主要包括SAN(Storage Area Network,存储区域网)和NAS(NetworkAttached Storage,网络附加存储)两大类。
目前,许多网络存储提供商致力于将SAN中使用的FC(Fiber Channel,光纤通道)设定为一种实用标准,但是其架构需要高昂的建设成本,远非一般企业所能够承受。与之相比,NAS技术虽然成本低廉,但是却受到带宽消耗的限制,无法完成大容量存储的应用,而且系统难以满足开放性的要求。iSCSI(Internet Small Computer System Interface,因特网小型计算机系统接口)在避开了传统NAS/SAN差别之后的以网络为中心的新存储方案(开放存储网络)中同时享受到NAS和SAN拓扑结构的优势。iSCSI标准把存储设备和服务器与应用普通互联网协议建立起来的网络结合在了一起,而不是使用速度更快但是价格更昂贵、更复杂的光纤通道技术,为众多中小企业对经济合理和便于管理的存储设备提供了直接访问的能力。
iSCSI(因特网小型计算机系统接口)是一种在因特网协议网络上,特别是以太网上进行数据块传输的标准。它是一个供硬件设备使用的可以在IP(Internet Protocol,网际协议)协议上层运行的SCSI(小型计算机系统接口)指令集。简单地说,iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。SCSI是以一种广泛使用的连接硬盘和计算机的技术标准,而iSCSI则将该技术应用于网络环境中。iSCSI是基于IP协议的技术标准,是允许网络在TCP/IP(Transfer Control Protocol/InternetProtocol,传输控制协议/网际协议)协议上传输SCSI命令的新协议,实现了SCSI和TCP/IP协议的连接,该技术允许用户通过TCP/IP网络来构建存储区域网(SAN)。
目前,iSCSI目标器与不同的存储块设备(如磁带、光盘以及不同接口类型的磁盘等)的接口方法通常有两种:1.使用不同的接口实现方法;2.采用统一的file I/O(文件输入/输出)方法。第一种方法由于针对不同类型的设备实现了专用的接口方式,效率高,I/O性能好,但是由于存储设备和操作系统版本的多样性将导致实现不同的接口技术方法非常复杂繁琐,而且没有通用性。第二种方法虽然屏蔽了存储设备的多样性,但是file I/O方法的read/write(读/写)依赖于文件系统的读写方法的调用,增加了数据在I/O过程中的内存拷贝,增长了I/O路径,牺牲了系统的性能和稳定性。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种通用性好、效率高、性能强、且稳定性好的因特网小型计算机系统接口目标器与存储设备的接口方法。
本发明的技术方案是:将linux2.6内核中的数据结构的bio结构体和BIO接口方法应用于该因特网小型计算机系统接口目标器与存储设备的接口方法中。
更进一步地,这种接口方法包括以下步骤:(1)初始化过程,即将存储设备加载到目标器;(2)基于BIO接口方法的读进程,即采用BIO的方法从存储设备读取数据;(3)基于BIO接口方法的写进程,即采用BIO的方法向存储中存入数据;(4)结束过程,即存储设备从目标器中卸载。
更进一步地,所述步骤(1)包括以下分步骤:(1.1)为存储块设备创建第一结构体,该结构体表示存储设备与目标器对应的基本参数;(1.2)获取该存储设备的块设备结构指针,其是表示存储设备的指针,进而得到存储设备的容量和块大小参数;(1.3)检查该存储设备的I/O请求队列参数;(1.4)为该存储设备分配读写数据的缓存空间;(1.5)将第一结构体加入设备链表,完成存储设备的参数加载到目标器的过程。所述步骤(2)包括以下分步骤:(2.1)判断当前的读请求是否在读写数据缓存空间中,是则转步骤(2.5);(2.2)当前的读请求不在读写数据缓存空间中,根据需要读取的存储数据的起始地址和长度构造bio链,即将由当前读写请求所产生的bio结构体链接在一起的链;(2.3)将bio结构体从bio链中逐个摘下,根据bio链中bio结构体的个数设置bio结构体中的私有数据指针域的参数和回调函数,私有数据指针域表示存储状态信息的区域,回调函数用于通知读写请求完成的状态;(2.4)将bio结构体逐个提交给对应的存储设备,当提交请求完成时,在(2.3)设置的回调函数被执行,以便完成读取完成后的处理过程;(2.5)当前读请求处理结束,转(2.1)继续进行下一读请求的处理。所述步骤(3)包括以下分步骤:(3.1)判断当前写请求是否在读写数据缓存空间中,是则转步骤(3.7);(3.2)根据(3.1)的返回值判断读写存数据缓存空间是否需要腾空,否则转步骤(3.4);(3.3)根据要腾空的读写数据缓存空间中的内容构造bio结构并提交给存储设备,将存储数据写入存储设备;(3.4)根据当前写请求的起始地址和数据长度构造bio链;(3.5)依次将bio结构体从bio链中摘下,并根据bio链中的bio结构体的数量填写每个bio结构体中的私有数据域的参数和回调函数;(3.6)将bio结构体提交给存储设备,执行写入数据的操作,当该操作完成后,(3.5)步设置的回调函数被执行,以便释放本次I/O所占用的系统资源;(3.7)当前写请求处理结束,转(2.1)继续进行下一写请求的处理。所述步骤(4)包括以下分步骤:(4.1)清空该存储设备对应的读写数据缓存空间;(4.2)释放读写存数据缓存空间所占的内存资源;(4.3)将对应的第一结构体从设备链表中摘除;(4.4)释放第一结构体所占的系统资源;(4.5)存储设备卸载完毕,进程结束。
bio结构体是linux2.6内核中最新定义的一系列数据结构之一。由于bio结构体描述的是I/O操作,它可以包括内存中的一个或多个页,相对于以前的buffer_head结构体,可以避免不必要的数据块的分割。并且由于bio结构体是轻量级的,它描述的I/O请求块可以分布在非连续的内存区。对于与iSCSI目标器的接口,与现有方法不同,BIO接口方法对不同的存储块设备(如磁盘、磁带、光盘等)是通用的,因此,它具有与采用File I/O接口方法同样的优点——iSCSI目标器与存储设备之间的数据传输与存储设备无关。同时,又克服了FileI/O方式的读写依赖于对文件系统的读写方法的调用(增加了内存拷贝和I/O路径,牺牲了系统的性能和稳定性)的缺点。
附图说明
图1为本发明的iSCSI目标器的硬件结构示意图;
图2为本发明的iSCSI目标器的软件模块结构示意图;
图3a是构造bio链的流程图,图3b是将数据填充到bio结构体中的流程图;
图4a为本发明的基于BIO接口方法的bio读函数的流程图,图4b为bio读回调函数的流程图;
图5a为本发明的基于BIO接口方法的bio写函数的流程图,图5b为bio写回调函数的流程图;
图6为本发明的存储设备的初始化过程的流程图;
图7为本发明的存储设备的结束过程的流程图。
具体实施方式
下面参照附图,将详细叙述本发明的具体实施方式。
Linux内核(2.6及后续版本)中定义的bio结构体与本发明密切相关,bio结构体定义如下:
struct bio{
sector_t  bi_sector;/*起始扇区号*/
struct bio  *bi_next;/*bio链*/
struct block_device  *bi_bdev;
unsigned long    bi_flags;
unsigned long    bi_rw;/*读写命令标志*/
unsigned short   bi_vcnt;/*页向量长度*/
unsigned short   bi_idx;/*当前页向量指针*/
unsigned short   bi_phys_segments;
unsigned short   bi_hw_segments;
unsigned int     bi_size;/*未完成IO的数据长度*/
unsigned int     bi_hw_front_size;
    unsigned int    bi_hw_back_size;
    unsigned int    bi_max_vecs;/*页向量的最大长度*/
    struct bio_vec  *bi_io_vec;/*io页向量*/
    bio_end_io_t    *bi_end_io;/*回调函数*/
    atomic_t    bi_cnt;
    void        *bi_private;/*私有数据域指针*/
    bio_destructor_t  *bi_destructor;
};
在上述的bio结构体中,凡是本发明所涉及的都加以中文注释。
为了实现BIO方法,定义了以下必须的数据结构:
(1)scst_blockio_tgt_dev结构体(第一结构体)
struct scst_blockio_tgt_dev{
   spinlock_t biodev_lock;//自旋锁
   int shutdown;//是否关机标志
   struct block_device*bdev;//块设备结构指针
   struct list_head biodev_cmd_list;//命令结构链头
   wait_queue_head_t biodev_waitQ;//等待队列
   atomic_t threads_count;//执行命令的线程数
   blockio_cache     read_cache[READ_CACHE_NR];//读缓存头
   blockio_cache     write_cache[WRITE_CACHE_NR];//写缓存头
   struct semaphore shutdown_mutex;//互斥信号量
   struct list_head biotgt_list_entry;//Target结构链头
};
(2)scst_blockio_dev结构体(第二结构体)
struct scst_blockio_dev{
   uint32_t block_size;//设备块大小
    sector_t nblocks;//块数
    int block_shift;//块大小与字节数间的转换移位数
    loff_t dev_capacity;//设备容量,以字节为单位
    int rd_only_flag:1;
    int wt_flag:1;
    int create_flag:1;
    int o_direct_flag:1;
    int media_changed:1;
    int prevent_allow_medium_removal:1;//设备权限标志位
    char name[16+1];//设备名称
    struct list_head blockio_dev_list_entry;//block io设备链头
    struct list_head biotgt_list;//target结构链头
    struct semaphore biotgt_list_mutex;//互斥信号量
};
(3)bio_cmd结构体(第三结构体)
struct bio_cmd{
   uns igned short use_sg;//聚散标志
   sector_t lsector;//起始逻辑扇区号
   int     bufflen;//数据长度
   int     rw;//读写标识
   void    *buffer;//数据缓存区
   unsigned int atomic_buf:1;//原子标识
   struct block_device*bdev;//块结构指针
};
图1为本发明的iSCSI目标器设备硬件结构示意图,基于PCI的通用服务器主板分别与以太网接口、ATA接口卡、内存、FLASH DISK互连。
图2为本发明的iSCSI目标器模块结构示意图,包括前端目标驱动(FETD,Front End Target Device)、BIO处理子系统、IO子系统、硬件子系统。
图3为本发明的构造bio函数示意图,它是实现BIO方法的关键。在图3a中,若数据长度小于一页,则仅申请一个bio并提交,如长度大于一个页,则根据bio_vec的最大个数构造每个bio的bio_vec结构,并依次构造bio链。如图3b所示,该函数填充bio的bio_vec向量。对于已经支持聚散的命令(目前绝大多数硬件都支持聚散方式),则直接根据聚散表获得页面(page)信息,然后将page逐个加入到bio的bio_vec中,直到不能加入为止,返回已经加入的页数(数据长度为附属返回值)。对于非聚散操作,则重新申请页内存,若是写命令,则将源数据复制到页中,否则不需要复制数据。然后将页逐个加入bio中,直到不能再加入为止,返回已经加入的数据长度(已加入的页数为附属返回值)。
图4为本发明的读函数示意图,该函数负责处理来自上层(目标器中间层,Target_Mid_Level)的读请求。图4a说明当新的读请求到达时,首先判断该读请求是否在读缓冲区中,若请求数据在读缓冲区中,则直接将对应数据返回;若不在,则根据返回的第三结构体获得读请求的起始块地址及请求的数据长度,进而调用bio,构造相应的bio链,并且负责填写每个bio的私有数据指针域以及相关的回调函数,然后调用系统内核块I/O层提供的submit_bio函数,将所构造的bio均提交到对应块设备的请求队列中。图4b表明读bio回调函数的处理流程,当单个bio完成时,原子计数器的值减1,当计数器值为零时,说明本次请求全部完成,释放本次读请求所申请的资源,并向上层(Target_Mid_Level)报告命令完成的状态。
图5为本发明的写函数示意图,进行下述步骤:写函数与读函数流程基本一样,只是在最后不需要数据拷贝操作。该函数处理流程如下:当写请求到达时,首先判断是否在写缓冲区中。若在,则更新写缓冲区内的数据,并返回;若返回“No Cache”(该请求不支持写缓冲区)或“Cache Busy”(写缓冲区正在腾空,被锁定)时,根据该写请求的信息填充第三结构体,并调用构造bio,构造相应的bio链。最后将bio逐个通过submit_bio函数提交给对应的块设备;若返回“Cache Unhit”(写缓冲区没有足够的空间存放当前的数据),则首先构造腾空写缓冲区的bio链并提交到块设备执行腾空任务,然后再将根据本次请求的参数构造bio链并提交给设备执行写操作。在图5b的bio回调函数中,对计数器进行减1,当计数器为0时,说明所有的该请求对应的所有bio都已完成,则释放本次写请求占用的资源与写存储数据的空间,并向上层报告完成。
图6为本发明的存储设备的初始化过程的流程图,其主要是获得要加载的存储块设备结构体,并通过该结构获得要加载的块设备的相关信息。其中涉及到为结构分配空间和初始化等。最后根据获得的块设备参数设置存储块设备结构体的请求队列的参数(即参数make_request_queue)。具体步骤:首先申请一个新的第一结构体,并初始化其各数据参数。然后打开底层挂载的标准块设备,进而获得块设备的参数,根据块设备参数设置其请求队列参数。最后,还负责申请该块设备对应的读写缓存空间,并将完成的数据结构对象链接在第二结构体的链尾。
图7为本发明的存储设备的结束过程的流程图。其主要是用来释放所链接的请求阵列的相关数据结构体。具体步骤:首先,从相应的第二结构体链中摘除,并置shutdown(关机)标志,唤醒所有阻塞在该设备上的请求,并完成这些请求;然后,释放该第二结构体对应的存储设备及其成员的内存空间,释放该设备对应的读写缓存空间。最后,关闭存储设备,并释放所构造的第二结构体的内存空间。
本发明特点如下:
1.实现了iSCSI目标器与存储块设备的统一接口,屏蔽了设备的复杂多样性,既简化了系统实现的复杂度,又方便了用户的操作与使用。
2.避免了通过文件系统访问存储设备,减少数据存储过程中的内存拷贝,优化了I/O路径,提高了存储的I/O性能。
3.方便处理高端内存,因为它处理的是物理页而不是直接指针。
4.Bio结构体既可以代表普通页I/O,同时也可以代表直接I/O(指那些不通过页高速缓存的I/O操作)。
5.Bio结构体便于进行聚/散块的I/O操作,操作中的数据可取自多个物理页面。
6.Bio结构体相比缓冲区头(buffer head),属于轻量级的结构体。因为它只需要包含块I/O操作所需要的信息就行了,不用包含与缓冲区本身相关的不必要信息,减少了系统的复杂度。
因此,本发明适用于构造具有高性价比的存储系统。

Claims (6)

1. iSCSI(因特网小型计算机系统接口)目标器与存储设备的接口方法,其特征在于:将linux2.6内核中的数据结构的bio结构体和BIO接口方法应用于该因特网小型计算机系统接口目标器与存储设备的接口方法中。
2. 按照权利要求1的接口方法,包括以下步骤:
(1)初始化过程,即将存储设备加载到目标器;
(2)基于BIO接口方法的读进程,即采用BIO的方法从存储设备中读取数据;
(3)基于BIO接口方法的写进程,即采用BIO的方法向存储设备中写入数据;
(4)结束过程,即存储设备从目标器中卸载。
3. 按照权利要求2的接口方法,其特征在于:所述步骤(1)包括以下分步骤:
(1.1)为存储块设备创建第一结构体,该结构体表示存储设备与目标器对应的基本参数;
(1.2)获取该存储设备的块设备结构指针,其是表示存储设备的指针,进而得到存储设备的容量和块大小参数;
(1.3)检查该存储设备的I/O请求队列参数;
(1.4)为该存储设备分配读写数据缓存空间;
(1.5)将第一结构体加入设备链表,完成存储设备加载到目标器的过程。
4. 按照权利要求2的接口方法,其特征在于:所述步骤(2)包括以下分步骤:
(2.1)判断当前的读请求是否在读写缓存空间中,是则转步骤(2.5);
(2.2)当前的读请求不在读写缓存空间中,根据需要读取的存储数据的起始地址和长度构造bio链,即将由当前请求所产生的bio结构体链接在一起的链;
(2.3)将bio结构体从bio链中逐个摘下,根据bio链中bio结构体的个数设置bio结构体中的私有数据指针域的参数和回调函数,私有数据指针域表示存储状态信息的区域,回调函数用于通知读/写请求完成的状态;
(2.4)将bio结构体逐个提交给对应的存储设备,当提交请求完成时,在(2.3)设置的回调函数被执行,以便完成读取完成后的处理过程;
(2.5)当前读请求处理结束,转(2.1)继续进行下一读请求的处理。
5. 按照权利要求2的接口方法,其特征在于:所述步骤(3)包括以下分步骤:
(3.1)判断当前写请求是否在读写数据缓存空间中,是则转步骤(3.7);
(3.2)根据(3.1)的返回值判断读写数据缓存空间是否需要腾空,否则转步骤(3.4);
(3.3)根据要腾空的读写数据缓存空间中的内容构造bio结构并提交给存储设备,将存储数据写入存储设备;
(3.4)根据当前写请求的起始地址和数据长度构造bio链;
(3.5)依次将bio结构体从bio链中摘下,并根据bio链中的bio结构体的数量填写每个bio结构体中的私有数据域的参数和回调函数;
(3.6)将bio结构体提交给存储设备,执行写入数据的操作,当该操作完成后,(3.5)步设置的回调函数被执行,以便释放本次I/O所占用的系统资源;
(3.7)当前写请求处理结束,转(2.1)继续进行下一写请求的处理。
6. 按照权利要求2的接口方法,其特征在于:所述步骤(4)包括以下分步骤:
(4.1)清空该存储设备对应的读写数据缓存空间;
(4.2)释放读写数据缓存所占的内存资源;
(4.3)将对应的第一结构体从设备链表中摘除;
(4.4)释放第一结构体所占的系统资源;
(4.5)存储设备卸载完毕,进程结束。
CNA2007100874227A 2007-03-16 2007-03-16 iSCSI目标器与存储设备的接口方法 Pending CN101266541A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100874227A CN101266541A (zh) 2007-03-16 2007-03-16 iSCSI目标器与存储设备的接口方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100874227A CN101266541A (zh) 2007-03-16 2007-03-16 iSCSI目标器与存储设备的接口方法

Publications (1)

Publication Number Publication Date
CN101266541A true CN101266541A (zh) 2008-09-17

Family

ID=39988973

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100874227A Pending CN101266541A (zh) 2007-03-16 2007-03-16 iSCSI目标器与存储设备的接口方法

Country Status (1)

Country Link
CN (1) CN101266541A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073605A (zh) * 2010-12-27 2011-05-25 深圳市创新科信息技术有限公司 一种绕过Bio层访问磁盘驱动的存储接口的方法
CN103257888A (zh) * 2012-02-16 2013-08-21 阿里巴巴集团控股有限公司 一种对缓冲队列并发执行读、写访问的方法和设备
CN104572323A (zh) * 2015-01-28 2015-04-29 深圳市锐明视讯技术有限公司 一种硬盘读取方法及装置
CN104731529A (zh) * 2015-03-17 2015-06-24 浪潮集团有限公司 一种iSCSI存储器的识别与配置使用方法
CN109032523A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种磁盘设备驱动方法、系统、装置及可读存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073605A (zh) * 2010-12-27 2011-05-25 深圳市创新科信息技术有限公司 一种绕过Bio层访问磁盘驱动的存储接口的方法
CN102073605B (zh) * 2010-12-27 2012-11-21 深圳市创新科信息技术有限公司 一种绕过Bio层访问磁盘驱动的存储接口的方法
CN103257888A (zh) * 2012-02-16 2013-08-21 阿里巴巴集团控股有限公司 一种对缓冲队列并发执行读、写访问的方法和设备
CN104572323A (zh) * 2015-01-28 2015-04-29 深圳市锐明视讯技术有限公司 一种硬盘读取方法及装置
CN104572323B (zh) * 2015-01-28 2017-12-12 深圳市锐明技术股份有限公司 一种硬盘读取方法及装置
CN104731529A (zh) * 2015-03-17 2015-06-24 浪潮集团有限公司 一种iSCSI存储器的识别与配置使用方法
CN109032523A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种磁盘设备驱动方法、系统、装置及可读存储介质

Similar Documents

Publication Publication Date Title
US9817580B2 (en) Secure migratable architecture having improved performance features
US7660867B2 (en) Virtual computer system and virtual computer migration control method
US9092426B1 (en) Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing
Swanson et al. Refactor, reduce, recycle: Restructuring the i/o stack for the future of storage
US20200034245A1 (en) Method and product for implementing application consistent snapshots of a sharded relational database across two or more storage clusters
US7383290B2 (en) Transaction processing systems and methods utilizing non-disk persistent memory
CN101615106B (zh) 用于虚拟化sas存储适配器的方法和系统
US9606748B2 (en) Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
CN101650660B (zh) 从中央存储装置引导计算机系统
US8639898B2 (en) Storage apparatus and data copy method
US10831521B2 (en) Efficient metadata management
US20050132250A1 (en) Persistent memory device for backup process checkpoint states
CN114138200B (zh) 一种基于RocksDB的预写日志方法及系统
CN101266541A (zh) iSCSI目标器与存储设备的接口方法
US10152278B2 (en) Logical to physical sector size adapter
US9442860B2 (en) Providing record level sharing (RLS) to individual catalogs
US9910774B1 (en) Spontaneous reconfiguration of data structures using balloon memory allocation
US11609854B1 (en) Utilizing checkpoints for resiliency of metadata in storage systems
CN109783032A (zh) 一种基于异构计算的分布式存储加速方法及装置
US8645659B1 (en) Method for managing volumes/snapshots in pools of external virtual memory
Aghayev et al. Reconciling LSM-Trees with Modern Hard Drives using BlueFS
US20200026875A1 (en) Protected health information in distributed computing systems
Hou et al. Integration of Burst Buffer in High-level Parallel I/O Library for Exa-scale Computing Era
US20200026540A1 (en) Dynamic provisioning and delivery of virtual applications
Sundararaman et al. Towards software defined persistent memory: rethinking software support for heterogenous memory architectures

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

Open date: 20080917