一种数据的读取方法、装置、电子设备及可读存储介质转让专利

申请号 : CN202310070462.X

文献号 : CN115793991B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑善龙钟戟秦文政

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

摘要 :

本发明实施例提供了一种数据的读取方法、装置、电子设备及可读存储介质,涉及互联网技术领域,包括:根据NAND的不同阶段的NAND寿命和NAND中配置数据不同的数据保存时间,得到第一参考电压,生成针对第一参考电压的参考电压表,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,在接收到针对目标NAND的读命令时,获取目标NAND的目标NAND寿命和目标数据保存时间,从参考电压表查找对应的第一参考电压作为第二参考电压,将根据第二参考电压设置的参考电压设置命令组装进读命令得到目标读命令,将目标读命令发至目标NAND,以使在参考电压为第二参考电压时读取目标NAND中的目标配置数据。

权利要求 :

1.一种数据的读取方法,应用于固态硬盘,所述固态硬盘包括多个NAND,各个所述NAND存储有配置数据,其特征在于,所述方法包括:根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压;

根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表;其中,所述参考电压表包括所述第一参考电压对应的NAND寿命和配置数据对应的数据保存时间;

在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间;

从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压;

根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令;

将所述目标读命令发送至所述目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。

2.根据权利要求1所述的方法,其特征在于,所述根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压,包括:将各个所述NAND的不同阶段的NAND寿命进行划分,得到多个寿命段;

将各个所述NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段;

将各个所述寿命段和各个所述数据时间段组合成多个矩阵;

根据各个所述矩阵得到针对各个所述NAND的多个第一参考电压。

3.根据权利要求2所述的方法,其特征在于,所述矩阵中包含的所述寿命段和所述数据时间段一一对应。

4.根据权利要求2所述的方法,其特征在于,所述矩阵中的一个所述寿命段和一个所述数据时间段对应一个所述第一参考电压。

5.根据权利要求1所述的方法,其特征在于,所述NAND内置有固件,所述根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表,包括:将所述第一参考电压嵌入到所述NAND的固件,生成针对所述第一参考电压的参考电压表。

6.根据权利要求1所述的方法,其特征在于,所述第一参考电压用于为所述目标读命令设置的第二参考电压提供参考标准。

7.根据权利要求5所述的方法,其特征在于,所述在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间,包括:当所述NAND的固件运行时,对接收到针对目标NAND的读命令进行解析,获取所述目标NAND的目标NAND寿命和目标数据保存时间。

8.根据权利要求1所述的方法,其特征在于,所述NAND由多个NAND晶圆组成,所述NAND晶圆由多个NAND物理块组成,所述NAND物理块由多个NAND物理页组成,所述NAND晶圆分布在不同的NAND晶圆平面。

9.根据权利要求8所述的方法,其特征在于,所述读命令包括所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号。

10.根据权利要求9所述的方法,其特征在于,所述从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,包括:根据所述目标NAND的目标NAND寿命和目标数据保存时间,以及所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,从所述参考电压表中查找与所述目标NAND寿命、所述目标数据保存时间以及所述目标NAND物理页的NAND物理页号对应的第二参考电压。

11.根据权利要求8所述的方法,其特征在于,在所述根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令之后,所述方法还包括:将所述目标读命令发送至所述NAND晶圆平面;其中,所述NAND晶圆平面用于判断所述参考电压设置命令的设置状态;

根据所述参考电压设置命令的设置状态,对所述目标读命令进行相应处理。

12.根据权利要求11所述的方法,其特征在于,所述根据所述参考电压设置命令的设置状态,对所述目标读命令进行相应处理,包括:当所述参考电压设置命令设置成功时,自动触发所述目标读命令的读操作;

当所述参考电压设置命令设置失败时,重新设置所述参考电压设置命令。

13.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当执行所述目标读命令时,判断所述目标读命令设置的所述第二参考电压是否与所述参考电压表对应的第一参考电压一致;

根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理。

14.根据权利要求13所述的方法,其特征在于,所述根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理,包括:若所述第二参考电压与所述参考电压表对应的第一参考电压一致,则读取所述NAND中的目标配置数据;

若所述第二参考电压与所述参考电压表对应的第一参考电压不一致,则重新设置所述参考电压设置命令。

15.根据权利要求14所述的方法,其特征在于,在所述若所述第二参考电压与所述参考电压表对应的第一参考电压不一致,则重新设置所述参考电压设置命令之后,所述方法还包括:当重新设置所述参考电压设置命令的次数大于预设次数时,自动触发纠错操作;

若所述纠错操作无法正常执行,则将需要读取的所述NAND中的目标配置数据作为丢失数据。

16.根据权利要求1所述的方法,其特征在于,所述第一参考电压和所述第二参考电压以NAND物理页和/或NAND物理页组为单位。

17.根据权利要求16所述的方法,其特征在于,所述方法还包括:当执行所述目标读命令时,读取一笔所述NAND物理页的参考电压与所述参考电压表对应的第一参考电压一致。

18.一种数据的读取装置,应用于固态硬盘,所述固态硬盘包括多个NAND,各个所述NAND存储有配置数据,其特征在于,所述装置包括:第一参考电压获取模块,用于根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压;

参考电压表生成模块,用于根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表;其中,所述参考电压表包括所述第一参考电压对应的NAND寿命和配置数据对应的数据保存时间;

目标数据获取模块,用于在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间;

第二参考电压获取模块,用于从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压;

目标读命令获取模块,用于根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令;

数据读取模块,用于将所述目标读命令发送至所述目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。

19.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1‑17任一项所述的方法。

20.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1‑17任一项所述的方法。

说明书 :

一种数据的读取方法、装置、电子设备及可读存储介质

技术领域

[0001] 本发明实施例涉及互联网技术领域,特别是涉及一种数据的读取方法、一种数据的读取装置、一种电子设备以及一种计算机可读存储介质。

背景技术

