买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种固态硬盘的数据读取、数据写入方法及固态硬盘_苏州浪潮智能科技有限公司_201710465127.4 

申请/专利权人:苏州浪潮智能科技有限公司

申请日:2017-06-19

公开(公告)日:2021-01-12

公开(公告)号:CN107273306B

主分类号:G06F12/02(20060101)

分类号:G06F12/02(20060101);G06F11/14(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.01.12#授权;2017.11.17#实质审查的生效;2017.10.20#公开

摘要:本申请提供了一种固态硬盘的数据读取、数据写入方法及固态硬盘,其中方法包括:接收包含目标数据的逻辑块地址的事件读请求;查找与所述逻辑块地址在Flash介质中对应的物理块地址;计算当前物理块地址与所述物理块地址的差值;若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。本申请可以在不增加读取过程中的处理难度的基础上,提高数据读取的准确性。

主权项:1.一种固态硬盘的数据读取方法,其特征在于,固态硬盘的控制单元中具有缓存,所述缓存包括原始数量个物理页,以及,Flash介质中不稳定物理页数量个物理页,所述固态硬盘的数据读取方法包括:接收包含目标数据的逻辑块地址的事件读请求;查找与所述逻辑块地址在Flash介质中对应的物理块地址;计算当前物理块地址与所述物理块地址的差值;若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。

全文数据:一种固态硬盘的数据读取、数据写入方法及固态硬盘技术领域[0001]本申请涉及固态硬盘技术领域,尤其涉及一种固态硬盘的数据读取、数据写入方法及固态硬盘。背景技术[0002]固态硬盘包括控制单元和固态存储单元,其中固态存储单元多采用Flash介质。由于Flash介质自身硬件问题,Flash介质中新写入物理页中的数据通常不稳定。因此,当读到Flash介质中新写入的物理页时,容易发生读出错。[0003]目前,为了防止读出错多采用复杂的纠错算法,但是,由于纠错算法的纠错能力难以保证,所以采用纠错算法来读取数据时,不仅增加读取过程的处理难度且准确度难以保证。发明内容[0004]本申请提供了一种固态硬盘的数据读取、数据写入方法及固态硬盘,可以在不增加读取过程中的处理难度的基础上,提高数据读取的准确性和降低读取延时。[0005]为了实现上述目的本申请提供了以下技术特征:[0006]—种固态硬盘的数据读取方法,包括:[0007]接收包含目标数据的逻辑块地址的事件读请求;[0008]查找与所述逻辑块地址在Flash介质中对应的物理块地址;[0009]计算当前物理块地址与所述物理块地址的差值;[0010]若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;[0011]若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。[0012]可选的,所述从缓存中基于所述物理块地址读取所述目标数据,包括:[0013]在不稳定物理页与缓存的对应关系中,查找与所述物理块地址对应的物理页地址;[0014]从所述缓存中读取所述物理页地址对应的目标数据。[0015]可选的,所述查找与所述逻辑块地址在Flash介质中对应的物理块地址,包括:[0016]在闪存转换层FTL映射表中,查找与所述逻辑块地址对应的物理块地址。[0017]一种固态硬盘的数据写入方法,包括:[0018]接收包含目标数据的事件写请求;[0019]在缓存中备份所述目标数据并将所述目标数据写入Flash介质。[0020]可选的,所述缓存包括原始数量个物理页,以及,Flash介质中不稳定物理页数量个物理页;则所述在缓存中备份所述目标数据,并将所述目标数据写入Flash介质,包括:[0021]将所述事件写请求包含的目标数据写入所述缓存中标识为写标识的物理页,并更改该物理页的标识为读标识;[0022]构建所述目标数据在Flash介质中的物理块地址与所述缓存中的物理页地址的对应关系,将所述目标数据写入Flash介质;[0023]清空所述缓存中标识为读标识且缓存时间最长的物理页,更改该物理页的标识为写标识,并删除已清空物理页的物理页地址的对应关系。[0024]可选的,还包括:[0025]确定Flash介质中不稳定物理页数量;[0026]将所述缓存扩展不稳定物理页数量个物理页。[0027]一种固态硬盘,包括:[0028]控制单元,用于接收包含目标数据的逻辑块地址的事件读请求;查找与所述逻辑块地址在Hash介质中对应的物理块地址;计算当前物理块地址与所述物理块地址的差值;若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。[0029]一种固态硬盘,包括:[0030]控制单元,用于接收包含目标数据的事件写请求;在缓存中备份所述目标数据并将所述目标数据写入Flash介质。[0031]可选的,所述缓存包括原始数量个物理页,以及,Flash介质中不稳定物理页数量个物理页;则所述在缓存中备份所述目标数据并将所述目标数据写入Flash介质,具体包括:[0032]将所述事件写请求包含的目标数据写入所述缓存中标识为写标识的物理页,并更改该物理页的标识为读标识,构建所述目标数据在Flash介质中的物理块地址与所述缓存中的物理页地址的对应关系,将所述目标数据写入Flash介质,清空所述缓存中标识为读标识且缓存时间最长的物理页,更改该物理页的标识为写标识,并删除已清空物理页的物理页地址的对应关系。通过以上技术手段,可以实现以下有益效果:[0033]本申请不再采用复杂的纠错算法,而是从根源上避免从Flash介质中读取不稳定物理页中的数据,从而避免纠错算法仿真耗时、实现复杂、纠错能力不能保证等一系列问题。[0034]并且,本申请中从缓存中直接读取数据,从而保证数据正确率。由于直接从缓存中读取数据,比原始从Flash介质中读取数据的速度更快,降低读取延时。附图说明[0035]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0036]图1为本申请实施例公开的一种固态硬盘的数据写入方法的流程图;[0037]图2和图3分别为本申请实施例公开的一种固态硬盘中缓存的示意图;[0038]图4为本申请实施例公开的一种固态硬盘的数据读取方法的流程图。具体实施方式[0039]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。[0040]术语解释:[0041]FTL:闪存转换层,Flashtranslationlayer。为了不加重操作系统的负担,固态硬盘的控制单元采用软件方式把闪存的操作虚拟成磁盘的独立扇区操作,这就是FTL。[0042]LBA:LBALogicalBlockAddress,中文名称,逻辑区块地址。[0043]PBA:PhysicsBlockAddress,中文名称,物理块地址。[0044]HDD,HardDiskDrive的缩写,即硬盘驱动器的英文名。[0045]FTL映射表:为LBA和PBA之间的关联关系。[0046]由于HDD的数据可以直接覆盖,所以LBA和PBA的关系是1:1对应,S卩LBA=PBA。但在SSD上使用的存储介质NAND闪存需要先擦除才能再写入,读写以物理页为单位,擦除以块多个页组成为单位的特性,导致LBA和PBA的关系不再是固定不变的。[0047]因此SSD需要FTL来作转换,以配合现有的文件系统。由于NAND闪存的特性,SSD的主控单元使用LBA和TOA的映射表来管理闪存。当有更新的数据要写入时,主控单元会把新数据写入到空白block内,然后更新映射表数据,把LBA指向新的PBA。[0048]因FTL存在于文件系统和物理介质(闪存之间,操作系统只需跟原来一样操作LBA即可,而LBA到PBA的所有转换工作,就全交由FTL负责。[0049]本申请申请人在研究过程中发现,由于Flash介质中新写入的物理页不稳定,因此本申请提供的技术方案为:在缓存中对新写入的物理页进行备份。这样,当读取Flash介质中新写入物理页时不再在Flash介质中读取不稳定数据,而是从缓存中读取数据,从而保证读取数据的准确性。[0050]下面介绍本申请的执行过程:[0051]由于不同Hash介质中不稳定物理页的数量不等,所以本申请首先会确定Flash介质中不稳定物理页的数量。根据本申请提供的一个实施例,可以采用如下方式:[0052]首先,在Flash介质中选取一个Block并写入数据;例如,写入整个block—半数据量M个物理页)。然后,顺序从物理页0开始对新写入的物理页做读取操作,并记录下第一次读出错的物理页N。最后,确定Flash介质中的不稳定物理页的数量为M-N个物理页。[0053]在实际情况下,为了保险起见可以将M-N+1作为Flash介质中的不稳定物理页的数量。[0054]固态硬盘的控制单元中具有缓存,缓存具有原始数量个物理页,其用于缓存一个或多个事件写请求包含的数据,然后再一并写入至Flash介质中,从而提高事件写请求的效率。[0055]本申请中为了对事件写请求包含的目标数据进行备份,对缓存进行扩增操作,将缓存扩增不稳定物理页数量个物理页,以用于备份Flash介质中不稳定物理页数量个物理页中的数据。[0056]假设,Flash介质中不稳定物理页数量为4个,原始物理页数量为3个,则参见图1所示的缓存示意图,可以在原来3个物理页基础上,扩增4个物理页,最后变成7个物理页的缓存。[0057]其中,缓存中会具有3原始物理页数量个标识为写标识的物理页,用于缓存事件写请求中的数据,并且,缓存中具有4个不稳定物理页数量个标识为读标识的物理页,用于备份不稳定物理页中的数据。[0058]根据本申请的一个实施例,提供的一种固态硬盘的写入方法。参见图2,具体包括以下步骤:[0059]步骤S201:控制单元接收包含目标数据的事件写请求。[0060]固态硬盘的控制单元会接收事件写请求,为了便于描述,将其中包含的数据称为目标数据。[0061]步骤S202:控制单元将所述事件写请求包含的目标数据写入所述缓存中标识为写标识的物理页,并更改该物理页的标识为读标识。[0062]继续以图1所示的缓存为例,控制单元在缓存中确定标识为写标识的物理页标号5_标号7,并将目标数据写入头部所指的物理页标号5对应的物理页)中,并将该物理页的标识更改为读标识。[0063]步骤S203:构建数据在FIash介质中的物理块地址与缓存中的物理页地址的对应关系,将目标数据写入Flash介质。[0064]可以构建Flash介质中的物理块地址与缓存中的物理页地址的对应关系。即,构建标号为5的物理页地址,与,目标数据在Hash介质中物理块的对应关系。然后,再将目标数据新写入Flash介质。[0065]步骤S204:清空所述缓存中标识为读标识且缓存时间最长的物理页,并更改该物理页的标识为写标识,删除已清空物理页的物理页地址的对应关系。[0066]控制单元在标识为读标识的物理页中确定缓存时间最长的物理页,该物理页在目标数据写入Flash介质后,便会脱离Flash介质中的不稳定物理页进入稳定物理页中,因此,可以不必在缓存该物理页。_[0067]因此,控制单元可以清空缓存时间最长的物理页,并将该物理页的标识更改为写标识,以便继续缓存事件写请求中的数据。_[0068]继续以图1所示的缓存为例,在读标识中找到缓存时间最长的物理页标号为1的物理页),然后,将该物理页更改为写标识。[0069]参见图3,为步骤S202、步骤S203和步骤S2〇4执行完毕后缓存的示意图,从图示可以看出,标号为5的物理页已经变更为读标识,标号为1的物理页变更为写标识。[0070]由于原来标号为1的物理页中数据已经清空,标号为1物理页中的数据,在标号5的目标数据写入Flash介质后,已经变成稳定数据。因此,后续可以在Flash介质中读取标号为1的数据,可以删除标号为1的物理页地址与原来存储数据的物理块地址之间的对应关系。[0071]结合步骤S202-步骤S204可知,本实施例缓存中的各个物理页轮转使用,这样可以采用最少的缓存物理页来实现本申请备份不稳定物理页的目的。[0072]根据本申请提供的另一个实施例,提供了一种固态硬盘的数据读取方法。参见图4,具体包括以下步骤:[0073]步骤S401:接收包含目标数据的逻辑块地址的事件读请求。[0074]控制单元接收事件读请求,事件读请求包括目标数据的逻辑块地址。[0075]步骤S402:查找与所述逻辑块地址在Flash介质中对应的物理块地址。[0076]控制单元在闪存转换层FTL映射表中,查找与所述逻辑块地址对应的物理块地址。[0077]步骤S4〇3:计算当前物理块地址与所述物理块地址的差值。[0078]在一个Block中,控制单元可以获知当前正在操作的物理块地址。并且,在每个Block中是顺序操作的,即首先会操作物理块地址最小的物理块,然后,在逐渐操作物理块地址较大的物理块,直到该物理块写满。[0079]为了确定事件读请求中物理块地址是否为在不稳定物理页的范围内,可以计算当前物理块地址与事件读请求中物理块地址的差值。[0080]步骤S404:判断差值是否大于Flash介质中不稳定物理页数量,若是,则进入步骤S405,否则进入步骤S406。[0081]控制单元判断差值与不稳定物理页数量的大小,若差值大于不稳定物理页,则说明事件读请求中的物理块地址已经处于稳定物理页的范围内,此时进入步骤S405,在Flash介质中读取目标数据。[0082]若差值不大于不稳定物理页,则说明事件读请求中的物理块地址仍然在不稳定物理页的范围内,此时进入步骤S406,在缓存中读取目标数据。[0083]步骤S405:若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据。[0084]步骤S406:若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。[0085]在不稳定物理页与缓存的对应关系中,查找与所述物理块地址对应的物理页地址,从所述缓存中读取所述物理页地址对应的目标数据。[0086]通过图2所示的过程可以得知,缓存中的物理页地址与Flash介质中的物理块地址之间具有对应关系,因此,可以在对应关系中查找与物理块地址对应的物理页地址,以便在缓存中基于物理页地址查找目标数据。[0087]通过本申请提供的方案可知本申请具有以下有益效果:[0088]本申请不再采用复杂的纠错算法,而是从根源上避免从Flash介质中读取不稳定物理页中的数据,从而避免纠错算法仿真耗时、实现复杂、纠错能力不能保证等一系列问题。并且,本申请中从缓存中直接读取数据,从而保证数据正确率。由于直接从缓存中读取数据,反而比原始从Flash介质中读取数据,读取速度更快。[0089]与图2所示的固态硬盘的数据写入方法对应的,本申请还提供了一种固态硬盘,包括:[0090]控制单元,用于接收包含目标数据的事件写请求;在缓存中备份所述目标数据并将所述目标数据写入Flash介质。[0091]其中,缓存包括原始数量个物理页,以及,Flash介质中不稳定物理页数量个物理页;则所述在缓存中备份所述目标数据并将所述目标数据写入Flash介质,具体包括:[0092]将所述事件写请求包含的目标数据写入所述缓存中标识为写标识的物理页,并更改该物理页的标识为读标识,构建所述目标数据®Flash介质中的物理块地址与所述缓存中的物理页地址的对应关系,将所述目标数据写入Flash介质,清空所述缓存中标识为读标识且缓存时间最长的物理页,更改该物理页的标识为写标识,并删除已清空物理页的物理页地址的对应关系。[0093]与图4所示的固态硬盘的数据读取方法对应的,本申请提供了一种固态硬盘,包括:[0094]控制单元,用于接收包含目标数据的逻辑块地址的事件读请求;查找与所述逻辑块地址在Flash介质中对应的物理块地址;计算当前物理块地址与所述物理块地址的差值;若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。[0095]本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备可以是个人计算机,服务器,移动计算设备或者网络设备等执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器R〇M,Read-OnlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质。[0096]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。[0097]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求:1.一种固态硬盘的数据读取方法,其特征在于,包括:接收包含目标数据的逻辑块地址的事件读请求;查找与所述逻辑块地址在Flash介质中对应的物理块地址;计算当前物理块地址与所述物理块地址的差值;若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。2.如权利要求1所述的方法,其特征在于,所述从缓存中基于所述物理块地址读取所述目标数据,包括:在不稳定物理页与缓存的对应关系中,查找与所述物理块地址对应的物理页地址;从所述缓存中读取所述物理页地址对应的目标数据。3.如权利要求1所述的方法,其特征在于,所述查找与所述逻辑块地址在Flash介质中对应的物理块地址,包括:在闪存转换层FTL映射表中,查找与所述逻辑块地址对应的物理块地址。4.一种固态硬盘的数据写入方法,其特征在于,包括:接收包含目标数据的事件写请求;在缓存中备份所述目标数据并将所述目标数据写入Flash介质。5.如权利要求4所述的方法,其特征在于,所述缓存包括原始数量个物理页,以及,Flash介质中不稳定物理页数量个物理页;则所述在缓存中备份所述目标数据,并将所述目标数据写入Flash介质,包括:将所述事件写请求包含的目标数据写入所述缓存中标识为写标识的物理页,并更改该物理页的标识为读标识;构建所述目标数据在Flash介质中的物理块地址与所述缓存中的物理页地址的对应关系,将所述目标数据写入Flash介质;清空所述缓存中标识为读标识且缓存时间最长的物理页,更改该物理页的标识为写标识,并删除已清空物理页的物理页地址的对应关系。6.如权利要求5所述的方法,其特征在于,还包括:确定Flash介质中不稳定物理页数量;将所述缓存扩展不稳定物理页数量个物理页。7.—种固态硬盘,其特征在于,包括:控制单元,用于接收包含目标数据的逻辑块地址的事件读请求;查找与所述逻辑块地址在Flash介质中对应的物理块地址;计算当前物理块地址与所述物理块地址的差值;若所述差值大于Flash介质中不稳定物理页的数量,则从所述Flash介质中基于所述物理块地址读取所述目标数据;若所述差值不大于Flash介质中不稳定物理页的数量,则从缓存中基于所述物理块地址读取所述目标数据;其中,所述缓存中备份有所述不稳定物理页中的数据。8.—种固态硬盘,其特征在于,包括:控制单元,用于接收包含目标数据的事件写请求;在缓存中备份所述目标数据并将所述目标数据写入Flash介质。9.如权利要求8所述的固态硬盘,其特征在于,所述缓存包括原始数量个物理页,以及,Flash介质中不稳定物理页数量个物理页;则所述在缓存中备份所述目标数据并将所述目标数据写入Flash介质,具体包括:将所述事件写请求包含的目标数据写入所述缓存中标识为写标识的物理页,并更改该物理页的标识为读标识,构建所述目标数据在Flash介质中的物理块地址与所述缓存中的物理页地址的对应关系,将所述目标数据写入Flash介质,清空所述缓存中标识为读标识且缓存时间最长的物理页,更改该物理页的标识为写标识,并删除已清空物理页的物理页地址的对应关系。

百度查询: 苏州浪潮智能科技有限公司 一种固态硬盘的数据读取、数据写入方法及固态硬盘

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。