CN107636629B - 存储器系统、用于创建和更新存储器系统的逻辑树的方法 - Google Patents

存储器系统、用于创建和更新存储器系统的逻辑树的方法 Download PDF

Info

Publication number
CN107636629B
CN107636629B CN201580078970.6A CN201580078970A CN107636629B CN 107636629 B CN107636629 B CN 107636629B CN 201580078970 A CN201580078970 A CN 201580078970A CN 107636629 B CN107636629 B CN 107636629B
Authority
CN
China
Prior art keywords
memory module
router memory
router
root
loop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580078970.6A
Other languages
English (en)
Other versions
CN107636629A (zh
Inventor
L·M·瓦克罗冈萨雷兹
S·赛洛尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN107636629A publication Critical patent/CN107636629A/zh
Application granted granted Critical
Publication of CN107636629B publication Critical patent/CN107636629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

本公开公开了一种方法,包括:·确定包括多个路由器存储器模块的存储器系统的根路由器存储器模块,每个路由器存储器模块包括至少一个端口,用于将路由器存储器模块连接到至少另一个路由器存储器模块,·对于远离所述根路由器存储器模块的每个路由器存储器模块,识别从路由器存储器模块到所述根路由器存储器模块的无环路径,·使用所确定的无环路径创建逻辑树。

Description

存储器系统、用于创建和更新存储器系统的逻辑树的方法
技术领域
本公开总体涉及存储器系统。
背景技术
存储器系统是包括多个存储器模块的系统。每个存储器模块包括非易失性存储器单元和连接到至少一个端口的控制器。控制器可以响应于来自处理器的请求而存取存储在非易失性存储器单元中的信息,以经由至少一个端口将所存取的信息输送到处理器。此外,控制器经由至少一个端口与其他存储器模块的控制器通信。控制器可以被这样连接以形成对等网络。
发明内容
根据本公开的一个方面,本公开涉及一种用于创建存储器系统的逻辑树的方法,包括:确定包括多个路由器存储器模块的所述存储器系统的根路由器存储器模块,每个路由器存储器模块包括至少一个端口,用于将所述路由器存储器模块连接到至少另一个路由器存储器模块;对于远离所述根路由器存储器模块的每个路由器存储器模块,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径;使用所确定的无环路径创建所述逻辑树,其中,对于远离所述根路由器存储器模块的每个路由器存储器模块,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径,所述识别包括:向所述根路由器存储器模块发送消息以取得所述根路由器存储器模块中的数据,测量取得所述数据所用的时间,以及确定取得所述数据的最快路径作为所述无环路径。
根据本公开的另一方面,本公开涉及一种用于更新存储器系统的逻辑树的方法,包括:将路由器存储器模块添加到包括多个路由器存储器模块的所述存储器系统,每个路由器存储器模块包括至少一个端口,用于将所述路由器存储器模块连接到至少另一个路由器存储器模块,所述存储器系统还包括所述逻辑树,所述逻辑树包括从所述存储器系统的每个路由器存储器模块到根路由器存储器模块的无环路径;确定受添加影响的至少一个无环路径,以及对应的路由器存储器模块;考虑所述添加,识别从所述对应的路由器存储器模块到所述根路由器存储器模块的新的无环路径;识别从添加的路由器存储器模块到所述根路由器存储器模块的无环路径;使用所识别的无环路径更新所述逻辑树,其中,识别从添加的路由器存储器模块到所述根路由器存储器模块的无环路径包括:向所述根路由器存储器模块发送消息以取得所述根路由器存储器模块中的数据,测量取得所述数据所用的时间,以及确定取得所述数据的最快路径为所述无环路径。
根据本公开的又一方面,本公开涉及一种包括多个路由器存储器模块的存储器系统,每个路由器存储器模块包括:至少一个端口,用于将所述路由器存储器模块连接到至少另一个路由器存储器模块;控制器,用于确定所述存储器系统的根路由器存储器模块,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径,并使用所确定的无环路径创建逻辑树,其中,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径包括:向所述根路由器存储器模块发送消息以取得所述根路由器存储器模块中的数据,测量取得所述数据所用的时间,以及确定取得所述数据的最快路径作为所述无环路径,并且其中,当所述路由器存储器模块和所述根路由器存储器模块之间的每条路径上的两个路由器存储器模块之间的每个连接的传输速度相同时,所确定的无环路径是被确定为具有最少数量的连接的路径。
附图说明
图1表示根据本公开的特定示例的存储器系统。
图2表示根据本公开的另一特定示例的存储器系统。
图3是示出根据本公开的特定示例的用于创建存储器系统的逻辑树的方法的序列图。
图4是示出根据本公开的另一特定示例的用于创建存储器系统的逻辑树的方法的序列图。
图5是示出图4的方法的根路由器存储器模块的确定步骤的示例的序列图。
图6是示出图4的方法的无环路径的识别步骤的示例的序列图。
图7是示出图4的方法的无环路径的识别步骤的另一示例的序列图。
图8表示图2的存储器系统中的根路由器存储器模块和路径的示例。
图9是示出根据本公开的特定示例用于更新逻辑树的方法的序列图。
具体实施方式
一些计算系统使用被称为“存储器结构”的存储器系统,其将存储器视为可路由的资源(以IP网络处理IP地址类似的方式来处理存储器地址)。这种存储器结构可以包括许多不同的存储器元件,这些存储器元件在逻辑上互连并且可以提供数据的非易失性存储。互连的存储器元件可以在逻辑上“堆叠”并且暴露(例如,到处理器/计算模块),好像它们是通过与计算机网络中的网关类似操作的入口点的具有一致存储器空间的单个存储器资源。
当处理器请求(读取或写入)存取存储器结构中的存储器地址时,存储器寻址请求可以在到达适当的目的地址之前被经由存储器结构的各种模块引导。
某些存储器结构可以实现基于以下假设的协议:仅存在单个路径用于将请求从结构中的一个特定点传输到另一特定点。
存储器结构中出现的挑战在于:使用假设仅存在用于将请求从存储器结构中的一个点传输到另一点的单个路径的协议。在小型、静态和/或精心设计的结构的情况下,这可能是可行的假设。然而,存在没有一个独占路径的环境,例如当所考虑的存储器结构的大小增加时。
在存储器结构中可能会出现这种情况,特别是涉及大量部件的存储器结构中,存在多个路径用于将请求从存储器结构中的一个点传输到另一点。这种情况可能导致发生循环,其中基于到目的地存储器地址的多个可能路径中的第一个,将存储器寻址请求从存储器结构中的第一点(直接或间接)转发到第二点,然后基于到目的地存储器地址的可能路径中的第二个,将请求从第二位置返回到第一位置。
在这种循环中捕捉到的请求被不断重定向。因此,如果在循环中捕捉到存取存储器地址的请求,则将不会到达该地址。循环引起存储器系统的不可预测的行为以及寻址和取出存储器数据时的延迟。
此外,在存储器结构中存在的另一挑战在于:使用假设仅存在用于将请求从存储器结构中的一个点传输到另一点的单个路径,因为在存储器模块或存储器部件被移除或者在结构中存在故障或性能问题的情况下,根据单个指定路径引导请求会是不可能的(或不合需要的)。
图1示意性地示出了根据本公开的特定示例的存储器系统100。
根据本示例的存储器系统100可以是存储器结构。存储器系统100包括多个存储器模块110,每个存储器模块110包括非易失性存储器单元和控制器。每个控制器响应于来自处理器的请求而存取存储在非易失性存储器单元中的信息,将所存取的信息传送到处理器,并与其他存储器模块的控制器进行通信。控制器被这样连接以形成对等网络。
在存储器系统100中,存储器模块110分布在存储器部件120之间。
存储器部件120中的模块110可以具有“路由器”、“交换机”或“简单存储器模块”的作用,并且因此可以分别包括路由器控制器、交换机控制器或简单存储器控制器。
更具体地,在该示例中,存储器系统100的每个存储器部件120包括至少一个存储器模块,该至少一个存储器模块具有路由器控制器(并且因此可以被称为“路由器”130或“路由器存储器模块”130)。路由器控制器是可以将消息或请求路由到存储器系统的另一路由器控制器或与路由器控制器位于同一存储器部件中的其他控制器的控制器。路由器控制器还负责所有路由相关任务。
每个存储器部件120还可以包括具有交换机控制器的存储器模块(并且因此可以被称为“交换机”140或“交换机存储器模块”140)。交换机控制器是连接到路由器控制器的控制器,并且如果有的话,该控制器还连接到位于同一存储器部件中的至少一个简单存储器控制器。当交换机控制器从相同存储器部件的路由器控制器接收到消息或请求时,它将该消息或请求转发到该消息或请求被寻址到的简单存储器控制器。
每个存储器部件120还可以包括具有简单存储器控制器的存储器模块(并且因此可以被称为“简单存储器”150或“简单存储器模块”150)。简单存储器控制器是可以将接收到的消息或请求转发到作为其后继者的同一存储器部件120的另一简单存储器控制器的控制器。
存储器系统100的管理、使用和存取特性可以动态地变化,从而如果存储器部件120(或路由器存储器模块130)被添加到存储器系统100或从存储器系统100移除,则存储器系统100可以自动地反应。
如图1所示,存储器系统100包括多个路由器存储器模块130(或路由器130)。每个路由器存储器模块130包括至少一个端口160,以将路由器存储器模块130连接到存储器结构的至少另一个路由器存储器模块130。此外,每个路由器存储器模块130包括控制器(参见图2)。路由器存储器模块130的每个控制器可以确定存储器系统100的根路由器模块,识别从路由器存储器模块130到根路由器的无环路径,并且使用所确定的无环路径来创建逻辑树。
因此,可以防止存储器系统100中的环路,因为该方法能够找出路由器存储器模块130在存储器系统100中被如何组织,并且创建随后被用于路由消息和请求的逻辑树。
图2示意性地示出了根据本公开的另一特定示例的存储器系统200。
存储器系统200包括四个路由器存储器模块211、212、213、214。在变型中,存储器系统200包括不同数目的路由器存储器模块。每个路由器存储器模块211-214包括至少一个端口220-227以将路由器存储器模块211-214连接到至少另一个路由器存储器模块211-214。此外,每个路由器存储器模块211-214包括控制器231-234。每个路由器211-214还包括非易失性存储器单元241-244。
在示例中,存储器系统200可以包括其他存储器模块,其具有作为交换机控制器或简单存储器控制器(图中未示出)的控制器。因此,每个路由器存储器模块211-214可以位于能够包括其他存储器模块的存储器部件中。
在两个路由器211-214的两个端口220-227之间的连接251-254可以是有线连接(例如光学连接)或无线连接。
图2中示出了在端口220-227之间的环路261、262、263的示例。第一环路261位于路由器211的端口221和路由器212的端口222之间。例如由存储器系统200内的不一致的路由信息引起该环路261(例如,每个控制器231和232会具有应该如何路由请求的不同观点)。例如,以去往路由器214的请求为例,路由器211的控制器231可以认为该请求应当经由路由器212发送,而路由器212的控制器232可以认为该请求应当经由路由器211发送。
环路262位于路由器211的端口221、路由器212的端口222和223、路由器213的端口226和225以及路由器211的端口220之间。环路263位于路由器214的端口227、路由器212的端口224和223以及路由器213的端口226之间。
根据本公开的存储器系统执行存储器系统的逻辑树的创建。在根据图1和图2的示例的存储器系统100、200中,可以在存储器系统100、200的所有存储器模块中提供有助于实现用于创建逻辑树的方法的硬件、固件和/或软件元件231-234。有助于实现用于创建逻辑树的方法的硬件、固件和/或软件元件可以在与存储器部件的网络相关联的一个或多个附加部件中提供。
上述硬件、固件或软件可以包括处理器和机器可读存储介质中的一个或两个,所述机器可读存储介质存储可由处理器执行的编程指令或代码,以执行用于创建逻辑树的方法的操作。上述硬件、固件或软件可以包括被构造为执行用于创建逻辑树的方法的操作的专用集成电路(ASIC)。
现在将参考图3描述根据本公开的示例用于创建存储器系统的逻辑树的方法。
存储器系统例如对应于图1或图2所示的存储器系统。因此,存储器系统100、200包括多个路由器存储器模块110、211-214,每个路由器存储器模块110、211-214包括至少一个端口221-227以将路由器存储器模块110、211-214连接到至少另一个路由器存储器模块110、211-214。
确定存储器系统100、200的根路由器存储器模块(S300)。
然后,对于远离根路由器存储器模块的每个路由器存储器模块110、211-214,识别从路由器存储器模块110、211-214到根路由器存储器模块的无环路径(S310)。
然后创建使用所确定的无环路径的逻辑树(S320)。
因此,可以防止存储器系统100、200中的环路,因为该方法能够找出路由器存储器模块110、211-214在存储器系统100、200中被如何组织,并且创建随后用于路由消息和请求的逻辑树。
图4示出了根据本公开的另一示例用于创建存储器系统的逻辑树的方法。
存储器系统例如对应于图2中所示的存储器系统。
确定存储器系统的根路由器存储器模块RMM(S400)。可以使用不同的方案来决定哪个路由器存储器模块应该是RMM。
在示例中,每个路由器存储器模块向存储器系统的每个其他路由器存储器模块发送(S500)消息,该消息包括路由器存储器模块的标识号和优先级值(参见图5)。
标识号在存储器系统中唯一标识该路由器存储器模块。此外,优先级值可以是可配置值。
如果至少一个路由器存储器模块的优先级值被调整,则可以使用所有路由器存储器模块的优先级值来确定根路由器存储器模块RMM(S510)。例如,可以通过所有路由器存储器模块将具有最低优先级值的路由器存储器模块确定为根路由器存储器模块。在变型中,可以通过所有路由器存储器模块将具有最高优先级值的路由器存储器模块确定为根路由器存储器模块。
如果没有路由器存储器模块的优先级值被调整,则可以使用所有路由器存储器模块的标识号来确定根路由器存储器模块RMM(S520)。例如,可以通过所有路由器存储器模块将具有最低标识号的路由器存储器模块确定为根路由器存储器模块。在变型中,可以通过所有的路由器存储器模块将具有最高标识号的路由器存储器模块确定为根路由器存储器模块。
根路由器存储器模块RMM是作为存储器系统的整个逻辑树的管理器模块的路由器存储器模块。
所发送的消息可以是发现广播消息(DBM),其也被发送出以确定在两个存储器部件之间的连接是否仍然有效或者存储器部件是否仍然在存储器系统中。可以周期性地(例如每两秒钟)发送这些发现广播消息。每个发现广播消息可以包括关于发送这一每个发现广播消息的存储器模块的信息,以及唯一地识别存储器系统中的该存储器模块的部件标识符(CID)。部件标识符可以包括可配置的优先级值和标识号。
在变型中,每个路由器存储器模块向带外管理子网发送消息。带外管理子网可以是指定的存储器模块(例如,具有默认地址或连接存储器系统的第一个)或是外部集中式服务器。然后,带外管理子网可以根据优先级值或标识号确定根路由器存储器模块,并通知所有的路由器存储器模块。带外管理子网还可以简单地用作将信息转发到路由器存储器模块的代理。
在图2的例子中,路由器存储器模块211的优先级值PV1例如为“1”,并且路由器存储器模块211的标识号ID1例如为“1”(参见图8)。此外,路由器存储器模块212的优先级值PV2例如为“4”,路由器存储器模块212的标识号ID2例如为“2”,路由器存储器模块213的优先级值PV3例如为“3”,路由器存储器模块213的标识号ID3例如为“3”,路由器存储器模块214的优先级值PV4例如为“2”,并且路由器存储器模块214的标识号ID4例如为“4”。在该示例中,根路由器存储器模块RMM是具有最低优先级值的路由器存储器模块211。
然后,远离根路由器存储器模块的每个路由器存储器模块识别从路由器存储器模块到根路由器存储器模块的无环路径(S410)。可以使用不同的方案来确定无环路径。
在示例中(见图6),为了识别无环路径,每个路由器存储器模块都会向根路由器存储器模块发送消息,以取得根路由器中的数据(S600),并测量取得数据所用的时间(S610)。如果路由器存储器模块具有多个端口,则从每个端口发送消息。由路由器存储器模块选择的无环路径是取得数据的最快路径。
因此,如果对于在两个端口之间的每个连接251-254的传输速度相同,则所选择的无环路径将是具有最少数量的连接251-254的路径。
例如,在图2的存储器系统200中,路由器存储器模块213具有两个端口225和226,并且在路由器存储器模块213和根路由器存储器模块RMM之间存在两个无环路径800和801(参见图8)。无环路径800包括一个连接252,并且无环路径801包括两个连接253和251。具有最少数量的连接的路径是路径800,该路径800被选择为在路由器存储器模块213和根路由器存储器模块RMM之间的无环路径LFP3。
图8示出了三个所选择的无环路径LFP2、LFP3和LFP4,所有这些路径是在对应的路由器存储器模块212、213、214和根路由器存储器模块RMM之间具有最少数量的连接的路径。路径LFP2是使用路由器存储器模块212的端口222、路由器存储器模块211的端口221以及在这两个端口222和221之间的连接251的直接路径。路径LFP3是使用路由器存储器模块213的端口225、路由器存储器模块211的端口220以及在这两个端口225和220之间的连接252的直接路径。路径LFP4是使用路由器存储器模块211的端口221、路由器存储器模块212的端口222和224、路由器存储器模块214的端口227、在端口227和224之间的连接254以及在端口222和221之间的连接251的间接路径。
所发送的消息可以是单播存储器寻址消息。
在示例中(见图7),为了识别无环路径,已知在路由器存储器模块和根路由器存储器模块之间的每条路径上的两个路由器存储器模块之间的每个连接的额定传输速度,每个路由器存储器模块计算(S700)最快的路径。
额定传输速度取决于连接技术(光连接、无线连接)。
在示例中,为了识别无环路径,每个路由器存储器模块计算最短路径。
创建使用所确定的无环路径的逻辑树(S420)。逻辑树是一种地图,其显示了对于每个路由器存储器模块,从路由器存储器模块到根路由器存储器模块的所选择的无环路径。逻辑树可以是分支结构,它是从每个路由器到根路由器的所有无环路径的总和。在正常情况下,存储器系统使用该地图发送消息或请求,即当没有路由器存储器模块被添加或删除时,以及当没有路由器存储器模块出现故障时。
逻辑树被存储在存储器系统中的至少一个非易失性存储单元中。该非易失性存储单元可以被认为是参考存储单元,并且可以被所有路由器存储器模块容易地存取。存储器结构内的参考存储单元的存储单元可以是预定的,并且因此,存储器结构中的各个模块知道在哪里找到所存储的无环配置信息。例如,非易失性存储单元是预先定义的存储器模块地址,例如在被分配给存储器系统的地址范围内的第一地址。在变型中,非易失性存储单元是在初始存储器系统中具有最低CID的存储器模块的第一地址。
因此,可以防止存储器系统中的环路,因为该方法能够找出路由器存储器模块在存储器系统中被如何组织,并且创建随后用于路由消息和请求的逻辑树。在路由器存储器模块和根路由器存储器模块之间的所选择的无环路径将用于在该路由器存储器模块和根路由器存储器模块之间发送消息或请求。这个路径是无环的,因此减少了在环路中捕捉到消息或请求的机会。
然后,每个路由器存储器模块将在其上得到无环路径的路由器存储器模块的端口确定为路由器存储器模块的根端口RP(S430)。在图8的示例中,路由器存储器模块214的端口227是路由器存储器模块214的根端口RP,路由器存储器模块213的端口225是路由器存储器模块213的根端口RP,并且路由器存储器模块212的端口222是路由器存储器模块212的根端口RP。
此外,对于路由器存储器模块的每个所选择的无环路径,如果路径正在经过另一路由器存储器模块的至少一个端口,则该端口被确定为指定端口DP(S440)。因此,处于无环路径上并且不是根端口或根路由器存储器模块的端口的每个端口被确定为指定端口DP。
在图8的示例中,路由器存储器模块212的端口224是指定端口DP。
然后,如果端口不在至少一个所选择的无环路径上,则该端口BP被置于阻塞状态(S450)。因此,不是根路由器存储器模块的端口、根端口或指定端口的端口被置于阻塞状态。因此,这样的端口BP从不用于传输或转发消息或请求(尽管可以经由该端口接收请求)。阻塞不在所选择的无环路径上的端口允许避免在寻址消息或请求时由错误创建意外环路的情况。
在图8的示例中,路由器存储器模块212的端口223和路由器存储器模块213的端口226被置于阻塞状态。
可以通过添加根端口RP、指定端口DP和阻塞端口BP来完成逻辑树。
然后可以基于各种故障场景重新运行步骤S400至S450,例如,考虑到存储器系统的路由器存储器模块的端口或路由器存储器模块处于非活动状态或停止状态,即不能正常操作(S460)。在示例中,对所有可能的故障场景(故障路由器存储器模块或故障端口的组合),可以重新运行这些步骤。当考虑其中与根路由器存储器模块不同的路由器存储器模块处于非活动状态或停止状态的故障情况时,不需要重新运行步骤S400。
重新运行该过程的次数取决于存储器系统内拓扑的本质和可能的无环替代路径。在例子中,对于更可能故障的路由器存储器模块以及这些路由器存储器模块的组合,重新运行这些步骤。
因此存储多个逻辑树,包括在正常情况下示出所选择的无环路径的逻辑树,以及在其中一个或多个外部存储器模块/端口非活动或停止的情况下示出所选择的无环路径的其他逻辑树。
因此,如果存储器系统的路由器存储器模块/端口非活动或停止,则可以根据替代的无环路径立即重定向消息和请求,因为考虑到该路由器存储器模块/端口非活动或停止而制造的逻辑树被存储在存储器系统中。
因此,可以在存储器系统的初始化阶段中执行该方法,并且在使用存储器系统期间不需要再次执行该方法。此外,当逻辑树被存储在非易失性存储单元时,如果存储器系统被关闭或停止,则这些逻辑树不会丢失。此外,由于非易失性存储单元的巨大容量,能够存储尽可能多的逻辑树。
在图8的示例中,可以认为路由器存储器模块212的端口222停止而重新运行步骤S400-S450。然后创建其中不存在路径LFP2和LFP4的替代逻辑树。此外,在逻辑树中由使用路由器存储器模块214的端口227、路由器存储器模块212的端口224和223、路由器存储器模块213的端口226和225、路由器存储器模块211的端口220、在端口227和224之间的连接254、在端口223和226之间的连接253以及在端口225和220之间的连接252的路径来替代路径LFP4。
在示例中,仅当在非易失性存储单元中不存在存储器系统的现有逻辑树时才执行步骤S400-S460。如果存在这样的逻辑树,则存储器模块使用该逻辑树,并且不创建其他逻辑树。
当将新的路由器存储器模块添加到存储器系统时,将再次执行用于创建逻辑树的方法。为了防止完全重新计算,可以使用增量方案,假设根仍是相同的根。在许多情况下,不需要重新计算整个逻辑树,因为大部分树保持不变。因此,只有树的受影响部分被重新计算。仅重新计算一部分树而不是整个树导致更快的收敛并节省资源。因此,对于通过该添加涉及的路由器存储器模块再次执行步骤S410、S430、S440和S450,并且使用这些步骤的结果修改现有的树。
更准确地说,当添加新的路由器存储器模块(S900,参见图9)时,确定受添加影响的无环路径(S910)以及对应的路由器存储器模块。然后,对于所确定的每个路由器存储器模块,考虑到添加,识别从该路由器存储器模块到根路由器存储器模块的新的无环路径(S920)。此外,识别从被添加的路由器存储器模块到根路由器存储器模块的无环路径(S930)。也可以确定与所识别的无环路径相关的根端口、指定端口和阻塞端口。利用所确定的无环路径,更新已经在存储器系统的非易失性存储单元中的逻辑树(S940)。
然后可以基于各种故障场景重新运行这些步骤(例如,考虑到存储器系统的路由器存储器模块的端口或路由器存储器模块停止,即不正确地操作)。

Claims (14)

1.一种用于创建存储器系统的逻辑树的方法,包括:
·确定包括多个路由器存储器模块的所述存储器系统的根路由器存储器模块,每个路由器存储器模块包括至少一个端口,用于将路由器存储器模块连接到至少另一个路由器存储器模块,
·对于远离所述根路由器存储器模块的每个路由器存储器模块,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径,
·使用所确定的无环路径创建所述逻辑树,
其中,对于远离所述根路由器存储器模块的每个路由器存储器模块,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径,所述识别包括:
·向所述根路由器存储器模块发送消息以取得所述根路由器存储器模块中的数据,
·测量取得所述数据所用的时间,以及
·确定取得所述数据的最快路径作为所述无环路径。
2.根据权利要求1所述的方法,包括:
·响应于确定端口不在所识别的至少一个无环路径上,将所述端口置于阻塞状态。
3.根据权利要求1所述的方法,包括:对于远离所述根路由器存储器模块的每个路由器存储器模块:
·将所述无环路径到达的路由器存储器模块的端口确定为路由器存储器模块的根端口。
4.根据权利要求1所述的方法,包括:对于所识别的路由器存储器模块的每个无环路径:
·如果路径经过另一路由器存储器模块的至少一个端口,则将所述至少一个端口确定为指定端口。
5.根据权利要求1所述的方法,其中,根路由器存储器模块确定步骤包括:
·对于每个路由器存储器模块,向每个其他路由器存储器模块发送消息,所述消息包括路由器存储器模块的标识号和优先级值,
·响应于确定至少一个路由器存储器模块的相应优先级值被调整,使用路由器存储器模块的优先级值确定路由器存储器模块,
·响应于确定没有路由器存储器模块的相应优先级值被调整,使用路由器存储器模块的标识号确定路由器存储器模块。
6.根据权利要求5所述的方法,其中,所述消息是周期性发送的发现广播消息。
7.根据权利要求1所述的方法,其中,根路由器存储器模块确定步骤包括:
·对于每个路由器存储器模块,向外管理子网发送消息,所述消息包括路由器存储器模块的标识号和优先级值,
·响应于确定至少一个路由器存储器模块的相应优先级值被调整,所述外管理子网使用路由器存储器模块的优先级值确定路由器存储器模块,
·响应于确定没有路由器存储器模块的相应优先级值被调整,所述外管理子网使用路由器存储器模块的标识号确定路由器存储器模块。
8.根据权利要求1所述的方法,其中,从每个路由器存储器模块到所述根路由器存储器模块的无环路径的识别步骤包括:对于每个路由器存储器模块:
·已知在路由器存储器模块和所述根路由器存储器模块之间的每条路径上的两个路由器存储器模块之间的每个连接的额定速度,计算最快路径。
9.根据权利要求1所述的方法,其中,从每个路由器存储器模块到所述根路由器存储器模块的无环路径的识别步骤包括:对于每个路由器存储器模块:
·计算从路由器存储器模块到所述根路由器存储器模块的最短路径。
10.根据权利要求1所述的方法,包括:
·将逻辑树存储在所述存储器系统中的至少一个非易失性存储单元中。
11.根据权利要求1所述的方法,其中,所述存储器系统的路由器存储器模块被认为是非活动的。
12.一种用于更新存储器系统的逻辑树的方法,包括:
·将路由器存储器模块添加到包括多个路由器存储器模块的所述存储器系统,每个路由器存储器模块包括至少一个端口,用于将所述路由器存储器模块连接到至少另一个路由器存储器模块,所述存储器系统还包括所述逻辑树,所述逻辑树包括从所述存储器系统的每个路由器存储器模块到根路由器存储器模块的无环路径,
·确定受所述添加影响的至少一个无环路径,以及对应的路由器存储器模块,
·考虑所述添加,识别从所述对应的路由器存储器模块到所述根路由器存储器模块的新的无环路径,
·识别从添加的路由器存储器模块到所述根路由器存储器模块的无环路径,
·使用所识别的无环路径更新所述逻辑树,
其中,识别从添加的路由器存储器模块到所述根路由器存储器模块的无环路径包括:
·向所述根路由器存储器模块发送消息以取得所述根路由器存储器模块中的数据,
·测量取得所述数据所用的时间,以及
·确定取得所述数据的最快路径为所述无环路径。
13.一种包括多个路由器存储器模块的存储器系统,每个路由器存储器模块包括:
·至少一个端口,用于将所述路由器存储器模块连接到至少另一个路由器存储器模块,
·控制器,用于确定所述存储器系统的根路由器存储器模块,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径,并使用所确定的无环路径创建逻辑树,
其中,识别从所述路由器存储器模块到所述根路由器存储器模块的无环路径包括:
·向所述根路由器存储器模块发送消息以取得所述根路由器存储器模块中的数据,
·测量取得所述数据所用的时间,以及
·确定取得所述数据的最快路径作为所述无环路径,并且
其中,当所述路由器存储器模块和所述根路由器存储器模块之间的每条路径上的两个路由器存储器模块之间的每个连接的传输速度相同时,所确定的无环路径是被确定为具有最少数量的连接的路径。
14.根据权利要求13所述的存储器系统,其中,每个路由器存储器模块包括存储器单元。
CN201580078970.6A 2015-07-31 2015-07-31 存储器系统、用于创建和更新存储器系统的逻辑树的方法 Active CN107636629B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/067683 WO2017020934A1 (en) 2015-07-31 2015-07-31 Methods to create logical trees of memory systems

Publications (2)

Publication Number Publication Date
CN107636629A CN107636629A (zh) 2018-01-26
CN107636629B true CN107636629B (zh) 2020-07-10

Family

ID=53776607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580078970.6A Active CN107636629B (zh) 2015-07-31 2015-07-31 存储器系统、用于创建和更新存储器系统的逻辑树的方法

Country Status (4)

Country Link
US (1) US20180143769A1 (zh)
EP (1) EP3298501B1 (zh)
CN (1) CN107636629B (zh)
WO (1) WO2017020934A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611502B1 (en) * 1999-01-15 2003-08-26 3Com Corportion Spanning tree with rapid propagation of topology changes
CN101040487A (zh) * 2004-12-29 2007-09-19 思科技术公司 Igp中的bgp下一跳路由的自动路由标记
CN101663859A (zh) * 2006-12-14 2010-03-03 北方电讯网络有限公司 用于交换路由信息并跨越多个网络区域建立连接的方法和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243769A1 (en) * 2003-05-30 2004-12-02 Frame David W. Tree based memory structure
US8902793B2 (en) * 2007-02-15 2014-12-02 Broadcom Corporation Method and system for a low-complexity spanning tree algorithm in communication networks
US8103435B2 (en) * 2007-07-27 2012-01-24 George Mason Intellectual Properties, Inc. Near real-time traffic routing
JP5862445B2 (ja) * 2012-05-14 2016-02-16 富士通株式会社 通信装置
US9703702B2 (en) * 2013-12-23 2017-07-11 Sandisk Technologies Llc Addressing auto address assignment and auto-routing in NAND memory network
US9442742B2 (en) * 2014-09-18 2016-09-13 Arista Networks, Inc. Method and system for network device maintenance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611502B1 (en) * 1999-01-15 2003-08-26 3Com Corportion Spanning tree with rapid propagation of topology changes
CN101040487A (zh) * 2004-12-29 2007-09-19 思科技术公司 Igp中的bgp下一跳路由的自动路由标记
CN101663859A (zh) * 2006-12-14 2010-03-03 北方电讯网络有限公司 用于交换路由信息并跨越多个网络区域建立连接的方法和设备

Also Published As

Publication number Publication date
EP3298501A1 (en) 2018-03-28
US20180143769A1 (en) 2018-05-24
WO2017020934A1 (en) 2017-02-09
EP3298501B1 (en) 2019-11-13
CN107636629A (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
US10868757B2 (en) Efficient routing in software defined networks
US9942623B2 (en) Data center network architecture
US8971342B2 (en) Switch and flow table controlling method
CN110417569B (zh) 一种网络链路故障处理方法和隧道端点设备
US8755382B2 (en) Intelligent adjunct network device
EP2774329B1 (en) Data center network architecture
CN108023812B (zh) 云计算系统的内容分发方法及装置、计算节点及系统
US20080225877A1 (en) Switching apparatus and frame exchanging method
US20120117246A1 (en) Method And System For The Efficient And Automated Management of Virtual Networks
US9942108B2 (en) Network service aware routers, and applications thereof
US10326681B2 (en) System and method to analyze route information in a network
EP3355533B1 (en) Path switching
US10567195B2 (en) Network nodes in a ring network
CN113162779B (zh) 一种多云互联的方法及设备
EP3399424A1 (en) Using unified api to program both servers and fabric for forwarding for fine-grained network optimizations
JP6197692B2 (ja) サーバ
EP3125478B1 (en) Method, device, and system for determining intermediate routing node
CN107636629B (zh) 存储器系统、用于创建和更新存储器系统的逻辑树的方法
US20150200813A1 (en) Server connection apparatus and server connection method
CN108390780B (zh) 用于处理信息的方法和装置
CN113098788A (zh) 一种路由发布的方法及装置
CN113794593A (zh) 一种集群故障处理方法及装置
CN115004655A (zh) 用于边界网关协议(bgp)控制的网络可靠性的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant