存储设备和操作存储设备的方法与流程

文档序号:16148079发布日期:2018-12-05 16:54阅读:215来源:国知局

要求于2017年5月23日向韩国知识产权局提交的第10-2017-0063517号韩国专利申请、以及2018年3月20日提交的美国专利申请第15/926,419号的优先权,该韩国专利申请以及美国专利申请的公开内容通过引用整体并入于此。

本发明构思涉及用于数据存储的设备,并且更具体地,涉及包括非易失性存储器的存储设备和操作包括非易失性存储器的存储设备的方法。

背景技术

闪速存储器——部分地由于其非易失性存储器特性及其被擦除和被重新编程的能力——最近已经在各种数据存储应用中被采用,包括固态驱动(ssd)和存储卡。通过将存储单元的阈值电压编程到表示相应的逻辑(比特)值的两个或更多个阈值电压分布之一来将数据存储在闪速存储器中,而通过将一个或多个预定读取电压施加到存储单元以确定存储单元已经被编程到阈值电压分布中的哪一个来从闪速存储器读取数据。然而,存储单元随时间的退化可能导致存储单元的阈值电压漂移或变化离开初始地被编程的阈值电压分布。存储单元阈值电压的此种漂移可以导致当将预定读取电压施加到存储单元时的读取错误。此外,即使在当初始读取操作产生过多读取错误时采用不同的读取电压电平重试读取操作的存储系统中,针对这样的读取重试操作所需的时间可能使存储系统的性能显著地退化,特别是当在相当的时间段中尚未被读取或更新的所谓的“冷数据”的情况下。



技术实现要素:

根据本发明构思的方面,一种存储设备,包括:非易失性存储器,该非易失性存储器包括多个存储块,其中,存储块中的每个包括多个页;历史缓冲器;以及存储器控制器,被配置为独立于主机设备地运行后台读取操作,其中,后台读取操作包括通过读取每个存储块的多个页当中的被采样的页来扫描多个存储块,以将针对每个存储块的校正后的读取电压电平存储在历史缓冲器中,以及其中,针对每个存储块的校正后的读取电压电平从每个存储块的被采样的页得到,其中,存储器控制器还被配置为响应于主机读取请求、使用在历史缓冲器中所存储的校正后的读取电压电平当中的校正后的读取电压电平来运行非易失性存储器的正常读取操作。

根据本发明构思的另一方面,提供了一种用于操作存储设备的方法,该存储设备包括:存储器控制器和非易失性存储器,该非易失性存储器包括多个存储块,每个存储块包括多个页。该方法包括:执行正常读取操作,其中,在正常读取操作中,存储器控制器根据从主机设备所接收的读取请求来从非易失性存储器读取数据;以及执行独立于主机设备地运行的后台读取操作,其中,在后台读取操作中,存储器控制器读取目标存储块的页当中的被采样的页以确定被采样的页的校正后的读取电压电平,校正后的读取电压电平被存储在历史缓冲器中作为针对目标存储块的校正后的读取电压电平,其中,在具有对目标存储块寻址的读取请求的正常读取操作中,存储器控制器从历史缓冲器检索目标存储块的校正后的读取电压电平,并且当从目标存储块读取数据时非易失性存储器使用校正后的读取电压电平。

根据本发明构思的另一方面,提供了一种用于补偿具有多个存储块的非易失性存储设备中的存储单元阈值电压的漂移的方法,存储块中的每个包括多个页。该方法包括:在后台操作中,通过读取每个存储块的多个页当中的被采样的页来扫描多个存储块,以填充存储针对每个存储块的校正后的读取电压电平的历史缓冲器,其中,针对每个存储块的校正后的读取电压电平从对每个存储块的被采样的页的扫描得到;以及接收主机读取请求并且使用在历史缓冲器中所存储的校正后的读取电压电平中的至少一个来读取非易失性存储器。

附图说明

根据以下结合附图进行的详细描述,本发明构思的实施例将变得容易理解。

图1是示出存储系统的示例实施例的框图。

图2示出由于退化、由在图1的存储系统的非易失性存储器中的存储单元的阈值电压的漂移而导致的阈值电压电平分布的改变的示例。

图3示出与图2的阈值电压分布的改变相对应的读取历史表的示例实施例。

图4示出由于退化、在图1的存储系统的非易失性存储器中所包括的存储单元的阈值电压分布的改变的另一示例。

图5示出与图4的阈值电压分布的改变相对应的读取历史表的示例实施例。

图6是示出图1的存储系统的控制器的示例实施例的框图。

图7示出在图6的控制器的存储器中所存储的地址映射表的实施例和读取历史表的实施例的示例。

图8是示出在图1的存储系统的非易失性存储器中所包括的存储块的示例实施例的电路图。

图9是示出在图1的存储系统的非易失性存储器中所包括的存储块的另一示例实施例的电路图。

图10是图1的存储系统的非易失性存储器的布局的示例实施例的图。

图11是在描述后台读取操作的示例中用于参考的图。

图12是在描述后台读取操作的另一示例中用于参考的图。

图13是示出存储系统的示例实施例的框图。

图14是示出图12的存储系统的控制器的示例实施例的框图。

图15a和图15b示出了第一读取历史表和第二读取历史表的示例。

图16是在描述操作存储设备的方法的示例实施例中用于参考的流程图。

图17是在描述根据图16的操作方法的控制器与非易失性存储器之间的示例性操作中用于参考的流程图。

图18是在描述操作存储设备的方法的另一示例实施例中用于参考的流程图。

图19和图20是在描述根据图18的操作方法的主机、控制器和非易失性存储器之间的示例性操作中用于参考的流程图。

图21是在描述操作存储设备的方法的另一示例实施例中用于参考的流程图。

图22是在描述根据图21的方法的主机、控制器和非易失性存储器之间的示例性操作中用于参考的流程图。

图23是在描述操作存储设备的方法的另一示例实施例中用于参考的概念图。

图24是示出电子装置的示例实施例的框图。

具体实施方式

图1是示出存储系统10的示例实施例的框图。

参考图1,存储系统10包括存储设备100和主机200,并且也是在此示例中,存储设备100包括控制器110和非易失性存储器(nvm)120。可以根据各种接口协议中的一个或多个与存储设备100通信的主机200向存储设备100发送诸如读取请求和编程(写入)请求的请求。在一个实施例中,主机200被实施为应用处理器(ap)或片上系统(soc)。

图1的示例的非易失性存储器120包括存储单元阵列(mca),而存储单元阵列mca包括多个(n个)存储块blk1至blkn。如在图1的示例中进一步示出地,多个(n个)存储块blk1至blkn中的每个包括多个(m个)页pg1至pgm。这里,“n”和“m”是可以彼此相同或者彼此不同的正数。每个页pg可以是例如与连接到一字线的存储单元相对应的物理页。替选地,每个页可以是例如与一字线的存储单元的相应的逻辑地址相对应的逻辑页。例如,在多层单元(mlc)的情况下,每个字线的存储单元可以包含数据的多个逻辑页(即,对于在每个单元中所存储的数据的每比特一个逻辑页)。

