CN110603529B - 基于草图的存储器管理的方法及利用所述方法的存储器装置 - Google Patents
基于草图的存储器管理的方法及利用所述方法的存储器装置 Download PDFInfo
- Publication number
- CN110603529B CN110603529B CN201880029369.1A CN201880029369A CN110603529B CN 110603529 B CN110603529 B CN 110603529B CN 201880029369 A CN201880029369 A CN 201880029369A CN 110603529 B CN110603529 B CN 110603529B
- Authority
- CN
- China
- Prior art keywords
- memory
- sketch
- memory device
- locations
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 329
- 238000007726 management method Methods 0.000 title description 15
- 230000006870 function Effects 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 43
- 238000012937 correction Methods 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 238000004378 air conditioning Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 description 31
- 230000000694 effects Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 150000004770 chalcogenides Chemical class 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明描述一种存储器装置,其具有含多个存储器地址的存储器阵列及可操作地耦合到所述存储器阵列的控制器。所述控制器经配置以存储包括d行及w列的草图,其中d及w是正整数。所述d行中的每一者对应于d个散列函数中的不同一者。所述控制器还经配置以检测与所述多个存储器地址中的第一存储器地址相关联的事件且利用所述d个散列函数中的每一者对所述第一存储器地址进行散列运算以产生对应的d个草图位置。所述控制器进一步经配置以针对所述d个草图位置中的每一者,用对应于所述事件的第一量调整所存储草图值。
Description
相关申请案的交叉参考
本申请案含有与由赛缪尔E.布莱德肖(Samuel E.Bradshaw)同时申请的标题为“基于位旗标草图的存储器管理方法及利用所述方法的存储器装置(METHODS OF BIT-FLAGGED SKETCH-BASED MEMORY MANAGEMENT AND MEMORY DEVICES UTILIZING THESAME)”的美国专利申请案相关的标的物。所述相关申请案受让与美光科技有限公司(Micron Technology,Inc.),且由代理人案号10829-9209.US00识别。
技术领域
本发明一般来说涉及半导体存储器装置,且更特定来说涉及基于草图的存储器管理的方法及采用所述方法的存储器装置。
背景技术
通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路及/或外部可装卸式装置。存在包含易失性及非易失性存储器的许多不同类型的存储器。包含随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)及其它的易失性存储器可需要所供应电力的源以维持其数据。相比来说,非易失性存储器可甚至在不被外部供电时保持其所存储数据。非易失性存储器可用于多种多样的技术中,包含快闪存储器(例如,NAND及NOR)、相变存储器(PCM)、电阻式随机存取存储器(RRAM)及磁性随机存取存储器(MRAM),以及其它。
不同类型的存储器装置经历需要不同存储器管理方法的不同操作特性。举例来说,快闪存储器装置中的存储器单元可在存储器单元的可靠性减小之前仅耐受有限数目个编程及擦除操作(例如,归因于电介质击穿导致阈值电压漂移超出可恢复电平)。因此,可期望跟踪非易失性存储器装置的存储器位置的擦除及写入循环的数目以及对应于存储器的操作的许多其它统计数据(例如,错误、干扰事件等的发生)。跟踪存储器装置中的众多存储器位置的多个统计数据所需的存储空间的量可呈现设计挑战,这是因为较大存储器阵列的非常细粒度的信息(例如,对应于单元及/或页层级)可要求留出大量存储器来存储存储器管理信息。
附图说明
图1是具有根据本发明技术的实施例配置的存储器装置的系统的框图。
图2A到2H图解说明根据本发明技术的实施例用于概括关于存储器装置随时间在各种状态下的信息的草图。
图3是根据本发明技术的实施例的存储器装置上的存储器阵列的详细视图。
图4是图解说明根据本发明技术的实施例的操作存储器装置的方法的流程图。
图5是图解说明根据本发明技术的实施例的操作存储器装置的方法的流程图。
图6是图解说明根据本发明技术的实施例的操作存储器装置的方法的流程图。
具体实施方式
在以下说明中,论述众多特定细节来提供对本发明技术的实施例透彻及使能的说明。然而,所属领域的技术人员将认识到,可在不使用所述特定细节中的一或多者的情况下实践本发明。在其它例子中,未展示或未详细描述通常与存储器装置相关联的众所周知的结构或操作,以避免使本技术的其它方面模糊。举例来说,下文未详细论述所属领域的技术人员众所周知的存储器装置及/或存储器系统的数个功能组件(例如,电路组件(例如多路复用器及解码器)、数据结构(例如地址寄存器及数据寄存器)等)。一般来说,应理解,除本文中所揭示的那些特定实施例之外,各种其它装置、系统及方法也可在本发明技术的范围内。
如上文所论述,随着存储器装置被要求跟踪关于越来越大的存储器阵列的越来越多的存储器管理信息,用于跟踪此信息的存储器存储器件的大小及成本继续增加。因此,根据本发明技术的存储器装置的数个实施例可利用草图来存储经概括存储器管理信息,这可减小跟踪所述信息所需的存储器存储量,借此减小对存储器装置上的存储器存储器件的设计要求。
本发明技术的数个实施例针对于存储器装置、包含存储器装置的系统及操作存储器装置的方法。在一个实施例中,存储器装置包括存储器阵列及控制器。所述存储器阵列包括多个存储器地址,且所述控制器经配置以将关于所述多个存储器地址的经概括信息存储于草图中。举例来说,所述控制器可经配置以:(a)存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者,(b)检测与所述多个存储器地址中的第一存储器地址相关联的事件,(c)利用所述d个散列函数中的每一者对所述第一存储器地址进行散列运算以产生对应的d个草图位置,及(d)针对所述d个草图位置中的每一者,用对应于所述事件的第一量调整所存储草图值。
图1是具有根据本发明技术的实施例配置的存储器装置100的系统101的框图。如所展示,存储器装置100包含主存储器102(例如,NAND快闪、NOR快闪、硫族化物PCM等)及将主存储器102可操作地耦合到主机装置108(例如,上游中央处理器(CPU))的控制器106。主存储器102包含各自包含多个存储器单元122的多个存储器区域或存储器单位120。存储器单位120可为个别存储器裸片、单个存储器裸片中的存储器平面、利用穿硅通孔(TSV)垂直连接的存储器裸片堆叠,等等。举例来说,在一个实施例中,存储器单位120中的每一者可由半导体裸片形成且与其它存储器单位裸片一起布置于单个装置封装(未展示)中。在其它实施例中,多个存储器单位120可共同位于单个裸片上及/或跨越多个装置封装分布。举例来说,存储器单元122可包含经配置以永久地或半永久地存储数据的浮动栅极、电荷陷阱、相变、铁电、磁阻及/或其它适合存储元件。主存储器102及/或个别存储器单位120还可包含用于存取及/或编程(例如,写入)存储器单元122及其他功能性(例如用于处理信息及/或与控制器106进行通信)的其它电路组件(未展示),例如多路复用器、解码器、缓冲器、读取/写入驱动器、地址寄存器、数据输出/数据输入寄存器等。
存储器单元122可布置成行124(例如,各自对应于字线)及列126(例如,各自对应于位线)。每一字线可取决于所述字线的存储器单元122经配置以存储的数据状态的数目而包含一或多个存储器页。举例来说,存储器单元122的其中每一存储器单元122经配置以存储两个数据状态中的一者(例如,经配置以各自存储一个位的SLC存储器单元)的单个字线可包含单个存储器页。替代地,存储器单元122的其中每一存储器单元122经配置以存储四个数据状态中的一者(例如,经配置以各自存储两个位的MLC存储器单元)的单个字线可包含两个存储器页。此外,在“奇偶位线架构”中,存储器页可为交错的,使得由其中每一存储器单元122经配置以存储两个数据状态中的一者(例如,SLC存储器单元)的存储器单元122组成的字线可横跨两个存储器页,其中单个字线的奇数列126中的所有存储器单元122分组为第一存储器页,且同一字线的偶数列126中的所有存储器单元122分组为第二存储器页。当在存储器单元122的其中每一存储器单元122经配置以存储较大数目个数据状态(例如,配置为MLC、TLC、QLC等的存储器单元)的字线中利用奇偶位线架构时,每字线存储器页的数目可甚至更高(例如,4、6、8等)。
每一列126可包含连接到共同源极的串联耦合的存储器单元122的串。每一串的存储器单元122可串联连接于源极选择晶体管(例如,场效晶体管)与漏极选择晶体管(例如,场效晶体管)之间。源极选择晶体管可共同耦合到源极选择线,且漏极选择晶体管可共同耦合到漏极选择线。
在其它实施例中,存储器单元122可布置成与所图解说明实施例中所展示的那些不同类型的层次及/或群组。此外,尽管所图解说明实施例出于图解说明目的而展示特定数目个存储器单元、行、列、块及存储器单位,但存储器单元、行、列、块及存储器单位的数目可变化,且在其它实施例中可在比例上比所图解说明实例中所展示的大或小。举例来说,在一些实施例中,存储器装置100可包含仅一个存储器单位120。替代地,存储器装置100可包含两个、三个、四个、八个、十个或更多个(例如,16个、32个、64个或更多个)存储器单位120。尽管图1中将存储器单位120展示为各自包含两个存储器块128,但在其它实施例中,每一存储器单位120可包含一个、三个、四个、八个或更多个(例如,16个、32个、64个、100个、128个、256个或更多个)存储器块。在一些实施例中,每一存储器块128可包含(例如)215个存储器页,且一块内的每一存储器页可包含(例如)212个存储器单元122(例如,“4k”页)。
控制器106可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它适合处理器。控制器106可包含经配置以执行存储于存储器中的指令的处理器130。在所图解说明实例中,控制器106的存储器包含嵌入式存储器132,嵌入式存储器132经配置以执行各种过程、逻辑流程及用于控制存储器装置100的操作(包含管理主存储器102及处置存储器装置100与主机装置108之间的通信)的例程。在一些实施例中,嵌入式存储器132可包含存储(例如)存储器指针、经提取数据等的存储器寄存器。嵌入式存储器132可包含用于存储存储器寄存器的易失性及/或非易失性存储器(例如,DRAM、SRAM、NAND、NOR、PCM),且还可包含只读存储器(ROM)(例如,用于存储微码)。尽管在图1中陈述的实例中,存储器装置100已图解说明为包含控制器106,但根据本发明技术的另一实施例,存储器装置可不包含控制器,且可替代地依赖于外部控制(例如,由外部主机或者由与所述存储器装置分开的处理器或控制器提供)。
在操作中,控制器106可(例如)通过向存储器页及/或存储器块128的群组写入而直接写入或以其它方式编程(例如,擦除)主存储器102的各种存储器区域。在基于NAND的存储器中,写入操作通常包含以特定数据值(例如,具有逻辑0或逻辑1的值的一串数据位)将选定存储器页中的存储器单元122编程。擦除操作类似于写入操作,惟擦除操作将整个存储器块128或多个存储器块128重新编程为同一数据状态(例如,逻辑1)除外。
控制器106经由主机-装置接口110与主机装置108进行通信。在一些实施例中,主机装置108与控制器106可经由串行接口(例如串行附接SCSI(SAS)、串行AT附接(SATA)接口)、高速外围组件互连(PCIe)或其它适合接口(例如,并行接口)进行通信。主机装置108可将各种请求(呈(例如)封包或封包流的形式)发送到控制器106。请求可包含写入、擦除、传回信息及/或执行特定操作(例如,TRIM操作)的命令。请求还可包含中断或指示条件改变(例如,电力丢失事件)的另一命令,其可触发实施电力丢失算法。
主机装置108可为能够利用存储器来暂时或永久存储信息的若干个电子装置中的任一者或其组件。举例来说,主机装置可为计算装置,例如桌上型计算机或便携式计算机、服务器、手持式装置(例如,移动电话、平板计算机、数字阅读器、数字媒体播放器)或其某一组件(例如,中央处理单元、协处理器、专用存储器控制器等)。主机装置108可为联网装置(例如,开关、路由器等)或数字图像、音频及/或视频的记录器、交通工具、器具、玩具或者若干个其它产品中的任一者。在一个实施例中,主机装置108可直接连接到存储器装置100,但是在其它实施例中,主机装置108可间接连接到存储器装置(例如,经由联网连接或通过中间装置)。
根据本发明技术的一个实施例,为了有效地管理存储器装置100的操作,可收集关于主存储器102的许多统计数据。举例来说,由于NAND快闪存储器可在可靠性开始降级之前耐受有限数目个编程及擦除操作,因此控制器106(或者,例如,主机108)可收集关于主存储器102的给定存储器页已经编程的次数及/或给定存储器块128已经擦除的次数的统计数据。跟踪此信息可允许控制器106(或者,例如,主机108)使主存储器102上的损耗较均匀地分布以防止其一部分的较早降级。为了更有效地管理主存储器102,还可跟踪许多其它统计数据,包含在主存储器102的寿命内累积的信息(例如,每一存储器单元、存储器页及/或存储器块的读取、编程及/或擦除操作的数目)以及较短暂的信息(例如,与当前存储于特定存储器位置中的数据相关联的读取错误的数目、特定存储器位置的读取干扰事件的计数等)。
根据本发明技术的一个实施例,为了具成本效益地存储这些类型的存储器管理信息,可使用信息的概率性启发式概括。举例来说,草图是采用散列来存储经概括信息且可提供对关于所述信息的查询的近似答案同时利用比未经概括数据将需要的显著少的空间的概括数据结构。在此方面,利用草图而非表格或某一其它未经概括方法允许存储空间与估计准确度之间的折衷。可通过将草图配置为适当大小而将因概括存储器管理信息引入的估计错误限定在已知值内,如下文更详细地描述。因此,利用草图来存储存储器管理信息可提供充足估计准确度以便有效管理存储器装置,同时需要比其它数据结构显著少的空间。
图2A到2H图解说明根据本发明技术的一个实施例用于概括关于存储器装置的信息的草图。在图2A中,图解说明处于初始化状态(例如,在将关于存储器装置100的任何信息存储于其中之前)的草图200。如参考图2A可看出,草图200图解说明为具有w列及d行的数据阵列或表格,其中每一列与行的交叉点含有单个值(例如,整数值)。草图200的此初始化状态可对应于在第一次配置存储器装置时(例如,在制造时)或在将存储器装置格式化之后草图200的状态。
根据本发明技术的一个实施例,草图200可存储于主存储器102中。在另一实施例中,草图200可存储于控制器106的嵌入式存储器132中。存储器装置100可利用多个草图来存储关于主存储器102的多个统计数据(例如,读取计数、编程计数、擦除计数、错误计数、干扰计数等),或存储关于主存储器102的不同部分的相同统计数据(例如,每存储器裸片、每存储器平面、每存储器封装一个草图等),或其某一组合。根据本发明技术的又一实施例,多个草图可存储于相同位置中(例如,全部存储于主存储器102中,全部存储于嵌入式存储器132中,全部存储于存储器装置的次级存储器位置中等),或者存储于不同位置中(例如,一个草图存储于主存储器102中,另一草图存储于嵌入式存储器132中,另一草图存储于存储器装置的不同存储器位置中)。
根据本发明技术的一个实施例,除w列及d行的阵列外,草图200还包含各自对应于d行中的一者的一组d个散列函数h1…hd(未图解说明)。在操作中,利用散列函数中的每一者对存储器位置或地址(其信息(例如,关于对应于所述存储器地址的事件)将要存储)进行散列运算以针对每一行产生其中将存储所述存储器地址的经概括信息的特定列。通过将散列函数h1…hd选择为独立的(例如,其中随机产生散列种子,或从成对独立种子的列表预选择散列种子等),每一存储器地址将具有用于将信息存储于草图中的唯一草图位置集(例如,{Row,Col}值)。
举例来说,图2B图解说明根据本发明技术的一个实施例在利用关于对应于第一存储器地址(例如,主存储器102中的第一存储器单元)的单个事件的信息更新之后的草图200。如参考图2B可看出,草图200已经更新使得行Row1到Rowd中的每一者中的一个草图位置(以粗体突出显示)已通过将其值从0递增到1而更新。已通过利用每一行的对应散列函数对第一存储器地址进行散列运算而确定每一行的草图位置。举例来说,在第一存储器地址是特定存储器单元的地址的情况下,散列函数h1在对第一存储器单元的地址(例如,对应于所述存储器单元的位置、规定其存储器单位、块、页等的整数)进行散列运算时输出值7,使得对应于散列函数h1的草图位置是{Row1,Col7}。类似地,散列函数h2到hd在对第一存储器单元的地址进行散列运算时分别输出值5、2、w、7、4、2、8、…1。在本实施例中,这些草图位置中的每一者已通过将所述草图位置的先前值上数地递增1(例如,指示第一存储器地址处的一个事件的发生)而更新。
根据本发明技术的一个实施例,使用草图来概括关于存储器装置的信息的益处是草图的大小(例如,w×d)可比其存储信息所针对的存储器位置的数目小得多(例如,相对于存储器装置中的地址的数目成次线性)。然而,此益处的代价是草图中的可能数据冲突,其中两个存储器地址具有重叠的草图位置集来存储信息。尽管散列函数h1…hd的独立性将两个不同存储器地址将对应于同一草图位置集的可能性减小到几乎为零,但以下情况是可能的:至少一个草图位置可在两个不同存储器地址的草图位置集中重叠,使得任一个特定草图位置(例如,{Row,Col}对)中的信息可对应于多于一个存储器地址。
图2C中图解说明两个存储器地址之间的一个此类冲突,图2C图解说明根据本发明技术的一个实施例在利用关于对应于第二存储器地址(例如,主存储器102中的第二存储器单元)的另一事件的信息更新之后的草图200。如参考图2C可看出,草图200已经更新使得Row1到Rowd中的每一者中的一个草图位置(以粗体突出显示)已通过将其值上数地递增1而更新。每一草图的位置已通过利用每一散列函数h1…hd对第二存储器地址进行散列运算而选择,如上文更详细地描述。更特定来说,散列函数h1在对第二存储器单元的地址进行散列运算时输出值4,使得对应于散列函数h1的草图位置是{Row1,Col4}。类似地,散列函数h2到hd在对第二存储器单元的地址进行散列运算时分别输出值7、6、8、7、3、w、8、…3。在本实施例中,这些草图位置中的每一者已通过将所述草图位置的先前值上数地递增1(例如,指示第二存储器地址处的一个事件的发生)而更新。在所述技术的本实施例中,散列函数h5与h8针对对应行Row5及Row8中的第一及第二存储器单元输出相同草图位置。因此,存储于那些草图位置中的值对应于第一及第二存储器地址两者,且展示为在此第二草图更新之后各自存储值2。
此性质的数据冲突的影响将取决于如何从草图检测关于存储器地址的信息。举例来说,如果搜寻可能已在特定存储器地址处发生的事件的数目的下限,那么可针对其最小值评估对应于所述存储器地址的草图位置。在本实施例中,对应于第一及第二存储器位置中的每一者的草图位置的最小值保持为1(例如,存储于对应于第一存储器地址的草图位置集中的最低值是1,且存储于对应于第二存储器地址的草图位置集中的最低值也是1),这指示针对两个存储器位置中的每一者,在草图200中概括的事件的类型已针对第一及第二存储器位置中的每一者发生至少一次。对于以此方式从草图检索信息,第一与第二存储器地址之间的一些草图位置的冲突可具有可忽略的影响。
替代地,如果搜寻可能已在特定存储器地址处发生的事件的数目的上限,那么可针对其最大值评估对应于所述存储器地址的草图位置。在本实施例中,对应于第一及第二存储器位置中的每一者的草图位置的最大值现在是2。举例来说,在其中这些地址的草图位置集重叠的两个草图位置中,存储于对应于第一存储器地址的草图位置集中的最高值是2且存储于对应于第二存储器地址的草图位置集中的最高值也是2。这指示针对两个存储器位置中的每一者,在草图200中概括的事件的类型已针对第一及第二存储器位置中的每一者发生不超过两次。对于以此方式从草图检索信息,第一与第二存储器地址之间的一些草图位置的冲突可具有较大影响(例如,估计与正确值偏离1)。
因此,根据本发明技术的一个实施例,可基于存储于草图中的经概括信息的类型选择用于评估草图中的信息的概括统计数据(例如,最小值、最大值、中值、平均值、众数、和、标准偏差等),以减小冲突的不利影响。举例来说,如果期望事件数目的下限,那么概括统计数据可为最小值。替代地,如果期望事件数目的上限,那么概括统计数据可为最大值。在其它实施例中,还可使用其它概括统计数据,例如中值、众数、平均值或甚至其某一组合(例如,集的平均值与集的最小值之间的距离,或最大值与最小值之间的距离等)。
根据本发明技术的一个实施例,可使用关于已在存储器装置的每一存储器位置处发生的事件(例如,编程操作、擦除操作、读取干扰事件、错误等)的数目的经概括信息来响应于事件数目超过预定阈值而触发操作。举例来说,存储器装置100可在更新草图200以确定是否应执行响应操作(例如,错误校正、损耗均衡、复制与擦除、重新映射、隐退等)时评估对应于存储器地址的草图位置的概括统计数据(例如,最小值、最大值、中值、平均值、众数、和、标准偏差及/或其某一组合等)。图2D图解说明根据本发明技术的一个实施例在已做出多个后续更新以将关于在多种多样的存储器地址(例如,主存储器102中的存储器单元)处发生的事件的数目的信息添加到草图200之后的草图200。
如参考图2D可看出,已最近地利用对应于第一存储器地址(以加粗的框展示其草图位置)处的事件的信息更新草图200,使得第一存储器地址的草图位置集(7、7、25、14、18、14、8、6、…、6)中所含的最小值是6,集的最大值是25,集的平均值是11.67,且集的中值是8。在本发明技术的一个实施例中,如果响应操作的触发事件是草图位置集中的最小值大于5(举例来说),那么存储器装置将触发响应动作的执行(例如,立即执行或进行调度以供未来执行)。在另一实施例中,如果响应操作的触发事件是草图位置集中的平均值(或任选地,四舍五入为最接近整数的平均值)大于10,那么存储器装置将触发响应动作的执行。
尽管在一些实施例中,对应于存储器位置的在草图中概括的信息可在存储器装置的寿命内仅上数地递增(例如,编程操作的数目、擦除操作的数目、读取操作的数目),但在其它实施例中,对应于存储器位置的在草图中概括的信息可任选地减小或复位(例如,从最后块擦除以来的读取事件的数目、从最后刷新以来的向附近位置写入的事件的数目、从最后编程操作以来的读取错误的数目等)。在此方面,在一个实施例中,响应操作的执行可导致对存储于对应于响应操作的存储器地址的草图中的信息的更新,如下文更详细地描述。
举例来说,如果使用草图200来跟踪每一存储器块的读取干扰事件的数目(例如,从特定存储器块处的最后擦除操作以来的以位于所述块中的页为目标的读取操作的数目),那么响应动作可为复制与擦除操作(例如,将经干扰块的内容复制到第二块且擦除经干扰块使得其不再被干扰),这使从最后擦除操作以来的读取操作的计数复位为0。根据本发明技术的一个实施例,为了反映响应操作已减小在存储器地址的草图200中跟踪的相关度量(例如,使从最后块擦除操作以来对所述块中的页的读取操作的计数复位),可更新所述存储器地址的草图位置以减小存储于其中的值。
举例来说,图2E图解说明根据本发明技术的一个实施例在响应操作之后减小存储于草图200中的值的一种此类方法。将图2E与图2D进行比较,在图2E中可看出,已将与第一存储器地址的每一草图位置相关联的值(以粗体突出显示)减小对应于所述草图位置集的最小值(在此例子中,6)的量以反映已在第一存储器位置处执行响应操作。因此,已调整对应于第一存储器地址的草图位置的概括统计数据,使得最小值现在是0,最大值是19,中值是5.6等,使得对用于确定是否已达到响应操作的阈值的概括统计数据的后续评估将不触发响应操作,直到已将对应于第一存储器地址的充足数目个事件添加到草图中为止。
根据本发明技术的一个实施例,用于评估对应于存储器地址的草图位置以确定是否已达到阈值及更新那些草图位置以指示响应操作的执行的量的概括统计数据可为不同概括统计数据。举例来说,如果在图2D中图解说明的草图更新之后触发响应操作的概括统计数据是草图值的平均值(其经确定为6),那么从第一存储器位置的草图值中的每一者移除值6可对存储于对应于第二存储器地址的草图位置集中的值具有不利影响(例如,毁坏性冲突)。
这可参考图2F看出,图2F图解说明处于与图2E中相同的状态中(例如,在已更新第一存储器地址的草图位置以从每一位置移除值6之后)但其中现在以粗轮廓突出显示第二存储器地址的草图位置的草图200。如果用于确定是否应执行响应操作的概括统计数据是草图位置集的最小值,那么可看出,在针对第一存储器地址执行的响应操作之后的更新已致使{Row8,Col8}(其中第一与第二存储器位置的草图位置集重叠)的值变成对应于第二存储器地址的草图位置集的新最低值。如果将这些草图位置中的每一者上数地更新1的事件将存储于处于此状态中的草图200中,那么原本触发响应操作的{Row6,Col3}中的先前最小值将不再触发响应操作(例如,因为{Row8,Col8}中的值而非{Row6,Col3}中的值将为最小值,且将低于阈值)。因此,第二存储器位置可在触发响应操作之前再经历六个事件。
然而,如果经评估以确定应执行响应操作的概括统计数据是草图位置的平均值(例如,在第一存储器位置的平均值大于10的情况下,触发上文更详细地描述的响应操作),那么对草图的将对应于第一存储器地址的草图位置的值减小其最小量的更新(如图2E中所反映)将对存储于对应于第二存储器地址的草图位置中的值具有毁坏性较小的冲突。这可参考图2F看出,其中对应于第二存储器地址的草图位置的平均值仅通过第一存储器地址处的响应操作从9.78减小到8.44(例如,草图位置集已使值从{6,8,14,10,18,5,11,6,…10}改变到{6,8,14,10,12,5,11,0,…10})。因此,对应于第二存储器地址的将在第二存储器地址处的响应操作之前发生的事件的数目已增加仅约1.3。
翻到图2G,根据本发明技术的另一实施例图解说明用于更新草图以反映响应操作的执行的替代选项。在图2G中,草图200展示为处于对应于图2D中所展示的状态(例如,当触发第一存储器地址处的响应操作时)且随后通过将对应于第一存储器地址的草图位置集(以粗体突出显示)减小草图值的四舍五入为最接近整数的平均量而更新以反映响应操作的执行的状态中。如上文更详细地论述,在图2D中,对应于第一存储器位置的草图值的平均值经确定为11.67。因此,图2G图解说明处于其中对应于第一存储器地址的草图位置的值已减小12但经约束而不降到低于0的状态中的草图200。更特定来说,第一存储器地址的草图位置集已从{7,7,25,14,18,14,8,6,…6}更新到{0,0,13,2,6,2,0,0,…0}。因此,经更新值的概括统计数据包含最小值0、最大值13及平均值2.5。对与第一存储器地址对应的草图位置的此更新将对与第二存储器地址对应的草图位置具有不同影响,如图2H中所展示。
图2H图解说明处于与图2G中相同的状态(例如,在已更新第一存储器地址的草图位置以从每一位置移除值12但经约束而不降到低于0之后)但其中以粗轮廓突出显示第二存储器地址的草图位置的草图200。如果草图位置集的用于确定是否应执行响应操作的概括统计数据是平均值,那么可看出,在针对第一存储器地址执行的响应操作之后的更新已致使{Row5,Col7}及{Row 8,Col8}(其中第一与第二存储器位置的草图位置集重叠)的值将对确定第二存储器地址的平均值具有影响,这使当前平均值从值10.44减小到7.78。因此,对应于第二存储器地址的将在第二存储器地址处的响应操作之前发生的事件的数目已增加仅约2.6。
因此,在其中使用草图来存储可经更新以反映响应操作的关于存储器位置的信息(例如,不仅在存储器装置的寿命内累积地递增的信息)的实施例中,对使用哪些概括统计数据来确定是否批准响应操作及使用哪些概括统计数据来更新草图以反映响应操作的执行的选择取决于由草图提供的估计的所要性质。在一些实施例中,可使用同一概括统计数据既确定是否应执行响应操作又更新草图以指示响应操作的执行(例如,用作第一存储器位置的触发事件(如图2D中所展示)且从对应于第一存储器地址的草图位置移除(如图2G中所展示)的平均值)。在其它实施例中,可使用与用于更新草图以指示响应操作的执行的概括统计数据不同的概括统计数据来确定是否应执行响应操作(例如,用作第一存储器位置的触发事件的平均值(如图2D中所展示)及从对应于第一存储器地址的草图位置移除的最小值(如图2E中所展示))。
在又一些实施例中,响应于执行响应操作,可使用依据一或多个概括统计数据计算的值来更新草图。举例来说,可更新草图以从与对应于存储器地址的每一草图位置相关联的值移除依据单个概括统计数据(例如,MEAN/2或MIN+1等)或依据多个概括统计数据(例如,MEAN–MIN、MAX-MIN等)计算的值。替代地,响应于执行响应操作,可用并非依据概括统计数据计算而是替代地基于每一草图位置处的值确定(例如,将每一草图位置调整固定值、将每一草图值减小一半等)的值来更新草图。
尽管在前述实施例中,已评估单个阈值以确定是否应执行响应操作,但在又一些实施例中,可评估多个阈值(例如,对应于不同概括统计数据)以确定是否应执行响应操作。举例来说,存储器装置可经配置以评估对应于存储器地址的草图位置以确定(1)其最小值是否超过第一阈值,或(2)其平均值是否超过阈值,且响应于任一确定为正,执行响应操作。此外,在一些实施例中,所执行响应操作可取决于哪一阈值触发响应。
此外,尽管在前述实施例中,草图已描述为在响应操作之后更新以指示已执行响应操作,但在其它实施例中,草图可不需要在响应操作之后更新(例如,一些存储器管理信息可既仅在存储器装置的寿命内累积地递增又用于触发响应操作)。举例来说,在一个实施例中,存储器装置可经配置以将针对存储器装置的每一存储器页的写入操作的总数目存储于草图中,且可进一步经配置以在已执行针对页的预定数目个写入操作之后将所述页标记为不可靠的(例如,通过评估存储于草图中的信息的概括统计数据而确定)。然而,对于此响应操作(例如,将页标记为不可靠的),不执行对草图的任何更新(例如,鉴于将页标记为不可靠的而不减小针对页的累积写入操作的计数)。
根据本发明技术的一个实施例,存储器装置可经配置以用对应于与存储器地址相关联的事件的信息来更新草图,其中所述信息不仅是指示已发生事件的计数。举例来说,在具不同严重性或影响的事件可在存储器地址处发生的情况下,用于更新对应于所述存储器地址的草图位置的值可根据事件的严重性而不同。
在本发明技术的一个实施例中,存储器装置可经配置以存储跟踪每一存储器地址处的操作对相邻存储器地址的影响的草图。举例来说,具有硫族化物PCM的存储器装置通过以不同速率加热及冷却存储器单元以在不同状态当中改变其状态以便呈现信息而执行写入及擦除操作。然而,在第一存储器地址(例如,侵略单元)处施加的热量可对存储于附近存储器地址(例如,受害单元)中的信息的可靠性具有负面影响,所述影响的严重性因与第一存储器地址的距离及方向而不同。在此方面,紧邻目标单元的受害单元可经历比对角邻近的受害单元更大量的热量相关干扰效应,所述对角邻近的受害单元又可经历比通过一或多个其它受害单元与目标单元分开的受害单元更大量的热量相关干扰效应。
因此,根据本发明技术的一个实施例,存储器装置可经配置以存储关于针对于对目标PCM单元的每一编程或擦除操作影响若干个受害单元的干扰事件的信息,其中所述信息反映每一受害单元处干扰效应的影响或严重性。这可参考图3看出,图3提供根据本发明技术的实施例的存储器装置上的存储器阵列300的详细视图。举例来说,在用于跟踪对存储器装置中的每一单元的热干扰影响的累积量的草图中,对目标单元301执行写入操作可致使以不同值更新对应于若干个受害单元(例如四个紧邻单元302、四个对角邻近的单元303及通过一个其它受害单元与目标单元分开的四个单元304)中的每一者的草图位置。对于紧邻于目标单元的受害单元302,可通过将其中的值增加(例如)4而更新草图位置,而对于对角地邻近于目标单元的受害单元303,可通过将其中的值增加(例如)2而更新草图位置。对于通过一个其它受害单元与目标单元分开的受害单元304,可通过将其中的值增加(例如)1而更新草图位置。所属领域的技术人员将容易地理解,对哪些单元是目标单元的操作的受害者及受目标单元处的操作的影响的严重性的识别将在存储器装置间不同,且前述更新值及对受害单元的识别仅是实例。
此外,尽管在前述示范性实施例中已将用于更新存储器地址的草图位置的值描述为基于距另一存储器地址的距离而变化,但在其它实施例中所述值可根据其它特性而变化。举例来说,在其中将每存储器页位错误的数目存储于草图中的存储器装置,用于更新对应于经受错误的存值储器地址的草图位置的值可根据错误的严重性而变化(例如,“软”错误可将值增加第一量,其中“硬”或不可校正的错误可将值增加第二量)。所述量可进一步根据现有草图位置值而变化(例如,针对软错误增加1,针对硬错误将现有草图值加倍)。所属领域的技术人员将容易地理解,前述值仅为示范性的且用于图解说明可根据与存储器位置或地址相关联的事件的类型及严重性或影响两者更新草图值所依的原理。
根据本发明技术的各种实施例,存储器装置可使用若干个不同类型的草图中的任一者来存储概括存储器管理信息。举例来说,在前述示范性实施例中,存储器装置已描述为使用FAST-COUNT及COUNT-MIN草图来存储概括存储器管理信息。在其它实施例中,可以类似方式利用其它草图格式,包含AGMS草图、FAST AGMS草图等等。
这些及其它草图共享的特征是与其可用于概括的数据量相比,其仅需要次线性空间。根据本发明技术的一个实施例,专用于草图的空间量将取决于将在其中概括的数据量及从其导出的估计的所要准确度两者。举例来说,当使用w列及d行的COUNT-MIN草图时,整数w及d的大小可依据其与一估计在与存储器位置相关联的事件数目的正确计数的估计错误内的所要概率的关系来选择。在此方面,根据方程式整数w对应于草图的估计错误因子ε,且根据方程式/>整数d对应于草图的估计错误概率δ,使得从COUNT-MIN草图导出的事件计数的估计的可能性有概率δ在正确值的因子ε内。
可通过关注上文参考图2A到2H更详细地描述的冲突的性质及起源而更佳地理解草图大小与准确度的此关系。多个存储器地址(例如上文所论述的第一及第二地址)可以与给定行中的草图位置数目相关的可能性散列运算到同一草图位置。因此,草图中的列的数目越大,两个存储器地址散列运算到给定行中的同一草图位置的可能性越低,使得两个存储器地址之间的冲突的总数目越低。此外,一对存储器地址的冲突对草图位置的比率(例如,两个存储器地址的草图位置重叠的百分比)可通过增加行d的数目而减小,使得给定存储器地址与大量其它存储器地址跨越其所有草图位置而冲突的可能性减小,使得整数d减小针对给定存储器地址的估计具有大的错误的概率(例如,d影响错误分布的尾端)。
图4是图解说明根据本发明技术的实施例操作具有存储器阵列的存储器装置的方法的流程图。所述方法在步骤410中开始,其中存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者。在步骤420中,所述方法通过检测与存储器阵列的第一存储器地址相关联的事件而继续。在步骤430中,利用d个散列函数中的每一者对第一存储器地址进行散列运算以产生对应的d个草图位置。在步骤440中,用对应于所述事件的第一量调整d个草图位置中的每一者的所存储草图值。
图5是图解说明根据本发明技术的实施例操作具有存储器阵列的存储器装置的方法的流程图。所述方法在步骤510中开始,其中存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者。在步骤520中,所述方法通过检测与存储器阵列的第一存储器地址相关联的事件而继续。在步骤530中,利用d个散列函数中的每一者对第一存储器地址进行散列运算以产生对应的d个草图位置。在步骤540中,用对应于事件的第一量调整d个草图位置中的每一者的所存储草图值。在步骤550中,评估对应于d个草图位置中的每一者中的所存储草图值的概括度量以确定是否已达到阈值。如果未达到阈值,那么方法返回到步骤520,如决策方框560中所展示。然而,如果已达到阈值(如决策方框560中所展示),那么方法进行到步骤570,其中在第一存储器地址处执行响应操作。
图6是图解说明根据本发明技术的实施例操作具有存储器阵列的存储器装置的方法的流程图。所述方法在步骤610中开始,其中存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者。在步骤620中,所述方法通过检测与存储器阵列的第一存储器地址相关联的事件而继续。在步骤630中,利用d个散列函数中的每一者对第一存储器地址进行散列运算以产生对应的d个草图位置。在步骤640中,用对应于事件的第一量调整d个草图位置中的每一者的所存储草图值。在步骤650中,评估对应于d个草图位置中的每一者中的所存储草图值的概括度量以确定是否已达到阈值。如果未达到阈值,那么方法返回到步骤620,如决策方框660中所展示。然而,如果已达到阈值(如决策方框660中所展示),那么方法进行到步骤670,其中在第一存储器地址处执行响应操作。在步骤680中,用对应于响应操作的第二量调整d个草图位置中的每一者的所存储草图值。
尽管在前述示范性实施例中,检查对应于存储器地址的所存储草图值的概括统计数据以确定是否在将草图位置处的值更新对应于事件的量之前已达到阈值,但在另一实施例中,所述确定可发生在如此更新草图位置之前或甚至代替更新草图位置。举例来说,为了避免紧接地对与同一存储器地址对应的草图位置执行两个更新,步骤650的评估可在步骤640的更新之前发生,且如果做出超过阈值的确定,那么可省略步骤640,使得在步骤680中执行单个更新(用对应于事件及响应操作两者的值)。
依据前述内容将了解,本文已出于图解说明目的描述了本发明的特定实施例,但可在不背离本发明的范围的情况下做出各种修改。因此,本发明不受所附权利要求书以外的限制。
Claims (24)
1.一种存储器装置,其包括:
存储器阵列,其包括多个存储器地址;及
控制器,其可操作地耦合到所述存储器阵列且经配置以:
存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者,
检测与所述多个存储器地址中的第一存储器地址相关联的事件,
利用所述d个散列函数中的每一者对所述第一存储器地址进行散列运算以产生对应的d个草图位置,及
针对所述d个草图位置中的每一者,用对应于所述事件的第一量调整所存储草图值,
其中根据方程式所述整数w对应于所述草图的估计错误因子ε,其中根据方程式/>所述整数d对应于所述草图的估计错误概率δ,使得所述草图的估计有概率δ在正确值的所述因子ε内。
2.根据权利要求1所述的存储器装置,其进一步包括静态随机存取存储器SRAM,且其中所述控制器经配置以将所述草图存储在所述SRAM中。
3.根据权利要求1所述的存储器装置,其中所述多个存储器地址包含超过d×w个存储器地址。
4.根据权利要求1所述的存储器装置,其中所述d个草图位置包含用于所述d行中的每一者的一个位置。
5.根据权利要求1所述的存储器装置,其中所述d个散列函数中的每一者具有唯一散列种子。
6.根据权利要求1所述的存储器装置,其中所述控制器进一步经配置以:
评估对应于所述d个草图位置中的每一者中的所述所存储草图值的概括度量以确定是否已达到阈值,及
如果已达到所述阈值,那么在所述第一存储器地址处执行响应操作。
7.根据权利要求6所述的存储器装置,其中所述概括度量是以下各项中的一者:最小值、最大值、中值或平均值。
8.根据权利要求6所述的存储器装置,其中所述控制器进一步经配置以:
针对所述d个草图位置中的每一者,用对应于所述响应操作的第二量调整所述所存储草图值。
9.根据权利要求8所述的存储器装置,其中所述第二量等于所述概括度量及所述所存储草图值中的较低者。
10.根据权利要求6所述的存储器装置,其中所述响应操作是错误校正操作、损耗均衡操作及复制与擦除操作中的一者。
11.根据权利要求1所述的存储器装置,其中所述事件是以下各项中的一者:编程操作、擦除操作、读取操作、干扰事件或错误。
12.根据权利要求1所述的存储器装置,其中所述第一存储器地址是所述存储器阵列的第一存储器单元,且其中所述事件是对所述存储器阵列的第二存储器单元的写入操作。
13.根据权利要求12所述的存储器装置,其中所述第一量对应于所述第一存储器单元与所述第二存储器单元之间的距离。
14.根据权利要求1所述的存储器装置,其中所述草图是以下各项中的一者:COUNT草图、COUNT-MIN草图、AGMS草图及FAST AGMS草图。
15.一种操作包括存储器阵列的存储器装置的方法,其包括:
存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者,
检测与所述存储器阵列的第一存储器地址相关联的事件,
利用所述d个散列函数中的每一者对所述第一存储器地址进行散列运算以产生对应的d个草图位置,及
针对所述d个草图位置中的每一者,用对应于所述事件的第一量调整所存储草图值,
其中根据方程式所述整数w对应于所述草图的估计错误因子ε,其中根据方程式/>所述整数d对应于所述草图的估计错误概率δ,使得所述草图的估计有概率δ在正确值的所述因子ε内。
16.根据权利要求15所述的方法,其进一步包括:
评估对应于所述d个草图位置中的每一者中的所述所存储草图值的概括度量以确定是否已达到阈值,及
如果已达到所述阈值,那么在所述第一存储器地址处执行响应操作。
17.根据权利要求16所述的方法,其进一步包括:
针对所述d个草图位置中的每一者,用对应于所述响应操作的第二量调整所述所存储草图值。
18.根据权利要求15所述的方法,其中所述存储器阵列包含超过d×w个存储器地址。
19.根据权利要求15所述的方法,其中所述d个草图位置包含用于所述d行中的每一者的一个位置。
20.根据权利要求15所述的方法,其中所述d个散列函数中的每一者具有唯一散列种子。
21.一种存储器系统,其包括:
主机,及
存储器装置,其可操作地耦合到所述主机,所述存储器装置包括:
存储器阵列,其包括多个存储器地址;及
控制器,其可操作地耦合到所述存储器阵列且经配置以:
存储包括d行及w列的草图,其中d及w是正整数,且其中所述d行中的每一者对应于d个散列函数中的不同者,
检测与所述多个存储器地址中的第一存储器地址相关联的事件,
利用所述d个散列函数中的每一者对所述第一存储器地址进行散列运算以产生对应的d个草图位置,及
针对所述d个草图位置中的每一者,用对应于所述事件的第一量调整所存储草图值,
其中根据方程式所述整数w对应于所述草图的估计错误因子ε,其中根据方程式/>所述整数d对应于所述草图的估计错误概率δ,使得所述草图的估计有概率δ在正确值的所述因子ε内。
22.根据权利要求21所述的存储器系统,其中所述控制器进一步经配置以:
评估对应于所述d个草图位置中的每一者中的所述所存储草图值的概括度量以确定是否已达到阈值,及
如果已达到所述阈值,那么在所述第一存储器地址处执行响应操作。
23.根据权利要求22所述的存储器系统,其中所述控制器经配置以响应于从所述主机接收到响应操作命令而执行所述响应操作。
24.根据权利要求23所述的存储器系统,其中所述主机经配置以响应于已达到阈值的所述确定而发布所述响应操作命令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/482,288 | 2017-04-07 | ||
US15/482,288 US10379757B2 (en) | 2017-04-07 | 2017-04-07 | Methods of sketch-based memory management and memory devices utilizing the same |
PCT/US2018/022188 WO2018187002A1 (en) | 2017-04-07 | 2018-03-13 | Methods of sketch-based memory management and memory devices utilizing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110603529A CN110603529A (zh) | 2019-12-20 |
CN110603529B true CN110603529B (zh) | 2023-11-03 |
Family
ID=63711506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880029369.1A Active CN110603529B (zh) | 2017-04-07 | 2018-03-13 | 基于草图的存储器管理的方法及利用所述方法的存储器装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10379757B2 (zh) |
CN (1) | CN110603529B (zh) |
WO (1) | WO2018187002A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10340016B2 (en) * | 2017-06-26 | 2019-07-02 | Micron Technology, Inc. | Methods of error-based read disturb mitigation and memory devices utilizing the same |
US10553290B1 (en) | 2018-10-30 | 2020-02-04 | Micron Technology, Inc. | Read disturb scan consolidation |
US11288198B2 (en) * | 2019-12-23 | 2022-03-29 | Micron Technology, Inc. | Effective avoidance of line cache misses |
US11600332B2 (en) * | 2020-10-20 | 2023-03-07 | Micron Technology, Inc. | Programmable atomic operator resource locking |
US11474738B1 (en) * | 2021-04-15 | 2022-10-18 | Micron Technology, Inc. | Probabilistic data integrity scan enhanced by a supplemental data integrity scan |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117312B1 (en) * | 2003-11-17 | 2006-10-03 | Sun Microsystems, Inc. | Mechanism and method employing a plurality of hash functions for cache snoop filtering |
CN102884585A (zh) * | 2010-05-12 | 2013-01-16 | 美光科技公司 | 在存储器装置及系统中确定及使用软数据 |
CN105489242A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 数据储存器件及其操作方法 |
CN105489239A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7660941B2 (en) | 2003-09-10 | 2010-02-09 | Super Talent Electronics, Inc. | Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories |
US7467253B2 (en) | 2006-04-13 | 2008-12-16 | Sandisk Corporation | Cycle count storage systems |
US8392398B2 (en) * | 2009-07-29 | 2013-03-05 | International Business Machines Corporation | Query optimization over graph data streams |
US8830714B2 (en) * | 2012-06-07 | 2014-09-09 | International Business Machines Corporation | High speed large scale dictionary matching |
US9058870B2 (en) * | 2013-02-08 | 2015-06-16 | Seagate Technology Llc | Hash functions used to track variance parameters of resistance-based memory elements |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US10365835B2 (en) * | 2014-05-28 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for performing write count threshold wear leveling operations |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US10067909B2 (en) | 2014-06-25 | 2018-09-04 | Sap Se | Sparse linear algebra in column-oriented in-memory database |
US9558839B2 (en) | 2015-03-09 | 2017-01-31 | Toshiba Corporation | Power fail saving modes in solid state drive with MLC memory |
KR102301772B1 (ko) | 2015-03-09 | 2021-09-16 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법 |
US9570159B1 (en) | 2015-10-15 | 2017-02-14 | Intel Corporation | Methods and apparatus to preserve data of a solid state drive during a power loss event |
-
2017
- 2017-04-07 US US15/482,288 patent/US10379757B2/en active Active
-
2018
- 2018-03-13 CN CN201880029369.1A patent/CN110603529B/zh active Active
- 2018-03-13 WO PCT/US2018/022188 patent/WO2018187002A1/en active Application Filing
- 2018-12-06 US US16/212,540 patent/US11199977B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117312B1 (en) * | 2003-11-17 | 2006-10-03 | Sun Microsystems, Inc. | Mechanism and method employing a plurality of hash functions for cache snoop filtering |
CN102884585A (zh) * | 2010-05-12 | 2013-01-16 | 美光科技公司 | 在存储器装置及系统中确定及使用软数据 |
CN105489242A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 数据储存器件及其操作方法 |
CN105489239A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10379757B2 (en) | 2019-08-13 |
CN110603529A (zh) | 2019-12-20 |
US11199977B2 (en) | 2021-12-14 |
WO2018187002A1 (en) | 2018-10-11 |
US20180293005A1 (en) | 2018-10-11 |
US20190107963A1 (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10770156B2 (en) | Memory devices and methods for read disturb mitigation involving word line scans to detect localized read disturb effects and to determine error count in tracked sub sets of memory addresses | |
CN110603529B (zh) | 基于草图的存储器管理的方法及利用所述方法的存储器装置 | |
US11631468B2 (en) | Non-volatile semiconductor storage device | |
CN110603530B (zh) | 基于位旗标草图的存储器管理的方法及利用所述方法的存储器装置 | |
US11727998B2 (en) | Memory system and memory control method | |
US7477547B2 (en) | Flash memory refresh techniques triggered by controlled scrub data reads | |
US7573773B2 (en) | Flash memory with data refresh triggered by controlled scrub data reads | |
US20170075593A1 (en) | System and method for counter flush frequency | |
US10761997B2 (en) | Methods of memory address verification and memory devices employing the same | |
KR20190027388A (ko) | 확률론적 데이터 구조에 기초한 메모리 내의 사전적인 교정 조치 | |
KR20120054066A (ko) | 메모리 시스템 | |
KR20150020478A (ko) | 비휘발성 메모리 장치의 독출 방법 | |
US9514043B1 (en) | Systems and methods for utilizing wear leveling windows with non-volatile memory systems | |
KR101468432B1 (ko) | 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술 | |
US9859013B2 (en) | Data operations in non-volatile memory | |
US11106366B1 (en) | Maintaining consistent write latencies in non-volatile memory devices |
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 |