CN105489239B - 数据储存设备及其操作方法 - Google Patents

数据储存设备及其操作方法 Download PDF

Info

Publication number
CN105489239B
CN105489239B CN201510646958.2A CN201510646958A CN105489239B CN 105489239 B CN105489239 B CN 105489239B CN 201510646958 A CN201510646958 A CN 201510646958A CN 105489239 B CN105489239 B CN 105489239B
Authority
CN
China
Prior art keywords
access
count
access count
storage device
data
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
Application number
CN201510646958.2A
Other languages
English (en)
Other versions
CN105489239A (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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
Priority claimed from KR1020140134982A external-priority patent/KR20160042224A/ko
Priority claimed from KR1020150029661A external-priority patent/KR102527288B1/ko
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN105489239A publication Critical patent/CN105489239A/zh
Application granted granted Critical
Publication of CN105489239B publication Critical patent/CN105489239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种数据储存设备,包括:控制器,被配置为基于用于目标区域的访问请求来更新访问请求计数和与目标区域对应的访问计数,以及每当访问请求计数达到第一阈值时初始化访问计数;以及非易失性存储器件,包括目标区域,以及被配置为基于控制器的控制来访问目标区域。

Description

数据储存设备及其操作方法
相关申请的交叉引用
本申请要求在韩国知识产权局于2014年10月7日提交的第10-2014-0134982号韩国申请以及于2015年3月3日提交的第10-2015-0029661号韩国申请的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例总体上涉及一种数据储存设备,更具体地,涉及一种执行可靠性维护操作的数据储存设备及其操作方法。
背景技术
数据储存设备可以被配置为响应于来自外部设备的写入请求来储存从外部设备提供的数据。而且,数据储存设备可以被配置为响应于来自外部设备的读取请求来将储存的数据提供给外部设备。外部设备是能够处理数据的电子设备并且可以包括计算机、数字照相机或移动电话。数据储存设备可以嵌入在外部设备中来操作,或者可以被单独地制造并且电耦接至外部设备来操作。
数据储存设备可以被配置为个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、多媒体卡(MMC、eMMC、RS-MMC和微型MMC的形式)、安全数字卡(SD、迷你SD和微型SD的形式)、通用闪速储存器(UFS)或固态驱动器(SSD)。
数据储存设备可以包括非易失性存储器件来储存数据。非易失性存储器件即使在没有恒定电源时也可以保持储存的数据。非易失性存储器件的示例包括闪速存储器件(诸如与非(NAND)闪存或者或非(NOR)闪存)、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)或电阻随机存取存储器(RERAM)。
发明内容
各种实施例涉及一种具有改善的数据可靠性的数据储存设备。
在实施例中,一种数据储存设备可以包括:控制器,适用于基于用于目标区域的访问请求来更新访问请求计数和与目标区域对应的访问计数,以及每当访问请求计数达到第一阈值时初始化访问计数;以及非易失性存储器件,包括目标区域,以及适用于基于控制器的控制来访问目标区域。
在实施例中,一种用于操作数据储存设备的方法可以包括:基于访问请求来更新访问请求计数;更新与非易失性存储器件的目标区域对应的第一访问计数,目标区域基于访问请求而被访问请求;以及每当访问请求计数达到第一阈值时,初始化第一访问计数。
在实施例中,一种用于操作数据储存设备的方法可以包括:基于第一散列函数来将被访问请求的目标区域的地址映射至多个第一散列值中的第一散列值;在第一访问计数表中更新由第一散列值索引的第一访问计数,其中,第一访问计数表包括由所述多个第一散列值索引的多个第一访问计数;以及基于访问请求来更新访问请求计数。
在实施例中,一种数据储存设备可以包括:储存介质,包括多个非易失性存储器件;以及控制器,适用于当访问储存介质的目标区域时更新第一访问计数和第二访问计数,其中,第一访问计数对应于在储存介质中的第一单元的区域分组成的第一组之中的包括目标区域的第一组,第二访问计数对应于在储存介质中的第二单元的区域分组成的第二组之中的包括目标区域的第二组。
在实施例中,一种数据储存设备可以包括:储存介质,包括多个非易失性存储器件;以及控制器,适用于当访问储存介质的目标区域时更新第一访问计数和第二访问计数,其中,第一访问计数对应于多个第一单元区域,多个第一单元区域包括目标区域并且基于散列函数而对应于通用散列值,第二访问计数对应于超级块,超级块包括相应的非易失性存储器件的第二单元区域和目标区域。
在实施例中,一种用于操作数据储存设备的方法可以包括:访问包括多个非易失性存储器件的储存介质的目标区域;更新第一访问计数,第一访问计数与储存介质中的第一单元的区域分组成的第一组之中的包括目标区域的第一组对应;以及更新第二访问计数,第二访问计数与储存介质中的第二单元的区域分组成的第二组之中的包括目标区域的第二组对应。
附图说明
图1是图示根据第一实施例的数据储存设备的框图。
图2是图示图1中示出的非易失性存储器件的框图。
图3a是图示图2中示出的页与字线之间的关系的示意图。
图3b是图示图2中示出的页与字线之间的关系的另一示意图。
图4是图示图1中示出的散列单元的操作方法的示意图。
图5是图示图1中示出的数据储存设备的操作方法的流程图。
图6是图示用于图1中示出的处理器的可靠性维护操作的方法的流程图。
图7是图示用于图1中示出的处理器的数据检查操作的方法的流程图。
图8和图9是图示用于图1中示出的处理器的可靠性维护操作的方法的示意图。
图10是图示根据第二实施例的数据储存设备的框图。
图11是图示图10中示出的第一散列单元和第二散列单元的操作方法的示意图。
图12是图示用于图10中示出的处理器的可靠性维护操作的方法的示意图。
图13是图示根据第三实施例的数据储存设备的框图。
图14是解释用于初始化在图13中示出的处理器的访问计数表中的访问计数的方法的流程图。
图15是图示根据第四实施例的数据储存设备的框图。
图16是解释用于图15中示出的处理器的可靠性维护操作的方法的流程图。
图17是解释用于初始化图15中示出的处理器中的第二访问计数的方法的流程图。
具体实施方式
在下文中,以下将参照附图通过本发明的各种实施例来描述数据储存设备及其操作方法。然而,本发明可以以不同的形式来实施,并且不应当被解释为局限于本文所阐述的实施例。更确切地说,提供这些实施例来详细描述本发明,以达到本发明所属领域技术人员能够实施本发明的技术构思的程度。
将理解的是,本发明的实施例不局限于附图中示出的细节,附图不一定成比例,在一些情况下,比例可以被夸大以便于清楚地描绘本发明的某些特征。虽然使用特定术语,但是将认识到的是,术语仅用于描述特定实施例,而非意在限制本发明的范围。
图1是图示根据第一实施例的数据储存设备10的框图。
数据储存设备10可以响应于来自外部设备(未示出)的请求来储存从外部设备提供的数据。而且,数据储存设备10可以响应于来自外部设备的读取请求来将储存的数据提供给外部设备。数据储存设备10可以被配置为个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、多媒体卡(MMC、eMMC、RS-MMC和微型MMC的形式)、安全数字卡(SD、迷你SD和微型SD的形式)、通用闪速储存器(UFS)或固态驱动器(SSD)。
数据储存设备10可以包括控制器100和非易失性存储器件200。
控制器100可以包括处理器110、存储器120和ECC(错误校正码)单元130。
处理器110可以控制数据储存设备10的一般操作。处理器110可以产生用于访问非易失性存储器件200的目标区域的访问命令,例如,写入命令或读取命令,并且可以将产生的访问命令提供给非易失性存储器件200。处理器110可以在存储器120上驱动用于控制数据储存设备10的操作的软件程序。
处理器110可以执行可靠性维护操作。可以执行可靠性维护操作,以防止储存在与非易失性存储器件200的被过度访问的特定区域邻近的相邻区域中的数据的变形或丢失。可靠性维护操作可以通过基于访问计数表125的数据检查操作来执行。例如,每当通过读取命令访问非易失性存储器件200时,处理器110可以执行可靠性维护操作。
处理器110可以在存储器120上管理访问计数表125。访问计数表125可以包括一个或更多个访问计数值,访问计数值中的每个表示非易失性存储器件200的对应区域被访问多少次。每当非易失性存储器件200的目标区域被访问时,处理器110可以计算与非易失性存储器件200的目标区域对应的散列值HV,以及可以在访问计数表125中更新由计算的散列值HV索引的访问计数。
处理器110可以包括散列单元115。散列单元115可以基于目标区域的地址ADD_T来计算与目标区域对应的散列值HV。散列单元115可以基于散列函数来将目标区域的地址ADD_T映射至散列值HV。例如,散列单元115可以实现为硬件,诸如数字电路、模拟电路或者数字电路和模拟电路的组合。在其他示例中,散列单元115可以实现为软件,诸如固件,或者散列单元115可以实现为硬件和软件的组合。
为了有效地使用存储器120的容量,处理器110可以通过通用访问计数(commonaccess count)的单个值以集成方式来管理非易失性存储器件200的多个区域的访问计数。当在集成管理下多个区域中的任意一个区域被访问时,处理器110可以更新通用访问计数的单个值。也就是说,用于集成管理下的多个区域的通用访问计数可以是多个区域的访问计数的总和。
处理器110可以通过通用散列值以集成方式来管理多个区域。在集成管理下,散列单元115可以基于散列函数来将多个区域的地址映射至通用散列值。用于多个区域的通用访问计数可以由通用散列值来索引。总之,当在集成管理下多个区域中的任意一个区域被访问时,处理器110可以基于被访问区域的地址来计算与多个区域对应的通用散列值并且可以更新通用访问计数,通用访问计数由计算的通用散列值来索引。
集成管理下的多个区域可以对应于不同的字线。集成管理下的多个区域可以是多个页。
当基于访问计数表125确定非易失性存储器件200的特定区域被过度访问时,处理器110可以对特定区域的相邻区域执行数据检查操作。可以通过查验储存在相邻区域中的数据的变形程度,以及通过基于数据的变形程度来选择性地执行用于将数据恢复至变形之前的状态的回收操作(reclaim operation)来执行数据检查操作。
存储器120可以用作工作存储器、缓冲存储器或高速缓冲存储器。存储器120可以储存软件程序或各种程序数据以被处理器110驱动,缓冲要在外部设备与非易失性存储器件200之间传送的数据,或者临时储存高速缓存数据。
存储器120可以储存由处理器110管理的访问计数表125。如上所述,在处理器110通过通用访问计数以集成方式管理非易失性存储器件200的多个区域的多个访问计数的情况下,可以有效地使用存储器120。如果处理器110不以集成方式管理多个区域的多个访问计数,而是管理多个区域的多个访问计数中的每个,那么多个区域的多个访问计数将与区域的数量成比例地占用存储器120。访问计数表125可以被备份在非易失性存储器件200中。
ECC单元130可以对要被写入非易失性存储器件200中的数据进行ECC编码,以对从非易失性存储器件200读取的数据进行错误检查以及错误校正。例如,ECC单元130可以产生用于要被写入非易失性存储器件200中的数据的校验数据,以及可以通过将产生的校验数据添加至所述数据来编码数据。
ECC单元130可以ECC解码来自非易失性存储器件200的读取数据,即,可以对读取数据执行错误检测和错误校正。例如,ECC单元130可以通过检测已发生在读取数据中的错误并且通过包括在读取数据中的校验数据校正检测到的错误来执行ECC解码操作。
当对被过度访问的特定区域的相邻区域执行数据检查操作时,ECC单元130可以查验从相邻区域读取的数据的变形程度。例如,ECC单元130可以通过检测发生在从相邻区域读取的数据中的错误来查验错误发生率。ECC单元130可以将从相邻区域读取的数据的错误发生率报告给处理器110,使得处理器110可以判断是否需要执行用于将储存在相邻区域中的数据恢复至变形之前的状态的回收操作。
非易失性存储器件200可以在控制器100的控制下储存数据。非易失性存储器件200可以访问与访问命令对应的目标区域。
图2是图示图1中示出的非易失性存储器件200的框图。
非易失性存储器件200可以包括控制逻辑210、接口电路220、地址解码器230、数据输入/输出电路240和存储单元阵列250。
控制逻辑210可以控制非易失性存储器件200的一般操作。控制逻辑210可以响应于从控制器100提供的访问命令(例如,写入命令、读取命令或擦除命令)来控制存储单元阵列250的写入操作、读取操作或擦除操作。
接口电路220可以与控制器100交换包括访问命令和数据的各种控制信号。接口电路220可以将输入至其的各种控制信号和数据传送至非易失性存储器件200的内部单元。
地址解码器230可以解码包括在访问命令中的行地址和列地址。地址解码器230可以基于行地址的解码结果来控制要被选择性驱动的字线WL。地址解码器230可以基于列地址的解码结果来控制数据输入/输出电路240以选择性地驱动位线BL。
数据输入/输出电路240可以将从接口电路220传送的数据经由位线BL传送至存储单元阵列250。数据输入/输出电路240可以将从存储单元阵列250经由位线BL读取的数据传送至接口电路220。
存储单元阵列250可以包括多个存储单元(未示出),多个存储单元布置在字线WL与位线BL彼此交叉的各个区域。存储单元可以按储存在每个单元中的位的数量来分类。例如,存储单元可以分为每个单元储存1位的单电平单元(single level cell)和每个单元储存至少2位的多电平单元(multi-level cell)。
存储单元阵列250可以包括被操作单元划分的多个储存区域。例如,存储单元阵列250可以包括第一页P1至第八页P8。虽然图示了图2的存储单元阵列250包括8页,但是要注意的是,包括在存储单元阵列250中的页的数量不受特别限制。
页可以是用于对存储单元阵列250执行的写入操作或读取操作的单元。换句话说,存储单元阵列250可以按页来访问。页可以分配有相应的地址,并且可以通过所述地址来访问。页可以通过驱动相应的字线来访问。
图3a是图示图2中示出的页P1至P8与字线WL1至WL8之间的相应关系的示意图。
参照图3a,单个字线可以对应于单个页。包括在存储单元阵列250中的第一页P1至第八页P8可以分别对应于第一字线WL1至第八字线WL8。当1个字线对应于1个页时,电耦接至字线的存储单元可以是单电平单元。
如上所述,在可靠性维护操作中,可以更新与目标区域对应的访问计数,以及可以对相邻区域执行数据检查操作。目标区域和相邻区域可以对应于彼此邻近的字线。当1个字线对应于1个页且目标区域是例如第三页P3时,相邻区域可以是第二页P2和第四页P4。
图3b是图示图2中示出的页P1至P8与字线WL1至WL8之间的其他对应关系的示意图。
参照图3b,单个字线可以对应于两个页。包括在存储单元阵列250中的第一页P1和第二页P2可以对应于第一字线WL1,第三页P3和第四页P4可以对应于第二字线WL2,第五页P5和第六页P6可以对应于第三字线WL3,第七页P7和第八页P8可以对应于第四字线WL4。当1个字线对应于2个页时,电耦接至字线的存储单元可以是多电平单元。
如上所述,在可靠性维护操作中,可以更新与目标区域对应的访问计数,以及可以对相邻区域执行数据检查操作。目标区域和相邻区域可以对应于邻近的字线。当单个字线对应于2个页且目标区域是例如第三页P3时,相邻区域可以是第一页P1、第二页P2、第五页P5和第六页P6。
图4是图示图1中示出的散列单元115的操作方法以计算与通过访问命令访问的目标区域对应的散列值HV的示意图。参照图4,还示出了由散列值HV索引的访问计数表125。
散列单元115可以计算与图2的第一页P1至第八页P8对应的散列值HV。散列单元115可以基于散列函数来将第一页P1至第八页P8的地址ADD映射至散列值HV中的对应的一个。例如,当第一页P1作为目标区域而通过访问命令访问时,散列单元115可以将第一页P1的地址ADD_P1映射至通用散列值“2”。
如上所述,处理器110可以以集成方式管理多个页的访问计数,为此,散列单元115可以将多个页的地址映射至通用散列值。要被映射至通用散列值的多个页可以由散列函数来确定。
当多个页(该多个页的访问计数以集成方式来管理)中的任意一个被访问时,散列单元115可以计算页的通用散列值。计算的通用散列值可以是多个页的以集成方式来管理的通用访问计数的索引值。
参照图4,散列单元115可以将例如第三页P3的地址ADD_P3和第八页P8的地址ADD_P8映射至通用散列值“1”。当第三页P3和第八页P8中的任意一个被访问时,散列单元115可以计算通用散列值“1”。这样的散列法将使得处理器110通过将第三页P3和第八页P8的访问计数索引至通用散列值“1”而以集成方式管理第三页P3和第八页P8的访问计数。
虽然在图4中图示散列单元115将2个页的地址映射至通用散列值,但是要注意的是,要被映射至通用散列值的页的数量不受特别限制。在实施例中,其访问计数以集成方式管理的页的数量不受特别限制。
图5是图示图1中示出的数据储存设备10的操作方法的流程图。
在步骤S110中,处理器110可以产生用于访问目标区域的访问命令。例如,处理器110可以产生用于从目标区域读取数据的读取命令。非易失性存储器件200将响应于从处理器110提供的读取命令来访问目标区域。
在步骤S120中,处理器110可以执行可靠性维护操作。可靠性维护操作可以通过基于访问计数表125的数据检查操作来执行。
每当非易失性存储器件200被访问时,处理器110可以执行可靠性维护操作。每当非易失性存储器件200例如通过读取命令被访问时,处理器200可以执行可靠性维护操作。
图6是图示图1中示出的处理器110的可靠性维护操作的方法的流程图。图6中示出的处理器110的可靠性维护操作的方法可以对应于图5的步骤S120。作为示例来描述处理器110已经产生用于访问目标区域的访问命令。
在步骤S210中,散列单元115可以计算与目标区域对应的通用散列值。散列单元115可以基于散列函数来将目标区域的地址映射至散列值中的对应的一个散列值。
在步骤S220中,处理器110可以增大由计算的通用散列值索引的通用访问计数。
在步骤S230中,处理器110可以判断更新的通用访问计数是否达到阈值。当确定更新的通用访问计数达到阈值(是)时,处理可以进入步骤S240。当确定更新的通用访问计数未达到阈值(否)时,处理可以结束。也就是说,当更新的通用访问计数未达到阈值时,意味着目标区域没有被过度访问,因此处理器110可以结束可靠性维护操作。
在步骤S240中,处理器110可以对邻近于目标区域的相邻区域执行数据检查操作。可以通过查验储存在相邻区域中的数据的变形程度,并通过基于数据的变形程度选择性地执行用于将数据恢复至变形之前的状态的回收操作来执行数据检查操作。
在步骤S250中,处理器110可以减小由在步骤S210中计算的通用散列值索引的通用访问计数。由于储存在相邻区域中的数据通过步骤S240中的数据检查操作来检查,因此处理器110可以减小对应于目标区域的通用访问计数,以便延迟随后对相邻区域的数据检查操作。
如上所述,处理器110可以管理在集成管理下的包括目标区域的多个区域的通用访问计数。在这种情况下,在步骤S220中增大的通用访问计数也可以通过访问在集成管理下的多个区域之中的除目标区域以外的区域来增大。虽然通用访问计数通过访问目标区域达到阈值,但是这样的结果甚至可以通过过度访问集成管理下的除目标区域以外的其他区域而发生。因此,由于处理器110没有完全复位与目标区域对应的通用访问计数,而是将通用访问计数减小至预定值,因此也可以在一定程度上维持对集成管理下的除目标区域以外的其他区域的过度访问的管理。
图7是图示用于图1中示出的处理器110的数据检查操作的方法的流程图。用于图7中示出的处理器110的数据检查操作的方法可以对应于图6的步骤S240。
在步骤S310中,处理器110可以读取储存在邻近于目标区域的相邻区域中的数据。
在步骤S320中,ECC单元130可以查验从相邻区域读取的数据的错误发生率。ECC单元130可以将错误发生率报告给处理器110,使得处理器110可以判断是否需要执行用于相邻区域的回收操作。
在步骤S330中,处理器110可以基于读取的数据的错误发生率来判断是否需要执行用于相邻区域的回收操作。例如,处理器110可以比较错误发生率与阈值,以及当错误发生率超过阈值时确定需要执行回收操作。当确定需要执行回收操作(是)时,处理可以进入步骤S340。当确定不需要执行回收操作(否)时,处理可以结束。
在步骤S340中,处理器110可以执行用于相邻区域的回收操作,以将储存在相邻区域中的数据恢复至变形之前的状态。例如,处理器110可以通过垃圾收集操作来执行回收操作。处理器110可以通过将储存在相邻区域中的数据储存至另一区域中,来将储存在相邻区域中的数据恢复至变形之前的状态。
图8和图9是图示用于图1中示出的处理器110的可靠性维护操作的方法的示意图。图8示出当在图6的步骤S230中处理器110确定更新的通用访问计数未达到阈值(否)时的用于处理器110的可靠性维护操作的方法。图9示出当在图6的步骤S230中处理器110确定更新的通用访问计数达到阈值(是)时的用于处理器110的可靠性维护操作的方法。作为示例来描述:每当非易失性存储器件200通过读取命令被访问时,处理器110执行可靠性维护操作,以防止由目标区域施加在相邻区域上的读取干扰效应(read disturbance effect)造成的数据的变形或丢失。
在下文中,将参照图4、图6和图8来详细描述处理器110执行可靠性维护操作的方法。作为示例来描述:处理器110已经产生用于目标区域(例如,第二页P2)的读取命令并且已经读取第二页P2。
散列单元115可以计算与第二页P2对应的通用散列值HV(①)。散列单元115可以根据图4中示出的计算方法基于散列函数来将第二页P2的地址ADD_P2映射至通用散列值“3”。
处理器110可以增大在存储器120上的访问计数表125中的由通用散列值“3”索引的通用访问计数(②)。
处理器110可以判断更新的通用访问计数是否达到阈值。当阈值被设置为100时,处理器110可以确定更新的通用访问计数未达到阈值,因为其仍是76。处理器110可以结束可靠性维护操作。
接下来,将参照图4、图6和图9来详细描述处理器110执行可靠性维护操作的另一方法。作为示例来描述:处理器110已经产生用于目标区域(例如,第三页P3)的读取命令并且已经读取第三页P3。
散列单元115可以计算与第三页P3对应的通用散列值HV(①)。散列单元115可以根据图4中示出的计算方法基于散列函数来将第三页P3的地址ADD_P3映射至通用散列值“1”。
处理器110可以增大在存储器120上的访问计数表125中的由通用散列值“1”索引的通用访问计数(②)。
处理器110可以判断更新的通用访问计数是否达到阈值。当阈值被设置为100时,处理器110可以确定更新的通用访问计数已经达到阈值,因为其是100。
处理器110可以执行用于相邻区域的数据检查操作(③)。当单个字线对应于单个页时,如图3a中所示,处理器110可以执行用于第二页P2和第四页P4的数据检查操作。虽然未图示,但是当单个字线对应于2个页时,处理器110可以执行用于是目标区域或第三页P3的相邻区域的第一页P1、第二页P2、第五页P5和第六页P6的数据检查操作。
执行用于相邻区域的数据检查操作之后,处理器110可以减小在访问计数表125中的由散列值“1”索引的通用访问计数(④)。由于储存在第二页P2和第四页P4中的数据通过数据检查操作来检查,因此处理器110可以减小通用访问计数以延迟随后的用于第二页P2和第四页P4的数据检查操作。然而,由于由通用散列值“1”索引的通用访问计数对应于集成管理下的第三页P3和第八页P8二者,如图4中所示,因此处理器110可以将由通用散列值“1”索引的通用访问计数减小至预定值,例如,70。换句话说,处理器110可以不完全复位由通用散列值“1”索引的通用访问计数,以便维持对集成管理下的除第三页P3以外的第八页P8的过度访问的管理。
图10是图示根据第二实施例的数据储存设备20的框图。在图10中,与图1中相同的附图标记将用于与上面参照图1描述的数据储存设备10基本上相同的元件,并将省略对相应元件的详细描述。
数据储存设备20可以与参照图1描述的数据储存设备10相同,除了控制器300包括第一散列单元315和第二散列单元317。
处理器310可以管理访问计数表325。每当非易失性存储器件200通过访问命令被访问时,处理器310可以计算与非易失性存储器件200的目标区域对应的多个通用散列值,例如,第一通用散列值HV1和第二通用散列值HV2,以及可以在访问计数表325中分别更新由第一通用散列值HV1和第二通用散列值HV2索引的两个通用访问计数。
处理器310可以包括第一散列单元315和第二散列单元317。第一散列单元315和第二散列单元317中的每个可以与参照图1至图9所描述的散列单元115相同。第一散列单元315和第二散列单元317可以计算与目标区域对应的不同的通用散列值。第一散列单元315可以基于第一散列函数来将目标区域的地址ADD_T映射至第一通用散列值HV1。第二散列单元317可以基于第二散列函数来将目标区域的地址ADD_T映射至第二通用散列值HV2。
虽然在图10中示出处理器310包括两个散列单元,但是要注意的是,要包括在处理器310中的散列单元的数量不受特别限制。根据实施例,可以通过包括在处理器310中的散列单元的数量来计算与目标区域对应的不同的散列值,处理器310可以更新由计算的散列值索引的所有访问计数。
图11是图示图10中示出的第一散列单元315和第二散列单元317的操作方法以计算与通过访问命令访问的单个目标区域对应的不同的散列值HV(即,第一通用散列值HV1和第二通用散列值HV2)的示意图。参照图11,还示出了由散列值HV索引的访问计数表325。
第一散列单元315和第二散列单元317可以计算与第一页P1至第八页P8对应的第一通用散列值HV1和第二通用散列值HV2。第一散列单元315可以基于第一散列函数来将第一页P1至第八页P8的地址ADD映射至第一通用散列值HV1中的对应的一个。第二散列单元317可以基于第二散列函数来将第一页P1至第八页P8的地址ADD映射至第二通用散列值HV2中的对应的一个。例如,当第三页P3作为目标区域通过访问命令被访问时,第一散列单元315可以将第三页P3的地址ADD_P3映射至第一通用散列值“1”,第二散列单元317可以将第三页P3的地址ADD_P3映射至第二通用散列值“3”。
当处理器310仅通过第一散列单元315计算第一通用散列值HV1时,处理器310将管理由第一通用散列值HV1索引的第一访问计数子表325_1。类似地,当处理器310仅通过第二散列单元317计算第二通用散列值HV2时,处理器310将管理由第二通用散列值HV2索引的第二访问计数子表325_2。由于处理器310通过第一散列单元315和第二散列单元317计算第一通用散列值HV1和第二通用散列值HV2,因此处理器310可以管理集成有第一访问计数子表325_1和第二访问计数子表325_2的访问计数表325。例如,第一访问计数子表325_1中的第一通用散列值“1”可以索引第三页P3和第八页P8二者的通用访问计数,第二访问计数子表325_2中的第二通用散列值“1”可以索引第一页P1和第五页P5二者的通用访问计数。因此,访问计数表325中的通用散列值“1”可以索引第一页P1、第三页P3、第五页P5和第八页P8四个。
图12是图示用于图10中示出的处理器310的可靠性维护操作的方法的示意图。作为示例来描述:每当非易失性存储器件200通过读取命令被访问时,处理器310执行可靠性维护操作,以防止由目标区域施加在相邻区域上的读取干扰效应造成的数据的变形或丢失。
在下文中,将参照图10至图12来详细描述处理器310执行可靠性维护操作的方法。作为示例来描述:处理器310产生用于目标区域(例如,第三页P3)的读取命令并且读取第三页P3。
第一散列单元315和第二散列单元317可以分别计算与第三页P3对应的第一通用散列值HV1和第二通用散列值HV2(①)。第一散列单元315可以根据图11中示出的计算方法基于第一散列函数来将第三页P3的地址ADD_P3映射至第一通用散列值“1”。第二散列单元317可以根据图11中示出的计算方法基于第二散列函数来将第三页P3的地址ADD_P3映射至第二通用散列值“3”。
处理器310可以在存储器120上的访问计数表325中,将由计算的第一通用散列值“1”索引的通用访问计数从49增大至50,以及将由计算的第二通用散列值“3”索引的通用访问计数从30增大至31(②)。
处理器310可以判断一个或更多个更新的通用访问计数是否达到阈值。当阈值被设置为50时,处理器310可以确定由第一通用散列值“1”索引的通用访问计数已经达到阈值。
处理器310可以执行用于相邻区域的数据检查操作(③)。当单个页对应于单个字线时,处理器310可以执行用于第二页P2和第四页P4的数据检查操作。虽然未图示,但是当单个字线对应于2个页时,处理器310可以执行用于是目标区域或第三页P3的相邻区域的第一页P1、第二页P2、第五页P5和第六页P6的数据检查操作。
执行用于相邻区域的数据检查操作之后,处理器310可以减小在访问计数表325中的由第一通用散列值“1”索引的通用访问计数(④)。由于储存在第二页P2和第四页P4中的数据通过数据检查操作来检查,因此处理器310可以减小通用访问计数以延迟随后的用于第二页P2和第四页P4的数据检查操作。然而,因为由第一通用散列值“1”索引的通用访问计数对应于集成管理下的第一页P1、第三页P3、第五页P5和第八页P8中的所有,如图11中所示,因此处理器310可以将由第一通用散列值“1”索引的通用访问计数减小至预设值,例如,25。换句话说,处理器310可以不完全复位由第一通用散列值“1”索引的通用访问计数,以便维持对集成管理下的除第三页P3以外的第一页P1、第五页P5和第八页P8的过度访问的管理。
以上参照图10至图12所描述的数据储存设备20在下面的情形下是有效的。例如,在图12中描述了第八页P8在第三页P3被访问之前已经被过度访问。第八页P8可以通过第一散列单元315对应于第一通用散列值“1”,以及通过第二散列单元317对应于第二通用散列值“4”。因此,访问计数表325中的由第一通用散列值“1”和第二通用散列值“4”索引的通用访问计数可以分别增大为接近于阈值,例如,49和48。在这种状态下,由于访问第三页P3,因此访问计数表325中的由第一通用散列值“1”索引的通用访问计数可以达到50的阈值,然后可以减小至25。然而,由于访问计数表325中的由第二通用散列值“4”索引的通用访问计数照原样维持,因此用于第八页P8的相邻区域的数据检查操作可以更早地执行,因此,数据可靠性可以得到改善。
图13是图示根据第三实施例的数据储存设备30的框图。在图13中,与图1中相同的附图标记将用于与以上参照图1所描述的数据储存设备10基本上相同的元件,并将省略对相应元件的详细描述。
数据储存设备30可以包括控制器400和非易失性存储器件200。
处理器410不仅可以更新与非易失性存储器件200的目标区域对应的访问计数,还可以基于访问请求(例如,读取请求)来更新访问请求计数。处理器410可以基于传送至数据储存设备30的访问请求来更新访问请求计数,而不区别目标区域。不同于图1的处理器110,处理器410还可以包括访问请求管理单元420。
访问请求管理单元420可以基于从外部设备提供的访问请求(例如,读取请求)来更新访问请求计数。访问请求管理单元420可以在其寄存器或存储器120中储存访问请求计数。
访问请求管理单元420可以根据访问请求的数据的大小来使访问请求计数增大一或更多。例如,访问请求管理单元420可以使访问请求计数增大最小整数N,最小整数N不小于访问请求的数据的大小X与对非易失性存储器件200一次可以执行写入操作或读取操作的数据的最大大小Y的比率。访问请求管理单元420使访问请求计数增大的值UPDATE可以表示为如下。
UPDATE=N,其中,N-1<(X/Y)≤N,N是整数。
例如,如果对非易失性存储器件200一次可以执行写入操作或读取操作的数据的最大大小是32千字节,那么访问请求管理单元420在访问请求的数据的大小是16千字节时可以使访问请求计数增大1,在访问请求的数据的大小是64千字节时可以使访问请求计数增大2,以及在访问请求的数据的大小是80千字节时可以使访问请求计数增大3。
每当访问请求计数达到初始化阈值时,处理器410可以完全复位(即,初始化)访问计数表125中的所有访问计数。
处理器410可以增大与很少被访问的区域对应的访问计数,因此没有明显涉及数据变形。这种增大的效应可以随着处理器410重复执行数据检查操作然后使访问计数减小差值的处理而积累。以该方式积累的效应可以引起不必要的数据检查操作,以及可以使数据储存设备30的性能劣化。然而,根据本实施例,由于当访问请求计数达到初始化阈值时处理器410初始化访问计数表125中的所有访问计数,因此可以消除如上所描述的积累的效应,从而能够有助于改善数据储存设备30的性能。
如果访问请求计数达到初始化阈值,那么访问请求管理单元420可以将访问请求计数初始化为0,以及可以重新开始计数。
图14是解释用于初始化图13中示出的处理器410的访问计数表125中的访问计数的方法的流程图。
在步骤S410,处理器410可以从外部设备接收访问请求(例如,读取请求)。如图6中所示,处理器410基于访问请求来执行可靠性维护操作。
在步骤S420,处理器410可以基于访问请求来更新访问请求计数。处理器410可以根据访问请求的数据的大小来使访问请求计数增大一或更多。
在步骤S430,处理器410可以判断访问请求计数是否达到初始化阈值。当确定访问请求计数达到初始化阈值时,处理可以进入步骤S440。当确定访问请求计数未达到初始化阈值时,处理可以结束。
在步骤S440,处理器410可以初始化访问请求计数和访问计数表125的所有访问计数。
图15是图示根据第四实施例的数据储存设备40的框图。在图15中,与图1中相同的附图标记将用于与以上参照图1所描述的数据储存设备10基本上相同的元件,并将省略对相应元件的详细描述。
数据储存设备40可以包括控制器500和储存介质600。
储存介质600可以包括第一非易失性存储器件610和第二非易失性存储器件620。例如,第一非易失性存储器件610可以包括多个存储块BLK11至BLK1i。例如,存储块BLK11可以包括多个页P11至P1k。存储块可以是用于在非易失性存储器件中执行擦除操作的单元。页可以是用于在非易失性存储器件中执行写入操作或读取操作的单元。虽然图15图示两个非易失性存储器件610和620包括在储存介质600中,但是包括在储存介质600中的非易失性存储器件的数量不受特别限制。
处理器510可以以超级块(super block)为单位来管理储存介质600。超级块可以形成在第一非易失性存储器件610和第二非易失性存储器件620中,以及可以包括第一非易失性存储器件610和第二非易失性存储器件620的相应的存储块。例如,超级块XBLK1可以包括第一非易失性存储器件610的存储块BLK11和第二非易失性存储器件620的存储块BLK21。在一个超级块中,具有相同偏移值(offset value)的页可以被定义为超级页。例如,在超级块XBLK1中,页P11和P21可以被分组为一个超级页XP1。为了改善处理速度,处理器510可以以超级页为单位来访问储存介质600。第一非易失性存储器件610和第二非易失性存储器件620可以在处理器510的控制下并行地执行用于被分组为超级页的页的写入操作。
当访问储存介质600的目标区域并且执行可靠性维护操作时,处理器510可以更新与第一单元的区域被分组成的第一组之中的包括目标区域的第一组对应的第一访问计数。第一单元的区域可以是例如页P11至P1k和P21至P2k。处理器510可以通过与第一组对应的第一通用访问计数以集成方式来管理用于被分组为一个第一组的多个页的相应的访问计数。也就是说,当访问被分组为特定第一组的多个页之中的任意一个时,处理器510可以更新与第一组对应的第一通用访问计数。处理器510可以通过不同的散列值来索引分别与第一组对应的第一通用访问计数,以及将第一通用访问计数作为第一访问计数表525来管理。处理器510可以通过与上面参照图1描述的访问计数表125的管理方法基本上相同的方法来管理第一访问计数表525。
此外,当访问储存介质600的目标区域并且执行可靠性维护操作时,处理器510可以更新与第二单元的区域被分组成的第二组之中的包括目标区域的第二组对应的第二访问计数。第二单元的区域可以是例如存储块BLK11至BLK1i和BLK21至BLK2i,第二组可以是超级块XBLK1至XBLKi。在这种情况下,处理器510可以通过与超级块对应的第二通用访问计数以集成方式来管理被分组为一个超级块的存储块的相应的访问计数。也就是说,当甚至访问包括在特定超级块中的存储块中的一个页的时,处理器510也可以更新与超级块对应的第二通用访问计数。处理器510可以通过例如超级块XBLK1至XBLKi的地址来索引与超级块XBLK1至XBLKi对应的第二通用访问计数,以及将第二通用访问计数作为第二访问计数表527来管理。
当与特定目标区域对应的第一通用访问计数和第二通用访问计数二者都超过阈值时,处理器510可以对邻近于目标区域的一个或更多个相邻区域执行数据检查操作。根据实施例,对于第一通用访问计数和第二通用访问计数,阈值可以被设置为相同的值或不同的值。处理器510可以以与执行以上参照图7所描述的数据检查操作的方法基本上相同的方式来执行数据检查操作。
第二通用访问计数可以包括频率,对于包括目标区域的超级页已经以该频率发生顺序读取。因此,超过阈值的第二通用访问计数可以意味着储存在邻近于包括目标区域的超级页的相邻超级页中的数据的变形的可能性大。相邻超级页可以是包括邻近于目标区域的相邻区域的超级页。考虑到这些事实,根据实施例,当与特定目标区域对应的第一通用访问计数和第二通用访问计数二者都超过阈值时,处理器510可以对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作。可靠性危险区域可以是邻近于包括目标区域的超级页的一个或更多个相邻超级页。可靠性危险区域可以是包括邻近于目标区域的一个或更多个相邻区域的超级页。可靠性危险区域可以包括具有相同偏移值的页来在包括有目标区域的超级块中作为目标区域的相邻区域。例如,当目标区域是页P12时,可靠性危险区域可以是超级页XP1和XP3。
根据实施例,当通过数据检查操作确定需要执行回收操作时,处理器510可以将储存在可靠性危险区域中的数据拷贝到其他区域。根据实施例,当通过数据检查操作确定需要执行回收操作时,处理器510可以对包括目标区域的整个超级块执行垃圾收集操作。
为了在执行数据检查操作之后延迟随后的数据检查操作,处理器510可以使与目标区域对应的第一通用访问计数和第二通用访问计数减小差值。根据实施例,对于第一访问计数和第二访问计数,差值可以被设置为相同的值或不同的值。
处理器510可以完全复位(即,初始化)与被执行擦除操作的超级块对应的第二通用访问计数。如果包括在特定超级块中的所有存储块都通过例如垃圾收集操作被擦除,那么处理器510可以初始化与超级块对应的第二通用访问计数。
综上所述,处理器510不仅管理与多个页(多个页与通用散列值对应)对应的第一通用访问计数,还管理与超级块对应的第二通用访问计数,并对邻近于包括目标区域的超级页的相邻超级页执行数据检查操作,从而可以进一步改善数据可靠性。
图16是解释用于图15中示出的处理器510的可靠性维护操作的方法的流程图。当访问目标区域时,处理器510可以执行可靠性维护操作。
在步骤S510,处理器510可以增大与目标区域对应的第一通用访问计数和第二通用访问计数。第一通用访问计数可以对应于第一单元的区域被分组成的第一组之中的包括目标区域的第一组。第一单元的区域可以是例如页。第二通用访问计数可以对应于第二单元的区域被分组成的第二组之中的包括目标区域的第二组。第二单元的区域可以是例如存储块。
在步骤S520,处理器510可以判断第一通用访问计数和第二通用访问计数是否分别超过阈值。对于第一通用访问计数和第二通用访问计数,阈值可以被设置为相同的值或不同的值。当确定第一通用访问计数和第二通用访问计数超过阈值时,处理可以进入步骤S530。当确定第一通用访问计数和第二通用访问计数未超过阈值时,处理可以结束。
在步骤S530,处理器510可以执行数据检查操作。根据实施例,处理器510可以执行用于包括邻近于目标区域的相邻区域的可靠性危险区域的数据检查操作。
在步骤S540,处理器510可以使第一通用访问计数和第二通用访问计数减小差值。对于第一通用访问计数和第二通用访问计数,差值可以被设置为相同的值或不同的值。
图17是解释用于在图15中示出的处理器510中初始化第二通用访问计数的方法的流程图。
在步骤S610,可以对第二单元的区域被分组成的第二组之中的特定第二组执行擦除操作。特定第二组可以通过例如垃圾收集操作来擦除。
在步骤S620,处理器510可以初始化与被执行擦除操作的第二组对应的第二通用访问计数。
如从以上描述所明显的,根据实施例的数据储存设备可以提供改善的数据可靠性。
虽然以上已经描述了各种实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,本文所描述的数据储存设备及其操作方法不应当基于所描述的实施例而受到限制。
通过以上实施例可见,本申请可以提供以下技术方案。
技术方案1.一种数据储存设备,包括:
控制器,适用于基于用于目标区域的访问请求来更新访问请求计数和与目标区域对应的访问计数,以及每当访问请求计数达到第一阈值时初始化访问计数;以及
非易失性存储器件,包括目标区域,以及适用于基于控制器的控制来访问目标区域。
技术方案2.如技术方案1所述的数据储存设备,其中,控制器根据访问请求的数据的大小来使访问请求计数增大一或更多。
技术方案3.如技术方案1所述的数据储存设备,其中,控制器基于散列函数来将目标区域的地址映射至多个散列值的一个散列值,以及在访问计数表中更新由散列值索引的访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数。
技术方案4.如技术方案1所述的数据储存设备,
其中,访问计数共同地对应于非易失性存储器件的包括目标区域的多个区域,以及
其中,当所述多个区域中的任意一个区域被访问时,控制器更新访问计数。
技术方案5.如技术方案4所述的数据储存设备,其中,所述多个区域对应于不同的字线。
技术方案6.如技术方案1所述的数据储存设备,其中,当访问计数达到第二阈值时,控制器对邻近于目标区域的一个或更多个相邻区域执行数据检查操作。
技术方案7.如技术方案6所述的数据储存设备,其中,控制器在执行数据检查操作之后使访问计数减小差值。
技术方案8.一种用于操作数据储存设备的方法,包括:
基于访问请求来更新访问请求计数;
更新与非易失性存储器件的目标区域对应的第一访问计数,目标区域基于访问请求而被访问请求;以及
每当访问请求计数达到第一阈值时,初始化第一访问计数。
技术方案9.如技术方案8所述的方法,其中,更新访问请求计数的步骤包括:
根据访问请求的数据的大小使访问请求计数增大一或更多。
技术方案10.如技术方案8所述的方法,其中,更新第一访问计数的步骤包括:
基于第一散列函数来将目标区域的地址映射至多个散列值中的第一散列值;以及
在访问计数表中增大由第一散列值索引的第一访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数。
技术方案11.如技术方案8所述的方法,
其中,第一访问计数共同地对应于非易失性存储器件的包括目标区域的多个区域,以及
其中,所述多个区域对应于不同的字线。
技术方案12.如技术方案8所述的方法,还包括:
当第一访问计数达到第二阈值时,对邻近于目标区域的一个或更多个相邻区域执行数据检查操作。
技术方案13.如技术方案12所述的方法,还包括在执行数据检查操作的步骤之后:
使第一访问计数减小差值。
技术方案14.如技术方案8所述的方法,还包括:
基于访问请求来更新与目标区域对应的第二访问计数;以及
每当访问请求计数达到第一阈值时,初始化第二访问计数,
其中,更新第二访问计数的步骤包括:
基于第二散列函数来将目标区域的地址映射至多个散列值中的第二散列值;以及
在访问计数表中增大由第二散列值索引的第二访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数。
技术方案15.一种用于操作数据储存设备的方法,包括:
基于第一散列函数来将被访问请求的目标区域的地址映射至多个散列值中的第一散列值;
在访问计数表中更新由第一散列值索引的第一访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数;以及
基于访问请求来更新访问请求计数。
技术方案16.如技术方案15所述的方法,其中,更新访问请求计数的步骤包括:
根据访问请求的数据的大小使访问请求计数增大一或更多。
技术方案17.如技术方案15所述的方法,
其中,第一访问计数共同地对应于非易失性存储器件的包括目标区域的多个区域,以及
其中,所述多个区域对应于不同的字线。
技术方案18.如技术方案15所述的方法,还包括:
当第一访问计数达到阈值时,对邻近于目标区域的一个或更多个相邻区域执行数据检查操作;以及
使第一访问计数减小差值。
技术方案19.如技术方案15所述的方法,还包括:
每当访问请求计数达到初始化阈值时,初始化所述多个访问计数。
技术方案20.如技术方案15所述的方法,还包括:
基于第二散列函数来将目标区域的地址映射至所述多个散列值中的第二散列值;以及
在访问计数表中更新由第二散列值索引的第二访问计数。
技术方案21.一种数据储存设备,包括:
储存介质,包括多个非易失性存储器件;以及
控制器,适用于当访问储存介质的目标区域时更新第一访问计数和第二访问计数,
其中,第一访问计数对应于在储存介质中的第一单元的区域分组成的第一组之中的包括目标区域的第一组,第二访问计数对应于在储存介质中的第二单元的区域分组成的第二组之中的包括目标区域的第二组。
技术方案22.如技术方案21所述的数据储存设备,
其中,第一单元的区域是页,以及
其中,被分组成第一组的页基于散列函数而对应于通用散列值。
技术方案23.如技术方案21所述的数据储存设备,
其中,第二单元的区域是存储块,以及
其中,第二组是包括所述多个非易失性存储器件的相应存储块的超级块。
技术方案24.如技术方案21所述的数据储存设备,其中,控制器管理第一访问计数表并管理第二访问计数表,其中,第一访问计数表包括与第一组分别对应的第一访问计数,第二访问计数表包括与第二组分别对应的第二访问计数。
技术方案25.如技术方案21所述的数据储存设备,其中,当第一访问计数和第二访问计数超过阈值时,控制器对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作。
技术方案26.如技术方案25所述的数据储存设备,其中,可靠性危险区域包括具有相同的偏移值的区域作为第二组中的所述一个或更多个相邻区域。
技术方案27.如技术方案25所述的数据储存设备,其中,控制器在执行数据检查操作之后分别使第一访问计数和第二访问计数减小差值。
技术方案28.如技术方案21所述的数据储存设备,其中,当对第二组执行擦除操作时,控制器初始化第二访问计数。
技术方案29.一种数据储存设备,包括:
储存介质,包括多个非易失性存储器件;以及
控制器,适用于当访问储存介质的目标区域时更新第一访问计数和第二访问计数,
其中,第一访问计数对应于多个第一单元区域,所述多个第一单元区域包括目标区域并且基于散列函数而对应于通用散列值,第二访问计数对应于超级块,超级块包括相应的非易失性存储器件的第二单元区域和目标区域。
技术方案30.如技术方案29所述的数据储存设备,其中,当第一访问计数和第二访问计数超过阈值时,控制器对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作。
技术方案31.如技术方案29所述的数据储存设备,其中,控制器基于接收到的访问请求来更新访问请求计数,以及每当访问请求计数达到初始化阈值时初始化第一访问计数。
技术方案32.一种用于操作数据储存设备的方法,包括:
访问包括多个非易失性存储器件的储存介质的目标区域;
更新第一访问计数,第一访问计数与储存介质中的第一单元的区域分组成的第一组之中的包括目标区域的第一组对应;以及
更新第二访问计数,第二访问计数与储存介质中的第二单元的区域分组成的第二组之中的包括目标区域的第二组对应。
技术方案33.如技术方案32所述的方法,还包括:
当第一访问计数和第二访问计数超过阈值时,对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作。
技术方案34.如技术方案33所述的方法,还包括在执行数据检查操作的步骤之后:
使第一访问计数和第二访问计数减小差值。
技术方案35.如技术方案32所述的方法,还包括:
对第二组执行擦除操作;以及
初始化第二访问计数。

