用于直接存储器存取的数据缓冲器指针找取制造技术

技术编号:19023300 阅读:18 留言:0更新日期:2018-09-26 19:02
本文所描述的技术用于操作非易失性储存器。在一个方面,存储器控制器恰好及时地在主机系统存储器中找取对数据缓冲器的指针。例如,恰好在存储器系统准备进行DMA之前,可以找取指针。数据缓冲器指针可以是PRP列表中的NVMe物理区域页(PRP)条目。不需要多于一次地找取相同的数据缓冲器指针。例如,响应于非易失性存储器系统确定可能第二次需要数据缓冲器指针(例如,对于不同的DMA),保存该数据缓冲器指针使得其可以重新使用。在一个方面,如果DMA存取了主机数据缓冲器中的全部,则保存对该缓冲器的指针使得其不需要被再次找取。

【技术实现步骤摘要】
用于直接存储器存取的数据缓冲器指针找取
本公开涉及非易失性储存器的技术。
技术介绍
一种类型的非易失性储存器是半导体存储器。例如,非易失性半导体存储器用于固态驱动器、移动计算装置、非移动计算装置和其它存储器系统中。典型地,存储器系统具有控制器,其通过通信接口来控制在存储器系统和主机系统之间的数据传送。主机系统可以是计算机系统、蜂窝电话、服务器等。存储器系统和主机系统可以例如通过外围计算机接口快速(PCIe)总线来交换数据。非易失性存储器快速(NVMe)是用于存取经由PCIe总线附连的非易失性储存器的逻辑器件接口规范。NVMe利用了半导体存储器(例如但不限于固态驱动器)所提供的并行性的优势。
技术实现思路
本文公开的一个实施例包含非易失性储存器系统,包括多个非易失性存储器单元、命令上下文储存器、以及与命令上下文储存器和多个非易失性存储器单元通信的控制电路。控制电路配置为从主机系统存取命令,以存取非易失性储存器系统中的非易失性存储器单元。命令包括对列表的列表指针,其包括对主机系统中的数据缓冲器的数据缓冲器指针。控制电路配置为基于列表指针来找取对主机系统的数据缓冲器的数据缓冲器指针。控制电路配置为在非易失性储存器系统和主机系统中的由找取的数据缓冲器指针所指向的数据缓冲器之间进行第一DMA。控制电路配置为响应于第一DMA不存取整个数据缓冲器,将数据缓冲器指针保存到命令上下文储存器中。控制电路配置为存取所存取的数据缓冲器指针。控制电路配置为使用保存的数据指针来进行第二DMA,以存取主机数据缓冲器的由数据缓冲器指针所指向、第一DMA未存取的部分。本文公开的一个实施例包含操作非易失性储存器系统的方法。该方法包括从主机系统存取命令,以读取储存在非易失性储存器系统中的数据。命令包括第一字段和第二字段,该第一字段具有对数据缓冲器的数据缓冲器指针和进入数据缓冲器中的非零偏移,该第二字段具有对主机系统中的数据缓冲器的数据缓冲器指针的列表的列表指针。该方法包括对于非易失性储存器系统中的非易失性存储器单元的读取或写入操作来找取主机系统的用于直接存储器存取(DMA)的对数据缓冲器的数据缓冲器指针。数据缓冲器指针从主机系统找取。该方法包括,响应于DMA的第一DMA没有存取由第一数据缓冲器指针所指向的整个主机数据缓冲器,在非易失性储存器系统中储存用于DMA的数据缓冲器指针的第一个。该方法包括,响应于确定用于不同读取或写入操作的第二DMA是存取主机数据缓冲器的由第一数据缓冲器指针所指向、未被第一DMA所存取的部分,存取储存在非易失性储存器系统中的第一数据缓冲器指针。该方法包括对第二DMA使用所储存的第一数据缓冲器指针,以存取主机数据缓冲器的被第一数据缓冲器指针所指向、未被第一DMA存取的部分。本文公开的一个实施例包含非易失性储存器系统,其包括非易失性存储器单元的多个存储器裸芯。非易失性储存器系统包括用于从主机系统存取命令的构件,以存取非易失性存储器单元。非易失性储存器系统包括用于解析命令的构件,以确定命令是否具有第一字段和第二字段,该第一字段具有对数据缓冲器的指针和进入数据缓冲器中的非零偏移,该第二字段具有对主机系统中的数据缓冲器的数据缓冲器指针的列表的列表指针。非易失性储存器系统包括用于响应于命令来初始化非易失性储存器系统中的存储器裸芯中的非易失性存储器单元的存储器阵列操作的构件。非易失性储存器系统包括用于对于存储器阵列操作来找取主机系统的用于直接存储器存取(DMA)的对数据缓冲器的数据缓冲器指针的构件。非易失性储存器系统包括用于使用找取的数据缓冲器指针来进行主机系统中的存储器的DMA的构件。非易失性储存器系统包括用于响应于DMA的第一个DMA不存取由第一数据缓冲器指针所指向的整个主机数据缓冲器,而在非易失性储存器系统中保存用于DMA的数据缓冲器指针的第一个的构件。非易失性储存器系统包括用于响应于确定用于不同存储器阵列操作的第二DMA将存取主机数据缓冲器的由第一数据缓冲器指针所指向的部分,而进行存取第一数据缓冲器指针的构件,该第一数据缓冲器指针保存在非易失性储存器系统中。非易失性储存器系统包括用于对第二DMA使用所保存的第一数据缓冲器指针来存取主机数据缓冲器的被第一数据缓冲器指针所指向、未被第一DMA存取的部分的构件。在一个实施例中,用于从主机系统存取命令以存取非易失性存储器单元的构件包含,控制器122、处理器122c、前端模块208、命令找取器246、和/或其它硬件和/或软件中的一个或多个。在一个实施例中,用于解析命令以确定命令是否具有第一字段和第二字段的构件包含,控制器122、处理器122c、命令解析器248、命令找取器246、和/或其它硬件和/或软件中的一个或多个,该第一字段具有对数据缓冲器的指针和进入数据缓冲器中的非零偏移,该第二字段具有对主机系统中的数据缓冲器的数据缓冲器指针的列表的列表指针。在一个实施例中,响应于命令来初始化非易失性储存器系统中的存储器裸芯中的非易失性存储器单元的存储器阵列操作的构件包含,控制器122、处理器122c、后端模块210、命令调度器226、命令执行器228、和/或其它硬件和/或软件中的一个或多个。在一个实施例中,用于对于存储器阵列操作来找取主机系统的用于直接存储器存取(DMA)的对数据缓冲器的数据缓冲器指针的构件包含,控制器122、处理器122c、前端模块208、缓冲器指针管理器250、和/或其它硬件和/或软件中的一个或多个。在一个实施例中,使用找取的数据缓冲器指针来进行主机系统中的存储器的DMA的构件包含,控制器122、处理器122c、DMA253、缓冲器指针管理器250、和/或其它硬件和/或软件中的一个或多个。在一个实施例中,响应于DMA的第一个DMA不存取由第一数据缓冲器指针所指向的整个主机数据缓冲器而在非易失性储存器系统中保存用于DMA的数据缓冲器指针的第一个的构件包含控制器122、处理器122c、DMA253、缓冲器指针管理器250、和/或其它硬件和/或软件中的一个或多个。在一个实施例中,响应于确定用于不同存储器阵列操作的第二DMA将存取主机数据缓冲器的由第一数据缓冲器指针所指向的部分而进行存取第一数据缓冲器指针的构件包含,控制器122、处理器122c、DMA253、缓冲器指针管理器250、和/或其它硬件和/或软件中的一个或多个,该第一数据缓冲器指针保存在非易失性储存器系统中。在一个实施例中,对第二DMA使用所保存的第一数据缓冲器指针来存取主机数据缓冲器的由第一数据缓冲器指针所指向、未被第一DMA存取的部分的构件包含,控制器122、处理器122c、DMA253、缓冲器指针管理器250、和/或其它硬件和/或软件中的一个或多个。附图说明图1A是3D堆叠的非易失性存储器装置中的区块的集合的透视图。图1B是诸如图1A的3D堆叠的非易失性存储器装置的存储器装置的功能框图。图2A是示例存储器系统的框图,其描绘了控制器和主机的更多细节。图2B是企业环境的一个实施例的图。图3A是主机命令、主机数据缓冲器和数据缓冲器指针的列表的一个实例的图。图3B示出了主机命令、主机数据缓冲器和数据缓冲器指针的列表的一个示例的图,其中第一数据缓冲器指针具有非零偏移。图4是操作非易失性储存器系统的过程的一个实施本文档来自技高网...

