System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种ssd的转换层表的访问控制方法、装置及存储设备。
技术介绍
1、nvme固态硬盘凭借低延迟和高吞吐量的特点,已经取代机械硬盘,成为企业级市场和消费级市场的主要存储介质。作为nvme固态硬盘的重要组成部分,nvme硬盘控制器芯片对nvme固态硬盘的整体性能极其重要的影响。使用过程中,应用程序使用逻辑地址(logic block address,即lba)读写固态硬盘上的数据;数据在固态硬盘的存储介质中需要使用物理地址(physical block address,即pba)进行访问。一个lba对应一个pba;当应用程序向一个lba写入数据时,固态硬盘控制器会为该lba分配一个新的pba;实际上,lba对应的pba的值会随着主机的访问(或固态硬盘内的内部事件触发的访问)发生变化。当控制器需要访问一个lba时,它需要找到对应的pba,然后访问数据;控制器使用一张表保存lba到pba的转换信息,在固态硬盘中这个表格被称作ftl(flash translation layer,闪存转换层)表。
2、ftl表除了保存每个逻辑地址的物理地址,某些设计中还可能会保存逻辑地址的状态信息(比如lb的好坏等),每个lba的状态信息可能额外占用几个bit。ftl表可以保存在主机的内存中、ssd的nand中,但是高性能ssd都会将ftl表存储在nand中,并在上电时将其读取到控制器的ddr(double data rate sdram,双倍速率同步动态随机存储器)中进行访问。
3、现有技术方案中
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的ssd的转换层表的访问控制方法、装置及存储设备。
2、本专利技术的一个方面,提供了一种ssd的转换层表的访问控制方法,所述方法包括:
3、接收nvme控制器中主控单元发送的第一目标表项的表项写入请求,所述表项写入请求中携带有写访问地址信息和目标数据;
4、根据写访问地址信息和转换层表在nvme控制器内部ddr中的存储格式信息,计算待访问的第一目标表项在ddr的第一存储位置信息以及第一目标表项在对应存储位置中的第一起止位信息,并发送第一数据读请求到ddr控制器,所述第一数据读请求中携带有所述第一存储位置信息,以供所述ddr控制器读取并返回对应存储位置中存储的历史ddr数据;
5、接收ddr控制器返回的历史ddr数据,根据第一目标表项在对应存储位置中的第一起止位信息将历史ddr数据中第一目标表项的表项数据更新为目标数据,得到更新后的ddr数据;
6、发送更新数据写请求和更新后的ddr数据到ddr控制器,所述更新数据写请求中携带有所述第一存储位置信息,以将更新后ddr数据写入第一存储位置信息对应的存储位置。
7、进一步地,所述转换层表项的起始位和终止位分布在存储位置信息对应存储位置中的不同字节中。
8、进一步地,转换层表在nvme控制器内部ddr中的存储格式信息包括ddr的每个row中保存的转换层表项的数量num和每个转换层表项的长度len;
9、根据写访问地址信息和转换层表在nvme控制器内部ddr中的存储格式信息,计算待访问的第一目标表项在ddr的第一存储位置信息以及第一目标表项在对应存储位置中的第一起止位信息,包括:
10、根据所述待访问地址信息计算待访问的第一目标表项的逻辑区块地址;
11、根据逻辑区块地址和ddr的每个row中保存的转换层表项的数量num计算第一目标表项在ddr的row地址以及第一目标表项在当前row中的表项位置;
12、根据第一目标表项在当前row中的表项位置以及每个转换层表项的长度len计算第一目标表项在当前row内的按位计算的开始位置m0和表项结束后的下一个数据位的位置m1;
13、根据第一目标表项对应的开始位置m0和表项结束后的下一个数据位的位置m1计算第一目标表项在ddr的column地址、第一目标表项占用的字节数b以及第一目标表项在其占用的第一个字节中的开始位p0、第一目标表项在其占用的最后一个字节中的第一个未使用的位p1。
14、进一步地,所述根据第一目标表项在对应存储位置中的第一起止位信息将历史ddr数据中第一目标表项的表项数据更新为目标数据,得到更新后的ddr数据,包括:
15、提取所述历史ddr数据中第一个字节的第一数据和最后一个字节的第二数据进行缓存;
16、根据当前待写入的目标数据按照第一起止位信息对历史ddr数据中第一个字节的第一数据和最后一个字节的第二数据进行数据更新,将更新后的第一数据、目标数据中除去更新到第一数据与第二数据中的数据之外的剩余数据以及更新后的第二数据进行合并,得到更新后的ddr数据。
17、进一步地,所述方法还包括:
18、接收nvme控制器中主控单元发送的第二目标表项的表项读取请求,所述表项读取请求中携带有读访问地址信息;
19、根据读访问地址信息和转换层表在nvme控制器内部ddr中的存储格式信息,计算待访问的第二目标表项在ddr的第二存储位置信息以及第二目标表项在对应存储位置中的第二起止位信息,并发送第二数据读请求到ddr控制器,所述第二数据读请求中携带有所述第二存储位置信息,以供所述ddr控制器读取并返回对应存储位置中存储的第二ddr数据;
20、接收ddr控制器返回的第二ddr数据,根据第二目标表项在对应存储位置中的第二起止位信息从所述第二ddr数据中提取第二目标表项的表项数据,并将第二目标表项的表项数据发送至主控单元。
21、进一步地,所述第二起止位信息包括第二目标表项在其占用的第一个字节中的开始位p0’和第二目标表项在其占用的最后一个字节中的第一个未使用的位p1’,所述方法还包括:
22、当p0’不是第二目标表项占用的第一个字节的第一数据位时,在接收到ddr控制器返回的第二ddr数据之后,将第二ddr数据中的第一个字节的第一数据写入预设的数据缓冲区域;
23、当p1’不是第二目标表项占用的最后一个字节之后相邻字节的第一数据位时,在接收到ddr控制器返回的第二ddr数据之后,将第本文档来自技高网...
【技术保护点】
1.一种SSD的转换层表的访问控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述转换层表项的起始位和终止位分布在存储位置信息对应存储位置中的不同字节中。
3.根据权利要求1所述的方法,其特征在于,转换层表在NVMe控制器内部DDR中的存储格式信息包括DDR的每个Row中保存的转换层表项的数量NUM和每个转换层表项的长度LEN;
4.根据权利要求3所述的方法,其特征在于,所述根据第一目标表项在对应存储位置中的第一起止位信息将历史DDR数据中第一目标表项的表项数据更新为目标数据,得到更新后的DDR数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述第二起止位信息包括第二目标表项在其占用的第一个字节中的开始位P0’和第二目标表项在其占用的最后一个字节中的第一个未使用的位P1’,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.一种SSD的转换层表的访问控制装置,其特征在于
9.根据权利要求8所述的装置,其特征在于,所述地址转换模块,还用于接收NVMe控制器中主控单元发送的第二目标表项的表项读取请求,所述表项读取请求中携带有读访问地址信息;根据读访问地址信息和转换层表在NVMe控制器内部DDR中的存储格式信息,计算待访问的第二目标表项在DDR的第二存储位置信息以及第二目标表项在对应存储位置中的第二起止位信息,并发送第二数据读请求到DDR控制器,所述第二数据读请求中携带有所述第二存储位置信息,以供所述DDR控制器读取并返回对应存储位置中存储的第二DDR数据;
10.一种存储设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-8任一项所述方法的步骤。
...【技术特征摘要】
1.一种ssd的转换层表的访问控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述转换层表项的起始位和终止位分布在存储位置信息对应存储位置中的不同字节中。
3.根据权利要求1所述的方法,其特征在于,转换层表在nvme控制器内部ddr中的存储格式信息包括ddr的每个row中保存的转换层表项的数量num和每个转换层表项的长度len;
4.根据权利要求3所述的方法,其特征在于,所述根据第一目标表项在对应存储位置中的第一起止位信息将历史ddr数据中第一目标表项的表项数据更新为目标数据,得到更新后的ddr数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述第二起止位信息包括第二目标表项在其占用的第一个字节中的开始位p0’和第二目标表项在其占用的最后一个字节中的第一个未使用的位p1’,所述方法...
【专利技术属性】
技术研发人员:刘琳琳,杨骥,
申请(专利权)人:北京得瑞领新科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。