一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

固态硬盘对写入块的处理方法及装置、存储介质、设备与流程

2022-04-02 05:04:37 来源:中国专利 TAG:


1.本技术涉及数据存储技术领域,尤其是涉及到一种固态硬盘对写入块的处理方法及装置、存储介质、计算机设备。


背景技术:

2.固态硬盘(nand)中的数据块(block)在没有写满时,经过一定时间之后,读取未写满的数据块中最后写入的一层字线(wl,wordline)的数据时,原始错误率明显增高,这种现象称为写入块(open block)现象。
3.导致数据块写不满的原因主要有两个:
4.1)来自主机(host)的写入数据不是数据块存储容量的整数倍;
5.2)意外断电导致最后一个数据块的写操作被中断。
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.可选地,所述字线填充模块,还用于:
43.在所述固态硬盘意外断电后重新启动时;和/或
44.在所述固态硬盘进行定期检查后重新启动时。
45.可选地,所述字线判断模块,具体用于:
46.从所述写入块内读取出的全部数据或从所述写入块内读取出的部分数据或所述
字线中预设的辅助数据。
47.依据本技术又一个方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种固态硬盘对写入块的处理方法。
48.依据本技术再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种固态硬盘对写入块的处理方法。
49.借由上述技术方案,本技术提供的一种固态硬盘对写入块的处理方法及装置、存储介质、计算机设备,该固态硬盘中对写入块的处理方法用于改善固态硬盘中的数据块在没有写满时,经过一定时间之后,读取该数据块最后写入的一层字线的数据时,原始错误率明显增高的现象,即写入块现象,本技术通过检测写入块的生成信号,向写入块内填充字线并判断字线是否为辅助字线来决定是否写入新数据,进而使写入块转换为完成块,上述方法对于写入块的抑制错误效果好,复杂程度较低。
50.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
51.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
52.图1为本技术实施例提供的当检测到所述写入块的生成信号时的判断逻辑示意图;
53.图2a为本技术实施例提供的当后一个字线处于擦除状态时,前一个字线的电子会向后一个字线大量迁移的示意图;
54.图2b为本技术实施例提供的当相邻的下一个字线上被编写了数据,则电子迁移会被抑制的示意图;
55.图3为本技术实施例提供的在多个层的交界处受辅助字线的影响,写入块现象不明显的示意图;
56.图4为本技术实施例提供的由于写入数据的量不足产生写入块时的判断逻辑示意图;
57.图5为本技术实施例提供的一种固态硬盘对写入块的装置的结构示意图。
具体实施方式
58.下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
59.在本实施例中提供了固态硬盘对写入块的处理方法,以该方法应用于计算机设备为例,如图1所示,该方法包括:
60.101、当检测到写入块的生成信号时,向所述写入块内填充字线;
61.102、判断所述字线是否为辅助字线,若所述字线不是所述辅助字线,则向所述字线中写入新数据,直至所述写入块转换为完成块;
62.103、若所述字线是所述辅助字线,则停止向所述字线中写入所述新数据,并将所述写入块转换为所述完成块。
63.本技术实施例主要应用于在固态硬盘中,对写入块进行处理,而当产生写入块并造成写入块的错误率明显增高的原因是,当最后一个字线被编写(program)且相邻的字线处于擦除(erase)状态时,则最后一个字线中的负电子会在垂直方向上向下一个字线迁移,从而加剧滞留(retention)的效应,导致其比特误码比率(rber,raw bit error rate)远高于其他字线,参见图2a,若在相邻的下一个字线的数据被编写,则这种迁移会被抑制,参见图2b,而完成编写的下一个字线被称为辅助字线(dummy wl),在多个层(deck)交界处,由于辅助字线的存在,写入块现象也不明显,参见图3,因此把下一个字线全部编写到最高电平可以对写入块的最后一个字线达到最好的保护效果,通过添加字线并对字线进行判断是否为辅助字线使得固态硬盘对写入块的抑制错误效果更好。
64.具体的,步骤101中,通过检测写入块的生成信号时,对写入块的产生进行预先判断,向写入块内填充字线,并对字线进行判断,步骤102中,若字线不是辅助字线,将写入块中的内容全部或部分地复制到下一层字线中来形成新的完成块,这样写入块中的每个单元在下一层字线中相邻的单元中的电平区域和自身的电平区域完全相同,直至写入块转换为完成块,避免了从写入块所在的字线中读取所耗费的时间,对写入速度的影响最小化,同时,在最短的时间间隔内形成完成块也最有利于对写入块的数据形成保护,步骤103中,若字线是辅助字线,则不再继续进行操作,写入块会转换为完成块。
65.通过应用本实施例的技术方案,本技术提供的一种固态硬盘对写入块的处理方法及装置、存储介质,该固态硬盘中对写入块的处理方法用于改善固态硬盘中的数据块在没有写满时,经过一定时间之后,该数据块最后写入的一层字线的数据读取时的原始错误率明显增高的现象,即写入块现象,本技术通过检测写入块的生成信号,向写入块内填充字线并判断字线是否为辅助字线来决定是否写入新数据,进而使写入块转换为完成块,上述方法对于写入块的抑制错误效果好,复杂程度较低于现有的写入块关闭方法。
66.在本技术实施例中,可选地,当检测到写入块的生成信号时,具体包括:向固态硬盘的数据块内写入数据;响应于所述数据块内的完成写入数据或停止写入数据的指令,检测所述数据块内的数据量,并判断所述数据块内的数据量是否为所述数据块的存储容量的整数倍;若所述数据块内的数据量不是所述数据块的存储容量的整数倍,则判定所述数据块内的数据量不足,并将所述数据块转换为所述写入块;若所述数据块内的数据量是所述数据块的存储容量的整数倍,则判定所述数据块内的数据量充足,并将所述数据块转换为所述完成块。
67.通过应用本实施例的技术方案,向数据块正常写入数据时,来自主机的写入数据不是数据块存储容量的整数倍,即向数据块正常写入数据时,由于写入数据的量不足产生写入块,此情况下,可根据写入的数据量来预判是否会产生写入块。
68.在本技术实施例中,可选地,若所述字线不是所述辅助字线,则向所述字线中写入新数据,具体包括:对所述写入块内的数据进行缓存。
69.在上述实施例中,具体判断的逻辑参考图4,图4为本技术实施例提供的由于写入数据的量不足产生写入块时的判断逻辑示意图,根据写入数据的量来预判是否会产生写入块时,如果否,则数据写入后形成完成块;如果是,则在数据写入后立刻填充写入块的下一
层字线,在数据写入后立刻填充写入块的下一层字线时,则参考图1所示出的判断逻辑,即判断写入块的下一层字线是否为辅助字线;如果否,则在写入块的下一层字线中写入新数据,直至完成块形成;如果是,则在写入块的下一层字线中不写入新数据,完成块形成。
70.当向数据块正常写入数据时,数据量不够可能导致产生写入块,当ssd控制器发现这种原因导致的写入块时,直接将上面当前写入块的内容复制到下一层字线,由于写入块的产生时完全可以根据写入的数据量来预先判断的,这些数据可以在写入任务完成后,立刻重写缓存中获得,这样避免了从写入块所在的字线中读取所耗费的时间,对写入速度的影响最小化,同时,在最短的时间间隔内地形成完成块也最有利于对写入块的数据形成保护。
71.通常写缓存的数据在正常写操作完成后即被清空,或被标记为失效,这样会导致无法从中获取写入块的数据,因此,当ssd控制器预先判断到会产出写入块时,应当通知写缓存暂停清空或标记失效,直至完成块形成,或者将写入块中的数据在其他位置额外缓存一次。
72.如果缓存空间有限,也可以考虑只缓存写入块的一部分内容,以三阶单元(tlc)形式的固态硬盘存储芯片为例,每个单元有8种可能的电平状态,用来存储3比特信息,在这3个比特中,通常最低有效位(lsb,least significant bit)决定了电平是比v4低还是高,如果我们只缓存写入块的最低有效位信息,那么在下一个字线上的各个单元中写入的就只有2种电平,即单层单元(slc)格式的数据,也就是说写入块的部分数据是根据其中存放的最低有效位得到的,数据形式为单层单元格式,由于重新写入的新数据与写入块的有关,因而其保护效果较强。
73.在本技术实施例中,可选地,对所述写入块内的数据进行缓存,所述数据具体包括:所述写入块内的最后一个被写入的字线的全部数据或所述写入块内的最后一个被写入的字线的部分数据。
74.在上述实施例中,当数据量不够可能导致产生写入块,当ssd控制器发现这种原因导致的写入块时,直接将上面当前写入块的内容复制到下一层字线,写入块内包含多个字线,选取当前写入块的最后一个被写入的字线的全部数据或写入块内的最后一个被写入的字线的部分数据进行缓存。
75.在本技术实施例中,可选地,当检测到写入块的生成信号时,具体包括:在固态硬盘重新启动后,响应于所述数据块内已完成写入数据的指令,所述数据块转换为所述写入块。
76.在上述实施例中,当产出写入块后,如果下一层字线不是辅助字线,ssd控制器在重新启动后会立刻在写入块的下一层字线中写入数据。
77.在本技术实施例中,可选地,在固态硬盘重新启动后,具体包括:在所述固态硬盘意外断电后重新启动时;和/或在所述固态硬盘进行定期检查后重新启动时。
78.在上述实施例中,产出写入块包含当ssd控制器意外断电以及当ssd控制器后台进行定期检查两种情况,如果发现固态硬盘重新启动前有意外掉电的情况发生,检测掉电前固态硬盘内最后写入的数据块,并对数据块进行判断,如果数据块是写入块,则继续执行固态硬盘对写入块的处理方法,其中,对数据块的判断方法,既可以是在发生掉电之前,通过控制器主动进行标识,也可以是在固态硬盘重启后,由控制器扫描得到。
79.在本技术实施例中,可选地,则向所述字线中写入新数据,所述新数据具体包括:从所述写入块内读取出的全部数据或从所述写入块内读取出的部分数据或从所述字线中预设的辅助数据。
80.在上述实施例中,当下一层字线不是辅助字线,ssd控制器在重新启动后会立刻在写入块的下一层字线中写入数据,数据可以是从写入块中读出的全部或部分数据,也可以是预设的辅助数据。
81.进一步的,作为图1方法的具体实现,本技术实施例提供了一种固态硬盘对写入块的处理装置,如图5所示,该装置包括:字线填充模块,用于当检测到写入块的生成信号时,向所述写入块内填充字线;字线判断模块,用于判断所述字线是否为辅助字线,若所述字线不是所述辅助字线,则向所述字线中写入新数据,直至所述写入块转换为完成块;若所述字线是所述辅助字线,则停止向所述字线中写入所述新数据,并将所述写入块转换为所述完成块。
82.可选地,所述字线填充模块,具体用于:向固态硬盘的数据块内写入数据;响应于所述数据块内的完成写入数据或停止写入数据的指令,检测所述数据块内的数据量,并判断所述数据块内的数据量是否为所述数据块的存储容量的整数倍;若所述数据块内的数据量不是所述数据块的存储容量的整数倍,则判定所述数据块内的数据量不足,并将所述数据块转换为所述写入块;若所述数据块内的数据量是所述数据块的存储容量的整数倍,则判定所述数据块内的数据量充足,并将所述数据块转换为所述完成块。
83.可选地,所述字线判断模块,具体用于:对所述写入块内的数据进行缓存。
84.可选地,所述字线判断模块,还用于:所述写入块内的最后一个被写入的字线的全部数据或所述写入块内的最后一个被写入的字线的部分数据。
85.可选地,所述字线填充模块,具体用于:在固态硬盘重新启动后,响应于所述数据块内已完成写入数据的指令,所述数据块转换为所述写入块。
86.可选地,所述字线填充模块,还用于:在所述固态硬盘意外断电后重新启动时;和/或在所述固态硬盘进行定期检查后重新启动时。
87.可选地,所述字线判断模块,具体用于:从所述写入块内读取出的全部数据或从所述写入块内读取出的部分数据或所述字线中预设的辅助数据。
88.需要说明的是,本技术实施例提供的一种固态硬盘对写入块的处理装置所涉及各功能单元的其他相应描述,可以参考图1至图4方法中的对应描述,在此不再赘述。
89.基于上述如图1和图4所示方法,相应的,本技术实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1和图4所示的固态硬盘对写入块的处理方法。
90.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
91.基于上述如图1和图4所示的方法,以及图5所示的虚拟装置实施例,为了实现上述目的,本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执
行计算机程序以实现上述如图1和图4所示的固态硬盘对写入块的处理方法。
92.可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。
93.本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
94.存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
95.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现固态硬盘对写入块的处理,用于改善固态硬盘中的数据块在没有写满时,经过一定时间之后,该数据块最后写入的一层字线的数据读取时的原始错误率明显增高的现象,即写入块现象,提出了一种抑制错误效果好,但复杂度低于现有文献的写入块关闭方法。
96.本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本技术所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
97.上述本技术序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献