CN115878367A - 存储器模块的操作方法、存储器控制器的操作方法 - Google Patents
存储器模块的操作方法、存储器控制器的操作方法 Download PDFInfo
- Publication number
- CN115878367A CN115878367A CN202211115689.3A CN202211115689A CN115878367A CN 115878367 A CN115878367 A CN 115878367A CN 202211115689 A CN202211115689 A CN 202211115689A CN 115878367 A CN115878367 A CN 115878367A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- uncorrectable
- command
- write
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 415
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000003860 storage Methods 0.000 claims abstract description 64
- 238000012937 correction Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims description 32
- 238000011017 operating method Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 30
- 239000002574 poison Substances 0.000 description 23
- 231100000614 poison Toxicity 0.000 description 23
- 230000009467 reduction Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150104728 GPR88 gene Proteins 0.000 description 1
- 101001095089 Homo sapiens PML-RARA-regulated adapter molecule 1 Proteins 0.000 description 1
- 102100037019 PML-RARA-regulated adapter molecule 1 Human genes 0.000 description 1
- 102100038404 Probable G-protein coupled receptor 88 Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002789 length control Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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
-
- 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/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- 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/1008—Adding 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/1068—Adding 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
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- 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
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供了一种存储器模块的操作方法和存储器控制器的操作方法,所述存储器控制器被配置为:控制包括多个存储器装置和至少一个纠错码(ECC)装置的存储器模块。所述存储器控制器的操作方法包括:基于读取命令和第一地址,读取包括存储在所述多个存储器装置中的用户数据和存储在所述至少一个ECC装置中的ECC数据的数据集;以及当用户数据的错误未基于ECC数据被纠正时,将不可纠正数据写入存储区域中,存储区域被包括在所述多个存储器装置和所述至少一个ECC装置中的每个中并且与第一地址对应。
Description
本申请要求于2021年9月29日在韩国知识产权局提交的第10-2021-0129024号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开的实施例涉及一种半导体存储器,更具体地,涉及一种存储器模块的操作方法、存储器控制器的操作方法和存储器系统的操作方法。
背景技术
半导体存储装置被分类为在电源断开时存储的数据丢失的易失性存储器件(诸如,静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)),或者即使在电源断开时存储的数据也被保持的非易失性存储器装置(诸如,闪存装置、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)或铁电RAM(FRAM))。
在计算机系统中,DRAM用作系统存储器。中央处理器(CPU)提供用于纠正从DRAM读取的数据的纠错功能。CPU可通过使用纠错功能来纠正从DRAM读取的数据的错误。在数据的错误未被纠错功能纠正的情况下,CPU可执行错误恢复操作(诸如,系统重启)。然而,根据CPU的特定操作(例如,读取-修改-写入),因为即使读取数据的错误未被纠正,CPU也能够正常操作,所以可不需要单独的恢复操作。在这种情况下,需要用于管理指示数据中包括不可纠正错误的信息的单独装置。
发明内容
本公开的实施例提供了一种具有改进的可靠性的存储器控制器的操作方法、存储器模块的操作方法和存储器系统的操作方法。
根据一个实施例,一种被配置为控制包括多个存储器装置和至少一个纠错码(ECC)装置的存储器模块的存储器控制器的操作方法包括:基于读取命令和第一地址读取数据集,数据集包括存储在所述多个存储器装置中的用户数据和存储在所述至少一个ECC装置中的ECC数据;以及当用户数据的错误未基于ECC数据被纠正时,将不可纠正数据写入存储区域中,存储区域被包括在所述多个存储器装置和所述至少一个ECC装置中的每个中并且与第一地址对应。
根据一个实施例,包括多个存储器装置和至少一个纠错码(ECC)装置的存储器模块的操作方法包括:从存储器控制器接收读取命令和第一地址;基于读取命令和第一地址,将包括存储在所述多个存储器装置中的用户数据和存储在所述至少一个ECC装置中的ECC数据的数据集发送给存储器控制器;以及当用户数据的错误未被存储器控制器基于ECC数据纠正时,在存储器控制器的控制下将不可纠正数据写入所述多个存储器装置和所述至少一个ECC装置中的每个中。
根据一个实施例,一种存储器系统(存储器系统包括存储器控制器和存储器模块,所述存储器模块包括多个存储器装置和至少一个纠错码(ECC)装置)的操作方法包括:通过存储器控制器从存储器模块读取数据集;通过存储器控制器纠正数据集的错误;当数据集的错误未被纠正时,通过存储器控制器将不可纠正命令发送给存储器模块;以及响应于不可纠正命令,通过存储器模块将不可纠正数据写入所述多个存储器装置和所述至少一个ECC装置中的每个中。包括存储在所述多个存储器装置和所述至少一个ECC装置中的每个中的不可纠正数据的不可纠正数据集包括不可被存储器控制器的纠错操作纠正的错误。
根据一个实施例,一种存储器装置包括存储器单元阵列、感测放大器和写入驱动器以及不可纠正数据生成器,所述存储器单元阵列包括多个存储器单元,所述感测放大器和写入驱动器从存储器单元阵列的所述多个存储器单元读取第一数据或将第二数据写入存储器单元阵列的所述多个存储器单元中,所述不可纠正数据生成器响应于来自外部存储器控制器的写入命令和警报信号而生成不可纠正数据。不可纠正数据通过感测放大器和写入驱动器写入所述多个存储器单元中,并且在接收写入命令时,警报信号通过外部存储器控制器维持在低电平。
附图说明
通过参照附图详细描述本公开的实施例,本公开的以上和其他方面将变得清楚,在附图中:
图1是示出根据本公开的实施例的存储器系统的框图;
图2是示出图1的存储器模块的框图;
图3是用于描述存储在图2的存储器模块中的数据集的示图;
图4是用于描述将中毒位写入存储器模块中的操作的示图;
图5是示出图1的存储器系统的操作的流程图;
图6是用于描述根据图5的流程图的操作的示图;
图7A和7B是示出不可纠正数据集的实施例的示图;
图8是示出包括在图2的存储器模块中的一个存储器装置的框图;
图9是示出存储器装置的写入操作的时序图;
图10是示出图8的第一存储器装置的操作的时序图;
图11是用于描述根据图10的时序图的第一存储器装置的操作的示图;
图12是示出图8的第一存储器装置的操作的时序图;
图13是示出图1的存储器系统的操作的流程图;
图14是示出图13的操作S231和操作S232的时序图;
图15是示出图1的存储器系统的操作的流程图;
图16是示出图1的存储器系统的操作的流程图;
图17是示出根据本公开的实施例的存储器系统被应用到的计算机系统的示图;以及
图18是示出根据本公开的实施例的存储器系统被应用到的数据中心的框图。
具体实施方式
下面,参照附图详细描述本公开的实施例。
图1是示出根据本公开的实施例的存储器系统的框图。参照图1,存储器系统100可包括存储器模块110和存储器控制器120。在一个实施例中,存储器系统100可以是被配置为处理各种信息并且存储已处理的信息处理装置(例如,个人计算机(PC)、膝上型计算机、服务器、工作站、智能电话、平板PC、数码相机和黑匣子(black box))中的一者。
存储器模块110可被配置为在存储器控制器120的控制下存储数据或输出已存储的数据。例如,存储器模块110可被配置为通过命令/地址线CA从存储器控制器120接收命令信号,通过单独的线从存储器控制器120接收控制信号CTRL,并且响应于接收的信号通过数据线DQ输出数据信号或响应于接收的信号存储接收的数据信号。
在一个实施例中,存储器模块110可包括多个存储器装置。存储器模块110可具有双列直插式存储器模块(DIMM)的结构。下面,为了容易地描述本公开的实施例,假设存储器模块110是支持纠错码(ECC)功能的寄存式DIMM(RDIMM)。然而,本公开不限于此。例如,存储器模块110或双列直插式存储器模块可根据实现方式以各种结构(诸如,无缓冲DIMM(UDIMM)、寄存式DIMM(RDIMM)、低负载DIMM(LRDIMM)、非易失性DIMM(NVDIMM)和小外形DIMM(SODIMM))实现。
存储器控制器120可被配置为通过使用各种信号来控制存储器模块110。例如,存储器控制器120可通过命令/地址线CA将命令和地址信号发送给存储器模块110,并且可通过单独的线将控制信号CTRL发送给存储器模块110。存储器控制器120可通过使用各种信号来控制存储器模块110的写入操作和读取操作。在存储器模块110的读取操作中,存储器控制器120可通过数据线DQ从存储器模块110接收数据信号;在存储器模块110的写入操作中,存储器控制器120可通过数据线DQ将数据信号发送给存储器模块110。
在一个实施例中,存储器模块110和存储器控制器120可通过给定的接口彼此通信。给定的接口可以是双倍数据速率(DDR)接口,但是本公开的实施例不限于此。
存储器控制器120可包括纠错码(ECC)引擎121。ECC引擎121可生成将被存储在存储器模块110中的写入数据的ECC数据。生成的ECC数据可与写入数据一起存储在存储器模块110中。之后,当从存储器模块110读取数据时,ECC引擎121可通过使用与读取的数据对应的ECC数据来检测和纠正读取的数据的错误。
在一个实施例中,在包括在特定数据中的错误超出ECC引擎121的纠错能力范围的情况下,包括在特定数据中的错误不可被纠正。在这种情况下,存储器控制器120可将指示在特定数据中包括不可纠正错误的信息(例如,中毒位(poison bit))写入存储器模块110中。在一个实施例中,可为中毒位分配与特定数据对应的数据集的至少一个位。在这种情况下,因为至少一个位被分配给中毒位(换言之,因为至少一个位不能用于特定数据或ECC数据),所以数据集的单位大小可减小,或者纠错能力可降低。
根据本公开的实施例,在特定数据中包括不可纠正错误的情况下,可将与特定数据对应的数据集(即,包括特定数据和对应的ECC码两者)写入作为特定数据集,而不是写入中毒位。在这种情况下,因为不需要为中毒位分配位,所以可防止数据集的单位大小的减小和纠错能力的降低。将参照附图详细描述根据本公开的实施例的配置。
图2是示出图1的存储器模块的框图。图3是用于描述存储在图2的存储器模块中的数据集的示图。为了容易地描述本公开的实施例,假设存储器模块110具有RDIMM的结构。然而,本公开不限于此。例如,存储器模块110可以以各种DIMM结构或各种其他结构来实现。
参照图1至图3,存储器模块110可包括寄存器时钟驱动器RCD、多个存储器装置MEM00至MEM15(第0存储器装置MEM00至第15存储器装置MEM15)以及多个ECC装置ECC00和ECC01(第0存储器装置ECC00至第1存储器装置ECC01)。在一个实施例中,多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个可以是动态随机存取存储器(DRAM)装置,但是本公开不限于此。
寄存器时钟驱动器RCD可通过命令/地址线CA从存储器控制器120接收命令和地址信号。寄存器时钟驱动器RCD可将接收的信号传送到多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01。
多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个可响应于从寄存器时钟驱动器RCD提供的信号而操作。例如,响应于从寄存器时钟驱动器RCD提供的信号,多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个可通过数据线DQx4将数据发送给存储器控制器120,或者可通过数据线DQx4从存储器控制器120接收数据。
存储器控制器120可以以数据集DSET为单位将数据写入存储器模块110或从存储器模块110读取数据。在一个实施例中,如图3中所示,数据集DSET可包括用户数据DT_USER和ECC数据DT_ECC。如图3中所示,在多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个被设置为突发长度4(即,BL=4)的情况下,可通过一条数据线发送/接收4个数据位。因为多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个与4条数据线DQx4连接,所以用户数据DT_USER可具有256位(=64×4)的大小,并且ECC数据DT_ECC可具有32位(=8×4)的大小。
在一个实施例中,数据集DSET的大小或单位可在存储器控制器120的控制下(例如,通过突发长度控制)或根据与每个装置连接的数据线的数量,而被不同地改变。在一个实施例中,数据集DSET可与包括存储器控制器120的主机装置(例如,CPU或应用处理器(AP))中使用的缓存行(cache line)的大小对应。
在一个实施例中,多个存储器装置MEM00至MEM15可被配置为存储用户数据DT_USER,并且多个ECC装置ECC00和ECC01可存储与用户数据DT_USER对应的ECC数据DT_ECC。
例如,存储器控制器120可通过72条数据线00至71(DQx4[00-71])与存储器模块110交换数据集DSET。在这种情况下,存储器控制器120可通过72条数据线00至71中的第0至第63数据线00至63(DQx4[00-63])与多个存储器装置MEM00至MEM15交换用户数据DT_USER,并且可通过72条数据线00至71中的第64至第71数据线64至71(DQx4[64-71])与多个ECC装置ECC00和ECC01交换ECC数据DT_ECC。
在一个实施例中,参照图2和图3描述的各种数值(诸如,存储器装置的数量、ECC装置的数量、与每个装置连接的数据线的数量、用户数据的大小、ECC数据的大小和数据集的大小)是为了容易地描述本公开的实施例,并且本公开不限于此。可理解,以上数值可根据实现方式进行各种改变或修改。例如,ECC装置的数量不限于多个,也可以是一个,即,ECC装置的数量可以是至少一个。
图4是用于描述将中毒位写入存储器模块中的操作的示图。下面,为了容易地描述本公开的实施例,将描述当从存储器模块110读取的数据集DSET包括不可纠正错误UE时,存储器控制器120对存储器模块110执行特定操作(例如,写入中毒位或不可纠正数据集的操作)的配置。然而,本公开不限于此。例如,在从存储器模块110读取的数据集DSET包括不可纠正错误UE的情况下,存储器控制器120可被配置为执行恢复操作(诸如,系统重启)。
相反,在存储器控制器120在主机(例如,CPU)的控制下执行特定操作(例如,读取-修改-写入)的情况下,即使数据集DSET中包括不可纠正错误,因为稍后对数据集DSET执行修改和写入操作,所以可不需要单独的恢复操作。在以上操作条件下,存储器控制器120可被配置为执行根据下面将描述的本公开的实施例的操作。
参照图2至图4,存储器控制器120可从存储器模块110读取数据集DSET(图4中的操作[1])。数据集DSET可包括从多个存储器装置MEM00至MEM15读取的用户数据DT_USER和从多个ECC装置ECC00和ECC01读取的ECC数据DT_ECC。
存储器控制器120可执行纠错操作(图4中的操作[2])。例如,存储器控制器120的ECC引擎121可基于包括在数据集DSET中的用户数据DT_USER生成ECC码,并且可将生成的ECC码与包括在数据集DSET中的ECC数据DT_ECC或ECC数据DT_ECC的一部分进行比较。当ECC码与ECC数据DT_ECC不同时,存储器控制器120的ECC引擎121可通过使用ECC数据DT_ECC或ECC数据DT_ECC的一部分来纠正用户数据DT_USER的错误。在一个实施例中,当用户数据DT_USER的错误超出ECC引擎121的纠错能力范围时(例如,当如图4中示出发生多芯片错误时),ECC引擎121无法纠正用户数据DT_USER的错误。也就是说,当用户数据DT_USER包括不可纠正错误UE时,ECC引擎121不可纠正用户数据DT_USER的错误。
在这种情况下,存储器控制器120可将中毒位写入存储器模块110中(图4中的操作[3])。例如,当用户数据DT_USER包括不可纠正错误UE时,存储器控制器120可在ECC数据DT_ECC的特定位处写入中毒位。在图4的实施例中,可在与第0ECC装置ECC00的第64数据线DQ64的第0突发长度BL0对应的位处写入中毒位。
如上所述,当用户数据DT_USER中包括不可纠正错误UE时,存储器控制器120可在数据集DSET的特定位置或特定位写入中毒位。之后,当存储器控制器120从存储器模块110读取相同的数据集DSET时,存储器控制器120可通过检查数据集DSET的中毒位来识别数据集DSET中包括不可纠正错误UE。可选择地,当数据集DSET的中毒位被设置时,可不纠正数据集DSET的错误。
在一个实施例中,存储器控制器120的ECC引擎121可通过使用16位循环冗余校验(CRC-16)多项式来检测用户数据DT_USER的错误。在这种情况下,与用户数据DT_USER对应的ECC数据DT_ECC的位之中的从第0ECC装置ECC00读取的16位可用作用于CRC-16技术的码。也就是说,用于CRC-16技术的码可使用65,536(=216)种码组合来实现。相比之下,当ECC数据DT_ECC的位之中的从第0ECC装置ECC00读取的16个位中的一个位与通过存储器控制器120设置的中毒位对应时,除中毒位之外的剩余15个位可用于CRC-16技术。在这种情况下,用于CRC-16技术的码可使用32,768(=2(16-1))种码组合来实现。也就是说,在ECC数据DT_ECC的位中的一个位被用作中毒位的情况下,用于CRC-16技术的码组合的数量可减少,从而导致ECC引擎121的纠错能力的降低。
可选择地,存储器控制器120可分配或使用用户数据DT_USER的特定位置或特定位作为中毒位。在这种情况下,因为维持了ECC数据DT_ECC的大小,所以可防止ECC引擎121的纠错能力的降低。相反,因为用户数据DT_USER的特定位被用作中毒位,所以用户数据DT_USER的单位大小可减小。
如上所述,在用户数据DT_USER中包括不可纠正错误的情况下,存储器控制器120可在数据集DSET的特定位置或特定位处写入中毒位。然而,这导致用户数据DT_USER的容量减小或ECC引擎121的纠错能力降低。
图5是示出图1的存储器系统的操作的流程图。将参照下面的附图详细描述根据本公开的实施例的存储器模块110和存储器控制器120的操作。参照图1、图2、图3和图5,在操作S111中,存储器控制器120可将读取命令CMD_RD和第一地址ADDR_1发送给存储器模块110。在一个实施例中,读取命令CMD_RD和第一地址ADDR_1可符合在存储器模块110与存储器控制器120之间定义的接口协议。
存储器模块110可响应于来自存储器控制器120的读取命令CMD_RD和第一地址ADDR_1对与第一地址ADDR_1对应的存储器区域执行读取操作。例如,存储器模块110的多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个可读取存储在与第一地址ADDR_1对应的区域中的数据。从多个存储器装置MEM00至MEM15读取的数据可以是用户数据DT_USER,并且从多个ECC装置ECC00和ECC01读取的数据可以是ECC数据DT_ECC。
在操作S112中,存储器模块110可将数据集DSET发送给存储器控制器120。在一个实施例中,数据集DSET可包括从多个存储器装置MEM00至MEM15读取的用户数据DT_USER和从多个ECC装置ECC00和ECC01读取的ECC数据DT_ECC。
在操作S121中,存储器控制器120可执行ECC操作(即,纠错操作)。例如,存储器控制器120的ECC引擎121可基于包括在数据集DSET中的用户数据DT_USER和ECC数据DT_ECC来执行ECC操作。参照图4描述了ECC操作,因此,为避免冗余将省略附加描述。
在操作S122中,存储器控制器120可确定用户数据DT_USER中是否包括不可纠正错误UE作为ECC操作的结果。当用户数据DT_USER中不包括不可纠正错误UE时(即,当用户数据DT_USER的错误被纠正时),存储器控制器120可不执行用于用户数据DT_USER的错误处理的单独操作。
当用户数据DT_USER中包括不可纠正错误UE时(即,当用户数据DT_USER的错误未被纠正时),在操作S131中,存储器控制器120可将不可纠正错误命令CMD_UE(为了便于描述,下文中称为“UE命令”)和第一地址ADDR_1发送给存储器模块110。
在操作S132中,存储器模块110可响应于UE命令CMD_UE和第一地址ADDR_1,将不可纠正数据集DSET_UE写入与第一地址ADDR_1对应的存储器区域中。
在一个实施例中,UE命令CMD_UE可以是用于将不可纠正数据集DSET_UE写入存储器模块110中的命令。UE命令CMD_UE可以是在存储器模块110与存储器控制器120之间预先定义的命令或命令的组合。可选择地,UE命令CMD_UE可以是符合在存储器模块110与存储器控制器120之间预先定义的接口协议的命令或控制信号的组合,或者可以是保留命令或供应商命令(vendor command)。
在一个实施例中,不可纠正数据集DSET_UE可以是具有给定模式的一组数据。在一个实施例中,给定模式可包括全“1”位向量、全“0”位向量或各种组合的位向量。在一个实施例中,在ECC引擎121对不可纠正数据集DSET_UE执行ECC操作的情况下,ECC引擎121可确定不可纠正数据集中包括不可纠正错误UE。也就是说,不可纠正数据集DSET_UE可包括有意地指定为包括不可被ECC引擎121纠正的错误的数据模式或位向量。
如上所述,在从存储器模块110读取的数据集DSET中包括不可纠正错误的情况下,存储器控制器120可将不可纠正数据集DSET_UE写入其中存在读取的数据集DSET的第一存储器区域中。之后,在存储器控制器120对第一存储器区域执行读取操作的情况下,通过读取操作读取的数据集可被确定为其中包括不可纠正错误UE,因此,存储器控制器120可识别出存在于第一存储器区域中的数据集包括不可纠正错误UE。也就是说,存储器控制器120可在不将单独的中毒位写入存储器模块110中的情况下识别先前发生了不可纠正错误。此外,因为单独的中毒位不被分配给存储器模块110,所以ECC引擎121的纠错能力可不降低,并且用户数据DT_USER的容量可不减小。
在一个实施例中,存储器控制器120可不通过数据线DQ提供单独的数据信号以将不可纠正数据集DSET_UE写入存储器模块110中。也就是说,不可纠正数据集DSET_UE可通过存储器模块110自动生成,而不是从存储器控制器120直接提供。
例如,存储器模块110可被配置为响应于UE命令CMD_UE而自动生成与不可纠正数据集DSET_UE对应的模式或单位数据。在一个实施例中,包括在存储器模块110中的多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个可包括不可纠正数据生成器,不可纠正数据生成器被配置为生成与不可纠正数据集DSET_UE对应的模式。将参照图8详细描述包括在存储器模块110中的多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个的配置。
图6是用于描述根据图5的流程图的操作的示图。参照图1、图5和图6,存储器控制器120可从存储器模块110读取包括用户数据DT_USER和ECC数据DT_ECC的数据集DSET(图6中的操作[1])。以上描述了数据集DSET的结构,因此,为了避免冗余将省略附加描述。
存储器控制器120可基于包括在数据集DSET中的用户数据DT_USER和ECC数据DT_ECC来执行纠错操作(即,ECC操作)。以上描述了ECC操作,因此,为了避免冗余将省略附加描述。
当ECC操作的结果指示用户数据DT_USER包括不可纠正错误UE时(即,当用户数据DT_USER的错误没有被纠正时),存储器控制器120可将不可纠正数据集DSET_UE写入其中存在数据集DSET的同一存储器区域中(图6中的操作[3])。在这种情况下,存储器模块110可在存储器控制器120的控制下将不可纠正数据集DSET_UE写入存储数据集DSET的存储器区域中。
在一个实施例中,可在不将数据信号从存储器控制器120传送到存储器模块110的情况下执行不可纠正数据集DSET_UE的写入。可选择地,不管从存储器控制器120到存储器模块110的数据信号的传送如何,可执行不可纠正数据集DSET_UE的写入。
与图4的实施例不同,在图6的实施例中,不将中毒位设置到数据集DSET。也就是说,发送给多个存储器装置MEM00至MEM15/从多个存储器装置MEM00至MEM15接收的所有位可用作用户数据DT_USER,并且发送给多个ECC装置ECC00和ECC01/从多个ECC装置ECC00和ECC01接收的所有位可用作ECC数据DT_ECC。因此,可防止用户数据容量的减小和ECC引擎121的纠错能力的降低。
在一个实施例中,在数据集DSET中包括不可纠正错误UE的情况下,不可纠正数据集DSET_UE可被写入存储数据集DSET的同一存储器区域中。因此,之后,存储器控制器120可从同一存储器区域读取不可纠正数据集DSET_UE,并且可识别存在不可纠正错误UE。在一个实施例中,在不可纠正数据集DSET_UE被读取的情况下,存储器控制器120可执行后续操作(例如,系统重启)以进行错误恢复。
图7A和7B是示出不可纠正数据集的实施例的示图。在一个实施例中,不可纠正数据集DSET_UE可具有被有意设置使得不可被存储器控制器120的ECC引擎121纠正的错误被包括的数据模式。
首先,如图7A中所示,第一不可纠正数据集DSET_UEa可以是所有位具有值“1”(即,全“1”位向量)的数据集。也就是说,存储在多个存储器装置MEM00至MEM15中的用户数据DT_USER以及存储在多个ECC装置ECC00和ECC01中的ECC数据DT_ECC两者都可具有位值“1”。
可选择地,如图7B中所示,第二不可纠正数据集DSET_UEb可以是其中一些位具有值“1”并且剩余位具有值“0”的数据集。例如,在从存储器模块110输出的第二不可纠正数据集DSET_UEb中,与第0突发BL0对应的位(即,首先通过数据线DQ从存储器模块110输出的位)可具有值“1”,与第一突发BL1对应的位(即,第二通过数据线DQ从存储器模块110输出的位)可具有值“0”,与第二突发BL2对应的位(即,第三通过数据线DQ从存储器模块110输出的位)可具有值“1”,并且与第三突发BL3对应的位(即,第四通过数据线DQ从存储器模块110输出的位)可具有值“0”。也就是说,第二不可纠正数据集DSET_UEb可以是这样的数据集:被设置使得在特定时间点从多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个输出的位具有值“1”。
在ECC引擎121基于参照图7A和7B描述的第一不可纠正数据集DSET_UEa和第二不可纠正数据集DSET_UEb执行ECC操作的情况下,ECC操作的结果可指示包括不可纠正错误UE。可在不改变ECC引擎121的操作的情况下实现通过ECC引擎121执行的不可纠正错误UE的确定。
如上所述,在从存储器模块110读取的数据集DSET中包括不可纠正错误UE的情况下,存储器控制器120可将不可纠正数据集DSET_UE写入存储器模块110中,从而导致将在稍后执行的读取操作中通过ECC引擎121执行的ECC操作的失败(即,检测到不可纠正错误)。
参照图7A和7B描述的不可纠正数据集DSET_UEa和DSET_UEb是一些示例,并且本公开不限于此。不可纠正数据集DSET_UEa和DSET_UEb可使用不可被ECC引擎121纠正的各种形式的数据模式来实现。
在一个实施例中,根据本公开的不可纠正数据集DSET_UE可与出于各种目的而写入存储器装置或ECC装置中的数据模式区分开。例如,如参照图4描述,为了提供数据集包括不可纠正错误的通知,存储器控制器120可使用中毒位。可选择地,为了提供数据集包括不可纠正错误的通知,存储器控制器120可将特定模式的ECC数据DT_ECC写入多个ECC装置ECC00和ECC01中。可选择地,为了提供数据集包括不可纠正错误的通知,存储器控制器120可将特定模式的用户数据DT_USER写入多个存储器装置MEM00至MEM15中。存储器控制器120使用的技术可以是使用模式命令来发信号给存储器模块110。
然而,如上所述,在以特定模式的形式写入用户数据DT_USER和ECC数据DT_ECC的一者的情况下,该特定模式可导致用户数据DT_USER的容量的减小和ECC引擎121的纠错能力的降低。例如,在以特定模式的形式写入用户数据DT_USER的情况下,因为与特定模式的对应的一个码被用作指示不可纠正错误的值,所以由用户数据DT_USER表示的码的数量从4,294,967,296(=232)减少到4,294,967,295(=232-1),从而导致用户数据DT_USER容量的减少。可选择地,在以特定模式的形式写入ECC数据DT_ECC的情况下,因为与特定模式对应的一个码被用作指示不可纠正错误的值,所以由ECC数据DT_ECC表示的码的数量(例如,用于CRC-16的码的数量)从65,536(=216)减少到65,535(=216-1),从而导致ECC引擎121的纠错能力的降低。
相比之下,根据本公开的不可纠正数据集DSET_UE可被写入多个存储器装置MEM00至MEM15与多个ECC装置ECC00和ECC01两者中。也就是说,当在多个存储器装置MEM00至MEM15与多个ECC装置ECC00和ECC01两者中都写入同一模式时,意图通过ECC引擎121检测不可纠正错误UE。也就是说,因为不需要分配提供存在不可纠正错误UE的通知的特定码,所以不会发生用户数据DT_USER的容量的减小和ECC引擎121的纠错能力的降低。
在一个实施例中,根据本公开的实施例的存储器模块110可在不通过数据线DQ从存储器控制器120接收单独的数据信号的情况下,或者不管数据线DQ的信号如何,生成并写入不可纠正数据集DSET_UE。
下面,将描述如何基于包括在存储器模块110中的多个存储器装置MEM00至MEM15中的一个来生成和写入不可纠正数据集DSET_UE。
图8是示出包括在图2的存储器模块中的一个存储器装置的框图。将参照图8描述第一存储器装置MEM01的结构,但是本公开不限于此。剩余的存储器装置MEM00和MEM02至MEM15或ECC装置ECC00和ECC01可在结构上与图8的第一存储器装置MEM01类似。
参照图2和图8,第一存储器装置MEM01可包括存储器单元阵列111、X解码器X-DEC、Y解码器Y-DEC、命令/地址缓冲器112、地址解码器113、命令解码器114、感测放大器(S/A)和写入驱动器(W/D)115、输入/输出(I/O)电路116和不可纠正数据(dt_UE)生成器117。
存储器单元阵列111可包括多个存储器单元。多个存储器单元可与字线和位线连接。在一个实施例中,多个存储器单元中的每个存储器单元可以是DRAM单元,但本公开不限于此。例如,多个存储器单元中的每个存储器单元可使用各种类型的存储器单元(诸如,PRAM单元、MRAM单元、RRAM单元、FRAM单元和TRAM单元)中的一者来实现。
X解码器X-DEC可与字线连接,并且可在地址解码器113的控制下控制字线。Y解码器Y-DEC可与位线连接,并且可在地址解码器113的控制下控制位线。
命令/地址缓冲器112可被配置为通过命令/地址线CA从存储器控制器120(或寄存器时钟驱动器RCD)接收命令和地址信号并且临时存储或缓冲接收的信号。
地址解码器113可以对存储在命令/地址缓冲器112中的地址信号进行解码,并且可基于解码结果来控制X解码器X-DEC和Y解码器Y-DEC。
命令解码器114可对存储在命令/地址缓冲器112中的命令信号进行解码并且可控制第一存储器装置MEM01的组件。例如,在存储在命令/地址缓冲器112中的命令信号与写入命令对应的情况下(即,在从存储器控制器120接收的命令是写入命令的情况下),命令解码器114可控制感测放大器和写入驱动器115的操作(即,可激活写入驱动器),使得通过数据线DQ和输入/输出电路116接收的数据被写入存储器单元阵列111中。可选择地,在存储在命令/地址缓冲器112中的命令信号与读取命令对应的情况下(即,在从存储器控制器120接收的命令是读取命令的情况下),命令解码器114可控制感测放大器和写入驱动器115的操作(即,可激活感测放大器),使得存储在存储器单元阵列111中的数据被读出。
在命令解码器114的控制下,感测放大器和写入驱动器115可读取存储在存储器单元阵列111中的数据或者可将数据写入存储器单元阵列111中。
输入/输出电路116可通过数据线DQ从存储器控制器120接收数据,或者可通过数据线DQ将数据发送给存储器控制器120。
不可纠正数据生成器117可在命令解码器114的控制下接收不可纠正数据dt_UE。例如,如参照图5至图7B所述,在从存储器模块110读取的数据集DSET包括不可纠正错误UE的情况下,存储器控制器120可将UE命令CMD_UE发送给存储器模块110。存储器模块110可响应于UE命令CMD_UE,将不可纠正数据集DSET_UE写入对应的存储器区域(或存储器单元)中。
在一个实施例中,不可纠正数据集DSET_UE可包括存储在多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个中的不可纠正数据dt_UE。换言之,不可纠正数据集DSET_UE可表示分别存储在多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的不可纠正数据dt_UE的集合。
也就是说,在存储在命令/地址缓冲器112中的命令信号与UE命令CMD_UE对应的情况下(即,在从存储器控制器120接收的命令是UE命令CMD_UE的情况下),命令解码器114可控制不可纠正数据生成器117,并且不可纠正数据生成器117可在命令解码器114的控制下生成不可纠正数据dt_UE。
由不可纠正数据生成器117生成的不可纠正数据dt_UE可被设置到感测放大器和写入驱动器115,或者可被设置到输入/输出电路116。在这种情况下,不管通过数据线DQx4接收的数据信号如何,不可纠正数据dt_UE可被写入存储器单元阵列111中。
在一个实施例中,UE命令CMD_UE可通过各种命令(例如,写入命令、模式写入命令、多用途命令、保留命令或供应商命令)或各种信号(例如,控制信号CTRL)的组合来实现。将参照以下附图详细描述UE命令CMD_UE的配置。
在一个实施例中,如在以上描述中,剩余的存储器装置(例如,MEM00和MEM02至MEM15)以及ECC装置ECC00和ECC01可响应于UE命令CMD_UE而生成不可纠正数据dt_UE,并且可将不可纠正数据dt_UE写入对应的存储器区域中。也就是说,多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的每个可响应于UE命令CMD_UE将不可纠正数据DT_UE写入对应的存储器区域中,并且分别从多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01读取的不可纠正数据dt_UE的集合可构成不可纠正数据集DSET_UE。
图9是示出存储器装置的写入操作的时序图。下面,为了便于描述,将描述存储器控制器120与第一存储器装置MEM01之间的直接接口通信,但是本公开不限于此。例如,可理解,存储器控制器120与第一存储器装置MEM01之间的接口通信可被应用于存储器控制器120和存储器模块110的配置。例如,时钟信号CK_t和CK_c、通过命令/地址线CA的信号和片选信号CS可通过寄存器时钟驱动器RCD被提供给第一存储器装置MEM01。
参照图1、图2和图9,存储器控制器120可将写入命令Write发送给第一存储器装置MEM01。例如,写入命令Write可包括第一写入子命令W1和第二写入子命令W2。通过命令/地址线CA,存储器控制器120可在第一时间点t1将第一写入子命令W1发送给第一存储器装置MEM01,并且可在第二时间点t2将第二写入子命令W2发送给第一存储器装置MEM01。存储器控制器120可在第一时间点t1将片选信号CS维持在低电平,并且可在第二时间点t2将片选信号CS维持在高电平。第一写入子命令W1和第二写入子命令W2可包括与写入命令相关联的地址信息和操作码。在写入命令被发送之后,命令CMD可以是设备取消选择(devicedeselect)命令DES。
在从写入命令Write被接收时的第二时间点t2经过写入延迟时间WCL时的第五时间点t5处,存储器控制器120可通过数据线DQ将写入数据“D”发送给第一存储器装置MEM01。在一个实施例中,在存储器控制器120的控制下,数据选通信号DQS_t和DQS_c可从第三时间点t3切换,第三时间点t3在延伸至第五时间点t5的写入前置(preamble)时间之前。从存储器控制器120传送到第一存储器装置MEM01的写入数据“D”可与数据选通信号DQS_t的上升沿和下降沿(例如,第五时间点t5、第六时间点t6、第七时间点t7、第八时间点t8、第九时间点t9和第十时间点t10)中心对准。
第一存储器装置MEM01可响应于通过命令/地址线CA接收的写入命令Write,将通过数据线DQ接收的写入数据“D”存储在存储器单元阵列111中。
图10是示出图8的第一存储器装置的操作的时序图。图11是用于描述根据图10的时序图的第一存储器装置的操作的示图。在一个实施例中,将参照图10和图11描述第一存储器装置MEM01写入不可纠正数据dt_UE的操作。在一个实施例中,剩余的存储器装置MEM00和MEM02至MEM15以及ECC装置ECC00和ECC01可基于参照图10和图11描述的操作来写入不可纠正数据dt_UE。
参照图1、图8、图10和图11,存储器控制器120可将写入命令Write发送给第一存储器装置MEM01。写入命令Write可包括第一写入子命令W1和第二写入子命令W2。写入命令Write、第一写入子命令W1和第二写入子命令W2与参照图9描述的写入命令Write、第一写入子命令W1和第二写入子命令W2类似,因此,为避免冗余将省略附加描述。
在一个实施例中,图10中示出的写入命令Write可具有与图9的写入命令Write相同的信号配置。然而,存储器控制器120可在传送写入命令Write时(即,在从第一时间点t1至第二时间点t2的时间段期间)将控制信号CTRL维持在低电平。在这种情况下,由于在传送写入命令Write时控制信号CTRL被维持在低电平,所以第一存储器装置MEM01可执行与写入命令Write对应的操作不同的操作。
例如,响应于控制信号CTRL处于低电平,第一存储器装置MEM01可将控制信号CTRL延迟给定时间来生成延迟控制信号CTRL_d。
控制信号CTRL的延迟时间可与写入延迟时间WCL对应。响应于延迟控制信号CTRL_d,不管通过数据线DQ接收的信号如何,第一存储器装置MEM01可生成不可纠正数据dt_UE,并且可将不可纠正数据dt_UE写入存储器单元阵列111中。
详细地,如图11中所示,命令解码器114可接收控制信号CTRL。命令解码器114可响应于在写入命令Write被接收时控制信号CTRL处于低电平而控制不可纠正数据生成器117。
不可纠正数据生成器117可包括延迟电路DL和上拉晶体管PU。延迟电路DL可在命令解码器114的控制下生成延迟控制信号CTRL_d。在一个实施例中,延迟控制信号CTRL_d的延迟时间可与写入延迟时间WCL对应,并且可在通过数据线DQ接收数据时维持在低电平。可选择地,当数据选通信号DQS_t和DQS_c切换时,当通过数据线DQ接收信号时,或者在与突发长度对应的时段期间,延迟控制信号CTRL_d可维持低电平。
上拉晶体管PU可连接在感测放大器和写入驱动器115与电源电压VDD之间,并且可响应于延迟控制信号CTRL_d而操作。例如,当延迟控制信号CTRL_d处于低电平时,上拉晶体管PU可导通,因此,不管感测放大器和写入驱动器115的输出如何,提供到存储器单元阵列111的信号可维持在高电平。在这种情况下,不管通过数据线DQ接收的信号(例如,X)如何,可将相同的位值(例如,位值“1”)写入存储器单元阵列111中。
换言之,如图10和图11中所示,存储器控制器120可通过使用写入命令Write和控制信号CTRL来实现UE命令CMD_UE。响应于基于写入命令Write和控制信号CTRL的UE命令CMD_UE,不管通过数据线DQ接收的信号如何,第一存储器装置MEM01可将不可纠正数据dt_UE写入存储器单元阵列111中。
在图11的实施例中,不可纠正数据生成器117被示出为控制感测放大器和写入驱动器115与存储器单元阵列111之间的信号,但本公开不限于此。例如,不可纠正数据生成器117可被配置为直接设置感测放大器和写入驱动器115。也就是说,不可纠正数据dt_UE可通过不可纠正数据生成器117的操作被直接设置到感测放大器和写入驱动器115。可选择地,不可纠正数据生成器117的上拉晶体管PU可直接与数据线DQ连接,或者可被配置为控制被配置为控制数据线DQ的数据线驱动器。
在一个实施例中,在存储器控制器120基于写入命令Write和控制信号CTRL发送UE命令CMD_UE的情况下,存储器控制器120可在写入延迟时间WCL之后不通过数据线DQ提供单独的信号,或者可在写入延迟时间WCL之后通过数据线DQ提供任意信号。
在一个实施例中,上述控制信号CTRL可以是通过存储器模块110与存储器控制器120之间的接口标准定义的各种信号中的一者。例如,控制信号CTRL可以是存储器模块110与存储器控制器120之间的警报信号Alert_n。在一个实施例中,在输入到存储器模块110的数据信号中发生错误(例如,CRC错误)的事件中,警报信号Alert_n可以是用于通知存储器控制器120该事件的信号。在本公开的实施例中,警报信号Alert_n不仅可从存储器模块110被提供给存储器控制器120,而且还可从存储器控制器120传送到存储器模块110。因此,不可纠正数据可被写入存储器装置中。可选择地,控制信号CTRL可以是能够通过存储器控制器120控制或驱动的各种信号中的一者。
图12是示出图8的第一存储器装置的操作的时序图。参照图1、图8和图12,存储器控制器120可将写入命令Write发送给第一存储器装置MEM01。写入命令Write可包括第一写入子命令W1和第二写入子命令W2。写入命令Write、第一写入子命令W1和第二写入子命令W2与参照图9描述的写入命令Write、第一写入子命令W1和第二写入子命令W2类似,因此,为避免冗余,将省略附加描述。
在从传送写入命令Write的时间点(例如,第二时间点t2)经过写入延迟时间WCL之后,存储器控制器120可将数据选通信号DQS_t和DQS_c以及数据信号DQ发送给第一存储器装置MEM01。当存储器控制器120发送数据选通信号DQS_t和DQS_c以及数据信号DQ时(例如,在从第五时间点t5至第十时间点t10的时间段期间),存储器控制器120可将控制信号CTRL维持在低电平。响应于低电平的控制信号CTRL,不管通过数据线DQ接收的信号如何,第一存储器装置MEM01可将不可纠正数据dt_UE写入存储器单元阵列111中。
也就是说,通过使用控制信号CTRL,存储器控制器120可选择或控制是否将通过数据线DQ传送的数据写入第一存储器装置MEM01或者是否将不可纠正数据DT_UE写入第一存储器装置MEM01。
如上所述,根据本公开的实施例,在从存储器模块110读取的数据集DSET中包括不可纠正错误UE的情况下,存储器控制器120可通过使用UE命令CMD_UE将不可纠正数据集DSET_UE写入存储器模块110中。在这种情况下,UE命令CMD_UE可通过根据存储器模块110与存储器控制器120之间的接口标准定义的命令或控制信号的各种组合来实现。
图13是示出图1的存储器系统的操作的流程图。图14是示出图13的操作S231和操作S232的时序图。参照图1、图13和图14,存储器模块110和存储器控制器120可执行操作S211、操作S212、操作S221和操作S222。操作S211、操作S212、操作S221和操作S222与图5的操作S111、操作S112、操作S121和操作S122类似,因此,为避免冗余将省略附加描述。
在操作S231中,存储器控制器120可将模式寄存器写入命令MRW发送给存储器模块110。包括在存储器模块110的多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01中的特定模式寄存器可响应于模式寄存器写入命令MRW被设置。
例如,如图14中所示,在第0时间点t0处或在第0时间点t0处之前检测到不可纠正错误UE的情况下,存储器控制器120可将模式寄存器写入命令MRW发送给存储器模块110。存储器控制器120可通过以下方式将模式寄存器写入命令MRW发送给存储器模块110:通过在片选信号CS维持在低电平的第一时间点t1处发送模式寄存器地址MRA,并且在片选信号CS维持在高电平的第二时间点t2处发送有效信息VALID(例如,操作码(OPCode))。
在操作S232中,存储器控制器120可将写入模式命令WRP和第一地址ADDR_1发送给存储器模块110。例如,如图14中所示,存储器控制器120可将写入模式命令WRP发送给存储器模块110。写入模式命令WRP可包括第一写入模式子命令WRP1和第二写入模式子命令WRP2。存储器控制器120可通过以下方式将写入模式命令WRP发送给存储器模块110:通过在片选信号CS维持在低电平的第三时间点t3发送第一写入模式子命令WRP1并且在片选信号CS维持在高电平的第四时间点t4发送第二写入模式子命令WRP2。
在操作S233中,存储器模块110可响应于写入模式命令WRP写入不可纠正数据集DSET_UE。
在一个实施例中,通过模式寄存器写入命令MRW设置的特定模式寄存器可以是模式寄存器MR48。根据DDR5标准,模式寄存器MR48可存储关于“写入模式”模式的信息。例如,MR48模式寄存器可包括第0操作码OP[0]至第七操作码OP[7]。第0操作码OP[0]至第七操作码至OP[7]可指示与多条数据线DQ对应的位值。也就是说,在第0操作码OP[0]至第七操作码OP[7]中的每个操作码被设置为位值“1”的情况下,存储器模块110的多个存储器装置MEM00至MEM15以及多个ECC装置ECC00和ECC01可将与数据线DQ对应的所有信号设置并写入为“1”。
如上所述,在从存储器模块110读取的数据集DSET包括不可纠正错误UE的情况下,存储器控制器120可通过使用写入模式命令WRP和由DDR5标准定义的模式寄存器MR48将不可纠正数据集DSET_UE写入存储器模块110中。
图15是示出图1的存储器系统的操作的流程图。参照图1和图15,存储器模块110和存储器控制器120可执行操作S311、操作S312、操作S321和操作S322。操作S311、操作S312、操作S321和操作S322与图5的操作S111、操作S112、操作S121和操作S122类似,因此,为避免冗余将省略附加描述。
当数据集DSET包括不可纠正错误UE时,在操作S331中,存储器控制器120可将模式寄存器读取命令MRR发送给存储器模块110。在操作S332中,存储器模块110可响应于模式寄存器读取命令MRR而将特定模式寄存器的信息发送给存储器控制器120。
在一个实施例中,模式寄存器读取命令MRR可以是用于读取关于模式寄存器MR48的信息的命令。特定模式寄存器的信息可包括模式寄存器MR48的操作码OP[7:0]。
在操作S333中,存储器控制器120可确定模式寄存器MR48的操作码OP[7:0]是否与不可纠正数据集DSET_UE对应。例如,在不可纠正数据集DSET_UE与全“1”位流对应的情况下,存储器控制器120可确定是否将模式寄存器MR48的操作码OP[7:0]中的每个设置为位值“1”。
当模式寄存器MR48的操作码OP[7:0]与不可纠正数据集DSET_UE不对应时,在操作S334中,存储器控制器120可将用于模式寄存器MR48的模式寄存器写入命令MRW发送给存储器模块110。在操作S335中,存储器控制器120可将写入模式命令WRP和第一地址ADDR_1发送给存储器模块110。在操作S336中,存储器模块110可响应于写入模式命令WRP写入不可纠正数据集DSET_UE。操作S334至操作S336与图13的操作S231至操作S233类似,因此,为避免冗余将省略附加描述。
当模式寄存器MR48的操作码OP[7:0]与不可纠正数据集DSET_UE对应时,存储器控制器120和存储器模块110可省略设置模式寄存器MR48(即,操作S334),并且可执行操作S335和操作S336。
图16是示出图1的存储器系统的操作的流程图。参照图1和图16,存储器模块110和存储器控制器120可执行操作S401、操作S411、操作S412、操作S421、操作S422、操作S431和操作S432。操作S411、操作S412、操作S421、操作S422、操作S431和操作S432与图13的操作S211、操作S212、操作S221、操作S222、操作S232和操作S233类似,因此,为避免冗余将省略附加描述。
与图13的实施例不同,在图16的实施例中,存储器控制器120可预先设置模式寄存器MR48。例如,在操作S401中,为了设置模式寄存器MR48,存储器控制器120可将模式寄存器写入命令MRW发送给存储器模块110。也就是说,存储器控制器120可通过使用模式寄存器写入命令MRW来设置MR48的操作码,以便与不可纠正数据集DSET_UE对应。在一个实施例中,操作S401可在存储器模块110与存储器控制器120之间的初始化操作执行,或者可在各种操作时间点处执行。
如上所述,根据本公开的实施例,在从存储器模块110读取的数据集DSET中包括不可纠正错误UE的情况下,存储器控制器120可通过使用基于各种命令和控制信号的组合的UE命令CMD_UE将不可纠正数据集DSET_UE写入存储器模块110中。因此,可在不减小用户数据DT_USER的容量和不降低ECC引擎121的纠错能力的情况下标记包括不可纠正错误UE的数据集或存储器区域。
在以上实施例中,描述了用于将不可纠正数据集DSET_UE写入存储器模块110中的各种命令或控制信号或其组合,但是本公开不限于此。例如,存储器控制器120可通过使用多用途命令(MPC)或各种其他命令将不可纠正数据集DSET_UE写入存储器模块110中。
图17是根据实施例的存储装置被应用到的系统1000的示图。图17的系统1000基本上可以是移动系统(诸如,便携式通信终端(例如,移动电话)、智能电话、平板个人计算机(PC)、可穿戴装置、医疗保健装置或物联网(IOT)装置)。然而,图17的系统1000不必限于移动系统,并且可以是PC、膝上型计算机、服务器、媒体播放器或汽车装置(例如,导航装置)。
参照图17,系统1000可包括主处理器1100、存储器(例如,1200a和1200b)和存储装置(例如,1300a和1300b)。此外,系统1000可包括图像捕获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、电源装置1470和连接接口1480中的至少一个。
主处理器1100可控制系统1000的所有操作,更具体地,包括在系统1000中的其他组件的操作。主处理器1100可被实现为通用处理器、专用处理器或应用处理器。
主处理器1100可包括至少一个CPU核1110,并且还包括被配置为控制存储器1200a和1200b和/或存储装置1300a和1300b的控制器1120。在一些实施例中,主处理器1100还可包括作为用于高速数据运算(诸如,人工智能(AI)数据运算)的专用电路的加速器1130。加速器1130可包括图形处理器(GPU)、神经处理器(NPU)和/或数据处理器(DPU),并且可被实现为与主处理器1100的其他组件物理上分离的芯片。
存储器1200a和1200b可用作系统1000的主存储器装置。尽管存储器1200a和1200b中的每个可包括易失性存储器(诸如,静态随机存取存储器(SRAM)和/或动态RAM(DRAM)),但存储器1200a和1200b中的每个可包括非易失性存储器(诸如,闪存、相变RAM(PRAM)和/或电阻式RAM(RRAM))。存储器1200a和1200b可与主处理器1100实现在同一封装件中。
在一个实施例中,参照图1至图16描述的存储器模块110可与图17的存储器1200a和1200b中的每个对应,并且参照图1至图16描述的存储器控制器120可以是图17的主处理器1100,或者可包括在主处理器1100中。图17的主处理器1100以及存储器1200a和1200b可基于参照图1至图16描述的操作方法来操作。
存储装置1300a和1300b可用作非易失性存储装置,其被配置为无论是否被供电都存储数据,并且具有比存储器1200a和1200b大的存储容量。存储装置1300a和1300b可包括存储控制器(STRG CTRL)1310a和1310b以及被配置为经由存储控制器1310a和1310b的控制来存储数据的NVM(非易失性存储器)1320a和1320b。尽管NVM 1320a和1320b可包括具有二维(2D)结构或三维(3D)V-NAND结构的闪存,但是NVM 1320a和1320b可包括其他类型的NVM(例如,PRAM和/或RRAM)。
存储装置1300a和1300b可与主处理器1100物理上分离,并且包括在系统1000中或者与主处理器1100实现在同一封装件中。此外,存储装置1300a和1300b可具有各种类型的固态装置(SSD)或存储卡,并且可通过接口(诸如,下面将描述的连接接口1480)与系统100的其他组件可移除地组合。存储装置1300a和1300b可以是标准协议(诸如,通用闪存(UFS)、嵌入式多媒体卡(eMMC)或非易失性存储器快速(NVMe))被应用到的装置,但不限于此。
图像捕获装置1410可捕获静止图像或运动图像。图像捕获装置1410可包括相机、摄像机和/或网络摄像头。
用户输入装置1420可接收由系统1000的用户输入的各种类型的数据,并且包括触摸板、小键盘、键盘、鼠标和/或麦克风。
传感器1430可检测可从系统1000的外部获得的各种类型的物理量,并将检测到的物理量转换为电信号。传感器1430可包括温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器。
通信装置1440可根据各种通信协议在系统1000外部的其他装置之间发送和接收信号。通信装置1440可包括天线、收发器和/或调制解调器。
显示器1450和扬声器1460可用作输出装置,其被配置为向系统1000的用户分别输出视觉信息和听觉信息。
电源装置1470可适当地转换从嵌入在系统1000中的电池和/或外部电源供应的电力,并将转换的电力供应给系统1000的每个组件。
连接接口1480可提供系统1000和外部装置之间的连接,该外部装置连接到系统1000并且能够向系统1000发送数据和从系统1000接收数据。连接接口1480可以通过使用各种接口方案(诸如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、PCI快速(PCIe)、NVMe、IEEE1394、通用串行总线(USB)接口、安全数字(SD)卡接口、多媒体卡(MMC)接口、eMMC接口、UFS接口、嵌入式UFS(eUFS)接口和紧凑型闪存(CF)卡接口)来实现。
图18是根据实施例的存储器装置被应用到的数据中心3000的示图。
参照图18,数据中心3000可以是收集各种类型的数据并提供服务的设施,并且被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的系统,并且可以是由公司(诸如,银行或政府机构)使用的计算系统。数据中心3000可包括应用服务器3100至3100n(“应用服务器1”至“应用服务器N”)和存储服务器3200至3200m(“存储服务器1”至“存储服务器M”)。可根据实施例不同地选择应用服务器3100至3100n的数量和存储服务器3200至3200m的数量。应用服务器3100至3100n的数量可与存储服务器3200至3200m的数量不同。
应用服务器3100或存储服务器3200可包括处理器3110和3210、交换机3130、存储装置3150、NIC 3140以及存储器3120和3220中的至少一个。现在将存储服务器3200作为示例描述。处理器3210可控制存储服务器3200的所有操作,访问存储器3220,并且执行在存储器3220中加载的指令和/或数据。存储器3220可以是双数据速率同步DRAM(DDR SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插式存储器模块(DIMM)、傲腾(Optane)DIMM和/或非易失性DIMM(NVM DIMM)。在一些实施例中,可不同地选择包括在存储服务器3200中的处理器3210和存储器3220的数量。在一个实施例中,处理器3210和存储器3220可提供处理器-存储器对。在一个实施例中,处理器3210的数量可与存储器3220的数量不同。处理器3210可包括单核处理器或多核处理器。存储服务器3200的以上描述可被类似地应用于应用服务器3100。在一些实施例中,应用服务器3100可不包括存储装置3150。存储服务器3200可包括至少一个存储装置3250。可根据实施例不同地选择包括在存储服务器3200中的存储装置3250的数量。
应用服务器3100至3100n可通过网络3300与存储服务器3200至3200m通信。网络3300可通过使用光纤通道(FC)或以太网来实现。在这种情况下,FC可以是用于相对高速数据传输的介质,并且使用具有高性能和高可用性的光交换机。根据网络3300的访问方法,存储服务器3200至3200m可被提供为文件存储装置、块存储装置或对象存储装置。
在一个实施例中,网络3300可以是存储专用网络(诸如,存储区域网络(SAN))。例如,SAN可以是FC-SAN,其使用FC网络并且根据FC协议(FCP)被实现。作为另一示例,SAN可以是互联网协议(IP)-SAN,其使用传输控制协议(TCP)/IP网络并且根据TCP/IP上的SCSI或互联网SCSI(iSCSI)协议被实现。在另一实施例中,网络3300可以是通用网络(诸如,TCP/IP网络)。例如,网络3300可根据协议(诸如,以太网上的FC(FCoE)、网络附接存储(NAS)和网络上的NVMe(NVMe-OF))被实现。
在下文中,将主要描述应用服务器3100和存储服务器3200。应用服务器3100的描述可被应用于另一应用服务器3100n,并且存储服务器3200的描述可被应用于另一存储服务器3200m。
应用服务器3100可通过网络3300将用户或客户端请求存储的数据存储在存储服务器3200至3200m中的一个中。此外,应用服务器3100可通过网络3300从存储服务器3200至3200m中的一个存储服务器获得用户或客户端请求读取的数据。例如,应用服务器3100可被实现为web服务器或数据库管理系统(DBMS)。
应用服务器3100可通过网络3300访问包括在另一应用服务器3100n中的存储器3120n或存储装置3150n。可选择地,应用服务器3100可通过网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的指令。在这种情况下,数据可直接或通过存储服务器3200至3200m的存储器3220至3220m从存储服务器3200至3200m的存储装置3250至3250m移动到应用服务器3100至3100n的存储器3120至3120n。通过网络3300移动的数据可以是为了安全或隐私而加密的数据。
现在将存储服务器3200作为示例描述。接口(I/F)3254可提供处理器3210与控制器(CTRL)3251之间的物理连接和网络接口卡(NIC)3240与控制器3251之间的物理连接。例如,接口3254可使用在其中存储装置3250与专用电缆直接连接的直接附接存储(DAS)方案被实现。例如,接口3254可通过使用各种接口方案(诸如,ATA、SATA、e-SATA、SCSI、SAS、PCI、PCIe、NVMe、IEEE1394、USB接口、SD卡接口、MMC接口、eMMC接口、UFS接口、eUFS接口和/或CF卡接口)被实现。
存储服务器3200还可包括交换机3230和NIC(网络互连)3240。交换机3230可选择性地将处理器3210连接到存储装置3250,或者经由处理器3210的控制选择性地将NIC 3240连接到存储装置3250。
在一个实施例中,NIC 3240可包括网络接口卡和网络适配器。NIC 3240可通过有线接口、无线接口、蓝牙接口或光接口(optical interface)连接到网络3300。NIC 3240可包括内部存储器、数字信号处理器(DSP)和主机总线接口,并且通过主机总线接口连接到处理器3210和/或交换机3230。主机总线接口可被实现为接口3254的上述示例之一。在一个实施例中,NIC 3240可与处理器3210、交换机3230和存储装置3250中的至少一个集成。
在存储服务器3200至3200m或应用服务器3100至3100n中,处理器可将命令发送给存储装置3150至3150n和3250至3250m或存储器3120至3120n和3220至3220m,并编程或读取数据。在这种情况下,数据可以是其错误被ECC引擎纠正的数据。数据可以是被执行数据总线反转(DBI)操作或数据掩码(DM)操作的数据,并且可包括循环冗余码(CRC)信息。数据可以是为了安全或隐私而被加密的数据。
存储装置3150至3150n和3250至3250m可响应于从处理器接收的读取命令将控制信号和命令/地址信号发送给NAND闪存装置3252至3252m。因此,当从NAND闪存存储器装置3252至3252m读取数据时,可输入读取使能(RE)信号作为数据输出控制信号,从而数据可被输出到DQ总线。可使用RE信号来生成数据选通信号DQS。命令和地址信号可根据写入使能(WE)信号的上升沿或下降沿而被锁存在页缓冲器中。
控制器3251可控制存储装置3250的所有操作。在一个实施例中,控制器3251可包括SRAM。控制器3251可响应于写入命令将数据写入NAND闪存装置3252,或者响应于读取命令从NAND闪存装置3252读取数据。例如,可从存储服务器3200的处理器3210、另一存储服务器3200m的处理器3210m或应用服务器3100和3100n的处理器3110和3110n提供写入命令和/或读取命令。DRAM 3253可临时存储(或缓冲)将被写入NAND闪存装置3252的数据或从NAND闪存装置3252读取的数据。此外,DRAM 3253可存储元数据。这里,元数据可以是用户数据或由控制器3251生成以管理NAND闪存装置3252的数据。存储装置3250可包括用于安全或隐私的安全元件(SE)。
在一个实施例中,包括在图18示出的应用服务器3100至3100n和存储服务器3200至3200m中的处理器3110至3100n和3210至3210m中的每个可包括参照图1至图16描述的存储器控制器120,并且包括在图18示出的应用服务器3100至3100n和存储服务器3200至3200m中的存储器3120至3120n和3220至3220m中的每个可以是参照图1至16描述的存储器模块110。处理器3110至3100n和3210至3210m中的每个以及存储器3120至3120n和3220至3220m中的每个可基于参照图1至图16描述的操作方法来操作。
根据本公开的实施例,在从存储器模块读取的数据集包括不可纠正错误的情况下,存储器控制器将特定模式的数据集写入存储器模块中。在这种情况下,因为不需要分配单独的位来提供数据集中包括不可纠正错误的通知,所以防止了存储器控制器的纠错能力的降低和用户数据容量的减小。因此,提供了一种具有改进的可靠性的存储器控制器的操作方法、存储器模块的操作方法和存储器系统的操作方法。
虽然已参照本公开的实施例描述了本公开,但是对于本领域普通技术人员将清楚的是,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可对本公开进行各种改变和修改。
Claims (20)
1.一种存储器控制器的操作方法,存储器控制器被配置为控制包括多个存储器装置和至少一个纠错码装置的存储器模块,所述操作方法包括:
基于读取命令和第一地址读取数据集,数据集包括存储在所述多个存储器装置中的用户数据和存储在所述至少一个纠错码装置中的纠错码数据;以及
基于用户数据的错误未基于纠错码数据被纠正,将不可纠正数据写入存储区域中,存储区域被包括在所述多个存储器装置和所述至少一个纠错码装置中的每个中并且与第一地址对应。
2.根据权利要求1所述的操作方法,其中,写入不可纠正数据的步骤包括:将写入命令发送给存储器模块,并且在写入命令被传送时将警报信号维持在低电平。
3.根据权利要求1所述的操作方法,其中,写入不可纠正数据的步骤包括:
将写入命令发送给存储器模块;以及
在从传送写入命令的时间点经过写入延迟时间之后,将警报信号维持在低电平。
4.根据权利要求1至权利要求3中任意一项所述的操作方法,其中,写入不可纠正数据的步骤包括:
将模式寄存器写入命令发送给存储器模块;以及
将写入模式命令发送给存储器模块。
5.根据权利要求4所述的操作方法,其中,响应于模式寄存器写入命令,设置所述多个存储器装置和所述至少一个纠错码装置中的每个的模式寄存器。
6.根据权利要求4所述的操作方法,其中,写入不可纠正数据的步骤还包括:
在将模式寄存器写入命令发送给存储器模块之前,将模式寄存器读取命令发送给存储器模块;以及
从存储器模块接收模式寄存器信息,
其中,基于模式寄存器信息与不可纠正数据不对应,将模式寄存器写入命令提供给存储器模块。
7.根据权利要求1所述的操作方法,其中,读取命令是用于包括在读取-修改-写入操作中的读取操作的命令。
8.根据权利要求1所述的操作方法,其中,在未将不可纠正数据发送给存储器模块的情况下,执行不可纠正数据的写入。
9.根据权利要求1所述的操作方法,其中,包括所述多个存储器装置和所述至少一个纠错码装置中的每个的不可纠正数据的不可纠正数据集包括不可被存储器控制器的纠错操作纠正的错误。
10.根据权利要求1所述的操作方法,其中,不可纠正数据的所有位值都是“1”。
11.一种存储器模块的方法,存储器模块包括多个存储器装置和至少一个纠错码装置,所述方法包括:
从存储器控制器接收读取命令和第一地址;
基于读取命令和第一地址,将包括存储在所述多个存储器装置中的用户数据和存储在所述至少一个纠错码装置中的纠错码数据的数据集发送给存储器控制器;以及
基于用户数据的错误未被存储器控制器基于纠错码数据纠正,在存储器控制器的控制下将不可纠正数据写入所述多个存储器装置和所述至少一个纠错码装置中的每个中。
12.根据权利要求11所述的方法,其中,写入不可纠正错误的步骤包括:
从存储器控制器接收写入命令和警报信号;
响应于写入命令和警报信号,通过所述多个存储器装置和所述至少一个纠错码装置中的每个生成不可纠正数据;以及
通过所述多个存储器装置和所述至少一个纠错码装置中的每个写入不可纠正数据。
13.根据权利要求11所述的方法,其中,写入不可纠正数据的步骤包括:
从存储器控制器接收写入模式命令;以及
响应于写入模式命令,通过所述多个存储器装置和所述至少一个纠错码装置中的每个,基于所述多个存储器装置和所述至少一个纠错码装置中的每个的模式寄存器的操作码写入不可纠正数据。
14.根据权利要求13所述的方法,还包括:
在写入不可纠正数据之前:
从存储器控制器接收模式寄存器写入命令;以及
响应于模式寄存器写入命令,通过所述多个存储器装置和所述至少一个纠错码装置中的每个使用与不可纠正数据对应的值,来设置所述多个存储器装置和所述至少一个纠错码装置中的每个的模式寄存器的操作码。
15.根据权利要求11所述的方法,其中,所述不可纠正数据的所有位值都是“1”。
16.根据权利要求11所述的方法,其中,不可纠正数据不通过数据线从存储器控制器接收。
17.一种存储器系统的操作方法,存储器系统包括存储器控制器和存储器模块,存储器模块包括多个存储器装置和至少一个纠错码装置,所述操作方法包括:
通过存储器控制器从存储器模块读取数据集;
通过存储器控制器纠正数据集的错误;
基于数据集的错误未被纠正,通过存储器控制器将不可纠正命令发送给存储器模块;以及
响应于不可纠正命令,通过存储器模块将不可纠正数据写入所述多个存储器装置和所述至少一个纠错码装置中的每个中,
其中,包括存储在所述多个存储器装置和所述至少一个纠错码装置中的每个中的不可纠正数据的不可纠正数据集包括不可被存储器控制器的纠错操作纠正的错误。
18.根据权利要求17所述的操作方法,其中,不可纠正命令包括写入命令和警报信号,并且
其中,通过存储器模块写入不可纠正数据的步骤包括:不管在从接收到写入命令的时间点开始的写入延迟时间之后通过数据线接收的信号如何,响应于写入命令和警报信号写入不可纠正数据。
19.根据权利要求17所述的操作方法,其中,不可纠正命令包括写入命令,
所述操作方法还包括:在从发送不可纠正命令的时间点经过写入延迟时间之后,通过存储器控制器将警报信号发送给存储器模块。
20.根据权利要求17所述的操作方法,其中,在不通过数据线将数据信号从存储器控制器传送到存储器模块的情况下,执行不可纠正数据的写入。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0129024 | 2021-09-29 | ||
KR1020210129024A KR20230046362A (ko) | 2021-09-29 | 2021-09-29 | 메모리 모듈의 동작 방법, 메모리 컨트롤러의 동작 방법, 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878367A true CN115878367A (zh) | 2023-03-31 |
Family
ID=85769846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211115689.3A Pending CN115878367A (zh) | 2021-09-29 | 2022-09-14 | 存储器模块的操作方法、存储器控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230112776A1 (zh) |
KR (1) | KR20230046362A (zh) |
CN (1) | CN115878367A (zh) |
-
2021
- 2021-09-29 KR KR1020210129024A patent/KR20230046362A/ko unknown
-
2022
- 2022-08-16 US US17/889,117 patent/US20230112776A1/en active Pending
- 2022-09-14 CN CN202211115689.3A patent/CN115878367A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230046362A (ko) | 2023-04-06 |
US20230112776A1 (en) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303378B2 (en) | Data storage device | |
US11614869B2 (en) | Controller for preventing uncorrectable error in memory device, memory device having the same, and operating method thereof | |
US11688453B2 (en) | Memory device, memory system and operating method | |
CN113434330A (zh) | 行可寻址且列可寻址的存储器中的动态数据的错误纠正 | |
US10698819B2 (en) | Memory system and operating method thereof | |
US11848068B2 (en) | Memory chip having on-die mirroring function and method for testing the same | |
US20180239557A1 (en) | Nonvolatile memory device, data storage device including the same, and operating method of data storage device | |
CN113496751A (zh) | 存储器设备及其测试方法 | |
CN112631822A (zh) | 存储器、具有其的存储系统及其操作方法 | |
US11748025B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
US11042326B2 (en) | Data storage device and operating method thereof | |
US11789815B2 (en) | Memory controller and memory device including the same | |
US20190356331A1 (en) | Error correction code unit and error correction method | |
EP4160419A1 (en) | Operation method of memory module, operation method of memory controller, and operation method of memory system | |
US20230112776A1 (en) | Operation method of memory module, operation method of memory controller, and operation method of memory system | |
US10203891B2 (en) | Data storage device and data processing system | |
US20230236732A1 (en) | Memory device | |
US12132501B2 (en) | Memory module, memory system, and operation method of memory controller | |
US20230113615A1 (en) | Memory module, memory system, and operation method of memory controller | |
US20240178861A1 (en) | Memory controllers and memory systems including the same | |
US20240193041A1 (en) | Operation method of memory controller configured to control memory device | |
US20240339145A1 (en) | Memory device and operation method thereof | |
US10628322B2 (en) | Memory system and operating method thereof | |
CN114328279A (zh) | 使存储设备复位的方法、存储设备以及数据中心 | |
KR20200073122A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
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 |