CN102257573B - 错误检测方法和包括一个或多个存储器设备的系统 - Google Patents

错误检测方法和包括一个或多个存储器设备的系统 Download PDF

Info

Publication number
CN102257573B
CN102257573B CN200980151271.4A CN200980151271A CN102257573B CN 102257573 B CN102257573 B CN 102257573B CN 200980151271 A CN200980151271 A CN 200980151271A CN 102257573 B CN102257573 B CN 102257573B
Authority
CN
China
Prior art keywords
memory devices
bag
mistake
semiconductor memory
order
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
CN200980151271.4A
Other languages
English (en)
Other versions
CN102257573A (zh
Inventor
P·吉利厄姆
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.)
Nova chip Canada Company
Original Assignee
Examine Vincent Zhi Cai Management Co
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
Priority claimed from US12/418,892 external-priority patent/US8880970B2/en
Application filed by Examine Vincent Zhi Cai Management Co filed Critical Examine Vincent Zhi Cai Management Co
Publication of CN102257573A publication Critical patent/CN102257573A/zh
Application granted granted Critical
Publication of CN102257573B publication Critical patent/CN102257573B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • 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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

公开了一种包括一个或多个存储器设备的系统和错误检测和纠正方法。该系统的存储器设备包括用于接收包的输入。该包的第一部分可包括至少一个命令字节,且该包的第二部分可包括奇偶校验位以便于命令错误检测。该存储器设备可包括配置为基于该奇偶校验位来检测是否在至少一个命令字节中存在错误的错误管理器,和配置为将包提供到错误管理器的电路。

Description

