一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据存储设备及其操作方法与流程

2022-08-30 23:21:55 来源:中国专利 TAG:

数据存储设备及其操作方法
1.相关申请的交叉引用
2.本技术要求于2021年2月26日向韩国知识产权局提交的、申请号为10-2021-0026222的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
3.各个实施例总体上可以地涉及一种半导体集成设备,更特别地,涉及一种数据存储设备及其操作方法。


背景技术:

4.数据存储设备可以使用易失性存储器装置或非易失性存储器装置作为存储介质以根据主机设备的请求执行数据输入/输出(i/o)操作。
5.作为数据存储介质的示例,存在使用闪存装置的存储设备。随着闪存装置的技术发展带来的容量的增加和价格竞争力的提高,使用闪存装置的存储设备可以实施在个人计算机(pc)或移动设备以及处理海量数据的数据中心。
6.作为非易失性存储器装置之一的闪存装置可以不执行重写或就地更新,并且可以具有与擦除单元不同的读取单元/写入单元。因此,根据主机设备的重写请求输入的数据可能不会被实际重写在闪存装置中,并且可能被存储在除了在其中已经存储了先前数据的区域之外的另一物理区域中。因此,闪存装置需要通过诸如垃圾收集、数据迁移、损耗均衡的内务处理操作来管理存储空间。


技术实现要素:

