CN100405309C - 文件控制系统和文件控制装置 - Google Patents

文件控制系统和文件控制装置 Download PDF

Info

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
Application number
CNB2005100876219A
Other languages
English (en)
Other versions
CN1821970A (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 CN1821970A publication Critical patent/CN1821970A/zh
Application granted granted Critical
Publication of CN100405309C publication Critical patent/CN100405309C/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor 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所述的文件控制装置,其中所述从所述存储器获得的数据和所述第二检错码被保存在所述直接存储器存取传输执行单元中,所述从所述存储器获得的数据和所述第二检错码中的任意一个将被所述数据改变单元改变,并且已经对具有所述第二检错码的所述从所述存储器获得的数据发布了发送请求。
CNB2005100876219A 2005-02-18 2005-07-22 文件控制系统和文件控制装置 Expired - Fee Related CN100405309C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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