当前位置: 首页 > 专利查询>英特尔公司专利>正文

固态驱动器中不均匀通道加载的性能影响的降低制造技术

技术编号:15292878 阅读:98 留言:0更新日期:2017-05-11 01:47
提供了一种用于在耦合到主机的固态驱动器中分配读取请求的方法和系统。固态驱动器中的仲裁器确定固态驱动器中的多个通道中的哪个是多个通道中的轻加载通道。分配用于处理意图用于所确定的轻加载通道的一个或多个读取请求的资源,其中已经从主机接收到一个或多个读取请求。将一个或多个读取请求放置在所确定的轻加载通道中以用于处理。在某些实施例中,轻加载通道是多个通道中的最轻加载通道。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
固态驱动器(SSD)是使用集成电路组件作为存储器来持久地存储数据的数据存储设备。许多类型的SSD使用基于NAND或基于NOR的闪存,其在没有电力的情况下保持数据并且是一种非易失性存储技术。可以将通信接口用来将SSD耦合到包括处理器的主机系统。这样的通信接口可以包括外围部件互连高速(PCIe)总线。PCIe的进一步细节可以在PCI-SIG在2010年11月10日出版的题为“PCIExpressBaseSpecificationRevision3.0”的出版物中找到。经由PCI总线进行通信的SSD的最重要的益处是增加的性能,并且这样的SSD被称为PCIeSSD。附图说明现在参考附图,其中遍及以下附图相同的参考标号表示相对应的部分:图1示出了其中固态盘通过PCIe总线耦合到主机的计算环境的框图;图2示出了图示根据某些实施例的仲裁器如何将传入队列中的读取请求分配给固态驱动器的通道的另一框图;图3示出了图示根据某些实施例的在开始最轻填充的通道的优先化和主机命令的重新排序(reorder)之前在固态驱动器中的读取请求的分配的框图;图4示出了图示根据某些实施例的在最轻填充的通道的优先化和主机命令的重新排序之后在固态驱动器中的读取请求的分配的框图;图5示出了根据某些实施例的用于防止固态驱动器中的不均匀通道加载的第一流程图;图6示出了根据某些实施例的用于防止固态驱动器中的不均匀通道加载的第二流程图;以及图7示出了根据某些实施例的计算设备的框图。具体实施方式在下面的描述中,对形成其一部分并且示出了若干实施例的附图进行参考。应当理解:可以利用其他实施例并且可以进行结构和操作改变。PCIeSSD的增加的性能可能主要是由于PCIeSSD中实现的通道数量。例如,在某些实施例中,某些PCIeSSD可以通过扩展的18通道设计来提供改善的内部带宽。在基于PCIe的固态驱动器中,从主机到固态驱动器的PCIe总线可以具有高带宽(例如,40吉字节/秒)。基于PCIe的固态驱动器可以具有多个通道,其中与PCIe总线的带宽相比,每个通道具有相对较低的带宽。例如,在具有18个通道的固态驱动器中,每个通道可以具有大约200兆字节/秒的带宽。在某些情况下,耦合到每个通道的NAND芯片的数量在数量上是相等的,并且在这种情况下,在来自主机的随机但均一(uniform)的读取请求的情形下,可以大致相等地对通道加载,即针对处理读取请求大致相同量地在持续时间上利用每个通道。可以注意到,在许多情况下,从主机到固态驱动器的超过95%的请求可能是读取请求,而从主机到固态驱动器的不到5%的请求可能是写入请求,并且读取请求到通道的适当分配可能在固态驱动器中是重要的。然而,在某些情况下,与其他通道相比,通道中的至少一个可以具有耦合到通道的不同数量的NAND芯片。当NAND芯片的数量不是通道数量的倍数时,可能发生这种情况。例如,如果存在18个通道并且NAND芯片的数量不是18的倍数,那么与其他通道相比,通道中的至少一个必须具有耦合到通道的不同数量的NAND芯片。在这种情况下,耦合到较大数量的NAND芯片的通道可以比耦合到较少数量的NAND芯片的通道负载更重。假设固态驱动器中的每个NAND芯片是相同的结构并且具有相同的存储容量。在通道的不均匀加载的情况下,一些通道可能比其他通道积压(backlog)得更多,并且在完成对主机的响应之前PCIe总线可能必须等待积压清除。某些实施例提供了即使当与其他通道相比通道中的至少一个具有耦合到通道的不同数量的NAND芯片时也防止通道的不均匀加载的机制。这通过用意图用于最轻加载通道的读取请求优先加载最轻加载通道并且通过对在固态驱动器中的队列中等待执行的未决读取请求的处理重新排序来实现。由于在将读取请求加载到通道中时对资源进行分配,所以通过用读取请求加载最轻加载的通道,仅在需要时才使用资源并且资源被有效地使用。因此,某些实施例改善了SSD的性能。图1示出了根据某些实施例的计算环境100的框图,其中固态驱动器102通过PCIe总线106耦合到主机104。主机104可以至少包括处理器。在某些实施例中,仲裁器108在固态驱动器102中以固件来实现。在其他实施例中,仲裁器108可以以硬件或软件、以硬件、固件或软件的任何组合来实现。仲裁器108将通过PCIe总线106从主机104接收的读取请求分配给固态驱动器102的多个通道110a、110b、...、110n中的一个或多个通道。在某些实施例中,将通道110a...110n耦合到多个非易失性存储器芯片,诸如NAND芯片、NOR芯片或其他合适的非易失性存储器芯片。在替代实施例中,也可以使用其他类型的存储器芯片,诸如基于相变存储器(PCM)、三维交叉点存储器、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、并入忆阻器技术的磁阻随机存取存储器(MRAM)存储器、自旋转移力矩(STT)-MRAM或其他合适的存储器的芯片。例如,在某些实施例中,通道110a耦合到NAND芯片112a...112p,通道110b耦合到NAND芯片114a...114q,以及通道110n耦合到NAND芯片114a...114r。NAND芯片112a...112p、114a...114q、114a...114r中的每一个在构造上相同。与其他通道相比,多个通道110a...110n中的通道中的至少一个具有耦合到通道的不同数量的NAND芯片,因此如果来自主机104的读取请求是随机和均一的,则存在多个通道110a...110n的不均匀加载的可能性。在某些实施例中,固态驱动器102可能能够存储若干太字节(terabyte)的数据或更多,并且在固态驱动器102中可以找到多个NAND芯片112a...112p、114a...114q、116a...116r,其每一个存储若干吉字节的数据或更多。PCIe总线106可以具有每秒4吉字节的最大带宽(即,数据承载能力)。在某些实施例中,多个通道110a...110n的数量可以是十八,并且每个通道可以具有每秒200兆字节的最大带宽。在某些实施例中,仲裁器108以序列逐个地检验多个通道110a...110n,并且在检验所有多个通道110a...110n之后,在尝试执行多个通道的均一加载中用意图用于该通道的读取请求加载最小加载通道以增加最小加载通道上的负载。图2示出了根据某些实施例的固态驱动器102的另一框图200,其示出了仲裁器108如何将传入队列202中的读取请求分配给固态驱动器102的通道110a...110n。仲裁器108保持传入队列202,其中传入队列202存储通过PCIe总线106从主机104接收的读取请求。读取请求以传入队列202中的顺序到达并且最初以与读取请求到达传入队列202中的顺序相同的顺序保持。例如,首先到达的请求可以是针对存储在耦合到通道110b的NAND芯片中的数据的,并且下一个到达的第二请求可以是针对存储在耦合到通道110a的NAND芯片中的数据的。在这种情况下,首先到达的请求在传入队列202的头部,并且下一个到达的请求是传入队列202中的下一个元素。仲裁器108还为每个通道110a...110b保持数据结构,在该数据结构中保持由通道正在处理本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580045606.html" title="固态驱动器中不均匀通道加载的性能影响的降低原文来自X技术">固态驱动器中不均匀通道加载的性能影响的降低</a>

