存储设备的控制方法、装置以及存储设备和硬盘阵列卡与流程

文档序号:36099676发布日期:2023-11-21 09:19阅读:51来源:国知局
存储设备的控制方法与流程

本技术实施例涉及计算机领域,具体而言,涉及一种存储设备的控制方法、装置以及存储设备和硬盘阵列卡。


背景技术:

1、目前随着存储系统规模的日益增大,数据以几何级数的方式增长,小型企业的存储规模从原来的tb(terabyte,太字节)级上升到pb(petabytes,拍字节)级,大型企业的存储规模从原来的pb级增长到现在的eb(exabytes,艾字节)级,为了管理和存储海量数据,传统的软存储系统为了提高存储速度,一般在系统中增加存储芯片的使用数量,虽然操作简便,但是增加了设计成本,同时由于半导体芯片存在无效块等存储特性,影响了系统的可靠性。

2、针对相关技术中,存储设备的存储效率较低等问题,尚未提出有效的解决方案。


技术实现思路

1、本技术实施例提供了一种存储设备的控制方法、装置以及存储设备和硬盘阵列卡,以至少解决相关技术中存储设备的存储效率较低的问题。

2、根据本技术的一个实施例,提供了一种存储设备的控制方法,应用于所述存储设备上部署的处理器芯片,所述存储设备上还部署了一个或者多个闪存芯片,每个所述闪存芯片上划分了n个存储阵列,n为正整数,所述方法包括:

3、对于每个所述闪存芯片作为目标闪存芯片,依次连续将所述目标闪存芯片中第1个存储阵列的数据的写指令和地址写入寄存器并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置,直至将第n个存储阵列的写指令和地址写入寄存器并将所述第n个存储阵列的数据写入缓存中所述第n个存储阵列对应的缓存位置;

4、执行所述寄存器存储的写指令和地址,使用缓存中加载的数据对所述n个存储阵列进行页编程。

5、在一个示例性实施例中,所述依次连续将所述目标闪存芯片中第1个存储阵列的数据的写指令和地址写入寄存器并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置,直至将第n个存储阵列的写指令和地址写入寄存器并将所述第n个存储阵列的数据写入缓存中所述第n个存储阵列对应的缓存位置,包括:所述目标闪存芯片被划分为双存储阵列,将第1个存储阵列的写指令和地址写入寄存器,并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置;将第2个存储阵列的写指令和地址写入寄存器,并将所述第2个存储阵列的数据写入缓存中所述第2个存储阵列对应的缓存位置,得到所述加载的数据。

6、在一个示例性实施例中,所述方法还包括:在所述存储设备上部署了多个闪存芯片的情况下,将所述多个闪存芯片划分为n组闪存芯片,其中,n满足,t1用于指示加载时间,t2用于指示编程时间,以使所述存储设备达到最大编程速度,所述n组闪存芯片中每组闪存芯片并行操作且读写操作相同。

7、在一个示例性实施例中,所述将所述多个闪存芯片划分为n组闪存芯片,包括:将所述存储设备上部署的12个闪存芯片分成2组,每组6个闪存芯片采用流水线式并行操作,每个闪存芯片含有4个目标,流水级数为8级。

8、在一个示例性实施例中,在所述依次连续将所述目标闪存芯片中第1个存储阵列的数据的写指令和地址写入寄存器并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置,直至将第n个存储阵列的写指令和地址写入寄存器并将所述第n个存储阵列的数据写入缓存中所述第n个存储阵列对应的缓存位置之前,所述方法还包括:构建所述存储阵列对应的目标坏块列表,其中,所述目标坏块列表用于记录所述一个或者多个闪存芯片上存在的坏块的位置;将所述目标坏块列表存储至所述处理器芯片上的随机存取存储器中,并将所述目标坏块列表存储至所述存储设备上部署的非易失内存芯片上。

9、在一个示例性实施例中,在所述将所述目标坏块列表存储至所述存储设备上部署的非易失内存芯片上之后,所述方法还包括:在检测到所述存储设备掉电并重新上电后,从所述非易失内存芯片上读取所述目标坏块列表;将所述目标坏块列表写入所述随机存取存储器。

10、在一个示例性实施例中,在所述存储设备上部署了多个闪存芯片的情况下,所述构建所述存储阵列对应的目标坏块列表,包括:获取多个闪存芯片中每个闪存芯片的坏块列表,得到多个坏块列表;将所述多个坏块列表合并,得到所述存储设备对应的目标坏块列表。

11、在一个示例性实施例中,所述将所述多个坏块列表合并,得到所述存储设备对应的目标坏块列表,包括以下之一:将所述多个坏块列表求并集,得到所述目标坏块列表;按照所述多个闪存芯片的分组对所述多个坏块列表进行分组,得到多组坏块列表集合;对每组坏块列表集合中的坏块列表求并集,得到多个所述目标坏块列表。

12、在一个示例性实施例中,所述获取多个闪存芯片中每个闪存芯片的坏块列表,包括:获取每个闪存芯片中每块第一页的第8192个字节;检测当前字节是否为00h;在当前字节为00h的情况下,将当前块在坏块列表中对应的地址写0;在当前字节不为00h的情况下,检测当前闪存芯片中下一块第一页的第8192个字节,直至到达当前闪存芯片最后一块;确定当前闪存芯片是否为最后一个闪存芯片;在当前闪存芯片不为最后一个闪存芯片的情况下,开始检测下一个闪存芯片中每块第一页的第8192个字节。

