CN1834930A - 双重存储装置及该双重存储装置的控制方法 - Google Patents

双重存储装置及该双重存储装置的控制方法 Download PDF

Info

Publication number
CN1834930A
CN1834930A CNA2005100832600A CN200510083260A CN1834930A CN 1834930 A CN1834930 A CN 1834930A CN A2005100832600 A CNA2005100832600 A CN A2005100832600A CN 200510083260 A CN200510083260 A CN 200510083260A CN 1834930 A CN1834930 A CN 1834930A
Authority
CN
China
Prior art keywords
data
read
internal memory
identifier
storage apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100832600A
Other languages
English (en)
Other versions
CN100375962C (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 CN1834930A publication Critical patent/CN1834930A/zh
Application granted granted Critical
Publication of CN100375962C publication Critical patent/CN100375962C/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/005Circuit means for protection against loss of information of semiconductor storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Abstract

本发明提供一种双重存储装置及该双重存储装置的控制方法。该双重存储装置包括:第一和第二内存,用于分别保留一组相同的数据;以及选择器,用于基于输入到选择器中的读控制信号,分别从第一和第二内存读取的两组数据中选择任一组;还具有请求管理单元,当输入了读控制信号时,其将识别该读控制信号的标识符附加到所输入的读控制信号上,并输出该信号和标识符;以及多个内存控制单元,用于第一和第二内存的每一个。通过验证由请求管理单元附加的标识符的一致性,该双重存储装置检测同步错误,并且控制选择器,检测来自没有检测出同步错误的系统的数据。

Description

双重存储装置及该双重存储装置的控制方法
技术领域
本发明涉及一种双重存储装置及该双重存储装置的控制方法,该双重存储装置包括用于保留数据的内存和用于该内存的输入/输出系统,其均被双重化从而提高了可靠性。
背景技术
当前,工业上需要计算机的范围已经被扩大,并且对这些计算机要求改进可靠性。对计算机所需的可靠性,一种是确保即使在计算机中使用的资源(比如CPU(中央处理器)、内存、硬盘等)开始发生故障时,计算机也能够继续运行的容错性;另一种是作为能够检测和校正诸如在传输信息的过程中产生的位反转之类数据错误的能力的容差性。
作为一种改进计算机所需的可靠性的方法,能够列举出资源复用。例如,按照日本专利申请待审公开号1987-140153,1992-149653,1982-101950和1996-297588,描述了一些构造,其中每一种构造都具有被双重化的内存,并且相同的数据分别被写入双重内存所含的每个对应内存中,在读取数据时分别从对应内存读取的两组数据彼此进行比较,并且选择待用于处理的那组数据。
因此,由于即使在一个对应内存开始发生故障时,也能够使用另一对应内存中存储的数据,所以能够改进容错性。此外,因为直到从双重内存读取的两组数据一致才能使用数据,所以能在比较期间执行数据中的错误检测/校正,由此能改进容差性。
通过内存控制器来控制内存,该内存控制器处理发到内存的读请求和写请求。近年来,因为DIMM(双重内嵌式内存模块)容量的增大并且数据传输速度的增长,在这种内存控制器中使用的LSI(大规模集成电路)便具有复杂的构造。因此,在LSI中出现错误的可能性和LSI受例如经受了干扰的外部环境的影响的可能性变高。
当内存被双重化时,对于每个内存的输入/输出系统也被双重化,并且向每个对应输入/输出系统提供内存控制器。然后,一般来说,两个内存控制器对称(即同步)运行。然而,即使在LSI在完全相同的条件下对称(即同步)地运行时,由于内部出现的错误或干扰,分别提供给对应输入/输出系统的控制器也可彼此不同地运行。
当双重内存中的对应内存控制器的运行变为非对称(不同步)时,计算机可发生这样的现象,例如在数据组之间的定时延迟、数据丢失、数据排序错误。例如,在读取数据时,从对应内存读取的两组数据仅由于数据组之间的定时延迟便会不一致。在这种情况下,两组数据本身并没有被损坏,但是,计算机不能确定哪一组数据应当用于处理。因此,计算机便不可能持续运行。
如上所述,现有技术存在这样的问题:即使内存被双重化,由于内存控制器中使用的LSI的故障也需要停止计算机的操作,然后,即使在内存被双重化时计算机还是不可能持续运行,因此计算机所需的可靠性也被降低。
发明内容
因此,本发明的目的是提供一种双重存储装置及该双重存储装置的控制方法,该双重存储装置能够促使计算机的持续运行,而不会降低计算机所需的可靠性。
为了实现上述目的,按照本发明的第一方面,提供一种双重存储装置,包括:第一和第二内存,用于分别保留一组相同数据;以及选择器,用于基于输入给选择器的读控制信号,从第一和第二内存读取的两组数据中选择任一组,其中该双重存储装置包括:请求管理单元,用于当输入读控制信号时,其将识别该读控制信号的标识符附加在所输入的读控制信号上,并且输出该信号和标识符;第一主内存控制单元,用于基于从请求管理单元输出的读控制信号,从第一内存读取数据,并且输出从第一内存读取的一组数据,该组数据具有附加在从请求管理单元输出的读控制信号上的标识符;第一子内存控制单元,用于输入从请求管理单元输出的读控制信号和由第一主内存控制单元读取的数据,并且输出具有附加在从请求管理单元输出的读控制信号上的标识符的输入数据;第二主内存控制单元,用于基于从请求管理单元输出的读控制信号,从第二内存读取数据,并且输出从第二内存读取的一组数据,该组数据具有附加在从请求管理单元输出的读控制信号的标识符;第二子内存控制单元,用于输入从请求管理单元输出的读控制信号和由第二主内存控制单元读取的数据,并且输出具有附加在从请求管理单元输出的读控制信号上的标识符的输入数据;同步校验单元,用于验证从第一主内存控制单元和第一子内存控制单元输入的标识符的一致性、以及从第二主内存控制单元和第二子内存控制单元输入的标识符的一致性;以及选择器控制单元,用于基于验证结果控制选择器。
优选地,双重存储装置还包括:一致性校验单元,用于在从第一主内存控制单元和第二子内存控制单元输入的标识符的一致性和从第二主内存控制单元和第二子内存控制单元输入的标识符的一致性都被验证时,验证从第一内存读取的那组数据和从第二内存读取的那组数据是否一致,并且其中在一致性校验单元没有验证出一致性时,该选择器控制单元输出系统错误。优选地,当从第一主内存控制单元和第一子内存控制单元输入的标识符的一致性被验证时,选择器控制单元控制选择器,选择从第一内存读取的那组数据;以及当从第一主内存控制单元和第一子内存控制单元输入的标识符的一致性没有被验证,而从第二主内存控制单元和第二子内存控制单元输入的标识符的一致性被验证时,选择器控制单元控制选择器,选择从第二内存读取的那组数据。优选地,在同步校验单元没有验证出从第一主内存控制单元和第一子内存控制单元输入的标识符的一致性、以及从第二主内存控制单元和第二子内存控制单元输入的标识符的一致性时,选择器控制单元输出系统错误。优选地,该双重存储装置还具有代码校验单元,用于校验附加在每组数据上的错误检测/校正代码,以及其中,当代码校验单元在从第一内存读取的任一组数据中没有检测到不可校正的错误时,选择器控制单元控制选择器,选择从第一内存读取的那组数据;并且当从第一内存读取的任一组数据中检测到不可校正的错误,而从第二内存读取的任一组数据中没有检测到不可校正的错误时,该选择器控制单元控制选择器,选择从第二内存读取的那组数据。优选地,当代码校验单元在从第一内存读取的任一组数据中检测到不可校正的错误并且在从第二内存读取的任一组数据中检测到不可校正的错误时,选择器控制单元输出系统错误。
为了实现上述目的,按照本发明的第二方面,提供一种双重存储装置的控制方法,该双重存储装置包括:第一和第二内存,用于分别保存一组相同数据;以及选择器,用于基于输入给选择器的读控制信号,从第一和第二内存读取的两组数据中选择任一组,其中在输入了读控制信号时,该双重存储装置产生用于识别该读控制信号的标识符,其中通过基于该读控制信号从第一内存读取数据、并将附加在读控制信号上的标识符添加到从第一内存读取的数据,该双重存储装置产生第一主数据;其中通过将附加在读控制信号上的标识符添加到从第一内存读取的数据,该双重存储装置产生第一子数据;其中通过基于该读控制信号从第二内存读取数据、并且将附加在读控制信号的标识符添加到从第二内存读取的数据,该双重存储装置产生第二主数据;其中通过将附加在读控制信号的标识符添加到从第二内存读取的数据,该双重存储装置产生第二子数据;其中该双重存储装置验证分别包含于第一主数据和第一子数据的标识符的一致性、以及分别包含于第二主数据和第二子数据的标识符的一致性;以及其中该双重存储装置基于验证结果控制选择器。
利用本发明实施例的双重存储装置,能够进一步使计算机持续运行,而不会降低计算机所需的可靠性。
附图说明
从结合附图的下述具体描述中,本发明的上述和其它目的、方案、特点和优点将变的更为明显,在附图中:
图1示出实施例中的双重存储装置构造的实例;
图2示出实施例中的内存控制单元的具体构造的实例;
图3示出具有报头的数据结构的实例;
图4示出实施例中的数据控制单元的具体构造的实例;
图5是描述实施例中的选择器控制单元的运行流程图;
图6是描述实施例中的双重存储装置的简要运行的表格;
图7是实施例中的双重存储装置的正常运行的说明图;
图8是双重存储装置在一个同步校验中检测到一个系统中的错误的情况的实例说明图;
图9是双重存储装置在多个同步校验中检测到两个系统中的错误的情况的实例说明图;
图10是双重存储装置在对报头的ECC校验中检测到一个系统错误的情况的实例说明图;
图11是双重存储装置在对数据的ECC校验中检测到一个系统错误的情况的实例说明图;
图12是双重存储装置在对数据的同步校验中检测到两个系统错误的情况的实例说明图;以及
图13是双重存储装置在对数据的一致性校验中检测到错误的情况的实例说明图。
具体实施方式
现在将参照附图描述本发明的实施例。但是请注意,本发明的技术范围并不局限于实施例,而是覆盖所附权利要求书及其等效范围内所限定的发明。
图1示出实施例中的双重存储装置的构造实例。双重存储装置经未示出的总线连接到CPU(中央处理器),并且响应从CPU输入的请求信号执行处理。
例如,在写请求的情况下,双重存储装置存储已通过写请求输入的、将分别写入内存1A和内存1B中的指定地址的数据,并且向CPU通知处理结果。以这种方式,两组相同的数据分别存储在内存1A和内存1B中。当该请求是读请求101时,双重存储装置从指定的地址读取数据,并且将含有读取数据的数据104输出到CPU或者向CPU通知系统错误108。
在该实施例的双重存储装置中,含有多个用于存储数据的存储元件的内存被双重化(分为内存1A和内存1B),并且随之,输入/输出系统也被双重化。此处,经其使用从内存1A读取的数据的输入/输出系统被称为“A系统”,并且经其使用从内存1B读取的数据的输入/输出系统被称为“B系统”,以区分这些系统。
作为实施例的双重存储装置的一个特点,当输入读请求101时,管理单元30产生用于识别读请求101的标识符(控制ID)并且将标识符附加在读请求101上。附加有控制ID的该读请求作为内存控制信号102被输出到如后所述的内存控制单元。
读请求101包含被指定为读目标的地址,表示处理是读取的读命令(在处理是写入时的写命令)等。当待附加控制ID的每个读请求101被输入到双重存储装置的时间和读请求101的内容(指定地址和命令)不同时,管理单元30产生不含任何相同控制ID的控制ID,使得控制ID中的任一个都与其它的不相同,并且使得每个读请求都是可识别的。
利用不含有相同控制ID的这些控制ID,双重存储装置检测同步延迟错误,以便处理在不同定时输入的请求。尽管在实施例中是为读请求而产生控制ID,但是也可为写请求产生控制ID。
而且,作为实施例的双重存储装置的另一特点,每个输入/输出系统都设有两个内存控制单元。也就是说,在A系统中,内存1A设有内存控制单元2A1和内存控制单元2A2,并且在B系统中,内存1B设有内存控制单元2B1和内存控制单元2B2。当读请求101被输入到管理单元30时,管理单元30分别向四个内存控制单元输出相同的内存控制信号102。
内存控制单元2A1和2A2控制内存1A,并且内存控制单元2B1和2B2控制内存2B。每个内存控制单元响应于发到内存的写请求,向指定的地址写入通过写请求输入的、待写入的数据。
此外,响应于发到内存的读请求101,每个内存控制单元向内存输出附加有读命令103的读目标的指定地址,并且读取数据41。然后,每个内存控制单元将含有从内存控制信号102获得的控制ID的报头添加到从内存读取的数据41,并且在后面的阶段中将具有报头104的数据提供给数据控制单元10。
数据控制单元10包括ECC校验单元(代码校验单元)、同步校验单元、一致性校验单元5、选择器控制单元6和总线选择器7。A系统和B系统分别设有ECC校验单元和同步校验单元。
基于分别包含在报头和数据中的错误校验和校正码(ECC),其中该数据包含于具有报头104的数据中,ECC校验单元3A和3B分别执行检测不可校正的位错误的代码校验。当在代码校验中检测到不可校正的位错误时,每个ECC校验单元将代码错误105通知给选择器控制单元6。
基于包含在报头中的控制ID,其中该报头包含在具有报头104的数据中,同步校验单元4A和4B分别执行同步校验,检测表示这样的状态的同步错误:包含在每个输入/输出系统中的两个内存控制单元不同步。当在同步校验中检测到同步错误时,每个同步校验单元将同步错误106通知给选择器控制单元6。
同步校验单元4A和4B分别校验两个完整的报头是否一致,并且当报头不一致时,可以确定已经发生了同步错误。此外,当分别包含在报头中的控制ID不一致时,同步校验单元4A和4B可确定已经发生同步错误。
为了检测由每个同步校验单元和每个ECC校验单元不能检测到的多重缺陷(multiple defect)时,在每个同步校验单元和每个ECC校验单元没有检测到错误时,一致性校验单元5执行一致性校验,验证从内存1A读取的一组数据和从内存1B读取的一组数据是否一致。然后,一致性校验单元5将一致性校验的结果107通知给选择器控制单元6。
选择器控制单元6按照来自每个ECC校验单元和每个同步校验单元的校验结果,向总线选择器7输入用于选择A系统或B系统的选择信号108。选择器控制单元6向总线选择器7输入用于选择未通知有错误的系统的选择信号108。
例如,在ECC校验单元3A通知代码错误105的情况下,选择器控制单元6向总线选择器7输入用于选择B系统的选择信号108。在同步校验单元4B输入同步错误106的情况下,选择器控制单元6向总线选择器7输入用于选择A系统的选择信号108。
然后,在分别从这两个系统通知错误的情况下,选择器控制单元6输出系统错误109。类似地,在由一致性校验单元5执行的一致性校验中验证了两组数据之间的差异时,选择器控制单元6输出系统错误109。
基于来自选择器控制单元6的选择信号,总线选择器7转换待使用的输入/输出系统。在图1中,由于B系统中的信号内容与A系统中的相同,因此省略了B系统中的信号的标号。
图2示出实施例中的内存控制单元的具体构造实例。在图2中,显示了关于A系统的构造。而内存控制单元2B1和2B2的构造与内存控制单元2A1和2A2的相同。
读控制信号102包含地址、读命令和控制ID。该地址是表示数据在内存中的位置的信息。该读命令表示信号是读请求。该控制ID是用于唯一识别读请求的标识符,并且由管理单元30产生。
在包含在由管理单元30输入的读控制信号102内的信息中,地址201被存储在地址队列11和21中。然后,在包含在由管理单元30输入的读控制信号102内的信息中,读命令和控制ID202被存储在命令队列12和22中。
命令队列12和22是分别存储读命令和控制ID的寄存器,并且响应读请求,与已经进入地址队列11的地址同步运行。在有效命令被存储在命令队列12和22的情况下,逐个执行向内存1A的读命令。
当执行命令时,产生报头所需的信息从命令队列12输出到产生单元13。控制ID203包含在该信息中。
地址队列11和21与命令队列12和22同步运行。分别存储在地址队列11和21中的地址被传送至内存1A,并且同步执行向内存1A的读命令。
以这种方式,读命令加上地址103被输入到内存。然后,已经读取的数据41被存储在数据队列14和24中。数据队列14和24是累积从内存1A读取的数据41的寄存器。
报头产生单元13产生数据传输所需的报头302,并且执行控制,使报头302的传输等待,直到从内存1A读取的数据41到达。然后,报头产生单元13输出用于控制选择器15的选择器控制信号301,以使报头和数据的次序为报头加上数据。而且,包头产生单元13管理数据队列14和24,并且当数据队列14和24中的资源已经耗尽时,包头产生单元13向命令队列12和22输出BUSY信号,以防止它们输出。
基于从报头产生单元13输入的选择器控制信号301,选择器15转换报头系统和数据系统,以按报头加上数据的次序传输。然后,选择器15向数据队列14输出读指针控制信号303,以便对数据队列14执行控制,从而输出必要的数据。基于来自选择器15的读指针控制信号,数据队列14输出具有必要信息包长度的数据。
以这种方式,由报头产生单元13产生的报头附加在从内存1A读取的该组数据41上,并且在随后的阶段中具有报头104的数据从内存控制单元输入到数据控制单元。
图3示出具有报头104的数据结构的实例。具有报头104的数据被分解成报头44和数据41。其中,报头44进一步分解成报头主体45和作为报头主体45的冗余码的ECC46。控制ID203包含在报头主体45中。
而且,数据41被分解成数据主体42和作为数据主体的冗余码的ECC43。由ECC46对报头、并且由ECC43对数据检测传输过程中的位反转。
图4示出实施例中的数据控制单元10的具体构造实例。在图1所示的ECC校验单元3A和3B之前的阶段,总共提供四个(HD分离单元8A1、8A2、8B1、8B2)报头/数据分离单元(HD分离单元),用于将待输入到数据控制单元10的具有报头104的数据分解成报头44和数据41。
图1所示的ECC校验单元3A和3B被分成校验数据的ECC43的数据ECC校验单元31A和31B,以及校验报头的ECC46的报头ECC校验单元32A和32B。然后,在同步校验单元4A和4B之后的阶段,提供组合单元9A和9B,用于将曾经分离过一次的报头44和数据41重新组合。相比图1更具体描述了上述几点。
HD分离单元8A1将从内存控制单元2A1输入的具有报头104的数据分离成报头Ha1和数据Da1。类似地,HD分离单元8A2将从内存控制单元2A2输入的具有报头104的数据分离成报头Ha2和数据Da2。然后,数据Da1和Da2被输入到数据ECC校验单元31A中,而报头ha1和ha2被输入到报头ECC校验单元32A中。
在任一数据Da1和Da2中检测到不可校正的位错误时,数据ECC校验单元31A向选择器控制单元6输入关于数据的代码错误105d。在任一报头Ha1和Ha2中检测到不可校正的位错误时,报头ECC校验单元32A向选择器控制单元6输入关于报头的代码错误105h。
然后,报头ECC校验单元32A向同步校验单元4A输入报头Ha1和Ha2。基于包含在报头中的控制ID检测到同步错误时,同步校验单元4A将同步错误106通知给选择器控制单元6。
组合单元9A和9B重新组合已经分离的报头44和数据41,并且向总线选择器7输入组合的报头44和数据41。组合单元9A和9B向一致性校验单元5输入数据41。
对于剩余部分的描述与图1中的相同,因此将其省略。
图5是描述实施例中的选择器控制单元6的运行流程图。首先,选择器控制单元6确定是否发生数据ECC错误(S1)。如果数据ECC校验单元31A和31B输入了关于数据的代码错误105d,则选择器控制单元6确定发生了数据ECC错误。在这种情况下,对于哪个系统发生了错误也通知给选择器控制单元6。
在没有发生数据ECC错误的情况下(S1否),选择器控制单元6确定是否已经发生报头ECC错误(S2)。如果报头ECC校验单元32A和32B输入了关于报头的代码错误105h,则选择器控制单元6确定发生了报头ECC错误。在这种情况下,对于哪个系统发生了错误也通知给选择器控制单元6。
在没有发生报头ECC错误的情况下(S2否),选择器控制单元6确定是否发生了同步错误(S3)。如果同步校验单元4A和4B输入了同步错误106,则选择器控制单元6确定发生了同步错误。在这种情况下,对于哪个系统发生了错误也通知给选择器控制单元6。
在代码校验和同步校验没有检测到错误的情况下(S3否),选择器控制单元6确定从内存1A和内存1B读取的两组数据是否一致(S4)。如果来自两个系统的两组数据一致(S4是),则可使用来自任一系统的那组数据,并且在这种情况下,选择器控制单元6输出选择信号,控制选择器使用从内存1A读取的那组数据(S8)。在这种情况下,可以控制选择器,使用从内存1A读取的那组数据。
在代码校验和同步校验没有检测到错误,而来自两个系统的两组数据不一致的情况下(S4否),不能确定使用哪一组数据,且选择器控制单元6输出系统错误(S7)。
在代码校验和同步校验检测到错误的情况下(S1是,S2是,S3是),选择器控制单元6确定检测到错误的系统是否是A系统(S5)。在在B系统中检测到错误的情况下(S5否),选择器控制单元6输出选择信号,控制选择器使用从内存1A读取的那组数据(S8)。
在A系统中检测到错误的情况下(S5是),选择器控制单元6确定是否也在B系统中检测到错误(S6)。在B系统中没有检测到错误的情况下(S6否),选择器控制单元6输出选择信号,控制选择器使用从内存1B读取的那组数据(S9)。
在A系统和B系统中均检测到错误的情况下(S6是),选择器控制单元6输出系统错误(S7)。上述图5的运行被概括在图6的表格中。
下面参照具体实例描述该运行。
图7是实施例中的双重存储装置的正常运行的说明图。从内存1A读取的数据41被输入到内存控制单元2A1和2A2。内存控制单元2A1和2A2分别将相同的报头附加在输入的数据上,并将具有报头104的数据输入到ECC校验单元3A。
ECC校验单元3A对报头和数据执行代码校验。在该校验中,没有检测到错误。ECC校验单元3A将报头输入到同步校验单元4A。
在同步校验单元4A中,执行对于报头的同步校验。类似地,在该校验中,没有检测到错误。对于B系统也进行相同的处理。在ECC校验单元3B中执行代码校验,并且在同步校验单元4B中执行同步校验。类似地,在这些校验中,没有检测到错误。
最后,从内存1A读取的那组数据和从内存1B读取的那组数据被输入到一致性校验单元5,并且执行一致性校验。然后,基于没有检测到错误的事实,选择器控制单元6控制总线控制器7,例如使用从内存1A读取的那组数据。
图8是双重存储装置在同步校验中检测到一个系统中的错误的情况下的实例说明图。从内存1A读取的那组数据41被输入到内存控制单元2A1和2A2中。在图8中,在内存控制单元2A1和2A2之间发生同步延迟,并且不同的报头81被附加在内存控制单元2A2中。
在ECC校验单元3A中对报头和数据执行代码校验。在该校验中,没有检测到错误。这是因为虽然报头之间伴随有同步延迟,但是在传输过程中没有发生位反转,也没有检测到ECC错误。
然后,ECC校验单元3A向同步校验单元4A输入报头。在同步校验单元4A中对报头执行同步校验。在该校验中,检测到同步错误。然后,同步校验单元4A通知选择器控制单元6:在A系统中检测到同步错误。
对B系统也执行相同的处理。在ECC校验单元3B中执行代码校验,并且在同步校验单元4B中执行同步校验。在B系统中,没有检测到错误。最后,选择器控制单元6控制总线选择器7,使用从内存1B读取的那组数据。
图9是双重存储装置在同步校验中检测到两个系统中的错误的情况的实例说明图。从内存1A读取的那组数据41被输入到内存控制单元2A1和2A2。在图9中,在内存控制单元2A1和2A2之间发生同步延迟,并且通过内存控制单元2A2附加不同的报头81。此外,在内存控制单元2B1和2B2之间发生同步延迟,并且通过内存控制单元2B1附加不同的报头81。
在ECC校验单元3A中对报头和数据执行代码校验。在该校验中,没有检测到错误。这是因为虽然报头之间伴随有同步延迟,但是在传输过程中没有发生位反转,也没有检测到ECC错误。
然后,ECC校验单元3A向同步校验单元4A输入报头。在同步校验单元4A中执行对于报头的同步校验。在该校验中,检测到同步错误。然后,同步校验单元4A通知选择器控制单元6:在A系统中检测到同步错误。
对B系统也执行相同的处理。在ECC校验单元3B中执行代码校验,并且在同步校验单元4B中执行同步校验。结果,由同步校验单元4B检测到同步错误。然后,同步校验单元4B通知选择器控制单元6:在B系统中检测到同步错误。
在这种情况下,因为分别在A系统和B系统中检测到错误,所以选择器控制单元6通知系统错误。
图10是双重存储装置在对报头的ECC校验中检测到一个系统中的错误的情况的实例说明图。从内存1A读取的那组数据41被输入到内存控制单元2A1和2A2。内存控制单元2A1和2A2将相同的报头分别附加到输入的那组数据,并且将具有报头104的那组数据输入到ECC校验单元3A。在图10中,假定在传输过程中,从内存控制单元2A2输出到ECC校验单元3A的报头中发生位反转(在图10中,发生位反转的报头82表示为这样的图,其即使在报头和ECC结合在一起时也不能成一个正方形)。
在ECC校验单元3A中执行对报头和数据的代码校验。在该校验中,检测关于报头的代码错误。然后,ECC校验单元3A通知选择器控制单元6:在A系统中检测到同步错误。
对B系统也执行相同的处理。在ECC校验单元3B中执行代码校验,并且在同步校验单元4B中执行同步校验。没有在B系统中检测到错误。最后,选择器控制单元6控制总线选择器7,使用从内存1B读取的那组数据。
图11是双重存储装置在对数据的ECC校验中检测到一个系统中的错误的情况的实例说明图。从内存1A读取的那组数据41被输入到内存控制单元2A1和2A2。内存控制单元2A1和2A2将相同的报头分别附加到输入的那组数据,并且将具有报头104的那组数据输入到ECC校验单元3A。在图11中,假定在传输过程中,从内存控制单元2A2输出到ECC校验单元3A的数据发生位反转(在图11中,发生位反转的那组数据83表示为这样的图,其通过将一个涂黑的半圆形添加到表示已被读取的那组数据41的图中来形成)。
在ECC校验单元3A中执行对报头和数据的代码校验。在该校验中,检测关于数据的代码错误。然后,ECC校验单元3A通知选择器控制单元6:在A系统中检测到同步错误。
对B系统也执行相同的处理。在ECC校验单元3B中执行代码校验,并且在同步校验单元4B中执行同步校验。没有在B系统中检测到错误。最后,选择器控制单元6控制总线选择器7,使用从内存1B读取的那组数据。
图12是双重存储装置在对数据的同步校验中检测到两个系统中的错误的情况的实例说明图。从内存1A读取的那组数据41被输入到内存控制单元2A1和2A2。内存控制单元2A1和2A2将相同的报头分别附加到输入的那组数据,并且将具有报头104的那组数据输入到ECC校验单元3A。
在图12中,假定在传输过程中从内存控制单元2A2输出到ECC校验单元3A的数据发生位反转(在图12中,发生位反转的那组数据83被表示为这样的图,其通过将涂黑的半圆形附加到表示已被读取的那组数据41的图来形成)。此外,也假定在传输过程中从内存控制单元2B1输出到ECC校验单元3B的一组数据发生位反转。
在ECC校验单元3A中对报头和数据执行代码校验。在该校验中,检测到关于数据的代码错误。然后,ECC校验单元3A通知选择器控制单元6:在A系统中检测到同步错误。
对B系统也执行相同的处理,并且由ECC校验单元3B检测关于那组数据的代码错误。然后,ECC校验单元3B通知选择器控制单元6:在B系统中检测到同步错误。
在这种情况下,因为分别在A系统和B系统中检测到错误,所以选择器控制单元6通知系统错误。
图13是双重存储装置在对数据的一致性校验中检测到错误的情况的实例说明图。这表示多重缺陷的情况,其中尽管在代码校验和同步校验中没有检测到错误,但是从内存1A读取的那组数据和从内存1B读取的那组数据彼此不同。
首先,从内存1A读取的那组数据41被输入到内存控制单元2A1和2A2。内存控制单元2A1和2A2将相同的报头分别附加到所输入的两组数据,并且将具有报头104的两组数据输入到ECC校验单元3A中。
在ECC校验单元3A中执行对报头和数据的代码校验。在该校验中,没有检测到错误。ECC校验单元3A将报头输入到同步校验单元4A。在同步校验单元4A中,执行对报头的同步校验。类似地,在该校验中,没有检测到错误。
对B系统也执行相同的处理。在ECC校验单元3B中执行代码校验,并且在同步校验单元4B中执行同步校验。类似地,在这些校验中,没有检测到错误。
最后,从内存1A读取的那组数据和从内存1B读取的那组数据被输入到一致性校验单元5,并且对它们执行一致性校验。然后,通过一致性校验能够首先验证两组数据之间的差异。在这种情况下,选择器控制单元6不能确定应当使用哪一组数据,因此,输出系统错误。
在实施例的描述中,在每个输入/输出系统中,输入从内存读取的数据副本。然而,双重存储装置可适用于将内存读取的数据一分为二,并且分别将划分的数据输入到每个输入/输出系统的内存控制单元。例如,双重存储装置可适用于将72位的数据(64位数据部分加上8位ECC部分)分成两组36位的数据(32位数据部分加上4位ECC部分),并且将前一组输入到内存控制单元2A1,将后一组输入到内存控制单元2A2。
按照上述实施例,能够排除故障的发生,该故障通常是停止计算机并且降低计算机可靠性的原因;并且进一步使计算机持续运行,而不会降低计算机所需的可靠性。例如,能够排除使用双重存储装置的计算机所发生的现象(比如数据错误定时,数据丢失,数据错误次序等)。前述内容可以概括在下述的权利要求书中。
尽管这里已经详细描述了示范性的和当前优选的本发明的实施例,但是应当理解,可以不同的具体化和实现本发明构思,并且将被解释的所附权利要求书旨在涵盖除了现有技术所限制范围之外的这些变化。

Claims (12)

1.一种双重存储装置,包括:第一和第二内存,用于分别保留一组相同数据;以及选择器,用于基于输入到选择器中的读控制信号,从所述第一和第二内存读取的两组数据中选择任一组,其中该双重存储装置包括:
请求管理单元,在输入该读控制信号时,其将识别该读控制信号的标识符附加在所输入的读控制信号上,并且输出该信号和该标识符;
第一主内存控制单元,其基于从该请求管理单元输出的该读控制信号,从该第一内存读取数据,并且输出一组从该第一内存读取的数据,该组数据具有附加在从该请求管理单元输出的该读控制信号上的标识符;
第一子内存控制单元,其输入从该请求管理单元输出的该读控制信号和由该第一主内存控制单元读取的数据,并且输出具有附加在从该请求管理单元输出的该读控制信号上的标识符的输入数据;
第二主内存控制单元,其基于从该请求管理单元输出的读控制信号,从该第二内存读取数据,并且输出一组从该第二内存读取的数据,该组数据具有附加在从该请求管理单元输出的该读控制信号上的标识符;
第二子内存控制单元,其输入从该请求管理单元输出的该读控制信号和由该第二主内存控制单元读取的数据,并且输出具有附加在从该请求管理单元输出的该读控制信号上的标识符的输入数据;
同步校验单元,验证从该第一主内存控制单元和该第一子内存控制单元输入的标识符的一致性,以及从该第二主内存控制单元和该第二子内存控制单元输入的标识符的一致性;以及
选择器控制单元,基于验证结果控制该选择器。
2.如权利要求1所述的双重存储装置,其中在从该第一主内存控制单元和该第一子内存控制单元输入的标识符的一致性、以及从该第二主内存控制单元和该第二子内存控制单元输入的标识符的一致性都被验证时,一致性校验单元进一步验证从该第一内存读取的那组数据和从该第二内存读取的那组数据是否一致;以及
在该一致性校验单元没有验证出一致性时,该选择器控制单元输出系统错误。
3.如权利要求1或2所述的双重存储装置,其中,在从该第一主内存控制单元和该第一子内存控制单元输入的标识符的一致性被验证时,该选择器控制单元控制该选择器,选择从该第一内存读取的那组数据;以及在从该第一主内存控制单元和该第一子内存控制单元输入的标识符的一致性没有被验证,而从该第二主内存控制单元和该第二子内存控制单元输入的标识符的一致性被验证时,该选择器控制单元控制该选择器,选择从该第二内存读取的那组数据。
4.如权利要求1或2所述的双重存储装置,其中
在该同步校验单元都没有验证出从该第一主内存控制单元和该第一子内存控制单元输入的标识符的一致性、以及从该第二主内存控制单元和该第二子内存控制单元输入的标识符的一致性时,该选择器控制单元输出系统错误。
5.如权利要求1所述的双重存储装置,其中
该双重存储装置还具有代码校验单元,用于校验附加在每组数据上的错误检测/校正代码,以及其中
当该代码校验单元在从该第一内存读取的任一组数据中没有检测到不可校正的错误时,该选择器控制单元控制该选择器,选择从该第一内存读取的那组数据;并且在从该第一内存读取的任一组数据中检测到不可校正的错误和在从该第二内存读取的任一组数据中没有检测到不可校正的错误时,该选择器控制单元控制该选择器,选择从该第二内存读取的那组数据。
6.如权利要求5所述的双重存储装置,其中在该代码校验单元在从该第一内存读取的任一组数据中检测到不可校正的错误并且在从该第二内存读取的任一组数据中检测到不可校正的错误时,该选择器控制单元输出系统错误。
7.一种双重存储装置的控制方法,该双重存储装置包括:第一和第二内存,用于分别保留一组相同数据;以及选择器,用于基于输入到该选择器中的读控制信号,从所述第一和第二内存读取的两组数据中选择任一组,该控制方法包括:
在输入该读控制信号时,该双存储装置产生用于识别该读控制信号的标识符;
通过基于该读控制信号从该第一内存读取数据、并将附加在该读控制信号上的标识符添加到从该第一内存读取的数据上,该双重存储装置产生第一主数据;
通过将附加在该读控制信号上的标识符添加到从该第一内存读取的数据上,该双重存储装置产生第一子数据;
通过基于该读控制信号从该第二内存读取数据、并且将附加在该读控制信号上的标识符添加到从该第二内存读取的数据,该双重存储装置产生第二主数据;
通过将附加在该读控制信号上的标识符添加到从该第二内存读取的数据上,该双重存储装置产生第二子数据;
该双重存储装置验证分别包含于该第一主数据和该第一子数据中的标识符的一致性、以及分别包含于该第二主数据和该第二子数据中的标识符的一致性;以及
基于验证结果,该双重存储装置控制该选择器。
8.如权利要求7所述的控制方法,其中在分别包含于该第一主数据和该第一子数据中的标识符的一致性、以及分别包含于该第二主数据和该第二子数据中的标识符的一致性都被验证时,该双重存储装置进一步验证从该第一内存读取的数据和从该第二内存读取的数据是否一致;以及
在没有验证出所述数据的一致性时,该双重存储装置输出系统错误。
9.如权利要求7或8所述的控制方法,其中
当分别包含于该第一主数据和该第一子数据中的标识符的一致性被验证时,该双重存储装置控制该选择器,选择从该第一内存读取的数据;以及
当分别包含于该第一主数据和该第一子数据中的标识符的一致性没有被验证并且分别包含于该第二主数据和该第二子数据中的标识符的一致性被验证时,该双重存储装置控制该选择器,选择从该第二内存读取的数据。
10.如权利要求7或8所述的控制方法,其中
在分别包含于该第一主数据和该第一子数据中的标识符的一致性、以及分别包含于该第二主数据和该第二子数据中的标识符的一致性都没有被验证时,该双重存储装置输出系统错误。
11.如权利要求7所述的控制方法,其中
所述数据附加有错误检测/校正代码;
当从该第一内存读取的任一组数据中没有检测到不可校正的错误时,该双重存储装置控制该选择器,选择从该第一内存读取的数据;以及
当从该第一内存读取的任一组数据中检测到不可校正的错误并且从该第二内存读取的任一组数据中没有检测到不可校正的错误时,该双重存储装置控制该选择器,选择从该第二内存读取的数据。
12.如权利要求11所述的控制方法,其中
当从该第一内存读取的任一数据中检测到不可校正的错误并且从该第二内存读取的任一数据中检测到不可校正的错误时,该双重存储装置输出系统错误。
CNB2005100832600A 2005-03-17 2005-07-07 双重存储装置及该双重存储装置的控制方法 Expired - Fee Related CN100375962C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005076591A JP4667093B2 (ja) 2005-03-17 2005-03-17 二重化記憶装置及び二重化記憶装置の制御方法
JP2005076591 2005-03-17

Publications (2)

Publication Number Publication Date
CN1834930A true CN1834930A (zh) 2006-09-20
CN100375962C CN100375962C (zh) 2008-03-19

Family

ID=36616917

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100832600A Expired - Fee Related CN100375962C (zh) 2005-03-17 2005-07-07 双重存储装置及该双重存储装置的控制方法

Country Status (6)

Country Link
US (1) US7467261B2 (zh)
EP (1) EP1703400B1 (zh)
JP (1) JP4667093B2 (zh)
KR (1) KR100720913B1 (zh)
CN (1) CN100375962C (zh)
DE (1) DE602005023261D1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682855A (zh) * 2011-03-14 2012-09-19 英飞凌科技股份有限公司 容错触发器
CN103095968A (zh) * 2012-12-28 2013-05-08 中央电视台 播出系统多场景自适应应急整备方法
CN103765580A (zh) * 2011-08-31 2014-04-30 飞思卡尔半导体公司 集成电路装置以及识别外部信号路径内存在断开连接的方法
CN103809918A (zh) * 2012-11-12 2014-05-21 慧荣科技股份有限公司 储存媒体、存取系统及方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006019426B4 (de) 2006-04-26 2008-03-13 Qimonda Ag Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
WO2008120352A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
US7873803B2 (en) 2007-09-25 2011-01-18 Sandisk Corporation Nonvolatile memory with self recovery
FR2922037B1 (fr) * 2007-10-05 2011-07-15 Thales Sa Procede de securisation de donnees en memoire vive
EP2294581B1 (en) * 2008-06-20 2013-01-09 Freescale Semiconductor, Inc. A system for distributing available memory resource
US8589737B2 (en) 2008-06-20 2013-11-19 Freescale Semiconductor, Inc. Memory system with redundant data storage and error correction
US7882388B2 (en) 2008-08-21 2011-02-01 Sierra Wireless America, Inc. Dual independent non volatile memory systems
US9110658B2 (en) * 2011-04-29 2015-08-18 International Business Machines Corporation Automatic verification and synthesis for weak memory models
JP5910356B2 (ja) * 2012-06-29 2016-04-27 富士通株式会社 電子装置、電子装置制御方法及び電子装置制御プログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3521240A (en) * 1968-03-06 1970-07-21 Massachusetts Inst Technology Synchronized storage control apparatus for a multiprogrammed data processing system
JPS52117004A (en) * 1976-03-29 1977-10-01 Hitachi Ltd Error control for loop transmission
JPS57101950A (en) 1980-12-17 1982-06-24 Oki Electric Ind Co Ltd Double storage device control system
US4543652A (en) * 1982-10-04 1985-09-24 Hitachi, Ltd. Time-division switching unit
JPS62140153A (ja) 1985-12-16 1987-06-23 Nec Corp 二重化デ−タ処理装置
JPS62140183A (ja) 1985-12-16 1987-06-23 Matsushita Electric Ind Co Ltd 画像処理装置
JPH04149653A (ja) 1990-10-09 1992-05-22 Fujitsu Ltd 二重化メモリの読出し比較システム
JPH0535606A (ja) * 1991-07-25 1993-02-12 Nec Corp 電子デイスク装置
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
EP0709782B1 (en) * 1994-10-25 1999-03-03 Hewlett-Packard Company Error detection system and method for mirrored memory between dual disk storage controllers
KR0154741B1 (ko) * 1995-02-08 1998-11-16 김광호 듀얼포트 메모리 장치 및 듀얼포트 메모리 장치의 시리얼데이타 출력방법
JPH08297588A (ja) 1995-04-25 1996-11-12 Fujitsu Ltd 二重照合装置
US5680611A (en) * 1995-09-29 1997-10-21 Electronic Data Systems Corporation Duplicate record detection
KR100205031B1 (ko) * 1996-09-23 1999-06-15 이계철 이중화 제어시스템의 동기제어 장치
JP3588529B2 (ja) * 1997-01-28 2004-11-10 株式会社東芝 半導体装置およびその応用システム装置
JP2000123485A (ja) 1998-10-19 2000-04-28 Sony Corp 記録装置および方法
JP4190114B2 (ja) * 1999-11-10 2008-12-03 株式会社ルネサステクノロジ マイクロコンピュータ
US6532524B1 (en) * 2000-03-30 2003-03-11 Cypress Semiconductor Corp. Port prioritization scheme
JP2002032269A (ja) * 2000-07-14 2002-01-31 Nippon Telegr & Teleph Corp <Ntt> 通信エラー回復方法及びその装置
US6766429B1 (en) * 2000-08-31 2004-07-20 International Business Machines Corporation Low cost and high RAS mirrored memory
CN1280734C (zh) * 2001-09-07 2006-10-18 皇家菲利浦电子有限公司 用于分段存取控制的控制装置和方法和具有该控制装置的视频存储器装置
KR100506062B1 (ko) * 2002-12-18 2005-08-05 주식회사 하이닉스반도체 복합형 메모리 장치
JP2003337758A (ja) * 2003-05-01 2003-11-28 Mitsubishi Electric Corp 二重化メモリシステム
KR100604817B1 (ko) * 2003-05-19 2006-07-26 삼성전자주식회사 이중 포맷 구조의 저장매체 및 이를 이용한 데이터 백업방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682855A (zh) * 2011-03-14 2012-09-19 英飞凌科技股份有限公司 容错触发器
CN102682855B (zh) * 2011-03-14 2015-11-18 英飞凌科技股份有限公司 容错触发器
CN103765580A (zh) * 2011-08-31 2014-04-30 飞思卡尔半导体公司 集成电路装置以及识别外部信号路径内存在断开连接的方法
CN103765580B (zh) * 2011-08-31 2016-11-16 飞思卡尔半导体公司 集成电路装置以及识别外部信号路径内存在断开连接的方法
CN103809918A (zh) * 2012-11-12 2014-05-21 慧荣科技股份有限公司 储存媒体、存取系统及方法
CN108920299A (zh) * 2012-11-12 2018-11-30 慧荣科技股份有限公司 储存媒体
CN108920299B (zh) * 2012-11-12 2022-05-24 慧荣科技股份有限公司 储存媒体
CN103095968A (zh) * 2012-12-28 2013-05-08 中央电视台 播出系统多场景自适应应急整备方法
CN103095968B (zh) * 2012-12-28 2014-04-16 中央电视台 播出系统多场景自适应应急整备方法

Also Published As

Publication number Publication date
CN100375962C (zh) 2008-03-19
US20060212656A1 (en) 2006-09-21
EP1703400B1 (en) 2010-09-01
US7467261B2 (en) 2008-12-16
JP2006260160A (ja) 2006-09-28
DE602005023261D1 (de) 2010-10-14
KR20060101151A (ko) 2006-09-22
EP1703400A3 (en) 2009-03-04
KR100720913B1 (ko) 2007-05-25
EP1703400A2 (en) 2006-09-20
JP4667093B2 (ja) 2011-04-06

Similar Documents

Publication Publication Date Title
CN1834930A (zh) 双重存储装置及该双重存储装置的控制方法
US9652175B2 (en) Locally generating and storing RAID stripe parity with single relative memory address for storing data segments and parity in multiple non-volatile memory portions
JP6240351B2 (ja) 訂正不可能なメモリエラーの低減
CN1658163A (zh) 存储装置的数据写入、读取方法及数据存储系统
US20150019936A1 (en) Error detection method and a system including one or more memory device
CN1821971A (zh) 半导体存储设备和伪sram
US9811413B2 (en) Orphan block management in non-volatile memory devices
US20130060992A1 (en) Data compression method
CN1914598A (zh) 半导体装置和用于启动该半导体装置的处理方法
CN1873619A (zh) 存储装置
JP4966404B2 (ja) メモリ制御装置、記憶装置、及びメモリ制御方法
CN1834928A (zh) 软错误纠正方法、存储控制设备及存储系统
CN102257573A (zh) 错误检测方法和包括一个或多个存储器设备的系统
CN101075213A (zh) 只读存储器数据修补电路和方法、及其嵌入式系统
US20220083266A1 (en) Plane-based queue configuration for aipr-enabled drives
US11954364B2 (en) Memory system and method of writing data to storage areas constituting group
CN102880567A (zh) 数据读写系统
CN101030168A (zh) 一种实现高可靠性链表的方法及装置
JP2013542541A (ja) データのブロックを不揮発性メモリデバイスに冗長方式で格納するためのメモリコントローラ及びメモリシステム
US8359425B2 (en) Memory control device, memory device, and shutdown control method
CN1435758A (zh) 存储装置、数据处理方法以及数据处理程序
CN1538299A (zh) 信息处理设备
US20120117305A1 (en) Method Of Storing Blocks Of Data In A Plurality Of Memory Devices For High Speed Sequential Read, A Memory Controller And A Memory System
US9037948B2 (en) Error correction for memory systems
US9092354B2 (en) Storage device, CRC generation device, and CRC generation method

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: 20080319

Termination date: 20200707