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

存储数据的方法和设备技术

技术编号:13975997 阅读:67 留言:0更新日期:2016-11-11 11:46
SSD控制器操作接口装置,所述接口装置有关于主机协议和存储协议,其支持相应的主机和存储接口,以用于给主机提供整个存储系统的视界。主机具有呈现存储系统作为逻辑装置的存储协议的可见性,以及通过主机协议(其适合用于访问诸如固态驱动(SSD)的高速装置)访问存储装置。存储协议支持多种可能的不同的装置,允许主机有效访问如由存储系统所定义的传统存储和SSD的组合。以此方式,较好地适合于SSD的,诸如NVMe(非易失性快速存储器)的主机协议准许对存储系统(诸如存储阵列)的高效访问,因此整个存储系统(阵列或者网络)对上游主机被呈现为NVMe存储装置。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
固态驱动(SSD)是高性能的存储装置,其不包含移动部分。SSD比具有常规的磁旋媒体的典型的硬盘驱动(HDD)要快得多,以及通常包括管理数据存储的控制器。控制器管理SSD的操作,包括数据存储和访问,以及在SSD与主机装置之间的通信。因为SSD比它们的前任HDD对应物(counterpart)显著地要更快,以前被I/O(输入/输出)束缚(由非易失性存储能够被完成的速度所限制)的计算任务可以发现计算瓶颈由主机能够排队I/O请求的速度所限制。因此,诸如(外围组件快速互连(Peripheral Component Interconnect Express),或者PCI)的主机协议旨在更好地适应该新生代非易失性存储。附图说明本专利技术的上述和其它对象、特征和益处将从如附图中示出的本专利技术的具体实施例的以下描述而显而易见,在所述附图中,贯穿不同视图,相同的引用字符指相同的部分。附图不必需按比例缩放,代替地强调依据示出本专利技术的原理而被放置。图1是适合与本文的配置一起使用的计算和存储环境的上下文图;图2是图1的环境中所公开的方法的流程图;图3是用于与图2的方法一起使用的接口装置的框图;图4更详细地示出图3的接口装置;图5示出图4的接口装置的冗余配置;以及图6示出图1的环境中存储元件的互连。具体实施方式SSD控制器操作作为接口装置,所述接口装置有关于主机协议和存储协议,其支持相应的主机和存储接口,以用于给主机提供存储装置的视界。主机具有呈现存储装置作为逻辑装置的存储协议的可见性(visibility),以及通过主机协议(其较好地适合用于访问诸如固态驱动(SSD)的高速装置)访问存储装置。因为主机与存储装置接口一起呈现,同时存储协议支持多个装置,存储接口可以包括多个装置,范围上至整个存储阵列。存储协议支持多种可能的不同的装置,允许主机有效访问如由存储装置所定义的传统存储和SSD的组合。各个存储装置被直接连接至存储系统,其对主机正被显露为单个NVMe装置(当前NVMe规范在nvmexpress.org可得到)。以此方式,较好地适合于SSD的、诸如NVMe(非易失性快速存储器(Non-volatile Memory Express))的主机协议准许对存储装置(诸如存储阵列或者类似的或不同的存储体的其它布置)的高效访问,因此整个存储系统(存储阵列、网络或者其它适合的配置)对上游主机被呈现为NVMe存储装置。相比于对主机呈现单个SSD的常规NVMe装置,本文公开的方法“反转(reverse)”NVMe接口,以便该接口“会话”至存储元件的组、集合或者系统中,使得系统从外面显现为SSD。作为结果的接口呈现为具有对主机的NVMe接口的直接附连的PCIe存储装置,但是在其后具有整个存储系统,因此,定义一种类型的NVMe直接附连存储装置(NDAS)。通过显露实行NVMe目标注册器接口的仿真的一个或者更多接口至上游主机或者启动器,具体地通过(外围组件快速互连,或者),本文的配置提出NVMe直接附连存储(NDAS)系统。NDAS系统允许在提取各种以及可能不同的存储装置中的灵活性,所述存储装置能够包括SATA(串行高级技术附件,当前规范在sata-io.org可得到)HDD(硬盘驱动)、具有NAND的PCIe/NVMe SSD和SATA SSD或者其它类型的非易失性存储器。NDAS系统内的存储装置然后能够被用于实现各种存储优化,诸如聚合、缓存和层叠。作为背景,NVMe是可按比例缩放的主机控制器接口,设计成致力于可以采用固态驱动的企业、数据中心和客户系统的需要。NVMe通常被采用为SSD装置接口以用于对主机呈现存储体接口。本文的配置定义存储子系统接口以用于整个存储解决方案(系统),但是其通过呈现SSD存储接口上游而显现为SSD。NVMe基于成对的提交和完成队列机制。命令由主机软件放置至提交队列中。完成由控制器放置至关联的完成队列中。多个提交队列可以利用相同的完成队列。提交和完成队列在主机存储器中被分配。PCIe是高速串行计算机扩展总线标准,被设计成替代更老的PCI、PCI-X和AGP总线标准。PCIe实现对上述的总线标准的改善,包括更高的最大系统总线吞吐量、更低的I/O引线数以及更小的物理管脚、对于总线装置的更好的性能伸缩以及更详细的错误检测和报告机制。NVM Express定义了对于基于PCI Express的固态驱动(SSD)的优化的注册器接口、命令集合和特征集合,以及被定位以利用PCIe SSD的潜力,以及标准化PCIe SSD接口。PCIe总线和更老的PCI之间的显著不同是总线拓扑。PCI使用共享的并行总线架构,其中PCI主机和所有连接的装置共享地址/数据/控制线的共同集合。相比,PCIe基于点对点拓扑,具有连接每个装置至根复合体(complex)(主机)的分开的串行链路。由于它的共享的总线拓扑,对更老的PCI总线的访问通常被仲裁(arbitrate)(在多个主的情况下),以及每次限于一个主,以单个方向。更老的PCI计时(clocking)方案也限制总线时钟(clock)至总线上最慢的外围(不管总线事务中涉及的装置)。相比,PCIe总线链路支持任何两个端点之间的全双工通信,以及因此促进跨多个端点的并行访问。本文的配置是基于观察到用于与大容量存储或者非易失性存储相互作用的当前主机协议(诸如NVMe)趋向于被聚焦在具体存储装置或者装置类型上以及可以没有较好地适合于访问各种装置。令人遗憾的是,对主机协议的常规方法没有给予足够的灵活性给服务主机的大容量装置的布置。例如,大多数个人和/或便携式计算装置采用初始的大容量存储装置,以及通常这是由卖主来与具体装置匹配的。例如,大多数现货供应的膝上型计算机、智能电话和音频装置与挑选的单个存储装置一起装运以及由卖主封装。常规的装置可以没有聚焦在对其它装置的访问上,因为此类访问从期望的使用模式偏移。因此,本文的配置通过提供接口装置或者桥接来充分地克服了以上描述的缺点,所述接口装置或者桥接显露诸如NVMe的基于主机的协议(主机协议)至用户计算装置,以及采用基于存储的协议(存储协议)以用于实现存储和检索请求,因此拓宽了可用装置的范围至存储协议下被识别的那些。例如,NDAS(网络直接附连存储)通过跨共同总线容纳不同的存储媒体(SSD、HDD、光学)和装置类型(即不同容量)而允许各种不同的存储装置经由共同总线被互连和访问。网络上的所有用户或者系统能够直接地控制、使用和共享所互连的存储装置。以此方式,基于主机的协议对用户呈现单独的存储装置,以及映射器关联经由主机协议的请求至经由存储协议的多个存储元件(即,各个驱动或者其它装置),因此允许多个互连的装置(有时被称作“存储阵列”或者“特大容量磁盘”)来满足请求,即使在主机协议下用户装置仅“看见”单个装置。例如,NVMe通过实现多个并行队列以用于避免I/O瓶颈以及高效地处理源于多个始发器的请求来帮助对于SSD的访问。常规HDD通常被期望遇到I/O束缚实现,因为计算的结果可能相比常规HDD能够写它们而更快地生成。NVMe意在通过高效地管理增加的速率(通过此,I/O请求可以被满足)较好地有助于SSD(对常规HDD)。以下描绘的是根据本文所公开的本文档来自技高网...

