CN114503089A - 数据传送装置和数据传送方法 - Google Patents
数据传送装置和数据传送方法 Download PDFInfo
- Publication number
- CN114503089A CN114503089A CN201980101132.4A CN201980101132A CN114503089A CN 114503089 A CN114503089 A CN 114503089A CN 201980101132 A CN201980101132 A CN 201980101132A CN 114503089 A CN114503089 A CN 114503089A
- Authority
- CN
- China
- Prior art keywords
- remaining time
- count value
- time count
- data transfer
- hosts
- 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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims description 17
- 239000000872 buffer Substances 0.000 claims abstract description 64
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 16
- 230000007704 transition Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bus Control (AREA)
Abstract
数据传送装置具备:多个主机,它们具有缓冲器,基于所述缓冲器的数据量计算剩余时间计数值;存储系统,其与所述多个主机进行数据传送,具有间歇性地禁止来自所述多个主机的访问的存储器访问禁止期间;总线仲裁器,其基于所述剩余时间计数值进行所述多个主机的仲裁;以及剩余时间计数值调整部,其对所述多个主机中的至少一个附加剩余时间计数值偏移,该剩余时间计数值偏移调整直到所述存储器访问禁止期间的开始为止的所述剩余时间计数值。
Description
技术领域
本发明涉及数据传送装置和数据传送方法。
背景技术
在经由总线将多个主机连接到存储系统的数据传送装置中,设置有实施仲裁的总线仲裁器,该仲裁向多个主机依次分配总线使用权。总线仲裁器基于主机的优先级等仲裁总线使用权。为了无数据缺损且高效地实施基于多个主机的数据传送,设计了各种仲裁方法。
例如,在专利文献1中记载的总线控制装置基于每个主机的剩余时间计数值来仲裁总线使用权,该每个主机的剩余时间计数值是根据存储在主机拥有的缓冲器中的数据量和主机的数据传送速度计算的。专利文献1所记载的总线控制装置根据主机所拥有的缓冲器的数据传送状况来仲裁总线使用权,因此能够适当地防止数据传送中的数据的缺损。
另一方面,如LPDDR4那样的以低电压驱动的存储器为了发挥最高性能,必须在初始启动时进行对由电源电压、温度、个体的最终品质等引起的特性偏差进行补偿的校准。进而,为了在启动后也补偿相对于温度上升等环境变化的特性偏移,由存储器制造商推荐实施工作中的定期的校准,在不实施该校准的情况下,有可能引起数据传送错误。与使用这样的存储器的存储系统连接的主机在存储系统实施校准的期间被间歇性地禁止存储器访问。在使用间歇性地产生存储器访问被禁止的存储器访问禁止期间的存储系统的数据传送装置中,在存储器访问禁止期间,禁止来自所有主机的存储器访问。
仲裁多个主机的总线使用权的总线仲裁器需要以在所有主机中不发生数据传送中的数据的缺损的方式仲裁总线使用权,该多个主机与间歇性地产生存储器访问禁止期间的存储系统连接。特别是在实施显示处理等实时处理的主机中,即使在间歇性地产生存储器访问禁止期间的情况下,也无法产生数据传送中的数据的缺损。
现有技术文献
专利文献
专利文献1:日本专利第3708923号公报
发明内容
发明所要解决的课题
然而,在使用间歇性地产生存储器访问禁止期间的存储系统的数据传送装置中,为了以在全部主机中不产生数据传送中的数据的缺损的方式仲裁总线使用权,需要防备存储器访问禁止期间而管理全部主机的缓冲器余量,需要复杂且大规模的仲裁处理。
鉴于上述情况,本发明的目的在于,在使用间歇性地产生存储器访问禁止期间的存储系统的数据传送装置以及数据传送方法中,通过更简易的结构来抑制数据传送中的数据的缺损的产生。
用于解决课题的手段
为了解决上述课题,本发明提出了以下的手段。
本发明的第一方式的数据传送装置具备:多个主机,它们具有缓冲器,并基于所述缓冲器的数据量来计算剩余时间计数值;存储系统,其与所述多个主机进行数据传送,具有间歇性地禁止来自所述多个主机的访问的存储器访问禁止期间;总线仲裁器,其基于所述剩余时间计数值进行所述多个主机的仲裁;以及剩余时间计数值调整部,其对所述多个主机中的至少一个附加剩余时间计数值偏移,所述剩余时间计数值偏移调整直到所述存储器访问禁止期间的开始为止的所述剩余时间计数值。
本发明的第二方式的数据传送方法是存储系统中的数据传送方法,所述存储系统与多个主机进行数据传送,具有间歇性地禁止来自所述多个主机的访问的存储器访问禁止期间,所述数据传送方法具备:剩余时间计数值计算步骤,基于所述多个主机所具有的缓冲器的数据量来计算剩余时间计数值;剩余时间计数值偏移附加步骤,对所述多个主机中的至少一个附加剩余时间计数值偏移,该剩余时间计数值偏移调整直到所述存储器访问禁止期间的开始为止的所述剩余时间计数值;以及仲裁步骤,基于所述剩余时间计数值进行所述多个主机的仲裁。
发明效果
本发明的数据传送装置及数据传送方法在使用间歇性性地产生存储器访问禁止期间的存储系统的数据传送中,能够通过更简易的结构来抑制数据传送中的数据的缺损的产生。
附图说明
图1是表示本发明的第一实施方式的数据传送装置的整体结构的图。
图2是本发明的第一实施方式的数据传送装置的主机的功能框图。
图3是说明本发明的第一实施方式的数据传送装置的总线仲裁器进行的仲裁的例子的图。
图4示出本发明的第一实施方式的数据传送装置的存储器访问禁止期间前后的主机的调整剩余时间计数值的推移。
图5示出比较例的数据传送装置中的主机的剩余时间计数值的推移。
图6示出本发明的第二实施方式的数据传送装置的存储器访问禁止期间前后的主机的调整剩余时间计数值的推移。
图7示出该数据传送装置的剩余时间计数值调整部的变形例进行的主机的调整剩余时间计数值的推移。
具体实施方式
(第一实施方式)
参照图1至图5对本发明的第一实施方式进行说明。
图1是表示本实施方式的数据传送装置100的整体结构的图。
数据传送装置100具备主机1、存储系统2、总线仲裁器3和剩余时间计数值调整部4。存储系统2经由总线连接有多个主机1。主机1都是需要显示处理等实时处理的模块。在以下的说明中,在区分多个主机1的情况下,将各个主机1记载为第一主机1a、第二主机1b、第三主机1c。此外,也可以在存储系统2上连接不需要实时处理的其他主机。
图2是主机1的功能框图。
主机1具有数据处理部11、缓冲器12、总线接口13和剩余时间计数值计算部14。在数据的传送方向是从存储系统2至主机1的情况下(存储器读取的情况下),经由总线接口13从存储系统2传送的数据在暂时存储于缓冲器12之后,传送至数据处理部11。在数据的传送方向为从主机1至存储系统2的情况下(存储器写入的情况下),数据处理部11所处理的数据在暂时存储于缓冲器12之后,经由总线接口13而传送至存储系统2。
剩余时间计数值计算部14根据缓冲器12的数据量和数据传送所需的带宽(以下称为“所需带宽”)来计算剩余时间计数值(剩余时间计数值计算步骤)。
剩余时间计数值计算部14在剩余时间计数值的计算中使用的缓冲器12的数据量在数据的传送方向是从存储系统2到主机1的情况下(存储器读取的情况下),成为缓冲器12的蓄积数据量。另一方面,在数据的传送方向是从主机1到存储系统2的情况下(在存储器写入的情况下),剩余时间计数值计算部14计算的数据量成为缓冲器12的空闲数据量。
剩余时间计数值计算部14在剩余时间计数值的计算中使用的所需带宽是数据处理部11为了无数据的缺损地进行数据处理所需的数据的带宽。例如,在数据处理部11对4个时钟始终需要32比特的数据处理的情况下,所需带宽为8比特/时钟(32比特/4个时钟)。所需带宽也可以通过存储在寄存器等中而能够由CPU等进行设定变更。
剩余时间计数值计算部14计算与将缓冲器12的数据量除以所需带宽而得到的值成比例的值作为剩余时间计数值。即,(剩余时间计数值)∝(缓冲器12的数据量[bit])/(所需带宽[bit/clock])。在数据的传送方向是从存储系统2到主机1的情况下(存储器读取的情况下),剩余时间计数值表示与缓冲器12成为空状态(缓冲器空)为止的时钟数成比例的数值。另一方面,在数据的传送方向为从主机1至存储系统2的情况下(存储器写入的情况下),剩余时间计数值表示与缓冲器12成为满状态(缓冲器满)为止的时钟数成比例的数值。计算出的剩余时间计数值越小,达到缓冲器空或缓冲器满的周期数越少,因此有可能发生数据传送中的数据的缺损,紧急性高。
如图1所示,存储系统2具有存储器21、存储器控制器22以及从总线接口23。存储系统2根据经由从总线接口23传送的来自主机1的读取请求或写入请求,实施来自存储器21的数据的读出或数据的写入。
存储器21例如是如LPDDR4那样的以低电压驱动的存储器,是不仅在初始启动时而且在工作中也需要定期地实施对由温度等引起的偏差进行补偿的校准的存储器。
存储器控制器22执行对存储器21的命令发布和数据传送。另外,存储器控制器22为了实施上述校准也实施所需的指令发行。存储器控制器22在上述校准的实施中,无法对存储器21实施数据的读出、数据的写入。
从总线接口23受理来自主机1的读取请求或写入请求。在存储器控制器22实施上述校准的期间,从总线接口23无法响应超过存储器控制器22可受理的范围的读取请求或写入请求。即,主机1在存储系统2实施校准的期间内被禁止存储器访问。主机1的存储器访问被禁止的期间被称为“存储器访问禁止期间”。由于即使在工作期间也需要定期地执行校准,因此间歇性地发生存储器访问禁止期间。
总线仲裁器3设置在多个主机1与存储系统2之间,基于剩余时间计数值进行多个主机1的仲裁(仲裁步骤)。总线仲裁器3优先将总线使用权赋予给剩余时间计数值小的主机。由总线仲裁器3赋予了总线使用权的主机1能够访问存储系统2。此外,总线仲裁器3可以与存储系统2一体地设置,也可以与存储系统2分体地设置。
图3是说明总线仲裁器3的仲裁的例子的图。
在图3所示的例子中,第一主机1a、第二主机1b以及第三主机1c的数据的传送方向是从存储系统2到主机1(存储器读取)。另外,将第一主机1a的所需带宽设为4[bit/clock],将第二主机1b的所需带宽设为2[bit/clock],将第三主机1c的所需带宽设为4[bit/clock]。另外,设为第一主机1a的缓冲器12存储40位数据,第二主机1b的缓冲器12存储24位数据,第三主机1c的缓冲器12存储32位数据。在该情况下,第一主机1a的剩余时间计数值为10,第二主机1b的剩余时间计数值为12,第三主机1c的剩余时间计数值为8。在该情况下,剩余时间计数值最小的第三主机1c的优先顺序为第一位,第一主机1a的优先顺序为第二位,剩余时间计数值最大的第二主机1b的优先顺序为第三位。
这里,当各缓冲器12的缓冲器大小不同时,更优选总线仲裁器3考虑缓冲器大小的差异来仲裁总线优先权。例如,总线仲裁器3对剩余时间计数值执行与各缓冲器12的缓冲器大小相对应的加权,然后仲裁总线优先权。具体而言,总线仲裁器3在仲裁中使用的剩余时间计数值乘以加权系数(0<加权系数≤1)。在此,加权系数是表示各缓冲器12的缓冲器大小之比的系数,例如表示为相对于最大的缓冲器大小之比。在图3的例子中,所有缓冲器12的缓冲器大小相等,因此加权系数全部为“1”。
剩余时间计数值调整部4针对主机1,将偏移(剩余时间计数值偏移)附加到多个主机1中的至少一个(剩余时间计数值偏移附加步骤),该偏移将直到存储器访问禁止期间的开始为止向总线仲裁器提示的剩余时间计数值调整为比实际在主机1中计算出的值小。在此,主机1具有实时性,始终执行数据处理等,因此在存储器访问禁止期间中发生数据传送中的数据的缺损的可能性变高。为了避免该情况,主机1需要在存储器访问禁止期间的开始之前,将不产生存储器访问禁止期间中的数据的缺损而能够继续处理的蓄积数据量(所需缓冲量)预先存储在缓冲器中,或者在缓冲器中确保空闲数据量(所需缓冲量)。通过在剩余时间计数值偏移附加步骤中与所需缓冲量相应地减小提示给总线仲裁器的剩余时间计数值,可以继续确保所需缓冲量,直到存储器访问禁止期间开始为止。此外,由于存储器访问禁止期间的长度、产生时机是已知的,所以能够事先计算所需缓冲量。
在此,将附加了剩余时间计数值偏移的剩余时间计数值称为“调整剩余时间计数值”。即(调整剩余时间计数值)=(由主机1计算出的剩余时间计数值)+(剩余时间计数值偏移)。在本实施方式中,剩余时间计数值的值越小,紧急性越高,因此提高紧急性的剩余时间计数值偏移为负值。
剩余时间计数值调整部4对多个主机1附加剩余时间计数值偏移。剩余时间计数值调整部4可以对多个主机1附加相同值的剩余时间计数值偏移,也可以对多个主机1的每一个附加不同值的剩余时间计数值偏移。剩余时间计数值偏移的值需要设为与上述所需缓冲量相应的量以上的值。此外,剩余时间计数值调整部4不对不需要实时处理的其他主机赋予剩余时间计数值偏移。
主机1的剩余时间计数值计算部14将对剩余时间计数值计算部14计算出的剩余时间计数值附加从剩余时间计数值调整部4传送的剩余时间计数值偏移而计算出的调整剩余时间计数值传送到总线仲裁器3。
剩余时间计数值调整部4可以由逻辑电路构成,也可以由在CPU中工作的软件构成。剩余时间计数值调整部4需要在存储器访问禁止期间进行工作,因此优选由逻辑电路构成。
剩余时间计数值调整部4在存储器访问禁止期间中减小剩余时间计数值偏移的偏移量(绝对值)。在本实施方式中,剩余时间计数值调整部4在存储器访问禁止期间中将剩余时间计数值偏移的值设为零。
接着,对数据传送装置100的作用进行说明。图4示出存储器访问禁止期间前后的主机1(第一主机1a、第二主机1b、第三主机1c)的调整剩余时间计数值的推移。
如图4所示,主机1(第一主机1a、第二主机1b、第三主机1c)直到存储器访问禁止期间的开始为止附加有剩余时间计数值偏移,调整剩余时间计数值比实际计算出的剩余时间计数值小。总线仲裁器3执行仲裁,使得所有主机1的剩余时间计数值接近安全水平。因此,被附加了剩余时间计数值偏移的主机1在总线仲裁器3进行的总线使用权的仲裁中,在确保所需缓冲量的同时以通常的优先顺序进行仲裁。
在数据的传送方向是从存储系统2到主机1的情况下(存储器读取的情况下),主机1的缓冲器12的蓄积数据量变得更多。另一方面,在数据的传送方向为主机1至存储系统2的情况下(存储器写入的情况下),主机1的缓冲器12的空闲数据量变得更多。
剩余时间计数值调整部4调整附加的剩余时间计数值偏移的值,使得在存储器访问禁止期间开始前确保存储器访问禁止期间中的所需缓冲量。
在数据的传送方向是从存储系统2到主机1的情况下(存储器读取的情况下),调整存储器访问禁止期间开始前的剩余时间计数值偏移的值,使得在存储器访问禁止期间中缓冲器12不会成为空状态(缓冲器空)的足够量的数据被从存储系统2读出并存储于缓冲器12。
另一方面,在数据的传送方向是从主机1到存储系统2的情况下(在存储器写入的情况下),调整存储器访问禁止期间开始前的剩余时间计数值偏移的值,使得在存储器访问禁止期间中缓冲器12不会成为满状态(缓冲器满)的足够量的数据被从缓冲器12取出并写入到存储系统2。
主机1在存储器访问禁止期间被禁止存储器访问。因此,如图4所示,在存储器访问禁止期间,主机1的剩余时间计数值随着时间经过而变小。然而,在存储器访问禁止期间结束时,任何主机1的剩余时间计数值都没有达到危险水平,并且在数据传送中没有发生数据的缺损。
剩余时间计数值调整部4在存储器访问禁止期间的开始时,将剩余时间计数值偏移的值设为零。如图4所示,在存储器访问禁止期间的开始前和结束后,主机1的调整剩余时间计数值均为相同水平,未达到危险水平。因此,在存储器访问禁止期间结束时,总线仲裁器3可以按与存储器访问禁止期间开始之前相同的通常优先顺序继续仲裁,而不进行向一部分主机1集中赋予总线使用权的仲裁。
作为比较例,图5示出不具有剩余时间计数值调整部4的数据传送装置中的主机1(第一主机A、第二主机B、第三主机C)的剩余时间计数值的推移。由于直到存储器访问禁止期间的开始为止没有附加剩余时间计数值偏移,所以危险水平被设定为确保了能够耐受存储器访问禁止期间的所需缓冲量的高水平,关于主机1的剩余时间计数值,在存储器访问禁止期间的结束时多个主机大幅超过危险水平,发生多个主机的紧急性高的仲裁。由此,与通常优先顺序下的仲裁不同,无法进行适当的调度,在存储器访问禁止期间,主机1也可能产生数据传送中的数据的缺损。
比较例的数据传送装置如图5所示,在存储器访问禁止期间结束时,第一主机A、第二主机B、第三主机C的剩余时间计数值全部达到危险水平。在总线仲裁器3如图5所示那样实施了对剩余时间计数值达到危险水平的主机1中的优先级高的第一主机A连续地赋予总线使用权的仲裁的情况下,第一主机A的剩余时间计数值返回到安全水平。然而,优先级低的第三主机C不能接受总线使用权的赋予,并且产生了数据传送中的数据的缺损。
根据本实施方式的数据传送装置100,在使用间歇性地产生存储器访问禁止期间的存储系统2的数据传送装置100中,能够通过更简易的结构来抑制数据传送中的数据的缺损的产生。仅通过在使用剩余时间计数值等实施总线使用权的仲裁的一般的数据传送装置中追加剩余时间计数值调整部4,即使在间歇性地产生存储器访问禁止期间的情况下,也能够抑制数据传送中的数据的缺损的产生。在使用剩余时间计数值来实施总线使用权的仲裁的总线仲裁器3侧,不需要用于应对存储器访问禁止期间的发生的大的规格变更。
以上,参照附图对本发明的第一实施方式进行了详细说明,但具体的结构并不限定于该实施方式,也包含不脱离本发明的主旨的范围的设计变更等。另外,在上述的实施方式以及变形例中示出的构成要素能够适当地组合而构成。
(变形例1)
例如,在上述实施方式中,剩余时间计数值调整部4对各主机1附加剩余时间计数值偏移,计算对主机1计算出的剩余时间计数值附加剩余时间计数值偏移而得到的调整剩余时间计数值,但调整剩余时间计数值的计算方式不限于此。剩余时间计数值偏移的附加也可以不由主机1实施,而由总线仲裁器3实施。
(变形例2)
例如,在上述实施方式中,主机1的剩余时间计数值计算部14基于缓冲器12的数据量和所需带宽来计算剩余时间计数值,但剩余时间计数值的计算方式并不限定于此。剩余时间计数值计算部14也可以仅根据缓冲器的数据量来计算剩余时间计数值。虽然紧急性的预测精度降低,但能够更简易地计算剩余时间计数值。
(第二实施方式)
参照图6至图7对本发明的第二实施方式的数据传送装置100B进行说明。在以后的说明中,对于与已经说明的结构相同的结构,标注相同的附图标记并省略重复的说明。数据传送装置100B与第一实施方式的数据传送装置100相比,剩余时间计数值的调整方法不同。
数据传送装置100B包括主机1、存储系统2、总线仲裁器3和剩余时间计数值调整部4B。
剩余时间计数值调整部4B对多个主机1附加剩余时间计数值偏移。剩余时间计数值调整部4从存储器访问禁止期间的结束时起到存储器访问禁止期间的开始为止,阶段性地增大剩余时间计数值偏移的偏移量(绝对值)。
图6示出数据传送装置100B中的存储器访问禁止期间前后的主机1的调整剩余时间计数值的推移。
如图6所示,主机1被附加从存储器访问禁止期间的结束时起到存储器访问禁止期间的开始为止阶段性地变化的剩余时间计数值偏移。由于从主机1传送到总线仲裁器3的调整剩余时间计数值不是急剧地变高而是阶段性地变高,所以总线仲裁器3不会针对调整剩余时间计数值急剧地变高的主机1极端地降低总线使用权的优先顺序。通过对其他主机1也实施同样的处理,能够不进行仅对某个主机1集中地实施总线使用权的赋予那样的仲裁,而实施高效的仲裁。
根据本实施方式的数据传送装置100B,在使用间歇性地产生存储器访问禁止期间的存储系统的数据传送装置100中,能够通过更简易的结构来抑制数据传送中的数据的缺损的产生。通过附加阶段性地变化的剩余时间计数值偏移,能够顺畅地进行赋予剩余时间计数值偏移时的总线仲裁器3的仲裁。
以上,参照附图对本发明的第二实施方式进行了详细说明,但具体的结构并不限定于该实施方式,也包含不脱离本发明的主旨的范围的设计变更等。另外,在上述的实施方式以及变形例中示出的构成要素能够适当地组合而构成。
(变形例3)
图7示出作为剩余时间计数值调整部4B的变形例的剩余时间计数值调整部4C进行的主机1的调整剩余时间计数值的推移。
剩余时间计数值调整部4C从存储器访问禁止期间的结束时起到存储器访问禁止期间的开始为止,对每个主机1设置时间差而使剩余时间计数值偏移变化。如图7所示,剩余时间计数值调整部4C在存储器访问禁止期间结束后,首先阶段性地增大第一主机1a的剩余时间计数值偏移的偏移量(绝对值)。之后,剩余时间计数值调整部4C阶段性地增大第二主机1b的剩余时间计数值偏移的偏移量(绝对值)。
与同时改变多个主机1的剩余时间计数值偏移的情况相比,在总线仲裁器3中,不容易发生请求总线使用权的竞争,可以更高效地使用总线。
产业上的可利用性
本发明能够应用于多个主机与存储系统连接的数据传送装置。
符号说明
100,100B数据传送装置
1主机
1a第一主机
1b第二主机
1c第三主机
11数据处理部
12缓冲器
13总线接口
14剩余时间计数值计算部
2存储系统
21存储器
22存储器控制器
23从总线接口
3总线仲裁器
4、4B、4C剩余时间计数值调整部
Claims (10)
1.一种数据传送装置,其具备:
多个主机,它们具有缓冲器,并基于所述缓冲器的数据量来计算剩余时间计数值;
存储系统,其与所述多个主机进行数据传送,具有间歇性地禁止来自所述多个主机的访问的存储器访问禁止期间;
总线仲裁器,其基于所述剩余时间计数值进行所述多个主机的仲裁;以及
剩余时间计数值调整部,其对所述多个主机中的至少一个附加剩余时间计数值偏移,所述剩余时间计数值偏移调整直到所述存储器访问禁止期间的开始为止的所述剩余时间计数值。
2.根据权利要求1所述的数据传送装置,其中,
所述多个主机除了使用所述缓冲器的所述数据量以外,还使用所述数据传送所需的带宽来计算所述剩余时间计数值,
直到存储在所述缓冲器中的所述数据量成为空状态或满状态为止的时间越短,则所述剩余时间计数值越小。
3.根据权利要求1或2所述的数据传送装置,其中,
所述剩余时间计数值调整部从所述存储器访问禁止期间的结束时起到所述存储器访问禁止期间的开始为止,阶段性地增大所述剩余时间计数值偏移的偏移量。
4.根据权利要求3所述的数据传送装置,其中,
所述剩余时间计数值调整部附加如下的所述剩余时间计数值偏移,该剩余时间计数值偏移对所述多个主机的每一个附加不同值的所述剩余时间计数值。
5.根据权利要求1至4中任一项所述的数据传送装置,其中,
所述剩余时间计数值调整部针对所述多个主机的每一个设置时间差而使所述剩余时间计数值偏移变化。
6.一种存储系统中的数据传送方法,所述存储系统与多个主机进行数据传送,具有间歇性地禁止来自所述多个主机的访问的存储器访问禁止期间,所述数据传送方法具备:
剩余时间计数值计算步骤,基于所述多个主机所具有的缓冲器的数据量来计算剩余时间计数值;
剩余时间计数值偏移附加步骤,对所述多个主机中的至少一个附加剩余时间计数值偏移,该剩余时间计数值偏移调整直到所述存储器访问禁止期间的开始为止的所述剩余时间计数值;以及
仲裁步骤,基于所述剩余时间计数值进行所述多个主机的仲裁。
7.根据权利要求6所述的数据传送方法,其中,
在所述剩余时间计数值计算步骤中,除了使用所述缓冲器的所述数据量以外,还使用所述数据传送所需的带宽来计算所述剩余时间计数值,
直到存储在所述缓冲器中的所述数据量成为空状态或满状态为止的时间越短,则所述剩余时间计数值越小。
8.根据权利要求6或7所述的数据传送方法,其中,
在所述剩余时间计数值偏移附加步骤中,从所述存储器访问禁止期间的结束时起到所述存储器访问禁止期间的开始为止,阶段性地增大所述剩余时间计数值偏移的偏移量。
9.根据权利要求8所述的数据传送方法,其中,
在所述剩余时间计数值偏移附加步骤中,附加如下的所述剩余时间计数值偏移,该剩余时间计数值偏移对所述多个主机的每一个附加不同值的所述剩余时间计数值。
10.根据权利要求6至9中任一项所述的数据传送方法,其中,
在所述剩余时间计数值偏移附加步骤中,对所述多个主机的每一个设置时间差而使所述剩余时间计数值偏移变化。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/047625 WO2021111583A1 (ja) | 2019-12-05 | 2019-12-05 | データ転送装置およびデータ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114503089A true CN114503089A (zh) | 2022-05-13 |
CN114503089B CN114503089B (zh) | 2024-05-14 |
Family
ID=76221567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980101132.4A Active CN114503089B (zh) | 2019-12-05 | 2019-12-05 | 数据传送装置和数据传送方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11842071B2 (zh) |
JP (1) | JP7381603B2 (zh) |
CN (1) | CN114503089B (zh) |
WO (1) | WO2021111583A1 (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB913190A (en) * | 1959-04-20 | 1962-12-19 | Burroughs Corp | Improvements in or relating to data processing equipment |
JPH05244426A (ja) * | 1992-02-28 | 1993-09-21 | Fujitsu Ltd | 符号データ供給方式 |
JPH10301885A (ja) * | 1997-04-24 | 1998-11-13 | Kofu Nippon Denki Kk | 情報処理システムのディスパッチ方式 |
JP2000029822A (ja) * | 1998-07-15 | 2000-01-28 | Matsushita Electric Ind Co Ltd | ブリッジ装置 |
EP1289196A1 (de) * | 2001-08-27 | 2003-03-05 | Siemens Aktiengesellschaft | Verfahren zur Übermittlung von Paketdaten unterschiedlicher Prioritätsstufen in einem Telekommunikationsnetz |
JP2004055084A (ja) * | 2002-07-23 | 2004-02-19 | Renesas Technology Corp | メモリ制御回路 |
JP2004078508A (ja) * | 2002-08-16 | 2004-03-11 | Nec Micro Systems Ltd | バス調停回路、バス調停方法およびそのプログラム |
WO2008035600A1 (fr) * | 2006-09-20 | 2008-03-27 | Panasonic Corporation | Dispositif et procédé de transmission de relais |
US20080147918A1 (en) * | 2006-12-19 | 2008-06-19 | Hanebutte Ulf R | Method and apparatus for maintaining synchronization of audio in a computing system |
JP2008269176A (ja) * | 2007-04-18 | 2008-11-06 | Canon Inc | バスマスタ装置、情報処理システム、バスマスタ装置の制御方法並びにコンピュータプログラム |
CN101571841A (zh) * | 2008-04-30 | 2009-11-04 | 株式会社东芝 | 控制器、硬盘驱动器以及控制方法 |
JP2011182369A (ja) * | 2010-03-04 | 2011-09-15 | Ricoh Co Ltd | データ転送装置、データ転送方法、データ転送プログラム及び記録媒体 |
WO2013014841A1 (ja) * | 2011-07-22 | 2013-01-31 | パナソニック株式会社 | データ処理装置およびデータ処理方法 |
CN103201725A (zh) * | 2010-11-25 | 2013-07-10 | 国际商业机器公司 | 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法 |
US9361145B1 (en) * | 2014-06-27 | 2016-06-07 | Amazon Technologies, Inc. | Virtual machine state replication using DMA write records |
US10430352B1 (en) * | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4126959B2 (ja) * | 2002-05-21 | 2008-07-30 | ソニー株式会社 | データ転送システム、およびアクセスモニタ装置 |
JP4067422B2 (ja) * | 2003-02-18 | 2008-03-26 | 富士通株式会社 | データ転送装置 |
JP4522808B2 (ja) | 2004-09-29 | 2010-08-11 | オリンパス株式会社 | バス制御装置 |
JP4699858B2 (ja) * | 2005-10-13 | 2011-06-15 | シャープ株式会社 | メモリ装置およびメモリ制御方法 |
US8806654B2 (en) * | 2006-01-13 | 2014-08-12 | Freescale Semiconductor, Inc. | Controlling the access of master elements to slave elements over a communication bus |
JP2007280253A (ja) * | 2006-04-11 | 2007-10-25 | Canon Inc | 情報処理装置及び情報処理方法 |
JP4455540B2 (ja) * | 2006-06-15 | 2010-04-21 | キヤノン株式会社 | バスシステム及び調停方法 |
JP2012003527A (ja) | 2010-06-17 | 2012-01-05 | Fujitsu Semiconductor Ltd | データ転送管理装置、データ転送管理方法およびデータ転送管理プログラム |
WO2019043822A1 (ja) * | 2017-08-30 | 2019-03-07 | オリンパス株式会社 | メモリアクセス装置、画像処理装置、および撮像装置 |
JP7130377B2 (ja) * | 2018-01-29 | 2022-09-05 | キヤノン株式会社 | 画像処理装置 |
JP2021196681A (ja) * | 2020-06-10 | 2021-12-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2019
- 2019-12-05 CN CN201980101132.4A patent/CN114503089B/zh active Active
- 2019-12-05 JP JP2021562282A patent/JP7381603B2/ja active Active
- 2019-12-05 WO PCT/JP2019/047625 patent/WO2021111583A1/ja active Application Filing
-
2022
- 2022-05-03 US US17/735,769 patent/US11842071B2/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB913190A (en) * | 1959-04-20 | 1962-12-19 | Burroughs Corp | Improvements in or relating to data processing equipment |
JPH05244426A (ja) * | 1992-02-28 | 1993-09-21 | Fujitsu Ltd | 符号データ供給方式 |
JPH10301885A (ja) * | 1997-04-24 | 1998-11-13 | Kofu Nippon Denki Kk | 情報処理システムのディスパッチ方式 |
JP2000029822A (ja) * | 1998-07-15 | 2000-01-28 | Matsushita Electric Ind Co Ltd | ブリッジ装置 |
EP1289196A1 (de) * | 2001-08-27 | 2003-03-05 | Siemens Aktiengesellschaft | Verfahren zur Übermittlung von Paketdaten unterschiedlicher Prioritätsstufen in einem Telekommunikationsnetz |
JP2004055084A (ja) * | 2002-07-23 | 2004-02-19 | Renesas Technology Corp | メモリ制御回路 |
JP2004078508A (ja) * | 2002-08-16 | 2004-03-11 | Nec Micro Systems Ltd | バス調停回路、バス調停方法およびそのプログラム |
WO2008035600A1 (fr) * | 2006-09-20 | 2008-03-27 | Panasonic Corporation | Dispositif et procédé de transmission de relais |
US20080147918A1 (en) * | 2006-12-19 | 2008-06-19 | Hanebutte Ulf R | Method and apparatus for maintaining synchronization of audio in a computing system |
JP2008269176A (ja) * | 2007-04-18 | 2008-11-06 | Canon Inc | バスマスタ装置、情報処理システム、バスマスタ装置の制御方法並びにコンピュータプログラム |
CN101571841A (zh) * | 2008-04-30 | 2009-11-04 | 株式会社东芝 | 控制器、硬盘驱动器以及控制方法 |
JP2011182369A (ja) * | 2010-03-04 | 2011-09-15 | Ricoh Co Ltd | データ転送装置、データ転送方法、データ転送プログラム及び記録媒体 |
CN103201725A (zh) * | 2010-11-25 | 2013-07-10 | 国际商业机器公司 | 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法 |
WO2013014841A1 (ja) * | 2011-07-22 | 2013-01-31 | パナソニック株式会社 | データ処理装置およびデータ処理方法 |
US9361145B1 (en) * | 2014-06-27 | 2016-06-07 | Amazon Technologies, Inc. | Virtual machine state replication using DMA write records |
US10430352B1 (en) * | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
Also Published As
Publication number | Publication date |
---|---|
JP7381603B2 (ja) | 2023-11-15 |
US20220261179A1 (en) | 2022-08-18 |
WO2021111583A1 (ja) | 2021-06-10 |
JPWO2021111583A1 (zh) | 2021-06-10 |
US11842071B2 (en) | 2023-12-12 |
CN114503089B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7721039B2 (en) | System bus control apparatus, integrated circuit and data processing system | |
JP4847036B2 (ja) | バスアクセスを調停する制御装置およびデータ処理装置の制御方法 | |
US10853289B2 (en) | System, apparatus and method for hardware-based bi-directional communication via reliable high performance half-duplex link | |
US20130254444A1 (en) | Image processing apparatus | |
US8386908B2 (en) | Data transmission methods and universal serial bus host controllers utilizing the same | |
EP2423824B1 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
CN101118526A (zh) | 用于控制猝发存储器存取的存储器接口及其控制方法 | |
US20070260791A1 (en) | Data processing device | |
CN114503089B (zh) | 数据传送装置和数据传送方法 | |
JP2011013835A (ja) | メモリシステム、メモリアクセス方法、及びプログラム | |
EP3923152B1 (en) | Semiconductor device | |
JP4934000B2 (ja) | 調停装置、調停方法及びプログラム | |
JP2006215621A (ja) | Dma制御装置 | |
CN106030557B (zh) | 多端口共享存储器 | |
US20110055446A1 (en) | Semiconductor integrated circuit device | |
EP2261810B1 (en) | Data check circuit | |
JP2000148670A (ja) | バスアクセス調停システム | |
WO2020230413A1 (ja) | 情報処理装置 | |
US20230297535A1 (en) | Controller, image forming apparatus, and access arbitration method | |
JP2011123913A (ja) | バスアクセスを調停する制御装置 | |
CN111813722B (zh) | 基于共享内存的数据读写方法,系统及可读存储介质 | |
JP4847615B2 (ja) | バスアクセスを調停する制御装置およびその方法 | |
JP6822670B2 (ja) | コンピュータ装置、データ転送制御装置、及び方法 | |
JP2016154001A (ja) | 画像処理装置、画像処理用データ転送制御方法、及び画像処理用データ転送制御プログラム | |
JP2012168773A (ja) | バスシステムおよびアクセス制御方法 |
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 |