Claims (32)

1.一种数据储存设备,包括:
控制器,适用于基于用于目标区域的访问请求来更新访问请求计数和与目标区域对应的访问计数,以及每当访问请求计数达到第一阈值时初始化访问计数;以及
非易失性存储器件,包括目标区域,以及适用于基于控制器的控制来访问目标区域。
2.如权利要求1所述的数据储存设备,其中,控制器根据访问请求的数据的大小来使访问请求计数增大一或更多。
3.如权利要求1所述的数据储存设备,其中,控制器基于散列函数来将目标区域的地址映射至多个散列值的一个散列值,以及在访问计数表中更新由散列值索引的访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数。
4.如权利要求1所述的数据储存设备,
其中,访问计数共同地对应于非易失性存储器件的包括目标区域的多个区域,以及
其中,当所述多个区域中的任意一个区域被访问时,控制器更新访问计数。
5.如权利要求4所述的数据储存设备,其中,所述多个区域对应于不同的字线。
6.如权利要求1所述的数据储存设备,其中,当访问计数达到第二阈值时,控制器对邻近于目标区域的一个或更多个相邻区域执行数据检查操作。
7.如权利要求6所述的数据储存设备,其中,控制器在执行数据检查操作之后使访问计数减小差值。
8.一种用于操作数据储存设备的方法,包括:
基于访问请求来更新访问请求计数;
更新与非易失性存储器件的目标区域对应的第一访问计数,目标区域基于访问请求而被访问请求;以及
每当访问请求计数达到第一阈值时,初始化第一访问计数。
9.如权利要求8所述的方法,其中,更新访问请求计数的步骤包括:
根据访问请求的数据的大小使访问请求计数增大一或更多。
10.如权利要求8所述的方法,其中,更新第一访问计数的步骤包括:
基于第一散列函数来将目标区域的地址映射至多个散列值中的第一散列值;以及
在访问计数表中增大由第一散列值索引的第一访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数。
11.如权利要求8所述的方法,
其中,第一访问计数共同地对应于非易失性存储器件的包括目标区域的多个区域,以及
其中,所述多个区域对应于不同的字线。
12.如权利要求8所述的方法,还包括:
当第一访问计数达到第二阈值时,对邻近于目标区域的一个或更多个相邻区域执行数据检查操作。
13.如权利要求12所述的方法,还包括在执行数据检查操作的步骤之后:
使第一访问计数减小差值。
14.如权利要求8所述的方法,还包括:
基于访问请求来更新与目标区域对应的第二访问计数;以及
每当访问请求计数达到第一阈值时,初始化第二访问计数,
其中,更新第二访问计数的步骤包括:
基于第二散列函数来将目标区域的地址映射至多个散列值中的第二散列值;以及
在访问计数表中增大由第二散列值索引的第二访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数。
15.一种用于操作数据储存设备的方法,包括:
基于第一散列函数来将被访问请求的目标区域的地址映射至多个散列值中的第一散列值;
在访问计数表中更新由第一散列值索引的第一访问计数,其中,访问计数表包括由所述多个散列值索引的多个访问计数;以及
基于访问请求来更新访问请求计数。
16.如权利要求15所述的方法,其中,更新访问请求计数的步骤包括:
根据访问请求的数据的大小使访问请求计数增大一或更多。
17.如权利要求15所述的方法,
其中,第一访问计数共同地对应于非易失性存储器件的包括目标区域的多个区域,以及
其中,所述多个区域对应于不同的字线。
18.如权利要求15所述的方法,还包括:
当第一访问计数达到阈值时,对邻近于目标区域的一个或更多个相邻区域执行数据检查操作;以及
使第一访问计数减小差值。
19.如权利要求15所述的方法,还包括:
每当访问请求计数达到初始化阈值时,初始化所述多个访问计数。
20.如权利要求15所述的方法,还包括:
基于第二散列函数来将目标区域的地址映射至所述多个散列值中的第二散列值;以及
在访问计数表中更新由第二散列值索引的第二访问计数。
21.一种数据储存设备,包括:
储存介质,包括多个非易失性存储器件;以及
控制器,适用于当访问储存介质的目标区域时更新第一访问计数和第二访问计数,
其中,第一访问计数对应于在储存介质中的第一单元的区域分组成的第一组之中的包括目标区域的第一组,第二访问计数对应于在储存介质中的第二单元的区域分组成的第二组之中的包括目标区域的第二组,以及
其中所述第一单元和所述第二单元是具有不同大小的存储单元,所述第一组和所述第二组是具有不同大小的存储区域,
其中,当第一访问计数和第二访问计数都超过阈值时,控制器对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作。
22.如权利要求21所述的数据储存设备,
其中,第一单元的区域是页,以及
其中,被分组成第一组的页基于散列函数而对应于通用散列值。
23.如权利要求21所述的数据储存设备,
其中,第二单元的区域是存储块,以及
其中,第二组是包括所述多个非易失性存储器件的相应存储块的超级块。
24.如权利要求21所述的数据储存设备,其中,控制器管理第一访问计数表并管理第二访问计数表,其中,第一访问计数表包括与第一组分别对应的第一访问计数,第二访问计数表包括与第二组分别对应的第二访问计数。
25.如权利要求21所述的数据储存设备,其中,可靠性危险区域包括具有相同的偏移值的区域作为第二组中的所述一个或更多个相邻区域。
26.如权利要求21所述的数据储存设备,其中,控制器在执行数据检查操作之后分别使第一访问计数和第二访问计数减小差值。
27.如权利要求21所述的数据储存设备,其中,当对第二组执行擦除操作时,控制器初始化第二访问计数。
28.一种数据储存设备,包括:
储存介质,包括多个非易失性存储器件;以及
控制器,适用于当访问储存介质的目标区域时更新第一访问计数和第二访问计数,
其中,第一访问计数对应于多个第一单元区域,所述多个第一单元区域包括目标区域并且基于散列函数而对应于通用散列值,第二访问计数对应于超级块,超级块包括相应的非易失性存储器件的第二单元区域和目标区域,以及
其中每个第一单元区域和所述超级块是具有不同大小的存储区域,
其中,当第一访问计数和第二访问计数都超过阈值时,控制器对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作。
29.如权利要求28所述的数据储存设备,其中,控制器基于接收到的访问请求来更新访问请求计数,以及每当访问请求计数达到初始化阈值时初始化第一访问计数。
30.一种用于操作数据储存设备的方法,包括:
访问包括多个非易失性存储器件的储存介质的目标区域;
更新第一访问计数,第一访问计数与储存介质中的第一单元的区域分组成的第一组之中的包括目标区域的第一组对应;
更新第二访问计数,第二访问计数与储存介质中的第二单元的区域分组成的第二组之中的包括目标区域的第二组对应;以及
当第一访问计数和第二访问计数都超过阈值时,对包括邻近于目标区域的一个或更多个相邻区域的可靠性危险区域执行数据检查操作,
其中所述第一单元和所述第二单元是具有不同大小的存储单元,所述第一组和所述第二组是具有不同大小的存储区域。
31.如权利要求30所述的方法,还包括在执行数据检查操作的步骤之后:
使第一访问计数和第二访问计数减小差值。
32.如权利要求30所述的方法,还包括:
对第二组执行擦除操作;以及
初始化第二访问计数。
CN201510646958.2A 2014-10-07 2015-10-08 数据储存设备及其操作方法 Active CN105489239B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2014-0134982 2014-10-07
KR1020140134982A KR20160042224A (ko) 2014-10-07 2014-10-07 데이터 저장 장치 및 그것의 동작 방법
KR10-2015-0029661 2015-03-03
KR1020150029661A KR102527288B1 (ko) 2015-03-03 2015-03-03 데이터 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
CN105489239A CN105489239A (zh) 2016-04-13
CN105489239B true CN105489239B (zh) 2022-01-07

