CN107015917A - 储存装置和其读取回收方法 - Google Patents

储存装置和其读取回收方法 Download PDF

Info

Publication number
CN107015917A
CN107015917A CN201611174599.6A CN201611174599A CN107015917A CN 107015917 A CN107015917 A CN 107015917A CN 201611174599 A CN201611174599 A CN 201611174599A CN 107015917 A CN107015917 A CN 107015917A
Authority
CN
China
Prior art keywords
memory block
block
read operation
reading
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.)
Granted
Application number
CN201611174599.6A
Other languages
English (en)
Other versions
CN107015917B (zh
Inventor
诸炫承
李熙元
金守珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107015917A publication Critical patent/CN107015917A/zh
Application granted granted Critical
Publication of CN107015917B publication Critical patent/CN107015917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种储存装置的读取回收方法,包括:在随机数量的读操作的周期,检测存储于多个存储块中每一个内的非选择数据中的错误位数量。关于读操作的数量,以大于基准率的率值增加的检测到的错误位数量的存储块在一个或更多读操作的随机数的周期上被选择为弱块。存储于弱块中的非选择数据中的错误位数量在读操作的固定数量的周期被检测。检测根据固定数量周期检测到的错误位数量是否大于或等于读取回收基准。非选择数据为没有被主机请求的数据。

Description

储存装置和其读取回收方法
本申请要求于2015年12月18日在韩国知识产权局提交的韩国专利申请第10-2015-0181872的优先权,其全部的内容通过引用合并于此。
技术领域
公开的实施例涉及一种半导体存储装置,并且具体地,涉及一种储存装置和其读取回收方法。
背景技术
闪存存储装置正被用作如计算机、智能手机、个人数字助理(PDA)、数码相机、录音机、MP3播放器、手持PC等的信息装置的语音和图像数据存储媒介。然而,因为在写入数据于闪存存储器之前,擦除操作被执行,将被写入的数据单元可能大于将被擦除的数据单元。这导致甚至在闪存存储器被用作辅助存储装置情况下也难以利用标准硬盘的文件系统。
被称作“读取回收(read reclaim)”的操作模式正在被应用于包括闪存存储装置的各种存储装置中。当关于任何一个存储块,读操作被重复时,错误位增加,例如,由于读取扰动。读取回收指在不可修正的错误发生于存储在存储器中的数据之前,将存储于存储块中的数据复制到不同的存储块中的操作。本公开提供了一种读取回收技术,所述读取回收技术能够关于非易失性存储装置执行有效管理和磨损均衡。
发明内容
本公开的实施例提供可以降低读取失败的可能性的读取回收方法和包括该读取回收方法的存储装置。
本公开实施例的一方面旨在提供存储装置的读取回收方法。所述方法可以包括:在随机数量的读操作的周期检测存储于多个存储块中的每一个内的非选择数据中的错误位数量。选择具有在随机数量的读操作的一个或多个周期上相对于读操作的数量的、检测到的错误位的数量以大于基准率的率值增加的存储块为弱块。在固定数量的读操作的周期中,检测存储于弱块中的非选择数据中的错误位数量。检测根据固定数量的周期检测到的错误位数量是否大于或等于读取回收基准。非选择数据为没有被主机请求的数据。
本公开实施例的另一方面旨在提供存储装置的读取回收方法。所述方法可以包括:在第一数量的读操作之后,检测存储于多个存储块中的每一个中的数据的错误位数量。在第二数量的读操作之后,检测存储于存储块中的每一个中的数据的错误位数量。对于每个存储块计算发生在第一数量和第二数量的读操作之间的检测到的错误位数量的增长率。存储块基于计算结果被分类为两个组。两个组的第一组的第一存储块被基于第一基准值指定为读取回收块,并且两个组的第二组的第二存储块被基于不同于第一基准值的第二基准值指定为读取回收块。
本公开实施例的又一方面旨在提供一种包括非易失性存储装置和存储控制器的存储装置,非易失性存储装置具有多个存储块。存储控制器相对于对存储块请求的读操作的数量,检测在多个存储块中的每一个内存储的数据的错误位数量的增长率。存储控制器基于检测到的存储块的增长率对每个存储块分配:(1)用于指定存储块为读取回收块的基准值,或者(2)在检测存在于存储块中的错误位数量做出之前发生在周期中的读操作的数量
本公开实施例的再一方面旨在提供非易失性存储装置的读取回收方法。所述方法包括:a)接收之前的读操作请求,读操作请求为被之前的请求标识的非易失性存储装置的存储块的位置的读操作;b)响应之前的请求和通过存储块的读操作,确定由没有被之前的请求标识的存储块的位置存储的错误位数量;c)接收当前的读操作请求,该读操作为被当前的请求标识的存储块的位置的读操作;d)响应于当前的请求并且通过存储块的读操作,确定由没有被当前的请求标识的存储块的位置存储的错误位数量;e)相对于之前和当前的请求之间接收的读操作请求的数量,确定所确定的错误位数量之间的增长率;f)当增长率超过基准率时指定存储块为弱块,并且否则指定存储块为普通块;g)重复操作(c)和操作(d)中的每一个多次;以及h)当在操作d)的重复中确定的错误位数量超过读取回收阈值或对存储块的读请求的总数超过阈值数时,指定弱块为可用于读取回收操作。
附图说明
上述和其他目的和特征将参考后面的附图从后面的描述变得清楚,其中除非另有指定,相同的标记指贯穿各图指代相同的部件,并且其中
图1为示出根据本公开实施例的储存装置的框图;
图2为示出根据本公开实施例,图1中示出的存储控制器的构造的框图;
图3为示出根据本公开的实施例的存储控制器的功能的框图;
图4为示出根据本公开的实施例的非易失性存储装置的框图;
图5为示出根据本公开的实施例的每块错误位表格的图;
图6为示出根据本公开的实施例,对弱块的读取回收方法的图;
图7为示出根据本公开的实施例,图6示出的读取回收方法的流程图;
图8A和图8B为示出根据本公开的读取回收方法的详细示例的流程图;
图9为示出根据本公开的另一实施例,弱块的读取回收方法的图;
图10为示出根据本公开的一实施例的读取回收方法的流程图;
图11为示出根据本公开的读取回收方法的详细示例的流程图;
图12为示出根据本公开的另一实施例的读取回收方法的图;
图13为示出根据本公开的实施例,图12示出的读取回收方法的流程图;
图14为示出根据本公开的又一实施例的读取回收方法的图;
图15为示出根据本公开的一实施例,图12示出的读取回收方法的流程图;
图16为示出根据本公开的另一实施例的储存装置的框图;
图17为示出使用弱块信息的数据写入方法的流程图;
图18为示出使用弱块信息的数据写入方法的另一示例的流程图;
图19为示出使用弱块信息的数据写入方法的另一示例的流程图;
图20为示出根据本公开的又一实施例的储存系统的框图;
图21为示出参照主机提示信息分配存储块的方法的流程图;
图22为示出根据本公开的另一实施例的用户系统的框图;
图23为示出包括在参照图1、图4、图16、图20和图22描述的存储单元阵列中的存储块的第一存储块的电路图;
图24为示出根据本公开的实施例的包括非易失性存储系统的存储卡系统的框图;
图25为示出根据本公开的实施例的包括非易失性存储系统的固态驱动器的框图;以及
图26为示出根据本公开的另一实施例的包括非易失性存储系统的用户系统的框图。
具体实施方式
可以理解为,之前的一般描述和后面的详细描述两者均作为示例提供,用于说明而不是为限定本公开的范围。现在将详细地参照本公开的优选实施例,所述实施例的示例在附图中被阐明。在任何可能的情况下,同样的附图标记被用于在图或描述中指代同样的或类似的部件。
下面,将举例说明使用闪存存储装置的储存装置,以描述本公开的特征和功能。然而,其他特征和功能可以从这里公开的信息被很容易地理解。本公开可以通过其他实施例实现和应用。此外,详细的描述可以根据观点和应用被变化或修改,而不背离本公开的主张,范围和精神,以及任何其他目的。
图1为示出根据本发明的实施例的储存装置的框图。参照图1,储存装置100可以包括存储控制器110和非易失性存储装置120。在实施例中,存储控制器110和非易失性存储装置120中的每一个可以通过一个芯片,一个封装,或一个模块实现。可替代地,存储控制器110和非易失性存储装置120可以通过一个芯片,一个封装,或一个模块实现以构成存储系统,例如存储卡,记忆棒,或固态驱动器(SSD)。
控制器110可以被配置成控制非易失性存储装置120。例如,存储控制器110可以响应外部请求,向非易失性存储装置120中存储数据或从非易失性存储装置120读取数据。存储控制器110可以为非易失性存储装置120提供命令,地址,和控制信号,以访问非易失性存储装置120。
存储控制器110可以包括读取回收(RR)管理器(此后简称“RR管理器”)112。RR管理器112可以使用表格管理和保持以下信息:对于多个存储块中每一个的读计数,错误位数量,和错误位增长率(EBIR)。上面描述的存储在表格中的值可以在当读操作发生的时间点被更新,并且可以被存储在非易失性存储装置120中。所述RR管理器112可以基于每个存储块的错误位增长率EBIR将存储块分类为至少两组。例如,RR管理器112可以将如下存储块分类为弱块,每个所述存储块具有大于基准的错误位增长率EBIR。RR管理器112可以将如下的存储块分类为普通块或强块,每个所述存储块具有小于或等于基准的错误位增长率EBIR。
当弱块的错误位数量达到基准时,RR管理器112可以指定对应的存储块作为读取回收块。可以随机地或周期性地检测弱块的错误位。根据本公开的错误位检测方式,弱块可以在不可修正错误发生前被指定为读取回收目标。
存储控制器110可以进一步地包括非选择读取管理器(此处之后简称“USR管理器”)114。USR管理器114可以监控在非易失性存储装置120中的每个存储块BLK0到BLKi的错误位数量。也就是说,当存储块的被选择页的读操作从主机被请求时,USR管理器114可以对邻近被选择页的非被选择页执行读操作作为背景操作或者与被选择页同时。该读操作可以被简称为“非被选择读操作”非被选择页的读操作可以以随机读计数执行。本公开的实施例将被举例说明,其中随机读操作以随机读计数执行。然而,本公开的范围和精神不可以被限制于此。例如,随机读操作可以针对每个具体的读计数周期被执行。也就是说,当弱块的错误位数量超过基准时,通常以随机读计数被执行的非被选择读操作可以被周期性地执行。
由USR管理器114计数的错误位数量可以用作计算相对于读计数的存储块的错误位数量的增长率的信息。也就是说,被计数的错误位数量可以指用于RR管理器112选择弱块的信息。弱块可以基于非选择读操作的结果被指定为读取回收块,所述非选择读操作对于弱块周期性地执行。RR管理器112或者USR管理器114可以在存储控制器110内部以硬件组件或软件组件的形式被实现。
在控制电路110的控制下,非易失性存储装置120可以存储从存储控制器110接收的数据或者可以向存储控制器110传输存储在其中的数据。非易失性存储装置120可以包括多个存储块BLK0到BLKi。具体地,一个存储块可以包括多个页。在一个页被反复读取的情况下,非选择读取电压Vread可以被施加于字线,所述字线分别对应于反复被读取的页之外的相同的块的剩下的页。非选择读取电压Vread可以是足够开启未被选择存储单元的电压,并且其电平可以高于读取电压的电平。由于这个原因,当非选择读取电压Vread被反复施加于未被选择存储单元时,干扰可能对存储单元的电荷数量产生影响。这可以被称为“读取扰动”。例如,在页Page_i被反复读取的情况下,周围的页Page_i-1到Page_i+1或者在同个块中剩下的页可能被读取扰动影响。
在随机读计数上由USR管理器执行的未被选择页的随机读操作可能降低读取扰动的影响。此外,USR管理器114可以监控各自的未被选择页的错误位数量的变化。用于每个未被选择页的错误位数量可以用作计算存储块错误位增长率EBIR的信息。根据本公开的一实施例的存储控制器可以控制非易失性存储装置120,以执行读取回收操作。读取回收操作可以指移动存储块的操作,所述存储块包括存储单元,从非易失性存储装置120读取的数据被存储于所述存储单元,或者指当所述读取数据的错误位数量大于或等于基准时,移动存储块中的部分数据到另外的存储块的操作。也就是说,错误修正操作可以指移动数据到另外的存储块以保持数据可靠性的操作,所述数据为包括多个错误位或者数据,其具有错误位数量超过错误修正块117(参见图2)的错误修正能力的可能性。当数据从非易失性存储装置120被读取时,存储控制器110可以通过错误修正块117检测和修正错误,并且可以向主机(未示出)或者非易失性存储装置120传送错误修正数据。如以上所述,当从非易失性存储装置120读取的数据的错误位数量大于或者等于基准时,存储控制器110可以控制非易失性存储装置120,以执行读取回收操作。
根据本公开的实施例的存储控制器110可以基于存储块的错误位增长率EBIR更改存储块的错误位检测周期。例如,错误位数量可以相对于弱块以固定的检测周期而不是随机读计数检测,所述弱块的错误位增长率大于基准增长率。在实施例中,未被选择页的错误位可以在错误位检测周期上被检查,所述错误位检测周期短于存在于先前的随机读操作的平均读取周期。根据以上描述,弱块可以在不可修正的错误发生在存储在其中的数据中之前被指定为读取回收块。
根据本公开的实施例,储存装置110可以基于存储块的错误特征确定读取回收块。也就是说,通过将错误检测周期设定为固定值,而不是随机值,具有大的错误位增长率的存储块可以在不可修正的错误发生前,被指定为读取回收块。因此,储存装置100的数据完整性和操作性能可以通过应用上面描述的读取回收方法于所述储存装置100被提高。
图2为示出根据本公开的实施例,图1示出的存储控制器的构造的框图。参照图2,存储控制器110可以包括处理单元111,工作存储器113,主机接口115,错误修正块117,以及存储接口119。然而,需要理解为,存储控制器110的组件不限于图2示出的组件。例如,存储控制器110还可以包括只读存储器(ROM),其存储初始引导操作所需要的代码数据。
处理单元111可以包括中央处理单元或者微处理器。处理单元111可以管理存储控制器110的全部操作。处理单元111可以驱动固件以驱动存储控制器110。固件可以被加载在工作存储器113上,并且可以响应处理器111的呼叫被驱动。
工作存储器113可以被用于加载软件(或固件)以控制存储控制器110或数据。被存储的软件或数据可以被所述处理单元111驱动或处理。工作存储器113可以包括高速缓冲存储装置,动态随机存取存储(DRAM)装置,相变RAM(PRAM)装置,或者闪存存储装置中的至少一个。根据本公开的实施例,工作存储器113可以包括所述RR管理器112和USR管理器114。虽然未示出,应该理解为,闪存转换层(FTL)等被加载在工作存储器113上。
主机接口115可以提供在主机和存储控制器110之间的接口。主机和存储控制器110可以通过各种标准接口中的至少一个连接。标准接口可以包括高级技术附件(ATA)接口,串行ATA(SATA)接口,外部SATA(e-SATA)接口,小型计算机小型接口(SCSI),串行连接SCSI(SAS),周边部件互联(PCI)接口,PCI-Express(PCI-E)接口,通用串行总线(USB)接口,IEEE 1394接口,通用闪存存储(UFS)接口,卡接口等。
错误修正块117可以修正由于各种原因产生的数据的错误。例如,错误修正块117可以被配置成检测和修正从非易失性存储装置120读取的数据的错误。具体地,错误修正块117可以响应USR管理器114请求,检测读取数据的错误位数量。检测的错误位数量nEB可以被提供给RR管理器112。RR管理器112可以基于被选择的存储块的错误位数量nEB,计算被选择的存储块的错误位增长率EBIR。例如,RR管理器112可以基于错误位增长率EBIR,确定被选择的存储块是否是弱块。USR管理器114可以设定被确定为弱块的存储块的错误位检测周期为一个固定的值以管理。可替代地,USR管理器112可以管理用于将弱块指定为读取回收块的错误位数量或读计数,以与普通存储块的错误位数量或读计数不同。
存储接口19可以提供存储控制器110和非易失性存储装置120之间的接口。例如,由处理单元111处理的数据可以通过存储接口119被存储于非易失性存储装置120中。又如,存储在非易失性存储装置120中的数据可以通过存储接口119提供给处理单元111。
存储控制器110的组件被举例说明。根据本公开的实施例的存储控制器110可以,基于存储块的错误特征,更改用于选择存储块为读取回收块的读取回收基准。这可以意味着,用于将存储块指定为读取回收块的错误位检测周期,错误位数量,和读计数被更改。
图3为示出根据本公开的实施例的存储控制器的功能的框图。参照图3,存储控制器110可以包括读取回收(RR)管理器112,非选择读取(USR)管理器114,和每块错误位表格116。这里,每块错误位表格116可以在工作存储器113上实现,并且可以周期性地或者每当读计数RC增加时,存储在非易失性存储装置120中。这里,RR管理器112可以用闪存转换层(FTL)的一部分或者用当读取失败发生时被驱动的代码的一部分实现。
RR管理器112可以从主机接收读请求。RR管理器112可以参考弱块列表116’和USR管理器114的错误位检测结果确定读取回收块,所述弱块列表116’存储于每块错误位表格116中。具体地,RR管理器112可以使用不同于普通块的基准确定弱块为读取回收块。
USR管理器114可以执行被选择的存储块的非选择读操作。为此,USR管理器114可以包括随机数产生器114a和读取计数器114b。当读请求发生,USR管理器114可以增加被选择存储块的读计数RC。如果被增加的读计数RC与随机数产生器114a生成的数相同,相对于被选择存储块的未被选择页,非选择读操作可以被执行。为非选择读操作计数的错误位数量可以在每块错误位表格116中更新。
RR管理器112可以,在每块错误位表格116中,存储对应于用于相对于每个存储块发生的非选择读操作的读计数RC的错误位数量。
RR管理器112可以,参照存储于每块错误位表格116中的每个存储块的读计数RC和错误位数量nEB,决定存储块是否为弱块WB。也就是说,当根据读计数的错误位增长率大于基准增长率时,RR管理器112可以将存储块分类为弱块,所述弱块的可靠性相对低。当根据读计数的错误位增长率小于或者等于基准增长率时,RR管理器112可以将存储块分类为强块,所述强块的可靠性相对高。
一旦存储块被分类为弱块,RR管理器112可以将存储块注册于弱块列表116'。USR管理器114可以以恒定的周期,不考虑随机数,执行弱块的非选择读操作。在实施例中,固定的非选择读操作的周期可以被减小到短于随机的非选择读操作的周期。RR管理器112可以以减小的、固定的周期,检测在弱块的错误位数量的变化。如果从弱块检测到的错误位数量达到指定弱块为读取回收块的值,RR管理器112可以指定弱块为读取回收块。在实施例中,用于指定弱块为读取回收块的错误位数量可以同样地被应用于弱块和普通块两者。
在另一实施例中,RR管理器112可以对普通块和弱块应用不同的基准,以指定块为读取回收块。也就是说,用于弱块的读取回收的错误位数量的基准可以被设定为低于用于普通块的读取回收的错误位数量的基准。在这种情况下,检测错误位数量的周期可以不是固定的。
在又一实施例中,RR管理器112可以对普通块和弱块应用不同的基准(例如,不同的读计数)以指定块作为读取回收块。也就是说,用于弱块读取回收的读计数的基准可以被设定为低于用于普通块的读取回收的读计数的基准。在这种情况下,检测错误位数量的周期可以不是固定的。
在另一实施例中,RR管理器112可以对普通块和弱块应用错误位基准和读计数基准两种,所述错误位基准和读计数基准被用于指定块为读取回收块。如果弱块的错误位基准和读计数基准中的任何一个被满足,对应的弱块可以被指定为读取回收块。
RR管理器,USR管理器114,和每块错误位表格116的功能在上面被描述。上面描述的储存装置100的组件可以使读取回收操作根据存储块的特征被有效执行。
图4为示出根据本公开的实施例的非易失性存储装置的框图。参照图4,非易失性存储装置120可以包括存储单元阵列121,解码器122,页缓冲器123,控制逻辑124,和电压产生器125。
存储单元阵列121可以通过字线和选择线与解码器122连接。存储单元阵列121可以通过位线BL与页缓冲器123连接。存储单元阵列121可以包括多个存储单元BLK1到BLKi。每个存储块可以包括多个NAND单元串。数据可以通过页写入存储单元阵列121中。擦除操作可以由存储块执行。存储块BLK1到BLKi的错误位特征可以由于各种原因彼此不同。也就是说,即使相同的数据在相同的偏置条件下,被写入在各存储块,读取数据的错误位数量可以是变化的。
在本公开的实施例中,存储单元阵列121可以用三维(3D)存储器实现。3D存储阵列整体(monolithically)形成于存储单元的阵列的一个或更多物理层级中,所述存储单元具有布置在硅基底上的有源区,和与这些存储单元的操作相关联的电路,不论这样的关联电路是在这样的基底上还是在这样的基底中。术语“整体(monolithically)”意味着所述阵列的每个层级的层直接被布置在所述阵列的每个基础层级的层上。
在本公开的实施例中,3D存储阵列包括垂直的NAND串,所述NAND串垂直定向使得至少一个存储单元位于另一个存储单元之上。所述至少一个存储单元可以包括电荷陷阱层。每个竖直NAND串可以包括至少一个位于存储单元上的选择晶体管,所述至少一个选择晶体管具有与存储单元相同的结构,并且与存储单元一起整体(monolithically)形成。
通过引用接合于此的下面的专利文本描述了用于三维存储阵列的合适的构造,其中三维存储阵列被构造为多个层级,在层级间字线和/或位线被共享:美国专利号7,679,133;8,533,466;8,654,587;8,559,235;和美国专利公开号2011/0233648。
解码器122可以响应地址ADD选择存储单元阵列121的存储块BLK1到BLKi中的一个。解码器122可以向被选择的存储块的字线提供对应于操作模式的字线电压VWL。在程序操作过程中,例如,解码器122可以将程序电压和核对电压传递到被选择字线,并且将通过电压传递到未被选择字线。解码器122可以通过向选择线SSL和GSL提供选择信号选择存储块。在读操作过程中,读取电压可以被施加于存储块的被选择字线。在读操作过程中,分别地,通过读取电压可以被施加于存储块的未被选择字线。
页缓冲器123可以基于操作模式,作为写入驱动器或者感测放大器运转。在程序操作过程中,页缓冲器123可以将对应于将被编程的数据Data的位线电压传递到存储单元阵列121的位线。在读操作过程中,页缓冲器123可以通过位线感测存储于被选择存储单元的数据。页缓冲器123可以锁存检测到的数据并且可以输出被锁存数据Data至外部设备。
控制逻辑124可以响应来自外部设备的命令CMD控制解码器122和页缓冲器123。
电压产生器125可以在控制逻辑124的控制下,生成将被施加于字线的各种字线电压和施加于体(bulk)(例如,阱区)的电压,存储单元形成于所述体(bulk)。将被施加于字线的字线电压可以包括程序电压(例如,Vpgm_i),通过电压(例如,Vpass),读取电压(例如,Vrd_i),通过读取电压(例如,Vread_i)等。电压产生器125还可以产生选择线电压(例如,VSSL和VGSL)以在读操作或者程序操作过程中提供给选择线SSL和GSL。
图5为示出根据本公开的实施例的每块错误位表格的图表。参照图5,每块错误位表格116可以包括关于每个存储块的读计数RC,错误位数量nEB,错误位增长率EBIR,和块分类项。
读计数RC可以表示用于每个存储块BLK0到BLKi的读取频率。这里,读计数可以包括由主机请求的读操作的数量和非选择读操作的数量两种。当读操作被从主机请求时或者当非选择读操作被执行时,读计数RC可以增加。
错误位数量nEB可以表示由主机或者通过非选择读操作为对应的存储块检测的错误位数量。例如,错误位数量nEB可以表示任一页产生的错误位数量。在非选择读操作的情况下,由于读取扰乱在未被选择页上产生的错误位数量可以指错误位数量nEB。在实施例中,在存储块BLK1的读计数(N-2)上检测的错误位数量nEB可以对应于“2”。相比之下,如内存块BLK0,在读计数3N上没有检测到错误位。
错误位增长率EBIR可以基于读计数RC和错误位数量nEB计算。也就是说,错误位增长率EBIR可以表示错误位数量对特定读计数的增长。例如,每个存储块的错误位增长率EBIR可以通过计算从第一次被执行的非选择读操作,在第N读计数的增长部分中检测到的错误位数量中的变化得到。错误位增长率EBIR可以基于对特定读计数部分的错误位数量中的变化计算。可替代地,根据读计数中的增长的错误位的增长可以通过各种统计方法计算。
块分类可以表示根据错误位增长率EBIR对应的块是否被确定为弱块。可以假设,错误位增长率EBIR在读计数RC增长后被检测N次。在这种假设下,存储块BLK2可以被分类为弱块WB。原因是,存储块BLK2的错误位增长率α大于基准增长率R。由于存储块BLK0,BLK3,BLK4和BLKm的错误位增长率β,γ,δ和ε小于基准增长率R,存储块BLK0,BLK3,BLK4和BLKm被分类为普通块NB。然而,由于存储块BLK1的读计数没有达到读计数N以确定错误位增长率EBIR,存储块BLK1可以保持为未决定状态。这里,应该理解为,存储块被分类为不同的组。
图6为示出根据本公开的实施例,对弱块的读取回收方法的图。参照图6,关于弱块WB和普通块NB,各自表示读计数RC的错误位数量nEB的直线被示出。弱块WB的错误位增长率可以大于普通块NB的错误位增长率。也就是说,表示弱块WB的直线的斜率可以大于表示普通块NB的直线的斜率。
首先,当数据被写入在被选择存储块时,用于管理被选择存储块的读计数RC和错误位数量nEB的每块错误位表格116被建立。第二,当用于检测错误位增长率的读计数RC被满足时,错误位增长率EBIR可以被计算。存储块是否为弱块可以根据错误位增长率EBIR确定。
在所述图中,关于被确定为弱块WB的存储块,从当错误位数量nEB大于或等于阈值TH0的时间点,非选择读操作可以每固定的周期m被执行。也就是说,在存储块被确定为弱块WB的情况下,每当读计数增长m时,错误位数量nEB可以被检测。在弱块WB中,在错误位数量nEB小于阈值TH0的时间点,非选择读操作可以根据随机读计数被执行。然而,如果弱块的错误位数量nEB达到或超过阈值TH0,则非选择读操作可以每固定周期m被执行以检测错误位数量。在实施例中,固定周期m可以被设置为小于随机读计数的平均周期的值。错误位每固定周期被监控的这个部分可以被称为“精细监控部分”。
如果弱块WB的错误位数量以固定周期(例如,m次)被检测,则弱块WB可以在合适的时间被指定为读取回收块。在弱块WB的错误位数量在随机读计数上被检测的情况下,在最差的情况下,弱块WB可以被指定为具有不可修正错误的块,而不是读取回收块。然而,如果弱块WB的错误位的数量被以固定周期(m次)被检测,则弱块WB可以在(RN5+4m)的读计数上被指定为读取回收块,在所述(RN4+4m)的读计数上错误位数量nEB大于阈值TH1。
图7为示出根据本公开的实施例,图6示出的读取回收方法的流程图。参照图7,根据本公开实施例的读取回收方法的特征可以在于弱块被检测并且检测到的弱块的错误位数量以固定的检测周期被检测。
在步骤S10中,弱块WB可以被检测。每个在该处被写入数据的读操作被请求的存储块的读计数RC和在随机读计数上检测到的错误位数量nEB可以存储在每块错误位表格116中。错误位数量大于基准增长率的存储块可以基于被存储的读计数RC和错误位数量nEB被指定为弱块WB。这里,在每块错误位表格116中被管理的所有存储块的错误位增长率的平均值可以被用作错误位增长率EBIR的基准增长率以选择弱块WB。可替代地,通过实验得到的固定的错误位增长被用作错误位增长率EBIR的基准增长率以选择弱块WB。
在步骤S20中,检测到的弱块WB的错误位数量nEB可以以固定的周期被检测。例如,可以假设,在存储块被确定为弱块WB之前,用于在随机读计数RC上检测错误位数量的非选择读操作被执行。然而,对于被判定为弱块WB的存储块,每当读计数增长两次,用于检测错误位数量的非选择读操作可以执行一次。然而,用于确定读取回收块的错误位数量的阈值TH1可以同等地被应用于弱块WB和普通块NB。
在步骤S30中,可以确定以固定周期从弱块WB检测到的错误位数量是否达到用于指定块为读取回收块的错误位数量nEB的阈值TH1。如果检测到的错误位数量nEB不大于阈值TH1(否),则程序可以返回步骤S20以继续以固定周期检测错误位数量。如果检测到的错误位数量nEB大于阈值TH1(是),则流程可以进行到步骤S40,在所述步骤S40中对应的弱块WB被指定为读取回收块。
在步骤S40中,以固定周期检测到错误位数量的弱块WB可以被指定为读取回收块。虽然没有被描绘,存储于被指定为读取回收块的弱块WB中的数据可以被复制到另外的普通存储块,并且弱块WB可以被擦除。
以上,描述了读取回收方法,其中对于检测到的弱块WB,读取回收块基于以固定周期检测到的错误位数量被确定。随着弱块WB被检测并且错误位数量以固定周期被检测,错误位增长率EBIR相对大的弱块可以被准确地指定为读取回收块。也就是说,在错误位增长率相对大的弱块发生不可修正错误的情况可以被防止。
图8A和8B为示出根据本公开的读取回收方法的详细示例的流程图。用于执行非选择读操作的程序将参照附图8A被描述,在所述非选择读操作中,弱块的错误位以固定周期被检测。非选择读操作在其中以随机读计数RC被执行的方法将参照附图8B被描述。
参照图8A,如果弱块WB的错误位数量nEB超过阈值TH0,则在其中错误位数量被以固定周期检测的非选择读操作可以被执行。这一点将在以下被更详细地描述。
在步骤S110中,存储控制器110可以从主机接收读请求。存储控制器110的读取回收管理器112可以产生,保持,和更新用于管理每个在其中数据被写入的存储块的读计数RC和错误位数量nEB的每块错误位表格116。
在步骤S120中,存储控制器110可以确定被读请求的存储块是否为弱块WB。存储控制器110可以,基于每块错误位表格116,确定被读请求的存储块是否包括在弱块列表116’中。如果被选择的存储块不是弱块WB(否),程序可以进行到“A”。对应于“A”的非选择读操作将参照附图8B描述。如果被选择的存储块是弱块WB(是),程序可以进行到步骤S130。
在步骤S130中,存储控制器110可以检查关于被选择的弱块WB的最近被计数的错误位数量nEB。如果最近被计数的错误位数量大于阈值TH0,则程序可以进行到步骤S140。如果最近被计数的错误位数量不大于阈值TH0,则程序可以进行到“A”。
在步骤S140中,发生读请求的存储块的读计数RC可以被增加,并且每块错误位表格116可以用增长的读计数更新。每块错误位表格116的值可以周期性地或者如果必要被存储于非易失性存储装置120的特定的区域中。因此,即使电源被移除,可能可以保持每个数据被写入其中的存储块的读计数RC和错误位数量nEB的信息。
在步骤S150中,存储控制器110可以确定更新的读计数RC是否与固定周期m相同。如果更新的读计数RC与固定周期m不同(否),程序可以进行到S170以读取被选择页,而没有非选择读操作。如果更新的读计数RC与固定周期m相同(是),程序可以进行到S160以与被选择页一起读取未被选择页。
在步骤S160中,存储控制器110可以从被选择存储块读取被主机请求的页的数据,并且可以输出读取数据。此外,存储控制器110可以从非易失性存储装置120的被选择存储块读取没有被主机请求的未被选择页的数据,并且可以检测读取数据的错误位。
在步骤S170中,存储控制器110可以从非易失性存储装置120的被选择存储块读取只被主机请求的页,并且可以输出被读取数据到主机。
在步骤S180中,存储控制器110可以确定在步骤S160中从未被选择页读取的错误位数量nEB是否大于阈值TH1。如果最近检测到的错误位数量大于阈值TH1,则程序可以进行到步骤S190。如果最近检测到的错误位数量不大于阈值TH1,则程序可以结束。
在步骤S190中,存储控制器110可以对弱块WB执行读取回收程序,在所述弱块中检测到的错误位数量nEB变得大于阈值TH1。阈值TH1可以对应于用于指定块为读取回收块的错误位数量的基准。如果块由存储控制器110指定为读取回收块,数据复制和擦除程序可以在读取回收管理器112的控制下执行。
根据本公开的实施例的在存储控制器处被执行的读取回收方法在上面被描述。
图8B为示出图8A示出的程序“A”的流程图。参照图8B,与下面相关联的程序将被描述:被读请求的存储块不是弱块的情况和即使读取的被读请求的块是弱块,被最近检测的错误位数量不大于阈值TH0的情况。
在步骤S210中,被选择存储块的读计数RC可以被增加。读计数RC可以在上述每块错误位表格116中被保持和管理。
在步骤S220中,存储控制器110可以产生随机读数(RN)。然而,应该理解为,随机数RN是之前产生的多个值中的一个。
在步骤S230中,增加的读计数RC可以与随机数RN比较。如果读计数RC与随机数RN相同(是),程序可以进行到步骤S240。如果读计数RC与随机数RN不同(否),则程序可以进行到步骤S250。
在步骤S240中,存储控制器110可以既执行未被选择页也执行被选择页的非选择读操作。
在步骤S250中,存储控制器110可以从被选择块只读取被选择页。
在步骤S260中,存储控制器110可以通过非选择读操作检测被读取页的错误。
在步骤S270中,存储控制器110可以更新通过非选择读操作检测的错误位数量。此外,存储块是否为弱块WB可以参照检测到的错误位数量被确定。
参考附图8A到8B描述非选择读操作和用于以固定周期检测弱块WB的错误位的操作。
图9为示出根据本公开的另一实施例的弱块的读取回收方法的图。参照图9,关于弱块WB和普通块NB,示出分别表示对于读计数RC的错误位数量nEB的直线。弱块WB的错误位增长率可以大于普通块NB的错误位增长率。也就是说,表示弱块WB的直线的斜率大于表示普通块NB的直线的斜率。
首先,当数据在被选择存储块被写入时,用于管理所选择存储块的读计数RC和错误位数量nEB的每块错误位表格116被建立。当读操作被执行至少两次或更多次时,错误位增长率可以被检测。存储块是否为弱块可以根据错误位增长率EBIR被确定。
在图中,被确定为弱块WB的存储块可以从当错误位数量大于或等于阈值TH0的时间点或者从特定读计数5N之后的时间点根据缩短的周期被检查。也就是说,在存储块被指定为弱块WB的情况下,每当读计数增加m,就检测错误位数量nEB。在特定读计数5N之前或者当错误位数量小于阈值TH0的时间点,每当读计数增加N(N>m)就可以检测错误位数量。也就是说,对于弱块WB,检测错误位数量的周期可以在特定读计数5N之后或者从当错误位数量大于或等于阈值TH0的时间点被缩短。
这里,对于任意一个块检测错误位可以意味着,关于周围的没有被主机请求的存储区域,读和错误检测被执行。也就是说,错误位被检测意指非选择读操作被执行。然而,图9中的错误位检查方式可以不同于图6中的错误位检查方式在于,非选择读操作以周期(例如,N)被执行,所述周期不是随机读计数RC。在主机请求包括在任意一个存储块中的特定页的读操作的情况下,关于被请求页的周围的页,读和错误检测可以每特定读计数周期(例如,N或m)被执行。
如果以减小的周期(例如,m)检测弱块WB的错误位数量nEB,则弱块WB可以在合适的时间被指定为读取回收块。在弱块WB错误位数量以恒定读计数(例如,N)被检测的情况下,在最差的情况下,弱块WB可以被指定为具有不可修正错误的块,而不是读取回收块。然而,如果以固定周期(例如,m)检测弱块WB的错误位数量,则弱块WB可以在错误位数量nEB被检测为大于阈值TH1处的读计数(例如,6N)情况下被指定为读取回收块。
图10为示出根据本公开的一实施例的读取回收方法的流程图。参照图10,根据本公开一实施例的读取回收方法的特征可以在于弱块被检测并且以减小的检测周期检测检测到的弱块的错误位数量。
在步骤S310中,弱块WB可以被检测。每个在其中被写入数据的读操作被请求并且错误位数量nEB在每次读计数被检测的存储块的读计数RC可以存储在每块错误位表格116中。可以基于被存储的读计数RC和错误位数量nEB指定错误位数量大于基准增长率的存储块为弱块WB。这里,在每块错误位表格116中被管理的全部存储块的错误位增长率可以被用作用以选择弱块WB的错误位增长率EBIR的基准增长率。可替代地,通过实验得到的固定的错误位增长被用作用以选择弱块WB的错误位增长率EBIR的基准增长率。
在步骤S320中,弱块WB的错误位数量可以以短于普通块周期的周期被检测。例如,可以假设,对于普通块NB,每当读计数增加10,错误位就被检测一次。然而,对于弱块WB,错误位数量可以在每次读计数增加2时被计数。然而,用于将块分配为读取回收块的错误位数量的阈值TH1可以同样地被应用于弱块WB和普通块NB。
在步骤S330中,可以确定以减小的周期针对弱块WB检测的错误位数量是否达到用于指定块为读取回收块的错误位数量nEB的阈值TH1。如果检测到的错误位数量EB不大于阈值TH1(否),则程序可以返回步骤S320以继续以减小的周期检测错误位数量。如果检测到的错误位数量nEB大于阈值TH1(是),流程可以进行到步骤S340,其中对应的弱块WB被指定为读取回收块。
在步骤S340中,在其中以减小的周期被检测错误位数量的弱块WB可以被指定为读取回收块。虽然没有被描绘,但是存储于被指定为读取回收块的弱块WB中的数据可以被复制到另外的普通存储块,并且弱块WB可以被擦除。
以上,描述了读取回收方法,其中对于被检测的弱块WB,基于以减小的周期被检测的错误位数量指定读取回收块。由于弱块WB被检测并且错误位数量nEB以减小的周期被检测,因此错误位增长率EBIR相对大的弱块可以被准确地指定为读取回收块。也就是说,可以防止不可修正错误发生在错误位增长率EBIR相对大的弱块的情况。
图11为示出根据本公开的读取回收方法的详细示例的流程图。参照图11,在弱块检测部分,每当读计数增加N时就可以检测错误位数量,并且每当读计数增加m(例如,对应于从对应于固定周期的值减小的值)时可以检测检测到的弱块WB的错误位数量。这一点将在以下被更详细地描述。
在步骤S410中,存储控制器110可以从主机接收读请求。存储控制器110的读取回收管理器112可以产生,保持,和更新用于管理每个在其中数据被写入的存储块的读计数RC和错误位数量nEB的每块错误位表格116。
在步骤S420中,存储控制器110可以增加读请求发生于此的存储块的读计数RC,并且可以用增长的读计数更新每块错误位表格116。每块错误位表格166的值可以,周期性地或者必要时,被存储于非易失性存储装置120的特定的区域。因此,即使电源被移除,也可以保持每个在其中数据被写入的存储块的读计数RC和错误位数量nEB的信息。
在步骤430中,可以确定更新的读计数RC是否与用于检测弱块WB的错误位检测周期N相对应。如果被读请求的块的读计数RC不与错误位检测周期N相同(否),则程序可以进行到步骤S410以检测下一个读请求。如果读计数RC与错误位检测周期(例如,N的倍数)相对应(是),则程序可以进行到步骤S440以用于错误检测。
在步骤S440中,存储控制器110可以读取非易失性存储装置120的被选择存储块的数据,并且可以执行被读取数据的错误检测操作。此时,错误检测操作可以由存储控制器110的错误修正块117执行。
在步骤450中,存储控制器110可以确定从其中读取数据的存储块是否为弱块WB,而与错误修正和数据输出无关。也就是说,如果对于读计数的错误位增长率被计算,则存储块是否为弱块WB可以被确定。错误位增长率被确定为大于基准值的存储块可以被指定为弱块WB。如果从其中检测到错误位的存储块不是弱块WB(否),则程序进行到步骤S460。如果计算错误位增长率的结果表明存储块为弱块WB(是),则程序可以进行到步骤S470。
在步骤S460中,每块错误位表格116可以用存储块的错误位数量nEB更新,所述存储块基于错误位增长率被判定为普通块NB。然后,程序可以返回步骤S410以接收读请求。
在步骤470中,用于管理弱块WB的程序可以开始。也就是说,弱块WB的错误位数量nEB可以以减小的读计数周期m检测。这里,减小的读计数周期m可以关于从主机的读请求被使用。可替代地,不管从主机的读计数请求为何,存储控制器110都可以以减小的读计数周期m从弱块WB读取数据,并且可以检测被读取数据的错误。这里,减小的读计数周期m可以比上述弱块检测周期N短。
在步骤S480中,从弱块WB被检测的错误位数量是否大于用于将块指定为读取回收块的阈值TH1可以被确定。如果关于弱块WB被检测的错误位数量nEB大于阈值TH1(是),则程序可以进行到步骤S490。如果关于弱块WB被检测的错误位数量nEB小于或等于阈值TH1(否),则程序可以返回步骤S470,在所述步骤S470中,错误位数量以减小的周期被检测。
在步骤S490中,存储控制器110可以关于弱块WB执行读取回收程序,在所述弱块WB中被检测的错误位数量nEB变得大于用于将块指定为读取回收块的阈值TH1。如果块被存储控制器110指定为读取回收块,则数据复制和擦除程序可以在读取回收管理器112的控制下执行。
根据本公开的一实施例的读取回收方法在上面被描述。
图12为示出根据本公开的另一实施例的读取回收方法的图。参照图12,存储块可以被基于错误位增长率分为至少两组或更多组,并且不同的读取回收基准可以分别被应用于所述组中。
各存储块的读计数RC和错误位数量nEB可以被检测。也就是说,可以每隔特定的读计数(例如,随机读计数)检测错误位数量nEB,并且每块错误位表格116可以用检测到的错误位数量更新。在数据被写入存储块中后,可以在特定的部分ΔK中检测和计算对于读计数RC的错误位增长率。错误位增长率被计算的存储块可以,基于错误特征,被分为至少两组。本公开的一实施例在图12中举例说明,其中存储块被分为三组WB,NB,和SB。然而,本公开的范围和精神不可以被限于此。例如,存储块可以基于错误位增长率的大小被分为两组或四组或更多组。
关于三个存储块,对读计数RC的错误位增长率可以大小各自不同。在图12的图中,直线可以对应于具有错误位增长率“α”的弱块WB,具有错误位增长率“β”(α>β)的普通块,以及具有错误位增长率“γ”(β>γ)的强块。可以用区段ΔK分类存储块以计算错误位增长率。
如果存储块根据错误特征被完全分类,具有不同大小的读取回收基准EB0,EB1,EB2可以分别应用于存储块WB,NB,和SB。也就是说,当错误位数量nEB大于或等于第一基准值EB0时,弱块WB可以被指定为读取回收块。当错误位数量nEB大于或等于第二基准值EB1时,普通块NB可以被指定为读取回收块。当错误位数量nEB大于或等于第三基准值EB2时,强块SB可以被指定为读取回收块。
总之,在实施例中,用于将块指定为读取回收块的错误位数量的不同位数量基准值可以被分别应用于具有不同错误特征的存储块。如果上面提及到的读取回收基准EB0,EB1,和EB2根据分类的组被应用,则弱块WB的错误位数量可以在第RNi的读计数RNi(i为自然数)被检测。因此检测到的错误位数量可以大于或等于第一基准值EB0。因此,弱块WB可以在读计数RNi被指定为读取回收块。相比之下,普通块NB的错误位数量可以在第RNj的读计数RCj(j为自然数)达到第二基准值EB1。因此,普通块NB可以在读计数RNj上被指定为读取回收块。强块SB的错误位数量可以在第RNk的读计数RCk(k为自然数)达到第二基准值EB2。因此,强块SB可以在读计数RNk上被指定为读取回收块。
本公开的一实施例被举例说明,其中用于将块指定为读取回收块的不同的基准值基于错误特征被应用于存储块。在上述实施例中,被选择页之外的剩余页的错误位检测周期可以不改变。然而,通过精确地应用读取回收基准于错误特征不好的存储块,弱块被指定为读取回收块的时间可以变得相对短。
图13为示出根据本公开的一实施例,图12示出的读取回收方法的流程图。参照图13,根据错误特征的存储块的分类和具有不同大小的错误位数量可以被应用作为读取回收基准。
在步骤S510中,数据被写于其上的存储块的错误位增长率EBIR可以在读计数RC上被计算。当读操作被执行至少两次时,错误位增长率EBIR可以被计算。然而,为提高准确度,可以参照当读操作被执行三次或更多次时检测到的错误位数量计算错误位增长率EBIR。
在步骤S520中,操作可以根据错误位增长率EBIR分开。如果存储块被基于错误位增长率EBIR分类为弱块WB,则程序可以进行到步骤S530。如果存储块被基于错误位增长率EBIR分类为普通块NB,则程序可以进行到步骤S540。如果存储块被基于错误位增长率EBIR分类为强块SB,则程序可以进行到步骤S550。
在步骤S530中,RR管理器112可以对被分类为弱块WB的存储块应用特定的读取回收基准。也就是说,当检测到的错误位数量nEB大于或等于第一基准值EB0时,被分为弱块WB的存储块可以被指定为读取回收块。
在步骤S540中,RR管理器112可以对被分类为普通块NB的存储块应用特定的读取回收基准。也就是说,当检测到的错误位数量nEB大于或等于第二基准值EB1时,被分类为普通块NB的存储块可以被指定为读取回收块。
在步骤S550中,RR管理器112可以对被分类为强块SB的存储块应用特定的读取回收基准。也就是说,当检测到的错误位数量nEB大于或等于第三基准值EB2时,被分类为强块SB的存储块可以被指定为读取回收块。
本公开的一实施例在图13中被例示,其中不同的读取回收基准被基于错误特征应用于不同存储块。根据所述读取回收方法,错误位增长率相对大的弱块WB可以在相对小的读计数RC上被指定为读取回收块。因此,不可修正错误发生在读取弱块WB中的可能性可以被显著降低。
图14为示出根据本公开的又一实施例的读取回收方法的图。参照图14,存储块可以基于错误位增长率被分类为至少两组或更多组。不同的读取回收的读计数基准可以分别被应用于所述组。
参照图12描述使用错误位增长率的用于分类存储块的方法,并且其描述被因此省略。存储块可以基于参照图12描述的方法被分类为多个组。本公开的一实施例在图13中例示,其中存储块被分类为三组WB,NB,和SB。
如果存储块根据错误特征被完全分类,则具有不同大小的读取回收基准i,j,k可以分别应用于存储块WB,NB,和SB。也就是说,当读计数RC大于或等于第一读计数i时,弱块WB可以被指定为读取回收块。当读计数RC大于或等于第二读计数j时,普通块NB可以被指定为读取回收块。当读计数RC大于或等于第三读计数k时,强块SB可以被指定为读取回收块。
总之,在实施例中,用于将块指定为读取回收块的不同的读计数可以被分别应用于具有不同错误特征的存储块。通过应用所述不同的读取回收基i,j,k于经分类的组,弱块WB被指定为读取回收块的时间可以变得相对短。因此,可能防止由于不可修正错误引起的读取错误发生在错误特征不良的块上。
图15为示出根据本公开的一实施例,图14示出的读取回收方法的流程图。参照图15,根据错误特征的存储块的分类和具有不同大小的错误位数量可以被应用作为读取回收基准。
在步骤S610中,数据被写于其中的存储块的错误位增长率EBIR可以在读计数RC上被计算。当读操作被执行至少两次时,错误位增长率EBIR可以被计算。然而,为提高准确度,错误位增长率EBIR可以参照当读操作被执行三次或更多次时被检测的错误位数量被计算。
在步骤S620中,根据错误位增长率EBIR操作可以分开。如果存储块基于错误位增长率EBIR被分类为弱块WB,则程序可以进行到步骤S630。如果存储块基于错误位增长率EBIR被分类为普通块NB,则程序可以进行到步骤S640。如果存储块基于错误位增长率EBIR被分类为强块SB,则程序可以进行到步骤S650。
在步骤S630中,RR管理器112可以对被分类为弱块WB的存储块应用特定的读取回收基准。也就是说,当检测到的读计数RC的大于或等于第一读计数i时,被分类为弱块WB的存储块可以被指定为读取回收块。
在步骤S640中,RR管理器112可以对被分类为普通块NB的存储块应用特定的读取回收基准。也就是说,当检测到的读计数RC的大小大于或等于第二读计数j时,被分类为普通块SB的存储块可以被指定为读取回收块。
在步骤S650中,RR管理器112可以对被分类为强块SB的存储块应用特定的读取回收基准。也就是说,当检测到的读计数RC的大于或等于第三读计数k时,被分类为强块SB的存储块可以被指定为读取回收块。
本公开的一实施例在图15中被例示,其中不同的读取回收基准基于错误特征被应用于不同存储块。根据所述读取回收方法,错误位增长率相对大的弱块WB可以在相对小的读计数RC上被指定为读取回收块。因此,不可修正错误发生在读取弱块WB中的可能性可以被显著降低。
本公开的一实施例在图12中被例示,其中用于将块指定为读取回收块的错误位数量是根据存储块的特征变化的。本公开的一实施例在图14中被例示,其中用于将块指定为读取回收块的读计数的大小是根据存储块的错误特征可变的。应当理解,块可以通过图12的方法和图14的方法的结合被指定为读取回收块。
图16为示出根据本公开的另一实施例的储存装置的框图。参照图16,储存装置200可以包括存储控制器210和非易失性存储装置220。非易失性存储装置220基本与图1的非易失性存储装置120相同,并且其详细的描述被因此省略。
存储控制器210可以建立和保持有关弱块WB的信息,所述弱块WB的错误位增长率相对大。此外,存储控制器210可以基于参照图1到15的读取回收方法管理弱块WB。具体地,存储控制器210可以基于被写请求的数据的模式和关于弱块WB的信息分配存储块。
存储控制器210可以基于基本与存储控制器110相同的方式检测存储块的错误特征。具体地,可以根据错误位增长率EBIR的检测确定弱块WB。存储控制器210可以在读取回收操作之外的操作期间使用关于弱块的弱块WB信息215。例如,在数据写操作期间,存储控制器210可以执行块分配,使得特定写模式的数据被写于弱块。经常被更新或用相同逻辑地址写的数据可以被称为“热数据”。存储控制器210可以执行块分配使得热数据被写于弱块WB。
图17为示出使用弱块信息的数据写入方法的流程图。参照图17,弱块WB可以被分配给用于写入特定模式的数据(例如,热数据)的存储块。
在步骤S710中,存储控制器210可以从主机接收写请求。
在步骤S720中,存储控制器210可以确定被请求写的数据的属性或模式。存储控制器210可以参照被请求写的数据的逻辑地址确定被请求写的数据的模式或属性。例如,被经常更新或修正的数据可以被确定为热数据。区分热数据和冷数据的基准可以根据用于确定数据属性的各种算法改变。
在步骤S730中,根据数据属性操作被分开。如果被请求写的数据被确定为热数据(是),则程序可以进行到步骤S740。如果被请求写的数据被确定为不是热数据(否),则程序可以进行到步骤S750。
在步骤S740中,存储控制器210可以分配弱块WB给用于写入所述被请求写的数据的存储块。关于弱块WB的地址信息可以被持续地保持在存储控制器210中或者可以在存储控制器中被更新。
在步骤S750中,存储控制器210可以分配普通块NB或强块SB,而不是弱块WB,给用于写入所述被请求写的数据的存储块。
参照图17描述使用弱块信息的数据写入方法。存储控制器210可以检测被请求写的数据的模式或属性,并且特定模式或属性的数据可以被存储在弱块WB中。在经常更改的热数据被存储的情况下,擦除时间点可以根据不能被覆盖写入的闪存存储装置的特征加速。因此,在写入热数据于弱块的情况下,可以不需要考虑由于读取扰动引起的错误位的增加。
图18为示出使用弱块信息的数据写入方法的另一示例的流程图。参照图18,弱块WB可以被分配给用于写入特定属性的数据(例如,元数据)的存储块。数据可以被以单电平单元(SLC)的方法写于被选择的弱块。
在步骤S810中,存储控制器210可以从主机接收写请求。
在步骤S820中,存储控制器210可以确定被请求写的数据的属性。存储控制器210可以参照各种信息确定被请求写的数据的属性。例如,存储控制器210可以参照来自主机的标签或各种属性信息检测数据的属性。下面,元数据可以被用作数据的属性的示例。
在步骤S830中,操作被根据数据属性分开。如果被请求写的数据被确定为元数据(是),则程序可以进行到步骤S840。如果被请求写的数据被确定为不是元数据(否),则程序可以进行到步骤S860。
在步骤S840中,存储控制器210可以分配弱块WB作为用于写入所述被请求写的数据的存储块。弱块WB的地址信息可以被持续地保持在存储控制器210中或者可以在存储控制器210中被更新。
在步骤S850中,存储控制器210可以以SLC写入模式将被请求写的数据写入于弱块WB。
在步骤S860中,存储控制器210可以分配普通块NB或强块SB作为用于写入被请求写的数据的存储块。
在步骤S870中,存储控制器210可以以MLC写入模式将被请求写的数据写入于被选择的存储块。
图19为示出使用弱块信息的数据写入方法的另一示例的流程图。参照图19,存储控制器210可以,首先,在由于缺乏自由块(free block)紧急执行垃圾收集操作或合并操作的情况下,分配弱块给合并目标。这一点将在以下被更详细地描述。
在步骤S910中,存储控制器210可以从主机接收写请求。
在步骤S920中,存储控制器210可以检查自由块的状态以选择存储块,被请求写的数据被写于所述存储块。例如,存储控制器210可以确定可用的自由块是否足够地包括在自由块池中。
在步骤S930中,存储控制器210可以确定是否需要垃圾收集操作。例如,在自由块不足够的情况下,垃圾收集操作可以被快速地执行以得到自由块。作为确定需要垃圾收集操作的结果,程序可以进行到步骤S940。相反地,作为确定自由块的数量为足够的结果,程序可以进行到步骤S960。
在步骤S940中,存储控制器210可以指定弱块WB作为将被合并用于垃圾收集的存储块的候选。
在步骤S950中,存储控制器210可以复制存储于被选择用于垃圾收集的弱块的数据并且可以在弱块上执行擦除操作。所述被擦除的弱块可以被指定为自由块。
在步骤S960中,存储控制器210可以选择任何存在于自由块池中的块作为数据将被写入的存储块,而不执行垃圾收集操作。
使用弱块信息的各种实施例参照图16到19被描述。然而,本公开的范围和精神不限于此。
图20为示出根据本公开的又一实施例的储存装置的框图。参照图20,储存装置300可以包括存储控制器310和非易失性存储装置320。非易失性存储装置320基本与图1的非易失性存储装置120或图16的非易失性存储装置220相同,并且其详细的描述被因此省略。
存储控制器310可以建立和保持有关弱块WB的信息,所述弱块WB的错误位增长率EBIR相对大。存储控制器310可以基于参照图1到15描述的方法执行弱块WB的读取回收操作。存储控制器310可以基于被请求写的数据的属性分配弱块或普通块。数据的属性可以被包括于来自主机的数据标签中。
存储控制器310可以参照包括于来自主机的写请求或命令的数据标签得到数据的属性或模式。存储控制器310可以基于通过数据标签检测的数据属性或模式选择存储块,被请求写的数据将被写于所述存储块。这里,包含在数据标签中的数据的属性或模式可以为表明被请求写的数据是否为热数据或者被请求写的数据的模式是否为顺序模式或随机模式的信息。然而,本公开的范围和精神不限于此。例如,各种各样的信息可以被包含在数据标签中。
例如,在包括在数据标签中的被请求写的数据的属性与热数据有关的情况下,存储控制器310可以选择弱块WB作为存储块,被请求写的数据被存储于所述存储块。
图21为示出参照主机的提示信息分配存储块的方法的流程图。参照图21,弱块WB或普通块NB可以参照从主机提供的数据标签被分配。
在步骤S1010中,存储控制器310可以从主机接收写请求。在一实施例中,从主机提供的写入命令、地址、或数据可以包括定义被请求写的数据的属性或模式的数据标签。
在步骤S1020中,存储控制器310可以基于数据标签确定被请求写的数据的属性或模式。
在步骤S1030中,操作可以被根据数据属性分开。如果被请求写的数据被确定为热数据(是),程序可以进行到步骤S1040。如果被请求写的数据被确定为不是热数据(否),程序可以进行到步骤S1050。
在步骤S1040中,存储控制器310可以分配弱块WB给用于写入所述被请求写的数据的存储块。关于弱块WB的地址信息可以被持续地保持在存储控制器310中或者可以在存储控制器210中被更新。
在步骤S1050中,存储控制器310可以分配普通块NB或强块SB,而不是弱块WB,给用于写入被请求写的数据的存储块。
使用弱块信息的数据写入方法参照图17被描述。存储控制器310可以参照来自主机的数据标签检测被请求写的数据的模式或属性,并且具有特定模式或属性的数据可以存储在弱块WB中。
图22为示出根据本公开的另一实施例的用户系统的框图。参照图22,用户系统400可以包括主机410和储存装置420。主机410可以包括核412,工作存储器414和存储接口416。储存装置420可以包括微控制器422和非易失性存储装置424。这里,储存装置420可以用完美页新(perfect page new,PPN)装置实现。
主机410的核412可以运行各种加载于工作存储器414上的应用程序或可以处理加载在工作存储器414上的数据。诸如操作系统和应用程序这样的软件可以被加载在工作存储器414上。具体地,如本公开的读取回收RR管理器415和非选择读取管理器417的算法或软件模块可以被加载在加载在工作存储器414上的操作系统上。
存储接口416可以将由核412请求访问的存储地址转换为物理地址。存储接口416可以执行,例如,闪存转换层(FTL)的功能。
在主机410的控制下,RR管理器415和USR管理器417可以基于错误位增长率将存储装置420的存储块分类。RR管理器415和USR管理器417可以管理用固定的错误位检测周期分类为弱块的存储块。如果检测到的错误位数量大于或等于特定的阈值,则弱块可以被指定为读取回收块。
储存装置420可以包括所述微控制器422和非易失性存储装置424。微控制器422可以给非易失性存储装置424提供来自主机410的命令CMD,地址ADDR,控制信号CTRL,和数据Data。
图23为示出包括在参照图1、图4、图16、图20和图22描述的存储单元阵列中的存储块的第一存储块BLK1的电路图。在一实施例中,具有三维结构的第一存储块BLK1将参照图23描述。然而,本公开的范围和精神不限于此。例如,分别包括于非易失性存储装置423中的其他存储块可以具有与第一存储块BLK1类似的结构。
参照图23,第一存储块BLK1可以包括多个单元串CS11,CS12,CS21,和CS22。单元串CS11,CS12,CS21,和CS22可以沿行方向和列方向排列,并且可以形成行或列。
例如,单元串CS11和CS12可以连接于串选择线SSL1a和SSL1b以形成第一行。单元串CS21和CS22可以连接于串选择线SSL2a和SSL2b以形成第二行。例如,单元串CS11和CS21可以连接于第一位线BL1以构成第一列。单元串CS12和CS22可以连接于第二位线BL2以构成第二列。
各单元串CS11,CS12,CS21,和CS22可以包括多个单元晶体管。各单元串CS11,CS12,CS21,和CS22可以包括串选择晶体管SSTa和SSTb,多个存储单元MC1到MC8,地选择晶体管GSTa和GSTb,和虚拟存储单元DMC1和DMC2。在一实施例中,包括在单元串CS11,CS12,CS21,和CS22中的各存储单元可以是电荷捕获闪存(CTF)存储单元。
存储单元MC1到MC8可以被串行地连接并且可以在高度方向堆叠,所述高度方向为垂直于由行方向和列方向定义的平面的方向。串选择晶体管SSTa和SSTb可以被串行地连接并且可以被布置于存储单元MC1到MC8和位线BL之间。地选择晶体管GSTa和GSTb可以被串行地连接并且可以被布置于存储单元MC1到MC8和公共源极线CSL之间。
在一实施例中,第一虚拟存储单元DMC1可以被布置于存储单元MC1到MC8和地选择晶体管GSTa和GSTb之间。在一实施例中,第二虚拟存储单元DMC2可以被布置于存储单元MC1到MC8和串选择晶体管SSTa和SSTb之间。
单元串CS11,CS12,CS21,和CS22的地选择晶体管GSTa和GSTb可以共同连接于地选择线GSL。在一实施例中,在相同行的地选择晶体管可以被连接于相同地选择线,并且在不同行的地选择晶体管可以被连接于不同的地选择线。例如,在第一行的单元串CS11和CS12的第一地选择晶体管GSTa可以被连接于第一地选择线,并且在第二行的单元串CS21和CS22的第一地选择晶体管GSTa可以被连接于第二地选择线。
在一实施例中,即使没有在图23中示出,被提供在距基底(未示出)相同高度的地选择晶体管也可以被连接于相同地选择线,被提供在不同高度的地选择晶体管可以被连接于不同地选择线。例如,单元串CS11,CS12,CS21,和CS22的第一地选择晶体管GSTa可以被连接于第一地选择线,并且其第二地选择晶体管GSTb可以被连接于第二地选择线。
置于距基底(或者地选择晶体管GSTa和GSTb)相同高度的存储单元可以被共同连接于相同字线,并且置于距此不同高度的存储单元可以连接于不同字线。例如,在单元串CS11,CS12,CS21,和CS22中的第一到第八存储单元MC1到MC8可以分别共同地连接于第一到第八字线WL1到WL8。
来自在同样的高度的第一串选择晶体管SSTa中的属于相同行的串选择晶体管可以被连接于同样的串选择线,并且属于不同行的串选择晶体管可以被连接于不同的串选择线。例如,在第一行的单元串CS11和CS12的第一串选择晶体管SSTa可以被共同地连接于串选择线SSL1a并且在第二行的单元串CS21和CS22的第一串选择晶体管SSTa可以被连接于串选择线SSL2a。
来自在同样的高度的第二串选择晶体管SSTb中的属于相同行的串选择晶体管可以被连接于同样的串选择线,并且属于不同行的串选择晶体管可以被连接于不同的串选择线。例如,在第一行的单元串CS11和CS12的第二串选择晶体管SSTb可以被共同地连接于串选择线SSL1b并且在第二行的单元串CS21和CS22的第二串选择晶体管SSTb可以被连接于串选择线SSL2b。
即使未示出,在相同行的单元串的串选择晶体管也可以共同被连接于相同的串选择线。例如,在第一行的单元串CS11和CS12的第一串选择晶体管SSTa和第二串选择晶体管SSTb可以被共同连接于相同串选择线。在第二行的单元串CS21和CS22的第一串选择晶体管SSTa和第二串选择晶体管SSTb可以被共同连接于相同串选择线。
在一实施例中,在相同高度的虚拟存储单元可以与相同虚拟字线连接,并且在不同高度的虚拟存储单元可以与不同的虚拟字线连接。例如,第一虚拟存储单元DMC1可以被连接于第一虚拟字线DWL1并且第二虚拟存储单元DMC2可以被连接于第二虚拟字线DWL2。
在第一存储块BLK1中,读操作和写操作可以通过行执行。例如,存储块BLK1的一行可以被串选择线SSL1a,SSL1b,SSL2a,和SSL2b选择。当开启电压供给串选择线SSL1a和SSL1b并且关闭电压供给串选择线SSL2a和SSL2b时,在第一行的单元串CS11和CS12可以分别连接于位线BL1和BL2。当开启电压供给串选择线SSL2a和SSL2b并且关闭电压供给串选择线SSL1a和SSL1b时,在第二行的单元串CS21和CS22可以分别连接于位线BL1和BL2。属于相同高度的存储单元可以自通过操作字线被驱动的行中的单元串的存储单元中被选择。在被选择存储单元中,读操作和写操作可以被执行。被选择的存储单元可以构成物理页单元。
在存储块BLK1中,存储单元可以被存储块或子块擦除。当擦除由存储块执行时,在存储块BLK1中的所有存储单元MC可以根据擦除请求被同时擦除。当擦除由子块执行时,存储块BLK1中的部分存储单元MC可以根据擦除请求被同时擦除,同时它的其他部分可以被禁止擦除。低电压(例如,地电压)可以被供给连接于被擦除存储单元MC的字线,并且连接于被禁止擦除的存储单元MC的字线可以被浮置。
图23示出的第一存储块BLK1可以为一示例。例如,单元串的数量可以增加或减少,并且单元串的行的数量和单元串的列的数量可以根据单元串的数量增加或减少。在第一存储块BLK1中,单元晶体管(GST,MC,DMC,SST等)的数量可以增加或减少,第一存储块BLK1的高度可以根据单元晶体管(GST,MC,DMC,SST等)的数量增加或减小。此外,连接于单元晶体管的线(GSL,WL,DWL,SSL等)的数量可以根据单元晶体管(GST,MC,DMC,SST等)的数量增加或减小。
当连接于第一存储块BLK1的字线WL5的存储单元被选择,非选择读操作可以被应用于周围的字线WL1到WL4和WL6到WL8至少之一。具体地,由于供给有具有相对高电平的非选择读取电压Vread2(>Vread1),因此临近于被选择字线WL5的字线可能受更大的读取扰动干扰。根据本公开的读取回收方法,当第一存储块BLK1被检查为弱块时,用于第一存储块BLK1的非选择读操作的周期可以由随机周期变为固定周期。可替代地,用于第一存储块BLK1的读取回收基准可以被处理为不同于其他普通块的读取回收基准。
图24为示出根据本公开的一实施例的包括非易失性存储系统的存储卡系统的框图;参照图24,存储卡系统1000可以包括存储控制器1100,非易失性存储器1200,和接口1300。
存储控制器1100可以连接于非易失性存储器1200。存储控制器1100可以被配置成访问非易失性存储器1200。例如,存储控制器1100可以被配置成控制非易失性存储器1200全部操作,包括但不限于,读操作,写操作,擦除操作,和背景操作。背景操作可以包括如磨损均衡管理和垃圾收集的操作。在一实施例中,存储控制器1100可以执行与参照图1到图21描述的存储控制器110、210、和310至少之一相同的控制操作。也就是说,存储控制器1100可以基于在非易失性存储装置1200中的存储块的读计数计算错误位增长率并且可以基于计算的错误位增长率选择弱块。存储控制器1100可以基于不同于其他存储块的基准(例如,错误位数量或读计数)指定被选择的弱块为读取回收块。
存储控制器1100可以提供非易失性存储器1200和主机之间的接口。存储控制器1100可以被配置成驱动固件以控制非易失性存储器1200。在一实施例中,存储控制器1100可以包括例如,但不限于,RAM,处理单元,主机接口,存储接口,和错误修正单元的组件。
存储控制器1100可以通过连接器1300与外部设备通信。存储控制器1100可以基于特定的通信协议与外部设备通信。例如,存储控制器可以通过各种通信协议中至少之一与外部设备通信,所述通信协议例如,但不限于,通用串行总线(USB),多媒体卡(MMC),eMMC(嵌入式MMC),周边部件互联(PCI),PCI-Express(PCI-E),高级技术附件(ATA),串行-ATA,并行-ATA,小型计算机小型接口(small computer small interface,SCSI),增强型小型磁盘接口(ESDI),电子集成驱动器(IDE),火线,通用闪存存储(UFS),非易失性存储标准(NVMe)。在一实施例中,由上面描述的标准定义的写入命令可以包括写入数据的大小信息。
非易失性存储器1200可以由各种各样的非易失性存储装置实现,所述非易失性存储装置包括,但不限于,电可擦除可编程只读存储器(EEPROM),NAND闪存存储器,NOR闪存存储器,相变RAM(PRAM),阻变式RAM(ReRAM),铁电RAM(FRRAM),和自旋力矩磁性RAM(STT-MRAM)。
在一实施例中,存储控制器1100和非易失性存储器1200可以被集成在单独的半导体器件中。存储控制器1100和非易失性存储器1200可以被集成在单独的半导体器件中以形成固态驱动器(SSD)。存储控制器1100和非易失性存储器1200可以被集成在单独的半导体器件中以构成存储卡。例如,存储控制器1100和非易失性存储器1200可以被集成在单独的半导体器件中以构成存储卡,所述存储卡例如,但不限于,PC卡(个人计算机存储卡国际联合会(PCMCIA)卡),紧凑闪存卡(CF),智能媒体卡(SM,SMC),记忆棒,多媒体卡(MMC,RS-MMC,MMC-micro),SD卡(SD,miniSD,SDHC),和通用闪存存储器(UFS)。
图25为示出根据本公开的一实施例的包括非易失性存储系统的固态驱动器的框图。参照图25,固态驱动器(SSD)系统2000可以包括主机2100和SSD 2200。SSD 2200可以通过信号连接器2001与主机2100交换信号并且可以通过电源连接器2002被供电。SSD 2200可以包括SSD控制器2210,多个闪存存储器2221到222n,辅助电源2230,和缓冲存储器2240。
SSD控制器2210可以响应来自主机2100的信号控制闪存存储器2221到222n。在一实施例中,SSD控制器2210可以执行与参照图1到21描述的存储控制器110、210和310至少之一相同的控制操作。也就是说,SSD控制器2210可以基于闪存存储器221到222n的读计数计算错误位增长率并且可以基于计算的错误位增长率选择弱块。SSD控制器2210可以基于不同于其他存储块的基准(例如,错误位数量或读计数)指定被选择的弱块为读取回收块。
辅助电源2230可以通过电源接口2002被连接于主机2100。辅助电源2230可以被来自主机2100的电能充电。当电能不能从主机2100平稳地被供应时,辅助电源2230可以为SSD系统2000供电。辅助电源2230可以放置于SSD 2200里面或外面。例如,辅助电源2230可以放在主板上以向SSD 2200提供辅助电能。
缓冲存储器2240可以用作SSD 2200的缓冲存储器。例如,缓冲存储器2240可以暂时储存从主机2100或从闪存存储器2221到222n接收的数据或者可以暂时存储闪存存储器2221到222n的元数据(例如,映射表)。缓冲存储器2240可以包括易失存储器,例如DRAM,SDRAM,DDR DRAM,LPDDR SDRAM,和SRAM,或者非易失性存储器,例如FRAM,ReRAM,STT-MRAM,和PRAM。
图26为示出根据本公开的另一实施例的包括非易失性存储系统的用户系统的框图。参照图26,用户系统3000可以包括应用处理器3100,存储器模块3200,网络模块3300,存储模块3400,和用户接口3500。
应用处理器3100可以驱动用户系统3000的组件,操作系统等。例如,应用处理器3100可以包括控制器,以控制用户系统3000的组件,图形引擎,各种接口等。例如,应用处理器3100可以是片上系统(SoC)。
存储器模块3200可以作为用户系统3000的主存储器,工作存储器,缓冲存储器,或者高速缓冲存储器操作。存储器模块3200可以用易失性随机存取存储器或非易失性随机存取存储器实现,所述易失性随机存取存储器例如DRAM,SDRAM,双倍数据速率DRAM(DDRDRAM),DDR2SDRAM,DDR3SDRAM,LPDDR DRAM,LPDDR2DRAM,或者LPDDR3DRAM,所述非易失性随机存取存储器例如PRAM,MRAM,RRAM,或者FRAM。
网络模块3300可以与外部设备通信。例如,网络模块3300可以支持无线通信,例如码分多址(CDMA),全球移动通信系统(GSM),宽带CDMA(WCDMA),CDMA-2000,时分多址(TDMA),长期演进(LTE),Wimax,WLAN,UWB,蓝牙,和WI-DI。在一实施例中,网络模块3300可以包括在应用处理器3100中。
存储模块3400可以存储数据。例如,存储模块3400可以存储从应用处理器3100接收的数据。可替代地,存储模块3400可以提供存储于其中的数据给应用处理器3100。例如,存储模块3400可以用半导体存储装置实现,所述半导体存储装置例如PRAM,MRAM,RRAM,NAND闪存存储器,NOR闪存存储器,或者三维NAND闪存存储器。
在一实施例中,存储模块3400可以基于参照图1到图21的读取回收方法控制多个非易失性存储装置。
用户接口3500可以包括向应用处理器3100中输入数据或命令或向外部设备输出数据的接口。例如,用户接口3500可以包括用户输入接口,例如键盘(keyboard),小键盘(keypad),按键,触摸板(touch panel),触摸屏,触摸板(touch pad),触摸球,相机,麦克风,陀螺仪传感器,和振动传感器。用户接口3500还可以包括用户输出接口,例如液晶显示器(LCD),有机发光二极管(OLED)显示装置,有源矩阵OLED(AMOLED)显示装置,发光二极管(LED),扬声器,和电机。
根据本公开的非易失性存储装置,卡控制器,和存储卡可以根据各种不同的封装技术中的任一种被封装。这样的封装技术的示例可以包括以下:层叠封装(Package onPackage,PoP),球栅阵列(BGAs),芯片尺寸封装(CSPs),塑料有引线芯片载体封装(PLCC),塑料双列直插封装(PDIP),晶片包中管芯封装(die in waffle pack),晶片形式的管芯封装(die in wafer form),板上芯片(COB),陶瓷双列直插封装(CERDIP),塑料公制方形扁平封装(MQFP),小外形封装(SOIC),收缩型小外形封装(SSOP),薄型小外形封装(TSOP),薄型方形扁平封装(TQFP),系统封装(SIP),多芯片封装(MCP),晶圆级制造封装(WFP),晶圆级处理堆栈封装(WSP)。
根据本公开的实施例,被选择为读取回收块的存储块的数量可以,基于存储块的物理特征,通过改变当块被指定为读取回收块的时间点而减少。因此,可能延长存储装置的寿命并且提高存储装置的性能。
如本领域的惯例,实施例可以依据块被描述和图示,所述块执行所描述的一种功能或多种功能。这些块,在此处指单元或模块等,由如逻辑门,集成电路,微处理器,微控制器,存储电路,无源电子元件,有源电子元件,光学元件,硬连线电路等模拟和/或数字电路物理地实现,并且可以由固件和/或软件选择性地驱动。电路可以,例如,在一个或更多半导体芯片中,或者在印刷电路板等基底支撑件上体现。构成块的电路可以由专用硬件,或由处理器(例如,一个或更多编程微处理器和相关电路),或由用于执行块的一些功能的专用硬件和用于执行块的其他功能的处理器的组合实现。实施例的各块可以物理分离为两个或更多相互作用的和离散的块,而不背离被公开的范围。类似地,实施例的块可以物理的合并为更多复杂的块,而不背离本公开的范围。
本公开已参照示例的实施例被描述,对本领域技术人员来说,显然,各种变化和修改可以被实现而不背离本公开的精神和范围。因此,应该理解,上述实施例不是限定性的,而是示例性的。

