闪存控制器、闪存控制方法、装置、设备以及介质制造方法及图纸

技术编号:37244689 阅读:16 留言:0更新日期:2023-04-20 23:25
本发明专利技术实施例公开了闪存控制器、闪存控制方法、装置、设备以及介质,能够降低闪存控制器的功耗以及ECC纠错模块的实现难度。其中,所述闪存控制方法包括获取闪存控制器的使用状态信息;从多个闪存通道中获取至少一个需要数据分发的目标通道;根据所述使用状态信息和目标通道的数量,为每个目标通道,从多个ECC纠错模块中选取至少一个ECC纠错模块作为对应的纠错单元;将每个目标通道的数据分发至对应的纠错单元。单元。单元。

【技术实现步骤摘要】
闪存控制器、闪存控制方法、装置、设备以及介质


[0001]本专利技术涉及存储
更具体地说,本专利技术涉及闪存控制器、闪存控制方法、装置、设备以及介质。

技术介绍

[0002]为了满足高性能应用的高数据吞吐率要求,闪存控制器一般采用多通道的并行方式连接多片闪存颗粒,同时并行读写多片闪存,从而提高整体读写性能。由于闪存特性限制,为了把出错的数据纠正过来,读写闪存都需要有ECC纠错模块。随着纠错能力的不断提高,ECC纠错模块中的ECC纠错算法复杂度越来越高,在闪存控制器中所占的面积和成本也越来越大。为了降低ECC纠错模块的成本,一般在支持多通道功能的闪存控制器里只放一个ECC纠错模块,所有闪存通道共用这一个ECC纠错模块。这种实现方式里的ECC纠错模块的运算带宽必须满足所有通道同时传输数据时的最高数据吞吐率要求,否则就无法达到最好情况下的读写性能。
[0003]以四通道的闪存控制器为例,在实际的应用场景里,不一定每个闪存通道都会连接闪存颗粒,特别是在一些小存储容量的应用场合,可能实际只用了其中的一个通道,这种情况下如果这个闪存通道的闪存接口的数据传输带宽不增加4倍,那就会造成ECC纠错模块运算带宽浪费四分之三。另外,这种情况下,ECC纠错模块所有电路单元都仍然是运行状态,这会造成功耗的浪费。
[0004]另一方面,随着系统性能的不断提升,对ECC纠错模块运算带宽的要求越来越高,这会导致ECC纠错算法的实现复杂度大幅提高,实现难度越来越大,甚至使得最高数据吞吐率要求的带宽变得无法实现。
专利技术内容
[0005]本专利技术的一个目的是解决上述问题,并提供后面将说明的优点。
[0006]综上,本专利技术还有一个目的是提供一种闪存控制器、闪存控制方法、装置、设备以及介质,能够降低闪存控制器的功耗以及ECC纠错模块的实现难度。
[0007]在第一方面,本申请实施例提供了一种闪存控制方法,应用于具有多个闪存通道的闪存控制器,所述闪存控制方法包括:
[0008]获取闪存控制器的使用状态信息;
[0009]从多个闪存通道中获取至少一个需要数据分发的目标通道;
[0010]根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,其中,所述纠错单元是从多个ECC纠错模块中选取的至少一个ECC纠错模块;
[0011]将每个目标通道的数据分发至对应的纠错单元。
[0012]可选地,所述目标通道的数据是目标通道的闪存接口从对应的闪存芯片接收的数据或发送到对应的闪存芯片的数据。
[0013]可选地,所述目标通道为连接于闪存芯片的通道。
[0014]可选地,所述多个ECC纠错模块与所述多个闪存通道的数量相等。
[0015]可选地,所述从多个闪存通道中获取至少一个需要数据分发的目标通道,包括:
[0016]判断多个通道中每个通道与闪存芯片之间的连接状态;
[0017]根据所述连接状态获取至少一个目标通道。
[0018]可选地,所述根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,包括:
[0019]根据所述使用状态信息和目标通道的数量,获取每个目标通道的数据传输带宽信息;
[0020]根据所述数据传输带宽信息,为每个目标通道确定对应的纠错单元。
[0021]可选地,所述根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,包括:
[0022]在第一工作模式下,每个目标通道的数据传输带宽跟单个ECC纠错模块的运算带宽一致时,从多个ECC纠错模块中选取一个ECC纠错模块作为对应的纠错单元;
[0023]在第一工作模式下,每个目标通道的数据带宽大于单个ECC纠错模块的运输带宽时,从多个ECC纠错模块中选取数量多于1个的ECC纠错模块作为对应的纠错单元;
[0024]在第二工作模式下,目标通道的数量为1个,目标通道的数据传输带宽与单个ECC纠错模块的运算带宽一致时,从多个ECC纠错模块中选取一个ECC纠错模块作为对应的纠错单元,并关闭多个ECC纠错模块中的其他ECC纠错模块。
[0025]在第二方面,本申请实施例提供了一种闪存控制装置,应用于具有多个闪存通道的闪存控制器,其特征在于,所述闪存控制装置包括:
[0026]使用状态信息获取模块,用于获取闪存控制器的使用状态信息;
[0027]目标通道获取模块,用于从多个闪存通道中获取至少一个需要数据分发的目标通道;
[0028]目标ECC纠错模块获取模块,用于根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,其中,所述纠错单元是从多个ECC纠错模块中选取的至少一个ECC纠错模块;
[0029]数据发送模块,用于将每个目标通道的数据分发至对应的纠错单元。
[0030]在第三方面,本申请实施例提供了一种具有多个闪存通道的闪存控制器,包括:
[0031]多个ECC纠错模块;和
[0032]第一数据分发模块,其中,所述第一数据分发模块用于执行以下步骤:
[0033]获取闪存控制器的使用状态信息;
[0034]从多个闪存通道中获取至少一个需要数据分发的目标通道;
[0035]根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,其中,所述纠错单元是从多个ECC纠错模块中选取的至少一个ECC纠错模块;
[0036]将每个目标通道的数据分发至对应的纠错单元。
[0037]可选地,所述的闪存控制器,还包括:
[0038]第二数据分发模块,用于ECC纠错模块和数据缓存之间的数据分发。
[0039]在第四方面,本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机指令程序,所述计算机指令程序被所述处
理器执行时实现第一方面所述的闪存控制方法的步骤。
[0040]在第五方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令程序,所述计算机指令程序被处理器执行时实现第一方面所述的闪存控制方法的步骤。
[0041]本专利技术实施例的技术效果包括:
[0042]根据本申请实施例中提供的闪存控制方法,在确定需要数据分发的目标通道后,根据闪存控制器的使用状态信息,为目标通道确定对应的纠错单元,该纠错单元包括至少一个ECC纠错模块。这样便于合理分配每个ECC纠错模块的工作,可以使得目标通道和所有与其对应的ECC纠错模块在数据传输带宽上相匹配。譬如说,当目标通道的数据传输带宽超出单个ECC纠错模块的负载时,可以为目标通道确定更多数量的ECC纠错模块,这样在不改变单个ECC纠错模块的工作性能的前提下,也可以实现与目标通道的数据传输带宽相匹配。
[0043]再有就是,每个ECC纠错模块的运算带宽只需跟一个通道的闪存接口的数据传输带宽匹配,因此对ECC纠错模块运算带宽的要求相本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.闪存控制方法,应用于具有多个闪存通道的闪存控制器,其特征在于,所述闪存控制方法包括:获取闪存控制器的使用状态信息;从多个闪存通道中获取至少一个需要数据分发的目标通道;根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,其中,所述纠错单元是从多个ECC纠错模块中选取的至少一个ECC纠错模块;将每个目标通道的数据分发至对应的纠错单元。2.根据权利要求1所述的闪存控制方法,其特征在于,所述目标通道的数据是目标通道的闪存接口从对应的闪存芯片接收的数据或发送到对应的闪存芯片的数据;所述目标通道为连接于闪存芯片的通道,所述多个ECC纠错模块与所述多个闪存通道的数量相等。3.根据权利要求1所述的闪存控制方法,其特征在于,所述从多个闪存通道中获取至少一个需要数据分发的目标通道,包括:判断多个通道中每个通道与闪存芯片之间的连接状态;根据所述连接状态获取至少一个目标通道。4.根据权利要求1所述的闪存控制方法,其特征在于,根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,包括:根据所述使用状态信息和目标通道的数量,获取每个目标通道的数据传输带宽信息;根据所述数据传输带宽信息,为每个目标通道确定对应的纠错单元。5.根据权利要求1所述的闪存控制方法,其特征在于,所述根据所述使用状态信息和目标通道的数量,为每个目标通道确定对应的纠错单元,包括:在第一工作模式下,每个目标通道的数据传输带宽跟单个ECC纠错模块的运算带宽一致时,从多个ECC纠错模块中选取一个ECC纠错模块作为对应的纠错单元,;在第一工作模式下,目标通道的数据带宽大于单个ECC纠错模块时,从多个ECC纠错模块中选取数量多于1个的ECC...

【专利技术属性】
技术研发人员:李国强李虎
申请(专利权)人:深圳市德明利技术股份有限公司
类型:发明
国别省市:

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

1