错误检测方法和包括一个或多个存储器设备的系统
相关申请的交叉引用
本申请要求2008年12月1 8日提交的美国临时专利申请No.61/138,575、2008年12月23日提交的美国临时专利申请No.61/140,147和2009年4月6日提交的美国专利申请No.12/418,892的优先权,在此通过引用包括其全部内容。
背景技术
计算机和其它信息技术系统通常包括诸如存储器的半导体设备。由控制器控制该半导体设备,该控制器可以是计算机的中央处理单元(CPU)的一部分,或者与其分开。该控制器具有接口,用于与半导体设备通信信息。公知的,由于各种原因有时可能导致在所通信的信息中存在错误,而且许多公知的系统缺乏纠正错误的能力,或者至少缺乏令人满意的纠正较多所述错误的能力。
发明内容
本发明的目的是提供一种包括一个或多个存储器设备的改进的系统。
根据本发明的一个方面,提供了一种存储器设备,其包括用于接收包的输入,该包的第一部分包括至少一个命令字节,且该包的第二部分包括奇偶校验位以便于命令错误检测。错误管理器被配置为用于基于该奇偶校验位来检测是否在至少一个命令字节中存在错误。该存储器设备还包括电路,配置为将该包提供到错误管理器。
根据又一方面,本发明提供了一种系统,包括:多个半导体存储器设备和用于与该设备进行通信的控制器设备。该控制器包括命令引擎,用于产生去往存储器设备的包。该包的第一部分包括至少一个命令字节,且该包的第二部分包括奇偶校验位以便于命令错误检测。控制器设备的输出能够将包输出到多个半导体存储器设备的第一个设备。在该系统的控制器设备和半导体存储器设备之间存在串行互连配置,使得该系统具有点到点环形拓扑。
根据本发明的另一方面,提供了一种在具有用于接收包的输入的存储器设备内执行的方法。该方法包括接收包,该包的第一部分包括至少一个命令字节,且该包的第二部分包括奇偶校验位以便于命令错误检测。该方法还包括基于该奇偶校验位来检测是否在至少一个命令字节中存在错误。
根据本发明的另一方面,还提供了一种装置,包括用于接收包的部件,该包的第一部分包括至少一个命令字节,且该包的第二部分包括奇偶校验位以便于命令错误检测。该装置还包括用于基于该奇偶校验位检测是否在至少一个命令字节中存在错误的部件。该装置还包括用于将该包提供到错误管理器的部件。
根据本发明的又一方面,还提供了一种系统,包括多个半导体存储器设备和用于与该设备进行通信的控制器部件。该控制器部件包括用于产生去往存储器设备的包的部件。该包的第一部分包括至少一个命令字节,且该包的第二部分包括奇偶校验位以便于命令错误检测。该控制器部件还包括用于将包输出到多个半导体存储器设备的第一个设备的部件。在该系统的半导体存储器设备之间存在串行互连配置,且该系统具有点到点环形拓扑。
根据本发明的另一方面,提供了一种具有用于接收包的输入部件的存储器设备。该存储器设备还包括接收包的部件。该包的第一部分包括至少一个命令字节,且该包的第二部分包括奇偶校验位以便于命令错误检测。该存储器设备还包括用于基于该奇偶校验位来检测是否在至少一个命令字节中存在错误的部件。
由此,提供了一种包括一个或多个存储器设备的改进的系统。
附图说明
通过示例,参考以下附图:
图1A为接收并行时钟信号的示例系统的框图;
图1B为接收源同步时钟信号的示例系统的框图;
图2A为类似于图1B的系统但更详细的示例系统的框图;
图2B为类似于图1A的系统但更详细的示例系统的框图;
图3是示例存储器设备的图;
图4是示例存储器控制器的图;
图5示出了根据示例实施例的奇偶校验位计算;
图6示出了根据示例实施例的处理错误的方法的流程图;
图7是示出根据示例实施例广播状态读命令的操作的时序图。
在不同的图中可使用类似的或者相同的附图标记来指示在附图中所示的类似示例特征。
具体实施方式
环形拓扑的系统的示例在下列美国专利申请中描述:2008年8月21日公开的公开号为No.2008/0201548 A1、名称为“SYSTEM HAVING ONEOR MORE MEMORY DEVICES”的美国专利申请,2008年2月28日公开的公开号为No.2008/0049505 A1、名称为“SCALABLE MEMORYSYSTEM”的美国专利申请和2008年2月28日公开的公开号为No.2008/0052449 A1、名称为“MODULAR COMMAND STRUCTURE FORMEMORY AND MEMORY SYSTEM”的美国专利申请。对于下面的说明书中的各处,会参考某一示例命令、地址和数据格式、协议、内部设备结构、总线事务等,本领域的普通技术人员可以理解参考上述专利文件快速获得进一步的示例细节。
现在参考图1A和1B。根据一些示例实施例,命令包始于控制器,并且在环上以点到点的方式传输遍及每个存储器设备直到最终回到该控制器。参考图1A,其是接收并行时钟信号的示例系统的框图,而图1B是接收源同步时钟信号的与图1A相同的系统的框图。时钟信号可以是单端时钟信号或差分时钟对。
在图1A中,系统20包括具有至少一个输出端口Sout和输入端口Sin的存储器控制器22,和串联的存储器设备24、26、28和30,由此在系统的控制器设备和存储器设备之间存在串行互连的配置。虽然在图1A中没有明确地标记,但每个存储器设备具有Sin输入端口和Sout输出端口。输入和输出端口包括将存储器设备连接到为其一部分的系统的一个或多个物理引脚或连接。在一些实例中,该存储器设备是闪速存储器设备。图1A的当前示例包括4个存储器设备,但是替代的示例可以包括单个存储器设备,或任意合适数量的存储器设备。因此,如果当存储器设备24连接到控制器22的Sout时其为存储器系统20的第一设备,则当存储器设备30连接到存储器控制器22的Sin时其为第N个或者最后一个设备,其中N为大于零的整数。存储器设备26到28则为第一个和最后一个存储器设备之间中间的串联的存储器设备。每个存储器设备可以在系统的上电启动时采用独特的标识(ID)号或设备地址(DA),使得它们可被单独寻址。数个共同拥有的美国专利申请描述了用于为系统中串联的存储器设备产生和分配设备地址的方法。参见,例如公开号为No.2007/0233917 A1、名称为“APPARATUS  AND  METHOD  FOR  ESTABLISHING DEVICEIDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES”的美国专利申请和公开号为No.2008/0080492 A1、名称为“PACKET BASED IDGENERATION FOR SERIALLY INTERCONNECTED DEVICES”的美国专利申请。
因为除了链中的第一个和最后一个存储器设备,一个存储器设备的数据输入被连接到前一个存储器设备的数据输出,由此形成串联的系统组织,所以存储器设备24至30(图1A)被认为是串联。存储器控制器22的信道包括由连接到导线的不同引脚或相同引脚提供的数据、地址、控制信息。图1A的示例包括一个信道,其中该一个信道包括Sout端口和对应的Sin端口。然而,存储器控制器22可以包括任意适合数量的信道,用于适应不同的存储器设备链。在图1A的示例中,存储器控制器22提供时钟信号CK,其被并行连接到所有的存储器设备。
在常规操作中,存储器控制器22通过其Sout端口发出命令,其包括操作码(op码)、设备地址、用于读或编程的可选择的地址信息、和用于寄存器编程的可选择的数据。可以以串行位流命令包来发出命令,其中该包可以被逻辑地细分为预定尺寸的段。每段可以是例如大小1字节。位流为随时间提供的位的序列或者一系列位。第一存储器设备24通过其输入端口Sin接收命令,该输入端口比较设备地址和其所分配的地址。如果地址匹配,则存储器设备24执行该命令。命令通过存储器24的输出端口Sout被传递至下一个存储器设备26,其中重复相同的过程。最后,具有匹配的设备地址的存储器设备,称为所选择的存储器设备,将执行由该命令所指定的操作。如果该命令是读数据命令,所选择的存储器设备将通过其输出端口Sout(未标记)输出读数据,其被串行传递通过居间的存储器设备,直到到达存储器控制器22的Sin端口。由于命令和数据以串行位来提供,所以每一存储器设备使用时钟以用于按时钟输入/按时钟输出串行位并且用于同步内部存储器设备操作。系统20中的所有的存储器设备都使用此时钟。
因为根据图1A的系统中所使用的时钟频率相对低,可以使用无端(unterminated)的全摆幅CMOS信令水平,以提供稳健的数据通信。如本领域的普通技术人员所公知的,这也被称为低压晶体管-晶体管逻辑(LVTTL)信令。
可以由图1B的系统获得图1A的系统20上的进一步的性能改进。图1B的系统40类似于图1A的系统20(例如,在图1A中,在系统的控制器设备和半导体存储器设备之间存在串行互连配置),除了时钟信号CK从前一个设备串行地提供给每一个存储器设备,而不是必须从存储器控制器42提供。每个存储器设备44、46、48和50可以在其时钟输入端口接收源同步时钟并且经由其时钟输出端口将该源同步时钟转送至系统中的下一个设备。在系统40的一些示例中,时钟信号CK从一个存储器设备经由短信号线传递至另一个。在这样的情况下,不会出现和并行时钟分布方案(例如由多个设备装载)有关的时钟性能问题,并且CK可以在高频率运行。因此,系统40可以以比图1A的系统20更高的速度操作。例如,高速收发器逻辑(HSTL)信令可以被用来提供高性能数据通信。在HSTL信令格式中,每个存储器设备可以接收用于确定到来的数据信号的逻辑状态的参考电压。另一个类似的信令格式是残余连续终结逻辑(SSTL)信令格式。因此,系统20和40的存储器设备中的数据和时钟输入电路彼此不同地构成。对于本领域的普通技术人员,HSTL和SSTL信令格式都是公知的。
现在,为了提供图1B中所示类型系统的更具体示例,将参考图2A。在图2A中,系统100包括存储器控制器102和四个存储器设备104、106、108和110。存储器控制器102并行提供控制信号到存储器设备。这些信号包括芯片使能信号CE#、复位信号RST#。在使用CE#的一个示例中,当CE#处于低逻辑电平时,启用设备。在多个先前所考虑的设备中,一旦闪速存储器设备开始编程或者擦除操作,CE#可以被撤销,或者被驱至高逻辑电平。但是在一个示例实施例中,被撤销的CE#会使将被停用的串行存储器设备的Sin至Sout的通信停用。由于串行存储器设备被连接在环中,停用任意的设备切断了围绕环的通信,并且存储器控制器变得不能与存储器系统中的所有存储器设备通信。结果是,CE#是至所有串行存储器设备的公共信号,并且被用于将整个存储器设置为低功率状态。在使用RST#的一个示例中,当RST#处于低逻辑电平时,存储器设备被设置为复位模式。在复位模式中,允许功率稳定,并且通过初始化所有有限状态机并将所有配置和状态寄存器复位到其缺省状态来让设备做好操作准备。存储器控制器102包括用于提供互补的时钟信号CK和CK#的时钟输出端口CKO#和CKO,和用于接收来自系统的最后一个存储器设备的互补的时钟信号的时钟输入端口CKI#和CKI。每个存储器设备可以包括诸如DLL或PLL的时钟合成器,用于产生所接收的时钟的相位。一定的相位可被用于将时钟边沿集中在输入数据有效窗口内以确保可靠的操作。图2A中的每个存储器设备具有用于将互补的时钟信号传递至下一存储器设备的时钟输入端口的时钟输出端口CKO#和CKO,和用于从存储器控制器102或前一个存储器设备接收互补的时钟信号的时钟输入端口CKI和CKI#。最后一个存储器设备110将时钟信号提供回存储器控制器102。
存储器控制器102的信道包括数据输出端口Sout、数据输入端口Sin,命令选通输入CSI、命令选通输出CSO、数据选通输入DSI和数据选通输出DSO。依据存储器控制器的特性,输出端口Sout和输入端口Sin可以是一位宽度或者n位宽度,其中n为正整数。例如,如果n为1,则在时钟的八个数据锁存边沿之后接收一个字节的数据。数据锁存时钟边沿可以是上升时钟边沿,例如在单数据速率(SDR)操作中;或是时钟的上升沿和下降沿二者,例如在双数据速率(DDR)操作中。如果n为2,则在时钟的四个锁存边沿之后接收到一个字节的数据。如果n为4,则在时钟的两个锁存边沿之后接收一个字节的数据。对于任意宽度的Sout和Sin,存储器设备可以被静态配置或者动态配置。因此,在n大于1的配置中,存储器控制器以并行位流来提供数据。CSI用于控制或启用出现在输入端口Sin上的锁存命令数据,并且具有一脉冲持续时间用于当命令出现在数据输入端口Sin时限定时间(delimiting the time)。更具体地,命令数据将具有多个时钟周期的持续时间,并且CSI信号的脉冲持续时间将具有相应的持续时间。DSI用于启用所选择的存储器设备的输出端口Sout缓冲器以输出读数据,并且具有一脉冲持续时间用于限定从存储器设备数据输出端口Sout提供的读数据,使得存储器控制器能够控制读处理中的数据量。
由于图2A的当前所述的实施例旨在用于高速操作,所以使用了高速信令格式,诸如HSTL信令格式。因此,提供参考电压VREF到每个存储器设备,其被每个存储器设备使用以确定在Sin、CSI和DSI输入端口接收的信号的逻辑电平。参考电压VREF可以例如由印刷电路板上的另一个电路产生,并且基于HSTL信号的电压摆幅中点设置为预定的电压电平。
在图2A的实施例的使用中,每个存储器设备位于印刷电路板上,使得环中的一个设备上的Sout输出端口引脚和下一个设备的Sin输入端口引脚之间的距离和信号轨迹长度被最小化。可替代地,可以在封装模块的系统(SIP)中收集四个存储器设备,这进一步最小化信号轨道长度。存储器控制器102和存储器设备104至110串联,以形成环形拓扑结构,意味着最后一个存储器设备110提供其输出返回存储器控制器102。因此,本领域的普通技术人员可以理解存储器设备110和存储器控制器102之间的距离可以以简单的方法最小化。
在图2B中,系统150包括存储器控制器152和存储器设备154、156、158和160。存储器控制器152可以被设计为提供与图2A中所示存储器控制器102的功能类似的功能,除了时钟信号是被并行提供的,因此,每个存储器设备的时钟输出端口CKO#和CKO不存在或未连接。而且图2A的系统与图2B的系统相比较,数据和选通信号的信令格式不同。例如,图2B的系统的信令格式可以是全摆幅无端的LVTTL信令格式。与较低时钟频率联合使用的LVTTL信令不使用参考电压VREF。仅用于图2B的系统中的存储器设备不需要VREF输入。如果存在VREF输入,这是因为它们也可以根据确实需要VREF的高速信令规范来通信。在这样的情况中,出于方便VREF被设置为电压电平,而不是信令中点,或者用于指示正在使用LVTTL信令。例如,对于这样的设备,VREF可以被设置为VDD或VSS以指示LVTTL信令和根据图2B的网络组织,与根据图2A的HSTL信令和网络配置相对。
根据示例实施例,图2A的存储器设备104、106、108和110和图2B的存储器设备154、156、158和160可以是具有被设计用于与其它存储器设备串行互连的输入/输出接口的任意类型的存储器设备。根据当前所述的实施例,图2A和2B的存储器设备可以相同,并且由于它们将具有能够以LVTTL输入信号或HSTL输入信号操作的输入和输出缓冲器电路,因此在两个系统中都可操作。本领域的普通技术人员可以理解,存储器设备可以包括输入和输出缓冲器电路,用于以与LVTTL或HSTL信号不同的其它类型的信号格式操作。
如所描述的,先前图中所示的每个系统包括一个或多个存储器设备,并且根据示例实施例,图3是示例存储器设备200的图,该存储器设备200可被提供在任意一个前面所述的系统中。该新的存储器设备200具有存储体202,在至少一些示例中其是具有多个(n个)可擦除块的NAND闪速单元阵列结构。每个可擦除块被细分为多个(m个)可编程页面。每个页面包括(j+k)字节。该页面被进一步分为在其中存储数据的j字节数据存储区,以及通常用于错误管理功能的分开的k字节区。每个页面包括,例如,2112字节,其中2048字节将用于数据存储,64字节将用于错误管理功能。如上所述存储体202由页面进行存取。虽然图3示出了单个存储体202,但存储器设备200可包括多个存储体202。
命令寄存器214从控制器经由I/O(输入/输出)电路213接收用于存取存储体202的命令。所接收的命令进入命令寄存器214,并且保持在那里直到执行。控制逻辑电路216将该命令转换为能够对存储体202执行的形式。该命令总地由芯片的外部封装上的不同引脚确定为有效而进入存储器设备200,其中不同的引脚可被用于表示不同的命令。例如,该命令可包括读、编程、擦除、寄存器读和寄存器写。关于寄存器写,在存储器设备200的一个示例中,可以能够处理5字节寄存器写命令包,该5字节寄存器写命令包包括:用于ID的一个字节、用于命令的一个字节和作为有效载荷的剩余字节。
以页面为基础执行读和编程命令,而以块为基础执行擦除命令。同样,在存储器设备200的多个示例中,设备的各个引脚中每个与一个选通端口、一个数据端口或者先前参考图2A和图2B描述的其它端口相关联。在存储器设备200的数据引脚和内部部件之间示出I/O电路213,在存储器设备200的其它引脚和内部部件之间示出芯片接口电路215。
当命令寄存器214经由I/O电路213接收读或者编程命令时,和该命令相关的存储体202中的页面的地址由I/O电路213提供给地址缓冲和锁存器218。然后,地址信息被从地址缓冲和锁存器218提供给控制和预解码器206、感应放大器(S/A)和数据寄存器204和行解码器208,用于存取由地址指示的页面。关于读操作,数据寄存器204接收完整的页面,然后将该完整的页面提供给I/O电路213(更具体地,其被提供给I/O电路213的未被明确地示出的下述子部件:I/O缓冲和锁存器、然后给输出驱动器)用于从存储器设备200输出。
地址缓冲和锁存器218确定该地址所位于的页面并且将对应于该页面的行地址提供给行解码器208。激活对应的行。数据寄存器和S/A 204读出(sense)该页面并且将该数据从页面传输到数据寄存器204。一旦已经将数据从整个页面传输到数据寄存器,该数据从该设备经由I/O电路213顺序读出。
编程命令也基于页面处理。命令寄存器214经由I/O电路213接收编程命令,地址缓冲器218经由I/O电路213接收附随的地址。I/O电路213接收输入数据,用于传输到数据寄存器204。一旦所有的输入数据都到数据寄存器204中,用该输入数据对将存储该输入数据的页面进行编程。
基于块处理擦除命令。命令寄存器214经由I/O电路213接收擦除命令,地址缓冲器218经由I/O电路213接收块地址。
所示存储器设备200还可选地包括ECC管理器217。ECC管理器217根据下面接下来较详细描述的示例实施例启用错误检测和纠正。图中,ECC管理器与控制逻辑电路216通信;但是在替代的示例中,ECC管理器可包括允许它直接作用于其它所示部件上的电路和逻辑电路,其它所示部件例如一个或多个地址缓冲和锁存器218以及命令寄存器214。本领域的普通技术人员可以理解存在各种公知电路,通过其可以将包从存储器设备200的输入提供到ECC管理器217。
所示存储器设备200还包括一个或多个状态寄存器249(许多类型的传统状态寄存器对本领域的普通技术人员是公知的)。在控制逻辑电路216的控制下,状态寄存器可提供旨在用于系统的控制器的状态类型的信息,并且通常以不干扰通过I/O电路213通信的其它信息和数据的形式提供该信息。在一个示例中,在状态寄存器249存储的信息可经由存储器设备上的一个或多个专用引脚而被特定地递送出去。在这点上,可在状态寄存器249和I/O电路213之间提供有可选的ECC发生器251,以帮助进行该过程。
如所述,在图1A、1B、2A和2B中所示的每个系统包括存储器控制器,在图4中示出了适合的示例存储器控制器310的框图。
参考图4,所示新的闪速控制器310包括中央处理单元(CPU)312;以及具有例如随机存取存储器(RAM)316和只读存储器(ROM)318的存储器314。本领域的普通技术人员可以理解,闪速控制器310可被配置为片上系统、系统级封装或者多芯片。同样,所示闪速控制器310包括闪速命令引擎322、纠错码(ECC)管理器324和闪速设备接口326。在多个示例中,闪速设备接口可包括在图2A中所示的存储器控制器端口或在图2B中所示的存储器控制器端口,而且(如与关于存储器设备的描述相类似的)这些中的每个都可以与存储器控制器310的各自的引脚相关联。为了方便描述,在图4中没有明确地示出闪速控制器310的所有引脚,这些引脚被表示为所标记的闪速设备接口326。
仍参考图4,所示闪速控制器310包括主机接口控制器332和主机接口334。CPU312、存储器314、闪速命令引擎322和主机接口控制器332通过公用总线330连接。主机接口334用于通过总线、连接链路、接口等(例如,高技术配置(ATA)、并行ATA(PATA)、串行ATA(SATA)、通用串行总线(USB)、PCI快速接口(PCIe))连接到外部设备。主机接口334由主机接口控制器332控制。所示示例的CPU312运行存储在ROM318中的指令,且所处理数据存储在RAM316中。闪速命令引擎322解释命令,且闪速控制器310通过闪速设备接口326控制闪速设备的操作。此外,在一些示例中,闪速命令引擎322产生去往存储器设备(memorydevice-destined)的包。ECC管理器324在诸如产生编程数据错误码和检查读取数据错误码和纠正读取数据及其它可能功能中产生纠错码(ECC)来确认某些命令被成功且完整地执行。ECC管理器根据下面接下来较详细描述的示例实施例启用错误检测和纠正。
现在,如果在命令包中发生传输错误,用于处理错误的一种方法是控制器310通过比较所接收的包和原始传输的包来检测错误。和总线拓扑相比,这是环形拓扑的有用特征,在总线拓扑中不存在控制器检测存储器设备是否正确接收命令的固有机制。但是,即使在环形拓扑中具有该错误检测方法,在错误被检测出来后才纠正错误也太晚了。例如,如果命令包是编程或者擦除命令,且错误发生在一个地址位(任意一个设备地址,块地址或者页面地址),当控制器检测到错误时编程或擦除操作可能已经开始了,当错的地址被重写或擦除,数据可能不可挽回地丢失了。另一种潜在不可恢复的错误是当非编程或非擦除命令作为编程或擦除命令而被错误地接收。一般来说,错误的读命令不是问题,这是由于控制器只要请求另外的读操作并放弃不希望的数据就可以了。
一般来说,和写入存储器阵列或从存储器阵列读出的数据中的错误相比,人们更关心命令中的错误。存在许多用于在数据中嵌入错误检测和纠正码的方案。一些数据较重要且可以具有较健壮的纠错方案,这些方案一般具有较高的开销和较大的性能影响。系统设计者能够确定所需的稳健度水平。至少一些示例实施例所解决的问题涉及命令、地址和寄存器写字段中的错误。这些错误不能通过读和写数据中的错误检测和纠正码来解决。可能发生许多形式的命令、地址和寄存器写错误。一般来说,无意的读不是问题,这是由于在无意的读中,数据可被忽略,且控制器310可重发命令。对忙的存储体的页面读就会被忽略掉。错误可能发生在环中目标设备之前或者该设备之后的某处。下面的表1详细描述了依赖于位置的错误的影响
表1:可能的重大单个位错误情况
参考图3和4,可检查目标设备200是否有错误如果检测到错误则中止命令。根据至少一个示例实施例,每个去往存储器设备的命令包还附加了另外的错误码字节,该去往存储器设备的命令包由闪速命令引擎322来产生。在一些实施例中,目标设备截短该包以节省该环中的能量。截短读包,或命令和编程数据的组合包的数据部分不存在问题。但是,包的命令部分加上该另外的错误码字节不应该由环中的设备截取,使得控制器310能够检查整个包的错误。如果检测到错误,则控制器310能够读存储器设备的设备状态寄存器249,来确定环中的设备是否也检测到错误以及该命令是否已被执行。根据一些示例,目标设备将基于所接收的命令字节计算错误码并且将结果与所接收的错误码字节相比较,该目标设备是对应于包的第一字节中设备ID字段的设备200。如果存在区别,则将不执行该命令,并且在状态寄存器249中设置传输错误标记。替代地,如果错误码支持纠错,设备200将纠正该错误并且执行该命令。对于错误检测码,存在许多设想的可能性,例如,循环冗余码(CRC)、博斯-乔赫里-霍克文黑姆(BCH-Bose-Chaudhuri-Hocquenghem)码、里德所罗门(RS-Reed-Solomon)码;但是根据至少一个示例实施例,使用了海明码,其允许识别单个位的错误的位置,能够检测所有的双位错误。下面的表2详细描述了具有附加的错误码字节的示例的7字节命令包的位。
  位7   位6   位5   位4   位3   位2   位1   位0
 字节0   D12   D11   D10   D9   D7   D6   D5   D3
 字节1   D21   D20   D19   D18   D17   D15   D14   D13
 字节2   D29   D28   D27   D26   D25   D24   D23   D22
 字节3   D38   D37   D36   D35   D34   D33   D31   D30
 字节4   D46   D45   D44   D43   D42   D41   D40   D39
 字节5   D54   D53   D52   D51   D50   D49   D48   D47
 字节6   D62   D61   D60   D59   D58   D57   D56   D55
 字节7   P0   P64   P32   P16   P8   P4   P2   P1
D0-D62-数据有效载荷位
P0-P64-奇偶校验位
表2:具有附加的错误码字节的示例的7字节命令包
由于知道单个位的错误的位置,所以可纠正单个位错误。此外,可以检测双位错误,但不能纠正。此类代码被称为单错纠正、双错检测(SECDED)码。
因此,海明码提供了单个位的错误纠正和双位检测。表2示出的7字节有效载荷可以覆盖先前提到的美国公开专利申请No.2008/0049505 A1和2008/0052449 A1的所有教导。然而,8位海明码足以覆盖15字节有效载荷,允许未来扩展到更大的可能的命令设置。对于小于7字节的命令包,不存在的数据位可被假设为零。如图5所示来计算奇偶校验位。
如果对于所接收的数据有效载荷位所计算的奇偶校验位与所接收的奇偶校验位不同,则该不同指出存在错误的数据位。例如,如果D3被错误地接收,所计算的奇偶校验位P0、P1和P2将与所接收的奇偶校验位不同。如果7位二进制字中在各自的奇偶校验位P64、P32、P16、P8、P4、P2、P1不同时具有“1”,在它们相同时具有“0”,即该7位二进制字0、0、0、0、0、1、1指出单个位错误发生在D3。如果在有效载荷中存在单个错误,则P0总不同。如果在字中存在单个“1”(即仅一个所计算的奇偶校验位与所接收的奇偶校验位不同),其指示奇偶校验位中的错误。如果所计算的奇偶校验位P0与所接收的P0相同,且其它奇偶校验位中至少一位不同,则在包中存在双错误,其不能被纠正。
根据一些示例实施例,状态寄存器249(图3)包括用于指示发生命令包错误的附加位。
在一个示例中,具有点到点环形拓扑的系统的一个或多个存储器设备的每一个是包括4个体的存储器设备。在这样的示例中,存在状态寄存器的完全占用的字节,对于每个存储体其包括准备好(ready)/忙标记和成功/失败标记。因此,如下面的表3所示,增加附加的字节:
  位7   位6   位5   位4   位3   位2   位1   位0
 字节0   P/F3   R/B3   P/F2   R/B2   P/F1   R/B1   P/F0   R/B0
 字节1   0   0   0   0   0   0   0   ERR