在本实施例的示例中,存储块构成擦除单位(即,可以以存储块为单位来擦除数据),并且页构成编程和读取单位(即,可以以页为单位来编程和读取数据)。也是在本实施例的示例中,存储单元阵列mca包括闪速存储单元,诸如nand闪速存储单元。然而,本发明构思不限于闪速存储器。作为示例,在其他实施例中,存储单元阵列mca的存储单元可以是电阻性存储单元,诸如电阻性ram(reram)存储单元、相变ram(pram)存储单元或磁性ram(mram)存储单元。

控制器110控制非易失性存储器120以响应于来自主机200的读取请求(有时被称为“主机读取请求”)来读取在非易失性存储器120中所存储的数据data,并且响应于来自主机200的编程请求将数据data写入非易失性存储器120。在图1的示例实施例中,控制器110包括后台读取控制器(brc)和历史缓冲器(hb)。

本实施例的后台读取控制器brc控制对在非易失性存储器120中所包括的多个存储块blk1至blkn的后台读取操作。这里,短语“后台读取操作”指代如下操作:在该操作中,后台读取控制器brc独立于主机200地发出读取命令cmd和地址addr,即,无需首先接收来自主机200的读取请求,并且然后,响应于由后台读取控制器brc所发出的读取命令cmd和地址addr从非易失性存储器120读取数据data。

作为操作示例,后台读取控制器brc可以使用默认读取电压电平来对所选择的存储块(例如,第一存储块blk1)的存储单元执行正常读取操作。在下文中,短语“正常读取操作”指代使用默认读取电压电平所执行的读取操作。在操作示例中,如果正常读取操作失败,则后台读取控制器brc然后可以使用与默认读取电压电平不同的校正后的读取电压电平来对所选择的存储块执行读取重试操作。在下文中,短语“读取重试操作”指代在正常读取操作之后、使用校正后的读取电压电平所执行的读取操作。在操作示例中,如果读取重试操作成功,则后台读取控制器brc将校正后的读取电压电平作为历史读取电压电平存储在历史缓冲器hb中。在下文中,短语“历史读取电压电平”指代在历史缓冲器hb中所存储的校正后的读取电压电平。

当接收到来自主机200的读取请求时,在历史缓冲器hb中存储有历史读取电压电平的情况下,存储设备100可以使用在历史缓冲器hb中所存储的历史读取电压电平来执行主机读取操作。在下文中,短语“主机读取操作”指代通过从主机200所接收到的读取请求发起的读取操作。主机读取操作因此与独立于从主机200所接收到的任何读取请求地发起读取操作的后台读取操作形成对比。当历史缓冲器hb中存储有历史读取电压电平时,存储设备100可以通过使用历史读取电压电平来执行主机读取操作。在下文中,短语“历史读取操作”指代使用在历史缓冲器hb中所存储的历史读取电压电平所执行的读取操作。另一方面,当历史缓冲器hb中未存储有历史读取电压电平时,存储设备100可以通过使用默认读取电压电平来执行正常读取操作。因此,根据本实施例,后台读取操作和主机读取操作可以共享同一历史缓冲器hb。因此,存储系统10和存储设备100的显著优点在于:可以通过减少在主机读取操作处理中执行的读取重试的次数来防止存储设备100的性能的退化。

后台读取控制器brc可以周期性地发出读取命令cmd。在实施例中,后台读取控制器brc可以根据可变周期来发出读取命令cmd,并且在这种情况下,周期可以根据各种参数而变化。例如,各种参数可以包括存储设备100的温度、存储块blk1至blkn的编程和擦除计数、其读取计数以及其编程过去的(elapse)时间。然而,本发明构思不限于此,并且后台读取控制器brc可以根据固定周期来发出读取命令cmd。

后台读取控制器brc可以顺序地发出多个地址addr,以对在非易失性存储器120中所包括的所有存储块blk1至blkn执行后台读取操作。在这种情况下,每个地址addr可以与读取命令cmd一起被发送到非易失性存储器120。因此,甚至可以对在非易失性存储器120中所包括的多个存储块blk1至blkn当中的、主机200不经常地访问的存储块周期性地执行读取操作。

后台读取控制器brc可以选择在多个存储块blk1至blkn中的每个中所包括的多个页pg1至pgm中的至少一个作为代表性页,并且发出与该代表性页相对应的地址addr。例如,对于多个存储块blk1至blkn中的每个的代表性页的数量可以是2或3。例如,后台读取控制器brc可以发出与第一存储块blk1的代表性页相对应的读取命令cmd和地址addr,并且然后,当对于第一存储块blk1的代表性页的后台读取操作完成时,发出针对第二存储块blk2的代表性页的读取命令cmd和地址addr。

存储系统10和/或主机200可以通过下述来实施,例如,个人计算机(pc)、数据服务器、网络附接存储(nas)、物联网(iot)设备或便携式电子设备。便携式电子设备可以是例如膝上型计算机、移动电话、智能电话、平板式pc、个人数字助理(pda)、企业数字助理(eda)、数字静态相机、数字视频相机、音频设备、便携式多媒体播放器(pmp)、个人导航设备(pnd)、mp3播放器、手持游戏机、电子书或可穿戴设备。

在一些实施例中,存储设备100可以是安装在电子装置中的内部存储器。例如,存储设备100可以是固态驱动(ssd)、嵌入式通用闪速存储(ufs)存储器件或者嵌入式多媒体卡(emmc)。在一些实施例中,存储设备100可以是从电子装置可拆卸的外部存储。例如,存储设备100可以是ufs存储卡、紧凑式闪存(cf)、安全数字(sd)、微型安全数字(micro-sd)、迷你安全数字(mini-sd)、极速数字(xd)或者记忆棒。

图2示出由于退化、在图1的存储系统10的非易失性存储器120中所包括的存储单元的阈值电压电平分布的改变的示例。

参考图1和图2,在初始分布21和改变的分布22中,水平轴代表阈值电压电平vth,而垂直轴代表存储单元的数量。例如,当存储单元是被编程为1个比特的单层单元时,存储单元可以具有擦除状态e和编程状态p中的一个。初始分布21可以是在对存储单元的编程操作完成之后预定时间内的分布。存储设备100可以使用默认读取电压电平drl来确定编程状态p。