7.在本公开的实施例中,一种数据存储设备可以包括:存储装置,该存储装置包括多个存储块;以及控制器,该控制器被配置为将多个存储块中的每一个的属性设置为随机存储块或顺序存储块,并且使用映射分段位图管理存储在多个存储块中的每一个的数据的映射数据的有效性。在内务处理事件被触发时,该控制器通过组合设定数量的存储块来配置至少一个存储块集,并且基于逻辑地址的连续性或有效映射数据的数量或这二者,从至少一个存储块集中选择牺牲块集。
8.在本公开的实施例中,一种数据存储设备的操作方法,该设备包括包含多个存储块的存储装置和被配置为控制存储装置的控制器,该方法包括:由控制器将多个存储块中的每一个的属性设置为随机存储块或顺序存储块;由控制器将存储在多个存储块中的每一个的数据的映射数据的有效性作为映射分段位图来管理;在内务处理事件被触发时,由控制器通过组合设定数量的存储块来配置至少一个存储块集;以及由控制器基于逻辑地址的连续性或有效映射数据的数量或这二者,从至少一个存储块集中选择牺牲块集。
9.在本公开的实施例中,一种数据存储设备可以包括:存储装置,该存储装置包括多个存储块;以及控制器,该控制器被配置为响应于主机设备的请求向存储装置传输数据和从存储装置接收数据,其中该控制器:基于存储在多个存储块中的每一个中的数据的逻辑
地址的连续性,将多个存储块中的每一个的属性设置为随机存储块或顺序存储块管理;基于存储在多个存储块中的每一个中的数据的映射数据的有效性,为每个存储块生成映射分段位图;当内务处理事件被触发时,通过从随机存储块之中选择给定数量的存储块来配置至少一个存储块集;并且通过从至少一个存储块集中选择具有最大连续性的逻辑地址的存储块集作为牺牲块集,执行内务处理操作。
10.下面更详细地描述这些和其他特征、方面和实施例。
附图说明
11.通过结合附图进行的以下具体实施方式,将更清楚地理解本公开主题的上述和其他方面、特征和有益方面,其中:
12.图1是示出根据本公开的实施例的数据存储设备的配置的示图;
13.图2是示出根据本公开的实施例的控制器的配置的示图;
14.图3是示出根据本公开的实施例的控制器的配置的示图;
15.图4是示出根据本公开的实施例的映射分段表的配置的示图;
16.图5a和图5b是示出根据本公开的实施例的映射分段位图和交叉位图的示图;
17.图6示出了根据本公开的实施例的使用牺牲块的垃圾收集方法;
18.图7是说明根据本公开实施例的数据存储设备的操作方法的流程图;
19.图8a、8b和8c是各自说明根据本公开的实施例的数据存储设备的操作方法的流程图;
20.图9是示出根据实施例的数据存储系统的示图;
21.图10和图11是各自示出根据实施例的数据处理系统的示图;
22.图12是示出根据实施例的包括数据存储设备的网络系统的示图;
23.图13是示出根据实施例的包括在数据存储设备中的非易失性存储器装置的框图。
具体实施方式
24.参考附图详细描述本公开的各个实施例。附图是各个实施例(和中间结构)的示意图。因此,由于例如制造技术和/或公差而导致的图示的配置和形状的变化是可能的。因此,所描述的实施例不应被解释为限于本文所示的特定配置和形状,而是可以包括不脱离所附权利要求中限定的本教导的精神和范围的配置和形状的偏差。
25.本文参考本教导的理想化实施例的截面图和/或平面图来描述本教导。然而,本教导的实施例不应被解释为限制本教导。尽管示出和描述了本教导的一些实施例,但是本领域普通技术人员将理解,可以在不脱离本教导的原理和精神的情况下对这些实施例进行改变。
26.图1是示出根据实施例的数据存储设备的配置的示图。
27.参考图1,根据实施例的数据存储设备10可以包括控制器110、存储装置120和缓冲存储器130。
28.控制器110可以响应于主机设备(未示出)的请求来控制存储装置120。例如,控制器110可以响应于主机设备的写入请求来控制待编程在存储装置120中的数据。控制器110可以响应于主机设备的读取请求将写入存储装置120中的数据提供到主机设备。
29.存储装置120可以根据控制器110的控制在其中编程数据或输出在其中编程的数据。存储装置120可以由易失性存储器装置或非易失性存储器装置构成。在实施例中,可以使用从诸如以下的各种非易失性存储器装置之中选择的存储装置来实现存储装置120:电可擦除可编程只读存储器(eeprom)、nand闪存、nor闪存、相变随机存取存储器(pram)、电阻式ram(reram)、铁电ram(fram)、自旋扭矩转移磁性ram(stt-mram)等。
30.存储装置120可以包括多个非易失性存储器装置(nvm)121至12n,并且非易失性存储器装置121至12n中的每一个可以包括多个管芯(die)、多个芯片或多个封装。多个管芯中的每一个可以包括至少一个平面并且每个平面可以包括多个存储块。多个存储块中的每一个可以包括多个页面。
31.此外,存储装置120可以包括待在一个存储器单元中存储一位数据的单层单元(slc)或待在一个存储器单元中存储多位数据的多层单元(xlc)。
32.缓冲存储器130可以用作空间,该空间可以临时存储当数据存储设备10执行诸如与主机设备相关的读取或写入数据的操作的一系列操作时待传输和接收的数据。虽然已经在图1中示出了缓冲存储器130位于控制器110外部,但是缓冲存储器130也可以位于控制器110内部。可以通过缓冲管理器(未示出)来控制缓冲存储器130。
33.控制器110可以包括写入处理器210、块管理器220和内务处理(housekeeping)控制器230。
34.当主机设备传输包括逻辑地址和写入数据的写入请求时,写入处理器210可以将包括写入数据和与逻辑地址相对应的物理地址的编程命令传输到存储装置120。
35.块管理器220可以将存储有写入数据的存储块的属性设置为随机存储块或顺序存储块。块管理器220可以将与存储在每个存储块中的数据相对应的映射数据的有效性(例如,映射分段的有效性)表示为标志,并且将总映射分段的有效性作为映射分段位图来管理。映射分段可以是控制器110的映射数据管理单元。映射分段可以包括多个映射条目,并且多个映射条目中的每一个可以是主机设备中使用的单元逻辑地址lba和存储装置120中使用的单元物理地址pba之间的映射信息。
36.当内务处理事件被触发时,块管理器220可以通过组合设定数量的存储块来配置至少一个存储块集,并基于逻辑地址的连续性和/或有效数据的数量从至少一个存储块集中选择牺牲块集(具体地,多个牺牲块)。例如,块管理器220可以配置一个或多个存储块集,使得每个存储块集包括给定数量(例如,预定数量)的存储块,并基于逻辑地址的连续性或有效数据的数量或这二者,从所配置的存储块集中选择牺牲块集。
37.在实施例中,块管理器220可以通过按预设数量组合非重叠的随机存储块来配置存储块集。具体地,可以基于恢复连续性的效率和生成交叉位图的计算成本来确定预设数量(或设定数量)。例如,随着预设数量的增加,恢复连续性的效率可以提高,但是生成交叉位图的计算成本也可能增加。因此,可以确定预设数量以优化效率和计算成本之间的这种折衷。被组合以配置存储块集的存储块的数量可以对应于待选择的牺牲块的数量。例如,存储块集中包括的存储块的数量可以等于所选择的牺牲块集中的牺牲块的数量。然而,本公开的实施例不限于此。
38.为了选择牺牲块,块管理器220可以通过对存储块集中的存储块的映射分段位图执行逻辑运算(例如,或(or)运算)来配置每个存储块集的交叉位图。
39.当构成映射分段的映射条目中的任意一个无效时,可以将指示相应映射分段的有效性的标志设置为第一逻辑电平(例如,逻辑低)或无效位。当构成映射分段的所有映射条目都有效时,可以将指示相应映射分段的有效性的标志设置为第二逻辑电平(例如,逻辑高)或有效位。
40.因此,块管理器220可以基于为每个存储块集配置的交叉位图中包括的有效位的连续性,确定每个存储块集的有效映射数据的连续性,其可以基本上对应于每个存储块集的有效逻辑地址的连续性。
41.此外,块管理器220可以基于为每个存储块集配置的交叉位图中包括的有效位的数量,确定每个存储块集的有效映射数据的数量,该数量可以基本上对应于每个存储块集的有效数据的数量。
42.在实施例中,块管理器220可以通过交叉位图确定有效映射分段的连续性,并基于确定结果选择被预测具有高连续性的逻辑地址的存储块集作为牺牲块。例如,块管理器220可以选择具有最高程度连续性的逻辑地址的存储块集作为包括牺牲块的牺牲块集。
43.在实施例中,块管理器220可以基于交叉位图中的有效映射分段的数量,选择被预测具有最小有效映射信息和高连续性的逻辑地址的存储块集作为牺牲块。
44.当诸如垃圾收集和损耗均衡的内务处理事件被触发时,内务处理控制器230可以使用在块管理器220中确定的牺牲块来执行内务处理操作。在实施例中,当随机存储块的数量等于或大于给定阈值(例如,设定阈值)时,垃圾收集事件作为内务处理事件被触发,并且内务处理控制器230可以将牺牲块中的有效数据复制到待被收集的目标块然后擦除牺牲块,以便可以确保空闲块。内务处理控制器230可以基于逻辑地址以升序或降序布置牺牲块中的有效数据,然后将所布置的有效数据复制到目标块,从而可以提高移动数据的逻辑连续性。
45.图2是根据实施例的控制器的配置示图。
46.参考图2,根据实施例的控制器110可以包括处理器111、主机接口113、只读存储器(rom)1151、随机存取存储器(ram)1153、存储器接口117、写入处理器210、块管理器220和内务处理控制器230。
47.处理器111可以被配置为向包括主机接口113、ram 1153和存储器接口117的其他配置传输从存储装置120读取数据的操作或在存储装置120中写入数据的操作所需的各种控制信息。在实施例中,处理器111可以根据为数据存储设备10的各种操作提供的固件进行操作。在实施例中,处理器111可以结合块管理器220和内务处理控制器230执行诸如垃圾收集、地址映射和损耗均衡的用于管理存储装置120的闪存转换层(ftl)的功能,以及执行检测和校正从存储装置120读出的数据的错误的功能等。
48.主机接口113可以根据处理器111的控制从主机设备接收命令和时钟信号,并提供用于控制数据输入/输出的通信信道。具体地,主机接口113可以提供主机设备和数据存储设备10之间的物理连接。主机接口113可以根据主机设备的总线格式在数据存储设备10和主机设备之间提供接口连接。主机设备的总线格式可以包括诸如以下的标准接口协议中的至少一个:安全数字协议、通用串行总线(usb)协议、多媒体卡(mmc)协议、嵌入式mmc(emmc)协议、个人计算机存储卡国际协会(pcmcia)协议、并行高级技术附件(pata)协议、串行高级技术附件(sata)协议、小型计算机系统接口(scsi)协议、串列scsi(sas)协议、外围组件互
连(pci)协议、高速pci(pci-e)协议和通用闪存(ufs)协议。
49.例如控制器110的操作所需的固件或软件的程序代码可以存储在rom 1151中。由程序代码使用的代码数据等也可以存储在rom 1151中。
50.ram 1153可以存储控制器110的操作所需的数据或由控制器110生成的数据。
51.存储器接口117可以提供用于控制器110和存储装置120之间的信号传输和接收的通信信道。存储器接口117可以根据处理器111的控制将已经临时存储在缓冲存储器130中的数据写入存储装置120。存储器接口117可以将从存储装置120读出的数据传输并临时存储在缓冲存储器130中。
52.图3是示出根据本公开的实施例的与写入处理器210和内务处理控制器230结合操作的块管理器220的配置的详细示图。
53.参考图3,块管理器220可以包括块池管理器2201、映射数据更新器2203、映射表2205、有效页面计数器(vpc)2207、映射分段位图管理器2209、交叉位图生成器2211和牺牲块确定器2213。
54.当主机设备传输包括逻辑地址和写入数据的写入请求时,写入处理器210可以向块管理器220请求存储块分配。
55.相应地,块管理器220的块池管理器2201可以向写入处理器210提供至少一个存储块的分配信息,并将所分配的存储块的属性设置为随机存储块或顺序存储块。存储块的属性可以基于主机设备的工作负载来确定,例如基于主机设备的写入请求中包含的逻辑地址的偏移量来确定,但本公开实施例不限于此。
56.当至少一个存储块被分配时,写入处理器210可以将编程命令传输到存储装置120。
57.映射数据更新器2203可以管理从写入处理器210提供的逻辑地址和构成存储装置120的物理存储空间的物理地址之间的映射信息。在实施例中,映射数据更新器2203可以通过将单元映射条目按设定单元分组来配置映射分段,每个单元映射条目是一个逻辑地址和一个物理地址之间的映射信息。映射分段集可以作为映射表2205被管理。每个映射分段在映射表2205中的位置可以作为索引表被管理。
58.包括索引表和映射分段的映射表2205可以存储在存储装置120中。在数据存储设备10启动时,可以将索引表加载到控制器110的工作存储器中以供参考。
59.图4是示出根据实施例的映射表的配置的示图。
60.参考图4,映射表2205可以包括多个映射分段ms_id 0至ms_id99。多个映射分段ms_id 0至ms_id 99中的每一个可以包括与多个地址lbax相对应的多个物理地址pbax(例如,x是从0至99的自然数)。当一个逻辑地址lbax和一个物理地址pbax之间的映射信息被称为映射条目时,多个映射分段ms_id 0至ms_id 99中的每一个可以包括m个(例如,图4的实施例中的100个)映射条目。
61.映射表2205可以被存储在存储装置120中,并且在数据存储设备10启动时,映射表2205可以被加载到控制器110的工作存储器中以供参考。
62.存储在一个存储块中的数据的地址映射关系可以作为至少一个映射分段来被管理,并且映射分段位图管理器2209可以将每个存储块的映射数据的有效性作为映射分段位图msegbtm来管理。随着存储块的数据被更新,映射分段位图也可以被更新。在实施例中,映
射分段位图管理器2209可以被配置为管理针对随机存储块的映射分段位图msegbtm。
63.可以根据主机设备的请求来更新存储在存储块中的数据。因此,不能执行就地更新的存储装置的每个存储块可以包括有效页面和无效页面。
64.图3中的vpc 2207可以被配置为参考映射表2205来计数每个存储块的有效页面的数量。
65.当内务处理事件被触发时,例如,当随机存储块的数量增加了设定阈值或更多时,交叉位图生成器2211可以通过组合设定数量的存储块来配置存储块集。交叉位图生成器2211可以通过对每个存储块集中的存储块的映射分段位图执行或逻辑运算来生成交叉位图。在实施例中,交叉位图生成器2211可以通过按设定数量而不考虑顺序地组合非重叠的随机存储块进来配置存储块集。所组合的存储块的数量可以对应于待选择的牺牲块的数量,但是本公开的实施例不限于此。
66.在实施例中,牺牲块确定器2213可以通过参考交叉位图来选择被预测具有高连续性的逻辑地址的存储块集,作为牺牲块集,具体地作为多个牺牲块。在另一实施例中,牺牲块确定器2213可以通过参考交叉位图选择被预测具有最小数量的有效映射分段和高连续性的逻辑地址的存储块集作为牺牲块,该有效映射分段的最小数量的可以基本上对应于有效数据的最小数量。
67.内务处理控制器230可以在生成内务处理事件时,通过从块管理器220接收分配的牺牲块来执行诸如垃圾收集和损耗均衡的内务处理操作。在实施例中,内务处理控制器230可以基于逻辑地址以升序或降序布置牺牲块中的有效数据,然后将所布置的有效数据复制到目标块,以便移动数据的逻辑连续性可以被提高。
68.图5a和图5b是根据实施例的映射分段位图和交叉位图的说明性示图。
69.从图5a可以看出,通过映射分段位图管理器2209生成每个随机存储块[索引0,1,2,3]的作为标志集的映射分段位图msegbtm。在图5a所示的实施例中,四个随机存储块中的每一个包括多个映射分段(例如,20个映射分段),并且每个随机存储块的映射分段位图msegbtm具有分别指示多个映射分段的有效性的多个值。
[0070]
当随机块的数量增加到等于或大于设定阈值,从而触发垃圾收集时,交叉位图生成器2211可以通过按设定数量而不考虑顺序地组合非重叠的随机存储块来配置存储块集。
[0071]
参考图5b,例如,当选择两个牺牲块时,块管理器220可以通过没有重叠地两两组合图5a的四个随机存储块来配置6个存储块集(0-1)、(0-2)、(0-3)、(1-2)、(1-3)和(2-3)。
[0072]
下面将描述基于逻辑地址的连续性通过块管理器220确定包括牺牲块的牺牲块集的操作。
[0073]
当每个存储块集包括第一存储块和第二存储块时,如图5b所示,可以通过分别对第一存储块(例如,存储块0)的映射分段位图msegbtm的值(例如,“0100/0001/0100/1100/0000”)和第二存储块(例如,存储块1)的映射分段位图msegbtm的值(例如,“0000/0001/0110/0000/0000”)执行或运算,来获得存储块集中的每一个(例如,存储块集(0-1))的交叉位图cross btm。从图5b的交叉位图cross btm中,可以选择具有最大数量的顺序有效位(逻辑高电平)的存储块组(1-2)作为牺牲块集,具体地作为多个牺牲块。虽然图5b中未示出,但是当检测到具有最大数量的顺序有效位的多个存储块集时,可以选择所检测到的多个存储块集中的具有最小数量的有效位的存储块集作为牺牲块集。
[0074]
下面将描述基于有效映射分段的数量通过块管理器220确定包括牺牲块的牺牲块集的操作。
[0075]
从图5b的交叉位图cross btm中,可以检测具有最小数量的有效映射分段的存储块集(1-2)、(1-3)和(2-3)作为候选块集(或候选牺牲块集),该有效映射分段的最小数量可以基本上对应于有效数据的最小数量。当期望的牺牲块的数量为2时,被预测具有高连续性的逻辑地址的存储块集(1-2),例如,候选存储块集(1-2)、(1-3)和(2-3)之中的具有较高连续性的有效映射分段的存储块集(1-2)可以被选择作为包括随机存储块[索引1,2]的最终牺牲块集。这是因为随着交叉位图中的顺序有效位(例如,逻辑高电平“1”)的数量增加,可以预测有效映射分段的连续性较高。
[0076]
图6是说明根据实施例的使用牺牲块的垃圾收集方法的说明性示图。在图6的实施例中,包括两个牺牲块victim:block1和victim:block2的存储块集可以已经被确定为牺牲块集。
[0077]
由于通过块管理器220选择了牺牲块victim:blockl和牺牲块victim:block2,所以内务处理控制器230可以以升序或降序布置两个牺牲块的有效映射分段并将所布置的有效映射分段复制到目标块destination。内务处理控制器230可以擦除两个牺牲块以确保空闲块。
[0078]
块管理器220可以选择具有高连续性的逻辑地址并且还具有最小数量的有效数据的牺牲块,或者具有最小数量的有效数据并且还具有高连续性的逻辑地址的牺牲块,并且内务处理控制器230可以布置牺牲块中的有效数据的逻辑地址,并将牺牲块中的所布置的逻辑地址的有效数据移动到目标块,使得目标块中的数据的逻辑连续性可以被确保。在实施例中,块管理器220可以选择包括具有最高程度连续性的逻辑地址的(例如,交叉位图cross btm中的相同的最大数量的顺序有效位)的牺牲块的牺牲块集。当两个或更多个的存储块集具有相同程度的高连续性时,可以选择两个或更多个存储块集中的具有最小数量的有效数据(例如,交叉位图cross btm中的最小数量的有效映射分段)的存储块集作为牺牲块集。在实施例中,块管理器220可以选择包括具有最小数量的有效数据的牺牲块的牺牲块集。当两个或更多个存储块集具有相同的最小数量的有效数据时,可以选择两个或更多个存储块集中的具有最高程度连续性的逻辑地址的存储块集作为牺牲块集。
[0079]
图7是说明根据实施例的数据存储设备的操作方法中的存储块管理方法的流程图。
[0080]
参考图7,当主机设备传输包括逻辑地址和写入数据的写入请求时,控制器110可以从主机设备接收写入请求(s101)并基于写入请求中包括的逻辑地址的连续性确定写入数据是随机数据还是顺序数据(s103)。
[0081]
当写入请求是针对随机数据的写入请求时,控制器110可以将被分配用于存储写入数据的存储块的属性设置为随机存储块(s105),并将编程命令传输到存储装置120(s107)。当写入请求是针对顺序数据的写入请求时,控制器110可以将被分配用于存储写入数据的存储块的属性设置为顺序存储块(s109),并将编程命令传输到存储装置120(s111)。
[0082]
控制器110可以生成映射数据,并且将所生成的映射数据存储在映射表中(s113),该映射数据是写入请求中包括的逻辑地址和在存储装置120中使用的物理地址之间的映射关系。
[0083]
然后,控制器110可以生成指示每个存储块的映射数据的有效性的信息作为映射分段位图msegbtm(s115)。随着存储块的数据被更新,映射分段位图也可以被更新。在实施例中,控制器110可以管理除了顺序存储块之外的随机存储块的映射分段位图msegbtm。
[0084]
图8a至8c是说明根据实施例的牺牲块选择方法的流程图。
[0085]
参考图8a,控制器110可以监控随机存储块的数量(s201),并基于监控结果确定随机存储块的数量是否等于或大于设定阈值(s203)。当确定随机存储块的数量小于设定阈值作为确定结果时(s203:否),控制器110可以连续地监控随机存储块的数量(s201)。
[0086]
当确定随机存储块的数量等于或大于设定阈值作为确定结果时(s203:是),可以触发例如垃圾收集事件的内务处理事件,并且控制器110可以加载存储块的映射分段位图,特别是加载随机存储块的映射分段位图(s205)。
[0087]
控制器110可以组合设定数量的存储块以配置存储块集,并对每个存储块集中的存储块的映射分段位图执行或运算来生成交叉位图(s207)。在实施例中,控制器110可以通过将存储块中的随机存储块按设定数量组合来配置存储块集。在实施例中,控制器110可以通过将非重叠的随机存储块按设定数量而不考虑顺序地组合来配置存储块集,并且所组合的存储块的数量可以对应于待选择的牺牲块的数量,但是实施例本公开的内容不限于此。
[0088]
控制器110可以通过参考每个存储块集的交叉位图,基于逻辑地址的连续性和有效数据的数量中的至少一个来确定牺牲块(s209)。例如,控制器110可以通过参考每个存储块集的交叉位图,基于逻辑地址的连续性或有效数据的数量或这二者来确定牺牲块(s209)。
[0089]
当牺牲块被确定时,控制器110可以执行诸如垃圾收集和损耗均衡的内务处理操作(s211)。例如,控制器110可以基于逻辑地址以升序或降序布置牺牲块中的有效数据,并将所布置的有效数据复制到目标块,从而可以提高移动数据的连续性。
[0090]
图8b和图8c示出了图8a中示出的牺牲块确定过程(s209)的示例。
[0091]
图8b是说明根据实施例的基于逻辑地址的连续性确定牺牲块的方法的流程图。
[0092]
参考图8b,控制器110可以通过参考交叉位图来检测被预测具有高连续性的逻辑地址(例如,高连续性的有效映射分段)的存储块集作为候选块集(s301)。
[0093]
控制器110可以确定候选块集的数量是否大于第一数量(s303)。当确定检测到的候选块集的数量等于或小于第一数量时(s303:否),控制器110可以将候选块集确定为最终牺牲块集,具体地确定为多个最终牺牲块,并且执行内务处理操作(s211)。
[0094]
当确定检测到的候选块集的数量大于第一数量时(s303:是),控制器110可以基于交叉位图,将具有最小数量的有效位图分段的存储块集(其可以基本上对应于将候选块集中的具有最小数量的有效数据的存储块集)确定为最终牺牲块集,具体地确定为多个最终牺牲块(s305),然后执行内务处理操作(s211)。
[0095]
在实施例中,第一数量可以对应于牺牲块集的数量。
[0096]
图8c是说明根据实施例的基于有效映射分段的数量(基本上是有效数据的数量)来确定牺牲块的方法的流程图。
[0097]
参考图8c,控制器110可以通过参考交叉位图来检测具有最小数量的有效映射分段的存储块集作为候选块集(s401)。
[0098]
控制器110可以确定候选块集的数量是否大于第一数量(s403)。当确定检测到的
候选块集的数量等于或小于第一数量时(s403:否),控制器110可以将候选块集确定为最终牺牲块集,具体地确定为多个最终牺牲块,并且执行内务处理操作(s211)。
[0099]
当确定检测到的候选块集的数量大于第一数量时(s403:是),控制器110可以基于交叉位图,确定被预测具有高连续性的逻辑地址的存储块集,例如,候选块集中的具有高连续性的有效映射分段的存储块集,作为最终牺牲块集,具体地确定作为多个最终牺牲块(s405),然后执行内务处理操作(s211)。
[0100]
在实施例中,第一数量可以对应于牺牲块集的数量。
[0101]
图9是示出根据实施例的数据存储系统1000的示图。
[0102]
参考图9,数据存储系统1000可以包括主机设备1100和数据存储设备1200。在实施例中,数据存储设备1200可以被配置为固态驱动器(ssd)。
[0103]
数据存储设备1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。
[0104]
控制器1210可以控制数据存储设备1200的一般操作。控制器1210可以包括主机接口单元、控制单元、用作工作存储器的随机存取存储器、错误校正码(ecc)单元和存储器接口单元。在实施例中,控制器1210可以被配置为图1和2中所示的控制器110。
[0105]
主机设备1100可以通过信号连接器1101与数据存储设备1200交换信号。该信号可以包括命令、地址、数据等。
[0106]
控制器1210可以分析和处理从主机设备1100接收的信号。控制器1210可以根据用于驱动数据存储设备1200的固件或软件来控制内部功能块的操作。
[0107]
缓冲存储器装置1230可以临时存储待存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。此外,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。根据控制器1210的控制,临时存储在缓冲存储器装置1230中的数据可以被传输到非易失性存储器装置1220-0至1220-n中的至少一个或主机设备1100。
[0108]
非易失性存储器装置1220-0至1220-n可以被用作数据存储设备1200的存储介质。非易失性存储器装置1220-0至1220-n可以通过多个信道ch0至chn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个信道。联接到每个信道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
[0109]
电源1240可以将通过电源连接器1103输入的电力提供到数据存储设备1200的控制器1210、非易失性存储器装置1220-0至1220-n和缓冲存储器装置1230。电源1240可以包括辅助电源。辅助电源可以提供电力以允许数据存储设备1200在发生突然断电时正常终止。辅助电源可以包括足以存储所需电荷的大容量电容器。
[0110]
信号连接器1101可以根据主机设备1100和数据存储设备1200之间的接口方案,被配置为各种类型的连接器中的一种或多种。
[0111]
根据主机设备1100的供电方案,电源连接器1103可以被配置为各种类型的连接器中的一种或多种。
[0112]
图10是示出根据实施例的数据处理系统3000的示图。参考图10,数据处理系统3000可以包括主机设备3100和存储器系统3200。
[0113]
主机设备3100可以以板的形式配置,诸如印刷电路板。尽管未示出,但是主机设备
3100可以包括用于执行主机设备的功能的内部功能块。
[0114]
主机设备3100可以包括连接端子3110,诸如插座、插槽或连接器。存储器系统3200可以与连接端子3110配合。
[0115]
存储器系统3200可以以板的形式配置,诸如印刷电路板。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电力管理集成电路(pmic)3240和连接端子3250。
[0116]
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图1和图2所示的控制器110基本相同的方式配置。
[0117]
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被发送到主机设备3100或非易失性存储器装置3231和3232。
[0118]
非易失性存储器装置3231和3232可以用作存储器系统3200的存储介质。
[0119]
pmic 3240可以将通过连接端子3250输入的电力提供到存储器系统3200的内部。pmic 3240可以根据控制器3210的控制来管理存储器系统3200的电力。
[0120]
连接端子3250可以联接到主机设备3100的连接端子3110。通过连接端子3250,可以在主机设备3100和存储器系统3200之间传输诸如命令、地址、数据等的信号和电力。连接端子3250可以根据主机设备3100和存储器系统3200之间的接口方案被配置为各种类型中的一种或多种。如所示的,连接端子3250可以设置在存储器系统3200的一侧。
[0121]
图11是示出根据实施例的数据处理系统4000的示图。参考图11,数据处理系统4000可以包括主机设备4100和存储器系统4200。
[0122]
主机设备4100可以以板的形式配置,诸如印刷电路板。尽管未示出,但是主机设备4100可以包括用于执行主机设备的功能的内部功能块。
[0123]
存储器系统4200可以以表面安装型封装的形式配置。存储器系统4200可以通过焊球4250安装到主机设备4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
[0124]
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以以与图1和图2所示的控制器110基本相同的方式配置。
[0125]
缓冲存储器装置4220可以临时存储要存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传输到主机设备4100或非易失性存储器装置4230。
[0126]
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
[0127]
图12是示出根据实施例的包括数据存储设备的网络系统5000的示图。参考图12,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
[0128]
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以向多个客户端系统5410至5430提供数据。
[0129]
服务器系统5300可以包括主机设备5100和存储器系统5200。存储器系统5200可以被配置为图1中所示的数据存储设备10、图9中所示的数据存储设备1200、图10中所示的存储器系统3200或图11中所示的存储器系统4200。
[0130]
图13是示出根据实施例的包括在数据存储设备(诸如数据存储设备10)中的非易失性存储器装置300的框图。参考图13,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
[0131]
存储器单元阵列310可以包括布置在字线wl1至wlm与位线bl1至bln彼此交叉的区域处的存储器单元mc。
[0132]
存储器单元阵列310可以包括三维存储器阵列。例如,三维存储器阵列具有垂直于半导体衬底的平坦表面的方向的堆叠结构。此外,三维存储阵列是指包括nand串的结构,nand串中包括的存储器单元垂直于半导体衬底的平坦表面堆叠。
[0133]
三维存储阵列的结构不限于上述实施例。存储阵列结构可以以具有水平方向性和垂直方向性的高度集成的方式形成。在实施例中,在三维存储阵列的nand串中,存储器单元相对于半导体衬底的表面沿水平和垂直方向布置。存储器单元可以被不同地间隔以提供不同的集成度
[0134]
行解码器320可以通过字线wl1至wlm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制进行操作。行解码器320可以解码由外部装置(未示出)提供的地址。行解码器320可以基于解码结果选择并驱动字线wl1至wlm。例如,行解码器320可以向字线wl1至wlm提供由电压生成器350提供的字线电压。
[0135]
数据读取/写入块330可以通过位线bl1至bln与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线bl1至bln的读取/写入电路rw1至rwn。数据读取/写入块330可以根据控制逻辑360的控制进行操作。数据读取/写入块330可以根据操作模式作为写入驱动器或感测放大器来操作。例如,数据读取/写入块330可以作为写入驱动器操作,其在写入操作中将外部装置提供的数据存储在存储器单元阵列310中。又例如,数据读取/写入块330可以作为感测放大器操作,其在读取操作中从存储器单元阵列310读出数据。
[0136]
列解码器340可以根据控制逻辑360的控制进行操作。列解码器340可以解码由外部装置提供的地址。列解码器340可以基于解码结果,将分别对应于位线bl1至bln的数据读取/写入块330的读取/写入电路rw1至rwn与数据输入/输出线或数据输入/输出缓冲器联接。
[0137]
电压生成器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。由电压生成器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可以被施加到待对其执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可以被施加到待对其执行擦除操作的存储器单元的阱区。又例如,在读取操作中生成的读取电压可以被施加到待对其执行读取操作的存储器单元的字线。
[0138]
控制逻辑360可以基于由外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
[0139]
本公开的上述实施例旨在说明而非限制本公开的实施例。各种替代方案和等效方
案都是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的半导体装置。鉴于本公开,其他添加、减少或修改是显而易见的,并且旨在落入所附权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献