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

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

2021-10-23 03:56:00 来源:中国专利 TAG:装置 韩国 引用 公开 申请

存储装置及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年4月13日向韩国知识产权局提交的申请号为10-2020-0044768的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
3.本公开涉及一种电子装置,且更特别地,涉及一种存储装置及操作该存储装置的方法。


背景技术:

4.存储装置是在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可以包括存储数据的存储器装置和控制该存储器装置的存储器控制器。存储器装置可以包括易失性存储器装置、非易失性存储器装置或这两者。
5.易失性存储器装置可以是仅在供应电力时存储数据并且在电源断开时丢失所存储的数据的装置。易失性存储器装置可以包括静态随机存取存储器(sram)、动态随机存取存储器(dram)等。
6.非易失性存储器装置是即使断电也不丢失数据的装置。非易失性存储器装置包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器等。


技术实现要素:

7.本公开的实施例提供一种具有提高的操作速度的存储装置及操作该存储装置的方法。
8.根据本公开的实施例的一种控制非易失性存储器的存储器控制器可以包括:主存储器,被配置为存储映射数据和有效页面表,该映射数据包括由主机提供的逻辑地址和存储器装置的物理地址之间的对应关系,并且该有效页面表包括在物理地址处存储的数据是否为有效数据的指示;高速缓存存储器,包括分别与该映射数据和该有效页面表相对应的第一专用区域和第二专用区域;以及处理器,被配置为从主存储器中请求与根据主机的请求而输入的逻辑地址相对应的映射数据和与根据主机的请求而输入的逻辑地址相对应的物理地址的有效页面表,其中与根据主机的请求而输入的逻辑地址相对应的映射数据被高速缓存在第一专用区域中,并且与根据主机的请求而输入的逻辑地址相对应的物理地址的有效页面表被高速缓存在第二专用区域中。
9.根据本公开的实施例的一种存储器控制器可以包括:主存储器,被配置为存储第一元数据和第二元数据;高速缓存存储器,包括分别对应于第一元数据和第二元数据的第一专用区域和第二专用区域;以及处理器,被配置为控制高速缓存存储器以将第一元数据和第二元数据之中的、响应于来自主机的请求而访问的数据分别存储在第一专用区域和第二专用区域中。
10.根据本公开的实施例的一种存储装置可以包括:主存储器,被配置为存储第一元数据至第n元数据;高速缓存存储器,包括分别与主存储器中存储第一元数据至第n元数据的区域相对应的第一专用区域至第n专用区域;以及处理器,被配置为将第一元数据至第n元数据之中的、根据从主机提供的请求而访问的数据分别高速缓存在第一专用区域至第n专用区域中,其中根据响应于请求将访问第一元数据至第n元数据中的每一个的次数来确定第一专用区域至第n专用区域的大小。
11.根据本技术,提供一种具有提高的操作速度的存储装置及操作该存储装置的方法。
附图说明
12.图1示出根据本公开的实施例的存储装置。
13.图2是存储装置的映射更新操作的流程图。
14.图3示出对图2的l2p映射数据的读取-修改-写入操作。
15.图4示出图2的旧物理地址的有效页面表(vpt)的读取-修改-写入。
16.图5示出图2的新物理地址的vpt的读取-修改-写入。
17.图6示出诸如可以在图1的存储装置中使用的高速缓存存储器。
18.图7示出根据第一实施例的图1的高速缓存存储器。
19.图8示出根据第二实施例的图1的高速缓存存储器。
20.图9示出根据第三实施例的图1的高速缓存存储器。
21.图10示出根据第四实施例的图1的高速缓存存储器。
22.图11示出图1的存储器装置。
23.图12示出图11的存储块中的任意一个的配置。
24.图13示出图1的存储器控制器的实施例。
25.图14示出应用根据本公开的实施例的存储装置的存储卡系统。
26.图15示出应用根据本公开的实施例的存储装置的固态驱动器(ssd)系统。
27.图16示出应用根据本公开的实施例的存储装置的用户系统。
具体实施方式
28.根据在本说明书或本技术中所公开的概念的实施例的具体结构或功能描述仅被示出以描述根据本公开的概念的实施例。根据本公开的概念的实施例可以以各种形式来实施,并且该描述不限于本说明书或本技术中描述的实施例。
29.图1是根据本公开的实施例的存储装置50的示图。
30.存储装置50可以包括存储器装置100和控制存储器装置的操作的存储器控制器200。存储装置50可以是在主机400的控制下存储数据的装置。主机400可以是例如蜂窝电话、智能电话、mp3播放器、膝上型计算机、台式计算机、游戏机、tv、平板pc或车载信息娱乐系统。
31.根据提供与主机400的通信的主机接口,存储装置50可以被制造为各种类型的存储装置的一种。例如,存储装置50可以被配置为以下任意一种:ssd,mmc、emmc、rs-mmc和微型mmc形式的多媒体卡,sd、迷你sd和微型sd形式的安全数字卡,通用串行总线(usb)存储装
置,通用闪存(ufs)装置,个人计算机存储卡国际协会(pcmcia)卡型存储装置,外围组件互连(pci)卡型存储装置,高速pci(pci-e)卡型存储装置,紧凑式闪存(cf)卡,智能媒体卡和记忆棒。
32.存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为以下任意一种:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)以及晶圆级堆叠封装(wsp)。
33.存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下进行操作。存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括存储数据的多个存储器单元。
34.存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或能够存储四个数据位的四层单元(qlc)。
35.存储器单元阵列(未示出)可以包括多个存储块。存储块可以包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除存储器装置100中的数据的单位。
36.在实施例中,存储器装置100可以包括双倍数据速率同步动态随机存取存储器(ddr sdram)、低功率双倍数据速率第四代(lpddr4)sdram、图形双倍数据速率(gddr)sram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移力矩随机存取存储器(stt-ram)等。在本说明书中,为了便于描述,假设存储器装置100包括nand闪速存储器。
37.存储器装置100被配置为从存储器控制器200接收命令和地址,并访问存储器单元阵列中的由地址选择的区域。存储器装置100可以对由地址选择的区域执行由命令指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置100可以从由地址选择的区域中读取数据。在擦除操作中,存储器装置100可以擦除由地址选择的区域中存储的数据。
38.存储器控制器200可以控制存储装置50的全部操作。
39.当向存储装置50施加电力时,存储器控制器200可以运行固件(fw)。当存储器装置100是闪速存储器装置时,固件(fw)可以包括控制与主机400的通信的主机接口层(hil)、控制存储器控制器200和主机400之间的通信的闪存转换层(ftl)、以及控制与存储器装置100的通信的闪存接口层(fil)。
40.在实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(lba),并且可以将lba转换为指示存储或待存储存储器装置100中包括的数据的存储器单元的地址的物理块地址(pba)。在本说明书中,lba和“逻辑地址”可以具有相同的含义。在本说明书中,pba和“物理地址”可以具有相同的含义。
41.存储器控制器200可以根据主机400的请求控制存储器装置100以执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供写入命令、pba和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令
和pba。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和pba。
42.在实施例中,存储器控制器200可以生成命令、地址和数据,而与来自主机400的请求无关,并且将命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以在执行损耗均衡、读取回收、垃圾收集等的过程中向存储器装置100提供用于执行读取操作和编程操作的命令、地址和数据。
43.在实施例中,存储器控制器200可以控制两个或更多个存储器装置100。在这种情况下,存储器控制器200可以根据交错方法来控制存储器装置100,以提高操作性能。交错方法可以是控制至少两个存储器装置100彼此重叠的操作的方法。
44.主存储器300可以临时存储从主机400提供的数据,或者可以临时存储从存储器装置100读取的数据。在实施例中,主存储器300可以是易失性存储器装置。例如,主存储器300可以是动态随机存取存储器(dram)或静态随机存取存储器(sram)。
45.在实施例中,主存储器300可以读取存储器装置100中存储的元数据并存储所读取的元数据。
46.元数据可以是包括控制存储装置50所需的各种设置信息的数据。例如,元数据可以包括坏块数据和待由存储器控制器200的处理器210运行的固件数据,该坏块数据是关于存储器装置100中包括的多个存储块之中的坏块的信息。
47.在实施例中,元数据可以包括指示由主机400提供的逻辑地址与存储器装置100中包括的存储器单元的物理地址之间的对应关系的映射数据(即,逻辑到物理(l2p)映射数据),并且包括指示存储器装置100中包括的页面中存储的数据是否为有效数据的有效页面表(vpt)数据。在实施例中,有效页面表数据可以被包括在一个或多个有效页面表中,其中有效页面表可以是位图形式的数据,有效页面表的位分别指示以4kb为单位存储在存储器装置100的相应页面中的数据是否有效。
48.在实施例中,元数据还可以包括:读取计数数据,指示对存储器装置100中包括的存储块执行的读取操作的次数;循环数据,指示存储器装置100中包括的存储块的擦除次数;热/冷数据,指示存储器装置100中包括的页面中存储的数据是热数据还是冷数据;以及日志数据,指示映射数据的变更内容。
49.在实施例中,主存储器300中存储的元数据可以包括针对每种类型而具有不同类型的数据结构的数据块。例如,元数据对于其每种类型可以具有不同的数据大小。因此,主存储器300中存储的元数据的大小对于其每种类型可以是不同的。
50.在本公开的实施例中,存储器控制器200可以包括处理器210和高速缓存存储器220。
51.处理器210可以控制存储器控制器200的全部操作。处理器210可以运行固件(fw)。处理器210可以执行访问存储器装置100所需的操作。例如,处理器210可以向存储器装置100提供命令,并且控制存储器装置100和主存储器300以执行与该命令相对应的操作。
52.例如,当从主机400接收到写入请求时,处理器210可以将与该写入请求相对应的逻辑地址转换为物理地址,并且可以将指示该逻辑地址和该物理地址之间的对应关系的映射数据存储在主存储器300中。
53.为了存储映射数据,处理器210可以从主存储器300读取映射段,该映射段包括针对由主机400提供的逻辑地址的映射信息。此后,处理器210可以在映射段中记录与逻辑地
址相对应的物理地址,并将记录有物理地址的映射段再次存储在主存储器300中。
54.在实施例中,可以更新主存储器300中存储的映射数据。例如,当接收到包括待写入到先前写入的逻辑地址的新数据的写入请求时,针对逻辑地址的先前存储的数据变为无效数据,与逻辑地址相对应的物理地址可以改变,并且映射数据必须相应地更新。进一步地,当通过诸如垃圾收集、读取回收和损耗均衡的各种后台操作来改变存储数据的位置时,可以更新映射数据。稍后将参照图2更详细地描述映射数据的更新,即映射更新。
55.高速缓存存储器220可以存储由处理器210从主存储器300访问的数据。高速缓存存储器220的容量可以小于主存储器300的容量。在实施例中,高速缓存存储器220可以是易失性存储器装置。例如,主存储器300可以是动态随机存取存储器(dram)或静态随机存取存储器(sram)。高速缓存存储器220可以是具有比主存储器300的操作速度更快的操作速度的存储器。
56.由于高速缓存存储器220的容量小于主存储器300的容量,因此高速缓存存储器220可以存储由处理器210从主存储器300中存储的元数据之中访问的元数据。将来自主存储器300中存储的数据之中的、存储在特定地址中的数据存储在高速缓存存储器220中被称为高速缓存。
57.当高速缓存存储器220存储待由处理器210从主存储器300访问的数据时,高速缓存存储器220可以将相应数据提供给处理器210。由于高速缓存存储器220的操作速度比主存储器300的操作速度快,因此当将待由处理器210访问的数据存储在高速缓存存储器220中时,处理器210可以比从主存储器300获得数据更快地获得数据。将待由处理器210访问的数据存储在高速缓存存储器220中的情况称为高速缓存命中,将待由处理器210访问的数据没有存储在高速缓存存储器220中的情况称为高速缓存未命中。随着高速缓存命中发生的次数增加,由处理器210处理的操作的速度可以提高。
58.高速缓存存储器220可以被分类为直接映射高速缓存、组相联高速缓存和全相联高速缓存中的一个。
59.在直接映射高速缓存中,主存储器300中的多个位置与高速缓存存储器220中的一个位置具有多对一(n:1)对应关系。即,在直接映射高速缓存中,预先映射并固定了可以高速缓存来自主存储器300的特定地址的数据的高速缓存存储器220的地址,并且主存储器300中的多个地址被预先映射并固定到高速缓存存储器220中的每个地址。需要直接映射高速缓存来搜索高速缓存存储器220中的仅一个地址,以确定是否已经发生高速缓存命中。
60.在全相联高速缓存中,在高速缓存存储器220的地址与主存储器的地址之间没有固定的映射,并且高速缓存存储器220的任何地址都可以高速缓存主存储器300的任何地址中存储的数据。需要全相联高速缓存来搜索高速缓存存储器220中的所有地址,以确定是否已经发生高速缓存命中。
61.组相联高速缓存是直接映射高速缓存和全相联高速缓存之间的中间形式,并且通过将高速缓存存储器220划分为多个高速缓存组来管理缓存存储器220。每个高速缓存组可以被划分为高速缓存通路,每个组的每个通路是待管理的高速缓存线。在n通路组相联高速缓存中,n>=2,可以将主存储器300中的每个地址高速缓存在高速缓存存储器220中的n个位置中。需要n通路组相联高速缓存来搜索高速缓存存储器220中的n个地址,以确定是否已经发生高速缓存命中。
62.根据本公开的实施例,高速缓存存储器220可以包括分别与主存储器300中存储的元数据相对应的专用区域。根据本公开的实施例,特定元数据可以仅被高速缓存在相应专用区域中。因此,当主存储器300中存储的元数据具有不同的访问频率时,即在对元数据的每个地址具有非线性访问概率的情况下,可以防止仅高速缓存特定元数据的现象。因此,高速缓存命中率可以增加。
63.稍后将参照图6至图10更详细地描述根据本公开的高速缓存存储器220的各个实施例。
64.主机400可以使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(usb)、串行at附件(sata)、串列scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、外围组件互连(pci)、高速pci(pcie)、高速非易失性存储器(nvme)、通用闪存(ufs)、安全数字(sd)卡、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)和低负载dimm(lrdimm)。
65.图2是用于描述存储装置的映射更新操作的流程图。
66.可以更新参照图1描述的主存储器300中存储的映射数据。例如,当针对与先前写入请求相对应的逻辑地址接收到新数据的写入请求时,先前存储的数据可能变为无效数据,并且可以改变与逻辑地址相对应的物理地址,并相应地更新映射数据。此外,当通过诸如垃圾收集、读取回收和损耗均衡的各种后台操作来改变存储数据的位置时,可以更新映射数据。映射数据的更新被称为映射更新。
67.参照图1和图2,主存储器300可以包括指示由主机400提供的逻辑地址与存储器装置100中包括的存储器单元的物理地址之间的对应关系的逻辑到物理映射数据(l2p映射数据),并且可以包括指示存储器装置100中包括的页面中存储的数据是否为有效数据的有效页面表(vpt)。在实施例中,vpt可以是位图形式的数据,其指示以4kb为单位存储在相应页面中的数据是否有效,但是实施例不限于此。
68.l2p映射数据可以包括多个映射段。映射段中的每一个可包括多个映射条目。映射条目可以包括关于逻辑地址和物理地址之间的对应关系的信息。
69.在步骤s201中,处理器210可以读取和修改主存储器300中存储的映射数据之中的、包括针对待被更新的逻辑地址的映射条目的映射段,然后可以将映射段再次存储在主存储器300中(读取-修改-写入)。修改针对逻辑地址的映射条目可以包括将映射条目中的旧物理地址替换为新物理地址。此时,还需要更新vpt,以指示旧物理地址中存储的数据是无效数据,并且新物理地址中存储的数据是有效数据。
70.在步骤s203中,处理器210可以从主存储器300读取包括旧物理地址的有效性指示的vpt,可以修改vpt以指示旧物理地址中存储的数据是无效数据,然后可以将对应于旧物理地址的修改后的vpt再次存储在主存储器300中(读取-修改-写入)。
71.在步骤s205中,处理器210可以从主存储器300读取包括新物理地址的有效性指示的vpt,可以修改vpt以指示待存储在新物理地址中的数据是有效数据,然后可以将与新物理地址相对应的修改后的vpt再次存储在主存储器300中(读取-修改-写入)。
72.在图2中,步骤s201至s205被示为被顺序地执行,但是在各个实施例中,可以改变执行步骤s201至s205的顺序。例如,处理器210可以读取先前的l2p映射段,可以对旧物理地址的vpt执行读取-修改-写入,可以在新物理地址的vpt上执行读取-修改-写入,然后可以
将新物理地址存储在l2p映射段中。进一步地,当发生高速缓存命中时,对读取主存储器300中的数据的引用实际上可以指从高速缓存存储器220中读取数据,当发生高速缓存命中时,对将数据存储在主存储器300中的引用实际上可以指将数据存储在高速缓存存储器220中(以及当高速缓存存储器220是直写式(write-through)高速缓存时将数据存储在主存储器300中),但是实施例不限于此。
73.图3是用于描述对图2的l2p映射数据的读取-修改-写入操作的示图。
74.参照图1至图3,将描述更新第一逻辑块地址lba1的映射数据的操作。
75.l2p映射数据可以包括多个映射段。映射段中的每一个可以包括多个映射条目。每个映射条目可以包括关于逻辑地址和物理地址之间的对应关系的信息。
76.处理器210可以从主存储器300中存储的映射数据之中读取映射段0,该映射段0是包括第一逻辑块地址lba1的映射条目的映射段(等等)(1)。
77.之后,处理器210可以通过将与第一逻辑块地址lba1相对应的物理地址从物理块地址pba(old)改变为新物理块地址pba(new),来修改第一逻辑块地址lba1的读取映射条目(2)。
78.处理器210可以将映射段0存储在主存储器300中,映射段0是包括修改后的第一逻辑块地址lba1的映射条目的映射段(3)。
79.图4是用于描述图2的旧物理地址的vpt的读取-修改-写入的示图。
80.vpt可以是位图形式的数据,其中位中的每一个指示存储器装置100中包括的页面的数据是否是有效数据。vpt可以包括分别对应于多个页面的多个位,其中具有“set”状态的位可以指示相应页面中存储的数据是有效数据,而具有“clear”状态的位可以指示存储在相应页面中的数据是无效数据。
81.参照图1、图2和图4,在图4中示出包括旧物理块地址的vpt。由于第一位、第二位以及第七至第十位处于“set”状态,因此与第一、第二以及第七至第十位相对应的页面中存储的数据被指示为有效数据。由于第三至第六位处于“clear”状态,因此与第三至第六位相对应的页面中存储的数据被指示为无效数据。
82.出于本示例的目的,假设与旧物理块地址相对应的页面是第七位。处理器210可以读取包括旧物理块地址的vpt,并且将第七位从“set”状态修改为“clear”状态。在实施例中,位值“1”可以指示“set”状态,而位值“0”可以指示“clear”状态。在另一实施例中,位值“0”可以指示“set”状态,而位值“1”可以指示“clear”状态。处理器210可以将第七位已经从“set”状态改变为“clear”状态的修改后的vpt存储在主存储器300中。
83.图5是用于描述图2的新物理地址的vpt的读取-修改-写入的示图。
84.参照图1、图2和图5,在图5中示出包括新物理块地址的vpt。通常,当存储器控制器200将数据存储在存储器装置100中时,存储器控制器200擦除空闲块,使得该空闲块成为没有数据的存储块,然后顺序地将数据存储在该空闲块中包括的页面中。
85.因此,如图5的上部所示,包括新物理块地址的vpt的所有位可以处于指示尚未将有效数据写入相应页面的“clear”状态。
86.对于本示例,假设与新物理块地址的页面相对应的位是第一位,处理器210可以读取包括新物理块地址的vpt,并将第一位从“clear”状态修改为“set”状态。在实施例中,位值“1”可以指示“set”状态,而位值“0”可以指示“clear”状态。在另一实施例中,位值“0”可
以指示“set”状态,而位值“1”可以指示“clear”状态。处理器210可以将第一位从“clear”状态改变为“set”状态的修改后的vpt存储在主存储器300中。
87.图6是示出可用作图1的高速缓存存储器220的高速缓存存储器220-1的示图。
88.参照图6,主存储器300-1可以包括系统数据sys、l2p映射数据l2p、vpt数据vpt和其他元数据etc。系统数据sys、l2p映射数据l2p、vpt数据vpt和其他元数据etc可以是参照图1描述的元数据。例如,系统数据sys可以是固件(fw)数据。其他元数据etc可以包括坏块数据、读取计数数据、循环数据、热/冷数据、指示映射数据的改变内容的日志数据等。
89.在主存储器300-1中存储的各种数据之中,l2p映射数据l2p和vpt数据vpt可以是处理器210最常访问的数据。就数据的大小而言,l2p映射数据l2p可以占据主存储器300-1的大部分容量,并且vpt数据vpt可以占据比l2p映射更小的容量。
90.高速缓存存储器220-1可以存储由处理器220从主存储器300-1访问的数据。由于高速缓存存储器220-1的速度比主存储器300的速度快,并且高速缓存存储器220-1的大小小于主存储器300的大小,因此当被频繁地访问或可能被访问的数据存储在高速缓存存储器220-1中时,高速缓存命中率可能增加。
91.在参照图2至图5描述的映射更新操作的情况下,l2p映射数据l2p被访问一次,但是vpt数据vpt被访问两次(分别访问旧/新vpt)。
92.图6所示的高速缓存存储器200-1以2通路/4组相联的方式高速缓存主存储器300-1的数据。因此,被更频繁地访问的数据的vpt数据vpt被更频繁地高速缓存,并且相对不被频繁地访问的l2p映射数据l2p比vpt数据vpt更不频繁地被高速缓存。因此,高速缓存存储器220-1中存储的大多数数据可以是vpt数据vpt。
93.如上所述,在未与数据大小成比例地被访问的非线性数据结构的情况下,如图6所示,当主存储器300-1的所有地址由一个高速缓存存储器220-1管理时,较高的高速缓存命中率不太可能发生。因此,图7至图10示出在未与数据大小成比例地被访问的非线性数据结构的情况下,可以具有比图6的高速缓存存储器220-1更高的高速缓存命中率的高速缓存存储器的实施例。
94.图7是示出根据实施例的可以包括在图1的高速缓存存储器220中的高速缓存存储器220-2的示图。
95.参照图7,主存储器300-2可以包括系统数据sys、l2p映射数据l2p、vpt数据vpt和其他元数据etc。系统数据sys、l2p映射数据l2p、vpt数据vpt和其他元数据etc可以是参照图1描述的元数据。例如,系统数据sys可以是固件(fw)数据。其他元数据etc可以包括坏块数据、读取计数数据、循环数据、热/冷数据、指示映射数据的改变内容的日志数据等。
96.高速缓存存储器220-2可以包括多个专用区域。具体地,高速缓存存储器220-2可以包括第一池高速缓存区域pool1和第二池高速缓存区域pool2。每个池高速缓存区域可以被分配为用于高速缓存l2p映射数据l2p的区域或者为用于高速缓存vpt数据vpt的区域。例如,l2p映射数据l2p可以仅被高速缓存在第一池高速缓存区域pool1中,并且vpt数据vpt可以仅被高速缓存在第二池高速缓存区域pool2中。即,第一池高速缓存区域pool1和第二池高速缓存区域pool2可以被定义为分别用于高速缓存l2p映射数据l2p和vpt数据vpt的专用区域。
97.在实施例中,可以在高速缓存存储器220-2中提供用于高速缓存系统数据sys和/
或其他元数据etc的另一池高速缓存区域(未示出)。在另一实施例中,系统数据sys和/或其他元数据etc可以与l2p映射数据l2p一起被高速缓存在第一池高速缓存区域pool1中,可以与l2p映射数据l2p一起被高速缓存在第二池高速缓存区域pool2中,或两者皆有。在另一实施例中,系统数据sys和/或其他元数据etc可以不被高速缓存在高速缓存存储器220-2中。
98.在实施例中,高速缓存存储器220-2的专用区域可以相对于相应主存储器区域以全相联的方式操作。
99.在实施例中,与高速缓存存储器220-2的专用区域相关联的一个或多个地址比较值(诸如地址下限值、地址上限值或这两者)可以与对主存储器300-2的访问的地址进行比较,以确定该访问是否针对关于专用区域的相应主存储器区域。在实施例中,一个或多个比较值可以存储在可编程寄存器中。在实施例中,高速缓存存储器220-2中的每个专用区域可以具有相应一个或多个比较值。在另一实施例中,主存储器300-2可以在概念上被组织为多个相同大小的区域,并且具有分别与每个区域相关联的一个或多个位的硬件寄存器可以指示高速缓存存储器220-2的专用区域中的任意一个是否可以将数据高速缓存在该区域。例如,给定具有1024兆字节容量的主存储器300-2与包括第一专用区域和第二专用区域的高速缓存存储器220-2,主存储器300-2可以在概念上被组织为256个16兆字节的区域,并且区域映射可以包括针对每个区域的两个位,其中针对每个区域的两个位可以指示该区域可以是不可高速缓存、仅可在第一专用区域中高速缓存、仅可在第二专用区域中高速缓存以及可在任何区域中高速缓存中的一个。在实施例中,可以将区域映射存储在可编程寄存器中,并且使用用于访问主存储器300-2的地址的一些最高有效位来标识针对区域的位。然而,实施例不限于上述两个说明性实施例。
100.在实施例中,可以将高速缓存存储器220-2的专用区域的管理作为高速缓存存储器220-2的高速缓存未命中处置进程的一部分来执行。当在对主存储器300-2的访问发生高速缓存未命中时,可以识别与该访问的地址相对应的高速缓存存储器220-2的专用区域(诸如通过使用如上所述的地址比较值或区域映射),并且可以根据高速缓存存储器220-2的替换策略,分配与所识别的专用区域相关联的高速缓存线之中的高速缓存线,以存储访问的数据。然而,实施例不限于此。
101.根据图7的实施例,可以从根本上防止对特定地址区域的频繁访问导致另一地址区域中的高速缓存未命中的现象。即,通过将存储对l2p映射数据l2p的访问的高速缓存区域和存储对vpt数据vpt的访问的高速缓存区域分开,可以消除每次访问对高速缓存命中率的影响,并且可以预期专用区域的每一个中的最大高速缓存命中率。
102.在实施例中,第一池高速缓存区域pool1和第二池高速缓存区域pool2的大小可以相同。
103.可选地,第一池高速缓存区域pool1和第二池高速缓存区域pool2的大小可以不同。当第一池高速缓存区域pool1和第二池高速缓存区域pool2的大小不同时,第一池高速缓存区域pool1和第二池高速缓存区域pool2的大小可以与对应于第一池高速缓存区域pool1和第二池高速缓存区域pool2中的每一个的主存储器300-2中的数据的访问次数成正比或成反比。可选地,第一池高速缓存区域pool1和第二池高速缓存区域pool2的大小可以与对应于第一池高速缓存区域pool1和第二池高速缓存区域pool2中的每一个的主存储器300-2中的数据的大小成正比或成反比。
104.图8是示出根据另一实施例的可以包括在图1的高速缓存存储器220中的高速缓存存储器220-3的示图。
105.参照图8,主存储器300-3可以存储多个元数据。具体地,主存储器300-3可以存储第一元数据meta1至第n元数据meta n。
106.在此,元数据meta1至meta n中的每一个可以分别是参照图1描述的坏块数据、固件数据、映射数据、vpt数据、读取计数数据、循环数据、热/冷数据和映射日志数据中的一个或多个。
107.每个元数据具有不同大小的数据,并且每个操作访问每个元数据的次数可以不同。因此,当每个元数据被高速缓存在一个高速缓存存储器中时,对于特定的元数据可能仅发生高速缓存未命中。
108.高速缓存存储器220-3可以包括多个专用区域。具体地,高速缓存存储器220-3可以包括第一池高速缓存区域pool1至第n池高速缓存区域pool n。第一池高速缓存区域pool1至第n池高速缓存区域pool n可以是分别与第一元数据meta1至第n元数据meta n相对应的专用区域。即,第一池高速缓存区域pool1至第n池高速缓存区域pool n可以操作为分别与存储第一元数据meta1至第n元数据meta n的地址相对应的专用高速缓存存储器。在实施例中,高速缓存存储器220-3可以使用类似于关于图7的高速缓存存储器220-2所描述的地址比较值或区域映射的技术来确定与对主存储器300-3的访问相对应的专用区域,并且可以将专用区域作为如关于图7的高速缓存存储器220-2所描述的高速缓存未命中处理的一部分来管理,但是实施例不限于此。
109.在实施例中,第一池高速缓存区域pool1至第n池高速缓存区域pool n中的每一个的大小可以相同。即,不管主存储器300-3中存储的第一元数据meta1至第n元数据meta n的大小如何,第一池高速缓存区域pool1至第n池高速缓存区域pool n的大小可以平均分配。
110.图9是示出根据实施例的可以包括在图1的高速缓存存储器220中的高速缓存存储器220-4的示图。
111.参照图9,主存储器300-4与参照图8描述的主存储器300-3相同,因此此处省略详细描述。
112.与图8的高速缓存存储器220-3不同,根据图9的实施例的高速缓存存储器220-4可以包括大小不同的第一池高速缓存区域pool1至第n池高速缓存区域pool n。
113.在实施例中,高速缓存存储器220-4的第一池高速缓存区域pool1至第n池高速缓存区域pool n的大小可以与分别对应于第一池高速缓存区域pool1至第n池高速缓存区域pool n的主存储器300-4的区域的大小成比例地分配。
114.图10是示出根据实施例的可以包括在图1的高速缓存存储器220中的高速缓存存储器220-5的示图。
115.参照图10,主存储器300-5与参照图8描述的主存储器300-3相同,因此此处省略详细描述。
116.与图8的高速缓存存储器220-3不同,根据图9的实施例的高速缓存存储器220-5可以包括大小不同的第一池高速缓存区域pool1至第n池高速缓存区域pool n。
117.在实施例中,高速缓存存储器220-5的第一池高速缓存区域pool1至第n池高速缓存区域pool n的大小可以与分别对应于第一池高速缓存区域pool1至第n池高速缓存区域
pool n的主存储器300-5的区域的大小成反比地分配。
118.参照图1描述的存储器控制器200的处理器210可以将高速缓存存储器220配置为图8至图10的高速缓存存储器220-3至220-5中的一个。即,处理器210可以将高速缓冲存储器220配置为包括主存储器300-3中存储的具有不同数据结构的多个数据的专用区域,并且控制专用区域中的每一个操作为各个相应数据的专用高速缓存区域。在实施例中,专用区域的大小可以与主存储器300中的相应数据的访问频率成正比或成反比。可选地,专用区域的大小可以与主存储器300中的相应数据的大小成正比或成反比。
119.图11是用于描述图1的存储器装置100的示图。
120.存储器装置100可以包括存储器单元阵列110、电压生成器120、地址解码器130、输入/输出电路140和控制逻辑150。
121.存储器单元阵列110包括多个存储块blk1至blki。多个存储块blk1至blki通过行线rl连接到地址解码器130。多个存储块blk1至blki可以通过列线cl连接到输入/输出电路140。在实施例中,行线rl可以包括字线、源极选择线和漏极选择线。在实施例中,列线cl可以包括位线。
122.多个存储块blk1至blki中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中的、连接到相同字线的存储器单元可以被定义为一个物理页面。即,存储器单元阵列110可以包括多个物理页面。存储器装置100的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或能够存储四个数据位的四层单元(qlc)。
123.在实施例中,电压生成器120、地址解码器130和输入/输出电路140可以被统称为外围电路。外围电路可以在控制逻辑150的控制下驱动存储器单元阵列110。外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
124.电压生成器120被配置为使用供应到存储器装置100的外部电源电压来生成多个操作电压vop。电压生成器120响应于控制逻辑150的控制而操作。
125.作为实施例,电压生成器120可以通过调节外部电源电压来生成内部电源电压。由电压生成器120生成的内部电源电压被用作存储器装置100的操作电压。
126.作为实施例,电压生成器120可以使用外部电源电压或内部电源电压来生成多个操作电压。电压生成器120可以被配置为生成存储器装置100中所需的各种电压。例如,电压生成器120可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
127.电压生成器120可以包括接收内部电源电压以生成具有各种电压电平的多个操作电压的多个泵浦电容器(pumping capacitors),并且可以响应于控制逻辑150的控制通过选择性地启用多个泵浦电容器来生成多个操作电压。
128.所生成的多个操作电压可以由地址解码器130供应到存储器单元阵列110。
129.地址解码器130通过行线rl连接到存储器单元阵列110。地址解码器130被配置为响应于控制逻辑150的控制而操作。地址解码器130可以从控制逻辑150接收地址addr。地址解码器130可以对所接收的地址之中的块地址进行解码。地址解码器130根据经解码的块地址选择存储块blk1至blki之中的至少一个存储块。地址解码器130可以对所接收的地址
addr之中的行地址进行解码。地址解码器130可以根据经解码的行地址选择所选择的存储块的字线之中的至少一个字线。在实施例中,地址解码器130可以对所接收的地址addr之中的列地址进行解码。地址解码器130可以根据经解码的列地址将输入/输出电路140和存储器单元阵列110彼此连接。
130.根据本公开的实施例,在读取操作期间,地址解码器130可以将读取电压施加到所选择的字线,并且将具有比读取电压的电平更高的电平的读取通过电压施加到未选择的字线。
131.例如,地址解码器130可以包括诸如行解码器、列解码器和地址缓冲器的组件。
132.输入/输出电路140可以包括多个页面缓冲器。多个页面缓冲器可以通过位线连接到存储器单元阵列110。在编程操作期间,根据多个页面缓冲器中存储的数据,可以将数据存储在所选择的存储器单元中。
133.在读取操作期间,可以通过位线感测所选择的存储器单元中存储的数据,并且可以将所感测的数据存储在页面缓冲器中。
134.控制逻辑150可以控制地址解码器130、电压生成器120和输入/输出电路140。控制逻辑150可以响应于从外部装置传输的命令cmd而操作。控制逻辑150可以响应于命令cmd和地址addr而生成各种信号以控制外围电路。
135.图12是用于描述图11的存储块blkx的配置的示图。
136.存储块blkx是图11的存储块blk1至blki中的任意一个。
137.参照图11,可以将彼此平行布置的多个字线wl1至wl16连接在第一选择线和第二选择线之间。在此,第一选择线可以是源极选择线ssl,第二选择线可以是漏极选择线dsl。更具体地,存储块110可以包括连接在位线bl1至bln与源极线sl之间的多个串st。位线bl1至bln可以分别连接到串st,并且源极线sl可以共同连接到串st。由于串st可以被配置为彼此相同,因此,作为示例将具体描述连接到第一位线bl1的串st。
138.串st可以包括串联连接在源极线sl和第一位线bl1之间的源极选择晶体管sst、多个存储器单元mc1至mc16、以及漏极选择晶体管dst。一个串st可以包括源极选择晶体管sst和漏极选择晶体管dst中的至少一个或多个,并且可以包括比图中所示的mc1至mc16数量更多的存储器单元。
139.源极选择晶体管sst的源极可以连接到源极线sl,并且漏极选择晶体管dst的漏极可以连接到第一位线bl1。存储器单元mc1至mc16可以在源极选择晶体管sst和漏极选择晶体管dst之间串联连接。不同串st中包括的源极选择晶体管sst的栅极可以连接到源极选择线ssl,漏极选择晶体管dst的栅极可以连接到漏极选择线dsl,并且存储器单元mc1至mc16的栅极可以连接到多个字线wl1至wl16。可以将不同串st中包括的存储器单元之中的、连接到相同字线的一组存储器单元称为页面pg。因此,存储块blki可以包括数量与字线wl1至wl16的数量相等的页面pg。
140.一个存储器单元可以存储一位数据。通常将该存储器单元称为单层单元(slc)。在这种情况下,一个物理页面pg可以存储一个逻辑页面(lpg)数据。一个逻辑页面(lpg)数据可以包括与一个物理页面pg中包括的单元相同数量的数据位。
141.一个存储器单元可以存储两位或更多位数据。在这种情况下,一个物理页面pg可以存储两个或多个逻辑页面(lpg)数据。
142.图13是示出图1的存储器控制器的实施例的示图。
143.参照图1和图13,存储器控制器200可以包括处理器210、ram 220、错误校正电路230、rom 260、主机接口270和闪存接口280。
144.处理器210可以控制存储器控制器200的全部操作。ram 220可以用作存储器控制器200的缓冲存储器、高速缓存存储器和操作存储器。例如,参照图1描述的高速缓存存储器220可以是ram 220,并且在实施例中,可以是sram。
145.rom 260可以存储存储器控制器200以固件形式操作所需的各种信息。
146.存储器控制器200可以通过主机接口270与外部装置(例如,主机400、应用处理器等)通信。
147.存储器控制器200可以通过闪存接口280与存储器装置100通信。存储器控制器200可以通过闪存接口280向存储器装置100传输命令cmd、地址addr和控制信号ctrl,并接收数据data。例如,闪存接口280可以包括nand接口。
148.图14是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
149.参照图14,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
150.存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100可以被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为提供存储器装置2200和主机之间的接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同地实施。
151.例如,存储器控制器2100可以包括诸如随机存取存储器(ram)、处理器、主机接口、存储器接口和错误校正器的组件。
152.存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定的通信标准与外部装置(例如,主机)进行通信。例如,存储器控制器2100被配置为通过诸如以下的各种通信标准中的至少一种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(mcm)、外围组件互连(pci)、高速pci(pci-e)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。例如,连接器2300可以由上述各种通信标准中的至少一种来限定。
153.例如,存储器装置2200可以被配置为诸如以下的各种非易失性存储器装置:电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)和自旋转移力矩磁性ram(stt-mram)。
154.存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置诸如以下的存储卡:pc卡(个人计算机存储卡国际协会(pcmcia))、紧凑式闪存(cf)卡、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc、微型mmc或emmc)、sd卡(sd、迷你sd、微型sd或sdhc)和通用闪存(ufs)。
155.图15是示出应用根据本公开的实施例的存储装置的固态驱动器(ssd)系统的框图。
156.参照图15,ssd系统3000包括主机3100和ssd 3200。ssd 3200通过信号连接器3001与主机3100交换信号sig,并且通过电源连接器3002接收电力pwr。ssd 3200包括ssd控制器3210、多个闪速存储器3221至322n、辅助电源装置3230和缓冲存储器3240。
157.根据本公开的实施例,ssd控制器3210可以执行参照图1描述的存储器控制器200的功能。
158.ssd控制器3210可以响应于从主机3100接收的信号sig来控制多个闪速存储器3221至322n。例如,信号sig可以是基于主机3100和ssd 3200之间的接口的信号。例如,信号sig可以是通过诸如以下的接口中的至少一种来限定的信号:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(mcm)、外围组件互连(pci)、高速pci(pci-e)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。
159.辅助电源装置3230通过电源连接器3002连接到主机3100。辅助电源装置3230可以从主机3100接收电力pwr并且可以充电。当来自主机3100的电力供应不平稳时,辅助电源装置3230可以提供ssd 3200的电力。例如,辅助电源装置3230可以位于ssd 3200中或可以位于ssd 3200外部。例如,辅助电源装置3230可以位于主板上,并且可以向ssd 3200提供辅助电力。
160.缓冲存储器3240操作为ssd 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如dram、sdram、ddr sdram、lpddr sdram和gram的易失性存储器,或诸如fram、reram、stt-mram和pram的非易失性存储器。
161.图16是示出应用根据本公开的实施例的存储装置的用户系统的框图。
162.参照图16,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
163.应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(os)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(soc)。
164.存储器模块4200可以操作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如dram、sdram、ddr sdram、ddr2 sdrm、ddr3 sdram、lpddr sdram、lpddr2 sdram和lpddr3 sdram的易失性随机存取存储器,或诸如pram、reram、mram和fram的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(pop)而被封装并且被设置为一个半导体封装。
165.网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进、wimax、wlan、uwb、蓝牙和wi-fi。例如,网络模块4300可以包括在应用处理器4100中。
166.存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可以被实施为诸如相变ram(pram)、磁性ram(mram)、电阻式ram
(rram)、nand闪存、nor闪存和三维nand闪存的非易失性半导体存储器元件。例如,存储模块4400可以被设置为诸如存储卡的可移动存储装置(可移动驱动器),以及用户系统4000的外部驱动器。
167.例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1描述的存储器装置100相同地操作。存储模块4400可以与参照图1描述的存储装置50相同地操作。
168.用户接口4500可以包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。例如,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器和监视器。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