数据操作的处理方法以及相关装置制造方法及图纸

技术编号:19744593 阅读:18 留言:0更新日期:2018-12-12 04:37
本申请实施例公开了一种数据操作的处理方法以及相关装置,用于当固态硬盘中的块在读操作中发生读取干扰时,触发垃圾回收操作,从而保证数据操作的效率。本申请实施例方法包括:获取随机数生成器的生成值;判断所述生成值是否等于预设值;若所述生成值等于所述预设值,则获取区块的读取次数;根据所述区块的读取次数对所述区块中的数据进行垃圾回收处理。

【技术实现步骤摘要】
数据操作的处理方法以及相关装置
本申请实施例涉及数据存储领域,尤其涉及数据操作的处理方法以及相关装置。
技术介绍
固态硬盘(solidstatedrives,SSD),指用固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元组成。固态硬盘中的闪存芯片(flashmemory)中包含多个区块(block),每一个区块中包含多个页(page)。在多次对页进行数据操作时,可能对同一个区块内其他页的数据操作造成干扰,造成读取数据出错。于是需要将含有无效数据和有效数据的页中的有效数据搬移到新的区块中,从而将无效数据所占空间腾出以供有效数据使用,这个过程称为垃圾回收。现有技术中,SSD主控制器从页中读取一次数据之后,都从内存(doubledatarate,DDR)中获取一次读取次数,当该页的数据读取次数达到预设值时,则触发垃圾回收。现有技术中,用户每执行一次读操作,SSD主控制器都会获取该区块中的页被读取的次数的总和,当累计的某一区块中的页被读取的次数的总和达到预设值时,就会触发垃圾回收处理流程。上述方案中,区块中的页被读取的次数的总和是存储在内存中的,因此,用户每执行一次读操作,SSD主控制器就需要访问一次DDR。在实际应用中,当该块中的页被读取的次数的总和达到较大值时才会触发垃圾回收流程,因此,在触发垃圾回收流程之前,SSD主控制器就需要多次读取DDR,这需要耗费很长的时间,将大大降低数据操作的效率。
技术实现思路
本申请实施例提供了一种数据操作的处理方法以及相关装置,用于当固态硬盘中的块在读操作中发生读取干扰时,触发垃圾回收操作,从而保证数据操作的效率。第一方面,本申请实施例提供了一种数据操作的处理方法,包括:当闪存中的页的读操作出现读取干扰的现象时,为避免读取干扰降低数据操作的效率,处理装置将获取随机数生成器的生成值,该随机数生成器可以通过设置算法在一定范围内生成至少一个随机数,该生成值可以根据设置的算法不同而不同。在获取随机数生成器的生成值之后,处理装置可以判断该由随机数生成器生成的生成值是否等于预设值,该预设值是通过设置算法设定的。若判断的结果为该生成值等于该预设值,则处理装置可以获取区块的读取次数,该读取次数指在一个区块内所有的页的读操作的次数的总和。处理装置在获取了区块的读取次数之后,可以根据该区块的读取次数对该区块中的数据进行垃圾回收处理,该垃圾回收处理可以将该区块中的数据整理,从而获得更多的存储空间。本申请实施例中,处理装置通过获取随机数生成器的生成值,然后判断该生成值是否等于预设值,若该生成值等于预设值则说明该读操作满足触发获取读取次数的条件。当该读操作满足触发获取读取次数的条件时,处理装置才获取读取次数并根据该读取次数进行垃圾回收处理,避免了处理装置每进行一次读操作都获取一次读取次数,因此,本申请实施例中获取页的读取次数相对于现有技术减少了处理装置获取读取次数所耗费的时间,从而提高了数据操作的效率。根据第一方面,本申请实施例第一方面的第二种实施方式中,该根据该区块的读取次数对该区块中的数据进行垃圾回收GC处理包括:判断该读取次数是否在预设范围内;若该读取次数在该预设范围内,则将该区块中的有效数据移动至目标区块,并擦除该区块中的无效数据。本申请实施例中,明确了根据该区块的读取次数进行垃圾回收的处理方式,可以先判断该读取次数是否在预设范围内,若该读取次数在该预设范围内,则将该区块中的有效数据移动至目标区块,并擦除该区块中的无效数据,因此能够提高方案的可行性。根据第一方面的第二种实施方式,本申请实施例第一方面的第三种实施方式中,该生成值为随机数生器生成的,该预设范围为(a,b),该随机数生成器生成该预设值的概率P满足如下条件:1-(1-P)(b-a)→1。本申请实施例中,提出了该随机数生成器生成该预设值的概率P,并给出了详细的计算公式,因此能够提高方案的可行性。根据第一方面的第三种实施方式,本申请实施例第一方面的第四种实施方式中,该随机数生成器为等概率随机数生成器。本申请实施例中,明确了随机数生成器为等概率随机数生成器,因此能够提高方案的可行性。根据第一方面,本申请实施例第一方面的第五种实施方式中,该获取区块的读取次数之前,该方法还包括:获取该区块的地址;通过memAdd函数对该地址的读取次数进行计数。本申请实施例中,增加了在获取区块的读取次数之前的步骤,在获取该区块的读取次数之前,处理装置还应先获取该区块的地址,然后根据该地址通过memAdd函数对该地址的读取次数进行计数,因此能够提高方案的可行性。第二方面,本申请实施例提供了一种处理装置,其特征在于,包括:第一获取单元,用于获取随机数生成器的生成值;判断单元,用于判断该生成值是否等于预设值;第二获取单元,用于当该生成值等于该预设值时,获取区块的读取次数;回收单元,用于根据该区块的读取次数对该区块中的数据进行垃圾回收处理。本申请实施例中,第一获取单元通过获取随机数生成器的生成值,然后判断单元判断该生成值是否等于预设值,若该生成值等于预设值则说明该读操作满足触发获取读取次数的条件。当该读操作满足触发获取读取次数的条件时,第二获取单元才获取读取次数并根据该读取次数进行垃圾回收处理,避免了处理装置每进行一次读操作都获取一次读取次数,因此,本申请实施例中获取页的读取次数相对于现有技术减少了处理装置获取读取次数所耗费的时间,从而提高了数据操作的效率。根据第二方面,本申请实施例第二方面的第一种实施方式中,该回收单元包括:判断子单元,用于判断该读取次数是否在预设范围内;移动子单元,用于当该读取次数在该预设范围内时,将该区块中的有效数据移动至目标区块;擦除子单元,用于当移动子单元将该区块中的有效数据移动至目标区块之后,擦除该区块中的无效数据。本申请实施例中,明确了根据该区块的读取次数进行垃圾回收的处理方式,判断子单元可以先判断该读取次数是否在预设范围内,若该读取次数在该预设范围内,则移动子单元将该区块中的有效数据移动至目标区块,擦除子单元擦除该区块中的无效数据,因此能够提高方案的可行性。根据第二方面,本申请实施例第二方面的第二种实施方式中,该处理装置还包括:第三获取单元,用于获取该区块的地址;计算单元,用于通过memAdd函数对该地址的读取次数进行计数。本申请实施例中,增加了在获取区块的读取次数之前的步骤,在获取该区块的读取次数之前,第三获取单元获取该区块的地址,然后计算单元根据该地址通过memAdd函数对该地址的读取次数进行计数,因此能够提高方案的可行性。根据第二方面、第二方面的第一种实施方式至第二方面的第二种实施方式中的任一种实施方式,本申请实施例第二方面的第三种实施方式中,该生成值为随机数生器生成的,该预设范围为(a,b),该随机数生成器生成该预设值的概率P满足如下条件:1-(1-P)(b-a)→1。本申请实施例中,提出了该随机数生成器生成该预设值的概率P,并给出了详细的计算公式,因此能够提高方案的可行性。根据第二方面、第二方面的第一种实施方式至第二方面的第三种实施方式中的任一种实施方式,本申请实施例第二方面的第四种实施方式中,该随机数生成器为等概率随机数生成器。本申请实施例中,明确了随机数生成器为等概率随机数生成器,因此能够提高方案的可行性。本文档来自技高网...

