CN101393540A - 数据传送装置、信息处理系统以及计算机可读记录介质 - Google Patents

数据传送装置、信息处理系统以及计算机可读记录介质 Download PDF

Info

Publication number
CN101393540A
CN101393540A CNA2008101491912A CN200810149191A CN101393540A CN 101393540 A CN101393540 A CN 101393540A CN A2008101491912 A CNA2008101491912 A CN A2008101491912A CN 200810149191 A CN200810149191 A CN 200810149191A CN 101393540 A CN101393540 A CN 101393540A
Authority
CN
China
Prior art keywords
processing request
data
unit
bus
transmitting element
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.)
Granted
Application number
CNA2008101491912A
Other languages
English (en)
Other versions
CN101393540B (zh
Inventor
加藤敬子
羽根田光正
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101393540A publication Critical patent/CN101393540A/zh
Application granted granted Critical
Publication of CN101393540B publication Critical patent/CN101393540B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/378Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

数据传送装置、信息处理系统以及记录了数据传送程序的计算机可读记录介质。经由串行连接SCSI连接至数据传送目的地的数据传送装置包括多个总线。队列单元使与数据传送相关的多个处理请求排队。传送单元在接收到处理请求时获取与处理请求相关的传送数据,并且利用多个总线中的一个总线将所获取的数据传送至目的地。发送单元将在队列单元中排队的处理请发送至传送单元。检测单元检测处理请求的数量。判定单元判定检测单元检测到的处理请求数量是否小于总线的数量。如果判定单元判定处理请求数量小于总线数量,则发送单元根据总线数量和处理请求数量将处理请求分割成多个处理请求。

Description

数据传送装置、信息处理系统以及计算机可读记录介质
技术领域
本发明涉及响应于I/O(输入/输出)请求经由SAS(串行连接SCSI(小型计算机系统接口))宽链路在彼此连接的装置之间传送数据的技术。
背景技术
本申请与2007年9月19日在日本专利局提交的日本专利申请2007—242710相关并要求其优先权,在此以引证的方式并入其内容。
近年来,作为发起装置与目标装置之间的接口,能够进行高速数据传送的SAS已经引起了注意。发起装置可以是作为数据传送源的服务器等。目标装置可以是作为数据传送目的地的RAID(廉价磁盘冗余阵列)装置等。特别地,SAS宽链路(Wide Link)使得能够通过利用多个总线彼此连接多个装置来实现高速数据传送。
例如,参照图5,SAS宽链路系统100包括四个路线(lane)102-0到102-3,其中,SAS发起端110物理地连接至SAS目标端120。SAS发起端110通过四个总线101-0到101-3物理地连接至SAS目标端120。下文中,当总线101-0到101-3彼此不区分时利用标号101进行描述。如果SAS PHY(物理层)的数据传送速率在各个路线中为3GB/s,则可以实现12GB/s的总线性能。
应注意到,路线102-0到102-3(下文中,当路线102-0到102-3彼此不区分时利用标号102进行描述)是由包括相应总线101的SAS发起端110和SAS目标端120的SAS PHY 0到3实现的数据传送路径。在此,包括总线101-0的SAS发起端110和SAS目标端120的SAS PHY 0形成路线102-0。包括总线101-1的SAS发起端110和SAS目标端120的SASPHY 1形成路线102-1。包括总线101-2的SAS发起端110和SAS目标端120的SAS PHY 2形成路线102-2。包括总线101-3的SAS发起端110和SAS目标端120的SAS PHY 3形成路线102-3。
例如,如果SAS宽链路系统100中的SAS发起端110的DMA(直接存储器存取)管理器111接收到由存储控制器103发出的I/O请求(处理请求),则DMA管理器111将该I/O请求提供给多个DMA通道112-0到112-n中的一个。(n为自然数,优选为3到7,并且下文中,当DMA通道112-0到112-n彼此不区分时利用标号112进行描述)。
当接收到I/O请求时,DMA通道112获取与该I/O请求相关的待传送数据,并且输出所获取的数据。将从DMA通道112输出的数据通过由路线选择器113选定的路线102传送至SAS目标端120。
在SAS目标端120中,仲裁器121对通过各个路线102从SAS发起端110接收到的传送数据进行仲裁,并将它发送至接收控制器122。接收控制器122根据接收到的数据向存储控制器104输出与接收到的数据相关的命令。
通常,已经存在利用SAS的技术,其通过利用扩展器(expander)吸收作为目标装置的磁盘阵列装置的SAS-HDD的多个物理链路之间的速率差(例如,参见专利文献1:日本特开2006-72636)。
发明内容
经由串行连接SCSI连接至数据传送目的地的数据传送装置包括多个总线。队列单元使与数据传送相关的多个处理请求排队。传送单元在接收到处理请求时获取与处理请求相关的传送数据,并且利用所述多个总线中的一个总线将所获取的数据传送至所述目的地。发送单元将在所述队列单元中排队的处理请发送至传送单元。检测单元检测处理请求的数量。判定单元判定所述检测单元检测到的处理请求数量是否小于总线的数量。如果所述判定单元判定所述处理请求数量小于所述总线数量,则所述发送单元根据所述总线数量和所述处理请求数量将所述处理请求分割成多个处理请求。
实施方式的其它目的和优点将部分地在下面的描述中加以阐述,而部分地根据该描述是显见的,或者可以通过实施方式的实践而获知。通过在所附权利要求中具体指出的要素和组合将实现并获得实施方式的目的和优点。
应当理解,前述一般描述和下面的详细描述仅是示例性和解释性的,而非构成对实施方式的限定。
附图说明
图1是例示根据一个实施方式的信息处理系统的构造的框图;
图2例示了根据一个实施方式的信息处理系统中的SAS架构;
图3例示了根据一个实施方式的由信息处理系统的存储控制器发出的处理请求的示例;
图4是例示根据一个变形例的信息处理系统的示意构造的框图;以及
图5是例示常规信息处理系统的构造的框图。
具体实施方式
下文中,参照附图来描述一个实施方式。可以详细参照附图中例示的实施方式,其中,相同标号始终是指相同要素。
关于一个实施方式
首先,参照图1所示框图,描述信息处理系统1的构造的一个实施方式。如图1所示,信息处理系统1包括SAS发起装置(数据传送装置)10和SAS目标装置(传送目的地)20。SAS发起装置10和SAS目标装置20经由包括多个(在此为4)总线2-0到2-3(下文中,当总线2-0到2-3彼此不区分时利用标号2进行描述)的SAS彼此连接。可以在装置之间发送/接收数据。存储控制器4连接至SAS发起装置10。存储控制器5连接至SAS目标装置20。
SAS发起装置10是数据传送装置的一个实施方式并且例如是服务器的SAS HBA(主机总线适配器)。另一方面,SAS目标装置20例如可以是服务器的SAS HBA、RAID装置的控制器或JBOD(简单磁盘捆绑(justa bunch of disks))。
SAS发起装置10和SAS目标装置20使用四端口SAS宽端口(WidePort)并且通过四个总线2-0到2-3彼此物理地连接。因此,SAS实现四个路线(传送路径)3-0到3-3(下文中,当路线3-0到3-3彼此不区分时利用标号3进行描述)。
在此,SAS发起装置10和SAS目标装置20的SAS PHY(物理层)0形成包括总线2-0的路线3-0。SAS发起装置10和SAS目标装置20的SAS PHY 1形成包括总线2-1的路线3-1。SAS发起装置10和SAS目标装置20的SAS PHY 2形成包括总线2-2的路线3-2。SAS发起装置10和SAS目标装置20的SAS PHY 3形成包括总线2-3的路线3-3。
例如,SAS PHY的数据传送速率在每一个路线中为3GB/s,由此,具有四个路线的信息处理系统1具有12GB/s的总线性能。
下面,参照图2,描述SAS的架构。图2例示了SAS架构的典型构造。如图2所示,SAS架构包括SAS装置30(例如,信息处理系统1中的SAS发起装置10)中的六个层31到36。
具体来说,SAS架构从上到下包括:应用层31、传输层32、SAS端口层33、链路层34、SAS PHY层35,以及SAS物理层36。
应用层31例如包括:SCSI应用层31a、ATA(AT附件)应用层31b以及管理应用层31c。
传输层32例如包括:SSP(串行SCSI协议)传输层32a、STP(SATA隧道协议)传输层32b以及SMP(串行管理协议)传输层32c。
链路层34例如包括:SSP链路层34a、STP链路层34b、SMP链路层34c以及SAS链路层34d。
在此,传输层32、SAS端口层33、链路层34、SAS物理层35,以及SAS物理层36都包括在SAS端口37中。
SAS PHY 38(各包括链路层34、SAS物理层35以及SAS物理层36)的数量对应于路线的数量。例如,信息处理系统1包括四个SAS PHY 38。
如图1所示,信息处理系统1的存储控制器4向作为数据传送源的SAS发起装置10发出与数据传送相关的处理请求(I/O:输入/输出)。
另一方面,存储控制器5对后级(未示出)的存储装置等执行SAS目标装置20从SAS发起装置10接收到的处理请求。
SAS发起装置10利用SAS(多个路线3)向SAS目标装置20传送从存储控制器4接收到的处理请求和与该处理请求相关的待传送数据,并且包括:DMA(直接存储器存取)管理器11、DMA通道(获取单元)12-0到12-n(n为自然数,优选地应当设置4到8个DMA通道,由此n优选为3到7),以及路线选择器(选择单元)13。
DMA管理器11对应于图2所示应用层31,并且管理与从存储控制器4接收到的处理请求有关的传送处理等。
当接收到来自DMA管理器11的处理请求时,DMA通道12-0到12-n(下文中,当DMA通道12-0到12-n彼此不区分时利用标号12进行描述)各获取与该处理请求相关的待传送数据,并且向传送目的地输出获取的数据。待传送数据可以是与处理请求相关的数据或者是处理请求本身。
DMA通道12的数量不受限,并且例如可以是4到8个(即,n为3到7)。
下面,参照图3,描述处理请求(在此为SCSI读取命令)的一个示例。DMA管理器11从存储控制器4接收到并且被提供给DMA通道12的处理请求具有如图3所示的结构。即,该处理请求包括:操作代码(该图中的0x08)41、LUN(逻辑单元号)42、LBA(逻辑块地址)43、传送数据长度(该图中的“传送长度”)44,以及控制信息(该图中的“控制”)45。
当接收到图3所示处理请求时,DMA通道12基于LUN 42和LBA 43从存储单元(存储器,未示出)获取待传送的数据,并且利用SAS的路线3将获取的数据与该处理请求一起输出至SAS目标装置20。
路线选择器13从多个总线2中选择待用于传送从DMA通道12输出的数据的总线2。具体来说,当从DMA通道12输出数据时,路线选择器13选择总线2中的一个空闲总线(路线3),作为用于传送该数据的总线。路线选择器13还起到将DMA通道12连接至所选定的总线2(路线3)的开关的作用。
这样,DMA通道12和路线选择器13在接收到与数据传送相关的处理请求时起到获取与该处理请求相关的待传送数据的传送单元12a的作用。传送单元12a利用总线2(路线3)中的一个将所获取的数据传送至作为传送目的地的SAS目标装置20。
如图1所示,DMA管理器11包括:队列单元14、检测单元15、判定单元16以及发送单元17。
队列单元14是基于FIFO(先入先出)方法的存储器并且使存储控制器4发出并由DMA管理器11接收到的处理请求排队(临时保持)。
检测单元15检测在队列单元14中排队的处理请求的数量,并且包括计数器15a。
具体来说,检测单元15在将处理请求输入至队列单元14时使计数器15a加1,而在从队列单元14输出处理请求时使计数器15a减1。而且,检测单元15读取计数器15a的值,以便检测在队列单元14中排队的处理请求的数量。
判定单元16判定在队列单元14中排队的处理请求的数量(通过检测单元15检测到的数量)是否小于将SAS发起装置10连接至SAS目标装置20的总线2的数量(即,小于SAS路线3的数量4)。
具体来说,如果排队的处理请求的数量小于总线2的数量,则判定单元16判定可以使用多个路线3,并且判定下述发送单元17的分割器17a应当分割在队列单元14中排队的处理请求。
发送单元17将在队列单元14中排队的处理请求发送至后级的DMA通道12(即,传送单元12a)。发送单元17包括分割器17a,如果判定单元16判定在队列单元14中排队的处理请求的数量小于总线2的数量,则该分割器17a根据总线2的数量和该处理请求的数量将在队列单元14中排队的处理请求分割成多个处理请求。
即,分割器17a根据总线2的数量与排队的处理请求的数量之差将处理请求分割成多个处理请求,使得在分割之后处理请求的数量与总线2的数量相同。
在通过分割器17a将处理请求分割成多个处理请求之后,发送单元17将通过分割而生成的所有处理请求发送至DMA通道12。
另一方面,如果判定单元16判定处理请求的数量等于或大于总线2的数量,则分割器17a不分割在队列单元14中排队的处理请求,并且发送单元17跳过分割而将在队列单元14中排队的处理请求发送至DMA通道12。换句话说,发送单元17使得能够以普通SAS传送方法通过向各个处理请求分配一个路线而执行传送。
下面,描述通过分割器17a执行的具体分割处理。当排队的处理请求的数量为1时,分割器17a因总线2的数量为4而将处理请求分割成4个处理请求。
当排队的处理请求的数量为2时,分割器17a因总线的数量为4而将每一个处理请求分割成两个处理请求。
而且,当排队的处理请求的数量为3时,分割器17a将队列单元14开头的两个处理请求中的每一个分割成两个处理请求并将其输出,而另一处理请求此时不输出。
或者,当排队的处理请求的数量为3时,分割器17a可以将队列单元14中的第一处理请求分割成两个处理请求,并且可以输出另两个处理请求而不分割它们。
另外,如果分割器17a分割处理请求,则分割器17a基于在图3中所示的处理请求中包括的传送数据长度44(传送数据长度信息)来识别与该处理请求相关的传送数据长度,并接着基于识别出的数据长度分割该处理请求,使得与各处理请求相关的传送数据的长度尽可能均匀。
更具体地说,分割器17a通过改变处理请求中包含的指示传送数据存储位置的地址信息的LBA 43和传送数据长度44来分割处理请求。
例如,当识别出的数据长度为4GB并且分割数为4时,分割器17a生成四个处理请求,并且每一个都具有1GB的数据长度。当分割之前的原始处理请求的LBA 43指示1到40000时,分割器17a生成四个处理请求,每一个都具有1GB的传送数据长度44,并且将各处理请求的LBA 43分别设置成“1到10000”、“10001到20000”、“20001到30000”,以及“30001到40000”。在通过分割而生成的各处理请求中,操作代码41、LUN 42以及控制信息45与原始处理请求中的那些相同。
即,分割器17a将原始处理请求的LBA 43改变成“1到10000”并且还将传送数据长度44改变成1GB。接着,分割器17a复制原始处理请求以生成三个处理请求,将各LBA 43改变成“10001到20000”、“20001到30000”,以及“30001到40000”,并且还将各传送数据长度44改变成1GB,由此,将原始处理请求分割成四个处理请求。
这样,DMA管理器11利用全部四个路线3来执行数据传送。即,判定单元16既不判定DMA通道12和路线选择器13的处理状态也不判定路线3的实际使用状态,而是基于路线3的数量和在队列单元14中排队的处理请求的数量来估计路线3的空闲状态。基于该估计结果,如果排队的处理请求可以使用多个路线3,则发送单元17(分割器17a)分割排队的处理请求,使得根据可用路线的数量(即,通过从路线3的数量中减去排队的处理请求的数量而计算出的数量)和排队的处理请求的数量来使用全部路线3。因此,仅通过设置检测单元15、判定单元16以及分割器17a(在此,检测单元15、判定单元16以及分割器17a的功能通过软件来实现)而不需要重新提供用于监视空闲路线3的实际使用状态的机制,即可实现恒定地同时利用全部路线或多数路线而进行数据传送。
每当发送单元17从队列单元14中读取处理请求并将它发送至DMA通道时,就执行DMA管理器11的检测单元15、判定单元16以及发送单元17(分割器17a)中的处理。即,在通过发送单元17的分割器17a分割了队列单元14中的处理请求之后,检测单元15、判定单元16以及发送单元17在将通过分割而生成的全部处理请求发送至DMA通道12之后执行下一次处理。
下面,描述DMA管理器11的操作过程的具体示例。DMA管理器11例如执行以下过程(1)到(5)。
(1)首先,在队列单元14中没有处理请求在排队的状态下,DMA管理器11接收来自存储控制器4的处理请求。队列单元14使处理请求排队,然后计数器15a加1。
(2)当发送单元17执行发送处理时,检测单元15检测到“1”,并且判定单元16将检测单元15检测到的“1”与总线的数量“4”进行比较,并且判定排队的处理请求的数量小于总线的数量。
(3)接着,发送单元17的分割器17a从队列单元14读取该处理请求,并将它分割成四个处理请求。发送单元17根据DMA通道12的处理状态将这四个处理请求顺序地发送至DMA通道12。在从队列单元14读取了处理请求之后,计数器15a减1。
(4)如果DMA管理器11在上述操作(3)期间接收到来自存储控制器4的另一处理请求,则使该处理请求在队列单元14中排队,并且计数器15a加1。如果在上述操作(3)期间两个处理请求在排队,则计数器15a的值变为“2”。
(5)接着,在结束了发送单元17执行的操作(3)之后,执行和上述操作(2)和(3)相同的操作。即,检测单元检测到“2”,并且判定单元16将检测单元15检测到的“2”与总线的数量“4”进行比较,并且判定排队的处理请求的数量小于总线的数量。接着,发送单元17的分割器17a从队列单元14读取这两个处理请求,并将这两个处理请求中的每一个都分割成两个处理请求,从而生成四个处理请求。发送单元17根据DMA通道12的处理状态将这四个处理请求顺序地发送至DMA通道12。
在上述操作(4)中,如果四个或更多个处理请求在排队并且检测单元15检测到“4”或更多,则判定单元16判定排队的处理请求的数量等于或大于总线的数量,分割器17a不执行分割,并且发送单元17从队列单元14中读取这些处理请求中的一个,并将它发送至DMA通道12,而不同于上述操作(5)。
接下来,描述SAS目标装置20。SAS目标装置20与图5所示常规系统100的SAS目标装置120相同,并且包括仲裁器21和接收控制器22。
仲裁器21执行仲裁,以将通过SAS路线3从SAS发起装置10接收到的处理请求和传送数据顺序地发送至后级的接收控制器22。
接收控制器22根据接收到的处理请求或处理请求和传送数据而将处理请求等输出至存储控制器5。
接着,存储控制器5对连接至存储控制器5的存储装置(未示出)执行与处理请求相关的处理(写入处理/读取处理)。
如上所述,根据作为一个实施方式的信息处理系统,如果判定单元16判定处理请求的数量小于总线2的数量,则发送器17的分割器17a将在队列单元14中排队的处理请求分割成多个处理请求。分割器17a根据总线2的数量和在队列单元14中排队的处理请求的数量分割处理请求,使得能够总是利用多数总线2进行数据传送。因此,可以高效地在经由包括多个总线2的SAS相互连接的SAS装置10与20之间执行数据传送,由此可以实现高速数据传送。
即,发送单元17的分割器17a分割处理请求,以便根据在队列单元14中排队的处理请求的数量来使用所有总线2。因此,不执行根据相关技术的数据传送(其中,设置有四个总线2,但仅将一个总线2用于一个处理请求以便执行数据传送)。与通信量无关,可以利用实现四个路线3的SAS宽链路的整个带宽(3GB/s×4=12GB/s)。
与另一接口相比较,
Figure A200810149191D00151
在下一代中实现了10Gbps,而FC(光纤通道)在下一代中实现了4Gbps或8Gbps。因而,服务器对服务器与SAS中的一个路线3(当一个路线3的性能为3GB/s时)之间的性能差异在将来变得更大,这在将服务器之间传送的数据写入服务器本地文件系统中的情况下将会导致SAS-HBA的严重瓶颈。在这种情况下,如在信息处理系统1中,进一步增强了分割单个处理请求来使用全部路线3的优点(即,实现了3GB/s×4=12GB/s的总线性能)。这在顺序传送方面特别有效(例如,利用FTP(文件传输协议)在服务器之间传送数据),并且当传送大量文件或者在数据镜像处理中复制数据等时可以期望更好的效果。
而且,在信息处理系统1中,作为SAS架构中的应用层31的DMA管理器11是图5所示系统100的常规DMA管理器的改进。即,添加了检测单元15、判定单元16以及发送单元17的功能。利用该构造,SAS发起装置10保持了作为SAS装置的通用性并且具有主要通过应用的改进实现的上述功能、操作以及效果。因此,可以抑制实现SAS发起装置10的成本。而且,可以容易地以低成本将SAS发起装置10的DAM管理器11的功能添加到现有SAS装置中。
而且,如果判定单元16判定处理请求的数量等于或大于总线2的数量,则发送单元17跳过分割而将队列单元14中排队的处理请求发送至传送单元12a。因此,当可以估计到正在使用全部总线2时,可以在保持该使用状态的同时执行普通处理。
发送单元17的分割器17a将在队列单元14中排队的处理请求分割成多个处理请求,使得分割之后的处理请求的数量等于总线2的数量,接着发送单元17将所有分割的处理请求发送至传送单元12a。因此,可以可靠地实现利用所有总线2的高效数据传送。
当发送单元17的分割器17a分割处理请求时,分割器17a识别与该处理请求相关的传送数据长度并且基于识别出的数据长度分割该处理请求。因此,可以分割处理请求,使得在分割之后的各个处理请求中数据长度均匀或基本均匀,并由此可以更高效地使用总线2。
这时,发送单元17的分割器17a基于处理请求中包括的传送数据长度信息44来识别传送数据长度,由此,分割器17a可以可靠且容易地识别出传送数据长度。
而且,发送单元17的分割器17a通过改变包括在处理请求中并且指示传送数据的存储位置的地址信息(LBA43)和传送数据长度信息44来分割处理请求。因此,分割器17a可以可靠地分割处理请求。
其它实施方式
本发明不限于上述实施方式,而可以在不偏离本发明范围的情况下以各种形式来实施。
例如,在上述实施方式中,SAS发起装置10通过四个总线2(即,设置有四端口SAS宽端口)连接至SAS目标装置20。然而,在本发明中,不限制SAS中包括的总线2的数量(即,SAS路线3的数量)。总线2的数量例如可以是8、12、16、20或24。
在上述实施方式中,即使在队列单元14中排队有三个处理请求,分割器17a也分割这些处理请求。然而,本发明不限于这种情况。例如,当三个处理请求在排队时,判定单元16可以判定分割器17a不分割这些处理请求。根据该判定,分割器17a不分割这些处理请求,并且发送单元17可以将这些处理请求发送至DMA通道12。
在上述实施方式中,队列单元14和计数器15a被设置在DMA管理器11中,但本发明不限于这种构造。例如,可以将队列单元14和计数器15a设置在DMA管理器11外部。
而且,在上述实施方式中,一个SAS目标装置20连接至SAS发起装置10。然而,本发明不限于这种构造。例如,如在图4所示的作为变形例的信息处理系统1′中,多个SAS目标装置(目标0、1、…以及N)20-0到20-N(N为自然数)可以经由SAS开关6连接至SAS发起装置10。
在这种情况下,SAS发起装置10通过多个总线7连接至SAS开关6,而SAS开关6通过多个总线8-0到8-N连接至相应SAS目标装置20-0到20-N。
利用这种构造,SAS发起装置10通过SAS经由多个路线连接至相应SAS目标装置20-0到20-N,使得能够在其间传送数据,并且SAS开关6切换SAS发起装置10的连接的另一端(SAS目标装置20-0到20-N)。
在根据该变形例的信息处理系统1′中,也可以获得和上述实施方式中的操作和效果相同的操作和效果。
当计算机(包括:CPU、信息处理器以及各种终端)执行预定应用程序(数据传送程序)时,可以实现上述检测单元15、判定单元16以及发送单元17(分割器17a)的功能。
该程序被记录在诸如软盘、CD(CD-ROM、CD-R、CD-RW等)或DVD(DVD-ROM、DVD-RAM、DVD-RW、DVD+R、DVD+RW等)的计算机可读记录介质上来提供。在这种情况下,计算机从该记录介质读取数据传送程序,将该程序传送至内部或外部存储装置,将该程序存储在其中,并且使用该程序。或者,该程序可以被记录在诸如磁盘、光盘或磁光盘的存储装置(记录介质)上,并且该程序可以通过通信线路从存储装置提供给计算机。
这里,计算机在概念上包括硬盘和OS(操作系统),并且是在OS的控制下操作的硬件。在OS不是必需的并且应用程序独自操作硬件的情况下,该硬件对应于计算机。硬件至少包括诸如CPU的微处理器和用于读取记录在记录介质上的计算机程序的装置。
作为上述数据传送程序的应用程序包括使得上述计算机能够实现作为检测单元15、判定单元16以及发送单元17(分割器17a)的功能的程序代码。而且,这些功能的一部分可以通过OS而非应用程序来实现。
作为根据该实施方式的记录介质,可以使用诸如IC卡、ROM盒、磁带、穿孔卡、计算机的内部存储装置(诸如RAM或ROM的存储器)或外部存储装置的各种计算机可读介质,和诸如条形码的代码标记,以及上述软盘、CD、DVD、磁盘、光盘以及磁光盘。
而且,根据这些实施方式的一个方面,可以提供上述特征、功能以及/或操作的任何组合。
根据本详细说明,这些实施方式的许多特征和优点是清楚的,因此,所附权利要求旨在覆盖落入该权利要求的真实精神和范围内的这些实施方式的所有这种特征和优点。而且,因为本领域技术人员将容易想到许多变形例和修改例,所以不希望将发明的实施方式限制成例示和描述的精确构造和操作,因此,可以采用落入所附权利要求的范围内的所有合适的修改例和等同物。

Claims (17)

1、一种数据传送装置,该数据传送装置经由包括多个总线的串行连接SCSI连接至数据传送目的地,该数据传送装置包括:
队列单元,该队列单元使与数据传送相关的一个或更多个处理请求排队;
传送单元,该传送单元在接收到所述处理请求时获取与所述处理请求相关的待传送数据,并且利用所述多个总线中的一个总线将所获取的数据传送至所述传送目的地;
发送单元,该发送单元将在所述队列单元中排队的所述处理请发送至所述传送单元;
检测单元,该检测单元检测在所述队列单元中排队的处理请求的数量;以及
判定单元,该判定单元判定所述检测单元检测到的处理请求的数量是否小于总线的数量,
其中,如果所述判定单元判定处理请求的数量小于总线的数量,则所述发送单元根据总线的数量和在所述队列单元中排队的处理请求的数量将在所述队列单元中排队的所述处理请求分割成多个处理请求。
2、根据权利要求1所述的数据传送装置,其中,如果所述判定单元判定处理请求的数量等于或大于总线的数量,则所述发送单元将所述队列单元中排队的所述处理请求发送至所述传送单元而不分割所述处理请求。
3、根据权利要求1所述的数据传送装置,其中,所述发送单元将在所述队列单元中排队的所述处理请求分割成多个处理请求,使得分割之后的处理请求的数量等于所述总线的数量。
4、根据权利要求1所述的数据传送装置,其中,所述发送单元在分割所述处理请求时识别与所述处理请求相关的传送数据长度,并且基于所识别的数据长度分割所述处理请求。
5、根据权利要求4所述的数据传送装置,其中,所述发送单元基于所述处理请求中包含的传送数据长度信息识别所述传送数据长度。
6、根据权利要求5所述的数据传送装置,其中,所述发送单元通过改变所述处理请求中包含的指示传送数据的存储位置的地址信息和所述传送数据长度信息来分割所述处理请求。
7、根据权利要求1所述的数据传送装置,其中,所述传送单元包括:
多个获取单元,所述多个获取单元获取与所述处理请求相关的待传送数据,并向所述传送目的地输出所获取的数据;以及
选择单元,该选择单元从所述多个总线中选择待用于传送从所述获取单元输出的数据的总线。
8、一种信息处理系统,该信息处理系统包括多个信息处理装置以及利用多个总线彼此连接所述多个信息处理装置使得能够在所述多个信息处理装置之间传送数据的串行连接SCSI,
作为传送数据源的所述信息处理装置包括:
队列单元,该队列单元使与数据传送相关的一个或更多个处理请求排队;
传送单元,该传送单元在接收到所述处理请求时获取与所述处理请求相关的待传送数据,并且利用所述多个总线中的一个总线将所获取的数据传送至传送目的地;
发送单元,该发送单元将在所述队列单元中排队的所述处理请发送至所述传送单元;
检测单元,该检测单元检测在所述队列单元中排队的处理请求的数量;以及
判定单元,该判定单元判定所述检测单元检测到的处理请求的数量是否小于总线的数量,
其中,如果所述判定单元判定处理请求的数量小于总线的数量,则所述发送单元根据总线的数量和在所述队列单元中排队的处理请求的数量将在所述队列单元中排队的处理请求分割成多个处理请求。
9、根据权利要求8所述的信息处理系统,其中,如果所述判定单元判定处理请求的数量等于或大于总线的数量,则所述发送单元将所述队列单元中排队的所述处理请求发送至所述传送单元而不分割所述处理请求。
10、根据权利要求8所述的信息处理系统,其中,所述发送单元将在所述队列单元中排队的所述处理请求分割成多个处理请求,使得分割之后的处理请求的数量等于所述总线的数量。
11、根据权利要求8所述的信息处理系统,其中,所述发送单元在分割所述处理请求时识别与所述处理请求相关的传送数据长度,并且基于所识别的数据长度分割所述处理请求。
12、根据权利要求11所述的信息处理系统,其中,所述发送单元基于所述处理请求中包含的传送数据长度信息识别所述传送数据长度。
13、根据权利要求12所述的信息处理系统,其中,所述发送单元通过改变所述处理请求中包含的指示传送数据的存储位置的地址信息和所述传送数据长度信息来分割所述处理请求。
14、根据权利要求8所述的信息处理系统,其中,所述传送单元包括:
多个获取单元,该多个获取单元获取与所述处理请求相关的待传送数据,并向所述传送目的地输出所获取的数据;以及
选择单元,该选择单元从所述多个总线中选择待用于传送从所述获取单元输出的数据的总线。
15、一种记录了数据传送程序的计算机可读记录介质,所述数据传送程序使得计算机能够实现在数据传送装置中将在队列单元中排队的处理请求发送至传送单元来执行与该处理请求相关的数据传送的功能,所述数据传送装置经由利用了多个总线的串行连接SCSI连接至数据传送目的地,并且所述数据传送装置包括所述队列单元和所述传送单元,所述队列单元使与数据传送相关的一个或更多个处理请求排队,而所述传送单元在接收到所述处理请求时获取与所述处理请求相关的待传送数据并且利用所述多个总线中的一个总线将所获取的数据传送至所述传送目的地,
所述数据传送程序使得所述计算机能够作为以下单元工作:
发送单元,该发送单元将在所述队列单元中排队的所述处理请发送至所述传送单元;
检测单元,该检测单元检测在所述队列单元中排队的处理请求的数量;以及
判定单元,该判定单元判定所述检测单元检测到的处理请求的数量是否小于总线的数量,
并且所述数据传送程序还使得所述计算机能够如下工作:如果所述判定单元判定处理请求的数量小于总线的数量,则所述发送单元根据总线的数量和在所述队列单元中排队的处理请求的数量将在所述队列单元中排队的所述处理请求分割成多个处理请求。
16、根据权利要求15所述的记录了数据传送程序的计算机可读记录介质,其中,所述数据传送程序使得所述计算机能够如下工作:如果所述判定单元判定处理请求的数量等于或大于总线的数量,则所述发送单元不分割所述队列单元中排队的所述处理请求而将所述处理请求发送至所述传送单元。
17、根据权利要求15所述的记录了数据传送程序的计算机可读记录介质,其中,所述数据传送程序使得所述计算机能够如下工作:所述发送单元将在所述队列单元中排队的所述处理请求分割成多个处理请求,使得分割之后的处理请求的数量等于所述总线的数量。
CN2008101491912A 2007-09-19 2008-09-19 数据传送装置和信息处理系统 Expired - Fee Related CN101393540B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007242710A JP4445535B2 (ja) 2007-09-19 2007-09-19 データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2007-242710 2007-09-19
JP2007242710 2007-09-19

Publications (2)

Publication Number Publication Date
CN101393540A true CN101393540A (zh) 2009-03-25
CN101393540B CN101393540B (zh) 2010-07-14

Family

ID=40455792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101491912A Expired - Fee Related CN101393540B (zh) 2007-09-19 2008-09-19 数据传送装置和信息处理系统

Country Status (4)

Country Link
US (1) US20090077276A1 (zh)
JP (1) JP4445535B2 (zh)
KR (1) KR101013269B1 (zh)
CN (1) CN101393540B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635969A (zh) * 2011-05-31 2014-03-12 美光科技公司 包含存储器系统控制器的设备和相关方法
CN105359481A (zh) * 2013-07-01 2016-02-24 英派尔科技开发有限公司 存储网络内的数据迁移
CN117749739A (zh) * 2024-02-18 2024-03-22 北京火山引擎科技有限公司 数据发送方法、数据接收方法、装置、设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9384160B2 (en) * 2008-09-04 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and controllers for affiliation managment
US20100070656A1 (en) * 2008-09-12 2010-03-18 Atto Technology, Inc. System and method for enhanced load balancing in a storage system
US8281054B2 (en) * 2010-08-25 2012-10-02 Lsi Corporation Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication
US9336171B2 (en) * 2012-11-06 2016-05-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Connection rate management in wide ports
JP6698353B2 (ja) * 2016-01-05 2020-05-27 Necプラットフォームズ株式会社 情報処理装置、dma転送制御方法およびdma転送制御プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5718714A (en) * 1994-10-11 1998-02-17 Circon Corporation Surgical instrument with removable shaft assembly
EP0716370A3 (en) * 1994-12-06 2005-02-16 International Business Machines Corporation A disk access method for delivering multimedia and video information on demand over wide area networks
WO2001001262A1 (fr) * 1999-06-24 2001-01-04 Fujitsu Limited Controleur de peripherique et systeme d'entree/sortie
JP2003131815A (ja) * 2001-10-22 2003-05-09 Fujitsu Media Device Kk シリアルインタフェースのデータ転送システム
JP3998532B2 (ja) * 2002-08-07 2007-10-31 株式会社ルネサステクノロジ データ転送装置
US7603464B2 (en) * 2003-06-04 2009-10-13 Sony Computer Entertainment Inc. Method and system for identifying available resources in a peer-to-peer network
US7162550B2 (en) * 2003-07-21 2007-01-09 Intel Corporation Method, system, and program for managing requests to an Input/Output device
US7341587B2 (en) * 2003-11-20 2008-03-11 Warsaw Orthopedic, Inc. Methods and devices for inserting and engaging vertebral implants in minimally invasive procedures
US8123757B2 (en) * 2003-12-31 2012-02-28 Depuy Spine, Inc. Inserter instrument and implant clip
US7290066B2 (en) * 2004-03-18 2007-10-30 Lsi Corporation Methods and structure for improved transfer rate performance in a SAS wide port environment
US7334056B2 (en) * 2004-08-09 2008-02-19 Lsi Logic Corporation Scalable architecture for context execution
US7462182B2 (en) * 2004-08-10 2008-12-09 Warsaw Orthopedic, Inc. Reducing instrument for spinal surgery
JP4555029B2 (ja) * 2004-09-01 2010-09-29 株式会社日立製作所 ディスクアレイ装置
US20060080671A1 (en) * 2004-10-13 2006-04-13 Day Brian A Systems and methods for opportunistic frame queue management in SAS connections
JP2006164010A (ja) * 2004-12-09 2006-06-22 Seiko Epson Corp 印刷システム、ドライバプログラム、及び印刷装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635969A (zh) * 2011-05-31 2014-03-12 美光科技公司 包含存储器系统控制器的设备和相关方法
CN103635969B (zh) * 2011-05-31 2017-02-15 美光科技公司 包含存储器系统控制器的设备和相关方法
CN105359481A (zh) * 2013-07-01 2016-02-24 英派尔科技开发有限公司 存储网络内的数据迁移
CN105359481B (zh) * 2013-07-01 2018-09-25 英派尔科技开发有限公司 用于数据传输的方法、计算机可读介质和数据存储系统
CN117749739A (zh) * 2024-02-18 2024-03-22 北京火山引擎科技有限公司 数据发送方法、数据接收方法、装置、设备及存储介质
CN117749739B (zh) * 2024-02-18 2024-06-04 北京火山引擎科技有限公司 数据发送方法、数据接收方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2009075753A (ja) 2009-04-09
CN101393540B (zh) 2010-07-14
US20090077276A1 (en) 2009-03-19
KR20090030220A (ko) 2009-03-24
JP4445535B2 (ja) 2010-04-07
KR101013269B1 (ko) 2011-02-09

Similar Documents

Publication Publication Date Title
CN101393540B (zh) 数据传送装置和信息处理系统
US6842835B1 (en) Storage subsystem and its controlling method
US6421760B1 (en) Disk array controller, and components thereof, for use with ATA disk drives
CN102693198B (zh) Dma传输方法及系统
US7162550B2 (en) Method, system, and program for managing requests to an Input/Output device
CA2236225C (en) Dynamically allocating space in ram shared between multiple usb endpoints and usb host
US6301625B1 (en) System and method for processing and tracking the completion of I/O requests in a disk array system
US5687390A (en) Hierarchical queues within a storage array (RAID) controller
TWI497316B (zh) 透過小型計算機系統介面輸入/輸出(scsi i/o)指示提供多重路徑之方法、電腦可讀取媒體及系統
US7839788B2 (en) Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths
US10044796B2 (en) Method and system for transmitting an application message between nodes of a clustered data processing system
US20070083727A1 (en) Maximizing storage system throughput by measuring system performance metrics
US8966000B2 (en) Aggregation and re-ordering of input/output requests for better performance in remote file systems
CN102306138A (zh) 串行高级技术附件(sata)和串行附加的小型计算机系统接口(scsi)(sas)桥接
CN103885820B (zh) 信息处理装置和信息处理方法
US7373436B2 (en) Storage control device and method for management of storage control device
US20050240934A1 (en) Task management based on system utilization
US7730239B2 (en) Data buffer management in a resource limited environment
CN104123228A (zh) 一种数据存储系统及其使用方法
CN100399306C (zh) 存储系统及其逻辑分区设置方法
US7917906B2 (en) Resource allocation in a computer-based system
CN101561786B (zh) 信息处理装置和信息处理方法
US7496717B2 (en) System for sharing storage device among controllers and method thereof
CN1578267B (zh) 处理分组以在主机系统的网络上传送的方法、系统及装置
CN113347230B (zh) 基于可编程交换机的负载均衡方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100714

Termination date: 20140919

EXPY Termination of patent right or utility model