CN108806745A - 存储系统及其操作方法 - Google Patents
存储系统及其操作方法 Download PDFInfo
- Publication number
- CN108806745A CN108806745A CN201810159641.XA CN201810159641A CN108806745A CN 108806745 A CN108806745 A CN 108806745A CN 201810159641 A CN201810159641 A CN 201810159641A CN 108806745 A CN108806745 A CN 108806745A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- storage unit
- memory device
- read
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- 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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0658—Controller construction 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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/0409—Online test
-
- 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
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4062—Parity or ECC in refresh operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种用于操作存储系统的方法,包括:从存储器件中读取数据;检测和校正数据的错误;当数据的错误等于或大于阈值时,将与存储器件中从其读取数据的存储单元相对应的地址确定为需要重写的地址;以及重写与需要重写的地址相对应的存储单元的数据。
Description
相关申请的交叉引用
本申请要求2017年5月2日提交的申请号为10-2017-0056084的韩国专利申请的优先权,其公开内容通过引用整体合并于此。
技术领域
本公开的示例性实施例涉及一种包括存储器件和用于控制存储器件的存储器控制器的存储系统。
背景技术
最近,研究人员和业界正集中开发用于替代动态随机存取存储器(DRAM)和快闪存储器的下一代存储器件。下一代存储器件之一是使用可变电阻材料的电阻式存储器件,该可变电阻材料即为由于电阻根据施加于其上的偏压而急剧变化,因此能够在至少两种不同的电阻状态之间切换的材料。电阻式存储器件的非限制性示例包括相变随机存取存储(PCRAM)器件、电阻式随机存取存储(RRAM)器件、磁性随机存取存储(MRAM)器件和铁电式随机存取存储(FRAM)器件。
典型的电阻式存储器件可以具有利用交叉点阵列结构的存储单元阵列,该交叉点阵列结构具有彼此交叉的多个下电极(例如,多个行线(或字线))和多个上电极(例如,多个列线(或位线))以及设置在交叉点处的存储单元。每个存储单元可以包括串联耦接的可变电阻器件和选择器件。
尽管电阻式存储器件被开发为非易失性存储器件,但是在数据被写入到存储单元之后,可能会发生电阻值随着时间推移而变化的漂移现象,从而导致数据的丢失。因此,期望开发一种解决限制性存储器件中数据丢失的解决方案。
发明内容
本发明的实施例涉及一种包括至少一个存储器件的存储系统,该存储系统可以有效地防止存储器件的存储单元的数据丢失。存储器件可以是电阻式存储器件。
根据本发明的一个实施例,一种用于操作存储系统的方法包括:从存储器件中读取数据;检测和校正数据的错误;当数据的错误等于或大于阈值时,将与存储器件中从其读取数据的存储单元相对应的地址确定为需要重写的地址;以及重写与需要重写的地址相对应的存储单元的数据。
可以根据来自主机的请求来执行数据的读取、数据的错误的检测和校正以及与存储单元相对应的地址的确定。
重写存储单元的数据的步骤可以包括:读取与需要重写的地址相对应的存储单元的数据;检测和校正读取的数据的错误以便产生已纠错数据;以及将已纠错数据写入到与需要重写的地址相对应的存储单元中。
重写存储单元的数据的步骤可以包括:当不可能校正读取数据的错误时,重复改变存储器件中使用的读取电压的电压电平,并且执行读取与需要重写的地址相对应的存储单元的数据的操作。
当数据的错误等于或大于阈值时,可以在改变从其读取数据的存储单元的同时周期性地执行数据的读取、数据的错误的检测和校正以及与存储单元相对应的地址的确定。
存储器件可以包括多个存储单元,并且多个存储单元中的每个存储单元可以包括电阻式存储元件和选择元件。
电阻式存储元件可以是相变存储器件。
根据本发明的另一实施例,一种存储系统包括:存储器件,其包括多个存储单元;以及存储器控制器,其适用于从存储器件中读取数据,并且当数据的错误等于或大于阈值时,将与从其读取数据的存储单元相对应的地址确定为需要重写的地址。
存储器控制器可以重写与需要重写的地址相对应的存储单元的数据。
存储器控制器可以响应于来自主机的读取操作请求而从存储器件中读取数据,以及当数据的错误等于或大于阈值时,存储器控制器可以执行将与从其读取数据的存储单元相对应的地址确定为需要重写的地址的操作。
存储器控制器可以从存储器件中读取数据,以及当数据的错误等于或大于阈值时,存储器控制器可以在改变从其读取数据的存储单元的同时周期性地执行将与从其读取数据的存储单元相对应的地址确定为需要重写的地址的操作。
在重写操作期间,存储器控制器可以从存储器件的与需要重写的地址相对应的存储单元中读取数据,检测和校正数据的错误以便产生已纠错数据,并且将已纠错数据写入到存储器件的与需要重写的地址相对应的存储单元中。
在重写操作期间,当不可能校正读取数据的错误时,存储器控制器可以在改变存储器件中使用的读取电压的电压电平的同时周期性地执行从与需要重写的地址相对应的存储单元中读取数据的操作,直到读取数据的错误变得可校正为止。
存储器控制器可以包括:纠错电路,其适用于检测和校正从存储器件中读取的数据的错误,以便产生已纠错数据;需要重写的地址储存电路,其适用于储存需要重写的地址;以及重写电路,其适用于重写与需要重写的地址相对应的存储单元的数据。
存储器控制器可以包括:主机接口,其适用于与主机通信;调度器,其适用于确定主机的请求的处理顺序;命令发生器,其适用于产生要施加到存储器件的命令;存储器接口,其适用于与存储器件通信;以及读取重试电路,其适用于控制存储器件的读取重试操作。
多个存储单元中的每个存储单元可以包括:电阻式存储元件;以及选择元件。
电阻式存储元件可以是相变存储器件。
附图说明
图1示出了电阻式存储器件的示例性电阻式存储单元。
图2是示出电阻式存储单元的示例性I-V曲线的曲线图。
图3A和图3B是示出电阻式存储器件的存储单元的阈值电压分布的曲线图。
图4是示出根据本公开的一个实施例的存储系统的框图。
图5是示出根据本公开的一个实施例的在存储系统中需要重写操作的存储单元上的信息收集操作的流程图。
图6是示出根据本公开的另一个实施例的在存储系统中需要重写操作的存储单元上的信息收集操作的流程图。
图7是示出根据本公开的一个实施例的存储系统中的重写操作的流程图。
具体实施方式
下面将参照附图来更详细地描述本发明的示例性实施例。然而,本发明可以采用不同的形式来实施,并且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开将是彻底和完整的,并且将向本领域技术人员充分地传达本发明的范围。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记表示相同的部件。
图1示出了电阻式存储器件的电阻式存储单元100。图2是示出电阻式存储单元(例如,图1的电阻式存储单元100)的I-V曲线的曲线图。
参考图1,电阻式存储单元100可以包括电阻式存储元件M和选择元件S。
电阻式存储元件M可以基于储存在其中的数据而处于低电阻状态(其是设置状态SET)或高电阻状态(其是复位状态RESET)。例如,电阻式存储元件M可以是相变存储器件,其中当电阻式存储元件M处于晶态时,电阻式存储元件M的电阻值可以为低,而当电阻式存储元件M处于非晶态时,电阻式存储元件M的电阻值可以为高。
当选择元件S关断时,少量电流流过,以及然后当流经存储单元的电流量超过阈值Ith时,选择元件S导通,从而与选择元件S导通之前流过的电流量相比,使更多的电流流过。选择元件S可以经历在选择元件S导通之后电阻式存储单元100的两端处的电压电平急剧下降的转折现象。选择元件S可以是双向阈值开关(OTS)。
图2示出了流经电阻式存储单元的电流,例如基于施加到电阻式存储单元100的两端的电压而流经图1的电阻式存储单元100的电流。无论电阻式存储单元100处于高电阻状态RESET还是电阻式存储单元100处于低电阻状态SET,随着施加到两端的电压的电压电平变得更高,流经电阻式存储单元100的电流量增大。在相同的电压电平下,与在具有高电阻状态RESET的电阻式存储单元100中相比,更多的电流可以在具有低电阻状态SET的电阻式存储单元100中流过。
当处于低电阻状态SET的电阻式存储单元100的两端的电压达到低电阻状态的阈值SET_Vth时,换言之,当流经处于低电阻状态SET的电阻式存储单元100的电流量达到阈值Ith时,处于低电阻状态SET的电阻式存储单元100的选择元件S可以导通,并且可以发生电阻式存储单元100的两端处的电压电平急剧下降而流经电阻式存储单元100的电流量急剧增大的转折现象。
当处于高电阻状态RESET的电阻式存储单元100的两端处的电压达到高电阻状态的阈值RESET_Vth时,换言之,当流经处于高电阻状态RESET的电阻式存储单元100的电流量达到阈值Ith时,处于高电阻状态RESET的电阻式存储单元100的选择元件S可以导通,并且可以发生电阻式存储单元100的两端处的电压电平急剧下降而流经电阻式存储单元100的电流量急剧增大的转折现象。
可以通过使用转折现象来读取储存在电阻式存储单元100中的数据。当比低电阻状态的阈值SET_Vth大且比高电阻状态的阈值RESET_Vth小的读取电压V_READ被施加到电阻式存储单元100的两端时并且当电阻式存储单元100处于低电阻时,电阻式存储单元100中发生转折现象,并且大量的电流流经电阻式存储单元100。当比低电阻状态的阈值SET_Vth大且比高电阻状态的阈值RESET_Vth小的读取电压V_READ被施加到电阻式存储单元100的两端时并且电阻式存储单元100处于高电阻时,电阻式存储单元100中不会发生转折现象,并且因此少量的电流可以流经电阻式存储单元100。因此,可以通过将上述的读取电压V_READ施加到电阻式存储单元100的两端并且感测流经电阻式存储单元100的电流量来判断电阻式存储单元100是处于低电阻状态还是处于高电阻状态。
可以通过将写入电流施加到电阻式存储单元100并且使电阻式存储单元100的电阻式存储元件M进入到熔化状态来写入(或编程)电阻式存储单元100的数据。当写入电流在电阻式存储单元100的电阻式存储元件M进入到熔化状态之后逐渐减小时,电阻式存储元件M的状态变成晶态,并且因此电阻式存储元件M的状态可以变成低电阻状态。当写入电流在电阻式存储单元100的电阻式存储元件M进入到熔化状态之后迅速减小时,电阻式存储器件M的状态变为非晶态,并且因此电阻式存储元件M的状态可以变成高电阻状态。
电阻式存储单元100的电阻式存储元件M的电阻值可以随着时间推移而由于漂移现象来改变。此外,已经观察到,选择元件S的电阻值可以随着时间推移而由于漂移现象来改变。简言之,储存在电阻式存储单元100中的数据可能会由于漂移现象而丢失。
图3A和图3B是示出电阻式存储器件的存储单元的阈值电压分布的曲线图。图3A示出了在写入数据之后的存储单元的阈值电压Vth分布。X轴表示阈值电压Vth,而Y轴表示存储单元的数量#。当存储单元的阈值电压Vth分布如图3A中所示时,处于设置状态SET的存储单元和处于复位状态RESET的存储单元可以基于读取电压V_READ来彼此区分。
图3B示出了图3A中的阈值电压分布由于在存储单元中发生的漂移现象而在经过预定时间时发生的变化。在图3B中可以看出,处于设置状态SET的存储单元和处于复位状态RESET的存储单元的所有阈值电压值都增大并向右漂移。当发生漂移现象时,处于设置状态SET的存储单元和处于复位状态RESET的存储单元必须基于更大的读取电压V_READ'来彼此区分。尽管漂移值具有随着时间推移而增大的趋势,但漂移值并不一致。因此,难以适当地控制读取电压V_READ'的值,并且当漂移发生得太多时,储存在存储单元中的数据可能丢失。
图4是示出根据本公开的一个实施例的存储系统400的框图。
参考图4,存储系统400可以包括存储器控制器410和存储器件420。
存储器控制器410可以根据从主机接收请求来控制存储器件420的操作。主机可以是中央处理单元(CPU)、图形处理单元(GPU)或应用处理器(AP)。存储器控制器410可以包括主机接口411、调度器412、命令发生器413、纠错电路414、需要重写的地址储存电路415、重写电路416、读取重试电路417和存储器接口418。
主机接口411可以是存储器控制器410与主机之间的接口。可以通过主机接口411接收主机的请求,并且可以通过主机接口411将请求的处理结果传送给主机。
调度器412可以确定从主机接收到的请求之中涉及存储器件420的请求的顺序。调度器412可以不同于从主机接收到的请求的顺序来确定涉及存储器件420的请求的顺序,以增强存储器件420的性能。例如,虽然主机首先请求存储器件420的读取操作以及然后请求存储器件420的写入操作,但是调度器412可以控制请求的顺序以在读取操作之前执行写入操作。
命令发生器413可以根据由调度器412确定的操作的顺序来产生要施加到存储器件420的命令。
在写入操作期间,纠错电路414可以基于写入数据来产生纠错码(ECC)。在纠错电路414中产生的纠错码可以与写入数据一起被储存在存储器件420中。纠错电路414可以基于纠错码而在读取操作期间检测和校正读取数据的错误。由纠错电路414检测的错误比特位的数量可以比可校正的错误比特位的数量大。例如,纠错电路414可以能够校正一次读取的读取数据(例如,一页的读取数据)之中的M个比特位的错误(其中M是等于或大于1的整数),而检测M+1个比特位的错误。简言之,纠错电路414可以能够校正M个比特位的错误,而检测M+1个比特位的错误。
需要重写的地址储存电路415可以将与存储器件420中需要重写操作的存储单元相对应的地址储存为需要重写的地址。在读取操作期间,与由纠错电路414从其检测到阈值的错误或更大的错误的存储单元相对应的地址可以被储存在需要重写的地址储存电路415中作为需要重写的地址。
重写电路416可以对与储存在需要重写的地址储存电路415中的需要重写的地址相对应的存储单元执行重写操作。可以保护被执行重写操作的存储单元以防丢失数据。将在后面参考图5至图7详细描述重写操作和重写电路416。
读取重试电路417可以是用于控制当从存储器件420读取的数据的错误未被纠错电路414校正时执行的读取重试操作的电路。读取重试操作是再次重复读取操作的操作,并且读取重试操作可以包括改变用于存储器件420的读取操作的读取电压的电压电平。
存储器接口418提供存储器控制器410与存储器件420之间的接口。可以通过存储器接口418将命令CMD和地址ADD从存储器控制器410传送到存储器件420,并且可以通过存储器接口418而在存储器控制器410与存储器件420之间传送和接收数据。存储器接口418也可以被称为物理PHY接口。
存储器件420可以在存储器控制器410的控制下执行读取操作和/或写入操作。在存储器件420中使用的读取电压VREAD的电压电平可以由存储器控制器410设置。存储器件420可以包括单元阵列421、读取/写入电路422、读取电压发生电路423和控制电路424。存储器件420可以是上面参考图1至图3描述的电阻式存储器件,但本发明的概念和精神不限于此,并且存储器件420可以是另一种类型的存储器件。
单元阵列421可以包括多个存储单元。读取/写入电路422可以将数据写入到单元阵列421的存储单元之中基于地址ADD选中的存储单元中,或者从单元阵列421的存储单元之中基于地址ADD选中的存储单元中读取数据。读取/写入电路422可以在写入操作期间从存储器控制器410接收要写入的数据,并且在读取操作期间将读取数据传送到存储器控制器410。读取电压发生电路423可以产生要用于读取操作的读取电压VREAD。由读取电压发生电路423产生的读取电压VREAD的电压电平可以由存储器控制器410来设置。控制电路424可以控制单元阵列421、读取/写入电路422和读取电压发生电路423以执行由从存储器控制器410接收到的命令CMD指示的读取操作、写入操作和/或设置操作。
图5是示出根据本公开的一个实施例的在存储系统(例如,图4的存储系统400)中需要重写操作的存储单元上的信息收集操作的流程图。
参考图5,首先,在步骤S501中,针对读取操作的读取请求可以从主机被传送到存储器控制器410。读取请求可以包括指定或指示存储器件420中要被执行读取操作的存储单元的地址信息。地址信息可以是根据公知的方案能够被控制器410转换为存储器件420的物理地址的逻辑地址。
在步骤S502中,存储器控制器410可以响应于步骤S501中的读取请求来将针对读取操作的命令CMD和指定要被执行读取操作的存储单元的地址ADD施加到存储器件420,并且从存储器件420读取的数据可以被传送到存储器控制器410。该数据可以包括正常数据和纠错码(ECC)。
在步骤S503中,存储器控制器410的纠错电路414可以检测和校正在步骤S502中读取的数据的错误。在步骤S504中,存储器控制器410可以将其错误在步骤S503中得到校正的数据传送到主机。
在步骤S505中,存储器控制器410可以将在步骤S503中检测到的错误与阈值进行比较。当在步骤S503中检测到的错误等于或大于阈值时(步骤S505中为“是”),可以确定数据很可能会丢失,以及与在步骤S502中从其读取数据的存储单元相对应的地址可以被确定为需要重写的地址并且在步骤S506中被储存在需要重写的地址储存电路415中。本文中,阈值可以被设置为小于M,M是可以由纠错电路414纠错的比特位数。例如,当可以由纠错电路414纠错的比特位的数量是8比特位时,阈值可以被设置为6比特位。这意味着发生了6比特位错误,并且纠错电路414可以能够校正高达8比特位的错误。这表示未来可能发生的错误与未由纠错电路414纠错的错误一样多。换言之,数据丢失的可能性很高。
每当根据主机的请求执行读取操作时都可以执行上面参考图5描述的收集需要重写的地址的操作。因此,图5的需要重写的地址收集操作可以是有利的,因为可以在不劣化存储系统400的性能的同时最小化用于收集需要重写的地址的额外操作。然而,由于仅被执行读取操作的存储单元经历了需要重写的地址收集操作,因此可以排除长时间未被执行读取操作的存储单元。
图6是示出根据本公开的另一个实施例的在存储系统(例如,图4的存储系统400)中需要重写操作的存储单元上的信息收集操作的流程图。
参考图6,首先,在步骤S601中,可以由重写电路416请求读取操作。在图5中,根据主机的请求开始读取操作。然而,在图6中,根据重写电路416的请求开始读取操作。可以周期性地执行步骤S601中的重写电路416的读取操作请求,并且每当请求读取操作时都可以改变指定或指示要被执行读取操作的存储单元的地址。在一些实施例中,每当经过预定时间时,或者每当以预定次数执行写入操作时,都可以确定重写电路416的读取操作请求的周期。
在步骤S602中,存储器控制器410可以响应于步骤S601中的读取操作请求来将针对读取操作的命令CMD和指定要被执行读取操作的存储单元的地址ADD施加到存储器件420,并且从存储器件420读取的数据可以被传送到存储器控制器410。该数据可以包括正常数据和纠错码(ECC)。
在步骤S603中,存储器控制器410的纠错电路414可以检测和校正在步骤S602中读取的数据的错误。执行图6的读取操作以收集关于需要重写操作的存储单元的信息,并且根据主机的请求不执行图6的读取操作。因此,在图6中,没有读取数据像在图5中那样被传送到主机。
在步骤S604中,存储器控制器410可以将在步骤S603中检测到的错误与阈值进行比较。当在步骤S603中检测到的错误等于或大于阈值时(在步骤S604中为“是”),可以确定数据很可能会丢失,并且与在步骤S602中从其读取数据的存储单元相对应的地址可以被确定为需要重写的地址并且在步骤S605中被储存在需要重写的地址储存电路415中。
可以根据重写电路416的请求周期性地执行上面参考图6描述的收集需要重写的地址的操作。因此,可能需要执行额外操作(可能需要额外时间)来收集需要重写的地址。然而,由于在改变地址的同时周期性地执行需要重写的地址收集操作,因此需要重写的地址收集操作可能受到存储器件420的所有存储单元的影响。
为了收集存储系统400中的需要重写的地址,可以使用图5或图6的方法。而且,可以使用图5的方法和图6的方法两者。
图7是示出根据本公开的一个实施例的存储系统(例如,图4的存储系统400)中的重写操作的流程图。
参考图7,首先,在步骤S701中,重写电路416可以请求针对与储存在需要重写的地址储存电路415中的需要重写的地址相对应的存储单元的读取操作。可以以预定的周期执行步骤S701中的重写电路416的读取操作请求。在一些实施例中,可以在每当经过预定时间时或者每当以预定次数执行写入操作时确定该周期。当不存在储存在需要重写的地址储存电路415中的需要重写的地址时,可以不执行步骤S701的操作。
响应于步骤S701中的请求,存储器控制器410可以响应于步骤S701中的读取操作请求而将针对读取操作的命令CMD和地址ADD施加到存储器件420,并且在步骤S702中从存储器件420读取的数据可以被传送到存储器控制器410。在一些实施例中,从存储器控制器410施加到存储器件420的地址ADD可以是需要重写的地址。数据可以包括正常数据和纠错码(ECC)。
在步骤S703中,存储器控制器410的纠错电路414可以检测和校正在步骤S702中读取的数据的错误。
在步骤S704中,存储器控制器410可以确定步骤S703中的错误是否是可校正的。当在步骤S703中不能校正错误时(在步骤S704中为“否”),例如,当读取数据的错误包括比可纠错比特位M大的M+1个比特位时,可以在步骤S705中执行读取重试操作。可以在读取重试电路417的控制下执行读取重试操作。读取重试电路417可以改变在存储器件420的读取电压发生电路423中产生的读取电压VREAD的电压电平,然后控制存储器件420再次执行读取操作。重复步骤S705、步骤S703和步骤S704的操作,直到错误是可校正的。
当在步骤S703中能够校正错误时(即,在步骤S704中为“是”),例如,当读取数据的错误比特位数等于或小于可纠错比特位M时,在步骤S706中,重写电路416可以请求存储器件420执行将在步骤S703中获得的已纠错数据写入到与需要重写的地址相对应的存储单元的写入操作。
响应于步骤S706中的请求,纠错电路414可以基于在步骤S703中获得的已纠错数据而在步骤S707中产生新的纠错码(ECC)。
然后,存储器控制器410可以将针对写入操作的命令CMD、与步骤S702中的地址相同的地址ADD、在步骤S703中获得的已纠错数据以及在步骤S706中产生的纠错码(ECC)施加到存储器件420。以这种方式,在步骤S708中,可以将数据重写到与存储器件420的需要重写的地址相对应的存储单元中。
在步骤S708之后,可以从需要重写的地址储存电路415中擦除用于步骤S708中的重写操作的需要重写的地址。
通过图7中描述的方法,可以执行针对与需要重写的地址(由图5的方法和/或图6的方法收集)相对应的存储单元的重写操作,并且可以防止数据的丢失。
根据本公开的实施例,可以有效地防止存储单元的数据丢失。
虽然已经关于具体实施例描述了本发明,但是对于本领域技术人员来说明显的是,在不脱离如所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (17)
1.一种用于操作存储系统的方法,包括:
从存储器件中读取数据;
检测和校正数据的错误;
当数据的错误等于或大于阈值时,将与存储器件中从其读取数据的存储单元相对应的地址确定为需要重写的地址;以及
重写与需要重写的地址相对应的存储单元的数据。
2.根据权利要求1所述的方法,其中,根据来自主机的请求来执行数据的读取、数据的错误的检测和校正以及与存储单元相对应的地址的确定。
3.根据权利要求1所述的方法,其中,重写存储单元的数据的步骤包括:
读取与需要重写的地址相对应的存储单元的数据;
检测和校正读取数据的错误以便产生已纠错数据;以及
将已纠错数据写入到与需要重写的地址相对应的存储单元中。
4.根据权利要求3所述的方法,其中,重写存储单元的数据的步骤包括:
当不可能校正读取数据的错误时,重复改变存储器件中使用的读取电压的电压电平,并且执行读取与需要重写的地址相对应的存储单元的数据的操作。
5.根据权利要求1所述的方法,其中,当数据的错误等于或大于阈值时,在改变从其读取数据的存储单元的同时周期性地执行数据的读取、数据的错误的检测和校正以及与存储单元相对应的地址的确定。
6.根据权利要求1所述的方法,其中,存储器件包括多个存储单元,以及
所述多个存储单元中的每个存储单元包括电阻式存储元件和选择元件。
7.根据权利要求6所述的方法,其中,电阻式存储元件包括相变存储器件。
8.一种存储系统,包括:
存储器件,其包括多个存储单元;以及
存储器控制器,其适用于从存储器件中读取数据,并且当数据的错误等于或大于阈值时,将与从其读取数据的存储单元相对应的地址确定为需要重写的地址。
9.根据权利要求8所述的存储系统,其中,存储器控制器重写与需要重写的地址相对应的存储单元的数据。
10.根据权利要求8所述的存储系统,其中,存储器控制器响应于来自主机的读取操作请求而从存储器件中读取数据,以及
当数据的错误等于或大于阈值时,存储器控制器执行将与从其读取数据的存储单元相对应的地址确定为需要重写的地址的操作。
11.根据权利要求8所述的存储系统,其中,存储器控制器从存储器件中读取数据,以及
当数据的错误等于或大于阈值时,存储器控制器在改变从其读取数据的存储单元的同时周期性地执行将与从其读取数据的存储单元相对应的地址确定为需要重写的地址的操作。
12.根据权利要求9所述的存储系统,其中,在重写操作期间,存储器控制器从存储器件的与需要重写的地址相对应的存储单元中读取数据,检测和校正数据的错误以便产生已纠错数据,并且将已纠错数据写入到存储器件的与需要重写的地址相对应的存储单元中。
13.根据权利要求12所述的存储系统,其中,在重写操作期间,当不可能校正读取数据的错误时,存储器控制器在改变存储器件中使用的读取电压的电压电平的同时周期性地执行从与需要重写的地址相对应的存储单元中读取数据的操作,直到读取数据的错误变得可校正为止。
14.根据权利要求9所述的存储系统,其中,存储器控制器包括:
纠错电路,其适用于检测和校正从存储器件中读取的数据的错误,以便产生已纠错数据;
需要重写的地址储存电路,其适用于储存需要重写的地址;以及
重写电路,其适用于重写与需要重写的地址相对应的存储单元的数据。
15.根据权利要求14所述的存储系统,其中,存储器控制器包括:
主机接口,其适用于与主机通信;
调度器,其适用于确定主机的请求的处理顺序;
命令发生器,其适用于产生要施加到存储器件的命令;
存储器接口,其适用于与存储器件通信;以及
读取重试电路,其适用于控制存储器件的读取重试操作。
16.根据权利要求8所述的存储系统,其中,所述多个存储单元中的每个存储单元包括:
电阻式存储元件;以及
选择元件。
17.根据权利要求16所述的存储系统,其中,电阻式存储元件是相变存储器件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170056084A KR20180122087A (ko) | 2017-05-02 | 2017-05-02 | 메모리 시스템 및 이의 동작 방법 |
KR10-2017-0056084 | 2017-05-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108806745A true CN108806745A (zh) | 2018-11-13 |
Family
ID=64014873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810159641.XA Pending CN108806745A (zh) | 2017-05-02 | 2018-02-26 | 存储系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180322940A1 (zh) |
KR (1) | KR20180122087A (zh) |
CN (1) | CN108806745A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019050070A (ja) * | 2017-09-08 | 2019-03-28 | 東芝メモリ株式会社 | 半導体記憶装置 |
US20220199142A1 (en) * | 2020-12-22 | 2022-06-23 | Intel Corporation | Power and performance optimization in a memory subsystem |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10143448A (ja) * | 1996-11-14 | 1998-05-29 | Ricoh Co Ltd | メモリシステム |
US20050073884A1 (en) * | 2003-10-03 | 2005-04-07 | Gonzalez Carlos J. | Flash memory data correction and scrub techniques |
US20160034349A1 (en) * | 2014-07-31 | 2016-02-04 | Seonghyeog Choi | Operating method of memory controller and nonvolatile memory device |
US20160306569A1 (en) * | 2015-02-25 | 2016-10-20 | Kabushiki Kaisha Toshiba | Memory system |
-
2017
- 2017-05-02 KR KR1020170056084A patent/KR20180122087A/ko unknown
- 2017-12-05 US US15/832,205 patent/US20180322940A1/en not_active Abandoned
-
2018
- 2018-02-26 CN CN201810159641.XA patent/CN108806745A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10143448A (ja) * | 1996-11-14 | 1998-05-29 | Ricoh Co Ltd | メモリシステム |
US20050073884A1 (en) * | 2003-10-03 | 2005-04-07 | Gonzalez Carlos J. | Flash memory data correction and scrub techniques |
US20160034349A1 (en) * | 2014-07-31 | 2016-02-04 | Seonghyeog Choi | Operating method of memory controller and nonvolatile memory device |
US20160306569A1 (en) * | 2015-02-25 | 2016-10-20 | Kabushiki Kaisha Toshiba | Memory system |
Also Published As
Publication number | Publication date |
---|---|
KR20180122087A (ko) | 2018-11-12 |
US20180322940A1 (en) | 2018-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104332178B (zh) | 固态非易失性存储单元的部分重新编程 | |
US8493770B2 (en) | Non-volatile semiconductor storage device with concurrent read operation | |
CN105320471B (zh) | 操作存储装置的方法和操作存储系统的方法 | |
CN104919434B (zh) | 用于在固态驱动器中进行较低页数据恢复的系统和方法 | |
EP3497700A1 (en) | Apparatuses including multi-level memory cells and methods of operation of same | |
EP1906411A1 (en) | Method of programming a phase change memory device | |
CN108701100B (zh) | 管理非易失性存储器中的阈值电压位移 | |
JP2009020998A (ja) | 読み出しエラーを減らすことができるマルチレベル相変化メモリ装置及びその読み出し方法 | |
KR102251814B1 (ko) | 메모리 장치, 그것의 동작 및 제어 방법 | |
US11087840B2 (en) | Method of operating resistive memory device to increase read margin | |
US9443586B2 (en) | Nonvolatile memory device, memory system including the same and method for driving nonvolatile memory device | |
KR102684082B1 (ko) | 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 | |
JP2020077443A (ja) | メモリシステム | |
CN110097910A (zh) | 用于感测电阻可变存储器单元的设备和方法 | |
CN108062961A (zh) | 用于刷新存储单元的方法以及存储系统 | |
JP5968868B2 (ja) | 少なくとも1つのマルチレベル相変化メモリ(pcm)セルをプログラミングするための方法、コンピュータ・プログラム、および装置 | |
CN108572923A (zh) | 管理装置、信息处理装置以及管理方法 | |
CN108806745A (zh) | 存储系统及其操作方法 | |
US11475970B1 (en) | Bipolar read retry | |
CN108461100A (zh) | 存储系统及其操作方法 | |
CN105825884A (zh) | 存储器操作方法及相关的存储器装置 | |
US20230267996A1 (en) | Self-Selecting Memory Cells Configured to Store More Than One Bit per Memory Cell | |
KR20180083023A (ko) | 메모리 시스템의 어드레스 맵핑 방법 | |
KR102341698B1 (ko) | 메모리 동작을 위한 전용 명령 | |
CN115083476A (zh) | 一种相变存储器的操作方法、相变存储器及存储器系统 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181113 |