一种适用于互联网存储系统的存储控制方法、系统和装置制造方法及图纸

技术编号:6942015 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种适用于互联网存储系统的存储控制方法、系统和装置,其中方法包括:CPU在空闲时向存储控制器发送擦除请求指示存储控制器擦除过时的数据块;所述存储控制器接收到擦除请求后,擦除所述存储控制器所负责存储空间中过时的数据块;当所述存储控制器接收到写请求后,根据地址映射表将数据写入对应的数据块。通过本发明专利技术针对网络存储系统没有随机写的特性,通过在CPU空闲的时候启动擦除过时数据块的操作,无需预留存储空间作为buffer,降低了设计复杂度和硬件成本。

【技术实现步骤摘要】
一种适用于互联网存储系统的存储控制方法、系统和装置
本专利技术涉及计算机
,特别涉及一种适用于互联网存储系统的存储控制方法、系统和装置。
技术介绍
随着半导体介质存储装置的广泛使用,出现了各种各样的存储设备以及多种存储介质,例如固态硬盘(SSD,Solid State Disk)、闪存(flash)卡。现有的SSD和flash卡都是面向通用的存储模型设计的,需要考虑随机读、随机写、顺序读和顺序写这四种读写模式, 并且每种读写模式都要保证一定的性能。在flash设备中,读写的基本单元是页(page),擦除的基本单元是块(block),一个block —般包括64或者1 个page。在写一个page之前,必须擦除整个block。而互联网存储系统中只有随机读、顺序读和顺序写这三种读写模式,并没有随机写。通常,随机写会带来非常复杂的问题,例如均衡磨损(wear leveling)策略,为了降低写放大和降低合并(merge)操作对性能的影响,现有的存储控制方法都要预留7%到25% 的存储空间做缓存(buffer),如果有随机写或更新写,则将数据先写入该buffer,等到该 buffer快满时,执行merge操作,将数据拷入目的地址的存储空间,再把buffer中过时的内容删掉供后续的数据写入。显然,如果直接将现有的存储控制方法直接用于互联网存储系统,则这些必然会增加设计复杂度和硬件成本。
技术实现思路
本专利技术提供了一种适用于互联网存储系统的存储控制方法、系统和装置,以便于降低设计复杂度和硬件成本。具体技术方案如下一种适用于互联网存储系统的存储控制方法,该方法包括CPU在空闲时向存储控制器发送擦除请求指示存储控制器擦除过时的数据块;所述存储控制器接收到擦除请求后,擦除所述存储控制器所负责存储空间中过时的数据块;当所述存储控制器接收到写请求后,根据地址映射表将数据写入对应的数据块。优选地,该方法还包括所述存储控制器记录各数据块的擦除次数;所述根据地址映射表将数据写入对应的数据块具体包括所述存储控制器识别所述存储控制器所负责存储空间中擦除次数最小的空闲块作为目标块,将数据写入所述目标块,并修改地址映射表中写请求的目的逻辑地址所映射的物理地址为所述目标块的物理地址。或者,该方法还包括所述存储控制器记录各数据块的擦除次数;所述存储控制器在空闲时将擦除次数小于设定第一阈值的数据块与擦除大于设定第二阈值的数据块进行内容交换,并将地址映射表中交换的数据块的物理地址进行交换;其中所述第二阈值大于第一阈值。具体地,所述CPU在空闲时向存储控制器发送擦除请求包括所述CPU中的上层软件将擦除请求分发至线程,再经由软件驱动层发送给各存储通道共用的存储控制器;或者,CPU中的上层软件将擦除请求分发至线程,再经由软件驱动层发送给各线程所负责存储通道的存储控制器,其中每一个存储通道分别对应一个存储控制器。其中,所述过时的数据块包括超过数据块有效时间的数据块、CPU中的上层软件确定出的无用的数据所在的数据块、临时数据所在的数据块。更进一步地,该方法还包括所述存储控制器接收到读请求后,根据地址映射表确定读请求的目的逻辑地址所映射的物理地址,并从确定的物理地址读取数据。另外,该方法还包括中断控制器在每一个存储控制器执行完数据处理后,分别向所述CPU发起中断; 或者,中断控制器在所有存储控制器执行完数据处理的操作后,统一向所述CPU发起中断。优选地,当需要写入的数据占用多个数据块时,从所述存储控制器所负责存储空间的多个plane中分别识别出各plane中擦除次数最小的空闲块作为目标块。优选地,该方法还包括所述存储控制器选取不超过预设个数的空闲块标识为保留区;所述存储控制器在识别所述目标块时,从所负责存储空间中标识为保留区的数据块中选择擦除次数最小的数据块作为目标块;所述目标块被写入数据后,取消该目标块的保留区标识;有未标识为保留区的数据块被擦除数据,且被标识为保留区的数据块没有达到所述预设个数,则将被擦除数据的数据块标识为保留区。一种适用于互联网存储系统的存储控制系统,该存储控制系统包括CPU和存储控制器;所述CPU,用于在空闲时向存储控制器发送擦除请求指示存储控制器擦除过时的数据块;所述存储控制器,用于接收到擦除请求后,擦除所述存储控制器所负责存储空间中过时的数据块;接收到写请求后,根据地址映射表将数据写入对应的数据块。优选地,所述存储控制器还用于记录各数据块的擦除次数,接收到所述写请求后, 识别所述存储控制器所负责存储空间中擦除次数最小的空闲块作为目标块,将数据写入所述目标块,并修改地址映射表中写请求的目的逻辑地址所映射的物理地址为所述目标块的物理地址。或者,所述存储控制器还用于记录各数据块的擦除次数,在空闲时将擦除次数小于设定第一阈值的数据块与擦除大于设定第二阈值的数据块进行内容交换,并将地址映射表中交换的数据块的物理地址进行交换;其中所述第二阈值大于第一阈值。具体地,所述CPU包括上层软件、一个以上的线程和软件驱动层;所述上层软件将擦除请求分发至所述线程,再经由所述软件驱动层发送给各存储通道共用的存储控制器;或者,所述上层软件将擦除请求分发至所述线程,再经由所述软件驱动层发送给各线程所负责存储通道的存储控制器,其中每一个存储通道分别对应一个存储控制器。其中,所述过时的数据块包括超过数据块有效时间的数据块、CPU中的上层软件确定出的无用的数据所在的数据块、临时数据所在的数据块。所述存储控制器,还用于接收到读请求后,根据地址映射表确定读请求的目的逻辑地址所映射的物理地址,并从确定的物理地址读取数据。另外,该系统还包括中断控制器,用于在每一个存储控制器执行完数据处理后, 分别向所述CPU发起中断;或者,在所有存储控制器执行完数据处理的操作后,统一向所述 CPU发起中断。优选地,当需要写入的数据占用多个数据块时,所述存储控制器从所负责存储空间的多个plane中分别识别出各plane中擦除次数最小的空闲块作为目标块。优选地,所述存储控制器,还用于选取不超过预设个数的空闲块标识为保留区,在识别所述目标块时,从所负责存储空间中标识为保留区的数据块中选择擦除次数最小的数据块作为目标块;所述目标块被写入数据后,取消该目标块的保留区标识;有未标识为保留区的数据块被擦除数据,且被标识为保留区的数据块没有达到所述预设个数,则将被擦除数据的数据块标识为保留区。一种存储控制器,该存储控制器包括存储器文件RF、闪存翻译层FTL、先入先出存储器FIFO以及闪存控制模块;所述RF,用于记录接收到的访问请求;所述FTL与所述RF、所述FIFO以及缓存处理数据的DRAM连接,用于进行地址管理,所述地址管理包括维护所在存储通道中逻辑地址到物理地址的地址映射表,完成所述 RF所记录访问请求的逻辑地址到物理地址的映射;还用于记录各数据块的擦除次数,当所述访问请求为写请求时,识别所述存储控制器所负责存储空间中擦除次数最小的空闲块作为目标块,并修改地址映射表中写请求的目的逻辑地址所映射的物理地址为所述目标块的物理地址;所述闪存控制模块,与所述FTL通过所述FIFO连接,用于根据所述FTL的地址映射结果,按照所述访问请求进行数据处理。更进一步地,所述RF还用于保存数据处理的状态信息本文档来自技高网...

【技术保护点】
1.一种适用于互联网存储系统的存储控制方法,其特征在于,该方法包括:CPU在空闲时向存储控制器发送擦除请求指示存储控制器擦除过时的数据块;所述存储控制器接收到擦除请求后,擦除所述存储控制器所负责存储空间中过时的数据块;当所述存储控制器接收到写请求后,根据地址映射表将数据写入对应的数据块。

【技术特征摘要】

【专利技术属性】
技术研发人员:欧阳剑林仕鼎刘斌王勇谢广军
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:11

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

1