一种固态硬盘映射关系的存储方法、读取方法及固态硬盘技术

技术编号:20992460 阅读:33 留言:0更新日期:2019-04-29 22:28
本申请提供了一种固态硬盘映射关系的存储方法、读取方法及固态硬盘,存储方法包括:将写请求的映射关系存储至固态硬盘的第一内存单元,作为第一数据段;当第一内存单元写满时,将第一数据段转换为第二数据段,将第二数据段存储至第二内存单元;当第二内存单元剩余容量小于第一预设阈值时,将第二数据段转换为第三数据段,将第三数据段存储至第三内存单元;当为第三内存单元剩余容量小于第二预设阈值时,将第三数据段移动至固态硬盘存储芯片内。本申请提供的固态硬盘映射关系的存储方法、读取方法及固态硬盘,有效降低了固态硬盘读写映射关系带来的性能开销。

A Storage Method, Reading Method and Solid State Hard Disk Mapping Relation

This application provides a storage method, a reading method and a solid-state hard disk for mapping relationship of solid-state hard disk. The storage method includes: storing the mapping relationship of write request to the first memory unit of solid-state hard disk as the first data segment; converting the first data segment to the second data segment when the first memory unit is full, and storing the second data segment to the second memory unit; When the residual capacity of the memory unit is less than the first preset threshold, the second data segment is converted to the third data segment, and the third data segment is stored in the third memory unit. When the residual capacity of the third memory unit is less than the second preset threshold, the third data segment is moved to the solid-state hard disk memory chip. The storage method, reading method and solid state hard disk provided in this application can effectively reduce the performance overhead caused by the solid state hard disk read-write mapping relationship.

