CN110688246B - 集成电路及用以操作集成电路上的存储器的方法 - Google Patents
集成电路及用以操作集成电路上的存储器的方法 Download PDFInfo
- Publication number
- CN110688246B CN110688246B CN201811072778.8A CN201811072778A CN110688246B CN 110688246 B CN110688246 B CN 110688246B CN 201811072778 A CN201811072778 A CN 201811072778A CN 110688246 B CN110688246 B CN 110688246B
- Authority
- CN
- China
- Prior art keywords
- recovery
- write
- data
- integrated circuit
- logic
- 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
- 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/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/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
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0656—Data buffering arrangements
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种集成电路,包括存储器阵列及错误更正逻辑,存储器阵列被配置以储存数据块(chunk)及对应的错误更正码;集成电路包括控制逻辑,控制逻辑执行复原程序以从存储器阵列存取被选取数据块及对应的错误更正码,以使用错误更正码来识别在被选取数据块内错误位的存储器阵列中的错误位置,及存取所识别的位置以写入更正数据。复原程序顺序地应用至被指定用于复原操作之指定样本的复原操作区域的多个数据块。耦接至控制逻辑的存储器可储存一个或多个复原参数以识别存储器中的复原操作区域。
Description
技术领域
本发明涉及一种改进存储器装置中数据保持的技术,包括闪存或其他类型的非易失性存储器。
背景技术
非易失性存储器件中的数据保持是重要的操作特性。具体地,储存在非易失性存储单元中的数据由单元相对稳定条件所表示。例如,在闪存中,储存在单元中的数据由浮动闸或介电电荷捕捉结构中所捕捉的电荷所表示。又例如,在相变存储器中,储存在单元中的数据由存储元件的固态相位所表示。数据保持参数有关于存储单元随时间保持相对稳定状态的能力。
在非易失性存储器中写入数据的程序通常被配置以储存具有足够边界的数据,使得在正常使用期间单元状况的位移(例如,电荷丢失或电荷增益、相变化等)不会导致数据丢失。然而,随着非易失性存储单元的尺寸缩小,使用这种装置的存储器阵列的密度增加,并且操作电压变得更小,数据保持规范是有压力的。
对于高密度非易失性存储器而言,已经部署错误更正技术以容纳当各个单元没有储存正确数据时可能发生的数据错误。以这种方式,当从阵列将数据读取出来时,错误数据可被更正在输出到请求主机的数据中。
错误更正技术包括使用错误更正码ECC,也称为错误纠正代码或汉明代码,具有相应的数据块。ECC基本上是为了向数据块提供冗余而添加的数据位,借此可以在读回时在数据块中识别和更正指定数量的错误。使用ECC的错误检测逻辑可应用于更正在主动使用的数据所中遇到的错误位,以及识别错误位的读取或写入操作的主题。参见2015年12月17日揭露Kwon等人的US 2015/0363257,“RESISTIVE MEMORY DEVICE AND OPERATING METHOD”。
虽然此技术对于低位错误率的条件以及对于主动使用的数据是有效的,但是存储器中的错误数据可以随时间累积。错误更正码只能更正指定数据块中有限数量的错误位。因此,出现一些技术以监视非易失性装置中所遇到的位错误率,以及当位错误率接近极限时复原数据。参见例如2016年4月7日揭露的Huang等人的US 2016/0098216,“SYSTEM ANDMETHOD FOR REFRESHING DATA IN A MEMORY DEVICE”。
期望提供一种技术,以针对成功受编程但未保留其数据的存储单元,采对存储器的任务功能操作干扰最小化的方式,进行复原的数据,并且有效地改善数据保持特性。
发明内容
对于包括存储器阵列和错误更正逻辑的集成电路,描述可作为背景操作执行的复原程序,或者对储存在存储器阵列中的数据的任务功能使用干扰很少或没有干扰。
描述一种集成电路,包括存储器阵列,被配置以储存数据块(chunk),数据块具有对应的错误更正码。错误更正逻辑使用错误更正码处理从存储器阵列所接收的数据块,以识别所接收的数据块中的错误位置。控制逻辑执行复原程序,以从存储器阵列存取被选取数据块及对应的错误更正码,借以使用错误更正逻辑识别在被选取数据块的错误位的存储器阵列中的位置,及借以存取所识别的位置来写入更正数据于存储器阵列中。
复原程序顺序地应用至被指定用于复原操作的指定样本的复原操作区域的多个数据块。耦接控制逻辑的参数储存器可储存一个或多个复原参数以识别存储器阵列中的复原操作区域。
在所述实施例中,页面缓冲器可操作地耦接至存储器阵列,而写入逻辑可操作地耦接至页面缓冲器,以回应于用于储存存储器阵列的数据块的写入指令,使用页面缓冲器执行写入及验证程序。在此实施例中,复原程序不是部分的写入程序,复原程序加载页面缓冲器的错误位位置以识别被选取数据块内错误位的存储器阵列内的位置,及应用写入偏压脉冲及验证周期以使用页面缓冲器写入更正数据。
再者,在所描途的一种实施例中,集成电路包括:接口,以接收来自外部主机的指令;及逻辑,以响应于来自外部主机的指令而执行写入程序,以写入数据至存储器阵列的写入操作区域。在此例中,执行复原程序的控制逻辑响应于写入程序的当前样本,以识别与存储器阵列的写入操作区域不同的复原操作区域,及从复原操作区域选择用于复原程序的数据块。写入程序的特征在于时间持续规范,时间持续规范包括多余时间以用于写入程序的至少一些样本。控制逻辑可包括逻辑以在时间持续规范的多余时间内,响应于当前样本顺序地应用复原程序至复原操作区域内的多个数据块。再者,写入程序可写入具有不同尺寸的区块数据,且复原操作区域的尺寸在写入程序的当前样本期间所写入的区块的尺寸的函数。
再者,在所述的一实施例中,集成电路包括逻辑以于读取及写入程序之间进入待机模式。在此例中,执行复原程序的控制逻辑可在待机模式期间应用复原程序。
在另一实施例中,集成电路包括逻辑以在施加至集成电路的电源中断后执行开机过程。开机过程导致进入使能状态,以用于存储器的操作。在此实施例中,在进入使能状态前,用以执行复原程序的控制逻辑应用复原程序以作为开机过程的一部分。
在又一实施例中,控制逻辑可响应于从外部主机所接收的复原操作指令以执行复原程序。
一般而言,描述一种方法,用以操作集成电路上的存储器。此方法包括:储存数据块与对应的错误更正码于存储器中;以及执行复原程序以从存储器存取被选取数据块及对应的错误更正码,使用集成电路上的错误更正逻辑来识别被选取数据块的错误位的存储器的位置,以及存取存储器中所识别的位置以写入更正数据。
此方法可以在不干扰或最小化干扰存储器数据使用任务功能的情况下受到应用,本方法的方面可执行于如发明内容所述的集成电路。
为了对本发明上述及其他方面有更佳了解,下文特列举实施例,并配合所附附图详细说明如下:
附图说明
图1绘示参照于错误更正码及数据块的使用说明的示意图。
图2A绘示一种因非期望的充电增益而导致数据保持劣化的数据丢失机制。
图2B绘示一种因非期望的充电损失而导致数据保持劣化的数据丢失机制。
图3绘示包含用于执行本文所述复原程序的存储器阵列及控制逻辑的集成电路的简易方块示意图。
图4绘示依照本文所述一实施例的由控制逻辑所执行的复原程序的流程图。
图5绘示依照本文所述另一实施例的由控制逻辑所执行的复原程序的流程图。
图6A、6B、及6C绘示相仿于参照图5所述的说明用于程序的写入操作区域及复原操作区域之间的关系的直觉(heuristic)示意图。
图7绘示依照本文所述又一实施例的由控制逻辑所执行的复原程序的流程图。
图8A、8B、及8C绘示相仿于参照图7所述的说明用于程序的写入操作区域及复原操作区域之间的关系的直觉示意图。
图9绘示依照本文所述再一实施例的由控制逻辑所执行的复原程序的流程图。
【符号说明】
10:数据块
11:ECC代码
12:位置
15、16、18、19:范围
100:集成电路
101:一般阵列
102:ECC阵列
103、104:感测放大器
105:ECC逻辑
106:更正多任务器
107:数据多任务器
110:线 112:地址计数器
120:页面缓冲器
121:字线驱动器
122:线
125:控制器
126:指令逻辑
128:参数储存存储器
130:输入/输出接口
200~207、270~278、300~307、400~407:流程步骤
250A、250B、250C、350A、350B、350C:
251A、251B、251C、351A、351B、351C、353B、353C:取消选择区域
252A、252B、252C、352A、352B、352C:复原操作区域
253A、253B、253C:写入操作区域
255A、255B、255C、355A、355B、355C:复原指标
LVLB、HVLB:低边界
LVHB、HVHB:高边界
具体实施方式
本发明实施例将参照图1-9以提供详细描述。
图1是数据块10的简化示意图,数据块10可以是例如用户代码的关键任务数据,具有相应的ECC代码11。接收数据块10和ECC代码11的错误更正逻辑可以识别数据块10中的错误位的位置12,此位置12可以在将数据提供给请求主机时进行更正。
图2A和图2B绘示可以在已经适当编程的存储单元内发生数据丢失的示例。例如,在图2A中,闪存装置内的存储单元储存例如逻辑“1”的擦除状态,存储单元的阈值电压Vt处于低边界LVLB和高边界LVHB之间的低阈值范围15中。在擦除程序期间,所有的单元通过被验证为具有低于验证电平的阈值而被适当地擦除,如图所示。然而,随着时间的推移,具有阵列状态的阵列中的一些单元可能受到来自相邻单元中的编程操作的干扰、环境干扰等而获得电荷。因此,随着时间的推移,多个单元可能具有范围16中的阈值,并且可能被错误地读取为储存数据值“0”。
在图2B中,闪存装置中的存储单元储存例如逻辑“0”的编程状态,存储单元的阈值电压Vt处于低边界HVLB和高边界HVHB之间的高阈值范围19中。在编程程序期间,所有的单元通过验证具有高于验证电平的阈值而被适当地编程,如图所示。然而,随着时间的推移,具有阵列状态的阵列中的一些单元可能受到来自相邻单元中的擦除操作的干扰、环境干扰等而失去电荷。因此,随着时间的推移,多个单元可能具有范围18中的阈值,并且可能被错误地读取为储存数据值“1”。
本文描述了复原程序,通过此复原程序,具有图2A的范围16中的阈值的单元和具有图2B的范围18中的阈值的单元可以复原到其适当的阈值范围。
图3是集成电路100的简化示意图,集成电路100包括非易失性存储器和控制器,被配置为执行如本文所述的复原程序。用于本揭露目的的集成电路100是作为单元提供的单一集成电路封装中的单芯片装置或多芯片装置。
在此例中,集成电路100包括闪存,存储器包括第一部分及第二部分,第一部分特征为一般阵列101,第二路分特征为ECC阵列102。一般阵列101储存数据块,而ECC阵列102储存ECC以对应于在一般阵列101中的相应数据块。在编程期间,ECC伴随数据块而被计算和储存,以使它们准确地反映相应数据块的内容。
一组感测放大器103经由线122与一般阵列101可操作地耦接,并且一组感测放大器104经由线122与ECC阵列102可操作地耦接。在此例中,页面缓冲器120可操作地耦接至存储器阵列,在意义上,数据被移动通过页面缓冲器,且在感测数据和编程数据于一般阵列101和ECC阵列102内的期间被使用。同样,感测放大器104可操作地耦接到阵列101和102,在意义上,感测放大器用于感测储存在阵列中的数据。而且,字线驱动器121关联于一般阵列101和ECC阵列102。所示的感测放大器和页面缓冲器的布置类似于一些NAND架构装置中的布置。布置在不同实施例中有所变化,包括配置用于NOR架构设备和用于其他存储器技术的实施例。
集成电路100包括地址计数器112或其他地址逻辑,用于将线110上的地址提供给字线驱动器121、页面缓冲器120或其他类型的列解代码器,以及到输出数据多任务器107。地址计数器112可以由芯片上(on-chip)控制器125所控制。再者,地址计数器112可以由输出数据多任务器107用来控制向外部主机输出数据块。
集成电路还包括电路以提供所需偏压,用于编程、闪存的擦除和读取、或其他类型的非易失性存储器的设置、重置和读取。用于提供偏压的电路可以包括电荷泵、分压器、电流源、电压调节器、和适合于在集成电路上实现的其他电路元件。
感测放大器103和104被布置成向ECC逻辑105提供数据块(其可以是例如128位)和相应的ECC(可以是例如8位)。再者,此组与一般阵列耦接的感测放大器103被布置成将其输出数据提供给更正多任务器106,更正多任务器106例如可以是高速缓存的形式。ECC逻辑105产生输出,此输出识别相应数据块中的错误位的位置,并将位置提供给更正多任务器106,其中错误位被更正。更正多任务器106的输出是更正数据块,被应用于输出数据多任务器107,其中数据块可以作为例如8位字符组的序列而被提供给输入/输出接口130。输入/输出接口130可以使用为特定实施例指定的总线协议向外部主机提供数据。
输入/输出接口130还可以从外部主机接收数据以用于写入至存储器阵列内。因此,在方块图中,示出从数据多任务器107到感测放大器103、104和页面缓冲器120的数据路径。在写入操作期间,页面缓冲器120可以数据图案的方式而被加载,此数据图案包括数据块和相应ECC,可以根据适合于存储器技术类型的程序而被编程和验证。在一些实施例中,页面缓冲器可以储存一个数据块和一个对应的ECC。在其他实施例中,页面缓冲器可以储存多于一个的数据块和多于一个的对应ECC。可以将页面缓冲器120的大小设计为适合于技术的特定实现,并考虑所使用的ECC逻辑的类型以及存储器装置的其他特性。
在此例中,输入/输出接口130也耦接到指令逻辑126,其中来自外部主机的指令可被解代码并应用于集成电路上的控制器125。
指令逻辑126可以产生应用于控制器125的内部控制信号。
控制器125可以包括一个或多个状态机或其他逻辑构造,借此控制信号被产生并应用于存储器的组件,以便执行嵌入式操作程序,包括写入程序和读取程序。对于闪存,写入程序可以包括编程程序和擦除程序。
控制器125可实现为使用特殊用途逻辑电路、可编程逻辑电路、具有储存在集成电路上的句柄而被执行以实现控制器125的一般用途处理器、及此些元件的组合。控制器125中的一个状态机或多个状态机可以被配置为通过将适当的定时和控制信号应用于装置的各种电路组件,来执行嵌入式操作程序。
由控制器125实现的写入程序,可包括所谓的递增步进脉冲编程(Incrementedstep pulse programming)ISPP,包括向页面缓冲器加载要编程的数据图案,及循环地(iteratively)将编程脉冲应用至页面缓冲器中所识别的位线,且使用禁止偏压应用到未选择的位线,然后进行验证步骤,直到数据图案被成功编程。在每次循环中,当成功验证某个位时,页面缓冲器中相对应的位被重置,以便在后续循环中接收到禁止偏压。再者,在每次循环中,编程脉冲的振幅可被递增或以其他方式被改变。
再者,擦除程序可以由控制器125上的状态机所实现,并通过将适当的定时和控制信号应用到装置的各种电路组件。擦除程序可以逐段地(segment-by-segment)或逐块地(block-by-block)应用于闪存。擦除程序可以包括在每个擦除脉冲之后的擦除验证操作。
根据本文所述技术的实施例,控制器125包括状态机或其他逻辑,被配置为通过将适当的定时和控制信号应用于装置的各种电路组件来执行复原程序。如本文所述的复原程序被执行以从存储器阵列存取被选取数据块和对应的ECC,以利用ECC逻辑105来识别被选取数据块中的错误位的存储器阵列的位置,并存取所识别的位置以将更正数据写回存储器阵列。在图中所示的实施例中,ECC逻辑105被配置为向页面缓冲器120提供识别错误位的位置的数据。控制器125可以使得编程脉冲被应用到页面缓冲器120中的位置数据所识别的位线,以通过写入更正数据来复原错误位。在另一示例中,错误位的位置可以在复原程序的错误识别阶段期间储存在表格中,这种作法可被用于在复原程序的后续复原阶段中将更正数据回馈到页面缓冲器。
如图3所示,用于储存复原操作的一个或多个参数的参数储存存储器128,与控制器125耦接。这些参数可包括存储器复原操作区域的指针(pointer),其中存储器复原操作区域对应于在复原程序期间可以涵盖(traverse)的地址空间,且在地址空间内将执行复原操作的给定样本。再者,参数可以包括关于当前复原操作区域的状态信息,或者关于阵列中的存储器位置的复原状态。控制器125可以利用这些参数来管理复原操作的执行,以有效地改善装置的数据保持特性。
控制器125可以被配置为维持操作模式,在其他操作中,此操作模式影响从外部主机接收的指令的解释。例如,控制器可以在读取和写入操作之间进入待机模式,其中状态机被配置为尽可能快地响应外部主机指令。在读取程序期间,控制器可以维持读取模式,在此期间外部主机指令可被排队(queue)或阻止。相仿地,控制器可以维持编程和擦除模式,而对外部主机指令的执行产生各种影响。控制器125还可以包括在逻辑以在集成电路的电源中断之后执行开机(power-on)程序。开机程序可以包括装置的电源电路(energizingcircuitry)并导致进入使能状态,使能状态可以包括例如待机模式,其中状态机处于执行使用存储器程序的状态。在本文描述的实施例中,控制器125被配置为在进入外部指令被接受的使能状态之前执行本文所述的复原程序。
在一个示例中,存储器包括闪存,例如高密度NAND闪存。也可以使用其他类型的存储器技术,包括相变存储器(phase change memory)PCM、称为ReRAM或RRAM的可编程电阻存储器、NOR闪存、磁阻(magnetoresistive)存储器等。再者,可以使用其他类型的存储器技术,包括例如DRAM或SRAM的易失性存储器。
图4绘示在一个实施例中执行的复原程序,其中集成电路包括接口以用于从外部主机接收指令、及控制逻辑以响应于来自外部主机的复原操作指令执行复原程序。复原操作指令可以在输入/输出接口处与控制信号(例如芯片选择信号和时钟信号)协调地被接收。在示例中,复原操作指令包括数据序列,此数据序列包括标识复原操作的一个或两个字节的操作代码。指令序列可以包括地址,地址包括足够数量的位以识别复原操作区域。替代地,复原操作区域可以通过参数而被识别,参数可由集成电路上的控制器所维持,或者通过参数写入操作而被储存在集成电路上。集成电路上的指令逻辑对复原操作指令进行解代码,并向执行嵌入式复原程序的控制器提供适当的信号。
因此,如图4所示,在开机之后或在待机模式期间,集成电路可处于等待指令的情况(200)。在这种情况下,可以从外部主机(201)接收复原操作指令。复原程序可以使用地址指针,地址指针识别图标中标记为“数据块(i)”之存储器复原操作区域内的数据块,以从存储器阵列存取被选取数据块和相应的错误更正码,以及利用ECC逻辑来识别数据块中的错误位位置(方框202)。复原程序可以将错误位位置的图案加载到页面缓冲器或其他储存器中(203)。然后,复原程序可以将更正数据写入所识别的位置(204)。在闪存或其他类型的存储器中,复原程序可以仅通过将从逻辑“1”储存的数据改变为逻辑“0”(擦除到编程状态)来更正错误。在一些实施例中,复原程序可以包括多个步骤以更正任何类型的错误。在为当前数据块写入更正数据之后,复原程序可以决定是否继续到下一个数据块(方块205)。此决定可以基于储存在集成电路上的复原参数,例如识别在复原程序的当前样本中要涵盖的复原操作区域(例如,开始和结束地址)的范围的参数、识别复原程序被允许执行复原程序的时间间隔的参数、或适合特定实现的其他参数。
如果决定继续复原程序,则递增索引“i”(206),并且程序循环回到方块202以继续直到完成复原程序的当前样本。如果在方块205决定复原程序的当前样本已完成,则复原程序结束(207)。在复原程序结束后,控制器可以返回待机模式或其他适当的操作模式。
图5绘示在一个实施例中执行的复原程序,其中集成电路包括接口以用于从外部主机接收指令、及逻辑以用于响应于来自外部主机的有关存储器阵列的写入操作区域的指令。在此实施例中,控制逻辑响应于写入程序的当前样本执行复原程序。例如,在由写入指令的指令逻辑检测时,复原程序可以响应于当前样本而执行,通过执行控制逻辑中的设置步骤,且在设置时间下启动操作。在此实施例中,控制逻辑识别存储器阵列中的复原操作区域,此复原操作区域不同于写入程序的当前样本的写入操作区域。再者,复原操作从复原操作区域中选择用于复原程序的数据块。复原操作可以顺序地进行于整个复原操作区域中的数据块。此示例中的复原操作可以执行于写入操作的当前样本之前、写入操作的当前样本之后,或者在各种实施例中与写入操作的当前样本同时执行。
因此,如图5所示,存储器控制器可以例如在待机模式中开始(270)。控制器可以从外部主机接收写入操作指令(271)。控制器执行嵌入式写入程序的样本以将用户数据写至存储器阵列的写入操作区域所识别的存储单元(272)。在完成嵌入式写入程序的当前样本之后,或者在响应当前样本而设置的另一时间,复原程序被建立。此实施例中的复原程序识别与写入操作区域不同的复原操作区域。复原程序可以使用地址指针,地址指针识别图标中标记为“数据块(i)”的存储器中所识别的复原操作区域内的数据块,以从存储器阵列存取被选择的数据块和相应的错误更正码。复原程序可以利用ECC逻辑来识别所选数据块中的错误位位置(方框273)。复原程序可以将错误位位置的图案加载到页面缓冲器或其他储存器中(274)。然后,复原程序可以将更正数据写入所识别的位置(275)。在写入更正数据至当前数据块之后,复原程序可以决定是否继续到下一个数据块(方块276)。此决定可以基于储存在集成电路中的复原参数,例如识别在复原程序的当前样本中要涵盖的复原操作区域的范围的参数、识别复原程序被允许执行复原程序的时间间隔的参数、或适合特定实现的其他参数。
如果决定继续复原程序,递增索引“i”(277),且程序循环回到方块273以继续直到完成复原程序的当前样本。如果在ECC逻辑105决定复原程序的当前样本已完成,则复原程序结束(278)。在复原程序结束后,控制器可以返回待机模式或其他适当的操作模式。
在本技术的一个示例中,写入程序的特征可以是时间持续规范,在时间持续规范期间控制器将不接受来自外部主机的指令,或者在此期间将需要执行写入操作的中断程序来执行这样的指令。响应于写入程序的当前样本,控制器中执行复原程序的逻辑可以响应于写入程序的当前样本,在写入程序的时间持续规范内,在复原操作区中顺序地将复原程序应用于多个数据块。例如,如果写入操作被指定以写入256字节数据的方块,写入操作可以在时间持续规范结束之前以数十微秒的等级的窗口而被完成。在这多余的几十微秒内,复原程序可以应用于例如64字节或128字节的复原操作区域,这取决于特定的实现。对于大方块数据的较长写入操作,可以使用用于执行复原操作的较长窗口。因此,例如,如果写入方块的写入操作区域大约为4千字节(KB),复原程序可能有几十毫秒的窗口,允许大约1KB或2KB等级的复原。对于闪存装置中的扇区擦除指令,写入的时间持续规范可以是大约40毫秒,而完成擦除操作所需的时间可以是大约25毫秒。这将留下大约15毫秒的窗口,以用于在此窗口内完成复原程序。对于代表性闪存装置中的方块擦除指令,写入时间规范可以是大约300毫秒,但是仅需要大约250毫秒来完成。为了复原操作的目的,这将留下大约50毫秒的窗口。
因此,方块276处的逻辑可以决定写入程序的当前样本的时间持续规范内可用的时间量,并且基于可用时间窗口来决定是否继续复原操作。
替代地,复原程序可以包括步骤以响应于写入操作的当前样本的范围,计算存储器中的复原操作区域的范围。在这种情况下,方块276处的逻辑可以将用于存取数据块的当前指标与所计算的复原操作区域的端点进行比较,以决定是否继续。
图6A-6C绘示决定复原程序的复原操作区域的逻辑,复原程序被执行以响应于写入程序的特定实例。因此,图6A绘示存储器阵列地址空间250A。写入指令可以识别写入程序的当前样本的写入操作区域253A。集成电路上的控制器可以计算与写入操作区域253A不同的复原操作区域252A,但大小是写入操作区域253A的大小的函数。控制器可以产生并维持复原指标255A,用于选择当前的数据块以便存取复原程序,并在程序继续时涵盖复原操作区域。阵列的平衡是取消选择的区域251A,不涉及写入操作程序或复原程序的当前样本。
图6B绘示存储器阵列地址空间250B。写入指令可以识别写入程序的当前样本的写入操作区域253B。如图中的比例大小所示,图6B的写入操作区域253B的大小大于图6A的写入操作区域253A的大小。集成电路上的控制器可以计算与写入操作区域253B不同的复原操作区域252B,但大小是写入操作区域253B的大小的函数。图6B中的复原操作区域252B的大小大于图6A中的复原操作区域252A的大小,因为相应的写入操作区域也更大。控制器可以产生并维持复原指标255B,用于选择当前的数据块以存取复原程序,并在程序继续时涵盖复原操作区域。阵列的平衡是取消选择的区域251B,不涉及写入操作过程或复原程序的当前样本。
图6C说明存储器阵列地址空间250C。写入指令可以识别写入程序的当前样本的写入操作区域253C。如图中的比例大小所示,图6C的写入操作区域253C的大小大于图6A的写入操作区域253A和图6B中的写入操作区域253B的大小。集成电路上的控制器可以计算与写入操作区域253C不同的复原操作区域252C,但是其大小是写入操作区域253C的大小的函数。图6C中的复原操作区域252C的大小大于图6A中的复原操作区域252A和图6B中的复原操作区域253B的大小,因为相应的写入操作区域也更大。控制器可以产生并维持复原指标255C,用于选择当前的数据块以存取复原程序,并且随着程序的继续涵盖复原操作区域。阵列的平衡是取消选择的区域251C,不涉及写入操作程序或复原程序的当前样本。
图7绘示实施例的复原程序,其中集成电路包括接口以用于从外部主机接收指令、及逻辑以用于响应于来自外部主机的指令执行读取和写入程序。而且,在此实施例中,集成电路上的控制器被配置为在读取和写入程序之间进入待机模式。控制器中用于执行复原程序的控制逻辑在待机模式期间应用复原程序。
在此示例中,控制器可以在完成读取或写入程序之后开始处于空闲状态(300)。从空闲状态,控制器可以进入待机模式(301)。在待机模式期间,复原程序由集成电路上的控制逻辑而被自动建立。在此实施例中,复原程序识别复原操作区域,复原操作区域可以由储存在如上所述的集成电路上的参数所识别。复原程序可以使用地址指针,地址指针识别在图中标记为“数据块(i)”的在所识别的存储器的复原操作区域内的数据块,以从存储器阵列存取被选取数据块和相应的错误更正码。复原程序可以利用ECC逻辑来识别被选取数据块中的错误位位置(方块302)。复原程序可以将错误位位置的图案加载到页面缓冲器或其他储存器中(303)。然后,复原程序可以将更正的数据写入所识别的位置(304)。在写入更正数据至当前数据块之后,复原程序可以决定是否继续到下一个数据块(方块305)。此决定可以基于储存在集成电路中的复原参数,例如标识在复原程序的当前样本中要涵盖的复原操作区域的范围的参数、识别复原程序被允许执行复原程序的时间间隔的参数、或适合特定实现的其他参数。而且,此决定可以基于控制器是否已经从外部主机接收到执行另一操作的指令。
如果决定继续复原程序,递增索引“i”(306),并且程序循环回到方块302以继续直到完成复原程序的当前样本。如果在方块305决定复原程序的当前样本已完成,复原程序结束(307)。在复原程序结束后,控制器可以返回待机模式或其他适当的操作模式。
在图7的实施例中,复原程序可以在背景执行,并且可以几乎在任何时间被中断或停止,而不影响任务功能读取和写入存储器的性能。再者,控制器可以维持识别存储器区域的复原状态的参数,并且随时间涵盖整个存储器阵列。
图8A~8C绘示决定复原程序的复原操作区域的逻辑,此复原程序的执行方式例如参考图7所讨论者。因此,图8A绘示存储器阵列地址空间350A。集成电路上的控制器可以计算具有预定大小的复原操作区域352A,且起始于阵列350A的底部。控制器可以产生并维持复原指标355A,用于选择当前的数据块以存取复原程序,并在程序继续时涵盖复原操作区域。阵列的平衡是取消选择的区域351A,不涉及复原程序的当前样本。
图8B绘示存储器阵列地址空间350B。集成电路上的控制器可以利用储存在集成电路上的状态参数来计算与复原操作区域352A不同并且与其相邻的复原操作区域352B。在一些实施例中,图8B中的复原操作区域352B可以具有与图6A中的复原操作区域352A相同的大小。控制器可以产生并维持复原指标355B,用于选择当前的数据块以存取复原程序,并在程序继续时涵盖复原操作区域。阵列的平衡包括取消选择区域351B和353B,不涉及复原程序的当前样本。
图8C示存储器阵列地址空间350C。集成电路上的控制器可以利用储存在集成电路上的状态参数来计算与复原操作区域352B不同并且与其相邻的复原操作区域352C。在一些实施例中,图8C中的复原操作区域352C可以具有与图6A中的复原操作区域352A相同的大小。控制器可以产生并维持复原指标355C,用于选择当前的数据块以存取复原程序,并随着程序的继续涵盖复原操作区域。阵列的平衡包括取消选择的区域351C和353C,不涉及复原程序的当前样本。可以使用由控制器维持的参数随时间将复原操作应用于整个阵列350C。
图9绘示实施例的复原程序,其中集成电路包括逻辑以用于执行开机程序以进入使能状态,例如在断电事件之后的待机模式。再者,在此实施例中,集成电路上的控制器被配置为在开机过程中进入使能状态,例如待机模式。在进入外部主机的指令不被接受的使能状态之前,控制器中用于执行复原程序的控制逻辑在使能状态期间应用复原程序。
在此示例中,控制器可以起始于检测到开机事件之时(400)。在开机程序中,控制器被使能以执行嵌入式复原程序并建立复原程序。此实施例中的复原程序识别复原操作区域,此复原操作区域可以由储存在如上所述的集成电路上的参数所识别。复原程序可以使用地址指针,此地址指针识别在图标中标记为“数据块(i)”的在所识别的存储器的复原操作区域内的数据块,以从存储器阵列存取被选取数据块和相应的错误更正码。复原程序可以利用ECC逻辑来识别所选择的数据块中的错误位位置(方块401)。复原程序可以将错误位位置的图案加载到页面缓冲器或其他储存器中(402)。然后,复原程序可以将更正的数据写入所识别的位置(403)。在写入更正数据至当前数据块之后,复原程序可以决定是否继续到下一个数据块(方块404)。此决定可以基于储存在集成电路中的复原参数,例如标识在复原程序的当前样本中要涵盖的复原操作区域的范围的参数、识别复原程序被允许执行复原程序的时间间隔的参数、或适合特定实现的其他参数。执行或适合特定实现的其他参数。在一个实施例中,响应于开机事件而执行的复原程序涵盖整个存储器阵列。在其他实施例中,它涵盖存储器阵列的指定部分。在其他实施例中,它以参考第8A~8C图讨论的方式涵盖复原操作区域。
如果决定继续复原程序,递增索引“i”(405),并且程序循环回到方块401以继续直到完成复原程序的当前样本。如果在方块404确定复原程序的当前样本已完成,控制器可进入待机模式或其他适当的操作模式(406)。当控制器进入待机模式时,完成复原程序(407)。
在图9的实施例中,复原程序可以在断电事件之后且在利用存储器的数据之前执行,如同前景操作,其可以增加在开机事件后主机所遇到的等待时间。然而,可以改善数据的状况以增加任务函数读取的可靠性。
本文描述的多个流程图说明由存储器装置上的逻辑所执行的程序。此逻辑可以使用以计算机程序编程的处理器而被实现,计算机程序储存在计算器系统可存取的存储器中并由处理器、专用逻辑硬件(包括现场可编程集成电路)、及专用逻辑硬件和计算器程序的组合所执行。利用本文的所有流程图,可以理解许多步骤可以组合、并行执行、或以不同顺序执行而不影响所实现的功能。在一些情况下,如读者所将理解的,只有在进行某些其他改变时,步骤的重新排列才能实现相同的结果。在其他情况下,如读者所将理解的,仅当满足某些条件时,步骤的重新排列将实现相同的结果。再者,请理解本文的流程图仅示出与理解本发明有关的步骤,并且请理解可以在所示出的那些内容之前、之后和之间执行用于实现其他功能的许多附加步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种集成电路,包括:
一存储器阵列,被配置以储存多个数据块,所述数据块具有对应的错误更正码;
错误更正逻辑,使用所述错误更正码处理从该存储器阵列所接收的数据块,以识别所接收的所述数据块中的错误位置;
控制逻辑,执行一复原程序,借以从该存储器阵列存取一被选取数据块及对应的错误更正码、使用该错误更正逻辑识别在该被选取数据块的一错误位的该存储器阵列中的一位置、及存取所识别的该位置来写入更正数据;
一接口,以接收来自一外部主机的多个指令;及用以响应于来自该外部主机至该存储器阵列的一写入操作区域的一指令而执行一写入程序逻辑,其中执行该复原程序的该控制逻辑响应于该写入程序的一当前样本,以识别与该存储器阵列的该写入操作区域不同的一复原操作区域,及从该复原操作区域选择用于该复原程序的该数据块;
其中,该写入程序的特征在于一时间持续规范,该时间持续规范包括一多余时间以用于该写入程序的至少一些样本,且该控制逻辑包括逻辑以在该时间持续规范内,响应于该当前样本顺序地应用该复原程序至该复原操作区域内的多个数据块。
2.如权利要求1项所述的集成电路,包括一页面缓冲器及写入逻辑,该写入逻辑耦接至该页面缓冲器,使用该页面缓冲器执行写入及验证程序以响应于用于储存该存储器阵列的数据块的写入指令;及
其中,该复原程序加载该页面缓冲器的该错误位位置以识别该被选取数据块内该错误位的该存储器阵列内的该位置,及应用一写入偏压脉冲及一验证周期以使用该页面缓冲器写入更正数据。
3.如权利要求1项所述的集成电路,其中执行该复原程序的该控制逻辑包括逻辑以顺序地应用该复原程序至多个数据块。
4.如权利要求1项所述的集成电路,其中执行该复原程序的该控制逻辑包括用以维持识别该存储器中的一复原操作区域的一个或多个复原参数逻辑,及顺序地应用该复原程序至该复原操作区域内的多个数据块。
5.如权利要求1项所述的集成电路,其中该写入程序的样本写入具有不同尺寸的多个区块的数据,该复原操作区域的尺寸为该当前样本的该区块的尺寸的函数。
6.如权利要求1项所述的集成电路,其中该集成电路包括:一接口,以接收来自一外部主机的多个指令;及用以响应于来自该外部主机的多个指令而执行读取及写入程序,并进入所述读取及写入程序之间的一待机模式逻辑;其中执行该复原程序的该控制逻辑在该待机模式期间应用该复原程序。
7.如权利要求1项所述的集成电路,其中该集成电路包括用以在应用至该集成电路的电源中断后执行一开机过程,从而进入一使能状态逻辑,其中在进入该使能状态前,用以执行该复原程序的该控制逻辑应用该复原程序以作为该开机过程的一部分。
8.如权利要求1项所述的集成电路,其中该集成电路包括一接口以接收来自一外部主机的多个指令,且其中该控制逻辑响应于来自该外部主机的一复原操作指令以执行该复原程序。
9.一种用以操作一集成电路上的一存储器的方法,该方法包括:
储存多个数据块与对应的错误更正码于该存储器中;以及
执行一复原程序以从该存储器存取一被选取数据块及对应的错误更正码,使用该集成电路上的错误更正逻辑来识别该被选取数据块的一错误位的该存储器的一位置,以及存取该存储器中所识别的该位置以写入更正数据;
响应于一外部主机至该存储器的一写入操作区域的一指令以执行一写入程序的一当前样本,且响应于该写入程序的该当前样本,识别与该存储器的该写入操作区域不同的一复原操作区域,并顺序地应用该复原程序至该复原操作区域内的多个数据块;
其中该写入程序的特征在于一时间持续规范,该时间持续规范包括一多余时间以用于该写入程序的至少一些样本,及在该时间持续规范内,响应于该写入程序的该当前样本于该复原操作中顺序地应用该复原程序至多个数据块。
10.如权利要求9项所述方法,其中该复原程序包括从该集成电路上的错误更正逻辑加载一页面缓冲器中的该错误位位置,以识别该被选取数据块的该错误位的该存储器的该位置,及应用一写入偏压脉冲及一验证周期以使用该页面缓冲器写入更正数据。
11.如权利要求9项所述方法,还包括顺序地应用该复原程序至多个数据块。
12.如权利要求9项所述方法,还包括维持识别该存储器中的一复原操作区域的该集成电路上的一个或多个复原参数,及顺序地应用该复原程序至该复原操作区域内的多个数据块。
13.如权利要求9项所述方法,其中该写入程序的多个样本写入具有不同尺寸的多个区块的数据,且该复原操作区域的尺寸为该当前样本的该区块的尺寸的函数。
14.如权利要求9项所述方法,其中该集成电路包括一接口,以接收来自一外部主机的多个指令;及用以响应于来自该外部主机的多个指令而执行读取及写入程序,并进入读取及写入程序之间的一待机模式逻辑;其中该方法还包括在该待机模式期间应用该复原程序。
15.如权利要求9项所述方法,其中该集成电路包括用以在应用至该集成电路的电源中断后执行一开机过程,从而进入一使能状态逻辑,其中该方法还包括在进入该使能状态前,应用该复原程序以作为该开机过程的一部分。
16.如权利要求9项所述方法,还包括回应于来自一外部主机的一复原操作指令执行该复原程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/029,344 | 2018-07-06 | ||
US16/029,344 US10725862B2 (en) | 2018-07-06 | 2018-07-06 | Data recovery method to error correction code in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688246A CN110688246A (zh) | 2020-01-14 |
CN110688246B true CN110688246B (zh) | 2023-03-24 |
Family
ID=69101413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811072778.8A Active CN110688246B (zh) | 2018-07-06 | 2018-09-14 | 集成电路及用以操作集成电路上的存储器的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10725862B2 (zh) |
CN (1) | CN110688246B (zh) |
TW (1) | TWI681399B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115206406A (zh) * | 2021-04-12 | 2022-10-18 | 伊姆西Ip控股有限责任公司 | 管理独立磁盘冗余阵列的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4726021A (en) * | 1985-04-17 | 1988-02-16 | Hitachi, Ltd. | Semiconductor memory having error correcting means |
JPH07261943A (ja) * | 1994-03-25 | 1995-10-13 | Hitachi Ltd | データのエラー訂正方法および装置 |
CN103593252A (zh) * | 2012-08-14 | 2014-02-19 | 旺宏电子股份有限公司 | 具有动态错误侦测及更正的存储器 |
CN104681100A (zh) * | 2013-11-29 | 2015-06-03 | 慧荣科技股份有限公司 | 用于闪存装置的错误更正码单元、自我测试方法及控制器 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SK273092A3 (en) * | 1991-09-17 | 1994-11-09 | Koninkl Philips Electronics Nv | Device for winning belt carriers of record, carrier of record and reproduction device |
US6119261A (en) * | 1998-03-17 | 2000-09-12 | Quantum Corporation | Method for recovering data from disk with a dynamic erasure offset ECC data recovery protocol |
US7051264B2 (en) | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
JP2003346433A (ja) * | 2002-05-29 | 2003-12-05 | Toshiba Corp | イレージャーポインターの機能を検証する方法及びそのための記録再生装置 |
TWI289851B (en) * | 2005-05-04 | 2007-11-11 | Univ Tsinghua | Semiconductor memory and method of correcting errors for the same |
TW200731230A (en) | 2006-02-10 | 2007-08-16 | Sunplus Technology Co Ltd | Error correction code decoder |
WO2008070813A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
CN100449498C (zh) * | 2007-02-16 | 2009-01-07 | 沃华科技有限公司 | 数据储存装置 |
US8239732B2 (en) * | 2007-10-30 | 2012-08-07 | Spansion Llc | Error correction coding in flash memory devices |
US8854882B2 (en) * | 2010-01-27 | 2014-10-07 | Intelligent Intellectual Property Holdings 2 Llc | Configuring storage cells |
WO2011094454A2 (en) * | 2010-01-27 | 2011-08-04 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
US8560925B2 (en) * | 2011-04-05 | 2013-10-15 | Denso International America, Inc. | System and method for handling bad bit errors |
JP5269151B2 (ja) * | 2011-06-09 | 2013-08-21 | シャープ株式会社 | 半導体記憶装置 |
JP2013218758A (ja) | 2012-04-06 | 2013-10-24 | Genusion:Kk | 不揮発性半導体記憶装置 |
US9075710B2 (en) * | 2012-04-17 | 2015-07-07 | SanDisk Technologies, Inc. | Non-volatile key-value store |
KR101996004B1 (ko) * | 2012-05-29 | 2019-07-03 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템 |
US8990655B2 (en) * | 2012-09-28 | 2015-03-24 | Intel Corporation | Techniques associated with error correction for encoded data |
TWI502601B (zh) | 2013-04-24 | 2015-10-01 | Ind Tech Res Inst | 混合式錯誤修復方法及其記憶體裝置 |
KR102081588B1 (ko) * | 2013-08-08 | 2020-02-26 | 삼성전자 주식회사 | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 |
US9514848B2 (en) * | 2014-04-03 | 2016-12-06 | Lite-On Electronics (Guangzhou) Limited | Solid state drive and associated error check and correction method |
KR102248267B1 (ko) | 2014-04-30 | 2021-05-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 및 읽기 방법들 |
KR102167609B1 (ko) | 2014-05-13 | 2020-10-20 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR102142590B1 (ko) | 2014-06-16 | 2020-08-07 | 삼성전자 주식회사 | 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법 |
US11403170B2 (en) * | 2014-08-05 | 2022-08-02 | Macronix International Co., Ltd. | Method and device for monitoring data error status in a memory |
US9396080B2 (en) * | 2014-08-07 | 2016-07-19 | Sandisk Technologies Llc | Storage module and method for analysis and disposition of dynamically tracked read error events |
US9652321B2 (en) * | 2014-09-23 | 2017-05-16 | Intel Corporation | Recovery algorithm in non-volatile memory |
US10353598B2 (en) | 2014-10-06 | 2019-07-16 | Sandisk Technologies Llc | System and method for refreshing data in a memory device |
US9519539B2 (en) * | 2014-10-24 | 2016-12-13 | Macronix International Co., Ltd. | Monitoring data error status in a memory |
US9773571B2 (en) | 2014-12-16 | 2017-09-26 | Macronix International Co., Ltd. | Memory repair redundancy with array cache redundancy |
KR102500616B1 (ko) * | 2016-02-26 | 2023-02-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170114438A (ko) * | 2016-04-04 | 2017-10-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102636039B1 (ko) * | 2016-05-12 | 2024-02-14 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법 |
KR102456173B1 (ko) * | 2017-10-27 | 2022-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
-
2018
- 2018-07-06 US US16/029,344 patent/US10725862B2/en active Active
- 2018-08-23 TW TW107129507A patent/TWI681399B/zh active
- 2018-09-14 CN CN201811072778.8A patent/CN110688246B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4726021A (en) * | 1985-04-17 | 1988-02-16 | Hitachi, Ltd. | Semiconductor memory having error correcting means |
JPH07261943A (ja) * | 1994-03-25 | 1995-10-13 | Hitachi Ltd | データのエラー訂正方法および装置 |
CN103593252A (zh) * | 2012-08-14 | 2014-02-19 | 旺宏电子股份有限公司 | 具有动态错误侦测及更正的存储器 |
CN104681100A (zh) * | 2013-11-29 | 2015-06-03 | 慧荣科技股份有限公司 | 用于闪存装置的错误更正码单元、自我测试方法及控制器 |
Also Published As
Publication number | Publication date |
---|---|
TW202006733A (zh) | 2020-02-01 |
US10725862B2 (en) | 2020-07-28 |
TWI681399B (zh) | 2020-01-01 |
CN110688246A (zh) | 2020-01-14 |
US20200012560A1 (en) | 2020-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694852B2 (en) | Nonvolatile memory devices with age-based variability of read operations and methods of operating same | |
US9223656B2 (en) | Operating method for memory system including nonvolatile RAM and NAND flash memory | |
US8705279B2 (en) | Nonvolatile memory device and reading method thereof | |
US20130279264A1 (en) | Nonvolatile memory device, system and programming method with dynamic verification mode selection | |
US20110188292A1 (en) | Variable resistance memory, operating method and system | |
JP6081878B2 (ja) | 不揮発性メモリに関する保持ロジック | |
TWI482158B (zh) | 抑制快閃記憶體響應外部命令時漏電之方法與裝置 | |
KR20090066732A (ko) | 반도체 메모리 장치 및 그것의 읽기 페일 분석 방법 | |
US20100202203A1 (en) | Data restoration method for a non-volatile memory | |
KR102178141B1 (ko) | 비휘발성 메모리 장치의 동작 방법 | |
US20120106247A1 (en) | Flash memory device including flag cells and method of programming the same | |
US9286207B2 (en) | Method of managing the endurance of non-volatile memories | |
US11500563B2 (en) | Memory system and operating method for testing target firmware by processing a plurality of test commands | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN110688246B (zh) | 集成电路及用以操作集成电路上的存储器的方法 | |
CN114253465A (zh) | 存储器系统及其操作方法 | |
US11237767B2 (en) | Memory system, memory controller and method for operating memory controller | |
KR20230090598A (ko) | 히스토리 데이터를 사용하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
US11495319B2 (en) | Memory system, memory controller, and method for operating memory system performing integrity check operation on target code when voltage drop is detected | |
US11656790B2 (en) | Memory system, memory controller, and operation method of memory system | |
US11640263B2 (en) | Memory system and operating method thereof | |
US20230195367A1 (en) | Memory system, memory controller, and operation method of memory system | |
US20240231987A1 (en) | Storage device, method of operating storage device, and method of operating non-volatile memory | |
US11500771B2 (en) | Memory system, memory controller, and method of operating memory system | |
US20240153546A1 (en) | Memory device for performing read protection operation of limiting read operation and method of operating the same |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |