CN111819547A - 命令/地址通道错误检测 - Google Patents
命令/地址通道错误检测 Download PDFInfo
- Publication number
- CN111819547A CN111819547A CN201980015676.9A CN201980015676A CN111819547A CN 111819547 A CN111819547 A CN 111819547A CN 201980015676 A CN201980015676 A CN 201980015676A CN 111819547 A CN111819547 A CN 111819547A
- Authority
- CN
- China
- Prior art keywords
- value
- edc
- controller
- crc
- memory component
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 72
- 238000012546 transfer Methods 0.000 claims abstract description 40
- 230000004913 activation Effects 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims description 177
- 230000006870 function Effects 0.000 claims description 29
- 230000002441 reversible effect Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 8
- 238000012886 linear function Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 6
- 230000003542 behavioural effect Effects 0.000 description 3
- 230000000246 remedial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Dram (AREA)
Abstract
存储器组件和控制器彼此传输命令和数据。用以激活并且然后访问数据的命令、以及数据本身在不同时间处均在控制器与存储器组件之间被传输。控制器和存储器组件各自计算关于激活命令信息(例如,存储体地址和行地址)的相应的错误检测代码(EDC)值,并存储通过存储体地址进行索引的错误检测代码值。当存储器组件被访问时,所取回的EDC值与根据访问命令信息、以及数据本身计算出的EDC值进行组合。存储器组件将其经组合的EDC值传送给控制器来进行检查。
Description
附图说明
图1是存储器系统的框图。
图2是存储器系统的框图。
图3A是图示了读取操作的流程图。
图3B是图示了写入操作的流程图。
图4是图示了针对读取操作而执行的控制器动作的图。
图5是图示了针对读取操作而执行的存储器组件动作的图。
图6是图示了针对写入操作而执行的控制器动作的图。
图7是图示了针对写入操作而执行的存储器组件动作的图。
图8是图示了针对去往存储器组件的写入操作执行的控制器动作的图,该存储器组件检查错误检测代码。
图9是图示了针对写入操作、以及对错误检测代码的检查而执行的存储器组件动作的图。
图10是图示了存储器系统的图,该存储器系统检查被应用到命令/地址通信的错误检测代码。
图11是图示了存储器组件访问的流程图。
图12是图示了访问存储器组件的方法的流程图。
图13是图示了确定错误是否发生的方法的流程图。
图14是图示了提供错误检测信息的方法的流程图。
图15是图示了向控制器传送错误检测信息的方法的流程图。
图16是图示了从存储器组件接收错误检测信息的方法的流程图。
图17是处理系统的框图。
具体实施方式
存储器组件(例如,动态随机存取存储器-DRAM集成电路系统)接收命令和地址信息以用于激活行和访问列操作(例如,以读取和/或写入数据)。用以激活然后访问数据的命令、以及数据本身在不同时间处均在控制器与存储器组件之间传输。控制器计算关于激活命令信息(例如,存储体(bank)地址和行地址)的错误检测代码(EDC)值,并存储由存储体地址进行索引的错误检测代码值。同样,在接收到激活命令时,存储器组件根据所接收的激活命令信息来计算EDC值,并存储由存储体地址进行索引的EDC值。
当访问命令由存储器组件接收时,所接收的存储体地址被用来取回所存储的EDC值。所取回的EDC值然后与根据访问命令信息计算的EDC值、以及数据本身计算的EDC值进行组合。类似的操作由控制器执行以生成预期的EDC值,该预期的EDC值将与由存储器组件计算的EDC值进行比较。
在一个实施例中,经组合的EDC值可以传送给控制器以用于检查。在另一实施例中,经组合的EDC值可以对照从控制器接收的EDC值来检查。
在一个实施例中,针对激活和访问命令信息所计算的单独的EDC值可以被单独地传送给控制器以用于检查(即,无需首先与其他EDC值组合为“经组合的”EDC值)。通过使用可逆函数(invertible function)来“调制”(modulate)针对数据的EDC值,这些单独的EDC值可以传送给控制器,可逆函数采取数据EDC值和命令EDC值作为输入。控制器使用控制器针对对应命令(作为可逆函数反函数的输入)计算出的期望EDC值对数据EDC值和命令EDC值进行“解调制”(demodulate)。在一个实施例中,可逆函数可以是数据EDC值和命令EDC值的一个或多个比特之间的异或(XOR)操作。
图1是存储器系统的框图。在图1中,存储器系统100包括控制器110和存储器组件120。控制器110包括错误检测代码计算电路系统112、错误检测代码组合电路系统113、错误检测代码比较电路系统114、错误指示符119、命令/地址(CA)接口131a、数据(DQ)接口132a和错误检测代码(EDC)接口133a。控制器110还生成和/或处理激活命令和信息115a、访问命令和信息115b以及数据115c。存储器组件120包括错误检测代码计算电路系统122、错误检测代码组合电路系统123、存储器核心(例如,存储单元阵列)126、CA接口131b、DQ接口132b和EDC接口133b。存储器组件120还接收、响应和/或处理所接收的激活命令和信息125a、所接收的访问命令和信息125b以及数据125c。
控制器110和存储器组件120可以是集成电路类型的设备(例如,通常被称为“芯片”)。诸如控制器120的存储器控制器管理去往和来自存储器设备和/或存储器模块的数据的流。存储器组件120(也被称为存储器120)可以是独立设备,或者可以是存储器模块的组件。存储器控制器可以是单独的独立芯片,也可以集成到另一芯片中。例如,存储器控制器可以被包括在具有微处理器的单个裸片上,或者被包括作为较复杂的集成电路系统(例如,片上系统(SOC))的一部分。
控制器110经由CA接口131a可操作地耦合到存储器组件120,CA接口131a耦合到CA信号线131。CA信号线131(以及对应的控制器110上的CA接口131a和存储器组件120上的CA接口131b)包括X数目的信号线。在一个实施例中,X=11。在一个实施例中,CA信号线131可以包括一个或多个(例如,1个)数据总线反相(DBI)信号线。控制器110可操作地耦合到存储器组件120,以经由CA信号线131向存储器120发送命令和相关联的信息(例如,地址)。存储器组件120经由CA接口131b来接收这些命令(以及相关联的信息——例如,地址),CA接口131b也耦合到CA信号线131。
控制器110经由DQ接口132a可操作地耦合到存储器120,DQ接口132a耦合到DQ信号线132。DQ信号线132(以及对应的控制器110上的DQ接口132a和存储器组件120上的DQ接口132b)可以包括Y数目的信号线。在一个实施例中,Y=18。在一个实施例中,DQ信号线132可以包括一个或多个(例如,2个)DBI信号线。控制器110和存储器组件120经由DQ信号线132可操作地耦合,以双向传输数据(例如,数据115c和/或数据125c)。存储器组件120可以存储(例如,在存储器核心126中)和取回(例如,从存储器核心126)经由DQ接口132b和DQ信号线132传输的数据。
存储器120经由EDC接口133b可操作地耦合到控制器110,EDC接口133b耦合到EDC信号线133。EDC信号线133(以及对应的控制器110上的EDC接口133a和存储器组件120上的EDC接口133b)可以包括Z数目的信号线。在一个实施例中,Z=2。在一个实施例中,EDC信号线133可以包括一个或多个(例如,1个)DBI信号线。存储器120可操作地耦合到控制器110,以经由EDC接口133b和EDC信号线133向控制器110发送错误检测代码信息(例如,EDC代码比特)。控制器110经由EDC接口133a和EDC信号线133来接收这些EDC比特。
在一个实施例中,控制器110经由CA信号线131向存储器组件120发送激活命令115a。激活命令115a包括相关联的存储体地址(BA)值和行地址(R或ROW)值。存储器组件120接收所发送的命令和相关联的地址信息。然而,在激活命令115a的传送和/或接收期间,错误可能发生,使得所接收的命令和/或相关联的地址信息的一个或多个比特与所发送的激活命令115a不同。这在图1中由激活命令125a图示——激活命令125a可以具有与激活命令115a相同(即正确)或错误(即,损坏)的命令和/或相关联的地址信息。所接收的激活命令125a被提供给EDC计算电路系统122。
控制器110还经由CA信号线131向存储器组件120发送访问命令115b。访问命令115b可以是读取或写入命令,其分别从存储器核心126读取数据或将数据存储到存储器核心126。访问命令115b包括相关联的存储体地址(BA)值和列地址(C或COL)值。存储器组件120接收所发送的命令和相关联的地址信息。然而,在访问命令115b的传送和/或接收期间,错误可能发生,使得所接收的命令和/或相关联的地址信息的一个或多个比特与所发送的访问命令115b不同。这在图1中由访问命令125b图示——访问命令125b可以具有与访问命令115b相同(即,正确)或错误(即,损坏)的命令和/或相关联的地址信息。所接收的访问命令125b被提供给EDC计算电路系统122。
如果访问命令115b是写入,则控制器110还经由DQ信号线132将数据115c发送给存储器组件120。存储器组件120接收所发送的数据。然而,在数据115c的传送和/或接收期间,错误可能发生,使得所接收的数据的一个或多个比特与所发送的数据不同。这在图1中由数据125c图示——数据125c可以具有与数据115c相同(即,正确)或错误(即,损坏)的值。所接收的数据125c被提供给EDC计算电路系统122。在一个实施例中,EDC计算电路系统122计算CRC-8类型的错误检测代码。
如果访问命令115b是读取,则存储器组件120取回(从存储器核心126)数据125c,并经由DQ信号线132将数据125c发送给控制器110。控制器110接收所发送的数据。然而,在数据125c的存储(通过存储器126)、传送和/或接收期间,错误可能发生,使得所接收的数据的一个或多个比特与所发送的数据不同。这在图1中由数据115c图示——数据115c可以具有与数据125c相同(即,正确)或错误(即,损坏)的值。所接收的数据115c被提供给EDC计算电路系统112。在一个实施例中,EDC计算电路系统112计算CRC-8类型的错误检测代码。
存储器120将所接收的激活命令125a、所接收的访问命令125b和数据125c(其视情况而从控制器110接收或从存储器核心126取回)提供给EDC计算电路系统122。在一个实施例中,激活命令125a、访问命令125b和数据125c可以在时间上的不同点处被提供给EDC计算电路系统122。因此,EDC计算电路系统122计算三个EDC值。这三个EDC值由EDC组合电路系统123组合为单个循环冗余校验(CRC)值128。CRC值128经由EDC信号线133被发送给控制器110。
控制器110将激活命令115a、访问命令115b和数据115c提供给EDC计算电路系统112。在一个实施例中,激活命令115a、访问命令115b和数据115c可以在时间上的不同点处被提供给EDC计算电路系统112。因此,EDC计算电路系统112计算三个EDC值。这三个EDC值由EDC组合电路系统113组合为单个循环冗余校验(CRC)值118。EDC组合电路系统113将CRC值118提供给EDC比较电路系统114。
EDC比较电路系统114将由控制器110产生的CRC值118与从存储器120接收的CRC值128进行比较。如果两个CRC值是等同的(例如,相等),则错误指示符119被设置为指示错误未被检测到。如果两个CRC值不等同(例如,不相等),则错误指示符119被设置为指示错误已被检测到。
在一个实施例中,EDC计算电路系统113和EDC计算电路系统123生成错误检测代码,错误检测代码具有相对于“异或”操作为线性的性质。换言之,用于生成CRC 118和CRC 128的函数满足以下条件:因此,EDC组合电路系统113和EDC组合电路系统114可以分别包括对从EDC计算电路系统113和EDC计算电路系统114接收的三个EDC值的按位(bitwise)异或(XOR)。
从前述内容中应理解,由于激活命令115a、访问命令115b和数据115c均是用于控制器CRC值118计算的输入,并且由于所接收的激活命令125a、所接收的访问命令125b和数据125c均是用于存储器CRC值128计算的输入,并且由于存储器CRC值128被传送给控制器110,因此某些错误(例如,具有少于给定数目的损坏比特的错误)可能在传送、接收和/或存储激活命令115a、访问命令115b、数据115c、数据125c和/或CRC值128时被检测到。
图2是存储器系统的框图。在图2中,存储器系统200包括控制器210和存储器组件220。控制器210包括激活命令信息同步器211a、访问命令信息同步器211b、数据同步器211c、错误检测代码(EDC)计算电路系统212、错误检测代码组合电路系统213、错误检测代码比较电路系统214、错误指示符219、命令/地址(CA)接口231a、数据(DQ)接口232a和EDC接口233a。控制器210生成和/或处理激活命令信息215a、访问命令信息215b和数据215c。
存储器组件220(也被称为存储器220)包括激活命令信息同步器221a、访问命令信息同步器221b、数据同步器221c、错误检测代码计算电路系统222、错误检测代码组合电路系统223、存储器核心(例如,存储单元阵列)226、CA接口231b、DQ接口232b和EDC接口233b。存储器组件220接收、响应和/或处理所接收的激活命令信息225a、所接收的访问命令信息225b和数据225c。控制器210和存储器组件220可以是集成电路类型的设备。
控制器210经由CA接口231a可操作地耦合到存储器220,CA接口231a耦合到CA信号线231。CA信号线231(以及对应的控制器210上的CA接口231a和存储器组件220上的CA接口231b)可以包括X数目的信号线。在一个实施例中,X=11。在一个实施例中,CA信号线231可以包括一个或多个(例如,1个)数据总线反相(DBI)信号线。控制器210可操作地耦合到存储器220,以经由CA信号线231向存储器220发送命令和相关联的信息(例如,地址)。存储器220经由CA接口231b来接收这些命令(以及相关联的信息——例如,地址),CA接口231b也耦合至CA信号线231。
控制器210经由DQ接口232a可操作地耦合到存储器220,DQ接口232a耦合到DQ信号线232。DQ信号线232(以及对应的控制器210上的DQ接口232a和存储器组件120上的DQ接口232b)可以包括Y数目的信号线。在一个实施例中,Y=18。在一个实施例中,DQ信号线232可以包括一个或多个(例如,2个)DBI信号线。控制器210和存储器组件220经由DQ信号线232可操作地耦合,以双向传输数据(例如,数据215c和/或数据225c)。存储器220可以存储(例如,在存储器核心226中)和取回(例如,从存储器核心226)经由DQ接口232b和DQ信号线232传输的数据。
存储器220经由EDC接口233b可操作地耦合到控制器210,EDC接口233b耦合到EDC信号线233。EDC信号线233(以及对应的控制器210上的EDC接口233a和存储器组件220上的EDC接口233b)可以包括Z数目的信号线。在一个实施例中,Z=2。在一个实施例中,EDC信号线233可以包括一个或多个(例如,1个)DBI信号线。存储器220可操作地耦合到控制器210,以经由EDC接口233b和EDC信号线233来向控制器210发送错误检测代码信息(例如,EDC代码比特)。控制器210经由EDC接口233a和EDC信号线233来接收这些EDC比特。
在一个实施例中,控制器210经由CA信号线231向存储器组件220发送激活命令信息215a。激活命令信息215a包括但不限于存储体地址(BA)值和行地址(R或ROW)值。存储器组件220接收所发送的激活命令信息。然而,在激活命令信息215a的传送和/或接收期间,错误可能发生,使得所接收的激活命令信息225a的一个或多个比特与所发送的激活命令信息215a不同。所接收的激活命令信息225a被提供给EDC计算电路系统222。所接收的激活命令信息225a在时间(例如,时钟周期等)上的第一点处被提供给EDC计算电路系统222。这在图2中由TACT 222a图示。基于激活命令信息225a(激活命令信息EDC代码值226a)的EDC计算结果被提供给激活命令信息同步器221a。在一个实施例中,EDC计算电路系统222计算CRC-8类型的错误检测代码。
激活命令信息同步器221a存储激活命令信息EDC代码值226a,直到其他输入被准备好以与激活命令信息EDC代码值226a进行组合。激活命令信息同步器221a可以是存储器。在一个实施例中,激活命令信息同步器221a可以是寄存器文件,该寄存器文件通过来自所接收的激活命令信息225a的存储体地址值进行索引。这允许激活命令信息EDC代码值226a使用来自第二(例如,访问)命令的存储体地址值而从激活命令信息同步器221a中取回,第二命令在时间上较后点处接收。
在时间上的第二点处,在激活命令信息215a已被发送给存储器220之后,控制器210经由CA信号线231将访问命令信息215b传送给存储器组件220。访问命令信息215b可以与读取或写入命令相关联,读取或写入命令分别从存储器核心126读取数据或将数据存储到存储器核心126。访问命令信息215b包括但不限于存储体地址(BA)值和列地址(C或COL)值。存储器组件220接收所传送的访问命令信息。然而,在访问命令信息215b的传送和/或接收期间,错误可能发生,使得所接收的访问命令信息225b的一个或多个比特与所发送的访问命令信息215b不同。所接收的访问命令信息225b被提供给EDC计算电路系统222。所接收的访问命令信息225b在时间(例如,时钟周期等)上第二点处被提供给EDC计算电路系统222。这在图2中由TACC 222b图示。基于访问命令信息225b(访问命令信息EDC代码值226b)的EDC计算结果被提供给访问命令信息同步器221b。
访问命令信息同步器221b存储访问命令信息EDC代码值226b,直到其他输入被准备好以与访问命令信息EDC代码值226b进行组合。激活命令信息同步器221b可以是存储器。在一个实施例中,激活命令信息同步器221a可以是寄存器。
如果访问命令信息215b与写入命令相关联,则控制器210经由DQ信号线232将数据215c传送给存储器组件220。存储器组件220接收所传送的数据。然而,在数据215c的传送和/或接收期间,错误可能发生,使得所接收的数据225c的一个或多个比特与所发送的数据215c不同。所接收的数据225c被提供给EDC计算电路系统222。所接收的数据225c在时间(例如,时钟周期等)上的第三点处被提供给EDC计算电路系统222。这在图2中由TDAT 222c图示。基于所接收的数据225c(数据EDC代码值226c)的EDC计算结果被提供给数据同步器221c。
如果访问命令信息215b与读取命令相关联,则存储器组件220(从存储器核心226)取回数据225c,并经由DQ信号线232将所取回的数据225c传送给控制器210。所取回的数据225c被提供给EDC计算电路系统222。所取回的数据225c在时间(例如,时钟周期等)上的第三点处被提供给EDC计算电路系统222。这在图2中由TDAT222c图示。基于所取回的数据225c(数据EDC代码值226c)的EDC计算结果被提供给数据同步器221c。
数据同步器221c存储数据EDC代码值226c,直到其他输入被准备好以与数据EDC代码值226c进行组合。数据同步器221c可以是存储器。数据同步器221c可以是寄存器或缓冲存储器。
激活命令信息同步器221a、访问命令信息同步器221b和数据同步器221c向EDC组合电路系统223分别提供激活命令信息EDC代码值226a、访问命令信息EDC代码值226b和数据EDC代码值226c。在一个实施例中,激活命令信息同步器221a、访问命令信息同步器221b和数据同步器221c可以被控制以提供用于组合的EDC值,该EDC值均与由访问命令所访问的存储体、行和列相对应。在一个实施例中,激活命令信息同步器221a、访问命令信息同步器221b和数据同步器221c可以被控制以提供用于组合的EDC值,该EDC值对应于不同存储体、行和/或列中的一项或多项。EDC值由EDC组合电路系统223组合为单个循环冗余校验(CRC)值228。CRC值228经由EDC信号线233被传送给控制器210。
控制器210将激活命令信息215a、访问命令信息215b和数据215c提供给EDC计算电路系统212。在一个实施例中,激活命令215a、访问命令215b和数据215c可以在不同的时间点被提供给EDC计算电路系统212。这在图2中由TACT 212a、TACC 212b和TDAT 212c图示。这些EDC计算的相应结果被提供给对应的激活命令信息同步器211a、访问命令信息同步器211b或数据同步器211c。在一个实施例中,EDC计算电路系统212计算CRC-8类型的错误检测代码。
激活命令信息同步器211a、访问命令信息同步器211b和数据同步器211c分别向EDC组合电路系统213提供激活命令信息EDC代码值216a、访问命令信息EDC代码值216b和数据EDC代码值216c。在一个实施例中,激活命令信息同步器211a、访问命令信息同步器211b和数据同步器211c可以被控制以提供用于组合的EDC值,该EDC值均与通过访问命令所访问的存储体、行和列相对应。在一个实施例中,激活命令信息同步器211a、访问命令信息同步器211b和数据同步器211c可以被控制以提供用于组合的EDC值,该EDC值对应于不同的存储体、行和/或列中的一项或多项。EDC值由EDC组合电路系统213组合为单个循环冗余校验(CRC)值218。EDC组合电路系统213将CRC值218提供给EDC比较电路系统214。
EDC比较电路系统214将由控制器210产生的CRC值218与从存储器220接收的CRC值228进行比较。如果两个CRC值等同(例如,相等),则错误指示符219被设置为指示错误未被检测到。如果两个CRC值不等同(例如,不相等),则错误指示符219被设置为指示错误已被检测到。
在一个实施例中,EDC计算电路系统213和EDC计算电路系统223生成错误检测代码,错误检测代码具有相对于异或操作呈线性的性质。换言之,用于生成CRC 218和CRC 228的函数满足以下:因此,EDC组合电路系统213和EDC组合电路系统214可以分别包括对从同步器211a-211c和同步器221a-221c接收的三个EDC值的按位异或(XOR)。
从前述应理解的是,由于激活命令信息215a、访问命令信息215b和数据215c均是用于控制器CRC值218计算的输入,并且由于所接收的激活命令信息225a、所接收的访问命令信息225b和数据225c均是用于存储器CRC值228计算的输入,并且由于存储器CRC值228被传送给控制器210,因此某些错误(例如,具有少于给定数目的损坏比特的错误)在激活命令信息215a、访问命令信息215b、数据215c、数据225c和/或CRC值228的传送、接收和/或存储中可能被检测到。
图3A是图示了读取操作的流程图。控制器210发出激活命令。激活命令信息ACT通过CA接口231a传送给存储器220。控制器210还将ACT耦合到EDC计算电路系统222。通过存储器220的CA接口231b所接收的激活命令信息在传送期间可能被损坏。因此,由存储器220接收的激活命令信息在图3A中被图示为ACT’。存储器220将ACT’从CA接口231b耦合到EDC计算电路系统222。
在激活命令之后,控制器210发出读取命令。读取命令信息RD通过CA接口231a传送给存储器220。控制器210还将RD耦合到EDC计算电路系统222。通过存储器220的CA接口231b所接收的读取命令信息在传送期间可能被损坏。因此,由存储器220所接收的读取命令信息在图3A中被图示为RD’。存储器220将RD’从CA接口231b耦合到EDC计算电路系统222。
控制器210的EDC计算电路系统212根据ACT来计算第一循环冗余校验(CRC)值,并根据RD来计算第二CRC值。这些在图3A中分别图示为CRC(ACT)和CRC(RD)。同样,存储器220的EDC计算电路系统222根据ACT’来计算第三CRC值,并根据RD’来计算第四CRC值。这些分别在图3A中图示为CRC(ACT’)和CRC(RD’)。CRC(ACT)和CRC(RD)通过控制器210耦合到EDC组合电路系统213。CRC(ACT’)和CRC(RD’)通过存储器220耦合到EDC组合电路系统223。
因为存储器220执行读取操作,所以存储器220从存储器核心取回数据DQ’。由存储器220所取回的数据可能被损坏。因此,由存储器220所取回的数据在图3A中被图示为DQ’。存储器220将DQ’耦合到DQ接口232b和EDC计算电路系统222。存储器220的EDC计算电路系统222根据DQ’来计算第五CRC值。这在图3A中被图示为CRC(DQ’)。EDC组合电路系统223根据CRC(ACT’)、CRC(RD’)和CRC(DQ’)来计算第六CRC值。这在图3A中被图示为CRC(ACT’,RD’,DQ’)。
存储器220将CRC(ACT’,RD’,DQ’)耦合到EDC接口233b。EDC接口233b将CRC(ACT’,RD’,DQ’)传送给控制器210。由控制器210的CA接口231a所接收的CRC信息在传送期间可能被损坏。因此,由控制器210所接收的CRC信息在图3A中被图示为CRC’(ACT’,RD’,DQ’)。控制器210将CRC’(ACT’,RD’,DQ’)从EDC接口233a耦合到EDC比较电路系统214。
DQ接口232b将DQ’传送给控制器210。通过控制器210的CA接口231a所接收的数据在传送期间可能被损坏。因此,由存储器220接收的数据在图3A中被图示为DQ’。控制器210将DQ”从CA接口231a耦合到EDC计算电路系统212。控制器210的EDC计算电路系统212根据DQ’来计算第七CRC值。这在图3A中被图示为CRC(DQ”)。EDC组合电路系统213根据CRC(ACT)、CRC(RD)和CRC(DQ”)来计算第八CRC值。这在图3A中被图示为CRC(ACT,RD,DQ”)。
EDC比较电路系统214将CRC’(ACT’,RD’,DQ’)和CRC(ACT,RD,DQ”)进行比较,确定本文所述的传送或数据的存储是否被损坏,并用信号通知该结果给控制器210中的其他电路系统。换言之,如果CRC’(ACT’,RD’,DQ’)等于CRC(ACT,RD,DQ”),则EDC比较电路系统214向控制器210指示没有错误已发生。如果CRC’(ACT’,RD’,DQ’)不等于CRC(ACT,RD,DQ”),则EDC比较电路系统214向控制器210指示错误已发生。
图3B是图示了写入操作的流程图。控制器210发出激活命令。激活命令信息ACT通过CA接口231a传送给存储器220。控制器210还将ACT耦合到EDC计算电路系统222。通过存储器220的CA接口231b所接收的激活命令信息在传送期间可能被损坏。因此,由存储器220所接收的激活命令信息在图3B中被图示为ACT’。存储器220将ACT’从CA接口231b耦合到EDC计算电路系统222。
在激活命令之后,控制器210发出写入命令。写入命令信息WR通过CA接口231a被传送给存储器220。控制器210还将WR耦合到EDC计算电路系统222。通过存储器220的CA接口231b所接收的写入命令信息在传送期间可能被损坏。因此,由存储器220所接收的写入命令信息在图3B中被图示为WR’。存储器220将WR’从CA接口231b耦合到EDC计算电路系统222。
控制器210的EDC计算电路系统212根据ACT来计算第一循环冗余校验(CRC)值,并根据WR来计算第二CRC值。这些在图3B中分别被图示为CRC(ACT)和CRC(WR)。同样,存储器220的EDC计算电路系统222根据ACT’来计算第三CRC值,并根据WR’来计算第四CRC值。这些在图3B中被分别图示为CRC(ACT’)和CRC(WR’)。CRC(ACT)和CRC(WR)通过控制器210耦合到EDC组合电路系统213。CRC(ACT’)和CRC(WR’)通过存储器220耦合到EDC组合电路系统223。
因为存储器220执行写入操作,所以控制器210经由DQ接口232a将写入数据DQ传送给存储器220。由存储器220所接收的数据可能被损坏。因此,通过存储器220的DQ接口232b所接收的数据在图3B中被图示为DQ’。存储器220将DQ’耦合到EDC计算电路系统222。存储器220的EDC计算电路系统222根据DQ’来计算第五CRC值。这在图3B中被图示为CRC(DQ’)。EDC组合电路系统223根据CRC(ACT’)、CRC(WR’)和CRC(DQ’)来计算第六CRC值。这在图3B中被图示为CRC(ACT’,WR’,DQ’)。
存储器210将CRC(ACT’,WR’,DQ’)耦合到EDC接口233b。EDC接口233b将CRC(ACT’,WR’,DQ’)传送给控制器210。通过控制器210的CA接口231a所接收的CRC信息在传送期间可能被损坏。因此,由控制器210所接收的CRC信息在图3B中被图示为CRC’(ACT’,WR’,DQ’)。控制器210将CRC’(ACT’,WR’,DQ’)从EDC接口233a耦合到EDC比较电路系统214。
控制器210的EDC计算电路系统212根据DQ来计算第六CRC值。这在图3B中被图示为CRC(DQ)。EDC组合电路系统213根据CRC(ACT)、CRC(WR)和CRC(DQ)来计算第七CRC值。这在图3B中被图示为CRC(ACT,WR,DQ)。
EDC比较电路系统214将CRC’(ACT’,WR’,DQ’)和CRC(ACT,WR,DQ)进行比较,确定本文所述的传送或数据的存储是否被损坏,并用信号通知该结果给控制器210中的其他电路系统。换言之,如果CRC’(ACT’,WR’,DQ’)等于CRC(ACT,WR,DQ),则EDC比较电路系统214向控制器210指示没有错误已发生。如果CRC’(ACT’,WR’,DQ’)不等于CRC(ACT,WR,DQ),则EDC比较电路系统214向控制器210指示错误已发生。
图4是图示了针对读取操作而执行的控制器动作的图。在图4中,控制器400包括寄存器文件(又被称为存储元件)411、错误检测代码(EDC)计算电路系统412、异或(XOR)413和XOR 414。寄存器文件411具有与每个存储体地址值相对应的存储位置,使得寄存器文件411可以使用存储体地址和索引(也被称为地址)来读取/写入条目。
控制器400生成激活命令信息410。激活命令信息410包括存储体地址(BA)值410a和行地址值(ROW)410b。激活命令信息410被传送给存储器组件。
箭头451图示了BA值410a被提供给EDC计算电路系统412。箭头452图示了行地址值410b被提供给EDC计算电路系统412。基于BA值410a和ROW值410b,EDC计算电路系统412生成第一CRC值CRC(0,0,0,BA,ROW)。箭头453图示了CRC(0,0,0,BA,ROW)被提供给并且在一位置处被存储在寄存器文件411中,该位置由(如箭头451a所图示)存储体地址值410a确定(进行索引)。
控制器400生成读取命令信息420。读取命令信息420包括存储体地址(BA)值420a和列地址值(COL)420b。箭头454图示了BA值420a被提供给EDC计算电路系统412。箭头455图示了列地址值420b被提供给EDC计算电路系统412。读取命令信息420被传送给存储器组件。
在图4中,BA值420a等于BA值410a,使得BA值420a可以被用来从寄存器文件411的位置BA中取回CRC(0,0,0,BA,ROW)。这由箭头454a图示,箭头454a被索引到寄存器文件411中与箭头451a相同的位置。箭头456图示了来自寄存器文件411的读取位置BA的结果(即,所存储的值CRC(0,0,0,BA,ROW))被提供给XOR413。
基于BA值420a和列地址值420b,EDC计算电路系统412生成第二CRC值CRC(0,BA,COL,0,0)。箭头457图示了CRC(0,BA,COL,0,0)被提供给XOR 413。
控制器400响应于已被传送给存储器组件的读取命令信息420而接收数据(DQ)。箭头458图示了读取数据DQ被提供给EDC计算电路系统412。基于读取数据DQ,EDC计算电路系统412生成第三CRC值CRC(DQ,0,0,0,0)。箭头459图示了CRC(DQ,0,0,0,0)被提供给XOR413。
XOR 413计算 因为EDC计算电路系统412生成了错误检测代码,该错误检测代码具有相对于异或操作为线性的性质,故 CRC(DQ,BA,COL,BA,ROW)是预期的CRC值,当未发生错误时,预期的CRC值将等于存储器计算的CRC值,CRC(DQ’,BA”,COL’,BA’,ROW’)。
响应于已传送给存储器组件的读取命令信息420,控制器400接收存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。箭头470图示了存储器计算的CRC值被提供给XOR414。预期的CRC值CRC(DQ,BA,COL,BA,ROW)与CRC(DQ’,BA”,COL’,BA’,ROW’)通过XOR 414进行按位异或。该XOR操作有效地执行了两个CRC值的按位比较。
如果预期的CRC值CRC(DQ,BA,COL,BA,ROW)等于存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’),则XOR 414的输出向控制器410指示没有错误已发生。如果预期的CRC值CRC(DQ,BA,COL,BA,ROW)与存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)不相等,则XOR 414的输出向控制器410指示错误已发生。这在图4中由箭头480图示。
图5是图示了针对读取操作执行的存储器组件动作的图。在图5中,存储器组件500包括寄存器文件(又被称为存储器元件)511、错误检测代码(EDC)计算电路系统512、异或(XOR)513和存储器核心526。寄存器文件511具有对应于每个存储体地址值的存储位置,使得寄存器文件511可以使用存储体地址和索引(也被称为地址)来读取/写入条目。
存储器组件500接收激活命令信息510。激活命令信息510可以从例如控制器400接收。激活命令信息510包括所接收的存储体地址(BA’)值510a和所接收的行地址(ROW’)值510b。
箭头551图示了所接收的BA’值510a被提供给EDC计算电路系统512。箭头552图示了所接收的ROW’值510b被提供给EDC计算电路系统512。基于所接收的BA’值510a和所接收的ROW’值510b,EDC计算电路系统512生成第一CRC值CRC(0,0,0,BA’,ROW’)。箭头553图示了CRC(0,0,0,BA’,ROW’)被提供给、并在一位置处被存储在寄存器文件511中,该位置由(如箭头551a所图示)所接收的BA’值510a确定(进行索引)。
存储器组件500接收读取命令信息520。读取命令信息520可以从例如控制器400接收。读取命令信息520包括所接收的第二存储体地址(BA”)值520a和所接收的列地址(COL’)值520b。箭头554图示了所接收的BA’值520a被提供给EDC计算电路系统512。箭头555图示了所接收的COL’值520b提供给EDC计算电路系统512。
在图5中,BA”值520a等于BA’值510a,使得BA”值520a可以被用来从寄存器文件511的位置BA’取回CRC(0,0,0,BA’,ROW’)。这由箭头554a图示,箭头554a被索引到寄存器文件511中与箭头551a相同的位置。箭头556图示了来自寄存器文件511的读取位置BA’的结果(即,所存储的值CRC(0,0,0,BA’,ROW’))被提供给XOR 513。
基于BA”值520a和COL’值520b,EDC计算电路系统512生成第二CRC值CRC(0,BA”,COL’,0,0)。箭头557图示了CRC(0,BA”,COL’,0,0)被提供给XOR 413。
响应于由存储器组件500所接收的读取命令信息520,存储器组件500从存储器核心526取回读取数据。箭头558图示了读取数据DQ’被提供给EDC计算电路系统512。读取数据DQ’也被传送给控制器(例如,控制器400)。这在图5中由箭头558a图示。基于读取数据DQ’,EDC计算电路系统512生成第三CRC值CRC(DQ’,0,0,0,0)。箭头559图示了CRC(DQ’,0,0,0,0)被提供给XOR 513。
XOR 513计算 因为EDC计算电路系统512生成了错误检测代码,该错误检测代码具有相对于异或操作为线性的性质,故 CRC(DQ’,BA”,COL’,BA’,ROW’)是CRC值,当错误未发生时,该CRC值将等于控制器计算的CRC值CRC(DQ,BA,COL,BA,ROW)。存储器组件500传送存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。这在图5中由箭头570图示。
图6是图示了针对写入操作执行的控制器动作的图。在图6中,控制器600包括寄存器文件(又被称为存储器元件)611、错误检测代码(EDC)计算电路系统612、异或(XOR)613和XOR 614。寄存器文件611具有对应于每个存储体地址值的存储位置,使得寄存器文件611可以使用存储体地址和索引(也被称为地址)来读取/写入条目。
控制器600生成激活命令信息610。激活命令信息610包括存储体地址(BA)值610a和行地址值(ROW)610b。激活命令信息610被传送给存储器组件。
箭头651图示了将BA值610a提供给EDC计算电路系统612。箭头652图示了行地址值610b被提供给EDC计算电路系统612。基于BA值610a和ROW值610b,EDC计算电路系统612生成第一CRC值CRC(0,0,0,BA,ROW)。箭头653图示了CRC(0,0,0,BA,ROW)被提供给、并且在一位置处被存储在寄存器文件611中,该位置由(如箭头651a所图示的)存储体地址值610a确定(进行索引)。
控制器600生成写入命令信息620。写入命令信息620包括存储体地址(BA)值620a和列地址值(COL)620b。箭头654图示了BA值620a被提供给EDC计算电路系统612。箭头655图示了列地址值620b被提供给EDC计算电路系统612。写入命令信息620被传送给存储器组件。
在图6中,BA值620a等于BA值610a,使得BA值620a可以被用来从寄存器文件611的位置BA中取回CRC(0,0,0,BA,ROW)。这由箭头654a图示,箭头654a被索引到寄存器文件611中与箭头651a相同的位置。箭头656图示了来自寄存器文件611的读取位置BA的结果(即,所存储的值CRC(0,0,0,BA,ROW))被提供给XOR613。
基于BA值620a和列地址值620b,EDC计算电路系统612生成第二CRC值CRC(0,BA,COL,0,0)。箭头657图示了CRC(0,BA,COL,0,0)被提供给XOR 613。
因为控制器600执行写入操作,所以控制器600提供被传送给存储器组件的写入数据(DQ)658(由箭头658b所图示)。箭头658a图示了写入数据DQ被提供给EDC计算电路系统612。基于写入数据DQ,EDC计算电路系统612生成第三CRC值CRC(DQ,0,0,0,0)。箭头659图示了CRC(DQ,0,0,0,0)被提供给XOR 613。
XOR 613计算 因为EDC计算电路系统612生成了错误检测代码,该错误检测代码具有相对于异或操作为线性的性质,故 CRC(DQ,BA,COL,BA,ROW)是预期的CRC值,当错误未发生时,该预期的CRC值将等于存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。
响应于写入命令信息620和已传送给存储器组件的数据658,控制器600接收存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。箭头670图示了存储器计算的CRC值被提供给XOR 614。预期的CRC值CRC(DQ,BA,COL,BA,ROW)与CRC(DQ’,BA”,COL’,BA’,ROW’)通过XOR614进行按位异或。该XOR操作有效地执行对两个CRC值的按位比较。
如果预期的CRC值CRC(DQ,BA,COL,BA,ROW)等于存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’),则XOR 614向控制器600指示没有错误发生。如果预期的CRC值CRC(DQ,BA,COL,BA,ROW)不等于存储器计算的CRC值CRC CRC(DQ’,BA”,COL’,BA’,ROW’),则XOR 614向控制器600指示错误已发生。这在图6中由箭头680图示。
图7是图示了针对写入操作执行的存储器组件动作的图。在图7中,存储器组件700包括寄存器文件(又被称为存储器元件)711、错误检测代码(EDC)计算电路系统712、异或(XOR)713和存储器核心726。寄存器文件711具有与每个存储体地址值相对应的存储位置,使得寄存器文件711可以使用存储体地址和索引(也被称为地址)来读取/写入条目。
存储器组件700接收激活命令信息710。激活命令信息710可以从例如控制器600来接收。激活命令信息710包括所接收的存储体地址(BA’)值710a和所接收的行地址(ROW’)值710b。
箭头751图示了所接收的BA’值710a被提供给EDC计算电路系统712。箭头752图示了所接收的ROW’值710b被提供给EDC计算电路系统712。基于所接收的BA’值710a和所接收的ROW’值710b,EDC计算电路系统712生成第一CRC值CRC(0,0,0,BA’,ROW’)。箭头753图示了CRC(0,0,0,BA’,ROW’)被提供给、并在一位置处被存储在寄存器文件711中,该位置由(如箭头751a所图示)所接收的BA’值710a确定(进行索引)。
存储器组件700接收写入命令信息720。写入命令信息720可以从例如控制器600来接收。写入命令信息720包括接收的第二存储体地址(BA”)值720a和所接收的列地址(COL’)值720b。箭头754图示了所接收的BA”值720a被提供给EDC计算电路系统712。箭头755图示了所接收的COL’值720b被提供给EDC计算电路系统712。
在图7中,BA”值720a等于BA’值710a,使得BA”值720a可以被用来从寄存器文件711的位置BA’取回CRC(0,0,0,BA’,ROW’)。这由箭头754a图示,箭头754a被索引到寄存器文件711中与箭头751a相同的位置。箭头756图示了来自寄存器文件711的读取位置BA’的结果(即,所存储的值CRC(0,0,0,BA’,ROW’))被提供给XOR 713。
基于BA”值720a和COL’值720b,EDC计算电路系统712生成第二CRC值CRC(0,BA”,COL’,0,0)。箭头757图示了CRC(0,BA”,COL’,0,0)被提供给XOR 713。
因为存储器组件700被控制为执行写入操作,所以存储器组件接收写入数据DQ’。存储器组件700将所接收的写入数据DQ’存储在存储器核心726中。箭头758图示了所接收的写入数据DQ’被提供给EDC计算电路系统712。基于所接收的写入数据DQ’,EDC计算电路系统712生成第三CRC值CRC(DQ’,0,0,0,0)。箭头759图示了CRC(DQ’,0,0,0,0)被提供给XOR713。
XOR 713计算 因为EDC计算电路系统712生成了错误检测代码,该错误检测代码具有相对于异或操作为线性的性质,故 CRC(DQ’,BA”,COL’,BA’,ROW’)是CRC值,当错误未发生时,CRC值将等于控制器计算的CRC值CRC(DQ,BA,COL,BA,ROW)。存储器组件700传送存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。这在图7中由箭头770图示。
图8是图示了针对到存储器组件的写入操作而执行的控制器动作的图,该存储器组件检查错误检测代码。在图8中,控制器800包括寄存器文件(又被称为存储器元件)811、错误检测代码(EDC)计算电路系统812、异或(XOR)813、XOR 814、EDC传送器835和EDC接收器836。寄存器文件811具有与每个存储体地址值相对应的存储位置,使得寄存器文件811可以使用存储体地址和索引(也被称为地址)来读取/写入条目。
控制器800生成激活命令信息810。激活命令信息810包括存储体地址(BA)值810a和行地址值(ROW)810b。激活命令信息810被传送给存储器组件。
箭头851图示了BA值810a被提供给EDC计算电路系统812。箭头852图示了行地址值810b被提供给EDC计算电路系统812。基于BA值810a和ROW值810b,EDC计算电路系统812生成第一CRC值CRC(0,0,0,BA,ROW)。箭头853图示了CRC(0,0,0,BA,ROW)被提供给、并且在一位置处被存储在寄存器文件811中,该位置由(如箭头851a所图示)存储体地址值810a确定(进行索引)。
控制器800生成写入命令信息820。写入命令信息820包括存储体地址(BA)值820a和列地址值(COL)820b。箭头854图示了BA值820a被提供给EDC计算电路系统812。箭头855图示了列地址值820b被提供给EDC计算电路系统812。写入命令信息820被传送给存储器组件。
在图8中,BA值820a等于BA值810a,使得BA值820a可以被用来从寄存器文件811的位置BA中取回CRC(0,0,0,BA,ROW)。这由箭头854a图示,箭头854a被索引到寄存器文件811中与箭头851a相同的位置。箭头856图示了来自寄存器文件811的读取位置BA的结果(即,所存储的值CRC(0,0,0,BA,ROW))被提供给XOR813。
基于BA值820a和列地址值820b,EDC计算电路系统812生成第二CRC值CRC(0,BA,COL,0,0)。箭头857图示了CRC(0,BA,COL,0,0)被提供给XOR 813。
因为控制器800执行写入操作,所以控制器800提供写入数据(DQ)858,其被传送给存储器组件(由箭头858b图示)。箭头858a图示了写入数据DQ被提供给EDC计算电路系统812。基于写入数据DQ,EDC计算电路系统812生成第三CRC值CRC(DQ,0,0,0,0)。箭头859图示了CRC(DQ,0,0,0,0)被提供给XOR 813。
XOR 813计算 由于EDC计算电路系统812生成错误检测代码,该错误检测代码具有相对于异或操作呈线性的性质,故 CRC(DQ,BA,COL,BA,ROW)是预期的CRC值,当错误未发生时,预期的CRC值将等于存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。
控制器800使用传送器835来传送控制器计算的CRC值CRC(DQ,BA,COL,BA,ROW)。箭头870图示了控制器计算出的CRC值被传送给存储器组件。控制器800可以从存储器组件接收信号(例如,ERR_WR),该信号指示存储器组件是否已检测到错误已发生。应当理解,对于读取操作,控制器800可以经由接收器836接收存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)。
图9是图示了针对写入操作、以及对错误检测代码的检查而执行的存储器组件动作的图。在图9中,存储器组件900包括寄存器文件(又被称为存储器元件)911、错误检测代码(EDC)计算电路系统912、异或(XOR)913、存储器核心926、传送器935和接收器936。寄存器文件911具有与每个存储体地址值相对应的存储位置,使得寄存器文件911可以使用存储体地址和索引(也被称为地址)来读取/写入条目。
存储器组件900接收激活命令信息910。激活命令信息910可以从例如控制器800接收。激活命令信息910包括所接收的存储体地址(BA’)值910a和所接收的行地址(ROW’)值910b。
箭头951图示了所接收的BA’值910a被提供给EDC计算电路系统912。箭头952图示了所接收的ROW’值910b被提供给EDC计算电路系统912。基于所接收的BA’值910a和所接收的ROW’值910b,EDC计算电路系统912生成第一CRC值CRC(0,0,0,BA’,ROW’)。箭头953图示了CRC(0,0,0,BA’,ROW’)被提供给、并在一位置处被存储在寄存器文件911中,该位置由(如箭头951a所图示)所接收的BA’值910a确定(进行索引)。
存储器组件900接收写入命令信息920。写入命令信息920可以从例如控制器800接收。写入命令信息920包括所接收的第二存储体地址(BA”)值920a和所接收的列地址(COL’)值920b。箭头954图示了所接收的BA”值920a被提供给EDC计算电路系统912。箭头955图示了所接收的COL’值920b被提供给EDC计算电路系统912。
在图9中,BA”值920a等于BA’值910a,使得BA”值920a可以被用来从寄存器文件911的位置BA’取回CRC(0,0,0,BA’,ROW’)。这由箭头954a图示,箭头954a被索引到寄存器文件911中与箭头951a相同的位置。箭头956图示了来自寄存器文件911的读取位置BA’的结果(即,所存储的值CRC(0,0,0,BA’,ROW’))被提供给XOR 913。
基于BA”值920a和COL’值920b,EDC计算电路系统912生成第二CRC值CRC(0,BA”,COL’,0,0)。箭头957图示了CRC(0,BA”,COL’,0,0)被提供给XOR 913。
因为存储器组件900被控制为执行写入操作,所以存储器组件接收写入数据DQ’。存储器组件900将所接收的写入数据DQ’存储在存储器核心926中。箭头958图示了所接收的写入数据DQ’被提供给EDC计算电路系统912。基于所接收的写入数据DQ’,EDC计算电路系统912生成第三CRC值CRC(DQ’,0,0,0,0)。箭头959图示了CRC(DQ’,0,0,0,0)被提供给XOR913。
XOR 913计算 因为EDC计算电路系统912生成错误检测代码,该错误检测代码具有相对于异或操作为线性的性质,故 CRC(DQ’,BA”,COL’,BA’,ROW’)是CRC值,当错误未发生时,该CRC值将等于控制器计算的CRC值CRC(DQ,BA,COL,BA,ROW)。
响应于已传送给存储器组件的写入命令信息920,存储器组件900接收控制器计算的CRC值CRC(DQ,BA,COL,BA,ROW)。箭头960图示了控制器计算的CRC值经由接收器936被提供给XOR914。所接收的CRC值CRC(DQ,BA,COL,BA,ROW)与预期的CRC(DQ’,BA”,COL’,BA’,ROW’)通过XOR 914进行按位异或。该XOR操作有效地执行了对两个CRC值的按位比较。
如果所接收的CRC值CRC(DQ,BA,COL,BA,ROW)等于预期的计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’),则XOR 914向存储器组件900指示没有错误已发生。如果所接收的CRC值CRC(DQ,BA,COL,BA,ROW)不等于存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’),则XOR 914向存储器组件900指示错误已发生。这在图9中由信号ERR_WR来图示。错误是否发生的指示符可以传送给控制器。这在图9中通过箭头975进行图示。
在一个实施例中,如果XOR 914指示错误已发生,则存储器组件900中止写入操作(即,不将写入数据存储到存储器核心926)。通过在错误已被检测到时不执行写入操作,存储器组件避免了如下可能性:将数据在非预期(即,错误/损坏)位置处写入(并且由此覆写)存储器核心926的存储体中。
图10是图示了存储器系统的图,该存储器系统检查被应用到命令/地址通信的错误检测代码。在图10中,存储器系统1000包括控制器1010和存储器组件1020。控制器1010包括先进先出(FIFO)缓冲器1011、错误检测代码(EDC)计算电路系统1012a、EDC计算电路系统1012b、异或(XOR)1013、选择器(多路复用器-MUX)1017、错误指示符1019、命令/地址(CA)接口1031a、数据(DQ)接口1032a和经调制的错误检测代码(MEDC)接口1033a。
存储器组件1020包括EDC计算电路系统1022a、EDC计算电路系统1022b、XOR 1023、选择器(MUX)1027、存储器核心(例如,存储单元阵列)1026、CA接口1031b、DQ接口1032b和MEDC接口1033b。
控制器1010经由CA接口1031a可操作地耦合到存储器1020,CA接口1031a耦合到CA信号线1031。CA信号线1031(以及对应的控制器1010上的对应接口1031a和存储器组件1020上的CA接口1031b)可以包括X数目的信号线。在一个实施例中,X=11。在一个实施例中,CA信号线1031可以包括一个或多个(例如,1个)数据总线反相(DBI)信号线。控制器1010可操作地耦合到存储器1020,以经由CA信号线1031将命令和相关联的信息(例如,地址)发送给存储器1020。存储器1020经由CA接口1031b来接收这些命令(以及相关联的信息——例如地址),CA接口1031b也耦合至CA信号线1031。
控制器1010经由DQ接口1032a可操作地耦合到存储器1020,DQ接口1032a耦合到DQ信号线1032。DQ信号线1032(以及对应的控制器1010上的DQ接口1032a和存储器组件1020上的DQ接口1032b)可以包括Y数目的信号线。在一个实施例中,Y=18。在一个实施例中,DQ信号线1032可以包括一个或多个(例如,2个)DBI信号线。控制器1010和存储器组件1020经由DQ信号线1032可操作地耦合,以双向传输数据。存储器1020可以存储(例如,在存储器核心1026中)和取回(例如,从存储器核心1026)经由DQ接口1032b和DQ信号线1032而被传输的数据。
存储器1020经由MEDC接口1033b可操作地耦合到控制器1010,MEDC接口1033b耦合到MEDC信号线1033。MEDC信号线1033(以及对应的控制器1010上的MEDC接口1033a和存储器组件1020上的EDC接口1033b)可以包括Z数目的信号线。在一个实施例中,Z=2。在一个实施例中,EDC信号线1033可以包括一个或多个(例如,1个)DBI信号线。存储器1020可操作地耦合到控制器1010,以经由MEDC接口1033b和MEDC信号线1033而将错误检测代码信息(例如,EDC代码比特)发送给控制器1010。控制器1010经由MEDC接口1033a和MEDC信号线1033来接收这些MEDC比特。
在一个实施例中,控制器1010经由CA信号线1031来发送命令/地址信息(CA)1015a。命令/地址信息1015a也被提供给EDC计算电路系统1022a。EDC计算电路系统1022a计算第一错误检测代码值,该第一错误检测代码值被存储在FIFO缓冲器1011中。FIFO缓冲器1011允许控制器1010将第一错误检测代码值与对来自存储器1020(例如,通过接口1033a)第二错误检测代码值的接收同步。
存储器1020经由CA信号线1031接收命令/地址信息(CA’)1025a。通常,所接收的命令/地址信息1025a应当与所传送的命令/地址信息1015a相同。但是,所传送的命令/地址信息1015a在其被存储器1020接收作为所接收的命令/地址信息1025a时可能已被损坏。所接收的命令/地址信息1025a也被提供给EDC计算电路系统1022a。EDC计算电路系统1022a计算第二错误检测代码值。该第二EDC值被提供给XOR 1023。
与发送命令/地址信息1015a同时地,控制器1010可以经由DQ接口1032a发送或接收数据1015c。控制器1010将数据1015c提供给EDC计算电路系统1012b。EDC计算电路系统1012b向选择器1017提供第三EDC值。选择器1017在数据EDC计算电路系统1012b的输出和保持值1015b之间进行选择。选择器1017的输出被提供给XOR1013。XOR 1013的输出是错误指示符1019。
类似地,与接收命令/地址信息1025a同时地,存储器1020可以经由DQ接口1032b来发送或接收数据1025c。存储器1020将数据1025c提供给EDC计算电路系统1022b。EDC计算电路系统1022b向选择器1027提供第四EDC值。选择器1027在EDC计算电路系统1022b的输出和保持值1025b之间进行选择。选择器1027的输出被提供给XOR 1023。XOR 1023的输出被提供给MEDC接口1033a。
EDC计算电路系统1012a根据被发送给存储器1020的CA信息1015a,来计算预期的EDC代码值(例如,奇偶校验或CRC)。控制器1010将预期的EDC代码值写入FIFO(队列)1011中。FIFO 1011具有一深度,该深度对控制器1010、CA接口1031a、CA信号线1031、CA接口1031b、EDC计算电路系统1022a、XOR 1023、MEDC接口1033b、MEDC信号线1033和MEDC接口1033a的往返时延进行补偿。
EDC计算电路系统1022a根据所接收的CA信息1025a来计算存储器计算的EDC代码值。当数据不是经由DQ信号线1032来转移时,选择器1027将保持模式1025b耦合到XOR1023。当数据经由DQ信号线1032来转移时,选择器1027将由EDC计算电路系统1022b所计算的数据EDC代码值耦合到XOR 1023。因此,由EDC计算电路系统1022a所计算的CA信息EDC代码值(通过XOR 1023的操作)有条件地逆转(conditionally invert)来自选择器1027的输出的一个或多个比特(即,保持模式1025b或数据EDC值)。该来自选择器1027的、经有条件地逆转的(又被称为经调制的)输出由存储器1020经由MEDC信号线1033而传送给控制器1010。因为在CA信息的接收和与该CA信息相关联的对应数据和数据EDC值传送之间通常存在延迟,所以CA信息EDC代码值对与不同CA信息相关联的数据EDC值进行调制。换言之,与第一命令/地址相关联的数据EDC值通过与第二(且不同的)命令相关联的CA信息EDC代码值进行调制。
当数据没有经由DQ信号线1032来转移时,选择器1017将保持模式1015b耦合到XOR1013。当数据经由DQ信号线1032来转移时,选择器1017将数据EDC计算电路系统1012b的输出耦合到XOR 1013。因此,来自FIFO 1011的CA信息EDC代码值将来自选择器1017的输出的一个或多个比特(通过XOR 1013的操作)有效地逆转(即,保持模式1025b或来自EDC计算电路系统1012b的数据EDC值)。如果来自FIFO 1011的CA信息EDC代码值匹配由EDC计算电路系统1022a计算的对应的CA信息EDC代码值,则XOR 1013按照与如下相同方式而将来自选择器1017的输出选择性地逆转:XOR 1023将来自选择器1027的比特选择性地逆转。因此,XOR1013将经有效调制的比特与从存储器1020所接收的经调制的EDC值进行比较。来自XOR1013的错误比较(mis-compare)(非零)输出指示错误在命令/地址信息传送或数据传送中发生。当错误已经在命令/地址信息传送或数据传送中发生时,控制器1010可采取补救动作(例如,重试一个或多个命令和/或重试一个或多个数据/信息转移)。
在一个实施例中,CA接口1031b从控制器1010接收命令和地址信息。该命令和地址信息包括所接收的第一命令。数据经由DQ接口1032b与控制器1010进行传输。经由DQ接口1032b与控制器1010传输的数据可以与所接收的第二命令相关联。错误检测代码(EDC)计算电路系统1022a基于所接收的第一命令来计算第一EDC值。EDC计算电路系统1022b基于经由DQ接口1032b而传输的数据来计算第二EDC值。
XOR 1023使用可逆函数(即,XOR)来计算EDC传送值,该可逆函数基于第一EDC值和由MUX 1027选择的值。MUX 1027在由EDC计算电路系统1022b所计算的EDC值和保持值1025b之间进行选择。EDC传送值经由MEDC接口1033b传送给控制器1010。
在一个实施例中,所接收的第一命令和所接收的第二命令在不同时间分配期间经由DQ接口1032b来传输数据。XOR 1023可以对以下来执行按位异或:第一EDC值中的至少一项、部分或全部与对应的至少一个、部分或全部的选择的值。保持值1025b可以来自寄存器。MUX 1027可以针对不与经由DQ接口1032b的传输数据相关联的命令来选择保持值1025b。
在一个实施例中,CA接口1031a将命令和地址信息传送给存储器组件1020。该命令和地址信息包括第一命令。与第二命令相关联的数据经由DQ接口1032a来传输。错误检测代码(EDC)计算电路系统1012a计算第一EDC值,第一EDC值基于命令和地址信息。错误检测代码(EDC)计算电路系统1012b基于与经由DQ接口1032a传输的第二命令相关联的数据来计算第二EDC值。FIFO 1011用于存储第一EDC值。
XOR 1013使用可逆函数(即,XOR)来计算预期的EDC值,可逆函数基于从FIFO 1011接收的第一EDC值和MUX 1017选择的值。MUX 1027在由EDC计算电路系统1012b所计算的EDC值和保持值1015b之间进行选择。MEDC接口1033a接收存储器组件1020计算的EDC传送值。基于预期的EDC值和所接收的存储器组件1020计算的EDC传送值,XOR 1013确定错误是否已发生。
在一个实施例中,第一命令和第二命令在不同的时间分配期间经由DQ接口1032a来传输数据。XOR 1013可以对以下来执行按位异或:预期的EDC值中的至少一项、部分或全部与对应的至少一个、部分或全部选择的值。保持值1015b可以源自寄存器。MUX 1017可以针对不与经由DQ接口1032a的传输数据相关联的命令来选择保持值1015b。
应理解的是,在生成EDC传送值中对可逆函数的选择性应用被用于将信息从存储器组件1020传达到控制器1010。在图10中,所传达的信息中的至少一些是由存储器组件计算的第一EDC值(或奇偶校验)。当附加比特可用于利用可逆函数的“调制”时(例如,当经由MEDC接口1033传送的所有比特中的部分比特经受“调制”时),附加信息可以使用这些附加比特来传达。例如,图8的ERR_WR信号870和/或图9的ERR_WR信号970可以通过如下来传达:使用将可逆函数选择性地应用于由控制器800和/或存储器组件900传输的CRC值中的一个或多个比特。
图11是图示了存储器组件访问的流程图。图11所示的步骤可以由存储器系统100、存储器系统200、存储器组件500、存储器组件700、存储器组件900和/或存储器系统1000中的一个或多个元件来执行。激活命令和相关联的存储体地址和行地址从控制器被接收(1102)。例如,存储器组件500可以(例如,从控制器400)接收激活命令510,该激活命令510包括存储体地址BA’510a和行地址ROW’510b。
存储体地址与所存储的激活命令信息相关联(1104)。例如,存储器组件500可以在寄存器文件511中存储至少基于BA’值510a和ROW’值510b所计算的CRC值。该CRC值(例如,CRC(BA’,ROW’))可以被存储在寄存器文件511中与存储体地址BA’值510a相对应(例如,通过其索引)的条目中。以这种方式,借助CRC值被存储在寄存器文件511中的位置,CRC值与BA’值510a相关联。在另一示例,在寄存器文件511中,存储器组件500可以将ROW’值510b存储在寄存器文件511中与存储体地址BA’值510a相对应(例如,通过其索引)的条目中。在另一示例中,在寄存器文件511中,存储器组件500可以将BA’值510a和ROW’值510b两者存储在寄存器文件511中与存储体地址BA’值510a相对应(例如,通过其索引)的条目中。在后两个示例中,CRC值(例如,CRC(BA’,ROW’))可以根据在与寄存器文件511中的BA’值510a相对应的位置处所存储的内容来计算。
访问命令以及相关联的存储体地址和列地址从控制器被接收(1106)。例如,存储器组件500可以(例如,从控制器400)接收读取命令520,读取命令52包括存储体地址BA”值520a和列地址COL’值520b。与访问命令相关联的数据与控制器进行传输(1108)。例如,存储器组件500可以向控制器400传输从存储器核心526读取的数据。在另一示例中,存储器组件500可以从控制器400接收待存储在存储器核心526中的数据。
基于存储体地址和行地址的第一EDC值被计算(1110)。例如,EDC计算电路系统512可以计算CRC(0,0,0,BA’,ROW’)。EDC计算电路系统512可以基于从寄存器文件511接收的BA’值510a和/或ROW’值510b来计算CRC(0,0,0,BA’,ROW’)。EDC计算电路系统512可以基于从控制器400接收的BA’值510a和/或ROW’值510b来计算CRC(0,0,0,BA’,ROW’)。存储器组件500可以将CRC(0,0,0,BA’,ROW’)存储在寄存器文件中511,由BA’值510a索引。
基于存储体地址和列地址的第二EDC值被计算(1112)。例如,EDC计算电路系统512可以基于从控制器400接收的BA”值520a和COL’值520b来计算CRC(0,BA”,COL’,0,0)。第三EDC值基于与控制器传输的数据来计算(1114)。例如,EDC计算电路系统512可以计算CRC(DQ’,0,0,0,0)。
基于第一EDC值、第二EDC值和第三EDC值的第四EDC值被计算(1116)。例如,XOR513可以计算 第四EDC值被传送给控制器(1118)。例如,存储器组件500可以将存储器计算的CRC值CRC(DQ’,BA”,COL’,BA’,ROW’)传送给控制器400。
图12是图示了访问存储器组件的方法的流程图。图12所示的步骤可以由存储器系统100、存储器系统200、控制器400、控制器600、控制器800和/或存储器系统1000中的一个或多个元件来执行。激活命令以及相关联的存储体地址和行地址向存储器组件而被传送(1202)。例如,控制器400可以(例如,向存储器组件500)传送激活命令410,激活命令410包括存储体地址BA 410a和行地址ROW410b。
存储体地址与所存储的激活命令信息相关联(1204)。例如,控制器400可以将至少基于BA值410a和ROW值410b所计算的CRC值存储在寄存器文件411中。该CRC值(例如,CRC(BA,ROW))可以被存储在寄存器文件411中与存储体地址BA值410a相对应(例如,通过其索引)的条目中。以这种方式,借助CRC值存储在寄存器文件411中的位置,CRC值与BA值410a相关联。在另一示例中,在寄存器文件411中,控制器400可以将ROW值410b存储在寄存器文件411中与存储体地址BA值410a相对应(例如,通过其索引)的条目中。在另一示例中,在寄存器文件411中,控制器400可以将BA值410a和ROW值410b二者存储在寄存器文件411中与存储体地址BA值410a相对应(例如,通过其索引)的条目中。在后两个示例中,CRC值(例如,CRC(BA,ROW))可以根据在与寄存器文件411中的BA值410a相对应的位置处的所存储的内容来计算。
访问命令以及相关联的存储体地址和列地址向存储器组件而被传送(1206)。例如,控制器400可以(例如,向存储器组件500)传送读取命令420,读取命令420包括存储体地址BA值420a和列地址COL值420b。与访问命令相关联的数据与存储器组件进行传输(1208)。例如,存储器组件500可以将从存储器组件500的存储器核心526读取的数据传输给控制器400。在另一示例中,控制器400可以将数据提供给存储器组件500以存储在存储器核心526中。
基于存储体地址和行地址的第一EDC值被计算(1210)。例如,EDC计算电路系统412可以计算CRC(0,0,0,BA,ROW)。EDC计算电路系统412可以基于从寄存器文件411接收的BA值410a和/或ROW值410b来计算CRC(0,0,0,BA,ROW)。EDC计算电路系统412可以基于从控制器400的其他电路系统接收的BA值410a和/或ROW值410b来计算CRC(0,0,0,BA,ROW)。控制器400可以将CRC(0,0,0,BA,ROW)存储在寄存器文件411中,由BA值410a索引。
基于存储体地址和列地址的第二EDC值被计算(1212)。例如,EDC计算电路系统412可以基于从控制器400的其他电路系统接收的BA值420a和COL值420b来计算CRC(0,BA,COL,0,0)。第三EDC值基于与控制器传输的数据来计算(1214)。例如,EDC计算电路系统412可以计算CRC(DQ,0,0,0,0)。
基于第一EDC值、第二EDC值和第三EDC值的第四EDC值被计算(1216)。例如,XOR413可以计算
从存储器组件,EDC信息被接收(1218)。例如,控制器400可以从存储器组件500接收EDC值CRC(DQ’,BA”,COL’,BA’,ROW’)。基于EDC信息和第四EDC值,确定错误是否发生(1220)。例如,XOR 413可以将从存储器组件500接收的EDC值CRC(DQ’,BA”,COL’,BA’,ROW’)与控制器400计算的EDC值CRC(DQ,BA,COL,BA,ROW)进行比较。如果从存储器组件500接收的CRC(DQ’,BA”,COL’,BA’,ROW’)与控制器400计算的EDC值CRC(DQ,BA,COL,BA,ROW)之间存在差异,则其指示错误发生。如果从存储器组件500接收的CRC(DQ’,BA”,COL’,BA’,ROW’)与控制器400计算出的EDC值CRC(DQ,BA,COL,BA,ROW)之间不存在差异,则其指示没有(多个)错误发生。
图13是图示了确定错误是否发生的方法的流程图。图13所示的步骤可以由存储器系统100、存储器系统200、存储器组件500、存储器组件700、存储器组件900和/或存储器系统1000中的一个或多个元件来执行。激活命令以及相关联的存储体地址和行地址从控制器被接收(1302)。例如,存储器组件900可以(例如,从控制器800)接收激活命令910,激活命令910包括存储体地址BA’910a和行地址ROW’910b。
存储体地址与所存储的激活命令信息相关联(1304)。例如,存储器组件900可以在寄存器文件911中存储至少基于BA’值910a和ROW’910b计算的CRC值。该CRC值(例如,CRC(BA’,ROW’))可以被存储在寄存器文件911中与存储体地址BA’值910a相对应(例如,通过其索引)的条目中。以这种方式,借助CRC值存储在寄存器文件911中的位置,CRC值与BA’值910a相关联。在另一示例中,在寄存器文件911中,存储器组件900可以将ROW’值910b存储在寄存器文件911中与存储体地址BA’值910a相对应(例如,通过其索引)的条目中。在另一示例中,存储器组件900可以将BA’值910a和ROW’值910b二者均存储在寄存器文件911中与存储体地址BA’值910a相对应(例如,通过其索引)的条目中。在后两个示例中,CRC值(例如,CRC(BA’,ROW’))可以根据在与寄存器文件911中的BA’值910a相对应的位置处所存储的内容来计算。
访问命令以及相关联的存储体地址和列地址从控制器被接收(1306)。例如,存储器组件900可以(例如,从控制器800)接收写入命令920,写入命令920包括存储体地址BA”值920a和列地址COL’值920b。与访问命令相关联的数据与控制器进行传输(1308)。例如,控制器800可以将待写入存储器核心926的数据传输给存储器组件900。
基于存储体地址和行地址的第一EDC值被计算(1310)。例如,EDC计算电路系统912可以计算CRC(0,0,0,BA’,ROW’)。EDC计算电路系统912可以基于从寄存器文件911接收的BA’值910a和/或ROW’值910b来计算CRC(0,0,0,BA’,ROW’)。EDC计算电路系统912可以基于从控制器800接收的BA’值910a和/或ROW’值910b来计算CRC(0,0,0,BA’,ROW’)。存储器组件900可以将CRC(0,0,0,BA’,ROW’)存储在寄存器文件911中,由BA’值910a索引。
基于存储体地址和列地址的第二EDC值被计算(1312)。例如,EDC计算电路系统912可以基于从控制器800接收的BA”值920a和COL’值920b来计算CRC(0,BA”,COL’,0,0)。第三EDC值基于与控制器传输的数据来计算(1314)。例如,EDC计算电路系统912可以计算CRC(DQ’,0,0,0,0)。
从存储器组件,EDC信息被接收(1318)。例如,存储器组件900可以从控制器800接收EDC值CRC(DQ,BA,COL,BA,ROW)。基于EDC信息和第四EDC值,确定错误是否发生(1320)。例如,XOR 913可以将从控制器800接收的EDC值CRC(DQ,BA,COL,BA,ROW)与存储器组件900计算的EDC值CRC(DQ’,BA”,COL’,BA’,ROW’)进行比较。如果从控制器800接收的CRC(DQ,BA,COL,BA,ROW)与存储器组件900计算的EDC值CRC(DQ’,BA”,COL’,BA’,ROW’)之间存在差异,则其指示错误发生。如果从控制器800接收的CRC(DQ,BA,COL,BA,ROW)与存储器组件900计算出的EDC值CRC(DQ’,BA”,COL’,BA’,ROW’)之间不存在差异,则其指示没有(多个)错误发生。
如果错误被检测到,则存储器组件900可以中止写入命令920,并且不将所接收的数据写入存储器核心926。如果错误被检测到,则存储器组件900还可以向控制器800发信号通知错误发生。如果错误被检测到,则存储器组件900可以向控制器800发信号通知写入命令920被中止。作为响应,控制器800可以执行补救动作。该补救动作可以包括重试写入命令920。
图14是图示了访问存储器组件的方法的流程图。图14所示的步骤可以由存储器系统100、存储器系统200、控制器400、控制器600、控制器800和/或存储器系统1000中的一个或多个元件来执行。激活命令以及相关联存储体地址和行地址向存储器组件而被传送(1402)。例如,控制器800可以(例如,向存储器组件900)传送激活命令810,激活命令810包括存储体地址BA 810a和行地址ROW 810b。
存储体地址与所存储的激活命令信息相关联(1404)。例如,控制器800可以将至少基于BA值810a和ROW值810b计算的CRC值存储在寄存器文件811中。该CRC值(例如,CRC(BA,ROW))可以被存储在寄存器文件811中与存储体地址BA值810a相对应(例如,通过其索引)的条目中。以这种方式,借助CRC值被存储在寄存器文件811中的位置,CRC值与BA值810a相关联。在另一示例中,在寄存器文件811中,控制器800可以将ROW值810b存储在寄存器文件811中与存储体地址BA值810a相对应(例如,通过其索引)的条目中。在另一示例中,在寄存器文件811中,控制器800可以将BA值810a和ROW值810b二者均存储在寄存器文件811中与存储体地址BA值810a相对应(例如,通过其索引)的条目中。在后两个示例中,CRC值(例如,CRC(BA,ROW))可以根据在与寄存器文件811中的BA值810a相对应的位置处所存储的内容来计算。
访问命令以及相关联的存储体地址和列地址向存储器组件而被传送(1406)。例如,控制器800可以(例如,向存储器组件900)传送写入命令820,写入命令820包括存储体地址BA值820a和列地址COL值820b。与访问命令相关联的数据与存储器组件进行传输(1408)。例如,控制器800可以将待写入存储器组件900的存储器核心926的数据传输给存储器组件900。
基于存储体地址和行地址的第一EDC值被计算(1410)。例如,EDC计算电路系统812可以计算CRC(0,0,0,BA,ROW)。EDC计算电路系统812可以基于从寄存器文件811接收的BA值810a和/或ROW值810b来计算CRC(0,0,0,BA,ROW)。EDC计算电路系统812可以基于从控制器800的其他电路系统接收的BA值810a和/或ROW值810b来计算CRC(0,0,0,BA,ROW)。控制器800可以将CRC(0,0,0,BA,ROW)存储在寄存器文件811中,由BA值810a索引。
基于存储体地址和列地址的第二EDC值被计算(1412)。例如,EDC计算电路系统812可以基于从控制器800的其他电路系统接收的BA值820a和COL值820b来计算CRC(0,BA,COL,0,0)。第三EDC值基于与控制器传输的数据来计算(1414)。例如,EDC计算电路系统812可以计算CRC(DQ,0,0,0,0)。
基于第一EDC值、第二EDC值和第三EDC值的第四EDC值被计算(1416)。例如,XOR813可以计算
图15是图示了向控制器传送错误检测信息的方法的流程图。图15所示的步骤可以由存储器系统100、存储器系统200、存储器组件500、存储器组件700、存储器组件900和/或存储器系统1000中的一个或多个元件来执行。包括所接收的第一命令的命令和地址信息从控制器被接收(1502)。例如,存储器组件1020可以经由CA接口1031b来接收第一命令和相关联的地址信息。
与所接收的第二命令相关联的数据与控制器进行传输(1504)。例如,与第二命令相关联的数据1025c(例如,在第一命令之前)可以经由DQ接口1032b来与存储器组件1020进行传输。第一EDC值基于与所接收的第一命令相关联的地址信息来计算(1506)。例如,与所接收的第一命令相关联的存储体地址、行地址和/或列地址可以被输入到EDC计算电路系统1022a来计算奇偶校验或CRC值(第一EDC值)。
第二EDC值基于与所接收的第二命令相关联的数据来计算(1508)。例如,经由DQ接口1032b向/从存储器组件1020传输的数据1025c可以被输入到EDC计算电路系统1022b,以计算奇偶校验或CRC值(第二EDC值)。EDC传送值使用可逆函数来计算,可逆函数使用第一EDC值和选择的值作为输入,所选择的EDC值从一组源中提供,该一组源可以包括提供第二EDC值(1510)。例如,MUX1027可以在由EDC计算电路系统1022b提供的值和保持值1025b之间进行选择。
在一个实施例中,可逆函数包括对第一EDC值的一个或多个比特与第二EDC值的对应一个或多个比特的按位XOR。其他可逆函数可以被想到。可逆函数具有逆函数(或反函数)。逆函数是将另一函数“反转”(reverse)的函数:如果应用于输入x的函数f给出了y的结果,则将其逆函数g应用于y将给出结果x,反之亦然。许多类型的函数都是可逆的。
EDC传送值被传送给控制器(1512)。例如,存储器组件1020可以经由MEDC接口1033b将EDC传送值传送给控制器1010,该EDC传送值已由XOR 1023“调制”。
图16是图示了从存储器组件接收错误检测信息的方法的流程图。图16所示的步骤可以由存储器系统100、存储器系统200、控制器400、控制器600、控制器800和/或存储器系统1000中的一个或多个元件来执行。包括所接收的第一命令的命令和地址信息向存储器组件而被传送(1602)。例如,控制器1010可以经由CA接口1031a来传送第一命令和相关联的地址信息。
与第二命令相关联的数据与存储器组件进行传输(1604)。例如,与第二命令相关联的数据1015c(例如,在第一命令之前)可以经由DQ接口1032a来向/从控制器1010传输。第一EDC值基于与第一命令相关联的地址信息来计算(1606)。例如,与第一命令相关联的存储体地址、行地址和/或列地址可以被输入到EDC计算电路系统1012a来计算奇偶校验或CRC值(第一EDC值)。
第二EDC值基于与所接收的第二命令相关联的数据来计算(1608)。例如,经由DQ接口1032a向/从控制器1010传输的数据1015c可以输入到EDC计算电路系统1012b,以计算奇偶校验或CRC值(第二EDC值)。预期的EDC传送值使用可逆函数来计算,可逆函数使用第一EDC值和选择的值作为输入,所选择的EDC值从可以一组源中提供,该一组源可以包括提供第二EDC值(1610)。例如,MUX 1017可以在由EDC计算电路系统1012b提供的值与保持值1015b之间进行选择,并将该值提供给XOR 1013,XOR 1013将利用可逆函数来对所选择的EDC值进行“调制”,可逆函数使用来自FIFO1011的EDC值作为输入。
从存储器组件,所接收的EDC值被接收(1612)。例如,控制器1010可以经由MEDC接口1033a从存储器组件1020接收“经调制的”EDC值。基于预期的EDC值和所接收的EDC值,确定错误是否发生(1620)。例如,XOR 1013可以将所接收的EDC值与“经调制的”EDC值进行比较,以确定错误是否发生。
上述方法、系统和设备可以在计算机系统中实现,或者由计算机系统存储。上述方法也可以存储在非暂态计算机可读介质上。可以使用本领域中可用的计算机辅助设计工具来实现本文描述的设备、电路系统和系统,并且本文描述的设备、电路系统和系统可以通过包含此类电路系统的软件描述的计算机可读文件来体现。这包括但不限于存储器系统100、存储器系统200、控制器400、存储器组件500、控制器600、存储器组件700、控制器800、存储器组件900和/或存储器系统1000的一个或多个元件及其组件。这些软件描述可以是:行为、寄存器转移、逻辑组件、晶体管和布局几何级别的描述。此外,软件描述可以存储在存储介质上或通过载波进行传输。
可以实现这样的描述的数据格式包括但不限于:支持行为语言的格式(例如,C)、支持寄存器传送级别(RTL)语言的格式(例如,Verilog和VHDL)、支持几何描述语言的格式(例如,GDSII、GDSIII、GDSIV、CIF和MEBES)以及其他合适的格式和语言。而且,可以通过因特网上的各种介质或者例如经由电子邮件以电子方式来进行这样的文件在机器可读介质上的数据转移。请注意,物理文件可以在机器可读介质(例如:4毫米磁带、8毫米磁带、3-1/2英寸软盘介质、CD、DVD等)上实现。
图17是图示了处理系统1700的一个实施例的框图,该处理系统1700用于包括、处理或生成电路组件1720的表示。处理系统1700包括一个或多个处理器1702、存储器1704以及一个或多个通信设备1706。处理器1702、存储器1704和通信设备1706使用任何合适的类型、数目和/或配置的有线和/或无线连接1708进行传输。
处理器1702执行存储器1704中所存储的一个或多个过程1712的指令,以响应于用户输入1714和参数1716来处理和/或生成电路组件1720。过程1712可以是任何合适的电子设计自动化(EDA)工具或其一部分,用于设计、模拟、分析和/或验证电子电路系统和/或生成用于电子电路系统的光掩模。表示1720包括描述如图所示的存储器系统100、存储器系统200、控制器400、存储器组件500、控制器600、存储器组件700、控制器800、存储器组件900和/或存储器系统1000以及它们的组件的全部或部分的数据。
表示1720可以包括行为、寄存器转移、逻辑组件、晶体管和布局几何级别描述中的一项或多项。此外,表示1720可以存储在存储介质上或通过载波进行传输。
其中可以实现表示1720的数据格式包括但不限于:支持行为语言的格式(例如,C)、支持寄存器传送级别(RTL)语言的格式(例如,Verilog和VHDL)、支持几何描述语言的格式(例如,GDSII、GDSIII、GDSIV、CIF和MEBES)以及其他合适的格式和语言。此外,这样的文件在机器可读介质上的数据转移可以通过因特网上的多种介质以电子方式(例如,通过电子邮件)来完成。
用户输入1714可以包括来自键盘、鼠标、语音识别接口、麦克风和扬声器、图形显示器、触摸屏或其他类型的用户接口设备的输入参数。该用户接口可以分布在多个接口设备之中。参数1716可以包括被输入以帮助定义表示1720的规范和/或特性。例如,参数1716可以包括定义设备类型(例如,NFET、PFET等)、拓扑结构(例如,框图、电路描述、示意图等)和/或设备描述(例如,设备性质、设备尺寸、电源电压、模拟温度、模拟模型等)的信息。
存储器1704包括任何适当类型、数目和/或配置的非暂态计算机可读存储介质,其存储过程1712、用户输入1714、参数1716和电路组件1720。
通信设备1706包括任何合适类型、数目和/或配置的有线和/或无线设备,其将信息从处理系统1700传送给另一处理或存储系统(未示出)和/或从另一处理或存储系统(未示出)接收信息。例如,通信设备1706可以将电路组件1720传送给另一系统。通信设备1706可以接收过程1712、用户输入1714、参数1716和/或电路组件1720,并使过程1712、用户输入1714、参数1716和/或电路组件1720存储在存储器1704中。
本发明的前述描述已被呈现以用于例示和描述的目的。并不旨在穷举本发明或将本发明限制为所公开的精确形式,并且根据以上教导,其他修改和变型是可能的。实施例被选择和描述,以便最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够在各种实施例中、以及在适合于可以想到的特定用途的各种修改中最好地利用本发明。除非现有技术所限制,否则旨在将所附权利要求解释为包括本发明的其他备选实施例。
Claims (20)
1.一种存储器组件,包括:
第一接口,用以从控制器接收激活命令、访问命令和相关联的地址信息,所述激活命令与第一存储体地址值和行地址值相关联,所述访问命令与第二存储体地址值和列地址值相关联,
第二接口,用以与所述控制器传输与所述访问命令相关联的数据;
错误检测代码(EDC)计算电路系统,用以基于所述第一存储体地址值和所述行地址值来计算第一EDC值,并且用以基于所述第二存储体地址值和所述列地址值来计算第二EDC值,并且用以基于经由所述第二接口而被传输的数据来计算第三EDC值;
用以将所述第二存储体地址值与所存储的激活命令信息相关联的电路系统,所存储的所述激活命令信息将基于所述行地址;
代码组合电路系统,用以基于所述第一EDC值、所述第二EDC值和所述第三EDC值来计算第四EDC值;
第三接口,用以传送错误检测信息,所述错误检测信息将包括所述第四EDC值。
2.根据权利要求1所述的存储器组件,其中所存储的所述激活命令信息包括所述第一EDC值。
3.根据权利要求1所述的存储器组件,其中所存储的所述激活命令信息包括所述行地址值。
4.根据权利要求1所述的存储器组件,其中至少部分地基于所述存储器组件处于第一模式,所述错误检测信息将包括所述第四EDC值,并且至少部分地基于所述存储器组件处于第二模式,所述错误检测信息将包括所述第三EDC值。
5.根据权利要求1所述的存储器组件,其中所述访问命令对应于读取操作,并且经由所述第二接口而被传输的所述数据将从所述存储器组件的存储体中被取回,并且将被传送给所述控制器。
6.根据权利要求1所述的存储器组件,其中所述访问命令对应于写入操作,并且经由所述第二接口而被传输的所述数据将从所述控制器被接收,并且被存储在所述存储器组件的存储体中。
7.根据权利要求1所述的存储器组件,其中所述EDC计算电路系统基于EDC编码方案来生成EDC值,所述EDC编码方案是线性函数。
8.一种存储器组件,包括:
第一接口,用以从控制器接收激活命令、写入命令以及相关联的地址信息,所述激活命令与第一存储体地址值和行地址值相关联,所述写入命令与第二存储体地址值和列地址值相关联,
第二接口,用以从所述控制器接收与所述写入命令相关联的数据;
错误检测代码(EDC)计算电路系统,用以基于所述第一存储体地址值和所述行地址值来计算第一EDC值,并且基于所述第二存储体地址值和所述列地址值来计算第二EDC值,并且基于与所述写入命令相关联的所述数据来计算第三EDC值;
用以将所述第二存储体地址值与所存储的激活命令信息相关联的电路系统,所存储的所述激活命令信息将基于所述行地址值;
代码组合电路系统,用以基于所述第一EDC值、所述第二EDC值和所述第三EDC值来计算第四EDC值;
第三接口,用以从所述控制器接收与所述写入命令相对应的错误检测信息;以及
错误检测电路系统,用以基于所述第四EDC值以及从所述控制器接收的所述错误检测信息,确定错误是否已发生。
9.根据权利要求8所述的存储器组件,其中所存储的所述激活命令信息包括所述第一EDC值。
10.根据权利要求8所述的存储器组件,其中所存储的所述激活命令信息包括所述行地址值。
11.根据权利要求8所述的存储器组件,其中至少部分地基于所述存储器组件处于第一模式,所述第三接口将从所述控制器接收与所述写入命令相对应的所述错误检测信息,并且至少部分地基于所述存储器组件处于第二模式,所述第三接口将传送由所述存储器组件所计算的错误检测信息,由所述存储器组件所计算的所述错误检测信息将包括所述第三EDC值。
12.根据权利要求8所述的存储器组件,还包括:
第四接口,用以向所述控制器传送所述错误是否已发生的指示符。
13.根据权利要求8所述的存储器组件,其中如果所述错误检测电路系统确定错误已发生,则与所述写入命令相关联的所述数据不被存储在所述存储器组件的存储体中。
14.根据权利要求8所述的存储器组件,还包括:
第四接口,用以向所述控制器传送错误已发生的指示符;
用以至少响应于确定所述错误已发生而防止与所述写入命令相关联的所述数据被存储在所述存储器组件的存储体中的电路系统。
15.根据权利要求8所述的存储器组件,还包括:
存储元件,用以如果所述错误检测电路系统确定错误已发生,则存储错误信息,所述错误信息包括以下至少一项:所述第二存储体地址、所述行地址和所述列地址。
16.一种存储器组件,包括:
第一接口,用以从控制器接收第一命令、第二命令以及相关联的地址信息;
第二接口,用以与所述控制器传输与所接收的所述第二命令相关联的数据;
错误检测代码(EDC)计算电路系统,用以基于所述第一命令来计算第一EDC值,并且基于经由所述第二接口而被传输的数据来计算第二EDC值;
代码调制电路系统,用以使用可逆函数来计算EDC传送值,所述可逆函数基于所述第一EDC值和选择的值,所选择的EDC值将由来自一组源中的源提供,所述一组源包括提供所述第二EDC值的所述EDC计算电路系统;
第三接口,用以向所述控制器传送所述EDC传送值。
17.根据权利要求16所述的存储器组件,其中所述第一命令和所述第二命令在不同的时间分配期间经由第二接口传输数据。
18.根据权利要求16所述的存储器组件,其中所述可逆函数包括将所述第一EDC值的至少一个比特与所述选择的值的至少一个比特的按位异或。
19.根据权利要求16所述的存储器组件,其中所述一组源包括寄存器,所述寄存器提供保持值。
20.根据权利要求19所述的存储器组件,其中所述保持值是针对如下命令而被选择的,所述如下命令不与经由所述第二接口而被传输的数据相关联。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862648340P | 2018-03-26 | 2018-03-26 | |
US62/648,340 | 2018-03-26 | ||
US201862711541P | 2018-07-29 | 2018-07-29 | |
US62/711,541 | 2018-07-29 | ||
PCT/US2019/023236 WO2019190866A1 (en) | 2018-03-26 | 2019-03-20 | Command/address channel error detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111819547A true CN111819547A (zh) | 2020-10-23 |
Family
ID=68058437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980015676.9A Pending CN111819547A (zh) | 2018-03-26 | 2019-03-20 | 命令/地址通道错误检测 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11361839B2 (zh) |
EP (1) | EP3776207B1 (zh) |
CN (1) | CN111819547A (zh) |
WO (1) | WO2019190866A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11361839B2 (en) * | 2018-03-26 | 2022-06-14 | Rambus Inc. | Command/address channel error detection |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN101868834A (zh) * | 2008-11-19 | 2010-10-20 | Lsi公司 | Raid信息的存储器效率检查 |
CN103375942A (zh) * | 2012-04-26 | 2013-10-30 | Lg电子株式会社 | 热交换器 |
US20150221358A1 (en) * | 2014-02-03 | 2015-08-06 | Advanced Micro Devices, Inc. | Memory and memory controller for high reliability operation and method |
CN107111548A (zh) * | 2014-09-27 | 2017-08-29 | 甲骨文国际公司 | 硬件辅助的对象存储器迁移 |
Family Cites Families (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3585378A (en) | 1969-06-30 | 1971-06-15 | Ibm | Error detection scheme for memories |
US3893072A (en) | 1973-08-03 | 1975-07-01 | Int Data Sciences Inc | Error correction system |
US4648064A (en) | 1976-01-02 | 1987-03-03 | Morley Richard E | Parallel process controller |
US4162536A (en) | 1976-01-02 | 1979-07-24 | Gould Inc., Modicon Div. | Digital input/output system and method |
US4054911A (en) | 1976-06-03 | 1977-10-18 | Idr, Inc. | Information retrieval system for providing downstream loading of remote data and processing control thereof |
JPS598852B2 (ja) | 1979-07-30 | 1984-02-28 | 富士通株式会社 | エラ−処理方式 |
JPS6051749B2 (ja) | 1979-08-31 | 1985-11-15 | 富士通株式会社 | エラ−訂正方式 |
US4354225A (en) | 1979-10-11 | 1982-10-12 | Nanodata Computer Corporation | Intelligent main store for data processing systems |
US4527237A (en) | 1979-10-11 | 1985-07-02 | Nanodata Computer Corporation | Data processing system |
US4363125A (en) | 1979-12-26 | 1982-12-07 | International Business Machines Corporation | Memory readback check method and apparatus |
US4369510A (en) | 1980-07-25 | 1983-01-18 | Honeywell Information Systems Inc. | Soft error rewrite control system |
US4359771A (en) | 1980-07-25 | 1982-11-16 | Honeywell Information Systems Inc. | Method and apparatus for testing and verifying the operation of error control apparatus within a memory |
US4597084A (en) | 1981-10-01 | 1986-06-24 | Stratus Computer, Inc. | Computer memory apparatus |
US4468731A (en) | 1981-12-15 | 1984-08-28 | Honeywell Information Systems Inc. | Identification apparatus for use in a controller to facilitate the diagnosis of faults |
US4543628A (en) | 1983-01-28 | 1985-09-24 | Digital Equipment Corporation | Bus for data processing system with fault cycle operation |
US4535455A (en) | 1983-03-11 | 1985-08-13 | At&T Bell Laboratories | Correction and monitoring of transient errors in a memory system |
US4604750A (en) | 1983-11-07 | 1986-08-05 | Digital Equipment Corporation | Pipeline error correction |
US4584685A (en) | 1983-12-22 | 1986-04-22 | General Electric Company | Method for improving message reception from multiple sources |
US4596014A (en) | 1984-02-21 | 1986-06-17 | Foster Wheeler Energy Corporation | I/O rack addressing error detection for process control |
US4792923A (en) | 1985-08-30 | 1988-12-20 | Mitsubishi Denki Kabushiki Kaisha | Bipolar semiconductor memory device with double word lines structure |
US4924456A (en) | 1986-09-18 | 1990-05-08 | Racal Data Communications, Inc. | High speed modem |
US4816989A (en) | 1987-04-15 | 1989-03-28 | Allied-Signal Inc. | Synchronizer for a fault tolerant multiple node processing system |
US4888773A (en) | 1988-06-15 | 1989-12-19 | International Business Machines Corporation | Smart memory card architecture and interface |
US4920539A (en) | 1988-06-20 | 1990-04-24 | Prime Computer, Inc. | Memory error correction system |
US5070474A (en) | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
US5218691A (en) | 1988-07-26 | 1993-06-08 | Disk Emulation Systems, Inc. | Disk emulation system |
US4970714A (en) | 1989-01-05 | 1990-11-13 | International Business Machines Corp. | Adaptive data link protocol |
US5065312A (en) | 1989-08-01 | 1991-11-12 | Digital Equipment Corporation | Method of converting unique data to system data |
KR930008050B1 (ko) | 1990-02-16 | 1993-08-25 | 가부시끼가이샤 히다찌세이사꾸쇼 | 원칩 마이크로프로세서 및 그 버스시스템 |
US5173905A (en) | 1990-03-29 | 1992-12-22 | Micron Technology, Inc. | Parity and error correction coding on integrated circuit addresses |
US5450609A (en) | 1990-11-13 | 1995-09-12 | Compaq Computer Corp. | Drive array performance monitor |
DE69220262T2 (de) | 1991-03-08 | 1997-09-18 | Matsushita Electric Ind Co Ltd | Einrichtung zur Datenübertragung |
US5392302A (en) | 1991-03-13 | 1995-02-21 | Quantum Corp. | Address error detection technique for increasing the reliability of a storage subsystem |
EP0547769B1 (en) | 1991-12-18 | 1999-10-13 | Sun Microsystems, Inc. | Write overlap with overwrite prevention |
US5313627A (en) | 1992-01-02 | 1994-05-17 | International Business Machines Corp. | Parity error detection and recovery |
JP3178909B2 (ja) | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
US5341251A (en) | 1992-02-28 | 1994-08-23 | Ampex Systems Corporation | Data recording system having longitudinal tracks with recordable segments |
US5404361A (en) | 1992-07-27 | 1995-04-04 | Storage Technology Corporation | Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem |
US5379415A (en) | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
US5751932A (en) | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
US5838894A (en) | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
US6151689A (en) | 1992-12-17 | 2000-11-21 | Tandem Computers Incorporated | Detecting and isolating errors occurring in data communication in a multiple processor system |
US5588112A (en) | 1992-12-30 | 1996-12-24 | Digital Equipment Corporation | DMA controller for memory scrubbing |
US5488691A (en) | 1993-11-17 | 1996-01-30 | International Business Machines Corporation | Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes |
US5550988A (en) | 1994-03-01 | 1996-08-27 | Intel Corporation | Apparatus and method for performing error correction in a multi-processor system |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5490153A (en) | 1994-08-04 | 1996-02-06 | International Business Machines Corporation | Recovery of lost frames in a communication link |
US6038679A (en) | 1994-11-30 | 2000-03-14 | International Business Machines Corporation | Adaptive data recovery method and apparatus |
US5729550A (en) | 1995-03-24 | 1998-03-17 | Hitachi, Ltd. | Data transmitter-receiver |
US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US6330688B1 (en) | 1995-10-31 | 2001-12-11 | Intel Corporation | On chip error correction for devices in a solid state drive |
US5841795A (en) | 1996-02-12 | 1998-11-24 | Compaq Computer Corporation | Error correction codes |
US5828677A (en) | 1996-03-20 | 1998-10-27 | Lucent Technologies Inc. | Adaptive hybrid ARQ coding schemes for slow fading channels in mobile radio systems |
KR100343879B1 (ko) | 1996-05-31 | 2002-08-22 | 지멘스 악티엔게젤샤프트 | 자동반복요청프로시저의컴퓨터이용백-시그널링방법 |
KR100488822B1 (ko) | 1996-10-21 | 2005-08-05 | 텍사스 인스트루먼츠 인코포레이티드 | 에러정정메모리 |
US5923682A (en) | 1997-01-29 | 1999-07-13 | Micron Technology, Inc. | Error correction chip for memory applications |
US6003151A (en) | 1997-02-04 | 1999-12-14 | Mediatek Inc. | Error correction and detection system for mass storage controller |
JP3222083B2 (ja) | 1997-03-21 | 2001-10-22 | 沖電気工業株式会社 | 共有メモリ制御装置 |
US6189123B1 (en) | 1997-03-26 | 2001-02-13 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for communicating a block of digital information between a sending and a receiving station |
JPH1165699A (ja) | 1997-06-13 | 1999-03-09 | Toshiba Microelectron Corp | 半導体集積回路装置 |
DE19736434C3 (de) | 1997-08-21 | 2002-08-22 | Nokia Mobile Phones Ltd | Verfahren und Vorrichtungen zur Erkennung der Position von in einem seriellen Datenempfangsstrom liegenden Datenpaketen |
US6208663B1 (en) | 1997-08-29 | 2001-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for block ARQ with reselection of FEC coding and/or modulation |
AU9604698A (en) | 1997-10-10 | 1999-05-03 | Rambus Incorporated | Method and apparatus for two step memory write operations |
US5987628A (en) | 1997-11-26 | 1999-11-16 | Intel Corporation | Method and apparatus for automatically correcting errors detected in a memory subsystem |
US6012136A (en) | 1997-12-01 | 2000-01-04 | Advanced Micro Devices, Inc. | Communications system with a configurable data transfer architecture |
US6125470A (en) | 1997-12-10 | 2000-09-26 | National Semiconductor Corporation | Distributive encoder for encoding error signals which represent signal peak errors in data signals for correcting erroneous signal baseline conditions |
US6249894B1 (en) | 1998-02-27 | 2001-06-19 | Motorola, Inc. | Method for determining a need to retransmit a message in a communication system |
US6115763A (en) | 1998-03-05 | 2000-09-05 | International Business Machines Corporation | Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit |
US6009542A (en) | 1998-03-31 | 1999-12-28 | Quantum Corporation | Method for preventing transfer of data to corrupt addresses |
US6553003B1 (en) | 1998-06-13 | 2003-04-22 | Samsung Electronics, Co., Ltd. | Device and method processing a radio link protocol in a mobile communication system |
JP2000048496A (ja) | 1998-07-31 | 2000-02-18 | Nec Corp | 光ディスク記録再生方法及び装置並びに光ディスク記録再生プログラムを記録した媒体 |
US6704898B1 (en) | 1998-10-23 | 2004-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Combined hybrid automatic retransmission request scheme |
US6367048B1 (en) | 1998-11-16 | 2002-04-02 | Mcauliffe Richard | Method and apparatus for logically rejecting previously recorded track residue from magnetic media |
US6373842B1 (en) | 1998-11-19 | 2002-04-16 | Nortel Networks Limited | Unidirectional streaming services in wireless systems |
FI106493B (fi) | 1999-02-09 | 2001-02-15 | Nokia Mobile Phones Ltd | Menetelmä ja järjestelmä pakettimuotoisen datan luotettavaksi siirtämiseksi |
US6397365B1 (en) | 1999-05-18 | 2002-05-28 | Hewlett-Packard Company | Memory error correction using redundant sliced memory and standard ECC mechanisms |
US6560725B1 (en) | 1999-06-18 | 2003-05-06 | Madrone Solutions, Inc. | Method for apparatus for tracking errors in a memory system |
FI109251B (fi) | 1999-09-10 | 2002-06-14 | Nokia Corp | Tiedonsiirtomenetelmä, radiojärjestelmä, radiolähetin ja radiovastaanotin |
TW512320B (en) | 1999-09-10 | 2002-12-01 | Matsushita Electric Ind Co Ltd | Signal processing device |
US6308294B1 (en) | 1999-11-17 | 2001-10-23 | Motorola, Inc. | Adaptive hybrid ARQ using turbo code structure |
US6625749B1 (en) | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
GB2362729B (en) | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Memory access debug facility |
CN100426717C (zh) | 2000-01-20 | 2008-10-15 | 北方电讯网络有限公司 | 可变速率分组数据应用中带有软组合的混合arq方案 |
US6845472B2 (en) | 2000-01-25 | 2005-01-18 | Hewlett-Packard Development Company, L.P. | Memory sub-system error cleansing |
US6832340B2 (en) | 2000-01-26 | 2004-12-14 | Hewlett-Packard Development Company, L.P. | Real-time hardware memory scrubbing |
US6715116B2 (en) | 2000-01-26 | 2004-03-30 | Hewlett-Packard Company, L.P. | Memory data verify operation |
US6823424B2 (en) | 2000-01-26 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Rebuild bus utilization |
WO2001063839A2 (en) | 2000-02-23 | 2001-08-30 | Tantivy Communications, Inc. | Access probe acknowledgment with collision detection |
JP3839215B2 (ja) | 2000-03-14 | 2006-11-01 | 株式会社日立製作所 | 誤り検出・訂正方法、計算機システムの主記憶制御装置、及び計算機システム |
US6507928B1 (en) | 2000-03-17 | 2003-01-14 | Stmicroelectronics, Inc. | Processor cache system with parity protection and method of operation |
WO2001091355A1 (en) | 2000-05-22 | 2001-11-29 | Samsung Electronics Co., Ltd | Data transmission apparatus and method for an harq data communication system |
JP2002007225A (ja) | 2000-06-22 | 2002-01-11 | Fujitsu Ltd | アドレスパリティエラー処理方法並びに情報処理装置および記憶装置 |
JP4707803B2 (ja) | 2000-07-10 | 2011-06-22 | エルピーダメモリ株式会社 | エラーレート判定方法と半導体集積回路装置 |
JP3595495B2 (ja) | 2000-07-27 | 2004-12-02 | Necマイクロシステム株式会社 | 半導体記憶装置 |
US6977888B1 (en) | 2000-09-14 | 2005-12-20 | Telefonaktiebolaget L M Ericsson (Publ) | Hybrid ARQ for packet data transmission |
KR100464485B1 (ko) | 2000-11-09 | 2004-12-31 | 엘지전자 주식회사 | 고속무선 패킷 데이터의 전송 장치 및 그 방법 |
JP2002216325A (ja) | 2001-01-17 | 2002-08-02 | Hitachi Ltd | 複合型磁気ヘッド、これを用いた磁気ディスク装置及び磁気ディスク装置の制御方法 |
US6754858B2 (en) | 2001-03-29 | 2004-06-22 | International Business Machines Corporation | SDRAM address error detection method and apparatus |
US6909758B2 (en) | 2001-04-27 | 2005-06-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods for decoding data blocks |
US7047473B2 (en) | 2001-05-14 | 2006-05-16 | Lg Electronics Inc. | Method for controlling data transmission in a radio communications system |
US6883130B2 (en) | 2001-05-24 | 2005-04-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Enhanced and adaptive error detection in digital communications |
US6745364B2 (en) | 2001-06-28 | 2004-06-01 | Microsoft Corporation | Negotiated/dynamic error correction for streamed media |
US6646911B2 (en) | 2001-10-26 | 2003-11-11 | Mitsubishi Denki Kabushiki Kaisha | Thin film magnetic memory device having data read current tuning function |
US6760814B2 (en) | 2001-12-17 | 2004-07-06 | Lsi Logic Corporation | Methods and apparatus for loading CRC values into a CRC cache in a storage controller |
US6700867B2 (en) | 2001-12-20 | 2004-03-02 | Motorola, Inc. | Method and system for reduced memory hybrid automatic repeat request |
US6990604B2 (en) | 2001-12-28 | 2006-01-24 | Storage Technology Corporation | Virtual storage status coalescing with a plurality of physical storage devices |
DE60332091D1 (de) | 2002-01-31 | 2010-05-27 | Panasonic Corp | Informationsverarbeitungsvorrichtung, speicherverwaltungsvorrichtung, speicherverwaltungsverfahren und informationsverarbeitungsverfahren |
US6792501B2 (en) | 2002-01-31 | 2004-09-14 | Phision Electronic Corp | Universal serial bus flash memory integrated circuit device |
US6941493B2 (en) | 2002-02-27 | 2005-09-06 | Sun Microsystems, Inc. | Memory subsystem including an error detection mechanism for address and control signals |
NO322192B1 (no) | 2002-06-18 | 2006-08-28 | Thin Film Electronics Asa | Fremgangsmate til fremstilling av elektrodelag av ferroelektriske minneceller i en ferroelektrisk minneinnretning, samt ferroelektrisk minneinnretning |
JP4042961B2 (ja) | 2002-08-27 | 2008-02-06 | 富士フイルム株式会社 | 記録媒体カートリッジおよびその記録再生装置 |
US20040073649A1 (en) | 2002-08-30 | 2004-04-15 | Satoshi Inami | Stream data processing apparatus |
US20040088497A1 (en) | 2002-11-06 | 2004-05-06 | Deans Russell C. | Methods and apparatus for exchanging data using cyclic redundancy check codes |
EP1429487A3 (en) | 2002-12-09 | 2005-07-20 | Broadcom Corporation | EDGE incremental redundancy memory structure and memory management |
IL154346A (en) | 2003-02-06 | 2010-06-16 | Eyal Cohen | Method and system for protecting against illegal copy and/or use of digital content stored on optical or other media |
JP4299558B2 (ja) | 2003-03-17 | 2009-07-22 | 株式会社ルネサステクノロジ | 情報記憶装置および情報処理システム |
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 |
KR100555502B1 (ko) | 2003-06-26 | 2006-03-03 | 삼성전자주식회사 | 하드디스크 드라이브의 최적화 방법, 이에 적합한 장치 및기록 매체 |
JP4391170B2 (ja) | 2003-09-05 | 2009-12-24 | 株式会社日立製作所 | データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置 |
IES20030722A2 (en) | 2003-10-01 | 2005-04-06 | Yqa Now Ltd | A data storage device |
US7200770B2 (en) | 2003-12-31 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Restoring access to a failed data storage device in a redundant memory system |
WO2005076203A1 (ja) | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
JP4397770B2 (ja) | 2004-09-17 | 2010-01-13 | 富士通株式会社 | 記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラム |
US20060077750A1 (en) | 2004-10-07 | 2006-04-13 | Dell Products L.P. | System and method for error detection in a redundant memory system |
JP2006134064A (ja) | 2004-11-05 | 2006-05-25 | Hitachi Ltd | 記憶メディアへの書込みエラーを検出する記憶制御装置及び方法 |
JP4303187B2 (ja) | 2004-11-10 | 2009-07-29 | 富士通株式会社 | プログラム、記憶制御方法及び記憶装置 |
JP2006164465A (ja) | 2004-12-10 | 2006-06-22 | Fujitsu Ltd | 光学的記憶装置、光記憶媒体の記録方法及びプログラム |
US7168023B2 (en) | 2004-12-30 | 2007-01-23 | Motorola, Inc. | Method and apparatus for full rate erasure handling in CDMA |
US7831882B2 (en) | 2005-06-03 | 2010-11-09 | Rambus Inc. | Memory system with error detection and retry modes of operation |
US7519894B2 (en) | 2005-06-14 | 2009-04-14 | Infineon Technologies Ag | Memory device with error correction code module |
US7412620B2 (en) | 2005-06-23 | 2008-08-12 | International Business Machines Corporation | Method for testing ability to recover from cache directory errors |
JP4409483B2 (ja) | 2005-06-30 | 2010-02-03 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及びストレージ制御方法 |
JP4884721B2 (ja) | 2005-08-22 | 2012-02-29 | 株式会社日立製作所 | 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法 |
US7523381B2 (en) | 2005-09-01 | 2009-04-21 | Micron Technology, Inc. | Non-volatile memory with error detection |
US7774761B2 (en) | 2005-12-27 | 2010-08-10 | International Business Machines Corporation | Use of memory watch points and a debugger to improve analysis of runtime memory access errors |
US7562285B2 (en) | 2006-01-11 | 2009-07-14 | Rambus Inc. | Unidirectional error code transfer for a bidirectional data link |
US8352805B2 (en) | 2006-05-18 | 2013-01-08 | Rambus Inc. | Memory error detection |
JP4918824B2 (ja) | 2006-08-18 | 2012-04-18 | 富士通株式会社 | メモリコントローラおよびメモリ制御方法 |
US7836386B2 (en) | 2006-09-27 | 2010-11-16 | Qimonda Ag | Phase shift adjusting method and circuit |
US7949931B2 (en) | 2007-01-02 | 2011-05-24 | International Business Machines Corporation | Systems and methods for error detection in a memory system |
KR101308047B1 (ko) | 2007-02-08 | 2013-09-12 | 삼성전자주식회사 | 메모리 시스템, 이 시스템을 위한 메모리, 및 이 메모리를위한 명령 디코딩 방법 |
JP2009009407A (ja) | 2007-06-28 | 2009-01-15 | Hitachi Ltd | 暗号機能を備えたストレージシステム及びデータ保証方法 |
US7636262B2 (en) | 2007-10-25 | 2009-12-22 | International Business Machines Corporation | Synchronous memory having shared CRC and strobe pin |
US8042023B2 (en) | 2008-01-14 | 2011-10-18 | Qimonda Ag | Memory system with cyclic redundancy check |
KR100951567B1 (ko) * | 2008-02-29 | 2010-04-09 | 주식회사 하이닉스반도체 | 데이터 전달의 신뢰성을 보장하기 위한 반도체 메모리 장치 |
US8799743B2 (en) * | 2008-10-28 | 2014-08-05 | Micron Technology, Inc. | Error correction in multiple semiconductor memory units |
US8086783B2 (en) | 2009-02-23 | 2011-12-27 | International Business Machines Corporation | High availability memory system |
US20110040924A1 (en) | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US20110246857A1 (en) | 2010-04-02 | 2011-10-06 | Samsung Electronics Co., Ltd. | Memory system and method |
US9286965B2 (en) | 2010-12-03 | 2016-03-15 | Rambus Inc. | Memory refresh method and devices |
US9218243B2 (en) * | 2011-06-06 | 2015-12-22 | Rambus Inc. | Memory system for error detection and correction coverage |
US20140089755A1 (en) | 2012-09-27 | 2014-03-27 | Shveta KANTAMSETTI | Reliability enhancements for high speed memory - parity protection on command/address and ecc protection on data |
TWI564904B (zh) | 2014-05-13 | 2017-01-01 | 群聯電子股份有限公司 | 資料處理方法、記憶體控制電路單元以及記憶體儲存裝置 |
US9946588B2 (en) | 2014-12-17 | 2018-04-17 | International Business Machines Corporation | Structure for reducing power consumption for memory device |
US11551735B2 (en) * | 2015-03-11 | 2023-01-10 | Rambus, Inc. | High performance, non-volatile memory module |
TWI550612B (zh) * | 2015-03-23 | 2016-09-21 | 群聯電子股份有限公司 | 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
US9697884B2 (en) * | 2015-10-08 | 2017-07-04 | Rambus Inc. | Variable width memory module supporting enhanced error detection and correction |
US11361839B2 (en) * | 2018-03-26 | 2022-06-14 | Rambus Inc. | Command/address channel error detection |
-
2019
- 2019-03-20 US US17/049,282 patent/US11361839B2/en active Active
- 2019-03-20 CN CN201980015676.9A patent/CN111819547A/zh active Pending
- 2019-03-20 WO PCT/US2019/023236 patent/WO2019190866A1/en unknown
- 2019-03-20 EP EP19775765.1A patent/EP3776207B1/en active Active
-
2022
- 2022-05-17 US US17/746,674 patent/US11636915B2/en active Active
-
2023
- 2023-03-14 US US18/121,220 patent/US12002532B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN101868834A (zh) * | 2008-11-19 | 2010-10-20 | Lsi公司 | Raid信息的存储器效率检查 |
CN103375942A (zh) * | 2012-04-26 | 2013-10-30 | Lg电子株式会社 | 热交换器 |
US20150221358A1 (en) * | 2014-02-03 | 2015-08-06 | Advanced Micro Devices, Inc. | Memory and memory controller for high reliability operation and method |
CN107111548A (zh) * | 2014-09-27 | 2017-08-29 | 甲骨文国际公司 | 硬件辅助的对象存储器迁移 |
Also Published As
Publication number | Publication date |
---|---|
US20220343992A1 (en) | 2022-10-27 |
EP3776207A4 (en) | 2022-04-20 |
US20210241844A1 (en) | 2021-08-05 |
EP3776207B1 (en) | 2023-08-09 |
EP3776207A1 (en) | 2021-02-17 |
US20230317196A1 (en) | 2023-10-05 |
US11636915B2 (en) | 2023-04-25 |
WO2019190866A1 (en) | 2019-10-03 |
US12002532B2 (en) | 2024-06-04 |
US11361839B2 (en) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573849B2 (en) | Memory module register access | |
US11487617B2 (en) | Memory component with error-detect-correct code interface | |
US11934269B2 (en) | Efficient storage of error correcting code information | |
US11055173B2 (en) | Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM) | |
US11468963B2 (en) | Memory device and read method thereof | |
US7401269B2 (en) | Systems and methods for scripting data errors to facilitate verification of error detection or correction code functionality | |
US12002532B2 (en) | Command/address channel error detection | |
US20240241791A1 (en) | Error coalescing | |
CN112349343A (zh) | 电路结构、芯片以及电子设备 | |
US8635566B2 (en) | Parity error detection verification | |
US20240355407A1 (en) | Command/address channel error detection | |
US20240012710A1 (en) | Selectable multi-stage error detection and correction | |
US11977442B2 (en) | Serial presence detect reliability | |
JP2023024272A (ja) | データ検証回路を有するデータ記憶デバイス |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |