本发明涉及nand固态硬盘读写方法相关,具体涉及一种利用cxl协议把ftl全映射表放在主机端ram的读写方法。
背景技术:
1、固态硬盘储存装置的ram是昂贵资源,企业级固态硬盘和消费级固态硬盘的硬件主要差别就在ram的大小,而ram的大小影响固件ftl (flash translation layer) 的映射算法。
2、市场上,基于nand的消费级低价储存装置,由于ram空间不多,读写时需要频繁的读写及更换映射表,因此影响读写效能,尤其是随机读写性能特别差。对性能有高度效能要求的系统,只能买企业级的固态硬盘,但是企业级的固态硬盘价格十分高昂,增加了系统成本。
3、主机端的ram愈来愈便宜,现在的计算机主机基本都有十几个gb的 ram,虽然nvme也有提出open channel固态硬盘,储存装置的固件只做基本的nand操作,把ftl算法写在主机端的驱动程序,映射表也放主机端的 ram,但是储存装置换不同的平台或nand flash就得换不同的驱动程序,因此存在储存装置移到不同的主机就有可能识别不到的问题,适用性差。
4、有鉴于上述的缺陷,基于少量ram空间的消费级nand固态硬盘,当前亟需设计一种新型的读写方法来解决读写效能低下、适用性差的问题,来满足产业化的需求。
技术实现思路
1、为了解决上述内容中提到的问题,基于少量ram空间的消费级nand固态硬盘,本发明提供了一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其可使消费级nand固态硬盘达到企业级的读写效能, 还不需要额外的驱动程序,适用性强。
2、其技术方案是这样的:
3、一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:所述方法包括以下步骤:
4、步骤1、在存储装置的固件写入ftl算法;
5、步骤2、利用cxl cache协议,将ftl全映射表放在主机端的ram;
6、步骤3、主机端进行数据读写。
7、进一步的,所述步骤2中上电时,先把ftl全映射表从存储装置的mapping nand读到存储装置的mapping ram中,再通过cxl cache device request写到主机端的fullmapping ram,然后开始进行读写。ftl全映射表具体为,ftl的逻辑地址和实体地址映射表。cxl协议具体为,compute express link协议。
8、进一步的,所述步骤2中下电前,先把ftl全映射通过cxl cache device request读回存储装置的mapping ram,再写回存储装置的mapping nand。
9、进一步的,所述步骤3中当主机端下达写命令时,数据通过dram写到存储装置的data ram,存储装置记录映射关系,并将数据写到data nand;写命令结束后,存储装置通过cxl cache device request将写命令的lba和data nand的映射关系写回到主机端的fullmapping ram。
10、进一步的,所述步骤3中当主机端下达读命令时,先检查读命令的lba的映射表在不在存储装置的mapping ram中,如果在,则直接取得映射关系,如不在,则通过cxl cachedevice request把读命令的lba的映射表从主机端的 full mapping ram读到存储装置的mapping ram中,然后取得映射关系;再从 data nand将数据读到data ram,再发送给主机端的dram。
11、本发明的有益效果为:
12、本发明通过利用cxl协议来将ftl的逻辑地址和实体地址映射表存放在主机端的ram中,然后设计了一套数据读写的操作流程来进行读写操作,该方法在读写过程中不用一直交换映射表,仅仅对连续读写效能稍有影响,即可使消费级nand固态硬盘达到企业级的读写效能, 还不需要额外的驱动程序,适用性强。
1.一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:所述方法包括以下步骤:
2.根据权利要求1所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:所述步骤2中上电时,先把ftl全映射表从存储装置的mapping nand读到存储装置的mapping ram中,再通过cxl cache device request写到主机端的full mappingram,然后开始进行读写。
3.根据权利要求2所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:所述步骤2中下电前,先把ftl全映射通过cxl cache device request读回存储装置的mapping ram,再写回存储装置的mapping nand。
4.根据权利要求1所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:所述步骤3中当主机端下达写命令时,数据通过dram写到存储装置的dataram,存储装置记录映射关系,并将数据写到data nand。
5.根据权利要求4所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:写命令结束后,存储装置通过cxl cache device request将写命令的lba和data nand的映射关系写回到主机端的full mapping ram。
6.根据权利要求1所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:所述步骤3中当主机端下达读命令时,先检查读命令的lba的映射表在不在存储装置的mapping ram中,如果在,则直接取得映射关系。
7.根据权利要求6所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:如果不在,则通过cxl cache device request把读命令的lba的映射表从主机端的 full mapping ram读到存储装置的mapping ram中,然后取得映射关系。
8.根据权利要求7所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:再从data nand将数据读到data ram,再发送给主机端的dram。
9.根据权利要求1所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:ftl全映射表具体为,ftl的逻辑地址和实体地址映射表。
10.根据权利要求1所述的一种利用cxl协议把ftl全映射表放在主机端ram的读写方法,其特征在于:cxl协议具体为,compute express link协议。