CN114442946A - 物理块管理方法和固态硬盘 - Google Patents

物理块管理方法和固态硬盘 Download PDF

Info

Publication number
CN114442946A
CN114442946A CN202210009699.2A CN202210009699A CN114442946A CN 114442946 A CN114442946 A CN 114442946A CN 202210009699 A CN202210009699 A CN 202210009699A CN 114442946 A CN114442946 A CN 114442946A
Authority
CN
China
Prior art keywords
physical block
physical
initial performance
physical blocks
blocks
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
CN202210009699.2A
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.)
Maxio Technology Hangzhou Ltd
Original Assignee
Maxio Technology Hangzhou 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 Maxio Technology Hangzhou Ltd filed Critical Maxio Technology Hangzhou Ltd
Priority to CN202210009699.2A priority Critical patent/CN114442946A/zh
Publication of CN114442946A publication Critical patent/CN114442946A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

公开了一种物理块管理方法和固态硬盘,物理块管理方法包括:根据每个物理块的初始性能参数对每个物理块进行性能评分,评分结果表征物理块的初始性能;将所有物理块按照评分结果进行排序;按照排序顺序将所有物理块的信息依次存储在数据结构中;响应于接收的写命令,按照数据结构中的存储顺序将写数据依次存储在物理块中。该物理块管理方法在固态硬盘的物理块被固件使用之前,先采用初始性能参数对其初始性能进行评分和排序,以得到按照初始性能好坏排序的多个物理块,然后按照排序顺序依次使用物理块,使得初始性能良好的物理块优先被使用,避免按照逻辑顺序使用物理块由于制造工艺中产生的品质差异导致的读写性能波动。

Description