[0002] 在固态硬盘(Solid State Disk/Solid StateDrive 简称SSD)运行过程中,特别是在固态硬盘生命后期或者静止时间(数据保存时间)比较长的读场景下,在从固态硬盘中的闪存颗粒NAND(闪存颗粒)读取数据时,闪存颗粒NAND会根据设置的参考电压来进行0/1数据判断,一笔Page(NAND物理页)的读(16K字节)所用的电压与参考电压一样的,参考电压设置命令和读命令是分开的。不同的参考电压设置下,可能会得到不同的数据,因此,如果参考电压设置的不合理,就导致该笔数据的BER(Bad bit Error Rate 数据错误率)增加,如果BER(数据错误率)超过ECC HARD (硬纠错)能力,就会触发Firmware (固件)重读操作(更换参考电压)。如果重读次数超过规定阈值,就会进行ECC soft(软纠错)和Rebuild(数据重建)的纠错流程,如果纠错失败,就会报数据丢失。
[0003] 鉴于NAND的电气特性,P/E(Programand Erase count NAND寿命)越大,氧化层越薄,电荷泄露约快。数据保存时间(Retention)越久,电荷泄露的越多。尤其在这两种情况叠加的情况下,即P/E后期和数据保存时间长,电荷泄露会比较严重,RBER(Raw Bad bit Error Rate 原始数据错误率)也比较高,对参考电压准确度要求也比较高。
[0004] 目前的方案中,已经根据不同的P/E(NAND寿命)和Retention(数据保存时间),生成了固定的参考电压(FixedRetry Table 简称FRT),参考电压设置后,如果其它的读所用的参考电压和已经设置的参考电压一样的话,就不需要再额外执行参考电压设置命令,因为执行设置命令后,需要再调度回来查看状态(是否设置成功),会带来微秒(us)级别的延迟。但是该参考电压是Block(NAND物理块)级别的,即同一Block(NAND物理块)内不同的Page(NAND物理页)采用的参考电压是相同的。由于该参考电压,对某些Page(NAND物理页)不一定是最优的,导致对于有些Page(NAND物理页)的读,进入重读的概率较大,尤其在P/E(NAND寿命)后期和数据保存时间长的恶劣场景下。

发明内容

[0005] 本发明实施例是提供一种数据的读取方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决固态硬盘在NAND寿命后期和数据保存时间长的恶劣场景下导致数据错误率增加,以及读取NAND中数据的性能降低的问题。
[0006] 本发明实施例公开了一种数据的读取方法,应用于固态硬盘,所述固态硬盘包括多个NAND,各个所述NAND存储有配置数据,所述方法包括:
[0007] 根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压;
[0008] 根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表;其中,所述参考电压表包括所述第一参考电压对应的NAND寿命和配置数据对应的数据保存时间;
[0009] 在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间;
[0010] 从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压;
[0011] 根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令;
[0012] 将所述目标读命令发送至所述目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。
[0013] 可选地,根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压,包括:
[0014] 将各个所述NAND的不同阶段的NAND寿命进行划分,得到多个寿命段;
[0015] 将各个所述NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段;
[0016] 将各个所述寿命段和各个所述数据时间段组合成多个矩阵;
[0017] 根据各个所述矩阵得到针对各个所述NAND的多个第一参考电压。
[0018] 可选地,所述矩阵中包含的所述寿命段和所述数据时间段一一对应。
[0019] 可选地,所述矩阵中的一个所述寿命段和一个所述数据时间段对应一个所述第一参考电压。
[0020] 可选地,所述NAND内置有固件,所述根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表,包括:
[0021] 将所述第一参考电压嵌入到所述NAND的固件,生成针对所述第一参考电压的参考电压表。
[0022] 可选地,所述第一参考电压用于为所述目标读命令设置的第二参考电压提供参考标准。
[0023] 可选地,所述在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间,包括:
[0024] 当所述NAND的固件运行时,对接收到针对目标NAND的读命令进行解析,获取所述目标NAND的目标NAND寿命和目标数据保存时间。
[0025] 可选地,所述NAND由多个NAND晶圆组成,所述NAND晶圆由多个NAND物理块组成,所述NAND物理块由多个NAND物理页组成,所述NAND晶圆分布在不同的NAND晶圆平面。
[0026] 可选地,读命令包括所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号。
[0027] 可选地,所述从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,包括:
[0028] 根据所述目标NAND的目标NAND寿命和目标数据保存时间,以及所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,从所述参考电压表中查找与所述目标NAND寿命、所述目标数据保存时间以及所述目标NAND物理页的NAND物理页号对应的第二参考电压。
[0029] 可选地,在所述根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令之后,所述方法还包括:
[0030] 将所述目标读命令发送至所述NAND晶圆平面;其中,所述NAND晶圆平面用于判断所述参考电压设置命令的设置状态;
[0031] 根据所述参考电压设置命令的设置状态,对所述目标读命令进行相应处理。
[0032] 可选地,所述根据所述参考电压设置命令的设置状态,对所述目标读命令进行相应处理,包括:
[0033] 当所述参考电压设置命令设置成功时,自动触发所述读命令的读操作;
[0034] 当所述参考电压设置命令设置失败时,重新设置所述参考电压设置命令。
[0035] 可选地,所述方法还包括:
[0036] 当执行所述目标读命令时,判断所述目标读命令设置的所述第二参考电压是否与所述参考电压表对应的第一参考电压一致;
[0037] 根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理。
[0038] 可选地,所述根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理,包括:
[0039] 若所述第二参考电压与所述参考电压表对应的第一参考电压一致,则读取所述闪存颗粒NAND中的目标配置数据;
[0040] 若所述第二参考电压与所述参考电压表对应的第一参考电压不一致,则重新设置所述参考电压设置命令。
[0041] 可选地,在所述若所述第二参考电压与所述参考电压表对应的第一参考电压不一致,则重新设置所述参考电压设置命令之后,所述方法还包括:
[0042] 当重新设置所述参考电压设置命令的次数大于预设次数时,自动触发纠错操作;
[0043] 若所述纠错操作无法正常执行,则将需要读取的所述NAND中的目标配置数据作为丢失数据。
[0044] 可选地,所述第一参考电压和所述第二参考电压以NAND物理页和/或NAND物理页组为单位。
[0045] 可选地,所述方法还包括:
[0046] 当执行所述目标读命令时,读取一笔所述NAND物理页的参考电压与所述参考电压表对应的第一参考电压一致。
[0047] 本发明实施例还公开了一种数据的读取装置,应用于固态硬盘,所述固态硬盘包括多个NAND,各个所述NAND存储有配置数据,所述装置包括:
[0048] 第一参考电压获取模块,用于根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压;
[0049] 参考电压表生成模块,根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表;其中,所述参考电压表包括所述第一参考电压对应的NAND寿命和配置数据对应的数据保存时间;
[0050] 目标数据获取模块,在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间;
[0051] 第二参考电压获取模块,用于从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压;
[0052] 目标读命令获取模块,用于根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令;
[0053] 数据读取模块,用于将所述目标读命令发送至所述目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。
[0054] 可选地,所述第一参考电压获取模块具体用于:
[0055] 将各个所述NAND的不同阶段的NAND寿命进行划分,得到多个寿命段;
[0056] 将各个所述NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段;
[0057] 将各个所述寿命段和各个所述数据时间段组合成多个矩阵;
[0058] 根据各个所述矩阵得到针对各个所述NAND的多个第一参考电压。
[0059] 可选地,所述NAND内置有固件,所述参考电压表生成模块具体用于:
[0060] 将所述第一参考电压嵌入到所述NAND的固件,生成针对所述第一参考电压的参考电压表。
[0061] 可选地,所述目标数据获取模块具体用于:
[0062] 当所述NAND的固件运行时,对接收到针对目标NAND的读命令进行解析,获取所述目标NAND的目标NAND寿命和目标数据保存时间。
[0063] 可选地,所述第二参考电压获取模块具体用于:
[0064] 根据所述目标NAND的目标NAND寿命和目标数据保存时间,以及所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,从所述参考电压表中查找与所述目标NAND寿命、所述目标数据保存时间以及所述目标NAND物理页的NAND物理页号对应的第二参考电压。
[0065] 可选地,所述装置还包括:
[0066] 目标读命令发送模块,用于将所述目标读命令发送至所述NAND晶圆平面;其中,所述NAND晶圆平面用于判断所述参考电压设置命令的设置状态;
[0067] 目标读命令处理模块,用于根据所述参考电压设置命令的设置状态,对所述目标读命令进行相应处理。
[0068] 可选地,所述装置还包括:
[0069] 读操作触发模块,用于当所述参考电压设置命令设置成功时,自动触发所述目标读命令的读操作;
[0070] 第一参考电压设置命令重新设置模块,用于当所述参考电压设置命令设置失败时,重新设置所述参考电压设置命令。
[0071] 可选地,所述装置还包括:
[0072] 电压对比模块,用于当执行所述目标读命令时,判断所述目标读命令设置的所述第二参考电压是否与所述参考电压表对应的第一参考电压一致;
[0073] 参考电压设置命令处理模块,用于根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理。
[0074] 可选地,所述装置还包括:
[0075] 目标配置数据读取模块,用于若所述第二参考电压与所述参考电压表对应的第一参考电压一致,则读取所述闪存颗粒NAND中的目标配置数据;
[0076] 第二参考电压设置命令重新设置模块,用于若所述第二参考电压与所述参考电压表对应的第一参考电压不一致,则重新设置所述参考电压设置命令。
[0077] 可选地,所述装置还包括:
[0078] 纠错操作执行模块,用于当重新设置所述参考电压设置命令的次数大于预设次数时,自动触发纠错操作;
[0079] 目标配置数据丢失模块,用于若所述纠错操作无法正常执行,则将需要读取的所述NAND中的目标配置数据作为丢失数据。
[0080] 本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
[0081] 所述存储器,用于存放计算机程序;
[0082] 所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
[0083] 本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
[0084] 本发明实施例包括以下优点:
[0085] 在本发明实施例中,固态硬盘包括多个NAND,各个NAND存储有配置数据,根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压,然后根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,进而在接收到针对目标NAND的读命令时,获取目标NAND的目标NAND寿命和目标数据保存时间,接着从参考电压表中查找与目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,最后将目标读命令发送至目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。本发明实施例可以通过固态硬盘中NAND的NAND寿命和闪NAND中配置数据的数据保存时间得到针对NAND的第一参考电压,进而可以根据第一参考电压得到在读取目标NAND中的目标配置数据时的第二参考电压,提高了参考电压的准确度和首次读的成功率,同时,通过将参考电压设置命令组装进读命令,减少了调度的损耗,提高了产品随机读的性能。