Claims (25)

1.一种储存装置的读取回收方法,所述方法包括:
在随机数量的读操作的周期中,检测存储于多个存储块中的每一个中的非选择数据中的错误位数量;
选择具有在随机数量的读操作的一个或多个周期上相对于读操作的数量的、检测到的错误位的数量以大于基准率的率值增加的存储块为弱块;
在固定数量的读操作的周期中,检测存储于弱块中的非选择数据中的错误位数量;和
检测根据所述固定数量的读操作的周期检测到的错误位数量是否大于或等于读取回收基准;
其中,所述非选择数据为没有被主机请求的数据。
2.根据权利要求1所述的方法,其中所述固定数量的读操作的周期短于所述随机数量的读操作的周期的平均。
3.根据权利要求1所述的方法,还包括:
从所述主机接收读请求,
其中,所述非选择数据是存储块的未被选择的数据,其中从所述主机被读请求的数据被存储在所述存储块中。
4.根据权利要求1所述的方法,其中,所述基准率是,相对于读操作的数量,多个存储块的检测到的错误位数量的平均。
5.根据权利要求1所述的方法,还包括:
将存储在弱块中的非选择数据的最近检测到的错误位数量与第一阈值相比较,其中,
当存储在弱块中的非选择数据的最近检测到的错误位数量小于或等于所述第一阈值时,存储在弱块中的非选择数据的错误位数量在随机数量的读操作的周期而不是固定数量的读操作的周期被检测。
6.根据权利要求5所述的方法,其中,当存储在弱块中的非选择数据的最近检测到的错误位数量大于所述第一阈值时,存储在弱块中的非选择数据的错误位数量在固定数量的读操作的周期被检测。
7.根据权利要求1所述的方法,还包括当在固定数量的读操作的周期检测到的错误位数量大于或等于读取回收基准时,指定弱块为读取回收块。
8.根据权利要求1所述的方法,其中:
所述多个存储块中的每一个包括多个存储单元,每个存储单元包括电荷捕获层,
所述存储单元构成三维存储阵列,以及
所述非选择数据是存储在未被字线选择的存储单元中的数据,所述字线临近于从主机请求的页或临近于地选择线或串选择线。
9.一种储存装置的读取回收方法,所述方法包括:
在第一数量的读操作之后,检测存储于多个存储块中的每一个中的数据的错误位数量;
在第二数量的读操作之后,检测存储于所述存储块中的每一个中的数据的错误位数量;
对于所述存储块中的每一个,计算发生在第一数量的读操作和第二数量的读操作之间的检测到的错误位数量的增长率;
基于所述计算结果将所述存储块分类为两个组;
基于第一基准值,指定两个组的第一组的第一存储块为读取回收块;以及
基于不同于第一基准值的第二基准值,指定两个组的第二组的第二存储块为读取回收块。
10.根据权利要求9所述的方法,其中:
当存在于所述第一存储块中的检测到的错误位数量超过第一基准值时,所述第一存储块被指定为读取回收块,以及
当存在于所述第二存储块中的检测到的错误位数量超过第二基准值时,所述第二存储块被指定为读取回收块。
11.根据权利要求10所述的方法,其中:
所述第一基准值小于所述第二基准值,以及
所述第一存储块的发生在第一数量的读操作和第二数量的读操作之间的检测到的错误位数量的增长率,大于所述第二存储块的发生在第一数量的读操作和第二数量的读操作之间的检测到的错误位数量的增长率。
12.根据权利要求9所述的方法,其中:
当所述第一存储块的读操作的数量超过第一基准值时,所述第一存储块被指定为读取回收块,以及
当所述第二存储块的读操作的数量超过第二基准值时,所述第二存储块被指定为读取回收块。
13.根据权利要求12所述的方法,其中:
所述第一基准值小于所述第二基准值,以及
所述第一存储块的发生在第一数量的读操作和第二数量的读操作之间的检测到的错误位数量的增长率,大于所述第二存储块的发生在第一数量的读操作和第二数量的读操作之间的检测到的错误位数量的增长率。
14.一种储存装置,包括:
非易失性存储装置,包括多个存储块;和
存储控制器,所述存储控制器:
相对于对所述存储块请求的读操作的数量,检测在所述多个存储块的每一个中存储的数据的错误位数量的增长率,以及
对所述存储块中的每一个,基于所述存储块的检测到的增长率,分配:
用于指定存储块为读取回收块的基准值,或者
在检测存在于存储块中的错误位数量做出之前发生在周期中的读操作的数量。
15.根据权利要求14所述的储存装置,其中,所述存储控制器包括每块错误位表格,所述每块错误位表格存储所述多个存储块中的每一个的读操作的计数和由所述多个存储块中的每一个存储的错误位数量。
16.根据权利要求14所述的储存装置,其中,所述存储控制器对在非易失性存储装置中的每一个存储块编程所存储的读操作的计数和所存储的错误位数量。
17.根据权利要求14所述的储存装置,其中,所述存储控制器:
在对所述存储块的随机数量的读操作的每个周期,检测增长率,
在对所述存储块的固定数量的读操作的每个周期,检测存储于弱块中的错误位数量,其中在所述弱块中增长率大于基准率,以及
基于被所述弱块存储的检测到的错误位数量指定弱块为读取回收块。
18.根据权利要求14所述的储存装置,其中:
每一个存储块的所述基准值对应于特定的错误位数量或者特定的读操作数量,以及
所述基准值不同以区分检测到的增长率。
19.根据权利要求14所述的储存装置,其中:
所述存储控制器,参照被请求写的数据的属性或模式,分配存储块,其中被请求写的数据被存储于所述存储块中,以及
增长率大于基准率的弱块被分配给具有指示在基准时间内执行更新的属性的数据。
20.根据权利要求14所述的储存装置,其中,所述存储控制器接收从主机提供的被请求写的数据的属性信息并且基于接收的属性信息选择存储块,其中被请求写的数据将被存储于所述存储块中。
21.一种非易失性存储装置的读取回收方法,所述方法包括:
a)接收之前的读操作请求,所述读操作请求为被之前的请求标识的非易失性存储装置的存储块的位置的读操作;
b)响应之前的请求并且通过所述存储块的读操作,确定由没有被之前的请求标识的存储块的位置存储的错误位数量;
c)接收当前的读操作请求,所述读操作为被当前的请求标识的存储块的位置的读操作;
d)响应于当前的请求并且通过所述存储块的读操作,确定由没有被当前的请求标识的存储块的位置存储的错误位数量;
e)相对于之前的请求和当前的请求之间接收的读操作请求的数量,确定所确定的错误位数量之间的增长率;
f)当增长率超过基准率时指定存储块为弱块,并且否则指定存储块为普通块;
g)重复操作(c)和操作(d)中的每一个多次;以及
h)当在操作d)的重复中确定的错误位数量超过读取回收阈值或对存储块的读请求的总数超过阈值数时,指定弱块为可用于读取回收操作。
22.根据权利要求21所述的方法,其中,当所述存储块被指定为弱块时的重复操作(d)的频率平均大于当所述存储块被指定为普通块时的重复操作(d)的频率。
23.根据权利要求21所述的方法,其中:
对于所述普通块的指定,当在最后执行操作(d)之后接收到随机数量的读操作请求时,重复操作(d),以及
对于所述弱块的指定,当在最后执行操作(d)的之后接收到固定数量的读操作请求时,重复操作(d)。
24.根据权利要求21所述的方法,还包括当在操作(d)的重复中所确定的错误位数量超过读取回收阈值时,指定所述弱块为可用于读取回收操作。
25.根据权利要求21所述的方法,还包括:
对多个存储块中的每一个,重复操作(a)到(g);以及
当对所述弱块在操作(d)的重复中所确定的错误位数量超过读取回收阈值或对弱块的读操作请求的总数超过阈值数时,指定存储块中的每一个弱块为可用于读取回收操作。
CN201611174599.6A 2015-12-18 2016-12-19 储存装置和其读取回收方法 Active CN107015917B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0181872 2015-12-18
KR1020150181872A KR102435873B1 (ko) 2015-12-18 2015-12-18 스토리지 장치 및 그것의 리드 리클레임 방법

