CN105489242B - 数据储存器件及其操作方法 - Google Patents

数据储存器件及其操作方法 Download PDF

Info

Publication number
CN105489242B
CN105489242B CN201510347610.3A CN201510347610A CN105489242B CN 105489242 B CN105489242 B CN 105489242B CN 201510347610 A CN201510347610 A CN 201510347610A CN 105489242 B CN105489242 B CN 105489242B
Authority
CN
China
Prior art keywords
processor
access count
storage device
data
access
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
CN201510347610.3A
Other languages
English (en)
Other versions
CN105489242A (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
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN105489242A publication Critical patent/CN105489242A/zh
Application granted granted Critical
Publication of CN105489242B publication Critical patent/CN105489242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种数据储存器件,包括非易失性存储设备,其适合存取对应于存取命令的目标区域,以及处理器,其适合基于第一散列函数来计算对应于目标区域的第一散列值,并更新由第一散列值索引的存取计数。

Description

数据储存器件及其操作方法
相关申请的交叉引用
本申请要求在2014年10月7日向韩国知识产权局提交的韩国专利申请10-2014-0134982的优先权,其整体内容通过引用合并于此。
技术领域
各种具体实施例总而而言涉及一种数据储存器件,尤其涉及一种如下的数据储存器件及其操作方法,其中可靠性维护操作被执行以防止由于非易失性存储设备的特定区域过度存取而使储存于邻近于非易失性存储设备的特定区域的相邻区域中的数据失真或丢失。
背景技术
半导体设备,具体而言半导体存储设备可以用于储存数据。存储设备一般可以分成非易失性和易失性存储设备。
非易失性存储设备即使无电源仍会保留所储存数据。非易失性存储设备包括闪存,如与非(NAND)和或非(NOR)快闪、铁电随机存取存储器(Ferroelectric random accessmemory,FeRAM)、相变随机存取存储器(Phase change random access memory,PCRAM)、磁性随机存取存储器(Magnetic random access memory,MRAM)及电阻式随机存取存储器(Resistive random access memory,ReRAM)。
易失性存储设备无恒定电源即无法保留储存于其中的数据。易失性存储设备包括静态随机存取存储器(Static random access memory,SRAM)和动态随机存取存储器(Dynamic random access memory,DRAM)。易失性存储设备在需要相对较高处理速度
的数据处理统中可以用作缓冲存储器、高速缓存、工作存储器或其类似物。
发明内容
各种具体实施例涉及一种具有改良数据可靠性的数据储存器件。
在一具体实施例中,数据储存器件可以包括:非易失性存储设备,其适合存取对应于存取命令的目标区域;以及处理器,其适合基于第一散列函数计算对应于目标区域的第一散列值,并更新由第一散列值索引的存取计数。
在一具体实施例中,数据储存器件可以包括:非易失性存储设备,其包括对应于单一散列值的多个区域;以及处理器,其适合管理多个区域的共同存取计数,其中该存取计数由散列值索引。
在一具体实施例中,一种用于操作数据储存器件的方法可以包括:响应于存取指令,存取对应于单一散列值的多个区域之中的目标区域;以及增大由散列值索引的存取计数。
附图说明
图1为例示根据一具体实施例的数据储存器件的示例性框图。
图2为例示图1所示非易失性存储设备的示例性框图。
图3a为例示图2所示页与字线之间关系的示意图。
图3b为例示图2所示页与字线之间关系的另一示意图。
图4为例示图1所示散列单元的操作方法的示意图。
图5为例示图1所示数据储存器件的操作方法的流程图。
图6为例示图1所示处理器的可靠性维护操作的方法的流程图。
图7为例示图1所示处理器的数据检查操作的方法的流程图。
图8和图9为例示图1所示处理器的可靠性维护操作的方法的示意图。
图10为例示根据一具体实施例的数据储存器件的框图。
图11为例示图10所示第一散列单元和第二散列单元的操作方法的示意图。
图12为例示图10所示处理器的可靠性维护操作的方法的示意图。
具体实施方式
在下文中,数据储存器件及其操作方法以下将会通过具体实施例的各种范例参照所附附图进行说明。
图1为例示根据一具体实施例的数据储存器件10的示例性框图。
数据储存器件10可以响应于来自外部器件的写入请求而储存外部器件(未显示)所提供的数据。此外,数据储存器件10可以响应于来自外部器件的读取请求而将所储存数据提供给外部器件。数据储存器件10可以配置为个人计算机存储卡国际协会(PersonalComputer Memory Card International Association,PCMCIA)卡、紧凑型快闪(Compactflash,CF)卡、智能媒体卡、存储棒、形式为MMC、eMMC、RS-MMC及MMC-micro的多媒体卡、形式为SD、mini-SD及micro-SD的安全数字卡、通用快闪储存器(Universal flash storage,UFS)或固态硬盘。
数据储存器件10可以包括控制器100和非易失性存储设备200。
控制器100可以包括处理器110、存储器120及错误校正码(error correctioncode,ECC)单元130。
处理器110可以控制数据储存器件10的总体操作。处理器110可以产生用于存取非易失性存储设备200的目标区域的存取命令,例如,写入命令或读取命令,并可以将所产生的存取命令提供给非易失性存储设备200。处理器110可以驱动存储器120上的用于控制数据储存器件10的操作的软件程序。
处理器110可以执行可靠性维护操作。可靠性维护操作可以执行以防止由于非易失性存储设备200的特定区域过度存取而使储存于邻近于非易失性存储设备200的特定区域的相邻区域中的数据失真或丢失。可靠性维护操作可以基于存取计数表125通过数据检查操作来执行。处理器110可以执行可靠性维护操作,例如,每次通过读取命令对非易失性存储设备200进行存取时。
处理器110可以在存储器120上管理存取计数表125。存取计数表125可以包括存取计数的一个或多个值,其每个皆表示非易失性存储设备200的对应区域被存取多少次。每次对非易失性存储设备200的目标区域进行存取时,处理器110皆可以计算对应于非易失性存储设备200的目标区域的散列(hash)值HV,并可以在存取计数表125中更新由所计算散列值HV索引的存取计数。
处理器110可以包括散列单元115。散列单元115可以基于目标区域的地址ADD_T计算对应于该目标区域的散列值HV。散列单元115可以基于散列函数(hash function)将该目标区域的地址ADD_T散列为散列值HV。例如,散列单元115可以实现为硬件,如数字电路、模拟电路或数字和模拟电路的组合。在其他范例中,散列单元115可以实现为软件,如固件,或者散列单元115可以实现为硬件和软件的组合。
为有效使用存储器120的容量,处理器110可以通过共同存取计数的单一值以综合方式管理非易失性存储设备200的多个区域的存取计数。处理器110可以在对综合管理下的多个区域中的任一个进行存取时更新共同存取计数的所述单一值。亦即,对在综合管理下的多个区域的共同存取计数可以为多个区域的所述存取计数的总和。
处理器110可以通过共同散列值以综合方式管理多个区域。散列单元115可以基于散列函数将在综合管理下的多个区域的所述地址散列到共同散列值。对多个区域的共同存取计数可以由共同散列值索引。总的来说,在对综合管理下的多个区域中的任一个进行存取时,处理器110可以基于所存取区域的地址计算对应于多个区域的共同散列值,并可以更新由所计算共同散列值索引的共同存取计数。
在综合管理下的多个区域可以对应于不同字线。在综合管理下的多个区域可以为多个页。
在基于存取计数表125确定出非易失性存储设备200的特定区域过度存取的情况下,处理器110可以对该特定区域的相邻区域执行数据检查操作。数据检查操作可以通过如下操作来被执行:核查储存于该相邻区域中的数据的失真程度、并根据数据的失真程度而选择性执行用于将储存于相邻区域中的数据还原成失真前的状态复原(reclaim)操作。
存储器120可以用作工作存储器、缓冲存储器或高速缓存。存储器120可以储存软件程序或待由处理器110驱动的各种程序数据、缓冲待在外部器件与非易失性存储设备200之间传送的数据,或暂时性储存缓存数据。
存储器120可以储存由处理器110管理的存取计数表125。如上述,在处理器110通过共同存取计数以综合方式管理非易失性存储设备200的多个区域的多个存取计数的情况下,存储器120可以被有效使用。若处理器110未以综合方式管理多个区域的多个存取计数,而是管理多个区域的多个存取计数中的每一个,则多个区域的多个存取计数将会与区域数目成比例地占用存储器120。存取计数表125可以在非易失性存储设备200中备份。
ECC单元130可以将待写入非易失性存储设备200的数据进行ECC编码用于错误检测、以及对读取自非易失性存储设备200的数据的错误校正。例如,ECC单元130可以为待写入非易失性存储设备200的数据产生奇偶(parity)数据,并可以通过将所产生奇偶数据加入待写入数据来编码待写入的该数据。
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位的单电平单元和每个皆储存至少2位的多电平单元。
存储单元阵列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和P8的地址ADD_P3和ADD_P8散列到共同散列值“1”。在第三和第八页P3和P8中的任一个被存取的情况下,散列单元115可以计算共同散列值“1”。此种散列将会使得处理器110通过将第三和第八页P3和P8的存取计数索引到共同散列值“1”来以综合方式管理它们。
虽然图4例示散列单元115将2个页的地址散列到共同散列值,但应注意待散列到共同散列值的页数目未具体限制。在具体实施例中,其以综合方式管理的存取计数的页数目未具体限制。
图5为例示图1所示数据储存器件10的操作方法的流程图。
在步骤S110中,处理器110可以产生用于存取目标区域的存取命令。例如,处理器110可以产生用于从目标区域读取数据的读取命令。非易失性存储设备200将会响应于处理器110所提供的存取命令而存取目标区域。
在步骤S120中,处理器110可以执行可靠性维护操作。可靠性维护操作可以基于存取计数表125由数据检查操作执行。
处理器110可以在每次对非易失性存储设备200进行存取时执行可靠性维护操作。处理器110可以例如在每次通过读取命令存取非易失性存储设备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示出了在处理器110在图6所示步骤230中确定所更新的共同存取计数未达到阈值(否)时处理器110的可靠性维护操作的方法。图9显示在处理器110在图6所示步骤230中确定所更新的共同存取计数达到阈值(是)时处理器110的可靠性维护操作的方法。假设处理器110在每次通过读取命令存取非易失性存储设备200时执行可靠性维护操作以防止因目标区域施加于相邻区域上的读取干扰效应的数据失真或丢失。
在下文中,处理器110执行可靠性维护操作的方法将会参照图4、图6及图8详细进行说明。假设处理器110已为目标区域(例如,第二页P2)产生读取命令,并已读取第二页P2。
散列单元115可以计算对应于第二页P2(①)的共同散列值HV。散列单元115可以根据图4所示计算方法基于散列函数而将第二页P2的地址ADD_P2散列到共同散列值“3”。
处理器110可以增大存储器120(②)上的存取计数表125中的由共同散列值“3”索引的共同存取计数。
处理器110可以确定所更新的共同存取计数是否达到阈值。在阈值设定为100的情况下,由于所更新的共同存取计数仍为76,因此处理器110可以确定其未达到阈值。处理器110可以结束可靠性维护操作。
接着,处理器110执行可靠性维护操作的另一方法将会参照图4、图6及图9详细进行说明。假设处理器110已为目标区域(例如,第三页P3)产生读取命令,并已读取第三页P3。
散列单元115可以计算对应于第三页P3(①)的共同散列值HV。散列单元115可以根据图4所示计算方法基于散列函数而将第三页P3的地址ADD_P3散列到共同散列值“1”。
处理器110可以增大存储器120(②)上的存取计数表125中的由共同散列值“1”索引的共同存取计数。
处理器110可以确定所更新的共同存取计数是否达到阈值。在阈值设定为100的情况下,由于所更新的共同存取计数为100,因此处理器110可以确定其已达到阈值。
处理器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”索引的共同存取计数,以维持在综合管理下对第八页P8而非第三页P3过度存取的某些机率。
图10为例示根据一具体实施例的数据储存器件20的框图。在图10中,与图1相同的附图标记大体上将会用于与上述参照图1的数据储存器件10相同的组件,并会省略对对应组件的详细说明。
数据储存器件20可以与参照图1数据储存器件10相同,而不同的处在于控制器300包括第一散列单元315和第二散列单元317。
处理器310可以管理存取计数表325。处理器310可以在每次通过存取命令存取非易失性存储设备200时计算对应于非易失性存储设备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包括2个散列单元,但应注意包括于处理器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的可靠性维护操作的方法的示意图。假设处理器310在每次通过读取命令存取非易失性存储设备200时执行可靠性维护操作以防止因目标区域施加于相邻区域上的读取干扰效应的数据失真或丢失。
在下文中,处理器310执行可靠性维护操作的方法将会参照图10至图12详细进行说明。假设处理器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”索引的共同存取计数,以在综合管理下维持对第一、第五及第八页P1、P5及P8而非第三页P3过度存取的某些机率。
上述参照图10至图12的数据储存器件20在下列情况下可以为有效。例如,假设在图12中第八页P8在第三页P3被存取前已过度存取。第八页P8可以通过第一散列单元315对应于第一共同散列值“1”,并通过第二散列单元317对应于第二共同散列值“4”。据此,在由第一共同散列值“1”和第二共同散列值“4”索引的存取计数表325中的共同存取计数可以增大而接近阈值,例如,分别为49和48。在这种状态下,由于对第三页P3的存取所造成的结果,存取计数表325中的由第一共同散列值“1”索引的共同存取计数可以达到阈值50,然后可以减小到25。然而,由于存取计数表325中的由第二共同散列值“4”索引的共同存取计数维持原样,因此针对第八页P8的相邻区域执行数据检查操作的机会可以在稍早时间点提供,因此,数据可靠性得以改良。
如从上述说明显而易见,根据具体实施例的数据储存器件可以提供改良的数据可靠性。
虽然上述已说明各种具体实施例,但本领域技术人员应可以理解具体实施例仅为范例。据此,于文中描述的数据储存器件及其操作方法不应基于所述的具体实施例加以限制。
通过以上实施例可以看出,本申请提供了以下的技术方案。
技术方案1.一种数据储存器件,包括:
非易失性存储设备,其适合存取对应于存取命令的目标区域;以及
处理器,其适合基于第一散列函数来计算对应于所述目标区域的第一散列值,并更新由所述第一散列值索引的存取计数。
技术方案2.如技术方案1所述的数据储存器件,其中所述处理器基于所述目标区域的地址来计算所述第一散列值。
技术方案3.如技术方案1所述的数据储存器件,
其中所述第一散列值共同对应于所述非易失性存储设备的多个区域,且
其中所述处理器在存取所述多个区域中的任一个时更新由所述第一散列值索引的存取计数。
技术方案4.如技术方案3所述的数据储存器件,其中所述多个区域对应于不同字线。
技术方案5.如技术方案1所述的数据储存器件,其中所述处理器通过增大所述存取计数来更新所述存取计数。
技术方案6.如技术方案5所述的数据储存器件,其中,所述处理器将所更新的存取计数与阈值比较,并根据所述比较而针对邻近于所述目标区域的一个或多个相邻区域执行数据检查操作。
技术方案7.如技术方案6所述的数据储存器件,其中,所述处理器在针对所述相邻区域执行所述数据检查操作后减小增大的存取计数。
技术方案8.如技术方案1所述的数据储存器件,其中,所述处理器基于第二散列函数来计算对应于所述目标区域的第二散列值,并更新由所述第二散列值索引的存取计数。
技术方案9.一种数据储存器件,包括:
非易失性存储设备,其包括对应于单一散列值的多个区域;以及
处理器,其适合管理所述多个区域的共同存取计数,
其中所述存取计数由所述散列值索引。
技术方案10.如技术方案9所述的数据储存器件,其中所述多个区域对应于不同字线。
技术方案11.如技术方案9所述的数据储存器件,其中,所述处理器包括散列单元,所述散列单元适合基于所述多个区域中的一个区域的地址来计算所述散列值。
技术方案12.如技术方案9所述的数据储存器件,其中所述处理器在存取目标区域时增大所述存取计数,所述目标区域是所述多个区域中之一。
技术方案13.如技术方案12所述的数据储存器件,其中,所述处理器将增大的存取计数与阈值进行比较,并根据所述比较而针对邻近于所述目标区域的一个或多个相邻区域执行数据检查操作。
技术方案14.如技术方案13所述的数据储存器件,其中,所述处理器在针对所述相邻区域执行所述数据检查操作后减小所述增大的存取计数。
技术方案15.一种用于操作数据储存器件的方法,包括:
响应于存取命令,存取对应于单一散列值的多个区域之中的目标区域;以及
增大由所述散列值索引的存取计数。
技术方案16.如技术方案15所述的方法,其中所述多个区域对应于不同字线。
技术方案17.如技术方案15所述的方法,还包括:
基于所述目标区域的地址来计算所述散列值。
技术方案18.如技术方案15所述的方法,还包括:
将增大的存取计数与阈值进行比较;以及
根据所述比较而针对邻近于所述目标区域的一个或多个相邻区域执行数据检查操作。
技术方案19.如技术方案18所述的方法,其中针对所述相邻区域执行数据检查操作的步骤包括:
读取储存于所述相邻区域中的数据;
核查从所述相邻区域读取的数据的错误发生率;以及
根据所述错误发生率而选择性执行用于还原储存于所述相邻区域中的数据的复原操作。
技术方案20.如技术方案18所述的方法,还包括在执行所述数据检查操作后减小所述增大的存取计数。

Claims (17)

1.一种数据储存器件,包括:
非易失性存储设备,其适合存取对应于存取命令的目标区域;以及
处理器,其适合基于第一散列函数来计算对应于所述目标区域的第一散列值,并更新由所述第一散列值索引的存取计数,以及基于更新的存取计数执行数据检查操作,
其中,所述处理器在执行所述数据检查操作后将所述更新的存取计数减小到非0的预定值,所述预定值指示对非目标区域的另一区域的过度存取的机率。
2.如权利要求1所述的数据储存器件,其中所述处理器基于所述目标区域的地址来计算所述第一散列值。
3.如权利要求1所述的数据储存器件,
其中所述第一散列值共同对应于所述非易失性存储设备的多个区域,且
其中所述处理器在存取所述多个区域中的任一个时更新由所述第一散列值索引的存取计数。
4.如权利要求3所述的数据储存器件,其中所述多个区域对应于不同字线。
5.如权利要求1所述的数据储存器件,其中所述处理器通过增大所述存取计数来更新所述存取计数。
6.如权利要求5所述的数据储存器件,其中,所述处理器将所更新的存取计数与阈值比较,并根据所述比较而针对邻近于所述目标区域的一个或多个相邻区域执行所述数据检查操作。
7.如权利要求1所述的数据储存器件,其中,所述处理器基于第二散列函数来计算对应于所述目标区域的第二散列值,并更新由所述第二散列值索引的存取计数。
8.一种数据储存器件,包括:
非易失性存储设备,其包括对应于单一散列值的多个区域;以及
处理器,其适合管理所述多个区域的共同存取计数,存取所述多个区域之中的目标区域,基于所述存取计数执行数据检查操作,以及将所述存取计数减小到非0的预定值,
其中所述存取计数由所述散列值索引,
其中所述预定值指示对非目标区域的另一区域的过度存取的机率。
9.如权利要求8所述的数据储存器件,其中所述多个区域对应于不同字线。
10.如权利要求8所述的数据储存器件,其中,所述处理器包括散列单元,所述散列单元适合基于所述多个区域中的一个区域的地址来计算所述散列值。
11.如权利要求8所述的数据储存器件,其中所述处理器在存取所述目标区域时增大所述存取计数。
12.如权利要求11所述的数据储存器件,其中,所述处理器将增大的存取计数与阈值进行比较,并根据所述比较而针对邻近于所述目标区域的一个或多个相邻区域执行所述数据检查操作。
13.一种用于操作数据储存器件的方法,包括:
响应于存取命令,存取对应于单一散列值的多个区域之中的目标区域;
增大由所述散列值索引的存取计数;
基于增大的存取计数执行数据检查操作;
将所述增大的存取计数减小到非0的预定值,
其中,所述预定值指示对非所述目标区域的另一区域的过度存取的机率。
14.如权利要求13所述的方法,其中所述多个区域对应于不同字线。
15.如权利要求13所述的方法,还包括:
基于所述目标区域的地址来计算所述散列值。
16.如权利要求13所述的方法,还包括:
将增大的存取计数与阈值进行比较;以及
根据所述比较而针对邻近于所述目标区域的一个或多个相邻区域执行所述数据检查操作。
17.如权利要求16所述的方法,其中针对所述相邻区域执行数据检查操作的步骤包括:
读取储存于所述相邻区域中的数据;
核查从所述相邻区域读取的数据的错误发生率;以及
根据所述错误发生率而选择性执行用于还原储存于所述相邻区域中的数据的复原操作。
CN201510347610.3A 2014-10-07 2015-06-19 数据储存器件及其操作方法 Active CN105489242B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN105489242A CN105489242A (zh) 2016-04-13
CN105489242B true CN105489242B (zh) 2021-02-05

Family

ID=55632849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510347610.3A Active CN105489242B (zh) 2014-10-07 2015-06-19 数据储存器件及其操作方法

Country Status (4)

Country Link
US (2) US20160098214A1 (zh)
KR (1) KR20160042224A (zh)
CN (1) CN105489242B (zh)
TW (1) TWI682275B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275541B2 (en) * 2016-08-05 2019-04-30 Micron Technology, Inc. Proactive corrective actions in memory based on a probabilistic data structure
KR20180076765A (ko) * 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN106875977A (zh) * 2017-02-27 2017-06-20 郑州云海信息技术有限公司 一种固态硬盘调试方法及装置
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
US10379757B2 (en) * 2017-04-07 2019-08-13 Micron Technology, Inc. Methods of sketch-based memory management and memory devices utilizing the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104638A (en) * 1999-02-26 2000-08-15 Hewlett-Packard Company Use of erasable non-volatile memory for storage of changing information
CN101290635A (zh) * 2008-06-24 2008-10-22 中兴通讯股份有限公司 一种基于特征字的内存管理方法及其装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446223B1 (en) * 1998-09-09 2002-09-03 Hitachi, Ltd. Storage system and method for controlling the same
US6347362B1 (en) * 1998-12-29 2002-02-12 Intel Corporation Flexible event monitoring counters in multi-node processor systems and process of operating the same
US6799241B2 (en) * 2002-01-03 2004-09-28 Intel Corporation Method for dynamically adjusting a memory page closing policy
US20070208904A1 (en) 2006-03-03 2007-09-06 Wu-Han Hsieh Wear leveling method and apparatus for nonvolatile memory
TWI405208B (zh) * 2009-08-06 2013-08-11 Novatek Microelectronics Corp 快閃記憶體及其存取方法
US7818525B1 (en) * 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8935487B2 (en) 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
TWI490869B (zh) * 2010-08-13 2015-07-01 Mstar Semiconductor Inc 應用於快閃記憶體的方法與相關的控制器
CN102362464B (zh) * 2011-04-19 2013-01-30 华为技术有限公司 内存访问监测方法和装置
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 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
US8804418B1 (en) * 2012-08-31 2014-08-12 Cadence Design Systems, Inc. Low overhead read disturbance protection method for NAND flash device
WO2014065774A1 (en) * 2012-10-22 2014-05-01 Hewlett-Packard Development Company, L.P. Refreshing a group of memory cells in response to presence of potential disturbance
US9213852B2 (en) * 2012-12-12 2015-12-15 Vmware, Inc. Limiting access to a digital item
US9171605B1 (en) * 2012-12-21 2015-10-27 Samsung Electronics Co., Ltd. Concentrated address detecting method of semiconductor device and concentrated address detecting circuit using the same
WO2014120228A1 (en) * 2013-01-31 2014-08-07 Hewlett-Packard Development Company Ram refresh rate
US9058870B2 (en) * 2013-02-08 2015-06-16 Seagate Technology Llc Hash functions used to track variance parameters of resistance-based memory elements
US9189409B2 (en) * 2013-02-19 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing writes to solid state drive cache memories of storage controllers
US9092336B2 (en) * 2013-03-15 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Write admittance policy for a memory cache
CN103150136B (zh) 2013-03-25 2014-07-23 中国人民解放军国防科学技术大学 基于ssd的大容量缓存中的lru策略实现方法
US9298620B2 (en) * 2013-11-25 2016-03-29 Apple Inc. Selective victimization in a multi-level cache hierarchy
US9240235B2 (en) * 2013-12-19 2016-01-19 Sandisk Technologies Inc. Mitigating disturb effects for non-volatile memory
US9230689B2 (en) * 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9405703B2 (en) * 2014-06-04 2016-08-02 Advanced Micro Devices, Inc. Translation lookaside buffer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104638A (en) * 1999-02-26 2000-08-15 Hewlett-Packard Company Use of erasable non-volatile memory for storage of changing information
CN101290635A (zh) * 2008-06-24 2008-10-22 中兴通讯股份有限公司 一种基于特征字的内存管理方法及其装置

Also Published As

Publication number Publication date
TWI682275B (zh) 2020-01-11
US20160098214A1 (en) 2016-04-07
US11010289B2 (en) 2021-05-18
TW201614494A (en) 2016-04-16
CN105489242A (zh) 2016-04-13
KR20160042224A (ko) 2016-04-19
US20190196954A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
CN105489239B (zh) 数据储存设备及其操作方法
US20210026732A1 (en) Memory systems for performing failover
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
US10818371B2 (en) Data storage devices and data processing methods
KR102174293B1 (ko) 확률론적 데이터 구조에 기초한 메모리 내의 사전적인 교정 조치
US9361182B2 (en) Method for read disturbance management in non-volatile memory devices
US11010289B2 (en) Data storage device and operating method thereof
US8266481B2 (en) System and method of wear-leveling in flash storage
TWI566252B (zh) 非揮發性記憶體裝置進行耗損管理之方法
US9563249B2 (en) Data storage device and power-interruption detection method
US20100281202A1 (en) Wear-leveling and bad block management of limited lifetime memory devices
US10747660B2 (en) Method and system for forming and using memory superblocks based on performance grades
US8924774B2 (en) Semiconductor memory device and method for operating the same
US9619323B2 (en) Data storage device and operating method thereof
US20190227748A1 (en) Data storage devices and data processing methods
US20120159280A1 (en) Method for controlling nonvolatile memory apparatus
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
US10073685B2 (en) Methods of system optimization by over-sampling read
KR102246843B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102527288B1 (ko) 데이터 저장 장치 및 그것의 동작 방법

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