用于传输由非易失性存储器系统生成的元数据的装置和方法与流程

文档序号:30508414发布日期:2022-06-25 01:06阅读:121来源:国知局
用于传输由非易失性存储器系统生成的元数据的装置和方法与流程
用于传输由非易失性存储器系统生成的元数据的装置和方法
1.相关申请的交叉引用
2.本专利申请要求于2020年12月22日提交的韩国专利申请第10-2020-0180783号的权益,上述申请的全部公开内容通过引用并入本文。
技术领域
3.本公开中描述的一个或多个实施例涉及存储器系统,该存储器系统能够向耦合到该存储器系统的外部设备传输元数据。


背景技术:

4.很多便携式设备具有用于存储数据的半导体存储器。半导体存储器因为它们的经提高的稳定性和耐久性而已经被证明对一些应用是有益的,例如,与硬盘不同,半导体存储器没有机械驱动零件(例如,机械臂)。半导体存储器还具有相对较高的数据访问速度和低功耗。半导体存储器的示例包括usb(通用串行总线)存储器设备、具有各种接口的存储器卡、以及固态驱动器(ssd)。


技术实现要素:

5.本公开中描述的实施例可以提供一种数据处理系统和一种用于操作数据处理系统的方法。数据处理系统可以包括诸如存储器系统和主机之类的部件和资源,并且可以基于部件和资源的使用动态地指派用于在部件之间传输数据的数据路径。
6.所公开的本公开的实现可以提供一种用于制作数据处理系统中包括的存储器系统的方法和装置,该方法和装置向主机或计算设备传输映射信息或元数据,或使主机或计算设备向存储器系统传输命令以及映射信息或元数据,以提高存储器系统或数据处理系统的操作性能。
7.所公开的本公开的实现可以提供一种用于通过在传输映射信息或元数据之前基于被指派用于写入增强器的区域确定存储器系统向数据处理系统中包括的主机或计算设备传输哪些映射信息或元数据来提高存储器系统的数据读取性能的装置和方法。
8.根据本公开的一个实施例,一种存储器系统可以包括存储器设备和控制器,该存储器设备包括多个存储器块,每个存储器块包括能够存储多比特数据项的存储器单元,其中存储器设备包括写入增强器区域,该写入增强器区域包括多个存储器块中的至少一个存储器块,该至少一个存储器块包括存储单比特数据项的存储器单元,该控制器被配置为:当写入增强器区域中包括的存储器块关闭时将该存储器块分配给主机性能增强器(hpb)区域,并且向主机传输关于至少一个存储器块被分配给hpb区域的指示。
9.控制器还可以被配置为响应于从主机输入的请求而向主机传输映射数据,映射数据与被分配给hpb区域的存储器块中存储的数据项相关联。
10.控制器可以被配置为将逻辑到物理(l2p)映射数据项包括到映射数据中,l2p映射数据项用于将与存储器块中存储的有效数据项相关联的逻辑地址转换为物理地址。
11.控制器可以被配置为:当与映射数据相关联的读取请求从主机被输入时,将逻辑到物理(l2p)映射数据项包括到映射数据中,l2p映射数据项用于将与要响应于读取请求而被输出的有效数据项相关联的逻辑地址转换为物理地址。
12.控制器可以被配置为:当没有与从主机输入的请求相对应的数据输入/输出操作时,执行数据迁移,数据迁移包括将写入增强器区域中包括的第一存储器块中临时存储的单比特数据项存储到存储器设备中的存储器块中的、对于每个存储器单元存储多比特数据项的第二存储器块。第一存储器块可以是写入增强器区域中最不频繁使用或最久未被使用的存储器块。
13.控制器可以被配置为:当针对第一存储器块中存储的所有单比特有效数据项的数据迁移成功完成时,从写入增强器区域释放第一存储器块。
14.控制器可以被配置为:向主机传输关于存储已经通过数据迁移而被迁移的所有单比特有效数据项的第一存储器块从hpb区域被释放的指示。
15.控制器还可以被配置为:在完成数据迁移之后,将与通过数据迁移而被迁移或移动的数据项相关联的映射数据项添加到响应或通知中;以及向主机传输响应或通知。
16.当与映射数据相关联的读取请求从主机被输入时,控制器可以被配置为:比存储器块中的另外的存储器块更早地在hpb区域的存储器块中搜索与读取请求相对应的数据项。
17.在另一实施例中,一种用于操作包括存储器设备的存储器系统的方法,该存储器设备包括存储器块,该存储器块包括能够存储多比特数据项的存储器单元。多个存储器块可以包括至少一个存储器块,该至少一个存储器块被分配给写入增强器区域并且包括存储单比特数据项的存储器单元。该方法可以包括:接收从主机输入的写入请求和写入数据项;将写入数据项编程在写入增强器区域中包括的存储器块中;当写入增强器区域中的存储器块关闭时,将该存储器块分配给主机性能增强器(hpb)区域;以及向主机传输关于存储器块被分配给hpb区域的指示。
18.该方法还可以包括:响应于从主机输入的请求而向主机传输映射数据。映射数据与被分配给hpb区域的存储器块中存储的数据项相关联。
19.该方法还可以包括:将逻辑到物理(l2p)映射数据项包括在映射数据中,l2p映射数据项用于将与存储器块中存储的有效数据项相关联的逻辑地址转换为物理地址。
20.该方法还可以包括:当存储器系统接收到从主机输入的读取请求时,将逻辑到物理(l2p)映射数据项包括在映射数据中,l2p映射数据项用于将与要响应于读取请求而被输出的有效数据项相关联的逻辑地址转换为物理地址。
21.该方法还可以包括:当没有与从主机输入的请求相对应的数据输入/输出操作时,执行数据迁移,以将写入增强器区域中包括的第一存储器块中临时存储的单比特数据项存储到存储器设备中的存储器块中的、对于每个存储器单元存储多比特数据项的第二存储器块。第一存储器块可以是写入增强器区域中最不频繁使用或最久未被使用的存储器块。
22.该方法还可以包括:当针对第一存储器块中存储的所有单比特有效数据项的数据迁移成功完成时,从写入增强器区域释放第一存储器块。
23.该方法还可以包括:在完成数据迁移之后,将与通过数据迁移而被迁移或移动的数据项相关联的映射数据项添加到响应或通知中;以及向主机传输响应或通知。
24.该方法还可以包括:向主机传输关于存储已经通过数据迁移而被迁移的所有单比特有效数据项的第一存储器块从hpb区域被释放的指示。
25.在另一实施例中,一种控制器经由至少一个数据路径耦合到包括存储器块的存储器设备,每个存储器块包括存储器单元,每个存储器单元能够存储多比特数据项。控制器可以包括至少一个处理器、至少一个存储器和逻辑,该逻辑的至少一部分被包括在硬件中并且由至少一个处理器执行,该逻辑用于:接收从主机输入的写入请求和写入数据项;将写入数据项编程在存储器设备的写入增强器区域中,其中写入增强器区域包括存储器块中的至少一个存储器块,该至少一个存储器块包括存储单比特数据项的存储器单元;当写入增强器区域中包括的存储器块关闭时,将该存储器块分配给主机性能增强器(hpb)区域;以及向主机传输关于存储器块被分配给hpb区域的指示。
26.该逻辑可以被配置为:响应于从主机输入的请求而向主机传输映射数据,映射数据与被分配给hpb区域的存储器块中存储的数据项相关联。
27.该逻辑可以被配置为:将逻辑到物理(l2p)映射数据项包括到映射数据,l2p映射数据项用于响应于请求而将存储器块中存储的数据项的逻辑地址转换为物理地址。
28.当与映射数据相关联的读取请求从主机被输入时,该逻辑可以被配置为:比存储器块中的另外的存储器块更早地在hpb区域的存储器块中搜索与读取请求相对应的数据项。
29.该逻辑可以被配置为:当没有与从主机输入的请求相对应的数据输入/输出操作时,执行数据迁移,数据迁移包括将写入增强器区域中包括的第一存储器块中临时存储的单比特数据项存储到存储器设备中的存储器块中的、对于每个存储器单元存储多比特数据项的第二存储器块。第一存储器块可以是写入增强器区域中最不频繁使用或最久未被使用的存储器块。
附图说明
30.本文中的描述参考附图,其中在所有附图中相似的附图标记指代相似的部分。
31.图1示出了数据处理系统的实施例。
32.图2示出了数据处理系统的实施例。
33.图3示出了存储器系统的实施例。
34.图4示出了控制器的实施例。
35.图5示出了读取操作的实施例。
36.图6示出了在主机与存储器系统之间执行hpb数据通信的实施例。
37.图7示出了主机与存储器系统之间的事务的实施例。
38.图8示出了操作主机和存储器系统的方法的实施例。
39.图9示出了存储器设备的实施例。
40.图10示出了操作存储器系统的方法的实施例。
41.图11示出了根据实施例的存储器系统的性能的示例。
具体实施方式
42.参考附图描述所公开的技术的各种实施例。然而,所公开的技术的元素和特征可
以被不同地配置或布置以形成其他实施例,该其他实施例可以是所公开的实施例中的任何一个实施例的变型。
43.本公开包括对“一个实施例”或“实施例”的引用。短语“在一个实施例中”或“在实施例中”的出现不一定指代同一实施例。特定的特征、结构或特性可以以与本公开一致的任何合适的方式被组合。
44.在本公开中,术语“包括”、“包含”、“含有”和“具有”是开放式的。如所附权利要求中使用的,这些术语指定所述元素的存在并且不排除一个或多个其他元素的存在或添加。权利要求中的术语不排除该装置包括附加部件(例如,接口单元、电路装置等)。
45.在本公开中,各种单元、电路或其他部件可以被描述或要求保护为“被配置为”执行一个或多个任务。在这样的上下文中,“被配置为”通过指示单元/电路/部件包括在操作期间执行该一个或多个任务的结构(例如,电路装置)来暗示结构。因此,即使当指定的单元/电路/部件当前未操作(例如,未打开)时,单元/电路/部件也可以被描述为被配置为执行任务。与“被配置为”语言一起使用的单元/电路/部件包括硬件——例如,电路、存储可执行以实现操作的程序指令的存储器等。此外,“被配置为”可以包括由软件和/或固件(例如,执行软件的fpga或通用处理器)操纵以便以能够执行(多个)所讨论的任务的方式操作的通用结构(例如,通用电路装置)。“被配置为”还可以包括适配制造过程(例如,半导体制造设施)以制造适于实现或执行一个或多个任务的设备(例如,集成电路)。
46.在所公开的本公开的实现中,术语“电路装置”指代以下至少一项:(a)纯硬件电路实现(诸如仅在模拟电路装置和/或数字电路装置中的实现),(b)电路和软件(和/或固件)的组合,诸如(在适用时):(i)(多个)处理器的组合,或(ii)(多个)处理器/软件(包括(多个)数字信号处理器)、软件和(多个)存储器的如下部分,该部分一起工作以使装置(诸如移动电话或服务器)执行各种功能,或(c)对于操作需要软件或固件的电路,即使该软件或固件物理上并不存在,诸如(多个)微处理器或(多个)微处理器的一部分。“电路装置”的该定义适用于该术语在本技术中(包括在任何权利要求中)的所有使用。在实现中,术语“电路装置”还涵盖仅处理器(或多个处理器)或处理器的一部分、以及处理器(或多个处理器)伴随软件和/或固件的实现。术语“电路装置”还涵盖例如用于存储设备的集成电路。
47.如本文中使用的,这些术语用作它们在其之前的名词的标签,并且不暗示任何类型的排序(例如,空间排序、时间排序、逻辑排序等)。术语“第一”和“第二”并不一定暗示第一值必须写在第二值之前。此外,尽管本文中可以使用术语“第一”、“第二”、“第三”等来标识各种元素,但是这些元素不受这些术语的限制。这些术语用于将一个元素与具有相同或相似名称的另一元素区分开。例如,第一电路装置可以区别于第二电路装置。
48.本文中,一项数据或数据项可以是位序列。例如,数据项可以包括文件的内容、文件的一部分、存储器中的页、面向对象的程序中的对象、数字消息、数字扫描图像、视频或音频信号的一部分、或可以由位序列表示的任何其他实体。根据一个实施例,数据项可以包括离散对象。根据另一实施例,数据项可以包括两个不同部件之间的传输分组内的信息单元。
49.此外,术语“基于”可以描述影响确定的一个或多个因素。该术语不排除可以影响确定的其他因素。也就是说,确定可以仅基于这些因素或至少部分地基于这些因素。考虑短语“基于b确定a”。虽然在这种情况下,b是影响a的确定的因素,但这样的短语并不排除a的确定还基于c。在其他情况下,a可以仅基于b而被确定。
50.现在将参考附图描述所公开的技术的实施例,其中相似的数字指代相似的元素。
51.图1示出了包括与主机102通信的存储器系统110的数据处理系统的实施例。
52.参考图1,主机102可以包括处理器104、主机存储器106和主机控制器接口108。存储器系统110可以包括控制器130和存储器设备150。图1的控制器130和存储器设备150可以对应于图2至图3的控制器130和存储器设备150。
53.处理器104可以具有比存储器系统110的性能高的性能,并且主机存储器106可以能够比存储器系统110存储更大量的数据。处理器104和主机存储器106可以在空间和升级方面具有优势。例如,处理器104和主机存储器106可以比存储器系统110中的处理器134和存储器144具有更少的空间限制。处理器104和主机存储器106可以被升级以提高性能,这可以区别于存储器系统110中的处理器134和存储器144。在一个实施例中,存储器系统110可以利用主机102的资源来提高存储器系统110的操作效率。
54.在一个实施例中,随着可以被存储在存储器系统110中的数据量增加,与存储器系统110中存储的数据相对应的元数据量也增加。当用于在控制器130的存储器144中加载元数据的存储能力受到限制或约束时,所加载的元数据量的增加可能对控制器130的操作造成操作负担。
55.例如,由于在控制器130的存储器144中为元数据指派的空间或区域的限制,可以仅加载元数据的一部分。如果所加载的元数据不包括主机102打算访问的物理位置的特定元数据,则控制器130可能必须在存储器设备150中存储所加载的元数据(这些元数据中的一些元数据已经更新),并且控制器130还可能必须加载主机102打算访问的物理位置的特定元数据。可能必须执行这些操作以便控制器130执行由主机102请求的读取操作或写入操作。作为结果,这些影响可能导致存储器系统110的性能下降。
56.在一些情况下,主机102中的主机存储器106的存储能力可能比控制器130中的存储器144的存储能力大(例如,大数十倍或数百倍)。存储器系统110可以将由控制器130使用的元数据166传输到主机102中的主机存储器106,使得主机102中的主机存储器106的至少一部分可以被存储器系统110访问。主机存储器106的至少一部分可以用作用于地址转换以在存储器系统110中读取或写入数据的高速缓存存储器。
57.在这种情况下,在将逻辑地址与请求、命令或指令一起传输到存储器系统110之前,主机102可以基于主机存储器106中存储的元数据166将逻辑地址转换为物理地址。然后,主机102可以将经转换的物理地址与请求、命令或指令一起传输到存储器系统110。
58.接收经转换的物理地址以及请求、命令或指令的存储器系统110可以跳过将逻辑地址转换为物理地址的内部过程,并且基于所传输的物理地址来访问存储器设备150。在这种情况下,由控制器130从存储器设备150加载元数据以用于地址转换所引起的开销(例如,操作负担)可以被显著减少或消除,并且存储器系统110的操作效率可以提高。
59.即使存储器系统110将元数据166传输到主机102,存储器系统110也可以控制或管理与元数据166相关的信息,诸如元数据的生成、擦除和更新。存储器系统110中的控制器130可以基于存储器设备150的操作状态来执行后台操作(例如,垃圾收集和损耗均衡),并且可以确定示出存储器设备150中用于存储从主机102传输的数据的位置的物理地址(例如,物理位置)。因为存储器设备150中存储的数据的物理地址可能被改变,并且主机102可能无法识别改变后的物理地址,所以存储器系统110可以被配置为控制或管理与要传输到
主机102的元数据166相关的信息。
60.当存储器系统110控制或管理用于地址转换的元数据时,存储器系统110可以确定是否修改或更新先前传输到主机102的元数据166。如果存储器系统110确定修改或更新先前传输到主机102的元数据166,则存储器系统110可以向主机102发送信号或元数据,以请求更新主机102中存储的元数据166。主机102可以响应于从存储器系统110传送的请求而更新主机存储器106中存储的元数据166。这允许主机存储器106中存储的元数据166保持为最新版本,并且即使主机控制器接口108使用主机存储器106中存储的元数据166将逻辑地址转换为要与逻辑地址一起传输到存储器系统110的物理地址,操作也可以无错误地进行。
61.主机存储器106中存储的元数据166可以包括用于将逻辑地址转换为物理地址的映射信息。参考图4,在一个实施例中,将逻辑地址与物理地址相关联的元数据可以包括两项:用于将逻辑地址转换为物理地址的第一映射信息;以及用于将物理地址转换为逻辑地址的第二映射信息。主机存储器106中存储的元数据166可以包括第一映射信息。第二映射信息可以主要用于存储器系统110的内部操作,但是可以不用于由主机102请求的用于在存储器系统110中存储数据或从存储器系统110中读取与特定逻辑地址相对应的数据的操作。在一个实施例中,第二映射信息可以不被存储器系统110传输到主机102。
62.存储器系统110中的控制器130可以控制(例如,创建、删除、更新等)第一映射信息或第二映射信息,并且可以将第一映射信息或第二映射信息存储在存储器设备150中。因为主机存储器106是易失性存储器,所以当诸如对主机102和存储器系统110的供电中断之类的事件发生时,主机存储器106中存储的元数据166可能消失。因此,控制器130可以保持主机102的主机存储器106中存储的元数据166的最新状态,并且还可以将第一映射信息或第二映射信息存储在存储器设备150中。存储在存储器设备150中的第一映射信息或第二映射信息可以是例如最近的映射信息。
63.参考图1,存储器设备150可以包括主机性能增强器(hpb)区域162和写入增强器区域164。hpb区域162和写入增强器区域164可以是指存储器设备150中的存储器块中的至少一个存储器块在功能上被指派或分配到其中的逻辑存储空间。hpb区域162可以包括与从存储器系统110传输到主机102的映射信息相对应的数据项被存储在其中的存储空间。写入增强器区域164可以包括为提高存储器系统110的写入性能而建立的存储空间。
64.为了提高由主机102请求的用于对数据项(例如,要存储在存储器系统110中的写入数据项)进行编程的操作的速度,存储器系统110可以响应于主机102的请求而建立和使用写入增强器区域164。例如,所输入的写入数据可以首先存储在写入增强器区域164中。
65.存储器设备150包括多个存储器块,其中每个存储器块包括多个存储器单元。每个存储器单元能够存储多比特数据项,以便对于每个单位面积或单位体积存储更多数据。当存储器系统110将多比特数据项编程到存储器块中时,写入操作(或编程操作)可能比用于将单比特数据项存储在存储器块中的编程操作花费更长操作时间。
66.为了提高写入操作的速度,存储器系统110可以将单比特数据项存储在存储器设备150中的、包括能够存储多比特数据项的存储器单元的存储器块中,以减少完成写入操作的时间。存储器系统110可以建立写入增强器区域164,以在存储器块的存储器单元中临时存储单比特数据项,即使该存储器单元可以存储多比特数据项。
67.写入增强器区域164可以包括至少一个存储器块。根据存储器系统110的内部操作
或相关策略或对应存储器块的操作状态(例如,p/e循环),用于将特定存储器块分配给写入增强器区域164或从写入增强器区域164释放特定存储器块的操作可以不同。根据一个实施例,可以根据存储器设备150中存储的数据量或由主机102请求的编程模式来调节写入增强器区域164中的存储器块的数目。
68.此外,存储器系统150中的至少一个存储器块可以被分配给hpb区域162。当映射信息被传输到主机102时,(读取与映射信息相对应的数据项的)读取操作的速度可以被提高,因为存储器系统110可以不为读取操作执行从逻辑地址到物理地址的地址转换。因此,可能期望的是,存储器系统110传输关于由主机102频繁使用(例如,频繁请求读取)的数据项的映射信息或映射数据项。
69.在一个实施例中,当数据项已经被编程在写入增强器区域164中的存储器块中的所有页中时(例如,当存储器块变为关闭状态时),对应存储器块可以被分配给hpb区域162,使得关于对应存储器块中存储的数据项的映射数据项可以被传输到主机102。由主机102频繁使用的数据项可能包括最近存储在存储器系统110中的数据项。因此,当存储器系统110在写入增强器区域164中的存储器块中存储数据项,并且对应存储器块变为关闭时,存储器块可以被设置为hpb区域162。控制器130可以向主机102传输关于被设置为hpb区域162的对应存储器块中的数据项的映射信息。
70.根据一个实施例,当存储器系统110进入空闲状态时,控制器130可以将写入增强器区域164中存储的数据项移动或传输到存储器设备150中的另一区域(例如,图9中的用户数据区域166等)。当将数据从写入增强器区域164移动到用户数据区域166时,控制器130可以从写入增强器区域164中的存储器块中的、数据在其中最旧地被编程的存储器块开始数据迁移。根据一个实施例,控制器130可以从写入增强器区域164中最不频繁使用或最久未被使用的存储器块执行数据迁移。
71.此外,当写入增强器区域164中的空闲块的数目不足时,控制器130可以对写入增强器区域164执行垃圾收集以进行数据迁移,并且然后仅将有效数据项移动到用户数据区域166。当垃圾收集被执行时,控制器130可以首先选择写入增强器区域164中的存储器块中的具有最少有效数据项(例如,最新数据项)的存储器块。根据一个实施例,在对被设置为hpb区域162的存储器块执行数据迁移之后,可以从hpb区域162中释放对应存储器块。
72.在下文中,描述将聚焦于可以在技术上被分类在图1所示的控制器130和存储器设备150以及图2至图4中描述的控制器130和存储器设备150中的内容。例如,将参考图3至图4描述控制器130中的闪存转换层(ftl)240。在一个实施例中,控制器130中的闪存转换层(ftl)的角色和功能可以出于存储器系统110的操作目的或性能而不同。
73.图2和图3示出了根据一个或多个实施例的可以由存储器系统110执行的一些操作。
74.参考图2,数据处理系统100可以包括主机102,主机102与诸如存储器系统110之类的存储器系统接合或耦合。例如,主机102和存储器系统110可以经由数据总线、主机电缆等彼此耦合,以执行数据通信。
75.存储器系统110可以包括存储器设备150和控制器130。存储器设备150和控制器130可以是彼此物理地分离的部件或元件。存储器设备150和控制器130可以经由至少一个数据路径连接,数据路径例如可以包括通道和/或通路。
76.根据一个实施例,存储器设备150和控制器130可以是在功能上划分的部件或元件。此外,根据一个实施例,存储器设备150和控制器130可以用单个芯片或多个芯片来实现。控制器130可以响应于从外部设备输入的请求而执行数据输入/输出操作。例如,当控制器130响应于从外部设备输入的读取请求而执行读取操作时,存储器设备150中的多个非易失性存储器单元中存储的数据被传输到控制器130。
77.如图2所示,存储器设备150可以包括多个存储器块152、154、156。存储器块152、154、156可以被理解为数据在其中通过单个擦除操作被一起移除的一组非易失性存储器单元。存储器块152、154、156可以包括页,该页可以对应于在单个编程操作期间一起存储数据或在单个读取操作期间一起输出数据的一组非易失性存储器单元。例如,一个存储器块可以包括多个页。
78.存储器设备150可以包括例如多个存储器平面或多个存储器管芯。根据一个实施例,存储器平面可以被认为是包括至少一个存储器块的逻辑分区或物理分区、能够控制包括多个非易失性存储器单元的阵列的驱动电路、以及可以临时存储输入到非易失性存储器单元的数据或从非易失性存储器单元输出的数据的缓冲器。
79.根据一个实施例,存储器管芯可以包括至少一个存储器平面。在一个实施例中,存储器管芯可以被理解为在物理上可区分的衬底上实现的部件的集合。每个存储器管芯可以通过数据路径连接到控制器130,并且例如可以包括用于与控制器130交换数据项和信号的接口。
80.根据一个实施例,存储器设备150可以包括至少一个存储器块152、154、156、至少一个存储器平面、或至少一个存储器管芯。根据存储器系统110的性能,图1所示的存储器设备150的内部配置可以不同。在另一实施例中,存储器设备150可以具有与图2所示的内部配置不同的内部配置。
81.参考图2,存储器设备150可以包括能够向存储器块152、154、156提供一个或多个电压的电压供应电路。例如,电压供应电路可以向存储器块中的非易失性存储器单元供应读取电压vrd、编程电压vprog、通过电压vpass和/或擦除电压vers。例如,在(用于读取存储器块152、154、156中的一个存储器块中的非易失性存储器单元中存储的数据的)读取操作期间,电压供应电路可以向被选择的非易失性存储器单元供应读取电压vrd。
82.在用于在存储器块152、154、156中的一个存储器块中的非易失性存储器单元中存储数据的编程操作期间,电压供应电路可以向被选择的非易失性存储器单元供应编程电压vprog。
83.在对被选择的非易失性存储器单元执行读取操作或编程操作期间,电压供应电路可以向未被选择的非易失性存储器单元供应通过电压vpass。在用于擦除存储器块152、154、156中的一个存储器块的非易失性存储器单元中存储的数据的擦除操作期间,电压供应电路可以向存储器块供应擦除电压vers。
84.存储器设备150可以基于执行哪个操作来存储关于供应给存储器块152、154、156的各种电压的信息。例如,当存储器块152、154、156中的一个存储器块中的非易失性存储器单元可以存储多比特数据时,可以使用用于识别或读取多比特数据项的读取电压vrd的多个电平。存储器设备150可以包括表格,该表格包括与读取电压vrd的和多比特数据项相对应的多个电平相对应的信息。例如,表格可以包括寄存器中存储的偏置值,其中每个偏置值
对应于读取电压vrd的特定电平。用于读取操作的读取电压vrd的偏置值的数目可以被限制在预设范围内。此外,偏置值可以被量化。
85.主机102可以包括或对应于便携式电子设备(例如,移动电话、mp3播放器、膝上型计算机等)或非便携式电子设备(例如,台式计算机、游戏机、电视机、投影仪等)。
86.主机102还可以包括至少一个操作系统(os),该os可以控制在主机102中执行的功能和操作。os可以提供和存储器系统110可操作地接合的主机102与打算在存储器系统110中存储数据的用户之间的互操作性。os可以支持与用户请求相对应的功能和操作。
87.通过示例而非限制的方式,os可以根据主机102的移动性被分类为通用操作系统和移动操作系统。根据系统要求或用户环境,通用操作系统可以分为个人操作系统和企业操作系统。与个人操作系统相比,企业操作系统可以专门用于保护和支持高性能计算。
88.移动操作系统可能受制于支持用于移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作系统。主机102可以执行与用户请求相对应的、与存储器系统110互锁的多个操作系统。主机102可以向存储器系统110传输与用户请求相对应的多个命令,从而执行与存储器系统110中的命令相对应的操作。
89.存储器系统110中的控制器130可以响应于从主机102输入的请求或命令而控制存储器设备150。例如,控制器130可以执行读取操作,以便为主机102提供从存储器设备150读取的数据项,并且控制器130可以执行写入操作(或编程操作),以便将从主机102输入的数据项存储在存储器设备150中。为了执行数据输入/输出(i/o)操作,控制器130可以控制和管理用于数据读取、数据编程、数据擦除等的内部操作。
90.根据一个实施例,控制器130可以包括主机接口132、处理器134、错误校正电路装置138、功率管理单元(pmu)140、存储器接口142、以及存储器144。在实施例之间,控制器中的部件130可以在结构、功能、操作性能和/或其他方面与图2所示的不同。例如,存储器系统110可以用各种类型的存储设备中的任何一种存储设备来实现,这些存储设备可以根据主机接口的协议与主机102电耦合。合适的存储设备的非限制性示例包括:固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、小尺寸mmc(rs-mmc)、micro-mmc、安全数字(sd)卡、mini-sd、micro-sd、通用串行总线(usb)存储设备、通用闪存(ufs)设备、紧凑型闪存(cf)卡、智能媒体(sm)卡、记忆棒等。控制器130中的部件可以基于存储器系统110的实现而被添加或省略。
91.主机102和存储器系统110可以包括用于根据一个或多个预定协议来传输和接收信号、数据项等的控制器或接口。例如,存储器系统110中的主机接口132可以包括能够向主机102传输信号、数据项等或从主机102接收信号、数据项等的装置。
92.主机接口132可以从主机102接收信号、命令(或请求)和/或数据项。例如,主机102和存储器系统110可以使用预定协议来在彼此之间传输和接收数据项。主机102和存储器系统110支持的用于发送和接收数据项的协议或接口的示例包括:通用串行总线(usb)、多媒体卡(mmc)、并行高级技术附件(pata)、小型计算机系统接口(scsi)、增强型小磁盘接口(esdi)、电子集成驱动器(ide)、外围部件互连快速(pcie)、串行附接scsi(sas)、串行高级技术附件(sata)、移动行业处理器接口(mipi)等。根据一个实施例,主机接口132是一种用于与主机102交换数据项的层,并且利用被称为主机接口层(hil)的固件实现或由被称为主机接口层(hil)的固件驱动。
93.电子集成驱动器(ide)或高级技术附件(ata)可以用作用于传输和接收数据项的接口之一,并且例如可以使用包括40根并联连接的导线的电缆来支持主机102与存储器系统110之间的数据传输和接收。当多个存储器系统110连接到单个主机102时,存储器系统110可以使用存储器系统110所连接的位置开关或拨码开关被划分为主存储器系统和一个或多个从存储器系统。被设置为主存储器系统的存储器系统110可以用作主存储器设备。ide(ata)可以包括例如fast-ata、atapi和增强型ide(eide)。
94.串行高级技术附件(sata)是一种与由电子集成驱动器(ide)设备使用的并行数据通信接口的各种ata标准兼容的串行数据通信接口。ide接口中的40根导线可以减少到sata接口中的六根导线。例如,用于ide的40个并行信号可以转换为要在彼此之间传输的用于sata的6个串行信号。sata由于其更快的数据传输和接收速率、以及其在用于数据传输和接收的主机102中的较少资源消耗而已经被广泛使用。
95.sata可以支持将多达30个外部设备连接到主机102中的单个收发器。此外,sata可以支持即使在主机102与另一设备之间的数据通信正在执行时也允许外部设备从主机102附接或分离的热插拔。因此,即使当主机102被通电时,存储器系统110也可以作为附加设备像由通用串行总线(usb)支持的设备一样被连接或断开连接。例如,在具有esata端口的主机102中,存储器系统110可以像外部硬盘一样自由分离。
96.小型计算机系统接口(scsi)是一种用于计算机、服务器和/或其他外围设备之间的连接的串行数据通信接口。与诸如ide和sata之类的其他接口相比,scsi可以提供高传输速度。在scsi中,主机102和至少一个外围设备(例如,存储器系统110)串联连接,但是主机102与每个外围设备之间的数据传输和接收可以通过并行数据通信来执行。在scsi中,容易将诸如存储器系统110之类的设备连接到主机102、或将诸如存储器系统110之类的设备从主机102断开连接。scsi可以支持将15个其他设备连接到主机102中的单个收发器。
97.串行附接scsi(sas)可以理解为scsi的串行数据通信版本。在sas中,不仅主机102和多个外围设备串联连接,而且主机102与每个外围设备之间的数据传输和接收可以以串行数据通信方案执行。sas可以支持主机102与外围设备之间通过串行电缆而非并行电缆的连接,以方便地管理使用sas的设备并且增强或提高操作可靠性和通信性能。sas可以支持将八个外部设备连接到主机102中包括的单个收发器。
98.非易失性存储器快速(nvme)可以被理解为可扩展主机控制器接口,其被设计为解决利用基于pci快速的固态存储的企业和客户端应用的需求,以提高配备有非易失性存储器系统110的主机102、服务器、计算设备等的性能和设计灵活性。pcie可以使用插槽或特定电缆来连接主机102(例如,计算设备)和存储器系统110(例如,外围设备)。例如,pcie可以使用多个引脚(例如,18个引脚、32个引脚、49个引脚、82个引脚等)和至少一根导线(例如,x1、x4、x8、x16等)来实现超过每秒数百mb(例如,250mb/s、500mb/s、984.6250mb/s、1969mb/s等)的高速数据通信。根据一个实施例,pcie方案可以实现每秒数十至数百千兆比特的带宽。使用nvme的系统可以充分利用以比硬盘更高的速度操作的非易失性存储器系统110(诸如ssd)的操作速度。
99.根据一个实施例,主机102和存储器系统110可以通过通用串行总线(usb)连接。通用串行总线(usb)是一种可扩展可热插拔的即插即用串行接口,其可以在主机102与外围设备(诸如键盘、鼠标、操纵杆、打印机、扫描仪、存储设备、调制解调器、摄像机等)之间提供成
本效益好的标准连接。多个外围设备(诸如存储器系统110)可以耦合到主机102中包括的单个收发器。
100.参考图2,错误校正电路装置138可以校正要在存储器设备150中处理(例如,从存储器设备150输出)的数据的错误位,错误校正电路装置138可以包括错误校正码(ecc)编码器和ecc解码器。ecc编码器可以对要编程在存储器设备150中的数据执行错误校正编码,以生成添加有奇偶校验位的经编码的数据,并且将经编码的数据存储在存储器设备150中。当控制器130读取存储器设备150中存储的数据时,ecc解码器可以检测和校正从存储器设备150中读取的数据中包含的错误。例如,在对从存储器设备150中读取的数据执行错误校正解码之后,错误校正电路装置138可以确定错误校正解码是否已经成功,并且输出指示信号(例如,校正成功信号或校正失败信号)。错误校正电路装置138可以使用在ecc编码过程中生成的奇偶校验位来校正读取数据的错误位。当错误位的数目大于或等于可校正错误位的阈值数目时,错误校正电路装置138可以不校正错误位,而是可以输出指示校正错误位失败的错误校正失败信号。
101.根据一个实施例,错误校正电路装置138可以基于编码调制来执行错误校正操作。示例包括低密度奇偶校验(ldpc)码、bose-chaudhuri-hocquenghem(bch)码、turbo码、reed-solomon(rs)码、卷积码、递归系统码(rsc)、网格码调制(tcm)、块编码调制(bcm)等。错误校正电路装置138可以包括用于基于上述码中的至少一个码来执行错误校正操作的所有电路、模块、系统和/或设备。
102.例如,ecc解码器可以对从存储器设备150传输的数据执行硬判决解码或软判决解码。硬判决解码可以包括通过从存储器设备150中的非易失性存储器单元中读取“0”或“1”的数字数据来校正错误的操作。因为硬判决解码处理二进制逻辑信号,所以与软判决解码相比,电路/算法设计或配置可以更简单并且处理速度可以更快。
103.软判决解码可以将存储器设备150中的非易失性存储器单元的阈值电压量化为两个或更多个量化值(例如,多比特数据、近似值、模拟值等),以便基于两个或更多个量化值校正错误。控制器130可以从存储器设备150中的多个非易失性存储器单元接收两个或更多个字母或量化值,并且然后可以基于通过将量化值表征为诸如条件概率或可能性之类的信息的组合而生成的信息来执行解码。
104.根据一个实施例,ecc解码器可以使用被设计用于软判决解码的方法中的低密度奇偶校验和生成器矩阵(ldpc-gm)码。低密度奇偶校验(ldpc)码使用如下的算法,该算法可以根据可靠性从存储器设备150中读取若干位数据的值,而不是像硬判决解码那样简单的1或0数据,并且通过消息交换迭代地重复它以提高值的可靠性。然后,这些值最终被确定为1或0数据。例如,使用ldpc码的解码算法可以理解为概率解码。
105.硬判决解码是一种从非易失性存储器单元输出的值在其中被编码为0或1的解码。与硬判决解码相比,软判决解码可以基于随机信息确定非易失性存储器单元中存储的值。关于位翻转(其可以被认为是可能在存储器设备150中发生的错误),软判决解码可以提供校正错误和恢复数据的提高的概率,以及提供已校正数据的可靠性和稳定性。ldpc-gm码可以具有如下的方案,在该方案中,内部ldgm码可以与高速ldpc码串联连结。
106.根据一个实施例,ecc解码器可以使用例如低密度奇偶校验卷积码(ldpc-cc)码用于软判决解码。ldpc-cc码可以具有如下的方案,该方案使用基于可变块长度和移位寄存器
的线性时间编码和流水线解码。
107.根据一个实施例,ecc解码器可以使用例如对数似然比turbo码(llr-tc)用于软判决解码。对数似然比(llr)可以被计算为采样值与理想值之间的距离的非线性函数。另外,turbo码(tc)可以包括二维或三维的简单码(例如,汉明(hamming)码),并且在行方向和列方向上重复解码以提高值的可靠性。
108.功率管理单元(pmu)140可以控制在控制器130中提供的电功率。pmu 140可以监测供应给存储器系统110的电功率(例如,供应给控制器130的电压),并且可以向控制器130中的部件提供电功率。pmu 140不仅可以检测电源开启或电源关闭,还可以在供应给存储器系统110的电功率不稳定时生成触发信号以使得存储器系统110能够紧急地备份当前状态。根据一个实施例,pmu 140可以包括能够积聚可以例如在紧急情况下使用的电功率的设备或部件。
109.存储器接口142可以用作用于处理在控制器130与存储器设备150之间传输的命令和数据的接口,以允许控制器130响应于从主机102输入的命令或请求而控制存储器设备150。存储器接口142可以生成用于存储器设备150的控制信号,并且在存储器设备150是闪存的情况下,存储器接口142可以在处理器134的控制下处理输入到存储器设备150的数据或从存储器设备150输出的数据。例如,当存储器设备150包括nand闪存时,存储器接口142包括nand闪存控制器(nfc)。存储器接口142可以提供用于处理控制器130与存储器设备150之间的命令和数据的接口。根据一个实施例,存储器接口142可以通过被称为闪存接口层(fil)的固件来实现或由被称为闪存接口层(fil)的固件驱动,以与存储器设备150交换数据。
110.根据一个实施例,存储器接口142可以支持开放nand闪存接口(onfi)、切换模式等,以用于与存储器设备150的数据输入/输出。例如,onfi可以使用数据路径(例如,通道、通路等),该数据路径包括能够支持以8位或16位数据为单位的双向传输和接收的至少一个信号线。控制器130与存储器设备150之间的数据通信可以通过关于异步单倍数据速率(sdr)、同步双倍数据速率(ddr)和切换双倍数据速率(ddr)的至少一个接口来实现。
111.存储器144可以是存储器系统110或控制器130中的一种工作存储器,同时存储为在存储器系统110和控制器130中的操作而发生或传送的临时数据或事务数据。例如,在读取数据被输出到主机102之前,存储器144可以响应于来自主机102的请求而临时存储从存储器设备150输出的读取数据。此外,在将写入数据编程在存储器设备150中之前,控制器130可以将从主机102输入的写入数据临时存储在存储器144中。当控制器130控制存储器设备150的操作(诸如数据读取、数据写入、数据编程、数据擦除)时,在存储器系统110的控制器130与存储器设备150之间传输或生成的数据项可以被存储在存储器144中。
112.除了读取数据或写入数据,存储器144可以存储用于在主机102与存储器设备150之间输入或输出数据的信息(例如,映射数据、读取请求、编程请求等)。根据一个实施例,存储器144可以包括命令队列、程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。控制器130可以在存储器144中为被建立以执行数据输入/输出操作的部件指派一些存储空间。例如,在存储器144中建立的写入缓冲器可以用于临时存储受制于编程操作的目标数据。
113.在一个实施例中,存储器144可以用易失性存储器来实现。例如,存储器144可以用
静态随机存取存储器(sram)、动态随机存取存储器(dram)或这两者来实现。虽然图2示出了例如控制器130内的存储器144,但实施例不限于此。存储器144可以位于控制器130内部或者位于控制器130外部并且耦合到控制器130。例如,存储器144可以由具有在存储器144与控制器130之间传输数据和/或信号的存储器接口的外部易失性存储器来体现。
114.处理器134可以控制存储器系统110的整体操作。例如,处理器134可以响应于从主机102输入的写入请求或读取请求来控制存储器设备150的编程操作或读取操作。根据一个实施例,处理器134可以执行固件或其他指令以控制存储器系统110中的编程操作或读取操作。本文中,该固件可以被称为闪存转换层(ftl)。参考图3描述ftl的示例。根据一个实施例,处理器134可以用微处理器或中央处理单元(cpu)来实现。
115.根据一个实施例,存储器系统110可以用至少一个多核处理器来实现。多核处理器是一种包括被认为是不同处理区域的两个或更多个集成核心的电路或芯片。例如,当多核处理器中的多个核心独立地驱动或执行多个闪存转换层(ftl)时,可以提高存储器系统110的数据输入/输出速度(或性能)。根据一个实施例,存储器系统110中的数据输入/输出(i/o)操作可以通过多核处理器中的不同核心独立地执行。
116.控制器130中的处理器134可以执行与从主机102输入的请求或命令相对应的操作。此外,存储器系统110可以独立于从外部设备(诸如主机102)输入的命令或请求。在一种情况下,由控制器130响应于从主机102输入的请求或命令而执行的操作可以被认为是前台操作。由控制器130独立地(例如,不管从主机102输入的请求或命令)执行的操作可以被认为是后台操作。对于存储器设备150中的数据项,控制器130可以执行用于读取、写入或编程、擦除等的前台操作或后台操作。另外,与作为从主机102传输的设置命令的设置参数命令或设置特征命令相对应的参数设置操作可以被认为是前台操作。作为无需从主机102传输的命令的后台操作,控制器130可以执行垃圾收集(gc)、损耗均衡(wl)、用于标识和处理坏块的坏块管理等。可以关于存储器设备150中的多个存储器块152、154、156来执行后台操作。
117.根据一个实施例,基本相似的操作可以作为前台操作和后台操作两者而被执行。例如,当存储器系统110响应于从主机102输入的请求或命令而执行垃圾收集(例如,手动gc)时,垃圾收集可以被认为是前台操作。当存储器系统110独立于主机102执行垃圾收集(例如,自动gc)时,垃圾收集可以被认为是后台操作。
118.当存储器设备150包括包含非易失性存储器单元的多个管芯(或多个芯片)时,控制器130可以被配置为对于从主机102输入的多个请求或命令执行并行处理,以便提高存储器系统110的性能。例如,可以在存储器设备150中的多个平面、多个管芯或多个芯片中的至少一些内划分和并行地处理所传输的请求或命令。存储器接口142可以通过至少一个通道和至少一个通路连接到存储器设备150中的多个平面、管芯或芯片。
119.当控制器130响应于与包括非易失性存储器单元的多个页相关联的请求或命令,通过每个通道或每个通路在多个管芯中分配和存储数据时,与请求或命令相对应的多个操作可以单独或并行地执行。这种处理方法或方案可以被认为是一种交错方法。因为利用交错方法操作的存储器系统110的数据输入/输出速度可以比没有利用交错方法的存储器系统的数据输入/输出速度更快,所以可以提高存储器系统110的数据i/o性能。
120.通过示例而非限制的方式,控制器130可以识别关于与存储器设备150中的多个存
储器管芯相关联的多个通道(或多个通路)的状态。控制器130可以将每个通道或每个通路的状态确定为例如忙碌状态、就绪状态、活跃状态、空闲状态、正常状态和/或异常状态中的一种状态。对于控制器通过哪个通道或通路传送指令(和/或数据)的确定可以与物理块地址相关联,例如,指令(和/或数据)被传送到哪个(哪些)管芯中。控制器130可以参考从存储器设备150传送的描述符。描述符可以包括描述关于存储器设备150的某些事物的参数块或参数页,其是具有设定格式或结构的数据。例如,描述符可以包括设备描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定经由哪个(哪些)通道或通路来交换指令或数据。
121.参考图2,存储器系统110中的存储器设备150可以包括存储器块152、154、156。存储器块152、154、156中的每个存储器块包括多个非易失性存储器单元。根据一个实施例,存储器块152、154、156可以是一起被擦除的一组非易失性存储器单元。存储器块152、154、156可以包括多个页,这些页中一个或多个页可以对应于一起被读取或编程的一组非易失性存储器单元。在一个实施例中,每个存储器块152、154、156可以具有用于高集成度的三维堆叠结构。此外,存储器设备150可以包括多个管芯,每个管芯包括多个平面,每个平面包括存储器块152、154、156。存储器设备150的配置可以针对存储器系统110的性能而不同。
122.如图2所示,存储器块152、154、156在存储器设备150中。根据可以在一个存储器单元中存储或表示的位的数目,存储器块152、154、156可以是单级单元(slc)存储器块、多级单元(mlc)存储器块等中的任何一种存储器块。slc存储器块包括由各自存储一位数据的存储器单元实现的多个页。slc存储器块可以具有高数据i/o操作性能和高耐久性。mlc存储器块包括由各自存储多比特数据项(例如,两位或更多位)的存储器单元实现的多个页。与slc存储器块相比,对于相同的空间,mlc存储器块可以具有更大的存储容量。考虑到存储容量,mlc存储器块可以是高度集成的。
123.在一个实施例中,存储器设备150可以用mlc存储器块来实现,mlc存储器块诸如是双级单元(dlc)存储器块、三级单元(tlc)存储器块、四级单元(qlc)存储器块及其组合。双级单元(dlc)存储器块可以包括由各自能够存储2位数据的存储器单元实现的多个页。三级单元(tlc)存储器块可以包括由各自能够存储3位数据的存储器单元实现的多个页。四级单元(qlc)存储器块可以包括由各自能够存储4位数据的存储器单元实现的多个页。在一个实施例中,存储器设备150可以用如下的块来实现,该块包括由各自能够存储五位或更多位数据的存储器单元实现的多个页。
124.根据一个实施例,控制器130可以使用存储器设备150中的多级单元(mlc)存储器块作为在一个存储器单元中存储一位数据的slc存储器块。多级单元(mlc)存储器块的数据输入/输出速度可能比slc存储器块的数据输入/输出速度慢。例如,当mlc存储器块用作slc存储器块时,可以减少读取操作或编程操作的裕量(margin)。当使用多级单元(mlc)存储器块作为slc存储器块(例如,图1所示的写入增强器区域164中的存储器块)时,控制器130可以利用多级单元(mlc)存储器块的更快的数据输入/输出速度。例如,控制器130可以使用mlc存储器块作为缓冲器来临时存储数据项,因为缓冲器可以使用高数据输入/输出速度以提高存储器系统110的性能。
125.此外,根据一个实施例,控制器130可以在多级单元(mlc)中多次编程数据,而无需对存储器设备150中的特定mlc存储器块执行擦除操作。非易失性存储器单元具有不支持数
据重写的特征。然而,控制器130可以使用多级单元(mlc)在其中可以存储多比特数据的特征,以便在mlc中多次编程多个1位数据。对于mlc重写操作,当1位数据被编程在非易失性存储器单元中时,控制器130可以将编程次数的数目作为单独的操作信息存储。在一个实施例中,可以在其他数据被重写在相同的非易失性存储器单元中之前,执行用于统一调节非易失性存储器单元的阈值电压的操作。
126.在一个实施例中,存储器设备150被体现为非易失性存储器,诸如闪存,例如,作为nand闪存、nor闪存等。在一个实施例中,存储器设备150可以由相变随机存取存储器(pcram)、铁电随机存取存储器(fram)、自旋转移矩随机存取存储器(stt-ram)、以及自旋转移矩磁性随机存取存储器(stt-mram)等中的至少一种存储器来实现。
127.参考图3,存储器系统中的控制器130可以与主机102和存储器设备150一起操作。如图所示,控制器130包括主机接口132、闪存转换层(ftl)240、以及先前结合图2标识的存储器接口142和存储器144。
128.根据一个实施例,图2所示的错误校正电路装置138可以被包括在闪存转换层(ftl)240中。在一个实施例中,错误校正电路装置138可以实现为被包括在控制器130中或与控制器130相关联的单独的模块、电路、固件等。
129.主机接口132可以能够处理从主机102传输的命令、数据等。通过示例而非限制的方式,主机接口132可以包括命令队列56、缓冲器管理器52和事件队列54。命令队列56可以依次存储从主机102接收的命令、数据等,并且例如按照它们被存储的顺序将它们输出到缓冲器管理器52。缓冲器管理器52可以对从命令队列56接收的命令、数据等进行分类、管理或调节。事件队列54可以依次传输用于处理从缓冲器管理器52接收的命令、数据等的事件。
130.具有相同特性的多个命令或数据(例如,读取命令或写入命令)可以从主机102被传输,或者具有不同特性的多个命令和数据可以在由主机102混合或混杂之后传输到存储器系统110。例如,可以传送用于读取数据的多个命令(读取命令),或者可以交替地向存储器系统110传输用于读取数据的命令(读取命令)和用于编程/写入数据的命令(写入命令)。主机接口132可以将从主机102传输的命令、数据等依次存储到命令队列56。此后,主机接口132可以根据已经从主机102输入的命令、数据等的特性来估计或预测控制器130将执行什么类型的内部操作。主机接口132可以至少基于命令、数据等的特性来确定命令、数据等的处理顺序以及优先级。
131.根据从主机102传输的命令、数据等的特性,主机接口132中的缓冲器管理器52被配置为确定缓冲器管理器是否应当将命令、数据等存储在存储器144中,或者缓冲器管理器是否应当将命令、数据等传送到闪存转换层(ftl)240中。事件队列54接收从缓冲器管理器52输入的事件,这些事件将由存储器系统110或控制器130响应于从主机102传输的命令、数据等而被内部地执行和处理,以便按照接收的顺序将事件传送到闪存转换层(ftl)240。
132.根据一个实施例,图3所示的闪存转换层(ftl)240可以实现多线程方案以执行数据输入/输出(i/o)操作。多线程ftl可以通过控制器130中包括的使用多线程的多核处理器来实现。
133.根据一个实施例,闪存转换层(ftl)240可以包括主机请求管理器(hrm)46、映射管理器(mm)44、状态管理器42和块管理器48。主机请求管理器(hrm)46可以管理从事件队列54输入的事件。映射管理器(mm)44可以处理或控制映射数据。状态管理器42可以执行垃圾收
集(gc)或损耗均衡(wl)。块管理器48可以对存储器设备150中的块执行命令或指令。
134.通过示例而非限制的方式,主机请求管理器(hrm)46可以使用映射管理器(mm)44和块管理器48来根据读取命令和编程命令以及从主机接口132传送的事件来处置或处理请求。主机请求管理器(hrm)46可以向映射管理器(mm)44发送查询请求,以确定与和事件一起输入的逻辑地址相对应的物理地址。主机请求管理器(hrm)46可以向存储器接口142发送读取请求和物理地址,以处理读取请求(处理事件)。在一个实施例中,主机请求管理器(hrm)46可以向块管理器48发送编程请求(写入请求),以将数据编程到存储器设备150中的特定空页(无数据),并且然后可以向映射管理器(mm)44传输与编程请求相对应的映射更新请求,以更新将逻辑-物理地址相互映射的信息中与编程数据相关的项。
135.块管理器48可以将从主机请求管理器(hrm)46、映射管理器(mm)44和/或状态管理器42传送的编程请求转换为用于存储器设备150的闪存编程请求,以管理存储器设备150中的闪存块。为了最大化或增强存储器系统110(例如,参考图2)的编程或写入性能,块管理器48可以收集编程请求,并且向存储器接口142发送用于多平面编程操作和单次编程操作的闪存编程请求。在一个实施例中,块管理器48向存储器接口142发送若干闪存编程请求,以增强或最大化多通道和多方向闪存控制器的并行处理。
136.在一个实施例中,块管理器48可以被配置为:根据有效页的数目管理存储器设备150中的块,当需要空闲块时选择和擦除没有有效页的块,并且在确定要执行垃圾收集时选择包括最少数目的有效页的块。状态管理器42可以执行垃圾收集,以将有效数据移动到空块并且擦除包含被移动的有效数据的块,使得存储器设备150可以具有足够的空闲块(没有数据的空块)。当块管理器48向状态管理器42提供关于要擦除的块的信息时,状态管理器42可以检查要擦除的块的所有闪存页以确定每个页是否有效。
137.例如,为了确定每个页的有效性,状态管理器42可以标识每个页的带外(out-of-band,oob)区域中记录的逻辑地址。为了确定每个页是否有效,状态管理器42可以将页的物理地址与从查询请求中获取的被映射到逻辑地址的物理地址进行比较。对于每个有效页,状态管理器42向块管理器48发送编程请求。当编程操作完成时,可以通过更新映射管理器44来更新映射表。
138.映射管理器44可以管理逻辑-物理映射表。映射管理器44可以处理由主机请求管理器(hrm)46或状态管理器42生成的各种请求,例如查询、更新等。映射管理器44可以将整个映射表存储在存储器设备150(例如,闪存/非易失性存储器)中,并且根据存储器144的存储容量来高速缓存映射条目。当在处理查询或更新请求时发生映射高速缓存未命中时,映射管理器44可以向存储器接口142发送读取请求,以加载存储器设备150中存储的相关映射表。当映射管理器44中的不洁的高速缓存块的数目超过某个阈值时,可以向块管理器48发送编程请求,使得产生干净的高速缓存块并且不洁的映射表可以存储在存储器设备150中。
139.当垃圾收集被执行时,状态管理器42将(多个)有效页复制到空闲块中,并且主机请求管理器(hrm)46可以针对页的相同逻辑地址编程最新版本的数据并且当前发出更新请求。当状态管理器42在(多个)有效页的复制未正常完成的状态下请求映射更新时,映射管理器44可以不执行映射表更新。这是因为当状态管理器42请求映射更新并且有效页复制稍后完成时,以旧物理信息发出映射请求。映射管理器44可以在或仅在最新映射表仍然指向旧物理地址时执行映射更新操作以确保准确性。
140.图4示出了图1至图3的控制器130的实施例。参考图2,控制器130可以包括控制器130中的闪存转换层(ftl)240,闪存转换层(ftl)240可以被划分为三层:地址转换层atl;虚拟闪存层vfl;以及闪存接口层fil。
141.例如,地址转换层atl可以将从文件系统传输的逻辑地址la转换为逻辑页地址。地址转换层atl可以执行关于逻辑地址空间的地址转换过程。例如,地址转换层atl可以基于将闪存140的逻辑页地址lpa映射到从主机传输的逻辑地址la的映射信息来执行地址转换过程。这种逻辑到逻辑地址映射信息(在下文中称为l2l映射)可以被存储在存储器设备150中存储元数据的区域中。
142.虚拟闪存层vfl可以将由地址转换层atl映射的逻辑页地址lpa转换为虚拟页地址vpa。虚拟页地址vpa可以对应于虚拟存储器设备的物理地址。例如,虚拟页地址vpa可以对应于存储器设备150中的存储器块60。如果存储器设备150中的存储器块60中存在坏块,则该坏块可以被虚拟闪存层vfl排除。
143.此外,虚拟闪存层vfl可以包括恢复算法,该恢复算法用于扫描扫描区域以恢复存储器设备150中存储的逻辑到虚拟地址映射信息(l2v映射)和用于存储用户数据的数据区域中的映射信息。恢复算法可以能够恢复逻辑到虚拟地址映射信息(l2v映射)。基于通过这种恢复算法而恢复的逻辑到虚拟地址映射信息(l2v映射),虚拟闪存层vfl可以执行关于虚拟地址空间的地址转换过程。
144.闪存接口层fil可以将虚拟闪存层vfl的虚拟页地址转换为存储器设备150的物理页地址。闪存接口层fil执行用于与存储器设备150接口连接的低级操作。例如,闪存接口层fil可以包括用于控制存储器设备150的硬件的低级驱动器、用于检查和校正从存储器设备150传输的数据中的错误的错误校正码(ecc)、以及用于执行诸如坏块管理(bbm)之类的操作的模块。
145.图5示出了在如本文中描述的数据处理系统中的主机和存储器系统中执行的读取操作的实施例。参考图1和图5,描述了当元数据166被存储在主机102的主机存储器106中时主机102请求读取存储器系统110中存储的数据的操作。
146.向主机102和存储器系统110供电,并且然后主机102和存储器系统110可以彼此接合。当主机102和存储器系统110协作时,存储器设备150中存储的元数据(l2p map)可以被传输到主机存储器106。
147.当主机102中的处理器104发出读取命令(read cmd)时,读取命令被传输到主机控制器接口108。在接收到读取命令之后,主机控制器接口108在主机存储器106中存储的元数据(l2p map)中搜索与和读取命令相对应的逻辑地址相对应的物理地址。基于主机存储器106中存储的元数据(l2p map),主机控制器接口108可以识别与逻辑地址相对应的物理地址。主机控制器接口108对与读取命令相关联的逻辑地址执行地址转换。
148.主机控制器接口108将读取命令(read cmd)连同逻辑地址以及物理地址传输到存储器系统110的控制器130。控制器130可以基于与读取命令一起传输的物理地址来访问存储器设备150。响应于读取命令(read cmd),在存储器设备150中的与物理地址相对应的位置处存储的数据可以被传输到主机存储器106。
149.在一些情况下,与读取作为易失性存储器的主机存储器106中存储的数据的操作相比,读取包括非易失性存储器的存储器设备150中存储的数据的操作可能花费更多时间。
在响应于读取命令(read cmd)而执行的上述读取操作中,由于控制器130接收物理地址以及读取命令(read cmd),因此控制器130可以跳过或省略用于搜索与从主机102提供的逻辑地址相对应的物理地址的地址转换。例如,当控制器130无法找到存储器144中用于地址转换的元数据时,控制器130可以不必从存储器设备150加载元数据或者可以替换存储器144中存储的元数据。这允许存储器系统110更快地执行由主机102请求的读取操作。
150.图6示出了根据本文中描述的实施例的在主机与存储器系统之间执行hpb数据通信的实施例。
151.参考图6,包括主机系统和通用闪存(ufs)设备的数据处理系统中的三个操作被分类和描述。这三个操作可以包括写入操作、传输映射信息的操作(hpb区域激活)、以及利用hpb条目的读取操作(hpb读取操作)。
152.首先,参考写入操作,主机系统可以生成与需要被存储在通用闪存设备中的数据项相关的写入请求(502)。主机系统利用加速写入(turbo write)模式将写入请求和数据项传输到通用闪存设备。通用闪存设备可以响应于加速写入模式而执行加速写入操作(504)。加速写入操作可以包括在参考图1描述的写入增强器区域164中编程数据的操作。
153.根据一个实施例,当主机系统利用一般写入模式而非加速写入模式传输写入请求和数据项时,通用闪存(ufs)设备不使用写入增强器区域164,而是使用用户数据区域166(例如,参考图9)来对数据项进行编程。与在用户数据区域166中编程数据的操作相比,在写入增强器区域164中编程数据的操作可以更快地完成。
154.当不请求加速写入模式时,存储器系统110可以在包括如下的存储器块的用户数据区域166中编程数据项,该存储器块包括存储多比特数据项的存储器单元。当主机系统以加速写入模式传输写入请求时,通用闪存(ufs)设备可以将与写入请求相对应的数据项编程到写入增强器区域164中,以与一般写入模式相比在更短时间内完成写入操作。
155.通用闪存设备中的写入增强器区域164中的存储器块被设置为在该存储器块(例如,slc块)中的每个存储器单元中存储单比特数据项。当以加速写入模式输入的数据项被编程在写入增强器区域164中包括的存储器块中时,当对应存储器块中的数据项已满时,存储器块可以从开放状态变为关闭状态(506)。
156.如图6所示,当写入增强器区域164中的存储器块关闭时,通用闪存设备可以将对应存储器块分配给hpb区域162(508)。在传输关于被设置为hpb区域162的存储器块中存储的数据项的映射信息之前,通用闪存设备可以向主机系统通知存储器块被添加到hpb区域162。关于存储器块被新分配给hpb区域162的指示可以被插入到根据在主机系统与通用闪存设备之间设置的协议(例如,upiu)而传输和接收的信号(例如,响应信号)中。此外,当特定存储器块从hpb区域162被释放时,通用闪存设备可以向主机系统传输关于特定存储器块已经从hpb区域162被释放的指示。
157.当主机系统从通用闪存设备接收到关于特定存储器块已经被设置在hpb区域162中的指示时,主机系统可以在主机存储器106中保留用于存储与对应存储器块相关的映射信息的空间(例如,图1所示)。根据一个实施例,主机系统可以删除或释放已经存储在主机存储器106中的、已经长时间未被使用的一些映射信息(510)。此外,当通用闪存设备传输关于特定存储器块已经从hpb区域162被释放的指示时,主机系统可以删除或释放与对应存储器块相关联的映射信息。
158.如上所述,在主机系统在主机存储器106中确保用于存储新映射信息的空间之后,主机系统可以向通用闪存设备传输用于获取与新分配给hpb区域162的存储器块相关联的映射信息(hpb条目)的请求。响应于关于映射信息的主机请求,通用闪存设备可以收集将与被设置为hpb区域162的存储器块中存储的数据项相关联的逻辑地址链接到物理地址的映射信息(例如,逻辑到物理(l2p)映射信息)。通用闪存设备可以配置映射信息(hpb条目)以传输到主机系统(512)。
159.此后,通用闪存设备可以响应于来自主机系统的主机请求而传输经配置的映射信息(hpb条目)。主机系统可以将从通用闪存设备传输的映射信息(hpb条目)存储在主机存储器106的已经预先确保的空间(hpb高速缓存区域)中(514)。
160.主机系统可以生成用于读取通用闪存设备中存储的数据项的读取请求(516)。主机系统可以检查主机存储器106的hpb高速缓存区域中存储的映射信息(hpb条目)。如果与逻辑地址相关联的映射信息(hpb条目)存储在主机存储器106中,则主机系统可以向通用闪存设备传输逻辑地址和与逻辑地址相对应的映射信息(hpb entry)以及读取请求。根据一个实施例,主机系统可以传输关于连续数据项的长度(传输长度)的信息以及读取请求。
161.在接收到读取请求之后,通用闪存设备可以执行与读取请求相对应的读取操作(518),并且然后可以向主机系统传输与和读取请求一起被传输的逻辑地址相对应的数据项。通用闪存设备可以从与读取请求一起传送的映射信息(hpb entry)中识别用于将逻辑地址链接到物理地址的映射信息(逻辑到物理(l2p)映射信息),并且可以基于所识别的映射信息来执行读取操作。
162.如果与来自主机系统的读取请求一起传输的映射信息(hpb条目)是有效的,则通用闪存设备可以省略用于地址转换的操作或从存储器设备加载映射信息以进行地址转换的操作,使得读取操作可以以用于所省略的操作的时间量更快地被完成。通用闪存设备可以向主机系统传输与读取请求相对应的数据项。然后,通用闪存设备可以向主机系统传输指示读取请求已经完成的响应信号。
163.图7示出了可以在如本文中描述的数据处理系统中的主机与存储器系统之间执行的事务的示例。
164.参考图7,主机102可以存储映射信息(map info)并且可以向存储器系统110传输包括逻辑地址lba和hpb条目(hpb entry)的读取命令。主机102可以基于从存储器系统110传输的映射信息(map info)来识别与逻辑地址lba相关联的物理地址pba,使得hpb条目(hpb entry)可以包括与逻辑地址lba相关联的物理地址pba。当在主机102中存储的映射信息中找到与和读取命令(read command)一起被传输到存储器系统110的逻辑地址lba相对应的物理地址pba时,主机102可以向存储器系统110传输读取命令(read command)。读取命令(read command)可以与逻辑地址lba和hpb条目(hpb entry)一起被传输。
165.当在由主机102存储的映射信息中没有找到与和读取命令(read command)一起被传输的逻辑地址lba相对应的物理地址pba时,主机102可以向存储器系统110仅传输包括逻辑地址lba而没有hpb条目(hpb entry)的读取命令(read command)。
166.虽然图7描述了响应于读取命令(read command)的操作作为示例,但是一个实施例可以应用于从主机102传输到存储器系统110的写入命令或擦除命令。
167.图8描述了基于实施例的主机和存储器系统的示例操作。图8示出了主机传输包括
逻辑地址lba和物理地址pba的命令以及存储器系统接收具有逻辑地址lba和物理地址pba的命令的详细操作。例如,图8所示的操作可以由如图7所示的主机102和存储器系统110执行。
168.参考图8,主机可以生成包括逻辑地址lba的命令command(812)。此后,主机可以检查与逻辑地址lba相对应的物理地址pba是否在映射信息中(814)。如果不存在物理地址pba(否,在814中),则主机可以传输包括逻辑地址lba而没有物理地址pba的命令command(818)。
169.另一方面,如果存在物理地址pba(是,在814中),则主机可以将物理地址pba添加到包括逻辑地址lba的命令command(816)。主机可以传输包括逻辑地址lba和物理地址pba的命令command(818)。
170.存储器系统可以接收从外部设备(诸如主机)传输的命令(822)。存储器系统可以检查命令是否与物理地址pba一起被提供(824)。当命令不包括物理地址pba时(否,在824中),存储器系统可以执行映射操作或地址转换,例如,搜索与和命令一起输入的逻辑地址相对应的物理地址(832)。
171.当命令包括物理地址pba时(是,在824中),存储器系统可以检查物理地址pba是否有效(826)。检查物理地址pba的有效性,以避免使用无效的物理地址pba。主机可以基于从存储器系统传送的映射信息来执行映射操作。在执行映射操作之后,主机可以向存储器系统传输具有物理地址pba的命令。
172.在一些情况下,在存储器系统向主机传输映射信息之后,可能存在对由存储器系统管理或控制的映射信息的一些改变或更新。在这种情况下,在这种改变或更新之前已经被传送到主机的映射信息不再有效,基于这样的旧的映射信息而获取的并且从主机被传送的物理地址pba也无效,并且不能用于访问数据。
173.因此,确定物理地址的有效性可以对应于确定是否已经发生对用于地址转换以获取物理地址pba的映射信息的任何改变或更新。当与命令一起被提供的物理地址pba有效时(是,在826中),存储器系统可以使用物理地址pba来执行与命令相对应的操作(830)。
174.当与命令一起被提供的物理地址pba无效时(否,在826中),存储器系统可以忽略与命令一起被提供的物理地址pba(828)。在这种情况下,存储器系统可以基于与命令一起输入的逻辑地址lba来搜索物理地址pba(832)。
175.图9示出了例如可以包括三个区域的存储器设备150的实施例。这三个区域可以包括写入增强器区域164、hpb区域162和用户数据区域166。根据一个实施例,例如,可以基于存储器设备150的内部配置或性能来调节写入增强器区域164、hpb区域162和用户数据区域166。写入增强器区域164、hpb区域162和用户数据区域166的设置可以以存储器块为单位进行。根据一个实施例,可以为存储器设备150中的每个平面或每个管芯单独建立写入增强器区域164、hpb区域162和用户数据区域166。
176.存储器设备150中的存储器块可以包括多个存储器单元,其中每个存储器单元能够存储多比特数据项。然而,根据目的和设置,存储器块中的存储器单元可以存储多比特数据项或单比特数据项。可以建立写入增强器区域164以提高在存储器系统110内执行的写入操作的性能。与在用户数据区域166中编程数据项的操作相比,在写入增强器区域164中编程数据项的操作可以更快完成。写入增强器区域164中存储的数据项可以稍后被移动到用
户数据区域166。
177.hpb区域162可以与从存储器系统110传输到主机102的映射信息相关。存储器系统110可以将存储器设备150中的一些存储器块设置为hpb区域162,并且向主机102传输关于被设置为hpb区域162的存储器块中存储的数据项的映射信息。参考图1和图6,当被设置为写入增强器区域164的存储器块关闭时,对应的存储器块可以被分配给hpb区域162。
178.根据一个实施例,当存储器块存储热数据项(例如,频繁被访问(读取或编程)的数据项)时,用户数据区域166中的存储器块可以被分配给hpb区域162。当对被设置为写入增强器区域164的存储器块执行垃圾收集时,可以从hpb区域162释放对应的存储器块。另外,根据一个实施例,如果写入增强器区域164或用户数据区域166中包括的存储器块中的存储器块中存储的数据项已经长时间未被访问或读取,则从hpb区域162释放对应的存储器块。
179.图10示出了操作存储器系统的方法的实施例。
180.参考图10,操作存储器系统110的方法可以包括将写入数据项编程在写入增强器区域164中(操作612)、监测写入增强器区域164中的哪个区域被设置为hpb区域162(操作614)、执行数据迁移或垃圾收集(操作616)、以及检查hpb区域162中包括的数据项的改变或更新(操作618)。
181.当hpb区域162中包括的数据项中的至少一些数据项被移动或迁移到存储器设备150的另一位置时,操作存储器系统110的方法可以包括经由响应向主机102传输至少一个改变后的hpb条目(操作620)。本文中,改变后的hpb条目可以包括与其物理位置(例如,物理地址)根据数据迁移、垃圾收集等而被改变或更新的数据项相关联的映射数据项。
182.然而,当没有数据项从hpb区域162被移动或迁移到存储器设备150的另一位置时,操作存储器系统110的方法可以包括向主机102传输没有hpb条目的响应(操作622)。
183.参考图9,当对应存储器块中存储的所有有效数据项被迁移或移动到另一存储器块时,可以从写入增强器区域164和hpb区域162释放被设置为写入增强器区域164和hpb区域162的存储器块。对应的块可以从写入增强器区域164和hpb区域162被释放,使得对应的块可以被视为空闲块。然而,根据一个实施例,即使hpb区域162中包括的数据项被迁移或移动到另一位置,该数据项也很可能在被迁移或移动之后被主机102频繁访问(例如,读取)。因此,存储器系统110可以向主机102传输与被迁移或移动的数据项相关联的映射数据项,并且然后主机120可以基于从存储器系统110传输的映射数据项来更新主机存储器106中存储的元数据166。因此,主机102可以向存储器系统110传输命令(例如,读取命令)以及有效物理地址。
184.映射数据项可以经由与数据迁移、垃圾收集等相关联的响应来传输。存储器系统110可以响应于从主机102输入的命令或请求而执行数据迁移、垃圾收集等。在完成数据迁移、垃圾收集等之后,存储器系统110可以向主机102传输具有状态信息(例如,通过、成功、失败、就绪等)的响应。存储器系统110可以将与被迁移或移动的数据项相关联的映射数据项插入到响应中。
185.此外,根据另一实施例,即使主机102没有传输对于垃圾收集的命令或请求,存储器系统也可以执行垃圾收集。在这种情况下,存储器系统可以在完成数据迁移之后向主机102发送具有状态信息的通知。存储器系统110可以将与被迁移或移动的数据项相关联的映射数据项插入到通知中。
186.图11示出了根据本文中描述的实施例的数据处理系统中的存储器系统的性能的示例。在图11的示例中,从完成读取操作的时间量的角度比较三种读取操作情况。
187.参考图11,存储器系统110中的控制器130可以利用高速缓存存储器来临时存储映射信息。高速缓存存储器可以是例如图1至图3的存储器144中的空间。在存储器系统110中执行的读取操作可以被分类为三种情况:第一种情况是映射信息没有被存储或加载在高速缓存存储器中(l2p高速缓存未命中),第二种情况是与和读取请求一起被输入的逻辑地址相对应的映射信息被存储或加载在高速缓存存储器中(l2p高速缓存命中),以及第三种情况是主机传输有效的映射信息(hpb l2p高速缓存命中)。
188.首先,当与和读取请求一起被传输的逻辑地址相对应的映射信息不在高速缓存存储器中时(l2p高速缓存未命中),在数据处理系统中执行的读取操作的操作裕量可以包括第一时间至第四时间。第一时间可以用于接收和识别读取请求(1)。第二时间可以用于读取存储器设备150中存储的映射信息,并且将映射信息存储在高速缓存存储器中(2a)。第三时间可以用于基于高速缓存存储器中存储的映射信息来查找与逻辑地址相对应的物理地址(2b)。第四时间可以用于基于物理地址从存储器设备150中读取数据项(3)。
189.当与和读取请求一起被输入的逻辑地址相对应的映射信息存在于高速缓存存储器中时(l2p高速缓存命中),在数据处理系统中执行的读取操作的操作裕量可以包括:用于接收和识别读取请求的第一时间(1)、用于基于高速缓存存储器中存储的映射信息来查找与逻辑地址相对应的物理地址的第三时间(2b)、以及用于基于物理地址从存储器设备150中读取数据项的第四时间(3)。当映射信息被存储或加载在高速缓存存储器中时,不需要用于从存储器设备150中读取与逻辑地址相关联的映射信息的第二时间。
190.此外,当主机向存储器系统传输映射信息(hpb l2p高速缓存命中)以及读取请求时,在数据处理系统中执行的读取操作的操作裕量可以包括主机102在主机存储器106中查找与要和读取请求一起被传输的逻辑地址相关联的映射信息所花费的第五时间(2c)。操作裕量还可以包括:用于接收和识别读取请求和映射信息的第一时间(1)、以及用于基于映射信息中的物理地址从存储器设备150中读取数据项的第四时间(3)。
191.在这种情况下,主机102在主机存储器106中查找与(要和读取请求一起被传输的)逻辑地址相关联的映射信息的第五时间不被花费在存储器系统110的内部操作上。另外,当接收和识别读取请求时,存储器系统110可以识别与读取请求一起输入的映射信息。因此,与上述两种其他情况(l2p高速缓存未命中、l2p高速缓存命中)(例如,与逻辑地址相关联的映射信息是否在高速缓存存储器中)相比,可以减少在存储器系统110中所花费的用于执行读取命令时间量。
192.根据上述实施例中的一个或多个实施例,可以为存储器系统提供数据输入/输出操作的增加的可靠性。此外,存储器系统可以具有被指派用于关于数据输入/输出操作的不同目的的多个区域,使得存储器系统可以容易地确定哪个(哪些)数据项被传输到主机,以及控制器首先访问哪个区域以执行读取操作。在一个或多个实施例中,可以提供一种存储器系统,该存储器系统可以通过向主机传输可能被主机更频繁地使用的元数据来有效地使用主机中的存储器区域作为高速缓存存储器。
193.本文中描述的方法、过程和/或操作可以由要被计算机、处理器、控制器或其他信号处理设备执行的代码或指令来执行。计算机、处理器、控制器或其他信号处理设备可以是
本文中描述的计算机、处理器、控制器或其他信号处理设备、或者可以是除了本文中描述的元件之外的元件。因为形成方法(或计算机、处理器、控制器或其他信号处理设备的操作)的基础的算法被详细描述,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备转换为用于执行本文中的方法的专用处理器。
194.当至少部分地以软件实现时,控制器、处理器、设备、模块、单元、多路复用器、发生器、逻辑、接口、解码器、驱动器、发生器以及其他信号生成和信号处理特征例如可以包括用于存储要由例如计算机、处理器、微处理器、控制器或其他信号处理设备执行的代码或指令的存储器或其他存储设备。计算机、处理器、微处理器、控制器或其他信号处理设备可以是本文中描述的计算机、处理器、微处理器、控制器或其他信号处理设备、或者可以是除了本文中描述的元件之外的元件。因为形成方法(或计算机、处理器、微处理器、控制器或其他信号处理设备的操作)的基础的算法被详细描述,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备转换为用于执行本文中描述的方法的专用处理器。
195.根据一个实施例,在权利要求中记载的逻辑可以对应于本文中描述的执行该逻辑的所记载的操作的特征中的任何一个特征或这些特征的组合。
196.虽然已经参考本公开的某些示例性实施例示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求书及其等同物限定的本公开的精神和范围的情况下,可以在其中做出形式和细节的各种改变。因此,本公开的范围不应当限于上述示例性实施例,而应当由所附权利要求及其等同物确定。
197.在上述实施例中,可以选择性地执行所有步骤,或者可以省略部分步骤。在每个实施例中,步骤不一定按照所描述的顺序被执行并且可以被重新布置。在本说明书和附图中公开的实施例仅是便于理解本公开的示例,并且本公开不限于此。也就是说,对于本领域技术人员来说清楚的是,可以在本公开的技术范围的基础上做出各种修改。
198.同时,已经在附图和说明书中描述了本公开的示例性实施例。虽然在此使用了特定术语,但这些术语仅用于解释本公开的实施例。因此,本公开不限于上述实施例,并且在本公开的精神和范围内可以有很多变化。对于本领域技术人员来说清楚的是,除了本文中公开的实施例之外,还可以在本公开的技术范围的基础上做出各种修改。可以组合实施例以形成附加的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1