【技术保护点】
一种方法,包括:由固态驱动器中的仲裁器确定固态驱动器中的多个通道中的哪个通道与其他通道相比是轻加载通道;分配用于处理意图用于所确定的轻加载通道的一个或多个读取请求的资源,其中已经从主机接收了所述一个或多个读取请求;以及将所述一个或多个读取请求放置在所确定的轻加载通道中以用于处理。

【技术特征摘要】
【国外来华专利技术】2014.09.26 US 14/4990161.一种方法,包括:由固态驱动器中的仲裁器确定固态驱动器中的多个通道中的哪个通道与其他通道相比是轻加载通道;分配用于处理意图用于所确定的轻加载通道的一个或多个读取请求的资源,其中已经从主机接收了所述一个或多个读取请求;以及将所述一个或多个读取请求放置在所确定的轻加载通道中以用于处理。2.根据权利要求1所述的方法,其中,所确定的轻加载通道是多个通道中的最轻加载通道,并且其中在将一个或多个读取请求放置在所确定的最轻加载通道中以用于处理之后,所确定的最轻加载通道在处理期间尽可能接近被完全利用。3.根据权利要求1所述的方法,其中,将一个或多个读取请求包括在意图用于多个通道的多个读取请求中,并且其中通过将一个或多个读取请求放置在所确定的轻加载通道中以用于处理来修改多个读取请求的处理的顺序。4.根据权利要求3所述的方法,其中,修改多个请求的处理的顺序相对于其他请求优先地处理意图用于所确定的轻加载通道的一个或多个读取请求。5.根据权利要求1所述的方法,所述方法还包括:由固态驱动器经由外围部件互连高速(PCIe)总线从主机接收一个或多个读取请求,其中固态驱动器中的多个通道中的每一个具有相同的带宽。6.根据权利要求5所述的方法,其中,多个通道的带宽的和等于PCIe总线的带宽。7.根据权利要求1所述的方法,其中,与多个通道中的其他通道相比,多个通道中的至少一个通道耦合到不同数量的NAND芯片。8.根据权利要求1所述的方法,其中,如果未将一个或多个读取请求放置在所确定的轻加载通道中以用于处理,那么在固态驱动器上的读取性能与其中所有通道耦合到相同数量的NAND芯片的另一固态驱动器相比降低超过10%。9.根据权利要求1所述的方法,其中,在由固态驱动器中的仲裁器确定固态驱动器中的多个通道中的哪个是轻加载通道之后,执行用于处理的资源的分配。10.根据权利要求1所述的方法,其中,相比于相对重加载的通道,仲裁器更经常地轮询相对轻加载的通道,以将重新排序的读取请求优先地分派到相对轻加载的通道。11.根据权利要求1所述的方法,方法还包括:将多个通道中的每一个与保持由通道正在处理的未完成读取的数据结构相关联;以及将已经从主机接收的一个或多个读取请求保持在从主机接收的读取请求的传入队列中。12.一种装置,包括:多个非易失性存储器芯片;耦合到多个非易失性存储器芯片的多个通道;以及用于控制多个通道的仲裁器,其中仲裁器可操作用于:确定多个通道中的哪个与其他通道相比是轻加载通道;分配用于处理意图用于所确定的轻加载通道的一个或多个读取请求的资源,其中已经从主机接收了所述一个或多个读取请求;以及将所述一个或多个读取请求放置在所确定的轻加载通道中以用于处理。13.根据权利要求12所述的装置,其中,非易失性存储器芯片包括NAND芯片,其中轻加载通道是多个通道中的最轻加载通道,...

【专利技术属性】
技术研发人员:AS拉马林加姆VM斯里兰加尼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1