改变的分布22可以是在对存储单元的编程操作完成之后、经过了预定时间之后的分布。当保持(retention)时间增加时,存储单元可能退化并且与初始分布21相比,退化的存储单元的阈值电压可能改变。具体地,当保持时间增加时,在存储单元的电荷存储层中所存储的电子电荷可能泄露到基底并且存储单元的阈值电压可能因此降低。在这种情况下,当默认读取电压电平drl被用于对退化的存储单元执行读取操作时,在被编程为编程状态p的存储单元中的一些中可能发生读取错误。这里,读取错误可能对应于在所读取的数据中失败比特的数量大于通过错误校正编码(ecc)可校正的参考数量的情况,并且因此,读取错误可以被称为不可校正的ecc(uecc)。为了去除读取错误,需要通过采用校正后的读取电压电平crl执行读取重试来校正读取电压电平。

对于在存储单元中所存储的、主机200不经常地访问的数据(在下文中,被称为“冷数据”)的情况,阈值电压变化可以根据保持时间的增加而增加。因此,当接收到来自主机200的针对冷数据的读取请求时,在使用默认读取电压电平drl进行的正常读取操作处理中可能发生读取错误。在这种情况下,存储设备100可以通过使用可以提供在固件中以执行读取重试操作的恢复代码来运行恢复操作,并且在这种情况下,因为运行恢复操作可能需要的相当的时间,所以可能发生存储设备100的性能的退化。

然而,根据本实施例,后台读取控制器brc可以与从主机200所接收的读取请求无关地、作为后台操作来对在非易失性存储器120中所包括的所有存储块blk1至blkn执行读取操作,并且根据存储块blk1至blkn的退化将校正后的读取电压电平crl存储在历史缓冲器hb中。因此,当接收到来自主机200的针对冷数据的读取请求时,可以使用在历史缓冲器hb中所存储的校正后的读取电压电平(即,历史电压电平)来执行读取操作。因此,因为存储设备100可能不需要为了读取冷数据而执行读取重试操作,所以存储系统10和存储设备100的显著优点在于可以防止存储设备100的以上提及的性能的退化。

图3示出与图2的阈值电压分布的改变相对应的读取历史表的示例。

参考图1至图3,读取历史表31可以存储在历史缓冲器hb中。读取历史表31可以存储分别地与多个存储块blk1至blkn相对应的校正后的读取电压电平crl作为历史读取电压电平。例如,读取历史表31可以存储与物理块编号(pbn)相对应的校正后的读取电压电平crl,物理块编号(pbn)是非易失性存储器120的物理块地址。以下将描述生成读取历史表31的操作。

后台读取控制器brc可以对第一存储块blk1的至少一个第一代表性页执行后台读取操作。具体地,后台读取控制器brc可以通过使用默认读取电压电平drl来对至少一个第一代表性页执行正常读取操作。当在至少一个第一代表性页中发生读取错误时,后台读取控制器brc可以通过使用第一校正后的读取电压电平crla来对至少一个第一代表性页执行读取重试操作。当在至少一个第一代表性页中不发生读取错误时,后台读取控制器brc可以将第一校正后的读取电压电平crla作为与第一存储块blk1相对应的历史读取电压电平存储在读取历史表31中。

随后,后台读取控制器brc可以对第二存储块blk2的至少一个第二代表性页执行后台读取操作。具体地,后台读取控制器brc可以通过使用默认读取电压电平drl对至少一个第二代表性页执行正常读取操作。当在至少一个第二代表性页中未发生读取错误时,后台读取控制器brc可以对接下来的存储块执行后台读取操作,而不将与第二存储块blk2相对应的历史读取电压电平存储在读取历史表31中。

在一些实施例中,控制器110——并且具体地,后台读取控制器brc——可以被配置为在存储设备100上电时针对非易失性存储器120执行第一后台读取操作,以初始地填充历史缓冲器hb,或者更具体地,历史缓冲器hb的历史表(例如,历史表31)。另外,在一些实施例中,控制器110——并且具体地,后台读取控制器brc——可以被配置为在存储设备上电期间执行第二后台读取操作以更新历史缓冲器。这里,第一后台读取操作的第一速度可以大于第二后台读取操作的第二速度。这里,上电可以指代向存储设备100施加电力供给。

图4示出由于退化、在图1的存储系统10的非易失性存储器120中所包括的存储单元的阈值电压电平分布的改变的另一示例。

参考图1和图4,在初始分布41和改变的分布42中,水平轴表示阈值电压电平vth,而垂直轴表示存储单元的数量。例如,当存储单元是被编程为2个比特的多层单元时,存储单元可以具有擦除状态e以及第一编程状态p1至第三编程状态p3中的一个。初始分布41可以是在对存储单元的编程操作完成之后的预定时间内的分布。存储设备100可以分别地使用第一默认读取电压电平至第三默认读取电压电平drl1、drl2和drl3来确定第一编程状态p1至第三编程状态p3。

改变的分布42可以是在对存储单元的编程操作完成之后、经过了预定时间之后的分布。如在图2所示的改变的分布22中那样,当保持时间增加时,存储单元可能退化并且与初始分布41相比,退化的存储单元的阈值电压可能改变。在这种情况下,当第一默认读取电压电平drl1至第三默认读取电压电平drl3分别地用于对退化的存储单元执行读取操作时,在被编程为第一编程状态p1至第三编程状态p3的存储单元中的一些中可能发生读取错误。

图5示出与图4的分布改变相对应的读取历史表的示例。

参考图1、图4和图5,读取历史表51可以被存储在历史缓冲器hb中。读取历史表51可以存储分别地与多个存储块blk1至blkn相对应的第一校正后的读取电压电平crl1至第三校正后的读取电压电平crl3(例如,crl1a、crl1b、crl2a、crl2b、crl3a、crl3b等)作为第一历史读取电压电平至第三历史读取电压电平。例如,读取历史表51可以存储与作为非易失性存储器120的物理块地址的pbn相对应的第一校正后的读取电压电平crl1至第三校正后的读取电压电平crl3。因为生成读取历史表51的操作可能与以上参考图3所描述的操作基本上相同,因此为了简明将省略其重复的描述。

在一些实施例中,当存储单元是被编程为3个比特的三层单元时,存储单元可以具有擦除状态以及第一编程状态至第七编程状态中的一个。在这种情况下,读取历史表可以存储分别地与多个存储块blk1至blkn相对应的第一校正后的读取历史电压电平至第七校正后的读取历史电压电平,并且生成读取历史表的操作可能与以上参考图3所描述的操作基本上相同。

以上已经参考图2至图5描述了存储单元根据保持时间的退化。然而,本发明构思不限于此,并且存储单元可能由于各种因素而退化。例如,存储单元的阈值电压可能由于根据对相邻存储单元的读取操作的执行的读取干扰而增加。作为另一示例,当存储单元的编程/擦除计数增加时,一些存储单元的阈值电压可能根据存储单元的耐力(endurance)的退化而增加。作为另一示例,存储单元的阈值电压可能由于存储单元的操作温度的改变而改变。

在实施例中,后台读取控制器brc可以基于以上描述的各种退化信息来改变后台读取操作的周期或顺序,或者选择或改变每个存储块的代表性页。另外,在实施例中,后台读取控制器brc可以基于存储块的物理位置来改变后台读取操作的周期或顺序,或者根据每个存储块中的页的物理位置来选择或改变代表性页。

