【技术实现步骤摘要】
用于直接存储器存取的数据缓冲器指针找取
本公开涉及非易失性储存器的技术。
技术介绍
一种类型的非易失性储存器是半导体存储器。例如,非易失性半导体存储器用于固态驱动器、移动计算装置、非移动计算装置和其它存储器系统中。典型地,存储器系统具有控制器,其通过通信接口来控制在存储器系统和主机系统之间的数据传送。主机系统可以是计算机系统、蜂窝电话、服务器等。存储器系统和主机系统可以例如通过外围计算机接口快速(PCIe)总线来交换数据。非易失性存储器快速(NVMe)是用于存取经由PCIe总线附连的非易失性储存器的逻辑器件接口规范。NVMe利用了半导体存储器(例如但不限于固态驱动器)所提供的并行性的优势。
技术实现思路
本文公开的一个实施例包含非易失性储存器系统,包括多个非易失性存储器单元、命令上下文储存器、以及与命令上下文储存器和多个非易失性存储器单元通信的控制电路。控制电路配置为从主机系统存取命令,以存取非易失性储存器系统中的非易失性存储器单元。命令包括对列表的列表指针,其包括对主机系统中的数据缓冲器的数据缓冲器指针。控制电路配置为基于列表指针来找取对主机系统的数据缓冲器的数据缓冲器指针。控制电路配置为在非易失性储存器系统和主机系统中的由找取的数据缓冲器指针所指向的数据缓冲器之间进行第一DMA。控制电路配置为响应于第一DMA不存取整个数据缓冲器,将数据缓冲器指针保存到命令上下文储存器中。控制电路配置为存取所存取的数据缓冲器指针。控制电路配置为使用保存的数据指针来进行第二DMA,以存取主机数据缓冲器的由数据缓冲器指针所指向、第一DMA未存取的部分。本文公开的一个实施例包含操 ...
【技术保护点】
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)的对所述主机系统的数据缓冲器的数据缓冲器指针,其中将所述数据缓冲器指针从所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。