【技术保护点】
1.一种数据操作的处理方法,其特征在于,包括:获取随机数生成器的生成值;判断所述生成值是否等于预设值;若所述生成值等于所述预设值,则获取区块的读取次数;根据所述区块的读取次数对所述区块中的数据进行垃圾回收处理。

【技术特征摘要】
1.一种数据操作的处理方法,其特征在于,包括:获取随机数生成器的生成值;判断所述生成值是否等于预设值;若所述生成值等于所述预设值,则获取区块的读取次数;根据所述区块的读取次数对所述区块中的数据进行垃圾回收处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述区块的读取次数对所述区块中的数据进行垃圾回收GC处理包括:判断所述读取次数是否在预设范围内;若所述读取次数在所述预设范围内,则将所述区块中的有效数据移动至目标区块,并擦除所述区块中的无效数据。3.根据权利要求2所述的方法,其特征在于,所述预设范围为(a,b),所述随机数生成器生成所述预设值的概率P满足如下条件:1-(1-P)(b-a)→1。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述随机数生成器为等概率随机数生成器。5.根据权利要求1所述的方法,其特征在于,所述获取区块的读取次数之前,所述方法还包括:获取所述区块的地址;通过memAdd函数对所述地址的读取次数进行计数。6.一种处理装置,其特征在于,包括:第一获取单元,用于获取随机数生成器的生成值;判...

【专利技术属性】
技术研发人员:刘哲
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

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

1