CN102708073B - 存储装置以及数据处理方法 - Google Patents

存储装置以及数据处理方法 Download PDF

Info

Publication number
CN102708073B
CN102708073B CN201110274966.0A CN201110274966A CN102708073B CN 102708073 B CN102708073 B CN 102708073B CN 201110274966 A CN201110274966 A CN 201110274966A CN 102708073 B CN102708073 B CN 102708073B
Authority
CN
China
Prior art keywords
memory node
described
node
bag
address
Prior art date
Application number
CN201110274966.0A
Other languages
English (en)
Other versions
CN102708073A (zh
Inventor
辰村光介
木下敦宽
西野弘刚
铃木正道
西义史
丸亀孝生
栗田贵宏
Original Assignee
株式会社东芝
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
Priority to JP2010-252336 priority Critical
Priority to JP2010252336A priority patent/JP5238791B2/ja
Application filed by 株式会社东芝 filed Critical 株式会社东芝
Publication of CN102708073A publication Critical patent/CN102708073A/zh
Application granted granted Critical
Publication of CN102708073B publication Critical patent/CN102708073B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding through a switch fabric
    • H04L49/253Connections establishment or release between ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to 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; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

本发明提供一种存储装置、存储系统以及数据处理方法。根据一个实施方式,存储装置包括具备多个输入端口、多个输出端口、选择器、包控制器以及存储器的多个存储器节点。上述选择器将输入到上述输入端口的包输出到上述输出端口。上述包控制器控制上述选择器的输出。上述存储器存储数据。上述存储器节点彼此之间通过上述输入端口以及上述输出端口相互地连接。上述存储器节点具有由物理位置确定的物理地址。上述包控制器在接收了不是发给自身的存储器节点的包的情况下,根据至少包含上述包的发送目的地地址和上述自身的存储器节点的地址的信息,切换输出上述包的上述输出端口。

Description

存储装置以及数据处理方法

[0001] 本申请请求基于2010年11月10日在日本申请的日本专利No. 2010-252336的优先 权,其全部内容通过援引加入到本申请中。

技术领域

[0002] 实施方式涉及一种相互地连接了具有传送功能的存储器节点的存储装置以及数 据处理方法,例如涉及存储装置中的数据包的传送控制方式。

背景技术

[0003] 作为能够容易地扩展容量的存储装置,考虑相互地连接了具有传送功能的存储器 节点的存储装置。在接收了发给自身的存储器节点的数据包的情况下,各存储器节点进行 读出或者写入等规定的处理。另一方面,在接收了不是发给自身的存储器节点的包的情况 下,各存储器节点将接收包传送到适当的其它存储器节点。通过由各存储器节点重复适当 的传送,数据包能够到达目的的存储器节点。

[0004] 各存储器节点具有存储器、具有传送功能的控制器以及多个端口。各存储器节点 维持/管理表示了包的传送目的地的路径指定表(路径表),并按照该路径指定表来进行包 的传送。如果管理路径指定表,则不论物理位置如何都能够构筑任意逻辑的包传送网络。

[0005] 但是,在为了容量扩展而追加新的存储器节点的情况下、或者由于故障等理由而 删除现有的存储器节点的情况下,需要更新各存储器节点的路径指定表,该更新手续烦杂。 特别是存储器节点数为大规模的情况下,路径指定表的维持/管理成本变得庞大,这对容量 的扩展性造成限制。

[0006] 另外,在相互地连接了具有传送功能的存储器节点的存储装置中,在对多个存储 器节点进行多个数据的写入/读出的情况下,一般难以通过同一布线而使多个数据同时地 进行通信,因此容易产生数据的传送待机。这种数据的传送待机导致数据的写入/读出所需 的时间的增加。

发明内容

[0007] -实施方式提供一种存储装置,其特征在于,包括:具备多个输入端口、多个输出 端口、选择器、包控制器以及存储器的多个存储器节点,上述选择器将输入到上述输入端口 的包输出到上述输出端口,上述包控制器控制上述选择器的输出,上述存储器存储数据,其 中,上述存储器节点彼此之间通过上述输入端口以及上述输出端口相互地连接,上述存储 器节点具有由物理位置确定的物理地址,上述包控制器在接收了不是发给自身的存储器节 点的包的情况下,根据至少包含上述包的发送目的地地址和上述自身的存储器节点的地址 的信息,切换输出上述包的上述输出端口。

[0008] 另一实施方式提供一种存储系统,其特征在于,包括:多个存储器节点,该存储器 节点具有多个输入端口、多个输出端口、选择器、包控制器以及存储器,上述选择器将输入 到上述输入端口的包输出到上述输出端口,上述包控制器控制上述选择器的输出,上述存 储器存储数据;以及多个计算机,与上述多个存储器节点中配置在外周部的存储器节点连 接,其中,上述存储器节点彼此之间通过上述输入端口以及上述输出端口而相互地连接,上 述存储器节点具有由物理位置确定的物理地址,上述包控制器在接收了不是发给自身的存 储器节点的包的情况下,根据至少包含上述包的发送目的地地址和上述自身的存储器节点 的地址的信息,切换输出上述包的上述输出端口,在将上述存储器节点数设为N ncide、上述计 算机数设为Nc的情况下,满足

[0009]

Figure CN102708073BD00061

[0010] 另一实施方式提供一种数据处理方法,是相互连接了具有数据传送功能的多个存 储器节点的存储装置中的数据处理方法,包括以下步骤:从计算机接收多个数据;以及将与 上述计算机之间的数据通信时间不同的多个存储器节点选择为上述多个数据的保存目的 地,在所选择的上述多个存储器节点中保存上述多个数据。

附图说明

[0011]图1是表示第1实施方式的存储装置的结构的图。

[0012] 图2是表示上述第1实施方式中的存储器节点的结构的图。

[0013] 图3A、3B、3C、3D、3E是表示上述第1实施方式中的存储器节点的配置例的图。

[0014] 图4是表示上述第1实施方式的存储装置中的传送算法1的图。

[0015] 图5A、5B是表示上述第1实施方式中的传送算法1的包的传送过程的图。

[0016] 图5C是基于上述第1实施方式中的传送算法1的包的传送过程的流程图。

[0017]图5D是表示基于上述第1实施方式中的传送算法1的包的传送过程的具体例子的 图。

[0018] 图6是表示包含上述第1实施方式的存储装置的存储系统的结构的图。

[0019] 图7是表示上述第1实施方式的存储系统中的写入动作的图。

[0020]图8是表示上述第1实施方式的存储系统中的读出动作的图。

[0021]图9是表示上述第1实施方式的存储装置中的存储器节点的自动地址获取方式的 图。

[0022] 图10是表示第2实施方式的存储装置中的传送算法2的图。

[0023] 图11A、11B是表示上述第2实施方式中的传送算法2的包的传送过程的图。

[0024] 图IlC是基于上述第2实施方式中的传送算法2的包的传送过程的流程图。

[0025] 图IlD是表示基于上述第2实施方式中的传送算法2的包的传送过程的具体例子的 图。

[0026] 图12A是表示基于上述传送算法1的包的传送过程的具体例子的图。

[0027]图12B是表示基于上述传送算法2的包的传送过程的具体例子的图。

[0028]图13是表示第3实施方式的存储装置中的传送算法3的图。

[0029]图14A、14B是表示基于上述第3实施方式中的传送算法3的包的传送过程的图。 [0030]图14C是基于上述第3实施方式中的传送算法3的包的传送过程的流程图。

[0031] 图14D是表示基于上述第3实施方式中的传送算法3的包的传送过程的具体例子的 图。

[0032] 图15是表示上述第3实施方式的存储装置中的传送算法4的图。

[0033]图16是表示上述第3实施方式的存储装置中的传送算法5的图。

[0034]图17是表示第4实施方式的存储系统的结构的图。

[0035]图18是表示上述第4实施方式的存储系统中的旁路传送发生率与拥塞发生率的 图。

[0036]图19是表示第5实施方式的存储装置的结构的图。

[0037] 图20是表示第6实施方式的存储系统的结构的图。

[0038] 图21是表示上述第6实施方式的存储系统的其它结构例的图。

[0039]图22是表示第7实施方式的存储系统的结构的图。

[0040] 图23是表示相对于上述第7实施方式的存储系统的比较例的图。

[0041] 图24是表示记录在上述第7实施方式中的包的头部的地址信息的图。

[0042] 图25是表示上述第7实施方式的存储系统中的写入动作的图。

[0043] 图26是表示上述第7实施方式的存储系统的其它结构例的图。

[0044]图27是表示第8实施方式的存储系统的结构的图。

[0045] 图28是表示相对于上述第8实施方式的存储系统的比较例的图。

[0046] 图29是表示记录在上述第8实施方式中的包的头部的地址信息的图。

[0047]图30是表示上述第8实施方式的存储系统中的写入动作的图。

[0048]图31、32是表示上述第8实施方式的存储系统的其它结构例的图。

[0049]图33A是表示第9实施方式的存储系统的结构的图。

[0050]图33B、33C、33D是表示在存储系统中发生传送待机的读出动作的图。

[0051] 图34A、34B、34C、34D、34E是表示在上述第9实施方式的存储系统中避免发生传送 待机的读出动作的图。

[0052]图35A、35B是表示在上述第9实施方式的存储系统中避免发生传送待机的读出动 作的其它例子的图。

[0053] 图36A、36B、36C、36D、36E、36F是表示在上述第9实施方式的存储系统中避免发生 传送待机的读出动作的其它例子的图。

[0054]图37A是表示第10实施方式的存储系统的结构的图。

[0055] 图37B、37C、37D、37E、37F、37G是表示在存储系统中发生传送待机的写入动作的 图。

[0056] 图38A、38B、38C、38D、38E是表示在上述第10实施方式的存储系统中避免发生传送 待机的写入动作的图。

具体实施方式

[0057]下面,参照附图来说明实施方式。此外,在下面的说明中,对具有相同功能以及结 构的结构要素附加相同标记,只在必要的情况下进行重复说明。

[0058] 一般地,根据一个实施方式,存储装置具备多个输入端口、多个输出端口、选择器、 包控制器以及具备有存储器的多个存储器节点。上述选择器将输入到上述输入端口的包输 出到上述输出端口。上述包控制器控制上述选择器的输出。上述存储器存储数据。上述存储 器节点彼此之间通过上述输入端口以及上述输出端口而相互地连接。上述存储器节点具有 通过物理位置来确定的物理地址。上述包控制器在接收了不是发给自身的存储器节点的包 的情况下,根据至少包含上述包的发送目的地地址和上述自身的存储器节点的地址的信息 而切换输出上述包的上述输出端口。

[0059] [第1实施方式]

[0060] 第1实施方式具备相互地连接了具有传送功能的多个存储器节点的存储装置,具 有各存储器节点有效地传送数据包的传送方式。

[0061] [1]存储装置的结构

[0062] 图1是表示第1实施方式的存储装置的结构的图,表示多个存储器节点的物理配置 法以及针对该物理配置法的地址的分配法的一个例子。

[0063] 如图所示,存储装置10具备多个具有数据传送功能的存储器节点11。各个存储器 节点11置于正方形格子的格子点。位于作为格子点的坐标的格子坐标(X,y)的存储器节点 的逻辑地址与位置坐标一致地设为(x,y)。即、存储器节点11的逻辑地址与物理地址(格子 坐标(x,y)) -致。

[0064] 各存储器节点11具有4个输入端口 12和4个输出端口 13。各存储器节点与邻接的4 个存储器节点经由输入端口 12以及输出端口 13而相互地连接。具体地说,相对置的2个邻接 的存储器节点连接了相互的输入端口 12和输出端口 13。

[0065] 图2中表示各存储器节点11的结构。存储器节点11具有输入端口 12、输入端口缓冲 器12A、输出端□ 13、输出端□缓冲器13A、选择器14、包控制器15、存储器16、存储器控制器 17、MPU18以及本地总线19。

[0066] 输入到输入端口 12的包临时地存储在输入端口缓冲器12A中。在选择器14中从输 入端口缓冲器12A输入包,另外从包控制器15输入控制信号。选择器14按照控制信号从所输 入的包中选择某个包并输出到输出端口缓冲器13A。输出端口缓冲器13A临时地存储从选择 器14输出的包,并且输出到输出端口 13。包控制器15控制选择器14的输出。包是由头部和数 据部构成的传送数据的单位,该头部至少包含发送目的地地址以及发送源地址。

[0067] 存储器16具有存储数据的多个存储器单元。存储器16由例如NAND型闪烁存储器等 构成。存储器控制器17控制对存储器16的写入、读出以及删除的动作。MPU18进行在存储器 节点内所需的运算处理。本地总线19在输入端口缓冲器12A、包控制器15、存储器控制器17 以及MPU 18之间相互地连接,进行它们之间的信号传送。

[0068] 存储器节点11所接收到的包经由输入端口 12而保存在输入端口缓冲器12A中。包 控制器15根据包所包含的发送目的地(目的地)地址和该存储器节点自身(下面,称作自节 点)的地址的2个信息来判断所接收到的包是否为发给自节点的。

[0069] 假如是发给自节点的,则包控制器15进行对于自节点的存储器16的写入、读出或 者其它规定的处理。假如不是发给自节点的,则根据包的发送目的地地址和自节点的地址 的2个信息来决定传送包的邻接的存储器节点,通过选择器14向对应的输出端口缓冲器13A 输出包。

[0070] 在图1所示的存储装置中,存储器节点配置在正方形格子的格子点,但是本实施方 式不限于该例子。参照图3A-3E将其列举为例子来进行说明。

[0071] 图3A所示的结构与图1所示的例子与相当。更一般地说,在本实施方式中,各存储 器节点配置在格子点上。格子是指在几何学中平面上的点中的X坐标、y坐标都是整数的点。 这里,还包括X方向和y方向的单位矢量、e x和ev的长度不同的情况即X方向和y方向的重复周 期不同的情况。该例子表示在图3B中。

[0072]另外,还包括X方向和y方向的单位矢量不正交的情况、即X轴和y轴不正交的情况。 该例子表示在图3C中。另外,存储器节点的相互连接数不限于4。相互连接数为6的例子表示 在图3D中。

[0073] 在本实施方式中,不论格子的定义如何,在任意情况下,位于格子坐标(x,y)的存 储器节点的逻辑地址都与位置坐标一致地设为(x,y)。即、存储器节点的逻辑地址与物理地 址(格子坐标(X,y)) -致。

[0074] 另外,更一般地说,在本实施方式中,包括在各格子点上配置大于等于2的存储器 节点的组的情况。在各格子点上配置2个存储器节点的例子表示在图3E中。在该例子中,在 格子点(1,〇)等上配置2个存储器节点。将其设为(1,0,0)和(1,0,1)。即、1个存储器节点的 坐标通过(x,y,z)的3个整数的组来表示。在这种情况下,位于节点坐标(x,y,z)的存储器节 点的逻辑地址也与位置坐标一致地设为(x,y,z)。即、存储器节点的逻辑地址与物理地址 (格子坐标(x,y,z))-致。另外,还包括配置格子点的平面三维地弯曲、或者折叠的情况。 [0075] 邻接的存储器节点是指在图3A~图3E中处于如下面那样的位置关系中的存储器 节点。在图3A~图3C中,例如在自节点存在于坐标(I,1)的情况下,与自节点邻接的存储器 节点是指存在于坐标(〇,1)、(1,2)、(2,1)、(1,0)的4个存储器节点。另外在图3D中,例如在 自节点存在于坐标(1,1)的情况下,与自节点邻接的存储器节点是指存在于坐标(〇,1)、(〇, 2)、(1,2)、(2,1)、(2,0)、(1,0)的6个存储器节点。另外,在图3E中,例如在自节点存在于坐 标(1,〇,1)的情况下,与自节点邻接的存储器节点是指存在于坐标(〇,1,〇)、(1,1,〇)、(1,〇, 〇)的3个存储器节点。

[0076] [2]存储装置的传送算法1

[0077] 在传送算法1中,根据包所包含的发送目的地地址以及自节点的地址的2个信息来 决定传送目的地的存储器节点。

[0078] 图4是表示第1实施方式的存储装置中的传送算法1的图。参照图4,表示根据包的 发送目的地地址和自节点的地址的2个信息来决定传送目的地的邻接节点的方法的一个例 子。将其作为传送算法1。

[0079] 接受到包的存储器节点向包的发送目的地节点(to)与自节点(PP : Present pos ition)之间的距离为最小的邻接的存储器节点传送包。

[0080] 参照图5A~图f5D,表示按照传送算法1的包的传送过程的具体例子。

[0081] 如图5A所示,将发送目的地节点(to)的地址设为(xtcl,yt。)、将自节点(PP)的地址 设为(Xpp,ypp),另外设为dx = xt。-χPP、dy = yt。-yPP。作为表示传送目的地的方向,如图5B所 示,将y增加的方向设为N (North),将X增加的方向设为E (East),将y减少的方向设为S (South),将X减少的方向设为W(West)。

[0082] 对于a将表示其绝对值的标记设为|a|,如果|dx| > |(^|则向1方向行进,如果|(^| < I dy I则向y方向行进。在向X方向行进的情况下,如果dx > 0则向E传送,如果dx <0则向W传 送。同样地,在向y方向行进的情况下,如果dy > 0则向N传送,如果dy < 0则向S传送。

[0083]图5C中表示存储装置中的传送算法1的流程。传送算法1存储在包控制器15中,通 过包控制器15来执行。

[0084] 首先,包控制器15计算出(^ = 11;。-»1)1)、(17 = 71;。11)1)(步骤31)。接着,包控制器15判断 dx是否为O (步骤S2)。当dx为O时,判定yt〇>yPP是否成立(步骤S3)。当yt〇>yPP成立时,向N传 送包(步骤S4)。另一方面,当yt〇>yPP不成立时,向S传送包(步骤S5)。

[0085] 接着,在步骤S2中当dx不为0时,包控制器15判定dy是否为0 (步骤S6)。当dy为0时, 判定xt〇>xPP是否成立(步骤S7)。当xt〇>xPP成立时,向E传送包(步骤S8)。另一方面,当x t〇> 叉卯不成立时,向W传送包(步骤S9)。

[0086] 接着,在步骤S6中当dy不为0时、即当dx和dy不为0时,包控制器15判定dx>0且dy >〇是否成立(步骤S10)。当dx>0且dy>0成立时,判定dx>dy是否成立(步骤S11)。当dx> dy成立时,向E传送包(步骤S12)。另一方面,当dx>dy不成立时,向N传送包(步骤S13)。

[0087] 接着,在步骤SlO中当dx>0且dy>0不成立时,包控制器15判定dx<0且dy>0是否 成立(步骤S14)。当dx<0且dy>0成立时,判定(-1) .dXSdy是否成立(步骤S15)。当(-1) · dx>dy成立时,向W传送包(步骤S16)。另一方面,当(-1) · dx>dy不成立时,向N传送包(步 骤S17)。

[0088] 接着,在步骤S14中当dx<0且dy>0不成立时,包控制器15判定dx<0且dy<0是否 成立(步骤S18)。当dx<0且dy<0成立时,判定dx>dy是否成立(步骤S19)。当dx>dy成立 时,向S传送包(步骤S20)。另一方面,当dx>dy不成立时,向W传送包(步骤S21)。

[0089] 接着,在步骤S18中当dx<0且dy<0不成立时,包控制器15判定dx> (-1) · dy是否 成立(步骤S22)。当dx>(_l) ^dy成立时,向E传送包(步骤S23)。另一方面,当dx>(_l) «dy 不成立时,向S传送包(步骤S24)。

[0090] 通过以上的处理,输入到存储器节点的包被传送到如发送目的地节点(to)与自节 点(PP)之间的距离为最小的那样的邻接的存储器节点。

[0091] 图5D中表示包的传送过程的具体例子。在传送算法1中,直到成为I dx I = I dy I为 止,如果|dx| > Idy I则向X方向连续行进,如果|dx| < Idy I则向y方向连续行进,在成为Idx =|dy I之后向X方向和y方向交互地行进。

[0092] 例如,在方案1中,为dX = 0且dy>0,因此直到到达发送目的地节点(to)为止向N行 进。在方案4中,为dx>0且dy>0、dx<dy,因此直到成为dx = dy为止向N连续行进,在成为dx =dy之后向E和N交互地行进。

[0093] [3]包含存储装置的存储系统

[0094]图6是表示包含第1实施方式的存储装置的存储系统的结构的图。

[0095] 存储系统20是用于客户端使用存储装置的系统,具备如下面那样的结构。

[0096] 存储装置10经由网关服务器来与客户端连接。在存储装置10内部的通信规格与网 关服务器21A、21B的通信规格不同的情况下,也可以在两者之间分别设置适配器22A、22B。

[0097] 详细而言,配置在存储装置10的外周部的存储器节点(1,4)经由适配器22A、网关 服务器21A而与客户端31A连接。同样地,存储器节点(I,1)经由适配器22B、网关服务器21B 而与客户端31B1、31B2连接。此外,"存储器节点(X,y) "表示地址(X,y)的存储器节点。以后 也相同。

[0098] 网关服务器21A、21B例如由计算机构成,根据与存储装置10内部的存储器节点11 相同的规章而具有地址。在图6中,网关服务器21A具有地址(0,4),网关服务器21B具有地址 (〇,1) 〇

[0099] 接着,说明存储系统中的写入动作。

[0100] 图7表示客户端对存储装置10写入文件的手续。这里,叙述客户端31A对存储装置 10写入文件的情况。

[0101] 客户端31A将文件和文件ID发送给网关服务器21A (参照(1))。文件ID是能够唯一 地确定文件的标识符。作为文件10,能够使用\\81:抑86_85^七611\11〇1116\(31131^4\;1^161.七叉七 这样的规定的文件系统中的完整路径的文件名。

[0102] 接着,网关服务器21A将文件分割为规定大小的数据包,对各包分配包ID。接着,将 文件ID和所分割的包的包ID写入到文件表(参照(2))中。包ID是能够唯一地确定包的标识 符。作为包ID,如. txt~1、~\filel. txt~2那样,能够分配"文件ID+连续的编 号"。

[0103] 接着,网关服务器21A根据包ID的信息来决定写入该包的存储器节点的地址(下 面,称作写入节点地址)(参照⑶)。此时,也可以使用在大规模分散文件系统中使用的被称 作一致性哈希(参照文献1)的节点决定方法。一致性哈希的特征在于:使用节点地址的哈希 值以及包ID的哈希值的双方来决定写入地址。

[0104][文1]:丸山不二夫/首藤一幸编,"雲世界向:5旮◦如乜夕7夕K(T)技術", 株式会社7只夺一 · - 夕只、2009年 11 月6日,p.88,ISBN978-4-04-868064-6

[0105] 接着,网关服务器21A将写入地址作为发送目的地地址、将网关服务器21A的地址 作为发送源地址而将写入包发送给存储装置10 (参照⑷、(5))。

[0106] 发送到存储器节点(1,4)的包通过在存储装置10内按照传送算法1重复适当的传 送,到达发送目的地地址的存储器节点(参照(6))。在目的的存储器节点中,将所接受到的 包写入到自节点的存储器16中(参照(7))。之后,向网关服务器21A返回写入完成包(参照 ⑶)。

[0107] 接着,说明存储系统中的读出动作。

[0108] 图8表示客户端从存储装置10读出文件的手续。这里,叙述客户端31A从存储装置 10读出文件的情况。

[0109] 客户端31A将读出请求(文件ID)发送给网关服务器21A (参照(1))。

[0110] 网关服务器21A从文件表获取与文件ID相对应的包ID (参照(2))。接着,网关服务 器21A根据包ID的信息决定进行读出的存储器节点的地址(下面,称作读出节点地址)(参照 (3))。此时,也可以使用在大规模分散文件系统中使用的被称作一致性哈希的节点决定方 法。

[0111] 接着,网关服务器21A将读出节点地址作为发送目的地地址、将网关服务器21A的 地址作为发送源地址而将读出包发送给存储装置10 (参照⑷、(5))。

[0112] 发送到存储器节点(1,4)的包通过在存储装置10内按照传送算法1重复适当的传 送,到达发送目的地地址的存储器节点(参照(6))。在目的的存储器节点中,按照读出包而 从自节点的存储器16读出目的的数据(参照⑵)。之后,将所读出的数据作为数据包返回给 网关服务器21A (参照⑶)。

[0113] 在图6所示的系统中,网关服务器可以实施写入数据的随机化处理(Rand处理)、对 写入数据赋予纠错码(ECC: error-correctingcode)、以及使用了ECC的读出数据的错误检 测和纠正的功能(ECC功能)。在这种情况下,各存储器节点的存储器控制器不需要具有随机 化处理和ECC功能。另外,在存储器节点之间的通信时不需要实施ECC处理。因此,能够降低 每个存储器节点的成本。

[0114] [4]存储装置的扩展性

[0115] 说明向存储装置追加新的存储器节点时的方式。

[0116] 图9表示向存储装置追加了新的存储器节点时的自动地址获取方式。

[0117] 在本实施方式的存储装置10中,位于格子坐标(x,y)的存储器节点的逻辑地址与 位置坐标一致地设为(x,y),因此追加的存储器节点通过向邻接节点询问地址,能够简易地 推算出自节点的地址。

[0118] 例如,在追加的存储器节点向位于W方向的邻接节点询问地址的情况下,设邻接节 点的地址为(x,y)时,追加节点的地址为(x+l,y)。同样地,在向位于N、E、S的邻接节点(x,y) 进行询问的情况下,自节点的地址分别成为(x,y-l)、(x-l,y)、(x,y+l)。

[0119] 在图9所示的情况中,例示了向存储器节点(4,4)的E方向追加了新的存储器节点 的状况。追加的存储器节点向位于W方向的邻接节点(4,4)发送to和from为none的address_ request包。接收了address_request包的存储器节点(4,4)将address_answer包设置到位 于E方向的存储器节点的输出端口缓冲器,该address_answer将from设为自节点地址、to设 为(5,4)。追加节点通过接收address_answer包,能够推算出自节点的地址为(5,4)。

[0120] 另外,作为其它方式,还考虑手动地址设定方式。在手动地址设定方式中,存储装 置10的运用者推断出预先追加的存储器节点的地址,在预置了该地址之后追加新的存储器 节点。

[0121] 上述的自动地址获取方式需要各存储器节点的包控制器具有对Address_request 包进行回答的功能。因此,有每个包控制器的成本变得高昂的倾向。另一方面,因为不需要 预设追加的存储器节点的地址,所以追加存储器节点时的手续被简化,能够降低运用成本。

[0122] 如以上说明的那样,根据笫1实施方式,因为存储器节点的逻辑的地址与物理的位 置(物理地址)一致,所以各存储器节点能够实现不需要管理路径指定表的有效的数据传送 方式。因此,能够实现存储装置的扩展性优良、即能够容易地对存储装置追加存储器节点。

[0123] [第2实施方式]

[0124] 说明第2实施方式的存储装置。第2实施方式具有与第1实施方式所具有的传送算 法1不同的传送算法2。在传送算法2中,根据包所包含的发送目的地地址以及发送源地址、 自节点的地址的3个信息来决定传送目的地的存储器节点。此外,该存储装置具有与图1以 及图2相同的结构,因此省略记载。

[0125] [1]存储装置的传送算法2

[0126] 图10是表示第2实施方式的存储装置中的传送算法2的图。参照图10,表示根据包 的发送目的地地址以及发送源地址、自节点的地址的3个信息来决定传送目的地的邻接节 点的方法的一个例子。将其设为传送算法2。

[0127] 如图10所示,判断自节点(PP)存在于以连接发送目的地节点(to)和发送源节点 (from)的直线来划分的2个区域中的哪个中,向分配给该区域的方向的邻接的存储器节点 传送包。

[0128] 参照图IlA~图11D,表示按照传送算法2的包的传送过程的具体例子。

[0129] 如图IlA所示,将发送目的地节点(to)的地址设为(xtcl,yt。),将发送源节点(from) 的地址设为(Xfrom,yfrom),将自节点(PP)的地址设为(x PP,yPP)。另外,设为dx = Xt〇-Xfr™、dy = yto_yfrom、Dx - Xpp-Xfrom、Dy - ypp_yfrom。如图11B所不,作为表不传送目的地的方向,将y增加 的方向设为N,X增加的方向设为E,y减少的方向设为S,x减少的方向设为W。

[0130] 根据y= (dx/dy) · X这样的连接发送目的地节点(to)和发送源节点(from)的直线 的式子,通过比较Dy和(dy/dx) · Dx的哪个大,判断自节点存在于以该直线来划分的2个区 域中的哪个中(PP)。

[0131] 以dx>0且dy>0的情况为例来说明传送方向的分配例。在比较了Dy与(dy/dx) · Dx的情况下,将Dy变得比(dy/dx) · Dx大的区域设为A区域,另一个区域设为B区域。在传送 中,对A区域的第一优先方向分配E,对B区域的第一优先方向分配N。在传送算法2中,进行传 送使得包沿着连接发送目的地节点(to)与发送源节点(from)的直线来行进。

[0132]图IlC中表示存储装置中的传送算法2的流程。传送算法2存储在包控制器15中,通 过包控制器15来执行。

[0133] 首先,包控制器15计算出dx -Xto-Xfrom、dy - Yto-Yfroni'* Dx - Xpp-Xfrom > Dy - Ypp-Yfrom (步骤S31)。接着,包控制器15判定dx是否为0 (步骤S32)。当dx为0时,判定yt〇>yPP是否成立 (步骤S33)。当yt〇>yPP成立时,向N传送包(步骤S34)。另一方面,当yt〇>yPP不成立时,向S传 送包(步骤S35)。

[0134] 接着,在步骤S32中当dx不为0时,包控制器15判定dy是否为0(步骤S36)。当dy为0 时,判定xt〇>Xpp是否成立(步骤S37)。当xt〇>x PP成立时,向E传送包(步骤S38)。另一方面,当 xt〇>xPP不成立时,向W传送包涉骤S39)。

[0135] 接着,在步骤S36中当dy不为0时、即dx和dy不为0时,包控制器15判定Dy · dx> dy · Dx是否成立(步骤S40)。当Dy · dx>dy · Dx成立时,判定dx>0且dy>0是否成立(步骤 S41)。当dx>0且dy>0成立时,向E传送包(步骤S42)。另一方面,当dx>0且dy>0不成立时, 判定dx<0且dy>0是否成立(步骤S43)。当dx<0且dy>0成立时,向N传送包(步骤S44)。

[0136] 接着,在步骤S43中当dx<0且dy>0不成立时,判定dx<0且dy<0是否成立(步骤 S45)。当dx<0且dy<0成立时,向W传送包(步骤S46)。当dx<0且dy<0不成立时,向S传送包 (步骤S47)。

[0137] 接着,在步骤S40中当Dy · dx>dy · Dx不成立时,判定dx>0且dy>0是否成立(步 骤S48)。当dx>0且dy>0成立时,向N传送包(步骤S49)。当dx>0且dy>0不成立时,判定dx <0且dy>0是否成立(步骤S50)。当dx<0且dy>0成立时,向W传送包(步骤S51)。当dx<0且 dy>0不成立时,判定dx<0且dy<0是否成立(步骤S52)。当dx<0且dy<0成立时,向S传送 包(步骤S53)。当dx<0且dy<0不成立时,向E传送包(步骤S54)。

[0138] 通过以上的处理,输入到存储器节点的包被传送到邻接的存储器节点,使得包沿 着连接发送目的地节点(to)和发送源节点(from)的直线来行进。

[0139] 图IlD中表示包的传送过程的具体例子。在传送算法2中进行传送使得包沿着连接 发送目的地节点(to)和发送源节点(from)的直线来行进。例如,在方案3中,dx<0且dy>0, 向W或者N行进使得尽可能不从连接发送目的地节点(to)和发送源节点(from)的直线分离。 在方案4中,dx>0且dy>0,向N或者E行进使得尽可能不从连接发送目的地节点(to)和发送 源节点(from)的直线分离。

[0140] 参照图12A以及图12B,表示相对于传送算法1的传送算法2的优越性。

[0141] 图12A以及图12B例示了从2个发送源节点(froml)和(from2)分别发送了发给发送 目的地节点(to)的包时的包的传送过程。图12A表示传送算法1的传送过程,图12B表示传送 算法2的传送过程。

[0142] 在图12A所示的传送算法1中,在2个包汇合的地点中产生了汇合等待的拥塞(以 jam表示)。另一方面,在图12B所示的传送算法2中没有产生拥塞。因而,与传送算法1相比, 在传送算法2中能够减少拥塞发生概率。

[0143] 如以上说明那样,根据第2实施方式,与第1实施方式相比能够减少拥塞发生概率, 在同时连接了很多客户端的情况下,也能够提供能够维持响应速度的存储装置。

[0144] 另外,与第1实施方式同样地,因为存储器节点的逻辑地址与物理地址一致,所以 各存储器节点能够实现不需要管理路径指定表的有效的数据传送方式。因此,能够实现存 储装置的扩展性优良、即能够容易地对存储装置追加存储器节点。其它的结构以及效果与 上述的第1实施方式相同。

[0145] [第3实施方式]

[0146] 说明第3实施方式的存储装置。第3实施方式具有与第1、第2实施方式所具有的传 送算法1、2不同的传送算法3。在传送算法3中,根据包所包含的发送目的地地址以及发送源 地址、自节点的地址以及自节点的输出端口占有信息的4个信息来决定传送目的地的存储 器节点。此外,该存储装置具有与图1以及图2相同的结构,因此省略记载。

[0147] [1]存储装置的传送算法3

[0M8]图13是表示第3实施方式的存储装置中的传送算法3的图。参照图13,表示根据包 的发送目的地地址以及发送源地址、自节点的地址、自节点的输出端口占有信息的4个信息 来决定传送目的地的邻接节点的方法的一个例子。将其设为传送算法3。

[0M9] 如图13所示,判断自节点(PP)存在于以连接发送目的地节点(to)和发送源节点 (from)的直线来划分的2个区域中的哪一个中,向分配给该区域的2个方向中的、通过自节 点的输出端口的占有信息来确定的方向的邻接节点传送包。在各区域中分配第一优先方向 和第二优先方向。在第一优先方向的输出端口缓冲器正在被其它包占有的情况下,选择第 二优先方向。

[0150] 参照图13、图14A~图14D,表示按照传送算法3的包的传送过程的具体例子。

[0151] 如图14A所示,将发送目的地节点(to)的地址设为(Xtcl,yt。),发送源节点(from)的 地址设为(Xfr™,yfrom),自节点的地址(PP)设为(x PP,yPP)。另外,设为dx = xt〇-xfr〇m、dy = yt。- yfrom'* Dx - Xpp-Xfroin'* Dy - Ypp-Yfromo

[0152] 在图13中,例示了dx>0且dy>0的情况。在比较了Dy和(dy/dx) · Dx的情况下,将 Dy比(dy/dx) · Dx大的区域设为A区域,另一个区域设为B区域。在传送中,对A区域的第一优 先方向分配E,对B区域的第一优先方向分配N。另外,对A区域的第二优先方向(bypass方向) 分配N,对B区域的第二优先方向分配E。例如,在如图示那样地传送包的存储器节点属于B区 域的情况下,如果作为第一优先方向的N方向的输出端口缓冲器正在被其它包占有,则该存 储器节点向作为第二优先方向的E方向传送包。

[0153] 图14C中表示存储装置中的传送算法3的流程。传送算法3存储在包控制器15中,通 过包控制器15来执行。此外,如图14B所示,将用于向N输出包的输出端口缓冲器设为OPBN, 用于向E输出包的输出端口缓冲器设为OPBE,用于向W输出包的输出端口缓冲器设为OPBW, 用于向S输出包的输出端口缓冲器设为OPBS。

[0154] 如下面那样地,在包控制器15中存储这些输出端口缓冲器0PBN、(PBE、0PBW、(PBS 空闲(能够存储包)、或者被包占有的信息(输出端口占有信息)。包控制器15具有与输出端 口缓冲器和输入端口缓冲器的总数相当的缓冲器占有标志位。包控制器15在向输出端口缓 冲器写入了包的情况下,将与该缓冲器相对应的缓冲器占有标志位设为"1",在从输出端口 缓冲器输出了包的情况下,将与该缓冲器相对应的缓冲器占有标志位设为"0"。包控制器15 通过评价缓冲器占有标志位,能够判断相对应的输出端口缓冲器是否空闲(是否被包占 有)。

[0155] 首先,包控制器15计算出dx -Xto-Xfrom、dy - Yto-Yfroni'* Dx - Xpp-Xfrom > Dy - Ypp-Yfrom (步骤S61)。接着,包控制器15判定dx是否为0 (步骤S62)。当dx为0时,判定yt〇>yPP是否成立 (步骤S63)。当yt〇>yPP成立时,向N传送包(步骤S64)。另一方面,当yt〇>yPP不成立时,向S传 送包(步骤S65)。

[0156] 接着,当在步骤S62中dx不为O时,包控制器15判定dy是否为0(步骤S66)。当dy为O 时,判定xt〇>Xpp是否成立(步骤S67)。当xt〇>xPP成立时,向E传送包(步骤S68)。另一方面,当 xt〇>xPP不成立时,向W传送包涉骤S69)。

[0157] 接着,当在步骤S66中dy不为O时、即dx和dy不为O时,包控制器15判定Dy · dx> dy · Dx是否成立(步骤S70)。当Dy · dx>dy · Dx成立时,判定dx>0且dy>0是否成立(步骤 S71)。当dx>0且dy>0成立时,判定向E输出的输出端口缓冲器OPBE是否空闲、即是否正在 被其它包占有(步骤S72)。当输出端口缓冲器OPBE空闲时,向E传送包(步骤S73)。另一方面, 当输出端口缓冲器OPBE非空闲时,向N传送包(步骤S74)。

[0158] 接着,当在步骤S71中dx>0且dy>0不成立时,判定dx<0且dy>0是否成立(步骤 S75)。当dx<0且dy>0成立时,判定向_俞出的输出端口缓冲器OPBN是否空闲(步骤S76)。当 输出端口缓冲器OPBN空闲时,向N传送包(步骤S77)。另一方面,当输出端口缓冲器OPBN非空 闲时,向W传送包(步骤S78)。

[0159] 接着,当在步骤S75中dx<0且dy>0不成立时,判定dx<0且dy<0是否成立(步骤 S79)。当dx<0且dy<0成立时,判定向W输出的输出端口缓冲器OPBW是否空闲(步骤S80)。当 输出端口缓冲器OPBW空闲时,向W传送包(步骤S81)。另一方面,当输出端口缓冲器OPBW非空 闲时,向S传送包(步骤S82)。

[0160] 接着,当在步骤S79中dx < O且dy < O不成立时,判定向S输出的输出端口缓冲器 OPBS是否空闲(步骤S83)。当输出端口缓冲器OPBS空闲时,向S传送包(步骤S84)。另一方面, 当输出端口缓冲器OPBS非空闲时,向E传送包(步骤S85)。

[0161] 接着,当在步骤S70中Dy · dx>dy · Dx不成立时,判定dx>0且dy>0是否成立(步 骤S86)。当dx>0且dy>0成立时,判定向N输出的输出端口缓冲器OPBN是否空闲(步骤S87)。 当输出端口缓冲器OPBN空闲时,向N传送包涉骤S88)。另一方面,当输出端口缓冲器OPBN非 空闲时,向E传送包(步骤S89)。

[0162] 接着,当在步骤S86中dx>0且dy>0不成立时,判定dx<0且dy>0是否成立(步骤 S90)。当dx<0且dy>0成立时,判定向W输出的输出端口缓冲器OPBW是否空闲(步骤S91)。当 输出端口缓冲器OPBW空闲时,向W传送包(步骤S92)。另一方面,当输出端口缓冲器OPBW非空 闲时,向N传送包(步骤S93)。

[0163] 接着,当在步骤S90中dx<0且dy>0不成立时,判定dx<0且dy<0是否成立(步骤 S94)。当dx<0且dy<0成立时,判定向S输出的输出端口缓冲器OPBS是否空闲(步骤S95)。当 输出端口缓冲器OPBS空闲时,向S传送包(步骤S96)。另一方面,当输出端口缓冲器OPBS非空 闲时,向W传送包(步骤S97)。

[0164] 接着,当在步骤S94中dx<0且dy<0不成立时,判定向E输出的输出端口缓冲器 OPBE是否空闲(步骤S98)。当输出端口缓冲器OPBE空闲时,向E传送包(步骤S99)。另一方面, 当输出端口缓冲器OPBE非空闲时,向S传送包(步骤S100)。

[0165] 通过以上的处理,在第一优先方向上发生了拥塞的情况下,通过向第二优先方向 传送包,一边避免拥塞一边沿着连接发送目的地节点(to)和发送源节点(from)的直线向邻 接的存储器节点传送包。

[0166] 图14D中表示包的传送过程的具体例子。方案1是未产生拥塞的例子,沿着连接发 送目的地节点(to)和发送源节点(from)的直线来传送包。方案2、3表示避免拥塞的例。在方 案2中,当要向N传送包时,在N方向发生了拥塞。因此,如方案3所示,向E传送包来避免拥塞。 方案4、5表示避免拥塞的其它例子。在方案4中,当要向E传送包时,在E方向发生了拥塞。因 此,如方案5所示,向N传送包来避免拥塞。

[0167] 在传送算法3中,在第一优先方向发生了拥塞的情况下,能够通过向第二优先方向 传送包来避免拥塞。此时,与原本未产生拥塞的情况相比,包到达发送目的地节点为止的传 送次数不变。

[0168] [2]存储装置的传送算法4

[0169] 图15是表示存储装置中的传送算法4的图。参照图15,表示根据包的发送目的地地 址以及发送源地址、自节点的地址、自节点的输出端口占有信息的4个信息来决定传送目的 地的邻接节点的方法的其它的第1例。将其设为传送算法4。

[0170] 如图15所示,定义以连接发送目的地节点(to)和发送源节点(from)的直线、以及 与该直线在发送目的地节点(to)的位置正交的直线来划分的4个区域。判断自节点(PP)存 在于这4个区域中哪个区域中,向分配给自节点(PP)所存在的区域第一优先和第二优先的2 个方向中的、通过自节点(PP)的输出端口的占有信息确定的方向的邻接节点传送包。

[0171] 与算法3相比的算法4的优越性如下。对于算法3而言,需要设置如下限制:禁止向 通过以连接发送目的地节点(to)和发送源节点(from)的直线为对角线的长方形来规定的 区域之外传送包。另一方面,对算法4而言,不需要设置该限制。

[0172] [3]存储装置的传送算法5

[0173] 图16是表示存储装置中的传送算法5的图。参照图16,表示根据包的发送目的地地 址以及发送源地址、自节点的地址、自节点的输出端口占有信息的4个信息来决定传送目的 地的邻接节点的方法的其它的第2例。将其设为传送算法5。

[0174] 如图16所示,定义以连接发送目的地节点(to)和发送源节点(from)的直线、与该 直线在发送目的地节点(to)的位置正交的直线、在发送目的地节点(to)的位置向X方向和y 方向延伸的2个直线的4个直线来划分的8个区域。判断自节点(PP)存在于这8个区域中哪个 区域中,向分配给自节点(PP)所存在的区域的第一优先和第二优先的2个方向中的、通过自 节点(PP)的输出端口的占有信息确定的方向的邻接节点传送包。在上述发送目的地节点 (to)的位置向X方向和y方向延伸的2个直线包含例如通过发送目的地节点(to)而沿着存储 器节点的配列方向的2个直线。

[0175] 与算法4相比的算法5的优越性如下。在算法4中,在通过以连接发送目的地节点 (to)和发送源节点(from)的直线为对角线的长方形来规定的区域之外,在向第二优先方向 (bypass方向)传送包的情况下,包到达发送目的地节点(to)为止的传送次数至少增加1个。 另一方面,在算法5的情况下没有传送次数的增加。

[0176] 如以上说明那样,根据第3实施方式,与第1、第2实施方式相比能够减少拥塞发生 概率,在同时连接了很多客户端的情况下,也能够提供能够维持响应速度的存储装置。

[0177] 另外,与第1实施方式,存储器节点的逻辑地址与物理地址一致,所以各存储器节 点能够实现不需要管理路径指定表的有效的数据传送方式。因此,能够实现存储装置的扩 展性优良、即能够容易地对存储装置追加存储器节点。其它的结构以及效果与上述的第1实 施方式相同。

[0178] [第4实施方式]

[0179] 在第4实施方式中,说明在存储系统中不产生包传送时的拥塞、即成为无拥塞的系 统的运用条件,该存储系统包括:具备多个具有传送功能的存储器节点的存储装置、以及与 存储装置连接的控制计算机。

[0180] [1]存储系统的结构

[0181]图17是表示第4实施方式的存储系统的结构的图。

[0182] 如图所示,存储系统具备:包含多个存储器节点11存储装置10、以及与存储装置10 连接的多个控制计算机41。如图1所示,存储装置10具有相互地连接了多个具有数据传送功 能的存储器节点的结构。控制计算机41与配置在存储装置10的外周部的存储器节点11连 接。

[0183] [2]存储系统的无拥塞发生的运用条件

[0184] 参照图17,说明存储系统中的包传送仿真的框架。仿真从与存储装置10连接的控 制计算机41发送的请求包到达发送目的地地址的存储器节点为止的过程、以及从目的的存 储器节点返回的数据包到达原来的控制计算机41为止的过程。作为包的传送算法,使用通 过图13说明过的带旁路功能的路由算法(传送算法3)。

[0185] 将存储装置10的存储器节点数设为Nncide = NxXNy,与存储装置10连接的控制计算 机数设为Nc。设在存储器节点之间进行1次包传送的时间为单位步骤时间。设控制计算机41 在单位步骤时间内发送请求包的概率为Rr13Rr最大为1。将旁路传送发生率设为Rbvpass,拥塞 发生率设为Rj am。

[0186] 旁路传送发生率R-^表示在存储器节点尝试1个包的传送时通过旁路传送来避 免拥塞的概率。另一方面,拥塞发生率R jam表示如下概率:在存储器节点尝试1个包的传送 时,由于不仅是第一优先方向的输出端口缓冲器而且第二优先方向的输出端口缓冲器也被 其它包占有,所以无法实施包传送而产生拥塞,导致包滞留了。另外,将负荷系数设为Rid。 负荷系数Ri-是存在于1个存储器节点的包数的平均值。

[0187] 图18表示旁路传送发生率Rbypass与负荷系数Rlciad的关系、以及拥塞发生率R jam与负 荷系数Rid的关系。多条曲线(plot)表示使存储器节点数Nncide、控制计算机数Nc、以及概率 Rr发生各种变化时的结果。

[0188] 拥塞发生率Rjam在负荷系数Rlciad比0.2小的情况下大致为零,可知无拥塞的系统运 用条件是负荷系数Ri〇 ad<0.2。当负荷系数Rlciad变为大于等于0.2时,拥塞发生率Rjam开始增 加。但是,即使负荷系数Ri〇ad = 2时拥塞发生率Rjam也为0.05左右,实用上基本不会成为问 题。另一方面,当负荷系数Riciad变得比2大时,拥塞发生率Rjam激增。这是因为:当负荷系数 Rioad变得比2大时引起连锁性地产生拥塞的挂断(hung up)现象。

[0189] 相对于负荷系数Rlciad的增加,旁路传送发生率Rbypass比拥塞发生率R jam早一个数量 级上升。即、旁路传送算法具有将拥塞发生要件改善一个数量级左右的效果。

[0190] 接着,根据该仿真结果来求出无拥塞或者拥塞发生在实用上不会成为问题的控制 计算机数与存储器节点数的关系。将平均包停留步骤时间设为S avg。平均包停留步骤时间 Savg是从控制计算机41发送请求包到该请求包到达发送目的地地址的存储器节点为止的步 骤时间Srequest、与从目的的存储器节点返回的数据包到达原来的控制计算机为止的步骤时 间Sd at之和。步骤时间Sreciuest和Sdat在不产生拥塞的情况下为(Nx/2+Ny/2)。因而,平均包停

Figure CN102708073BD00181

它的结构以及效果与上述的第1实施方式相同。

[0193] [第5实施方式]

[0194] 第5实施方式具备相互地连接了具有图1所示的传送功能的多个存储器节点的存 储装置,各存储器节点具有分散处理功能。

[0195] [1]存储装置的结构

[0196] 图19是表示第5实施方式的存储装置的结构的图。

[0197] 如图所示,存储装置具备包含图1所示的多个存储器节点11的存储装置10、并且各 存储器节点11具备地址变换器42,具有分散处理功能。

[0198] [2]存储装置的分散处理功能

[0199] 这里,参照图19,以发现共同包含apple和orange这样的关键词的URL的AND检索处 理举为例子来说明分散处理功能。

[0200] 这里,存储器节点(1,3)和(4,3)分别保持apple和orange的转置文件。转置文件是 关于关键词的每一个制作的索引文件,例如在与apple这样的关键词相对应的转置文件中 保存包含app I e的全URL的列表。

[0201] 网关服务器将AND检索命令发送给管理apple和orange的转置文件的存储器节点。 管理转置文件的存储器节点将转置文件的内容映射为key-value型数据。这里,key和value 分别设为URL及其转置文件的关键词。

[0202] 各存储器节点关于自己所保有的key-value型数据的各记录通过地址变换器42将 key变换为地址,向该地址发送包含value的包。有时地址变换器42还按照某规则从自己key 计算出地址,也可以询问具有将key变换为地址的功能的服务器而获得与key相对应的地 址。

[0203] 例如、地址变换器42按照下面的寻址规则而从key计算出地址。

[0204] 地址=hash (key) mod N

[0205] 这里,hash ()表示密码学的哈希函数,N表示存储装置10内的存储器节点数,mod N 表示以N为除数的求余运算。

[0206] 另外例如,地址变换器42向其它服务器询问与key相对应的地址,并且其它服务器 通过一致性哈希将key变换为地址并回答原来的地址变换器42。

[0207] 在图19所示的例中,apple和orange的转置文件都包含URLl,URL1被变换为地址 (2,1)。在这种情况下,存储器节点(2,1)承担判定URLl是否满足AND检索式的功能。value为 apple和orange的2个包到达存储器节点(2,1)。因此,可知存储器节点(2,1)的URLl满足AND 检索条件。

[0208] 存储器节点(2,1)将该意思通知给发出查询的网关服务器。通过多个存储器节点 对记载在转置文件中的URL全部进行相同的判定,发出查询的网关服务器能够获得满足了 AND检索条件的URL的列表。

[0209] 在由单一存储器节点进行以上的AND检索运算的情况下,需要进行以下面的代码 表示的运算。

Figure CN102708073BD00191

[0210]

[0211]

[0212]

[0213] 这里,将apple和orange的转置文件分别保存的URL的数量分别设为Nappi e和Ncirange, ==表示一致运算。存储器节点需要重复Napple X Ncxrange/2次的一致运算。在本实施方式的存 储装置中,能够由多个存储器节点来分散实施该一致运算。

[0214]如以上说明的那样,根据第5实施方式,不仅具有第1实施方式上述的存储功能,而 且还能够一并具有分散处理(分散计算)功能。其它的结构以及效果与上述的第1实施方式 相同。

[0215] [第6实施方式]

[0216] 第6实施方式具有如下结构:具有具备多个具有传送功能的存储器节点的存储装 置,其中存储装置的一部分的存储器节点具有与邻接的存储器节点(下面,称作邻接节点) 连接的输入输出端口(下面,称作邻接端口)以外的输入输出端口(下面,称作非邻接端口), 上述一部分的存储器节点通过上述非邻接端口与控制计算机或者不邻接的存储器节点(下 面,称作非邻接节点)连接。

[0217] [1]存储系统的结构

[0218] 图20是表示第6实施方式的存储系统的结构的图。

[0219] 如图所示,存储系统具备:包含多个存储器节点11的存储装置10、以及与存储装置 10连接的多个网关服务器21A、21B。如图1所示,存储装置10具有相互地连接了多个具有数 据传送功能的存储器节点的结构。网关服务器21A经由适配器22A与配置在存储装置10的外 周部的存储器节点(1,4)连接。配置在存储装置10的中央部的存储器节点(3,5),具有与邻 接节点连接的输入输出端口以外的输入输出端口(非邻接端口),网关服务器21B经由适配 器22B与该非邻接端口连接。

[0220] [2]存储系统的包传送

[0221] 参照图20,叙述引入了具有与邻接节点连接的输入输出端口以外的输入输出端口 (非邻接端口)的存储器节点的效果。这里,将存储装置10的X方向的存储器节点数设为Nx,y 方向的存储器节点数设为Ny。

[0222] 在网关服务器的连接目的地被限定于配置在存储装置10的外周部的存储器节点 的情况下,从网关服务器到达目的的存储器节点为止的包的平均传送次数为Nx/2+Ny/2。

[0223] 另一方面,如图20所示,增加位于存储装置10的中央部的存储器节点(3,5)的输入 输出端口数,通过所追加的输入输出端口(上述非邻接端口)将存储器节点(3,5)与网关服 务器21B连接。由此,从网关服务器21B到达目的的存储器节点为止的包的平均传送次数成 为Nx/4+Ny/4。

[0224] 这样,增加存储装置10内的一部分的存储器节点的输入输出端口数,当通过所追 加的输入输出端口与存储器节点和网关服务器连接时,能够降低包到达目的的存储器节点 为止的平均传送次数。

[0225] 另外,如图21所示,也可以在存储装置10中配置多个通过所追加的输入输出端口 与网关服务器连接的存储器节点。即、存储器节点(4,7)具有与邻接节点连接的输入输出端 口以外的输入输出端口(非邻接端口),该非邻接端口经由适配器22C与网关服务器21C连 接。

[0226] 另外,也可以通过与连接服务器和存储器节点的布线不同的布线23将多个网关服 务器21六、218,21(:,210彼此连接,该多个网关服务器214、218,21(:,210与存储装置10内的存 储器节点连接。另外,也可以在网关服务器之间、例如网关服务器21A、21B之间连接适配器 22E。由此,能够使用布线23而在网关服务器之间、以及网关服务器与存储器节点之间进行 包传送。例如、也可以以网关服务器21A-网关服务器21B-网关服务器21C-存储器节点 (4,7)的顺序来传送包。另外,也可以以网关服务器21A-网关服务器21D-存储器节点(5, 4))的顺序来传送包。

[0227] 如以上说明的那样,根据第6实施方式,在网关服务器与存储装置内的存储器节点 之间进行包传送时,能够缩短传送时间。其它的结构以及效果与上述的第1实施方式相同。 [0228][第7实施方式]

[0229] 第7实施方式具有如下结构:具有具备多个具有传送功能的存储器节点的存储装 置,其中存储装置的一部分的存储器节点具有与邻接节点连接的输入输出端口以外的输入 输出端口(非邻接端口),上述一部分的存储器节点通过上述非邻接端口与控制计算机或者 不邻接的存储器节点(非邻接节点)连接。

[0230] [1]存储系统的结构

[0231] 图22是表示第7实施方式的存储系统的结构的图。

[0232] 如图所示,存储系统具备包含多个存储器节点11的存储装置10、以及与存储装置 10连接的网关服务器21A。如图1所示,存储装置10具有相互地连接了多个具有数据传送功 能的存储器节点的结构。网关服务器21A经由适配器22A与配置在存储装置10的外周部的存 储器节点(7,1)连接。

[0233] 配置在存储装置10的内部的存储器节点(3,3)、(3,8)、(8,3)、(8,8)具有与邻接节 点连接的输入输出端口以外的输入输出端口(非邻接端口)。非邻接端口之间通过布线24连 接。例如存储器节点(3,3)与(3,8)之间、存储器节点(3,8)与(8,8)之间、存储器节点(8,8) 与(8,3)之间、以及存储器节点(8,3)与(3,3)之间是通过布线24而相互地连接。

[0234] 与非邻接节点连接的存储器节点除了通过物理位置确定的地址之外,还具有通过 与非邻接节点连接的存储器节点彼此之间的相对的物理位置确定的附加地址。在与非邻接 节点连接的存储器节点接收了以自节点以外的存储器节点为目的地的包的情况下,自节点 的包控制器根据至少包含自节点的附加地址、或者自节点以外的与非邻接节点连接的存储 器节点的附加地址中的某一个的信息来决定包的输出端口。

[0235] [2]存储系统的包传送

[0236] 首先,说明不邻接的存储器节点(非邻接节点)彼此之间的连接对存储装置10内的 包传送次数带来的影响。如上述那样,在图22中表示一部分的非邻接节点通过非邻接端口 相互连接的存储装置,在图23中表示全部存储器节点的输入输出端口数相同、非邻接节点 之间没有连接的存储装置。

[0237] 在这些存储装置中,考虑从地址(7,0)的网关服务器21A向存储器节点(7,8)发送 数据包的方案。

[0238] 在非邻接节点之间没有连接的情况下(图23),最短的数据传送路径为网关服务器 2认(7,0)4存储器节点(7,1)4(7,2)4(7,3)4(7,4)4(7,5)4(7,6)4(7,7) - (7,8)。由 此,从网关服务器21A向存储器节点(7,8)进行包传送时的(网关服务器与存储器节点之间、 以及存储器节点与存储器节点之间的)总包传送次数为8次。

[0239]另一方面,在非邻接节点之间相互连接着的情况下(图22),网关服务器21A-存储 器节点(7,1) - (7,2) - (7,3) - (8,3) - (8,8) - (7,8)为最短路径,能够以6次传送而将包 从网关服务器21A送到发送目的地存储器节点(7,8)。

[0240] 这样,通过增设的输入输出端口将一部分不邻接的存储器节点彼此连接,通过使 用这些输入输出端口之间的连接布线进行包传送,能够降低到达发送目的地节点为止的包 传送次数,能够缩短传送时间。

[0241] 但是,如图22所示,在非邻接节点之间连接了的存储装置中,需要注意存储器节点 与存储器节点之间、或者存储器节点与网关服务器21A之间的物理距离,与它们数据传送上 的距离未必一致这一点。

[0242] 如上述那样,在从地址(7,0)的网关服务器21A向存储器节点(7,8)发送数据包的 情况下,在不存在非邻接节点之间的连接的存储装置(图23)中,包的最低总传送次数(8次) 与由包发送源和发送目的地的物理位置确定的地址(网关服务器21A (7,0)、存储器节点(7, 8))之差相等。

[0243] 另一方面,如上述那样,在非邻接节点之间连接了的图22的存储装置中,能够以6 次传送进行具有相同物理地址的网关服务器21A (7,0)~发送目的地存储器节点(7,8)之间 的包通信。这样,在非邻接节点之间连接了的存储装置中,物理最短距离与数据传送上的最 短距离不同,因此无法只由通过物理位置确定的地址来决定包的最短传送路径。

[0244] 因此,在将非邻接节点之间连接了的存储装置中,将反映了与这些非邻接节点连 接的存储器节点彼此之间的相对的物理位置的地址(下面,记载为子地址)追加赋予给与非 邻接节点连接的存储器节点,如果根据提供给全部存储器节点的、反映了物理位置的地址 (下面,记载为主地址)和子地址的两者决定数据传送路径/包传送目的地,则能够按照上述 的算法来有效地进行包传送。此外,在图22中,主地址以圆括弧表示,子地址以方括弧表示。 另外,与上述非邻接节点连接的存储器节点是指例如图22所示的存储器节点(3,3)、(3,8)、 (8,3) , (8,8) 〇

[0245] 其中,为了如上述那样有效地进行包传送,需要在包的头部书写所需地址的全部 信息、适当重写用于决定传送目的地的包的发送源地址以及发送目的地地址等。下面对此 进行说明。

[0246] 在具有与非邻接节点连接的存储器节点的存储系统中进行包传送的情况下,在图 24中表示出所希望的包的头部的地址信息的一个例子。

[0247] 这里,最终发送目的地节点和发送源节点分别意味着包最终到达的目的地的节 点、和最初制作/发送包的节点。另一方面,临时发送目的地节点地址和临时发送源节点地 址是在各存储器节点中决定包传送目的地所使用的地址,在包的通信过程中被重写。在后 阐述此时的重写规则。

[0248] 此外,临时发送目的地/发送源地址的类型用于区别该地址为主地址和子地址的 哪一个。另外,第1中继节点、第2中继节点是与包发送时应该经由的非邻接节点连接的存储 器节点,与离发送源节点最近的非邻接节点连接的存储器节点为第1中继节点,与离最终发 送目的地节点最近的非邻接节点连接的存储器结为第2中继节点。

[0249] 如图22所示,在包含一部分存储器节点与不邻接的存储器节点连接了的存储装置 的系统中,在进行经由了非邻接节点之间的连接的包传送的情况下,接收了包的存储器节 点中的包传送目的地的决定、包的头部的修正等优先是以例如下面那样的规则来进行。

[0250] (a)在不具有追加的输入输出端口(非邻接端口)的存储器节点接收了包的情况 下,包控制器调查记录在包的头部的地址信息,

[0251] (i)在最终发送目的地节点的地址与自节点的地址一致的情况下,不进行包传送。

[0252] (ii)在最终发送目的地节点的地址与自节点的地址不同的的情况下,参照临时发 送源节点、临时发送目的地节点、自节点的主地址来决定传送目的地,向邻接的存储器节点 发送包。

[0253] (b)在与非邻接节点连接的存储器节点接收了包的情况下,包控制器调查记录在 包的头部的地址信息。

[0254] (i)在自节点的地址与最终发送目的地节点的地址一致的情况下,不进行包传送。

[0255] (ii)在自节点的地址与最终发送目的地节点的地址不同时,

[0256] (1)在与第1中继节点的地址一致的情况下,将包的头部的临时发送目的地、临时 发送源的地址分别重写为第2中继节点的子地址、自节点的子地址。另外,参照临时发送源 节点、临时发送目的地节点、自节点的子地址来决定传送目的地,向与其它的非邻接节点连 接的存储器节点发送包。

[0257] (2)在与第2中继节点的地址一致的情况下,将临时发送目的地地址变更为最终发 送目的地节点的主地址,将临时发送源地址变更为自节点的主地址。另外,参照临时发送源 节点、临时发送目的地节点、自节点的主地址来决定传送目的地,向邻接的其它存储器节点 传送包。

[0258] (3)在与第1中继节点、第2中继节点的任意的地址都不同、而且写入到包的头部的 临时发送目的地地址和临时发送源地址为子地址的情况下,参照临时发送源节点、临时发 送目的地节点、自节点的子地址来决定传送目的地,向与其它的非邻接节点连接的存储器 节点传送包。

[0259] ⑷在与第1中继节点、第2中继节点的任意的地址都不同、而且临时发送目的地地 址和临时发送源地址为主地址的情况下,参照临时发送源节点、临时发送目的地节点、自节 点的主地址来决定传送目的地,向其它的邻接的存储器节点传送包。

[0260] 接着,作为同时使用非邻接节点之间的连接来进行包发送的例子,说明在图22所 示的系统中,客户端经由网关服务器21A对存储装置写入文件的手续。

[0261] 图25是表示图22所示的存储系统中的写入动作的图。

[0262]首先,客户端将文件和文件ID发送给网关服务器21A (参照(1))。文件ID是能够唯 一地确定文件的标识符。

[0263] 接着,网关服务器21A将文件分割为规定大小的数据,对分割出的各数据分配分割 数据ID。而且,将文件ID和分割数据ID写入文件表。分割数据ID是能够唯一地确定所分割的 数据的标识符(参照(2))。

[0264] 接着,网关服务器21A根据分割数据ID的信息来决定写入分割数据的写入目的地 的存储器节点(下面,称作写入节点)的地址(在图22中为主地址(7,8)的存储器节点)。

[0265] 接着,通过下述程序求出从网关服务器21A向写入节点传送包时通信时间(包传送 次数)为最小的路径:

[0266] 1.调查离网关服务器21A最近的、与非邻接节点连接的存储器节点(第1中继节 点)、和与离写入节点最邻接的非邻接节点连接的存储器节点(第2中继节点)的各自的地 址。在图22中在写入到(7,8)的情况下,与网关服务器21A和写入节点的各自的最近接的非 邻接节点连接的存储器节点为主地址(8,3)、(8,8)的存储器节点。

[0267] 2.求出包含非邻接节点之间的连接的最短路径、和不包含非邻接节点之间的连接 的最短路径。在图22中在写入存储器节点(7,8)的情况下,前者是网关服务器21A-存储器 节点(7,1) - (7,2)4(7,3)4(8,3) ([2,1]) - (8,8) ([2,2]) - (7,8),后者是网关服务器 21八4存储器节点(7,1)4(7,2)4(7,3)4(7,4)4(7,5)4(7,6)4(7,7) - (7,8)。

[0268] 3.关于只与邻接节点连接的存储器节点之间的路径以主地址为基础、关于与非邻 接节点连接的存储器节点之间的路径以子地址为基础,计算出在各自的路径中进行包发送 时所发生的传送次数。在图22中在写入到存储器节点(7,8) C情况下,经由与非邻接节点连 接的存储器节点的最短路径的传送次数为6次,在不经由与非邻接节点连接的存储器节点 的最短路径中传送次数为8次。

[0269] 4.将包传送次数小的路径决定为默认路径(参照⑶)。下面,说明包含非邻接节点 之间的连接的路径与不包含非邻接节点之间的连接的路径相比包传送次数少的方案。

[0270] •由网关服务器21A来制作写入包,该写入包将由地址数据、写入命令等构成的头 部附加在写入数据上。此外,记录在包的头部的地址信息的临时发送目的地设为第1中继节 点的主地址(在图22中为(8,3)),临时发送源设为包发送源的主地址(在图22中为(7,0))。

[0271] •将制作的写入包从网关服务器21A传送到与网关服务器21A连接的存储器节点 (参照⑷)。

[0272] •按照上述的算法来直到到达临时发送目的地存储器节点(在图22中为主地址 (8,3)的第1中继节点)为止,在存储器节点之间进行写入包的传送(各存储器节点参照临时 发送目的地、临时发送源、自节点的主地址来决定传送目的地)(参照(5))。

[0273] •接受了写入包的第1中继节点读取包的头部,因为包的最终发送目的地节点为 其它存储器节点,第1中继节点为自节点,因此将临时发送目的地变更为第2中继节点的子 地址(在图22中为[2,2]),将临时发送源变更为自节点的子地址(在图22中为[2,1]))渗照 (6))。而且,向与邻接的非邻接节点连接的存储器节点传送包(参照(7))。