物理块管理方法和固态硬盘
技术领域
本发明涉及存储器技术领域,更具体地,涉及一种基于固态硬盘的物理块管理方法和固态硬盘。
背景技术
固态硬盘(SSD,Solid State Drive)是由控制器和存储芯片组成的非挥发性存储装置,因其具有体积小、质量轻、功耗低、读写速度快等优点,广泛地应用于工控、视频监控、网络终端、导航等诸多领域。
固态硬盘中一般采用闪存存储器作为存储芯片,例如NAND闪存存储器,而NAND存储器目前又以3D NAND存储器为首。由于3D NAND存储器的制造工艺不断进步,存储器的堆叠层数也越来越多,容量越来越大,随之,更高堆叠层数的NAND存储器的工艺制程越来越复杂,在对多层叠层结构的NAND存储器进行刻蚀沉积等工艺中,其品质一致性问题越来越难以保证,导致同一3D NAND存储器中各闪存颗粒的品质参差不齐,极大地影响了固态硬盘的存储性能和运行状态。甚至,在同一个LUN/DIE中,物理块(block)和物理块之间的品质也会有很大差异,如果不对这些差异进行处理而直接按照逻辑顺序使用物理块,会在同一次读写操作中出现同时使用到读写性能差异较大的物理块的情况,导致用户在使用固态硬盘的过程中出现读写性能波动和可靠性问题。而如果直接将这些有性能差异的颗粒废弃不用,又会造成比较大的浪费。目前针对这种有性能差异的闪存颗粒,没有有效简洁的处理方式,导致用户在使用固态硬盘的过程中造成不好的用户体验。
发明内容
鉴于上述问题,本发明的目的在于提供一种物理块管理方法和固态硬盘,在物理块被使用之前按照初始性能进行排序,并根据排序结果使用物理块,以解决现有技术中的问题。
根据本发明的第一方面,提供了一种基于固态硬盘的物理块管理方法,包括:
根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分,评分结果表征所述物理块的初始性能,所述评分结果高的所述物理块的所述初始性能优于所述评分结果低的所述物理块的所述初始性能;
将所有所述物理块按照所述评分结果进行排序;
按照排序顺序将所有所述物理块的信息依次存储在数据结构中;
响应于接收到的写命令,按照所述数据结构中的存储顺序依次向每个所述物理块中写入写数据。
可选地,根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分的步骤之前还包括:
获取每个所述物理块的初始性能参数,其中,所述初始性能参数包括延迟参数和原始比特错误率,所述延迟参数包括数据擦除延迟时间或数据编程延迟时间。
可选地,根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分包括:
根据每个所述物理块的所述延迟参数和/或所述原始比特错误率对所述物理块排序。
可选地,在根据每个所述物理块的所述延迟参数和所述原始比特错误率对所述物理块排序的情况下,所述根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分包括:
为每个所述初始性能参数均设置权重值;
根据每个所述物理块的所述初始性能参数和对应的所述权重值对每个所述物理块进行性能评分。
可选地,所有所述物理块是按所述评分结果从高到低的顺序进行排序的,在响应于接收到的写命令,按照所述数据结构中的存储顺序依次向每个所述物理块中写入写数据时,擦写频繁的热数据先于擦写不频繁的冷数据写入所述物理块中。
可选地,所述按照排序顺序将所有所述物理块的信息依次存储在数据结构中之后,所述方法还包括:
根据所述物理块的初始性能参数和/或运行参数,定期对每个所述物理块进行性能评分,更新所述物理块的评分结果,并动态调整各所述物理块在所述数据结构中的存储顺序,所述运行参数包括擦写次数和不可纠错误码率。
可选地,所述物理块的信息包括物理地址,所述数据结构包括链表和映射表。
可选地,所述数据结构为链表,所述链表中存储所述物理块的物理地址和指向下一所述物理块的指针。
根据本发明的第二方面,提供一种基于固态硬盘的物理块管理方法,其中,包括:
根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分,评分结果表征所述物理块的初始性能,所述评分结果高的所述物理块的所述初始性能优于所述评分结果低的所述物理块的所述初始性能;
将所有所述物理块按照所述评分结果从高到低的顺序进行排序;
根据所述评分结果将多个所述物理块划分成多个物理块组,并对所有所述物理块组进行排序,排序靠前的所述物理块组的所述初始性能优于排序靠后的所述物理块组的所述初始性能;
按照排序顺序将所有所述物理块组的信息依次存储在数据结构中;
响应于接收到的写命令,按照所述数据结构中的存储顺序依次向每个所述物理块组中写入写数据。
可选地,根据所述评分结果将多个所述物理块划分成多个物理块组,并对所有所述物理块组进行排序包括:
根据所述物理块的数量确定所述物理块组的数量并进行编号,每个所述物理块组用于容纳相同数量的所述物理块;
根据所述评分结果的排序顺序为每个所述物理块依次分配一个所述物理块组的编号,所述编号从小到大循环;
将所述编号相同的所有所述物理块组成一个所述物理块组;
按照所述编号从小到大的顺序对所有所述物理块组进行排序。
根据本发明的第三方面,提供了一种固态硬盘,用于实现上述所述的物理块管理方法,所述固态硬盘包括:
控制器,与主机连接,接收主机的写命令和写数据;
存储器,连接所述控制器,所述存储器包括多个物理块,存储所述写数据;以及
缓存单元,连接所述控制器,存储所述数据结构。
本发明提供的物理块管理方法和固态硬盘在固件使用物理块之前,先采用初始性能参数对所有物理块的初始性能进行一次评估,得到表征物理块的初始性能好坏的评分结果,评分结果越高,初始性能越好,然后根据这些评分结果对物理块进行排序,将其物理地址按照排序顺序存储至数据结构中,使用时按照存储的顺序使用物理块,即按照评分结果从高到低的顺序使用各物理块,使得性能好的物理块优先使用,那么在进行数据读写时,各物理块之间的品质差异较小,数据波动小,可靠性更高,能提高数据读写的稳定性。对于固态硬盘产品中参差不齐的闪存颗粒,本发明实施例能有效的进行适配,不仅能够极大地发挥出固态硬盘的性能,也能有效避免可见的性能波动。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示出了根据本发明第一实施例的物理块管理方法的流程图;
图2示出了根据本发明第二实施例的物理块管理方法的流程图;
图3示出了图2中步骤S204的详细流程图;
图4示出了根据本发明实施例的固态硬盘的示意性框图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
图1示出了根据本发明第一实施例的物理块管理方法的流程图。
如图1所示,本实施例的基于固态硬盘的物理块管理方法包括步骤S101-S106,具体如下:
在步骤S101中,获取每个物理块的初始性能参数,初始性能参数包括延迟参数和原始比特错误率,延迟参数包括数据擦除延迟时间或数据编程延迟时间。
本实施例中,为减少因闪存存储器的制造工艺形成的物理块品质差异而导致的数据读写波动问题,在固件FW使用物理块之前,需要对所有物理块进行一次初始性能评估,以对每个物理块的初始性能进行一定的分析。因此,本步骤中,首先要获取每个物理块的初始性能参数,初始性能参数包括延迟参数和原始比特错误率RBER(Raw Bit Error Ratio),原始比特错误率表示出错数与读取数据大小的比值,延迟参数包括数据擦除延迟时间tErase或数据编程延迟时间tProg。通过初始性能参数的差异可以反映出各个物理块的初始性能差异,然后据此对物理块进行评分和排序。
在步骤S102中,根据每个物理块的初始性能参数对每个物理块进行性能评分,评分结果表征物理块的初始性能,评分结果高的物理块的初始性能优于评分结果低的物理块的初始性能。
在该步骤中,获取每个物理块的初始性能参数后,依照此初始性能参数为每一个物理块进行评分,评分结果表征物理块的初始性能,评分结果高的物理块的初始性能优于评分结果低的物理块的初始性能,所以评分结果越高的物理块的初始性能越好。具体地,本步骤包括:根据每个物理块的延迟参数和/或原始比特错误率对物理块排序,即可以仅单独根据延迟参数(tErase/tProg)或仅单独根据RBER进行评分,也可以将二者结合进行评分。
进一步地,在根据每个物理块的延迟参数和原始比特错误率对物理块排序的情况下,本步骤还可以包括:为每个初始性能参数均设置权重值;根据每个物理块的初始性能参数和对应的权重值对每个物理块进行性能评分。例如,分别为延迟参数(tErase/tProg)和RBER均设置一个权重值,然后将二者与之对应的权重值的乘积之和作为评分标准,例如,乘积之和的值越小,评分越高。本实施例中给出两个初始性能参数的例子,当然实际应用中初始性能参数可以选择其他参数,只要能反映出物理块在被固件使用之前的初始性能即可。而根据每个参数所能代表的性能程度的不同设置不同的权重值,使得物理块的评分结果更为可靠。
在步骤S103中,将所有物理块按照评分结果从高到低的顺序进行排序。
在本步骤中,按照评分结果的高低依次将所有物理块进行排序,排序靠前的物理块初始性能较好,排序靠后的物理块初始性能较差。初始性能较好的物理块其数据读写稳定,可靠性高。
在步骤S104中,按照排序顺序将所有物理块的信息依次存储在数据结构中。
本步骤中,将多个物理块的信息依次存储在数据结构中,存储顺序代表评分结果的高低顺序,物理块的信息包括物理地址,数据结构包括链表和映射表,那么顺序读取数据结构就可以获取初始性能由高至低的所有物理块的位置。
可选地,数据结构为链表,则链表中存储物理块的物理地址和指向下一物理块的指针。链表是一种重要的数据结构,该结构由节点组成,每个节点包含两部分数据,第一部分是节点本身的数据,第二部分是指向下一个节点的指针。由于链表的特殊性质,即包含指针,所以可以利用指针快速链接到下一物理块上,通过链表就可以很容易获取每个物理块的位置。进一步地,链表存储在固态硬盘的缓存单元中,例如SRAM或DRAM中,也可以将其保存至闪存存储器中。当数据结构为映射表时,映射表中存储主机的逻辑地址和闪存存储器的物理地址的对应关系,那么,根据映射表就可以依次获取相应的物理块的物理地址,从而按照顺序来使用物理块。
在步骤S105中,响应于接收到的写命令,按照数据结构中的存储顺序依次向每个物理块组中写入写数据。
本步骤中,响应于接收到的写命令,需要将多个写数据存储至物理块中,此时,会按照数据结构中存储的物理块的地址顺序使用物理块,根据存储顺序决定对应写数据要写入的物理块,即按照评分结果从高到低的顺序使用物理块,也就是性能好的物理块优先使用,先存入写数据,而性能差的物理块放到后面使用。进一步地,响应于接收到的写命令,按照数据结构中的存储顺序依次向多个物理块中写入写数据时,擦写频繁的热数据先于擦写不频繁的冷数据写入物理块中,例如将评分结果高于参考阈值的物理块用于存放热数据,将评分结果低于参考阈值的物理块用于存放冷数据。即先按照排序顺序将性能好的物理块用来存放热数据,可以频繁进行擦写;而性能差的物理块后用来存放冷数据,擦写不频繁,但是在这样存储一定时间后也需要对物理块进行刷新,避免长期使用固定的物理块存储热数据造成各物理块使用寿命不均。
在步骤S106中,根据物理块的初始性能参数和/或运行参数,定期对每个物理块进行性能评分,更新物理块的评分结果,并动态调整各物理块在数据结构中的存储顺序。
本步骤中,可以在固件使用物理块的过程中每隔一段时间(例如是定期)对每个物理块重新进行一次性能评估,更新物理块的评分结果,即根据初始性能参数和/或运行参数更新各物理块的评分结果,然后动态调整数据结构中存储的物理块的顺序(或者链表中的存储顺序)。更新评分时使用的参数包括初始性能参数,例如tErase/tProg和RBER等,也可以包含运行参数,运行参数包括擦写次数和不可纠错误码率UBER(Uncorrectable BitError Rate)。运行参数是固态硬盘在使用过程中发生变化的参数,可以表征固态硬盘的使用状态,其在一定程度上也会影响固态硬盘的性能。由于在闪存存储器存储写数据之后,每个物理块的擦写次数等都会发生改变,这时需要重新对各物理块的性能进行评估,以重新定义各物理块的性能好坏,从而动态调整写数据在物理块的存储顺序,进一步减少数据读写波动和一致性问题,这里的性能指的是固态硬盘的整体性能而不仅仅是初始性能。所以,在执行本步骤之后,需要返回执行步骤S105,按照数据结构中新的存储顺序依次使用各物理块。
本实施例的物理块管理方法,在固件使用物理块之前,先采用初始性能参数对所有物理块的初始性能进行一次评估,得到表征物理块的初始性能的评分结果,然后根据这些评分结果从高到低对物理块进行排序,评分结果越高的物理块,其初始性能越好,将各物理块的物理地址存储至数据结构中,使用时按照存储的顺序使用物理块,使得性能好的物理块优先使用,那么在进行数据读写时,各物理块之间的品质差异较小,数据波动小,可靠性更高,能提高数据读写的稳定性。
进一步地,在使用过程中定期对每个物理块重新进行性能评估,然后动态调整各物理块在数据结构中的存储顺序,从而改变物理块的使用顺序,以在保证读写数据稳定的基础上还能保证各物理块的使用寿命相差较小,提升固态硬盘的稳定性。
图2示出了根据本发明第二实施例的物理块管理方法的流程图;图3示出了图2中步骤S204的详细流程图。
如图2所示,本实施例的物理块管理方法包括步骤S201-S207,其中步骤S201-S203与图2实施例的步骤S101-S103完全一致,这里不再赘述,主要介绍步骤S204-S207。本实施例与实施例一的不同之处在于本实施例中,建立了物理块组,将物理块组按照排序顺序存储在数据结构中,具体步骤如下:
在步骤S201中,获取每个物理块的初始性能参数,初始性能参数包括延迟参数和原始比特错误率,延迟参数包括数据擦除延迟时间或数据编程延迟时间。
在步骤S202中,根据每个物理块的初始性能参数对每个物理块进行性能评分,评分结果表征物理块的初始性能,评分结果高的物理块的初始性能优于评分结果低的物理块的初始性能。
在步骤S203中,将所有物理块按照评分结果从高到低的顺序进行排序。
在步骤S204中,根据评分结果将多个物理块划分成多个物理块组,并对所有物理块组进行排序,排序靠前的物理块组的初始性能优于排序靠后的物理块组的初始性能。
本步骤是本实施例与实施例一的主要区别之处,由于将每个物理块的信息都存储在数据结构中可能导致存储的数据量过大,在使用物理块时,读取速度较慢,因此本步骤中将多个物理块划分为多个物理块组。在图3的实施例中将详细介绍本步骤的具体流程。
如图3所示,具体地,在步骤S2041中,根据物理块的数量确定物理块组的数量并进行编号,每个物理块组用于容纳相同数量的物理块。
本步骤中,先根据参与评分的物理块的数量确定可以划分的物理块组的数量,每个物理块组可以容纳的物理块的数量相同,并且为每个物理块组设置一个编号,例如划分为5个,那么编号为1-5。
在步骤S2042中,根据评分结果的排序顺序为每个物理块依次分配一个物理块组的编号,编号从小到大循环。
在本步骤中,根据评分结果将物理块进行排序,并按照排序顺序为每个物理块按照从小到大的顺序依次分配一个物理块组的编号,例如,对排序结果位于前5位的物理块依次分配编号1-5,然后对排序结果位于第6-10位的物理块也分配编号1-5,以此类推。
在步骤S2043中,将编号相同的所有物理块组成一个物理块组。
本步骤中,将编号相同的物理块组成同一物理块组,那么由于编号是按照排序顺序分配的,因此,每个相邻物理块组的性能相差较小,且每个物理块组内的各物理块性能相差也较小。而整体上来说,编号靠前的物理块组的性能较好,编号靠后的物理块组性能较差。
在步骤S2044中,按照编号从小到大的顺序对所有物理块组进行排序。
本步骤中,按照编号对物理块组进行排序,那么编号越小的物理块组排序越靠前,其代表的物理块组的性能越好。
在步骤S205中,按照排序顺序将所有物理块组的信息依次存储在数据结构中。
通过步骤S204已经将多个物理块划分为多个物理块组,每个物理块组包含的物理块的数量相同,且物理块组也已经按照初始性能的好坏进行了排序,按照排序顺序将物理块组的信息存储在数据结构中,数据结构中例如存储物理块组的编号等。数据结构也如第一实施例可以包括链表和映射表。
在步骤S206中,响应于接收到的写命令,按照数据结构中的存储顺序依次向多个物理块组中写入写数据。
本步骤中,接收到写命令后,先将写数据依次存储在编号为1的物理块组的每个物理块中,然后依次在编号2-5的物理块组对应的物理块中进行存储。并且在同一物理块组中,也按照排序顺序依次使用每个物理块。而且与实施例一相似,本实施例也是优先使用排序靠前的物理块组,将性能好的物理块组用于存放热数据。
在步骤S207中,根据物理块的初始性能参数和/或运行参数,定期对每个物理块进行性能评分,更新物理块的评分结果。本步骤与步骤S106类似,根据初始性能参数和/或运行参数定期更新各物理块的评分结果,在执行本步骤之后返回执行步骤S203-S206,对各个物理块进行重新排序和分组,得到新的排序的物理块组,然后再按照数据结构中存储的物理块组的顺序依次使用各物理块组。
本实施例中,将多个物理块划分成了多个物理块组,而且将物理块按照初始性能的评分结果依次分配物理块组的编号,使得相同编号的物理块组成同一物理块组,那么同一物理块组中的各物理块的性能差异较小,且每个相邻物理块组之间的性能差异也较小,使得物理块按照性能差异均匀分散在每个物理块组中,从而各物理块处理数据的速度也相差不多,保持固态硬盘的均衡性和一致性,同时也使得各物理块的使用寿命相近,达到磨损平衡。而且也保留了实施例一的有益效果,能使得性能较高的数据块优先被使用,保证数据读写的稳定性和可靠性。
图4示出了根据本发明实施例的固态硬盘的示意性框图。
如图4所示,计算机系统400包括主机110和固态硬盘100,固态硬盘100包括控制器120和存储器130,存储器130例如为闪存芯片阵列(3DNAND存储器)。控制器120连接主机110与存储器130,接收写命令,将主机110的写数据存入存储器130。控制器120用于执行图1-图3实施例中的物理块管理方法。
控制器120包括主机接口121、处理器123、缓存芯片(SRAM)124和存储器控制器128。控制器120的主机接口121连接至主机110,以传输写数据和读写指令。处理器123与主机接口121、SRAM124和存储器控制器128相连接,处理器123用于执行上述实施例中的物理块管理方法,SRAM124例如存储数据结构,存储器控制器128控制写数据的传输和存储。
处理器123还用于实现存储器控制的核心软件层,即FTL(Flash TranslationLayer,闪存转换层),使得操作系统和文件系统能够像访问硬盘一样访问存储器。该FTL还有例如支持坏块管理、损耗均衡、垃圾回收、断电恢复、写平衡技术等特点。
存储器130包括闪存芯片阵列。为了提高数据读写性能,控制器120的存储器控制器128可以经由多个通道(例如CH0和CH2)对存储器130的闪存芯片进行读写。每个通道连接一组闪存芯片。每个闪存芯片包括多个物理块,每个物理块包括多个物理页。数据结构也可以由SRAM124保存至闪存存储器130的物理块中,那么这一物理块不参与上述提到的物理块管理方法。
综上,本发明提供的物理块管理方法和固态硬盘在固件使用物理块之前,先采用初始性能参数对所有物理块的初始性能进行一次评估,得到表征物理块的初始性能的评分结果,然后根据这些评分结果对物理块进行排序,将其物理地址存储至数据结构中,使用时按照存储的顺序使用物理块,使得性能好的物理块优先使用,那么在进行数据读写时,各物理块之间的品质差异较小,数据波动小,可靠性更高,能提高数据读写的稳定性。对于固态硬盘产品中参差不齐的闪存颗粒,本发明实施例能有效的进行适配,不仅能够极大地发挥出固态硬盘的性能,也能有效避免可见的性能波动,尤其适用于颗粒品质参差不齐的消费级市场。
本领域技术人员可以理解,根据本发明的数据处理系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (11)