R/Bn-用于存储体n的准备好/忙标志(“0”-准备好,“1”-忙)
P/Fn-用于存储体n的成功/失败标志(“0”-成功,“1”-失败)
ERR-命令包错误标志(“0”-无错,“1”-检测到错误且未执行命令)
表3:根据示例实施例的状态寄存器定义,和支持命令包失败标志的状态寄存器定义
用于上述示例实施例的ERR标志是持续(persistent)的。其将保持“1”直到接收到读状态寄存器命令,之后其将被清零。
如果设备支持单个位纠错,可以使用下面表4中所示的状态寄存器格式:
  位7   位6   位5   位4   位3   位2   位1   位0
 字节0   P/F3   R/B3   P/F2   R/B2   P/F1   R/B1   P/F0   R/B0
 字节1   0   0   0   0   0   0   ERR2   ERR1
R/Bn-用于存储体n的准备好/忙标志(“0”-准备,“1”-忙)
P/Fn-用于存储体n的成功/失败标志(“0”-成功,“1”-失败)
ERR1-命令包单个位错误标志(“0”-无错,“1”-检测出并纠正了单个位错误)
ERR2-命令包双位错误标志(“0”-无错或单个位错误,“1”-检测到双位错误且未执行命令)
表4:根据另一示例实施例的状态寄存器定义,支持命令包失败标志和单个位纠错的状态寄存器定义
可以理解,上述状态寄存器的实施细节会在不同示例存储器中改变,。例如,对于具有少于4个存储体的那些存储器,使用单字节状态寄存器为一种设想的可能。同样,特别是对于具有多于4个存储体的存储器,使用多于2字节状态寄存器为一种设想的可能。另外,直到接收到状态读命令,状态位可以不变,或者在接收到任意随后有效命令时可以被清零。
根据至少一个示例实施例,控制器310(图4)可以通过如在存储器设备中一样来重新计算奇偶校验位或者通过仅将所传输的命令包的每个字与所接收的包的每个字相比较来确定已经发生了命令包错误。后者的方法和前者的方法的不同在于后者的方法可以识别多位错误。如果检测到错误,控制器310应确定错误是在目标设备之前还是之后发生。控制器310将发出状态寄存器读命令到目标设备200(图3)以读状态寄存器249。替代地,在设备地址字段错误的情况下,控制器310应发出状态寄存器读命令到错误地认为其是该命令包的预期接收者的设备(此后被称为错误寻址设备)以确定错误标志的状态。
图6以流程图的形式示出了根据示例实施例的方法500。最初,在动作501,在命令包在环中循环之后控制器接收到该命令包,且控制器在动作503检查错误。如果不存在错误,则无需再采用与所示方法有关的动作;但是如果至少存在一个错误,则进行动作504。
在动作504,确定在ID字段是否发生错误。如果在ID字段没有发生错误,则进行动作509(之后会在此说明书中描述动作509)。如果在ID字段发生错误,则进行动作506。在动作506,控制器310(图4)将状态读命令发到错误寻址设备,其及时地使错误寻址设备的状态寄存器被读取,并且将状态寄存器的持续错误位指示清零。接下来,在动作507,控制器接收错误寻址设备字节。
动作507之后是动作509。在动作509,读取目标设备的寄存器,并且如在下一个动作510中所示的,控制器310(图4)从环中的最后的设备接收目标设备的错误字节(例如,先前表3中所示的“字节1”)。该动作将目标设备中的持续错误位指示清零。在一些示例中,经由闪速设备接口326将该错误字节提供给ECC管理器324。接下来,在动作520,ECC管理器324确定错误字节的ERR位是“0”还是“1”。如果ERR位是“0”,意味着目标设备正确地接收了该命令,而且该错误发生在环中目标设备之后的某处。在这种情况下,无需重发该命令。如果ERR位是“1”,意味着错误发生在目标设备之前的某处。在这种情况下,重发该命令(动作530)。本领域的普通技术人员可以理解,闪速命令引擎322在CPU312的指令下可导致对该命令的重发。
在一些示例实施例中,环中的每个设备对命令包检查错误,并且恰当地设置错误标记。然后,控制器310(图4)检查环中的每个设备的状态寄存器249(图3),来确定在哪一点发生了错误以及目标设备是否接收和执行了该命令。另外的方法将使用广播状态读命令,而不是将单个的状态寄存器命令发送到环中的每个设备。与先前提及的美国公开专利申请No.2008/0049505 A1相一致,存在专用设备地址,例如“11111111”,其被认为是广播设备地址。在广播设备地址的情况下,无需与本地装置ID的常规比较。
图7是示出根据示例实施例一广播状态读命令的操作的时序图。在时序图中,用例如信号图示D0、Q0/D1、Q1/D2表示多个设备,以提供关于在环中多个设备中通信的广播状态读命令的性质的清楚说明性的细节。
根据图7所示示例实施例,设备0在D0接收2字节广播读状态命令,其被描绘为CSIO信号。几个时钟周期后,其接收数据选通信号DSI0,该信号DSI0指示状态寄存器的内容将在Q0上输出。设备0将输出数据选通DSO0延长一个时钟周期,并且在DSO0选通的所延长部分指示的时隙内在Q0上输出2字节状态寄存器数据。这样,数据选通脉冲的长度随环中的每个设备而增加,以提供来自环中的每个设备的一组(burst)状态信息。该命令对于当所有设备检查命令包的错误时确定环中哪里发生了命令包的错误是有用的。这在常规操作中用于检查在不同存储器设备中同时发生的若干读、编程和擦除操作的状态也是有用的。
已经描述了每个设备具有等长的2字节状态寄存器的广播状态读操作。该技术也可用于具有不同状态寄存器长度的设备。在环初始化时,控制器读每个设备的设备信息寄存器并且确定每个设备的状态寄存器的长度。在广播寄存器读操作期间,每个设备不管其状态寄存器信息的长度多长,还在脉冲串上附加了该状态寄存器信息,并延长了输出数据选通以包括该附加的信息。在接收整串的状态信息时,控制器知道每个设备期望的字节数量,并且可以分割该信息。
如所述的支持错误检测和/或纠正的存储器设备可编程使得该该错误检测和/或纠正被禁用。例如,在复位时,存储器设备可以禁止错误检测和纠正。如果控制器希望采用错误检测和/或纠正,其可例如在每个存储器设备的控制寄存器中写一个或多个位,来启动这些功能。如果控制器禁止这些功能,每个命令包尾部附加的奇偶校验位可被清除来节省一个总线时隙,或者可被载入将被该存储器设备忽略的空数据。这样,低成本系统并非必须支持错误纠正和/或检测,但是除了那些要求命令包错误检测和/或纠正的系统之外,普通存储器设备可用于低成本系统。
在一些示例中,提供了类似于先前所描述方案的错误检测和纠正方案,这应用于读和写数据。在此附加方案的具体实施方式中,对与命令包所采用的相同的奇偶校验检查逻辑电路可用于节约芯片面积和复杂度。下面的表5详细描述了具有命令奇偶校验字节和数据奇偶校验字节的示例写数据包。
 字节0   设备ID
 字节1   命令
 字节2   列地址
 字节3   列地址
 字节4   命令奇偶校验
 字节5   写数据
 字节6   写数据
 字节7   写数据
 字节8   写数据奇偶校验