[0274] •按照上述的算法,直到到达作为临时发送目的地存储器节点的第2中继节点为 止,在与非邻接节点连接的存储器节点之间进行写入包的传送(各存储器节点参照临时发 送目的地、临时发送源、自节点的子地址来决定传送目的地)。

[0275] •接收了写入包的第2中继节点读取包的头部,因为最终发送目的地为其它存储 器节点,第2中继节点为自节点,因此将临时发送目的地变更为最终发送目的地节点的主地 址(在图22中为写入节点(7,8)),将临时发送源变更为自节点的主地址(在图22中为(8,8)) (参照⑶)。而且,向邻接的存储器节点传送写入包。

[0276] •参照临时发送源节点、临时发送目的地节点、自节点的主地址,通过上述的算法 在存储器节点之间重复传送,写入包到达作为最终发送目的地的写入节点(在图8中为主地 址(7,8))(参照(9))。

[0277] •接收了包的写入节点的最终发送目的地为自节点,因此不传送包,将头部的地 址信息、写入数据等写入到自节点的存储器16 (参照(10))。之后,制作使目的地、中继目的 地相反的写入完成报告的包。在该包中,将发送源节点设为写入节点的(7,8),将最终发送 目的地节点设为网关服务器21A的(7,0),将第1中继节点设为主地址(8,8)(子地址[2,2]) 的节点、将第2中继节点设为主地址(8,3)(子地址[2,1])的节点。之后,将写入完成报告的 包以与上述的程序相同的手续向网关服务器21A返回(参照(11))。全部分割数据的写入结 束之后,网关服务器21A向客户端进行文件写入的结束报告。