图6是示出图1的控制器的示例实施例的框图。

参考图6,控制器110a可以包括控制器存储器111、处理器112、主机接口113、非易失性存储器接口114、ecc模块115以及可以通过总线系统117彼此通信的温度传感器116。处理器112可以包括例如中央处理单元或者微处理器,并且可以控制控制器110a的整体操作。控制器存储器111可以在处理器112的控制之下进行操作,并且例如可以用作操作存储器、缓冲存储器或者高速缓存存储器。例如,控制器存储器111可以被实施为易失性存储器,诸如dram或sram;或者非易失性存储器,诸如pram或闪速存储器。

后台读取控制brc可以通过固件和/或软件的运行来实施,并且例如可以被加载到控制器存储器111作为后台读取模块。在实施例中,后台读取控制器brc可以被实施在闪存转换层(ftl)中并且可以被加载到控制器存储器111中。然而,本发明构思不限于此,并且后台读取控制器brc可以通过硬件来实施。

例如,历史缓冲器hb可以存储图3的读取历史表31或图5的历史读取表51,并且可以被实施为控制器存储器111的一部分。在实施例中,后台读取控制器brc和历史缓冲器hb可以一起被实施在同一芯片中。然而,本发明构思不限于此,并且后台读取控制器brc和历史缓冲器hb可以被实施在不同的芯片中。另外,映射表mt可以被加载到控制器存储器111中。将参考图7来描述与映射表mt相关的控制器110a的操作。

图7示出在图6的控制器存储器111中所存储的地址映射表的示例实施例和读取历史表的示例实施例。

参考图1、图6和图7,映射表71可以存储多个映射数据,以用于将逻辑地址转换为物理地址,并且可以对应于图6的映射表mt的示例。每个映射数据可以表示与逻辑页编号(lpn)相对应的物理页编号(ppn)。读取历史表72可以存储分别地与多个存储块blk1至blkn相对应的校正后的读取电压电平crl(例如,crla、crlb等)作为历史读取电压电平,并且读取历史表72可以被存储在图6的历史缓冲器hb中。当接收到来自主机200的读取请求和逻辑地址时,控制器110a可以参考映射表71检查与所接收到的逻辑地址相对应的物理地址。随后,控制器110a可以检查与物理地址相对应的校正后的读取电压电平是否被存储在读取历史表72中。

例如,当接收到来自主机200的lpn1时,控制器110a可以参考映射表71检查与lpn1相对应的ppn1。随后,控制器110a可以检查与包括ppn1的第一存储块blk1相对应的历史读取电压电平是否被存储在读取历史表72中。因为校正后的读取电压电平crla被存储在读取历史表72中作为与第一存储块blk1相对应的历史读取电压电平,所以校正后的读取电压电平crla可以被用于对ppn1执行主机读取操作。在这种情况下,主机读取操作可以对应于历史读取操作。

例如,当接收到来自主机200的lpn2时,控制器110a可以参考映射表71检查与lpn2相对应的ppn2。随后,控制器110a可以检查与包括ppn2的第二存储块blk2相对应的历史读取电压电平是否被存储在读取历史表72中。因为与第二存储块blk2相对应的校正后的读取电压电平未被存储在读取历史表72中,所以默认读取电压电平可以被用于对ppn2执行主机读取操作。在这种情况下,主机读取操作可以对应于正常读取操作。

参考图6,退化信息di可以进一步被加载到控制器存储器111中。退化信息d1可以包括关于在非易失性存储器120中所包括的多个存储块blk1至blkn的各种类型的退化信息。例如,退化信息可以包括编程/擦除计数、读取计数、编程过去时间信息、操作温度信息和所读取的数据的错误比特的数量中的至少一个。在实施例中,后台读取控制器brc可以基于退化信息di来改变后台读取操作的周期或顺序,或者选择或改变每个存储块的代表性页。

主机接口113可以提供主机200与控制器110a之间的接口,并且可以提供例如根据下述的接口:通用串行总线(usb)、mmc、pci快速(pci-e)、at附件(ata)、串行at附件(sata)、并行at附件(pata)、小型计算机系统接口(scsi)、串行附接scsi(sas)、增强小型盘接口(esdi)或者集成驱动电子设备(ide)。非易失性存储器接口114可以提供控制器110a与非易失性存储器120之间的接口。例如,可以通过非易失性存储器接口114在控制器110a与非易失性存储器120之间传送退化信息di、映射表mt、写入数据和读取数据。

通过对从非易失性存储器120所接收到的数据执行ecc操作,ecc模块115可以检测所接收到的数据中的错误比特并且校正所检测到的错误比特。在实施例中,ecc模块115可以通过硬件来实施。在实施例中,ecc模块115可以通过固件实施和/或软件的运行来实施,并且可以被加载到控制器存储器111中。温度传感器116可以感测存储设备100的操作温度。然而,在一些实施例中,控制器110a可以不包括温度传感器116。另外,在一些实施例中,温度传感器116可以被实施为非易失性存储器120的一部分。

图8是示出在图1的非易失性存储器120中所包括的存储块blka的示例实施例的电路图。图1的存储块blk1至blkn中的任何或所有可以如图8的存储块blka的示例中那样配置。

图8示出具有平面nand闪存配置的存储块blka。如所示地,此示例的存储块blka包括nand串ns、字线wl1至wl8、位线bl1至blk、接地选择线gsl、串选择线ssl以及公用源极线csl。这里,nand串的数量、字线的数量、位线的数量、接地选择线的数量以及串选择线的数量可以与结合图8所给出的示例不同。

例如,在对存储块blka的后台读取操作的处理中,在存储块blka中所包括的页当中,连接到第一字线wl1的页81和连接到第八字线wl8的页82可以被选择作为存储块blka的代表性页。然而,代表性页的数量不限于2,并且在实施例中代表性页的数量可以是1,而在其他实施例中代表性页的数量可以是3或更多。在实施例中,在多个页当中,在预定时段中具有最大阈值电压变化的页可以被选择作为代表性页。在实施例中,在多个页当中,具有最大编程/擦除计数的页可以被选择作为代表性页。在实施例中,在多个页当中,具有编程操作完成之后最大过去时间的页可以被选择作为代表性页。

后台读取控制器brc可以通过对第一字线wl1和第八字线wl8顺序施加地默认读取电压电平来顺序地对代表性页81和82执行后台读取操作。在这种情况下,当在代表性页81和82中的至少一个中发生读取错误时,后台读取控制器brc可以通过使用校正后的读取电压电平来执行读取重试操作。当读取重试操作成功时,校正后的读取电压电平可以被存储在读取历史表中作为与存储块blka相对应的历史读取电压电平。

图9是示出在图1的非易失性存储器120中所包括的存储块的另一示例实施例的电路图。

