缓存写入的方法、缓存装置和存储系统制造方法及图纸

技术编号:9489918 阅读:105 留言:0更新日期:2013-12-25 23:40
本发明专利技术实施例提供了一种缓存写入的方法、缓存装置和存储系统,该方法包括:更新内存中的至少一个元数据;获取所述至少一个元数据所属的至少一个元数据组;如果所述至少一个元数据组内的第一元数据组的写状态为非写入状态且所述第一元数据组下存在等待执行元数据写入操作的多个写入IO请求命令,则将所述多个写入IO请求命令移动到所述第一元数据组的合并写入元数据队列;将所述第一元数据组的元数据写入到所述Flash中所述第一元数据组所对应的元数据块中;对所述第一元数据组的合并写入元数据队列下的多个写入IO请求命令返回所述第一元数据组写入是否成功的状态。本发明专利技术实施例的方法、装置和系统能够一定程度上减少对Flash的元数据写入次数。

【技术实现步骤摘要】
【专利摘要】本专利技术实施例提供了一种缓存写入的方法、缓存装置和存储系统,该方法包括:更新内存中的至少一个元数据;获取所述至少一个元数据所属的至少一个元数据组;如果所述至少一个元数据组内的第一元数据组的写状态为非写入状态且所述第一元数据组下存在等待执行元数据写入操作的多个写入IO请求命令,则将所述多个写入IO请求命令移动到所述第一元数据组的合并写入元数据队列;将所述第一元数据组的元数据写入到所述Flash中所述第一元数据组所对应的元数据块中;对所述第一元数据组的合并写入元数据队列下的多个写入IO请求命令返回所述第一元数据组写入是否成功的状态。本专利技术实施例的方法、装置和系统能够一定程度上减少对Flash的元数据写入次数。【专利说明】缓存写入的方法、缓存装置和存储系统
本专利技术实施例涉及数据存储领域,并且更具体地,涉及一种缓存写入的方法、缓存装置和存储系统。
技术介绍
现今业界采用现有技术的,由于缓存(Cache)的存储介质是基于NVRAM或者NVDIMM,这些存储介质特性可以很好的满足系统的小IO的性能,特别是针对元数据。通常一个元数据的大小一般是30B-64B之间。当Cache的存储介质采用Flash时,由于要保证数据的安全性,每一次写请求都需要2次的10。而Flash的寿命跟写的次数直接相关,如果每个元数据按照元数据的大小直接10,则不能充分发挥Flash的性能,如果元数据按照4K对齐的大小下10,则可能存在写放大的问题,对整个Flash的寿命会大大的影响。
技术实现思路
本专利技术实施例提供一种缓存写入的方法、缓存装置和存储系统,能够一定程度上减少对Flash的元数据写入次数,提高Flash的使用寿命。第一方面,提供了一种缓存Cache写入的方法,该Cache的闪存Flash的存储区域包括多个chunk, —个该chunk包括一个chunk元数据区和一个chunk数据区,该一个chunk元数据区包括至少一个元数据块,该一个chunk数据区包括与该至少一个元数据块对应的至少一个数据区,该元数据块包括多个元数据,该数据区包括多个数据块,该元数据块与该数据区--对应,该元数据与该数据块--对应,内存中的一个元数据组对应于一个该元数据块,一个该元数据组包含多个元数据,一个该元数据组内的元数据与该元数据组对应的元数据块内的元数据--对应,该方法包括:更新内存中的至少一个元数据,该至少一个元数据对应于该Flash中用于存储写入IO请求命令请求写入的数据的至少一个数据块;获取该至少一个元数据所属的至少一个元数据组;如果该至少一个元数据组内的第一元数据组的写状态为非写入状态且该第一元数据组下存在等待执行元数据写入操作的多个写入IO请求命令,则将该多个写入IO请求命令移动到该第一元数据组的合并写入元数据队列;将该第一元数据组的元数据写入到该Flash中该第一元数据组所对应的元数据块中;对该第一元数据组的合并写入元数据队列下的多个写入IO请求命令返回该第一元数据组写入是否成功的状态。结合第一方面,在第一种可能的实现方式中,更新内存中的至少一个元数据具体实现为:如果该至少一个元数据之一的状态指示信息指示该至少一个元数据之一为干净Clean状态,则更新该至少一个元数据之一,其中,该Clean状态用于指示该至少一个元数据之一在该Flash对应的元数据与该至少一个元数据之一内容相同。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,具体实现为:一个该元数据块的大小等于该Flash的页面大小。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,具体实现为:一个该元数据的大小为32B、64B或128B。结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,具体实现为:该chunk元数据区的大小与一个该数据块的大小—致。结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第五种可能的实现方式中,具体实现为:一个该数据块的大小为512B、1K、2K、4K、8K、16K、32K 或 64K。第二方面,提出了一种缓存装置,该缓存装置的闪存Flash的存储区域包括多个chunk, 一个该chunk包括一个chunk元数据区和一个chunk数据区,该一个chunk元数据区包括至少一个元数据块,该一个chunk数据区包括与该至少一个元数据块对应的至少一个数据区,该元数据块包括多个元数据,该数据区包括多个数据块,该元数据块与该数据区--对应,该元数据与该数据块--对应,内存中的一个元数据组对应于一个该元数据块,一个该元数据组包含多个元数据,一个该元数据组内的元数据与该元数据组对应的元数据块内的元数据一一对应,该缓存装置包括:更新单元,用于更新内存中的至少一个元数据,该至少一个元数据对应于该Flash中用于存储写入IO请求命令请求写入的数据的至少一个数据块;获取单元,用于获取该至少一个元数据所属的至少一个元数据块之第一元数据组,一个该元数据组中的元数据对应于该Flash中的一个元数据块中的元数据;队列移动单元,用于如果该至少一个元数据 组内的第一元数据组的写状态为非写入状态且该第一元数据组下存在等待执行元数据写入操作的多个写入IO请求命令,则将该多个写入IO请求命令移动到该第一元数据组的合并写入元数据队列;写入单元,用于将该第一元数据组写入到该Flash中该第一元数据组所对应的元数据块;反馈单元,用于对该第一元数据组的合并写入元数据队列下的多个写入IO请求命令返回该第一元数据组写入是否成功的状态。结合第二方面,在第一种可能的实现方式中,该更新单元具体实现为:如果该至少一个元数据之一的状态指示信息指示该至少一个元数据之一为干净Clean状态,则更新该至少一个元数据之一,其中,该Clean状态用于指示该至少一个元数据之一在该Flash对应的元数据与该至少一个元数据之一内容相同。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,具体实现为:一个该元数据块的大小等于该Flash的页面大小。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,具体实现为:该chunk元数据区的大小与一个该数据块的大小一致。第三方面,提出了一种存储系统,包括内存、缓存Cache和处理器,该Cache包括闪存Flash,该Flash的存储区域包括多个chunk, —个该chunk包括一个chunk元数据区和一个chunk数据区,该一个chunk元数据区包括至少一个元数据块,该一个chunk数据区包括与该至少一个元数据块对应的至少一个数据区,该元数据块包括多个元数据,该数据区包括多个数据块,该元数据块与该数据区一一对应,该元数据与该数据块一一对应,内存中的一个元数据组对应于一个该元数据块,一个该元数据组包含多个元数据,一个该元数据组内的元数据与该元数据组对应的元数据块内的元数据一一对应,其中,该处理器用于:更新该内存中的至少一个元数据,该至少一个元数据对应于该Flash中用于存储写入IO请求命令请求写入的数据的至少一个数据块;获取该至少一个元数据所属的至少一个元数据块之第一元数据组,一个该元数据组中的元数据本文档来自技高网...

