【技术实现步骤摘要】
【国外来华专利技术】实现分叉非易失性存储器快速驱动器的技术
实施例总体上涉及非易失性存储器技术。具体而言,实施例涉及使用分叉非易失性存储器(NVM)快速(NVMe)驱动器来提供高输入输出性能以管理一个或多个文件系统储存和NVMe设备储存的方式。
技术介绍
非易失性存储器(NVM)快速(NVMe)技术允许在由主机硬件和软件利用的现代固态驱动器(SSD)中发现的并行级别。与可包括多个长命令队列的先前逻辑设备接口相比,NVMe技术可用于在数据中心中存储数据,减少输入输出开销并提供各种性能改进以及减少的等待时间。然而,由于资源需求应用(例如,读密集型应用和/或写密集型应用),现有NVMe解决方案的软件栈可能面临满足不断增长的性能要求(例如,功耗和处理能力)的挑战。附图说明通过阅读以下说明书和所附权利要求,并参考以下附图,实施例的各种优点对于本领域技术人员将变得显而易见,其中:图1是根据实施例的分叉非易失性存储器(NVM)快速(NVMe)驱动器架构的示例的图示;图2是根据实施例的初始化内核空间驱动器的方法的示例的流程图;图3是根据实施例的初始化分叉驱动器的方法的示例的流程图;图4是根据实施例的 ...
【技术保护点】
1.一种系统,包括:主机存储器,所述主机存储器包括易失性存储器或非易失性存储器中的一个或多个;以及存储器控制器,通信地耦合到所述主机存储器,所述存储器控制器包括分叉驱动器,以用于处理访问所述非易失性存储器的一个或多个存储器访问请求,其中,所述分叉驱动器包括通信地耦合到内核文件系统的内核空间驱动器、以及通信地耦合到设备的用户空间驱动器。
【技术特征摘要】
【国外来华专利技术】2016.12.23 CN PCT/CN2016/1117361.一种系统,包括:主机存储器,所述主机存储器包括易失性存储器或非易失性存储器中的一个或多个;以及存储器控制器,通信地耦合到所述主机存储器,所述存储器控制器包括分叉驱动器,以用于处理访问所述非易失性存储器的一个或多个存储器访问请求,其中,所述分叉驱动器包括通信地耦合到内核文件系统的内核空间驱动器、以及通信地耦合到设备的用户空间驱动器。2.根据权利要求1所述的系统,还包括用于生成所述分叉驱动器的驱动器分叉器,其中,所述驱动器分叉器取回用于配置所述分叉驱动器的用户配置信息,其中,所述用户配置信息包括用于所述内核空间驱动器和所述用户空间驱动器的多个输入输出队列和多个命名空间,其中,所述一个或多个存储器访问请求从被修改为使用所述分叉驱动器的一个或多个应用程序接收,并且其中,所述一个或多个应用程序包括读密集型应用程序或写密集型应用程序中的一个或者多个。3.根据权利要求2所述的系统,其中,所述驱动器分叉器初始化所述内核空间驱动器,其中,所述驱动器分叉器:在所述主机存储器的共享存储器空间中生成数据结构,其中,所述主机存储器包括内核,其中,所述内核通过所述分叉驱动器管理所述内核空间驱动器,其中,所述共享存储器空间可由分叉器命名空间对访问,所述分叉器命名空间对包括内核命名空间和用户命名空间,其中,所述非易失性存储器包括文件系统设备储存器和非易失性存储器(NVM)快速(NVMe)块设备储存器;在所述主机存储器中生成所述内核命名空间、一个或多个内核队列对、所述用户命名空间和一个或多个用户空间队列对;将所述内核命名空间和所述一个或多个内核队列对分配给所述内核空间驱动器;使用标识所述内核命名空间和所述一个或多个内核队列对的内核队列对元数据来更新所述数据结构;以及向所述内核注册所述设备,其中,所述设备是所述NVMe块设备储存器。4.根据权利要求3所述的系统,其中,所述数据结构包括数据结构元数据,所述数据结构元数据包括提交队列物理地址、完成队列物理地址、队列大小或队列门铃寄存器物理地址中的一个或多个。5.根据权利要求3所述的系统,其中,所述一个或多个内核队列对包括包含管理提交队列和管理完成队列的管理队列对中的一个或多个、以及包含内核提交队列和内核完成队列的内核输入输出队列对中的一个或多个,并且其中,所述一个或多个用户空间队列对包括用户空间提交队列和用户空间完成队列。6.根据权利要求3所述的系统,其中,所述驱动器分叉器:使用所述数据结构元数据初始化所述用户空间驱动器,其中,所述用户空间驱动器是轮询模式驱动器,其中,所述驱动器分叉器:取回所述用户配置信息和所述数据结构元数据;基于所述用户配置信息和所述数据结构元数据生成所述设备;利用所述用户空间队列对元数据来更新所述数据结构;以及向所述用户空间驱动器注册到所述设备的块设备接口。7.根据权利要求3所述的系统,其中,所述分叉驱动器通信地耦合到所述存储器控制器,并且其中,所述分叉驱动器:从所述一个或多个应用程序接收用于访问所述文件系统设备储存器或所述NVMe块设备储存器中的一个或多个的所述一个或多个存储器访问请求;处理所述一个或多个存储器访问请求;基于所述一个或多个存储器访问请求使用更新所述内核命名空间、所述用户命名空间、所述一个或多个内核队列对或所述一个或多个用户空间队列对中的一个或多个;以及使用所述存储器控制器同步所述数据结构。8.根据权利要求3所述的系统,其中,所述易失性存储器包括随机存取存储器(RAM),所述随机存取存储器(RAM)包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或同步动态随机存取存储器(SDRAM)中的一个或多个,并且其中,所述非易失性存储器包括非易失性随机存取存储器,所述非易失性随机存取存储器包括固态存储器、3D交叉点存储器、使用硫属化物相变材料的一个或多个储存设备、字节可寻址非易失性存储器设备、铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、包括铁电聚合物存储器的聚合物存储器、铁电晶体管随机存取存储器(Fe-TRAM)双向存储器、纳米线存储器、或电可擦除可编程只读存储器(EEPROM)中的一个或多个,其中,所述固态存储器包括平面或三维(3D)NAND闪存或NOR闪存中的一个或多个,其中,所述3D交叉点存储器包括至少一个无晶体管的可堆叠交叉点架构,其中,存储器单元位于字线和位线的交叉点处,并且所述存储器单元可单独寻址,位储存基于体电阻的变化。9.根据权利要求8所述的系统,其中,当所述一个或多个存储器访问请求是读取请求时,所述分叉驱动器将所述一个或多个存储器访问请求引导到所述用户空间驱动器。10.根据权利要求2-8中任一项所述的系统,其中,当所述一个或多个存储器访问请求是写入请求时,所述分叉驱动器将所述一个或多个存储器访问请求引导到所述内核空间驱动器。11.一种共享非易失性存储器(NVM)快速(NVMe)设备的方法,包括:使用耦合到主机存储器的处理器生成分叉驱动器,其中,所述主机存储器包括易失性存储器或非易失性存储器中的一个或多个,其中,所述分叉驱动器包括:通信地耦合到内核文件系统的内核空间驱动器,以及通信地耦合到设备的用户空间驱动器;以及使用所述分叉驱动器处理访问所述非易失性存储器的一个或多个存储器访问请求。12.根据权利要求11所述的方法,还包括从被修改为使用所述分叉驱动器的一个或多个应用程序接收所述一个或多个存储器访问请求,其中,生成所述分叉驱动器包括使用驱动器分叉器取回用于配置所述分叉驱动器的用户配置信息,其中,所述用户配置信息包括用于所述内核空间驱动器和所述用户空间驱动器的多个输入输出队列和多个命名空间,其中,所述一个或多个应用程序包括读密集型应用程序或写密集型应用程序中的一个或者多个,以及其中,所述一个或多个存储器访问请求包括读取请求或写入请求中的一个或多个。13.根据权利要求12所述的方法,还包括:初始化所述内核空间驱动器,包括:在所述主机存储器的共享存储器空间中生成数据结构,其中,所述主机存储器包括内核,其中,所述内核通过所述分叉驱动器管理所述内核空间驱动器,其中,所述共享存储器空间可由分叉器命名空间对访问,所述分叉器命名空间对包括内核命名空间和用户命名空间,其中,所述非易失性存储器包括文件系统设备储存器和NVMe块设备储存器;在所述主机存储器中生成所述内核命名空间、一个或多个内核队列对、所述用户...
【专利技术属性】
技术研发人员:刘长鹏,常存银,杨子夜,戴琪华,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。