13、在一个示例性实施例中,在所述使用缓存中加载的数据对所述n个存储阵列进行页编程之后,所述方法还包括:检测所述一个或者多个闪存芯片上的新增坏块;将所述新增坏块更新至所述随机存取存储器上存储的所述目标坏块列表,以及所述非易失内存芯片上存储的所述目标坏块列表。

14、在一个示例性实施例中,所述检测所述一个或者多个闪存芯片上的新增坏块,包括:对每个加载的数据执行写入操作后,检测所述每个加载的数据在闪存芯片上所在的存储块的读状态寄存器;在所述读状态寄存器的最低位为1的情况下,确定所述存储块为新增坏块。

15、在一个示例性实施例中,所述将所述新增坏块更新至所述随机存取存储器上存储的所述目标坏块列表,以及所述非易失内存芯片上存储的所述目标坏块列表,包括:在所述确定所述存储块为新增坏块之后,将所述新增坏块更新至所述随机存取存储器上存储的所述目标坏块列表;在对全部加载的数据执行写入操作后,获取检测出的全部新增坏块,得到新增坏块集合;将所述新增坏块集合更新至所述非易失内存芯片上存储的所述目标坏块列表。

16、在一个示例性实施例中,所述检测所述一个或者多个闪存芯片上的新增坏块,包括:遍历所述目标坏块列表中的每个块地址;检测当前块地址是否为1;在当前块地址为1的情况下,对当前块地址执行编程操作;在当前块地址不为1的情况下,继续检测下一个块地址是否为1;在所述编程操作后检测当前块地址的读状态寄存器的最低位是否为1;在读状态寄存器的最低位为1的情况下,将当前块地址作为新增坏块在所述目标坏块列表中当前块地址上写0;在当前块地址上写0之后,或者,读状态寄存器的最低位不为1的情况下,检测下一个块地址,直至完成检测。

17、根据本技术的另一个实施例,还提供了一种存储设备,包括:处理器芯片以及一个或者多个闪存芯片,每个所述闪存芯片上划分了n个存储阵列,n为正整数,其中,所述处理器芯片分别与所述一个或者多个闪存芯片连接,目标闪存芯片是所述一个或者多个闪存芯片中的每个闪存芯片;所述处理器芯片,用于依次连续将所述目标闪存芯片中第1个存储阵列的数据的写指令和地址写入寄存器并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置,直至将第n个存储阵列的写指令和地址写入寄存器并将所述第n个存储阵列的数据写入缓存中所述第n个存储阵列对应的缓存位置;执行所述寄存器存储的写指令和地址,使用缓存中加载的数据对所述n个存储阵列进行页编程。

18、在一个示例性实施例中,在所述存储设备上部署了多个闪存芯片的情况下,将所述多个闪存芯片划分为n组闪存芯片,其中,n满足,以使所述存储设备达到最大编程速度;所述n组闪存芯片中每组闪存芯片并行操作且读写操作相同。

19、在一个示例性实施例中,所述处理器芯片上部署了随机存取存储器,所述存储设备上部署了非易失内存芯片,其中,所述处理器芯片,用于在所述依次连续将所述目标闪存芯片中第1个存储阵列的数据的写指令和地址写入寄存器并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置,直至将第n个存储阵列的写指令和地址写入寄存器并将所述第n个存储阵列的数据写入缓存中所述第n个存储阵列对应的缓存位置之前,构建所述存储阵列对应的目标坏块列表,其中,所述目标坏块列表用于记录所述一个或者多个闪存芯片上存在的坏块的位置;将所述目标坏块列表存储至所述随机存取存储器中,并将所述目标坏块列表存储至所述非易失内存芯片上。

20、根据本技术的又一个实施例,还提供了一种硬盘阵列卡,包括:片上系统以及多个固态硬盘,其中,所述片上系统分别与所述多个固态硬盘连接,目标闪存芯片是每个所述固态硬盘中的闪存芯片,所述目标闪存芯片上划分了多个存储阵列;所述片上系统,用于执行时实现上述任一项方法实施例中的步骤。

21、根据本技术的又一个实施例,还提供了一种存储设备的控制装置,应用于所述存储设备上部署的处理器芯片,所述存储设备上还部署了一个或者多个闪存芯片,每个所述闪存芯片上划分了n个存储阵列,n为正整数,所述装置包括:

22、第一写入模块,用于对于每个所述闪存芯片作为目标闪存芯片,依次连续将所述目标闪存芯片中第1个存储阵列的数据的写指令和地址写入寄存器并将所述第1个存储阵列的数据写入缓存中所述第1个存储阵列对应的缓存位置,直至将第n个存储阵列的写指令和地址写入寄存器并将所述第n个存储阵列的数据写入缓存中所述第n个存储阵列对应的缓存位置;

23、执行模块,用于执行所述寄存器存储的写指令和地址,使用缓存中加载的数据对所述n个存储阵列进行页编程。

24、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

25、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

26、通过本技术,存储设备上部署了一个或者多个闪存芯片,目标闪存芯片是一个或者多个闪存芯片中的每个闪存芯片,依次对目标闪存芯片上划分的多个存储阵列中每个存储阵列进行数据加载,多个存储阵列均完成数据加载的情况下,将加载的数据写入多个存储阵列,由于对目标闪存芯片上划分的多个存储阵列中的每个存储阵列都进行了数据加载,使得存储设备上部署的一个或者多个闪存芯片能够同时将加载的数据写入多个存储阵列。因此,可以解决存储设备的存储效率较低问题,达到提高存储设备的存储效率效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1