Publications (2)

Publication Number Publication Date
CN107015917A true CN107015917A (zh) 2017-08-04
CN107015917B CN107015917B (zh) 2022-12-27

Family

ID=59067150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611174599.6A Active CN107015917B (zh) 2015-12-18 2016-12-19 储存装置和其读取回收方法

Country Status (3)

Country Link
US (1) US10310924B2 (zh)
KR (1) KR102435873B1 (zh)
CN (1) CN107015917B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563586A (zh) * 2018-04-12 2018-09-21 华中科技大学 一种分离固态盘中垃圾回收数据与用户数据的方法
CN109582599A (zh) * 2017-09-29 2019-04-05 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
CN109697171A (zh) * 2017-10-23 2019-04-30 爱思开海力士有限公司 控制器及其操作方法
CN109783011A (zh) * 2017-11-13 2019-05-21 三星电子株式会社 存储设备和存储设备的回收方法
CN110531922A (zh) * 2018-05-23 2019-12-03 爱思开海力士有限公司 存储器系统、控制器及其操作方法
CN110910941A (zh) * 2018-09-14 2020-03-24 爱思开海力士有限公司 存储器系统及其操作方法
CN112088364A (zh) * 2018-06-29 2020-12-15 国际商业机器公司 使用机器学习模块来确定是否执行存储单元的错误检查
CN112119382A (zh) * 2018-05-17 2020-12-22 美光科技公司 用于检测存储器系统中的错误的自适应扫描频率
CN114121106A (zh) * 2020-08-28 2022-03-01 爱思开海力士有限公司 存储器系统、存储器控制器及其操作方法
CN114566203A (zh) * 2022-02-21 2022-05-31 华中科技大学 一种Flash的快速检测装置及方法
TWI795505B (zh) * 2018-03-28 2023-03-11 韓商愛思開海力士有限公司 記憶體系統、其操作方法和包括該記憶體系統的計算系統

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180076715A (ko) 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10423485B2 (en) * 2017-01-17 2019-09-24 SK Hynix Inc. Memory system and operation method thereof
KR20190001300A (ko) * 2017-06-27 2019-01-04 에스케이하이닉스 주식회사 컨트롤러 및 메모리 시스템 및 메모리 시스템의 동작 방법
US10140042B1 (en) 2017-09-13 2018-11-27 Toshiba Memory Corporation Deterministic read disturb counter-based data checking for NAND flash
TWI628660B (zh) * 2017-09-19 2018-07-01 群聯電子股份有限公司 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
US10691536B2 (en) 2017-09-22 2020-06-23 SK Hynix Inc. Method to select flash memory blocks for refresh after read operations
KR20190083862A (ko) * 2018-01-05 2019-07-15 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20190086174A (ko) 2018-01-12 2019-07-22 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190088184A (ko) * 2018-01-18 2019-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11036596B1 (en) * 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11537514B2 (en) 2018-02-27 2022-12-27 SK Hynix Inc. Data storage device and operating method thereof
KR102578188B1 (ko) * 2018-05-15 2023-09-14 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이의 동작 방법
KR102649657B1 (ko) * 2018-07-17 2024-03-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR102663661B1 (ko) * 2018-12-06 2024-05-10 에스케이하이닉스 주식회사 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
KR20200085513A (ko) 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20200113547A (ko) * 2019-03-25 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200114216A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법
KR20200143912A (ko) * 2019-06-17 2020-12-28 삼성전자주식회사 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법
US11152054B2 (en) * 2019-08-28 2021-10-19 Micron Technology, Inc. Apparatuses and methods for performing background operations in memory using sensing circuitry
KR20210039174A (ko) * 2019-10-01 2021-04-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20210043778A (ko) * 2019-10-11 2021-04-22 삼성전자주식회사 불휘발성 메모리 장치를 제어하도록 구성된 스토리지 컨트롤러의 동작 방법
KR20210100790A (ko) 2020-02-06 2021-08-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20210113905A (ko) * 2020-03-09 2021-09-17 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN111552582B (zh) * 2020-04-24 2022-10-14 江苏芯盛智能科技有限公司 筛选闪存弱块的方法、装置和固态硬盘
KR20220008058A (ko) 2020-07-13 2022-01-20 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
KR20220021992A (ko) 2020-08-14 2022-02-23 삼성전자주식회사 비휘발성 메모리 장치, 그것의 동작 방법, 그것을 제어하는 제어기, 및 그것을 포함하는 저장 장치
US11340982B1 (en) * 2020-11-02 2022-05-24 Micron Technology, Inc. Memory block defect detection and management
TWI811674B (zh) * 2021-05-06 2023-08-11 大陸商北京集創北方科技股份有限公司 快閃記憶體的操作方法、系統單晶片及資訊處理裝置
KR102344380B1 (ko) 2021-06-02 2021-12-28 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR20230018215A (ko) * 2021-07-29 2023-02-07 삼성전자주식회사 스토리지 장치, 스토리지 컨트롤러 및 스토리지 컨트롤러의 동작 방법
KR20230018216A (ko) 2021-07-29 2023-02-07 삼성전자주식회사 스토리지 장치 및 스토리지 컨트롤러의 동작 방법
US11977443B2 (en) * 2022-08-15 2024-05-07 Micron Technology, Inc. Dynamic parity scheme
CN117420963B (zh) * 2023-12-18 2024-02-23 合肥康芯威存储技术有限公司 一种存储器及其控制方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667454A (zh) * 2008-09-05 2010-03-10 三星电子株式会社 存储系统及其数据处理方法
CN101789268A (zh) * 2009-01-23 2010-07-28 旺宏电子股份有限公司 存储器装置及其操作方法
CN101794256A (zh) * 2009-02-04 2010-08-04 超捷公司 非易失性存储器子系统及其存储器控制器
US20100235713A1 (en) * 2009-03-12 2010-09-16 Samsung Electronics Co., Ltd. Non-volatile memory generating read reclaim signal and memory system
CN102667738A (zh) * 2009-10-09 2012-09-12 提琴存储器公司 具有多个raid组分条的内存系统及其方法
CN102789423A (zh) * 2012-07-11 2012-11-21 山东华芯半导体有限公司 四池闪存磨损均衡方法
CN102906712A (zh) * 2010-03-17 2013-01-30 闪迪企业知识产权有限责任公司 Mlc自raid闪速数据保护方案
CN103488578A (zh) * 2012-12-28 2014-01-01 晶天电子(深圳)有限公司 虚拟存储设备(vmd)应用/驱动器
CN103714856A (zh) * 2012-10-05 2014-04-09 三星电子株式会社 存储器系统及其读取回收方法
US20140136820A1 (en) * 2012-11-14 2014-05-15 Helia Naeimi Recycling Error Bits in Floating Point Units
CN103928052A (zh) * 2013-01-15 2014-07-16 三星电子株式会社 存储系统及其操作方法
US20150178154A1 (en) * 2013-12-24 2015-06-25 Kyung-Jin Kim Memory controller operating method and memory controller
CN104750535A (zh) * 2013-12-26 2015-07-01 珠海全志科技股份有限公司 NAND Flash仿真控制器及控制调试方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155175A1 (en) 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
KR100882841B1 (ko) 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US8838656B1 (en) 2009-07-31 2014-09-16 Hiscamp Systems, Inc. Hardware-protected reference count-based memory management using weak references
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
KR102089532B1 (ko) 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
KR102025193B1 (ko) 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
KR102083547B1 (ko) * 2013-04-12 2020-03-02 삼성전자주식회사 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법
KR102210961B1 (ko) * 2013-06-12 2021-02-03 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동적 접근 방법
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
KR102069274B1 (ko) 2014-02-05 2020-01-22 삼성전자주식회사 메모리 제어 방법
KR102233074B1 (ko) * 2014-10-08 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 신뢰성 검증 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667454A (zh) * 2008-09-05 2010-03-10 三星电子株式会社 存储系统及其数据处理方法
CN101789268A (zh) * 2009-01-23 2010-07-28 旺宏电子股份有限公司 存储器装置及其操作方法
CN101794256A (zh) * 2009-02-04 2010-08-04 超捷公司 非易失性存储器子系统及其存储器控制器
US20100235713A1 (en) * 2009-03-12 2010-09-16 Samsung Electronics Co., Ltd. Non-volatile memory generating read reclaim signal and memory system
CN102667738A (zh) * 2009-10-09 2012-09-12 提琴存储器公司 具有多个raid组分条的内存系统及其方法
CN102906712A (zh) * 2010-03-17 2013-01-30 闪迪企业知识产权有限责任公司 Mlc自raid闪速数据保护方案
CN102789423A (zh) * 2012-07-11 2012-11-21 山东华芯半导体有限公司 四池闪存磨损均衡方法
CN103714856A (zh) * 2012-10-05 2014-04-09 三星电子株式会社 存储器系统及其读取回收方法
US20140136820A1 (en) * 2012-11-14 2014-05-15 Helia Naeimi Recycling Error Bits in Floating Point Units
CN103488578A (zh) * 2012-12-28 2014-01-01 晶天电子(深圳)有限公司 虚拟存储设备(vmd)应用/驱动器
CN103928052A (zh) * 2013-01-15 2014-07-16 三星电子株式会社 存储系统及其操作方法
US20150178154A1 (en) * 2013-12-24 2015-06-25 Kyung-Jin Kim Memory controller operating method and memory controller
CN104750535A (zh) * 2013-12-26 2015-07-01 珠海全志科技股份有限公司 NAND Flash仿真控制器及控制调试方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582599A (zh) * 2017-09-29 2019-04-05 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
CN109582599B (zh) * 2017-09-29 2023-12-22 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
CN109697171A (zh) * 2017-10-23 2019-04-30 爱思开海力士有限公司 控制器及其操作方法
CN109697171B (zh) * 2017-10-23 2023-08-15 爱思开海力士有限公司 控制器及其操作方法
CN109783011A (zh) * 2017-11-13 2019-05-21 三星电子株式会社 存储设备和存储设备的回收方法
CN109783011B (zh) * 2017-11-13 2024-05-28 三星电子株式会社 存储设备和存储设备的回收方法
TWI795505B (zh) * 2018-03-28 2023-03-11 韓商愛思開海力士有限公司 記憶體系統、其操作方法和包括該記憶體系統的計算系統
CN108563586B (zh) * 2018-04-12 2021-11-02 华中科技大学 一种分离固态盘中垃圾回收数据与用户数据的方法
CN108563586A (zh) * 2018-04-12 2018-09-21 华中科技大学 一种分离固态盘中垃圾回收数据与用户数据的方法
CN112119382B (zh) * 2018-05-17 2022-02-25 美光科技公司 用于检测存储器系统中的错误的自适应扫描频率
CN112119382A (zh) * 2018-05-17 2020-12-22 美光科技公司 用于检测存储器系统中的错误的自适应扫描频率
CN110531922B (zh) * 2018-05-23 2023-06-13 爱思开海力士有限公司 存储器系统、控制器及其操作方法
CN110531922A (zh) * 2018-05-23 2019-12-03 爱思开海力士有限公司 存储器系统、控制器及其操作方法
CN112088364A (zh) * 2018-06-29 2020-12-15 国际商业机器公司 使用机器学习模块来确定是否执行存储单元的错误检查
CN110910941B (zh) * 2018-09-14 2023-04-07 爱思开海力士有限公司 存储器系统及其操作方法
CN110910941A (zh) * 2018-09-14 2020-03-24 爱思开海力士有限公司 存储器系统及其操作方法
CN114121106A (zh) * 2020-08-28 2022-03-01 爱思开海力士有限公司 存储器系统、存储器控制器及其操作方法
CN114566203A (zh) * 2022-02-21 2022-05-31 华中科技大学 一种Flash的快速检测装置及方法