参考图9,存储块blkb可以包括nand串ns11至ns33、字线wl1至wl8、位线bl1至bl3、接地选择线gsl1至gsl3、串选择线ssl1至ssl3以及公用源极线csl。这里,nand串的数量、字线的数量、位线的数量、接地选择线的数量和串选择线的数量可以根据实施例而变化。

例如,在对存储块blkb的后台读取操作的处理中,在存储块blkb中所包括的页当中,连接到第一字线wl1和第三串选择线ssl3的页91以及连接到第五字线wl5和第一串选择线ssl1的页92可以被选择作为存储块blkb的代表性页。然而,代表性页的数量不限于2,并且在实施例中代表性页的数量可以是1,而在其他实施例中代表性页的数量可以是3或更多。

后台读取控制器brc可以通过对第一字线wl1和第五字线wl5顺序地施加默认读取电压电平来顺序地对代表性页91和92执行后台读取操作。在这种情况下,当在代表性页91和92中的至少一个中发生读取错误时,后台读取控制器brc可以通过使用校正后的读取电压电平来执行读取重试操作。当读取重试操作成功时,校正后的读取电压电平可以被存储在读取历史表作为与存储块blkb相对应的历史读取电压电平。

图10是示出图1的非易失性存储器120的示例实施例的布局。

参考图10,非易失性存储器120a可以包括存储单元阵列区域121、页缓冲器区域122、行译码器区域123以及外围电路区域124。图1的多个存储块blk1至blkn可以被布置在存储单元阵列区域121中。页缓冲器区域122可以在第一方向(例如,y方向)上与存储单元阵列区域121相邻,并且多个页缓冲器可以布置在其中。行译码器区域123可以在第二方向(例如,x方向)上与存储单元阵列区域121相邻,并且多个行译码器可以被布置在其中。外围电路区域124可以在第一方向上与页缓冲器区域122相邻,并且诸如控制逻辑和电压生成器的外围电路可以被布置在其中。

在实施例中,与存储单元阵列区域121中面向彼此的第一边缘edg1和第二边缘edg2相邻的页可以被选择作为每个存储块的代表性页。与第一边缘edg1和第二边缘edg2相邻的通道孔(channelhole)的直径可以小于与第一边缘edg1和第二边缘edg2间隔开的通道孔的直径。因此,在与第一边缘edg1和第二边缘edg2相邻的通道孔中所形成的存储单元的电特性可以不同于在与第一边缘edg1和第二边缘edg2间隔开的通道孔中所形成的存储单元的电特性。例如,在第一存储块blk1中,与第一边缘edg1最相邻的页101可以被选择作为代表性页。例如,在第n存储块blkn中,与第二边缘edg2最相邻的页102可以被选择作为代表性页。

图11示出了后台读取操作的示例。

在图11的示例中,存储单元阵列mca1包括第一存储块至第n存储块blk1、blk2、blk3、blk4、……、blkn-1、blkn,并且可以对应于图1的存储单元阵列mca的示例。根据实施例,可以在存储块blk1至blkn中的每个中选择至少一个代表性页,并且可以对选择的代表性页rp1、rp2、rp3、rp4、……、rpn-1、rpn执行后台读取操作。后台读取操作可以被称为“巡查读取操作”。

后台读取控制器brc可以根据物理地址对第一存储块blk1至第n存储块blkn周期性地执行后台读取操作。在实施例中,后台读取操作的执行顺序可以例如根据第一存储块blk1至第n存储块blkn的退化信息和物理位置而改变。例如,可以根据第一存储块blk1至第n存储块blkn的布置顺序来执行后台读取操作。具体地,可以对第一代表性页rp1执行后台读取操作,可以对第二代表性页rp2执行后台读取操作,以及然后可以对第三代表性页rp3执行后台读取操作。

图12示出后台读取操作的另一示例。

图12的示例的存储单元阵列mca2包括第一逻辑块lbn1至第n逻辑块lbnn。根据实施例,可以基于第一逻辑块lbn1至第n逻辑块lbnn的逻辑地址来对第一逻辑块lbn1至第n逻辑块lbnn周期性地执行后台读取操作。此示例的后台读取操作可以被称为“后台媒体扫描(bms)”。

后台读取控制器brc可以根据逻辑地址对第一逻辑块lbn1至第n逻辑块lbnn周期性地执行后台读取操作。在实施例中,后台读取操作的执行顺序可以例如根据退化信息而改变。例如,可以对在第一逻辑块lbn1中所包括的所有逻辑页lpn1和lpn2顺序地执行后台读取操作,并且然后可以对第二逻辑块lbn2中所包括的所有逻辑页顺序地执行后台读取操作。在实施例中,存储设备100可以选择性地执行巡查读取操作和bms操作。

图13是示出存储系统20的示例实施例的框图。

参考图13,存储系统20可以包括存储设备100’和主机200,并且存储设备100’可以包括控制器110’、非易失性存储器(nvm)120和易失性存储器(vm)130。存储设备100’是图1的存储设备100的修改实施例,并且为了简洁将省略其重复的描述。控制器110’可以包括后台读取控制器brc,并且后台读取控制器brc可以通过固件和/或运行软件的处理器来实施。然而,本发明构思不限于此,并且后台读取控制器brc可以通过硬件来实施。历史缓冲器hb可以被实施在易失性存储器130中,而易失性存储器130可以被布置在控制器110’之外。

图14是详细地示出图13的控制器的示例实施例的框图。

参考图14,控制器110b是图6所示的控制器110a的修改实施例,并且为了简明将省略其重复的描述。在实施例中,第一历史缓冲器hb1可以被实施在控制器存储器111’中,并且第二历史缓冲器hb2可以被实施在易失性存储器130中。例如,控制器存储器111’可以是sram,并且易失性存储器130可以是dram。例如,第一历史缓冲器hb1可以存储第一读取历史表,并且第二历史缓冲器hb2可以存储第二读取历史表。在下文中,将参考图15a和图15b来描述第一读取历史表和第二读取历史表。

图15a和图15b示出了第一读取历史表的示例实施例和第二读取历史表的示例实施例。

参考图15a,第一读取历史表151可以被存储在,例如,图14的第一历史缓冲器hb1中。第一读取历史表151可以存储指示默认读取电压电平(即,历史读取电压电平)是否被施加到多个存储块blk1至blkn中的每个的标志。例如,标志“1”可以指示默认读取电压电平未被施加,而标志“0”可以指示默认读取电压电平被施加。

参考图15b,第二读取历史表152可以被存储在,例如,图14的第二历史缓冲器hb2中。第二读取历史表152可以存储与多个存储块blk1至blkn中的每个相对应的校正后的读取历史电压电平crl作为历史读取电压电平。例如,第二读取历史表152可以存储与第一存储块blk1相对应的校正后的读取电压电平crla,并且可以不存储与第二存储块blk2相对应的校正后的读取电压电平。在实施例中,当存储单元是多层单元时,第二读取历史表152可以存储用于分别地读取如图5中所示的第一编程状态至第三编程状态的第一校正后的读取电压电平至第三校正后的读取电压电平。在实施例中,当存储单元是三层单元时,第二读取历史表152可以存储用于分别地读取第一编程状态至第七编程状态的第一校正后的读取电压电平至第七校正后的读取电压电平。

