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

用于在非易失性存储器快速(NVMe)控制器的不同网络地址上使能个别的NVMe输入/输出(IO)队列的方法和装置制造方法及图纸

技术编号:18580383 阅读:45 留言:0更新日期:2018-08-01 14:45
描述了涉及在NVMe(非易失性存储器快速)控制器的不同网络地址上使能个别的NVMe IO(输入输出或I/O)队列的方法和装置。在一个实施例中,多个后端控制器逻辑被耦合到多个非易失性存储器设备。一个或多个虚拟控制器目标逻辑(耦合到多个后端控制器逻辑)向多个后端控制器逻辑中的第一后端控制器逻辑传输来自多个IO队列的第一部分的数据。一个或多个虚拟控制器目标逻辑向多个后端控制器逻辑中的第二后端控制器逻辑传输来自多个IO队列的第二部分的数据。还公开并且要求保护了其它实施例。

Methods and devices for enabling individual NVMe input/output (IO) queues on different network addresses of non-volatile memory fast (NVMe) controllers

The methods and devices for enabling individual NVMe IO (input and output or I/O) queues on different network addresses of NVMe (non volatile memory fast) controllers are described. In one embodiment, a plurality of back-end controller logic is coupled to a plurality of non-volatile memory devices. One or more virtual controller target logic (coupled to multiple back-end controller logic) transfers data from the first part of multiple IO queues logically to the first back-end controller logic in multiple back end controller logic. One or more virtual controller target logic transfers data from the second part of multiple IO queues logically to the second back end controller in multiple back end controller logic. Other implementations are also disclosed and required to be protected.