表5:具有命令奇偶校验字节和数据奇偶校验字节的示例写数据包
在表5的示例中,字节0至4包括命令部分,且功能如前面所述。可大至整个页面大小的任意数量的写数据字节可以在该命令部分之后。该包中的最后的字节是写数据字节所需要的写数据奇偶校验字节。如果使用前面所描述的相同SECDED海明码,将仅提供覆盖达到15字节的单错纠正。在15字节之后,奇偶校验公式(equation)就绕回了且不再实现单个位的错误纠正。替代地,可以选择用于大数据包的具有较好错误覆盖的更稳健的CRC码。在状态寄存器中可提供用于命令和数据的分开的错误检测位。
关于读数据奇偶校验位,可以以类似方式实现。在读来自内部存储器阵列的数据时,存储器设备计算奇偶校验字节以附加在读数据包的尾部。控制器通过控制数据选通信号的长度来确定要读取的字节数。当存储器设备检测到终止读数据组的数据选通信号的下降沿,该存储器设备输出累积的奇偶校验字节。在接收读数据时,控制器执行同样的奇偶校验计算并且将结果与所接收的、附加在读数据组的尾部的奇偶校验字节相比较以确定是否存在位错误。对于寄存器读命令,例如状态寄存器读命令,由于用户没有办法在寄存器数据上叠加纠错码,所以这是尤其有用的。对于从存储器阵列读数据和往存储器阵列写数据,用户可选择合适的错误检测码来与数据存储在一起。
虽然这里示出和描述的关于系统的一些示例实施例具有点到点的环形拓扑,由于在系统的控制器设备和系统的多个半导体存储器设备之间存在串行互连配置,所以可以理解对于例如其特征在于多点系统的其他类型的系统还存在一些替代的示例实施例。
还可以有其他变化。例如,在类似于先前结合表3和4描述的4存储体存储器设备示例的另一个示例中,具有点到点环形拓扑的系统的一个或多个存储器设备的每一个是包括桥接设备和4个分立的存储器设备的复合存储器。(关于所构想的复合存储器的进一步细节,参考名称为“AComposite Memory Having a Bridging Device for Connecting DiscreteMemory Devices to a System”的美国专利申请No.12/401,963,通过引用将其全部内容包含在此。)在这样的示例中,状态寄存器可以在桥接设备内。
数个示例实施例可被应用于任意适合的固态存储器系统,例如,包括NAND闪速EEPROM设备、NOR闪速EEPROM设备、AND闪速EEPROM设备、DiNOR闪速EEPROM设备、串行闪速EEPROM设备、DRAM设备、SRAM设备、铁电RAM设备、磁性RAM设备、相变RAM设备或这些设备的任意组合的固态存储器系统。这些技术还可应用于在环形或者其它互连拓扑上通信的存储器和非存储器设备,无论是组织为单总线主控和多从设备或者多总线主控配置。
可以理解,当这里称元件“连接”或者“耦合”到另外的元件,其可以是直接连接或者耦合到其它元件或者存在中间元件。相反地,当这里称元件“直接连接”或者“直接耦合”到另外的元件,则不存在中间元件。用于描述元件间关系的其它词语也以类似方式解释(即,“在......之间”对“直接在......之间”、“相邻”对“直接相邻”等)。
能够对所描述的实施例进行一定的适应性改变和修改。因此,上面所讨论的实施例应被认为是说明性的而非限制性的。

Claims (30)

1.一种系统,包括:
以点到点环形拓扑布置的多个串行互连的半导体存储器设备;和
用于与所述半导体存储器设备进行通信的控制器设备,所述控制器设备包括:
用于产生去往存储器设备的包的命令引擎,该包的一部分包括至少一个命令字节;
能够将该包输出到所述多个半导体存储器设备的第一个设备的输出;
输入端口,其用于在所述包已经传输经过了以点到点环形拓扑布置的所述多个串行互连的半导体存储器设备中的每一个之后从所述多个串行互连的半导体存储器设备的最后设备接收所述包;以及
错误管理器,其配置为处理来自所述多个串行互连的半导体存储器设备的状态寄存器的信息,以确定在环形拓扑中的哪个点发生了错误。
2.如权利要求1所述的系统,其中该多个半导体存储器设备的每一个包括错误管理器。
3.如权利要求1所述的系统,其中该控制器设备被配置为接收错误寻址设备错误字节,且该错误管理器被配置为处理该错误寻址设备错误字节以确定预期目标设备之前的设备是否被错误地寻址。
4.如权利要求1所述的系统,其中该命令引擎被配置为如果预期目标设备之前的设备被错误地寻址,则重新发出命令。
5.如权利要求1所述的系统,其中所述命令引擎能够产生广播命令,其能够被多个半导体存储器设备的每一个接收,从而能够用顺序的方式将多个半导体存储器设备的每一个的各自状态寄存器中的信息提供给控制器设备。
6.如权利要求5所述的系统,其中该错误管理器被配置为处理所述信息来确定在环形拓扑中的哪个点发生了错误。
7.如权利要求1所述的系统,其中所述多个半导体存储器设备是非易失性存储器设备。
8.如权利要求7所述的系统,其中所述非易失性存储器设备是NAND闪速存储器设备。
9.如权利要求6所述的系统,其中该命令引擎还被配置为如果在目标设备之前发生了错误则重新发出命令。
10.如权利要求1所述的系统,其中所述错误管理器被配置为基于所接收的包的所述一部分计算奇偶校验位,并且将所计算的奇偶校验位与所接收的包的另一部分进行比较以确定是否发生了错误。
11.如权利要求1所述的系统,其中所述错误管理器被配置为将所接收的包与所输出的包进行比较以确定是否发生了错误。
12.如权利要求2所述的系统,其中所述多个半导体存储器设备的至少一个错误管理器被配置为在错误检测时禁止执行由所述包定义的命令。
13.如权利要求1所述的系统,其中所述包的所述一部分包括编程命令或擦除命令。
14.如权利要求1所述的系统,其中所述包的另一部分包括奇偶校验位。
15.如权利要求14所述的系统,其中所述奇偶校验位便于根据海明码错误检测方案进行命令错误检测。
16.如权利要求14所述的系统,其中所述奇偶校验位促成命令错误纠正。
17.如权利要求16所述的系统,其中所述多个半导体存储器设备的每一个包括相应的错误管理器以在检测到错误时尝试纠正所述包。
18.如权利要求17所述的系统,其中,如果确定已经发生了错误,则所述控制器设备的错误管理器被配置来确定在所接收的包中的错误是否是能被纠正的,并且当所述错误不能被纠正时重新发出所述包。
19.如权利要求18所述的系统,其中该控制器设备还被配置为将所接收的包中的单个位的错误识别为能被纠正的,并将多个位的错误识别为不能被纠正的。
20.如权利要求1所述的系统,其中该命令引擎还被配置为:
如果在预期目标设备之前的设备处发生了错误,则导致命令的重发。
21.一种在控制器设备中执行的方法,其中所述控制器设备与以点到点环形拓扑布置的多个串行互连的半导体存储器设备通信,所述方法包括:
产生去往存储器设备的包,该包的一部分包括至少一个命令字节;
将该包输出到所述多个半导体存储器设备的第一个设备;
在所述包已经传输经过了以点到点环形拓扑布置的所述多个串行互连的半导体存储器设备中的每一个之后从所述多个串行互连的半导体存储器设备的最后设备接收所述包;以及
基于所接收的包确定在所述包从所述控制器设备经过所述半导体存储器设备并且返回所述控制器设备的传输中是否发生了错误;并且
如果发生了错误,选择性地重新发出所述包。
22.如权利要求21所述的方法,还包括:为多个半导体存储器设备的每一个产生广播命令,从而能够用顺序的方式将多个半导体存储器设备的每一个的各自状态寄存器中的信息提供给所述控制器。
23.如权利要求22所述的方法,还包括:处理所述信息来确定在环形拓扑中的哪个点发生了错误。
24.如权利要求23所述的方法,还包括:如果在目标设备之前发生了错误则重新发出命令。
25.如权利要求21所述的方法,还包括:
基于所接收的包的所述一部分计算奇偶校验位;以及
将所计算的奇偶校验位与所接收的包的另一部分进行比较以确定是否发生了错误。
26.如权利要求21所述的方法,还包括:将所接收的包与所输出的包进行比较以确定是否发生了错误。
27.如权利要求21所述的方法,其中所述包的所述一部分包括编程命令或擦除命令。
28.如权利要求21所述的方法,其中所述包的另一部分包括奇偶校验位。
29.如权利要求28所述的方法,其中所述奇偶校验位促成命令错误纠正。
30.如权利要求21所述的方法,还包括:
如果在预期目标设备之前的设备处发生了错误,则导致命令的重发。
CN200980151271.4A 2008-12-18 2009-12-10 错误检测方法和包括一个或多个存储器设备的系统 Expired - Fee Related CN102257573B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13857508P 2008-12-18 2008-12-18
US61/138575 2008-12-18
US14014708P 2008-12-23 2008-12-23
US61/140147 2008-12-23
US12/418,892 US8880970B2 (en) 2008-12-23 2009-04-06 Error detection method and a system including one or more memory devices
US12/418892 2009-04-06
PCT/CA2009/001777 WO2010069045A1 (en) 2008-12-18 2009-12-10 Error detection method and a system including one or more memory devices

