CN101373449B - Ecc控制电路、多通道存储器系统以及相关操作方法 - Google Patents
Ecc控制电路、多通道存储器系统以及相关操作方法 Download PDFInfo
- Publication number
- CN101373449B CN101373449B CN2008102126121A CN200810212612A CN101373449B CN 101373449 B CN101373449 B CN 101373449B CN 2008102126121 A CN2008102126121 A CN 2008102126121A CN 200810212612 A CN200810212612 A CN 200810212612A CN 101373449 B CN101373449 B CN 101373449B
- Authority
- CN
- China
- Prior art keywords
- data
- ecc
- error
- error correction
- dma buffer
- 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.)
- Active
Links
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种ECC控制电路、多通道存储器系统以及相关操作方法。存储器控制器中的纠错编码(ECC)控制电路包括ECC控制器,被配置以响应于来自主机装置的请求从存储器装置接收数据。ECC控制器将数据发送给用于将数据传送到主机装置的直接存储器存取(DMA)缓冲器以及用于对数据进行错误检测和纠错的ECC块。ECC控制器被配置以响应于ECC块检测到数据中的错误来中断将数据发送给DMA缓冲器,并将从ECC块输出的已纠错数据发送给DMA缓冲器。还讨论了相关系统和方法。
Description
本申请要求于2007年8月21日提交的第10-2007-0084143号韩国专利申请的优先权,该申请公开于此以资参考。
技术领域
公开的本发明涉及数据存储装置,更具体地讲,涉及检测并纠正存储在存储器装置中的数据。
背景技术
在用户需要较低数据率和较小数据容量(或大小)的时代,单个存储单元已经足以适应所有用户数据的需要。但是,近年来,例如,为了处理大量的多媒体数据和/或实时数据,减小数据读取/写入时间段和/或确保大容量存储空间已经变得重要。具体地讲,存储材料的物理限制可使得很难实现对于单个存储单元的高频率操作和/或更大容量。为了克服这种限制,已经提出多通道存储器系统,包括连接到彼此的多个相似和/或不同的存储器装置。
今天,各种类型的存储器装置可被用作存储单元,例如,配置以通过旋转涂有磁性材料的铝盘来存储和读取数据的硬盘驱动器(HDD)、配置以存储例如语音、图像或字符的信息的光盘(例如CD-ROM或数字通用盘(DVD))、和/或非易失性存储器(例如闪速存储器)。
一些这样的存储器装置在读取数据时,例如由于其物理限制,会频繁地面临错误或故障。例如,在硬盘驱动器中,较近的轨道间距,较弱信号的使用来避免干扰、和/或增加的旋转速度可用于满足不断增加的存储需要。然而,随着这样的技术的限制的冲击,错误会更加频繁地发生。此外,在从其中读取数据的同时,可能由其中漂浮的微粒、静电放电(ESD)、温度、和/或湿度相关的效应引起硬盘中的错误和/或失败。
闪速存储器是甚至没有电源供应的情况下也可保留数据的非易失性装置。尽管不是像可被用作个人计算机中的主存储器的动态存储器那样快,但是闪速存储器装置在读取速率和/或对外部碰撞的抵抗方面提供超过硬盘的优点。因此,可在通过电池运行的移动或便携式装置中采用闪速存储器。闪速存储器的另一优点可以是耐用性。
闪速存储器可用作用于计算系统的非易失性存储单元,并且能够电擦除数据和重写数据。与电可擦除和可编程只读存储器(EEPROM)相比,闪速存储器可以块和/或扇区为单位擦除和/或写入数据。由于比EEPROM低的成本,闪速存储器可用于需要大容量、非易失性、固态存储单元的应用。典型地,闪速存储器可用于数字音乐播放器、数字相机和/或移动电话。而且,闪速存储器可使用在用于在计算系统之间存储和传送数据的通用串行总线(USB)驱动器。
在闪速存储器装置中,数据可保留在由被称作存储器单元的浮栅晶体管形成的存储器单元阵列中,每个存储器单元存储比特信息。对于单层单元(SLC)闪速存储器装置,可基于与各数据状态“1”和“0”相应的阈值电压分布感测存储在单位存储器单元中的数据。例如,当参考电压施加到存储器单元的控制栅时,可基于通过存储器单元的电流确定扇区中存储的数据(“1”或“0”)。然而,由于存储器单元的实际阈值电压分布可能不在设计的电压范围内,则可能由于数据读取产生错误。例如由于电荷损失或泄漏、时延、温度升高、由于对相邻存储器单元编程、读取相邻存储器单元引起的电容耦合、单元缺陷等,这种现象可变得更加严重。
发明内容
根据本发明的一些实施例,在存储器控制器中的纠错编码(ECC)控制电路,包括:ECC控制器,被配置以响应于来自主机装置的请求从存储器装置接收数据。ECC控制器被配置以将数据发送给用于将数据传送到主机装置的直接存储器存取(DMA)缓冲器以及用于对数据进行错误检测和纠错的ECC块。ECC控制器被配置以响应于ECC块在数据中检测到错误,中断将数据发送给DMA缓冲器,并将从ECC块输出的已纠错数据发送给DMA缓冲器。
在一些实施例中,ECC控制电路可还包括DMA缓冲器。ECC控制器可包括:多个ECC块,相应于多个存储器装置中的各存储器装置,被配置以对从所述多个存储器装置中的相应存储器装置中读取的各数据执行错误检测和纠错,并输出各错误检测信号和各已纠错数据;多个选择器,相应于所述多个ECC块的各ECC块,被配置以将从所述多个存储器装置的相应存储器装置读取的各数据并行提供给DMA缓冲器和所述多个ECC块的相应ECC块。所述多个选择器的每一个可被配置以响应于从所述多个ECC块的相应一个ECC块接收到各错误检测信号,将来自所述多个ECC块的相应一个ECC块的各已纠错数据而不是来自所述多个存储器装置的相应一个存储器装置的数据提供给DMA缓冲器。
在其他实施例中,ECC块可被配置以响应于在来自存储器装置的数据中检测到错误,来产生错误检测信号。
在一些实施例中,ECC控制器可还包括选择器,被配置以响应于错误检测信号,将来自ECC块的已纠错数据提供给DMA缓冲器。
在其他实施例中,选择器可被配置以当没有接收到错误检测信号时,将数据从存储器装置提供给DMA缓冲器。
在一些实施例中,ECC块可包括:ECC存储器,存储存储器装置的数据。
在其他实施例中,ECC块可被配置以响应于在来自存储器装置的数据中检测到错误,对存储在ECC存储器中的数据执行纠错,并输出已纠错数据。
在一些实施例中,ECC块可还被配置为响应于在来自存储器装置的数据中检测到错误,输出包括错误位置和/或状态的信息。
根据本发明的其他实施例,存储器系统包括:多个存储器装置;和存储器控制器,被配置以控制多个存储器装置。存储器控制器包括:缓冲器存储器;直接存储器存取(DMA)缓冲器,被配置以将数据传送到缓冲器存储器;多个纠错编码(ECC)块,相应于所述多个存储器装置的各个存储器装置,被配置以对从所述多个存储器装置中的相应存储器装置中读取的各数据执行错误检测和纠错,并输出各错误检测信号和各已纠错数据;多个选择器,相应于所述多个ECC块的各ECC块,被配置以将来自从所述多个存储器装置的相应存储器装置的各数据提供给DMA缓冲器和所述多个ECC块的相应ECC块。所述多个选择器的每一个被配置以响应于从所述多个ECC块的相应一个ECC块接收到各错误检测信号,将来自所述多个ECC块的相应的ECC块的各已纠错数据而不是来自所述多个存储器装置的相应存储器装置的各数据提供给DMA缓冲器。
在一些实施例中,所述多个ECC块的每一个可被配置响应于在来自所述多个存储器装置的相应一个存储器装置中的各数据中检测到错误,来产生各错误检测信号。
在其他实施例中,所述多个ECC块的每一个可被配置以基于在来自所述多个存储器装置的相应一个存储器装置的各数据中包括的各ECC数据,对来自所述多个存储器装置的相应一个存储器装置的各数据进行纠错。
在一些实施例中,所述多个选择器的每一个可被配置以响应于输出的各错误检测信号,将从所述多个ECC块的相应一个ECC块输出的各已纠错数据提供给DMA缓冲器。
在其他实施例中,所述多个选择器的每一个可被配置以响应于输出的各错误检测信号,将从所述多个ECC块的相应一个ECC块输出的各已纠错数据提供给DMA缓冲器,直到完成传输在其中包括错误的各数据。
在一些实施例中,DMA缓冲器可被配置以接收来自所述多个选择器的各数据以及来自所述多个ECC块的各错误检测信号,当没有从所述多个ECC块的相应ECC块接收到各错误检测信号时,可被配置以将所述各数据传送到缓冲器存储器。
在其他实施例中,DMA缓冲器可包括:管理器,被配置以响应于各错误检测信号,将各已纠错数据从所述多个选择器传送到缓冲器存储器。
在一些实施例中,存储器系统可还包括:存储器接口,联结到所述多个ECC块,并且被配置为与所述多个存储器装置的接口。
在其他实施例中,所述多个ECC块的每一个可分别包括:ECC存储器,被配置以存储来自所述多个存储器装置的相应一个存储器装置的数据。
在一些实施例中,每个ECC块可被配置以响应于在来自所述多个存储器装置的相应存储器装置的各数据中检测到错误,对存储在各ECC存储器中的各数据执行错误检测,并输出各已纠错数据。
在其他实施例中,每个ECC块还被配置以响应于在来自所述多个存储器装置的相应一个存储器装置的数据中检测到错误,将包括错误位置和/或状态的各信息输出到DMA缓冲器。
在一些实施例中,DMA缓冲器可包括:管理器,被配置以响应于各错误检测信号并基于所述包括错误位置和/或状态的各信息,将所述各已纠错数据从所述多个选择器传送到缓冲器存储器。
根据本发明的另外实施例,一种用于在数据传输中纠错的方法包括:响应于来自主机装置的请求,从存储器装置接收数据。将数据发送给用于将数据传送到主机装置的直接存储器存取(DMA)缓冲器以及用于对数据进行错误检测和纠错的纠错编码(ECC)块。响应于在数据中检测到错误,中断将数据从存储器装置发送给DMA缓冲器,并且将已纠错数据从ECC块发送给DMA缓冲器。
在一些实施例中,存储器控制器可包括与多个存储器装置的各存储器装置相应的多个ECC块。所述多个ECC块的相应一个ECC块可检测所述多个存储器装置的一个存储器装置的各数据中的错误。作为响应,可中断将所述各数据从与检测到错误的所述多个ECC块的一个ECC块相应的所述多个存储器装置的一个存储器装置发送给DMA缓冲器,可对来自所述多个存储器装置中的一个存储器装置的各数据进行纠错,以提供用于所述多个存储器装置的一个存储器装置的各纠错误的数据。可将所述各已纠错数据而不是来自所述多个存储器装置的一个存储器装置的各数据传送给DMA缓冲器。
在其他实施例中,在将各已纠错数据输出之后,将来自所述多个存储器装置的相应一个存储器装置的下一数据提供给所述多个ECC块的一个ECC块。
在一些实施例中,响应于在来自存储器装置的数据中检测到错误,可产生错误检测信号。
在其他实施例中,响应于错误检测信号,可将来自ECC块的已纠错数据提供给DMA缓冲器。
在一些实施例中,当没有接收到错误检测信号时,可将来自存储器装置的数据提供给DMA缓冲器。
根据本发明的另外实施例,一种ECC控制电路包括:直接存储器存取(DMA)缓冲器;第一纠错编码(ECC)块,被配置以对从第一存储器装置读取的第一数据执行错误检测和纠正,并输出第一已纠错数据;第二ECC块,被配置以对从第二存储器装置读取的第二数据执行错误检测和纠正,并输出第二已纠错数据;选择器,被配置以分别将从第一存储器装置读取的第一数据和从第二存储器装置读取的第二数据提供给DMA缓冲器、第一ECC块和第二ECC块。选择器被配置以响应于在第一数据和/或第二数据中检测到错误,将来自第一ECC块和/或第二ECC块的第一和/或第二已纠错数据而不是从第一和/或第二存储器装置读取的数据提供给DMA缓冲器。
在一些实施例中,第一ECC块可被配置以响应于在第一数据中检测到错误产生第一错误检测信号,其中,第二ECC块可被配置以响应于在第二数据中检测到错误产生第二错误检测信号。
在其他实施例中,选择器可被配置以响应于分别接收到第一和/或第二错误检测信号,来将来自第一和/或第二ECC块的第一和/或第二已纠错数据而不是从第一和/或第二存储器装置读取的第一和/或第二数据提供给DMA缓冲器。
附图说明
图1是根据本发明一些实施例的存储器系统的框图;
图2是显示根据本发明一些实施例的图1的ECC控制器和DMA缓冲器的操作过程的流程图;
图3是根据本发明其他实施例的多通道存储器系统的框图;
图4是显示在图3中显示的4通道存储器系统中如果在DMA传输模式期间没有错误则从存储器装置读取的数据和DMA缓冲器块的输出数据的模式的时序图;
图5是显示在图3中显示的4通道存储器系统中如果在DMA传输模式期间检测到错误则从存储器装置读取的数据和DMA缓冲器块的输出数据的时序图。
具体实施方式
以下参照附图对本发明进行更加全面地描述,附图中显示本发明的实施例。然而,本发明可以以许多不同的形式实现并且不应解释为对这里阐述的实施例的限制。然而,提供这些实施例从而此公开将是彻底和完整的,并将本发明的范围全面传达给本领域的技术人员。在附图中,为了清楚可放大层和区域的大小和相对大小。相同的标号始终表示相同的元件。
将理解,当元件被称作在另一元件“上”,被称作“连接到”或“联结到”另一元件时,该元件可以直接在另一元件上、或直接连接或联结到另一元件或层,或者也可以存在中间元件。相反,当元件被称作“直接”在另一元件“上”,“直接连接到”或“直接联结到”另一元件时,不存在中间元件。相同的标号始终表示相同的元件。如在这里使用的,术语“和/或”包括一个或多个相关所列的项目的任意组合和所有组合。
将理解,尽管在这里可使用术语第一、第二、第三等来描述不同的元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分并不受这些术语的限制。这些术语仅是用来将一个元件、组件、区域、层或部分与另一个元件、组件、区域、层或部分区分开来。因此,在不脱离本发明的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可被命名为第二元件、组件、区域、层或部分。
这里使用的术语仅为了描述特定实施例的目的,而不意图限制本发明。如这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。还将理解的是,当在本说明书中使用术语“包含”和/或“包括”时,说明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组合。
对于每一块代表电路元件、模块或包括一个或多个用于实现特定逻辑功能的可执行指令代码部分的流程图描述一些实施例。也应该注意,在其他实现中,块中表示的功能可不按所示的次序发生。例如,顺序显示的两个块实际上可基本上同时被执行,或者块有时候可以以相反的顺序执行,这取决于所包含的功能。
将理解,流程图和/或框图的每一块以及流程图和/或框图中的块的组合可通过计算机程序指令来实现。可将这些计算机指令提供给通用计算机、专用计算机的处理器,或其他可编程数据处理设备,来产生机器,从而通过计算机处理器或其他可编程数据处理设备执行的指令创建用于实现在流程图和/或框图块中指定的功能/动作的装置。
这些计算机指令也可被存储在可命令计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,从而存储在计算可读存储器中的指令产生包括实现在流程图和/或框图块中指定的功能/动作的指令装置的产品。
计算机程序指令也可加载到计算机或其他可编程数据处理设备以引起一系列的将在计算机或其他可编程设备上执行以产生计算机实现的处理的操作步骤,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图或框图块中指定的功能/动作的步骤。
除非另有定义,否则这里使用的所有术语(包括技术术语和科技术语)具有与本发明所属领域的普通技术人员所通常理解的意思相同的意思。将进一步理解,除非这里明确定义,否则术语例如在通用的字典中定义的术语应该被解释为具有与相关领域的上下文中它们的意思相同的意思,而不是理想地或者过于正式地解释它们的意思。
图1是根据本发明的存储器系统的框图。参照图1,存储器系统包括多个存储器装置300和310以及存储器控制器200。存储器装置300和310在存储器控制器200的控制下操作。存储器装置300和/或310可以是硬盘、CD-ROM、DVD和/或闪速存储器,并且不需要是相同类型。例如,在一些实施例中,存储器装置300和310可以是NAND-闪速存储器装置。在其他实施例中,存储器装置300和310可以是NOR-闪速存储器装置、相位可改变存储器装置、磁RAM或其他类型的非易失性存储器。
存储器控制器200被配置为响应于主机100的请求控制存储器装置300和310。存储器控制器200包括主机接口210、缓冲器存储器220、中央处理单元(CPU)230、寄存器文件240、直接存储器存取(DMA)缓冲器250、ECC(纠错编码)控制器260和存储器接口270。DMA缓冲器250和ECC控制器260可组成ECC控制电路。主机接口210被配置为提供存储器控制器200和主机100之间的接口,并且存储器接口270被配置为提供存储器控制器200与存储器装置300和301之间的接口。存储器接口270能够使存储器装置300和310被并行访问。CPU230被配置为控制存储器控制器200的总体操作。寄存器文件240包括配置为存储用于存储器控制器200的操作的状态信息的寄存器。主机100和存储器控制器200可被配置为通过各种接口类型的方式(例如,NOR-闪速、NAND-闪速、外围组件互联(PCI)、国际组织标准(ISO)和/或USB)彼此通信。另外,存储器装置300和310与存储器控制器200可被配置为使用适合于特定类型的存储器装置300和310的接口模式彼此通信。例如,如果存储器装置300和310是NAND-闪速存储器或NOR-闪速存储器,则存储器控制器200可分别使用公知的NAND接口模式或NOR接口模式与存储器装置300和310通信。
如果存储器装置300和310是闪速存储器,则存储器控制器200和存储器装置300和310可构成存储器卡,例如闪速存储器卡或智能卡。在另一实施例中,存储器控制器200可被布置在个人计算机的主板上。存储器控制器200也可用作HDD的缓冲器控制器,其中,闪速存储器用作缓冲器存储器。
存储器装置300和310与存储器控制器200可包括在电子设备(例如,MP3播放器、记忆棒、多媒体卡(MMC)、DVD播放器、便携式多媒体播放器(PMP)或移动电话)中。
仍然参照图1,缓冲器存储器220用于临时存储通过主机接口210从主机100接收的数据,和/或临时存储将从存储器装置300和310传送到主机100的数据。缓冲器存储器220可以是非易失性存储器(例如,同步DRAM)。缓冲器存储器220被配置为以512字节为单位(即一个扇区)读取和写入数据。尽管参照容量或512字节的单位扇区大小来描述本实施例,但是将理解,其他单位扇区大小可被使用。DMA缓冲器250使数据能够以管道模式从两个存储器装置300和310被存储在缓冲器存储器220中。
ECC控制器260被配置为产生用于将被存储在存储器装置300和310的数据的错误控制编码数据(以下称为“ECC数据”)。ECC数据用于错误检测和/或纠错。ECC控制器260被配置为检测和纠正从存储器装置300和310读取的数据中的错误。具体地讲,ECC控制器260检测通过存储器接口270从存储器装置300和310读取的数据中的错误,同时,将读取的数据提供给DMA缓冲器250。如果在从存储器装置300和310之一读取的数据中包括错误,则ECC控制器260中断将错误数据传送到DMA缓冲器250,对数据纠正之后,将已纠错数据提供给DMA缓冲器250。
从前面的描述可看出,根据本发明的一些实施例的ECC控制器260进行操作以通过在从读取的数据检测错误的同时将读取的数据提供给DMA缓冲器250,来减少由于检测到从存储器装置300和310读取的数据中的错误引起的等待时间。更具体地讲,如果存储器装置300和310是可具有相对低错误率的SLC闪速存储器,则可缩短数据读取时间。
此外,ECC控制器260被配置为在纠正错误数据之后将已纠错数据提供给DMA缓冲器250,而不直接访问缓冲器存储器220,因此能够防止由于错误检测和纠错引起的总线带宽的减小。
参照图1,ECC控制器260包括分别与两个存储器装置300和310相应的两个复用器(或选择器)261和262以及两个ECC块263和264。ECC块263和264被配置为产生将存储在每个存储器装置300和310中的ECC数据。ECC块263和264还被配置为检测并纠正从存储器装置300和310读取的数据中的错误。ECC块263和264分别包括ECC存储器265和266。
图2是示出根据本发明的一些实施例的图1的ECC控制器260和DMA缓冲器250的操作的流程图。具体地讲,当主机100请求从存储器装置300和310读取的数据时,CPU230控制对存储器装置300和310的访问操作,并且将DMA传输开始比特设置到寄存器文件240。从而,进行DMA传输模式来通过DMA缓冲器250将来自存储器装置300和310的数据存储到缓冲器存储器220。
参照图1和图2,通过存储器接口270从存储器装置300读出的数据同时被提供给复用器261和ECC块263(步骤410)。在初始时间,当从ECC块263输出的错误检测信号ERR0是禁止时,复用器261通过存储器接口270将数据从存储器装置300提供给DMA缓冲器250。ECC块263在将数据从存储器装置300存储到ECC存储器265之后执行错误检测(步骤412)。如果在从存储器装置300读出的数据中检测到比特错误,则错误检测信号ERR0被激活。响应于错误检测信号ERR0的激活,复用器261中断通过存储器接口270输入的数据的输出,并且DMA缓冲器250停止将数据从复用器261传送给缓冲器存储器220(步骤414)。
ECC块263纠正读取的数据中的错误(步骤416)。如果确认纠错成功(步骤418),则已纠错数据被提供给复用器261。当错误检测信号ERR0激活时,复用器261将纠正的数据从ECC块263传送给DMA缓冲器250(步骤420)。复用器261在DMA传输模式期间继续将纠正的数据从ECC块263传送给DMA缓冲器250,即使错误检测信号ERR0可能返回禁止或被停用。因此,在从存储器装置300读取的数据中检测到错误之后,来自存储器装置300的数据被存储在ECC存储器265中,中断将数据传送给DMA缓冲器250,并且已纠错数据被从ECC块263传送给DMA缓冲器250(步骤424)。
由复用器261和ECC块263,也可由复用器262和ECC块264执行控制步骤410~420。更具体地讲,通过存储器接口270从存储器装置310读取的数据同时被并行提供给复用器262和ECC块264(步骤410)。在初始时间,当从ECC块264输出的错误检测信号ERR1被禁止时,复用器262将数据从存储器装置310提供给DMA缓冲器250。ECC块264在将数据从存储器装置300存储到ECC存储器265之后执行错误检测(步骤412)。如果在从存储器装置300读出的数据中检测到比特错误,则错误检测信号ERR1被激活。响应于错误检测信号ERR1的激活,复用器262中断通过存储器接口270输入的数据的输出,并且DMA缓冲器250停止将数据从复用器262传送给缓冲器存储器220(步骤414)。
ECC块264纠正读取的数据中的错误(步骤416)。如果确认在该数据中不存在另外的错误(步骤418),则已纠错数据被提供给复用器262。当错误检测信号ERR1被激活时,复用器将已纠错数据从ECC块264传送给DMA缓冲器250(步骤420)。复用器262在DMA传送模式期间继续将纠正的数据从ECC块264传送给DMA缓冲器250,即使错误检测信号ERR1返回禁止或被停用。因此,在从存储器装置310读取的数据中检测到错误之后,来自存储器装置310的数据被存储在ECC存储器266中,中断将数据传送到DMA缓冲器250,并且纠正的数据被从ECC块264传送到DMA缓冲器250(步骤424)。
如果响应于通过复用器261和262接收数据没有接收到错误检测信号ERR0和ERR1或者错误检测信号ERR0和ERR1被禁止,则纠正的数据管理器252将数据传送到缓冲器存储器220(步骤430)。如果错误检测信号ERR0和ERR1中的相应一个被激活,则纠正的数据管理器252不将数据传送到缓冲器存储器220。此外,即使激活的错误检测信号稍后被禁止,纠正的数据管理器252也继续将已纠错数据传送到缓冲器存储器220。换句话说,一旦接收到错误检测信号,纠正的数据管理器252(和/或相应选择器261/262)继续提供来自各ECC块263和/或264的已纠错数据,直到完成检测到错误的数据的单元的传输。
一旦来自一个扇区的数据已经从存储器装置300和/或310被读取,并且已经通过DMA缓冲器250被传送到缓冲器存储器220(步骤422和430),则ECC控制器260终止ECC操作。
从以上描述可以看到,当错误检测信号被禁止时,复用器261和/或262将数据从与其相应的存储器装置300和/或310传送到DMA缓冲器250。因此,当没有在一个扇区的数据中检测到错误时,从存储器装置300和310读取的数据可被传送到DMA缓冲器250,而没有由错误检测/或纠错引入的等待时间。即使当在存储器装置300和310的数据中检测到错误时,纠正的数据也通过DMA缓冲器250(而不通过总线202)被传送到缓冲器存储器220。因此,可以减小和/或防止由于ECC控制器260的总线占用引起的总线带宽的减小。
图3是根据本发明的其他实施例的多通道存储器系统(例如,4通道类型)的框图。
参照图3,4通道存储器系统包括联结到存储器控制器600的四个存储器装置700、710、720和730。存储器控制器600响应于主机500的请求进行操作以控制存储器装置700~730。存储器控制器600包括主机接口610、CPU620、寄存器文件630、缓冲器存储器640、DMA缓冲器块650、ECC控制器660和存储器接口670。主机接口610被提供作为存储器控制器600和主机500之间的接口,存储器接口670被提供作为存储器控制器600和存储器装置700~730之间的接口。存储器接口670被配置为并行访问存储器装置700~730。
如图3所示,DMA缓冲器块650包括分别与存储器装置700、710、720和730相应的DMA缓冲器651、652、653和654。ECC控制器660包括分别与存储器装置700、710、720和730相应的ECC块661、662、663和664。
ECC块661~664的每一个被配置为检测其相应存储器装置的数据中的错误,同时数据被同时传送到与其相应的DMA缓冲器。DMA缓冲器块650在管道模式下将数据从ECC控制器660的ECC块661~664传送到缓冲器存储器640。当在数据中检测到错误时,相应的DMA缓冲器将已纠错数据(代替检测到错误的数据)从ECC块661~664中相应的一个传送到缓冲器存储器640。
图4是显示在图3中显示的4通道存储器系统中DMA传输模式期间不存在错误的情况下从存储器装置读取的数据和DMA缓冲器块650的输出数据的时序图。参照图4,当主机500从存储器装置700~730请求数据读取时开始DMA传输模式。从存储器装置700~730读取的数据包含原始(或“普通”)数据和ECC数据。换句话说,一个扇区数据包括原始数据和ECC数据。从存储器装置700~730读取的数据通过ECC块661~664被存储在DMA缓冲器651~654中。如果ECC块661~664没有检测到错误,则存储在DMA缓冲器651~654中的数据被传送到缓冲器存储器640。具体地讲,具有n字节(n是正整数)的突发数据(burst data)从DMA缓冲器块650的DMA缓冲器651~654顺次交替地输出。如果主机100请求的数据都从存储器装置700~730输出,则DMA传输模式终止。
图5是显示在图3中显示的4通道存储器系统中如果在DMA传输模式期间检测到错误则从存储器装置读取的数据和从DMA缓冲器块650输出的数据的时序图。参照图5,当从存储器装置700~730请求数据读取时开始DMA传输模式。从存储器装置700~730读取的数据分别通过ECC块661~664被存储在DMA缓冲器651~654中。如果ECC块661确认检测到错误,则存储在DMA缓冲器652~654中的数据被传送到缓冲器存储器640,并且ECC块661执行纠错。
其后,DMA缓冲器651接收ECC块661纠正的数据,并将已纠错数据传送到缓冲器存储器640。在此期间,DMA缓冲器651独立地管理将存储已纠错数据的缓冲器存储器640的地址。
如图5所示,如果ECC块661从第一扇区#0(例如,第一扇区的第一通道CH#0)的数据中检测到错误,则第一扇区的第二到第四通道((CH#1~CH#3)的数据被传送到DMA缓冲器块650,并且ECC块661纠正检测的错误。从ECC块661输出的第一扇区(CH#0)的已纠错数据连同第二至第四通道的数据一起被传送到缓冲器存储器640。在从存储器装置700~730读出主机100请求的数据之后,DMA传输模式终止。
尽管参照4通道存储器系统描述了图3-图5的实施例,但是本领域的技术人员将容易地理解,本发明也可应用到2通道存储器系统和/或包括更少或更多数量的通道的存储器系统。
根据本发明的实施例,ECC控制电路(或ECC控制器)进行操作以通过从存储器装置的数据中检测错误同时将该数据提供到DMA缓冲器来减少由于对从多个存储器装置读取的数据进行错误检测引起的等待时间。ECC控制电路在对错误数据纠正之后将已纠错数据提供给DMA缓冲器,而不直接访问缓冲器存储器,从而防止由于错误检测和/或纠错可能引起的总线带宽的可能减少。
在附图和说明书中,已经公开了本发明的示例性实施例。然而,在基本上不脱离本发明的原理的情况下,可以对这些实施例进行许多改变和修改。因此,尽管使用了特定术语,但是它们仅被用于一般和描述性意义并且不是限制目的,本发明的范围由权利要求限定。
Claims (29)
1.一种在存储器控制器中的ECC控制电路,包括:
DMA缓冲器,用于将数据传送到主机装置;
ECC块,用于对数据进行错误检测和纠错;
ECC控制器,被配置以响应于来自主机装置的请求从存储器装置接收数据,并将数据并行发送给所述DMA缓冲器以及所述ECC块,
其中,ECC控制器被配置以响应于ECC块在数据中检测到错误,中断将数据发送给DMA缓冲器,并将从ECC块输出的已纠错数据发送给DMA缓冲器,因此已纠错数据通过DMA缓冲器而不通过总线被传送到缓冲器存储器。
2.如权利要求1所述的ECC控制电路,其中,ECC控制器包括:
多个ECC块,相应于多个存储器装置中的各存储器装置,被配置以对从所述多个存储器装置中的相应存储器装置中读取的各数据执行错误检测和纠错;
多个选择器,相应于所述多个ECC块的各ECC块,被配置以将从所述多个存储器装置的相应存储器装置读取的各数据并行提供给DMA缓冲器和所述多个ECC块的相应ECC块,
其中,所述多个选择器的每一个被配置以响应于从所述多个ECC块的相应一个ECC块接收到错误检测信号,将来自所述多个ECC块的相应一个ECC块的各已纠错数据而不是来自所述多个存储器装置的相应一个存储器装置的各数据提供给DMA缓冲器。
3.如权利要求1所述的ECC控制电路,其中,ECC块被配置以响应于在来自存储器装置的数据中检测到错误,来产生错误检测信号。
4.如权利要求3所述的ECC控制电路,其中,ECC控制器还包括:
选择器,被配置以响应于错误检测信号,将来自ECC块的已纠错数据提供给DMA缓冲器。
5.如权利要求4所述的ECC控制电路,其中,选择器被配置以当没有接收到错误检测信号时,将数据从存储器装置提供给DMA缓冲器。
6.如权利要求4所述的ECC控制电路,其中,ECC块包括:ECC存储器,被配置以存储来自存储器装置的数据。
7.如权利要求6所述的ECC控制电路,其中,ECC块被配置以响应于在数据中检测到错误,对存储在ECC存储器中的数据执行纠错,并将已纠错数据输出给选择器。
8.如权利要求1所述的ECC控制电路,其中,ECC块还被配置为响应于在数据中检测到错误,输出包括错误位置和/或状态的信息。
9.一种存储器系统,包括:
多个存储器装置;
存储器控制器,被配置以提供主机装置和所述多个存储器装置之间的接口,其中,存储器控制器包括:
缓冲器存储器;
DMA缓冲器,被配置以将数据传送到缓冲器存储器;
多个ECC块,相应于所述多个存储器装置的各存储器装置,被配置以对从所述多个存储器装置中的相应存储器装置中读取的各数据执行错误检测和纠错,并输出各错误检测信号和各已纠错数据;
多个选择器,相应于所述多个ECC块的各ECC块,被配置以将来自所述多个存储器装置的相应存储器装置的各数据并行提供给DMA缓冲器和所述多个ECC块的相应ECC块,
其中,所述多个选择器的每一个被配置以响应于从所述多个ECC块的相应一个ECC块接收到各错误检测信号,将来自所述多个ECC块的相应的ECC块的各已纠错数据而不是来自所述多个存储器装置的相应存储器装置的各数据提供给DMA缓冲器,因此已纠错数据通过DMA缓冲器而不通过总线被传送到缓冲器存储器。
10.如权利要求9所述的存储器系统,其中,所述多个ECC块的每一个被配置以响应于在来自所述多个存储器装置的相应一个存储器装置中的各数据中检测到错误,来产生各错误检测信号。
11.如权利要求10所述的存储器系统,其中,所述多个ECC块的每一个被配置以基于在来自所述多个存储器装置的相应一个存储器装置的各数据中包括的各ECC数据,对来自所述多个存储器装置的相应一个存储器装置的各数据进行纠错。
12.如权利要求11所述的存储器系统,其中,所述多个选择器的每一个被配置以响应于输出的各错误检测信号,将从所述多个ECC块的相应一个ECC块输出的各已纠错数据提供给DMA缓冲器。
13.如权利要求12所述的存储器系统,其中,所述多个选择器的每一个被配置以响应于输出的各错误检测信号,将从所述多个ECC块的相应一个ECC块输出的各已纠错数据提供给DMA缓冲器,直到完成传输在其中包括错误的各数据。
14.如权利要求13所述的存储器系统,其中,DMA缓冲器被配置以接收来自所述多个选择器的各数据以及来自所述多个ECC块的各错误检测信号,当没有从所述多个ECC块的相应ECC块接收到各错误检测信号时,被配置以将所述各数据传送到缓冲器存储器。
15.如权利要求12所述的存储器系统,其中,DMA缓冲器包括:管理器,被配置以响应于各错误检测信号,将各已纠错数据从所述多个选择器传送到缓冲器存储器。
16.如权利要求9所述的存储器系统,还包括:
存储器接口,联结到所述多个ECC块,并且被配置为与所述多个存储器装置的接口。
17.如权利要求9所述的存储器系统,其中,所述多个ECC块的每一个分别包括:ECC存储器,被配置以存储来自所述多个存储器装置的相应一个存储器装置的数据。
18.如权利要求17所述的存储器系统,其中,每个ECC块被配置以响应于在来自所述多个存储器装置的相应一个存储器装置的各数据中检测到错误,对存储在各ECC存储器中的各数据执行错误检测,并输出各已纠错数据。
19.如权利要求9所述的存储器系统,其中,每个ECC块还被配置以响应于在来自所述多个存储器装置的相应一个存储器装置的数据中检测到错误,将包括错误位置和/或状态的各信息输出到DMA缓冲器。
20.如权利要求19所述的存储器系统,其中,DMA缓冲器包括:管理器,被配置以响应于各错误检测信号并基于所述包括错误位置和/或状态的各信息,将所述各已纠错数据从所述多个选择器传送到缓冲器存储器。
21.一种用于在数据传输中纠错的方法,该方法包括:
响应于来自主机装置的请求,从存储器装置接收数据;
将数据并行发送给用于将数据传送到主机装置的DMA缓冲器以及用于对数据进行错误检测和纠错的ECC块;
响应于在数据中检测到错误,中断将数据从存储器装置发送给DMA缓冲器,并且将已纠错数据从ECC块发送给DMA缓冲器,因此已纠错数据通过DMA缓冲器而不通过总线被传送到缓冲器存储器。
22.如权利要求21所述的方法,其中,存储器控制器包括与多个存储器装置的各存储器装置相应的多个ECC块,其中,中断数据的发送的步骤包括:
所述多个ECC块的相应一个ECC块检测所述多个存储器装置的一个存储器装置的各数据中的错误;
中断将所述各数据从与检测到错误的所述多个ECC块的一个ECC块相应的所述多个存储器装置的一个存储器装置发送给DMA缓冲器;
对来自所述多个存储器装置中的一个存储器装置的各数据进行纠错,以提供用于所述多个存储器装置的一个存储器装置的各已纠错数据;
将所述各已纠错数据而不是来自所述多个存储器装置的一个存储器装置的各数据传送给DMA缓冲器。
23.如权利要求22所述的方法,还包括:
在将各已纠错数据输出之后,将来自所述多个存储器装置的相应一个存储器装置的下一数据提供给所述多个ECC块的一个ECC块。
24.如权利要求21所述的方法,还包括:
响应于在来自存储器装置的数据中检测到错误,产生错误检测信号。
25.如权利要求24所述的方法,其中,中断发送数据的步骤包括:
响应于错误检测信号,将来自ECC块的已纠错数据提供给DMA缓冲器。
26.如权利要求25所述的方法,还包括:
当没有接收到错误检测信号时,将来自存储器装置的数据提供给DMA缓冲器。
27.一种ECC控制电路,包括:
DMA缓冲器;
第一ECC块,被配置以对从第一存储器装置读取的第一数据执行错误检测和纠错,并输出第一已纠错数据;
第二ECC块,被配置以对从第二存储器装置读取的第二数据执行错误检测和纠错,并输出第二已纠错数据;
选择器,被配置以将分别从第一存储器装置读取的第一数据和从第二存储器装置读取的第二数据并行提供给DMA缓冲器、第一ECC块和第二ECC块,
其中,选择器被配置以响应于在第一数据和/或第二数据中检测到错误,将来自第一ECC块和/或第二ECC块的第一和/或第二已纠错数据而不是从第一和/或第二存储器装置读取的数据提供给DMA缓冲器,因此已纠错数据通过DMA缓冲器而不通过总线被传送到缓冲器存储器。
28.如权利要求27所述的ECC控制电路,其中,第一ECC块被配置以响应于在第一数据中检测到错误产生第一错误检测信号,其中,第二ECC块被配置以响应于在第二数据中检测到错误产生第二错误检测信号。
29.如权利要求28所述的ECC控制电路,其中,选择器被配置以响应于分别接收到第一和/或第二错误检测信号,来将来自第一和/或第二ECC块的第一和/或第二已纠错数据而不是从第一和/或第二存储器装置读取的第一和/或第二数据提供给DMA缓冲器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070084143 | 2007-08-21 | ||
KR1020070084143A KR101425957B1 (ko) | 2007-08-21 | 2007-08-21 | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 |
KR10-2007-0084143 | 2007-08-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101373449A CN101373449A (zh) | 2009-02-25 |
CN101373449B true CN101373449B (zh) | 2013-06-19 |
Family
ID=40383279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102126121A Active CN101373449B (zh) | 2007-08-21 | 2008-08-21 | Ecc控制电路、多通道存储器系统以及相关操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8375257B2 (zh) |
KR (1) | KR101425957B1 (zh) |
CN (1) | CN101373449B (zh) |
TW (1) | TWI476778B (zh) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
JP2010097600A (ja) * | 2008-09-22 | 2010-04-30 | Panasonic Corp | 半導体記録装置 |
US20100250798A1 (en) * | 2009-03-31 | 2010-09-30 | Sean Eilert | Hierarchical memory architecture with an interface to differing memory formats |
US8239629B2 (en) * | 2009-03-31 | 2012-08-07 | Micron Technology, Inc. | Hierarchical memory architecture to connect mass storage devices |
WO2011025474A1 (en) * | 2009-08-25 | 2011-03-03 | Hewlett-Packard Development Company, L.P. | Error correcting |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) * | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US8250439B1 (en) * | 2009-09-28 | 2012-08-21 | Nvidia Corporation | ECC bits used as additional register file storage |
US8321761B1 (en) * | 2009-09-28 | 2012-11-27 | Nvidia Corporation | ECC bits used as additional register file storage |
WO2011080768A1 (en) * | 2009-12-29 | 2011-07-07 | Ferdinando Bedeschi | Memory devices comprising partitions with particular ecc attributes |
US8726130B2 (en) * | 2010-06-01 | 2014-05-13 | Greenliant Llc | Dynamic buffer management in a NAND memory controller to minimize age related performance degradation due to error correction |
CN102543209B (zh) * | 2010-12-31 | 2015-09-30 | 深圳市朗科科技股份有限公司 | 多通道闪存控制器的纠错装置、方法及多通道闪存控制器 |
US8954798B2 (en) * | 2011-02-11 | 2015-02-10 | Taejin Info Tech Co., Ltd. | Alarm-based backup and restoration for a semiconductor storage device |
JP5601256B2 (ja) * | 2011-03-20 | 2014-10-08 | 富士通株式会社 | メモリコントローラ及び情報処理装置 |
US8839024B2 (en) * | 2011-07-22 | 2014-09-16 | Taejin Info Tech Co., Ltd. | Semiconductor storage device-based data restoration |
US20130054870A1 (en) * | 2011-08-22 | 2013-02-28 | Byungcheol Cho | Network-capable raid controller for a semiconductor storage device |
US20130067157A1 (en) * | 2011-09-12 | 2013-03-14 | Byungcheol Cho | Semiconductor storage device having multiple host interface units for increased bandwidith |
US20130086315A1 (en) * | 2011-10-04 | 2013-04-04 | Moon J. Kim | Direct memory access without main memory in a semiconductor storage device-based system |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
JP5768654B2 (ja) * | 2011-10-25 | 2015-08-26 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
US8959417B2 (en) * | 2011-11-23 | 2015-02-17 | Marvell World Trade Ltd. | Providing low-latency error correcting code capability for memory |
JP5970917B2 (ja) * | 2012-03-30 | 2016-08-17 | 富士通株式会社 | 受信回路、情報処理装置、および制御方法 |
US9043669B1 (en) * | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
KR101997794B1 (ko) | 2012-12-11 | 2019-07-09 | 삼성전자주식회사 | 메모리 제어기 및 그것을 포함한 메모리 시스템 |
CN103077116A (zh) * | 2013-01-18 | 2013-05-01 | 无锡云动科技发展有限公司 | 一种计算机的数据存储系统及计算机系统 |
KR102143517B1 (ko) | 2013-02-26 | 2020-08-12 | 삼성전자 주식회사 | 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법 |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
JP2015022516A (ja) * | 2013-07-19 | 2015-02-02 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10379926B2 (en) * | 2014-08-05 | 2019-08-13 | Macronix International Co., Ltd. | Method and device for monitoring data error status in a memory |
CN104331252B (zh) * | 2014-10-10 | 2017-08-25 | 上海新储集成电路有限公司 | 异构nand固态硬盘结构及其数据读取管理方法 |
US9692455B2 (en) * | 2015-09-11 | 2017-06-27 | Micron Technology, Inc. | Multi channel memory with flexible code-length ECC |
KR102479212B1 (ko) * | 2016-08-17 | 2022-12-20 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
TWI602190B (zh) * | 2016-12-21 | 2017-10-11 | 旺宏電子股份有限公司 | 記憶體控制方法、記憶體裝置 |
CN107070593B (zh) * | 2017-02-09 | 2020-08-28 | 武汉米风通信技术有限公司 | 基于多通道通信接收系统的中断器启动方法 |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
KR102427323B1 (ko) * | 2017-11-08 | 2022-08-01 | 삼성전자주식회사 | 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법 |
KR102449346B1 (ko) * | 2017-12-12 | 2022-10-04 | 삼성전자주식회사 | 메모리 장치의 내부 상태에 따라 메모리 컨트롤러의 동작을 가변하는 메모리 시스템 |
US20190196726A1 (en) * | 2017-12-26 | 2019-06-27 | Nanya Technology Corporation | Dynamic random access memory and method of operating the same |
US10546628B2 (en) | 2018-01-03 | 2020-01-28 | International Business Machines Corporation | Using dual channel memory as single channel memory with spares |
US10606713B2 (en) | 2018-01-03 | 2020-03-31 | International Business Machines Corporation | Using dual channel memory as single channel memory with command address recovery |
CN110134322B (zh) * | 2018-02-02 | 2022-05-31 | 建兴储存科技(广州)有限公司 | 运用dram的储存装置及其相关数据处理方法 |
US11023316B2 (en) * | 2018-02-02 | 2021-06-01 | Solid State Storage Technology Corporation | DRAM-based storage device and associated data processing method |
KR20190123984A (ko) | 2018-04-25 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102599188B1 (ko) * | 2018-11-09 | 2023-11-08 | 삼성전자주식회사 | 호스트 메모리를 사용하는 스토리지 장치 및 그것의 동작 방법 |
CN111666106A (zh) * | 2019-03-07 | 2020-09-15 | 慧与发展有限责任合伙企业 | 来自多个远程芯片的数据卸载加速 |
CN110727401B (zh) * | 2019-09-09 | 2021-03-02 | 无锡江南计算技术研究所 | 一种访存系统 |
US20210181990A1 (en) * | 2019-12-16 | 2021-06-17 | Micron Technology, Inc. | Interrupt signaling for a memory device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1145684A (zh) * | 1995-03-17 | 1997-03-19 | 爱特梅尔股份有限公司 | 具有快擦写类存储器芯体的电可擦可编程只读存储器阵列 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233526A (ja) * | 1992-02-21 | 1993-09-10 | Toshiba Corp | Dma制御方式 |
JP3429948B2 (ja) * | 1996-04-10 | 2003-07-28 | 株式会社日立製作所 | 組込み型cpu用制御装置 |
JP3527873B2 (ja) * | 1999-09-03 | 2004-05-17 | 松下電器産業株式会社 | 誤り訂正装置 |
GB0123422D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved memory controller |
JP4131928B2 (ja) | 2002-11-18 | 2008-08-13 | 株式会社日立製作所 | データ記憶制御方法および装置 |
JP2004178122A (ja) | 2002-11-26 | 2004-06-24 | Renesas Technology Corp | ダイレクトメモリアクセス転送機能付プロセッサシステム |
KR100543447B1 (ko) * | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
CN100337217C (zh) * | 2003-07-28 | 2007-09-12 | 深圳市朗科科技有限公司 | 存储控制芯片及数据存储控制方法 |
TW200632658A (en) * | 2005-03-04 | 2006-09-16 | Jtek Technology Corp | High-speed transmission memory module and method |
US7984359B2 (en) * | 2006-05-01 | 2011-07-19 | Seagate Technology, Llc | Correction of data errors in a memory buffer |
-
2007
- 2007-08-21 KR KR1020070084143A patent/KR101425957B1/ko active IP Right Grant
-
2008
- 2008-08-19 TW TW097131631A patent/TWI476778B/zh active
- 2008-08-21 US US12/196,012 patent/US8375257B2/en active Active
- 2008-08-21 CN CN2008102126121A patent/CN101373449B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1145684A (zh) * | 1995-03-17 | 1997-03-19 | 爱特梅尔股份有限公司 | 具有快擦写类存储器芯体的电可擦可编程只读存储器阵列 |
Also Published As
Publication number | Publication date |
---|---|
US20090055713A1 (en) | 2009-02-26 |
KR20090019593A (ko) | 2009-02-25 |
KR101425957B1 (ko) | 2014-08-06 |
TW200915336A (en) | 2009-04-01 |
US8375257B2 (en) | 2013-02-12 |
TWI476778B (zh) | 2015-03-11 |
CN101373449A (zh) | 2009-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101373449B (zh) | Ecc控制电路、多通道存储器系统以及相关操作方法 | |
US8230161B2 (en) | Data backup method for a flash memory and controller and storage system using the same | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9086954B2 (en) | Data storing method, memory controller and memory storage apparatus | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
JP5426711B2 (ja) | メモリコントローラ及び不揮発性記憶装置 | |
US8559225B2 (en) | Nonvolatile memory device and related method of operation | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
US8331151B2 (en) | Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block | |
US8423838B2 (en) | Block management method, memory controller, and memory storage apparatus | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN103650054A (zh) | 包含存储器系统控制器的设备和相关方法 | |
TWI597730B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN107544922B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
US11204833B1 (en) | NVM endurance group controller using shared resource architecture | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US20150161042A1 (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US20150186058A1 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
US10866887B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
US9830077B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN102591738A (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN102456401B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN106920572B (zh) | 存储器管理方法、存储器控制电路单元及存储器储存装置 | |
CN110322913B (zh) | 存储器管理方法与存储控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |