System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储技术,特别地,涉及管理数据的方法及相关产品。
技术介绍
1、图1a展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如sata(serial advanced technology attachment,串行高级技术附件)、scsi(small computer system interface,小型计算机系统接口)、sas(serial attachedscsi,串行连接scsi)、ide(integrated drive electronics,集成驱动器电子)、usb(universal serial bus,通用串行总线)、pcie(peripheral component interconnectexpress,pcie,高速外围组件互联)、nvme(nvm express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个nvm芯片105以及dram(dynamic random access memory,动态随机访问存储器)110。
2、nand闪存、相变存储器、feram(ferroelectric ram,铁电存储器)、mram(magnet
3、接口103可适配于通过例如sata、ide、usb、pcie、nvme、sas、以太网、光纤通道等方式与主机交换数据。
4、控制部件104用于控制在接口103、nvm芯片105以及dram 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是fpga(field-programmable gate array,现场可编程门阵列)、asic(application specificintegrated circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理io(input/output)命令。控制部件104还可以耦合到dram110,并可访问dram 110的数据。在dram可存储ftl表和/或缓存的io命令的数据。
5、图1b展示了存储设备的控制部件的详细的框图。
6、主机以遵循存储协议的io命令访问存储设备。控制部件根据来自主机的io命令,生成一个或多个存储命令并提供给介质接口控制器。介质接口控制器根据存储命令生遵循nvm芯片的接口协议的存储介质访问命令(例如,编程命令、读命令、擦除命令)。控制部件还跟踪从一个io命令生成的所有存储命令都被执行完成,并向主机指示io命令的处理结果。
7、参看图1b,控制部件包括例如主机接口、主机命令处理单元、存储命令处理单元、介质接口控制器(或称闪存接口控制器闪存通道控制器)与存储介质管理单元。主机接口获取主机提供的io命令,并生成存储命令提供给存储命令处理单元。存储命令例如访问相同大小的存储空间,例如4kb。将nvm芯片中记录的对应一个存储命令所访问数据的数据单元称为数据帧。物理页记录一个或多个数据帧。例如,物理页的大小17664字节,而数据帧大小为4kb,则一个物理页能存储4个数据帧。
8、存储介质管理单元为每个存储命令维护逻辑地址到物理地址的转换。例如,存储介质管理单元包括ftl表。对于读命令,存储介质管理单元输出存储命令所访问的逻辑地址对应的物理地址,对于写命令,存储介质管理单元为其分配可用的物理地址,并记录其访问的逻辑地址与分配的物理地址的映射关系。存储介质管理单元还维护诸如垃圾回收、磨损均衡等管理nvm芯片所需的功能。
9、存储命令处理单元根据存储介质管理单元提供的物理地址,操作介质接口控制器向nvm芯片发出存储介质访问命令。为了清楚的目的,将存储命令处理单元发送给介质接口控制器的命令称为介质接口命令,而将介质接口控制器发送给nvm芯片的命令称为存储介质访问命令。存储介质访问命令遵循nvm芯片的接口协议。
10、nvm芯片的存储单元被组织为物理块与物理页,其中,每个物理块包括多个物理页。主机提供给存储设备的io命令中,lba所代表的存储单元大小是例如4kb,在物理页中除了提供用户区,还提供了备用区。在用户区记录用户提供的4kb数据(记录在上图中的用户区),还提供备用区。存储设备的控制部件使用备用区来记录自身产生的信息。记录在备用区的数据例如ecc算法对用户数据产生的校验数据、用户数据的lba、对用户数据加扰时的随机数种子、加密或解密密钥等,为了简单的目的,将记录在备用区的数据也统称为元数据。现代nvm芯片提供更大的物理页(例如16kb),使得物理页的容量同lba所代表存储单元的容量不一致。例如,物理页中记录4个lba所对应的用户数据,每份用户数据还有其对应的元数据。将物理页中存储的用户数据区与备用区的组合称为数据单元du(date unit)。该物理页中记录了4个du。
11、在一些应用场景中,为了实现某种特定需求,在向物理页写入数据时,通过元数据来指示特定模式或者类别。特定模式或者类别例如统计读出数据的错误比特数据,对用户区数据加密或者用户区数据中具有指定数值等。从物理页读出数据时,若识别出特定模式或类别,根据特定模式或类别指示来对读出的数据进行相应操作。例如,为了验证nvm芯片的可靠性,向物理页写入随机数,随后读出所写入的随机数,并统计读出数据的错误比特数。这种场景下,写入的随机数本身不再重要,用户仅希望获取读出数据的错误比特数。为了加速这种场景的处理,在向物理页写入数据时,在元数据中指示特定模式(统计错误比特数)。在从物理页读出数据时,若识别出元数据中所指示的统计比特数这一特定模式,则无需缓存从物理页读出的数据,而可以仅记录其错误比特数。
技术实现思路
1、控制部件在主机和nvm芯片之间传输数据时,控制部件中介质接口控制器将从nvm芯片读取的数据搬移到缓存,并生成各命令所对应的处理结果(cpl)。控制部件中存储命令处理单元(如图1b所示)再根据cpl从缓存中获取从nvm芯片读出的数据,然后还需要从读出数据中识别是否存指示了特定模式或类别。若指示了特定模式或类别,则按照特定模式或类别所对应的处理方式对读出数据处理。存储命令处理单元识别出读出数据是否具有特定类别或模式通常是由处理器(cpu)来实现的。随着应用场景以及需求不断丰本文档来自技高网...
【技术保护点】
1.一种控制部件,其特征在于,包括:存储命令处理单元以及介质接口控制器;
2.如权利要求1所述的控制部件,其特征在于,所述介质接口控制器包括介质接口以及内容可寻址存储器CAM;
3.如权利要求2所述的控制部件,其特征在于,其中,
4.如权利要求3所述的控制部件,其特征在于,所述CAM还包括掩码寄存器以及第一匹配单元;
5.如权利要求3或4所述的控制部件,其特征在于,所述CAM还包括:起始位置寄存器;
6.如权利要求3-5任一项所述的控制部件,其特征在于,所述介质接口控制器包括多个CAM以及第二匹配单元;
7.如权利要求6所述的控制部件,其特征在于,其中,
8.如权利要求2-7任一项所述的控制部件,其特征在于,包括:
9.一种介质接口控制器,其特征在于,包括:介质接口以及CAM;
10.一种管理数据的方法,其特在于,包括:
【技术特征摘要】
1.一种控制部件,其特征在于,包括:存储命令处理单元以及介质接口控制器;
2.如权利要求1所述的控制部件,其特征在于,所述介质接口控制器包括介质接口以及内容可寻址存储器cam;
3.如权利要求2所述的控制部件,其特征在于,其中,
4.如权利要求3所述的控制部件,其特征在于,所述cam还包括掩码寄存器以及第一匹配单元;
5.如权利要求3或4所述的控制部件,其特征在于,所述...
【专利技术属性】
技术研发人员:孙明浩,朱旭涛,
申请(专利权)人:北京忆芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。