Publications (2)

Publication Number Publication Date
CN102257573A CN102257573A (zh) 2011-11-23
CN102257573B true CN102257573B (zh) 2014-11-05

Family

ID=42268218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980151271.4A Expired - Fee Related CN102257573B (zh) 2008-12-18 2009-12-10 错误检测方法和包括一个或多个存储器设备的系统

Country Status (6)

Country Link
EP (1) EP2359372B1 (zh)
JP (2) JP5753988B2 (zh)
KR (1) KR101687038B1 (zh)
CN (1) CN102257573B (zh)
TW (1) TWI517174B (zh)
WO (1) WO2010069045A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150248316A1 (en) * 2012-09-28 2015-09-03 Hewlett-Packard Development Company, L.P. System and method for dynamically selecting between memory error detection and error correction
KR20170086345A (ko) * 2016-01-18 2017-07-26 에스케이하이닉스 주식회사 메모리 칩 및 메모리 컨트롤러를 포함하는 메모리 시스템
CN107239363B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息上报方法及系统
CN107134294B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息获取方法及系统
KR102433098B1 (ko) 2018-02-26 2022-08-18 에스케이하이닉스 주식회사 어드레스 생성회로, 어드레스 및 커맨드 생성회로 및 반도체 시스템
US10963336B2 (en) 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
US11200118B2 (en) 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
KR20210093610A (ko) 2020-01-20 2021-07-28 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
KR20220139199A (ko) * 2021-04-07 2022-10-14 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US11822793B2 (en) 2022-04-04 2023-11-21 Western Digital Technologies, Inc. Complete and fast protection against CID conflict

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691257B1 (en) * 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826068A (en) * 1994-11-09 1998-10-20 Adaptec, Inc. Integrated circuit with a serial port having only one pin
US5938742A (en) * 1995-08-18 1999-08-17 General Magic, Inc. Method for configuring an intelligent low power serial bus
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US20040237001A1 (en) * 2003-05-21 2004-11-25 Sun Microsystems, Inc. Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
DE10335978B4 (de) * 2003-08-06 2006-02-16 Infineon Technologies Ag Hub-Baustein zum Anschließen von einem oder mehreren Speicherbausteinen
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
DE102004004796B4 (de) * 2004-01-30 2007-11-29 Infineon Technologies Ag Vorrichtung zur Datenübertragung zwischen Speichern
US7389465B2 (en) * 2004-01-30 2008-06-17 Micron Technology, Inc. Error detection and correction scheme for a memory device
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US8335868B2 (en) 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
KR101476515B1 (ko) * 2006-08-22 2014-12-24 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 스케일러블 메모리 시스템
EP2487794A3 (en) 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8700818B2 (en) 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
US7937641B2 (en) * 2006-12-21 2011-05-03 Smart Modular Technologies, Inc. Memory modules with error detection and correction
KR101308047B1 (ko) * 2007-02-08 2013-09-12 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리, 및 이 메모리를위한 명령 디코딩 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691257B1 (en) * 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same