【技术保护点】
1.一种非易失性储存器系统,包括:多个非易失性存储器单元;命令上下文储存器;以及与所述命令上下文储存器和所述多个非易失性存储器单元通信的控制电路,所述控制电路配置为:从主机系统存取命令,以存取所述非易失性储存器系统中的非易失性存储器单元,所述命令包括对列表的列表指针,所述列表包括对所述主机系统中的数据缓冲器的数据缓冲器指针;基于所述列表指针,找取对所述主机系统中的数据缓冲器的数据缓冲器指针;在所述非易失性储存器系统和在所述主机系统中的由找取的数据缓冲器指针所指向的所述数据缓冲器之间进行第一直接存储器存取(DMA);响应于所述第一DMA不存取所述整个数据缓冲器,将所述找取的数据缓冲器指针保存到所述命令上下文储存器中;从所述命令上下文储存器存取保存的数据缓冲器指针;以及使用所述保存的数据缓冲器指针来进行第二DMA,以存取所述主机数据缓冲器的由所述数据缓冲器指针所指向的、所述第一DMA未存取的部分。

【技术特征摘要】
2017.03.07 US 15/452,0391.一种非易失性储存器系统,包括:多个非易失性存储器单元;命令上下文储存器;以及与所述命令上下文储存器和所述多个非易失性存储器单元通信的控制电路,所述控制电路配置为:从主机系统存取命令,以存取所述非易失性储存器系统中的非易失性存储器单元,所述命令包括对列表的列表指针,所述列表包括对所述主机系统中的数据缓冲器的数据缓冲器指针;基于所述列表指针,找取对所述主机系统中的数据缓冲器的数据缓冲器指针;在所述非易失性储存器系统和在所述主机系统中的由找取的数据缓冲器指针所指向的所述数据缓冲器之间进行第一直接存储器存取(DMA);响应于所述第一DMA不存取所述整个数据缓冲器,将所述找取的数据缓冲器指针保存到所述命令上下文储存器中;从所述命令上下文储存器存取保存的数据缓冲器指针;以及使用所述保存的数据缓冲器指针来进行第二DMA,以存取所述主机数据缓冲器的由所述数据缓冲器指针所指向的、所述第一DMA未存取的部分。2.如权利要求1所述的非易失性储存器系统,其中所述列表指针是对第一列表的第一列表指针,所述第一列表包括对主机系统中的数据缓冲器的数据缓冲器指针,其中所述控制电路还配置为:在所述命令上下文储存器中储存所述第一列表指针;在所述命令上下文储存器中储存对所述主机系统中的数据缓冲器指针的第二列表的第二列表指针;响应于确定所述数据缓冲器指针是在所述第一列表或是在所述第二列表内,使用所述第一列表指针或者所述第二列表指针来找取所述数据缓冲器指针;以及响应于确定所述数据缓冲器指针不在所述第一列表或者所述第二列表内,从主机系统存储器找取第三列表指针,并且使用所述第三列表指针来存取所述数据缓冲器指针。3.如权利要求2所述的非易失性储存器系统,其中所述控制电路还配置为:在所述命令上下文储存器中储存所述第三列表指针,其中所述第三列表指针覆写所述第一列表指针或者所述第二列表指针;以及在所述命令上下文储存器中储存所述第三列表指针的索引。4.如权利要求1所述的非易失性储存器系统,还包括:所述非易失性储存器系统中的多个存储器裸芯中的每一个的分开的数据缓冲器指针储存器,其中所述控制电路还配置为在所述多个存储器裸芯的相应的数据缓冲器指针储存器中储存所述对主机系统数据缓冲器的数据缓冲器指针。5.如权利要求4所述的非易失性储存器系统,其中所述控制电路还配置为相对于其它存储器裸芯的数据缓冲器指针储存器不按顺序地进行对于给定存储器裸芯的数据缓冲器指针储存器的DMA。6.如权利要求1所述的非易失性储存器系统,其中所述数据缓冲器指针是非易失性存储器快速(NVMe)接口中的物理区域页(PRP)指针。7.如权利要求1所述的非易失性储存器系统,其中:所述控制电路配置为通过外围计算机接口快速(PCIe)总线来找取所述数据缓冲器指针连同其它对主机系统数据缓冲器的数据缓冲器指针;所述命令与所述主机系统的存储器中的数据缓冲器指针的多个列表相关联;并且所述控制电路还配置为通过PCIe总线,仅找取与单个事务层信息包(TLP)信息包相适配的数据缓冲器指针。8.如权利要求1所述的非易失性储存器系统,其中:所述命令是读取命令;并且所述控制电路还配置为在所述控制电路向所述非易失性储存器系统中的存储器裸芯发布读取操作以满足所述读取命令之后,但是在将响应于所述读取命令而从所述存储器裸芯读取的数据准备好以传送到所述主机系统之前,找取所述数据缓冲器指针。9.如权利要求1所述的非易失性储存器系统,其中所述控制电路还配置为响应于确定所述第一DMA和所述第二DMA结合地存取由所述数据缓冲器指针所指向的所述整个主机数据缓冲器,而丢弃所述数据缓冲器指针。10.如权利要求1所述的非易失性储存器系统,其中所述控制电路还配置为从主机系统存储器找取所述数据缓冲器指针。11.如权利要求1所述的非易失性储存器系统,还包括:存储器控制器;以及耦接到所述存储器控制器的储存单元,其中所述控制电路还配置为从耦接到所述存储器控制器的所述储存单元来找取所述数据缓冲器指针。12.一种操作非易失性储存器系统的方法,所述方法包括:从主机系统存取命令,以存取在所述非易失性储存器系统中的非易失性存储器单元,所述命令包括第一字段和第二字段,所述第一字段具有对数据缓冲器的数据缓冲器指针和进入数据缓冲器中的非零偏移,所述第二字段具有对所述主机系统中的数据缓冲器的数据缓冲器指针的列表的列表指针;对于所述非易失性储存器系统中的非易失性存储器单元的读取或写入操作来找取用于直接存储器存取(DMA)的对所述主机系统的数据缓冲器的数据缓冲器指针,其中将所述数据缓冲器指针从所述...

【专利技术属性】
技术研发人员:S贝尼斯蒂
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1