附图说明

[0086] 图1是本发明实施例中提供的一种数据的读取方法的步骤流程图;
[0087] 图2是本发明实施例中提供的一种数据的读取流程示意图之一;
[0088] 图3是本发明实施例中提供的一种数据的读取流程示意图之二;
[0089] 图4是本发明实施例中提供的一种数据的读取装置的结构框图;
[0090] 图5是本发明实施例中提供的一种计算机可读存储介质的结构示意图;
[0091] 图6是实现本发明各个实施例的一种电子设备的硬件结构示意图。

具体实施方式

[0092] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0093] 为了使本领域技术人员更好地理解本发明实施例的技术方案,下面对本发明实施例中涉及的部分技术特征进行解释、说明:
[0094] 固态硬盘(Solid State Drives简称SSD),简称固盘,固态硬盘(SolidState Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与传统硬盘的完全相同,在产品外形和尺寸上也完全与传统硬盘一致,但I/O(Input/Output输入/输出)性能相对于传统硬盘大大提升。被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。
[0095] QOS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力, 是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web(World Wide Web万维网)应用,或E‑mail(邮件)设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS 能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
[0096] 作为一种示例,在固态硬盘(SolidState Disk/Solid State Drive 简称SSD)运行过程中,特别是在固态硬盘生命后期或者静止时间(数据保存时间)比较长的读场景下,在从固态硬盘中的闪存颗粒NAND读取数据时,参考电压设置命令和读命令是分开的。不同的参考电压设置下,可能会得到不同的数据,因此,如果参考电压设置的不合理,就导致该笔数据的BER(数据错误率)增加,如果BER(数据错误率)超过ECC HARD (硬纠错)能力,就会触发Firmware (固件)重读操作(更换参考电压)。如果重读次数超过规定阈值,就会进行ECC soft(软纠错)和Rebuild(数据重建)的纠错流程,如果纠错失败,就会报数据丢失。目前的方案中,已经根据不同的P/E(NAND寿命)和Retention(数据保存时间),生成了固定的参考电压(FRT固定纠错电压),参考电压设置后,如果其它的读所用的参考电压和已经设置的参考电压一样的话,就不需要再额外执行参考电压设置命令,因为执行设置命令后,需要再调度回来查看状态(是否设置成功),会带来微秒(us)级别的延迟。但是该参考电压是Block(NAND物理块)级别的,即同一Block(NAND物理块)内不同的Page(NAND物理页)采用的参考电压是相同的。由于该参考电压,对某些Page(NAND物理页)不一定是最优的,导致对于有些Page(NAND物理页)的读,进入重读的概率较大,尤其在P/E(NAND寿命)后期和数据保存时间长的恶劣场景下。
[0097] 对此,本发明的核心发明点之一在于固态硬盘包括多个NAND,各个NAND存储有配置数据,根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压,然后根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,进而在接收到针对目标NAND的读命令时,获取目标NAND的目标NAND寿命和目标数据保存时间,接着从参考电压表中查找与目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,最后将目标读命令发送至目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。本发明实施例可以通过固态硬盘中NAND的NAND寿命和闪NAND中配置数据的数据保存时间得到针对NAND的第一参考电压,进而可以根据第一参考电压得到在读取目标NAND中的目标配置数据时的第二参考电压,提高了参考电压的准确度和首次读的成功率,同时,通过将参考电压设置命令组装进读命令,减少了调度的损耗,提高了产品随机读的性能。
[0098] 参照图1,示出了本发明实施例中提供的一种数据的读取方法的步骤流程图,应用于固态硬盘,所述固态硬盘包括多个NAND,各个所述NAND存储有配置数据,具体可以包括如下步骤:
[0099] 步骤101,根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压;
[0100] 对于固态硬盘,其可以表示为SSD,固态硬盘可以用于存储系统运行的数据;对于NAND,其可以为固态硬盘中的一种闪存颗粒类型,闪存颗粒又称闪存,其为一种非易失性存储器,即在断电的情况下依旧可以保存已经写入的数据,其中,闪存颗粒NAND在闪存中有着功耗更低、性能更佳以及成本低等优点,其可以由多个NAND晶圆封装而成;具体地,闪存颗粒NAND由多个NAND晶圆(DIE)组成,NAND晶圆(DIE)由多个NAND物理块(Block)组成,NAND物理块(Block)由多个NAND物理页(Page)组成,其中NAND晶圆可以分布在不同的NAND晶圆平面(Plane)上,NAND晶圆平面(Plane)可以用于检查参考电压设置命令是否设置成功。
[0101] 其中,对于配置数据,其为存储于固态硬盘中NAND的数据;对于NAND寿命(P/E),其可以表示为闪存颗粒NAND的寿命,由于NAND为固态硬盘中的闪存颗粒,因此,NAND寿命(P/E)可以理解为固态硬盘的使用寿命,其中,NAND寿命(P/E)可以用P/E循环次数表示,可以理解的是,固态硬盘的存储空间完全擦写完一次为一次P/E循环次数,示例性地,假设固态硬盘容量为120g,则擦写一次120g的数据为一个P/E循环次数;对于数据保存时间(Retention),其可以理解为固态硬盘中的数据静止时间,即数据保存在固态硬盘中的存储时间。其中,鉴于闪存颗粒NAND的电气特性,NAND寿命(P/E)越大,氧化层越薄,电荷泄露得越快,另外,数据保存时间(Retention)越久,电荷泄露的越多,尤其在这两种情况叠加的情况下,即NAND寿命(P/E)后期和数据保存时间(Retention)长的情况下,电荷泄露会比较严重,从而导致原始数据错误率(RBER)比较高,因此,对参考电压的准确度要求也比较高。
[0102] 其中,第一参考电压为根据闪存颗粒NAND的NAND寿命和闪存颗粒NAND中配置数据的数据保存时间而得到的针对闪存颗粒NAND的参考电压,可以用于为各个读命令所设置的电压提供参考。
[0103] 需要说明的是,对于第一参考电压的生成方法,可以通过NAND冶具进行离线分析,生成针对每个矩阵对应场景下的第一参考电压;其中,该参考电压以NAND物理页(Page)或NAND物理页组(Page组)为单位,在现有技术中,参考电压的单位为NAND物理块(Block),当参考电压以NAND物理块(Block)为单位时,其通常在执行读命令时只会产生一个参考电压,而本发明实施例中,参考电压以NAND物理页(Page)或NAND物理页组(Page组)为单位,能够在每一次的读操作中都生成一次参考电压,能够有针对性的设置参考电压,提高了读的准确度和成功率。另外,当执行读命令时,读取一笔NAND物理页所需要的参考电压与第一参考电压一致。
[0104] 对于第一参考电压的生成方法,本领域技术人员可以根据实际情况对NAND冶具的厂商进行选取,本发明实施例对此不作限制。
[0105] 在本发明实施例中,固态硬盘包括多个NAND,各个NAND存储有配置数据,根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对NAND的第一参考电压,能够为各个读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压提供参考标准,提高在读取数据时参考电压的准确性。
[0106] 步骤102,根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表;其中,所述参考电压表包括所述第一参考电压对应的NAND寿命和配置数据对应的数据保存时间;
[0107] 其中,对于参考电压表,其可以为将第一参考电压所对应的NAND寿命和配置数据对应的数据保存时间构成的参考电压表,由于参考电压表中包含多个第一参考电压,其也能够为各个读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压提供参考,可以理解的是,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间。
[0108] 在具体实现中,在根据各个NAND的不同阶段的NAND寿命和NAND中配置数据对应的不同的数据保存时间,得到针对NAND的第一参考电压之后,可以将多个第一参考电压构成针对第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间。
[0109] 步骤103,在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间;
[0110] 其中,对于目标NAND,其为读命令需要读取的固态硬盘中的NAND;对于读命令,其可以为读取固态硬盘中NAND存储的配置数据的命令,其中,读命令需要读取的目标配置数据为NAND中的数据;对于配置数据,其可以为系统运行时的各种数据,或平时需要存储的各类文件等;其中,对于目标NAND寿命,其为读命令中需要读取的目标NAND对应的NAND寿命,同理,对于目标数据保存时间,其为读命令中需要读取的目标NAND对应的目标数据保存时间。
[0111] 可选地,读命令还可以包括目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,其中,通过NAND物理页号查找参考电压表中的第一参考电压时,能够更加准确的获得读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压,提高在读取数据时所需要用到的参考电压的准确性。
[0112] 在具体实现中,读命令中包括需要读取的目标配置数据,目标配置数据可以为NAND中的数据,通过对发送给目标NAND的读命令进行解析,可以得到目标NAND的目标NAND寿命和目标数据保存时间,其中,可以通过目标NAND对应的目标NAND物理页号查找参考电压表中的第一参考电压时,能够更加准确的获得读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压,提高在读取数据时所需要用到的参考电压的准确性。
[0113] 步骤104,从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压;
[0114] 其中,对于第二参考电压,其可以为每一个读命令对应需要设置的参考电压,即每进行一次读命令时都需要用到一定的电压,每进行一次读操作时会产生一次新的参考电压,该参考电压可以理解为第二参考电压,其可以根据第一参考电压生成的参考电压表进行参考设置。
[0115] 可选地,参考电压表包括的第一参考电压对应的NAND寿命和配置数据对应的数据保存时间可以对应一个第一参考电压,即一个NAND寿命和一个数据保存时间可以对应一个第一参考电压。
[0116] 在具体实现中,在根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压之后,根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,在接收到针对目标NAND的读命令时,对读命令进行解析,获取目标NAND的目标NAND寿命和目标数据保存时间,进而可以从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压。
[0117] 步骤105,根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令;
[0118] 其中,对于参考电压设置命令,其可以理解为每一笔读命令所对应的参考电压的设置命令,可以根据该参考电压设置命令对读命令在读写数据时所需要的参考电压进行设置,以提供更为准确的参考电压,提高读操作的准确度。其中,为了能够减少调度而产生的性能损耗,可以将参考电压设置命令组装进读命令,即参考电压设置命令可以和读命令进行合并组成一个目标读命令再进行设置。
[0119] 在具体实现中,在具体实现中,在根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压之后,根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,在接收到针对目标NAND的读命令时,对读命令进行解析,获取目标NAND的目标NAND寿命和目标数据保存时间,进而可以从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,从而可以根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,能够减少因调度而产生的性能损耗。
[0120] 在一种示例中,在根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令之后,还需要将目标读命令发送至NAND晶圆平面,其中,NAND晶圆平面可以用于判断参考电压设置命令的设置状态,从而可以对目标读命令进行相应处理,具体地,当参考电压设置命令设置成功时,自动触发目标读命令的读操作,当参考电压设置命令设置失败时,重新设置参考电压设置命令,可能会导致重读,其中,重读意味着重新从NAND读取数据,这样可能会带来读时间的增加,比如一次读的时间为50us(微秒),如果重读3次,即为150us,对于上层业务来说,相当于有100us业务波动,因此需要将首次读成功率控制在99%以上,这样在99%的QoS就会控制在50us,因此,对读命令在读取数据时对参考电压的准确度要求也比较高。
[0121] 在本发明实施例中,在具体实现中,在根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压之后,根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,在接收到针对目标NAND的读命令时,对读命令进行解析,获取目标NAND的目标NAND寿命和目标数据保存时间,进而可以从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,从而可以根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,能够减少因调度而产生的性能损耗,同时,提高了参考电压的准确度和首次读的成功率。
[0122] 步骤106,将所述目标读命令发送至所述目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。
[0123] 在具体实现中,在根据第二参考电压可以设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令之后,可以将目标读命令发送至目标NAND,以使目标NAND根据目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在参考电压为第二参考电压时读取目标NAND中的目标配置数据。
[0124] 在本发明实施例中,固态硬盘包括多个NAND,各个NAND存储有配置数据,根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压,然后根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,进而在接收到针对目标NAND的读命令时,获取目标NAND的目标NAND寿命和目标数据保存时间,接着从参考电压表中查找与目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,最后将目标读命令发送至目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。本发明实施例可以通过固态硬盘中NAND的NAND寿命和闪NAND中配置数据的数据保存时间得到针对NAND的第一参考电压,进而可以根据第一参考电压得到在读取目标NAND中的目标配置数据时的第二参考电压,提高了参考电压的准确度和首次读的成功率,同时,通过将参考电压设置命令组装进读命令,减少了调度的损耗,提高了产品随机读的性能。
[0125] 在一种可选实施例中,所述步骤101、根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压,包括:
[0126] 将各个所述NAND的不同阶段的NAND寿命进行划分,得到多个寿命段;
[0127] 将各个所述NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段;
[0128] 将各个所述寿命段和各个所述数据时间段组合成多个矩阵;
[0129] 根据各个所述矩阵得到针对各个所述NAND的多个第一参考电压。
[0130] 其中,对于NAND寿命(P/E),其可以表示为NAND的寿命,由于NAND为固态硬盘中的闪存颗粒,因此,NAND寿命(P/E)可以理解为固态硬盘的使用寿命,其中,NAND寿命(P/E)可以用P/E循环次数表示,可以理解的是,固态硬盘的存储空间完全擦写完一次为一次P/E循环次数,示例性地,假设固态硬盘容量为120g,则擦写一次120g的数据为一个P/E循环次数;对于数据保存时间(Retention),其可以理解为固态硬盘中的数据静止时间,即数据保存在固态硬盘中的存储时间。其中,鉴于闪存颗粒NAND的电气特性,NAND寿命(P/E)越大,氧化层越薄,电荷泄露得越快,另外,数据保存时间(Retention)越久,电荷泄露的越多,尤其在这两种情况叠加的情况下,即NAND寿命(P/E)后期和数据保存时间(Retention)长的情况下,电荷泄露会比较严重,从而导致原始数据错误率(RBER)比较高,因此,对参考电压的准确度要求也比较高。
[0131] 其中,第一参考电压为根据闪存颗粒NAND的NAND寿命和闪存颗粒NAND中配置数据的数据保存时间而得到的针对闪存颗粒NAND的参考电压,可以用于为各个读命令所设置的电压提供参考。
[0132] 需要说明的是,对于第一参考电压的生成方法,可以通过NAND冶具进行离线分析,生成针对每个矩阵对应场景下的第一参考电压;其中,该参考电压以NAND物理页(Page)或NAND物理页组(Page组)为单位,在现有技术中,参考电压的单位通常为NAND物理块(Block),当参考电压以NAND物理块(Block)为单位时,其通常在执行读命令时只会产生一个参考电压,即在各个读命令读取数据时均采用同一个电压,从而可能导致参考电压不准确,进而导致读性能下降甚至是需要重读;而本发明实施例中,参考电压以NAND物理页(Page)或NAND物理页组(Page组)为单位,能够在每一次的读操作中都得到一次新的参考电压,能够有针对性的设置读命令在读取数据是所需要的参考电压,提高了读的准确度和成功率。另外,当执行读命令时,读取一笔NAND物理页所需要的参考电压通常与该笔NAND物理页对应的第一参考电压一致。
[0133] 对于第一参考电压的生成方法,本领域技术人员可以根据实际情况对NAND冶具的厂商进行选取,本发明实施例对此不作限制。
[0134] 对于阶段,其可以表示为NAND的NAND寿命和闪存颗粒NAND中配置数据的数据保存时间的不同阶段的分布情况,其中,NAND寿命(P/E)可以用P/E循环次数表示,同理,由多个阶段组合而成的矩阵同样可以表示为NAND的NAND寿命和闪存颗粒NAND中配置数据的数据保存时间的不同阶段的分布情况,能够更加清晰的得到需要的第一参考电压。
[0135] 具体地,对于寿命段,其可以理解为NAND在不同阶段的寿命,即可以理解为NAND可以使用的次数;对于数据时间段,其为NAND中配置数据对应的不同的数据保存时间;对于矩阵,其为多个寿命段和多个数据时间段组合而成的矩阵;可选地,矩阵中包含的寿命段和数据时间段可以一一对应,进一步地,一个寿命段和一个数据时间段可以对应一个第一参考电压。
[0136] 在本发明实施例中,将各个NAND的不同阶段的NAND寿命进行划分,得到多个寿命段,同时,将各个NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段,进而可以将各个寿命段和各个数据时间段组合成多个矩阵,根据各个矩阵得到针对各个NAND的多个第一参考电压。
[0137] 在一种可选实施例中,所述NAND内置有固件,所述步骤102、根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表,包括:
[0138] 将所述第一参考电压嵌入到所述NAND的固件,生成针对所述第一参考电压的参考电压表。
[0139] 其中,对于固件,其为NAND中内置的固件,其可以表示为Firmware,固件可以用于触发重读操作以更换参考电压,并且还可以进行纠错操作,能够用于解析读命令。
[0140] 其中,对于参考电压表,其可以为将第一参考电压所对应的NAND寿命和配置数据对应的数据保存时间构成的参考电压表,由于参考电压表中包含多个第一参考电压,其也能够为各个读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压提供参考,可以理解的是,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间。
[0141] 在本发明实施例中,在将各个NAND的不同阶段的NAND寿命进行划分,得到多个寿命段,同时,将各个NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段,进而可以将各个寿命段和各个数据时间段组合成多个矩阵,根据各个矩阵得到针对各个NAND的多个第一参考电压之后,可以将第一参考电压嵌入到NAND中的固件,生成针对第一参考电压的参考电压表。
[0142] 在一种可选实施例中,所述步骤103、在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间,包括:
[0143] 当所述NAND的固件运行时,对接收到针对目标NAND的读命令进行解析,获取所述目标NAND的目标NAND寿命和目标数据保存时间。
[0144] 其中,对于目标NAND,其为读命令需要读取的固态硬盘中的NAND;对于读命令,其可以为读取固态硬盘中的NAND存储的配置数据的命令,其中,读命令需要读取的目标配置数据为NAND中的数据;对于目标NAND寿命,其为读命令中需要读取的目标NAND对应的NAND寿命,同理,对于目标数据保存时间,其为读命令中需要读取的目标NAND对应的目标数据保存时间。
[0145] 可选地,读命令还可以包括目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,其中,通过NAND物理页号查找参考电压表中的第一参考电压时,能够更加准确的获得读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压,提高在读取数据时所需要用到的参考电压的准确性。
[0146] 在本发明实施例中,当NAND的固件运行时,固件可以对接收到针对目标NAND的读命令进行解析,获取目标NAND的目标NAND寿命和目标数据保存时间。
[0147] 在一种可选实施例中,所述步骤104、从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,包括:
[0148] 根据所述目标NAND的目标NAND寿命和目标数据保存时间,以及所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,从所述参考电压表中查找与所述目标NAND寿命、所述目标数据保存时间以及所述目标NAND物理页的NAND物理页号对应的第二参考电压。
[0149] 其中,对于第二参考电压,其可以为每一个读命令对应需要设置的参考电压,即每进行一次读命令时都需要用到一定的电压,每进行一次读操作时会产生一次新的参考电压,该参考电压可以理解为第二参考电压,其可以根据第一参考电压生成的参考电压表进行参考设置。
[0150] 其中,NAND由多个NAND晶圆(DIE)组成,NAND晶圆(DIE)由多个NAND物理块(Block)组成,NAND物理块(Block)由多个NAND物理页(Page)组成;在现有技术中,参考电压的单位通常为NAND物理块(Block),当参考电压以NAND物理块(Block)为单位时,其通常在执行读命令时只会产生一个参考电压,即在各个读命令读取数据时均采用同一个电压,从而可能导致参考电压不准确,进而导致读性能下降甚至是需要重读;而本发明实施例中,参考电压以NAND物理页(Page)或NAND物理页组(Page组)为单位,能够在每一次的读操作中都得到一次新的参考电压,能够有针对性的设置读命令在读取数据是所需要的参考电压,提高了读的准确度和成功率。
[0151] 可选地,对于目标NAND寿命,其为读命令中需要读取的目标NAND对应的NAND寿命,同理,对于目标数据保存时间,其为读命令中需要读取的目标NAND对应的目标数据保存时间。参考电压表包括的第一参考电压对应的NAND寿命和配置数据对应的数据保存时间可以对应一个第一参考电压,即一个NAND寿命和一个数据保存时间可以对应一个第一参考电压。
[0152] 可选地,读命令还可以包括目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,其中,通过NAND物理页号查找参考电压表中的第一参考电压时,能够更加准确的获得读命令在读取固态硬盘中NNAD的配置数据时所需要设置的电压,提高在读取数据时所需要用到的参考电压的准确性;对于目标配置数据,其可以为读命令中需要读取的NAND中的数据。
[0153] 在具体实现中,根据目标NAND的目标NAND寿命和目标数据保存时间,以及目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,从参考电压表中查找与目标NAND寿命、目标数据保存时间以及目标NAND物理页的NAND物理页号对应的第二参考电压。
[0154] 在一种可选实施例中,还包括:
[0155] 当执行所述目标读命令时,判断所述目标读命令设置的所述第二参考电压是否与所述参考电压表对应的第一参考电压一致;
[0156] 根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理。
[0157] 可选地,当执行目标读命令时,判断目标读命令对应设置的第二参考电压是否与参考电压表中对应的第一参考电压一致,根据第一参考电压和第二参考电压的比对结果,对参考电压设置命令进行处理,具体地,若第二参考电压与参考电压表中对应的第一参考电压一致,则读取NAND中的目标配置数据,若第二参考电压与参考电压表中对应的第一参考电压不一致,则重新设置参考电压设置命令。
[0158] 可选地,当重新设置参考电压设置命令的次数大于预设次数时,NAND中的固件会自动触发纠错操作,若纠错操作无法正常执行,则需要读取的NAND中的目标配置数据会由固件上报为丢失状态,因此,更加需要保证参考电压设置的准确度,从而提高读操作的性能。
[0159] 在本发明实施例中,固态硬盘包括多个NAND,各个NAND存储有配置数据,根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压,然后根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,进而在接收到针对目标NAND的读命令时,获取目标NAND的目标NAND寿命和目标数据保存时间,接着从参考电压表中查找与目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,最后将目标读命令发送至目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。本发明实施例可以通过固态硬盘中NAND的NAND寿命和闪NAND中配置数据的数据保存时间得到针对NAND的第一参考电压,进而可以根据第一参考电压得到在读取目标NAND中的目标配置数据时的第二参考电压,提高了参考电压的准确度和首次读的成功率,同时,通过将参考电压设置命令组装进读命令,减少了调度的损耗,提高了产品随机读的性能。
[0160] 为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过一个例子进行示例性说明:
[0161] 参照图2,示出了本发明实施例中提供的一种数据的读取流程示意图之一,由图可知,图2中数据的读取步骤具体可以为:
[0162] S11、向目标Plane(NAND晶圆平面)发送参考电压设置命令;
[0163] S11、等待参考电压设置命令设置成功;
[0164] S11、Firmware(固件)检测到参考电压设置命令设置成功后,由目标Plane(NAND晶圆平面)发起调度权申请,等待被调度。由于Firmware调度是以Channel(物理通道)为单位的,每Channel(物理通道)需要在8个以上的Plane(NAND晶圆平面)间进行调度,即使参考电压已经设置成功或已经申请调度权,如果没有被调度到(比如正在执行其它Plane(NAND晶圆平面)的操作,Plane(NAND晶圆平面)越多等待时间越长),此时,读命令是发不出去的,整体读的时间就被延长了。
[0165] S11、目标Plane(NAND晶圆平面)拿到调度权;
[0166] S11、执行读命令。
[0167] 对于上述所述图2步骤中的参考电压,其对应的单位细化到Page(NAND物理页)级别或Page(NAND物理页)分组级别,当细化该级别时,可以保证每个Page(NAND物理页)的参考电压都是较优的。
[0168] 但是,由于在读业务时,不同Page(NAND物理页)或Page(NAND物理页)组,以及不同的参考电压,会出现反复更新或设置参考电压的情况,导致产生调度耗时,平均约2us(微秒)。在上述所述图2的步骤中会出现如下现象:由于Block(NAND物理块)间的BER(数据错误率)差距较小,在相同的P/E(NAND寿命)或Retention(数据保存时间)阶段下,不同的Block(NAND物理块)所用的参考电压是一样的,Page(NAND物理页)间BER(数据错误率)差距较大(NAND结构决定),但未做区分,因此,在相同的P/E(NAND寿命)或Retention(数据保存时间)阶段下,由于参考电压一样,只设置一次参考电压即可,这一次产生的调度耗时可以忽略。
[0169] 参照图3,示出了本发明实施例中提供的一种数据的读取流程示意图之二,由图3可知,和图2所述的步骤不同的是,图3中的步骤可以将读参考电压设置命令和读命令合并,被命中的Plane(NAND晶圆平面)自身能够去检查命令设置成功与否,Plane(NAND晶圆平面)间是独立的,设置成功后可以自动触发读操作,减少了Firmware(固件)调度(申请调度,等待调度,执行调度)的损耗。
[0170] S21、将P/E(NAND寿命)和Retention(数据保存时间)时间分别细分为多个阶段,并组合成矩阵。通过NAND治具离线分析,生成每个矩阵对应场景下的参考电压,该参考电压以Page(NAND物理页)或Page(NAND物理页)组为单位。
[0171] S22、将上述步骤S21生成的参考电压参数嵌入到Firmware(固件)内部,形成FRT(固定纠错电压)表,即参考电压表。
[0172] S23、当Firmware(固件)运行时,解析读命令,获取或计算出对应Block(NAND物理块)的P/E(NAND寿命),Retention(数据保存时间),Page(NAND物理页)或Page(NAND物理页)组等参数。
[0173] S24、根据上述步骤S23获取到的参数,从FRT(固定纠错电压)表中查找对应的参考电压。
[0174] S25、根据查找的参考电压生成参考电压设置命令,并将参考电压设置命令组装进读命令。
[0175] S26、发送读命令。
[0176] 在本发明实施例中,固态硬盘包括多个NAND,各个NAND存储有配置数据,根据各个NAND的不同阶段的NAND寿命和各个NAND中配置数据对应的不同的数据保存时间,得到针对各个NAND的多个第一参考电压,然后根据各个第一参考电压,生成针对各个第一参考电压的参考电压表,其中,参考电压表包括第一参考电压对应的NAND寿命和配置数据对应的数据保存时间,进而在接收到针对目标NAND的读命令时,获取目标NAND的目标NAND寿命和目标数据保存时间,接着从参考电压表中查找与目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压,根据第二参考电压设置参考电压设置命令,并将参考电压设置命令组装进读命令得到目标读命令,最后将目标读命令发送至目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。本发明实施例可以通过固态硬盘中NAND的NAND寿命和闪NAND中配置数据的数据保存时间得到针对NAND的第一参考电压,进而可以根据第一参考电压得到在读取目标NAND中的目标配置数据时的第二参考电压,提高了参考电压的准确度和首次读的成功率,同时,通过将参考电压设置命令组装进读命令,减少了调度的损耗,提高了产品随机读的性能。
[0177] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0178] 参照图4,示出了本发明实施例中提供的一种数据的读取装置的结构框图,应用于固态硬盘,所述固态硬盘包括多个NAND,各个所述NAND存储有配置数据,具体可以包括如下模块:
[0179] 第一参考电压获取模块401,用于根据各个所述NAND的不同阶段的NAND寿命和各个所述NAND中配置数据对应的不同的数据保存时间,得到针对各个所述NAND的多个第一参考电压;
[0180] 参考电压表生成模块402,用于根据各个所述第一参考电压,生成针对各个所述第一参考电压的参考电压表;其中,所述参考电压表包括所述第一参考电压对应的NAND寿命和配置数据对应的数据保存时间;
[0181] 目标数据获取模块403,用于在接收到针对目标NAND的读命令时,获取所述目标NAND的目标NAND寿命和目标数据保存时间;
[0182] 第二参考电压获取模块404,用于从所述参考电压表中查找与所述目标NAND的目标NAND寿命和目标数据保存时间对应的第一参考电压作为第二参考电压;
[0183] 目标读命令获取模块405,用于根据所述第二参考电压设置参考电压设置命令,并将所述参考电压设置命令组装进所述读命令得到目标读命令;
[0184] 数据读取模块406,用于将所述目标读命令发送至所述目标NAND,以使所述目标NAND根据所述目标读命令中的参考电压设置命令将参考电压设置为第二参考电压,并在所述参考电压为所述第二参考电压时读取所述目标NAND中的目标配置数据。
[0185] 在一种可选实施例中,所述第一参考电压获取模块401具体用于:
[0186] 将各个所述NAND的不同阶段的NAND寿命进行划分,得到多个寿命段;
[0187] 将各个所述NAND中配置数据对应的不同的数据保存时间进行划分,得到多个数据时间段;
[0188] 将各个所述寿命段和各个所述数据时间段组合成多个矩阵;
[0189] 根据各个所述矩阵得到针对各个所述NAND的多个第一参考电压。
[0190] 在一种可选实施例中,所述NAND内置有固件,所述参考电压表生成模块402具体用于:
[0191] 将所述第一参考电压嵌入到所述NAND的固件,生成针对所述第一参考电压的参考电压表。
[0192] 在一种可选实施例中,所述目标数据获取模块403具体用于:
[0193] 当所述NAND的固件运行时,对接收到针对目标NAND的读命令进行解析,获取所述目标NAND的目标NAND寿命和目标数据保存时间。
[0194] 在一种可选实施例中,所述第二参考电压获取模块404具体用于:
[0195] 根据所述目标NAND的目标NAND寿命和目标数据保存时间,以及所述目标NAND的目标NAND寿命和目标数据保存时间对应的目标NAND物理页的NAND物理页号,从所述参考电压表中查找与所述目标NAND寿命、所述目标数据保存时间以及所述目标NAND物理页的NAND物理页号对应的第二参考电压。
[0196] 在一种可选实施例中,所述装置还包括:
[0197] 目标读命令发送模块,用于将所述目标读命令发送至所述NAND晶圆平面;其中,所述NAND晶圆平面用于判断所述参考电压设置命令的设置状态;
[0198] 目标读命令处理模块,用于根据所述参考电压设置命令的设置状态,对所述目标读命令进行相应处理。
[0199] 在一种可选实施例中,所述装置还包括:
[0200] 读操作触发模块,用于当所述参考电压设置命令设置成功时,自动触发所述目标读命令的读操作;
[0201] 第一参考电压设置命令重新设置模块,用于当所述参考电压设置命令设置失败时,重新设置所述参考电压设置命令。
[0202] 在一种可选实施例中,所述装置还包括:
[0203] 电压对比模块,用于当执行所述目标读命令时,判断所述目标读命令设置的所述第二参考电压是否与所述参考电压表对应的第一参考电压一致;
[0204] 参考电压设置命令处理模块,用于根据所述第一参考电压和所述第二参考电压的比对结果,对所述参考电压设置命令进行相应处理。
[0205] 在一种可选实施例中,所述装置还包括:
[0206] 目标配置数据读取模块,用于若所述第二参考电压与所述考电压表对应的第一参考电压一致,则读取所述闪存颗粒NAND中的目标配置数据;
[0207] 第二参考电压设置命令重新设置模块,用于若所述第二参考电压与所述考电压表对应的第一参考电压不一致,则重新设置所述参考电压设置命令。
[0208] 在一种可选实施例中,所述装置还包括:
[0209] 纠错操作执行模块,用于当重新设置所述参考电压设置命令的次数大于预设次数时,自动触发纠错操作;
[0210] 目标配置数据丢失模块,用于若所述纠错操作无法正常执行,则将需要读取的所述NAND中的目标配置数据作为丢失数据。
[0211] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0212] 另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据的读取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0213] 图5是本发明实施例中提供的一种计算机可读存储介质的结构示意图。
[0214] 本发明实施例还提供了一种计算机可读存储介质501,计算机可读存储介质501上存储有计算机程序,计算机程序被处理器执行时实现上述数据的读取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质501,如只读存储器(Read‑Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
[0215] 图6为实现本发明各个实施例的一种电子设备的硬件结构示意图。
[0216] 该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
[0217] 应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
[0218] 电子设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
[0219] 音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与电子设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
[0220] 输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
[0221] 电子设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在电子设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
[0222] 显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light‑Emitting Diode, OLED)等形式来配置显示面板6061。
[0223] 用户输入单元607可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0224] 进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现电子设备的输入和输出功能,具体此处不做限定。
[0225] 接口单元608为外部装置与电子设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备600内的一个或多个元件或者可以用于在电子设备600和外部装置之间传输数据。
[0226] 存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0227] 处理器610是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
[0228] 电子设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0229] 另外,电子设备600包括一些未示出的功能模块,在此不再赘述。
[0230] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0231] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0232] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
[0233] 本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0234] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0235] 在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0236] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0237] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0238] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0239] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。