Also Published As

Publication number Publication date
JP2015099598A (ja) 2015-05-28
EP2359372B1 (en) 2020-04-08
EP2359372A4 (en) 2017-06-21
WO2010069045A1 (en) 2010-06-24
JP2012512467A (ja) 2012-05-31
JP5753988B2 (ja) 2015-07-22
CN102257573A (zh) 2011-11-23
KR101687038B1 (ko) 2016-12-15
EP2359372A1 (en) 2011-08-24
TW201106369A (en) 2011-02-16
TWI517174B (zh) 2016-01-11
KR20110103388A (ko) 2011-09-20

Similar Documents

Publication Publication Date Title
CN102257573B (zh) 错误检测方法和包括一个或多个存储器设备的系统
US8880970B2 (en) Error detection method and a system including one or more memory devices
US10558520B2 (en) Memory error detection
TWI545497B (zh) 用於在可擴充記憶體系統協定中記錄封包傳送之系統及方法
JP5283393B2 (ja) メモリシステム及びそのシステムの命令の取扱方法
US7584336B2 (en) Systems and methods for providing data modification operations in memory subsystems
CN101286358B (zh) 具有错误检测/校正处理的系统和设备以及输出数据的方法
US20110258366A1 (en) Status indication in a system having a plurality of memory devices
CN107209718A (zh) 高性能非易失性存储器模块
US10860518B2 (en) Integrated circuit system
CN1707454A (zh) 中心单元、存储器模块、存储器系统和对其读和写的方法
US8045405B2 (en) Memory system, memory device and command protocol
US10303543B1 (en) System and method for memory control having address integrity protection for error-protected data words of memory transactions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: Ontario, Canada

Applicant after: Examine Vincent Zhi Cai management company

Address before: Ontario, Canada

Applicant before: Mosaid Technologies Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: MOSAID TECHNOLOGIES INC. TO: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NOVA CHIP CANANA COMPANY

Free format text: FORMER OWNER: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.

Effective date: 20150427

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150427

Address after: Ontario, Canada

Patentee after: Nova chip Canada Company

Address before: Ontario, Canada

Patentee before: Examine Vincent Zhi Cai management company

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141105

Termination date: 20151210

EXPY Termination of patent right or utility model