[0278] 在上述的例子中,说明了客户端对具有以下存储器节点的存储装置写入文件的程 序,该存储器节点具备与邻接节点连接的输入输出端口以外的输入输出端口(非邻接端 口)、且不邻接的存储器节点彼此之间通过非邻接端口相互连接。但是在为了写入到存储器 节点的数据的读出/删除、存储器的空闲容量确认等而从网关服务器向存储装置的存储器 节点发送读出命令/删除命令、空闲容量的回信命令等的情况下,通过经由非邻接节点之间 的连接进行通信,也能够缩短包传送时间。而且,在将读出的数据、询问结果等从存储器节 点发送到网关服务器的情况等中,通过经由非邻接节点之间的连接进行通信,也能够缩短 包传送时间。

[0279] 如上述那样,通过经由不邻接的节点之间的连接进行数据发送,能够减少包的平 均传送次数。此外,通过追加输入输出端口(非邻接端口)与非邻接节点连接的存储器节点 优选在存储装置内均匀地分散配置。

[0280] 例如,在由10 X 10的存储器节点构成的图22所示的存储装置中,分割为包含5 X 5 的存储器节点的4个区域(以虚线来表示边界),以增设端口(非邻接端口)将位于各区域的 中心的存储器节点(3,3)、(8,3)、(3,8)、(8,8)彼此连接。在这种情况下,不论哪个5 X 5的存 储器节点块中都存在具有1个追加输入输出端口(非邻接端口)的存储器节点。