参考图1、图15a和图15b,因为第一存储块blk1的标志是第一读取历史表151中的“1”,所以可以看到在第二读取历史表152中存在与第一存储块blk1相对应的历史读取电压电平。因此,当接收到来自主机200的针对在第一存储块blk1中所包括的页的读取请求时,在第二读取历史表152中所存储的校正后的读取电压电平crla可以被用于执行主机读取操作,即,历史读取操作。

另一方面,因为第二存储块blk2的标志是第一读取存储表151中的“0”,所以可以看到在第二读取历史表152中不存在与第二存储块blk2相对应的历史读取电压电平。因此,当接收到来自主机200的针对在第二存储块blk2中所包括的页的读取请求时,默认读取电压电平可以被用于执行主机读取操作,即,正常读取操作。

图16是示出操作存储设备的方法的示例实施例的流程图。参考图16,根据本实施例的操作方法是在存储设备中周期性地对在非易失性存储器中所包括的存储块执行后台读取操作的方法。例如,根据本实施例的操作方法可以在图1的存储设备100或图13的存储设备100’中顺序地执行。以上参考图1至图15b进行的描述还可以应用到本实施例。

在操作s110中,执行后台读取操作。在没有接收到来自主机200的读取请求的情况下,通过使用默认读取电压电平,存储设备100可以对在非易失性存储器120中所包括的多个存储块blk1至blkn周期性地执行后台读取操作。在操作s120中,确定后台读取操作是否失败。作为确定的结果,当后台读取操作失败时(即,发生读取失败),则执行操作s130;否则(即,当发生读取通过时),则对另一存储块执行操作s110。

在操作s130中,执行读取重试操作。存储设备100可以通过使用与默认读取电压电平不同的校正后的读取电压电平对相对应的存储块执行读取重试操作。在操作s140中,确定读取重试操作是否失败。作为确定的结果,当读取重试操作成功时(即,当发生读取通过时),执行操作s150。另一方面,当读取重试操作失败时(即,当发生读取失败时),再次执行操作s130。

在操作s150中,更新历史缓冲器。存储设备100可以通过将校正后的读取电压电平存储在读取历史表中作为针对相对应的存储块的历史读取电压电平来更新历史缓冲器。在操作s160中,执行主机读取操作。当接收到来自主机200的读取请求时,存储设备100可以通过使用历史缓冲器来执行主机读取操作。

在一些实施例中,本操作方法还可以包括在执行操作s110之前针对每个存储块选择代表性页的操作。例如,在多个存储块中的每个中,可以基于下述中的至少一个来选择至少一个代表性页:编程和擦除计数、读取计数、编程过去时间、读取干扰、编程干扰、每个存储块的物理位置以及每个页的物理位置。

图17是用于描述根据图16的操作方法的控制器110与非易失性存储器120之间的示操作的流程图。在下文中,将参考图1、图16和图17进行描述。

在操作s210中,控制器110发出用于第i存储块blki的读取命令。这里,“i”可以是“1”与“n”之间的自然数。具体地,后台读取控制器brc在没有接收到来自主机200的读取请求的情况下发出读取命令。另外,后台读取控制器brc可以发出用于在第i存储块blki中所包括的代表性页的地址,并且确定用于第i存储块blki的读取电压作为默认读取电压电平drl。在操作s215中,控制器110向非易失性存储器120传送读取命令。在这种情况下,控制器110可以向非易失性存储器120一起传送地址和读取命令,并且传送用于第i存储块blki的读取电压作为控制信号。

在操作s220中,响应于读取命令,非易失性存储器120通过使用默认读取电压电平drl来执行正常读取操作。在这种情况下,非易失性存储器120可以对第i存储块blki的代表性页执行正常读取操作。在操作s225中,非易失性存储器120向控制110传送通过正常读取操作所读取的数据。

在操作s230中,控制器110确定正常读取操作是否失败(即,是否发生读取失败)。具体地,ecc模块115可以对所接收到的数据执行ecc操作,并且确定在所接收到的数据中检测到的失败比特的数量是否超过ecc模块115的错误校正能力。作为确定的结果,当失败比特的数量超过错误校正能力时,确定正常读取操作失败(即,发生读取失败),并且执行操作s240。另一方面,当失败比特的数量未超过错误校正能力或当数据不包括错误比特时(即,当发生读取通过时),确定正常读取操作成功,并且执行操作s250。在操作s250中,控制器110可以将“i”增加1,并且对第i+1存储块执行后台读取操作。

在操作s240中,控制器110发出用于第i存储块blki的读取重试命令。具体地,后台读取控制器brc在没有接收到来自主机200的读取重试请求的情况下发出读取重试命令。另外,后台读取控制器brc可以发出用于在第i存储块blki中所包括的代表性页当中的读取失败页的地址,并且确定用于第i存储块blki的读取重试电压作为校正后的读取电压电平crl。在操作s245中,控制器110向非易失性存储器120发送读取重试命令。在这种情况下,控制器110可以向非易失性存储器120一起发送地址和读取重试命令,并且发送用于第i存储块blki的读取重试电压作为控制信号。

在操作s270中,响应于读取重试命令,非易失性存储器120通过使用校正后的读取电压电平crl来执行读取重试操作。在这种情况下,非易失性存储器120可以对第i存储块blki的选择性页执行读取重试操作。在操作s275中,非易失性存储器120向控制器110传送通过读取重试操作读取的数据。

在操作s280中,控制器110确定读取重试操作是否失败。具体地,ecc模块115可以对所接收到的数据执行ecc操作,并且确定在所接收到的数据中所检测到的失败比特的数量是否超过ecc模块115的错误校正能力。作为确定的结果,当失败比特的数量超过错误校正能力时,确定正常读取操作失败,并且可以再次执行操作s240。另一方面,当失败比特的数量未超过错误校正能力时或者当数据不包括失败比特时,确定读取重试操作成功并且执行操作s200。在操作s290中,控制器110通过将校正后的读取电压电平crl存储在读取历史表中来更新历史缓冲器。

图18是示出操作存储设备的方法的示例实施例的流程图。参考图18,根据本实施例的操作方法是用于当从主机接收到读取请求时在存储设备中执行主机读取操作的方法。例如,根据本实施例的操作方法可以在图1的存储设备100中或在图13的存储设备100’中顺序地执行。以上参考图1至图15b进行的描述也可以应用到本实施例。