Family

ID=55632841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510646958.2A Active CN105489239B (zh) 2014-10-07 2015-10-08 数据储存设备及其操作方法

Country Status (3)

Country Link
US (1) US9678827B2 (zh)
CN (1) CN105489239B (zh)
TW (1) TWI683252B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170075593A1 (en) * 2015-09-11 2017-03-16 Sandisk Technologies Inc. System and method for counter flush frequency
KR102529696B1 (ko) * 2016-07-14 2023-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102618699B1 (ko) 2016-09-28 2024-01-02 삼성전자주식회사 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템
US10482983B2 (en) * 2016-12-22 2019-11-19 Seagate Technology Llc Read disturb detection based on dynamic bit error rate estimation
CN108572786B (zh) 2017-03-09 2021-06-29 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
CN108572920B (zh) 2017-03-09 2022-04-12 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
US10379757B2 (en) * 2017-04-07 2019-08-13 Micron Technology, Inc. Methods of sketch-based memory management and memory devices utilizing the same
US10324634B2 (en) * 2017-04-07 2019-06-18 Micron Technology, Inc. Methods of bit-flagged sketch-based memory management and memory devices utilizing the same
CN109243517B (zh) * 2017-07-10 2020-11-13 深圳市得一微电子有限责任公司 一种用于NAND Flash不良区块的查找方法、固态硬盘
KR20190088184A (ko) * 2018-01-18 2019-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190120966A (ko) * 2018-04-17 2019-10-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10553292B1 (en) * 2018-08-08 2020-02-04 SK Hynix Inc. Memory system with memory region read counts and a memory group read count and operating method thereof
US11256427B2 (en) 2018-12-28 2022-02-22 Micron Technology, Inc. Unauthorized memory access mitigation
US11442654B2 (en) * 2020-10-15 2022-09-13 Microsoft Technology Licensing, Llc Managing and ranking memory resources
US11474738B1 (en) 2021-04-15 2022-10-18 Micron Technology, Inc. Probabilistic data integrity scan enhanced by a supplemental data integrity scan

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591947A (zh) * 2010-12-28 2012-07-18 微软公司 用于数据去重复的快速且低ram占用的索引
CN103150136A (zh) * 2013-03-25 2013-06-12 中国人民解放军国防科学技术大学 基于ssd的大容量缓存中的lru策略实现方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129624A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 메모리 시스템 및 그것의 읽기 페일 방지 방법
US20070208904A1 (en) * 2006-03-03 2007-09-06 Wu-Han Hsieh Wear leveling method and apparatus for nonvolatile memory
JP2008287404A (ja) * 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
US7818525B1 (en) * 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
KR101756130B1 (ko) 2010-08-20 2017-07-27 삼성전자주식회사 반도체 저장 장치 및 상기 반도체 저장 장치의 성능 조절 방법
US9176800B2 (en) * 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
US20130097403A1 (en) * 2011-10-18 2013-04-18 Rambus Inc. Address Mapping in Memory Systems
US8910000B2 (en) * 2012-05-17 2014-12-09 Micron Technology, Inc. Program-disturb management for phase change memory
US9092359B2 (en) * 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US9418700B2 (en) * 2012-06-29 2016-08-16 Intel Corporation Bad block management mechanism
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
US9141534B2 (en) * 2012-12-14 2015-09-22 Sandisk Technologies Inc. Tracking read accesses to regions of non-volatile memory
US20140173239A1 (en) * 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US9058870B2 (en) * 2013-02-08 2015-06-16 Seagate Technology Llc Hash functions used to track variance parameters of resistance-based memory elements
US9230689B2 (en) * 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9361182B2 (en) * 2014-05-20 2016-06-07 Transcend Information, Inc. Method for read disturbance management in non-volatile memory devices
US9612957B2 (en) * 2014-07-30 2017-04-04 Qualcomm Innovation Center, Inc. Read disturb and data retention handling for NAND devices
US11243898B2 (en) * 2014-08-01 2022-02-08 Arm Limited Memory controller and method for controlling a memory device to process access requests issued by at least one master device
US9423971B2 (en) * 2014-10-03 2016-08-23 Sandisk Technologies Llc Method and system for adaptively assigning logical block address read counters using a tree structure

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591947A (zh) * 2010-12-28 2012-07-18 微软公司 用于数据去重复的快速且低ram占用的索引
CN103150136A (zh) * 2013-03-25 2013-06-12 中国人民解放军国防科学技术大学 基于ssd的大容量缓存中的lru策略实现方法

