CN100405309C - 文件控制系统和文件控制装置 - Google Patents
文件控制系统和文件控制装置 Download PDFInfo
- Publication number
- CN100405309C CN100405309C CNB2005100876219A CN200510087621A CN100405309C CN 100405309 C CN100405309 C CN 100405309C CN B2005100876219 A CNB2005100876219 A CN B2005100876219A CN 200510087621 A CN200510087621 A CN 200510087621A CN 100405309 C CN100405309 C CN 100405309C
- Authority
- CN
- China
- Prior art keywords
- data
- file control
- error
- control device
- detecging code
- 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
- 230000005540 biological transmission Effects 0.000 claims description 65
- 238000012795 verification Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 8
- 238000000034 method Methods 0.000 description 17
- 238000012423 maintenance Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000013307 optical fiber Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000002123 temporal 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
- H04L1/0082—Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
文件控制系统和文件控制装置。本发明的文件控制系统是执行DMA传输并包括多个文件控制装置的文件控制系统,各文件控制装置被设置在主计算机与外部存储设备之间,所述多个文件控制装置中的第一文件控制装置对从存储器读取的数据与预先赋予所述数据的第一检错码之间的一致性进行校验,当通过所述校验检测到不一致时,将添加给所读取数据的所述检错码从所述第一检错码改变为第二检错码,至少对所述数据的包括所述第二检错码以及与所述第二检错码相关的数据的一部分进行改变,并执行将经改变或未经改变的所述数据传输到传输目的地的第二文件控制装置的DMA传输。
Description
技术领域
本发明涉及一种由多个相互连接的文件控制装置构成的文件控制系统,以及在该系统中使用的文件控制装置,更具体地,本发明涉及一种当在文件控制系统中的文件控制装置之间进行数据传输的过程中发生不可纠正错误时,可预防数据不一致的高可靠性文件控制技术。
背景技术
为了能够在主计算机与外部存储设备之间进行流畅高速的数据传输,在主计算机和高容量外部存储设备之间设置有文件控制装置,该文件控制装置按照主计算机的命令,控制对外部存储设备的数据写入和读取。该文件控制装置具有内部的存储器,并且通过每当主计算机执行处理时将一部分数据高速缓存在该存储器中,消除了外部存储设备与主计算机之间的存取时隙。此外,可通过在主计算机与外部存储设备之间配置多个文件控制装置,设计出具有更高可靠性的文件控制系统等。
当在外部存储设备上写入数据或从该外部存储设备读取数据的过程中出现了操作错误时,文件控制装置和文件控制系统停止其元件的工作,并且当出现了存储器不一致时,对该不一致性进行恢复。由此保持数据一致性。
(例如专利文献1)
专利文献1公开了如下一种控制装置(控制器):在对连接在主计算机与信息记录盘装置之间的信息记录盘装置进行控制的该控制装置中,当在纠错电路或DMA(直接存储器存取)控制器等中出现诸如数据数量错误和验证错误的操作错误时,该控制装置能够尽快地停止其元件的操作。
专利文献1:日本特开平03-172920号公报“Controller forInformation Recording Disk Device”。
专利文献1中描述的现有控制装置在其元件中出现诸如数据数量错误、验证错误和不可纠正错误的操作错误时,按照操作异常信号、操作错误发生信号和操作停止信号的顺序来尽快地发送信号,并使各元件停止其操作。由此,可以在相对早的定时取消操作。
然而,在连接有多个文件控制装置,并且多个文件控制装置利用各文件控制装置所包含的存储器来执行数据传输(写入/读取)的结构中,当数据发送侧的文件控制装置的数据读取过程中出现了不可纠正错误时,无法将错误告知数据接收侧的文件控制装置。即,在数据所包括的冗余项中没有如错误发生标记这样的冗余项,该错误发生标记用于示出在数据中是否发生了错误。因此,处理这种情况的唯一方式就是停止发送侧装置的操作。
特别地,当用于在文件控制装置之间传输数据的检错码(CRC、ECC、奇偶校验等)与从文件控制装置中的存储器读取的数据的检错码不相同时,即使在从存储器读取数据时检测到了所读取数据与检错码之间的不一致性,在装置之间进行数据传输时也仍然为所读取的数据(错误数据)生成新的检错码,并用新的检错码代替在先的检错码。因此,接收侧的文件控制装置无法检测到通过在先的检错码检测到的不一致性。
此外,如果不通过对在由接收侧的文件控制装置所接收的数据中包括的错误数据的一致性进行检测,就将错误数据存储在数据接收侧的文件控制装置的存储器中,则在接收文件控制装置的存储器中数据会发生错乱。在此,问题在于当在一个装置中控制信息或地址数据出现错乱时,该装置的数据失效可能影响其它装置的性能。
发明内容
提出本发明以解决上述问题,并且本发明的目的是提供一种高可靠文件控制系统,在包括用于对外部存储设备进行数据控制的多个文件控制装置的文件控制系统中,通过防止将发送侧的文件控制装置中出现的错误数据发送到接收侧的文件控制装置来消除数据的不一致性。
为了实现上述目的,本发明的文件控制系统执行DMA传输,并包括多个文件控制装置,各文件控制装置被设置在主计算机与外部存储设备之间,并且基于来自主计算机的命令来控制对外部存储设备进行的数据写入和读取。所述多个文件控制装置中的第一文件控制装置包括:第一存储器,其存储外部存储设备的数据和预先赋予该数据的第一检错码;第一一致性判断单元,用于对从第一存储器获得的数据与预先赋予该从所述第一存储器获得的数据的第一检错码之间的一致性进行校验;检错码改变单元,用于在对所述第一一致性判断单元执行校验之后,将添加到所获得的数据上的检错码从第一检错码改变为第二检错码;数据改变单元,当通过所述第一一致性判断单元检测到不一致性时,其改变所述从所述第一存储器获得的数据或所述第二检错码;DMA传输执行单元,当所述第一一致性判断单元没有检测到不一致时,用于执行将检错码改变单元的处理结果的数据传输到所述多个文件控制装置中的第二文件控制装置的DMA传输,并且当所述第一一致性判断单元检测到不一致时,用于执行将所述数据改变单元的处理结果数据传输到所述第二文件控制装置的直接存储器存取传输。而第二文件控制装置包括:第二存储器,其能够存储从第一文件控制装置接收的数据;第二一致性判断单元,用于对包括在从第一文件控制装置接收的数据中的第二检错码与关联到该第二检错码的数据之间的一致性进行校验;数据处理单元,用于当通过第二一致性判断单元检测到不一致时,丢弃从第一文件控制装置接收到的数据,并且当通过第二一致性判断单元未检测到不一致时将接收到的数据存储于第二存储器中。
在此,当在从第一文件控制装置中的第一存储器获得数据的过程中,检测到该数据与预先赋予该数据的第一检错码之间的不一致时,并且在检测到该不一致之后,将赋予所获得数据的检错码从第一检错码改变为第二检错码,数据改变单元至少对如下数据(来自检错码改变单元的处理结果数据)的一部分进行改变,该数据包括第二检错码以及与第二检错码相关的数据,并通过DMA传输执行单元将经改变的数据发送到第二文件控制装置。因此,能够在添加给所获得的数据的检错码发生了变化的第二文件控制装置侧反映出在第一文件控制装置中,在从第一存储器获得的数据与第一检错码之间检测到的数据不一致。即,在第二文件控制装置中,对包括在从第一文件控制装置接收的数据中的第二检错码与关联到该第二检错码的数据之间的不一致性进行校验,并检测不一致性。由此,将所接收的数据丢弃,而不将其写入存储器中。
优选地,通过串行接口连接多个文件控制装置,并且第一文件控制装置还包括错误通知单元,用于在第一一致性判断单元检测到不可纠正错误(不一致性)时将错误通知给DMA传输执行单元。
另外优选地,当第一文件控制装置的第一一致性判断单元在第一文件控制装置与第二文件控制装置进行数据传输的过程中,检测到不可纠正错误时,第一一致性判断单元将错误中断信号发送到错误通知单元,接收到错误中断信号的错误通知单元将错误通知信号发送到DMA传输执行单元。
更优选地,当第一文件控制装置中的DMA传输执行单元在第一文件控制装置与第二文件控制装置进行数据传输的过程中接收到错误通知信号时,DMA传输执行单元在接收到错误通知信号之后取消数据传输。
最优地,第一文件控制装置中的数据改变单元通过对所述从所述第一存储器获得的数据或所述第二检错码中的至少一个比特进行取反,来改变所述从所述第一存储器获得的数据或所述第二检错码,并且所述不一致优选地是多比特错误。
优选地,文件控制系统构成廉价冗余磁盘阵列(RAID),并且将第一文件控制装置的存储器用作高速缓冲存储器。
根据本发明的文件控制系统,可以通过在数据接收侧的文件控制装置中检测数据发送侧的文件控制装置中出现的不可纠正错误,并通过防止接收侧文件控制装置写入错误数据,来消除数据不一致性。此外,数据发送文件控制装置可以在出现不可纠正错误的同时取消数据传输,从而可以防止将在发送文件控制装置中出现的错误数据发送给接收文件控制装置。
本发明另一方面提供了一种在执行直接存储器存取传输且包括多个文件控制装置的文件控制系统中使用的文件控制装置,各个所述文件控制装置被设置在主计算机与外部存储设备之间,并且其基于来自所述主计机算的命令来控制对所述外部存储设备的数据写入和读取,所述文件控制装置包括:存储器,其存储所述外部存储设备的数据和预先赋予所述数据的第一检错码;一致性判断单元,用于对从所述存储器获得的数据与预先赋予所述从所述存储器获得的数据的所述第一检错码之间的一致性进行校验;检错码改变单元,用于在所述一致性判断单元执行校验之后,将添加给所获得数据的所述检错码从所述第一检错码改变为第二检错码;数据改变单元,当所述一致性判断单元检测到不一致时,其改变所述从所述存储器获得的数据或所述第二检错码;直接存储器存取传输执行单元,当所述一致性判断单元没有检测到不一致时,用于执行将所述检错码改变单元的处理结果数据传输到多个文件控制装置中的其它文件控制装置的直接存储器存取传输,并且当所述一致性判断单元检测到不一致时,用于执行将数据改变单元的处理结果数据传输到其它文件控制装置的直接存储器存取传输。
附图说明
图1是本发明实施例中的文件控制系统的结构图;
图2是示出使用PCI-Express的通用装置结构的图;
图3是本发明实施例中的文件控制系统的整个处理的顺序图。
具体实施方式
在以下说明中,将参照附图详细说明本发明实施例中的文件控制系统。在本发明中,将诸如硬盘、软盘、MO、CD-R和磁带的在计算机中存储数据和程序的装置称为外部存储设备。本发明的文件控制系统的结构是具有通过串行接口互连的多个文件控制装置的系统,其利用诸如CRC、ECC等的多种检错码执行错误检测。在本实施例中,通过路由器连接多个文件控制装置,但直接互连文件控制装置的结构也是可行的。
图1示出了本发明实施例中的文件控制系统的结构。图1描述了一种用于执行DMA传输的文件控制系统,其包括根据来自主计算机的命令在外部存储设备上写入/从外部存储设备读取数据的多个文件控制装置。通过路由器使所述多个文件控制装置互连。
文件控制系统1主要由文件控制装置2a、2b、2c、2d和路由器3构成。在本实施例中,将即发送数据也接收数据的第一文件控制装置和第二文件控制装置分别标识为2a和2b,并且第一文件控制装置表示在数据发送侧(读取侧)的文件控制装置,而第二文件控制装置表示在数据接收侧(写入测)的文件控制装置。虽然省略了对文件控制装置2c和文件控制装置2d的说明,但是假定它们具有与文件控制装置2a或2b等效的功能。在文件控制装置2a和2b中,通过各文件控制装置中的设备控制器4a和4b使外部存储设备11a和11b与桥接芯片10a和10b相连。同样地,通过桥接芯片10a和10b使文件控制装置2a和2b分别连接到主计算机12a和12b,并对向外部存储设备11a和11b传输数据等进行控制。通过例如光纤通道、iSCSI或OCLINK(光学通道LINK)或FCLINK(光纤通道LINK)将桥接芯片10a和10b连接到主计算机12a和12b。通过例如光纤通道将桥接芯片10a和10b与设备控制器4a和4b相连。
在图1中,4个单元的文件控制装置与路由器3相连,然而,如果需要,可以将文件控制装置增加到8个单元。在第一文件控制装置2a和第二文件控制装置2b内分别包括有:存储器5a和5b、MCH(存储控制中心)6a和6b、CPU 7a和7b、保持模块8a和8b、以及DMA控制器9a和9b。在存储器5a与MCH 6a之间,以及在存储器5b与MCH 6b之间通过DDR(双数据速率)266进行连接。在桥接芯片10a与MCH 6a之间、在MCH 6a与DMA控制器9a之间、DMA控制器9a与路由器3之间、以及路由器3中的上行(UP)或下行(DN)端口与开关14之间全部通过稍后说明的PCI-Express链路(x4)进行连接,并且在桥接芯片10b与MCH 6b之间、在MCH 6b与DMA控制器9b之间、以及在DMA控制器9b与路由器3之间也是如此连接。此外,在文件控制装置2a或2b与路由器3之间通过背板13进行连接。
本发明具有与第一文件控制装置2a相连接的两个外部存储设备11a,并且具有镜像环功能的RAID结构,但所连接的外部存储设备11a的数量可以只有一个,或者可以增加到可由桥接芯片10a连接的数量。可以使用高速缓冲存储器作为存储器5a和存储器5b。
在下面的说明中,说明了本实施例中的第一文件控制装置2a的功能。MCH 6a从存储器5a读取数据,并将数据发送到DMA控制器9a。接收到数据的DMA控制器9a通过路由器3将该数据发送到第二文件控制装置2b的DMA控制器9b。换言之,MCH 6a和DMA控制器9a作为DMA传输执行装置进行操作。
将第一检错码(在此情况下是ECC(纠错码))预先添加给存储在存储器5a中的数据。MCH 6a利用从存储器5a读取的数据生成另一第一检错码,并校验所生成的第一检错码是否与预先添加给所述数据的第一检错码相匹配。借此,进行了存储器5a与MCH 6a之间的数据校正(compensation)。如果校验结果不匹配,并且检测到不一致,则认为检测到不可纠正错误。当检测到不可纠正错误时,将该结果告知稍后进行说明的保持模块8a。即,MCH 6a作为数据发送侧的一致性判断装置进行操作。
当检测到不可纠正错误时,MCH 6a将错误中断信号发送到CPU 7a。接收到该错误中断信号的CPU 7a将错误通知信号发送到保持模块8a。接收到错误通知信号的保持模块8a将错误通知信号发送到稍后进行说明的DMA控制器9a。换言之,MCH 6a和保持模块8a(以及CPU 7a)作为错误通知装置进行操作。
在本实施例中,在第一文件控制装置2a中具有如下规定:在MCH 6a与DMA控制器9a之间的数据路径不能使用与存储器5a与MCH 6a之间的数据路径相同的检错码。因此,MCH 6a通过将添加到数据的检错码从第一检错码(ECC)变为第二检错码(CRC)来执行MCH 6a与DMA控制器9a之间的数据校正。
DMA控制器9a在接收到错误通知信号时,改变针对其发布了发送请求的数据或改变添加给该数据的第二检错码,并对所改变的数据执行DMA传输。通过进行所述数据改变处理,可以将检测到了不一致的第一检错码的校验结果反映给在第二文件控制装置侧中所校验的第二检错码的校验结果。此处注意,DMA控制器9a作为数据改变装置进行操作。
当接收到错误通知信号时,DMA控制器9a可能忽略在接收到错误通知信号后接收的数据的发送请求,并能够停止将数据发送到第二文件控制装置2b。
在以下说明中,将解释本实施例中的第二文件控制装置2b的功能。DMA控制器9b校验从文件控制装置2a接收的数据中的第二检错码以及与该第二检错码相关联的数据之间的一致性。换言之,DMA控制器9b作为数据接收侧的一致性判断装置进行操作。
如果在从第一文件控制装置2a接收的数据中未检测到不一致,则DMA控制器9b将所接收的数据传送到MCH 6b。借此,将所接收的数据写入存储器5b。另一方面,当在所接收的数据中检测到不一致时,DMA控制器9b丢弃该数据。换言之,DMA控制器9b作为数据处理装置进行操作。
已发布了PCI-Express作为用于芯片到芯片互连以及通用扩展I/O互连的一种接口标准,并且PCI-Express的规范是由PCI-SIG(PeripheralComponent Interconnect Special Interest Group)建立的。作为下一代接口,PCI-Express是一种有前途的标准,其彻底地转变了采用并行传输方法的现有PCI系统。PCI-Express采用点对点串行传输方法。物理层在每一方向上包括两条信号线,因此最小的结构(1比特串行传输)需要4条信号线来进行双向数据传输。将该最小结构称为1小径(lane)(x1)。可根据需要将多个小径集合起来(诸如2小径(x2)、4小径(x4)、8小径(x8)、16小径(x16)和32小径(x32)),使得该结构能够提供所期望的带宽。
图2描述了使用这种PCI-Express的一般装置的结构图。如上所述,PCI-Express采用串行传输并使用CRC作为检错码。本发明的实施例是通过采用PCI-Express结构而建立的文件控制系统。然而,只要是一种当在文件控制装置之间传输数据以及从文件控制装置的存储器读取数据时使用不同的检错码的结构,就可以对该结构应用本发明。
在图2中,PCI-Express的基本结构包括:CPU 15、存储器16、根联系体(Root Complex)17、开关18和端点19。根联合体17是I/O体系结构中的最上级装置,其将CPU 15和存储器16子系统连接到I/O。开关18包括三个或更多个PCI-Express端口,并在这些端口之间进行分组路由。将根联合体17连接到上行端口(UP),并且将端点19连接到下行端口(DN)。将端点19连接到根联合体17和开关18,并将存储器16子系统连接到I/O。该结构是如下的结构:其全部装置是通过多个串行总线连接的。
接下来,详细说明本发明的文件控制装置内部的处理。图3是本发明实施例中的文件控制系统的整个处理的顺序图。在图3中,第一文件控制装置表示在数据发送侧(读取侧)的文件控制装置,而第二文件控制装置表示在数据接收侧(写入侧)的文件控制装置。
首先,将解释常规数据传输处理(当未出现不可纠正错误时)。首先,第一文件控制装置的MCH从存储器(图中未示出)读取其中预先添加有第一检错码的数据DMA#1,并利用数据DMA#1生成第一检错码,并将所生成的第一检错码与预先添加给数据DMA#1的第一检错码进行比较。在此情况下,比较结果相对应,且未出现不一致。接下来,第一文件控制装置的MCH将添加给所述数据的检错码从第一检错码改变为用于在MCH和DMA控制器之间进行的数据校正的第二检错码,并将添加有第二检错码的数据DMA#1发送到DMA控制器的MCH侧I/F。当MCH侧I/F接收到数据DMA#1时,将数据DMA#1传输到DMA控制器的内部存储器中并存储在该存储器中。当完成了数据存储时,存储器控制块将数据发送请求Req发送到路由器侧I/F。接收到该数据发送请求Req的路由器侧I/F将数据发送确认Ack发送到存储器控制块。当存储器控制块接收到该确认时,路由器侧I/F开始取出存储在存储器中的数据DMA#1。当完成了数据DMA#1的数据取出时,路由器侧I/F将数据DMA#1通过路由器发送到第二文件控制装置的DMA控制器。
接收到数据DMA#1的第二文件控制装置的DMA控制器对所接收的数据DMA#1的第二检错码(CRC)进行校验,并且如果未检测到错误,则将该数据发送到MCH。MCH将所接收的数据DMA#1写入存储器中。当完成了写入时,将数据发送/接收完成通知从第二文件控制装置的DMA控制器发送到第一文件控制装置的DMA控制器。最后,该第一文件控制装置的DMA控制器中的存储器控制块在接收到数据发送/接收完成通知后,将数据发送/接收完成通知发送到MCH,并且终止处理。
在下面的说明中,将解释在MCH访问存储器的过程中,当出现不可纠正错误时的数据传输处理。在此,不可纠正错误是通过例如第一检错码(例如ECC)检测出的多比特错误。首先,第一文件控制装置的MCH从存储器(图中未示出)读取预先添加有第一检错码的数据DMA#2(1),并利用数据DMA#2(1)生成第一检错码,并将所生成的第一检错码与预先添加给数据DMA#2(1)的第一检错码进行比较。在此情况下,比较结果不对应,并且出现了不一致。接下来,第一文件控制装置的MCH将添加给所述数据的检错码从第一检错码改变为用于在MCH与DMA控制器之间进行数据校正的第二检错码,并将添加有第二检错码的数据DMA#2(1)发送到DMA控制器的MCH侧I/F。随后在DMA控制器中的处理与常规数据传输中的处理相同,并且因此省略其说明。
当通过MCH在从存储器中读取数据DMA#2(1)的过程中检测到出现了不可纠正错误时,MCH立即将错误中断信号发送到CPU。接收到中断信号的CPU执行中断处理,即,将错误通知信号发送到保持模块。接收到错误通知信号的保持模块将错误通知信号发送到DMA控制器的路由器侧I/F。
当DMA控制器的路由器侧I/F在从存储器中取出所发送的数据DMA#2(1)的过程中接收到错误通知时,路由器侧I/F完成取出操作,并将第二检错码(CRC)添加到数据DMA#2(1)的末尾,通过对第二检错码(CRC)进行抑制(poisoning)来改变该数据,并将改变后的数据DMA#2(1x)发送到第二文件控制装置的DMA控制器。在本实施例中,“抑制”指对添加到数据末尾的CRC的各比特进行取反的处理。然而,本发明并不限于该处理,还可以在将CRC添加到数据DMA#2的末尾之后对数据DMA#2(1)的任意部分进行改变。
第二文件控制装置的DMA控制器对接收的数据执行CRC校验处理。即,当接收到具有改变的第二检错码的数据DMA#2(1x)时,在CRC校验处理中将检测到不一致性。如果检测到错误,则丢弃所接收的数据,同时将数据重发请求发送到第一文件控制装置的路由器侧I/F。响应于该请求,接收到数据重发请求的第一文件控制装置的路由侧I/F再次发送错误数据DMA#2(1x)。在本实施例中,虽然将响应于数据重发请求的次数(重试次数)设定为3次,但是如果需要可改变该次数。最后,当重发次数最终超过预设极限时,将其视为错误。同时,在第一文件控制装置中,因为未从第二文件控制装置接收到数据发送/接收完成通知,所以发生超时,于是将超时中断信号发送到MCH,并且作为错误结束处理。
如上所述,在本实施例的文件控制系统中,在将数据从第一文件控制装置2a到传输到第二文件控制装置2b的过程中,当MCH 6a在从存储器5a读取的数据中检测到错误(不一致)时,首先对CPU 7a执行错误中断。然后CPU 7a将错误通知发送到保持模块8a,并且还将错误通知从保持模块8a发送到DMA控制器9a。由此,在将数据从MCH 6a传输到DMA控制器9a的过程中,即使当利用新的检错码替代(改变)该检错码时,接收到错误通知的DMA控制器9a通过改变包括在所发送数据中的新检错码,也能够使第二文件控制装置识别出所发送的数据具有不一致性(错误)。
在本实施例的文件控制装置中,MCH是对存储器进行控制的单元,并且由于MCH和DMA控制器由串行接口连接,所以不能将错误通知从MCH6a直接发送到DMA控制器9a。因此,在文件控制装置2a中,当MCH 6a检测到错误时,将该错误通过CPU 7a以及保持单元8a通知给DMA控制器9a。
本实施例的文件控制装置尽可能快地将从存储器读取的数据发送到传输目的地文件控制装置,以加速数据传输。因此,当MCH 6a检测到错误时,DMA控制器9a在通过CPU 7a和保持模块8a接收到错误通知之前已经开始对有错误的数据进行发送。然而,本实施例的处理通过改变添加到所发送数据末尾的CRC,使传输目的地文件控制装置识别出所发送的数据包含有错误。因此,在采用串行接口的系统中,只要从由MCH 6a检测到错误,到由DMA控制器9a接收到错误通知的时间周期比发送数据(例如,在DMA控制器中进行存储器的读取/写入与路由器侧I/F的发送时间的时间总和)所需的时间周期短,就能够使传输目的地文件控制装置成功地识别出发送数据含有错误。
本实施例的文件控制装置还包括当在数据中检测到错误时停止发送数据的功能。换言之,如图3所示,在发送了数据DMA#2(1)之后,将由MCH从存储器(图中未示出)读取的DMA#2(2)发送到DMA控制器的MCH侧I/F。当MCH侧I/F接收到数据DMA#2(2)时,其将该数据传输到DMA控制器的内部存储器,并将该数据DMA#2(2)存储在该存储器中。在此,DMA控制器接收数据DMA#2(1)的错误通知。在这种情况下,路由器侧I/F没有响应来自存储器控制块的、关于数据DMA#2(2)的发送请求Req,对发送确认Ack进行发送。这样,将不继续发送数据DMA#2(2)。例如,在通过对大尺寸数据进行分割而获取数据DMA#2(1)和#2(2)时,该功能特别有用。
如上所述,在本实施例的文件控制系统中,可以通过使第二文件控制装置检测在第一文件控制装置中出现的不可纠正错误,来防止第二文件控制装置写入错误数据,并可以建立防止了数据不一致性的高可靠性的文件控制系统。
在出现不可纠正错误时,第一文件控制装置可以取消数据发送,并通过此操作预期达到如下效果:取消将在第一文件控制装置中创建的错误数据发送到第二文件控制装置。
Claims (15)
1.一种文件控制系统,执行直接存储器存取传输并包括多个文件控制装置,各文件控制装置被设置在主计算机与外部存储设备之间,并且其根据来自该主计算机的命令,来控制对所述外部存储设备的数据写入和读取,
其中所述多个文件控制装置中的第一文件控制装置包括:
第一存储器,其存储所述外部存储设备的数据和预先赋予所述数据的第一检错码;
第一一致性判断单元,用于对从所述第一存储器获得的数据与预先赋予所述从所述第一存储器获得的数据的第一检错码之间的一致性进行校验;
检错码改变单元,用于在所述第一一致性判断单元执行校验之后,将添加到所获得的数据中的所述检错码从所述第一检错码改变为第二检错码;
数据改变单元,当通过所述第一一致性判断单元检测到不一致时,其改变所述从所述第一存储器获得的数据或所述第二检错码;
直接存储器存取传输执行单元,当所述第一一致性判断单元没有检测到不一致时,用于执行将检错码改变单元的处理结果数据传输到所述多个文件控制装置中的第二文件控制装置的直接存储器存取传输,并且当所述第一一致性判断单元检测到不一致时,用于执行将所述数据改变单元的处理结果数据传输到所述第二文件控制装置的直接存储器存取传输;
并且所述第二文件控制装置包括:
第二存储器,能够存储从所述第一文件控制装置接收的数据;
第二一致性判断单元,用于对所述第二检错码与关联到所述第二检错码的数据之间的一致性进行校验,所述第二检错码和与所述第二检错码相关联的所述数据包含在从所述第一文件控制装置接收的数据中;
数据处理单元,用于在通过所述第二一致性判断单元检测到不一致时,丢弃从所述第一文件控制装置接收的数据,并用于在通过所述第二一致性判断单元未检测到不一致时将所接收的数据存储在所述第二存储器中。
2.根据权利要求1所述的文件控制系统,其中所述第一文件控制装置还包括错误通知单元,用于在所述第一一致性判断单元检测到不一致时将错误通知给所述直接存储器存取传输执行单元。
3.根据权利要求2所述的文件控制系统,其中,所述第一文件控制装置被配置为使得第一时间段比第二时间段短,所述第一时间段为从所述第一一致性判断单元检测到不一致到所述数据改变单元通过所述错误通知单元接收到相应错误通知的时间段;并且所述第二时间段为从所述第一一致性判断单元检测到不一致到通过所述直接存储器存取传输执行单元接收到所述检错码改变单元的处理结果数据的时间段。
4.根据权利要求1所述的文件控制系统,其中所述从所述第一存储器获得的数据和所述第二检错码被保存在所述直接存储器存取传输执行单元中,所述从所述第一存储器获得的数据和所述第二检错码中的任意一个将被所述数据改变单元改变,并且已经对具有所述第二检错码的所述从所述第一存储器获得的数据发布了发送请求。
5.根据权利要求1所述的文件控制系统,其中所述多个文件控制装置通过串行接口相互连接。
6.根据权利要求2所述的文件控制系统,其中当所述第一一致性判断单元检测到不一致时,所述第一一致性判断单元将错误中断信号发送到错误通知单元,并且接收到所述错误中断信号的所述错误通知单元将错误通知信号发送到所述直接存储器存取传输执行单元。
7.根据权利要求2所述的文件控制系统,其中所述直接存储器存取传输执行单元在接收到所述错误通知信号之后取消发送数据。
8.根据权利要求1所述的文件控制系统,其中所述数据改变单元通过对所述从所述第一存储器获得的数据或所述第二检错码中的至少一个比特进行取反,来改变所述从所述第一存储器获得的数据或者所述第二检错码。
9.根据权利要求1所述的文件控制系统,其中所述不一致是不可纠正的多比特错误。
10.根据权利要求1所述的文件控制系统,其中所述文件控制系统构成廉价冗余磁盘阵列。
11.根据权利要求1所述的文件控制系统,其中所述第一文件控制装置中的存储器被用作高速缓冲存储器。
12.一种在执行直接存储器存取传输且包括多个文件控制装置的文件控制系统中使用的文件控制装置,各个所述文件控制装置被设置在主计算机与外部存储设备之间,并且其基于来自所述主计算机的命令来控制对所述外部存储设备的数据写入和读取,所述文件控制装置包括:
存储器,其存储所述外部存储设备的数据和预先赋予所述数据的第一检错码;
一致性判断单元,用于对从所述存储器获得的数据与预先赋予所述从所述存储器获得的数据的所述第一检错码之间的一致性进行校验;
检错码改变单元,用于在所述一致性判断单元执行校验之后,将添加给所获得数据的所述检错码从所述第一检错码改变为第二检错码;
数据改变单元,当所述一致性判断单元检测到不一致时,其改变所述从所述存储器获得的数据或所述第二检错码;
直接存储器存取传输执行单元,当所述一致性判断单元没有检测到不一致时,用于执行将所述检错码改变单元的处理结果数据传输到多个文件控制装置中的其它文件控制装置的直接存储器存取传输,并且当所述一致性判断单元检测到不一致时,用于执行将数据改变单元的处理结果数据传输到其它文件控制装置的直接存储器存取传输。
13.根据权利要求12所述的文件控制装置,还包括错误通知单元,用于当所述一致性判断单元检测到不一致时将错误通知给所述直接存储器存取传输执行单元。
14.根据权利要求13所述的文件控制装置,其中,第一时间段比第二时间段短,所述第一时间段为从所述一致性判断单元检测到不一致到所述数据改变单元通过所述错误通知单元接收到相应错误通知的时间段,所述第二时间段为从所述一致性判断单元检测到不一致到所述直接存储器存取传输执行单元接收到所述检错码改变单元的所述处理结果数据的时间段。
15.根据权利要求12所述的文件控制装置,其中所述从所述存储器获得的数据和所述第二检错码被保存在所述直接存储器存取传输执行单元中,所述从所述存储器获得的数据和所述第二检错码中的任意一个将被所述数据改变单元改变,并且已经对具有所述第二检错码的所述从所述存储器获得的数据发布了发送请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005041539 | 2005-02-18 | ||
JP2005041539A JP4391954B2 (ja) | 2005-02-18 | 2005-02-18 | ファイル制御システムおよびファイル制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1821970A CN1821970A (zh) | 2006-08-23 |
CN100405309C true CN100405309C (zh) | 2008-07-23 |
Family
ID=36914250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100876219A Expired - Fee Related CN100405309C (zh) | 2005-02-18 | 2005-07-22 | 文件控制系统和文件控制装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7624324B2 (zh) |
JP (1) | JP4391954B2 (zh) |
KR (1) | KR100640037B1 (zh) |
CN (1) | CN100405309C (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2007096987A1 (ja) * | 2006-02-24 | 2009-07-09 | 富士通株式会社 | エラー制御装置 |
JP2010016751A (ja) * | 2008-07-07 | 2010-01-21 | Rohm Co Ltd | Crc演算回路、シリアルインタフェイス装置、画像形成装置 |
WO2010116538A1 (en) * | 2009-04-06 | 2010-10-14 | Hitachi, Ltd. | Storage apparatus and data transfer method |
US9053060B2 (en) * | 2009-09-29 | 2015-06-09 | Canon Kabushiki Kaisha | Information processing apparatus having file system consistency recovery function, and control method and storage medium therefor |
JP5790043B2 (ja) * | 2011-03-14 | 2015-10-07 | 株式会社リコー | データ転送システム及びデータ転送方法 |
US9015519B2 (en) * | 2012-01-31 | 2015-04-21 | Symantec Corporation | Method and system for cluster wide adaptive I/O scheduling by a multipathing driver |
JP5360287B2 (ja) * | 2012-10-31 | 2013-12-04 | 富士通株式会社 | データ制御方法およびシステム |
JP6070357B2 (ja) * | 2013-03-28 | 2017-02-01 | 富士通株式会社 | ストレージ装置 |
JP6275427B2 (ja) | 2013-09-06 | 2018-02-07 | 株式会社東芝 | メモリ制御回路およびキャッシュメモリ |
WO2018198325A1 (ja) * | 2017-04-28 | 2018-11-01 | 株式会社日立製作所 | ストレージシステム |
JP6807113B2 (ja) * | 2019-06-07 | 2021-01-06 | ソナス株式会社 | 通信システム、通信方法及び通信装置 |
US11108894B2 (en) * | 2019-08-09 | 2021-08-31 | Microsoft Technology Licensing, Llc | Masked packet checksums for more efficient digital communication |
KR20210132761A (ko) | 2020-04-27 | 2021-11-05 | 현대자동차주식회사 | 저광택 무도장용 열가소성 수지 조성물, 이를 이용하여 성형품을 제조하는 방법, 및 이를 통해 제조된 성형품 |
US11893248B2 (en) * | 2022-02-11 | 2024-02-06 | Western Digital Technologies, Inc. | Secure metadata protection |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651186B1 (en) * | 2000-04-28 | 2003-11-18 | Sun Microsystems, Inc. | Remote incremental program verification using API definitions |
CN1484129A (zh) * | 2002-05-31 | 2004-03-24 | 三星电子株式会社 | 与非门快闪存储器接口设备 |
JP2004295542A (ja) * | 2003-03-27 | 2004-10-21 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
US20040249858A1 (en) * | 2003-06-03 | 2004-12-09 | Hitachi, Ltd. | Control method of storage control apparatus and storage control apparatus |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3786439A (en) * | 1972-12-26 | 1974-01-15 | Ibm | Error detection systems |
US4371929A (en) * | 1980-05-05 | 1983-02-01 | Ibm Corporation | Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory |
JPH0682318B2 (ja) | 1989-11-30 | 1994-10-19 | 日本ビクター株式会社 | 情報記録ディスク装置の制御装置 |
JP2819982B2 (ja) * | 1993-03-18 | 1998-11-05 | 株式会社日立製作所 | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
JP3321265B2 (ja) | 1993-10-22 | 2002-09-03 | 株式会社日立製作所 | 通信処理装置およびそのデバッグ方法 |
JP3412349B2 (ja) | 1994-12-28 | 2003-06-03 | 株式会社日立製作所 | 制御装置 |
JP3625977B2 (ja) | 1997-02-03 | 2005-03-02 | 株式会社日立インフォメーションテクノロジー | Lan接続装置 |
US6014380A (en) | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | Mechanism for packet field replacement in a multi-layer distributed network element |
JPH11205784A (ja) | 1998-01-13 | 1999-07-30 | Mitsubishi Electric Corp | 画像復号装置 |
JP2001077832A (ja) | 1999-07-06 | 2001-03-23 | Nippon Telegr & Teleph Corp <Ntt> | プロトコル処理装置及びatmセル格納方法 |
JP4794711B2 (ja) | 1999-09-07 | 2011-10-19 | 富士通株式会社 | エラー隠蔽制御方法及び符号化装置及び画像信号伝送システム |
JP4217386B2 (ja) | 2001-05-15 | 2009-01-28 | 株式会社リコー | Fifo装置 |
-
2005
- 2005-02-18 JP JP2005041539A patent/JP4391954B2/ja not_active Expired - Fee Related
- 2005-06-01 KR KR1020050046729A patent/KR100640037B1/ko active IP Right Grant
- 2005-07-22 CN CNB2005100876219A patent/CN100405309C/zh not_active Expired - Fee Related
- 2005-09-29 US US11/237,655 patent/US7624324B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651186B1 (en) * | 2000-04-28 | 2003-11-18 | Sun Microsystems, Inc. | Remote incremental program verification using API definitions |
CN1484129A (zh) * | 2002-05-31 | 2004-03-24 | 三星电子株式会社 | 与非门快闪存储器接口设备 |
JP2004295542A (ja) * | 2003-03-27 | 2004-10-21 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
US20040249858A1 (en) * | 2003-06-03 | 2004-12-09 | Hitachi, Ltd. | Control method of storage control apparatus and storage control apparatus |
Also Published As
Publication number | Publication date |
---|---|
US20060190772A1 (en) | 2006-08-24 |
JP2006227953A (ja) | 2006-08-31 |
US7624324B2 (en) | 2009-11-24 |
KR20060092803A (ko) | 2006-08-23 |
JP4391954B2 (ja) | 2009-12-24 |
CN1821970A (zh) | 2006-08-23 |
KR100640037B1 (ko) | 2006-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100405309C (zh) | 文件控制系统和文件控制装置 | |
US7644347B2 (en) | Silent data corruption mitigation using error correction code with embedded signaling fault detection | |
JP5348248B2 (ja) | メモリシステム及びメモリシステムの制御方法 | |
EP1984822B1 (en) | Memory transaction replay mechanism | |
US9009556B2 (en) | Error correction and recovery in chained memory architectures | |
US20090193315A1 (en) | System for a Combined Error Correction Code and Cyclic Redundancy Check Code for a Memory Channel | |
TWI546814B (zh) | 具有錯誤校正邏輯之記憶體裝置 | |
US20080244121A1 (en) | Method and apparatus for memory compression | |
US7984357B2 (en) | Implementing minimized latency and maximized reliability when data traverses multiple buses | |
EP1683019A2 (en) | Lane testing with variable mapping | |
US9141485B2 (en) | Storage device, control device and data protection method | |
US9191030B2 (en) | Memory controller, data storage device, and memory controlling method | |
US20070186141A1 (en) | Method and information apparatus for improving data reliability | |
US20100046364A1 (en) | Transmitting system, apparatus, and method | |
JP5966243B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
US7328368B2 (en) | Dynamic interconnect width reduction to improve interconnect availability | |
US7712004B1 (en) | Method of and system for error checking in a data storage system | |
US7715378B1 (en) | Error notification and forced retry in a data storage system | |
JP5145860B2 (ja) | メモリ二重化システム及び情報処理装置 | |
JP4782406B2 (ja) | 2重化システム | |
CN110837484B (zh) | Ssd主控中的raid多路处理装置及数据恢复方法 | |
US20220308954A1 (en) | Selection of processing mode for receiver circuit | |
JP4067945B2 (ja) | 半導体集積回路、記憶制御装置 | |
CN116483614A (zh) | 用于计算快速链路(cxl)装置中的存储器系统的循环冗余校验(crc)重试 | |
JPH03127248A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080723 Termination date: 20210722 |