[0281] 这样,通过将存储装置分割为所包含的存储器节点数相同那样的多个区域、且将 其中心的存储器节点作为带追加输入输出端口的存储器节点而相互连接,从而能够将带追 加输入输出端口的存储器节点均匀地分散配置在存储装置内。

[0282] 此外,例如将由al Xbm的节点构成的存储装置分割为各IXm的区域ab个,且通过 追加输入输出端口将位于各区域的中心的存储器节点彼此连接的情况下,离以(cl+d、em+ f) (a彡c彡0、b彡e彡0、1彡d彡0、m彡f彡0)来表示的存储器节点最近、且位于各区域的中心 的带追加输入输出端口的存储器节点地址以(cl+round (1/2,0)、em+round (m/2,0))来表 示。(round (A,0)是将A的小数点以下进行四舍五入的函数)。

[0283] 那么,在存储装置中,通过连接不邻接的一部分存储器节点之间而产生的课题在 于,当经由该连接进行通信的包的数量增加时,变得容易产生包通信的拥塞。

[0284] 与此相对,通过与邻接的存储器节点之间相比提高不邻接的存储器节点之间的包 通信速度,能够缓和该包传送的拥塞。但是,在这种情况下,在网关服务器中需要注意包传 送的默认路径决定时所进行的经由非邻接节点之间的连接的最短路径、和不经由非邻接节 点之间的连接的最短路径的总包通信时间的计算。总包通信时间与存储器节点之间的通信 时间和包传送次数之积相等。因而,在邻接的存储器节点之间和不邻接的存储器节点之间 的数据通信速度相等的情况下,如上述那样,能够通过各路径的传送次数来比较数据通信 时间。但是,在包发送速度不同的情况下,无法只通过传送次数来比较总包通信时间。