Also Published As

Publication number Publication date
CN105489239A (zh) 2016-04-13
US9678827B2 (en) 2017-06-13
US20160098201A1 (en) 2016-04-07
TW201617840A (zh) 2016-05-16
TWI683252B (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN105489239B (zh) 数据储存设备及其操作方法
US10108472B2 (en) Adaptive read disturb reclaim policy
US10318414B2 (en) Memory system and memory management method thereof
KR102174293B1 (ko) 확률론적 데이터 구조에 기초한 메모리 내의 사전적인 교정 조치
US9996297B2 (en) Hot-cold data separation method in flash translation layer
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
US20100235713A1 (en) Non-volatile memory generating read reclaim signal and memory system
US11010289B2 (en) Data storage device and operating method thereof
CN105718387A (zh) 数据储存器件及其操作方法
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
US9483181B2 (en) Data storage device and operating method thereof
CN111949204A (zh) 存储器系统、存储器控制器和存储器装置
US11538547B2 (en) Systems and methods for read error recovery
KR102389542B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190068197A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US11087846B1 (en) Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder
US20160322087A1 (en) Data storage device and operating method thereof
CN114530173A (zh) 存储器系统及其操作方法
US10073685B2 (en) Methods of system optimization by over-sampling read
CN111798913A (zh) 存储器系统、存储器控制器及其操作方法
KR102527288B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102246843B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN115048039B (zh) 用于基于有效转换单元计数的存储器管理的方法、设备和系统
CN117174135A (zh) 存储器装置安全性与行锤缓解
CN117908768A (zh) 自适应读取干扰扫描

Legal Events

Date Code Title Description
C06 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