CN105005536B - 固态存储设备、主机的工作方法及固态存储设备、主机 - Google Patents

固态存储设备、主机的工作方法及固态存储设备、主机 Download PDF

Info

Publication number
CN105005536B
CN105005536B CN201510376911.9A CN201510376911A CN105005536B CN 105005536 B CN105005536 B CN 105005536B CN 201510376911 A CN201510376911 A CN 201510376911A CN 105005536 B CN105005536 B CN 105005536B
Authority
CN
China
Prior art keywords
memory
host
storage device
solid storage
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510376911.9A
Other languages
English (en)
Other versions
CN105005536A (zh
Inventor
陈磊
吴彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhiyu Technology Co ltd
Original Assignee
Memoright Memoritech Wuhan Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Memoright Memoritech Wuhan Co Ltd filed Critical Memoright Memoritech Wuhan Co Ltd
Priority to CN201510376911.9A priority Critical patent/CN105005536B/zh
Publication of CN105005536A publication Critical patent/CN105005536A/zh
Application granted granted Critical
Publication of CN105005536B publication Critical patent/CN105005536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开固态存储设备、主机的工作方法及固态存储设备、主机,固态存储设备获取主机分配的内存区域信息;将获取到的所述内存区域信息保存,并建立所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;将所述映射关系发送至所述主机的内存。还可以将固态存储设备缓存中其他部分或全部数据移至主机内存中。本发明通过以上技术方案,解决现有固态存储设备内Cache不够用,或将Cache中的数据放在存储介质中会牺牲固态存储设备的性能,同时浪费一部分设备存储空间的问题。

Description

固态存储设备、主机的工作方法及固态存储设备、主机
技术领域
本发明涉及电子技术领域,尤其涉及固态存储设备、主机的工作方法及固态存储设备、主机。
背景技术
随着计算机技术的日新月异,固态存储飞速发展,无论对性能带宽还是容量稳定性都要求越来越高。对于传统的固态存储设备,其接口(例如PATA,SATA,eMMC)带宽一般在几百兆以下,容量一般在1TB以内,其传统的设备架构都是设备的控制器内接或外接一个或者几个设备Cache(快速缓冲贮存区),控制很多存储介质的阵列,其中设备内的Cache容量大小,一般至少是存储介质容量的千分之一,(当然也有一些产品,不使用Cache,把算法的表存在存储介质中,这样会损失一部分设备性能作为代价)。
近几年,随着技术的不断进步,特别是类似PCI Express高速设备接口协议的出现,以及半导体工艺的不断提高存储介质的容量也在不断的提升,因此存储设备中Cache的瓶颈现状越来越明显,根据常规存储设备管理算法,一般都至少需要设备容量的千分之一Cache作为缓存固件的一些信息,当设备的容量动辄几个TB甚至更多时,几个GB的Cache放在设备内已经明显不现实。为了追求设备大容量,有些厂商就尝试把Cache中的大部分管理信息放在存储介质中,这样做的代价就是会牺牲很大设备的性能,同时浪费一部分设备存储空间。
发明内容
本发明提供的固态存储设备、主机的工作方法及固态存储设备、主机,解决现有固态存储设备内Cache不够用,或将Cache中的数据放在存储介质中会牺牲固态存储设备的性能,同时浪费一部分设备存储空间的问题。
为解决上述技术问题,本发明采用以下技术方案:
一种固态存储设备的工作方法,包括:获取主机分配的内存区域信息;将获取到的所述内存区域信息保存,并建立所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;根据所述内存区域信息将所述映射关系发送至所述主机分配的内存区域。
在一些实施例中,将获取到的所述内存区域信息保存具体为:将获取到的所述内存区域信息保存在预设的主机内存表分区内。
在一些实施例中,所述的固态存储设备的工作方法还包括:接收所述主机发送的写命令;对所述写命令进行解析;根据所述写命令的解析结果获取所述主机需要写入的数据;根据预设算法将所述数据写入所述预设算法指定的存储阵列的物理区块地址,并将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存。
在一些实施例中,将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存具体为:将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系写入预设的物理区块地址淘汰表分区。
在一些实施例中,所述的固态存储设备的工作方法还包括:判断是否满足写回主机内存的要求;如果满足,则查询对应的主机的内存物理地址入口信息;根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;向所述主机发送所述内存物理地址的写命令;将所述写命令相关的逻辑区块地址到物理区块地址的映射关系写回所述主机的内存。
在一些实施例中,所述的固态存储设备的工作方法还包括:接收所述主机发送的读命令;对所述读命令进行解析,并查询对应的主机的内存物理地址入口信息;根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;向所述主机发送所述内存物理地址的读命令;接收所述主机反馈的内存中保存的数据;将所述主机反馈的数据保存。
在一些实施例中,所述的固态存储设备的工作方法还包括:获取所述读命令对应的存储阵列的物理区块地址;发起对所述存储阵列的物理区块地址的读命令;获取根据所述读命令反馈的数据,并根据所述内存物理地址将所述数据写入内存。
在一些实施例中,所述的固态存储设备的工作方法还包括:根据所述内存区域信息将部分或全部缓存数据移至所述主机分配的内存区域中进行缓存。
一种主机的工作方法包括:给固态存储设备分配内存区域;将分配到的内存区域信息发送给所述固态存储设备;接收所述固态存储设备反馈的所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;将所述映射关系保存至给所述固态存储设备分配的内存区域。
在一些实施例中,所述的主机的工作方法还包括:向所述固态存储设备发送写命令;根据所述固态存储设备的响应将需要写入的数据发送给所述固态存储设备。
在一些实施例中,所述的主机的工作方法,还包括:接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的写命令;根据所述写命令,接收所述固态存储设备发送的所述写命令相关的逻辑区块地址到物理区块地址的映射关系;将所述所述写命令相关的逻辑区块地址到物理区块地址的映射关系写入所述主机给所述固态存储设备分配的内存区域。
在一些实施例中,所述的主机的工作方法还包括:向所述固态存储设备发送读命令;接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的读命令;向所述固态存储设备反馈内存中保存的数据。
在一些实施例中,所述的主机的工作方法还包括:接收所述固态存储设备根据所述读命令反馈的数据,并根据所述内存物理地址将所述数据写入内存。
在一些实施例中,所述的主机的工作方法还包括:获取所述固态存储设备中部分或全部缓存数据,在给所述固态存储设备分配的内存区域中进行缓存。
一种固态存储设备,包括:第一设备获取模块,用于获取主机分配的内存区域信息;第一设备保存模块,用于将第一获取模块获取到的所述内存区域信息保存;关系建立模块,用于建立所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;设备发送模块,用于根据所述内存区域信息将所述映射关系发送至所述主机分配的内存区域。
一种主机,包括:内存分配模块,用于给固态存储设备分配内存区域;主机发送模块,用于将分配到的内存区域信息发送给所述固态存储设备;主机接收模块,用于接收所述固态存储设备反馈的所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;第一主机保存模块,用于将所述映射关系保存至给所述固态存储设备分配的内存区域。
本发明提出将固态存储设备缓存中部分或全部数据移至主机的缓存即常称的主机内存中,由于现在的高速设备接口类似PCI Express其每个Lane的带宽为1GB,一般设备例如NGFF协议都是4个Lane,其接口带宽可以达到4GB远远高于设备内CPU访问设备缓存的带宽,因此放在主机内存丝毫不会影响存储系统的IO性能,同时,对于现在的常用主机,其内存配置一般都在8GB,16GB甚至更多,完全可以分配一小部分内存区域给存储设备用。因此,本发明能实现设备的大存储空间,又能不影响设备的IO性能,同时也不浪费存储介质的存储空间。
附图说明
图1为本发明一实施例提供的固态存储设备的工作方法的流程图;
图2为本发明一实施例提供的主机的工作方法的流程图;
图3为本发明一实施例提供的固态存储设备的示意图;
图4为本发明一实施例提供的主机的示意图。
具体实施方式
本发明提供一种构思,对于现有存储系统,在固态存储设备的Cache中缓存数据的方式提出改进,即将固态存储设备缓存中部分或全部数据移至主机内存中,能实现设备的大存储空间,又能不影响设备的IO性能,同时也不浪费存储介质的存储空间。移至主机内存中进行缓存的数据包括但不局限于:主机的LBA(Logical Block Address,逻辑区块地址)到固态存储设备的存储阵列的PBA(物理区块地址)的映射关系(如映射表)、垃圾回收数据等等。固态存储设备包括非易失性固态存储设备。
下面通过具体实施方式结合附图对本发明作进一步详细说明。
图1为本发明一实施例提供的固态存储设备的工作方法的流程图,请参考图1,包括如下流程:
S101、获取主机分配的内存区域信息,该内存区域信息包括但不局限于:内存物理地址和长度。
S102、将获取到的所述内存区域信息保存,并建立所述主机的LBA到所述固态存储设备的存储阵列的PBA的映射关系;
优选的,将获取到的所述内存区域信息保存具体为:将获取到的所述内存区域信息保存在预设的主机内存表分区内。
可以在固态存储设备的Cache中预设如下一些分区:
主机内存表分区,主要用于放置主机分配给固态存储设备的内存区域的信息,即内存区域信息,主要包括内存物理地址和长度;
LBA对照表分区,主要用于记录跟算法相关的LBA和内存物理地址的映射关系;对于一些简单的实现方式,例如直接将LBA与PBA的映射表顺序排列于主机内存,则也可以不使用此分区;
LBA激活表分区,主要用于存放被操作命中的LBA与PBA的映射关系;
LBA淘汰表分区(即物理区块地址淘汰表分区),主要用于存放将被算法写回主机内存的LBA与PBA的映射关系;
other分区,主要用于存放Firmware(固件)管理设备所需要的其它表项和数据缓存。
LBA到PBA的映射关系可以是直接LBA到PBA的映射,也可以是某种管理算法之后的映射关系,例如hash算法等等。
S103、根据所述内存区域信息将所述映射关系发送至所述主机分配的内存区域。
在一些实施例中,步骤S103之后,还可以进一步包括主机向固态存储设备写数据的步骤:
A11、接收主机发送的写命令;
A12、对所述写命令进行解析;
A13、根据所述写命令的解析结果获取所述主机需要写入的数据;
A14、根据预设算法将所述数据写入所述预设算法指定的存储阵列的物理区块地址,并将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存。优选的,将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系写入预设的LBA淘汰表分区。
根据固件设定,在一些实施例中,步骤A14之后,还可以进一步包括以下写回主机内存的步骤:
A15、判断是否满足写回主机内存的要求;
A16、如果满足,则查询对应的主机的内存物理地址入口信息;
优选的,查询LBA对照表分区,查到对应的主机的内存物理地址入口偏移量;
A17、根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
优选的,根据对应的主机的内存物理地址入口偏移量查询主机内存表分区获得真正的内存物理地址;
A18、向所述主机发送所述内存物理地址的写命令;
A19、将满足条件的逻辑区块地址到物理区块地址的映射关系写回所述主机的内存;满足条件的逻辑区块地址到物理区块地址的映射关系,指的是与所述写命令相关的逻辑区块地址到物理区块地址的映射关系,也即所述写命令命中的逻辑区块地址到物理区块地址的映射关系。
A110、向主机返回写操作完成信息。
在一些实施例中,步骤S103之后,还可以进一步包括以下主机从固态存储设备读数据的步骤:
B11、接收所述主机发送的读命令;
B12、对所述读命令进行解析,并查询对应的主机的内存物理地址入口信息;
优选的,查询LBA对照表分区,查到对应的主机的内存物理地址入口偏移量;
B13、根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
优选的,根据对应的主机的内存物理地址入口偏移量查询主机内存表分区获得真正的内存物理地址;
B14、向所述主机发送所述内存物理地址的读命令;
B15、接收所述主机反馈的内存中保存的数据;
B16、将所述主机反馈的数据保存。
优选的,按照设定将主机反馈的数据分解保存在LBA激活表分区。
在一些实施例中,步骤B16之后,还可以进一步包括:
B17、获取所述读命令对应的存储阵列的物理区块地址;
B18、发起对所述存储阵列的物理区块地址的读命令;
B19、获取根据所述读命令反馈的数据,并根据所述内存物理地址将所述数据写入内存;
B110、向主机返回读操作完成信息。
图2为本发明一实施例提供的主机的工作方法的流程图,请参考图2,包括如下流程:
S201、给固态存储设备分配内存区域。
S202、将分配到的内存区域信息发送给所述固态存储设备;该内存区域信息包括但不局限于:内存物理地址和长度。
S203、接收所述固态存储设备反馈的所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
S204、将所述映射关系保存至给所述固态存储设备分配的内存区域。
在一些实施例中,步骤S204之后,还可以进一步包括主机向固态存储设备写数据的步骤:
A21、向所述固态存储设备发送写命令;
A22、根据所述固态存储设备的响应将需要写入的数据发送给所述固态存储设备。
根据固件设定,在一些实施例中,步骤A22之后,还可以进一步包括以下写回主机内存的步骤:
A23、接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的写命令;
A24、根据所述写命令,接收所述固态存储设备发送的满足条件的逻辑区块地址到物理区块地址的映射关系;
满足条件的逻辑区块地址到物理区块地址的映射关系,指的是与所述写命令相关的逻辑区块地址到物理区块地址的映射关系,也即所述写命令命中的逻辑区块地址到物理区块地址的映射关系。
A25、将所述满足条件的逻辑区块地址到物理区块地址的映射关系写入所述主机给所述固态存储设备分配的内存区域。
在一些实施例中,步骤S204之后,还可以进一步包括以下主机从固态存储设备读数据的步骤:
B21、向所述固态存储设备发送读命令;
B22、接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的读命令;
B23、向所述固态存储设备反馈内存中保存的数据。
在一些实施例中,步骤B23之后,还可以进一步包括:
B24、接收所述固态存储设备根据所述读命令反馈的数据,并根据所述内存物理地址将所述数据写入内存。
图3为本发明一实施例提供的固态存储设备的示意图,如图4所示,固态存储设备包括:
第一设备获取模块31,用于获取主机分配的内存区域信息;
第一设备保存模块32,用于将第一获取模块31获取到的所述内存区域信息保存;
关系建立模块33,用于建立所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
设备发送模块34,用于根据所述内存区域信息将所述映射关系发送至所述主机分配的内存区域。
在一些实施例中,固态存储设备还包括:
设备接收模块,用于接收所述主机发送的写命令;
第一设备解析模块,用于对所述写命令进行解析;
第二设备获取模块,用于根据所述写命令的解析结果获取所述主机需要写入的数据;
设备写入模块,用于根据预设算法将所述数据写入所述预设算法指定的存储阵列的物理区块地址;
第二设备保存模块,用于将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存。
在一些实施例中,固态存储设备还包括:
设备判断模块,用于判断是否满足写回主机内存的要求;
第一设备查询模块,用于设备判断模块的判断结果为满足写回主机内存的要求时,查询对应的主机的内存物理地址入口信息;
第二设备查询模块,用于根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
设备发送模块还用于向所述主机发送所述内存物理地址的写命令;将所述写命令相关的逻辑区块地址到物理区块地址的映射关系发送至所述主机的内存。
在一些实施例中,设备接收模块还用于接收所述主机发送的读命令,接收所述主机反馈的内存中保存的数据,设备发送模块还用于向所述主机发送所述内存物理地址的读命令;固态存储设备还包括:
第二设备解析模块,用于对所述读命令进行解析;
第三设备查询模块,用于查询对应的主机的内存物理地址入口信息;
第四设备查询模块,用于根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
第三设备保存模块,用于将所述主机反馈的数据保存。
在一些实施例中,设备接收模块还用于获取所述读命令对应的存储阵列的物理区块地址,固态存储设备还包括:
设备读操作模块,用于发起对所述存储阵列的物理区块地址的读命令;获取根据所述读命令反馈的数据;
设备发送模块还用于根据所述内存物理地址将所述数据发送至所述主机的内存。
在一些实施例中,设备发送模块还用于根据所述内存区域信息将部分或全部缓存数据移至所述主机分配的内存区域中进行缓存。
图4为本发明一实施例提供的主机的示意图,如图4所示,主机包括:
内存分配模块41,用于给固态存储设备分配内存区域;
主机发送模块42,用于将分配到的内存区域信息发送给所述固态存储设备;
主机接收模块43,用于接收所述固态存储设备反馈的所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
第一主机保存模块44,用于将所述映射关系保存至给所述固态存储设备分配的内存区域。
在一些实施例中,主机发送模块还用于向所述固态存储设备发送写命令;根据所述固态存储设备的响应将需要写入的数据发送给所述固态存储设备。
在一些实施例中,主机接收模块还用于接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的写命令;根据所述写命令,接收所述固态存储设备发送的所述写命令相关的逻辑区块地址到物理区块地址的映射关系;
主机还包括:第二主机保存模块,用于将所述写命令相关的逻辑区块地址到物理区块地址的映射关系写入所述主机的内存。
在一些实施例中,主机发送模块还用于向固态存储设备发送读命令;向所述固态存储设备反馈内存中保存的数据;
主机接收模块还用于接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的读命令。
在一些实施例中,主机接收模块还用于接收所述固态存储设备根据所述读命令反馈的数据;主机还包括第三主机保存模块,用于根据所述内存物理地址将所述数据写入内存。
在一些实施例中,主机接收模块还用于获取所述固态存储设备中部分或全部缓存数据,主机还包括第四主机保存模块,用于将所述固态存储设备中部分或全部缓存数据写入给所述固态存储设备分配的内存区域中进行缓存。
下面进一步举例说明本发明的构思。在存储系统加载固态存储设备的驱动过程中,设备固件通过设备驱动向主机申请管理一部分内存(适用应用层协议为NVMe协议,同时也不排除可以使用其他协议),主机分配的内存区域可以是连续的也可以是不连续的,按照协议管理可以基于4kB,8kB,16kB,32kB等等,驱动在和操作系统握手之后,将申请到的内存区域的内存区域信息(包括但不局限于物理地址信息和长度)发送给固态存储设备,固态存储设备设备在接收到这些信息之后,将这些信息保存在主机内存表分区内。同时,固态存储设备也会根据固件管理的需要,在固态存储设备缓存中初始化如下几个分区:LBA对照表分区、LBA激活表分区、LBA淘汰表分区、other分区,在初始化过程中,固件将对主机数据建立一个从主机LBA到固态存储设备的存储阵列的PBA的映射表(这种映射表可以是直接LBA到PBA的映射,也可以是某种管理算法之后的映射关系,例如hash算法等等),然后,固态存储设备将建立的LBA到设备PBA的映射表发送至申请到的主机内存区域中保存。
当设备初始化完成之后,当主机向固态存储设备发起写命令时,固态存储设备控制器接收到主机的写命令并进行解析,固态存储设备根据命令发起操作获得主机需写入的数据,并根据固件算法将该数据写入固件算法指定的存储阵列的物理区块地址;同时将新写入数据的LBA到PBA的映射表写入LBA淘汰表分区,根据固件设定,当满足写回主机内存的要求之后,查询LBA对照表分区,查到对应的主机的内存物理地址入口偏移量,然后根据内存物理地址入口偏移量查询主机内存表分区获得真正的内存物理地址,接着通过固态存储设备DMA控制器向主机发起此内存物理地址的写操作,将该写操作命中的LBA到PBA的映射表写回主机内存,最后,向主机返回写操作完成。
当主机向固态存储设备发起读命令时,固态存储设备控制器接收到主机的读命令并进行解析,同时查询LBA对照表分区,查到对应的主机的内存物理地址入口偏移量,然后根据内存物理地址入口偏移量查询主机内存表分区获得真正的内存物理地址,接着通过固态存储设备DMA控制器向主机发起此内存物理地址的读操作;主机响应操作将内存保存的信息发送给固态存储设备,固态存储设备处理器核在收到主机发来的此信息,后按照设定将信息分解保存在LBA激活表分区,并作进一步的解析处理,获得具体的主机读命令对应的存储阵列的物理区块地址;固态存储设备控制器发起对阵列指定物理区块地址的读操作,获得需要的数据,并通过设备DMA控制器将数据发送至之前算的指定内存物理地址内,最后,向主机返回读操作完成。
主机内存中保存的除了LBA到存储阵列的PBA的映射表之外,还可以根据设定算法保存缓存数据、垃圾回收数据。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (22)

1.一种固态存储设备的工作方法,其特征在于,包括:
获取主机分配的内存区域信息;
将获取到的所述内存区域信息保存,并建立所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
根据所述内存区域信息将所述映射关系发送至所述主机分配的内存区域;
接收所述主机发送的读命令;
对所述读命令进行解析,并查询对应的主机的内存物理地址入口信息;
根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
向所述主机发送所述内存物理地址的读命令;
接收所述主机反馈的内存中保存的数据;
将所述主机反馈的数据保存。
2.如权利要求1所述的固态存储设备的工作方法,其特征在于,将获取到的所述内存区域信息保存具体为:将获取到的所述内存区域信息保存在预设的主机内存表分区内。
3.如权利要求1所述的固态存储设备的工作方法,其特征在于,还包括:
接收所述主机发送的写命令;
对所述写命令进行解析;
根据所述写命令的解析结果获取所述主机需要写入的数据;
根据预设算法将所述数据写入所述预设算法指定的存储阵列的物理区块地址,并将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存。
4.如权利要求3所述的固态存储设备的工作方法,其特征在于,将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存具体为:将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系写入预设的物理区块地址淘汰表分区。
5.如权利要求3所述的固态存储设备的工作方法,其特征在于,还包括:
判断是否满足写回主机内存的要求;
如果满足,则查询对应的主机的内存物理地址入口信息;
根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
向所述主机发送所述内存物理地址的写命令;
将所述写命令相关的逻辑区块地址到物理区块地址的映射关系写回所述主机的内存。
6.如权利要求1所述的固态存储设备的工作方法,其特征在于,还包括:
获取所述主机发送的读命令对应的存储阵列的物理区块地址;
发起对所述存储阵列的物理区块地址的读命令;
获取根据对所述存储阵列的物理区块地址的读命令反馈的数据,并根据所述内存物理地址将所述数据写入内存。
7.如权利要求1至6任一项所述的固态存储设备的工作方法,其特征在于,还包括:
根据所述内存区域信息将部分或全部缓存数据移至所述主机分配的内存区域中进行缓存。
8.一种主机的工作方法,其特征在于,包括:
给固态存储设备分配内存区域;
将分配到的内存区域信息发送给所述固态存储设备;
接收所述固态存储设备反馈的所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
将所述映射关系保存至给所述固态存储设备分配的内存区域;
向所述固态存储设备发送读命令;所述向所述固态存储设备发送的读命令用于所述固态存储设备解析并查询对应的主机的内存物理地址入口信息,然后根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的读命令;
向所述固态存储设备反馈内存中保存的数据。
9.如权利要求8所述的主机的工作方法,其特征在于,还包括:
向所述固态存储设备发送写命令;
根据所述固态存储设备的响应将需要写入的数据发送给所述固态存储设备。
10.如权利要求9所述的主机的工作方法,其特征在于,还包括:
接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的写命令;
根据所述写命令,接收所述固态存储设备发送的所述写命令相关的逻辑区块地址到物理区块地址的映射关系;
将所述所述写命令相关的逻辑区块地址到物理区块地址的映射关系写入所述主机给所述固态存储设备分配的内存区域。
11.如权利要求8所述的主机的工作方法,其特征在于,还包括:
接收所述固态存储设备根据其收到的读命令反馈的数据,并根据所述内存物理地址将所述数据写入内存。
12.如权利要求8至11任一项所述的主机的工作方法,其特征在于,还包括:
获取所述固态存储设备中部分或全部缓存数据,在给所述固态存储设备分配的内存区域中进行缓存。
13.一种固态存储设备,其特征在于,包括:
第一设备获取模块,用于获取主机分配的内存区域信息;
第一设备保存模块,用于将第一获取模块获取到的所述内存区域信息保存;
关系建立模块,用于建立所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
设备发送模块,用于根据所述内存区域信息将所述映射关系发送至所述主机分配的内存区域;
设备接收模块,用于接收所述主机发送的读命令;
第二设备解析模块,用于对所述主机发送的读命令进行解析;
第三设备查询模块,用于查询对应的主机的内存物理地址入口信息;
第四设备查询模块,用于根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
所述设备发送模块还用于向所述主机发送所述内存物理地址的读命令;
所述设备接收模块还用于接收所述主机反馈的内存中保存的数据;
第三设备保存模块,用于将所述主机反馈的数据保存。
14.如权利要求13所述的固态存储设备,其特征在于,还包括:
设备接收模块,用于接收所述主机发送的写命令;
第一设备解析模块,用于对所述写命令进行解析;
第二设备获取模块,用于根据所述写命令的解析结果获取所述主机需要写入的数据;
设备写入模块,用于根据预设算法将所述数据写入所述预设算法指定的存储阵列的物理区块地址;
第二设备保存模块,用于将新写入的所述数据对应的逻辑区块地址到物理区块地址的映射关系保存。
15.如权利要求14所述的固态存储设备,其特征在于,还包括:
设备判断模块,用于判断是否满足写回主机内存的要求;
第一设备查询模块,用于设备判断模块的判断结果为满足写回主机内存的要求时,查询对应的主机的内存物理地址入口信息;
第二设备查询模块,用于根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
设备发送模块还用于向所述主机发送所述内存物理地址的写命令;将所述写命令相关的逻辑区块地址到物理区块地址的映射关系发送至所述主机的内存。
16.如权利要求13所述的固态存储设备,其特征在于,设备接收模块还用于获取所述主机发送的读命令对应的存储阵列的物理区块地址,还包括:
设备读操作模块,用于发起对所述存储阵列的物理区块地址的读命令;获取根据发起的读命令反馈的数据;
设备发送模块还用于根据所述内存物理地址将所述数据发送至所述主机的内存。
17.如权利要求13至16任一项所述的固态存储设备的工作方法,其特征在于,设备发送模块还用于根据所述内存区域信息将部分或全部缓存数据移至所述主机分配的内存区域中进行缓存。
18.一种主机,其特征在于,包括:
内存分配模块,用于给固态存储设备分配内存区域;
主机发送模块,用于将分配到的内存区域信息发送给所述固态存储设备;
主机接收模块,用于接收所述固态存储设备反馈的所述主机的逻辑区块地址到所述固态存储设备的存储阵列的物理区块地址的映射关系;
第一主机保存模块,用于将所述映射关系保存至给所述固态存储设备分配的内存区域;
所述主机发送模块还用于向所述固态存储设备发送读命令;所述向所述固态存储设备发送的读命令用于所述固态存储设备解析并查询对应的主机的内存物理地址入口信息,然后根据所述入口信息和保存的所述内存区域信息查询出对应的内存物理地址,所述内存区域信息包括内存物理地址;
所述主机接收模块还用于接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的读命令;
所述主机发送模块还用于向所述固态存储设备反馈内存中保存的数据。
19.如权利要求18所述的主机,其特征在于,主机发送模块还用于向所述固态存储设备发送写命令;根据所述固态存储设备的响应将需要写入的数据发送给所述固态存储设备。
20.如权利要求19所述的主机,其特征在于,主机接收模块还用于接收所述固态存储设备发送的对所述内存区域信息中内存物理地址的写命令;根据所述写命令,接收所述固态存储设备发送的所述写命令相关的逻辑区块地址到物理区块地址的映射关系;
还包括:第二主机保存模块,用于将所述写命令相关的逻辑区块地址到物理区块地址的映射关系写入所述主机给所述固态存储设备分配的内存区域。
21.如权利要求18所述的主机,其特征在于,主机接收模块还用于接收所述固态存储设备根据其收到的读命令反馈的数据;还包括第三主机保存模块,用于根据所述内存物理地址将所述数据写入内存。
22.如权利要求18至21任一项所述的主机,其特征在于,主机接收模块还用于获取所述固态存储设备中部分或全部缓存数据,还包括第四主机保存模块,用于将所述固态存储设备中部分或全部缓存数据写入给所述固态存储设备分配的内存区域中进行缓存。
CN201510376911.9A 2015-07-01 2015-07-01 固态存储设备、主机的工作方法及固态存储设备、主机 Active CN105005536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510376911.9A CN105005536B (zh) 2015-07-01 2015-07-01 固态存储设备、主机的工作方法及固态存储设备、主机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510376911.9A CN105005536B (zh) 2015-07-01 2015-07-01 固态存储设备、主机的工作方法及固态存储设备、主机

Publications (2)

Publication Number Publication Date
CN105005536A CN105005536A (zh) 2015-10-28
CN105005536B true CN105005536B (zh) 2019-08-06

Family

ID=54378215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510376911.9A Active CN105005536B (zh) 2015-07-01 2015-07-01 固态存储设备、主机的工作方法及固态存储设备、主机

Country Status (1)

Country Link
CN (1) CN105005536B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105353989B (zh) * 2015-11-19 2018-12-28 华为技术有限公司 存储数据访问方法及相关的控制器、设备、主机和系统
CN105653490B (zh) * 2015-12-28 2018-12-14 北京经纬恒润科技有限公司 一种基于地址控制的数据处理方法及装置
CN106997275B (zh) * 2016-01-26 2019-09-03 南宁富桂精密工业有限公司 缓存管理方法及使用该方法的电子装置
CN107870870B (zh) * 2016-09-28 2021-12-14 北京忆芯科技有限公司 访问超过地址总线宽度的内存空间
US10622089B2 (en) * 2016-10-18 2020-04-14 Toshiba Memory Corporation Storage system having a host that manages physical data locations of storage device
TW201818248A (zh) * 2016-11-15 2018-05-16 慧榮科技股份有限公司 可應用於資料儲存裝置之記憶體管理方法
CN107562379A (zh) * 2017-08-28 2018-01-09 东莞记忆存储科技有限公司 一种提升固态存储设备读性能的方法
JP6982468B2 (ja) * 2017-10-27 2021-12-17 キオクシア株式会社 メモリシステムおよび制御方法
KR102418856B1 (ko) * 2017-11-02 2022-07-07 삼성전자주식회사 데이터 저장 장치
US11720283B2 (en) 2017-12-19 2023-08-08 Western Digital Technologies, Inc. Coherent access to persistent memory region range
US10929309B2 (en) 2017-12-19 2021-02-23 Western Digital Technologies, Inc. Direct host access to storage device memory space
CN109697037A (zh) * 2019-01-22 2019-04-30 深圳忆联信息系统有限公司 节省本地dram的方法、装置、计算机设备及存储介质
CN109871337B (zh) * 2019-02-22 2021-06-08 深圳忆联信息系统有限公司 一种ssd存储媒介切换方法及其系统
CN110209481B (zh) * 2019-05-17 2022-07-26 深圳市德明利技术股份有限公司 一种命令队列优化管理的实现方法和系统以及设备
CN110471619A (zh) * 2019-07-05 2019-11-19 深圳市金泰克半导体有限公司 固态硬盘的数据处理方法、固态硬盘及主机
CN110737607B (zh) * 2019-09-30 2021-09-14 深圳忆联信息系统有限公司 管理hmb内存的方法、装置、计算机设备及存储介质
CN112540726A (zh) * 2020-12-02 2021-03-23 深圳市硅格半导体有限公司 固态存储设备的数据读取方法、系统、设备及介质
CN115686372B (zh) * 2022-11-07 2023-07-25 武汉麓谷科技有限公司 一种基于zns固态硬盘zrwa功能的数据管理的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778418A (en) * 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
CN101236483A (zh) * 2007-02-01 2008-08-06 三星电子株式会社 合作存储器管理
CN102541760A (zh) * 2012-01-04 2012-07-04 记忆科技(深圳)有限公司 基于固态硬盘的计算机系统
CN104583977A (zh) * 2012-08-23 2015-04-29 苹果公司 主机辅助的存储块的压缩

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778418A (en) * 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
CN101236483A (zh) * 2007-02-01 2008-08-06 三星电子株式会社 合作存储器管理
CN102541760A (zh) * 2012-01-04 2012-07-04 记忆科技(深圳)有限公司 基于固态硬盘的计算机系统
CN104583977A (zh) * 2012-08-23 2015-04-29 苹果公司 主机辅助的存储块的压缩

Also Published As

Publication number Publication date
CN105005536A (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN105005536B (zh) 固态存储设备、主机的工作方法及固态存储设备、主机
US9996466B2 (en) Apparatus, system and method for caching compressed data
US10198215B2 (en) System and method for multi-stream data write
CN105205009B (zh) 一种基于大容量固态存储的地址映射方法及装置
US9003159B2 (en) Data caching in non-volatile memory
CN105094686B (zh) 数据缓存方法、缓存和计算机系统
TWI594121B (zh) 使用資料壓縮的快取技術
US10282286B2 (en) Address mapping using a data unit type that is variable
US10365858B2 (en) Thin provisioning in a storage device
EP3462320B1 (en) Dynamic page allocation in memory
CN105260128B (zh) 一种将数据写入存储设备的方法及存储设备
CN111061655B (zh) 存储设备的地址转换方法与设备
CN104956312A (zh) 存储装置及存储装置的控制方法
US20120297140A1 (en) Expandable data cache
WO2012016209A2 (en) Apparatus, system, and method for redundant write caching
CN104866428A (zh) 数据存取方法和数据存取装置
US10025530B2 (en) Optimized garbage collection for solid-state storage devices
CN107797759A (zh) 访问缓存信息的方法、装置与驱动器
JP2010515162A5 (zh)
KR20180086120A (ko) 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘
WO2012021847A2 (en) Apparatus, system and method for caching data
CN115993930A (zh) 用于有序访问块修改存储器中的数据的系统、方法和装置
US8566560B2 (en) System and method for configuring storage resources for database storage
CN110968527B (zh) Ftl提供的缓存
CN103491124B (zh) 一种对彩信数据进行处理的方法及分布式缓存系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 430070 west of floor 2-3, workshop 2, Guannan Industrial Park, No.1, Gaoxin 2nd Road, Donghu high tech Development Zone, Wuhan City, Hubei Province

Patentee after: EXASCEND TECHNOLOGY (WUHAN) CO.,LTD.

Address before: 430074 Hubei city of Wuhan province East Lake New Technology Development Zone Road No. two high Guan Nan Industrial Park No. 2 building 2-3 floor West

Patentee before: MEMORIGHT (WUHAN) Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 430000 west of 2-3 / F, No.2 factory building, Guannan Industrial Park, No.1 Gaoxin 2nd Road, Wuhan Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Zhiyu Technology Co.,Ltd.

Address before: 430070 West of Building 2-3, Guannan Industrial Park, No. 1 Gaoxin Second Road, Donghu High tech Development Zone, Wuhan City, Hubei Province

Patentee before: EXASCEND TECHNOLOGY (WUHAN) CO.,LTD.

CP03 Change of name, title or address