存储阵列的动态管理方法和装置制造方法及图纸

技术编号:24167469 阅读:17 留言:0更新日期:2020-05-16 01:53
本申请公开了一种存储阵列的动态管理方法和装置,涉及存储阵列领域。该方法包括:预先为多个存储阵列创建阵列信息结构,其中,每一个存储阵列都包括多个存储单元;当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息;当执行写操作时,根据记录的阵列信息对多个存储阵列中除出现错误的存储单元以外的存储单元执行写操作;当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建。该装置包括:设置模块、记录模块、写模块和读模块。本申请实现了存储阵列的动态管理,能够达到充分利用存储单元的目的。

Dynamic management method and device of storage array

【技术实现步骤摘要】
存储阵列的动态管理方法和装置
本申请涉及存储阵列领域,特别是涉及一种存储阵列的动态管理方法和装置。
技术介绍
NANDFlash存储器是Flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NANDFlash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用。为了增强NANDFlash存储数据的可靠性并且不降低性能,目前,普遍的做法是在多个NANDFlash芯片中,由其中每一个芯片的用于存储数据的块(Block)共同组成多个块存储阵列,由所组成的多个块存储阵列来提供数据存储空间。例如,有N+1个NANDFlash芯片,每一个芯片都有M个块,可以组成M个有N+1个块的块存储阵列。其中,每个块存储阵列中1个块用于存储校验数据,N个块用于存储数据。此N+1个NANDFlash芯片可以提供M*N个块大小的数据存储空间。但是,上述块存储阵列在使用的过程中,如果其中有一个块出现错误,会丢弃错块所在的块存储阵列,直接导致错块所在的整个块存储阵列无法使用,因此,可用于存储数据的存储空间就会减少,最终会导致块的个数不足无法达到存储系统设定的存储空间大小。例如,上述M个有N+1个块的块存储阵列中,当某个块存储阵列中有1个块出现错误时,该块所在的块存储阵列就无法继续使用,块存储阵列变为M-1个,从而只能提供(M-1)*N个块大小的数据存储空间。
技术实现思路
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。根据本申请的一个方面,提供了一种存储阵列的动态管理方法,包括:预先为多个存储阵列创建阵列信息结构,其中,每一个存储阵列都包括多个存储单元;当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息;当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作;当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建。可选地,当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作,包括:当执行写操作时,根据记录的阵列信息判断当前待写入的存储单元是否为已记录的出现错误的存储单元,如果否,则向该存储单元写入数据。可选地,当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建,包括:当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息将重建所需存储单元的数据均读出,通过校验数据反向恢复出所述发生读取出错的存储单元中的数据。可选地,当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息,包括:当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的序号,或同时记录出现错误的存储单元的序号和个数。可选地,所述方法还包括:当检测到某个存储阵列中有存储单元出现写错误、擦错误或者读错误次数超过指定阈值时,确定该存储单元出现无法继续使用的错误。根据本申请的另一个方面,提供了一种存储阵列的动态管理装置,包括:设置模块,其配置成预先为多个存储阵列创建阵列信息结构,其中,每一个存储阵列都包括多个存储单元;记录模块,其配置成当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息;写模块,其配置成当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作;读模块,其配置成当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建。可选地,所述写模块具体配置成:当执行写操作时,根据记录的阵列信息判断当前待写入的存储单元是否为已记录的出现错误的存储单元,如果否,则向该存储单元写入数据。可选地,所述读模块具体配置成:当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息将重建所需存储单元的数据均读出,通过校验数据反向恢复出所述发生读取出错的存储单元中的数据。可选地,所述记录模块具体配置成:当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的序号,或同时记录出现错误的存储单元的序号和个数。可选地,所述记录模块还配置成:当检测到某个存储阵列中有存储单元出现写错误、擦错误或者读错误次数超过指定阈值时,确定该存储单元出现无法继续使用的错误。根据本申请的又一个方面,提供了一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的方法。根据本申请的又一个方面,提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现如上所述的方法。根据本申请的又一个方面,提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述的方法。本申请提供的技术方案,通过预先为多个存储阵列创建阵列信息结构,其中,每一个存储阵列都包括多个存储单元;当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息;当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作;当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建;在保证存储数据的可靠性并且不降低性能的前提下,实现了存储阵列的动态管理,存储阵列可以在系统运行过程中动态更新组成单元,当有存储单元出错以后,其所在阵列的其他单元可以重组成新的存储阵列,从而能够达到充分利用所有存储单元的目的,极大的提高了存储阵列的使用效率,延长存储系统的使用寿命。根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。附图说明后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:图1是根据本申请一个实施例的存储阵列的动态管理方法流程图;图2是根据本申请另一个实施例的存储阵列的动态管理方法流程图;图3是根据本申请另一个实施例的存储阵列的动态管理装本文档来自技高网...

【技术保护点】
1.一种存储阵列的动态管理方法,包括:/n预先为多个存储阵列创建阵列信息结构,其中,每一个存储阵列都包括多个存储单元;/n当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息;/n当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作;/n当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建。/n

【技术特征摘要】
1.一种存储阵列的动态管理方法,包括:
预先为多个存储阵列创建阵列信息结构,其中,每一个存储阵列都包括多个存储单元;
当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息;
当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作;
当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建。


2.根据权利要求1所述的方法,其特征在于,当执行写操作时,根据记录的阵列信息对所述多个存储阵列中除所述出现错误的存储单元以外的存储单元执行写操作,包括:
当执行写操作时,根据记录的阵列信息判断当前待写入的存储单元是否为已记录的出现错误的存储单元,如果否,则向该存储单元写入数据。


3.根据权利要求1所述的方法,其特征在于,当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息对发生读取出错的存储单元中的数据进行重建,包括:
当对已写入数据的存储单元执行读操作时,如果发生读取出错,则根据记录的阵列信息将重建所需存储单元的数据均读出,通过校验数据反向恢复出所述发生读取出错的存储单元中的数据。


4.根据权利要求1所述的方法,其特征在于,当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的信息,包括:
当某个存储阵列中有存储单元出现无法继续使用的错误时,在该存储阵列对应的阵列信息结构中记录出现错误的存储单元的序号,或同时记录出现错误的存储单元的序号和个数。


5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
当检测到某个存储阵列中有...

【专利技术属性】
技术研发人员:李向荣
申请(专利权)人:绿晶半导体科技北京有限公司
类型:发明
国别省市:北京;11

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

1