[0285] 通过参照通信速度的倒数(速度=距离/时间,因此它与通信时间成比例)与传送 次数之积,能够正确地比较经由非邻接节点彼此之间的连接的路径、和不经由非邻接节点 彼此之间的连接的路径的总包通信时间。但是,如上述的例子那样,在邻接的节点之间的连 接和非邻接节点之间的连接在包通信路径上混在一起的情况下,该计算变得烦杂。

[0286] 在邻接节点之间与非邻接节点之间包通信速度不同的存储装置中,使赋予的地址 的步幅(step)与包通信速度成反比例,将该地址差视作传送次数也是一个方法。

[0287] 在图26中表示与邻接节点之间相比非邻接节点之间的包通信速度高10倍的情况 的地址赋予例。在图26中对与不邻接的节点连接的存储器节点赋予子地址(以方括弧来表 示),以便反映它们的物理位置,并且某个存储器节点、和与该存储器节点连接的非邻接节 点之间各相差1。而且,对图26所示的全部存储器节点赋予反映相互的物理位置关系、并且 在相邻的存储器节点之间各相差10的主地址(以圆括弧来表示)。

[0288] 在这样的存储装置中,在与非邻接节点连接的存储器节点之间进行包发送的情况 下计算各存储器节点的子地址的差,在邻接存储器节点之间进行包发送的情况下计算主地 址的差,将所计算出的差视作传送次数。如果这样地确定传送次数的计算规则,则在邻接节 点之间与非邻接节点之间连接速度不同的情况下,也能够只通过传送次数来估计、比较包 通信时间。

[0289] 如以上说明的那样,根据第7实施方式,在网关服务器与存储装置内的存储器节点 之间进行包传送时,能够缩短传送时间。其它的结构以及效果与上述的第1实施方式相同。

[0290] [第8实施方式]

[0291] 在第8实施方式中,说明为了减少包的平均传送次数而在网关服务器与存储装置 之间追加开关继电器的存储系统。

[0292] [1]存储系统的结构

[0293] 图27是表示第8实施方式的存储系统的结构的图。

[0294] 如图所示,存储系统具备:包含多个存储器节点11的存储装置10、与存储装置10连 接的开关继电器81、以及与开关继电器81连接的网关服务器21A。

[0295] 如图1所示,存储装置10具有相互地连接了多个具有数据传送功能的存储器节点 的结构。开关继电器81与配置于存储装置10的一端侧(图27中左端)的存储器节点(I,1)、 (1,2)、(1,3)、(1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)的全部连接。网关服务器21A经由适 配器22A与开关继电器81连接。

[0296] 开关继电器81按照记录在包的头部的地址信息将接收到的包传送给指定的发送 目的地节点。对开关继电器81赋予有与存储装置内的存储器节点不同的地址(在图27中以 方括弧来表示)。

[0297] [2]存储系统的包传送

[0298] 说明在第8实施方式的存储系统中传送包的程序。

[0299] 从网关服务器21A送出的包通过适配器22A进入开关继电器81。进入到开关继电器 81的包被送到与开关继电器81连接的存储器节点(1,1)、(1,2)、(1,3)、(1,4)、(1,5)、(1, 6)、(1,7)、(1,8)、(1,9)的某一个,之后被传送到发送目的地地址的存储器节点。

[0300] 相反地,从存储装置10内的存储器节点发送的包被送到存储器节点(1,1)~(1,9) 的某一个存储器节点,经由开关继电器81和适配器22A传送到网关服务器21A。

[0301] 在图27所示的系统中,从网关服务器21A经由开关继电器81和存储器节点(1,9)向 存储器节点(5,9)发送包的情况下如下上述。最短路径为开关继电器81-存储器节点(1,9) -(2,9) - (3,9) - (4,9) - (5,9),存储装置10内的传送次数为4次。

[0302] 另一方面,如图28所示,在网关服务器21A不经由开关继电器81而与存储装置10的 存储器节点(1,4)连接的系统中,从网关服务器21A向存储器节点(5,9)发送包的情况为如 下上述。网关服务器21A-存储器节点(1,4) - (1,5) - (1,6) - (1,7) - (1,8) - (1,9) - (2, 9) - (3,9) - (4,9) - (5,9)为最短路径之一,在存储装置10内包的传送需要最低9次。

[0303] 这样,当在网关服务器21A与存储装置10之间引入开关继电器81时,包的传送次数 减少,能够缩短传送时间。

[0304] 此外,说明了从网关服务器21A向存储装置10发送包的方案,但是在将保存在存储 装置10内的存储器节点的数据向网关服务器21A的发送的情况下,一般,在网关服务器21A 与存储装置10之间存在开关继电器81的系统(图27)与经由适配器直接连接了网关服务器 21A和存储装置10的系统(图28)相比,包的平均传送次数少,传送时间短。

[0305] 但是,引入了开关继电器的系统中的包传送次数依赖于在开关继电器与存储装置 之间进行包的发送接收时进行中继的存储器节点。例如,如上述那样,在图27所示的系统 中,网关服务器21A在与存储器节点(5,9)之间进行包传送的情况下,如果进行中继的存储 器节点为存储器节点(1,9),则存储装置10内的传送次数为最低4次。但是,在中继了其它存 储器节点的情况下,需要大于等于5次的传送。

