首页> 中国专利> 建立逻辑地址空间的方法、访问存储装置的方法及存储架构

建立逻辑地址空间的方法、访问存储装置的方法及存储架构

摘要

本发明提供一种使用PCIE协议的控制器建立逻辑地址空间的方法,包括:使用PCIE协议的第一控制器获得其控制的具有PCIE协议端口的存储装置的参数;所述第一控制器根据所述参数,将所述存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间。本发明还提供三种使用PCIE协议的控制器、一种使用PCIE协议的控制器访问具有PCIE协议端口的存储装置的方法及两种存储架构。本发明可以提高访问具有PCIE协议端口的存储装置的效率。

著录项

  • 公开/公告号CN101770345A

    专利类型发明专利

  • 公开/公告日2010-07-07

    原文格式PDF

  • 申请/专利权人 成都市华为赛门铁克科技有限公司;

    申请/专利号CN200810187723.1

  • 发明设计人 范瑞琦;王奇;张巍;

    申请日2008-12-31

  • 分类号G06F3/06(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人逯长明

  • 地址 611731 四川省成都市高新区西部园区清水河片区

  • 入库时间 2023-12-18 00:10:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-06

    专利权的转移 IPC(主分类):G06F 3/06 专利号:ZL2008101877231 登记生效日:20220824 变更事项:专利权人 变更前权利人:华为数字技术(成都)有限公司 变更后权利人:华为技术有限公司 变更事项:地址 变更前权利人:611731 四川省成都市高新区西部园区清水河片区 变更后权利人:518129 广东省深圳市龙岗区坂田华为总部办公楼

    专利申请权、专利权的转移

  • 2015-02-25

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F3/06 变更前: 变更后: 申请日:20081231

    专利权人的姓名或者名称、地址的变更

  • 2012-06-27

    授权

    授权

  • 2010-09-08

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20081231

    实质审查的生效

  • 2010-07-07

    公开

    公开

说明书

技术领域

本发明涉及存储技术,尤其涉及建立逻辑地址空间的方法、访问存储装置的方法及存储架构。

背景技术

目前的存储架构主要包括控制器和存储装置,存储装置例如是硬盘。当有需要时,控制器会访问存储装置。例如,当控制器获得服务器发出的读数据请求后,控制器会向存储装置请求提供所述数据,存储装置将所述数据提供给控制器后,控制器再向服务器提供所述数据。再例如,当控制器获得服务器发出的写数据请求后,控制器会向存储装置请求存储所述数据,存储装置存储所述数据后,可以向控制器返回写数据响应,之后,控制器再向服务器返回写数据响应。

发明人在实现本发明的过程中发现:使用外围设备互连快速(PCIE,Peripheral Component Interconnect Express)协议的控制器每次访问具有PCIE协议端口的存储装置时,都需要与存储装置进行交互,至少控制器需要向存储装置发出请求,而这种交互必然需要一定的时间。当控制器需要频繁的访问存储装置时,由于控制器每次访问存储装置都需要一定的时间,所以控制器访问存储装置的效率必然要下降。

发明内容

本发明实施例提供使用PCIE协议的控制器建立逻辑地址空间的方法、使用PCIE协议的控制器访问具有PCIE协议端口的存储装置的方法及存储架构,用以提高使用PCIE协议的控制器访问具有PCIE协议端口的存储装置的效率。

一种使用PCIE协议的控制器建立逻辑地址空间的方法,包括:使用PCIE协议的第一控制器获得其控制的具有PCIE协议端口的存储装置的参数;所述第一控制器根据所述参数,将所述存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间。

一种使用PCIE协议的第一控制器,包括:获得单元,用于获得所述第一控制器控制的具有PCIE协议端口的存储装置的参数;映射单元,用于根据所述获得单元获得的所述存储装置的参数,将所述存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间。

一种使用PCIE协议的控制器访问具有PCIE协议端口的存储装置的方法,使用PCIE协议的第一控制器预先将其控制的存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间,所述方法包括:所述第一控制器获得访问所述存储装置的触发;所述第一控制器访问所述第一逻辑地址空间。

一种使用PCIE协议的第一控制器,包括:映射单元,用于将所述第一控制器控制的具有PCIE协议端口的存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间;获得单元,用于获得访问所述存储装置的触发;访问单元,用于在所述获得单元获得访问所述存储装置的触发后,访问所述第一逻辑地址空间。

一种存储架构,包括:至少一个具有PCIE协议端口的存储装置,用于存储数据;使用PCIE协议的第一控制器,用于控制所述存储装置,其中,所述第一控制器将所述存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间;当所述第一控制器获得访问所述存储装置的触发后,访问所述第一逻辑地址空间。

在本发明实施例中,由于具有PCIE协议端口的存储装置的存储空间映射到使用PCIE协议的控制器的逻辑地址空间,所以使用PCIE协议的控制器访问映射到本地的逻辑地址空间实质上就是访问具有PCIE协议端口的存储装置,由此可见,使用PCIE协议的控制器访问具有PCIE协议端口的存储装置不必再向具有PCIE协议端口的存储装置发出请求,减少了访问具有PCIE协议端口的存储装置所需要的时间,提高了访问具有PCIE协议端口的存储装置的效率。

本发明实施例还提供一种存储装置,所述存储装置具有多个PCIE协议端口,所述存储装置通过每个PCIE协议端口分别连接一个使用PCIE协议的控制器。

本发明实施例还提供一种存储架构,包括:至少一个具有多个PCIE协议端口的存储装置,用于存储数据;使用PCIE协议的第一控制器,用于通过所述存储装置的第一端口控制所述存储装置;使用PCIE协议的第二控制器,用于通过所述存储装置的第二端口控制所述存储装置。

在本发明实施例中,存储装置具有多个PCIE协议端口,这样,存储装置可以同时由多个使用PCIE协议的控制器控制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的一种使用PCIE协议的控制器建立逻辑地址空间的方法的流程图;

图2为本发明实施例的一种使用PCIE协议的控制器的结构示意图;

图3为本发明实施例的一种控制器访问存储装置的方法的流程图;

图4为本发明实施例的另一种控制器的结构示意图;

图5为本发明实施例的一种存储架构的结构示意图;

图6为本发明实施例的一种中端存储架构的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先对本发明实施例的一种使用PCIE协议的控制器建立逻辑地址空间的方法进行说明。如图1所示,包括:

S101:使用PCIE协议的第一控制器获得其控制的具有PCIE协议端口的存储装置的参数,为便于描述,下文中涉及的本发明实施例的具有PCIE协议端口的存储装置都简称为存储装置;

S102:所述第一控制器根据所述参数,将所述存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间。

这里的第一控制器和存储装置可以分别是指中端存储架构中的控制器和存储装置,其中,第一控制器可以是包括PCIE交换机(Switch)的控制器,存储装置可以是具有PCIE协议端口的固态硬盘(SSD,Solid State Disk)。当然,这里的第一控制器和存储装置也可以是指其他存储架构中的控制器和存储装置,只要这个存储架构中的控制器能够控制存储装置,控制器能够将存储装置的存储空间映射到控制器,并且控制器和存储装置都使用PCIE协议即可。

第一控制器控制存储装置可以有很多实现方式。例如,第一控制器根据服务器的读数据请求,向存储装置请求提供数据。再例如,第一控制器根据服务器的写数据请求,请求存储装置存储数据。当然,第一控制器还可以通过其他方式来控制存储装置,这里不再一一举例说明。

存储装置可以具有多个PCIE协议端口,第一控制器可以通过其中的一个端口(为便于下文描述,这里称为第一端口)获得存储装置的参数,具体的,参数例如为存储装置的容量、序列号及位置(例如槽位)等用于将存储装置的存储空间映射到第一控制器的逻辑地址空间的参数。这里需要说明的是,存储装置的存储空间主要用于存储数据,当然,存储装置的存储空间也可以包括配置空间,用于存储一些配置信息,例如,具有PCIE协议端口的SSD就具有用于存储配置参数的配置空间。第一控制器可以通过存储装置的第一端口将存储装置的存储空间映射到第一逻辑地址空间。在第一控制器中映射后的第一逻辑地址空间的大小可以与存储装置的存储空间的大小相同,并且第一逻辑地址空间存储的数据与存储装置的存储空间存储的数据一致,这样,第一控制器可以通过操作第一逻辑地址空间来控制存储装置。例如,当第一控制器需要从存储装置读数据时,可以直接从第一逻辑地址空间读数据,等同于从存储装置读数据。再例如,当第一控制器需要向存储装置写数据时,可以直接将数据写到第一逻辑地址空间,等同于向存储装置写数据。这里需要说明的是,逻辑地址空间是一个逻辑上的概念,将SSD的存储空间映射到控制器的逻辑地址空间实际上就是建立对应物理上的存储空间的逻辑空间。

在现有技术中,一个存储装置可以由多个控制器来控制。有时,一个控制器可能会无法控制其原本可以控制的存储装置,例如,所述控制器与其控制的存储装置之间的连接可能会发生故障,为保证这个控制器仍然能够继续控制存储装置,控制器可以通过控制这个存储装置的另一个控制器来控制这个存储装置。例如,当一个控制器获得服务器发出的请求且确定与存储装置之间的连接发生故障后,将请求发给控制这个存储装置的另一个控制器,另一个控制器再向这个存储装置发出请求,另一个控制器获得这个存储装置提供的数据或发出的响应后,再将数据或响应发给获得服务器请求的控制器。

在实施本发明实施例时,也可能会出现一个控制器与其控制的存储装置之间发生故障而无法控制存储装置的现象。为解决这个问题,第一控制器除直接将存储装置的存储空间映射到第一逻辑地址空间外,还可以建立从控制存储装置的使用PCIE协议的第二控制器映射过来的第二逻辑地址空间,所述第二逻辑地址空间为所述第二控制器将所述存储装置的存储空间映射到所述第二控制器的逻辑地址空间。也就是说,第二控制器也可以通过上述存储装置的另一个端口(为便于下文描述,这里称为第二端口)获得上述存储装置的参数,并通过第二端口将上述存储装置的存储空间映射到所述第二控制器的逻辑地址空间,之后,再将映射后的逻辑地址空间映射到所述第一控制器的第二逻辑地址空间。这样,所述第一控制器实质上具有两个对应上述存储装置的逻辑地址空间。当所述第一控制器与上述存储装置的连接没发生故障时,所述第一控制器可以通过操作第一逻辑地址空间来控制存储装置,实际等同于所述第一控制器通过与存储装置的直接连接控制存储装置,一旦所述第一控制器与上述存储装置的连接发生故障,那么所述第一控制器就通过操作第二逻辑地址空间来控制存储装置,实际等同于所述第一控制器通过第二控制器控制存储装置。

由上述可知,第一控制器既然可以通过第二控制器来控制存储装置,那么第二控制器也同样可以通过所述第一控制器来控制存储装置。为保证第二控制器在与存储装置之间的连接发生故障时,能够继续控制存储装置,所述第一控制器可以配合第二控制器将第一逻辑地址空间映射到第二控制器的逻辑地址空间。这样,即使第二控制器在与存储装置之间的连接发生故障,第二控制器也可以通过操作从所述第一控制器映射过来的逻辑地址空间来控制存储装置。

由于第二控制器和第一控制器可以控制同一个存储装置,所以对第二控制器的相关描述可以参照上述对第一控制器的描述,这里不再赘述。

需要说明的是,S101和S102中的存储装置可以是多个存储装置,也就是说,第一控制器可以同时控制多个存储装置,也可以将多个存储装置的存储空间映射到第一控制器的逻辑地址空间。另外,第二控制器可以与第一控制器一同控制多个存储装置。

对应于图1所示的方法,本发明实施例还提供一种使用PCIE协议的第一控制器,如图2所示,包括:参数获得单元21,用于获得所述第一控制器控制的具有PCIE协议端口的存储装置的参数;映射单元22,用于根据所述参数获得单元21获得的所述存储装置的参数,将所述存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间。

同图1所示的方法的对应描述一样,这里的第一控制器和存储装置可以分别是指中端存储架构中的控制器和存储装置,其中,第一控制器可以是包括PCIE交换机的控制器,此时,存储装置可以是具有PCIE协议端口的SSD。当然,这里的第一控制器和存储装置也可以是指其他存储架构中的控制器和存储装置,只要这个存储架构中的控制器能够控制存储装置,控制器能够将存储装置的存储空间映射到控制器,并且控制器和存储装置都使用PCIE协议即可。

第一控制器控制存储装置可以有很多实现方式。例如,第一控制器根据服务器的读数据请求,向存储装置请求提供数据。再例如,第一控制器根据服务器的写数据请求,请求存储装置存储数据。当然,第一控制器还可以通过其他方式来控制存储装置,这里不再一一举例说明。

存储装置可以具有多个PCIE协议端口,参数获得单元21可以通过其中的一个端口(为便于下文描述,这里称为第一端口)获得存储装置的参数,具体的,参数例如为存储装置的容量、序列号及位置(例如槽位)等用于将存储装置的存储空间映射到第一控制器的逻辑地址空间的参数。这里需要说明的是,存储装置的存储空间主要用于存储数据,当然,存储装置的存储空间也可以包括配置空间,用于存储一些配置信息,例如,具有PCIE协议端口的SSD就具有用于存储配置参数的配置空间。

映射单元22可以通过存储装置的第一端口将存储装置的存储空间映射到第一逻辑地址空间。在第一控制器中映射单元22映射后的第一逻辑地址空间的大小可以与存储装置的存储空间的大小相同,并且第一逻辑地址空间存储的数据与存储装置的存储空间存储的数据一致,这样,第一控制器可以通过操作映射后的逻辑地址空间来控制存储装置。例如,当第一控制器需要从存储装置读数据时,可以直接从第一逻辑地址空间读数据,等同于从存储装置读数据。再例如,当第一控制器需要向存储装置写数据时,可以直接将数据写到第一逻辑地址空间,等同于向存储装置写数据。

这里需要说明的是,逻辑地址空间是一个逻辑上的概念,将SSD的存储空间映射到控制器的逻辑地址空间实际上就是建立对应物理上的存储空间的逻辑空间。

映射单元22除直接将存储装置的存储空间映射到第一逻辑地址空间外,还可以建立从控制存储装置的使用PCIE协议的第二控制器映射过来的第二逻辑地址空间,所述第二逻辑地址空间为所述第二控制器将所述存储装置的存储空间映射到所述第二控制器的逻辑地址空间。也就是说,第二控制器也可以通过上述存储装置的另一个端口(为便于下文描述,这里称为第二端口)获得上述存储装置的参数,并通过第二端口将上述存储装置的存储空间映射到所述第二控制器的逻辑地址空间,之后,再将映射后的逻辑地址空间映射到所述第一控制器的第二逻辑地址空间。这样,所述第一控制器实质上具有两个对应上述存储装置的逻辑地址空间。当所述第一控制器与上述存储装置的连接没发生故障时,所述第一控制器可以通过操作第一逻辑地址空间来控制存储装置,实际等同于所述第一控制器通过与存储装置的直接连接控制存储装置,一旦所述第一控制器与上述存储装置的连接发生故障,那么所述第一控制器就通过操作第二逻辑地址空间来控制存储装置,实际等同于所述第一控制器通过第二控制器控制存储装置。

由上述可知,第一控制器既然可以通过第二控制器来控制存储装置,那么第二控制器也同样可以通过所述第一控制器来控制存储装置。为保证第二控制器在与存储装置之间的连接发生故障时,能够继续控制存储装置,映射单元22可以将第一逻辑地址空间映射到第二控制器的逻辑地址空间。这样,即使第二控制器在与存储装置之间的连接发生故障,第二控制器也可以通过操作从所述控制器映射过来的逻辑地址空间来控制存储装置。

由于第二控制器和所述第一控制器可以控制同一个存储装置,所以对第二控制器的相关描述可以参照上述对所述第一控制器的描述,这里不再赘述。

需要说明的是,第一控制器可以同时控制多个存储装置,也可以将多个存储装置的存储空间映射到第一控制器的逻辑地址空间。另外,第二控制器可以与第一控制器一同控制多个存储装置。

在实际应用中,控制器为了控制存储装置,必须要访问存储装置。对此,本发明实施例还提供了一种使用PCIE协议的控制器访问具有PCIE协议端口的存储装置的方法,实施这种方法的前提条件是,使用PCIE协议的第一控制器预先将其控制的存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间,如图3所示,包括:

S301:所述第一控制器获得访问所述存储装置的触发;

S302:所述第一控制器访问所述第一逻辑地址空间。

这里的第一控制器和存储装置可以分别是指中端存储架构中的控制器和存储装置,其中,第一控制器可以是包括PCIE交换机的控制器,存储装置可以是具有PCIE协议端口的SSD。当然,这里的第一控制器和存储装置也可以是指其他存储架构中的控制器和存储装置,只要这个存储架构中的控制器能够控制存储装置,控制器能够将存储装置的存储空间映射到控制器,并且控制器和存储装置都使用PCIE协议即可。

在第一控制器中映射后的第一逻辑地址空间的大小可以与存储装置的存储空间的大小相同,并且第一逻辑地址空间存储的数据与存储装置的存储空间存储的数据一致,这样,第一控制器可以通过访问第一逻辑地址空间来访问存储装置。例如,当第一控制器需要从存储装置读数据时,可以直接从第一逻辑地址空间读数据,等同于从存储装置读数据。再例如,当第一控制器需要向存储装置写数据时,可以直接将数据写到第一逻辑地址空间,等同于向存储装置写数据。

这里需要说明的是,逻辑地址空间是一个逻辑上的概念,将SSD的存储空间映射到控制器的逻辑地址空间实际上就是建立对应物理上的存储空间的逻辑空间。

所述第一控制器获得的访问所述存储装置的触发可以是多种形式的触发,例如,获得服务器发出的请求,请求可以是读数据请求,也可以是写数据请求,还可以是其他请求。当然,触发还可以是其他形式的能够使所述第一控制器访问第一逻辑地址空间的触发,这里不再一一举例说明。

所述第一控制器访问所述第一逻辑地址空间也可以有多种形式。例如,如果所述第一控制器获得服务器发出的读数据请求,则所述第一控制器从所述第一逻辑地址空间中获得所述服务器需要获得的数据;如果所述第一控制器获得服务器发出的写数据请求,则所述第一控制器将所述服务器需要存储的数据写入到所述第一逻辑地址空间。

所述第一控制器还可以预先建立从控制所述存储装置的使用PCIE协议的第二控制器映射过来的第二逻辑地址空间,所述第二逻辑地址空间为所述第二控制器将所述存储装置的存储空间映射到所述第二控制器的逻辑地址空间。也就是说,控制上述存储装置的第二控制器也可以通过上述存储装置的一个端口获得上述存储装置的参数,将上述存储装置的存储空间映射到所述第二控制器的逻辑地址空间,之后,再将映射后的逻辑地址空间映射到所述第一控制器的第二逻辑地址空间。这样,所述第一控制器实质上具有两个对应上述存储装置的逻辑地址空间。当所述第一控制器无法访问上述存储装置的存储空间时,例如由于所述第一控制器与上述存储装置的连接发生故障时,那么所述第一控制器就访问第二逻辑地址空间来实现访问存储装置,实际等同于所述第一控制器通过第二控制器访问存储装置。

由于第二控制器和第一控制器可以控制同一个存储装置,所以对第二控制器的相关描述可以参照上述对第一控制器的描述,这里不再赘述。

需要说明的是,S301中的存储装置可以是多个存储装置,也就是说,第一控制器可以同时控制多个存储装置,也可以将多个存储装置的存储空间映射到第一控制器的逻辑地址空间。另外,第二控制器可以与第一控制器一同控制多个存储装置。

对应于图3所示的方法,本发明实施例提供了一种使用PCIE协议的第一控制器。如图4所示,包括:映射单元41,用于将所述第一控制器控制的具有PCIE协议端口的存储装置的存储空间映射到所述第一控制器的第一逻辑地址空间;触发获得单元42,用于获得访问所述存储装置的触发;访问单元43,用于在所述触发获得单元42获得访问所述存储装置的触发后,访问所述第一逻辑地址空间。

这里的第一控制器和存储装置可以分别是指中端存储架构中的控制器和存储装置,其中,控制器可以是包括PCIE交换机的控制器,存储装置可以是具有PCIE协议端口的SSD。当然,这里的第一控制器和存储装置也可以是指其他存储架构中的控制器和存储装置,只要这个存储架构中的控制器能够控制存储装置,映射单元41能够将存储装置的存储空间映射到控制器、并且控制器和存储装置都使用PCIE协议即可。

在第一控制器中映射单元41映射后的第一逻辑地址空间的大小可以与存储装置的存储空间的大小相同,并且第一逻辑地址空间存储的数据与存储装置的存储空间存储的数据一致,这样,访问单元43可以通过访问第一逻辑地址空间来实现访问存储装置。例如,当访问单元43需要从存储装置读数据时,访问单元43可以直接从第一逻辑地址空间读数据,等同于从存储装置读数据。再例如,当访问单元43需要向存储装置写数据时,访问单元43可以直接将数据写到第一逻辑地址空间,等同于向存储装置写数据。

这里需要说明的是,逻辑地址空间是一个逻辑上的概念,将SSD的存储空间映射到控制器的逻辑地址空间实际上就是建立对应物理上的存储空间的逻辑空间。

触发获得单元42获得的访问所述存储装置的触发可以是多种形式的触发,例如,触发获得单元42获得服务器发出的请求,请求可以是读数据请求,也可以是写数据请求,还可以是其他请求。当然,触发还可以是其他形式的能够使所述第一控制器访问第一逻辑地址空间的触发,这里不再一一举例说明。

访问单元43访问所述第一逻辑地址空间也可以有多种形式。例如,如果触发获得单元42获得服务器发出的读数据请求,则访问单元43从第一逻辑地址空间中获得所述服务器需要获得的数据;如果触发获得单元42获得服务器发出的写数据请求,则访问单元43将所述服务器需要存储的数据写入到第一逻辑地址空间。

映射单元41还可以预先建立从控制所述存储装置的使用PCIE协议的第二控制器映射过来的第二逻辑地址空间,所述第二逻辑地址空间为所述第二控制器将所述存储装置的存储空间映射到所述第二控制器的逻辑地址空间。也就是说,控制上述存储装置的第二控制器也可以通过上述存储装置的一个端口获得上述存储装置的参数,将上述存储装置的存储空间映射到所述第二控制器的逻辑地址空间,之后,再将映射后的逻辑地址空间映射到所述第一控制器的第二逻辑地址空间。这样,所述第一控制器实质上具有两个对应上述存储装置的逻辑地址空间。当访问单元43无法访问上述存储装置的存储空间时,例如由于所述第一控制器与上述存储装置的连接发生故障时,那么访问单元43就访问第二逻辑地址空间来实现访问存储装置,实际等同于访问单元43通过第二控制器访问存储装置。

由于第二控制器和所述控制器可以控制同一个存储装置,所以对第二控制器的相关描述可以参照上述对所述控制器的描述,这里不再赘述。

需要说明的是,第一控制器可以同时控制多个存储装置,也可以将多个存储装置的存储空间映射到第一控制器的逻辑地址空间。另外,第二控制器可以与第一控制器一同控制多个存储装置。

由上面的描述不难看出,本发明实施例至少涉及到了两个控制器和一个存储装置,所以,本发明实施例还提供了一种存储架构。如图5所示,所述存储架构包括:至少一个具有PCIE协议端口的存储装置53,用于存储数据;使用PCIE协议的第一控制器51,用于控制所述存储装置53,其中,所述第一控制器51将所述存储装置53的存储空间映射到所述第一控制器51的第一逻辑地址空间;当所述第一控制器51获得访问所述存储装置53的触发后,访问所述第一逻辑地址空间。

所述存储架构还可以包括使用PCIE协议的第二控制器52,用于控制所述存储装置53,其中,第二控制器52将所述存储装置53的存储空间映射到所述第二控制器52的逻辑地址空间,并配合所述第一控制器51将映射后的逻辑地址空间再映射到所述第一控制器51的第二逻辑地址空间。当所述第一控制器51获得访问所述存储装置53的触发后,如果无法访问所述第一逻辑地址空间,则访问所述第二逻辑地址空间。

所述第一控制器51可以为包括PCIE交换机的控制器,所述第二控制器52也可以为包括PCIE交换机的控制器,所述存储装置53为具有PCIE协议端口的SSD,所述第一控制器51可以通过其包括的PCIE交换机控制所述存储装置,所述第二控制器52也可以通过其包括的PCIE交换机控制所述存储装置,所述第二控制器52可以通过其包括的PCIE交换机将映射后的逻辑地址空间再映射到所述第一控制器51的第二逻辑地址空间。

对第一控制器51、第二控制器52和存储装置53的相关描述可以参见上面4个实施例中关于控制器和存储装置的相关描述,这里不再赘述。为使本领域技术人员更加清楚的理解本发明实施例,下面再以图6所示的中端存储架构为例,再对本发明实施例进行说明。

如图6所示,中端存储架构包括使用PCIE协议的控制器0、使用PCIE协议的控制器1和m+1(m为大于0的整数)个具有PCIE协议端口的SSD。控制器0和控制器1分别包括PCIE交换机、PCIE接口卡、内存、CPU和芯片组。当然,控制器0和控制器1还可以包括其他部件,图6未绘示,这里也不再一一指出。

请参见图6,控制器0通过SSD0的一个端口(例如端口A)将SSD0的存储空间映射到控制器0的第一逻辑地址空间,通过SSD1的端口A将SSD1的存储空间映射到控制器0的第二逻辑地址空间,以此类推,通过SSDm的端口A将SSDm的存储空间映射到控制器0的第(m+1)逻辑地址空间。同样,控制器1通过SSD0的另一个端口(例如端口B)将SSD0的存储空间映射到控制器1的第一逻辑地址空间,通过SSD1的端口B将SSD1的存储空间映射到控制器1的第二逻辑地址空间,以此类推,通过SSDm的端口B将SSDm的存储空间映射到控制器1的第(m+1)逻辑地址空间。控制器0与控制器1将已经映射到自身逻辑地址空间的对应于m+1个SSD的存储空间都映射到对方的逻辑地址空间。

以控制器0和SSD0为例,当控制器0需要通过端口A访问SSD0时,控制器0只需访问已通过端口A将SSD0的存储空间映射到本地的逻辑地址空间,实际等同于通过端口A访问SSD0。当控制器0需要通过控制器1访问SSD0时,控制器0只需访问已通过控制器1将SSD0的存储空间映射到本地的逻辑地址空间,实际等同于通过控制器1访问SSD0。

另外,控制器0和控制器1之间的交互以及控制器与SSD之间的交互都是通过PCIE交换机完成的。

在图6所示的实施例中,通过PCIE交换机将SSD的存储空间映射到控制器的逻辑地址空间,对控制器的操作系统(OS,Operation System)来说,访问映射到控制器的逻辑地址空间实际等效于访问SSD的存储空间。所以,图6所示的实施例可以提高访问效率。

在传统的存储架构中,传统的控制器相对于图6所示的控制器还包括硬盘控制器等器件,而服务器发出的请求必须经过硬盘控制器等器件才能到达传统的硬盘,显然,对传统的硬盘的读写操作等性能都要受限于硬盘控制器等器件的性能,而且请求经过过多的器件才能到达传统的硬盘也会制约访问传统的硬盘的速度。而在图6所示的实施例中,控制器可以不包括传统的器件所包括的硬盘控制器等器件,SSD与控制器之间的交互以及控制器之间的交互可以通过PCIE交换机完成。所以,图6所示的实施例不但可以减少访问路径,还可以减少控制器包括的器件,节约了应用成本。

本领域技术人员都应该知道,传统的硬盘的访问单位是逻辑块,绝大部分逻辑块的大小是512字节。SSD的访问单位是页,一个页的大小是2k字节和4k字节。在现有技术中,当控制器需要访问SSD时,控制器会向SSD提供一个逻辑块的地址,SSD需要将逻辑块的地址转换为页的地址,实质上,就是将SSD仿真为传统的硬盘。然而,控制器的内存管理都是以页为单位的,这样,当控制器需要访问SSD时,控制器需要先将页的地址转换为逻辑块的地址,SSD再将逻辑块的地址转换为页的地址,显然,这样的访问方式过于繁琐。在图6所示的实施例中,由于控制器将具有PCIE协议端口的SSD的存储空间映射到控制器的逻辑地址空间,所以,当控制器需要访问SSD时,控制器的OS可以直接访问逻辑地址空间,不需要将页的地址转换为逻辑块的地址,并将逻辑块的地址提供给SSD,也不需要SSD将逻辑块的地址再转换为页的地址。所以,图6所示的实施例可以节省转换开销,从而提高了访问SSD的效率。

此外,本发明实施例还提供一种存储装置,所述存储装置具有多个PCIE协议端口,所述存储装置通过每个PCIE协议端口分别连接一个使用PCIE协议的控制器。

具体的,所述存储装置可以是SSD,所述SSD可以具有两个PCIE协议端口。

关于存储装置的描述请参见上述几个实施例中对存储装置的描述,这里不再赘述。

由于存储装置可以设置在存储架构中,所以,本发明实施例还提供一种存储架构,包括:至少一个具有多个PCIE协议端口的存储装置,用于存储数据;使用PCIE协议的第一控制器,用于通过所述存储装置的第一端口控制所述存储装置;使用PCIE协议的第二控制器,用于通过所述存储装置的第二端口控制所述存储装置。

具体的,所述存储装置可以为SSD,所述SSD可以具有两个PCIE协议端口。

关于控制器和存储装置的描述请参见上述几个实施例中对存储装置的描述,这里不再赘述。在现有技术中,使用PCIE协议的SSD只有一个端口,而在本发明实施例中,一个SSD可以有多个两个PCIE协议端口,这样,一个SSD可以同时由多个控制器控制。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号