在操作s310中,接收读取请求和地址。存储设备100可以接收来自主机120的读取请求和用于读取请求的相对应的读取地址。在操作s320中,检查历史缓冲器。存储设备100可以检查历史缓冲器以确定是否存在与针对用于读取请求的读取地址而被寻址的存储块相对应的历史读取电压电平。在操作s330中,确定历史缓冲器是否为空。作为确定的结果,当历史缓冲器为空时,执行操作s340;否则执行操作s350。

在操作s340中,执行正常读取操作。存储设备100可以通过使用默认读取电压电平来执行正常读取操作。在操作s350中,执行历史读取操作。存储设备100可以通过使用历史读取电压电平来执行历史读取操作。在操作s360中,确定正常读取操作或历史读取操作是否失败。作为确定的结果,当正常读取操作或历史读取操作失败时,执行操作s370;否则本方法可以结束。在操作s370中,执行读取重试操作。

图19是示出根据图18的操作方法的主机200、控制器110和非易失性存储器120之间的操作的流程图。在下文中,将参考图1、图6和图19进行描述。

在操作s400中,主机200向控制器传送读取请求和用于读取请求的相对应的读取地址。在这种情况下,由主机200所发送的读取地址是逻辑地址。在操作s410中,控制器110检查映射表。具体地,控制器110检查与所接收的逻辑地址相对应的物理地址。在操作s420中,控制器110检查历史缓冲器。具体地,控制器110检查历史缓冲器以确定是否存在与包括所检查的物理地址的存储块(即,被寻址的存储块)相对应的历史读取电压电平。在操作s430中,控制器110确定在与包括所检查的物理地址的被寻址的存储块相对应的历史缓冲器中是否存在历史读取电压电平。

作为确定的结果,当与被寻址的存储块相对应的历史缓冲器中的位置为空时,即,当不存在与被寻址的存储块相对应的历史读取电压电平时,执行操作s440。在操作s440中,控制器110向非易失性存储器120传送读取命令,以用于采用默认读取电压电平drl来执行正常读取操作。在操作s450中,非易失性存储器120通过使用默认读取电压电平drl来执行正常读取操作。在操作s460中,非易失性存储器120向控制器110传送数据。

另一方面,当历史缓冲器不为空时,即,当存在与被寻址的存储块相对应的历史读取电压电平时,执行操作s470。在操作s470中,控制器110向非易失性存储器120传送读取命令,以用于采用历史读取电压电平来执行历史读取操作,即,用于在历史缓冲器中所找到的被寻址的存储块的校正后的读取电压电平crl。在操作s480中,非易失性存储器120通过使用历史读取电压电平,即,校正后的读取电压电平crl,来执行历史读取操作。在操作s490中,非易失性存储器120向控制器110传送数据。

图20是示出在图19之后的、根据图18的操作方法的主机200、控制器110和非易失性存储器120之间的操作的流程图。在下文中,将参考图1、图6和图20进行描述。

可以在图19的操作s460或s490之后执行操作s510。在操作s510中,控制器110确定正常读取操作或历史读取操作是否失败。作为确定的结果,当正常读取操作或历史读取操作未失败时,执行操作s520。在操作s520中,控制器110向主机200传送数据。另一方面,当正常读取操作或历史读取操作失败时,执行操作s530。

在操作s530中,控制器110发出读取重试命令。在操作s540中,控制器110向非易失性存储器120传送读取重试命令。在操作s550中,非易失性存储器120通过使用校正后的读取电压电平来执行读取重试操作。在操作s560中,非易失性存储器120向控制器110发送使用校正后读取电压电平所读取的数据。

在操作s570中,控制器110确定读取重试操作是否再次失败。作为确定的结果,当读取重试操作未失败时,执行操作s580和s590。在操作s580中,控制器110向主机200传送数据。在操作s590中,控制器110通过将校正后的读取电压电平存储在读取历史表中来更新历史缓冲器。在实施例中,可以首先执行操作s590,并且可以然后执行操作s580。在实施例中,可以基本上同时地执行操作s580和s590。另一方面,当在操作s570中读取重试操作失败时,可以再次执行操作s530,或可以运行与操作s530不同的恢复操作。在实施例中,本操作方法还可以包括接收来自主机的下一个读取请求和下一个读取地址的操作,以及通过使用在操作s590中更新的历史缓冲器来对下一个读取地址执行主机读取操作的操作。

图21是示出操作存储设备的方法的示例实施例的流程图。参考图21,根据本实施例的操作方法是解决当接收到来自主机的主机读取请求时存储设备中的读取错误的方法。例如,根据本实施例的操作方法可以在图1的存储设备100或图13的存储设备100’中顺序地执行。以上参考图1至图15b进行的描述也可以应用到本实施例。

在操作s610中,接收到读取请求和地址。具体地,存储设备100或存储设备100’可以接收到来自主机200的读取请求和用于读取请求的相对应的读取地址。在操作s620中,使用历史缓冲器来执行主机读取操作。存储设备100可以通过使用历史缓冲器来将主机读取操作执行为正常读取操作或历史读取操作。在操作s630中,确定主机读取操作是否失败。作为确定的结果,当主机读取操作失败时,执行操作s640;否则,本方法结束。

在操作s640中,使用预定义的读取电压电平来执行读取重试操作。存储设备100可以通过运行第一恢复过程,例如,通过处理器(例如,处理器112)运行第一恢复代码,来执行读取重试操作。例如,第一恢复过程可以是预定义的表(pdt)过程。pdt过程可以是用于根据存储关于预定义的读取电压电平的信息的表执行读取重试操作的过程。具体地,pdt过程可以基于退化发生方向来估计退化因子,并且通过对多个pdt中的一个给予优先级来执行读取重试操作。例如,多个pdt可以包括保持表、耐力表以及读取干扰表。在操作s650中,确定读取重试操作是否失败。作为确定的结果,当读取重试操作失败时,执行操作s660;否则,本方法结束。

在操作s660中,可以确定优化的读取电压电平。存储设备100可以通过运行第二恢复过程,例如,通过处理器(例如,处理器112)运行第二恢复代码,来确定优化的读取电压电平。在实施例中,存储设备100可以通过使用至少三个读取电压电平来顺序地执行读取操作,并且通过使用所读取的数据来估计优化的读取电压电平。随后,可以使用估计的优化的读取电压电平来执行读取操作。然而,本发明构思不限于此,并且在操作s660中可以执行另外的、不同的恢复过程,以及当使用在操作s660中所确定的优化的读取电压电平进行的读取操作失败时,仍然可以进一步运行其他的恢复过程。

在实施例中,存储设备100可以运行最小错误搜索(mes)过程并且例如可以通过使用在谷底附近等距的电压电平来执行读取操作。在实施例中,存储设备100可以运行读取电压电平摆动过程,并且例如可以通过使用在之前的操作中被确定为优化的读取电压电平的读取电压电平附近的电压电平来执行读取操作。在实施例中,存储设备100可以执行监测单元搜索过程,并且可以读取监测单元,根据读取结果测量分布变形,以及根据测量结果调整读取电压。在这种情况下,监测单元可以是与存储单元具有相同的结构、位于预定位置处以及通过预定的数据编程的单元。