【技术实现步骤摘要】
一种固态硬盘映射关系的存储方法、读取方法及固态硬盘
本申请涉及固态硬盘
,尤其涉及一种固态硬盘映射关系的存储方法、读取方法及固态硬盘。
技术介绍
固态硬盘上使用的Nandflash颗粒,由于其物理特性上的优势,极大的提高了持久化存储,特别是随机读写的效率。然而,Nandflash颗粒的擦除寿命限制也导致了固态硬盘必须动态的记录用户读写地址(逻辑地址)与颗粒实际地址(物理地址)的映射关系,以求尽量均衡的使用颗粒上的每一个晶体管。例如,用户反复提交对同一个逻辑地址修改时,固态硬盘需要将数据记录至不同的晶体管上去。现有技术中,通过在固态硬盘中加装了DDR内存,则上述映射关系可以保存在DDR内存中,定期刷盘至Nandflash颗粒上,IO读写时所需要的映射关系在内存中查询即可。但是,DDR内存将会带来固态硬盘功耗与成本的增加,在消费级市场,则意味着性价比的降低。因此,如何在没有DDR内存的固态硬盘中尽量降低读写映射关系带来的性能损耗将在很大程度上改变消费者的用户体验。在没有DDR内存的固态硬盘中,映射关系首先保存在固态硬盘自身内存中,然后再刷写到Nandflash颗粒上,由于固态硬盘内存空间有限,按照现有页映射4byte映射4k的模型的方式,难以满足存储需求;并且,在将映射关系由固态硬盘内存刷写到Nandflash颗粒过程中,将阻止读写请求的继续下发,导致固态硬盘性能较低。
技术实现思路
本申请提供了一种固态硬盘映射关系的存储方法、读取方法及固态硬盘,以解决固态硬盘映射关系处理效率低的问题。第一方面,本申请提供了一种固态硬盘映射关系的存储方法,该方法包括:将写请求的映射关系存储至固态硬盘的第一内存单元,作为第一数据段;当所述第一内存单元写满时,将所述第一数据段转换为第二数据段,将所述第二数据段存储至第二内存单元;当所述第二内存单元剩余容量小于第一预设阈值时,将所述第二数据段转换为第三数据段,将所述第三数据段存储至第三内存单元;当为所述第三内存单元剩余容量小于第二预设阈值时,将所述第三数据段移动至固态硬盘存储芯片内。优选地,所述将所述第一数据段转换为第二数据段,包括:获取所述第一数据段中映射关系的逻辑地址;根据所述逻辑地址对所述映射关系进行优化处理。优选地,所述根据所述逻辑地址对所述映射关系进行优化处理,包括:将所述映射关系按照所述逻辑地址的顺序进行排序;根据相同逻辑地址将所述映射关系进行去重,所述去重包括比较所述相同逻辑地址分别对应的物理地址,删除旧物理地址和逻辑地址之间的映射关系;将排序去重后的映射关系中,连续的逻辑地址进行融合。优选地,所述将写请求的映射关系存储至固态硬盘的第一内存单元,作为第一数据段,之前还包括:解析用户下发的写请求,得到所述写请求的逻辑地址;为所述逻辑地址分配物理地址,得到所述逻辑地址与物理地址之间的映射关系。优选地,为所述逻辑地址分配物理地址,包括:判断是否存在连续的物理地址对应所述逻辑地址;如果存在,将所述连续的物理地址给所述逻辑地址;如果不存在,触发垃圾回收机制整理出连续的物理地址,将所述连续的物理地址给所述逻辑地址。优选地,所述将所述第三数据段移动至固态硬盘存储芯片内的过程中还包括:判断所述第一内存单元是否写满第二方面,本申请还提供了一种固态硬盘映射关系的读取方法,该方法包括:判断在固态硬盘内存的第一数据段内能否查到读请求的映射关系;如果不能查到,判断在所述固态硬盘内存的第二数据段内能否查到所述映射关系;如果不能查到,判断在所述固态硬盘内存的第三数据段内能否查到所述映射关系;如果不能查到,在固态硬盘存储芯片内存储的映射表中查找所述映射关系;如果能够查到,从所述映射关系中的物理地址读取数据。优选地,判断在固态硬盘内存的第一数据段内能否查到读请求的映射关系,之前还包括:获取用户提交的读请求;解析所述读请求,得到所述读请求的逻辑地址。第三方面,本申请还提供了一种固态硬盘,该固态硬盘包括固态硬盘内存和固态硬盘存储芯片,所述固态硬盘内存包括第一内存单元、第二内存单元和第三内存单元,其中,所述第一内存单元用于存储第一数据段,所述第一数据段用于存储写请求的映射关系,当所述第一数据段写满时,转换为第二数据段;所述第二内存单元用于存储第二数据段,当所述第二内存单元剩余容量小于第一预设阈值时,所述第二数据段转换为第三数据段;所述第三内存单元用于存储第三数据段,当所述第三内存单元剩余容量小于第二预设阈值时,所述第三数据段内的映射关系移动至固态硬盘存储芯片内;所述固态硬盘存储芯片用于存储所述第三内存单元发送的映射关系。优选地,所述第一数据段的数量为一个,所述第二数据段和第三数据段的数量为多个,所述第一数据段的大小为4k的整数倍,所述第三数据段的大小为32kb-128kb,且所述第三数据段的大小为固态硬盘存储芯片存储时连续逻辑地址的最小粒度。本申请提供的固态硬盘映射关系的存储方法、读取方法及固态硬盘的有益效果包括:本申请提供的固态硬盘映射关系的存储方法,通过在固态硬盘内存中对映射关系进行分段存储、分段转换,实现在固态硬盘内存中建立多级缓存机制,降低了固态硬盘读写映射关系带来的性能开销,提高了固态硬盘的缓存性能。本申请提供的固态硬盘映射关系的读取方法,通过在固态硬盘内存中对映射关系进行分段查找,有效提高了映射关系的读取效率。本申请提供的固态硬盘,包括固态硬盘内存和固态硬盘存储芯片,固态硬盘内存包括第一内存单元、第二内存单元和第三内存单元,实现了对映射关系的多级缓存和多级读取,能够在固态硬盘内存有限的场景下尽量提高性能降低开销。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种固态硬盘映射关系的存储方法的流程示意图;图2为本申请实施例提供的一种内存单元转换示意图;图3为本申请实施例提供的一种映射关系流转示意图;图4为本申请实施例提供的一种固态硬盘映射关系的读取方法的流程示意图;图5为本申请实施例提供的一种固态硬盘的结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。参见图1,为本申请实施例提供的一种固态硬盘映射关系的存储方法的流程示意图,如图1所示,本申请实施例提供的固态硬盘映射关系的存储方法,具体包括以下步骤:步骤S100:解析用户下发的写请求,得到写请求的逻辑地址。具体的,用户下发的IO请求为写请求时,盘片固件对该写请求进行解析,得到该写请求的LBA(LogicalBlockAddress,逻辑区块地址),本实施例中简称为逻辑地址。步骤S101:为逻辑地址分配物理地址,得到逻辑地址与物理地址之间的映射关系。具体的,当用户下发一个IO请求后,要立即为该IO请求的LBA(LogicalBlockAddress,逻辑区块地址)分配一个PBA(Ph本文档来自技高网
...

【技术保护点】
1.一种固态硬盘映射关系的存储方法,其特征在于,包括:将写请求的映射关系存储至固态硬盘的第一内存单元,作为第一数据段;当所述第一内存单元写满时,将所述第一数据段转换为第二数据段,将所述第二数据段存储至第二内存单元;当所述第二内存单元剩余容量小于第一预设阈值时,将所述第二数据段转换为第三数据段,将所述第三数据段存储至第三内存单元;当为所述第三内存单元剩余容量小于第二预设阈值时,将所述第三数据段移动至固态硬盘存储芯片内。

【技术特征摘要】
1.一种固态硬盘映射关系的存储方法,其特征在于,包括:将写请求的映射关系存储至固态硬盘的第一内存单元,作为第一数据段;当所述第一内存单元写满时,将所述第一数据段转换为第二数据段,将所述第二数据段存储至第二内存单元;当所述第二内存单元剩余容量小于第一预设阈值时,将所述第二数据段转换为第三数据段,将所述第三数据段存储至第三内存单元;当为所述第三内存单元剩余容量小于第二预设阈值时,将所述第三数据段移动至固态硬盘存储芯片内。2.如权利要求1所述的固态硬盘映射关系的存储方法,其特征在于,所述将所述第一数据段转换为第二数据段,包括:获取所述第一数据段中映射关系的逻辑地址;根据所述逻辑地址对所述映射关系进行优化处理。3.如权利要求2所述的固态硬盘映射关系的存储方法,其特征在于,所述根据所述逻辑地址对所述映射关系进行优化处理,包括:将所述映射关系按照所述逻辑地址的顺序进行排序;根据相同逻辑地址将所述映射关系进行去重,所述去重包括比较所述相同逻辑地址分别对应的物理地址,删除旧物理地址和逻辑地址之间的映射关系;将排序去重后的映射关系中,连续的逻辑地址进行融合。4.如权利要求1所述的固态硬盘映射关系的存储方法,其特征在于,所述将写请求的映射关系存储至固态硬盘的第一内存单元,作为第一数据段,之前还包括:解析用户下发的写请求,得到所述写请求的逻辑地址;为所述逻辑地址分配物理地址,得到所述逻辑地址与物理地址之间的映射关系。5.如权利要求4所述的固态硬盘映射关系的存储方法,其特征在于,为所述逻辑地址分配物理地址,包括:判断是否存在连续的物理地址对应所述逻辑地址;如果存在,将所述连续的物理地址给所述逻辑地址;如果不存在,触发垃圾回收机制整理出连续的物理地址,将所述连续的物理地址给所述逻辑地址。6.如权利要求1所述的固态硬...

【专利技术属性】
技术研发人员:肖立琨
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1