【技术实现步骤摘要】
【国外来华专利技术】用于在非易失性存储器快速(NVMe)控制器的不同网络地址上使能个别的NVMe输入/输出(IO)队列的方法和装置相关申请本申请按照35U.S.C.365(c)要求于2015年12月21日提交的美国申请No.14/976,949的优先权。所述申请No.14/976,949由此通过引用以其整体被并入本文中。
本公开一般地涉及电子器件的领域。更特别地,一些实施例一般地涉及在NVMe(非易失性存储器快速)控制器的不同网络地址上使能个别的NVMe输入输出(“IO”或“I/O”)队列。
技术介绍
一般地,用于在计算系统中存储数据的存储器可以是易失性的(用于存储易失性信息)或者非易失性的(用于存储持久的信息)。存储在易失性存储器中的易失性数据结构一般地用于在程序的运行时间期间被需要用于支持程序的功能的临时的或中间信息。另一方面,存储在非易失性(或持久的存储器)中的持久的数据结构超过程序的运行时间是可用的并且可以被再使用。随着计算能力在处理器中被增强,一个忧虑是可以由处理器以其来访问存储器的速度。例如,为了处理数据,处理器可能需要首先从存储器取出数据。在数据处理的完成之后,结果可能需要被存储在存储器中。因此,存储器访问速度可以对总体系统性能具有直接影响。另一个重要的考虑是功耗。例如,在依赖于电池功率的移动计算设备中,非常重要的是减少功耗以虑及设备在移动时操作。功耗对于非移动计算设备(诸如计算机服务器,例如,在数据中心中使用等)而言也是重要的,因为过量的功耗可能增加成本(例如,由于附加的功率使用、增加的冷却要求等)、缩短部件寿命、限制设备可以在其处被使用的位置等。又一个重要的考虑是执行存储技术方案的可靠性,因为机械磁盘驱动器具有可能损坏的电机和(一个或多个)磁盘头,而SSD(固态驱动器)没有机械移动部分并且可以更加可读地幸免于(survive)意外的碰撞和移动。为此目的,一些计算设备正越来越多地利用SSD来提供非易失性存储器(NVM)存储技术方案。附图说明参照附图提供详细描述。在图中,参考编号的最左边的(一个或多个)数位标识其中该参考编号首次出现的图。相同的参考编号在不同的图中的使用指示类似或相同的条目。图1和4-6图示了可以被利用来实现在本文中讨论的各种实施例的计算系统的实施例的框图。图1A图示了图1的系统的另一个实施例。图2图示了根据实施例的固态驱动器的各种部件的框图。图3A、3B和3C图示了根据一些实施例的用于NVMeIO队列的各种配置。具体实施方式在以下的描述中,阐述了多个具体细节以便提供对各种实施例的透彻理解。然而,在没有具体细节的情况下可以实施各种实施例。在其他实例中,尚未详细地描述公知的方法、过程、部件和电路以便不模糊特定实施例。此外,可以使用各种构件来执行实施例的各种方面,诸如集成半导体电路(“硬件”)、组织到一个或多个程序中的计算机可读指令(“软件”)、或者硬件和软件的某组合。出于本公开的目的,对“逻辑”的引用应当意味着硬件、软件、固件或者其某组合。如以上讨论的那样,一些计算系统可以利用NVM设备。根据NVMe(非易失性存储器快速)规范(诸如NVM快速规范,修订本1.2a,2015年10月23日)提供一种类型的非易失性存储器(NVM)。NVMe规范限定了各种条目(诸如寄存器接口、命令集和特征集)以允许对固态驱动器(SSD)的访问,所述固态驱动器(SSD)通过外围部件互连快速(PCIe)总线(例如,根据PCI快速基础规范,修订本3.1,2014年11月等)连接到计算机。为此目的,一些实施例涉及用于在NVMe控制器的不同网络地址上使能个别的NVMe(非易失性存储器快速)IO(输入输出或I/O)队列的方法和装置。例如,网络存储技术方案可以通过允许经由单个(例如,虚拟的或物理的)NVMe控制器对多个NVMe设备(其可以通过计算机网络被耦合)的访问来改进。更具体地,在一些NVMe实现中,NVMe队列被束缚到物理NVMe设备的控制器,并且在设备驱动软件中创建的NVMe队列可以被束缚到针对PCIeNVMe设备在单个硬件控制器中实现的NVMe队列。尽管这样,网络结构(诸如RDMA(远程直接存储器访问))不一定需要该约束来针对NVMe控制器实现NVMe队列以传递数据。可以应用实施例以移除该关系并且相对于NVMe设备上的物理NVMe队列创建NVMe队列的更高抽象水平。因此,该更高抽象NVMe目标实现可以虚拟地支持/提供具有用于该单个控制器的一些数量的IO队列的完整的NVMe控制器,但是实际上该虚拟表示中的那些IO队列的子集可以被映射到一个物理NVMe控制器和所述物理NVMe控制器的IO队列。此外,该子集的其余部分可以被映射到另一个物理NVMe控制器和所述另一个物理NVMe控制器的IO队列。另外,诸如admin(或管理)队列的NVMe队列可以被配置为广播类型配置,例如,控制巨大的NVMe存储数据网络中的多个NVMe控制器。因此,一些实施例允许在NVMe队列级处经由网络连接性对虚拟或物理存储控制器的远程访问,以及通告可配置的NVMe队列设置(例如,NVMe队列设置是静态的还是动态的)。甚至可以提供在队列级处初始化或配置NVMe网络和所述NVMe网络的设备的机制。此外,为了冗余性、性能优化和/或其他尚待发现的益处,可以提供不同的控制器主机、虚拟或物理控制器目标和物理存储介质之间的NVMe队列的静态的和动态的可配置性和连接性。此外,即使参照非易失性存储器(NVM)或NVMe一般地讨论了一些实施例,实施例也不限于单个类型的NVM,并且任何类型的非易失性存储器或不同的NVM类型的组合(例如,以诸如固态驱动器(或SSD,例如包括NAND和/或NOR类型的存储器单元)的格式,或者诸如存储器驱动器、闪存驱动器等的可用于存储的其他格式)可以被使用。存储介质(无论以SSD格式还是其他方式使用)可以是任何类型的存储介质,包括例如以下中的一个或多个:纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、磁阻随机存取存储器(MRAM)、闪存、自旋力矩转移随机存取存储器(STTRAM)、电阻随机存取存储器、字节可寻址3维交叉点存储器、PCM(相变存储器)等。另外,可以使用由功率储备(诸如电池或电容)支持以保持数据的诸如动态RAM(DRAM)的任何类型的随机存取存储器(RAM)。因此,在各种实施例中,甚至能够在功率故障或(一个或多个)功率中断期间保持数据的易失性存储器可以被用于存储。在本文中讨论的技术可以在各种计算系统(例如,包括诸如台式计算机、工作站、服务器、机架系统等的非移动计算设备,以及诸如智能电话、平板计算机、UMPC(超移动个人计算机)、膝上型计算机、UltrabookTM计算设备、智能手表、智能眼镜、智能手镯等的移动计算设备)中提供,包括参照图1-6讨论的那些。更特别地,图1图示了根据实施例的计算系统100的框图。系统100可以包括一个或多个处理器102-1到102-N(一般地在本文中被称为“多个处理器102”或“处理器102”)。处理器102可以经由互连或总线104通信。每个处理器可以包括各种部件,为了清楚起见,其中的一些部件仅参照处理器102-1来讨论。相应地,其余处理器102-2到102-N中的每个可以包括参照处理器本文档来自技高网...