【技术保护点】
一种接口装置,包括:主机接口,响应于由主机发布的请求,所述主机接口呈现由所述主机访问的存储装置;存储接口,耦合至多个不同的存储元件,该多个存储元件有关于共同于所述多个存储元件中的每一个的存储协议;以及映射器,连接在所述主机接口至所述存储接口之间,以及被配置成映射所述主机接口上接收的请求至连接至所述存储接口的特定存储元件,基于所述存储协议而所映射的请求指示所述特定存储元件,所述特定存储元件独立于所呈现的存储装置。

【技术特征摘要】
【国外来华专利技术】1.一种接口装置,包括:主机接口,响应于由主机发布的请求,所述主机接口呈现由所述主机访问的存储装置;存储接口,耦合至多个不同的存储元件,该多个存储元件有关于共同于所述多个存储元件中的每一个的存储协议;以及映射器,连接在所述主机接口至所述存储接口之间,以及被配置成映射所述主机接口上接收的请求至连接至所述存储接口的特定存储元件,基于所述存储协议而所映射的请求指示所述特定存储元件,所述特定存储元件独立于所呈现的存储装置。2.如权利要求1所述的装置,所述装置进一步包括主机协议,所述主机接口响应于所述主机协议以用于接收由所述主机发布的以及定向至所述呈现的存储装置的请求,所述主机协议未意识到由所述存储协议映射的所述特定的存储元件。3.如权利要求1-2中任一项所述的装置,所述装置进一步包括所述映射器中的先入先出(FIFO)传输逻辑,所述FIFO传送逻辑用于映射所述主机接口上接收的请求至连接至所述存储接口的特定存储元件,所映射的请求基于所述存储协议指示所述特定存储元件。4.如权利要求1-3中任一项所述的装置,其中所述主机接口呈现相应于所述多个存储元件的单个逻辑存储装置,以及所述不同的存储元件中的每一个响应于所述存储协议以用于履行所述发布的请求。5.如权利要求1-4中任一项所述的装置,其中所述存储协议是NDAS以及所述存储元件包括以下中的至少一个:SATA SSD、SATA HDD、PCIe SSD、NVMe SSD、闪速存储器或者基于NAND的媒体。6.如权利要求2-5中任一项所述的装置,其中所述主机协议是NVMe以及所述呈现的存储装置是NVMe驱动。7.如权利要求1-6中任一项所述的装置,所述装置进一步包括至多个主机队列的接口,所述主机队列进一步包括提交队列和完成队列,所述提交队列用于存储未决请求以及相应的有效负载,以及所述完成队列指示所述请求的完成。8.如权利要求1-7中任一项所述的装置,其中所述主机协议是点对点协议以用于从所述多个主机队列映射请求至存储体,以及所述存储协议响应于所述主机协议以用于标识存储元件以用于满足所述请求,所述主机协议仅涉及所述请求以及未意识到处理所述请求的所述存储元件。9.如权利要求7或8中任一项所述的装置,所述装置进一步包括至影子存储器的接口,所述接口响应于所述装置以用于从所述主机传输有效负载条目至所述影子存储器,所述影子存储器用于存储来自所述提交队列的有效负载直到相应的命令条目由背端逻辑接收以用于管理所述多个存储元件;以及所述映射器响应于所述背端逻辑以用于:标识所述多个存储元件中的存储元件;以及基于所述存储协议存储所述有效负载条目在标识的存储元件中。10.如权利要求1-9中任一项所述的装置,其中所述多个存储元件由存储装置的分级结构所定义,所述存储装置包括更高吞吐量的装置以用于缓存数据以用于在更慢的吞吐量装置上存储。11.如权利要求1-10中任一项所述的装置,所述装置进一步包括多个接口装置,所述多个接口装置中的每一个被耦合至多个主机,所述主机中的每一个经由所述接口装置中的每一个有权访问所述多个存储元件。12.一种计算机程序产品,具有编码在非暂态计算机可读存储媒体上的指令,所述指令由处理器执行时,实行在存储装置上存储数据的方法,包括:经由至主机装置的接口来接收请求,所述主机装置发布所述请求以用于存储和检索服务,所述接口响应于所述主机装置以用于履行所发布的请求,所述请求相应于主机协议以用于定义由所述接口装置识别的所述发布的请求;调用存储协议以用于确定相应于所述发布的请求的多个存储元件上的存储位置,所述存储协议相关于所述主机协议的至少一个子集;经由所调用的存储协议映射相应于所述发布的请求的所述主机上的有效负载至一位置以用于在所述存储元件的至少一个中遮蔽标识的有...

【专利技术属性】
技术研发人员:K·S·格里姆斯鲁德J·B·可汗
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1