1.一种基于固态硬盘的物理块管理方法,其中,包括:
根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分,评分结果表征所述物理块的初始性能,所述评分结果高的所述物理块的所述初始性能优于所述评分结果低的所述物理块的所述初始性能;
将所有所述物理块按照所述评分结果进行排序;
按照排序顺序将所有所述物理块的信息依次存储在数据结构中;
响应于接收到的写命令,按照所述数据结构中的存储顺序依次向每个所述物理块中写入写数据。
2.根据权利要求1所述的物理块管理方法,其中,根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分的步骤之前还包括:
获取每个所述物理块的初始性能参数,其中,所述初始性能参数包括延迟参数和原始比特错误率,所述延迟参数包括数据擦除延迟时间或数据编程延迟时间。
3.根据权利要求2所述的物理块管理方法,其中,根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分包括:
根据每个所述物理块的所述延迟参数和/或所述原始比特错误率对所述物理块排序。
4.根据权利要求3所述的物理块管理方法,其中,在根据每个所述物理块的所述延迟参数和所述原始比特错误率对所述物理块排序的情况下,所述根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分包括:
为每个所述初始性能参数均设置权重值;
根据每个所述物理块的所述初始性能参数和对应的所述权重值对每个所述物理块进行性能评分。
5.根据权利要求1所述的物理块管理方法,其中,所有所述物理块是按所述评分结果从高到低的顺序进行排序的,在响应于接收到的写命令,按照所述数据结构中的存储顺序依次向每个所述物理块中写入写数据时,擦写频繁的热数据先于擦写不频繁的冷数据写入所述物理块中。
6.根据权利要求1所述的物理块管理方法,其中,所述按照排序顺序将所有所述物理块的信息依次存储在数据结构中之后,所述方法还包括:
根据所述物理块的初始性能参数和/或运行参数,定期对每个所述物理块进行性能评分,更新所述物理块的评分结果,并动态调整各所述物理块在所述数据结构中的存储顺序,所述运行参数包括擦写次数和不可纠错误码率。
7.根据权利要求1所述的物理块管理方法,其中,所述物理块的信息包括物理地址,所述数据结构包括链表和映射表。
8.根据权利要求7所述的物理块管理方法,其中,所述数据结构为链表,所述链表中存储所述物理块的物理地址和指向下一所述物理块的指针。
9.一种基于固态硬盘的物理块管理方法,其中,包括:
根据每个所述物理块的初始性能参数对每个所述物理块进行性能评分,评分结果表征所述物理块的初始性能,所述评分结果高的所述物理块的所述初始性能优于所述评分结果低的所述物理块的所述初始性能;
将所有所述物理块按照所述评分结果从高到低的顺序进行排序;
根据所述评分结果将多个所述物理块划分成多个物理块组,并对所有所述物理块组进行排序,排序靠前的所述物理块组的所述初始性能优于排序靠后的所述物理块组的所述初始性能;
按照排序顺序将所有所述物理块组的信息依次存储在数据结构中;
响应于接收到的写命令,按照所述数据结构中的存储顺序依次向每个所述物理块组中写入写数据。
10.根据权利要求9所述的物理块管理方法,其中,根据所述评分结果将多个所述物理块划分成多个物理块组,并对所有所述物理块组进行排序包括:
根据所述物理块的数量确定所述物理块组的数量并进行编号,每个所述物理块组用于容纳相同数量的所述物理块;
根据所述评分结果的排序顺序为每个所述物理块依次分配一个所述物理块组的编号,所述编号从小到大循环;
将所述编号相同的所有所述物理块组成一个所述物理块组;
按照所述编号从小到大的顺序对所有所述物理块组进行排序。
11.一种固态硬盘,用于实现权利要求1-10任一项所述的物理块管理方法,所述固态硬盘包括:
控制器,与主机连接,接收主机的写命令和写数据;
存储器,连接所述控制器,所述存储器包括多个物理块,存储所述写数据;以及
缓存单元,连接所述控制器,存储所述数据结构。
CN202210009699.2A 2022-01-06 2022-01-06 物理块管理方法和固态硬盘 Pending CN114442946A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210009699.2A CN114442946A (zh) 2022-01-06 2022-01-06 物理块管理方法和固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210009699.2A CN114442946A (zh) 2022-01-06 2022-01-06 物理块管理方法和固态硬盘

