CN108509353A - 基于裸闪存的对象存储构建方法及装置 - Google Patents
基于裸闪存的对象存储构建方法及装置 Download PDFInfo
- Publication number
- CN108509353A CN108509353A CN201810210410.7A CN201810210410A CN108509353A CN 108509353 A CN108509353 A CN 108509353A CN 201810210410 A CN201810210410 A CN 201810210410A CN 108509353 A CN108509353 A CN 108509353A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- naked
- page
- data
- storage management
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于裸闪存的对象存储构建方法及装置,其中,方法包括:将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层;本地存储***或分布式存储***通过对象存储管理层提供的对象式访问接口,向对象存储管理层传递对象数据操作参数;对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令;将操作命令发送给裸闪存设备,完成对象数据操作。该方法能够减少传统基于闪存的对象存储架构的功能冗余,提供更低的对象数据访问延迟,并能够减少成本,带来良好的客户体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于裸闪存的对象存储构建方法及装置。
背景技术
闪存是一种电子式可擦除编程存储器,以页为单位进行读写,以块为单位进行擦除,并且读、写以及擦除操作的延迟差异较大。闪存单元的编程为单向编程,重写一个页之前,需要进行擦除操作,并且闪存单元的擦写次数有限,即寿命有限。通常,闪存页的大小为4KB或更大,而闪存块包含256个或更多闪存页。每个闪存页除页数据之外还包括页元数据区域,也叫做OOB(Out of Band,带外)区域,用于记录ECC(Error Correction Code,纠错码)校验等元数据信息,并且闪存能提供页数据与页元数据的原子性读写。通常,一个4KB闪存页拥有一块128字节的页元数据。
传统的闪存存储***中,FTL(Flash Translation Layer,闪存转换层)用于管理闪存的读/写/擦除操作,并实现垃圾回收与磨损均衡等功能。在嵌入式文件***中,闪存多数以裸闪存的形式存在,由文件***直接管理,并在文件***中实现闪存转换层功能。随着闪存密度提升、价格下落,闪存以SSD(Solid State Drive,固态盘)的形式广泛用于笔记本电脑、台式机以及服务器中,固态盘在其内部固件中实现闪存转换层的功能,并向软件***提供与传统磁盘相同的读写接口。
传统的方法基于固态盘来构建闪存对象存储。在这种架构中,使用固态盘替换磁盘,文件***以文件的形式,通过固态盘的固件FTL访问闪存数据;再在此文件***之上封装一层对象接口,此文件***与对象接口共同构成一个对象层;在此对象层上再挂载存储***,为应用提供闪存对象存储。传统的闪存对象存储构建方法基于文件***构建对象层,使用了通用的***存储接口,在功能上具有很好的层次性,但是中间有较多的功能冗余,不能充分利用闪存特性实现更高效且更利于闪存寿命的存储管理。三星公司提出一种在固态盘固件FTL中构建对象层的架构,固态盘不再向上提供块接口而是对象接口,以避免在文件***上构建对象层的开销。然而此方法需要进行固态盘固件的操作,缺乏灵活性,存在软硬件之间的语义隔离。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一方面目的在于提出一种能够简化基于闪存的对象存储架构,提供更低对象数据访问延迟的方法。
本发明另一方面目的在于提出一种基于裸闪存的对象存储构建装置。
为达到上述目的,本发明一方面的实施例提出了一种基于裸闪存的对象存储构建方法,包括以下步骤:通过将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层;本地存储***或分布式存储***通过所述对象存储管理层提供的对象式访问接口,向所述对象存储管理层传递对象数据操作参数;对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令;将所述操作命令发送给裸闪存设备,完成对象数据操作。
根据本发明实施例的一种基于裸闪存的对象存储构建方法,通过构建对象存储管理层,建立和裸闪存设备的访问接口,通过将对象数据操作参数转化为对应的裸闪存读/写/擦除命令,直接对裸闪存设备进行操作,达到减少传统基于闪存的对象存储架构的功能冗余,提供更低的对象数据访问延迟的目的,具有减少成本和更好客户体验的优点。
在一些示例中,所述对象存储管理层,用于:对象存储管理、闪存转换层功能和裸闪存访问管理。
在一些示例中,所述对象存储管理机制包括对象存储数据和闪存块管理信息的组织,其中:对象存储数据包括对象索引、对象元数据页和对象数据页,其中,对象索引实现对象身份标识到对象元数据页的映射,对象元数据页记录该对象所包含数据页面的地址映射关系;使用对象身份标识,经历对象索引和对象元数据页两级查询,定位该对象的数据页面,闪存块管理信息指每个闪存块的元数据信息,包括闪存块状态、该块中无效页的个数和该块的擦除次数,其中,闪存块的状态有空闲、更新和已用三种,闪存块管理信息集中存储于特定的存储空间,并且以日志的方式记录。
在一些示例中,所述闪存转换层功能,包括:所述闪存转换层功能为部分传统固件闪存转换层功能转移到软件驱动层的实现,包括逻辑页地址到物理页地址的映射、垃圾回收、磨损均衡,其中,逻辑页地址到物理页地址的映射,通过所述对象存储数据和闪存块管理信息的组织实现,垃圾回收将在裸闪存空间占用达到一定的比例时触发,将失效的数据页回收,磨损均衡会在向对象分配数据页时,保证闪存块的磨损程度较为平均。
在一些示例中,所述裸闪存访问管理包括:对裸闪存进行页级别的读写操作和块级别的擦除操作,并且能够实现闪存页的页数据和页元数据的同时读写。
在一些示例中,所述对象数据操作参数包括:存储***根据不同的操作需求,选用不同的对象式接口;使用对象身份标识,通过对象存储管理机制定位到对象数据页地址;使用裸闪存访问管理实现硬件设备上的对象数据操作。
本发明的另一方面的实施例提出了一种基于裸闪存的对象存储构建装置,包括:构建模块,用于将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层;传递模块,用于本地存储***或分布式存储***使用所述对象存储管理层提供的对象式访问接口,向所述对象存储管理层传递对象数据操作参数;转化模块,用于根据对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令;发送模块,用于将所述操作命令发送给裸闪存设备,完成对象数据操作。
根据本发明实施例的一种基于裸闪存的对象存储构建装置,通过构建对象存储管理层,建立和裸闪存设备的访问接口,通过将对象数据操作参数转化为对应的裸闪存读/写/擦除命令,直接对裸闪存设备进行操作,达到减少传统的基于闪存的对象存储架构的功能冗余,提供更低的对象数据访问延迟的目的,具有减少成本和更好客户体验的优点。
在一些示例中,所述对象存储管理层,包括:对象存储管理单元、闪存转换层功能单元和裸闪存访问管理单元。
在一些示例中,所述对象存储管理机制包括对象存储数据和闪存块管理信息的组织,其中:对象存储数据包括对象索引、对象元数据页和对象数据页,其中,对象索引实现对象身份标识到对象元数据页的映射,对象元数据页记录该对象所包含数据页面的地址映射关系,使用对象身份标识,经历对象索引和对象元数据页两级查询,定位该对象的数据页面;闪存块管理信息指每个闪存块的元数据信息,包括闪存块状态、该块中无效页的个数和该块的擦除次数,其中,闪存块的状态有空闲、更新和已用三种,闪存块管理信息集中存储于特定的存储空间,并且以日志的方式记录。
在一些示例中,所述对象数据操作参数包括:存储***根据不同的操作需求,选用不同的对象式接口;使用对象身份标识,通过对象存储管理机制定位到对象数据页地址;使用裸闪存访问管理实现硬件设备上的对象数据操作。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是根据本发明实施例的基于裸闪存的对象存储构建方法的流程图;
图2是本发明一个实施例的对象式访问接口及其主要参数示意图;
图3是本发明实施例的存储对象管理层访问裸闪存设备的逻辑示意图;
图4是本发明一个实施例的对象存储管理和闪存块管理的数据组织架构示意图;
图5是本发明一个实施例的闪存块管理信息的内容示意图;
图6是本发明一个实施例的闪存页数据与页元数据的示意图;
图7是根据本发明实施例的基于裸闪存的对象存储构建装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1是根据本发明实施例的基于裸闪存的对象存储构建方法的流程图,如图1所示该方法具体步骤如下所示:
S1,将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层。
具体而言,本发明的一个实施例中,如图2所示,存储对象管理层向下直接操作裸闪存设备,以闪存页粒度对裸闪存进行读写,以闪存块粒度对裸闪存进行擦除,并且以NVMe规范所示方式实现闪存页的页数据与页元数据的同时读写,即通过将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层。
S2,本地存储***或分布式存储***通过对象存储管理层提供的对象式访问接口,向对象存储管理层传递对象数据操作参数。
可以理解的是,传统存储***用文件或块作为基本的存储单位,在对象式存储中,对象是***中数据存储的基本单位,每个对象是数据和数据属性集的综合体,通常在对象式存储上挂载本地或分布式的存储***。
如图3所示,为了实现数据写入字节粒度的传递,这里的接口为字节粒度的对象式接口。读操作(oread)和写操作(owrite)均以字节粒度而不是扇区粒度来传递对象读写的偏移(offset)与长度(len)。这样做能够方便获取应用真实的写入大小,有助于存储管理上优化,减少无用的写入数据量。每一个对象式接口均使用对象身份标识(oid),以提供语义的传递,并且属于同一对象的数据也将连续存放。
具体示例中,如图4所示,由于闪存读写擦操作粒度的不同以及闪存页元数据等特性,在软件驱动层进行对象存储管理机制的设计可以充分结合应用的特点和闪存存储的特性进行软硬件的协同考虑。一部分空间存储超级块,超级块中记录了超级块的魔数(MAGIC),对象索引的地址和闪存块管理信息的地址等。其中闪存块管理信息以日志方式记录,每个记录项占用32比特空间,如图5所示,20比特用于记录某块的擦除次数,10比特用于记录某块内的无效页的个数,剩余2比特用于记录闪存块的状态。从对象身份标识定位到对象数据页面经历对象索引和对象元数据页面两级映射。闪存中的对象索引页面记录了对象身份标识到对象元数据页面地址之间的映射关系,此映射按照多级索引的方式组织。对象元数据页面记录了对象属性信息,对象数据页的逻辑地址与裸闪存物理页地址之间的映射等。图6为页数据和页元数据的示意图,为了充分利用闪存特性,减少两级索引带来的频繁更新的开销,本发明的实施例在对象索引页面、对象元数据页、对象数据页均通过闪存页元数据记录相关上级索引信息及其页面类型。
S3,对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令。
在具体示例中,在整个对象存储***运行时,相关对象数据组织结构,包括对象存储管理信息和闪存块管理信息将被加载到主机内存中,当对象出现修改时,除了修改主机内存的数据组织结构外,还需要持久化到闪存存储中,下面将结合附图描述根据本发明实施例的基于裸闪存的对象存储的工作流程,主要描述对象的读写操作。
在具体示例中,通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令,其具体步骤为:
上层存储***根据操作需求调用对象操作接口,如oread,owrite等;根据超级块所记录的对象索引地址,通过对象身份标识oid,查询到对象索引页面;根据对象索引页面的索引信息,通过oid,查询到对象元数据页;通过对象元数据页,可以查询到对象数据页地址,结合对象读写的偏移offset、长度len,可以定位到具体操作的数据块地址;对于读操作,通过向裸闪存发送RAW_FLASH_READ实现数据读取;对于写操作;既需要进行对象数据和对象索引信息的持久化,还需要进行闪存块的管理;闪存块管理分配空闲的页给写操作,此页所在块状态为更新状态,如果分配的页面原属于空闲的块,则块状态从空闲变为更新;对象存储管理层向裸闪存发送RAW_FLASH_WRITE,将数据写入裸闪存,同时在对应的闪存页元数据写入上级索引信息及其页面类型。更新状态的块的数量固定,检查点进程逐步将更新块中的对象索引信息持久化到闪存中,以维护更新块的数量,此持久化的过程也使用更新块中的页;如果更新状态的块中所有对象数据的索引信息都持久化到闪存中,此块状态变为已使用;根据裸闪存操作的结果,返回对象操作信息。
此外,在具体示例中,如果写操作会对已有的数据进行更新,并且为页非对齐更新时,如果非对齐部分的数据较少,则只对非对齐数据进行更新,并使用偏移量和长度进行索引,如果非对齐部分的数据较多,则将其与原整页的其他数据合并进行整页更新,除此之外,由于对象元数据比较小,还可与对象元数据合并,进行整页更新。当此非对齐页进行整页更新时,先查找此页对应的非对齐更新数据,使其无效,再进行整页更新。
S4,将操作命令发送给裸闪存设备,完成对象数据操作。
具体而言,将通过上述S3步骤转化的对应的裸闪存读/写/擦除命令,发送至裸闪存设备,控制裸闪存设备的正常运行,完成对象数据操作。
特别地,使用页元数据和更新块可以延迟索引的持久化,降低对象存储服务的延迟。但如果***意外发生故障,则需要对未持久化的索引进行恢复,保证***的一致性,包括:恢复对象元数据页面,对其中页元数据记录的上级索引页面类型为对象元数据页面的闪存页面进行处理,这些页面为对象数据页面,其页元数据中所包含的上级索引信息可定位该数据页面在对象中位置,用于更新其对象元数据页面中的映射关系;恢复对象索引,根据已恢复的对象元数据页面的页元数据所记录的上级索引信息,恢复对象索引。
根据本发明实施例的一种基于裸闪存的对象存储构建方法,通过构建对象存储管理层,建立和裸闪存设备的访问接口,通过将对象数据操作参数转化为对应的裸闪存读/写/擦除命令,直接对裸闪存设备进行操作,达到减少传统基于闪存的对象存储架构的功能冗余,提供更低的对象数据访问延迟的目的,具有减少成本和更好客户体验的优点。
图7是本发明实施例的基于裸闪存的对象存储构建装置的结构示意图,如图7所示,本发明实施例的基于裸闪存的对象存储构建装置10,包括:构建模块101,用于将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层;传递模块102,用于本地存储***或分布式存储***使用对象存储管理层提供的对象式访问接口,向对象存储管理层传递对象数据操作参数;转化模块103,用于根据对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存操作命令;发送模块104,用于将操作命令发送给裸闪存设备,完成对象数据操作。
进一步地,在具体示例中,对象存储管理层,包括:对象存储管理单元、闪存转换层功能单元和裸闪存访问管理单元。
进一步地,在具体示例中,在转化模块103中,对象存储管理机制包括对象存储数据和闪存块管理信息的组织,其中:对象存储数据包括对象索引、对象元数据页和对象数据页,其中,对象索引实现对象身份标识到对象元数据页的映射,对象元数据页记录了该对象所包含数据页面的地址映射关系,使用对象身份标识,经历对象索引和对象元数据页两级查询,可定位该对象的数据页面,闪存块管理信息指每个闪存块的元数据信息,包括闪存块状态、该块中无效页的个数和该块的擦除次数,其中,闪存块的状态有空闲、更新和已用三种,闪存块管理信息集中存储于特定的存储空间,并且以日志的方式记录。
进一步地,在具体示例中,对象数据操作参数包括:存储***根据不同的操作需求,选用不同的对象式接口;使用对象身份标识,通过对象存储管理机制定位到对象数据页地址;使用裸闪存访问管理实现硬件设备上的对象数据操作。
需要说明的是,前述对基于裸闪存的对象存储构建方法实施例的解释说明也适用于该基于裸闪存的对象存储构建装置,此处不再赘述。
根据本发明实施例的一种基于裸闪存的对象存储构建装置,通过构建对象存储管理层,建立和裸闪存设备的访问接口,通过将对象数据操作参数转化为对应的裸闪存读/写/擦除命令,直接对裸闪存设备进行操作,达到减少传统基于闪存的对象存储架构的功能冗余,提供更低的对象数据访问延迟的目的,具有减少成本和更好客户体验的优点。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于裸闪存的对象存储构建方法,其特征在于,包括以下步骤:
将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层;
本地存储***或分布式存储***通过所述对象存储管理层提供的对象式访问接口,向所述对象存储管理层传递对象数据操作参数;
对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令;
将所述操作命令发送给裸闪存设备,完成对象数据操作。
2.根据权利要求1所述的基于裸闪存的对象存储构建方法,其特征在于,所述对象存储管理层,包括:
对象存储管理、闪存转换层功能和裸闪存访问管理。
3.根据权利要求2所述的基于裸闪存的对象存储构建方法,其特征在于,所述对象存储管理机制包括对象存储数据和闪存块管理信息的组织,其中:
对象存储数据包括对象索引、对象元数据页和对象数据页,其中,对象索引实现对象身份标识到对象元数据页的映射,对象元数据页记录该对象所包含数据页面的地址映射关系,使用对象身份标识,经历对象索引和对象元数据页两级查询,定位该对象的数据页面;
闪存块管理信息指每个闪存块的元数据信息,包括闪存块状态、该块中无效页的个数和该块的擦除次数,其中,闪存块的状态有空闲、更新和已用三种,闪存块管理信息集中存储于特定的存储空间,并且以日志的方式记录。
4.根据权利要求1所述的基于裸闪存的对象存储构建方法,其特征在于,所述闪存转换层功能,包括:
所述闪存转换层功能为部分传统固件闪存转换层功能转移到软件驱动层的实现,包括逻辑页地址到物理页地址的映射、垃圾回收、磨损均衡;
其中,逻辑页地址到物理页地址的映射,通过所述对象存储数据和闪存块管理信息的组织实现,垃圾回收将在裸闪存空间占用达到一定的比例时触发,将失效的数据页回收,磨损均衡会在向对象分配数据页时,保证闪存块的磨损程度较为平均。
5.根据权利要求1所述的基于裸闪存的对象存储构建方法,其特征在于,所述裸闪存访问管理包括:
对裸闪存进行页级别的读写操作和块级别的擦除操作,并且能够实现闪存页的页数据和页元数据的同时读写。
6.根据权利要求1-5所述的基于裸闪存的对象存储构建方法,其特征在于,所述对象数据操作参数包括:
存储***根据不同的操作需求,选用不同的对象式接口;使用对象身份标识,通过对象存储管理机制定位到对象数据页地址;使用裸闪存访问管理实现硬件设备上的对象数据操作。
7.一种基于裸闪存的对象存储构建装置,其特征在于,包括:
构建模块,用于将闪存介质以裸闪存设备的形式接入主机端,在主机端构建软件驱动级的对象存储管理层;
传递模块,用于本地存储***或分布式存储***使用所述对象存储管理层提供的对象式访问接口,所述对象存储管理层传递对象数据操作参数;
转化模块,用于对象存储管理层通过对象存储管理机制、闪存转换层功能和裸闪存访问管理机制,将存储***的对象数据操作参数转化为对应的裸闪存读/写/擦除命令;
发送模块,用于将所述操作命令发送给裸闪存设备,完成对象数据操作。
8.根据权利要求7所述的基于裸闪存的对象存储构建装置,其特征在于,所述对象存储管理层,包括:
对象存储管理单元、闪存转换层功能单元和裸闪存访问管理单元。
9.根据权利要求8所述的基于裸闪存的对象存储构建装置,其特征在于,在转化模块中,所述对象存储管理机制包括对象存储数据和闪存块管理信息的组织,其中:
对象存储数据包括对象索引、对象元数据页和对象数据页,其中,对象索引实现对象身份标识到对象元数据页的映射,对象元数据页记录该对象所包含数据页面的地址映射关系,使用对象身份标识,经历对象索引和对象元数据页两级查询,定位该对象的数据页面;
闪存块管理信息指每个闪存块的元数据信息,包括闪存块状态、该块中无效页的个数和该块的擦除次数,其中,闪存块的状态有空闲、更新和已用三种,闪存块管理信息集中存储于特定的存储空间,并且以日志的方式记录。
10.根据权利要求8所述的基于裸闪存的对象存储构建装置,其特征在于,所述对象数据操作参数包括:
存储***根据不同的操作需求,选用不同的对象式接口;使用对象身份标识,通过对象存储管理机制定位到对象数据页地址;使用裸闪存访问管理实现硬件设备上的对象数据操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810210410.7A CN108509353A (zh) | 2018-03-14 | 2018-03-14 | 基于裸闪存的对象存储构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810210410.7A CN108509353A (zh) | 2018-03-14 | 2018-03-14 | 基于裸闪存的对象存储构建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108509353A true CN108509353A (zh) | 2018-09-07 |
Family
ID=63377588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810210410.7A Pending CN108509353A (zh) | 2018-03-14 | 2018-03-14 | 基于裸闪存的对象存储构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509353A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213772A (zh) * | 2018-09-12 | 2019-01-15 | 华东师范大学 | 数据存储方法及NVMe存储*** |
CN109491593A (zh) * | 2018-09-28 | 2019-03-19 | 方信息科技(上海)有限公司 | 一种数据存储管理***及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999054824A1 (en) * | 1998-04-21 | 1999-10-28 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
CN103268291A (zh) * | 2013-05-23 | 2013-08-28 | 清华大学 | 在闪存存储***中延迟持久化索引元数据的方法 |
CN103458023A (zh) * | 2013-08-30 | 2013-12-18 | 清华大学 | 分布式闪存存储*** |
CN105224474A (zh) * | 2014-06-03 | 2016-01-06 | 深圳市腾讯计算机***有限公司 | 固态硬盘闪存转换层的实现***和闪存转换层的实现装置 |
CN107678685A (zh) * | 2017-09-11 | 2018-02-09 | 清华大学 | 基于闪存的存储路径优化的键值存储管理方法 |
-
2018
- 2018-03-14 CN CN201810210410.7A patent/CN108509353A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999054824A1 (en) * | 1998-04-21 | 1999-10-28 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
CN103268291A (zh) * | 2013-05-23 | 2013-08-28 | 清华大学 | 在闪存存储***中延迟持久化索引元数据的方法 |
CN103458023A (zh) * | 2013-08-30 | 2013-12-18 | 清华大学 | 分布式闪存存储*** |
CN105224474A (zh) * | 2014-06-03 | 2016-01-06 | 深圳市腾讯计算机***有限公司 | 固态硬盘闪存转换层的实现***和闪存转换层的实现装置 |
CN107678685A (zh) * | 2017-09-11 | 2018-02-09 | 清华大学 | 基于闪存的存储路径优化的键值存储管理方法 |
Non-Patent Citations (5)
Title |
---|
LU YOUYOU,SHU JIWU,ZHENG WEIMIN: "Extending the Lifetime of Flash-based Storage through Reducing Write Amplification from File Systems", 《FAST"13 PROCEEDINGS OF THE 11TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES》 * |
SUNGJIN LEE,MING LIU,SANGWOO JUN,SHUOTAO XU,JIHONG KIM,ARVIND: "Application-Managed Flash", 《FAST"16 PROCEEDINGS OF THE 14TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES》 * |
徐凯: "基于NAND闪存的固态盘关键技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
秦雄军,张佳程,陆游游,舒继武: "一种基于裸闪存的Key_Value数据库优化方法", 《计算机研究与发展》 * |
陆游游,舒继武: "闪存存储***综述", 《计算机研究与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213772A (zh) * | 2018-09-12 | 2019-01-15 | 华东师范大学 | 数据存储方法及NVMe存储*** |
CN109491593A (zh) * | 2018-09-28 | 2019-03-19 | 方信息科技(上海)有限公司 | 一种数据存储管理***及方法 |
CN109491593B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种数据存储管理***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101673245B (zh) | 包括存储器管理装置的信息处理装置和存储器管理方法 | |
CN107102955B (zh) | 用于存储子***的关联和原子回写高速缓冲存储***和方法 | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
US20230053087A1 (en) | Data management system and method of controlling | |
JP6732684B2 (ja) | 情報処理装置、ストレージデバイスおよび情報処理システム | |
CN101980177B (zh) | 一种操作Flash的方法和装置 | |
CN101477492B (zh) | 一种用于固态硬盘的循环重写闪存均衡方法 | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN100426259C (zh) | 一种存储器文件数据虚拟存取方法 | |
KR20070096429A (ko) | 빠른 마운팅을 지원하는 낸드 플래시 메모리에 적용되는파일시스템 | |
US9009396B2 (en) | Physically addressed solid state disk employing magnetic random access memory (MRAM) | |
CN105335098A (zh) | 一种基于存储级内存的日志文件***性能提高方法 | |
CN102799534A (zh) | 基于固态存储介质的存储***及方法、冷热数据识别方法 | |
CN102460400A (zh) | 基于管理程序的本地和远程虚拟内存页面管理 | |
CN104268094A (zh) | 一种优化的闪存地址映射方法 | |
TW201805814A (zh) | 用來管理一記憶裝置之方法以及其相關之記憶裝置 | |
CN101488153A (zh) | 嵌入式Linux下大容量闪存文件***的实现方法 | |
CN105718530A (zh) | 文件存储***及其文件存储控制方法 | |
CN101425041A (zh) | 在nand flash存储器上建立fat文件***的优化方法 | |
CN103207883A (zh) | 用于元数据持久存储的方法 | |
CN110309077B (zh) | 主机与设备协同工作的闪存转换层构建方法及装置 | |
CN108509353A (zh) | 基于裸闪存的对象存储构建方法及装置 | |
CN113704217A (zh) | 一种分布式持久性内存文件***中元数据及数据组织架构方法 | |
CN101739348B (zh) | 内存***及其控制方法 | |
US20140047161A1 (en) | System Employing MRAM and Physically Addressed Solid State Disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180907 |