[0306] 这样,为了使包的传送次数为最小限,重要的是将与开关继电器直接连接的存储 器节点中离发送目的地节点最近的存储器节点选择为中继存储器节点。包传送时间为最短 的中继存储器节点的地址计算程序将后述。

[0307] 此外,在不经由开关继电器而连接了网关服务器与存储装置的系统中,在网关服 务器与存储装置内的存储器节点之间进行包传送的情况下,发送源和发送目的地是网关服 务器、存储器节点中的某一个,这在进行包传送的期间不会变更。

[0308] 另一方面,在经由开关继电器来连接网关服务器与存储装置的系统中,在进行包 传送的情况下,首先将中继存储器节点作为目的地进行包传送。在包到达中继存储器节点 之后,将存储器节点(从网关服务器向存储器节点发送包的情况)或者开关继电器(从存储 器节点向网关服务器发送包的情况)作为发送目的地进行包传送。即、在包到达中继存储器 节点的前后,需要变更包的发送目的地。

[0309] 在图29中表示在使用了开关继电器的系统中的记录在包的头部的地址信息的例 子。这里,最终发送目的地节点和发送源节点分别意味着包最终到达的目的地的存储器节 点、和最初制作/发送包的存储器节点。另一方面,临时发送目的地节点地址和临时发送源 节点地址是在各存储器节点中决定包传送目的地所使用的地址,由与开关继电器连接的中 继存储器节点来重写(重写规则将后述)。

[0310] 此外,地址类型用于区别该地址是存储装置10内的存储器节点的地址、还是开关 继电器81的地址。另外,中继节点地址是包传送时应该经由的与开关继电器81连接的存储 器节点的地址。

[0311] 如上述那样,在与开关继电器连接的存储器节点中,进行记录在包的头部的地址 信息的重写。在包的地址信息为图29所示的情况下,重写规则如下。

[0312] 1.在最终发送目的地节点为自节点以外的存储器节点、发送源为开关继电器的情 况下,将临时发送目的地变更为最终发送目的地节点、将临时发送源变更为自节点。

[0313] 2.在最终发送目的地节点为开关继电器的情况下,将临时发送目的地变更为开关 继电器、将临时发送源变更为自节点。

[0314] 3.在最终发送目的地为自节点以外的存储器节点、发送源也为存储器节点的情况 下,临时发送目的地、临时发送源都不变更。

[0315]例如,在图27所示的系统中,客户端向存储装置10写入文件的手续如下上述。

[0316]图30是表示图27所示的存储系统中的写入动作的图。

[0317]首先,客户端将文件和文件ID发送给网关服务器21A (参照(1))。文件ID是能够唯 一地确定文件的标识符。

[0318] 接着,网关服务器21A将文件分割为规定大小的数据,对所分割的各数据分配分割 数据ID。而且,将文件ID和分割数据ID写入到文件表。分割数据ID是能够唯一地确定分割出 的数据的标识符(参照(2))。

[0319] 接着,网关服务器21A根据分割数据ID的信息决定写入分割数据的写入目的地的 存储器节点(写入节点)的地址(在图27中为地址(5,9))。而且,将与开关继电器81连接的存 储器节点中离写入节点最近的存储器节点作为中继存储器节点,计算出其地址(在图27中 为地址(1,9))渗照(3))。

[0320] 接着,网关服务器21A制作对写入数据附加有包含上述的地址信息的头部等的写 入包。这里,临时发送目的地地址设为中继节点地址(在图27中为地址(1,9)),临时发送源 节点地址设为开关继电器81的地址(在图27中为[1])。之后,将包发送给开关继电器81 (参 照⑷)。

[0321] 接受了写入包的开关继电器81向指定的临时发送目的地存储器节点(中继存储器 节点(1,9))发送该写入包(参照(5))。

[0322] 从开关继电器81接收了写入包的中继存储器节点读取包的头部,因为最终发送目 的地节点为存储装置10内的其它存储器节点,因此如下面那样地制作重写了头部的写入 包。在头部中,将临时发送源地址变更为自节点地址,将临时发送目的地节点地址变更为作 为最终发送目的地的写入节点的地址(在图27中为(5,9))(参照(6))。

[0323] 之后,将写入包传送给邻接的存储器节点。通过在存储装置10内重复适当的传送 使写入包到达写入节点(在图27中为存储器节点(5,9))(参照(7))。

[0324] 在写入目的地的存储器节点中,将接受的包的写入数据、包发送源、中继节点的地 址等写入到自节点的存储器16渗照⑶)中。之后,制作写入完成报告的包,以与上述相反 的路径向网关服务器21A回信(参照(9))。在写入完成报告的包中,头部的地址信息的最终 发送目的地节点设为开关继电器,发送源设为写入节点,中继节点设为与从网关服务器21A 向写入节点传送包时相同的存储器节点,临时发送目的地节点设为中继节点,临时发送源 节点设为写入节点。上述包在中继存储器节点中,重写头部的地址信息使得临时发送目的 地为开关继电器、临时发送源为中继节点(参照(10))。

[0325] 全部分割数据的写入结束之后,网关服务器21A向客户端进行写入文件的结束报 告。

[0326] 此外,不仅是客户端向存储装置10写入文件的情况,而且为了写入的数据的读出/ 删除、存储器的空闲容量的确认等将读出/删除命令、空闲容量的回信命令等送到存储装置 10的存储器节点的情况下,也能够按照上述的手续经由与开关继电器81连接的存储器节点 来传送包。而且,在将写入、删除等命令实施完成报告、从存储器节点读出的数据等从存储 器节点发送给网关服务器21A时等,也同样地能够按照上述的手续经由与开关继电器81连 接的存储器节点来传送包。由此,能够缩短传送时间。

[0327] 此外,到此为止,如图27所示,说明了只有左端的存储器节点与开关继电器81连接 的存储系统,但是如图31所示,在全部的外周部的存储器节点与开关继电器81、82、83、84连 接的存储系统中,与没有引入开关继电器的系统相比,包的平均传送次数少,也能够缩短传 送时间。在图31所示的存储系统中,开关继电器81与配置于存储装置的左端的存储器节点 连接,开关继电器82与配置于上端的存储器节点连接,开关继电器83与配置于右端的存储 器节点连接,开关继电器84与配置于下端的存储器节点连接。另外,全部的开关继电器经由 适配器22A与网关服务器2IA连接。

[0328] 而且,如图3 2所示,在包含具有与邻接节点连接的输入输出端口以外的输入输出 端口(非邻接端口)的多个存储器节点通过非邻接端口与开关继电器81连接的存储装置的 存储系统中,与没有引入开关继电器的系统相比,包的平均传送次数也少,也能够缩短传送 时间。在图32所示的存储系统中,开关继电器81与存储装置10内的存储器节点(3,2)、(3, 7)、(8,2)、(8,7)连接。

[0329] 那么,如上述那样,在经由与开关继电器连接储器节点进行包传送的情况下,重要 的是将包传送时间(传送次数)为最小的存储器节点选择为中继存储器节点。下面,说明该 中继存储器节点的地址计算。

[0330]首先,如图27所示,在左端的存储器节点全部与开关继电器81连接的存储装置10 和网关服务器21A之间进行数据传送的情况下,对于存储装置10内的地址(x,y)的包发送目 的地/发送源存储器节点而言,包传送距离(传送次数)为最小的与开关继电器81连接储器 节点为地址(I,y)的存储器节点。

[0331] 在配置于角部的存储器节点的地址为(a0,b0)、由横向c0个且纵向d0个存储器节 点构成为存储装置中,在外周部的全部存储器节点与开关继电器连接的情况下,当存储装 置10内的地址(x,y)的存储器节点在与网关服务器21A之间进行包传送时,传送时间(传送 次数)为最小的中继存储器节点的地址如下。这里,如图31所示,与开关继电器连接的存储 器节点的地址是以(a0,y)、(a0+c0,y)、(x,b0)、(x,b0+d0)表示(X为a0~a0+c0的任意整数 值,y为b0~b0+d0的任意整数值)。

Figure CN102708073BD00291

况下,为(x,bO+d〇-y)。

[0336] 此外,min (x,y)是提供二个自变量x、y中小的一方的函数。