【技术保护点】
1.一种装置,包括:多个后端控制器逻辑,其耦合到多个非易失性存储器设备;以及一个或多个虚拟控制器目标逻辑,其耦合到多个后端控制器逻辑,用于向多个后端控制器逻辑中的第一后端控制器逻辑传输来自要从主机系统传输的多个输入输出(IO)队列的第一部分的数据,其中一个或多个虚拟控制器目标逻辑用于向多个后端控制器逻辑中的第二后端控制器逻辑传输来自多个IO队列的第二部分的数据。

【技术特征摘要】
【国外来华专利技术】2015.12.21 US 14/9769491.一种装置,包括:多个后端控制器逻辑,其耦合到多个非易失性存储器设备;以及一个或多个虚拟控制器目标逻辑,其耦合到多个后端控制器逻辑,用于向多个后端控制器逻辑中的第一后端控制器逻辑传输来自要从主机系统传输的多个输入输出(IO)队列的第一部分的数据,其中一个或多个虚拟控制器目标逻辑用于向多个后端控制器逻辑中的第二后端控制器逻辑传输来自多个IO队列的第二部分的数据。2.如权利要求1所述的装置,其中多个IO队列的第一部分和第二部分中的每个用于包括多个IO队列的大约一半。3.如权利要求1所述的装置,其中一个或多个虚拟控制器目标逻辑用于向第一后端控制器逻辑和第二后端控制器逻辑两者传输来自管理队列的信息。4.如权利要求3所述的装置,其中一个或多个虚拟控制器目标逻辑用于基于要从管理队列提供的信息向第一或第二后端控制器逻辑传输一个或多个管理命令。5.如权利要求1所述的装置,其中目标系统用于包括一个或多个虚拟控制器目标逻辑和以下中的至少一个:第一后端控制器逻辑和第二后端控制器逻辑。6.如权利要求1所述的装置,其中第一目标系统用于包括来自一个或多个虚拟控制器逻辑的第一虚拟控制器目标逻辑以及第一后端控制器逻辑,其中第二目标系统用于包括来自一个或多个虚拟控制器逻辑的第二虚拟控制器目标逻辑以及第二后端控制器逻辑。7.如权利要求6所述的装置,其中第一虚拟控制器目标逻辑用于向多个后端控制器逻辑中的第一后端控制器逻辑传输来自多个IO队列的第一部分的数据,其中第二虚拟控制器目标逻辑用于向多个后端控制器逻辑中的第二后端控制器逻辑传输来自多个IO队列的第二部分的数据。8.如权利要求6所述的装置,其中第一虚拟控制器目标逻辑和第二虚拟控制器目标逻辑用于向第一后端控制器逻辑和第二后端控制器逻辑传输来自管理队列的信息。9.如权利要求6所述的装置,其中第一目标系统和第二目标系统用于通过一个或多个计算机系统被耦合到主机系统。10.如权利要求9所述的装置,包括网络交换机逻辑,用于向第一目标系统和第二目标系统传输来自要从主机系统接收的管理队列的信息。11.如权利要求1所述的装置,其中多个非易失性存储器设备用于包括多个非易失性存储器快速(NVMe)设备。12.如权利要求1所述的装置,其中非易失性存...

【专利技术属性】
技术研发人员:JP弗雷彦思PC凯顿DB明特恩JE斯特恩伯格
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1