【技术实现步骤摘要】
本申请涉及存储,尤其涉及一种高效利用存储设备中缓存prp的缓存单元的方法。
技术介绍
1、图1a展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如sata(serial advanced technology attachment,串行高级技术附件)、scsi(small computer system interface,小型计算机系统接口)、sas(serial attachedscsi,串行连接scsi)、ide(integrated drive electronics,集成驱动器电子)、usb(universalserial bus,通用串行总线)、pcie(peripheral component interconnectexpress,pcie,高速外围组件互联)、nvme(nvm express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102(下文中,将固态存储设备简称为存储设备)包括接口103、控制部件104、一个或多个nvm芯片105以及dram(dynamic randomaccess memory,动态随机访问存储器)110。
2、上述nvm芯片105包括nand闪存、相变存储器、fera
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、控制部件104以遵循nvm芯片105的接口协议的方式向nvm芯片105发出命令,以操作nvm芯片105,并接收从nvm芯片105输出的命令执行结果。已知的nvm芯片接口协议包括“toggle”、“onfi”等。
6、存储器目标(target)是nand闪存封装内的共享ce(chip enable,芯片使能)信号的一个或多个逻辑单元(lun,logic unit)。nand闪存封装内可包括一个或多个管芯(die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(plane)。逻辑单元内的多个平面可以并行存取,而nand闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。
7、存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
8、在存储设备102中,利用ftl(flash translation layer,闪存转换层)来维护从逻辑地址(lba)到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在相关技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。存储了从逻辑地址到物理地址的映射信息的表结构被称为ftl表。ftl表是存储设备中的重要元数据。ftl表的数据项记录了存储设备中以数据单元为单位的地址映射关系。
9、主机以遵循存储协议的io命令访问存储设备。控制部件根据来自主机的io命令,生成一个或多个介质接口命令并提供给介质接口控制器。介质接口控制器根据介质接口命令生遵循nvm芯片的接口协议的存储介质访问命令(例如,编程命令、读命令、擦除命令)。控制部件还跟踪从一个io命令生成的所有介质接口命令都被执行完成,并向主机指示io命令的处理结果。
10、参看图1b,控制部件包括主机接口1041、主机命令处理单元1042、存储命令处理单元1043、介质接口控制器1044与存储介质管理单元1045。主机接口1041获取主机提供的io命令。主机命令处理单元1042根据io命令生成存储命令提供给存储命令处理单元1043。存储命令可以访问相同大小的存储空间,例如4kb。将nvm芯片中记录的对应一个存储命令所访问数据的数据单元称为数据帧。物理页记录一个或多个数据帧。例如,物理页的大小17664字节,而数据帧大小为4kb,则一个物理页能存储4个数据帧。
11、存储介质管理单元1045为每个存储命令维护逻辑地址到物理地址的转换。例如,存储介质管理单元1045包括ftl表(下文将对ftl进行解释)。对于读命令,存储介质管理单元1045输出存储命令所访问的逻辑地址(lba)对应的物理地址。对于写命令,存储介质管理单元1045为其分配可用的物理地址,并记录其访问的逻辑地址(lba)与分配的物理地址的映射关系。存储介质管理单元1045还维护诸如垃圾回收、磨损均衡等管理nvm芯片所需的功能。
12、存储命令处理单元1043根据存储介质管理单元1045提供的物理地址,操作介质接口控制器1044向nvm芯片105发出存储介质访问命令。
13、为了清楚的目的,将主机发送给存储设备102的命令称为io命令(包括例如nvme读命令、nvme写命令),将主机命令处理单元1042发送给存储命令处理单元1043的命令称为存储命令,将存储命令处理单元1043发送给介质接口控制器1044的命令称为介质接口命令,而将介质接口控制器1044发送给nvm芯片105的命令称为存储介质访问命令。存储介质访问命令遵循nvm芯片的接口协议。
14、在nvme协议中nvme有两种命令,一种是admin命令,用于主机管理和控制存储设备,另一种是io命令,包括nvme写命令和nvme读命令,其用于控制主机和存储设备之间的数据传输。固态存储设备102收到nvme写命令后,通过主机接口1041去本文档来自技高网...
【技术保护点】
1.一种存储设备的缓存单元管理方法,其特征在于,包括:
2.根据权利要1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述地址定位信息包括以下一种或多种:PRP条目、SGL描述符、根据所述PRP条目或所述SGL描述确定的主机内存地址。
5.一种存储设备,所述存储设备包括主机命令处理单元,其特征在于,所述主机命令处理单元包括缓存单元、写入缓存单元的电路、释放缓存单元的电路:
6.根据权利要求5所述的存储设备,其特征在于,所述地址定位信息包括以下一种或多种:PRP条目、SGL描述符、根据所述PRP条目或所述SGL描述确定的主机内存地址;
7.根据权利要求5或6所述的存储设备,所述主机命令处理单元包括写入发起电路,所述写入发起电路包括DMA命令生成电路;其特征在于,
8.根据权利要求5-7任一项所述的存储设备,所述主机命令处理单元包括读取发起电路,所述读取发起电路包括完成消息处理电路;其特征在
9.根据权利要求5-7任一项所述的存储设备,其特征在于,所述释放缓存单元的电路包括第一存储器、第一计算电路、比较电路和地址定位信息删除电路;
10.根据权利要求5-7任一项所述的存储设备,其特征在于,所述释放缓存单元的电路包括:第二存储器、第二计算电路和控制电路;
...【技术特征摘要】
1.一种存储设备的缓存单元管理方法,其特征在于,包括:
2.根据权利要1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述地址定位信息包括以下一种或多种:prp条目、sgl描述符、根据所述prp条目或所述sgl描述确定的主机内存地址。
5.一种存储设备,所述存储设备包括主机命令处理单元,其特征在于,所述主机命令处理单元包括缓存单元、写入缓存单元的电路、释放缓存单元的电路:
6.根据权利要求5所述的存储设备,其特征在于,所述地址定位信息包括以下一种或多种:prp条目、s...
【专利技术属性】
技术研发人员:王玉巧,兰彤,黄好城,刘传杰,李正审,蔡德卿,肖峰,聂鑫,
申请(专利权)人:北京忆芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。