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

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

2022-12-21 19:37:27 来源:中国专利 TAG:

存储装置及其操作方法
1.相关申请的交叉引用
2.本专利文件要求于2021年6月8日提交的申请号为10-2021-0074348的韩国专利申请的优先权和权益,该韩国专利申请通过引用全部并入本文。
技术领域
3.本专利文件中公开的技术和实施方案总体上涉及一种电子装置,并且更特别地,涉及一种存储装置及其操作方法。


背景技术:

4.存储装置是指被配置为基于诸如计算机或智能电话的主机装置的控制来存储数据的电子组件。存储装置可以包括存储数据的存储器装置和控制该存储器装置的存储器控制器。根据存储器装置在断电时保存所存储的数据的能力,将存储器装置分类为易失性存储器装置或非易失性存储器装置。
5.易失性存储器装置可以仅在供电时存储数据。因此,这种易失性存储器装置在断电时丢失其数据。易失性存储器装置的示例可以包括静态随机存取存储器(sram)、动态随机存取存储器(dram)。
6.非易失性存储器装置是在断电时可以保留其数据的存储器装置。非易失性存储器装置的示例包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eerom)或闪速存储器。


技术实现要素:

7.实施例提供一种用于管理改进的多层高速缓存存储器的存储装置以及该存储装置的操作方法。
8.根据本公开的一方面,提供一种存储装置,该存储装置包括:存储器装置,用于存储数据;高速缓存存储器装置,包括被配置为高速缓存存储器装置中存储的特定数据的第一高速缓存存储器和被配置为存储从第一高速缓存存储器中迁出的数据的第二高速缓存存储器;以及存储器控制器,与存储器装置和高速缓存存储器装置通信并且被配置为控制存储器装置和高速缓存存储器装置,其中存储器控制器被配置为从主机接收针对第一数据的读取请求,将第一数据加载到第一高速缓存存储器,并且基于重用距离来控制高速缓存存储器装置,重用距离指示在对特定数据元素的任意两次访问之间访问的数据元素的数量,并且其中存储器控制器进一步被配置为控制第一高速缓存存储器将第一高速缓存存储器中高速缓存的数据之中的具有最大重用距离的第二数据移动到第二高速缓存存储器,并且其中与第二数据的重用距离相对应的数据大小小于高速缓存存储器装置的总容量。
9.根据本公开的另一方面,提供一种存储装置,该存储装置包括:存储器装置,包括多个页面;高速缓存存储器装置,包括被配置为高速缓存多个页面中存储的数据的第一高速缓存存储器以及被配置为存储从第一高速缓存存储器中迁出的数据的第二高速缓存存
储器;以及存储器控制器,被配置为控制存储器装置和高速缓存存储器装置,其中存储器控制器被配置为响应于从主机接收到针对读取数据的读取请求:将读取数据加载到第一高速缓存存储器并且控制第一高速缓存存储器将读取数据从第一高速缓存存储器传输到主机;并且基于读取数据的重用距离与高速缓存存储器装置的总容量的比较,确定是否从高速缓存存储器装置中删除读取数据。
10.根据本公开的又一方面,提供一种操作存储装置的方法,该存储装置包括第一高速缓存存储器和第二高速缓存存储器,该方法包括:从主机接收针对第一数据的读取请求;基于第二数据的重用距离从第一高速缓存存储器中迁出第二数据;将第二数据存储在第二高速缓存存储器中;将第一数据加载到第一高速缓存存储器;并且将第一数据传输到主机。
附图说明
11.现在将在下文中参照附图更充分地描述示例实施例;然而,示例实施例可以以不同的形式实现并且不应被解释为限于本文中阐述的实施例。
12.在附图中,为了清楚地说明,尺寸可能被放大。将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。贯穿全文,相同的附图标记指代相同的元件。
13.图1是示出根据所公开的技术的实施例的存储装置的框图。
14.图2是示出根据所公开的技术的实施例的存储器装置的框图。
15.图3是示出根据所公开的技术的实施例的存储块的示图。
16.图4是示出根据所公开的技术的实施例的重用距离的示图。
17.图5是示出根据所公开的技术的实施例的存储器控制器的配置的示图。
18.图6是示出根据所公开的技术的实施例的数据的高速缓存方法的示图。
19.图7是示出根据所公开的技术的实施例的数据的高速缓存方法的示图。
20.图8是示出根据所公开的技术的实施例的存储装置的操作方法的示图。
21.图9是示出根据所公开的技术的实施例的存储器控制器的示图。
22.图10是示出根据所公开的技术的实施例的存储卡系统的示图。
23.图11是示出根据所公开的技术的实施例的固态驱动器(ssd)系统的示图。
24.图12是示出根据所公开的技术的实施例的用户系统的示图。
具体实施方式
25.本文中公开的具体结构或功能的描述仅是说明性的,用于描述所公开的技术的实施例或实施方案的示例,并且不应被解释为限于所公开的技术。
26.图1是示出根据本公开的实施例的存储装置的框图。
27.参照图1,存储装置1000是用于存储数据的装置并且可以包括存储器装置100、高速缓存存储器装置300和被联接以响应于主机2000的控制而控制主机2000对高速缓存存储器装置300和存储器装置100的访问的存储器控制器200。主机2000可以是各种装置,诸如移动电话、智能手机、mp3播放器、膝上型计算机、台式计算机、游戏机、显示装置、平板pc或车载信息娱乐系统。在各个实施方案中,存储器装置100可以被称为系统存储器,其存储容量大于高速缓存存储器装置300的存储容量,但是可能以比高速缓存存储器装置300的速度更
低的速度操作。高速缓存存储器装置300可以用于将某些指令和数据的副本存储在主机2000频繁使用的存储器装置100中以更快地访问和处理。
28.根据作为与主机2000的通信方案的主机接口,存储装置1000可以被制造为各种类型的存储装置中的任意一种。例如,存储装置1000可以利用诸如以下各种类型的存储装置中的任意一种来实施:固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)、微型mmc(micro-mmc)、安全数字(sd)卡、迷你sd卡、微型sd卡、通用串行总线(usb)存储装置、通用闪存(ufs)装置、紧凑型闪存(cf)卡、智能媒体卡(smc)、记忆棒等。
29.存储装置1000可以被实施为各种封装类型中的任意一种。例如,存储装置1000可以被实施为诸如以下各种封装类型中的任意一种:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)和晶圆级堆叠封装(wsp)。
30.存储器装置100可以存储数据或使用所存储的数据。存储器装置100基于存储器控制器200的控制而操作。而且,存储器装置100可以包括多个存储器管芯,并且多个存储器管芯中的每一个可以包括存储器单元阵列,存储器单元阵列包括用于存储数据的多个存储器单元。
31.存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或存储四个数据位的四层单元(qlc)。
32.存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元,并且一个存储块可以包括多个页面。页面可以是将数据存储在存储器装置100中或者读取存储器装置100中存储的数据的单位。
33.存储器装置100可以被实施为双数据速率同步动态随机存取存储器(ddr sdram)、第四代低功耗双数据速率(lpddr4)sdram、图形双数据速率(gddr)sram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻式随机存取存储器(mram)、铁电随机存取存储器(fram)、自旋转移扭矩随机存取存储器(stt-ram)等。在本说明书中,为了方便描述,假定和描述存储器装置100是nand闪速存储器的情况。
34.存储器装置100可以从存储器控制器200接收命令和地址。存储器装置100可以访问存储器单元阵列中通过所接收的地址选择的区域。存储器装置100访问所选择的区域可以指存储器装置100对所选择的区域执行与所接收的命令相对应的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。编程操作可以是存储器装置100将数据记录在通过地址选择的区域中的操作。读取操作可以指存储器装置100从通过地址选择的区域读取数据的操作。擦除操作可以指存储器装置100擦除存储在通过地址选择的区域中的数据的操作。
35.存储器控制器200可以控制存储装置1000的全部操作。
36.当向存储装置1000供电时,存储器控制器200可以运行固件(fw)。fw可以包括接收从主机2000输入的请求或将响应输出到主机2000的主机接口层(hil)、管理主机2000的接口与存储器装置100的接口之间的操作的闪存转换层(ftl)以及向存储器装置100提供命令或从存储器装置100接收响应的闪存接口层(fil)。
37.存储器控制器200可以从主机2000接收数据和逻辑地址(la),并且将la转换为物理地址(pa),物理地址(pa)代表待存储存储器装置100中包括的数据的存储器单元的地址。la可以是逻辑块地址(lba),并且pa可以是物理块地址(pba)。
38.存储器控制器200可以响应于来自主机2000的请求而控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可以向存储器装置100提供编程命令、pba和数据。在读取操作中,存储器控制器200可以向存储器装置100提供读取命令和pba。在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和pba。
39.存储器控制器200可以控制存储器装置100自主地执行编程操作、读取操作或擦除操作,而不管来自主机2000的任何请求。例如,存储器控制器200可以控制存储器装置100执行用于执行诸如损耗均衡、垃圾收集或读取回收的后台操作的编程操作、读取操作或擦除操作。
40.高速缓存存储器装置300可以包括不同的高速缓存存储器,例如,图1所示的第一高速缓存存储器310和第二高速缓存存储器320。高速缓存存储器装置300可以高速缓存存储器装置100中存储的数据。具体地,高速缓存存储器装置300可以基于存储器控制器200的控制将存储器装置100中存储的数据高速缓存在第一高速缓存存储器310或第二高速缓存存储器320中。执行高速缓存操作以将频繁引用的数据临时存储在高速操作的存储器中,以便减少访问存储的数据所需的时间。利用高速缓存存储器装置300,存储装置1000可以减少访问以比高速缓存存储器装置的速度更低的速度操作的存储器(例如,存储器装置100)的次数。
41.基于高速缓存层次结构,高速缓存存储器装置300中包括的不同的高速缓存存储器被配置为不同等级的高速缓存。高速缓存存储器装置300中包括的第一高速缓存存储器310和第二高速缓存存储器320可以基于高速缓存层次结构来高速缓存存储在存储器装置100中的数据,使得可以减少cpu对存储器装置100中存储的数据的访问以提高装置性能。在一些实施方案中,基于高速缓存层次结构,第一高速缓存存储器310可以具有比第二高速缓存存储器320的等级更高的等级。在一些实施方案中,在高速缓存层次结构中具有较高等级的第一高速缓存存储器310可以以比第二高速缓存存储器320的速度更高的速度操作。在实施例中,第一高速缓存存储器310可以以第一速度操作,而第二高速缓存存储器320可以以低于第一速度的第二速度操作。在一些实施方案中,在高速缓存层次结构中具有较低等级的第二高速缓存存储器320可以高速缓存从在高速缓存层次结构中具有更高等级的第一高速缓存存储器310迁出或移动的数据。
42.在一些实施方案中,在高速缓存层次结构中具有较高等级的第一高速缓存存储器310可以具有比在高速缓存层次结构中具有较低等级的第二高速缓存存储器320的容量更小的容量。因此,第一高速缓存存储器310可以是以比第二高速缓存存储器320的速度更高的速度操作但具有比第二高速缓存存储器320的容量更小的容量的存储器。在实施例中,第一高速缓存存储器310和第二高速缓存存储器320可以对应于其中不存在任何由第一高速缓存存储器310和第二高速缓存存储器320共享的数据的独占高速缓存(exclusive cache)。在实施例中,第一高速缓存存储器310可以是动态随机存取存储器(dram),而第二高速缓存存储器320可以是存储类存储器(scm)。
43.在实施例中,由于高速缓存存储器装置300被配置为包括第一高速缓存存储器310
和第二高速缓存存储器320的多层存储器,因此高速缓存的数据之中的热数据(hot data)被存储在第一高速缓存存储器310中,而高速缓存的数据之中的冷数据(cold data)被存储在第二高速缓存存储器320中,这提高了高速缓存效率。
44.主机2000可以使用诸如以下的各种通信技术中的至少一种来与存储装置1000通信:通用串行总线(usb)、串行at附件(sata)、串列scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、火线、外围组件互连(pci)、高速pci(pcie)、高速非易失性存储器(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)以及低负载dimm(lrdimm)。
45.图2是示出根据本公开的实施例的存储器装置的框图。
46.参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
47.存储器单元阵列110包括多个存储块blk1至blkz。多个存储块blk1至blkz通过行线rl连接到行解码器121。行线rl可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。多个存储块blk1至blkz通过位线bl1至bln连接到页面缓冲器组123。多个存储块blk1至blkz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。连接到同一字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。
48.存储器单元阵列110中包括的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或存储四个数据位的四层单元(qlc)。
49.外围电路120可以被配置为基于控制逻辑130的控制对存储器单元阵列110的所选择的区域执行编程操作、读取操作或擦除操作。也就是说,外围电路120可以基于控制逻辑130的控制来驱动存储器单元阵列110。例如,外围电路120可以基于控制逻辑130的控制将各种操作电压施加到行线rl和位线bl1至bln或释放所施加的电压。
50.在一些实施方案中,外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125以及感测电路126。
51.行解码器121可以通过行线rl连接到存储器单元阵列110。行线rl可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。在实施例中,字线可以包括普通字线和虚设字线。在实施例中,行线rl可以进一步包括管道选择线。
52.行解码器121可以基于控制逻辑130的控制而操作。行解码器121可以从控制逻辑130接收行地址radd。具体地,行解码器121可以对行地址radd进行解码。行解码器121可以根据经解码的地址来在存储块blk1至blkz之中选择至少一个存储块。而且,行解码器121可以根据经解码的地址选择所选择的存储块的至少一条字线以将由电压生成器122生成的电压施加到该至少一条字线wl。
53.例如,在编程操作中,行解码器121可以将编程电压施加到所选择的字线并且将具有比编程电压的电平更低的电平的编程通过电压施加到未选择的字线。在编程验证操作中,行解码器121可以将验证电压施加到所选择的字线并且将高于验证电压的验证通过电压施加到未选择的字线。在读取操作中,行解码器121可以将读取电压施加到所选择的字线,并且将高于读取电压的读取通过电压施加到未选择的字线。
54.在实施例中,可以以存储块为单位执行对存储器装置100的擦除操作。在擦除操作中,行解码器121可以根据经解码的地址来选择一个存储块。在擦除操作中,行解码器121可以将接地电压施加到连接到所选择的存储块的字线。
55.电压生成器122可以基于控制逻辑130的控制而操作。在一些实施方案中,电压生成器122可以基于控制逻辑130的控制通过使用供应到存储器装置100的外部电源电压来生成多个电压。例如,电压生成器122可以基于控制逻辑130的控制来生成编程电压、验证电压、通过电压、读取电压、擦除电压等。因此,电压生成器122可以响应于操作信号opsig而生成在编程操作、读取操作和擦除操作中使用的各种操作电压vop。
56.在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压可以用作存储器单元阵列110的操作电压。
57.在实施例中,电压生成器122可以通过使用外部电源电压或内部电源电压来生成多个电压。例如,电压生成器122可以包括用于接收内部电源电压的多个泵浦电容器,并且基于控制逻辑130的控制通过选择性地激活多个泵浦电容器来生成多个电压。另外,多个生成的电压可以通过行解码器121供应到存储器单元阵列110。
58.页面缓冲器组123可以包括第一页面缓冲器pb1至第n页面缓冲器pbn。第一页面缓冲器pb1至第n页面缓冲器pbn可以分别通过第一位线bl1至第n位线bln连接到存储器单元阵列110。而且,第一位线bl1至第n位线bln可以基于控制逻辑130的控制而操作。具体地,第一位线bl1至第n位线bln可以响应于页面缓冲器控制信号pbsignals而操作。例如,在读取操作或验证操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以临时存储通过第一位线bl1至第n位线bln接收的数据,或者感测位线bl1至bln的电压或电流。
59.在一些实施方案中,在编程操作中,当编程电压被施加到所选择的字线时,第一页面缓冲器pb1至第n页面缓冲器pbn可以通过第一位线bl1至第n位线bln将通过输入/输出电路125接收的数据data传送到所选择的存储器单元。所选择的页面的存储器单元可以根据传送的数据data来编程。连接到施加了编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。连接到施加了编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被保持。
60.在编程验证操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以通过第一位线bl1至第n位线bln从所选择的存储器单元中读取页面数据。
61.在读取操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以通过第一位线bl1至第n位线bln从所选择的页面的存储器单元中读取数据data,并且基于列解码器124的控制将所读取的数据data输出到输入/输出电路125。
62.在擦除操作中,第一页面缓冲器pb1至第n页面缓冲器pbn可以使第一位线bl1至第n位线bln浮置。
63.列解码器124可以响应于列地址cadd而在输入/输出电路125与页面缓冲器组123之间进行数据通信。例如,列解码器124可以通过数据线dl与第一页面缓冲器pb1至第n页面缓冲器pbn进行数据通信,或者通过列线cl与输入/输出电路125进行数据通信。
64.输入/输出电路125可以将从存储器控制器200接收的命令cmd和地址addr传送到控制逻辑130,或者与列解码器124交换数据data。
65.在读取操作或验证操作中,感测电路126可以响应于允许位vrybit信号而生成参
考电流,并且通过比较从页面缓冲器组123接收的感测电压vpb和由参考电流生成的参考电压来输出通过信号pass或失败信号fail。
66.控制逻辑130可以响应于命令cmd和地址addr而通过输出操作信号opsig、行地址radd、页面缓冲器控制信号pbsignals和允许位vrybit来控制外围电路120。而且,控制逻辑130可以响应于通过信号pass或失败信号fail来确定验证操作是通过还是失败。而且,控制逻辑130可以控制页面缓冲器组123将包括通过信号pass或失败信号fail的验证信息临时存储在页面缓冲器组123中。
67.图3是示出根据本公开的实施例的存储块的示图。
68.参照图3,在存储块blki中,相互平行布置的多条字线可以连接在第一选择线与第二选择线之间。第一选择线可以是源极选择线ssl,而第二选择线可以是漏极选择线dsl。更具体地,存储块blki可以包括连接在位线bl1至bln与源极线sl之间的多个串st。位线bl1至bln可以分别连接到多个串st,并且源极线sl通常可以连接到多个串st。多个串st可以被配置为彼此相同,因此,作为示例详细描述连接到第一位线bl1的串st。
69.串st可以包括相互串联连接在源极线sl与第一位线bl1之间的源极选择晶体管sst、多个存储器单元f1至f16以及漏极选择晶体管dst。一个串st中可以包括至少一个源极选择晶体管sst和至少一个漏极选择晶体管dst,并且一个串st中可以包括数量大于图中所示的存储器单元f1至f16的数量的存储器单元。
70.源极选择晶体管sst的源极可以连接到源极线sl,并且漏极选择晶体管dst的漏极可以连接到第一位线bl1。存储器单元f1至f16可以串联连接在源极选择晶体管sst和漏极选择晶体管dst之间。不同串st中包括的源极选择晶体管sst的栅极可以连接到源极选择线ssl,并且不同串st中包括的漏极选择晶体管dst的栅极可以连接到漏极选择线dsl。存储器单元f1至f16的栅极可以连接到多条字线wl1至wl16。不同串st中包括的存储器单元之中的连接到同一字线的一组存储器单元可以被称为物理页面ppg。因此,存储块blki中可以包括数量与字线wl1至wl16的数量相对应的物理页面ppg。
71.存储器单元中的每一个可以被配置为存储一个数据位的单层单元(slc)、存储两个数据位的多层单元(mlc)、存储三个数据位的三层单元(tlc)或存储四个数据位的四层单元(qlc)。
72.slc可以存储一位数据。slc的一个物理页面ppg可以存储一个逻辑页面(lpg)数据。一个lpg的数据可以包括数量与一个物理页面ppg中包括的单元的数量相对应的数据位。
73.mlc、tlc和qlc可以存储两位或更多位的数据。一个物理页面ppg可以存储两个或多个lpg数据。
74.图4是示出根据所公开的技术的实施例的重用距离的示图。
75.参照图4,存储装置1000可以根据主机2000的请求来访问第一数据至第三数据。存储装置1000可以重复访问特定数据。当存储装置1000重复地访问特定数据时,对特定数据的两次不同访问之间的物理距离或时间距离可以被定义为重用距离rd。对特定数据的第一次访问和对特定数据的第二次访问之间的重用距离rd通过对存储装置1000在对特定数据的第一次访问和第二次访问之间访问的数据数量进行计数来确定。在对数据数量进行计数时,如果存储装置1000在对特定数据的第一次访问和第二次访问之间重复访问相同的数
据,则访问相同数据的数据数量被计数为1。
76.例如,如图4所示,存储装置1000可以根据主机2000的请求访问第一数据1-1,然后依次访问第二数据2-1、第三数据3-1、第一数据1-2、第一数据1-3、第三数据3-2和第二数据2-2。两个第一数据1-1和1-2之间的重用距离rd为2,因为在对第一数据1-1和第一数据1-2的访问之间,存储装置1000访问了另外两个数据,即第二数据2-1和第三数据3-1。两个第二数据2-1和2-2之间的重用距离rd也为2,因为对第三数据3-1和第三数据3-2的访问被计数为1并且对第一数据1-2和第一数据1-3的访问也被计数为1。重用距离rd是重用高速缓存的数据的概念,并且仅可以对下一次特定数据被访问之前的数据的种类进行计数。也就是说,在特定数据被再次访问之前所访问的相同数据可以被计数为1。例如,多个第一数据1-2和1-3在第一个第三数据3-1与第二个第三数据3-2之间被访问,但是第三数据之间的重用距离rd为1,因为对第一数据1-2和第一数据1-3的访问被计数为1。
77.图5是示出根据本公开的实施例的存储器控制器的配置的示图。
78.参照图5,存储器控制器200可以包括重用距离管理器210和高速缓存存储器控制器220。
79.重用距离管理器210可以是基于与存储器装置100中包括的多个页面有关的访问信息来确定重用距离的组件。访问信息可以是与从主机2000接收的读取请求相对应的信息。当主机2000从存储装置1000请求特定数据时,存储装置1000可以基于从主机2000接收的逻辑地址来访问特定数据。存储装置1000可以基于从主机2000接收的读取请求存储包括访问每个页面的次数的访问信息。而且,重用距离管理器210可以通过使用访问信息来确定存储器装置100和高速缓存存储器装置300中存储的数据的重用距离。重用距离管理器210可以使用用于确定针对每个数据的重用距离的算法,例如,最近最少使用(least recently used,lru)算法、最近最多使用(most recently used,mru)算法。
80.高速缓存存储器控制器220可以是确定高速缓存在高速缓存存储器装置300中的数据的删除或移动的组件。高速缓存存储器控制器220可以基于与高速缓存的数据的重用距离相对应的数据大小和高速缓存存储器装置300的总容量来确定高速缓存在高速缓存存储器装置300中的数据的删除或移动。高速缓存存储器装置300的总容量可以是通过将第一高速缓存存储器310和第二高速缓存存储器320的容量相加而获得的大小。
81.例如,当与高速缓存在高速缓存存储器装置300中的特定数据的重用距离相对应的数据大小大于高速缓存存储器装置300的总容量时,高速缓存存储器控制器220可以控制高速缓存存储器装置300从高速缓存存储器装置300中删除该特定数据。因此,高速缓存存储器控制器220可以通过删除很可能发生高速缓存未命中(cache miss)的该特定数据来有效地管理高速缓存存储器装置300。
82.高速缓存存储器控制器220可以移动高速缓存在高速缓存存储器装置300中的数据,使得高速缓存在第一高速缓存存储器310中的数据的重用距离小于高速缓存在第二高速缓存存储器320中的任意数据的重用距离。因此,高速缓存存储器控制器220可以控制高速缓存存储器装置300以将高速缓存的数据之中的热数据存储在第一高速缓存存储器310中并且将高速缓存的数据之中的冷数据存储在第二高速缓存存储器320中。
83.图6是示出根据本公开的实施例的数据的高速缓存方法的示图。
84.参照图6,图6是示出存储装置1000从主机2000接收针对“数据a”的读取请求的情
况的示图。当存储装置1000从主机2000接收到针对“数据a”的读取请求时,存储装置1000可以确定“数据a”是否已经高速缓存在第一高速缓存存储器310或第二高速缓存存储器320中。当确定发生了第一高速缓存存储器310和第二高速缓存存储器320中不存在“数据a”的高速缓存未命中时,存储装置1000可以将“数据a”从存储器装置100加载到第一高速缓存存储器310。在一些实施方案中,存储装置1000可以将“数据a”传输到主机2000。
85.在一些实施方案中,在将“数据a”加载到第一高速缓存存储器310之前,存储装置1000可以确保待在第一高速缓存存储器310中加载“数据a”的空间。存储装置1000可以将高速缓存在第一高速缓存存储器310中的数据之中的具有最大重用距离的“数据x”迁移到第二高速缓存存储器320,或者从高速缓存存储器装置300中删除“数据x”。在一些实施方案中,当与“数据x”的重用距离相对应的数据大小大于第一高速缓存存储器310的容量和第二高速缓存存储器320的容量之和时,存储装置1000可以从高速缓存存储器装置300中删除“数据x”。在一些实施方案中,当与“数据x”的重用距离相对应的数据大小小于第一高速缓存存储器310的容量和第二高速缓存存储器320的容量之和时,存储装置1000可以将“数据x”从第一高速缓存存储器310迁移到第二高速缓存存储器320。与“数据x”的重用距离相对应的数据大小可以指在对“数据x”的两次访问之间访问的数据的大小。
86.图7是示出根据本公开的实施例的数据的高速缓存方法的示图。
87.参照图7,图7是示出存储装置1000从主机2000接收针对“数据b”的读取请求的情况的示图。当存储装置1000从主机2000接收到针对“数据b”的读取请求时,存储装置1000可以确定“数据b”是否已经高速缓存在第一高速缓存存储器310或第二高速缓存存储器320中。当确定发生了第一高速缓存存储器310和第二高速缓存存储器320中不存在“数据b”的高速缓存未命中时,存储装置1000可以将“数据b”从存储器装置100加载到第一高速缓存存储器310。在一些实施方案中,存储装置1000可以将“数据b”传输到主机2000。
88.在一些实施方案中,存储装置1000可以确定将“数据b”高速缓存在第一高速缓存存储器310中是否合适。在一些实施方案中,存储装置1000可以基于与“数据b”的重用距离相对应的数据大小来确定是否将删除“数据b”。例如,当与“数据b”的重用距离相对应的数据大小大于通过将第一高速缓存存储器310的容量和第二高速缓存存储器320的容量相加得到的大小时,存储装置1000可以从高速缓存存储器装置300中删除“数据b”。在一些实施方案中,当高速缓存在第一高速缓存存储器310中的数据之中与“数据b”的重用距离相对应的数据大小最大时,或者当与“数据b”的重用距离相对应的数据大小大于高速缓存在第二高速缓存存储器320中的任何数据的重用距离时,存储装置1000可以将“数据b”从第一高速缓存存储器310迁移到第二高速缓存存储器320。与“数据b”的重用距离相对应的数据大小可以指在对“数据b”的两次访问之间访问的数据的大小。
89.图8是示出根据本公开的实施例的存储装置的操作方法的示图。
90.参照图8,存储装置1000可以从主机2000接收针对第一数据的读取请求(s810)。响应于从主机2000接收到的读取请求,存储装置1000可以确定第一数据是否已经在第一高速缓存存储器310或第二高速缓存存储器320中命中(s820)。命中是高速缓存命中,并且可以是确定高速缓存存储器装置300中是否存在与读取请求相对应的数据的操作。
91.当未在第一高速缓存存储器310和第二高速缓存存储器320中命中第一数据时,存储装置1000可以基于第一高速缓存存储器310中高速缓存的数据的重用距离来确定待从第
一高速缓存存储器310迁出的第二数据(s830)。存储装置1000可以确定待移动到第二高速缓存存储器320的第二数据以确保用于将第一数据加载到第一高速缓存存储器310的空间(s840)。在一些实施方案中,存储装置1000可以基于第二数据的重用距离来确定是否将第二数据移动到第二高速缓存存储器320。在一些实施方案中,存储装置1000可以将高速缓存在第一高速缓存存储器310中的数据之中具有最大重用距离的第二数据移动到第二高速缓存存储器320。第二数据的重用距离可以小于高速缓存在第二高速缓存存储器320中的任何数据的重用距离,并且与第二数据的重用距离相对应的数据大小可以小于第一高速缓存存储器310的容量和第二高速缓存存储器320的容量之和。
92.存储装置1000可以将第一数据加载到第一高速缓存存储器310,并且将所加载的第一数据传输到主机2000(s850)。
93.图9是示出根据本公开的另一实施例的存储器控制器的示图。
94.参照图9,存储器控制器1300可以包括处理器1310、ram 1320、ecc电路1330、rom 1360、主机接口1370和闪存接口1380。图9所示的存储器控制器1300可以是图1所示的存储器控制器200的实施例。
95.处理器1310可以通过使用主机接口1370与主机2000通信,并且执行逻辑操作以控制存储器控制器1300的操作。例如,处理器1310可以基于从主机2000或外部装置接收的请求来加载程序命令、数据文件、数据结构等,并且执行各种操作或生成命令和地址。例如,处理器1310可以生成编程操作、读取操作、擦除操作、挂起操作和参数设置操作所需的各种命令。
96.而且,处理器1310可以执行闪存转换层(ftl)的功能。处理器1310可以通过ftl将主机2000提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收通过使用映射表而输入的lba,以将lba转换为pba。根据映射单位,存在ftl的多种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
97.而且,处理器1310可以在没有来自主机2000的任何请求的情况下生成命令。例如,处理器1310可以生成用于诸如用于存储器装置100的损耗均衡的操作和用于存储器装置100的垃圾收集的操作的后台操作的命令。
98.ram 1320可以用作处理器1310的缓冲存储器、工作存储器或高速缓存存储器。而且,ram 1320可以存储处理器1310运行的代码和命令。ram 1320可以存储由处理器1310处理的数据。而且,可以实施包括静态ram(sram)或动态ram(dram)的ram 1320。
99.ecc电路1330可以检测编程操作或读取操作中的错误,并且校正检测到的错误。具体地,ecc电路1330可以根据错误校正码执行错误校正操作。而且,ecc电路1330可以基于待写入到存储器装置100的数据来执行ecc编码。被执行ecc编码的数据可以通过闪存接口1380被传送到存储器装置100。而且,ecc电路1330可以对通过闪存接口1380从存储器装置100接收的数据执行ecc解码。
100.rom 1360可以用作用于存储存储器控制器1300的操作所需的各种信息的存储单元。具体地,rom 1360可以包括映射表,并且物理到逻辑地址信息和逻辑到物理地址信息可以存储在映射表中。而且,rom 1360可以由处理器1310控制。
101.主机接口1370可以包括用于在主机2000与存储器控制器1300之间交换数据的协议。具体地,主机接口1370通过诸如以下的各种接口协议中的至少一种与主机2000通信:通
用串行总线(usb)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机系统接口(scsi)协议、增强型小型磁盘接口(esdi)协议、电子集成驱动器(ide)协议和私有协议。
102.闪存接口1380可以基于处理器1310的控制通过使用通信协议与存储器装置100通信。具体地,闪存接口1380可以通过信道与存储器装置进行命令、地址和数据的通信。例如,闪存接口1380可以包括nand接口。
103.图10是示出根据本公开的实施例的存储卡系统的示图。
104.参照图10,存储卡系统3000包括存储器控制器3100、存储器装置3200和连接器3300。
105.存储器控制器3100可以连接到存储器装置3200。存储器控制器3100可以访问存储器装置3200。例如,存储器控制器3100可以控制对存储器装置3200的读取操作、写入操作、擦除操作和后台操作。存储器控制器3100可提供存储器装置3200与主机之间的接口。而且,存储器控制器3100可以驱动用于控制存储器装置3200的固件。
106.例如,存储器控制器3100可以包括诸如随机存取存储器(ram)、处理单元、主机接口、存储器接口和错误校正器的组件。
107.存储器控制器3100可以通过连接器3300与外部装置通信。存储器控制器3100可以根据特定通信协议与外部装置(例如,主机)通信。示例性地,存储器控制器3100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。
108.示例性地,存储器装置3200可以利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)以及自旋转移力矩磁性ram(stt-mram)。
109.存储器控制器3100和存储器装置3200可以集成到单个半导体装置中以构成存储卡。例如,存储器控制器3100和存储器装置3200可以构成诸如以下的存储卡:pc卡(个人计算机存储卡国际协会(pcmcia))、紧凑型闪存(cf)卡、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc、微型mmc或emmc)、sd卡(sd、迷你sd、微型sd或sdhc)或通用闪存(ufs)。
110.图11是示出根据本公开的实施例的固态驱动器(ssd)系统的示图。
111.参照图11,ssd系统4000包括主机4100和ssd 4200。ssd 4200通过信号连接器4001与主机4100交换信号sig,并且通过电源连接器4002接收电力pwr。ssd 4200包括ssd控制器4210、多个闪速存储器4221至422n、辅助电源4230和缓冲存储器4240。
112.在实施例中,ssd控制器3210可以作为参照图1描述的存储器控制器200。ssd控制器4210可以响应于从主机4100接收的信号sig来控制多个闪速存储器4221至422n。示例性地,信号sig可以是基于主机4100与ssd 4200之间的接口的信号。例如,信号sig可以是由诸如以下的接口中的至少一种定义的信号:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和nvme。
113.辅助电源4230可以通过电源连接器4002连接到主机4100。辅助电源4230可以接收从主机4100输入的电力pwr并且利用该电力pwr充电。当来自主机4100的电力供应不平稳时,辅助电源4230可以向ssd4200提供电力。示例性地,辅助电源4230可以位于ssd 4200中,或位于ssd 4200外部。例如,辅助电源4230可以位于主板上并且向ssd4200提供辅助电力。
114.缓冲存储器4240可以作为ssd 4200的缓冲存储器操作。例如,缓冲存储器4240可以临时存储从主机4100接收的数据或从多个闪速存储器4221至422n接收的数据,或者临时存储闪速存储器4221至422n的元数据(例如,映射表)。缓冲存储器4240可以包括诸如dram、sdram、ddr sdram、lpddr sdram和gram的易失性存储器,或诸如fram、reram、stt-mram和pram的非易失性存储器。
115.图12是示出根据本公开的实施例的用户系统的示图。
116.参照图12,用户系统5000包括应用处理器5100、存储器模块5200、网络模块5300、存储模块5400和用户接口5500。
117.应用处理器5100可以驱动用户系统5000中包括的组件、操作系统(os)、用户程序等。示例性地,应用处理器5100可以包括接口、图形引擎、用于控制用户系统5000中包括的组件的控制器等。应用处理器5100可以被设置为片上系统(soc)。
118.存储器模块5200可以作为用户系统5000的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块5200可以包括诸如dram、sdram、ddr sdram、ddr2 sdram、ddr3 sdram、lpddr sdram、lpddr2 sdram和lpddr3 sdram的易失性随机存取存储器,或诸如fram、reram、mram和pram的非易失性随机存取存储器。示例性地,应用处理器5100和存储器模块5200可以通过基于堆叠封装(pop)进行封装而被设置为一个半导体封装。
119.网络模块5300可以与外部装置通信。示例性地,网络模块5300可以支持诸如码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、wimax、wlan、uwb、蓝牙或wi-fi的无线通信。示例性地,网络模块5300可以包括在应用处理器5100中。
120.存储模块5400可以存储数据。例如,存储模块5400可以存储从应用处理器5100接收的数据。可选地,存储模块5400可以将在其中存储的数据传输到应用处理器5100。示例性地,存储模块5400可以被实施为诸如以下的非易失性半导体存储器装置:相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、nand闪存、nor闪存或具有三维结构的nand闪存。示例性地,存储模块5400可以被设置为诸如用户系统5000的存储卡或外部驱动器的可移动驱动器。
121.示例性地,存储模块5400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1至图3描述的存储器装置100相同地操作。存储模块4400可以与参照图1描述的存储装置1000相同地操作。
122.用户接口5500可以包括将数据或指令输入到应用处理器5100或者将数据输出到外部装置的接口。示例性地,用户接口5500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器和监控器。
123.根据所公开的技术的一些实施方案,可以提供一种用于管理改进的多层高速缓存
存储器的存储装置以及该存储装置的操作方法。
124.尽管已经参考其某些示例性实施例示出和描述了所公开的技术,但是本领域技术人员将理解的是,可以进行各种改变。在文件中公开的实施例仅是为了促进对本公开的理解的示例,并且所公开的技术不限于此。可以基于本专利文件中公开的内容对所公开的实施例和其它实施例进行各种修改和改进。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献