使用读取阈值表提高闪存利用率的方法和系统的制作方法_2

文档序号:9708237阅读:来源:国知局
处理请求(其可包括向存储模块发送请求),并在该请求已被服务之后向客户端提供响应。下面包括关于控制模块中的部件的附加细节。此外,下面参考图5A-5B来描述关于服务读请求的控制模块的操作。
[0026]继续图2的讨论,在本发明的一个或多个实施方式中,控制模块200包括输入/输出模块(Ι0Μ) 204、处理器208、存储器210以及可选地现场可编程门阵列(FPGA)212。在本发明的一个实施方式中,Ι0Μ 204是客户端(例如,图1A — 1C,100A、100M与存储设备中的其它部件之间的物理接口。Ι0Μ支持以下协议中的一个或多个:PC1、PCIe、PC1-X、以太网(包括但不限于根据IEEE 802.3a-802.3bj定义的各种标准)、无限带宽以及融合以太网(RoCE)承载远程直接存储器访问(RDMA)。本领域的技术人员将认识到在不脱离本发明的情况下可使用除上文所列的那些之外的协议来实现Ι0Μ。
[0027]继续图2,处理器208是具有被配置成执行指令的单核或多核的一组电子电路。在本发明的一个实施方式中,可使用复杂指令集(CISC)架构或精简指令集(RISC)架构来实现处理器208。在本发明的一个或多个实施方式中,处理器208包括根复合体(rootcomplex)(由PCIe协议定义)。在本发明的一个实施方式中,如果控制模块200包括根复合体(可将其集成到处理器208中),则存储器210经由根复合体而连接到处理器208。可替代地,存储器210使用另一点到点连接机制而直接地连接到处理器208。在本发明的一个实施方式中,存储器210对应于任何易失性存储器,包括但不限于动态随机存取存储器(DRAM)、同步 DRAM、SDR SDRAM 以及 DDR SDRAM。
[0028]在本发明的一个实施方式中,处理器208被配置成创建并更新存储器内数据结构(未不出),其中,该存储器内数据结构被存储在存储器210中。在本发明的一个实施方式中,该存储器内数据结构包括在图4中描述的信息。
[0029]在本发明的一个实施方式中,处理器被配置成将各种类型的处理卸载到FPGA212。在本发明的一个实施方式中,FPGA 212包括计算用于正被写入到(一个或多个)存储模块的数据和/或从(一个或多个)存储模块正读取的数据的检查和的功能。此外,FPGA212可包括出于使用RAID方案(例如,RAID 2—RAID 6)在(一个或多个)存储模块中存储数据的目的计算P和/或Q奇偶信息的功能和/或执行恢复使用RAID方案(例如,RAID2—RAID 6)存储的已损坏数据所需的各种计算的功能。在本发明的一个实施方式中,存储模块组202包括每个被配置成存储数据的一个或多个存储模块214A、214N。下面在图3中描述存储模块的一个实施方式。
[0030]图3示出了根据本发明的一个或多个实施方式的存储模块。存储模块300包括存储模块控制器302、存储器(未示出)以及一个或多个固态存储器模块304A、304N。下面描述这些部件中的每一个。
[0031]在本发明的一个实施方式中,存储模块控制器300被配置成接收从一个或多个控制模块读取数据和/或向其写入数据的请求。此外,存储模块控制器300被配置成使用存储器(未示出)和/或固态存储器模块304A、304N来为读和写请求服务。
[0032]在本发明的一个实施方式中,存储器(未示出)对应于任何易失性存储器,包括但不限于动态随机存取存储器(DRAM)、同步DRAM、SDR SDRAM以及DDR SDRAM。
[0033]在本发明的一个实施方式中,固态存储器模块对应于使用固态存储器来存储持久性数据的任何数据存储器件。在本发明的一个实施方式中,固态存储器可包括但不限于NAND闪存和N0R闪存。此外,NAND闪存和N0R闪存可包括单层单元(SLC)、多层单元(MLC)或三层单元(TLC)。本领域的技术人员将认识到本发明的实施方式不限于存储类存储器。
[0034]图4示出了根据本发明的一个或多个实施方式的各种部件之间的关系。更具体地,图4示出了存储在控制模块的存储器中的各种类型的信息。此外,控制模块包括更新存储在控制模块的存储器中的信息的功能。可将下面描述的信息存储在一个或多个存储器内数据结构中。此外,如果(一个或多个)数据结构类型保持信息之间的关系(如下所述),可使用任何数据结构类型(例如,阵列、链接列表、散列表等)来组织(一个或多个)存储器内数据结构内的以下信息。
[0035]存储器包括逻辑地址400到物理地址402的映射。在本发明的一个实施方式中,逻辑地址400是从客户端(例如,图1A中的100A、100M)的角度看数据看起来常驻在该处的地址。换言之,逻辑地址400对应于客户端上的文件系统在向存储设备发布读请求时所使用的地址。
[0036]在本发明的一个实施方式中,逻辑地址是(或包括)通过把散列函数(例如,SHA-UMD-5等)应用到η元组而生成的散列值,其中,η元组是<对象ID,偏移ID >。在本发明的一个实施方式中,对象ID定义文件,并且偏移ID定义相对于文件的起始地址的位置。在本发明的另一实施方式中,η元组是 <对象ID,偏移ID,产生时间 >,其中,产生时间对应于创建该文件(使用对象ID来识别)时的时间。可替代地,逻辑地址可包括逻辑对象ID和逻辑字节地址,或者逻辑对象ID和逻辑地址偏移。在本发明的另一实施方式中,逻辑地址包括对象ID和偏移ID。本领域的技术人员将认识到可将多个逻辑地址映射到单个物理地址,并且逻辑地址内容和/或格式不限于上述实施方式。
[0037]在本发明的一个实施方式中,物理地址402对应于图3中的固态存储器模块304A、304N中的物理位置。在本发明的一个实施方式中,可将物理地址定义为以下η元组:<存储模块,通道,芯片使能,LUN,平面,块,页号,字节>。
[0038]在本发明的一个实施方式中,每个物理地址402与编程/擦除(Ρ/Ε)循环值404相关联。Ρ/Ε循环值可表示:(i)已经在由物理地址定义的物理位置上执行的P/E循环的数目,或(ii)P/E循环范围(例如,5,000-9, 999P/E循环),其中,在已经由物理地址定义的物理位置上执行的P/E循环的数目在P/E循环范围内。在本发明的一个实施方式中,P/E循环是数据到擦除块(即,用于擦除操作的最小可寻址单元,通常为一组的多个页)中的一个或多个页的写入和该块的擦除,任一顺序均可。
[0039]可基于每个页、基于每个块、基于每组块和/或以任何其它水平的量化度来存储P/E循环值。控制模块包括在数据被写入到固态存储模块(和/或从其擦除)时适当地更新P/E循环值402的功能。
[0040]在本发明的一个实施方式中,所有数据(即,客户端上的文件系统已经请求被写入到固态存储模块的数据)406与产生时间408相关联。产生时间408可对应于:(i)数据被写入到固态存储模块中的物理位置(由于客户端写请求、由于由控制模块发起的垃圾收集操作等)的时间;(ii)客户端发布用以将数据写入到固态存储模块的写请求的时间;或者(iii)对应于(i)或(ii)中的写事件的无单位值(即,序号)。
[0041]在本发明的一个实施方式中,存储器内数据结构包括<保持时间,页号,P/E循环值>到一个或多个读取阈值412的映射。上述映射还可包括影响读取阈值(例如,温度、工作负荷等)的任何(一个或多个)其它系统参数(即,除保持时间、页号、P/E循环值之外的一个或多个参数)。在本发明的一个实施方式中,保持时间对应于在数据到固态存储模块中的物理位置的写入与正在从固态存储模块中的相同物理位置读取数据的时间之间所经历的时间。可用时间单位来表示保持时间,或者可将其表示为无单位值(例如,当产生时间被表示为无单位值时)。在本发明的一个实施方式中,可将<保持时间,页号,P/E循环值>中的P/E循环值表示为P/E循环或P/E循环范围。
[0042]在本发明的一个实施方式中,(一个或多个)读取阈值412对应于电压或位移值,其中,该位移值对应于默认读取阈值的电压位移。可将每个读取阈值表示为电压或者对应于电压的无单位数。
[0043]在本发明的一个实施方式中,默认读取阈值由固态存储器模块的制造商指定。此夕卜,位移值的量化度可由位移值指定,其中,位移值对应于相应默认读取阈值的电压位移。
[0044]在本发明的一个实施方式中,读取阈值(包括默认读取阈值)对应于用来读取存储在固态存储模块中的数据的电压值。更具体地,在本发明的一个实施方式中,通过将存储器单元中的电压与一个或多个读取阈值相比较来确定逻辑值(例如,用于作为SLC的存储器单元的1或0或者用于作为MLC的存储器单元的00、10,11,01)。然后可基于该比较的结果来确定存储在存储器单元中的逻辑值。例如,如果给定电压(V)在B阈值之上且在C阈值以下,则存储在存储器单元中的逻辑值是00(参见例如图6B)。在本发明的一个实施方式中,固态存储器模块中的每个页可包括4-8K之间的数据。因此,存储模块控制器通常从多个存储器单元获得逻辑值以便对服务读请求。必须从其获得逻辑值的存储器单元的指定数目基于正在请求的数据量(经由读请求)和存储器单元的类型(SLC、MLC等)而改变。
[0045]在本发明的一个实施方式中,通过执行实验以确定当以下变量中的至少一个被修改时应如何修改读取阈值来确定(一个或多个)读取阈值412:保持时间、P/E循环值以及页号。优化(一个或多个)读取阈值412以便能够成功地从固态存储器模块读取数据。具体地,针对<保持时间,P/E循环值,页号>的每个组合,确定最佳读取阈值。用于给定<保持时间,P/E循环值,页号>的最佳读取阈值是导致针
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1