用于与非易失性存储器通信的方法和系统的制作方法_5

文档序号:9932616阅读:来源:国知局
论引用DMA控制器220中的DMA通道的分配,但是本领域的技术人员将认识到其它资源的分配也可以使用这里所述的教导来进行。
[0084]图11描绘了 DMA控制器220的DMA通道分配到闪速条120_1和120_2之间的数据转移的概念。在该示例中,DMA控制器220具有四个DMA通道1102、1103、1104和1105。在一些实施例中,存储器控制器118可以包括数据路径管理器,该数据路径管理器管理DMA通道1102、1103、1104和1105的分配和配置。四个通道构成可用于分配到数据转移的通道的集合。这些DMA通道的每个表示用于在存储器控制器118和闪速条之间的数据转移的逻辑数据路径。1102和1104分别对应于线程402-1和402-2的FCT。在线程的FCT中的实线框指示对应的DMA通道被用于在线程的控制下所进行的数据转移。因此,分配到线程的DMA通道可以是可用的DMA通道的集合的子集。箭头头部的方向指示数据转移的方向一一右至左指示进入到存储器控制器118,并且左至右指示外出到存储器装置116。虚线框指示,尽管对应的DMA通道可用于数据转移,DMA通道没有被分配用于由线程进行的数据转移。示出了四个DMA通道只是为了便于说明,并且可以实现更少或更多数目的DMA通道。
[0085]在图11中描述的情形中,DMA通道1102-1105被分配到正在由线程402-1进行的存储器条120-1和存储器控制器118之间的进入数据转移。与此相反,DMA通道1104和1105被分配到外出数据转移。类似地,DMA通道1103-1105被分配到正在由线程402-2进行的存储器条120-2和存储器控制器118之间的进入数据转移。与此相反,没有DMA通道被分配到外出数据转移。还值得注意的是,DMA通道1103、1104和1105被分配到在闪速条120-1和存储器控制器118之间发生的数据转移,以及在闪速条120-2和存储器控制器118之间发生的数据转移。在这种情况下,来自闪速条120-2的数据与来自闪速库120-1的数据交织。
[0086]在进行转移的线程的FCT中存储DMA通道信息的一个优点是,闪速协议定序器408可以配置与所分配的DMA通道相关联的适当的资源。另外,当完成数据转移时,DMA通道可以解除分配。例如,存储器控制器118可以逐个闪速命令地分配和解除分配DMA通道。
[0087]在一些实施例中,在图1的系统的初始化期间,闪速接口模块128可以提供有模板,该模块可以包含用于不同的闪速命令的资源分配。另外,该模板还可以包含用于不同的存储器条的资源分配。如果,例如,关键数据存储在闪速条120-1中,闪速条120-1可以被分配更大份额的资源以加速数据转移。基于提供的模板的资源分配产生灵活性。
[0088]图12是用于管理存储器控制器118和闪速存储器116之间的通信的示例的方法1200的流程图。以示例的方式并且没有限制,方法1200可以在闪速接口模块128中实现。结果,方法1200的即将到来的讨论参考图4。
[0089]在块1202处,可以选择可以被用于实现数据转移的数据路径。该选择可以响应于检测到闪速命令可用于被通信到闪速存储器116。在实施例中,在块1202处,闪速命令可以被分析并与先前接收的模板相比较,以确定DMA通道是否需要被分配以实现数据转移。另夕卜,闪速条的身份也可以被用来确定有多少通道(如果有)将被分配到数据转移。在一些实施例中,在块1202处,将被转移的数据的量可以被检测,并且基于数据的量,DMA通道的适当的子集可以被分配以用于转移。DMA通道信息可以存储在将会进行数据转移的线程的FCT中。数据转移的方向也可以用于确定通道的子集。
[0090]在块1204处,可以配置数据通道的所选择的子集。例如,在块1204处,闪速协议定序器408可以取回存储在正被执行的线程的FCT中的DMA通道信息。该信息可以用于分配存储器、编程与所选择的DMA通道相关联的缓冲器描述符、使能中断、清除状态寄存器等。
[0091]在块1206处,数据转移可以经由所选择的DMA通道来进行。参照图3的读取命令序列302,响应于接收命令序列302的部分302-3,数据可以经由DMA通道而被转移。在一个实施例中,在数据转移完结处,在块1206处,DMA通道可以被解除分配。
[0092]如前面所讨论的,闪速接口模块128可以接收以模板形式的配置信息。该模板可以基于特定的使用情况由图2的主机系统100或者存储器控制器102来生成。在一个实施例中,模板可以在当存储器控制器102被初始通电时,响应于检测到可用的资源而被生成。可用的资源可以包含可用的存储器、在DMA控制器220中的DMA通道、系统计时器(未示出)等。在一个实施例中,模板可以存储在图2的RAM 212中。
[0093]图13示出了示例的模板结构1300的布局,该模板结构1300可以用于有效地分配在存储器控制器102中的资源。模板结构1300包含描述DMA节点或通道1302的数据字段。然而,模板结构1300可以适配为适应其它系统资源。
[0094]参照图13,DMA节点描述符1302包含到DMA模板1306的指针1304 AMA模板1306包括包含到描述符1308-1.....1308-N的指针的可配置的字段。DMA模板1306还包括提供到描述符的数目的DMA存储器220的数据字段1310,其中该描述符被分配给与DMA模板1306相关联的DMA通道。在实施例中,模板1300还可以包括将被与模板1300使用的描述符的类型的指示。因此,基于在模板中的该指示,在描述符中的数据字段或位字段可以由存储器系统102和/或主机系统100的元件适当的引用和访问。
[0095]上述讨论描述了在系统中通信数据的不同的新方法。系统不需要实现上述的所有方法。在一些情况下,系统可以仅实现对应于命令序列的部分的通信的特征。在该系统的一些实现方式中,仲裁单元406可以仅实现线程之间的切换的轮询方法,即线程具有相同的优先级。在其它系统中,线程可以具有不同的优先级。但是,其它的系统可以将DMA通道的动态分配与线程的使用组合,以改善系统中的通信。此外,即使在一些实例中的这些系统中,模板可以用于分配资源,并且在其它实例中,可以避免模板的使用。
[0096]本领域的技术人员在阅读上述之后可以设想进一步的实施例。在其它实施例中,可以有益地实现上述公开的本发明的组合或子组合。架构的框图和流程图被分组,以便于理解。然而应该理解的是,可以在在本发明的可替代实施例中构思块、新的块的添加、块的重新布置等的组合。
[0097]本说明书和附图,相应地,将被视为说明性的而非限制性的。然而,将很明显的是,各种修改和改变可以完成,而不脱离如权利要求中阐述的本发明的更宽的精神和范围的。
【主权项】
1.一种用于管理存储器系统中的通信的方法,所述存储器系统包括存储器控制器、第一非易失性存储器(NVM)条和第二非易失性存储器条,所述第一非易失性存储器条和所述第二非易失性存储器条经由公共存储器接口可通信地耦接到所述存储器控制器,所述方法包括所述存储器控制器: 从第一存储器命令生成第一命令序列,其中,所述第一命令序列包括第一部分和第二部分,并且从第二存储器命令生成第二命令序列,其中所述第二命令序列包括至少一个部分; 基于第一标准和第二标准选择所述第一命令序列,其中,所述第一标准与所述第一命令序列相关联,并且所述第二标准与所述第二命令序列相关联; 经由所述公共存储器接口将所述第一命令序列的第一部分通信到所述第一非易失性存储器条; 在通信所述第一部分之后,并且在通信所述第一命令序列的所述第二部分之前,经由所述公共存储器接口将所述第二命令序列的所述至少一部分通信到所述第二非易失性存储器条; 在通信所述第二命令序列的所述至少一部分之后,经由所述公共存储器接口将所述第一命令序列的所述第二部分通信到所述第一非易失性存储器条。2.如权利要求1所述的方法,其中,响应于检测到所述第一命令序列的所述第一部分被通信到所述第一非易失性存储器条,所述第二命令序列的所述至少一部分被通信。3.如权利要求2所述的方法,其中,响应于检测到所述第二命令序列的所述至少一部分被通信到所述第二非易失性存储器条,所述第二部分被通信。4.如权利要求1所述的方法,其中,所述第一命令序列与第一线程相关联,且所述第二命令序列与第二线程相关联,并且其中,所述第一线程与所述第一非易失性存储器条相关联,且所述第二线程与所述第二非易失性存储器条相关联,其中所述第一线程和所述第二线程对应于由所述存储器控制器执行的操作系统的软件对象。5.如权利要求4所述的方法,其中,所述第一标准指示所述第一线程的状态,且所述第二标准指示所述第二线程的状态,并且其中,选择所述第一命令序列是基于确定所述第一线程的状态是活动的,且所述第二线程的状态是不活动的。6.如权利要求5所述的方法,还包括,为所述第一线程分配第一优先级,并且为所述第二线程分配第二优先级。7.如权利要求5所述的方法,还包括,响应于通信所述第一部分,调整所述第一优先级。8.如权利要求7所述的方法,还包括,在通信所述第一部分之后,检测所述第二线程的状态。9.如权利要求8所述的方法,还包括,响应于检测到所述第二线程是活动的,比较所述第二优先级与所述调整的第一优先级。10.如权利要求9所述的方法,其中,响应于确定所述第二优先级超过所述调整的第一优先级,经由所述公共存储器接口将所述第二命令序列的所述至少一部分通信到所述第二非易失性存储器条。11.如权利要求1所述的方法,其中,通信所述第一命令序列的所述第一部分和所述第二部分包括选择所述第一非易失性存储器条,并且其中通信所述第二命令序列的所述至少一个部分包括取消选择所述第一非易失性存储器条。12.—种用于经由公共存储器接口与第一非易失性存储器(NVM)条和第二非易失性存储器条通信的方法,所述方法包括存储器控制器的处理器: 响应于从主机接收第一存储器命令,确定所述第一存储器命令旨在被通信到所述第一非易失性存储器条; 从所述第一闪速命令生成命令序列,其中,所述命令序列包括两个部分,每个部分包括一系列命令,其中所述命令的系列是原子的,并且其中每个部分包括与所述第一非易失性存储器条相关联的标识信息; 将所述命令序列的第一部分通信到所述第一非易失性存储器条;以及 响应于检测到在所述第一部分中的所述命令的系列中的命令,生成状态指示,其中,所述状态指示指明所述命令序列的所述第一部分已经被通信到所述第一非易失性存储器条。13.如权利要求12所述的方法,其中,所述命令序列与第一优先级相关联,并且响应于检测到所述第一优先级,通信所述命令序列的所述第一部分。14.如权利要求13所述的方法,还包括,接收所述指示,并且确定另一个命令序列是否被接收,所述另一命令序列将被通信到所述第二非易失性存储器条。15.如权利要求14所述的方法,还包括,响应于确定所述另一个命令序列被接收,检测与所述另一个命令序列相关联的第二优先级,并且比较所述第一优先级与所述第二优先
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1