CN101030121B - 存储控制设备及方法、计算机产品及信息处理设备 - Google Patents
存储控制设备及方法、计算机产品及信息处理设备 Download PDFInfo
- Publication number
- CN101030121B CN101030121B CN2006101214200A CN200610121420A CN101030121B CN 101030121 B CN101030121 B CN 101030121B CN 2006101214200 A CN2006101214200 A CN 2006101214200A CN 200610121420 A CN200610121420 A CN 200610121420A CN 101030121 B CN101030121 B CN 101030121B
- Authority
- CN
- China
- Prior art keywords
- data
- accepting state
- write
- unit
- reception
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及存储控制设备及方法、计算机产品及信息处理设备。其中存储控制设备包括:数据存储单元,包括以预定范围分割的多个区域;数据写入单元,当从外部接收接收数据时,数据写入单元将接收数据和指示接收数据的状态的接收状态用单一写入操作在该数据写入单元的一个区域中一并写入,其中接收状态位于所述一个区域的末端。
Description
技术领域
本发明涉及用于存储接收数据以及指示接收数据的状态的接收状态的技术。
背景技术
传统地,当计算机系统接收数据时,该计算机系统需要两个区域,即接收数据区和接收状态区,其中接收数据区用于在例如主存储器的存储单元上存储接收的数据,接收状态区用于存储接收完成通知等。例如,在日本专利申请公开2001-147875中公开的数据通信系统的情况下,需要所述两个区域。
用图10来具体说明使用所述两个区域的数据流。在接收端终端设备的中央处理单元(CPU)等上运行的软件以固定时间间隔来检查接收状态区,以识别出数据写入接收数据区(图10中(1))。当从外部接收消息(数据)(图10中(2))时,接收端终端设备的通信控制单元将接收的数据写入到接收数据区中(DMA写入)(图10中(3)),并且将指示接收完成的信息写入到接收状态区中(DMA写入)(图10中(4))。
当接收端终端设备的CPU识别出在接收数据区中写入数据(图10中(5))时,CPU访问接收数据区以读取写入的数据(图10中(6))。以这种方式,读取接收的数据,并通过软件等来使用所述接收的数据。
然而,因为将接收数据和接收状态存储在分离的区域中以及写入处理(DMA写入)需要进行两次,所以以上所述的传统技术存在等待时间增加的问题。
另外,当在CPU等上运行的软件读取写入数据时,软件需要读取所述两个区域,导致因为当读出数据和状态时所述数据和数据状态不能保存在一个高速缓存线(cache line)中而引起数据读取处理等的性能降低。
发明内容
本发明的目的在于至少解决传统技术中的问题。
根据本发明一个方案的存储控制设备存储接收数据以及指示接收数据的状态的接收状态。所述存储控制设备包括:数据存储单元,包括以预定范围分割的多个区域;和数据写入单元,当从外部接收接收数据时,将该接收数据和该接收状态用单一写入操作在该数据写入单元的一个区域中一并写入,其中该接收状态位于所述一个区域的末端。
根据本发明另一方案的存储控制方法用于存储接收数据以及指示该接收数据的状态的接收状态。所述存储控制方法包括如下步骤:当从外部接收该接收数据时,将该接收数据和该接收状态用单一写入操作在数据写入单元的一个区域中一并写入,其中该接收状态位于所述一个区域的末端。
根据本发明另一方案的计算机可读记录介质存储用于存储接收数据以及指示该接收数据状态的接收状态的计算机程序。计算机程序使得计算机执行如下处理:当从外部接收该接收数据时,将该接收数据和该接收状态用单一写入操作在数据写入单元的一个区域中一并写入,其中该接收状态位于所述一个区域的末端。
根据本发明另一方案的信息处理设备包括:通信单元,控制信息的发送和接收;存储单元,存储该信息;以及写入单元,当经由该通信单元接收该信息时,所述写入单元通过将指示该信息的接收状态的接收状态信息附加到该信息的末端而将该信息写入该存储单元中。
根据本发明另一方案的信息处理设备包括:通信单元,控制信息的发送和接收;存储单元,包括用于存储该信息的多个区域;以及写入单元,当经由该通信单元接收该信息时,所述写入单元在该存储单元的一个区域中写入该信息,并且同时在所述一个区域的末端写入指示所接收信息的接收状态的接收状态信息。
通过结合附图阅读本发明的当前优选实施例的以下详细描述,将能够更好理解本发明的以上和其它目的、特点、优点和技术和工业实用性。
附图说明
图1是示出根据本发明第一实施例的存储控制设备的概括和特征的示意图:
图2是示出根据第一实施例的采用存储控制设备的系统内部结构的框图;
图3是示出发送命令嵌入数据的处理实例的示意图;
图4是根据第一实施例发送端终端设备中用于发送数据创建处理的处理过程的流程图;
图5是根据第一实施例接收端终端设备中用于接收数据创建处理的处理过程的流程图;
图6是示出在接收数据区中在应用数据、嵌入数据和接收状态之间的位置关系的示意图;
图7是示出根据第二实施例的采用存储控制设备的系统的整体结构的示意图;
图8是执行存储控制程序的计算机系统(发送端)的框图;
图9是执行存储控制程序的计算机系统(接收端)的框图;
图10是示出根据传统技术的存储控制设备的示意图。
具体实施方式
以下参照附图来详细说明本发明的示例性实施例。
图1是示出根据本发明第一实施例的存储控制设备(接收端终端设备)的概要和特征的示意图。根据第一实施例的接收端终端设备20包括通信控制单元21、存储单元22和软件24。在存储单元22中设置接收数据区25,在所述接收数据区25中存储接收数据和接收状态。随同与接收状态相应的接收数据一起写入接收状态,并将该接收状态写入在该接收数据的末端。
接收端终端设备20将接收数据和指示该接收数据的状态的接收状态一起写入。接收端终端设备20的主要特性在于能够减少等待时间,并且能够通过CPU和软件来提高数据读取处理性能等。
在图1中,接收数据区25包括以预定范围分段的多个区域。接收端终端设备20的软件24(其在CPU上运行,在以下描述中皆如此)以固定时间间隔来检查在接收数据区25(即该接收数据区的多个区域的末端)中的接收状态,以识别在存储单元22的接收数据区25中写入数据(图1中(1))。
当从外部接收数据时,接收端终端设备20的通信控制单元21创建接收状态,并且使用单一的写入操作将接收数据和接收状态一并写入接收数据区25中的一个区域中,其中使得所述接收状态位于该区域的末端(图1中(2)至(3))。
当软件24识别出指示在接收数据区525中写入数据的接收状态(图1中(4))时,软件24读取在接收数据区25中写入的接收数据(图1中(5))。
以这种方式,接收端终端设备20可通过进行一次写入操作来写入接收数据和接收状态。结果,如以上所述的主要特性所示的那样,能够减少等待时间。另外,只须读取一个区域就能够读取接收数据和接收状态。因此,当读出数据和状态时,所述数据和状态可保存在一个高速缓存线中。结果,如以上所述的主要特性所示的那样,能够通过在CPU等上运行的软件来提高数据读取处理等的性能。
图2是示出根据第一实施例的采用接收端终端设备20的系统内部结构的框图。如图所示,发送端终端设备10包括通信控制单元11、存储单元12和控制单元13,并且所述发送端终端设备10经由网络连接到接收端终端设备20。
通信控制单元11控制经由网络在发送端终端设备10和接收端终端设备20之间交换的数据,并创建数据。具体地,作为与本发明紧密关联的单元,通信控制单元11包括通信单元11a和创建单元11b。
通信单元11a控制与经由网络在发送端终端设备10和接收端终端设备20之间交换的各种信息相关的通信。具体地,通信单元11a经由网络将通过随后描述的创建单元11b创建的发送数据发送到接收端终端设备20。
创建单元11b创建待发送到接收端终端设备20的数据。具体地,创建单元11b基于在从从属软件(subordinate software)13b输入的发送命令中的参数来读取发送端终端设备10的存储区,并且将从该存储区域读取的数据与该发送命令中的嵌入数据合并,以创建净荷(payload)。另外,创建单元11b基于用户数据的大小和嵌入数据的大小(嵌入数据的大小是固定大小)来创建报头。所述创建单元11b将创建的净荷与报头组合以创建发送数据。
例如,如图3所示,创建单元11b基于发送命令中的参数从存储单元12等读出应用数据。创建单元11b通过将发送命令中的嵌入数据置于发送数据的末端以及组合嵌入数据与应用数据来创建发送数据。当接收端终端设备20接收创建的发送数据时,接收端终端设备20用单一的写入操作来一并写入应用数据、接收状态和嵌入数据,其中使得接收状态位于接收缓冲器的一个区域的末端,并且嵌入数据位于接收状态之前。
存储单元12是用于存储由控制单元13进行的各种处理所需的数据和程序的存储装置(记忆装置)。具体地,作为与本发明密切关联的单元,存储单元12包含作为两类待发送的数据中之一的应用数据12a。在数据中,应用数据12a由创建单元11b来读出,并且与嵌入数据一起作为发送数据发送到接收端终端设备20。
控制单元13是具有用于存储控制程序(如操作系统(OS)、定义各种处理过程的程序)和所需数据的内部存储器并根据所述程序和数据执行各种处理的处理单元。具体地,作为与本发明密切关联的程序,控制单元13包括应用(软件)13a和从属软件13b。
应用13a是用于对数据进行传送请求处理的软件。作为具体实例,根据用户的指令操作,由控制单元13来执行应用13a,以请求从属软件13b传送在存储单元12中存储的应用数据12a。
从属软件13b接收对数据的传送请求,并将发送命令发送到通信控制单元11。作为具体实例,当从属软件13b从应用13a接收数据传送请求时,从属软件13b基于由应用13a指定的参数(例如,开始地址和大小)来创建发送命令。从属软件13b将创建的发送命令输入到通信控制单元11。
如图2中所示,接收端终端设备20包括通信控制单元21、存储单元22和控制单元23。
通信控制单元21经由网络从发送端终端设备10接收数据,根据所接收数据创建接收状态,并写入所述接收数据和接收状态。具体地,作为与本发明密切关联的单元,通信控制单元21包括通信单元21a和数据写入单元21b。所述数据写入单元21b与在权利要求书中所述的“数据写入单元”相对应。
通信单元21a从发送端终端设备10接收数据,并创建接收状态。作为具体实例,如图3所示,当通信单元21a从发送端终端设备10接收通过将嵌入数据置于发送数据的末端并且组合嵌入数据与应用数据而创建的发送数据时,通信单元21a根据数据报头获得净荷(应用数据和嵌入数据的总和)的大小。通信单元21a创建接收状态,并且计算在存储单元22的数据存储单元22a的一个区域中的写入开始位置(接收状态的大小是固定的)。所述接收状态包括更新标志、错误存在或不存在和接收数据大小。
数据写入单元21b用单一写入操作在数据存储单元22a的一个区域中一并写入两类数据和接收状态,其中使得接收状态位于区域的末端,并且这两类数据位于接收状态的紧前面(right in front)。作为具体实例,数据写入单元21b利用从通信单元21a获得的写入开始位置,通过单一写入操作在数据存储单元22a的一个区域中一并写入接收数据、接收状态和嵌入数据,其中使得接收状态位于区域的末端,并且嵌入数据位于接收状态的紧前面(参见图6)。
存储单元22是用于存储由控制单元23进行的各种处理所需的数据和程序的存储装置(记忆装置)。具体地,作为与本发明密切关联的单元,存储单元22包括数据存储单元22a。所述数据存储单元22a是包括以预定范围分段的多个区域并存储由数据写入单元21b写入的数据等的装置。作为具体实例,由数据写入单元21b来写入接收数据、接收状态和嵌入数据,其中使得接收状态位于多个区域中的一个区域的末端,嵌入数据位于该接收状态之前。
控制单元23是具有用于存储控制程序(如操作系统(OS)、定义各种处理过程的程序)和所需数据的内部存储器并根据所述程序和数据执行各种处理的处理单元。具体地,作为与本发明密切关联的应用和数据,控制单元23包括应用23a和从属软件23b。
应用23a是使用存储在存储单元22中的应用数据执行处理的软件。作为具体实例,应用23a运行从属软件23b,并根据在存储单元22的数据存储单元22a中存储的应用数据来执行处理。
从属软件23b通过参照接收状态将接收数据传送到应用23a。作为具体实例,从属软件23b以固定时间间隔根据数据存储单元22a的区域的末端来检查是否写入接收状态。当从属软件23b确定写入接收状态时,从属软件23b读取接收状态,获得在数据存储单元22a中写入的应用数据和嵌入数据的大小,并读取所述嵌入数据。之后,从属软件23b计算应用数据的开始地址(偏移量),并且将通过计算获得的开始地址传送到应用23a。
图4是根据第一实施例在发送端终端设备10中用于发送数据创建处理的处理过程的流程图。
当控制单元13的从属软件13b从应用13a接收数据传送请求时(在步骤S401为“是”),从属软件13b根据由应用13a指定的参数(例如,开始地址和大小)来创建发送命令(步骤402)。随后,从属软件13b将创建的发送命令输入到通信控制单元11的创建单元11b(步骤S403)。
创建单元11b基于所接收的发送命令中的参数来读取存储单元12的应用数据12a(步骤S404),并且将读取的应用数据12a与发送命令中的嵌入数据组合以创建净荷(步骤S405)。
之后,创建单元11b基于待发送的应用数据12a的大小和嵌入数据的大小来创建报头(步骤S406)。创建单元11b将净荷与报头组合以创建消息(发送数据)。通信单元11a将创建的消息(发送数据)发送到接收端终端设备20(步骤S407)。
图5是根据第一实施例接收端终端设备20中用于接收数据写入处理的处理过程的流程图。
当通信单元21a接收由发送端终端设备10发送的数据时(在步骤S501为“是”),通信单元21a根据接收数据的报头获得净荷(应用数据和嵌入数据的总和)(步骤S502)。通信单元21a创建接收状态(步骤S503),并计算在存储单元22的数据存储单元22a的一个区域中的写入开始位置(步骤S504)。
数据写入单元21b用单一写入操作在数据存储单元22a的一个区域中一并写入净荷(接收数据)、接收状态和嵌入数据,其中使得接收状态位于所述区域的末端,嵌入数据位于接收状态之前(步骤S505)。
当接收状态的写入操作结束时(在步骤S506为“是”),从属软件23b检查在所述区域末端的接收状态(步骤S507),并获得写入数据的大小和嵌入数据的大小(步骤S508)。从属软件23b读取嵌入数据(步骤S509),并且将嵌入数据传送到应用23a。从属软件23b计算在数据存储单元22a中写入的数据的开始地址(偏移量),并且将所述数据传送到应用23a(步骤S510)。
如上所述,根据第一实施例,数据存储单元22a包括以预定范围分段的多个区域,并且当数据存储单元22a从外部接收接收数据时,数据存储单元22a用单一写入操作在数据存储单元22a的一个区域中一并写入接收数据和接收状态,其中使得接收状态位于所述区域的末端。用这种方式,能够通过进行一次写入操作来写入接收数据和接收状态。从而能够降低等待时间。另外,只须读取一个区域就能够读取接收数据和接收状态。因此,当读出数据和状态时,所述数据和状态可保存在一个高速缓存线中。结果,能够通过CPU等的软件来提高数据读取处理的性能。
另外,根据第一实施例,数据写入单元21b用单一写入操作在所述区域中一并写入接收数据和接收状态,其中使得在所述区域中接收数据位于接收状态之前。因此,能够使用读取开始位置预指定处理。例如,能够读取在使用接收数据的软件端上预先指定地址的接收数据。结果,能够减少额外负担。
另外,根据第一实施例,数据写入单元21b用单一写入操作在数据存储单元22a的一个区域中一并写入两类数据和接收状态,其中使得接收状态位于所述区域的末端,并且两类数据位于接收状态之前。因此,例如,当通过应用数据和指示软件控制信息的嵌入数据来形成接收数据时,用单一写入操作在所述区域中一并写入接收数据、接收状态和嵌入数据,其中使得接收状态位于所述区域的末端,嵌入数据位于接收状态的紧前面。因此,嵌入数据写入在固定位置。结果,软件能够使用所述读取开始位置预指定处理。另外,由于以与写入格式相同的格式来接收数据,所以不必进行接收数据的转换处理。结果,能够进一步减少额外负担。将嵌入数据以与接收状态相邻的方式写入。例如,当由CPU等的软件读出数据时,嵌入数据和接收状态可以保存在同一高速缓存线中的可能性更大。因此,能够有效使用高速缓存。
如图6中(1)所示,当依次在接收数据区中写入接收状态、应用数据和嵌入数据时,嵌入数据的位置根据应用数据的大小而改变。因此,在读出接收状态之前不可能获得嵌入数据的位置。另一方面,如图6中(2)所示,当依次在接收数据区中写入接收状态、嵌入数据和应用数据时,接收状态和嵌入数据的数据大小是固定的,并且不取决于应用数据的大小。能够使用读取开始位置预指定处理,例如,参照嵌入数据。
在以上所述第一实施例的说明中,在接收数据区的一个区域中写入接收数据。然而,本发明不局限于此方案。当更新写入数据时也可使用本发明。因此,在以下说明中,作为本发明的第二实施例,更新在接收数据区的一个区域中写入的数据。
图7是示出根据第二实施例的采用存储控制设备的系统的整体结构示意图。发送端终端设备70包括存储单元和通信控制单元71。由控制单元(CPU)(未示出)来控制发送端终端设备70的运行。在接收端终端设备73中还配置存储单元75和通信控制单元74。由控制单元来管理整个接收端终端设备73的运行控制。发送端终端设备70与接收端终端设备73经由网络等相互连接。
如图7中所示,发送端终端设备70的通信控制单元71基于从从属软件输入的发送命令中的参数来读取发送端终端设备70的存储区,并且将从该存储区读取的数据与该发送命令中的嵌入数据合并,以创建净荷。另外,通信控制单元71基于用户数据的大小和嵌入数据的大小来创建报头。然后,通信控制单元71基于发送命令中的参数从存储单元读出应用数据。通信控制单元71将发送命令中的嵌入数据置于发送数据72的末端,并且将应用数据与嵌入数据组合来创建发送数据72(消息)。
随后,接收端终端设备73的通信控制单元74接收由发送端终端设备70发送的发送数据72。通信控制单元74根据发送数据72的报头获得净荷(应用数据和嵌入数据的总和)的大小。通信控制单元74创建接收状态,并且计算在存储单元22的数据存储单元22a的一个区域中的写入开始位置。
之后,接收端终端设备73用单一写入操作在接收数据缓冲器的一个区域中一并写入应用数据、嵌入数据和接收状态,其中使得接收状态位于接收数据缓冲器的区域的末端,两类数据(例如,应用数据和嵌入数据)位于接收状态的紧前面。从属软件读出接收状态,并且将应用数据传送到应用。
当接收端终端设备73的通信控制单元74更新在存储单元75中写入的数据时,通信控制单元74将接收数据缓冲器的写入开始地址与将数据读出到的高速缓存的高速缓存线对齐(align)(图7中(1))。具体地,例如,为了将所述数据与高速缓存的高速缓存线对齐,通信控制单元74在被写入的数据的头部写入填充信息(无用信息),从而使得所述数据具有与分配给写入接收数据的区域大小相同的大小。
如上所述,根据第二实施例,当更新存储的接收数据时,通信控制单元74将接收数据的写入开始地址设置为是预先确定的存储器队列大小或者预先确定的块大小的整数倍。因此,例如,在随后将高速缓存线大小的块的部分写入(部分重写)与整个块的重写进行比较的信息处理设备(计算机)中,在能够从数据应该原始写入的区域的紧前端(即,该区域的上方地址)更新接收数据的情况下能够实现最大性能。
已经说明了本发明的实例。然而,本发明可以以除了以上所述的实施例之外的各种不同形式来实践。
例如,当在接收数据中存在错误时,可以写入错误标志来代替接收状态。因此,当在接收数据中存在错误时,例如,当在接收数据的末端附加CRC以检测位错误时,写入错误标志来代替接收状态。因此,当写入接收状态时,接收数据的写入操作完成。能够保证写入数据的正确性。例如,在数据接收完成之前,开始数据的写入操作。因此,能够进一步减少等待时间。
在由发送端终端设备的处理(见图4)和由接收端终端设备的处理(见图5)中,如上说明的自动进行的所有或部分类型的处理可以手动进行。如上说明的手动进行的所有或部分类型的处理可以根据公知方法自动进行。此外,能够任意改变处理过程、控制过程、具体名称和包括各种数据和参数的信息(例如,接收数据和接收状态),除非存在不同的具体注释。
在图4或图5中所示的发送端终端设备和接收端终端设备的各组件是功能意义上的,并不一定要求如附图中所示被物理上地组成。换句话说,各设备的组件的分配和整合的具体形式,例如通信单元11a和创建单元11b的整合和分配不限于附图中所示的方式。能够根据各种负载、使用状态等以任意单位构建将在功能上或物理上被分配和整合的全部或部分组件。而且,在发送端终端设备和接收端终端设备中进行的全部或任意部分的各种处理功能可以通过CPU以及由CPU分析和执行的程序来实现,或者可以作为根据布线逻辑(wired logic)实施的硬件来实现。
能够用诸如个人计算机或工作站的计算机系统通过执行预先准备的程序来实现在实施例中说明的各种类型的处理。
图8是执行存储控制程序的计算机系统(发送端)80的框图。计算机系统80包括随机访问存储器(RAM)81、硬盘驱动器(HDD)82、只读存储器(ROM)83和CPU 84。如图8所示,在ROM 83中预先存储显示与上述实例相同的功能的程序,即通信程序83a、创建程序83b、应用程序83c和从属软件程序83d。
CPU 84读出并执行所述程序83a至83d。因此,如图8所示,CPU 84起到通信处理84a、创建处理84b、应用处理84c和从属软件处理84d的功能。各处理84a至84d分别与图2所示的通信单元11a、创建单元11b、应用13a和从属软件13b相对应。
在HDD 82中设置用于应用处理84c等并经由网络发送到其它计算机系统的应用数据表82a。CPU 84将在应用数据表82a中存储的信息调用到RAM81,并执行各种类型的处理。所述应用数据表82a与图2所示的应用数据12a相对应。
程序83a至83d并不一定存储在ROM 83中。例如,除了插入在计算机系统80中的诸如软盘(FD)、CD-ROM、MO盘、DVD盘、磁光盘以及IC卡的“便携式物理介质”之外,还可以将程序83a至83d存储在诸如设置在计算机系统80的内部或外部的硬盘(HD)的“固定物理介质”以及经由公用线、互联网、局域网(LAN)、广域网(WAN)等与计算机系统80连接的“其它计算机系统”中。计算机系统80可以从这些介质中读出所述程序,并执行所述程序。
图9是执行存储控制程序的计算机系统(接收端)90的框图。所述计算机系统90包括RAM 91、HDD 92、ROM 93和CPU 94。如图9所示,在ROM 93中预先存储显示与上述实例相同的功能的程序,即通信程序93a、数据写入程序93b、应用程序93c和从属软件程序93d。
CPU 94读出并执行程序93a至93d。因此,如图9所示,CPU 94起到通信处理94a、数据写入处理94b、应用处理94c和从属软件处理94d的功能。各处理94a至94d分别与图2所示的通信单元21a、数据写入单元21b、应用23a和从属软件23b相对应。
在HDD 92中设置包括以预定范围分段的多个区域的数据存储表92a。CPU 94将在数据存储表92a中存储的信息调用到RAM 91,并执行各种类型的处理。所述数据存储表92a与图2所示的数据存储单元22a相对应。
程序93a至93d并不一定存储在ROM 93中。例如,除了插入在计算机系统90中的诸如软盘(FD)、光盘只读存储器(CD-ROM)、磁光(MO)盘、通用数字光盘(DVD)以及集成电路(IC)卡的“便携式物理介质”之外,还可以将程序93a至93d存储在诸如设置在计算机系统90的内部或外部的硬盘(HD)的“固定物理介质”以及经由公用线、互联网、LAN、WAN等与计算机系统90连接的“其它计算机系统”中。计算机系统90可以从这些介质中读出所述程序,并执行所述程序。
根据本发明的实施例,数据存储单元包括以预定范围分段的区域,并且当从外部接收接收数据时,数据写入单元用单一写入操作在一个区域中一并写入接收数据和接收状态,其中使得接收状态位于该区域的末端。因此,能够通过进行一次写入操作来写入接收数据和接收状态。结果,能够减少等待时间。另外,只须读取一个区域就能够读取接收数据和接收状态。因此,当读出数据和状态时,数据和状态可保存在一个高速缓存线中。结果,能够通过CPU等的软件来提高数据读取处理等的性能。
另外,根据本发明的实施例,数据写入单元用单一写入操作在区域中一并写入接收数据和接收状态,其中使得在所述区域中接收数据置于接收状态之前。因此,能够使用读取开始位置预指定处理。例如,能够读取在使用接收数据的软件侧上预先指定地址的接收数据。结果,能够减少额外负担。
而且,根据本发明的实施例,数据写入单元用单一写入操作在区域中一并写入两类数据和接收状态,其中使得接收状态位于所述区域的末端,两类数据位于接收状态之前。因此,例如,当通过应用数据和指示软件控制信息的嵌入数据来形成接收数据时,用单一写入操作在所述区域中一并写入接收数据、接收状态和嵌入数据,其中接收状态位于所述区域的末端,嵌入数据位于接收状态之前。因此,嵌入数据写入在固定位置。结果,软件能够使用读取开始位置预指定处理。另外,由于以与写入格式相同的格式来接收数据,所以不必进行接收数据的转换处理。结果,能够进一步减少额外负担。将嵌入数据以与接收状态相邻的方式写入。例如,当由CPU等的软件读出数据时,嵌入数据和接收状态可以保存在同一高速缓存线中的可能性更大。因此,能够有效使用高速缓存。
另外,根据本发明的实施例,当在接收数据中存在错误时,例如,当在接收数据的末端附加CRC以检测位错误时,数据写入单元写入错误标志来代替接收状态。因此,当写入接收状态时,接收数据的写入操作完成。能够保证写入数据的正确性。例如,在数据接收完成之前,就开始数据的写入操作。因此,能够进一步减少等待时间。
而且,根据本发明的实施例,当更新存储的接收数据时,数据更新单元将接收数据的写入开始地址设置为是预先确定的存储器队列大小或者预先确定的块大小的整数倍。因此,例如,在随后将高速缓存线大小的块的部分写入(部分重写)与整个块的重写进行比较的信息处理设备(计算机)中,在能够从数据应该原始写入的区域的紧前侧(即该区域的上方地址)来更新接收数据的情况下能够实现最大性能。作为实例,在具有64字节的高速缓存线大小的计算机的情况下,用0(强制为0)来屏蔽(mask)写入开始地址(字节地址)的低6位(2的6次幂=64)。
尽管为了完整和清晰的公开而参照具体实施例已对本发明进行了描述,但是所附权利要求不限于此,而应解释为能够实施为落入这里所阐述的基本教导的范围内的本领域普通技术人员可以想到的所有修改以及可选结构。
Claims (16)
1.一种存储控制设备,其存储接收数据以及接收状态,该接收状态指示该接收数据的接收完成通知,所述存储控制设备包括:
数据存储单元,包括以预定范围分割的多个区域;和
数据写入单元,当从外部接收该接收数据时,将该接收数据和该接收状态用单一写入操作在该数据存储单元的一个区域中一并写入,其中该接收状态位于所述一个区域的末端。
2.根据权利要求1所述的存储控制设备,其中
在所述一个区域中该接收数据写入在该接收状态的紧前面。
3.根据权利要求1所述的存储控制设备,其中
该接收数据包括第一数据和第二数据,和
该数据写入单元将所述第一数据、所述第二数据和该接收状态用单一写入操作在所述一个区域中一并写入,其中该接收状态位于所述一个区域的末端、所述第一数据和所述第二数据依次位于该接收状态的紧前面。
4.根据权利要求2所述的存储控制设备,其中
该接收数据包括第一数据和第二数据,和
该数据写入单元将所述第一数据、所述第二数据和该接收状态用单一写入操作在所述一个区域中一并写入,其中该接收状态位于所述一个区域的末端、所述第一数据和所述第二数据依次位于该接收状态的紧前面。
5.根据权利要求3所述的存储控制设备,其中
所述第一数据是指示软件的控制信息的嵌入数据,和
所述第二数据是应用数据。
6.根据权利要求4所述的存储控制设备,其中
所述第一数据是指示软件的控制信息的嵌入数据,和
所述第二数据是应用数据。
7.根据权利要求1所述的存储控制设备,其中
当在该接收数据中存在错误时,该数据写入单元写入错误标志来代替该接收状态。
8.根据权利要求2所述的存储控制设备,其中
当在该接收数据中存在错误时,该数据写入单元写入错误标志来代替该接收状态。
9.根据权利要求3所述的存储控制设备,其中
当在该接收数据中存在错误时,该数据写入单元写入错误标志来代替该接收状态。
10.根据权利要求1所述的存储控制设备,还包括:
数据更新单元,当更新在该数据存储单元中存储的接收数据时,所述数据更新单元将该接收数据的写入开始地址设置为是预先确定的存储器队列,或者设置为是预先确定的块大小的整数倍。
11.根据权利要求2所述的存储控制设备,还包括:
数据更新单元,当更新在该数据存储单元中存储的接收数据时,所述数据更新单元将该接收数据的写入开始地址设置为是预先确定的存储器队列,或者设置为是预先确定的块大小的整数倍。
12.根据权利要求3所述的存储控制设备,还包括:
数据更新单元,当更新在该数据存储单元中存储的接收数据时,所述数据更新单元将该接收数据的写入开始地址设置为是预先确定的存储器队列,或者设置为是预先确定的块大小的整数倍。
13.根据权利要求7所述的存储控制设备,还包括:
数据更新单元,当更新在该数据存储单元中存储的接收数据时,所述数据更新单元将该接收数据的写入开始地址设置为是预先确定的存储器队列,或者设置为是预先确定的块大小的整数倍。
14.一种存储控制方法,用于存储接收数据以及接收状态,该接收状态指示该接收数据的接收完成通知,所述存储控制方法包括如下步骤:
当从外部接收该接收数据时,将该接收数据和该接收状态用单一写入操作在数据存储单元的一个区域中一并写入,其中该接收状态位于所述一个区域的末端。
15.一种信息处理设备,包括:
通信单元,其控制信息的发送和接收;
存储单元,其存储该信息;以及
写入单元,当经由该通信单元接收该信息时,所述写入单元通过将指示该信息的接收完成通知的接收状态信息附加到该信息的末端而将该信息写入该存储单元中。
16.一种信息处理设备,包括:
通信单元,其控制信息的发送和接收;
存储单元,其包括用于存储该信息的多个区域;以及
写入单元,当经由该通信单元接收该信息时,所述写入单元在该存储单元的一个区域中写入该信息,并且同时在所述一个区域的末端写入指示所接收信息的接收完成通知的接收状态信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006050374A JP4740766B2 (ja) | 2006-02-27 | 2006-02-27 | データ受信装置、データ送受信システム、データ送受信システムの制御方法及びデータ受信装置の制御プログラム |
JP2006050374 | 2006-02-27 | ||
JP2006-050374 | 2006-02-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101030121A CN101030121A (zh) | 2007-09-05 |
CN101030121B true CN101030121B (zh) | 2012-05-09 |
Family
ID=37945426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101214200A Expired - Fee Related CN101030121B (zh) | 2006-02-27 | 2006-08-22 | 存储控制设备及方法、计算机产品及信息处理设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070214326A1 (zh) |
EP (1) | EP1826678B1 (zh) |
JP (1) | JP4740766B2 (zh) |
KR (1) | KR20070089029A (zh) |
CN (1) | CN101030121B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9032154B2 (en) * | 2007-12-13 | 2015-05-12 | Sandisk Technologies Inc. | Integration of secure data transfer applications for generic IO devices |
JP2012133405A (ja) * | 2009-07-24 | 2012-07-12 | Hitachi Ltd | ストレージ装置及びそのデータ転送制御方法 |
US8392661B1 (en) * | 2009-09-21 | 2013-03-05 | Tilera Corporation | Managing cache coherence |
EP2894568B1 (en) * | 2012-09-07 | 2018-03-28 | Fujitsu Limited | Information processing device, parallel computer system and information processing device control method |
KR101865261B1 (ko) * | 2013-12-23 | 2018-06-07 | 인텔 코포레이션 | 입력 출력 데이터 정렬 |
US10482008B2 (en) * | 2015-01-23 | 2019-11-19 | Hewlett Packard Enterprise Development Lp | Aligned variable reclamation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987627A (en) * | 1992-05-13 | 1999-11-16 | Rawlings, Iii; Joseph H. | Methods and apparatus for high-speed mass storage access in a computer system |
CN1365056A (zh) * | 2000-08-30 | 2002-08-21 | 国际商业机器公司 | 用于支持数据事务的设备和方法 |
EP1313025A2 (en) * | 2001-10-25 | 2003-05-21 | Sun Microsystems, Inc. | Direct memory access transfer of data and check information to and from a data storage device |
CN1719424A (zh) * | 2004-07-09 | 2006-01-11 | 松下电器产业株式会社 | 区域管理型存储系统、区域管理型存储设备和区域管理型存储控制器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62108291A (ja) * | 1985-11-05 | 1987-05-19 | 株式会社東芝 | 文書作成装置 |
JP2520905B2 (ja) * | 1987-05-27 | 1996-07-31 | 株式会社日立製作所 | シリアル通信制御装置 |
JP2829091B2 (ja) * | 1990-04-19 | 1998-11-25 | 株式会社東芝 | データ処理システム |
JPH05199283A (ja) * | 1992-01-17 | 1993-08-06 | Nec Corp | 受信データ転送装置 |
JPH07262154A (ja) * | 1994-03-25 | 1995-10-13 | Fujitsu Ltd | プロセッサ間通信制御方式 |
JP3516362B2 (ja) * | 1995-03-01 | 2004-04-05 | 富士通株式会社 | 共有データ処理装置及び共有データ処理システム |
JP3590203B2 (ja) * | 1996-07-16 | 2004-11-17 | 株式会社東芝 | 記憶手段の制御方法及びその装置 |
JPH11175398A (ja) * | 1997-12-11 | 1999-07-02 | Matsushita Electric Ind Co Ltd | メモリ装置 |
US20020029365A1 (en) * | 1998-12-17 | 2002-03-07 | Yoshimichi Sato | Information processing apparatus |
JP3745552B2 (ja) * | 1999-02-26 | 2006-02-15 | 富士通株式会社 | 情報記憶装置 |
US7464241B2 (en) * | 2004-11-22 | 2008-12-09 | Intel Corporation | Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding |
-
2006
- 2006-02-27 JP JP2006050374A patent/JP4740766B2/ja not_active Expired - Fee Related
- 2006-07-26 EP EP06253900A patent/EP1826678B1/en not_active Expired - Fee Related
- 2006-07-26 US US11/492,906 patent/US20070214326A1/en not_active Abandoned
- 2006-08-22 CN CN2006101214200A patent/CN101030121B/zh not_active Expired - Fee Related
- 2006-08-24 KR KR1020060080273A patent/KR20070089029A/ko active Search and Examination
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987627A (en) * | 1992-05-13 | 1999-11-16 | Rawlings, Iii; Joseph H. | Methods and apparatus for high-speed mass storage access in a computer system |
CN1365056A (zh) * | 2000-08-30 | 2002-08-21 | 国际商业机器公司 | 用于支持数据事务的设备和方法 |
EP1313025A2 (en) * | 2001-10-25 | 2003-05-21 | Sun Microsystems, Inc. | Direct memory access transfer of data and check information to and from a data storage device |
CN1719424A (zh) * | 2004-07-09 | 2006-01-11 | 松下电器产业株式会社 | 区域管理型存储系统、区域管理型存储设备和区域管理型存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN101030121A (zh) | 2007-09-05 |
JP2007226742A (ja) | 2007-09-06 |
EP1826678A1 (en) | 2007-08-29 |
KR20070089029A (ko) | 2007-08-30 |
EP1826678B1 (en) | 2012-10-31 |
US20070214326A1 (en) | 2007-09-13 |
JP4740766B2 (ja) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101030121B (zh) | 存储控制设备及方法、计算机产品及信息处理设备 | |
CN106598480B (zh) | 具有接口控制机制的电子系统及其操作方法 | |
CN100462947C (zh) | 用于实现卸载发起方功能的方法和系统 | |
CN100407123C (zh) | 数据存储设备、重构控制设备、重构控制方法 | |
JP2002215477A (ja) | デバイス状態監視システム、デバイス状態監視処理方法及び情報記録媒体 | |
CN100456224C (zh) | 数据控制设备 | |
CN101390122A (zh) | Edi交换的可缩放变换和配置 | |
US8250260B2 (en) | Method, arrangement, data processing program and computer program product for exchanging message data in a distributed computer system | |
JP2002007182A (ja) | 外部記憶装置の共有ファイル管理方式 | |
JP2006268766A (ja) | ドライブ制御装置、ドライブ制御方法およびドライブ制御プログラム | |
CN117492661A (zh) | 数据写入方法、介质、装置和计算设备 | |
CN100454226C (zh) | 主机、存储装置以及对存储装置的访问方法 | |
CN101876952A (zh) | 一种主机端传输层与应用层软硬交互系统及方法 | |
US20060007590A1 (en) | Magnetic disk apparatus | |
CN102455969B (zh) | 一种Linux串口通信日志记录的方法 | |
US7251248B2 (en) | Connection device | |
JP4220952B2 (ja) | 移行処理システム、ならびに、処理および通信試験装置 | |
JP2007219843A (ja) | ノード管理装置及びノード管理方法及びプログラム | |
US20230153759A1 (en) | Project management organization diagnosis database system | |
JP4852909B2 (ja) | デバイス識別装置、デバイス識別方法及びプログラム | |
CN101551802B (zh) | 用于一管理系统的文件存取方法 | |
TWI386809B (zh) | 記憶體整合裝置及方法 | |
KR100361657B1 (ko) | 아이디이 타입의 하드 디스크 장치 및 그 제어 방법 | |
US20070300026A1 (en) | Synchronous backup device and method used for storage device | |
JP2004334744A (ja) | 携帯可能電子媒体の発行システム及び発行方法と携帯可能電子媒体 |
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: 20120509 Termination date: 20140822 |
|
EXPY | Termination of patent right or utility model |