Publications (1)

Publication Number Publication Date
CN114442946A true CN114442946A (zh) 2022-05-06

Family

ID=81365080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210009699.2A Pending CN114442946A (zh) 2022-01-06 2022-01-06 物理块管理方法和固态硬盘

Country Status (1)

Country Link
CN (1) CN114442946A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737064A (zh) * 2023-03-29 2023-09-12 深圳市领德创科技有限公司 一种固态硬盘的数据管理方法和系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115410A1 (en) * 2012-10-24 2014-04-24 Kevin Patrick Kealy Bit Error Rate Estimation for Wear Leveling and for Block Selection Based on Data Type
US20150067415A1 (en) * 2013-09-05 2015-03-05 Kabushiki Kaisha Toshiba Memory system and constructing method of logical block
US20160357580A1 (en) * 2015-06-04 2016-12-08 Advanced Micro Devices, Inc. Per-block sort for performance enhancement of parallel processors
CN106844227A (zh) * 2017-01-14 2017-06-13 郑州云海信息技术有限公司 基于分组机制的固态硬盘磨损均衡方法及装置
CN107220185A (zh) * 2017-05-23 2017-09-29 建荣半导体(深圳)有限公司 基于闪存的数据存储方法、装置以及闪存芯片
CN108108128A (zh) * 2017-12-19 2018-06-01 深圳忆联信息系统有限公司 一种混合ssd的磨损均衡方法及ssd
US20190121725A1 (en) * 2017-10-25 2019-04-25 Western Digital Technologies, Inc. Performance based memory block usage
US20190354429A1 (en) * 2018-05-18 2019-11-21 Micron Technology, Inc. Data duplication in a non-volatile memory
CN110704332A (zh) * 2019-08-29 2020-01-17 深圳大普微电子科技有限公司 一种闪存介质优化方法及非易失性存储设备
CN111159058A (zh) * 2019-12-27 2020-05-15 深圳大普微电子科技有限公司 一种磨损均衡方法、装置及非易失性的存储设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115410A1 (en) * 2012-10-24 2014-04-24 Kevin Patrick Kealy Bit Error Rate Estimation for Wear Leveling and for Block Selection Based on Data Type
US20150067415A1 (en) * 2013-09-05 2015-03-05 Kabushiki Kaisha Toshiba Memory system and constructing method of logical block
US20160357580A1 (en) * 2015-06-04 2016-12-08 Advanced Micro Devices, Inc. Per-block sort for performance enhancement of parallel processors
CN106844227A (zh) * 2017-01-14 2017-06-13 郑州云海信息技术有限公司 基于分组机制的固态硬盘磨损均衡方法及装置
CN107220185A (zh) * 2017-05-23 2017-09-29 建荣半导体(深圳)有限公司 基于闪存的数据存储方法、装置以及闪存芯片
US20190121725A1 (en) * 2017-10-25 2019-04-25 Western Digital Technologies, Inc. Performance based memory block usage
CN108108128A (zh) * 2017-12-19 2018-06-01 深圳忆联信息系统有限公司 一种混合ssd的磨损均衡方法及ssd
US20190354429A1 (en) * 2018-05-18 2019-11-21 Micron Technology, Inc. Data duplication in a non-volatile memory
CN110704332A (zh) * 2019-08-29 2020-01-17 深圳大普微电子科技有限公司 一种闪存介质优化方法及非易失性存储设备
CN111159058A (zh) * 2019-12-27 2020-05-15 深圳大普微电子科技有限公司 一种磨损均衡方法、装置及非易失性的存储设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵峰 等: "关于NAND闪存损耗均衡算法的优化", 南华大学学报(自然科学版), vol. 31, no. 3, 30 September 2017 (2017-09-30), pages 86 - 91 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737064A (zh) * 2023-03-29 2023-09-12 深圳市领德创科技有限公司 一种固态硬盘的数据管理方法和系统
CN116737064B (zh) * 2023-03-29 2024-04-05 深圳市领德创科技有限公司 一种固态硬盘的数据管理方法和系统

