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

存储装置及其操作方法与流程

2022-06-05 17:14:33 来源:中国专利 TAG:

存储装置及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年11月30日提交的申请号为10-2020-0164529的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
3.本文描述的一个或多个实施例涉及一种存储装置和一种操作存储装置的方法。


背景技术:

4.存储装置可以包括基于来自主机的指令将数据存储在存储器装置中的存储器控制器。存储器装置可以是易失性存储器装置或非易失性存储器装置。
5.易失性存储器装置在从电源供应电力时存储数据,但当电力中断时丢失数据。易失性存储器装置的示例包括静态随机存取存储器(sram)和动态随机存取存储器(dram)。
6.非易失性存储器装置即使在电力中断时也存储数据。非易失性存储器装置的示例包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除rom(eerom)和闪速存储器。


技术实现要素:

7.一个或多个实施例提供了一种存储装置,该存储装置可以例如通过在失电保护操作中检查丢失数据,然后通过随后恢复该丢失数据来实现提高的可靠性。还提供了一种操作这种存储装置的方法。
8.根据本公开的一个方面,提供了一种存储装置,包括:存储器装置,包括多个存储块;缓冲存储器,被配置为临时存储数据;以及存储器控制器,被配置为响应于失电的发生而生成包括写入数据的逻辑地址的地址信息,并且控制存储器装置以将地址信息和写入数据存储在多个存储块中包括的预定的备份块组中,该写入数据与临时存储在缓冲存储器中的数据和元数据相对应。
9.根据本公开的另一方面,提供了一种存储装置,包括:存储器装置,包括多个存储块;缓冲存储器,被配置为临时存储从存储器装置提供的数据;以及存储器控制器,被配置为当供应电力时,根据先前的电力循环是否正常结束,获取存储在预定的备份块组中的写入数据和地址信息,并且根据地址信息向主机提供写入数据之中恢复失败的丢失写入数据的逻辑地址,其中预定的备份块组与包括在存储器装置中的多个存储块中的一个或多个相对应。
10.根据本公开的又一方面,提供了一种操作存储装置的方法,该方法包括:将数据和逻辑地址临时存储在缓冲存储器中;响应于失电的发生而生成逻辑地址表,该逻辑地址表包括与临时存储在缓冲存储器中的逻辑地址相对应的信息;并且将包括数据和元数据的写入数据以及逻辑地址表存储在存储器装置中包括的备份块组中。
11.根据本公开的另一方面,提供了一种存储装置,包括:存储器装置,包括多个存储
块;缓冲存储器,被配置为临时存储从主机提供的数据;以及存储器控制器,被配置为响应失电的发生而生成地址信息和元数据,并且控制存储器装置以将地址信息和写入数据存储在多个存储块中包括的备份块组中,该地址信息包括该写入数据的逻辑地址,该写入数据与临时存储在缓冲存储器中的数据相对应;并且在先前的电力循环中发生失电并且供应电力时,从备份块组中获取写入数据和地址信息,并根据地址信息向主机提供写入数据之中的、恢复失败的丢失写入数据的逻辑地址。
附图说明
12.现在将在下文中参照附图更充分地描述示例实施例;然而,它们可以以不同的形式体现,并且不应该被解释为限于本文所阐述的实施例。相反,提供这些实施例是为了使本公开是彻底且完整的,并且将向本领域技术人员充分地传达示例实施例的范围。
13.在附图中,为了清楚说明,可以夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件,或者也可以存在一个或多个中间元件。在整个公开中相同的附图标记表示相同的元件。
14.图1示出存储系统的实施例。
15.图2示出写入数据的实施例。
16.图3示出存储块和页面的实施例。
17.图4示出映射地址和写入数据之间的关系的示例。
18.图5示出包括地址信息管理器和操作执行组件的实施例。
19.图6示出失电保护操作的实施例。
20.图7示出检测丢失写入数据的逻辑地址的实施例。
21.图8示出将恢复写入数据存储在用户块中的实施例。
22.图9示出操作存储装置的方法的实施例。
23.图10示出存储器装置的实施例。
24.图11示出存储器控制器的实施例。
25.图12示出向主机提供来自执行恢复操作的存储装置的响应的存储系统的实施例。
26.图13示出存储卡系统的实施例。
27.图14示出固态驱动系统的实施例。
28.图15示出用户系统的实施例。
具体实施方式
29.本文所公开的特定结构或功能描述仅是说明性的,以为了描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以各种形式实施,并且不能被解释为限于本文所阐述的实施例。
30.图1是示出存储系统的实施例的示图,该存储系统可以例如对应于、包括在或联接到数据处理系统。数据处理系统的示例包括:个人电脑、数据中心、企业型数据存储系统、包括直接附加存储的系统、包括存储区域网络的数据处理系统、包括网络附加存储的数据处理系统或其他类型的系统。
31.存储系统可以包括存储装置1000和主机500。存储装置1000可以根据主机500的请
求来存储数据。主机的示例包括移动电话、智能电话、mp3播放器、笔记本电脑、台式电脑、游戏机、tv、平板电脑和车载信息娱乐系统。
32.例如,基于实施与主机500的通信方案的主机接口,存储装置1000可以是各种类型的存储装置中的任意一种。存储装置的示例包括固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)、微型mmc(micro-mmc)、安全数字(sd)卡、迷你sd卡、微型sd卡、通用串行总线(usb)存储装置、通用闪存(ufs)装置、紧凑型闪存(cf)卡、智能媒体卡(smc)和记忆棒。
33.存储装置1000可以是各种封装类型中的任意一种。示例包括:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)和晶圆级堆叠封装(wsp)。
34.在实施例中,如图1所示,可以设置一个存储装置1000。在一个实施例中,可以设置两个或更多个存储装置1000。在一个实施例中,多个存储装置1000可以使用独立磁盘冗余阵列(raid)方案或廉价磁盘冗余阵列(raid)方案来操作,其中多个存储装置1000作为一个存储装置操作。
35.存储装置1000可以包括存储器装置100、存储器控制器200、缓冲存储器300和辅助电源400。存储器装置100可以在存储器控制器200的控制下进行操作。例如,存储器装置100可以从存储器控制器200接收命令和地址,并且可以访问由地址选择的存储器单元。存储器装置100可以对由地址选择的存储器单元执行由命令指示的操作。
36.命令的示例包括编程命令、读取命令和/或擦除命令,它们分别对应于编程操作(或写入操作)、读取操作和/或擦除操作。在编程操作中,存储器装置100可以在存储器控制器200的控制下存储从主机500提供的写入数据。例如,存储器装置100可以接收编程命令、地址和数据,然后将数据编程在由地址选择的存储器单元中。待编程在所选择存储器单元中的数据可以称为写入数据。写入数据可以包括例如从主机500提供的数据(或用户数据)和/或该数据的元数据。
37.在读取操作中,存储器装置100在存储器控制器200的控制下读取存储在存储器装置100中的数据。例如,存储器装置100可以接收读取命令和地址,并且从存储器单元阵列中的由地址选择的区域读取数据。在存储器装置100中存储的数据之中的、待从所选择区域读取的数据可以被称为读取数据。
38.在擦除操作中,存储器装置100在存储器控制器200的控制下擦除存储在存储器装置100中的数据。例如,存储器装置100可以接收擦除命令和地址,并且擦除存储在由地址选择的区域中的数据。
39.存储器装置100可以被实施为易失性存储器装置或非易失性存储器装置。易失性存储器装置的示例包括双倍数据速率同步动态随机存取存储器(ddr sdram)、低功率双倍数据速率第四代(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)sdram以及rambus动态随机存取存储器(dram)。非易失性存储器装置的示例包括电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻式随机存取存储器(mram)、铁电随机存取存储器(fram)、自旋转移扭矩随机存取存储器(stt-ram)以及闪速存储器。例如,闪速存储器可以包括nand闪速存储器、垂直nand闪速存储器、nor闪速存储器和/或其他类型的闪速存储器。为了描述方便,假设存储器装置100是nand闪速存储器。
40.存储器装置100可以在存储器控制器200的控制下存储写入数据和/或可以读取所存储的读取数据并且将该读取数据提供给存储器控制器200。
41.存储器装置100可以包括多个管芯。一个管芯可以包括至少一个平面。一个平面可以包括存储器单元阵列,该存储器单元阵列包括用于存储写入数据的存储器单元。存储器单元阵列可以包括多个存储块。存储块可以是用于执行擦除数据的擦除操作的单位。多个存储块可以分为用户块101和备份块102。例如,多个存储块之中的一些存储块可以是用户块101,而多个存储块之中的其他存储块可以是备份块102。用户块101可以存储从主机500提供的数据(例如,用户数据)。在一个实施例中,多个用户块101可以被分组成用户块组。
42.备份块102可以存储元数据。例如,元数据包括映射数据、有效性数据、不可校正数据和/或其他类型的数据。备份块102可以是系统块。在一个实施例中,多个备份块102可以被分组成备份块组。
43.元数据可以是表示关于存储在多个存储块中的数据的信息的数据。例如,映射数据可以表示逻辑地址和物理地址之间的映射关系。有效性数据可以表示从主机500提供的数据(或用户数据)的有效性。不可校正数据可以表示来自主机500的数据(或用户数据)具有不可校正错误。有效页面数据可以表示存储块中的有效页面的数量。擦除次数数据可以表示对存储块执行擦除操作的次数。还可以包括其他类型的元数据。
44.存储块可以包括多个页面。页面可以是用于执行存储写入数据的编程操作或读取所存储的读取数据的读取操作的单位。
45.例如,可以将存储器单元配置为存储1位数据的单层单元(slc)、存储2位数据的多层单元(mlc)、存储3位数据的三层单元(tlc)、存储4位数据的四层单元(qlc)或者存储5位或更多位数据的存储器单元。
46.存储器控制器200可以控制存储装置1000的全部操作。当向存储器装置1000供应电力时,存储器控制器200可以运行指令(例如,固件或另一种类型的指令)。当存储器装置100是闪速存储器装置时,固件可以包括主机接口层、闪存转换层和闪存接口层。主机接口层可以控制主机500和存储器控制器200之间的一个或多个操作。闪存转换层可以将从主机500提供的逻辑地址转换为物理地址。闪存接口层可以控制存储器控制器200和存储器装置100之间的通信。例如,电力可以是从外部的源装置(source)(例如,主机或其他源装置)供应的电力。
47.存储器控制器200可以响应于主机500的写入请求、读取请求和擦除请求中的各个请求来控制存储器装置100以执行编程操作、读取操作和擦除操作。
48.在编程操作中,存储器控制器200可以向存储器装置100提供编程命令、物理地址和写入数据。根据编程操作的一个实施例,存储器控制器200可以向存储器装置100提供编程命令和物理地址。另外地或可选地,存储器控制器200可以向缓冲存储器300提供清除命令,以将临时存储在缓冲存储器300中的数据提供(或清除)到存储器装置100。当将临时存储在缓冲存储器300中的数据提供到存储器装置100时,可以擦除临时存储在缓冲存储器300中的数据。
49.在读取操作中,存储器控制器200可以向存储器装置100提供读取命令和物理地址。
50.在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和物理地
址。
51.在一个实施例中,存储器控制器200可以自主地生成命令、地址和数据,而与来自主机500的请求无关。存储器控制器200可以将命令、地址和(它们是自主生成的,例如,是在没有主机请求的情况下生成的)数据传输到存储器装置100。命令的示例包括用于执行后台操作的命令、地址和数据。存储器控制器200可以向存储器装置100提供命令以及相关联的地址和数据。
52.例如,后台操作可以是损耗均衡操作、读取回收操作或垃圾收集操作中的至少一种。例如,损耗均衡可以对应于静态损耗均衡、动态损耗均衡或另一种类型的损耗均衡。静态损耗均衡可以涉及存储指示存储块被擦除次数的信息,以及将冷数据(很少被执行擦除操作或写入操作,例如低于预定次数)移动到被擦除最多次数(或大于另一预定次数)的存储块中。动态损耗均衡可以涉及存储指示存储块被擦除的次数的信息,以及将数据编程在被擦除最少次数(或小于预定次数)的存储块中。
53.读取回收操作可以涉及在存储块中存储的数据中发生不可校正错误之前,将存储块中存储的数据移动到另一存储块。
54.垃圾收集操作可以涉及将坏块中的有效数据复制到空闲块并且擦除坏块中的无效数据。例如,将坏块中的有效数据复制到空闲块可以包括将坏块中的有效数据移动到空闲块。
55.例如,存储器控制器200可以使用交错技术来控制两个或更多个存储器装置100以提高操作性能。交错技术可以包括控制对两个或更多个存储器装置100的操作以彼此重叠。
56.缓冲存储器300可以仅在缓冲存储器300从电源接收电力时存储数据。缓冲存储器300可以例如是易失性存储器装置。缓冲存储器300的示例包括:双倍数据速率同步动态随机存取存储器(ddr sdram)、低功耗双倍数据速率第四代(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)sdram、rambus动态随机存取存储器(rdram)、或其他类型的存储器装置。
57.在实施例中,缓冲存储器300可以临时存储从主机500提供的数据。在实施例中,缓冲存储器300可以临时存储从存储器装置100提供的数据。在实施例中,缓冲存储器300可以临时存储从主机500提供的逻辑地址。
58.在一个实施例中,缓冲存储器300可以包括写入缓冲器310和地址缓冲器320。写入缓冲器310可以临时存储从主机500提供的数据。地址缓冲器320可以临时存储从主机500提供的逻辑地址。在一个实施例中,缓冲存储器300还可以包括用于存储逻辑到物理表(或l2p表)的映射数据缓冲器,该l2p表包括存储在备份块102中的部分或全部映射数据。
59.辅助电源400可以响应于失电的发生而生成辅助电力。例如,失电可以包括向存储器装置1000的电力供应被暂停或以其他方式中断的情况。可以向存储器装置100和存储器控制器200提供辅助电力。此外,可以向缓冲存储器300提供辅助电力。
60.例如,在存储器控制器200控制存储装置1000的一般操作时可能会发生失电。当发生失电时,当没有将数据存储在存储器装置100中时,临时存储在缓冲存储器300中的数据可能会丢失。为了防止在失电的情况下从主机500提供的数据丢失,存储器控制器200可以使用辅助电力来执行失电保护操作。
61.在一个实施例中,失电保护操作可以包括以下操作:响应于发生失电或在发生失
电之前,将临时存储在缓冲存储器300中的数据存储在至少一个备份块102中。
62.在实施例中,存储器控制器200可以响应于失电的发生而生成包括写入数据的逻辑地址的地址信息。存储器控制器200可以控制存储器装置100以将地址信息和写入数据存储在预定备份块组中。例如,写入数据可以包括临时存储在缓冲存储器300中的数据和元数据。备份块组可以包括备份块102。将参照图6描述实施例。
63.在执行了失电保护操作之后,可以将从外部的源装置生成的电力供应到存储装置1000。存储器控制器200可以执行恢复操作。恢复操作可以涉及将(在失电保护操作中被存储在备份块组中的)写入数据存储在多个用户块101之中的所选择用户块中。例如,所选择用户块可以是具有映射到从主机500提供的逻辑地址的物理地址的用户块。
64.在实施例中,当向存储装置1000输入电力时,存储器控制器200可以根据先前的电力循环是否已经正常结束,来获取存储在预定备份块组中的写入数据和地址信息。而且,存储器控制器200可以根据地址信息向主机500提供写入数据之中的、恢复失败的丢失写入数据的逻辑地址。将参照图7和图8描述实施例。
65.存储器控制器200可以包括地址信息管理器210和操作执行组件(例如,操作控制器)220。在实施例中,在失电保护操作中,地址信息管理器210可以生成地址信息。地址信息管理器210可以控制存储器装置100以将所生成的地址信息存储在备份块102中。
66.在恢复操作的实施例中,地址信息管理器210可以控制存储器装置100以读取存储在备份块102中的地址信息。地址信息管理器210可以向操作执行组件220提供来自存储器装置100的地址信息。将参照图5至图8描述地址信息管理器210的实施例。
67.在失电保护操作的实施例中,操作执行组件220可以控制存储器装置100以将写入数据存储在备份块102中。
68.在恢复操作的实施例中,操作执行组件220可以控制存储器装置100以读取存储在备份块102中的写入数据。操作执行组件220可以从地址信息管理器210接收地址信息。操作执行组件220可以基于地址信息和写入数据来检查恢复失败的丢失写入数据。操作执行组件220可以检测检查到的丢失写入数据的逻辑地址并且可以向主机500提供丢失写入数据的逻辑地址。操作执行组件220可以控制存储器装置100以向多个用户块101之中的所选择用户块提供恢复写入数据和丢失写入数据的元数据。将参照图5至图8描述操作执行组件220的实施例。
69.主机500可以通过接口与存储装置1000通信。接口的示例包括串行高级技术附件(sata)接口、高速sata(satae)接口、串列小型计算机系统接口(sas)接口、高速外围组件互连(pcie)接口、高速非易失性存储器(nvme)接口、高级主机控制器接口(ahci)和多媒体卡接口。在另一实施例中可以使用不同类型的接口。
70.主机500可以将数据存储在存储装置1000中,或者可以与存储装置1000通信以获取存储装置1000中存储的数据。在实施例中,主机500可以向存储装置1000提供用于请求存储装置1000以存储数据的写入请求。主机500可以向存储装置1000提供写入请求、数据和用于标识数据的逻辑地址。
71.存储装置1000可以将写入数据存储在存储器装置100中,并且向主机500提供表示写入数据的存储已经完成的响应,该写入数据包括由主机500提供的数据和元数据。可以响应于从主机500提供的写入请求来执行这些操作。
72.在实施例中,主机500可以向存储装置1000提供读取请求,该读取请求请求存储装置1000以向主机500提供存储装置1000中存储的数据。主机500可以向存储装置1000提供读取请求和读取地址。响应于读取请求,存储装置1000可以从存储器装置100读取与由主机500提供的读取地址相对应的数据,并且可以向主机500提供读取数据作为对读取请求的响应。
73.图2是示出可以包括用户数据udata和元数据mdata的写入数据wdata的示例的示图。用户数据udata可以是从主机500提供的数据。在实施例中,元数据mdata可以包括映射数据map、不可校正数据uecc和有效性数据val。在一个实施例中,元数据mdata可以进一步包括有效页面数据、擦除次数数据和/或其他数据。
74.在实施例中,映射数据mdata可以表示用户数据udata的逻辑地址和映射到用户数据udata的逻辑地址的物理地址。在实施例中,不可校正数据uecc可以是标记了错误标志的数据,该错误标志表示在写入数据中已经发生了不可校正错误。有效性数据val可以是表示用户数据udata是有效还是无效的数据。在一个实施例中,元数据mdata可以包括表示在先前的电力循环中已经执行的失电保护操作的信息。
75.图3是示出存储块mb 1、mb 2、
……
、mb n以及页面的实施例的示图。在本实施例中,例如,存储块mb 1、mb 2、
……
、mb n可以是参照图1所描述的用户块101或备份块。
76.在实施例中,当存储块mb 1、mb 2、
……
、mb n是备份块102时,存储块mb 1、mb 2、
……
、mb n可以是仅包括slc的存储块。存储块mb 1、mb 2、
……
、mb n的数量可以是n(n是自然数),并且实施例之中的存储块mb 1、mb 2、
……
、mb n的数量可以变化。存储块mb 1、mb 2、
……
、mb n中的每一个可以包括多个页面pg 1、pg 2、
……
、pg m。页面pg 1、pg 2、
……
、pg m的数量可以是如图3所示的m(m是自然数),并且在实施例之中可以变化。
77.多个页面pg 1、pg 2、
……
、pg m中的每一个可以包括主区域ma和空间区域sa。在实施例中,主区域ma可以是存储上述参照图2描述的用户数据udata的区域。空间区域sa可以是存储上面参照图2描述的元数据mdata的区域。
78.图4是示出映射地址和写入数据之间的对应关系的示例的示图。参照图1和图4,从主机500提供的逻辑地址lba 1、lba 2、lba 3和lba 4可以映射到包括在存储器装置100中的存储块的物理地址pba 1、pba 2、pba 3和pba 4。在实施例中,图4所示的具有物理地址pba 1、pba 2、pba 3和pba 4的存储块可以是用户块101。在实施例中,图4所示的具有物理地址pba 1、pba 2、pba 3和pba 4的存储块可以是备份块102。
79.逻辑地址lba 1、lba 2、lba 3和lba 4可以映射到存储块的物理地址pba 1、pba 2、pba 3和pba 4。由逻辑地址lba 1、lba 2、lba 3和lba 4标识的第一写入数据wdata 1、第二写入数据wdata 2、第三写入数据wdata 3和第四写入数据wdata4,可以存储在分别映射到逻辑地址lba 1、lba2、lba 3和lba 4的物理地址pba 1、pba 2、pba 3和pba 4中。例如,第一写入数据wdata 1可以存储在映射到第一逻辑地址lba 1的第一物理地址pba 1中。第二写入数据wdata 2可以存储在映射到第二逻辑地址lba 2的第二物理地址pba 2中。第三写入数据wdata3可以存储在映射到第三逻辑地址lba 3的第三物理地址pba 3中。第四写入数据wdata4可以存储在映射到第四逻辑地址lba 4的第四物理地址pba 4中。
80.在实施例中,当具有物理地址pba 1、pba 2、pba 3和pba 4的存储块是用户块101时,存储器控制器200可以控制存储器装置100以将第一至第四写入数据wdata1、wdata 2、
wdata 3和wdata 4存储在多个用户块101之中的、具有对应于逻辑地址lba 1、lba 2、lba 3和lba 4的物理地址pba 1、pba 2、pba 3和pba 4的用户块中。
81.在实施例中,当具有物理地址pba 1、pba2、pba 3和pba 4的存储块是备份块102时,存储器控制器200可以控制存储器装置100以将第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata4存储在多个备份块102之中的、具有对应于逻辑地址lba 1、lba 2、lba 3和lba 4的物理地址pba 1、pba 2、pba 3和pba 4的备份块中。
82.在图4中,逻辑地址lba 1、lba 2、lba 3和lba 4,物理地址pba 1、pba 2、pba 3和pba 4以及写入数据的数量仅被提供用于示例目的,并且在其他实施例中可以具有不同的数量。为了便于描述,将基于逻辑地址lba 1、lba 2、lba 3和lba 4以及第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4来描述实施例。
83.图5是示出地址信息管理器和操作执行组件的实施例的示图。在该实施例中,假设用户块101是具有映射到从主机500提供的逻辑地址lab 1、lab 2、lab 3和lab 4的物理地址的所选择用户块,并且备份块组包括第一备份块102_1和第二备份块102_2。
84.参照图1和图5,主机500可以向存储装置1000提供第一至第四数据data 1、data 2、data 3和data4、逻辑地址lab 1、lab 2、lab 3和lab 4以及写入请求。
85.存储器控制器200可以将第一至第四数据data 1、data 2、data 3和data 4以及逻辑地址lab 1、lab 2、lab 3和lab 4临时存储在缓冲存储器300中。例如,可以将第一至第四数据data 1、data 2、data 3和data 4临时存储在写入缓冲器310中。可以将逻辑地址lab 1、lab 2、lab 3和lab 4临时存储在地址缓冲器320中。
86.在实施例中,地址信息管理器210可以感测是否已经发生失电。当尚未发生失电时,地址信息管理器210不生成地址信息,而是可以待机。
87.在实施例中,地址信息管理器210可以被实施为用于管理存储器控制器200的电力的电力管理内核。然而,本公开不限于此。当尚未发生失电时,操作执行组件220可以控制存储器装置100以将临时存储在写入缓冲器310中的第一至第四数据data 1、data 2、data 3和data 4以及第一至第四数据data 1、data 2、data3和data 4的元数据存储在用户块101中。
88.在实施例中,操作执行组件220可以包括例如参照图1所描述的闪存转换层。而且,操作执行组件220可以包括例如如参照图1所描述的主机接口层。
89.图6是示出失电保护操作的实施例的示图。在本实施例中,假设用户块101是具有映射到从主机500提供的逻辑地址lab 1、lab 2、lab 3和lab 4的物理地址的所选择用户块,并且备份块组包括第一备份块102_1和第二备份块102_2。
90.参照图6,地址信息管理器210可以感测是否已经发生失电pwr_loss。当发生失电pwr_loss时,地址信息管理器210可以向操作执行组件220提供通知信号irq,以提供发生失电pwr_loss的通知。地址信息管理器210可以获取临时存储在地址缓冲器320中的逻辑地址lab 1、lab 2、lab 3和lab 4,并且可以生成包括逻辑地址lab 1、lab 2、lab 3和lab 4的地址信息lbat。地址信息管理器210可以控制存储器装置100以将地址信息lbat存储在第一备份块102_1中。
91.在实施例中,地址信息lbat可以是被配置为包括从主机500提供的逻辑地址lab 1、lab 2、lab 3和lab 4的表的信息。当逻辑地址lab 1、lab 2、lab 3、lab 4的数量为4,并
且一个逻辑地址的大小为4字节时,具有表结构的地址信息lbat的大小可以为16字节。在实施例中,通知信号irq可以请求中断操作执行组件220。
92.操作执行组件220可以接收通知信号irq并且可以获取临时存储在写入缓冲器310中的第一至第四数据data 1、data 2、data 3和data 4。操作执行组件220可以生成第一至第四数据data 1、data 2、data 3和data 4的元数据,并且可以控制存储器装置100以将包括第一至第四数据data 1、data 2、data 3和data 4和它们的元数据的第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata4存储在第二备份块102_2中。
93.当失电保护操作被正常执行时,可以将第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4存储在第二备份块102_2中。此外,可以将包括指示已经执行失电保护操作的信息的元数据存储在第二备份块102_2中。
94.在将第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4存储在第二备份块102_2中的过程中,第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4之中的一些写入数据可能丢失。例如,第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4之中的第四写入数据wdata 4可能丢失。在这种情况下,第四写入数据wdata 4可以被称为丢失写入数据。当第四写入数据wdata 4丢失时,可以将第一至第三写入数据wdata 1、wdata 2和wdata3存储在第二备份块102_2中。
95.可以执行检查以确定第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4之中的哪些写入数据已丢失。为此,在失电pwr_loss发生之后供应电力时,可以将表示在发生失电pwr_loss之前存储在地址缓冲器320中的逻辑地址lab 1、lab 2、lab 3和lab 4的信息存储在存储器装置100中。
96.当失电pwr_loss已经发生之后供应电力时,操作执行组件220可以基于存储在第一备份块102_1中的地址信息lbat来检查(在第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4之中的)丢失写入数据,并且可以检测丢失写入数据的逻辑地址。
97.图7是检测丢失写入数据的逻辑地址的实施例的示图。在该实施例中,假设用户块101是具有映射到从主机500提供的逻辑地址lab 1、lab 2、lab 3和lab 4的物理地址的所选择用户块,备份块组包括第一备份块102_1和第二备份块102_2,第四写入数据wdata 4是丢失写入数据,并且第四逻辑地址lba 4是丢失写入数据的逻辑地址。
98.参照图6和图7,可以在发生失电pwr_loss之后供应电力pwr。在实施例中,当输入电力pwr时,地址信息管理器210可以确定先前的电力循环是否已经正常结束并且可以将所确定的结果提供给操作执行组件220。在一个实施例中,操作执行组件220可以确定先前的电力循环是否已经正常结束,并且可以将所确定的结果提供给地址信息管理器210。
99.在实施例中,当输入电力pwr时,地址信息管理器210和操作执行组件220中的每一个可以确定先前的电力循环是否已经正常结束。在一个实施例中,当在先前的电力循环中已经正常执行失电保护操作时,可以认为先前的电力循环已经正常结束。当在先前的电力循环中没有发生失电pwr_loss时,可以确定先前的电力循环已经正常结束。
100.当第一至第四写入数据wdata1、wdata2、wdata 3和wdata 4都存储在第二备份块102_2中时,可以确定先前的电力循环正常结束。在一个实施例中,当将元数据(包括表示已经执行失电保护操作的信息)存储在第二备份块102_2中时,可以确定先前的电力循环已经正常结束。
101.当第一至第四写入数据wdata 1、wdata2、wdata 3和wdata 4的元数据中的一些未被存储时,可以确定先前的电力循环异常结束。在一个实施例中,当包括表示已经执行失电保护操作的信息的元数据没有被存储在第二备份块102_2中时,可以确定先前的电力循环异常结束。
102.地址信息管理器210可以根据先前的电力循环是否正常结束,来获取第一备份块102_1中存储的地址信息lbat。在实施例中,存储在第一备份块102_1中的地址信息lbat可以是响应于在先前的电力循环中已经发生的失电而生成的信息。存储在第一备份块102_1中的地址信息lbat可以包括临时存储在地址缓冲器320中的逻辑地址lba1、lba 2、lba 3和lba 4。
103.当确定先前的电力循环异常结束时,地址信息管理器210可以控制存储器装置100以读取存储在第一备份块102_1中的地址信息lbat。当地址信息管理器210从存储器装置100获取地址信息lbat时,地址信息管理器210可以将地址信息lbat提供给操作执行组件220。
104.例如,根据先前的电力循环是否正常结束,操作执行组件220可以获取存储在第二备份块102_2中的第一至第三写入数据wdata 1、wdata 2和wdata 3。当确定先前的电力循环异常结束时,操作执行组件220可以控制存储器装置100以读取存储在第二备份块102_2中的第一至第三写入数据wdata 1、wdata 2和wdata 3。
105.当操作执行组件220从存储器装置100获取第一至第三写入数据wdata 1、wdata 2和wdata 3时,操作执行组件220可以根据从地址信息管理器210提供的地址信息lbat,将第四写入数据wdata 4检查为第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata 4之中的恢复失败的丢失写入数据。操作执行组件220可以检测第四写入数据wdata 4的第四逻辑地址lba 4。
106.在实施例中,操作执行组件220可以基于地址信息lbat和第一至第三写入数据wdata 1、wdata 2和wdata 3的元数据,将第四写入数据wdata 4的逻辑地址检测为丢失写入数据的逻辑地址。操作执行组件220可以向主机500提供第四逻辑地址lba4。
107.在实施例中,可以将丢失写入数据的逻辑地址提供给主机500,而与由主机500单独提供的请求无关。在一个实施例中,可以根据由主机500单独提供的请求,将丢失写入数据的逻辑地址提供给主机500。
108.此外,操作执行组件220可以向主机500提供通知已经出现丢失写入数据的响应。当多个存储装置1000使用例如独立磁盘冗余阵列(raid)方案操作时,可以使用多个存储装置1000之中的、除了检测丢失写入数据的逻辑地址的存储装置之外的其他存储装置中存储的写入数据和该写入数据的逻辑地址,来恢复丢失写入数据。例如,可以通过对存储在其他存储装置中的写入数据执行逻辑运算(例如,异或(xor)运算)来恢复丢失写入数据。
109.如上所述,检测在失电保护操作中丢失的写入数据和该写入数据的逻辑地址,从而可以恢复丢失写入数据。因此,可以提高存储装置的可靠性。
110.图8是示出将恢复写入数据存储在用户块中的实施例的示图。在该实施例中,假设用户块101是具有映射到从主机500提供的逻辑地址lab 1、lab 2、lab 3和lab 4的物理地址的所选择用户块,备份块组包括第一备份块102_1和第二备份块102_2,第一至第三写入数据wdata 1、wdata 2和wdata 3为恢复写入数据,第四写入数据wdata 4为丢失写入数据,
并且第四逻辑地址lba 4是该丢失写入数据的逻辑地址。
111.参照图8,当检查到丢失写入数据为第四写入数据wdata 4并且检测到第四写入数据wdata 4的第四逻辑地址lba 4时,操作执行组件220可以在第四写入数据wdata 4的元数据mdata 4中标记错误标志。例如,错误标志可以指示在写入数据中已经发生不可校正错误。
112.在实施例中,操作执行组件220可以对第四写入数据wdata 4的元数据wdata 4执行不可校正错误校正码处理。参照图2描述了示例。操作执行单元220可以允许不可校正错误数据uecc被包括在第四写入数据wdata 4的元数据mdata 4中。
113.操作执行组件220可以控制存储器装置100以将恢复的第一至第三写入数据wdata 1、wdata 2和wdata 3以及第四写入数据wdata 4的元数据mdata 4存储在用户块101中。
114.操作执行组件220可以控制存储器装置100以将存储在第一和第二备份块102_1和102_2中的数据处理为无效。可以将存储在第一备份块102_1中的地址信息lbat处理为无效。此外,也可以存储在第二备份块102_2中的第一至第三写入数据wdata 1、wdata 2和wdata 3处理为无效。
115.图9是示出操作存储装置1000的方法的实施例的流程图,例如存储装置1000可以是对应于本文描述的实施例中的任意一个的存储装置。
116.参照图9,该方法包括,在s110处,存储装置1000临时存储从主机500提供的数据和逻辑地址。参照图1和图5描述了示例。存储器控制器200可以将第一至第四数据data 1、data 2、data 3和data 4临时存储在写入缓冲器310中。而且,存储器控制器200可以将逻辑地址lba 1、lba 2、lba 3和lba 4临时存储在地址缓冲器320中。在s120处,存储装置1000可以感测失电。参照图6描述了示例。地址信息管理器210可以感测是否已经发生失电pwr_loss。
117.在s130处,当没有感测到失电(s120,否)时,存储装置1000可以执行编程操作。编程操作可以是将从主机500提供的数据存储在存储器装置100中的多个用户块101之中的所选择用户块中的操作。下面将描述示例。存储器控制器200可以控制存储器装置100,以将第一至第四数据data 1、data 2、data 3和data 4存储在多个用户块101之中的具有映射到逻辑地址lba 1、lba 2、lba 3和lba 4的物理地址的用户块中。
118.在s140处,当感测到失电(s120,是)时,存储装置1000可以执行失电保护操作。例如,在s141处,辅助电源400可以响应于失电的发生而操作。参照图1描述了示例。辅助电源400可以向存储器控制器200供应辅助电力。
119.在s142处,存储器控制器200可以控制存储器装置100以生成逻辑地址表,该逻辑地址表包括表示临时存储的逻辑地址的信息,并且将逻辑地址表存储在存储器装置100中的第一备份块102_1中。逻辑地址表可以是具有表结构的地址信息lbat,例如参照图6所描述的。地址信息管理器210可以生成包括逻辑地址lba 1、lba 2、lba 3和lba 4的地址信息lbat,并且可以控制存储器装置100以将地址信息lbat存储在第一备份块102_1中。
120.在s143处,存储器控制器200可以控制存储器装置100以将写入数据存储在第二备份块102_2中。参照图6描述了示例。响应从地址信息管理器210提供的通知信号irq,操作执行组件220可以控制存储器装置100以将包括第一至第四数据data 1、data2、data 3和data 4和它们的元数据的第一至第四写入数据wdata 1、wdata 2、wdata 3和wdata4存储在第二
备份块102_2中。在实施例中,可以并行执行操作s142和s143。
121.在s150处,存储装置1000可以确定在已经发生失电之后,是否输入了电力。
122.在s160处,当电力被输入到存储装置1000(s150,是)时,存储装置1000可以执行恢复操作。例如,在s161处,存储器控制器200可以获取存储在备份块组中的逻辑地址表和写入数据,该备份块组包括第一备份块102_1和第二备份块102_2。参照图7描述了示例。地址信息管理器210可以控制存储器装置100以读取存储在第一备份块102_1中的地址信息lbat。操作执行组件220可以控制存储器装置100以读取存储在第二备份块102_2中的第一至第三写入数据wdata 1、wdata 2和wdata 3。
123.在s162处,存储器控制器200可以基于获取的写入数据和获取的逻辑地址表,来确定是否已经检测到恢复失败的写入数据的逻辑地址。存储器控制器200可以根据写入数据的元数据来检查写入数据的逻辑地址,并且可以根据在逻辑地址表的逻辑地址之中,是否存在除了写入数据的逻辑地址之外的任何逻辑地址,来检测丢失写入数据的逻辑地址。参照图7描述了示例。操作执行组件220可以基于从地址信息管理器210提供的地址信息lbat和第一至第三写入数据wdata1、wdata 2和wdata 3的元数据,将第四写入数据wdata 4的逻辑地址检测为丢失写入数据的逻辑地址。
124.在s163处,当检测到丢失写入数据的逻辑地址(s162,是)时,存储器控制器200可以向主机500提供丢失写入数据的逻辑地址。参照图7描述了示例。操作执行组件220可以向主机500提供第四逻辑地址lba 4。
125.在s164处,存储器控制器200可以在丢失写入数据的元数据中标记错误标志。
126.在s165处,存储器控制器200可以控制存储器装置100以将恢复写入数据和丢失写入数据的元数据存储在用户块101中。参照图7描述了示例。操作执行组件220可以在第四写入数据wdata 4的元数据mdata 4中标记错误标志。错误标志可以指示在写入数据中已经发生不可校正错误。操作执行组件220可以控制存储器装置100以将恢复的第一至第三写入数据wdata 1、wdata 2和wdata 3以及第四写入数据wdata 4的元数据mdata 4存储在用户块101中。在实施例中,可以并行执行操作s163和s164。
127.在s166处,当由于失电保护操作成功执行而未检测到丢失写入数据的逻辑地址(s162,否)时,存储器控制器200可以控制存储器装置100以将恢复写入数据存储在用户块101中。
128.图10是示出可以包括存储器单元阵列110、外围电路120和控制逻辑130的存储器装置100的实施例的示图。存储器单元阵列110可以包括多个存储块mb1至mbk(k是正整数)。所示的多个存储块mb1至mbk的数量是示例,并且在另一实施例中可以是不同的数量。
129.存储块mb1至mbk中的每一个可以连接到局部线ll和位线bl1至bln(n是正整数)。局部线ll可以连接到行解码器122并且还可以连接到存储块mb1至mbk中的每一个。局部线ll可以包括第一选择线、第二选择线以及布置在第一选择线与第二选择线之间的多个字线。此外,局部线ll可以包括布置在第一选择线和字线之间的一个或多个虚设线、布置在第二选择线和字线之间的一个或多个虚设线以及管线。位线bl1至bln可以共同连接到存储块mb1至mbk。
130.存储块mb1至mbk可以以二维或三维结构实施。例如,具有二维结构的存储块mb1至mbk中的存储器单元可以布置在平行于衬底的方向上。在一个实施例中,具有三维结构的存
储块mb1至mbk中的存储器单元可以堆叠在垂直于衬底的方向上。
131.外围电路120可以包括电压生成器121、行解码器122、页面缓冲器组123、列解码器124、输入/输出电路125和感测电路126。电压生成器121可以响应于操作命令op_cmd,生成用于编程操作、读取操作和擦除操作的各种操作电压vop。而且,电压生成器121可以响应于操作命令op_cmd选择性地使局部线ll放电。例如,电压生成器121可以在控制逻辑130的控制下生成编程电压、验证电压、通过电压、导通电压、读取电压、擦除电压、源极线电压等。
132.在实施例中,电压生成器121可以通过调节外部电源电压来生成内部电源电压。例如,内部电源电压可以用作存储器装置100的工作电压。
133.在实施例中,电压生成器121可以使用外部电源电压或内部电源电压来生成多个电压。例如,电压生成器121可以包括用于接收内部电源电压的多个泵浦电容器,并且可以在控制逻辑130的控制下通过选择性地激活多个泵浦电容器来生成多个电压。所生成的电压可以由行解码器122供应给存储器单元阵列110。
134.行解码器122可以响应于行地址radd来将操作电压vop传送到局部线ll。可以通过局部线ll将操作电压vop传送到存储块mb1至mbk之中的所选择存储块。例如,在编程操作中,行解码器122可以将编程电压施加到所选择字线,并且可以将电平不同于(例如,低于)编程电压的电平的编程通过电压施加到未选择字线。在编程验证操作中,行解码器122可以将验证电压施加到所选择字线,并且可以将高于验证电压的验证通过电压施加到未选择字线。
135.在读取操作中,行解码器122可以将读取电压施加到所选择字线,并可以将高于读取电压的读取通过电压施加到未选择字线。
136.在擦除操作中,行解码器122可以根据经解码的地址来选择一个存储块。在擦除操作中,地址解码器122可以将接地电压施加到与所选择存储块连接的字线。
137.页面缓冲器组123可以包括第一至第n页面缓冲器pb1至pbn。第一至第n页面缓冲器pb1至pbn可以分别通过第一至第n位线bl1至bln连接到存储器单元阵列110。第一至第n页面缓冲器pb1至pbn可以在控制逻辑130的控制下操作。例如,第一至第n页面缓冲器pb1至pbn可以响应于页面缓冲器控制信号pbsignals而操作。在一个实施例中,在读取操作或验证操作中,第一至第n页面缓冲器pb1至pbn可以临时存储通过第一至第n位线bl1至bln接收的数据,或者可以感测位线bl1至bln的电压或电流。
138.在编程操作中,当编程电压被施加到所选择字线时,第一至第n页面缓冲器pb1至pbn可以通过第一至第n位线bl1至bln来将通过列解码器124和输入/输出电路125接收的数据data传送到所选择存储器单元。根据所传送的数据data,对所选择页面的存储器单元进行编程。连接到施加了编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。连接到施加了编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被保持。
139.在验证操作中,第一至第n页面缓冲器pb1至pbn可以通过第一至第n位线bl1至bln来感测存储在所选择存储器单元中的数据。
140.在读取操作中,第一至第n页面缓冲器pb1至pbn可以通过第一至第n位线bl1至bln感测来自所选择页面的存储器单元的数据data,并且可以在列解码器124的控制下将所感测的数据data输出到输入/输出电路125。
141.在擦除操作中,第一至第n页面缓冲器pb1至pbn可以使第一至第n位线bl1至bln浮置。
142.列解码器124可以响应于列地址cadd在输入/输出电路125和页面缓冲器组123之间传送数据。例如,列解码器124可以通过数据线dl与页面缓冲器pb1至pbn交换数据,或者可以通过列线cl与输入/输出电路125交换数据。
143.输入/输出电路125可以将从存储器控制器200传送的命令cmd和地址add传送到控制逻辑130或者可以将数据data交换到列解码器124。
144.在读取操作或验证操作中,感测电路126可以响应于允许位vry_bit《#》生成参考电流,并且可以通过将从页面缓冲器组123接收的感测电压vpb与由参考电流生成的参考电压进行比较来输出通过信号pass或失败信号fail。
145.控制逻辑130可以响应于命令cmd和地址add,通过输出操作命令op_cmd、行地址radd、页面缓冲控制信号pbsignals和允许位vry_bit《#》来控制外围电路120。
146.图11是示出可以包括处理器201、ram 202、错误校正码(ecc)电路203、主机接口204、rom 205和闪存接口206的存储器控制器的实施例的示图。处理器201可以控制存储器控制器200的全部操作,并且ram 202可以用作存储器控制器200的缓冲存储器、高速缓存存储器、工作存储器等。出于说明的目的,在该实施例中,ram 202可以被认为是缓冲存储器。
147.ecc电路203可以生成用于校正从存储器装置100接收的数据的失败位或错误位的ecc。ecc电路203可以通过对提供给存储器装置100的数据执行ecc编码来生成添加了一个或多个奇偶校验位的数据。奇偶校验位可以存储在存储器装置100中。ecc电路203可以对从存储器装置100输出的数据执行ecc解码。
148.ecc电路203可以使用奇偶校验来校正错误。例如,ecc电路203可以使用诸如ldpc码、bch码、涡轮(turbo)码、里德-所罗门(reed-solomon)码、卷积码、rsc、tcm和bcm的各种编码调制来校正错误。
149.ecc电路203可以计算在编程操作中待编程到存储器装置100的数据的ecc值。ecc电路203可以基于ecc值来对在读取操作中从存储器装置100读取的数据执行错误校正操作。ecc电路203可以对在失败的数据的恢复操作中从存储器装置100恢复的数据执行错误校正操作。
150.存储器控制器200可以通过主机接口204与外部装置(例如,主机500、应用处理器或另一装置等)通信。
151.rom 205可以存储指令(例如,包括固件)以及用于存储器控制器200的操作的各种类型的信息。
152.例如,存储器控制器200可以通过闪存接口206与存储器装置100通信。存储器控制器200可以通过闪存接口206向存储器装置100传输命令cmd、地址addr、控制信号ctrl和/或其他信息,并且可以接收数据data。例如,闪存接口206可以包括nand接口。
153.图12是示出向主机提供(来自多个执行恢复操作的存储装置的)响应的存储系统的实施例的示图。
154.参照图12,例如,存储系统可以包括主机500和多个存储装置1000_1、1000_2和1000_3。存储装置1000_1、1000_2和1000_3中的每一个可以被实施为例如参照图1描述的存储装置1000。而且,参照图1至图9描述的实施例可以应用于存储装置1000_1、1000_2和
1000_3中的每一个。而且,存储装置1000_1、1000_2和1000_3的数量被示出为三个,但在另一实施例中可以是不同的数量。
155.例如,多个存储装置1000_1、1000_2和1000_3可以使用如参照图1描述的raid方案来操作。主机500可以向多个存储装置1000_1、1000_2和1000_3中的每一个提供写入请求,并且可以向存储装置1000_1、1000_2和1000_3提供多个逻辑地址lba 1至lba 9。此外,主机500可以将数据写入存储装置1000_1、1000_2和1000_3。参照图12描述了示例。
156.主机500可以向多个存储装置1000_1、1000_2和1000_3之中的第一存储装置1000_1提供第一、第四和第七逻辑地址lba1、lba4和lba7。主机500可以向多个存储装置1000_1、1000_2和1000_3之中的第二存储装置1000_2提供第二、第五和第八逻辑地址lba2、lba5和lba8。在该示例中,主机500可以向多个存储装置1000_1、1000_2和1000_3之中的第三存储装置1000_3提供第三、第六和第九逻辑地址lba 3、lba6和lba 9。然而,本公开不限于此。
157.当没有发生失电时,多个存储装置1000_1、1000_2和1000_3可以存储从主机500提供的写入数据。然而,在一些情况下,在多个存储装置1000_1、1000_2和1000_3中的一些或全部中可能发生失电。为了说明的目的,假设在所有存储装置1000_1、1000_2和1000_3中都发生了失电。在这种情况下,存储装置1000_1、1000_2和1000_3中的每一个可以执行失电保护操作。当在发生失电之后向存储装置1000_1、1000_2和1000_3输入电力时,存储装置1000_1、1000_2和1000_3可以执行恢复操作。而且,多个存储装置1000_1、1000_2和1000_3可以向主机500提供通知恢复操作的结果的响应。丢失写入数据的逻辑地址可以包括在向主机500提供的响应中。
158.例如,当第一、第四和第七逻辑地址lba 1、lba 4和lba 7之中的第七逻辑地址lba 7是丢失写入数据的逻辑地址时,第一存储装置1000_1可以向主机500提供第七逻辑地址lba 7作为响应。
159.例如,当第二、第五和第八逻辑地址lba 2、lba 5和lba 8之中的第五和第八逻辑地址lba 5和lba 8中的每一个都是丢失写入数据的逻辑地址时,第二存储装置1000_2可以向主机500提供第五和第八逻辑地址lba 5和lba 8作为响应。
160.例如,当第三、第六和第九逻辑地址lba 3、lba 6和lba 9之中不存在丢失写入数据的逻辑地址时,第三存储装置1000_3可以向主机500提供通知多个操作成功的响应。
161.主机500可以基于丢失写入数据的逻辑地址lba 5、lba 7和lba8来检查丢失写入数据,并且可以向存储装置1000_1、1000_2和1000_3提供与丢失写入数据相对应的写入数据。
162.图13是示出可以应用根据本文所述的任意实施例的存储装置的存储卡系统2000的实施例的框图。存储器装置2100可以被实施为非易失性存储器装置。示例包括:电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)和自旋转移扭矩磁性ram(stt-mram)。
163.参照图13,存储卡系统2000包括存储器装置2100、存储器控制器2200和连接器2300。存储器控制器2200连接到存储器装置2100并且可以访问存储器装置2100。例如,存储器控制器2200可以控制存储器装置2100的读取操作、写入操作、擦除操作以及后台操作。存储器控制器2200还可以用作存储器装置2100与主机之间的接口。存储器控制器2200运行用于控制存储器装置2100的指令(例如,驱动固件),并且例如可以被实施为参照图1描述的存
储器控制器200。
164.存储器控制器2200可以包括诸如随机存取存储器(ram)、处理单元、主机接口、存储器接口和错误校正器的组件。此外,存储器控制器2200可以通过连接器2300与外部装置通信。例如,存储器控制器2200可以根据特定的通信协议或标准与外部装置(例如,主机500)通信。示例包括:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。连接器2300可以与上述各种通信协议中的至少一种兼容。
165.存储器装置2100和存储器控制器2200可以集成到单个半导体装置中以构成存储卡。存储卡的示例包括:pc卡(个人计算机存储卡国际协会(pcmcia))、紧凑型闪存(cf)卡、智能媒体卡(sm和smc)、记忆棒、多媒体卡(mmc、rs-mmc、微型mmc和emmc)、sd卡(sd、迷你sd、微型sd和sdhc)和通用闪存(ufs)。
166.图14是示出可以应用本文描述的存储装置的任意实施例的固态驱动器(ssd)系统的实施例的框图。
167.参照图14,ssd系统包括主机500和ssd 3000。ssd 3000通过信号连接器3001与主机500交换信号sig,并且通过电源连接器3002接收电力pwr。ssd 3200包括ssd控制器3200、多个闪速存储器3100_1、3100_2和3100_n、辅助电源3300和缓冲存储器3400。根据实施例,ssd控制器3200可以执行与参照图1描述的存储器控制器200相同的功能。
168.ssd控制器3200可以响应于从主机500接收到的信号sig来控制闪速存储器3100_1、3100_2和3100_n。信号sig可以是基于主机500和ssd 3000之间的接口的信号。例如,信号sig可以是由诸如以下的接口中的至少一种定义的信号:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。
169.辅助电源3300通过电源连接器3002连接到主机500,并且可以从主机500接收电力pwr并且可以使用电力pwr来执行充电操作。当来自主机500的电力供应不符合预定电平或模式(例如,不平稳)时,辅助电源3300可以提供ssd 3000的电力。辅助电源3300可以位于ssd3000中或者可以位于外部并且联接到ssd 3000。例如,辅助电源3300可以位于主板上以向ssd 3000提供辅助电力。
170.缓冲存储器3400可以临时存储数据。例如,缓冲存储器3400可以临时存储从主机500接收的数据和/或从闪速存储器3100_1、3100_2和3100_n接收的数据,和/或可以临时存储闪速存储器3100_1、3100_2和3100_n的元数据(例如,映射表)。缓冲存储器3400可以包括一个或多个易失性存储器(例如dram、sdram、ddr sdram、lpddr sdram、gram等)或一个或多个非易失性存储器,例如fram、reram、stt-mram、pram等。
171.图15是示出可以应用本文描述的存储装置的任意实施例的用户系统400的实施例的框图。
172.参照图15,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。应用处理器4100可以驱动用户系统4000、操作系统(os)、用户程序和/或其他特征中的组件。例如,应用处理器4100可以包括用于控制用户系
统4000中的组件、接口、图形引擎和/或其他特征的一个或多个控制器。例如,应用处理器4100可以被提供为片上系统(soc)。
173.存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。示例包括:诸如dram、sdram、ddr sdram、ddr2 sdram、ddr3 sdram、lpddr sdram、lpddr2 sdram和lpddr3 sdram的易失性随机存取存储器或诸如pram、reram、mram和fram的非易失性随机存取存储器。在一个实施例中,应用处理器4100和存储器模块4200可以通过例如基于堆叠封装(pop)来封装而被设置为单个半导体封装。
174.网络模块4300可以与外部装置通信。例如,网络模块4300可以支持无线通信,诸如码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、wimax、wlan、uwb、蓝牙和wi-fi。在一个实施例中,网络模块4300可以在应用处理器4100中。
175.存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。在一个实施例中,存储模块4400可以将所存储的数据传输到应用处理器4100。例如,存储模块4400可以利用诸如相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、nand闪存、nor闪存或具有三维结构的nand闪存的非易失性半导体存储器装置来实施。在一个实施例中,存储模块4400可以是诸如用户系统4000的存储卡或外部驱动器的可移除驱动器。
176.例如,存储模块4400可以作为参照图1描述的存储装置1000来操作。而且,存储模块4400可以包括作为参照图1描述的存储器装置100来操作的多个非易失性存储器装置。
177.用户接口4500可以包括用于向应用处理器4100输入数据或命令和/或用于向外部装置输出数据的一个或多个接口。用户接口4500可以包括一个或多个用户输入接口(例如,键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器、压电元件等),和/或一个或多个用户输出接口(例如,液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器、监视器等)。
178.根据上述实施例中的一个或多个,存储装置可以通过在失电保护操作中检查丢失数据并且可随后恢复丢失数据来实现高可靠性。还提供了这种存储装置的操作方法。
179.本文描述的方法、过程和/或操作可以通过待由计算机、处理器、控制器或其他信号处理装置执行的代码或指令来执行。计算机、处理器、控制器或其他信号处理装置可以是本文描述的那些或者除了本文描述的元件之外的计算机、处理器、控制器或其他信号处理装置。因为详细描述了形成方法(或计算机、处理器、控制器或其他信号处理装置的操作)的基础的算法,所以用于实施方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理装置转变为用于执行本文的方法的专用处理器。
180.当至少部分在软件中实施时,控制器、处理器、装置、管理器、组件、模块、单元、多路复用器、生成器、逻辑、接口、解码器、驱动器、发生器和其他信号生成和信号处理功能可以包括,例如用于存储待由例如计算机、处理器、微处理器、控制器或其他信号处理装置执行的代码或指令的存储器或其他存储装置。计算机、处理器、微处理器、控制器或其他信号处理装置可以是本文描述的那些或者除了本文描述的元件之外的计算机、处理器、微处理器、控制器或其他信号处理装置。因为详细描述了形成方法(或计算机、处理器、控制器或其他信号处理装置的操作)的基础的算法,用于实施方法实施例的操作的代码或指令可以将计算机、处理器、微处理器、控制器或其他信号处理装置转变为用于执行本文所描述的方法
的专用处理器。
181.虽然已经参考本公开的某些示例性实施例示出并描述了本公开,但是本领域技术人员将理解的是,在不脱离由所附权利要求书及其等同方案所限定的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本公开的范围不应限于上述的示例性实施例,而是应当不仅由所附权利要求确定,而且还应由其等同方案确定。
182.在上述实施例中,可以选择性地执行所有步骤或者可以省略部分步骤。在每个实施例中,不一定按照所描述的顺序执行这些步骤,并且可以重新布置这些步骤。在本说明书和附图中公开的实施例仅是为了便于理解本公开的示例,并且本公开不限于此。也就是说,对于本领域技术人员显而易见的是,可以基于本公开的技术范围进行各种修改。
183.同时,已经在附图和说明书中描述了本公开的示例性实施例。尽管本文使用了特定术语,但这些术语仅用于解释本公开的实施例。因此,本公开不限于上述实施例,并且在本公开的精神和范围内可以有许多变化。对于本领域技术人员显而易见的是,除了本文所公开的实施例之外,还可以基于本公开的技术范围进行各种修改。可以组合这些实施例以形成另外的实施例。
再多了解一些

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

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

相关文献