存储器装置、存储装置以及存储装置的操作方法与流程

文档序号:27484232发布日期:2021-11-20 02:22阅读:155来源:国知局
存储器装置、存储装置以及存储装置的操作方法与流程
存储器装置、存储装置以及存储装置的操作方法
1.本技术要求于2020年5月13日在韩国知识产权局提交的第10

2020

0057190号韩国专利申请的权益,所述韩国专利申请的公开通过引用包含于此。
技术领域
2.发明构思涉及存储器装置,更具体地,涉及存储器装置、包括存储器装置的存储装置以及存储装置的操作方法。


背景技术:

3.作为非易失性存储器的闪存即使在断电时也可保持存储的数据。近来,包括闪存(诸如,嵌入式多媒体卡(emmc)、通用闪存(ufs)、固态驱动器(ssd)以及存储卡)的存储装置已被广泛用于存储或移动大量数据。一直需要可提高存储装置的可靠性的方法和装置。


技术实现要素:

4.发明构思提供了一种能够提高存储装置的可靠性的存储器装置、包括该存储器装置的存储装置以及该存储装置的操作方法。
5.根据本发明的示例性实施例,一种存储装置的操作方法包括:检测在包括多个存储器区域的源存储器区域是否已经发生回收事件;将回收优先级值设置到所述多个存储器区域中的每个;和根据所述多个存储器区域中的每个的回收优先级值,对源存储器区域执行回收操作。回收操作将存储在源存储器区域中的数据移动到目的地存储器区域。
6.根据本发明的示例性实施例,一种存储装置包括:非易失性存储器装置;和控制器,能够操作地结合到非易失性存储器装置,并且被配置为:检测在非易失性存储器装置的源存储器区域是否已经发生回收事件,其中,源存储器区域包括多个存储器区域;将回收优先级值设置到所述多个存储器区域中的每个;和基于所述多个存储器区域中的每个的回收优先级值,对源存储器区域执行回收操作。
7.根据本发明的示例性实施例,一种存储器装置包括:存储器单元阵列,包括:多个存储器块,所述多个存储器块中的每个包括多个页;和控制逻辑电路,被配置为:生成用于以存储器块为单位执行回收操作的控制信号。控制逻辑电路被配置为:根据每页的回收优先级值,通过将所述多个存储器块之中的源块的每页的数据移动到所述多个存储器块之中的目的地块来执行回收操作。
附图说明
8.从下面的结合附图的详细描述,将更清楚地理解发明构思的实施例,其中:
9.图1是示出根据实施例的存储系统的框图;
10.图2是示出包括在图1的存储装置中的控制器的框图;
11.图3是示出根据实施例的存储装置的操作方法的流程图;
12.图4是示出包括在图1的非易失性存储器中的存储器装置的框图;
13.图5是根据实施例的包括在存储器装置的存储器单元阵列中的存储器块的等效电路图;
14.图6a和图6b是示出根据实施例的存储装置的回收(reclaim)操作的示图;
15.图7是示出根据实施例的存储装置的回收操作的示图;
16.图8是示出根据实施例的存储装置的操作方法的流程图;
17.图9a和图9b是示出图8的操作s23的示图;
18.图10a和图10b是示出图8的操作s23的示图;
19.图11是示出根据实施例的存储装置的操作方法的流程图;
20.图12是示出根据实施例的存储装置的操作方法的流程图;
21.图13至图16是示出根据实施例的存储装置的操作方法的流程图;以及
22.图17是示出根据实施例的非易失性存储器中的超级块的分组的框图。
具体实施方式
23.图1是示出根据实施例的存储系统10的框图。
24.存储系统10可被实现为例如个人计算机(pc)、数据服务器、网络附接存储(nas)、物联网(iot)装置或便携式电子装置。便携式电子装置可包括膝上型计算机、移动电话、智能电话、平板pc、个人数字助理(pda)、企业数字助理(eda)、数码相机、数码摄相机、音频装置、便携式多媒体播放器(pmp)、个人导航装置(pnd)、mp3播放器、手持游戏机、电子书、可穿戴装置等。
25.存储系统10可包括存储装置(storage device)100和主机200。主机200可控制存储装置100的操作。在一个实施例中,存储装置100可包括一个或多个固态驱动器(ssd)。当存储装置100包括ssd时,存储装置100可包括存储数据的多个闪存装置(例如,nand存储器装置(memory device))。
26.存储装置100可包括一个或多个闪存装置。在一个实施例中,存储装置100可以是嵌入在存储系统10中的嵌入式存储器。例如,存储装置100可以是嵌入式多媒体卡(emmc)或嵌入式通用闪存(ufs)存储器装置。在一个实施例中,存储装置100可以是可从存储系统10拆卸的外部存储器。例如,存储装置100可以是ufs存储卡、紧凑型闪存(cf)卡、安全数字(sd)卡、微型安全数字(micro

sd)卡、迷你安全数字(mini

sd)卡、极限数字(xd)或记忆棒。
27.参照图1,存储系统10可包括存储装置100和主机200,并且存储装置100可包括控制器110和非易失性存储器120。主机200可通过各种接口与存储装置100通信,并且可将请求req(诸如,读取请求和编程请求)传送到存储装置100。在一个实施例中,主机200可被实现为应用处理器(ap)或片上系统(soc)。
28.控制器110可通过通道ch1至chi控制非易失性存储器120的操作。控制器110可响应于主机200的读取请求来控制非易失性存储器120读取存储在非易失性存储器120中的数据data,或者响应于主机200的写入请求将数据data编程到非易失性存储器120。
29.当回收(reclaim)事件已经发生时,控制器110可通过控制非易失性存储器120来执行回收操作。此时,“回收操作”表示将源存储器区域中的数据移动到目的地存储器区域并通过擦除源存储器区域的数据来重新使用源存储器区域的操作。具体地,在回收操作中,控制器110可读取存储在源存储器区域中的有效数据,并且将读取的有效数据编程到目的
地存储器区域。因此,映射表中的与有效数据对应的地址可从源存储器区域被改变到目的地存储器区域。在一个示例实施例中,源存储器区域可对应于具有已经发生回收事件的至少一页的存储器块,目的地存储器区域可对应于用于存储从源存储器移动的有效数据的空闲块。发明不限于此。在一个示例实施例中,源存储器区域可对应于存储器块的部分,目的地存储器区域可对应于空闲块的部分。存储器块可以是擦除操作的单位(即,以存储器块为单位执行擦除操作)。
30.在一个实施例中,控制器110可包括回收调度器114。回收调度器114可设置作为回收操作的目标的存储器区域的回收优先级值,并且可根据设置的优先级值来设置在其中执行回收操作的存储器区域的次序。回收调度器114可随着与注册在回收队列(例如,图2的rq)中的存储器区域对应的优先级值增大,按优先级调度将被执行的回收操作。在一个实施例中,回收调度器114可设置包括在作为回收操作的目标的源存储器块(例如,图4中的blk1至blkn中的一个)中的多个页(例如,图4的pg1至pgm)的回收操作的回收优先级值。
31.在一个实施例中,回收调度器114可针对已经发生回收事件的存储器区域设置第一值(即,第一回收优先级值)的优先级,针对预期发生回收事件的存储器区域设置第二值(即,第二回收优先级值)的优先级,并且针对其它存储器区域设置第三值(即,第三回收优先级值)的优先级。预期发生回收事件的存储器区域可以是由于存储器区域的物理结构而具有低数据可靠性的先前指定的存储器区域。将参照图9b和图10a描述先前指定的存储器区域。在回收操作中,第一值可比第二值优先,第二值可比第三值优先,但是发明构思不限于此,并且第二值可比第一值优先,第一值可比第三值优先。随着优先级值增大,回收操作可在具有更高值的存储器区域上被更早地执行。在一个示例实施例中,在回收操作中,具有第一值的存储器区域可比具有第二值和第三值的存储器区域优先。在回收操作中,具有第一值的存储器区域的数据可首先被移动到目的地区域,具有第二值和第三值的存储器区域的数据可较晚地被移动到目的地区域。在具有第二值和第三值的存储器区域之中,具有第二值的存储器区域的数据被移动到目的地区域,然后,具有第三值的存储器区域的数据被移动到目的地区域。
32.在一个实施例中,非易失性存储器120可包括存储数据的多个存储器装置nvm1至nvmi。多个存储器装置nvm1至nvmi中的每个可以是半导体芯片或半导体裸片。多个存储器装置nvm1至nvmi中的每个可连接到对应的通道。例如,非易失性存储器120可包括通过第一通道ch1连接到控制器110的存储器装置nvm1、通过第二通道ch2连接到控制器110的存储器装置nvm2、以及通过第i通道chi连接到控制器110的存储器装置nvmi。此时,i可以是3或更大的整数。在多个存储器装置nvm1至nvmi之中,连接到同一通道的一组存储器装置可以以交错方式执行编程、读取和擦除操作。
33.多个存储器装置nvm1至nvmi中的每个可包括存储器单元阵列(例如,图4的122)。在一个实施例中,存储器单元阵列122可包括闪存单元。例如,闪存单元可以是nand闪存单元。然而,发明构思不限于此,并且存储器单元可以是电阻式存储器单元(诸如,电阻式ram(reram)单元、相变ram(pram)单元或磁ram(mram)单元)。
34.根据发明构思的存储装置100可预先设置作为回收操作的目标的存储器区域的回收优先级,并且根据回收优先级执行回收操作。存储装置100可优先对已经发生回收事件的源存储器区域执行回收操作,从而即使当从主机200接收到请求req时,也防止对源存储器
区域的回收操作被过度延迟。
35.图2是详细示出包括在图1的存储装置100中的控制器110的框图。
36.参照图1和图2,控制器110可包括处理器111、主机接口112、存储器113、回收调度器114以及非易失性存储器接口115,它们可经由总线116彼此通信。处理器111可包括中央处理器或微处理器,并且控制控制器110的所有操作。处理器111可包括能够执行被配置为执行特定操作的程序代码的指令集的一个或多个处理器核。例如,处理器111可执行存储在存储器113中的固件的命令代码。
37.回收调度器114可设置作为回收操作的目标的存储器区域的回收操作的优先级,并且根据回收优先级调度将被执行的回收操作。回收调度器114可用硬件、软件或固件来实现。当回收调度器114用软件或固件实现时,回收调度器114可被加载到存储器113中,并且在处理器111的控制下进行操作。存储器113可用作操作存储器、缓冲存储器、高速缓冲存储器等,并且例如被实现为动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pram)或闪存。
38.命令队列cq可被实现为存储器113的部分。根据从主机200接收的请求req的命令可被排队到命令队列cq中。例如,当写入请求被接收到时,与写入请求对应的写入命令可被排队到命令队列cq中,并且当读取请求被接收到时,与读取请求对应的读取命令可被排队到命令队列cq中。
39.回收队列rq可被实现为存储器113的部分。在回收队列rq中,关于已经发生回收事件的存储器区域的信息可被存储,并且关于作为回收操作的目标的存储器区域的回收优先级的信息可被存储。也就是说,在回收队列rq中,源存储器区域的地址可被注册,并且与其对应的回收优先级的值可被存储。例如,回收队列rq可存储指示存储器块中的每页的回收优先级的优先级值。可选地,例如,回收队列rq可存储指示每个存储器块的回收优先级的优先级值。
40.元数据缓冲器mb可被实现为存储器113的部分或单独的dram芯片。存储在元数据缓冲器mb中的元数据可被存储在非易失性存储器120的元区域中,并且当电力被施加到存储装置100时,可被加载到非易失性存储器120中的元数据缓冲器mb中。
41.关于非易失性存储器120的存储器区域的退化信息(degradation information)可作为元数据被存储在元数据缓冲器mb中。在一个实施例中,退化信息可针对每个存储器块或每页而被存储。例如,指示预期发生回收事件的存储器区域的退化信息可被存储在元数据缓冲器mb中。例如,诸如指示由于存储器区域的物理结构而具有低数据可靠性的存储器区域的退化信息,或者指示具有大于参考值的擦除操作的擦除计数的存储器区域的退化信息可被存储在元数据缓冲器mb中。擦除计数表示对存储器区域执行擦除操作的次数。例如,退化信息可包括具有低数据可靠性的存储器区域的行地址或具有大于参考值的擦除计数的存储器阵列的行地址。回收调度器114可基于存储在元数据缓冲器mb中的退化信息来设置作为回收操作的目标的存储器区域的回收优先级。
42.主机接口112可提供主机200与控制器110之间的接口。例如,主机接口112可提供基于通用串行总线(usb)、多媒体卡(mmc)、外围组件互连快速(pci

e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、串行连接scsi(sas)、增强型小型装置接口(esdi)以及智能驱动电子设备(ide)的接口。非易失性存储器接口115
可提供控制器110与非易失性存储器120之间的接口。例如,退化信息、映射表、写入数据和读取数据可通过非易失性存储器接口115在控制器110与非易失性存储器120之间被发送和接收。
43.图3是示出根据实施例的存储装置100的操作方法的流程图。图3中示出的操作s10至操作s30的操作方法可以时间上连续地由图1的存储装置100执行。
44.参照图1和图3,在操作s10中,存储装置100可检测回收事件的发生。在一个实施例中,存储装置100可读取特定存储器区域中的数据,并且可在数据的错误比特率(ebr)大于或等于参考值时确定回收事件已经发生。可选地,在一个实施例中,当对特定存储器区域的读取操作失败时,存储装置100可通过固件执行恢复代码,并且响应于固件中实现的恢复代码的特定防御代码,确定在特定存储器区域中已经发生回收事件。称为“防御代码”的算法可在图1的控制器110中被实现,以校正或恢复读取错误。作为处理已经发生的读取错误的恢复代码的防御代码可在固件中实现。在一个示例实施例中,恢复代码可允许使用变化的读取参考电压重复读取操作(即,读取重试操作),直到错误校正被完成。
45.例如,当从主机200接收到读取请求时,存储装置100可通过主机读取操作从非易失性存储器120的特定存储器区域读取数据data,并且基于读取数据data来确定是否执行回收操作。稍后将在图12的操作s10中描述通过主机读取操作确定是否执行回收操作的方法的详细示例。
46.可选地,例如,存储装置100可通过后台(background)读取操作从非易失性存储器120的特定存储器区域读取数据,并且基于读取数据来确定是否执行回收操作。“后台读取操作”表示由控制器110自身发出读取命令而不从主机200接收读取请求来从非易失性存储器120读取数据的操作。稍后将在图13至图16的操作s10a至操作s10d中描述通过后台读取操作确定是否执行回收操作的方法的详细示例。
47.在操作s20中,存储装置100可设置回收操作目标的回收优先级。例如,在操作s10中,回收优先级值可被设置到已经发生回收事件的存储器区域,使得回收操作可首先被执行,并且较后次序的回收优先级值可被设置到未发生回收事件但作为回收操作目标的存储器区域。
48.在操作s30中,存储装置100可根据设置的回收优先级来执行回收操作。例如,在操作s10中,存储装置100首先可对已经发生回收事件的存储器区域执行回收操作,随后接着可对未发生回收事件但作为回收操作目标的存储器区域执行回收操作。
49.根据发明构思的存储装置100可预先对存储器区域设置回收操作的优先级值,并且根据设置的优先级值执行回收操作。因此,即使当请求req从主机200被接收到时,存储装置100也可防止对已经发生回收事件的存储器区域的回收操作被过度延迟。非易失性存储器120和存储装置100的数据可靠性可被提高。
50.图4是示出包括在图1的非易失性存储器120中的存储器装置120a的框图。
51.参照图1和图4,存储器装置120a可包括存储器单元阵列122、地址解码器123、控制逻辑块124、页缓冲器125、输入/输出电路126以及电压生成器127。尽管未示出,但是存储器装置120a还可包括输入/输出接口。
52.存储器单元阵列122可连接到字线wl、串选择线ssl、地选择线gsl和位线bl。存储器单元阵列122可通过字线wl、串选择线ssl和地选择线gsl连接到地址解码器123,并且可
通过位线bl连接到页缓冲器125。存储器单元阵列122可包括多个存储器块blk1至blkn。
53.存储器块blk1至blkn中的每个可包括多个存储器单元和多个选择晶体管。存储器单元可连接到字线wl,选择晶体管可连接到串选择线ssl或地选择线gsl。存储器块blk1至blkn中的每个的存储器单元可包括存储1位数据的单层单元(slc)或存储2位或更多数据的多层单元(mlc)。
54.多个存储器块blk1至blkn中的每个可包括多个页pg1至pgm。页pg1至pgm中的每个可对应于一个存储器块中的数据的编程单元或读取单元。在一个实施例中,包括在页pg1至pgm中的每个中的存储器单元可连接到同一字线。
55.地址解码器123可选择存储器单元阵列122的多个存储器块blk1至blkn中的一个,可选择选择的存储器块的字线wl中的一条,并且可选择多条串选择线ssl中的一条。
56.控制逻辑块124(或控制逻辑电路)可基于命令cmd、地址addr和控制信号ctrl输出用于对存储器单元阵列122执行编程操作、读取操作和擦除操作的各种控制信号。控制逻辑块124可将行地址x

addr提供给地址解码器123,将列地址y

addr提供给页缓冲器125,并且将电压控制信号ctrl_vol提供给电压生成器127。
57.控制逻辑块124可以以多个存储器块blk1至blkn中的每个为单位执行擦除操作。控制逻辑块124可以以多个页pg1至pgm中的每个为单位执行读取操作或编程操作。
58.在一个实施例中,控制逻辑块124可以以多个存储器块blk1至blkn中的每个为单位执行回收操作。例如,控制逻辑块124可通过以包括在第二存储器块blk2(作为多个存储器块blk1至blkn之中已经发生回收事件的源存储器块)中的页为单位读取数据、以页为单位将数据编程到多个存储器块blk1至blkn之中的目的地存储器块、并且擦除第二存储器块blk2,来执行回收操作。
59.在一个实施例中,当对第二存储器块blk2执行回收操作时,控制逻辑块124可优先对已经发生回收事件的第二页pg2、第四页pg4和第m

1页pgm

1执行回收操作。因此,控制逻辑块124可不以行地址x

addr的次序对第二存储器块blk2执行回收操作。例如,当对第二存储器块blk2执行回收操作时,控制逻辑块124可优先对第二页pg2、第四页pg4和第m

1页pgm

1执行回收操作,然后以从第二存储器块blk2的第一页pg1到第m页pgm的自上到下的次序或者以从第m页pgm到第一页pg1的自下到上的次序对剩余页执行回收操作。
60.页缓冲器125可根据操作模式而操作为写入驱动器或感测放大器。在读取操作期间,页缓冲器125可在控制逻辑块124的控制下感测选择的存储器单元的位线bl。感测的数据可被存储在页缓冲器125内部提供的锁存器中。页缓冲器125可在控制逻辑块124的控制下将存储在锁存器中的数据转储到输入/输出电路126。
61.输入/输出电路126可临时存储通过输入/输出线i/o从存储器装置120a的外部提供的命令cmd、地址addr、控制信号ctrl和数据data。输入/输出电路126可临时存储存储器装置120a的读取数据,并且在指定的时间通过输入/输出线i/o将读取数据输出到外部。
62.电压生成器127可基于电压控制信号ctrl_vol生成用于对存储器单元阵列122执行编程操作、读取操作和擦除操作的各种类型的电压。具体地,例如,电压生成器127可生成字线电压vwl、编程电压、读取电压、通过电压、擦除验证电压或编程验证电压。此外,电压生成器127可基于电压控制信号ctrl_vol生成串选择线电压和地选择线电压。此外,电压生成器127可生成将被提供给存储器单元阵列122的擦除电压。
63.图5是根据实施例的包括在存储器装置120a的存储器单元阵列121中的存储器块blk的等效电路图。在图5中,示出了具有形成在基底上的垂直通道结构的nand闪存装置的等效电路图。
64.参照图5,包括在存储器单元阵列121中的存储器块blk可包括多个存储器单元串ms。存储器块blk可包括多条位线bl(例如,bl1至blk)、多条字线wl(例如,wl1至wlm)、多条串选择线ssl(例如,ssl1至sslk)、至少一条地选择线gsl以及公共源极线csl。多个存储器单元串ms可形成在多条位线bl1至blk与公共源极线csl之间。
65.多个存储器单元串ms中的每个可包括串选择晶体管sst、地选择晶体管gst以及多个存储器单元mc1至mcm。串选择晶体管sst的漏极区域可连接到位线bl,地选择晶体管gst的源极区域可连接到公共源极线csl。公共源极线csl可以是多个地选择晶体管gst的源极区域共同连接的区域。
66.为了独立地控制多个存储器单元串ms,包括在多个存储器单元串ms中的每个中的串选择晶体管sst可连接到不同的串选择线ssl。例如,串选择晶体管sst可连接到串选择线(例如,ssl1、ssl2和ssl3中的一条)。
67.地选择晶体管gst可连接到地选择线gsl。在一个实施例中,包括在存储器块blk的多个存储器单元串ms中的不同的地选择晶体管gst可连接到同一地选择线gsl,但不限于此,并且可连接到不同的地选择线gsl。
68.构成存储器块blk中的存储器单元串ms的多个存储器单元mc1至mcm可具有在垂直于基底的主表面的z轴方向上串联连接的结构。在存储器块blk中,多条字线wl可在x轴方向上延伸,多条位线bl可在y轴方向上延伸。
69.存储器单元串ms的存储器单元mc1至mcm可分别连接到多条字线wl。多个存储器单元mc1至mcm中的每个可存储一位数据或者两位或更多位数据。在一个实施例中,多个存储器单元mc1至mcm中的一些存储器单元可以是单层单元,多个存储器单元mc1至mcm中的其它存储器单元可以是多层单元。例如,形成在多个存储器单元mc1至mcm之中的最下层(即,设置在最靠近基底)并连接到第一字线wl1的多个存储器单元mc1至mcm之中的第一存储器单元mc1可以是单层单元。此外,例如,形成在多个存储器单元mc1至mcm之中的最上层并连接到第m字线wlm的多个存储器单元mc1至mcm之中的第m存储器单元mcm可以是单层单元。在最上层和最下层形成的多个存储器单元mc1至mcm之中的存储器单元(例如,第一存储器单元mc1和第m存储器单元mcm)可形成为单层单元,因此数据可靠性可被提高。
70.在多个存储器单元串ms中,编程操作和读取操作可以以页为单位被执行。页可以是连接到一条字线的一行存储器单元。在一个示例实施例中,多个存储器单元mc1至mcm中的每个可由多条字线wl中的对应一条以页为单位被选择。
71.图6a和图6b是示出根据实施例的存储装置100的回收操作的示图。
72.参照图2和图6a,根据图3的操作s10的已经发生回收事件的第二存储器块blk2可作为源块被注册在回收队列rq中。关于第二存储器块blk2的信息可被存储在回收队列rq中。在一个实施例中,针对包括在第二存储器块blk2中的多个页pg1至pgm的每个物理地址(pa),回收优先级值可被存储在回收队列rq中。例如,在回收队列rq中,与第四页pg4对应的第一值pv1的回收优先级可被设置,与第m

1页pgm

1对应的第二值pv2的回收优先级可被设置,与其它页对应的第三值pv3的回收优先级可被设置。
73.在一个实施例中,第四页pg4可以是已经发生回收事件的目标存储器区域。在一个实施例中,第m

1页pgm

1可以是预期发生回收事件的存储器区域。
74.控制器110可基于存储在回收队列rq中的回收优先级值来确定包括在第二存储器块blk2中的多个页pg1至pgm的回收操作的次序。例如,第一值pv1可比第二值pv2大,第二值pv2可比第三值pv3大。控制器110可优先对具有相对大的回收优先级值的存储器区域执行回收操作。在图6a中,三个不同的回收优先级值pv1、pv2和pv3作为示例被描述,但这是为了便于描述,并且回收优先级值可被不同地设置。
75.控制器110可从连接到第四字线wl4的第二存储器块blk2的第四页pg4读取数据,然后将读取数据移动到目的地块db的第一页pg1。此后,控制器110可从连接到第m

1字线wlm

1的第二存储器块blk2的第m

1页pgm

1读取数据,然后将读取数据移动到目的地块db的第二页pg2。目的地块db可以是从多个存储器块blk1至blkn中排除第二存储器块blk2的空闲块之一。
76.控制器110可以以行地址的次序对具有相同回收优先级值的页执行回收操作。例如,回收操作可以以连接到第一字线wl1的第二存储器块blk2的第一页pg1、连接到第二字线wl2的第二存储器块blk2的第二页pg2、连接到第三字线wl3的第二存储器块blk2的第三页pg3、以及连接到第m字线wlm的第二存储器块blk2的第m页pgm的次序被顺序地执行,并且数据可被顺序地编程在目的地块db的第3页pg3至第m页pgm中。然而,根据发明构思的存储装置100不限于以从下到上的行地址的次序对目的地块db中的数据进行编程。存储装置100可以以从上到下的行地址的次序对目的地块db中的数据进行编程。
77.参照图2和图6b,控制器110可将编程在多层单元中的数据移动到单层单元,在多层单元存储作为源块的第二存储器块blk2的2位或更多数据,在单层单元存储目的地块db的1位数据。
78.例如,第二存储器块blk2的第四页pg4和第m

1页pgm

1可包括存储有2位数据的多层单元,而目的地块db的第一页pg1和第二页pg2可包括存储有1位数据的单层单元,并且目的地块db的第三页pg3可包括存储有2位数据的多层单元。控制器110可读取连接到第四字线wl4的第二存储器块blk2的第四页pg4,然后将数据移动到目的地块db的第一页pg1和第二页pg2。此后,控制器110可读取连接到第m

1字线wlm

1的第二存储器块blk2的第m

1页pgm

1,然后将数据移动到目的地块db的第三页pg3。当数据从存储有3位数据的三层单元移动到单层单元时,或当数据从三层单元移动到存储有2位数据的多层单元时,也可应用以上描述。相反,即使当数据从单层单元移动到存储有2位或更多数据的多层单元时,也可应用以上描述。
79.图7是示出根据实施例的存储装置100的回收操作的示图。
80.参照图1和图7,根据图3的操作s10的已经发生回收事件的第一存储器块blk1、第三存储器块blk3和第n存储器块可分别被注册为回收队列rq中的第一源块至第三源块。源块的物理地址和与物理地址对应的回收优先级值可被存储在回收队列rq中。例如,在回收队列rq中,与第一存储器块blk1对应的第一值pv1的回收优先级值可被设置,与第n存储器块blkn对应的第二值pv2的回收优先级值可被设置,与第三存储器块blk3对应的第三值pv3的回收优先级值可被设置。
81.控制器110可基于存储在回收队列rq中的回收优先级值来确定在回收队列rq中注
册的存储器块之间的回收操作的优先级。例如,第一值pv1可比第二值pv2大,第二值pv2可比第三值pv3大。控制器110可优先对具有相对大的回收优先级值的存储器区域执行回收操作。
82.控制器110可从作为第一源块的第一存储器块blk1读取数据,将数据移动到第一目的地块db1,然后擦除第一存储器块blk1。接下来,控制器110可从作为第二源块的第n存储器块blkn读取数据,将数据移动到第二目的地块db2,然后擦除第n存储器块blkn。然后,控制器110可从作为第三源块的第三存储器块blk3读取数据,将数据移动到第三目的地块db3,然后擦除第三存储器块blk3。第一目的地块db1至第三目的地块db3可被包括在多个存储器块blk1至blkn中的排除第一存储器块blk1、第三存储器块blk3和第n存储器块blkn的空闲块中。
83.当控制器110对第一存储器块blk1、第三存储器块blk3和第n存储器块blkn中的每个执行回收操作时,参照图6a和图6b提供的描述可被应用于包括在第一存储器块blk1、第三存储器块blk3和第n存储器块blkn中的每个中的多个页pg1至pgm之间的回收操作次序。也就是说,在包括在第一存储器块blk1、第三存储器块blk3和第n存储器块blkn中的每个中的多个页pg1至pgm之中,可优先对已经发生回收事件的页执行回收操作。可选地,对包括在第一存储器块blk1、第三存储器块blk3和第n存储器块blkn中的每个中的多个页pg1至pgm的回收操作可以以从下到上的行地址的次序或以从上到下的行地址的次序被执行。
84.图8是示出根据实施例的存储装置100的操作方法的流程图,并且是图3的操作s20的示例。操作s20可包括操作s21至操作s25。
85.参照图1和图8,在操作s21中,存储装置100可针对回收操作目标之中已经发生回收事件的第一存储器区域设置第一值的回收优先级值。在一个实施例中,当从第一存储器区域读取的数据的错误比特率等于或大于参考值,或者针对第一存储器区域的读取重试执行特定的预定防御代码(以消除数据错误)时,存储装置100可确定在第一存储器区域中已经发生回收事件。
86.在操作s23中,存储装置100可针对回收操作目标之中预期发生回收事件的第二存储器区域设置第二值的回收优先级值。例如,即使存储装置100没有确定回收事件是否已经发生,当回收事件很可能发生时,存储装置100也可设置第二值的回收优先级值。在一个实施例中,预期发生回收事件的第二存储器区域可以是先前指定的存储器区域,或者由于物理结构而具有低数据可靠性的存储器区域。稍后参照图9a、图9b、图10a和图10b描述预期发生回收事件的存储器区域的描述。
87.在操作s25中,存储装置100可针对除了回收操作的目标之外的第三存储器区域(即,未发生回收事件并且未预期发生回收事件的第三存储器区域)设置第三值的回收优先级值。
88.在执行操作s20之后,存储装置100可对第一存储器区域执行回收操作,然后存储装置100可对第二存储器区域执行回收操作,最后存储装置100可对具有第三值的第三存储器区域执行回收操作。根据发明构思的存储装置100可首先对已经发生回收事件的存储器区域执行回收操作,然后对预期发生回收事件的存储器区域执行回收操作,从而防止数据退化。
89.图9a和图9b是示出图8的操作s23的示图。图9a和图9b是示出确定包括在存储器块
中的多个页之中预期发生回收事件的存储器区域的方法的示图。
90.参照图9a,可假设针对存储器块blk2的第二页pg2的读取命令(read cmd)被发出。此时,读取命令read cmd可由于主机读取操作而被发出,或者读取命令read cmd可由于后台读取操作而被发出。
91.读取电压可被施加到连接到第二页pg2的第二字线wl2,以读取第二页pg2。因此,应力(stress)可被施加到作为与第二字线wl2邻近的字线的第一字线wl1和第三字线wl3中的每条,并且编程在分别连接到第一字线wl1和第三字线wl3的第一页pg1和第三页pg3中的数据可能被损坏。也就是说,读取干扰(disturb)可发生在第一页pg1和第三页pg3。
92.因此,连接到与执行读取操作的第二字线wl2邻近的字线的第一页pg1和第三页pg3可通过存储在元数据缓冲器(例如,图2中的mb)中的退化信息作为预期发生回收事件的存储器区域被单独地管理。在图9a中,仅分别连接到与第二字线wl2直接邻近的第一字线wl1和第三字线wl3的第一页pg1和第三页pg3被描述,但是发明构思不限于此。连接到第四字线wl4的第四页pg4也可被确定为预期发生回收事件的存储器区域。
93.参照图5和图9b,当存储器装置被实现为包括具有垂直结构的nand闪存装置时,第一字线wl1至第m字线wlm可形成为相对于基底在z轴方向上被顺序地堆叠。分别连接到第一字线wl1至第m字线wlm的第一页pg1至第m页pgm也可形成为相对于基底被顺序地堆叠。
94.存储器块blk2可包括靠近基底的底层区域bla、设置在底层区域bla之上的中间层区域mla以及设置在中间层区域mla之上的顶层区域tla(即,最远离基底的顶层区域tla)。例如,底层区域bla可包括第一页pg1和第二页pg2,顶层区域tla可包括第m

1页pgm

1和第m页pgm,中间层区域mla可包括剩余页。
95.与中间层区域mla相比,包括在底层区域bla中的页(例如,第一页pg1和第二页pg2)可在结构上具有相对低的数据可靠性。另外,与中间层区域mla相比,包括在顶层区域tla中的页(例如,第m

1页pgm

1和第m页pgm)可在结构上具有相对低的数据可靠性。因此,通过存储在元数据缓冲器(例如,图2的mb)中的退化信息,包括在底层区域bla中的页可作为预期发生回收事件的存储器区域被管理,包括在顶层区域tla中的页可作为预期发生回收事件的存储器区域被管理。在一个示例实施例中,退化信息可包括位于底层区域bla中的页的页地址或位于顶层区域tla中的页的页地址。在一个示例实施例中,图1的控制器110可将存储为退化信息的页地址视为预期发生回收事件,并且检查在与存储为退化信息的页地址对应的页是否已经发生回收事件。
96.图10a和图10b是示出图8的操作s23的示图。图10a和图10b是示出确定多个存储器块之中预期发生回收事件的存储器块的方法的示图。
97.参照图5和图10a,存储器单元阵列区域mca和地址解码器区域rda可在x轴方向上并排布置。存储器单元阵列122可设置在存储器单元阵列区域mca中,地址解码器123可设置在地址解码器区域rda中。
98.存储器单元阵列区域mca可包括设置在中心的中心区域ca以及设置在中心区域ca的上侧和下侧的第一边缘区域ea1和第二边缘区域ea2。与布置在中心区域ca中的存储器块相比,设置在第一边缘区域ea1和第二边缘区域ea2中的存储器块可在结构上具有相对低的数据可靠性。因此,设置在第一边缘区域ea1和第二边缘区域ea2中的存储器块可通过存储在元数据缓冲器(例如,图2的mb)中的退化信息而作为预期发生回收事件的存储器区域被
管理。在一个示例实施例中,退化信息可包括位于第一边缘区域ea1和第二边缘区域ea2中的页的行地址。在一个示例实施例中,图1的控制器110可将存储为退化信息的页地址视为预期发生回收事件,并且检查在与存储为退化信息的页地址对应的页是否已经发生回收事件。
99.参照图10b,多个存储器块blk1至blkn的退化信息mblk1至mblkn可被存储在元数据缓冲器mb中。例如,多个存储器块blk1至blkn的擦除计数ec1至ecn可分别作为退化信息mblk1至mblkn被存储在元数据缓冲器mb中。
100.随着擦除计数增大,对应的存储器块的退化程度可增大。具有等于或大于参考值的擦除计数的存储器块可作为预期发生回收事件的存储器区域被单独地管理。通过存储在元数据缓冲器mb中的退化信息mblk1至mblkn,具有高擦除计数(例如,第二擦除计数ec2)的第二存储器块blk2可作为预期发生回收事件的存储器区域被单独地管理。
101.图11是示出根据实施例的存储装置100的操作方法的流程图,并且是图3的操作s30的示例。操作s30可包括操作s31至操作s37。在一个示例实施例中,图3的操作s30是对包括已经发生回收事件的第一存储器区域的源存储器区域执行的回收操作的部分。
102.参照图1和图11,在操作s31中,存储装置100可对已经发生回收事件的第一存储器区域执行回收操作。例如,存储装置100可对具有第一值的回收优先级值的第一存储器区域执行回收操作。在操作s31中,存储装置100还可对预期发生回收事件的第二存储器区域(例如,具有第二值的回收优先级值的存储器区域)执行回收操作。
103.在操作s33中,存储装置100可确定是否存在排队在命令队列(例如,图2的cq)中的命令。当请求req从主机200被接收到时,与请求req对应的命令可被排队到命令队列cq中。如果不存在排队在命令队列cq中的命令,则在操作s37中,存储装置100可对另外的存储器区域(例如,未发生回收事件的存储器区域)执行回收操作以完成对源存储器区域的回收操作。
104.如果存在排队在命令队列cq中的命令,则存储装置100可在操作s35中根据排队的命令执行操作。例如,当读取请求从主机200被接收到因此读取命令被排队到命令队列cq中时,存储装置100可在完成对源存储器区域的另外的存储器区域(例如,未发生回收事件的存储器区域)的回收操作之前执行读取操作。可选地,例如,当写入请求从主机200被接收到因此写入命令被排队到命令队列cq中时,存储装置100可在完成对源存储器区域的另外的存储器区域(例如,未发生回收事件的存储器区域)的回收操作之前执行写入操作。
105.当在操作s35中根据主机200的请求req的操作被完成时,在操作s37中,存储装置100可对其它存储器区域(即,未发生回收事件的第三存储器区域(例如,具有第三值的回收优先级值的存储器区域))执行回收操作。
106.根据发明构思的存储装置100可优先对已经发生回收事件的存储器区域执行回收操作,然后根据主机200的请求req执行操作,并且在根据主机200的请求req的操作之后,对未发生回收事件的剩余存储器区域执行回收操作,以完成对源存储器区域的回收操作。本发明不限于此。在一个示例实施例中,存储装置100可优先对已经发生回收事件的存储器区域执行回收操作,然后根据主机200的请求req执行操作,并且在根据主机200的请求req完成操作之后,对与第一存储器区域不同的第二存储器区域和第三存储器区域执行回收操作,以完成对源存储器区域的回收操作。在一个示例实施例中,存储装置100可优先对已经
发生回收事件的存储器区域以及预期发生回收事件的存储器区域执行回收操作,然后根据主机200的请求req执行操作,并且在根据主机200的请求req完成操作之后,对未发生回收事件的剩余存储器区域执行回收操作,以完成对源存储器区域的回收操作。因此,存储装置100可防止数据由于已经发生回收事件的存储器区域的回收操作中的延迟而退化,并且同时防止主机200的请求req的处理被延迟。
107.在图11的描述中,描述了在对第一存储器区域和第二存储器区域执行回收操作之后执行根据主机200的请求req的命令的实施例,但是根据发明构思的存储装置100不限于此。在一个实施例中,存储装置10可在对已经发生回收事件的第一存储器区域执行回收操作之后根据主机200的请求req来处理命令。随后,存储装置10可对预期发生回收事件的第二存储器区域执行回收操作。
108.图12是示出根据实施例的存储装置100的操作方法的流程图,并且是图3的操作s10和操作s20的示例。
109.参照图12,在操作s100中,主机200可将读取请求发送给存储装置100。
110.图3的操作s10可包括操作s11至操作s13。在操作s11中,存储装置100可响应于读取请求来读取数据。
111.在操作s13中,存储装置100可检查读取数据的错误,以确定回收事件是否已经发生。在一个实施例中,当读取数据的错误比特率大于或等于参考值时,存储装置100可确定回收事件已经发生。可选地,在一个实施例中,存储装置100可由于读取数据中的错误通过固件执行防御代码以执行读取重试,并且当执行先前指定的特定防御代码时确定回收事件已经发生。
112.在操作s20'中,存储装置100可设置与读取请求对应的存储器区域的回收优先级值。例如,当在操作s13中确定回收事件已经发生时,存储装置100可设置优先次序的优先级值(例如,第一值),使得优先对与读取请求相关的存储器区域执行回收操作。否则,当确定回收事件未发生时,存储装置100可将较后次序的优先级值(例如,第三值)设置到与读取请求对应的存储器区域。
113.图13至图16是示出根据实施例的存储装置100的操作方法的流程图,并且是图3的操作s10和操作s20的示例。图13至图16是示出存储装置100执行后台读取操作的实施例的示图。可周期性地执行关于图13至图16描述的每个操作。在图13至图16中,将省略与图12中相同的参考标号的冗余描述。
114.参照图1和图13,操作s10a可包括操作s11a和操作s13。在操作s11a中,存储装置100可读取连接到执行读取操作(后台读取操作)的字线的邻近字线的存储器区域中的数据。当读取操作被执行时,读取电压可被施加到特定字线,并且应力(读取干扰)可在与特定字线邻近的字线上被生成。因此,存储装置100可通过读取连接到执行读取操作的字线的邻近字线的存储器区域来确定回收事件是否已经发生。在操作s13中,存储装置100可检查数据中的错误,以确定回收事件是否已经发生。
115.在操作s20a中,存储装置100可设置连接到邻近字线的存储器区域的回收优先级值。例如,当在操作s13中确定回收事件已经发生时,存储装置100可设置优先次序的优先级值(例如,第一值),使得优先对连接到邻近字线的存储器区域执行回收操作。否则,当确定回收事件未发生时,存储装置100可将较后次序的优先级值(例如,第三值)设置到连接到邻
近字线的存储器区域。
116.参照图1和图14,操作s10b可包括操作s11b和操作s13。在操作s11b中,存储装置100可从存储有旧数据的存储器区域读取数据。在数据被编程之后,该数据可随时间退化。因此,当数据被编程之后经过参考时间或更长时间时,存储装置100可将数据确定为旧数据,并且通过读取存储有旧数据的存储器区域来确定回收事件是否已经发生。在操作s13中,存储装置100可检查数据中的错误,以确定回收事件是否已经发生。
117.在操作s20b中,存储装置100可设置存储有旧数据的存储器区域的回收优先级值。例如,当在操作s13中确定已经在存储有旧数据的存储器区域发生回收事件时,存储装置100可设置优先次序的优先级值,使得优先对存储有旧数据的存储器区域执行回收操作。否则,当确定回收事件未发生时,存储装置100可将较后次序的优先级值设置到存储有旧数据的存储器区域。
118.参照图1和图15,操作s10c可包括操作s11c和操作s13。在操作s11c中,存储装置100可从先前指定的存储器区域读取数据。先前指定的存储器区域可以是由于非易失性存储器的存储器单元阵列(例如,图4中的122)的物理结构而使数据可靠性可能低的存储器区域。关于先前指定的存储器区域的信息可作为退化信息被存储在元数据缓冲器mb中。
119.例如,如关于图9b所述,先前指定的存储器区域可以是包括在存储器块的底层区域bla或顶层区域tla中的页。可选地,例如,如参照图10a所述,先前指定的存储器区域可以是设置在第一边缘区域ea1和第二边缘区域ea2中的存储器块。在操作s13中,存储装置100可检查从底层区域bla或顶层区域tla读取的数据中的错误,以确定回收事件是否已经发生。
120.在操作s20c中,存储装置100可设置先前指定的存储器区域的回收优先级值。例如,当在操作s13中确定回收事件已经发生时,存储装置100可设置优先次序的优先级值,使得优先对先前指定的存储器区域执行回收操作。否则,当确定回收事件未发生时,存储装置100可将较后次序的优先级值设置到先前指定的存储器区域。
121.参照图1和图16,操作s10d可以包括操作s11d和操作s13。在操作s11d中,存储装置100可从多个存储器区域之中随机选择存储器区域,以读取选择的存储器区域的数据。例如,存储装置100可从图4的第一页pg1至第m页pgm之中随机选择第二页pg2,以读取数据。在操作s13中,存储装置100可检查数据中的错误,以确定回收事件是否已经发生。
122.在操作s20d中,存储装置100可设置选择的存储器区域的回收优先级值。例如,当在操作s13中确定回收事件已经发生时,存储装置100可设置优先次序的优先级值,使得优先对选择的存储器区域执行回收操作。否则,当确定回收事件未发生时,存储装置100可将较后次序的优先级值设置到选择的存储器区域。
123.图17是示出根据实施例的图1的非易失性存储器120中的超级块spb的分组的框图。
124.参照图1和图17,通过第一通道ch1与控制器110通信的存储器装置nvm1可包括第一存储器装置120_1至第j存储器装置120_j(j是大于或等于2的整数)。第一存储器装置120_1至第j存储器装置120_j可分别包括n个存储器块blk_11至blk_1n、blk_21至blk_2n以及blk_j1至blk_jn。
125.在第一存储器装置120_1至第j存储器装置120_j中,分配有相同地址的块(或设置
在相同位置的块)可被分组成一个超级块spb。例如,第一存储器装置120_1至第j存储器装置120_j的第二存储器块blk_12、blk_22和blk_j2可被分组成一个超级块spb。
126.在一个实施例中,存储装置100可以以超级块spb为单位执行回收操作。例如,当包括在第j存储器装置120_j的第二存储器块blk_j2中的第二页pg2、第四页pg4和第m

1页pgm

1中已经发生回收事件时,包括在超级块spb中的第二存储器块blk_12、blk_22与第j存储器装置120_j的第二存储器块blk_j2一起可被注册在回收队列(例如,图7的rq)中作为源块。
127.如关于图6a和图7所述,源块的物理地址和与物理地址对应的回收优先级值可被存储在回收队列rq中。例如,分别与第二存储器块blk_12、blk_22和blk_j2对应的回收优先级值可被设置在回收队列rq中。控制器110可基于存储在回收队列rq中的回收优先级值来执行回收操作。
128.例如,优先次序的回收优先级值(例如,第一值pv1)可被设置到已经发生回收事件的第j存储器装置120_j的第二存储器块blk_j2,并且回收操作可更优先于第j存储器装置120_j的其它存储器块而对第二存储器块blk_j2执行。此外,例如,第一值pv1的回收优先级值可被设置为第j存储器装置120_j的第二存储器块blk_j2的第二页pg2、第四页pg4和第m

1页pgm

1,并且回收操作可更优先于第二存储器块blk_j2的其它页而对第二存储器块blk_j2的第二页pg2、第四页pg4和第m

1页pgm

1页执行。
129.例如,较后次序的回收优先级值(例如,第三值pv3)可被设置到未发生回收事件的第一存储器装置120_1的第二存储器块blk_12,并且第一存储器装置120_1可在根据主机200的请求req执行操作之后执行回收操作。
130.虽然已经参照发明构思的实施例具体地示出并描述了发明构思,但是将理解,在不脱离权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1