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

存储器控制器的制作方法

2021-11-15 16:30:00 来源:中国专利 TAG:

存储器控制器
1.相关申请的交叉引用
2.本技术要求于2020年5月11日提交的、申请号为10

2020

0055787的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
3.本公开的各个实施例总体上涉及一种用于控制非易失性存储器装置的控制器。


背景技术:

4.计算机环境范例已经转变为普适计算,这使得能够随时随地使用计算系统。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
5.因为它们没有移动部件,所以存储器系统提供了诸如优异的稳定性和耐久性、高信息访问速度以及低功耗的优点。具有这样的优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡以及固态驱动器(ssd)。


技术实现要素:

6.本公开的各个实施例涉及一种可以快速地恢复易失性存储器中存储的映射数据的错误的存储器系统以及存储器系统的操作方法。
7.根据实施例,一种控制存储器装置的控制器,该存储器装置包括多个页面,每个页面与物理地址相对应,该控制器包括:存储器,适用于存储多个逻辑到物理(l2p)组块,每个l2p组块指示一个或多个逻辑地址与一个或多个物理地址之间的映射,并且适用于存储原始有效页面位图(vpb),原始vpb指示多个页面中的每一个是否是存储有效数据的有效页面;以及处理器,适用于在检测到损坏的l2p组块时,基于正常l2p组块来生成重构的vpb,检测原始vpb和重构的vpb中具有不同状态的页面,分别获取被映射到所检测到的页面的物理地址的逻辑地址,并且基于所检测到的页面的物理地址和所获取的逻辑地址来恢复损坏的l2p组块。
8.根据实施例,一种控制存储器装置的控制器,该存储器装置包括多个页面,每个页面与物理地址相对应,该控制器包括:存储器,适用于存储多个逻辑到物理(l2p)组块,每个l2p组块指示一个或多个逻辑地址与一个或多个物理地址之间的映射,并且适用于存储原始有效页面位图(vpb),原始vpb指示多个页面中的每一个是否是存储有效数据的有效页面;以及处理器,适用于在检测到损坏的l2p组块时,基于原始vpb针对每个页面组生成原始有效页面计数(vpc),基于正常l2p组块针对每个页面组生成重构的vpc,基于存储l2p组块的位置来确定损坏的l2p组块中包括的逻辑地址,检测原始vpc和重构的vpc中具有不同状态的页面组,通过参考所检测到的页面组的备用区域来搜索被映射到损坏的l2p组块中包括的逻辑地址的物理地址,并且基于损坏的l2p组块中包括的逻辑地址以及所搜索到的物
理地址来恢复损坏的l2p组块。
9.根据实施例,一种控制器的操作方法,该操作方法包括:在控制存储器装置以执行操作的同时,更新多个逻辑到物理(l2p)组块,每个l2p组块指示逻辑地址和物理地址之间的映射,以及更新有效页面位图(vpb),vpb指示存储器装置内的各个页面的有效性;在检测到损坏的l2p组块时重构vpb,使得重构的vpb将原始vpb中的页面之中的第一页面表示为有效并将第二页面表示为无效,第一页面由正常l2p组块内的物理地址指示,第二页面为除第一页面之外的页面;并且利用指示第二页面之中在原始vpb中被表示为有效的不一致页面的物理地址以及从该不一致页面读取的逻辑地址来恢复损坏的l2p组块。
附图说明
10.图1是示出根据实施例的数据处理系统的框图。
11.图2是示出逻辑地址和物理地址之间的关系的示图。
12.图3a是示出逻辑到物理(l2p)表的示图。
13.图3b是示出有效页面位图(vpb)的示图。
14.图4是示出存储器系统的写入操作的示图。
15.图5是示出根据第一实施例的存储器系统的l2p组块恢复操作的示图。
16.图6是示出根据第二实施例的存储器系统的l2p组块恢复操作的示图。
具体实施方式
17.在下文中,下面参照附图详细描述本公开的各个实施例。在下面的描述中,在本发明的上下文中提供了各种细节;省略了公知的技术问题,以免使本实施例的主题不清楚。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这样的短语的不同引用不一定针对相同的实施例。当在本文中使用术语“各个实施例”时,术语“各个实施例”不一定指所有实施例。
18.图1是示出根据本发明的实施例的数据处理系统100的框图。
19.参照图1,数据处理系统100可以包括可操作地联接到存储器系统110的主机102。
20.主机102可以包括诸如移动电话、mp3播放器和膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(tv)以及投影仪的各种非便携式电子装置中的任意一种。
21.主机102可以包括至少一个操作系统(os),os可以管理和控制主机102的全部功能和操作,并且使用数据处理系统100或存储器系统110提供主机102和用户之间的操作。os可以支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,可以将os划分为通用os和移动os。根据用户的环境,可以将通用os划分为个人os和企业os。
22.存储器系统110可以响应于主机102的请求而操作以存储用于主机102的数据。存储器系统110的非限制性示例包括固态驱动器(ssd)、多媒体卡(mmc)、安全数字(sd)卡、通用串行总线(usb)装置、通用闪存(ufs)装置、紧凑型闪存(cf)卡、智能媒体卡(smc)、个人计算机存储卡国际协会(pcmcia)卡和/或记忆棒。mmc可以包括嵌入式mmc(emmc)、缩小尺寸的mmc(rs

mmc)和/或微型mmc。sd卡可以包括迷你sd卡和/或微型sd卡。
23.存储器系统110可以由各种类型的存储装置中的任意一种来实现。这种存储装置
的示例包括但不限于诸如动态随机存取存储器(dram)和静态ram(sram)的易失性存储器装置,以及诸如只读存储器(rom)、掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电ram(fram)、相变ram(pram)、磁阻ram(mram)、电阻式ram(rram或reram)和闪速存储器的非易失性存储器装置。闪速存储器可以具有三维(3d)堆叠结构。
24.存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以存储用于主机102的数据,并且控制器130可以控制将数据存储到存储器装置150中。
25.控制器130和存储器装置150可以被集成到单个半导体装置中。例如,控制器130和存储器装置150可以被集成为一个半导体装置以构成固态驱动器(ssd)。当存储器系统110用作ssd时,可以提高连接到存储器系统110的主机102的操作速度。另外,控制器130和存储器装置150可以被集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)卡,紧凑型闪存(cf)卡,智能媒体(sm)卡,记忆棒,包括缩小尺寸的mmc(rs

mmc)和微型mmc的多媒体卡(mmc)、包括迷你sd卡、微型sd卡和sdhc卡的安全数字(sd)卡,或通用闪存(ufs)装置。
26.存储器系统110的非限制性应用示例包括计算机、超移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(dmb)播放器、3d电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络的各种电子装置中的一种、射频识别(rfid)装置、或构成计算系统的各种组件中的一种。
27.存储器装置150可以是非易失性存储器装置,并且即使没有供应电力也可以保留所存储的数据。存储器装置150可以通过编程操作存储从主机102提供的数据,并且通过读取操作将所存储的数据提供到主机102。存储器装置150可以包括多个存储块,存储块中的每一个可以包括多个页面,并且页面中的每一个可以包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可以具有三维(3d)堆叠结构。
28.控制器130可以响应于来自主机102的请求而控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供到主机102,并且将从主机102提供的数据存储到存储器装置150中。为此,控制器130可以控制存储器装置150的读取操作、编程操作和擦除操作。
29.控制器130可以将在主机102的文件系统中使用的逻辑地址转换为存储器装置150的物理地址,并且允许主机102访问存储器装置150。
30.图2是示出逻辑地址和物理地址之间的关系的示图。
31.图2示出存储器装置150中基于物理地址的存储空间。存储器装置150可以以页面为单位执行写入操作或读取操作。可以通过物理地址来区分存储器装置150的每个页面。
32.存储器装置150的每个页面可以包括主区域和备用区域。主区域可以存储从主机102接收的用户数据。备用区域可以存储用户数据的元数据。
33.例如,控制器130可以基于从主机102接收的针对第一逻辑地址la1的写入命令,控
制存储器装置150将数据写入第十物理地址pa10。存储器装置150可以将与第一逻辑地址la1相对应的用户数据写入第十物理地址pa10指示的页面的主区域,并且将该用户数据的逻辑地址(即,第一逻辑地址la1)写入该页面的备用区域。
34.存储器装置150可以不执行重新写入操作,并且以不同的数据单位执行编程操作和擦除操作。当主机102想要更新与第一逻辑地址la1相对应的用户数据时,控制器130可以将待更新的用户数据存储在空白页面的主区域中,将第一逻辑地址la1写入该空白页面的备用区域,并且将第十物理地址pa10的数据视为无效数据。
35.如图1所示,控制器130可以包括主机接口(i/f)132、处理器134、诸如nand闪存控制器(nfc)的存储器i/f 142和存储器144,它们全部经由内部总线可操作地联接。
36.主机i/f 132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci

e或pcie)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)和电子集成驱动器(ide)。
37.主机i/f 132可以通过被称为主机接口层(hil)的固件来驱动,以便与主机交换数据。
38.存储器i/f 142可以用作存储器/存储接口,该存储器/存储接口用于使控制器130和存储器装置150接口连接,使得控制器130响应于来自主机102的请求而控制存储器装置150。当存储器装置150是闪速存储器,甚至更具体地是nand闪速存储器时,存储器i/f 142可以在处理器134的控制下生成用于存储器装置150的控制信号并处理待提供到存储器装置150的数据。存储器i/f 142可以用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,nand闪存接口)。具体地,存储器i/f 142可以支持控制器130和存储器装置150之间的数据传送。
39.存储器i/f 142可以通过被称为闪存接口层(fil)的固件来驱动,以便与存储器装置150交换数据。
40.存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求而控制存储器装置150以执行读取操作、编程操作和擦除操作。控制器130可以将从存储器装置150读取的数据提供到主机102,可以将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作的数据。例如,存储器144可以存储指示逻辑到物理(l2p)地址映射的l2p表202。另外,存储器144可以存储指示存储器装置150的页面中的每一个是否是存储有效数据的有效页面的有效页面位图(vpb)204。
41.存储器144可以由易失性存储器来实现。例如,存储器144可以由静态随机存取存储器(sram)或动态随机存取存储器(dram)来实现。存储器144可以被设置在控制器130内或外部。图1例示了被设置在控制器130内的存储器144。在另一实施例中,存储器144可以由具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器来实现。
42.存储器144可以包括错误校正码(ecc)组件146。ecc组件146可以对从存储器144读取的数据中包括的错误进行检测和校正。存储器144可以对具有固定大小的数据组块执行错误校正编码操作,生成已添加奇偶校验位的数据,并且存储该数据。当读取存储器144中
存储的数据时,存储器144可以通过对已添加奇偶校验位的数据执行错误校正解码操作来检测和校正错误。例如,ecc组件146可以通过使用汉明码来执行错误校正编码和解码操作。ecc组件146不限于特定结构。ecc组件146可以包括用于错误校正的任意电路、模块、系统或装置。
43.图3a是示出l2p表202的示图。
44.l2p表202可以包括分别指示被映射到逻辑地址的物理地址的l2p条目。可以基于逻辑地址对l2p条目进行排列或排序,使得控制器130可以通过使用主机102的逻辑地址容易地找到物理地址。l2p表202可以以数据组块为单位进行错误校正编码和解码。也就是说,l2p表202可以包括多个l2p组块。l2p组块中的每一个可以包括一个或多个l2p条目。图3a所示的虚线表示一个l2p组块。在本公开中,l2p组块可以在从存储器装置150中存储的l2p表152加载的l2p表202内。
45.图3b是示出vpb 204的示图。
46.vpb 204可以指示存储器装置150的每个页面是否是用于存储有效数据的有效页面。例如,vpb 204的一个位可以指示特定物理地址指示的页面是否是有效页面。每个位可以以每个页面的物理地址顺序排列。在图3b的示例中,具有有效位“1”的页面可以指示该页面是有效页面。另外,具有指示页面是无效页面的有效位“0”的页面可能处于擦除状态或存储了无效数据。
47.当存储器装置150的特定存储块变为不可用的坏块时,控制器130可以用备用块来替换该坏块。根据实施方案,在即使由于存储器装置150的块替换而导致实际物理地址改变的情况下,控制器130也可以使用虚拟化的物理地址来保持一致的地址。根据实施方案,l2p表202中包括的物理地址以及vpb 204的页面的物理地址可以是存储器装置150的实际物理地址或虚拟化的物理地址。
48.重新参照图1,处理器134可以控制存储器系统110的全部操作。处理器134可以驱动固件以控制存储器系统110的全部操作。固件可以被称为闪存转换层(ftl)。而且,处理器134可以被实现为微处理器或中央处理单元(cpu)。
49.处理器134可以驱动ftl并执行与从主机接收的请求相对应的前台操作。例如,处理器134可以响应于来自主机的写入请求而控制存储器装置150的写入操作,并且响应于来自主机的读取请求而控制存储器装置150的读取操作。
50.处理器134可以响应于从主机102接收的读取命令或写入命令和逻辑地址而管理l2p表202和vpb 204以控制对存储器装置150的访问。
51.例如,当存储器系统110启动时,处理器134可以将l2p表152的全部或一部分从存储器装置150加载到存储器144中。l2p表152中被加载到存储器144中的一部分可以是l2p表202。当l2p条目改变时,处理器134可以通过反映l2p条目的改变来更新l2p表202。当存储器系统110正常终止时,处理器134可以存储更新后的l2p表202以更新存储器装置150中的l2p表152。当存储器系统110启动时,处理器134还可以将vpb 204从存储器装置150加载到存储器144,并且当存储器系统110正常终止时,以与l2p条目类似的方式更新vpb 204并将其存储回存储器装置150中。
52.而且,控制器130可以通过被实现为微处理器或cpu的处理器134对存储器装置150执行后台操作。例如,对存储器装置150执行的后台操作可以包括垃圾收集(gc)操作、损耗
均衡(wl)操作、映射清除操作或坏块管理操作。l2p表202和vpb 204可以通过控制器130的后台操作来更新。
53.ecc组件146具有有限的错误校正能力,这可以在可校正错误的数量方面被限定。例如,尽管可能已经检测到了更多的错误,但是ecc组件146可能使用数据组块和奇偶校验位来校正其能力内的特定数量的位。
54.可以以vpb组块为单位对vpb 204执行错误校正编码和解码操作,并且因为错误的数量超过ecc组件146的错误校正能力,所以在vpb组块中可能发生无法被ecc组件146校正的一个或多个错误。处理器134可以参考由发生不可校正的错误的、损坏的vpb组块指示的页面的备用区域。当由损坏的vpb组块指示的页面的备用区域编程有逻辑地址时,即当逻辑地址被映射到由损坏的vpb组块指示的页面的物理地址时,处理器134可以确定备用区域中的物理地址和逻辑地址之间的映射关系与l2p表202中的逻辑地址和物理地址之间的映射关系是否一致。
55.在由损坏的vpb组块指示的页面之中,当备用区域中的物理地址和逻辑地址之间的映射关系与l2p表202中的逻辑地址和物理地址之间的映射关系相对于页面一致时,处理器134可以将该页面表示为有效。在由损坏的vpb组块指示的页面之中,当备用区域中的物理地址和逻辑地址之间的映射关系与l2p表202中的逻辑地址和物理地址之间的映射关系相对于页面不一致时,处理器134可以将该页面表示为无效。通过将损坏的vpb组块内的页面表示为有效或无效,可以恢复损坏的vpb组块。
56.当处理器134读取l2p组块以将逻辑地址转换为物理地址时,可能发生不可校正的错误。如参照图2所描述的,存储器装置150的每个页面的备用区域可以存储被映射到相应页面的物理地址的逻辑地址。然而,当处理器134不知道l2p组块中包括的逻辑地址所映射到的物理地址时,处理器134需要搜索所有备用区域的逻辑地址。在每当l2p组块中发生不可校正的错误,处理器134需要搜索所有备用区域的逻辑地址并恢复l2p组块时,参考l2p组块执行的前台操作和后台操作的性能可能会降低。
57.进一步地,与加载到存储器144中的l2p表202不同,存储器装置150中存储的l2p表152不一定包括最新的l2p映射信息。例如,存储器装置150中包括的l2p表152可以包括存储器系统110启动时的l2p映射信息,而不包括存储器系统110启动之后被更新的l2p映射信息。因此,难以通过使用存储器装置150中存储的l2p表152来恢复发生错误的l2p组块。
58.由于存储器144的高度集成,l2p组块中将发生不可校正的错误的风险增加。因此,需要一种方法,通过该方法,即使l2p组块中发生不可校正的错误,处理器134也可以快速且准确地恢复l2p组块。
59.根据实施例,当l2p组块中发生不可校正的错误时,即使仅读取存储器装置150的几个备用区域,处理器134也可以恢复l2p组块。在下文中,发生不可校正的错误的l2p组块被称为损坏的l2p组块,并且不包含错误或仅包含可校正的错误的l2p组块被称为正常l2p组块。
60.根据实施例,当找到损坏的l2p组块时,处理器134可以基于l2p表202内的正常l2p组块来重构vpb。在下文中,最初存储在存储器144中的vpb被称为原始vpb,基于l2p表202内的正常l2p组块从原始vpb重构的vpb被称为重构的vpb。
61.在重构的vpb中,在存储器装置150中包括的页面之中,由正常l2p组块中包括的物
理地址指示的所有页面可以被表示为有效页面,而由损坏的l2p组块中的物理地址指示的其余页面可以被表示为无效页面。在原始vpb中,实际有效页面和实际无效页面可以分别被表示为有效页面和无效页面。实际有效页面可能由损坏的l2p组块中包括的物理地址以及正常l2p组块中包括的物理地址表示。这是因为:损坏的l2p组块中包括的逻辑地址和物理地址彼此映射,所以由损坏的l2p组块中包括的物理地址指示的页面存储有效数据。
62.处理器134可以通过将原始vpb与重构的vpb进行比较来知道损坏的l2p组块中包括的物理地址。例如,处理器134可以将在原始vpb中被表示为有效页面但是在重构的vpb中被表示为无效页面的页面的物理地址确定为损坏的l2p组块中包括的物理地址。
63.当处理器134访问由该物理地址指示的页面的备用区域时,处理器134可以分别知道被映射到该物理地址的逻辑地址。处理器134可以基于物理地址和逻辑地址将损坏的l2p组块恢复为正常l2p组块。
64.根据实施例,即使找到了包括不可校正的错误的损坏的l2p组块,处理器134也可以快速且准确地恢复损坏的l2p组块。因此,可以提高存储器系统110的访问性能和准确性。
65.参照图4至图6详细描述了根据实施例的存储器系统110的操作。
66.图4是示出存储器系统110的写入操作的示图。
67.图4示出l2p表202、vpb 204和存储器装置150。
68.存储器系统110的写入操作可以基于主机102的写入命令来执行,或者作为处理器134的后台操作来执行。
69.在操作s402中,处理器134可以将物理地址映射到逻辑地址以执行写入操作,并且更新相应逻辑地址的l2p条目。图4示出逻辑地址a(la_a)被映射到物理地址x(pa_x)的状态。
70.在操作s404中,处理器134可以更新vpb 204以将由物理地址x(pa_x)指示的页面表示为有效页面。当存在被映射到逻辑地址a(la_a)的现有物理地址时,处理器134可以将由该物理地址指示的页面表示为无效页面。
71.在操作s406中,处理器134可以将与逻辑地址a(la_a)相对应的数据data_la_a编程到由物理地址x(pa_x)指示的页面的主区域中,并且控制存储器装置150将逻辑地址a(la_a)编程到备用区域中。
72.图5是示出根据第一实施例的存储器系统110的l2p组块恢复操作的示图。
73.图5示出l2p表202、原始vpb 2042、重构的vpb 2044、l2p组块2022和存储器装置150。
74.在操作s502中,处理器134可以从存储器144读取包括逻辑地址a(la_a)的l2p组块。例如,处理器134可以基于逻辑地址a(la_a)找到l2p组块所在的位置。l2p组块可以包括逻辑地址和物理地址之间的映射关系。例如,l2p组块可以包括逻辑地址a(la_a)、逻辑地址b(la_b)、逻辑地址c(la_c)和逻辑地址d(la_d),它们是连续的逻辑地址。存储器144中包括的ecc组件146可以对待读取的l2p组块执行错误校正解码操作。
75.处理器134读取l2p组块的操作可以基于针对主机102的逻辑地址a(la_a)的读取命令来执行,或者通过处理器134的后台操作来执行。
76.当l2p组块是损坏的l2p组块时,处理器134可能找不到被映射到逻辑地址a(la_a)的物理地址,并且可能无法从存储器装置150获得与逻辑地址a(la_a)相对应的数据。处理
器134可以通过执行操作s504、s506、s508、s510和s512来恢复损坏的l2p组块。
77.在操作s504中,处理器134可以基于l2p表202的正常l2p组块生成重构的vpb 2044。在重构的vpb 2044中,处理器134可以将由正常l2p组块中包括的物理地址指示的页面表示为有效页面。另外,在重构的vpb 2044中,处理器134可以将未被包括在正常l2p组块中的物理地址指示的页面表示为无效页面。不在正常l2p组块中的物理地址可以包括损坏的l2p组块中的物理地址。因此,在重构的vpb 2044中,由损坏的l2p组块中包括的物理地址指示的页面以及处于擦除状态的页面与存储无效数据的页面也可以被表示为无效页面。在图5的示例中,重构的vpb 2044中针对每个页面的位大部分被省略,由物理地址w(pa_w)、物理地址x(pa_x)、物理地址y(pa_y)和物理地址z(pa_z)指示的页面中的每一个的位被表示为“0”。也就是说,在重构vpb时,物理地址w(pa_w)、x(pa_x)、y(pa_y)和z(pa_z)被例示为未被包括在正常l2p组块中的物理地址。因此,在重构的vpb 2044中,由这些物理地址表示的页面被示例为无效。
78.在操作s506中,处理器134可以将原始vpb 2042与重构的vpb 2044进行比较,并且检测损坏的l2p组块中包括的物理地址。处理器134可以使用先前被存储在存储器144中的vpb 204作为原始vpb 2042。
79.在原始vpb 2042中被表示为有效页面的页面对应于实际有效页面。由正常l2p组块中包括的物理地址以及损坏的l2p组块中包括的物理地址指示的所有页面可以是实际有效页面。在图5的示例中,原始vpb 2042中针对每个页面的位大部分被省略,由物理地址w(pa_w)、物理地址x(pa_x)、物理地址y(pa_y)和物理地址z(pa_z)指示的页面中的每一个的位被表示为“1”。也就是说,根据原始vpb 2042,由物理地址w(pa_w)、x(pa_x)、y(pa_y)和z(pa_z)表示的页面被例示为实际有效页面。
80.处理器134可以将指示在原始vpb 2042中被表示为有效但是在重构的vpb 2044中被表示为无效的页面的物理地址确定为损坏的l2p组块中包括的物理地址。至于处于擦除状态以及存储无效数据的页面,相应的物理地址可以在原始vpb 2042和重构的vpb 2044两者中将那些页面指示为无效。在图5的示例中,由于原始vpb 2042和重构的vpb 2044之间在相应页面的有效性表示上的差异,因此处理器134可以将物理地址w(pa_w)、物理地址x(pa_x)、物理地址y(pa_y)和物理地址z(pa_z)确定为损坏的l2p组块中包括的物理地址。
81.在操作s508中,处理器134可以控制存储器装置150对由在s506中检测到的物理地址指示的页面的备用区域执行读取操作。处理器134可以获得分别被映射到作为操作s506的结果而检测到的物理地址的逻辑地址。所获得的逻辑地址可以被视为应该被包括在损坏的l2p组块中的逻辑地址。在图5的示例中,存储器装置150可以从由作为操作s506的结果而检测到的物理地址w(pa_w)、物理地址x(pa_x)、物理地址y(pa_y)和物理地址z(pa_z)指示的页面的备用区域读取逻辑地址。存储器装置150可以分别从由物理地址w(pa_w)、物理地址x(pa_x)、物理地址y(pa_y)和物理地址z(pa_z)指示的页面的备用区域输出逻辑地址b(la_b)、逻辑地址a(la_a)、逻辑地址c(la_c)和逻辑地址d(la_d)。
82.在操作s510中,处理器134可以基于在操作s506和s508中获得的逻辑地址和物理地址来恢复损坏的l2p组块。图5示出所恢复的l2p组块2022。当l2p组块2022被恢复时,处理器134可以识别出被映射到逻辑地址a(la_a)的物理地址是物理地址x(pa_x)。如果需要,处理器134可以控制存储器装置150对由物理地址x(pa_x)指示的页面执行读取操作。
83.在操作s512中,处理器134可以通过在l2p表202中反映所恢复的l2p组块2022来恢复l2p表202。
84.图6是示出根据第二实施例的存储器系统110的l2p组块恢复操作的示图。
85.图6示出l2p表202、vpb 204、原始有效页面计数(vpc)3042、重构的vpc 3044和存储器装置150。vpc可以指示每个页面组中有多少个页面存储有效数据。例如,vpc可以指示每个存储块或每个超级块中有多少个页面存储有效数据。
86.在操作s602中,处理器134可以读取包括逻辑地址a(la_a)的l2p组块。例如,处理器134可以基于逻辑地址a(la_a)找到l2p组块所在的位置。l2p组块可以包括逻辑地址和物理地址之间的映射关系。ecc组件146可以对待读取的l2p组块执行错误校正解码操作。
87.当l2p组块是损坏的l2p组块时,处理器134可能找不到被映射到逻辑地址a(la_a)的物理地址,并且可能无法从存储器装置150获得与逻辑地址a(la_a)相对应的数据。然而,即使l2p组块被损坏,处理器134也可以基于该l2p组块所存储的位置来获得该l2p组块中包括的逻辑地址。例如,l2p组块可以包括逻辑地址a(la_a)、逻辑地址b(la_b)、逻辑地址c(la_c)和逻辑地址d(la_d),它们是连续的逻辑地址。处理器134可以通过执行操作s604、s606、s608、s610、s612和s614来恢复损坏的l2p组块。
88.在操作s604中,处理器134可以基于l2p表202的正常l2p组块生成重构的vpc 3044。例如,处理器134可以通过对每个存储块中包括的页面的物理地址之中有多少个物理地址被包括在正常l2p组块中进行计数,来生成重构的vpc 3044。在图6的示例中,重构的vpc 3044中针对每个存储块的计数大部分被省略,块k(blk_k)、块m(blk_m)和块n(blk_n)的计数分别被表示为“79”、“95”和“43”。
89.在操作s606中,处理器134可以基于vpb 204生成原始vpc 3042。例如,处理器134可以通过对每个存储块中包括的页面的物理地址之中有多少个物理地址在vpb 204中被表示为有效物理地址进行计数,来生成原始vpc 3042。在图6的示例中,原始vpc 3042中针对每个存储块的计数大部分被省略,块k(blk_k)、块m(blk_m)和块n(blk_n)的计数分别被表示为“80”、“97”和“44”。
90.在操作s608中,处理器134可以将原始vpc 3042与重构的vpc 3044进行比较,并且检测包括由损坏的l2p组块中包括的物理地址指示的页面的存储块。
91.如参照图5所描述的,原始vpb 2042和重构的vpb 2044中具有不同位值的物理地址可以是损坏的l2p组块中包括的物理地址。当将vpb 204中针对特定存储块中包括的页面的位值相加时,可以得出原始vpc 3042中针对该存储块的计数值。因此,类似于图5中描述的,原始vpc 3042和重构的vpc 3044中具有不同计数值的存储块可以是包括由损坏的l2p组块中包括的物理地址指示的页面的存储块。在图6的示例中,作为将原始vpc 3042与重构的vpc 3044进行比较的结果,处理器134可以将具有不同计数值的块k(blk_k)、块m(blk_m)和块n(blk_n)确定为与损坏的l2p组块中包括的物理地址相关联的存储块。也就是说,处理器134可以确定由损坏的l2p组块中包括的物理地址指示的页面被包括在块k(blk_k)、块m(blk_m)和块n(blk_n)中。
92.在操作s610中,处理器134可以控制存储器装置150对所检测到的存储块中包括的页面的备用区域执行读取操作。处理器134可以顺序地读取所检测到的存储块的备用区域,直到找到逻辑地址a(la_a)、逻辑地址b(la_b)、逻辑地址c(la_c)和逻辑地址d(la_d)。处理
器134可以基于通过读取操作所获得的结果来找到被映射到逻辑地址a(la_a)、逻辑地址b(la_b)、逻辑地址c(la_c)和逻辑地址d(la_d)的物理地址。在图6的示例中,被映射到逻辑地址a(la_a)、逻辑地址b(la_b)、逻辑地址c(la_c)和逻辑地址d(la_d)的物理地址被表示为物理地址x(pa_x)、物理地址w(pa_w)、物理地址y(pa_y)和物理地址z(pa_z)。
93.在操作s612中,处理器134可以基于在操作s610中获得的逻辑地址和物理地址来恢复损坏的l2p组块。图6示出所恢复的l2p组块2022。当l2p组块2022被恢复时,处理器134可以识别出被映射到逻辑地址a(la_a)的物理地址是物理地址x(pa_x)。
94.在操作s614中,处理器134可以通过在l2p表202中反映所恢复的l2p组块2022来恢复l2p表202。
95.根据本公开的实施例,即使存储器144中存储的损坏的l2p组块中发生不可校正的错误,处理器134也可以快速和准确地恢复损坏的l2p组块。因为处理器134可以快速地恢复l2p组块并将逻辑地址转换为物理地址,所以可以提高存储器系统110的访问性能。
96.根据本公开的实施例的存储器系统及其操作方法可以快速地恢复易失性存储器中存储的映射数据的错误。
97.尽管已经相对于特定实施例示出和描述了本公开,但是对于本领域技术人员显而易见的是,在不脱离由所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。因此,本发明的范围不限于上述任何实施例,并且不受上述任何实施例的限制。相反,本发明涵盖落入权利要求及其等同方案范围内的所有变型。
再多了解一些

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

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

相关文献