[0337] 另一方面,如图32所示,在与开关继电器81连接的存储器节点的地址是以(am+b, cn+d) (m、n为整数)来提供的情况下(在图32中,8 = 5、匕=3、〇 = 5、(1 = 2、111=0或者1、11 = 0或 者1),对于任意存储器节点(地址(x,y)),包传送时间(传送次数)为最小的与开关继电器81 连接的存储器节点(中继存储器节点)以(a (round (x/a,0)+b、c (round (y/c,0)+d)提供。这 里,round (u,0)是将数值u以小数点进行四舍五入的函数。

[0338] 如以上说明的那样,根据笫8实施方式,能够在存储装置内降低存储器节点之间的 包传送次数。其它的结构以及效果与上述的第1实施方式相同。

[0339] [第9实施方式]

[0340] 第9实施方式在将多个数据保存在多个存储器节点中的数据处理中具备数据处理 程序,该数据处理程序将与网关服务器之间的数据传送时间相互不同的存储器节点选择为 多个数据的保存目的地。

[0341] [1]存储系统的结构

[0342] 图33A是表示第9实施方式的存储系统的结构的图。

[0343] 如图所示,存储系统具备:包含多个存储器节点11的存储装置10、以及连接在存储 装置10的多个网关服务器21A。如图1所示,存储装置10具有相互地连接了多个具有数据传 送功能的存储器节点的结构。网关服务器21A经由适配器22A与配置于存储装置10的外周部 的存储器节点(1,4)连接。

[0344] [2]存储系统的数据处理方法

[0345] 说明第9实施方式的存储系统中的数据处理程序。

[0346] 图33A~图33D以及图34A~图34E是存储装置10经由适配器22A与网关服务器21A 连接的存储系统。存储装置由相互连接了邻接的存储器节点11的多个存储器节点构成。

[0347] 各存储器节点11在发送的包为发给自节点的情况下就接收,在其它存储器节点为 目的地的情况下,向邻接的存储器节点传送包。能够通过该数据传送功能在网关服务器21A 与指定存储器节点之间进行包通信。

[0348] 其中,包传送所需的传送次数根据存储器节点而不同。例如,与网关服务器21A之 间的包通信所需的最低传送次数,地址(1,4)的存储器节点为0次,地址(1,5)、(2,4)、(1,3) 的存储器节点为1次,地址(1,6)、(2,5)、(3,4)、(2,3)、(1,2)的存储器节点为2次。在图33A ~图33D以及图34A~图34E中,以相同的阴影来表示具有相同的最低传送次数的存储器节 点。

[0349] 另外,在此,存储装置10的存储器节点内的包传送时间和存储器节点之间的包发 送时间不依赖存储器节点而为固定。在这种情况下,总包传送时间在哪个存储器节点之间 都是相同的。此外,包传送时间是在输入端口接收了包之后,从记录在包的头部的地址判断 是否为发给自节点、并从输出端口输出包为止的时间。总包传送时间在存储器节点接受包 之后向邻接节点发送包、该包到达邻接节点为止的时间。

[0350]另外,将一个文件分割为3个,将结合分割后的数据的顺序而赋予ID为ID=I、ID = 2、ID = 3的3个数据分别保存在3个存储器节点中。之后,研究从存储器节点读出3个数据并 发送给网关服务器的数据处理。

[0351] 针对保存数据的3个存储器节点为与网关服务器之间的包通信所需的最低传送次 数变得相同的存储器节点的情况、和最低传送次数全部不同的存储器节点的情况的每一 个,比较所读出的数据的存储装置内的传送过程。此外,读出命令是一起执行的,读出的数 据的发送是同时地开始的,因而3个数据的传送也以完全相同的定时来进行。

[0352] 在从各存储器节点读出保存在与网关服务器21A之间的包通信所需的最低传送次 数为3次的存储器节点(1,1)、(2,2)、(3,5)中的3个数据之后,向网关服务器21A传送的过程 的一个例子表不在图33A~图33D中。

[0353]图33A表示刚刚从各存储器节点内的存储器读出了数据之后(传送前)的存储装置 10的状态,图33B表示从图33A经过固定时间而3个数据全部被传送到所保存的存储器节点 的邻接节点的状态。如图33B所示,在图33A中保存在存储器节点(1,1)、(2,2)、(3,5)中的3 个数据分别被传送到存储器节点(1,2)、(2,3)、(2,5)。

[0354] 图33C、图33D分别表示进行了2次、3次数据的传送状态。如图33C所示,在图33B中 保存在存储器节点(1,2)、(2,3)、(2,5)中的3个数据分别被传送到存储器节点(1,3)、(2, 4)、(1,5)。而且,如图33D所示,在图33C中保存在存储器节点(1,3)、(2,4)、(1,5)中的3个数 据分别被传送到存储器节点(1,4)。此外图33A~图33D是从所保存的存储器节点向网关服 务器21A进行数据传送的过程,因此随着时间的经过,数据被传送到与网关服务器21A的包 通信所需的、最低传送次数少的存储器节点。

[0355] 另外,在图33A~图33C所示的存储装置10中,3个数据分别不存在于不同的存储器 节点,但是在图33D所示的存储装置10中,全部的数据位于地址(1,4)的存储器节点上。这表 示3个数据同时地到达地址(1,4)的存储器节点的状态。

[0356] 其中,在存储器节点的临时保存用存储器(输入端口缓冲器)的存储容量大小没有 大到能够保存多个数据的程度的情况下,在存储器节点(1,4)中一次只能接受一个数据。临 时保存用存储器是用于在接收了不是发给自节点的数据的情况下,在到传送该数据为止的 期间进行保管的存储器。

[0357] 在这种情况下,直到接收的一个数据向适配器22A的传送结束为止,其它的数据不 能传送到地址(1,4)的存储器节点,需要在邻接节点中待机。

[0358] 在存储器节点的临时保存用存储器的大小足够大、能够同时保存3个数据的情况 下,通常也不能从地址(1,4)的存储器节点向网关服务器21A-次发送3个数据,因此在一个 数据被发送给网关服务器21A的期间,其它的数据需要在地址(1,4)的存储器节点中待机。 当产生这种数据传送的待机时,全部数据的传送所需的时间增加。

[0359] 另外,从图33A~图33D可知,与网关服务器21A之间的包通信所需的最低传送次数 相同的存储器节点的数量,随着传送次数变少而减少。因而,如图33A所示,当在与网关服务 器21A之间的包通信所需的最低传送次数相同的不同存储器节点中保存多个数据、并同时 读出而开始传送时,随着时间经过,数据越是接近网关服务器21A,传送目的地的存储器节 点的数量越减少,多个数据被传送给相同的存储器节点的概率越高。这样,当在与网关服务 器21A之间的包通信所需的最低传送次数相同的存储器节点中保存多个数据时,读出后的 传送时容易产生无用的待机时间。

[0360] 参照图34A~图34E、图35A、以及图35B,说明用于降低这种传送时的待机时间的数 据处理程序。

[0361] 图34A~图34E是表示从存储器节点读出的数据向网关服务器21A传送的过程的一 个例子的图。图34A~图34E表示如下过程:在与网关服务器21A之间的包通信所需的最低传 送次数为1次的存储器节点(1,5)中保存ID = 2的数据、在最低传送次数为2次的存储器节点 (1,2)中保存ID=I的数据、在为3次的存储器节点(4,4)中保存ID = 3的数据之后,同时地读 出这些数据并传送给网关服务器21A。

[0362] 在这种情况下,向与网关服务器21A之间的包通信所需的最低传送次数少的存储 器节点传送数据。但是,在图34A~图34E的情况下,在全部的过程中没有产生如图33D所示 那样的多个数据向同一存储器节点的传送。这是因为在与网关服务器21A之间的包通信所 需的最低传送次数不同的存储器节点中保存了数据。在这种情况下,也向最低传送次数少 的存储器节点传送数据,但是从最低传送次数不同的存储器节点开始全部数据的传送,因 此无论在哪个时间各数据都位于最低传送次数不同的存储器节点。

[0363] 这样,通过在与网关服务器21A之间的包通信所需的最低传送次数不同的存储器 节点中保存数据,从而避免读出数据的传送时的多个数据向同一存储器节点的同时传送, 能够缩短数据传送时间。

[0364] 此外,理所当然地,读出保存在与网关服务器之间的包通信所需的最低传送次数 不同的存储器节点中的数据并传送给网关服务器的情况下,数据以保存有数据的存储器节 点离网关服务器近的顺序到达网关服务器。在图34A中,在离网关服务器21A最近的存储器 节点中保存有ID = 2的数据,在离服务器21A第二近的存储器节点中保存有ID=I的数据,在 离服务器21A最远的存储器节点中保存有ID = 3的数据,因此从这些存储器节点读出/传送 的数据,如图34C~图34E所示那样地以ID = 2的数据、ID = I的数据、ID = 3的数据的顺序到 达网关服务器21A。

[0365] 如上述那样,这些数据是将一个文件分割为3分割而成的,结合分割后的数据的顺 序赋予ID = 1、ID = 2、ID = 3的ID。因此,为了从分割数据再构成文件,需要将到达网关服务 器21A的数据替换为ID顺序。

[0366]另一方面,在图35A中,将ID=I的数据保存在距离网关服务器21A的最低传送次数 为1次的存储器节点中,将ID = 2的数据保存在最低传送次数为2次的存储器节点中,将ID = 3的数据保存在最低传送次数为3次的存储器节点中。因此,当从存储器节点读出这些的数 据并传送给网关服务器21A时,如图35B所示,以ID=I的数据、ID = 2的数据、ID = 3的数据的 顺序到达网关服务器21A。因而,在进行文件的再构成时,不需要进行数据的重新排列。

[0367] 这样,在将数据的读出顺序具有意义的多个数据保存在与网关服务器之间的包通 信所需的最低传送次数不同的存储器节点的情况下,结合该顺序而从离网关服务器近的存 储器节点向远的存储器节点顺序地保存。由此,能够省略传送给网关服务器21A的数据的重 新排列作业。

[0368] 另外,说明了在经由适配器连接由全部等效的存储器节点构成的存储装置的单一 存储器节点和网关服务器的存储系统中,向存储装置保存多个数据的程序,但是如图36A所 示,在具有具备与邻接节点连接的输入输出端口以外的输入输出端口(非邻接端口)且通过 非邻接端口相互连接的多个存储器节点的存储装置中,通过将数据保存在与网关服务器 21B之间的包通信所需的最低传送次数不同的存储器节点中,也能够避免保存数据的传送 时产生没用的待机时间。

[0369] 而且,如图36B~图36D所示,在经由开关继电器连接了存储装置10和网关服务器 21A的情况下,通过将数据保存到与网关服务器21A之间的包通信所需的最低传送次数不同 的存储器节点中,也能够避免保存数据的传送时产生没用的待机时间。此外,在图36A~图 36D中,表示将10 = 1、10 = 2、10 = 3的数据分别保存在包通信所需的最低传送次数为1次、2 次、3次的存储器节点中的例子。

[0370] 此外,如上述那样,有根据存储器节点的地址的哈希值和包ID的哈希值决定保存 包数据的存储器节点的地址的方法(一致性哈希)。这是例如考虑取〇~2 16()-1的整数值的ID 空间,对存储器节点和包的每一个,前者通过地址、后者通过包ID来计算密码学的哈希函数 SHA-I (计算结果为0~216()-1的某一个整数值),将这些值分配给ID空间的某个ID。接着,对 各包,从哈希值的ID开始顺时针探索ID空间,将最初走到的存储器节点决定为保存该包的 存储器节点。

[0371] 本方法具有如下优点:不仅能够以高的均匀性将包分散保存在存储器节点中,而 且即使增减存储器节点需要变更的包也少(即、存储器节点的可缩放性(scalability)高)。 但是,当通过该方法决定保存包的存储器节点时,能够将包保存到与网关服务器之间的通 信时所需的传送次数相同的存储器节点中(如上述那样,这将在数据读出时引起包冲突)。

[0372] 为了在与网关服务器之间的通信中在包传送次数不同的存储器节点中均匀地分 散保存N个包,例如计算包ID的哈希值mod N(mod为返回除法运算的余数的函数),决定保存 该包的存储器节点的传送次数(〇~(N-I)中的某一个)(计算的结果,如果有传送次数一致 的包,则进行调制使得成为不同的值)。而且,针对各包,只要通过上述的一致性哈希从具有 所决定的传送次数的存储器节点中决定保存该包的存储器节点即可。

[0373] 此外,在这样的决定包保存目的地的存储器节点程序中,需要掌握具有所决定的 传送次数的存储器节点的地址。具有某个传送次数的存储器节点的地址表示为如下上述。

[0374] 如图33A~图35B那样,在网关服务器21A经由适配器22A与位于存储装置(这里,存 储器节点的地址全部设为正的整数值)的一端的存储器节点(I,aO)连接的系统中,在与存 储器节点(l,aO)之间进行包通信的情况下,最低传送次数为η次的存储器节点的地址以(1+ b,aO+(n_b)) (n^b^O)、以及(l+c,a〇-(n_c)) (aO-l^n-c^O)来表示。

[0375] 如图36A、图36D所示,在通过增加端口(非邻接端口)将不邻接的存储器节点彼此 连接、且连接了存储器节点和开关继电器的存储装置(存储器节点的地址设为正的整数值) 中,在与具有增加端口的节点(a0,b0)之间进行包通信的情况下,最低传送次数为η次的存 储器节点的地址以(a0+c,b0+(n_c)) (n^c^O)、(aO+d,b〇-(n_d)) (n^d^O,b〇-l^n-d)、 (a〇-e,b0+ (n_e)) (min (a〇-l,n) ^e^O)、(a〇-f,b〇- (n_f)) (a〇-l ^f^:0,b〇-l ^n-f^O)来 表不。

[0376] 如图36B所示,在存储装置(全部存储器节点的地址设为正的整数值)的左端(地址 (l,y))的存储器节点与开关继电器连接的系统中,在与地址(l,a0)的中继存储器节点之间 进行包通信的情况下,最低传送次数为η次的存储器节点的地址以(l,a0+n)来表示。

[0377] 此外,说明了包含相互连接了数据传送时间相同的存储器节点的存储装置的系 统,但是如果是如图36E所示那样的数据传送时间相同的存储器节点被树状连接的存储系 统、由如图36F所示那样的数据传送时间不同的存储器节点构成的存储系统等包含存在与 服务器之间的数据通信时间不同的存储器节点的存储装置的系统,则能够应用本实施方 式。

[0378] 图36E所示的系统是数据传送时间相同的存储器节点被树状连接的存储系统,以 相同的阴影来表示与网关服务器21A之间的通信时间相同的存储器节点。在图36F所示的系 统中表示出如下情况:存储器节点之间和存储器节点~开关继电器之间的数据通信速度相 同,而且相对于地址(a,l)、(a,m)、(a,n)、(b,l)、(b,m)、(b,n)的存储器节点之间以及这些 存储器节点~开关继电器81之间的数据通信速度,地址(α,δ)、〇3, γ)、〇3,ε)的存储器节点 之间、以及这些存储器节点~开关继电器81之间的数据通信速度为2倍,地址(Α,Β)与开关 继电器81之间的通信速度为4倍。此外,以相同的阴影来表示与开关继电器81之间的数据传 送时间相同的存储器节点。其中,存储器节点内的数据传送时间,假定为比存储器节点之间 以及开关继电器~存储器节点之间的数据传送时间足够小。

[0379] 如以上说明的那样,根据第9实施方式,能够缩短在从各存储器节点读出保存在多 个存储器节点中的数据之后发送给网关服务器时的传送时间。由此,能够实现高速的数据 读出。其它的结构以及效果与上述的第1实施方式相同。

[0380][第10实施方式]

[0381] 第10实施方式在从网关服务器将多个数据发送给多个存储器节点的数据处理中, 具备如下的数据处理程序:从以数据通信时间长的存储器节点为目的地的数据开始,到以 数据通信时间短的存储器节点为目的地的数据的顺序进行数据传送。

[0382] [1]存储系统的结构

[0383] 图37Α是表示第10实施方式的存储系统的结构的图。

[0384] 如图所示,存储系统具备:包含多个存储器节点11的存储装置10、以及与存储装置 10连接的多个网关服务器21Α。如图1所示,存储装置10具有相互地连接了多个具有数据传 送功能的存储器节点的结构。网关服务器21Α经由适配器22Α与配置于存储装置10的外周部 的存储器节点(1,4)连接。

[0385] [2]存储系统的数据处理方法

[0386] 说明第10实施方式的存储系统中的数据处理程序。

[0387] 图37A~图37G以及图38A~图38E与第9实施方式同样地,为存储装置经由适配器 22A与网关服务器21A连接的存储系统。存储装置由相互连接了邻接的存储器节点11的多个 存储器节点构成。

[0388] 这里,考虑从网关服务器21A向地址(1,5)、(1,2)、(4,4)的存储器节点分别发送ID = 1、ID = 2、ID = 3的3个数据分别发送给情况下的、来自网关服务器21A的数据发送顺序和 全部数据发送所需的时间的关系。此外,在存储器节点的临时保存用存储器(输入端口缓冲 器)中只能保存1个包,另外一次只能从网关服务器21A发送给地址(1,4)的存储器节点1个 包。

[0389] 在图37A~图37G中,表示按照以从离网关服务器21A近的存储器节点为目的地的 数据开始到以远的存储器节点为目的地的数据的顺序(即、ID = I的数据、ID = 2的数据、ID =3的数据的顺序),从网关服务器21A向存储装置发送了包的情况下的包传送过程。

[0390] 在这种情况下理所当然地,如图37B~图37C所示地发给离网关服务器21A最近的 地址(1,5)的存储器节点的数据(ID = I)发送最早结束。

[0391] 但是,如图37D所示,以离网关服务器21A最远的地址(4,4)的存储器节点为目的地 的数据(ID = 3)直至1」2个数据(ID = 1、ID = 2)从地址(1,4)的存储器节点传送到邻接存储器 节点为止,不能发送到地址(1,4),在到此为止的期间需要在网关服务器21A中待机。如图 37D~图37G所示,即使该待机结束而发送到地址(1,4)的存储器节点,为了使数据到达地址 (4,4)也需要进行最低3次的传送。

[0392] 另一方面,在图38A~图38E中,表示按照从以离网关服务器21A最远的存储器节点 为目的地的数据开始到以近的存储器节点为目的地的数据的顺序(即ID = 3的数据、ID = 2 的数据、ID=I的数据的顺序),从网关服务器21A向存储装置发送了包的情况下的包传送过 程。

[0393] 在这种情况下,如图38B~图38D所示,直到ID = 3的数据和ID = 2的数据从地址(1, 4)的存储器节点传送到邻接节点为止,ID = I的数据不能发送给地址(1,4)的存储器节点, 需要在网关服务器21A中待机。

[0394] 但是,作为后面发送的数据(ID=I)的目的地的地址(1,5)的存储器节点接近网关 服务器21A,以少的传送次数到达目的地的存储器节点。另一方面,先从网关服务器21A发送 的数据(ID = 3)的目的地远离网关服务器21A,但是因为在其它的数据在网关服务器21A中 待机的期间开始传送,因此相应地早到达目的地。这些的结果是,如图38E所示,3个数据同 时地到达目的地的存储器节点。

[0395] 从图37A~图37G与图38A~图38E的比较可知,以从目的地的存储器节点远离网关 服务器21A的数据开始到离网关服务器21A近的数据的顺序,从网关服务器21A进行数据发 送,从而能够使全部的数据发送所需的时间为最小。

[0396] 此外,说明了包含相互连接了数据传送时间相同的存储器节点的存储装置的系 统,但是数据传送时间相同的存储器节点被树状连接的存储系统(图36E)、由数据传送时间 不同的存储器节点构成的存储系统(图36F)等向存在与服务器的数据通信时间不同的存储 器节点的存储装置发送多个数据的情况下,同样地能够应用本实施方式。

[0397] 如以上说明那样根据第10实施方式,在向与网关服务器之间的通信时间不同的多 个存储器节点发送多个数据时,能够使所需的通信时间为最小。其它的结构以及效果与上 述的第1实施方式相同。

[0398]如以上叙述的那样,根据第1~第10实施方式,能够提供一种存储器节点不需要管 理路径指定表就能够有效地传送包的存储装置、以及数据处理方法。

[0399] 在上述实施方式中,能够提供一种存储器节点不需要管理路径指定表就能够有效 地传送包的存储装置、以及数据处理方法。

[0400] 对本发明的几个实施方式进行了说明,但这些实施方式是作为例子而列举的,并 不用来限定发明的范围。这些新的方法以及系统能够以其它的各种方式具体实施,在不脱 离发明主旨的范围内能够进行各种省略、置换、变更。这些实施方式及其变形例都包含在发 明的范围、主旨中,并且包含在权利要求书记载的发明及其均等的范围内。

Claims (14)

1. 一种存储系统中的存储装置,其特征在于,包括: 具备多个输入端口、多个输出端口、由在所述存储装置内的其物理位置确定的格子坐 标、选择器、包控制器以及存储器的多个存储器节点, 所述选择器将输入到所述输入端口的包输出到所述输出端口, 所述包控制器控制所述选择器的输出, 所述存储器存储数据, 其中,所述存储器节点彼此之间通过所述输入端口以及所述输出端口相互地连接, 所述包控制器在接收了不是发给自身的存储器节点的包的情况下,根据方向信息和当 前位置信息,切换输出所述包的所述输出端口, 以使得尽可能不从连接所述包的发送目的地地址的格子坐标和所述包的发送源地址 的格子坐标的直线分离的方式确定所述方向信息,并且所述方向信息指示从所述发送源地 址到所述发送目的地地址的方向, 所述当前位置信息由具有所述包控制器的存储器节点的地址的格子坐标确定, 其中,所述存储系统根据仿真结果来求出无拥塞或者拥塞发生在实用上不会成为问题 的控制计算机数与存储器节点数的关系,从而控制无拥塞操作。
2. 根据权利要求1所述的存储装置,其特征在于, 所述包控制器判断所述自身的存储器节点属于以连接所述发送目的地地址的存储器 节点和所述发送源地址的存储器节点的直线来划分的2个区域中的哪一个, 向分配给所述自身的存储器节点所属的区域的方向的邻接的存储器节点传送所述包。
3. 根据权利要求1所述的存储装置,其特征在于, 所述包控制器根据至少包含所述发送目的地地址、所述自身的存储器节点的地址、所 述发送源地址以及自身的存储器节点的输出端口占有信息的信息,切换所述输出端口。
4. 根据权利要求3所述的存储装置,其特征在于, 所述包控制器判断所述自身的存储器节点属于以连接所述发送目的地地址的存储器 节点和所述发送源地址的存储器节点的直线来划分的2个区域中的哪一个, 向分配给所述自身的存储器节点所属的区域的2个方向中通过所述自身的存储器节点 的所述输出端口占有信息确定的方向的邻接的存储器节点传送所述包。
5. 根据权利要求3所述的存储装置,其特征在于, 所述包控制器判断所述自身的存储器节点属于以连接所述发送目的地地址的存储器 节点和所述发送源地址的存储器节点的直线、以及与所述直线正交的直线来划分的4个区 域中的哪一个, 向分配给所述自身的存储器节点所属的区域的2个方向中通过所述自身的存储器节点 的所述输出端口占有信息确定的方向的邻接的存储器节点传送所述包。
6. 根据权利要求3所述的存储装置,其特征在于, 所述包控制器判断所述自身的存储器节点属于以连接所述发送目的地地址的存储器 节点和所述发送源地址的存储器节点的直线、以及与所述直线正交的直线、沿着存储器节 点的排列方向通过所述发送目的地地址的存储器节点的2条直线来划分的8个区域中的哪 一个, 向分配给所述自身的存储器节点所属的区域的2个方向中通过所述自身的存储器节点 的所述输出端口占有信息确定的方向的邻接的存储器节点传送所述包。
7. 根据权利要求1所述的存储装置,其特征在于, 所述包控制器向与所述自身的存储器节点邻接的所述多个存储器节点中的、所述发送 目的地地址的存储器节点与所述包的输出目的地的存储器节点的距离变得最小的存储器 节点传送所述包。
8. 根据权利要求1所述的存储装置,其特征在于, 所述多个存储器节点的一部分存储器节点,具有与邻接的存储器节点连接的第1输入 端口以及第1输出端口以外的第2输入端口以及第2输出端口, 所述一部分的存储器节点通过所述第2输入端口以及第2输出端口与计算机或者不邻 接的非邻接存储器节点中的至少某一个连接。
9. 根据权利要求8所述的存储装置,其特征在于, 与所述非邻接存储器节点连接的存储器节点除了所述格子坐标之外,还具有由与所述 非邻接存储器节点连接的存储器节点彼此之间的相对的物理位置确定的附加地址, 与所述非邻接存储器节点连接的存储器节点接收了以自身的存储器节点以外的存储 器节点为目的地的包的情况下, 所述存储器节点的所述包控制器根据包含所述自身的存储器节点的附加地址、或者所 述自身的存储器节点以外的与非邻接存储器节点连接的存储器节点的附加地址中的至少 某一个的信息,切换所述输出端口。
10. 根据权利要求8所述的存储装置,其特征在于, 将所述多个存储器节点分割为包含相同数目的存储器节点的多个区域,通过所述第2 输入端口以及所述第2输出端口将位于所述多个区域的各个中心的存储器节点彼此连接。
11. 根据权利要求1所述的存储装置,其特征在于, 还具备与所述多个存储器节点连接的继电器, 其中,所述继电器向与所述包的所述发送目的地地址的存储器节点之间的距离最小的 存储器节点发送所述包。
12. 根据权利要求1所述的存储装置,其特征在于, 所述存储器节点还具备地址变换器, 所述存储器节点针对自己所保有的key-value型数据的各记录,通过所述地址变换器 将key变换为地址,向所述地址发送包含value的包。
13. -种存储系统,其特征在于,包括: 多个存储器节点,该存储器节点具有格子坐标、多个输入端口、多个输出端口、选择器、 包控制器以及存储器,所述选择器将输入到所述输入端口的包输出到所述输出端口,所述 包控制器控制所述选择器的输出,所述存储器存储数据;以及 多个计算机,与所述多个存储器节点中配置在外周部的存储器节点连接, 其中,所述存储器节点彼此之间通过所述输入端口以及所述输出端口而相互地连接, 每个所述存储器节点的格子坐标具有由所述存储系统中的物理位置确定的物理地址, 所述包控制器在接收了不是发给自身的存储器节点的包的情况下,根据方向信息和当 前位置信息,切换输出所述包的所述输出端口, 在将所述存储器节点的数量设为Νη_、所述计算机的数量设为Nc的情况下,满足
Figure CN102708073BC00041
以使得尽可能不从连接所述包的发送目的地地址的格子坐标和所述包的发送源地址 的格子坐标的直线分离的方式确定所述方向信息,并且所述方向信息指示从所述发送源地 址到所述发送目的地地址的方向, 所述当前位置信息由具有所述包控制器的存储器节点的地址的格子坐标确定, 其中,所述存储系统根据仿真结果来求出无拥塞或者拥塞发生在实用上不会成为问题 的计算机数与存储器节点数的关系,从而控制无拥塞操作。
14.根据权利要求13所述的存储系统,其特征在于,
Figure CN102708073BC00042
CN201110274966.0A 2010-11-10 2011-09-16 存储装置以及数据处理方法 CN102708073B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010-252336 2010-11-10
JP2010252336A JP5238791B2 (ja) 2010-11-10 2010-11-10 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
CN102708073A CN102708073A (zh) 2012-10-03
CN102708073B true CN102708073B (zh) 2017-03-01

Family

ID=46020756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110274966.0A CN102708073B (zh) 2010-11-10 2011-09-16 存储装置以及数据处理方法

Country Status (5)

Country Link
US (3) US9246709B2 (zh)
JP (1) JP5238791B2 (zh)
KR (1) KR101298367B1 (zh)
CN (1) CN102708073B (zh)
TW (1) TWI463837B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824437B2 (en) * 2011-03-02 2014-09-02 Ricoh Company, Ltd. Wireless communications device, electronic apparatus, and methods for determining and updating access point
JP5762878B2 (ja) 2011-08-08 2015-08-12 株式会社東芝 key−valueストアを有するメモリシステム
US8838937B1 (en) * 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
JP5985403B2 (ja) 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
JP6005533B2 (ja) * 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
US10089043B2 (en) * 2013-03-15 2018-10-02 Micron Technology, Inc. Apparatus and methods for a distributed memory system including memory nodes
JP6005566B2 (ja) 2013-03-18 2016-10-12 株式会社東芝 情報処理システム、制御プログラムおよび情報処理装置
JP6070357B2 (ja) * 2013-03-28 2017-02-01 富士通株式会社 ストレージ装置
US8761181B1 (en) * 2013-04-19 2014-06-24 Cubic Corporation Packet sequence number tracking for duplicate packet detection
JP5931816B2 (ja) 2013-08-22 2016-06-08 株式会社東芝 ストレージ装置
JP5989614B2 (ja) * 2013-08-22 2016-09-07 株式会社東芝 ストレージ装置
JP5996497B2 (ja) * 2013-08-22 2016-09-21 株式会社東芝 ストレージ装置
JP5902137B2 (ja) * 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
US10003675B2 (en) * 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data
JP5659289B1 (ja) 2013-12-27 2015-01-28 株式会社東芝 ストレージシステム
JP2015152949A (ja) 2014-02-10 2015-08-24 株式会社東芝 ストレージシステム
US20160034191A1 (en) * 2014-08-01 2016-02-04 Kabushiki Kaisha Toshiba Grid oriented distributed parallel computing platform
US9645760B2 (en) * 2015-01-29 2017-05-09 Kabushiki Kaisha Toshiba Storage system and control method thereof
JP6313237B2 (ja) 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
JP6342351B2 (ja) 2015-03-02 2018-06-13 東芝メモリ株式会社 ストレージシステム
US10268373B2 (en) * 2015-03-04 2019-04-23 Toshiba Memory Corporation Storage system with improved communication
US10303637B2 (en) * 2015-08-20 2019-05-28 Toshiba Memory Corporation Storage system including a plurality of storage devices arranged in a holder
JP2018041154A (ja) 2016-09-05 2018-03-15 東芝メモリ株式会社 ストレージシステムおよび処理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463381A (en) * 1990-10-17 1995-10-31 Fujitsu Limited Database system having a plurality of nodes communicating with each other via communication network
US6230303B1 (en) * 1997-02-24 2001-05-08 Lucent Technologies Inc. Proximity-based cluster allocation for hardware-software co-synthesis of heterogeneous distributed embedded systems
CN1490979A (zh) * 2002-10-17 2004-04-21 株式会社日立制作所 信息路由选择方法和信息中继装置
US7213106B1 (en) * 2004-08-09 2007-05-01 Sun Microsystems, Inc. Conservative shadow cache support in a point-to-point connected multiprocessing node
JP4385387B1 (ja) * 2009-07-02 2009-12-16 修平 西山 属性付きキー・バリュー・ストアによるデータベース・システム
CN101841471A (zh) * 2009-03-18 2010-09-22 富士通株式会社 具有连接成多维矩阵的节点的系统及其控制方法以及设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04148484A (en) * 1990-10-12 1992-05-21 Fujitsu Ltd Communication system for processor array computer
JP2976675B2 (ja) * 1992-02-21 1999-11-10 日本電気株式会社 アレイプロセッサのルーティング方法
US5926101A (en) * 1995-11-16 1999-07-20 Philips Electronics North America Corporation Method and apparatus for routing messages in a network of nodes with minimal resources
KR0170493B1 (ko) * 1995-12-08 1999-03-30 양승택 다중 프로세서 시스템을 위한 논블록킹 결함허용 감마 연결망
JP2982755B2 (ja) 1997-07-11 1999-11-29 日本電気株式会社 スイッチ装置
US6456624B1 (en) * 1997-10-29 2002-09-24 Enterasys Networks, Inc. Network address resolve blocker
US6457100B1 (en) * 1999-09-15 2002-09-24 International Business Machines Corporation Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls
EP1497750A4 (en) * 2001-02-24 2011-03-09 Ibm Efficient implementation of a multidimensional fast fourier transform on adistributed-memory parallel multi-node computer
JP2003174460A (ja) 2001-12-06 2003-06-20 Hitachi Ltd データ通信方法及びその実施システム並びにその処理プログラム
US7080156B2 (en) * 2002-03-21 2006-07-18 Sun Microsystems, Inc. Message routing in a torus interconnect
US20040022022A1 (en) * 2002-08-02 2004-02-05 Voge Brendan A. Modular system customized by system backplane
EP1548998A4 (en) * 2002-10-03 2008-02-27 In4S Inc Bit string check method and device
US7325095B2 (en) * 2005-02-28 2008-01-29 Hitachi Global Storage Technologies Netherlands B.V. Data storage organization for distributed computing in an intelligent disk drive
JP4713902B2 (ja) * 2005-03-01 2011-06-29 株式会社日立製作所 ストレージシステム
EP2383656B1 (en) 2005-04-21 2013-06-19 Violin Memory, Inc. Interconnection system
US7633940B1 (en) * 2005-06-27 2009-12-15 The Board Of Trustees Of The Leland Stanford Junior University Load-balanced routing
US7577813B2 (en) * 2005-10-11 2009-08-18 Dell Products L.P. System and method for enumerating multi-level processor-memory affinities for non-uniform memory access systems
WO2008034298A1 (en) * 2006-09-20 2008-03-27 Intel Corporation Optimized cache consistency algorithm in a point-to-point interconnected multiple processor system
US8050257B2 (en) * 2006-12-12 2011-11-01 Maged E Beshai Network with a fast-switching optical core
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
JP5246158B2 (ja) 2007-06-08 2013-07-24 日本電気株式会社 半導体集積回路及びフィルタ制御方法
JP2009037273A (ja) 2007-07-31 2009-02-19 Hitachi Ltd マルチプロセッサシステム
US8102794B2 (en) * 2007-12-10 2012-01-24 Electronics And Telecommunications Research Institute Cross-layer routing method in wireless sensor network
US20100241783A1 (en) * 2009-03-23 2010-09-23 Honeywell International Inc. Memory node for use within a data storage system having a plurality of interconnected memory nodes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463381A (en) * 1990-10-17 1995-10-31 Fujitsu Limited Database system having a plurality of nodes communicating with each other via communication network
US6230303B1 (en) * 1997-02-24 2001-05-08 Lucent Technologies Inc. Proximity-based cluster allocation for hardware-software co-synthesis of heterogeneous distributed embedded systems
CN1490979A (zh) * 2002-10-17 2004-04-21 株式会社日立制作所 信息路由选择方法和信息中继装置
US7213106B1 (en) * 2004-08-09 2007-05-01 Sun Microsystems, Inc. Conservative shadow cache support in a point-to-point connected multiprocessing node
CN101841471A (zh) * 2009-03-18 2010-09-22 富士通株式会社 具有连接成多维矩阵的节点的系统及其控制方法以及设备
JP4385387B1 (ja) * 2009-07-02 2009-12-16 修平 西山 属性付きキー・バリュー・ストアによるデータベース・システム

Also Published As

Publication number Publication date
US10397139B2 (en) 2019-08-27
TWI463837B (zh) 2014-12-01
US9246709B2 (en) 2016-01-26
CN102708073A (zh) 2012-10-03
US20180324111A1 (en) 2018-11-08
KR101298367B1 (ko) 2013-09-16
JP2012103926A (ja) 2012-05-31
US10044642B2 (en) 2018-08-07
US20120117354A1 (en) 2012-05-10
KR20120050377A (ko) 2012-05-18
TW201220773A (en) 2012-05-16
JP5238791B2 (ja) 2013-07-17
US20160149834A1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
CN104243265B (zh) 一种基于虚拟机迁移的网关控制方法、装置及系统
KR101502896B1 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
EP1552669B1 (en) Integrated circuit and method for establishing transactions
US10496770B2 (en) System level simulation in Network on Chip architecture
ES2265971T3 (es) Conmutador y componentes de red y metodo de funcionamiento.
US6246689B1 (en) Method and apparatus for efficient topology aggregation for networks with hierarchical structure
JP3578385B2 (ja) コンピュータ、及びレプリカ同一性保持方法
CN102124703B (zh) 以太网网桥的交换表
Shin HARTS: A distributed real-time architecture
EP0348327B1 (en) Method of derermining an optimal end node to end node route through a data communications network
CN1025269C (zh) 通信交换系统
US5247694A (en) System and method for generating communications arrangements for routing data in a massively parallel processing system
CN105812287B (zh) 分组交换网络中的有效电路
JP4494905B2 (ja) 情報処理システム、管理計算機及びリモートコピー方法
CN105549904B (zh) 一种应用于存储系统中的数据迁移方法及存储设备
CN102523764A (zh) 中继装置
Murakami et al. Optimal capacity and flow assignment for self-healing ATM networks based on line and end-to-end restoration
CN105830403A (zh) 高性能lfa路径算法
CN103348640B (zh) 中继装置
CN104734954B (zh) 一种用于软件定义网络的路由确定方法和装置
CN106030553A (zh) 存储器网络
CN108476208A (zh) 多路径传输设计
CN102282810B (zh) 负载平衡
US20160132541A1 (en) Efficient implementations for mapreduce systems
CN102624926B (zh) 能力聚合开放的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170731

Address after: Tokyo, Japan

Patentee after: Toshiba Storage Corporation

Address before: Tokyo, Japan, Japan

Patentee before: Toshiba Corp

TR01 Transfer of patent right