Similar Documents

Publication Publication Date Title
CN105739915B (zh) 存储系统中执行的条带重建方法和存储系统
US10649661B2 (en) Dynamically resizing logical storage blocks
KR101083673B1 (ko) 반도체 스토리지 시스템 및 그 제어 방법
KR100974215B1 (ko) 반도체 스토리지 시스템 및 그 제어 방법
CN103049397B (zh) 一种基于相变存储器的固态硬盘内部缓存管理方法及系统
US8131969B2 (en) Updating system configuration information
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
CN112783425A (zh) 将耐久性组应用于分区命名空间
US20140068152A1 (en) Method and system for storage address re-mapping for a multi-bank memory device
US20100169540A1 (en) Method and apparatus for relocating selected data between flash partitions in a memory device
KR102457400B1 (ko) 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템
US11042305B2 (en) Memory system and method for controlling nonvolatile memory
JP5583227B1 (ja) 物理ブロック間でデータをコピーするディスクアレイ装置、ディスクアレイコントローラ及び方法
KR20100034743A (ko) 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템
CN104246721A (zh) 对逻辑地址和物理地址之间的映射进行管理的存储系统、存储控制器及方法
US11513949B2 (en) Storage device, and control method and recording medium thereof
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
US10997080B1 (en) Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address
JP2021033849A (ja) メモリシステムおよび制御方法
US11762580B2 (en) Memory system and control method
KR20200132495A (ko) 메모리 시스템, 컨트롤러 및 컨트롤러의 동작 방법
CN104298615B (zh) 一种存储器交换分区损耗的均衡方法
CN116364148A (zh) 一种面向分布式全闪存储系统的磨损均衡方法及系统
CN114442946A (zh) 物理块管理方法和固态硬盘
CN101997919A (zh) 一种存储资源的管理方法及管理装置

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
CB02 Change of applicant information

Address after: 310051 room c1-604, building C, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province

Applicant after: Lianyun Technology (Hangzhou) Co.,Ltd.

Address before: 6 / F, block C1, spotlight center, 459 Qianmo Road, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Applicant before: MAXIO TECHNOLOGY (HANGZHOU) Ltd.

CB02 Change of applicant information