数据管理方法、固态硬盘控制器、固态硬盘及存储介质与流程
未命名
08-18
阅读:161
评论:0

1.本技术涉及存储设备应用领域,特别是涉及一种数据管理方法、固态硬盘控制器、固态硬盘及存储介质。
背景技术:
2.固态硬盘(solid state drives,ssd),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(flash存储芯片或dram存储芯片)。
3.闪存(nand flash)是固态硬盘的主要存储介质。nand flash数据存储原理:对于写入颗粒的数据值,每个数据值对应一个电荷量,颗粒通过存储电荷量的方式来保存数据。由于颗粒的电气特性,闪存会出现读干扰(read disturb)和数据静置(data retention)的现象,这两种现象都会引起物理块的阈值电压偏移,从而导致比特翻转错误。然而过多的错误比特需要主控的纠错单元进行纠错,一旦超过主控的纠错能力,会出现不可恢复的数据错误,从而带来数据损失。
4.现有技术通常采用刷新的方式解决读干扰和数据静置问题,即对这两种现象导致出现比特错误高的闪存块进行数据搬移。然而这种方式会影响固态硬盘的读写性能,并降低固态硬盘的寿命。
技术实现要素:
5.本技术实施例提供一种数据管理方法、固态硬盘控制器、固态硬盘及存储介质,能够降低由于电压偏移导致的比特翻转错误率,并减少对产生数据静置的块的搬移,提高固态硬盘的性能和寿命。
6.本技术实施例提供以下技术方案:
7.第一方面,本技术实施例提供一种数据管理方法,数据管理方法应用于固态硬盘,固态硬盘包括物理块,数据管理方法包括:
8.将物理块中的若干个物理页划分入读干扰保留页集合;
9.当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
10.在一些实施例中,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,包括:
11.在读干扰保留页集合为非空时,从读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将待写入页从读干扰保留页集合中删除;
12.将一个读取频率大于频率阈值的逻辑页对应的数据写入待写入页。
13.在一些实施例中,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,还包括:
14.若在预设时间内,读干扰保留页集合中的读干扰保留页被读取的总次数大于预设次数,则判断物理块的数据错误率是否降低;
15.若物理块的数据错误率未降低,则在读干扰保留页集合为非空时,将一个读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的一个读干扰保留页。
16.在一些实施例中,方法还包括:
17.建立逻辑地址到物理地址的映射表;
18.获取主机发送的写请求,其中,写请求包括逻辑地址;
19.根据逻辑地址遍历映射表,以判断物理块是否具有空闲物理页;
20.若物理块具有空闲物理页,则判断空闲物理页的地址与读干扰保留页集合中的读干扰保留页的地址是否相同;
21.若物理块不具有空闲物理页,则对物理块进行垃圾回收。
22.在一些实施例中,方法还包括:
23.若空闲物理页的地址与读干扰保留页的地址相同,则在映射表中将空闲物理页标记为读干扰保留页;
24.根据逻辑地址继续遍历映射表,以判断物理块是否具有空闲物理页。
25.在一些实施例中,方法还包括:
26.若空闲物理页的地址与读干扰保留页的地址不同,则将逻辑地址对应的数据写入空闲物理页;
27.在映射表中增加逻辑地址到空闲物理页的地址的映射关系,以更新映射表。
28.在一些实施例中,方法还包括:
29.在固态硬盘的可用空间达到空间阈值时,扫描每一物理块;
30.若物理块为静置块,则将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,其中,静置块包括静置时间大于时间阈值的物理块;
31.若物理块为非静置块,则将读取频率不大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,其中,非静置块包括静置时间不大于时间阈值的物理块。
32.第二方面,本技术实施例提供一种固态硬盘控制器,固态硬盘控制器应用于固态硬盘,固态硬盘包括物理块,固态硬盘控制器包括:
33.划分模块,用于将物理块中的若干个物理页划分入读干扰保留页集合;
34.写入模块,用于当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
35.第三方面,本技术实施例提供一种固态硬盘,包括:
36.至少一个处理器;以及,
37.与至少一个处理器通信连接的存储器;其中,
38.存储器存储有可被至少一个处理器执行的指令,以使至少一个处理器执行第一方面的数据管理方法。
39.第四方面,本技术实施例还提供了一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令被固态硬盘所执行时,使固态硬盘执行如第一方面的数据管理方法。
40.本技术实施例的有益效果是:区别于现有技术的情况下,本技术实施例提供的一种数据管理方法,数据管理方法应用于固态硬盘,固态硬盘包括物理块,数据管理方法包
括:将物理块中的若干个物理页划分入读干扰保留页集合;当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。通过保留部分物理页作为读干扰保留页,当物理块由于静置时间长而出现电压变小导致的比特翻转时,将高频读的逻辑页对应的数据写入读干扰保留页,本技术能够利用高频读的页对其他页上的存储单元产生电压增大的效果,从而使得总的由于电压偏移导致的比特翻转最低,同时利用极小的空间开销,减少对产生数据静置的物理块的搬移,提高固态硬盘的性能和寿命。
附图说明
41.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
42.图1是本技术实施例提供的一种固态硬盘的结构示意图;
43.图2是本技术实施例提供的一种电压分布示意图;
44.图3是本技术实施例提供的一种通过刷新进行数据搬移的示意图;
45.图4是本技术实施例提供的一种数据管理方法的流程示意图;
46.图5是本技术实施例提供的一种分配物理页的流程示意图;
47.图6是图4中的步骤s402的细化流程示意图;
48.图7是本技术实施例提供的一种扫描物理块的流程示意图;
49.图8是本技术实施例提供的一种将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页的示意图;
50.图9是本技术实施例提供的一种固态硬盘控制器的结构示意图;
51.图10是本技术实施例提供的一种固态硬盘的结构示意图。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本技术所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
54.下面结合说明书附图具体说明本技术的技术方案:
55.请参阅图1,图1是本技术实施例提供的一种固态硬盘的结构示意图;
56.如图1所示,固态硬盘100包括闪存介质110以及与闪存介质110连接的固态硬盘控制器120。其中,固态硬盘100通过有线或无线的方式与主机200通信连接,用以实现数据交互。
57.闪存介质110,作为固态硬盘100的存储介质,也称作闪存、nand flash、flash存储器或flash颗粒,属于存储器件的一种,是一种非易失性存储器,在没有电流供应的条件下也能够长久地保存数据,其存储特性相当于硬盘,使得闪存介质110得以成为各类便携型数字设备的存储介质的基础。
58.固态硬盘控制器120,包括数据转换器121、处理器122、缓存器123、闪存控制器124以及接口125。
59.数据转换器121,分别与处理器122和闪存控制器124连接,数据转换器121用于将二进制数据转换为十六进制数据,以及将十六进制数据转换为二进制数据。具体地,当闪存控制器124向闪存介质110写入数据时,通过数据转换器121将待写入的二进制数据转换为十六进制数据,然后再写入闪存介质110。当闪存控制器124从闪存介质110读取数据时,通过数据转换器121将闪存介质110中存储的十六进制数据转换为二进制数据,然后从二进制数据页寄存器中读取转换后的数据。其中,数据转换器121可以包括二进制数据寄存器和十六进制数据寄存器。二进制数据寄存器可以用于保存由十六进制转换为二进制后的数据,十六进制数据寄存器可以用于保存由二进制转换为十六进制后的数据。
60.处理器122,分别与数据转换器121、缓存器123、闪存控制器124以及接口125连接,其中,处理器122与数据转换器121、缓存器123、闪存控制器124以及接口125可以通过总线或者其他方式连接,处理器用于运行存储在缓存器123中的非易失性软件程序、指令以及模块,从而实现本技术任一方法实施例。在此基础上,通过固件开发,还用于负责闪存转换层(flash translation layer,ftl)的核心处理。
61.缓存器123,主要用于缓存主机200发送的读/写指令以及根据主机200发送的读/写指令从闪存介质110获取的读数据或者写数据。
62.闪存控制器124,与闪存介质110、数据转换器121、处理器122以及缓存器123连接,用于访问后端的闪存介质110,管理闪存介质110的各种参数和数据i/o。
63.接口125,连接主机200以及数据转换器121、处理器122以及缓存器123,用于接收主机200发送的数据,或者,接收处理器122发送的数据,实现主机200与处理器122之间的数据传输,接口125可以为sata-2接口、sata-3接口、sas接口、msata接口、pci-e接口、ngff接口、cfast接口、sff-8639接口、u.2接口、aic接口和m.2nvme/sata协议。
64.目前,由于闪存颗粒的电气特性,闪存会出现读干扰(read disturb)和数据静置(data retention)的现象,这两种现象都会引起闪存块的阈值电压偏移,从而导致比特翻转错误。
65.其中,读干扰是指在一个闪存块上,通过对一条字线上施加参考电压(v_ref)读出上面的页上的数据,对其它的字线上施加通道电压(v_pass),通常v_pass大于v_ref,所以其它的字线上会产生微弱的编程效果,使得存储单元的电压增大,这种效果累计会使得电压阈值超过范围,从而导致存储单元出现错误比特。数据静置是指随着时间的增加,闪存颗粒泄露电子,造成阈值电压减小,产生比特错误的现象。
66.请参阅图2,图2是本技术实施例提供的一种电压分布示意图;
67.如图2所示,读干扰会导致阈值电压右偏(电压值增大),数据静置会导致阈值电压左偏(电压值减小)。
68.对于读干扰和数据静置导致的比特翻转错误现象,出现过多的错误比特时需要主
控的纠错单元进行纠错,一旦超过主控的纠错能力,会出现不可恢复的数据错误,从而带来数据损失。现有技术通常采用刷新的方式解决读干扰和数据静置问题,即对这两种现象导致出现比特错误高的闪存块进行数据搬移。
69.请参阅图3,图3是本技术实施例提供的一种通过刷新进行数据搬移的示意图;
70.如图3所示,当某一闪存块上的数据静置一段时间后出现比特翻转时,固态硬盘控制器通过低密度奇偶校验码(low-density parity-check,ldpc)对该闪存块上的数据进行纠错,并将纠错后的数据写入新的闪存块上。
71.可以理解的是,刷新是指在数据静置一段时间后,或者被读若干次之后,将该块的数据转移到新块上,包含找新块,从旧块上读出数据,对数据进行纠错,写到新块,擦除旧块等一系列操作。这些操作不仅造成能耗开销,增大热量,影响读写性能,而且严重影响闪存的寿命。
72.基于此,本技术实施例提供一种数据管理方法,以降低由于电压偏移导致的比特翻转错误率,并减少对产生数据静置的块的搬移,提高固态硬盘的性能和寿命。
73.请参阅图4,图4是本技术实施例提供的一种数据管理方法的流程示意图;
74.其中,该数据管理方法,应用于固态硬盘,该固态硬盘包括物理块,例如闪存块。
75.如图4所示,该数据管理方法,包括:
76.步骤s401:将物理块中的若干个物理页划分入读干扰保留页集合;
77.具体的,对于一个包含n个页的新分配的物理块,保留n个物理页作为该物理块的读干扰保留区域,并将这n个物理页划分入读干扰保留页集合(这n个物理页又称为读干扰保留页),其它的n-n个页作为正常使用区域。其中,0《n《n,读干扰保留区域用于当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留区域中的读干扰保留页,正常使用区域用于在获取主机发送的写请求后,将逻辑地址对应的数据写入正常使用区域的空闲物理页,其中,写请求包括逻辑地址。
78.在本技术实施例中,在将物理块中的若干个物理页划分入读干扰保留页集合后,方法还包括:分配物理页。
79.具体的,请参阅图5,图5是本技术实施例提供的一种分配物理页的流程示意图;
80.如图5所示,分配物理页的流程,包括:
81.步骤s501:建立逻辑地址到物理地址的映射表;
82.其中,逻辑地址到物理地址(logical to physical,l2p)的映射表,即l2p表全量缓存在固态硬盘的动态随机存取存储器(dynamic random access memory,dram)中。
83.步骤s502:获取主机发送的写请求;
84.其中,写请求包括逻辑地址。
85.步骤s503:根据逻辑地址遍历映射表,以判断物理块是否具有空闲物理页;
86.具体的,获取当前进程的页表指针,根据逻辑地址的页号,访问页表中的对应项,如果对应项的有效位为0,则说明物理页为空闲物理页,如果对应项的有效位为1,则说明物理页已被使用,需要继续遍历下一个页表。
87.进一步地,若物理块不具有空闲物理页,则进入步骤s504:对物理块进行垃圾回收;若物理块具有空闲物理页,则进入步骤s505:判断空闲物理页的地址与读干扰保留页集合中的读干扰保留页的地址是否相同。
88.步骤s504:对物理块进行垃圾回收;
89.具体的,若物理块不具有空闲物理页,则对物理块进行垃圾回收(garbage collection),以释放空闲空间。具体的,在物理块上的有效数据搬移成功后,擦除该物理块,以释放物理块的空间用于写入新的数据。进一步地,在对物理块进行垃圾回收后,返回步骤s503:根据逻辑地址遍历映射表,以判断物理块是否具有空闲物理页。
90.步骤s505:判断空闲物理页的地址与读干扰保留页集合中的读干扰保留页的地址是否相同;
91.具体的,若物理块具有空闲物理页,则判断空闲物理页的地址与读干扰保留页集合中的读干扰保留页的地址是否相同。若空闲物理页的地址与读干扰保留页集合中的一个读干扰保留页的地址相同,则进入步骤s506:在映射表中将空闲物理页标记为读干扰保留页;若空闲物理页的地址与读干扰保留页集合中的所有读干扰保留页的地址均不同,则进入步骤s507:将逻辑地址对应的数据写入空闲物理页。
92.步骤s506:在映射表中将空闲物理页标记为读干扰保留页;
93.具体的,若空闲物理页的地址与读干扰保留页集合中的一个读干扰保留页的地址相同,则在映射表中将空闲物理页标记为读干扰保留页,然后返回步骤s503,根据逻辑地址继续遍历映射表,以判断物理块是否具有空闲物理页。
94.步骤s507:将逻辑地址对应的数据写入空闲物理页;
95.具体的,若空闲物理页的地址与读干扰保留页集合中的所有读干扰保留页的地址均不同,则将逻辑地址对应的数据写入空闲物理页。
96.步骤s508:更新映射表。
97.具体的,将逻辑地址对应的数据写入空闲物理页后,在映射表中增加逻辑地址到空闲物理页的地址的映射关系,以更新映射表。
98.在本技术实施例中,通过在空闲物理页的地址与读干扰保留页的地址相同时,在映射表中将空闲物理页标记为读干扰保留页,在空闲物理页的地址与读干扰保留页的地址不同时,将逻辑地址对应的数据写入空闲物理页,能够将除了读干扰保留区域的n个页以外的所有页都分配完,并保留若干个读干扰保留页,以便后续将高频读的逻辑页对应的数据写入读干扰保留页。
99.步骤s402:当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
100.其中,静置时间包括物理块处于静置状态的时间,例如:物理块中的数据在不使用情况下的保持时间,时间阈值、频率阈值可由本领域技术人员根据实际情况进行设置,在本实施例中不做限制。
101.具体的,请参阅图6,图6是图4中的步骤s402的细化流程示意图;
102.如图6所示,步骤s402:当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,包括:
103.步骤s4021:确定一个物理块;
104.具体的,从闪存中选择一个物理块。
105.步骤s4022:判断物理块的静置时间是否大于时间阈值;
106.具体的,若该物理块的静置时间大于时间阈值,则进入步骤s4023:判断读干扰保
留页集合是否为空;若该物理块的静置时间不大于时间阈值,则流程结束。可以理解的是,若该物理块的静置时间不大于时间阈值,则表明该物理块尚未出现因数据静置导致阈值电压减小的现象,该物理块可以正常使用。
107.步骤s4023:判断读干扰保留页集合是否为空;
108.具体的,判断由该物理块中的若干个物理页组成的读干扰保留页集合是否为空。若读干扰保留页集合为空,则进入步骤s4029:进行数据搬移;若读干扰保留页集合为非空,则进入步骤s4024:从读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将待写入页从读干扰保留页集合中删除。
109.步骤s4024:从读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将待写入页从读干扰保留页集合中删除;
110.具体的,在读干扰保留页集合为非空时,从读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将待写入页从读干扰保留页集合中删除。
111.步骤s4025:将一个读取频率大于频率阈值的逻辑页对应的数据写入待写入页;
112.具体的,在物理块的静置时间大于时间阈值时,表明该物理块可能出现因数据静置导致阈值电压减小的现象,此时,将一个读取频率大于频率阈值的逻辑页对应的数据写入待写入页,能够利用该读频繁的逻辑页所产生的读干扰来对该数据静置时间长的物理块上面的单元产生电压增大的效应来降低错误率。
113.步骤s4026:记录读干扰保留页集合中的读干扰保留页被读取的总次数;
114.步骤s4027:判断在预设时间内,读干扰保留页集合中的读干扰保留页被读取的总次数是否大于预设次数;
115.具体的,若在预设时间内,读干扰保留页集合中的读干扰保留页被读取的总次数大于预设次数,则进入步骤s4028:判断物理块的数据错误率是否降低;若在预设时间内,读干扰保留页集合中的读干扰保留页被读取的总次数不大于预设次数,则返回步骤s4023:判断读干扰保留页集合是否为空,其中,预设次数可由本领域技术人员根据实际情况进行设置,在本实施例中不做限制。
116.步骤s4028:判断物理块的数据错误率是否降低;
117.具体的,数据错误率包括整体比特错误率,整体比特错误率=错误比特数目/总比特数目。若物理块的数据错误率降低,则流程结束;若物理块的数据错误率未降低,则返回步骤s4023:判断读干扰保留页集合是否为空。
118.进一步地,若在步骤s4023时判断读干扰保留页集合为非空,则进入步骤s4024:从读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将待写入页从读干扰保留页集合中删除,也就是,若物理块的数据错误率未降低,在读干扰保留页集合为非空时,将一个读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的一个读干扰保留页。
119.步骤s4029:进行数据搬移。
120.具体的,若由该物理块中的若干个物理页组成的读干扰保留页集合为空,则对该物理块进行数据搬移。可以理解的是,在物理块上的有效数据搬移成功后,擦除该物理块,以释放物理块的空间用于写入新的数据。进一步地,将擦除后的物理块中的若干个物理页划分入读干扰保留页集合,当该物理块的静置时间大于时间阈值时,将读取频率大于频率
阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
121.在本技术实施例中,通过保留部分物理页作为读干扰保留页,当物理块由于静置时间长而出现电压变小导致的比特翻转时,将高频读的逻辑页对应的数据写入读干扰保留页,能够利用读频繁的逻辑页所产生的读干扰来对数据静置时间长的物理块上的存储单元产生电压增大的效应来降低数据错误率,从而使得总的由于电压偏移导致的比特翻转最低。
122.在本技术实施例中,由于分配物理页时采用的方法会使得除了读干扰保留区域的n个页以外的所有页都分配完,而对于一个包含n个物理页的物理块,其利用率为(n-n)/n,这样会造成存储空间的浪费。因此,为了提高存储空间的利用率,方法还包括:
123.在固态硬盘的可用空间达到空间阈值时,扫描每一物理块。其中,空间阈值由本领域技术人员根据实际情况进行设置,在本实施例中不做限制。
124.具体的,请参阅图7,图7是本技术实施例提供的一种扫描物理块的流程示意图;
125.如图7所示,扫描物理块的流程,包括:
126.步骤s701:确定一个物理块;
127.具体的,从闪存中选择一个物理块。
128.步骤s702:判断物理块的静置时间是否大于时间阈值;
129.具体的,若该物理块的静置时间大于时间阈值,则该物理块为静置块,进入步骤s703:将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页;若该物理块的静置时间不大于时间阈值,则该物理块为非静置块,进入步骤s704:将读取频率不大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
130.步骤s703:将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页;
131.具体的,若物理块为静置块,则将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,其中,静置块包括静置时间大于时间阈值的物理块。
132.请参阅图8,图8是本技术实施例提供的一种将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页的示意图;
133.如图8所示,一个物理块包括若干个读干扰保留页,该物理块在写入数据时先将数据写入除若干个读干扰保留页外的其它页中,当该物理块的静置时间长时,即静置时间大于时间阈值时,将高频读的逻辑页(即读取频率大于频率阈值的逻辑页)对应的数据写入读干扰保留页。
134.步骤s704:将读取频率不大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
135.具体的,若物理块为非静置块,则将读取频率不大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页,其中,非静置块包括静置时间不大于时间阈值的物理块。
136.进一步地,对该固态硬盘中的每一物理块均进行上述步骤s701-s704的操作,以提高固态硬盘的空间利用率。
137.在本技术实施例中,通过将读取频率不大于频率阈值的逻辑页对应的数据写入非
静置块的读干扰保留页,能够将非静置块的读干扰保留区域利用,从而使非静置块达到100%的利用率。
138.在本技术实施例中,通过提供一种数据管理方法,数据管理方法应用于固态硬盘,固态硬盘包括物理块,数据管理方法包括:将物理块中的若干个物理页划分入读干扰保留页集合;当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。通过保留部分物理页作为读干扰保留页,当物理块由于静置时间长而出现电压变小导致的比特翻转时,将高频读的逻辑页对应的数据写入读干扰保留页,本技术能够利用高频读的页对其他页上的存储单元产生电压增大的效果,从而使得总的由于电压偏移导致的比特翻转最低,同时利用极小的空间开销,减少对产生数据静置的物理块的搬移,提高固态硬盘的性能和寿命。
139.请再参阅图9,图9是本技术实施例提供的一种固态硬盘控制器的结构示意图;
140.如图9所示,该固态硬盘控制器900包括划分模块901和写入模块902。其中,固态硬盘控制器900应用于固态硬盘,固态硬盘包括物理块,固态硬盘控制器900包括:
141.划分模块901,用于将物理块中的若干个物理页划分入读干扰保留页集合;
142.写入模块902,用于当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
143.在本技术的一些实施方式中,写入模块902具体用于在读干扰保留页集合为非空时,从读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将待写入页从读干扰保留页集合中删除;将一个读取频率大于频率阈值的逻辑页对应的数据写入待写入页。
144.在本技术的一些实施方式中,写入模块902还用于若在预设时间内,读干扰保留页集合中的读干扰保留页被读取的总次数大于预设次数,则判断物理块的数据错误率是否降低;若物理块的数据错误率未降低,则在读干扰保留页集合为非空时,将一个读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的一个读干扰保留页。
145.请再参阅图10,图10是本技术实施例提供的一种固态硬盘的结构示意图;
146.如图10所示,该固态硬盘101包括一个或多个处理器1011以及存储器1012。其中,图10中以一个处理器1011为例。
147.处理器1011和存储器1012可以通过总线或者其他方式连接,图10中以通过总线连接为例。
148.处理器1011,用于提供计算和控制能力,以控制固态硬盘101执行相应任务,例如,控制固态硬盘101执行上述任一方法实施例中的数据管理方法,包括:将物理块中的若干个物理页划分入读干扰保留页集合;当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。
149.通过保留部分物理页作为读干扰保留页,当物理块由于静置时间长而出现电压变小导致的比特翻转时,将高频读的逻辑页对应的数据写入读干扰保留页,本技术能够利用高频读的页对其他页上的存储单元产生电压增大的效果,从而使得总的由于电压偏移导致的比特翻转最低,同时利用极小的空间开销,减少对产生数据静置的物理块的搬移,提高固态硬盘的性能和寿命。
150.处理器1011可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、硬件芯片或者其任意组合;还可以是数字信号
处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
151.存储器1012作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本技术实施例中的数据管理方法对应的程序指令/模块。处理器1011通过运行存储在存储器1012中的非暂态软件程序、指令以及模块,可以实现上述任一方法实施例中的数据管理方法。具体地,存储器1012可以包括易失性存储器(volatile memory,vm),例如随机存取存储器(random access memory,ram);存储器1012也可以包括非易失性存储器(non-volatile memory,nvm),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)或其他非暂态固态存储器件;存储器1012还可以包括上述种类的存储器的组合。
152.存储器1012可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1012可选包括相对于处理器1011远程设置的存储器,这些远程存储器可以通过网络连接至处理器1011。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
153.一个或者多个模块存储在存储器1012中,当被一个或者多个处理器1011执行时,执行上述任意方法实施例中的数据管理方法,例如,执行以上描述的图4所示的各个步骤。
154.本技术实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如上述一个或多个处理器可执行上述任意方法实施例中的数据管理方法,例如,执行以上描述的各个步骤。
155.以上所描述的装置或设备实施例仅仅是示意性的,其中作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
156.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
157.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本技术的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特
征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:
1.一种数据管理方法,其特征在于,所述方法应用于固态硬盘,所述固态硬盘包括物理块,所述方法包括:将所述物理块中的若干个物理页划分入读干扰保留页集合;当所述物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入所述读干扰保留页集合中的读干扰保留页。2.根据权利要求1所述的方法,其特征在于,所述将读取频率大于频率阈值的逻辑页对应的数据写入所述读干扰保留页集合中的读干扰保留页,包括:在所述读干扰保留页集合为非空时,从所述读干扰保留页集合中选取一个读干扰保留页作为待写入页,并将所述待写入页从所述读干扰保留页集合中删除;将一个读取频率大于频率阈值的逻辑页对应的数据写入所述待写入页。3.根据权利要求2所述的方法,其特征在于,所述将读取频率大于频率阈值的逻辑页对应的数据写入所述读干扰保留页集合中的读干扰保留页,还包括:若在预设时间内,所述读干扰保留页集合中的读干扰保留页被读取的总次数大于预设次数,则判断所述物理块的数据错误率是否降低;若所述物理块的数据错误率未降低,则在所述读干扰保留页集合为非空时,将一个读取频率大于频率阈值的逻辑页对应的数据写入所述读干扰保留页集合中的一个读干扰保留页。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:建立逻辑地址到物理地址的映射表;获取主机发送的写请求,其中,所述写请求包括逻辑地址;根据所述逻辑地址遍历所述映射表,以判断所述物理块是否具有空闲物理页;若所述物理块具有空闲物理页,则判断所述空闲物理页的地址与所述读干扰保留页集合中的读干扰保留页的地址是否相同;若所述物理块不具有空闲物理页,则对所述物理块进行垃圾回收。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述空闲物理页的地址与所述读干扰保留页的地址相同,则在所述映射表中将所述空闲物理页标记为读干扰保留页;根据所述逻辑地址继续遍历所述映射表,以判断所述物理块是否具有空闲物理页。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述空闲物理页的地址与所述读干扰保留页的地址不同,则将所述逻辑地址对应的数据写入所述空闲物理页;在所述映射表中增加所述逻辑地址到所述空闲物理页的地址的映射关系,以更新所述映射表。7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:在所述固态硬盘的可用空间达到空间阈值时,扫描每一所述物理块;若所述物理块为静置块,则将读取频率大于频率阈值的逻辑页对应的数据写入所述读干扰保留页集合中的读干扰保留页,其中,所述静置块包括静置时间大于时间阈值的物理块;若所述物理块为非静置块,则将读取频率不大于频率阈值的逻辑页对应的数据写入所
述读干扰保留页集合中的读干扰保留页,其中,所述非静置块包括静置时间不大于时间阈值的物理块。8.一种固态硬盘控制器,其特征在于,所述固态硬盘控制器应用于固态硬盘,所述固态硬盘包括物理块,所述固态硬盘控制器包括:划分模块,用于将所述物理块中的若干个物理页划分入读干扰保留页集合;写入模块,用于当所述物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入所述读干扰保留页集合中的读干扰保留页。9.一种固态硬盘,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,以使所述至少一个处理器执行权利要求1-7任一项所述的数据管理方法。10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被固态硬盘执行时,使所述固态硬盘执行权利要求1-7任一项所述的数据管理方法。
技术总结
本申请实施例涉及存储设备应用领域,公开了一种数据管理方法、固态硬盘控制器、固态硬盘及存储介质,数据管理方法应用于固态硬盘,固态硬盘包括物理块,数据管理方法包括:将物理块中的若干个物理页划分入读干扰保留页集合;当物理块的静置时间大于时间阈值时,将读取频率大于频率阈值的逻辑页对应的数据写入读干扰保留页集合中的读干扰保留页。通过保留部分物理页作为读干扰保留页,当物理块由于静置时间长而出现电压变小导致的比特翻转时,将高频读的逻辑页对应的数据写入读干扰保留页,本申请能够降低由于电压偏移导致的比特翻转错误率,并减少对产生数据静置的块的搬移,提高固态硬盘的性能和寿命。高固态硬盘的性能和寿命。高固态硬盘的性能和寿命。
技术研发人员:陈祥 杨颖
受保护的技术使用者:成都大普微聚科技有限公司
技术研发日:2023.05.05
技术公布日:2023/8/16

版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/