Also Published As

Publication number Publication date
US10310924B2 (en) 2019-06-04
CN107015917B (zh) 2022-12-27
KR102435873B1 (ko) 2022-08-25
US20170177425A1 (en) 2017-06-22
KR20170073794A (ko) 2017-06-29

Similar Documents

Publication Publication Date Title
CN107015917A (zh) 储存装置和其读取回收方法
US10043580B2 (en) Three-dimensional nonvolatile memory and related read method designed to reduce read disturbance
US9875793B2 (en) Storage and programming method thereof
US9690654B2 (en) Operation method of nonvolatile memory system
JP6306359B2 (ja) メモリシステム及び不揮発性メモリ装置のプログラム方法
CN106575256B (zh) 子块垃圾收集
CN102298966B (zh) 非易失性存储器设备、系统及编程方法
US10008272B2 (en) Operation method of nonvolatile memory system that includes erase operations, fast erase operations, program operations and fast program operations
KR101975406B1 (ko) 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
KR102634700B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
CN104916326B (zh) 存储装置和使用定时器设置的相关方法
US20160011779A1 (en) Nonvolatile memory device, memory controller, and operating method of the same
CN106683702A (zh) 非易失性存储器装置及其读方法
CN106847340A (zh) 用于非易失性存储器系统以及存储器控制器的操作的方法
KR102415385B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 저장 장치
CN102682848B (zh) 存储器装置、存储器卡、固态驱动器、系统及其操作方法
CN109213705A (zh) 存储装置及其操作方法
KR102012310B1 (ko) 데이터 저장 장치의 동작 방법, 데이터 저장 장치 및 이를 이용한 시스템
CN105874541A (zh) 通过对非易失性存储器的分区内的读取访问的计数来检测存储器上的读取干扰
CN103578551B (zh) 非易失性存储器件和编程方法
CN107039072B (zh) 非易失性存储器设备和非易失性存储器设备的操作方法
CN109101434A (zh) 存储装置、存储系统及所述存储装置的操作方法
CN107025945A (zh) 使用非线性滤波方案的存储器系统及其读取方法
CN107039082A (zh) 非易失性存储器系统的操作方法
CN106971754A (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
GR01 Patent grant
GR01 Patent grant