【技术保护点】
一种缓存Cache写入的方法,其特征在于,所述Cache的闪存Flash的存储区域包括多个存储块chunk,一个所述chunk包括一个chunk元数据区和一个chunk数据区,所述一个chunk元数据区包括至少一个元数据块,所述一个chunk数据区包括与所述至少一个元数据块对应的至少一个数据区,所述元数据块包括多个元数据,所述数据区包括多个数据块,所述元数据块与所述数据区一一对应,所述元数据与所述数据块一一对应,内存中的一个元数据组对应于一个所述元数据块,一个所述元数据组包含多个元数据,一个所述元数据组内的元数据与所述元数据组对应的元数据块内的元数据一一对应,包括:更新内存中的至少一个元数据,所述至少一个元数据对应于所述Flash中用于存储写入IO请求命令请求写入的数据的至少一个数据块;获取所述至少一个元数据所属的至少一个元数据组;如果所述至少一个元数据组内的第一元数据组的写状态为非写入状态且所述第一元数据组下存在等待执行元数据写入操作的多个写入IO请求命令,则将所述多个写入IO请求命令移动到所述第一元数据组的合并写入元数据队列;将所述第一元数据组的元数据写入到所述Flash中所述第一元数据组所对应的元数据块中;对所述第一元数据组的合并写入元数据队列下的多个写入IO请求命令返回所述第一元数据组写入是否成功的状态。...

【技术特征摘要】

【专利技术属性】
技术研发人员:黄福堂明亮王朝海
申请(专利权)人:华为数字技术苏州有限公司
类型:发明
国别省市:

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

1