一种闪存数据通路校准的方法读校准方法技术

技术编号:37547671 阅读:16 留言:0更新日期:2023-05-12 16:23
本发明专利技术提供了一种闪存数据通路校准的方法读校准方法,包括读校准过程和写入校准过程,预先写入一个page标准数据;在系统运行时优先进行读取校准,每隔一段时间读取P_read。读取P_read时,将P_read的长度等分成N份,每份在读取时使用不同的X_read参数。将读取数据与标准数据进行比较,选择错误位数最小的X_read参数作为后续系统运行的X_read参数使用。如果最小错误位数大于设定的阈值,则不更新X_read并进入写入校准过程。写入校准过程首先擦除B_data,对X_write参数进行写入处理,每次写入完成后都会使用读取校准的方式获取错误位数最小的X_read,如果错误位数小于阈值Y,则退出整个写入校准过程,更新X_write和X_read作为系统后续运行的物理层参数使用。本发明专利技术提升闪存访问的数据稳定性。访问的数据稳定性。访问的数据稳定性。

【技术实现步骤摘要】
一种闪存数据通路校准的方法读校准方法


[0001]本专利技术涉及一种闪存数据通路校准的方法读校准方法,属于数据存储


技术介绍

[0002]闪存(NAND Flash)访问的接口频率越来越高,数据访问速率越来越快,所以数据通路的传输稳定性要求越来越严格。数据的访问需要闪存控制器调整物理层(PHY)的参数,以达到数据传输的稳定。实际应用中不同的闪存颗粒对应不同闪存控制器物理层的参数,相同的闪存颗粒也可能因为闪存控制器的工艺不同导致闪存控制器物理层参数存在差异。另外,其他因素如温度、电压等也会影响到同一设备的参数设置。需要一种调整闪存控制器物理层参数的方法,实现参数的在线调整,提高闪存数据访问的数据稳定性。

技术实现思路

[0003]本专利技术目的是提供了一种闪存数据通路校准的方法读校准方法,提升闪存访问的数据稳定性。
[0004]本专利技术为实现上述目的,通过以下技术方案实现:
[0005]在SLC block预先写入一个page标准数据P_read,记录P_read值为0;
[0006]所述读校准过程如下:
[0007]1)每隔一段时间T读取SLC block的P_read数据,校准过程结束后P_read会被更新;
[0008]2)读取P_read时,将P_read的长度等分成N份,每份在读取时使用不同的X_read参数,所述X_read参数为闪存控制器物理层参数中的read dqs delay,设置初始物理层参数X_read为X_read
‑<br/>S_read*(n

1)/2,式中n为计数值,并设置X_read参数每次调整的步长为S_read,
[0009]3)每读取一次将读取的数据与标准数据进行比较,统计每份数据的错误位数M_n,找到错误位数最小值M_min,
[0010]4)判断M_min是否小于阈值Y,如果是选择错误位数最小的X_read参数作为后续系统运行的X_read参数使用;如果最小错误位数大于设定的阈值Y,则不更新X_read并进入写入校准过程;
[0011]所述写入校准过程如下:
[0012]1)擦除SLC block,设置调整步长为S_write,
[0013]2)设置写入page编号P_write为0,设置计数值n为1,把X_write增加S_write;
[0014]3)使用当前X_write参数配置,所述X_write参数为闪存控制器物理层参数write clock delay,将标准数据写入P_write,然后执行读校准过程获取M_min;判断M_min是否小于阈值Y,如果是则更新P_read为P_write,更新X_write为当前M_min对应的X_write;更新X_read为当前M_min对应的X_read,然后结束写校准过程;如果否则继续进行以下步骤:
[0015]设置P_write加1,设置计数值n加1,判断P_write的奇偶,如果奇数则将X_write减
去然后执行步骤3;如果偶数则将X_write增加然后执行步骤3。
[0016]优选的,校准前需要预留的block中选择一个block作为SLC block,选择该SLC block存储的数据作为标准数据源。
[0017]本专利技术的优点在于:本申请可以在系统不停机的情况下完成对闪存数据通路的读写校准,使闪存控制器的读写参数始终为最佳数值,提升闪存访问的数据稳定性。相比传统的经验值设置,本方法考虑了系统的个体差异带来的参数差异,提升了系统运行的稳定性。
附图说明
[0018]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。
[0019]图1为本专利技术流程结构示意图。
具体实施方式
[0020]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]闪存访问主要是指对闪存的读和写,与之对应的闪存控制器物理层参数主要有read dqs delay和write clock delay,本专利技术使用X_read表示read dqs delay,使用X_write表示write clock delay。
[0022]本专利技术以3D TLC NAND Flash为例进行说明。首先从预留block中选择一个block(B_data)作为SLC block使用,因为SLC block的稳定性好,NAND Flash存储的数据不易发生位翻转,所以选择它作为标准数据的源头。在SLC block预先写入一个page标准数据,记录P_read值为0。
[0023]然后,在系统运行时优先进行读取校准,每隔一段时间(T)读取SLC block(B_data)的page(P_read),校准过程结束后P_read会被更新。读取P_read时,将P_read的长度等分成N份,每份在读取时使用不同的X_read参数。假设X_read每次调整的步长为S_read,N份读取对应的X_read参数分别为份读取对应的X_read参数分别为
[0024]读取完成后依次将N份数据与标准数据进行比较,统计每份数据的错误位数M_n,最后选择错误位数最小的X_read参数作为后续系统运行的X_read参数使用。如果最小错误位数大于设定的阈值Y,则不更新X_read并进入写入校准过程。
[0025]写入校准过程首先擦除B_data,然后以每次调整步长为S_write,对X_write参数采用先增加S_write并写入B_data block的page0,然后对X_write减小S_write并写入page1,然后再对X_write增加2倍S_write并写入page2,然后再对X_write减小2倍S_write并写入page3,以此类推。每次写入完成后都会使用读取校准的方式获取错误位数最小的X_read,如果错误位数小于阈值Y,则退出整个写入校准过程,将此时的page编号更新到P_
read,同时更新X_write和X_read作为系统后续运行的物理层参数使用。
[0026]最后应说明的是:以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种闪存数据通路校准的方法读校准方法,其特征在于,包括读校准过程和写入校准过程,具体如下:在SLC block预先写入一个page标准数据P_read,记录P_read值为0;所述读校准过程如下:1)每隔一段时间T读取SLC block的P_read数据,校准过程结束后P_read会被更新;2)读取P_read时,将P_read的长度等分成N份,每份在读取时使用不同的X_read参数,所述X_read参数为闪存控制器物理层参数中的read dqs delay,设置初始物理层参数X_read为X_read

S_read*(n

1)/2,式中n为计数值,并设置X_read参数每次调整的步长为S_read,3)每读取一次将读取的数据与标准数据进行比较,统计每份数据的错误位数M_n,找到错误位数最小值M_min,4)判断M_min是否小于阈值Y,如果是选择错误位数最小的X_read参数作为后续系统运行的X_read参数使用;如果最小错误位数大于设定的阈值Y,则不更新X_read并进入写入校...

【专利技术属性】
技术研发人员:刘凯王璞李瑞东
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1