一种固态硬盘中frt表的获取方法及装置
技术领域
:
:1.
本发明涉及文件管理
技术领域
:
:,尤其涉及一种固态硬盘中的frt表中的获取方法及装置。
背景技术
:
::2.ssd作为存储设备的主力产品,技术发展和产品应用也是快速发展。ssd由控制单元和存储单元(flash芯片、dram芯片)组成;基于闪存的固态硬盘是固态硬盘的主要类别,其内部构造十分简单,固态硬盘内主体其实就是一块pcb板,而这块pcb板上最基本的配件就是控制芯片,缓存芯片(部分低端硬盘无缓存芯片)和用于存储
数据的闪存芯片。随着信息技术相关产业的快速发展,对存储设备的需求也变的越来越大,目前ssd广泛应用于军事、工控、视频监控、网络监控、网络终端、银行、医疗、航空等领域。3.nandflash是一种非易失性
存储器,固态硬盘的主控芯片必须对这些错误进行处理。目前绝大部分ssd使用的存储介质是nandflash,由于nandflash本身物理结构,其基本存储单元是浮栅晶体管,因电荷泄漏、氧化层老化等物理特性,nandflash在使用过程中会受漂移效应、过度编程效应、读操作干扰、温度等因素的影响,不可避免会发生读错误、编程失败或擦编程失败等错误,导致出现比特位反转的现象,ssd采用frt表进行上述数据纠错。nandflash在生命周期内伴随着漂移效应、过度编程效应、读操作干扰、温度等因素的影响,最优的读参考电压也会发生偏移,造成读错误。4.基于上述问题,研究出一种获取ssd中frt表的方法。通过对nand测试获取的偏移电压表进行脚本分析,最终获取到ssd固件中应用的frt表,将frt表应用到ssd固件中,可以很大程度的降低读错误。技术实现要素:5.有鉴于此,本发明的目的在于提出一种固态硬盘中frt表的获取方法及装置,用以解决现有技术中参考电压发生偏移,出现读错误情况的问题。6.基于上述目的,本发明提供了一种固态硬盘中frt表的获取方法,包括以下
步骤:7.步骤101、frt原始数据处理;8.将nand测试获取的frt数据汇总于lowerpagealllist、middlepagealllist、upperpagealllist列表,其中lowerpagealllist的最小元素“[a,e]”格式,用于为表示a轴、e轴数据,middlepagealllist最小元素为“[b,d,f]”格式,用于表示b轴、d轴和f轴数据,upperpagealllist最小元素为“[c,g]”格式,用于表示c轴和g轴数据;所述的lowerpagealllist表,用于确定擦写次数pe、数据保存时间;lowerpagealllist包含frt1、frt2、frt3三组数据;[0009]步骤102、获取frt1、frt2、frt3的数据位置偏移表;[0010]步骤103、从frt原始数据表中提取a、b、c、d、e、f、g轴数据;[0011]步骤104、重组frt表,将提取的a、b、c、d、e、f、g轴数据进行重组并将生成的数据保存到文件中。[0012]在一些实施例中,方法还包括:[0013]步骤102所述的获取frt1、frt2、frt3的数据位置偏移表,包括步骤:[0014]步骤201、获取frt1的坐标偏移表;[0015]步骤202、根据frt1的坐标偏移表计算frt2和frt3的坐标偏移表;[0016]步骤203、将frt1、frt2、frt3组合为一张frtposlist表。[0017]在一些实施例中,方法还包括:[0018]获取frt1的坐标偏移表具体为:frt1数据位置偏移=当前pe偏移+当前ret偏移×ret偏移步长;其中,pe为nand闪存的擦写次数,ret为nand闪存中数据保存的时间。[0019]在一些实施例中,方法还包括:[0020]所述根据frt1的坐标偏移表计算frt2和frt3的坐标偏移表,具体为:[0021]frt2数据位置偏移=pe偏移步长+frt1数据位置偏移,[0022]frt3数据位置偏移=2×pe偏移步长+frt1数据位置偏移。[0023]在一些实施例中,方法还包括:[0024]从frt原始数据表中提取a、b、c、d、e、f、g轴数据,具体为:[0025]步骤301、遍历frtposlist表,获取当前处理的frtx表;[0026]步骤302、遍历frtx表中元素;[0027]步骤303、获取frtx表a、b、c、d、e、f、g轴的数据列表。[0028]在一些实施例中,方法还包括:[0029]所述重组frt表,具体为:将数据列表a、b、c、d、e、f、g轴数据列表组合成ssd需要的frt格式;[0030]将所述数据保存到文件中。[0031]在一些实施例中,方法还包括:[0032]将数据保存到文件后,继续遍历frtx表中元素,直至将数据列表a、b、c、d、e、f、g轴的所有数据列表组合成ssd需要的frt格式,将所述数据保存到文件中。[0033]本发明的另一方面,还提供了固态硬盘中frt表的获取装置,包括:[0034]原始数据获取模块,用于获取frt原始数据处理,将nand测试获取的frt数据汇总于lowerpagealllist、middlepagealllist、upperpagealllist列表,其中lowerpagealllist的最小元素“[a,e]”格式,用于为表示a轴、e轴数据,middlepagealllist最小元素为“[b,d,f]”格式,用于表示b轴、d轴和f轴数据,upperpagealllist最小元素为“[c,g]”格式,用于表示c轴和g轴数据;[0035]数据位置偏移表获取模块,用于获取frt1、frt2、frt3的数据位置偏移表;[0036]数据提取模块,用于从frt原始数据表中提取a、b、c、d、e、f、g轴数据;[0037]重组模块,用于重组frt表,将提取的a、b、c、d、e、f、g轴数据进行重组并将生成的数据保存到文件中。[0038]本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任意一项方法。[0039]本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任意一项方法。[0040]本发明至少具有以下有益技术效果:[0041]1.本发明的通过对nand测试获取的偏移电压表进行脚本分析,最终获取到ssd固件中应用的frt表,将frt表应用到ssd固件中,可以很大程度的降低读错误;[0042]2.本发明通过将nand测试获取的frt数据汇总于lowerpagealllist、middlepagealllist、upperpagealllist列表,其中lowerpagealllist分为frt1、frt2、frt3三组数据,通过获取frt1的坐标偏移表计算frt2和frt3的坐标偏移表,并将偏移表组合城frtposlist表,对frtposlist表中元素的获取,提取a、b、c、d、e、f、g轴的数据并组合成frt格式,有效提高读取的准确性。附图说明[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。[0044]图1为根据本发明实施例提供的frt原始数据示意图;[0045]图2为根据本发明实施例提供的frt原始数据排布示意图;[0046]图3为根据本发明实施例提供的frt表数据处理算法流程图;[0047]图4为根据本发明实施例提供的组合数据后生成的frt表;[0048]图5为根据本发明实施例提供的实现资源监控方法的计算机可读存储介质的示意图;[0049]图6为根据本发明实施例提供的执行资源监控方法的计算机设备的硬件结构示意图。具体实施方式[0050]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。[0051]需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。[0052]目前绝大多数ssd使用闪存芯片作为存储介质。闪存芯片是一种非易失性存储器,其基本存储单元是浮栅晶体管,因电荷泄漏、氧化层老化等物理特性,闪存芯片在使用过程中不可避免会发生读错误、编程失败或擦编程失败等错误,固态硬盘的主控芯片必须对这些错误进行处理。现有技术中,固态硬盘的数据块发生读错误时的处理方法为:将出错数据对应的映射表项设置unc(uncorrectableerror,不可校正的错误)标记,通常以4kb为粒度,下次主机再读此映射表项对应的数据时不再访问闪存芯片,而是直接向主机返回unc错误。由于数据块发生读错误时以映射表项进行unc标记,只要主机读取的地址落在了有unc标记的映射表项,就向主机返回unc错误。这种方式可能导致主机读取的地址中部分没有错误的地址也不能够被读取,数据丢失率较高。[0053]基于上述目的,本发明实施例的第一个方面,提出了一种固态硬盘中frt表获取方法的实施例。图1示出的是本发明提供的frt原始数据示意图。首先,在本发明的以下实施例中采用的各个部件的术语释义如下:[0054]ssd:固态硬盘,用固态电子存储芯片阵列(例如nandflash)制成的硬盘。[0055]nandflash:nand闪存[0056]frt:固定的读表(fixedreadtable)[0057]pe:nand闪存的擦写次数(programerase),闪存完全擦写一次叫做1次p/e,闪存的寿命以p/e作单位。[0058]ret:nand闪存中数据保存的时间(retentiontime)[0059]本发明实施例包括如下步骤:[0060]步骤101、frt原始数据处理,如图1所示,[0061]nand闪存擦写次数pe划分5档,分别为0-1500次、1500-2500次、2500-3500次、3500-4500次、4500-5000次。[0062]nand闪存数据保存时间ret划分6档,分别为0-9天、9-27天、27-45天、45-63天、63-81天、81-90天。[0063]lowerpagealllist包含frt1、frt2、frt3三组数据;lowerpagealllist总共90组数据(5*6*3)。lowerpagealllist里面的最小元素为“[a,e]”格式,分别表示a轴和e轴数据。middlepagealllist里面的最小元素为“[b,d,f]”格式,分别表示b轴、d轴和f轴数据。upperpagealllist里面的最小元素为“[c,g]”格式,分别表示c轴和g轴数据。[0064]数据分布图如图2所示。[0065]接着在如图3所示的流程图中,包含以下步骤:[0066]步骤102、获取frt1、frt2、frt3的数据位置偏移表;[0067]在一些实施例中,所述数据位置偏移表的获取步骤包括:[0068]步骤201、获取frt1的坐标偏移表;[0069]步骤202、根据frt1的坐标偏移表计算frt2和frt3的坐标偏移表;[0070]步骤203、将frt1、frt2、frt3组合为一张frtposlist表;[0071]其中,获取frt1的坐标偏移表具体为:[0072]frt1数据位置偏移=当前pe偏移+当前ret偏移×ret偏移步长;其中,pe为nand闪存的擦写次数,ret为nand闪存中数据保存的时间。[0073]所述根据frt1的坐标偏移表计算frt2和frt3的坐标偏移表,具体为:[0074]frt2数据位置偏移=pe偏移步长+frt1数据位置偏移,[0075]frt3数据位置偏移=2×pe偏移步长+frt1数据位置偏移。[0076]将frt1、frt2、frt3组合为一张frtposlist表,获取的如下面列表:[0077]frt1poslist=[0,15,30,45,60,75,1,16,31,46,61,76,2,17,32,47,62,77,3,18,33,48,63,78,4,19,34,49,64,79][0078]frt2poslist=[5,20,35,50,65,80,6,21,36,51,66,81,7,22,37,52,67,82,8,23,38,53,68,83,9,24,39,54,69,84][0079]frt3poslist=[10,25,40,55,70,85,11,26,41,56,71,86,12,27,42,57,72,87,13,28,43,58,73,88,14,29,44,59,74,89]。[0080]步骤103、从frt原始数据表中提取a、b、c、d、e、f、g轴数据;[0081]如图3所示,具体为:[0082]步骤301、遍历frtposlist表,获取当前处理的frtx表;[0083]步骤302、遍历frtx表中元素;[0084]步骤303、获取frtx表a、b、c、d、e、f、g轴的数据列表。[0085]步骤104、重组frt表,将提取的a、b、c、d、e、f、g轴数据进行重组并将生成的数据保存到文件中;将数据列表a、b、c、d、e、f、g轴数据列表组合成ssd需要的frt格式;将所述数据保存到文件中。[0086]在一些实施例中,根据固态硬盘固件中frt表的格式“{0xgcea,0xbdf}”格式,将步骤103中的a、b、c、d、e、f、g轴数据进行重组,并将生成的数据保存到文件中,保存的数据格式如附图4所示。[0087]需要说明的是,将数据保存到文件后,继续遍历frtx表中元素,直至将数据列表a、b、c、d、e、f、g轴的所有数据列表组合成ssd需要的frt格式,将所述数据保存到文件中。[0088]本发明的另一方面,还提供一种固态硬盘中frt表的获取装置,包括:[0089]原始数据获取模块,用于获取frt原始数据处理,将nand测试获取的frt数据汇总于lowerpagealllist、middlepagealllist、upperpagealllist列表,其中lowerpagealllist的最小元素“[a,e]”格式,用于为表示a轴、e轴数据,middlepagealllist最小元素为“[b,d,f]”格式,用于表示b轴、d轴和f轴数据,upperpagealllist最小元素为“[c,g]”格式,用于表示c轴和g轴数据;[0090]数据位置偏移表获取模块,用于获取frt1、frt2、frt3的数据位置偏移表;[0091]数据提取模块,用于从frt原始数据表中提取a、b、c、d、e、f、g轴数据;[0092]重组模块,用于重组frt表,将提取的a、b、c、d、e、f、g轴数据进行重组并将生成的数据保存到文件中。[0093]本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图5示出了根据本发明实施例提供的实现资源监控方法的计算机可读存储介质的示意图。如图5所示,计算机可读存储介质3存储有计算机程序指令31,该计算机程序指令31可以被处理器执行。该计算机程序指令31被执行时实现上述任意一项实施例的方法。[0094]应当理解,在相互不冲突的情况下,以上针对根据本发明的资源监控方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的资源监控系统和存储介质。[0095]本发明实施例的第四个方面,还提供了一种计算机设备,包括存储器402和处理器401,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法。[0096]如图6所示,为本发明提供的执行资源监控方法的计算机设备的一个实施例的硬件结构示意图。以如图6所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与资源监控系统的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。[0097]存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的资源监控方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储资源监控方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0098]处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的资源监控方法。[0099]最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。[0100]本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。[0101]结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp和/或任何其它这种配置。[0102]以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。[0103]应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。[0104]所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。当前第1页12当前第1页12
技术特征:
1.一种固态硬盘中frt表的获取方法,其特征在于,包括以下步骤:步骤101、frt原始数据处理包括将nand测试获取的frt数据汇总于lower page all list、middle page all list、upper page all list列表,其中lower page all list的最小元素“[a,e]”格式,用于为表示a轴、e轴数据,middle page all list最小元素为“[b,d,f]”格式,用于表示b轴、d轴和f轴数据,upper page all list最小元素为“[c,g]”格式,用于表示c轴和g轴数据;所述的lower page all list表,用于确定擦写次数pe、数据保存时间;lower page all list包含frt1、frt2、frt3三组数据;步骤102、获取frt1、frt2、frt3的数据位置偏移表;步骤103、从frt原始数据表中提取a、b、c、d、e、f、g轴数据;步骤104、重组frt表,将提取的a、b、c、d、e、f、g轴数据进行重组并将生成的数据保存到文件中。2.根据权利要求1所述的方法,其特征在于,步骤102所述的获取frt1、frt2、frt3的数据位置偏移表,包括步骤:步骤201、获取frt1的坐标偏移表;步骤202、根据frt1的坐标偏移表计算frt2和frt3的坐标偏移表;步骤203、将frt1、frt2、frt3组合为一张frt pos list表。3.根据权利要求2所述的方法,其特征在于,获取frt1的坐标偏移表具体为:frt1数据位置偏移=当前pe偏移+当前ret偏移
×
ret偏移步长;其中,pe为nand闪存的擦写次数,ret为nand闪存中数据保存的时间。4.根据权利要求2所述的方法,其特征在于,所述根据frt1的坐标偏移表计算frt2和frt3的坐标偏移表,具体为:frt2数据位置偏移=pe偏移步长+frt1数据位置偏移,frt3数据位置偏移=2
×
pe偏移步长+frt1数据位置偏移。5.根据权利要求1所述的方法,其特征在于,从frt原始数据表中提取a、b、c、d、e、f、g轴数据,具体为:步骤301、遍历frt pos list表,获取当前处理的frtx表;步骤302、遍历frtx表中元素;步骤303、获取frtx表a、b、c、d、e、f、g轴的数据列表。6.根据权利要求1或5所述的方法,其特征在于,所述重组frt表,具体为:将数据列表a、b、c、d、e、f、g轴数据列表组合成ssd需要的frt格式;将所述数据保存到文件中。7.根据权利要求6所述的方法,其特征在于,将数据保存到文件后,循环遍历frt pos list表,直至获取frt1、frt2、frt3表中所有元素,将数据列表a、b、c、d、e、f、g轴的所有数据列表组合成ssd需要的frt格式,将所述数据保存到文件中。8.一种固态硬盘中frt表的获取装置,其特征在于,包括:原始数据获取模块,用于获取frt原始数据处理,将nand测试获取的frt数据汇总于lower page all list、middle page all list、upper page all list列表,其中lower page all list的最小元素“[a,e]”格式,用于为表示a轴、e轴数据,middle page all list
最小元素为“[b,d,f]”格式,用于表示b轴、d轴和f轴数据,upper page all list最小元素为“[c,g]”格式,用于表示c轴和g轴数据;数据位置偏移表获取模块,用于获取frt1、frt2、frt3的数据位置偏移表;数据提取模块,用于从frt原始数据表中提取a、b、c、d、e、f、g轴数据;重组模块,用于重组frt表,将提取的a、b、c、d、e、f、g轴数据进行重组并将生成的数据保存到文件中。9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被执行时实现如权利要求1-7任意一项所述的方法。10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-7任意一项所述的方法。
技术总结
本发明提供了一种固态硬盘中FRT表的获取方法,包括,FRT原始数据处理,将NAND测试获取的FRT数据汇总于lower page all list,middle page all list,upper page all list列表,用于表示A、B、C、D、E、F、G轴数据,所述的lower page all list表,包含FRT1、FRT2、FRT3三组数据;获取FRT1、FRT2、FRT3的数据位置偏移表;从FRT原始数据表中提取A、B、C、D、E、F、G轴数据;重组FRT表,将提取的A、B、C、D、E、F、G轴数据进行重组并将生成的数据保存到文件中。本发明的通过对NAND测试获取的偏移电压表进行脚本分析,最终获取到SSD固件中应用的FRT表,将FRT表应用到SSD固件中,极大程度的降低读错误的发生。极大程度的降低读错误的发生。极大程度的降低读错误的发生。
技术研发人员:
秦飞
受保护的技术使用者:
山东云海国创云计算装备产业创新中心有限公司
技术研发日:
2021.12.30
技术公布日:
2022/5/17