图22是示出根据图21的操作方法的主机200、控制器110和非易失性存储器120之间的操作的流程图。在下文中,将参考图1、图6和图22进行描述。

在操作s700中,主机200向控制器110传送读取请求和用于读取请求的相对应的读取地址。在操作s710中,控制器110针对来自主机的读取请求的被寻址的存储块的校正的读取电压电平来检查历史缓冲器。检查映射表的操作可以进一步被包括在操作s700与s710之间。在操作s715中,控制器110向非易失性存储器120传送读取命令。在操作s720中,非易失性存储器120响应于读取命令执行读取操作。在操作s725中,非易失性存储器120向控制器110传送数据。

在操作s730中,控制器110确定读取操作是否失败。作为确定的结果,当读取操作失败时,执行操作s740,否则执行操作s735。在操作s735中,控制器110向主机200传送所读取的数据。在操作s740中,控制器110发出读取重试命令。在操作s745中,控制器110向非易失性存储器120传送读取重试命令。在操作s750中,非易失性存储器120通过使用新的读取电压电平来执行读取重试操作。在操作s755中,非易失性存储器120响应于读取重试命令向控制器110传送数据。

在操作s760中,控制器110确定读取重试操作是否失败。作为确定的结果,当读取重试操作失败时,执行操作s770;否则执行操作s765。在操作s765中,控制器110向主机200传送所读取的数据。另外,控制器110可以将在操作s750的读取重试操作中所使用的新的读取电压电平更新为历史缓冲器中的历史读取电压电平。

在操作s770中,控制器110确定优化的读取电压电平。例如,控制器110可以通过使用至少三个读取电压电平来对非易失性存储器120顺序地执行读取重试操作至少三次,并且基于读取重试操作的结果来估计优化后的读取电压电平。具体地,至少三个读取电压电平可以顺序地施加到与地址相对应的字线,并且可以基于以至少三个读取电压电平中的每个所读取的数据来估计优化的读取电压电平。

在操作s775中,控制器110向非易失性存储器120传送读取重试命令。在这种情况下,控制器110可以传送在操作s770中所确定的优化的读取电压电平作为控制信号。在操作s780中,非易失性存储器120通过使用优化的读取电压电平来执行读取重试操作。在操作s785中,非易失性存储器120响应于读取重试命令来向控制器110传送数据。

在操作s790中,控制器110确定读取重试操作是否失败。作为确定的结果,当读取重试操作失败时,可以再次执行操作s770或者可以通过运行另外的恢复过程来执行读取重试操作。另一方面,当读取重试操作成功时,执行操作s795和s800。在操作s795中,控制器110向主机200传送所读取的数据。在操作s800中,控制器110通过将优化的读取电压电平存储在读取历史表中来更新历史缓冲器。在实施例中,可以首先执行操作s795,并且可以然后执行操作s800。在实施例中,可以基本上同时地执行操作s800和操作s795。

图23是示出操作存储设备的方法的示例实施例的概念图。参考图23,根据本实施例的操作方法是通过后台读取操作和主机读取操作来共享存储设备中的同一历史缓冲器hb的方法。这里,历史缓冲器可以对应于图1的历史缓冲器hb、图6的历史缓冲器hb、图13的历史缓冲器hb或者图14的第一历史缓冲器hb1和第二历史缓冲器hb2。

在操作s910中,采用对一个或多个存储块的请求来发起后台读取操作。在操作s920中,使用默认读取电压电平来执行正常读取操作。在操作s930中,当针对存储块的正常读取操作失败时,使用针对存储块的校正后的读取电压电平来执行读取重试操作。当操作s930的读取重试操作成功时,将校正后的读取电压电平更新为历史缓冲器hb中的用于存储块的历史读取电压电平。

在操作s940中,针对属于被寻址的参考的读取地址来发起主机读取操作。在操作s950中,针对被寻址的存储块来确定历史缓冲器hb是否为空。在操作s960中,当针对被寻址的存储块历史缓冲器hb为空时,使用默认读取电压电平来针对被寻址的存储块执行正常读取操作。在操作s970中,当针对被寻址的存储块,历史缓冲器hb不为空时,使用在历史缓冲器hb中所存储的针对被寻址的存储块的历史读取电压电平来执行历史读取操作。当操作s960或操作s970失败时,通过使用新的读取电压电平在操作s980中执行读取重试操作。当操作s980的读取重试操作成功时,新的读取电压电平被更新为历史缓冲器hb中针对被寻址的存储块的历史读取电压电平。

图24是示出电子装置1000的示例实施例的框图。

参考图24,电子装置1000可以包括处理器1100、存储器件1200、存储设备1300、调制解调器1400、输入/输出设备1500以及电源1600。在本实施例中,存储设备1300可以执行主机读取操作和后台读取操作。存储设备1300可以对所有存储块周期性地执行后台读取操作,并且根据其结果来更新存储与存储块相对应的历史读取电压电平的历史缓冲器。当接收到来自主机的读取请求时,存储设备1300可以通过使用历史缓冲器执行正常读取操作或历史读取操作。可以基于以上参考图1至图23进行的描述来实施存储设备1300。

以上参考附图描述了本发明构思的实施例。尽管在本文中特定术语被用于描述实施例,但是其仅被用来描述本发明构思的技术理念,而不意图限制如在所附权利要求中描述的本发明构思的范围。因此,本领域普通技术人员将理解从其可以得到各种修改实施例和等效实施例。因此,本发明构思的精神和范围应当通过所附权利要求书来定义。

以上描述的方法的各种操作可以通过能够执行操作的任何合适的装置来执行,诸如各种硬件和/或(一个或多个)软件组件、电路和/或(一个或多个)模块。

在所公开的系统和/或方法中所采用的软件可以包括用于实施逻辑功能的可执行指令的有序列表,并且可以被具体化为供下述使用或与下述结合使用的任何“处理器可读介质”:指令运行系统、装置或设备,诸如单核或多核处理器或者包含处理器的系统。

结合在本文所公开的实施例而描述的方法或算法和功能的块或步骤可以直接地具体化为硬件、通过处理器运行的软件模块、或两者的组合。如果实施为软件,则用于运行功能的指令或代码可以存储在有形的、非暂态的计算机可读介质上或经由有形的、非暂态的计算机可读介质传送。软件模块可以驻留在随机访问存储器(ram)、闪速存储器、只读存储器(rom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、寄存器、硬盘、可移除盘、cdrom或本领域已知的任何其他形式的存储介质。

虽然已经参考本发明构思的实施例具体地示出并且描述了本发明构思,但是将理解在不背离所附权利要求书的精神和范围的情况下,可以在其中进行各种形式上和细节上的改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1