用于在存储器系统中传输映射信息的装置和方法

文档序号:1296037 发布日期:2020-08-07 浏览:5次 >En<

阅读说明:本技术 用于在存储器系统中传输映射信息的装置和方法 (Apparatus and method for transferring mapping information in memory system ) 是由 边谕俊 于 2019-12-09 设计创作,主要内容包括:本公开的实施例涉及一种用于在存储器系统中传输映射信息的装置和方法。存储器系统包括:存储器设备,其包括非易失性存储器单元;以及控制器,其被配置为生成映射信息,该映射信息用于将从主机输入的逻辑地址转换为指示数据存储在存储器设备中的位置的物理地址。控制器被配置为:向主机传输映射信息中的至少一些映射信息,存储关于传输到主机的映射信息中的至少一些映射信息的日志,并在初始操作期间,基于日志向主机再次传输映射信息中的至少一些映射信息。(Embodiments of the present disclosure relate to an apparatus and method for transmitting mapping information in a memory system. The memory system includes: a memory device including a non-volatile memory cell; and a controller configured to generate mapping information for converting a logical address input from the host into a physical address indicating a location where data is stored in the memory device. The controller is configured to: the method includes transmitting at least some of the mapping information to the hosts, storing logs regarding the at least some of the mapping information transmitted to the hosts, and, during an initial operation, retransmitting at least some of the mapping information to the hosts again based on the logs.)

用于在存储器系统中传输映射信息的装置和方法

相关申请的交叉引用

本专利申请根据35U.S.C.§119(a),要求于2019年1月31日提交的韩国专利申请号10-2019-0012542的优先权,其全部公开内容通过引用并入本文。

技术领域

各种实施例涉及存储器系统,更具体地涉及用于将映射信息传输到主机或计算设备的方法和装置。

背景技术

近来,用于计算环境的范式已经转移到无处不在的计算,这使得几乎可以随时随地访问计算机系统。结果,诸如移动电话、数码相机、笔记本计算机等便携式电子设备的使用正在迅速增加。这种便携式电子设备通常使用或包括存储器系统,该存储器系统使用或嵌入至少一个存储器设备(即,数据存储器设备)。数据存储设备可以用作便携式电子设备的主存储设备或辅助存储设备。

与硬盘不同,使用非易失性半导体存储器设备的数据存储设备的优点在于:由于其不具有机械驱动部件(例如,机械臂),因此具有优异的稳定性和耐用性,并且具有高的数据访问速度和低功耗。在具有这样的优点的存储器系统的上下文中,示例性数据存储设备包括USB(通用串行总线)存储器设备、具有各种接口的存储器卡、固态驱动(SSD)等。

发明内容

本公开的一个实施例可以提供数据处理系统和用于操作数据处理系统的方法,数据处理系统包括诸如存储器系统和主机的组件和资源,并且能够基于组件和资源的使用情况,动态地分配用于在组件之间进行数据通信的多个数据路径。

附加地,本公开的一个实施例可以提供用于改进或增强存储器系统的操作或性能的方法和装置。在没有向数据处理系统的存储器系统和主机(或计算设备)供应功率后恢复供电时,存储器系统可以基于记录、日志和/或历史记录,向主机(或计算设备)传输映射信息。如本文所使用的,词语“日志”扩展到包括上面指示的记录和/或历史记录。主机(或计算设备)可以基于映射信息向存储器系统传输命令。由于连同从主机向存储器系统传输的命令一起被输入的信息,存储器系统可以减少在地址转换上花费的时间。

附加地,本公开的一个实施例可以提供一种方法或装置,该方法或装置即使在包括主机(或计算设备)和存储器系统的数据处理系统中供电或恢复供电之后,也使得主机或计算设备能够传输命令,该命令包括待读取的数据在存储器系统内的物理位置。基于记录、日志或历史记录传递映射信息的方法或装置可以更快地满足用户的请求。

在一个实施例中,存储器系统可以包括:存储器设备,该存储器设备包括非易失性存储器单元;和控制器,该控制器被配置为生成映射信息,该映射信息用于将从主机输入的逻辑地址转换为指示在存储器设备中所存储的数据的位置的物理地址。控制器可以被配置为:将映射信息中的至少一些映射信息传输到主机;存储关于映射信息中的至少一些映射信息的日志或历史记录;并在初始操作期间,基于日志或历史记录,将映射信息中的至少一些映射信息传输到主机。

作为示例而非限制,控制器可以被配置为:响应于主机的请求,传输映射信息中的至少一些映射信息。

控制器可以被配置为:发送用于向主机传输映射信息中的至少一些映射信息的询问,并基于主机关于询问的确定来传输映射信息中的至少一些映射信息。

控制器可以被配置为:执行与从主机输入的命令相对应的操作,将映射信息中的至少一些映射信息插入关于该命令的响应中,并传递包括映射信息中的至少一些映射信息的响应。

控制器可以被配置为:检查从主机输入的命令是否包括逻辑地址和物理地址;确定利用命令输入的物理地址是否有效;基于物理地址的有效性确定是否使用物理地址;以及根据物理地址的使用情况,执行与命令对应的操作。

控制器可以被配置为:在物理地址无效时忽略物理地址,并在执行命令之前,从在存储器设备中存储的映射信息中搜索与逻辑地址相对应的有效物理地址。

控制器可以被配置为:响应于能够向主机传输的映射信息的大小来确定日志或历史记录中包括的映射信息的量。

在初始操作中,控制器可以配置为:执行固件,加载引导映像(boot image),放弃控制授权并将其移交给主机,并在移交控制授权之后传递映射信息中的至少一些映射信息。

可以在关断电源之前存储日志或历史记录,并且可以在接通电源或恢复供电之后直接执行初始操作。

在一个实施例中,用于操作存储器系统的方法可以包括:生成映射信息,该映射信息用于将从主机输入的逻辑地址转换为指示在存储器设备中存储的数据的位置的物理地址;向主机传递映射信息中的至少一些映射信息;存储关于映射信息中的至少一些映射信息的日志或历史;以及在初始操作期间,基于日志或历史记录,向主机传输映射信息中的至少一些映射信息。

方法还可以包括:在传输映射信息中的至少一些映射信息之前,接收关于映射信息中的至少一些映射信息的主机命令。

方法可以进一步包括:发送用于向主机传输映射信息中的至少一些映射信息的询问。可以基于主机关于询问的确定来传输映射信息中的至少一些映射信息。

方法可以进一步包括:执行与从主机输入的命令相对应的操作;并将映射信息中的至少一些映射信息插入关于命令的响应中。可以借助响应来传输映射信息中的至少一些映射信息。

方法可以进一步包括:检查从主机输入的命令是否包括逻辑地址和物理地址;确定利用命令输入的物理地址是否有效;基于物理地址的有效性来确定物理地址的使用情况;以及根据物理地址的使用情况,执行与命令相对应的操作。

方法可以进一步包括:当物理地址无效时,忽略物理地址;以及在执行命令之前,从在存储器设备中存储的映射信息中搜索与逻辑地址相对应的有效物理地址。

方法可以进一步包括:响应于能够传输到主机的映射信息的大小,确定在日志或历史记录中包括的映射信息的量。

方法可以进一步包括:在初始操作中,执行固件;加载引导映像;并且放弃控制授权并将其移交给主机。在移交控制授权之后,可以传递映射信息中的至少一些映射信息。

在一个实施例中,数据处理系统可以包括:主机,其被配置为生成、改变或更新与数据相对应的逻辑地址;以及存储器系统,其被配置为将数据存储在借助物理地址标识的位置处,该物理地址与逻辑地址可区分。存储器系统可以被配置为:传输用于将逻辑地址转换为物理地址的映射信息中的至少一些映射信息;存储关于映射信息中的至少一些映射信息的日志或历史记录;并在初始操作期间,基于日志或历史记录,向主机传输映射信息中的至少一些映射信息。

存储器系统被配置为:检查从主机输入的命令是否包括逻辑地址和物理地址;确定利用命令输入的物理地址是否有效;基于物理地址的有效性来确定是否使用物理地址;以及根据物理地址的使用情况,执行与命令相对应的操作。

存储器系统可以被配置为:响应于能够传输到主机的映射信息的大小来确定日志或历史记录中包括的映射信息的量。

附图说明

本文的描述参考了附图,其中贯穿附图,相同的附图标记指代相同的部分,并且其中:

图1图示了根据本公开的一个实施例的用于在数据处理系统中的主机和存储器系统之间共享映射信息的方法;

图2示出了根据本公开的一个实施例的包括存储器系统的数据处理系统;

图3图示了根据本公开的一个实施例的存储器系统;

图4图示了根据本公开的一个实施例的数据处理系统中的主机和存储器系统的配置;

图5图示了根据本公开的一个实施例的数据处理系统中的主机和存储器系统的读取操作;

图6图示了根据本公开的一个实施例的数据处理系统中的主机与存储器系统之间的事务的第一示例;

图7图示了根据本公开的一个实施例的主机和存储器系统的第一操作;

图8图示了根据本公开的一个实施例的存储器系统的初始操作;

图9图示了根据本公开的一个实施例的数据处理系统中的主机与存储器系统之间的事务的第二示例;

图10图示了根据本公开的一个实施例的主机和存储器系统的第二操作;

图11图示了根据本公开的一个实施例的主机和存储器系统的第三操作;以及

图12图示了根据本公开的一个实施例的主机和存储器系统的第四操作。

具体实施方式

下面参考附图来描述本公开的各种实施例。然而,本公开的元件和特征可以不同地配置或布置来形成其他实施例,该其他实施例可以是所公开的实施例中的任一个的变型。因此,本教导不限于本文阐述的实施例。相反,提供了所描述的实施例,使得本公开是彻底和完整的,并且将本公开的范围充分传达给本教导所属领域的技术人员。注意,对“一个实施例”、“另一实施例”等的引用不一定仅意味着一个实施例,并且对任何这样的短语的不同引用不一定针对(多个)相同的实施例。

将理解,尽管术语“第一”、“第二”、“第三”等在本文中可用于标识各种元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与具有相同或相似名称的另一元件区分开。因此,在不脱离本教导的精神和范围的情况下,在一个实例中的第一元件还可以在另一实例中被称为第二或第三元件。

附图不一定按比例绘制,并且在某些情况下,可能已放大了比例来清楚地图示实施例的特征。当一个元件被称为连接或耦合至另一元件时,应当理解,前者可以直接连接或耦合至后者,或者可以经由其间的中间元件而电连接或耦合至后者。附加地,还将理解,当一个元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者还可以存在一个或多个中间元件。

本文中使用的术语仅出于描述特定实施例的目的,而不旨在限制。如本文所使用的,除非上下文另外明确指出,否则单数形式旨在包括复数形式,反之亦然。除非另外说明或从上下文清楚地理解为单数形式,否则在本申请和所附权利要求书中使用的冠词“一(a)”和“一个(an)”通常应被解释为意指“一个或多个”。

将进一步理解,当在本说明书中使用时,术语“包括(comprises/comprising)”、“包含(includes/including)”指定存在所述元件,并且不排除一个或多个其他元件的存在或附加。如本文所使用的,术语“和/或”包括一个或多个相关联的所列项的任何和所有组合。

除非另有定义,否则本文所使用的包括技术和科学术语的所有术语具有与本领域普通技术人员通常所理解的相同含义。还将理解,除非本文明确定义,否则术语(诸如在常用字典中定义的术语)应被解释为具有与其在本公开和相关技术的上下文中的含义一致的含义,而不是以理想化或过于正式的含义进行解释。

在以下描述中,阐述了许多具体细节来提供对本公开的透彻理解。可以在没有一些或所有这些具体细节的情况下实践本文公开的教导。在其他情况下,没有详细描述公知的工艺结构和/或过程,以免不必要地模糊本文所公开的教导。

还应注意,在某些情况下,如对相关领域的技术人员显而易见的,除非另有明确说明,否则结合一个实施例描述的特征或元件可以单独使用,或者可以与另一实施例的其他特征或元件组合使用。

参考附图描述了本公开的实施例,其中相同的附图标记指代相同的元件。

参考图1,描述了根据本公开的一个实施例的如何在数据处理系统中的主机和存储器系统之间共享映射信息。

参考图1,主机102和存储器系统110可以操作地接合。主机102可以包括计算设备,并且可以以移动设备、计算机、服务器等的形式实现。与主机102操作地接合的存储器系统110可以从主机102接收命令,并且响应于所接收的命令来存储或输出数据。

存储器系统110可以具有包括非易失性存储器单元的存储空间。例如,存储器系统110可以以闪速存储器、固态驱动(SSD)等的形式实现。

为了响应于主机102的请求将数据存储在包括非易失性存储器单元的存储空间中,存储器系统110可以执行映射操作,该映射操作用于将由主机102使用的文件系统与包括非易失性存储器单元的存储空间相关联。这可以被称为逻辑地址和物理地址之间的地址转换。例如,根据由主机102使用的文件系统标识数据的地址可以被称为逻辑地址或逻辑块地址,并且指示数据在包括非易失性存储器单元的存储空间中的物理位置的地址可以被称为物理地址或物理块地址。当主机102向存储器系统110发送具有逻辑地址的读取命令时,存储器系统110可以搜索与逻辑地址相对应的物理地址,然后读取并输出在由物理地址指示的物理位置中存储的数据。在这些过程期间,在存储器系统110搜索与从主机102输入的逻辑地址相对应的物理地址的同时,可以执行映射操作或地址转换。可以基于诸如映射表的映射信息来执行映射操作或地址转换,映射表可以将逻辑地址与物理地址相关联。

如果主机102可以执行由存储器系统110执行的映射操作,则可以减少存储器系统110读取和输出与由主机102传输的读取命令相对应的数据所花费的时间量。主机102可以存储和访问用于执行映射操作的映射信息中的至少一些映射信息,以便借助映射操作,将具有物理地址的读取命令传送到存储器系统110中。

参考图1,存储器系统110可以将映射信息MAP_INFO传输到主机102。接收从存储器系统110传送的映射信息MAP_INFO的主机102可以将映射信息MAP_INFO存储在在主机102中包括的存储器中。当存储器系统110将整个映射信息发送到主机102,并且主机102可以将整个映射信息存储在存储器中时,存储器系统110可以不需要写入关于所传输的映射信息的日志。然而,主机102可能难以在存储器中分配用于存储由存储器系统110生成和传送的整个映射信息的存储空间。因此,当主机具有有限的存储空间用于存储映射信息时,存储器系统110可以选择或选定与由主机102经常使用或访问的数据或逻辑地址有关的映射信息的一部分,并向主机102传输所选择或选定的映射信息。

同时,向主机102传输映射信息中的至少一些映射信息的存储器系统110可以生成关于所传输的映射信息的日志或历史记录。日志或历史记录可以具有各种格式、结构、标记、变量或类型中的一个,并且可以被存储在包括非易失性存储器单元的存储区域或存储器设备中。根据一个实施例,每当存储器系统110将映射信息传输到主机102时,日志或历史记录可以包括与所传输的映射信息有关的一类型的数据。此外,存储器系统110可以确定与可以向主机102传输的映射信息的大小相对应的、在日志或历史记录中记录的映射信息的量。例如,可以假设存储器系统110可以向主机102传输的映射信息的大小为512KB。尽管在日志或历史记录中存储器系统110可以向主机102传输多于512KB的映射信息,但是在日志或历史记录中记录的所传输的映射信息的量可以被限制为512KB。存储器系统110可以一次向主机102发送的映射信息的量可以小于主机102可以在存储器中存储的映射信息的量。例如,可以以区段为单位将映射信息传输到主机102。存储器系统110可以几次将映射信息的区段传送到主机102,并且映射信息的区段可以被连续或间歇地传输到主机102。

根据一个实施例,当存储器系统110向主机102传输多于1MB的映射信息时,主机102可以根据时间线,删除旧的映射信息(即,先前从存储器系统110传输并存储在存储器中的映射信息)。附加地,从存储器系统110向主机102传输的映射信息可以包括更新信息。因为由主机102分配以存储从存储器系统110传输的映射信息的空间包括易失性存储器单元(支持覆写),所以主机102可以在不执行擦除另一映射信息的附加操作的情况下,基于更新信息来更新映射信息。

主机102可以基于映射信息,将物理地址PBA添加到向存储器系统110传输的命令中。在映射操作中,主机102可以基于与传输到存储器系统110中的命令相对应的逻辑地址,在存储在存储器中的映射信息中搜索并找到物理地址PBA。当存在并且找到物理地址时,主机102可以将具有逻辑地址和物理地址的命令传输到存储器系统110中。

接收具有从主机102输入的逻辑地址和物理地址的命令的存储器系统110可以执行与命令相对应的命令操作。如上所述,当主机102传送与读取命令相对应的物理地址时,存储器系统110可以使用物理地址来访问和输出使用对应的物理地址在由物理地址指示的位置中存储的数据。存储器系统110可以在不执行地址转换的情况下,响应于读取命令来执行操作,使得存储器系统110可以减少花费在操作上的时间。

当没有向主机102和存储器系统110供电时,在主机102中的包括易失性存储器单元的存储器中存储的所有映射信息将丢失或消失。主机102和存储器系统110处的断电或通电可以根据用户的请求发生,或者无论用户的请求如何,甚至在不希望的情况下发生。在向主机102和存储器系统110供电时,存储器系统110可以记录关于向主机102传输的映射信息的日志或历史记录。此后,在断电之后恢复供电时,存储器系统110可以基于日志或历史记录,将映射信息传输到主机102,使得主机102可以执行映射操作并且将具有逻辑地址和物理地址的命令传输到存储器系统110。在恢复供电之后,主机102可以快速恢复与映射操作有关的操作状态,该操作状态与停止供电或不供电之前的状态基本相同。

在停止供电之前和恢复供电之后,使用包括主机102和存储器系统110的数据处理系统的用户的需求和使用模式可以是相似的或不同的。当用户的需求和使用模式没有改变时,主机102可能已尝试以高频率访问或读取相同的数据。当主机102执行关于这种数据的映射操作并且存储器系统110可以响应于利用逻辑地址和物理地址输入的读取命令而更快地输出数据时,用户很可能可以满意包括主机102和存储器系统110的数据处理系统的性能。

参考图2,描述了根据本公开的一个实施例的数据处理系统100。参考图2,数据处理系统100可以包括与存储器系统110接合或利用存储器系统110进行操作的主机102。

例如,主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子设备或者诸如台式计算机、游戏机、电视(TV)、投影仪等的电子设备。

主机102还包括至少一个操作系统(OS),该至少一个操作系统(OS)通常可以管理和控制在主机102中执行的功能和操作。OS可以提供在与存储器系统110接合的主机102和需要并使用存储器系统110的用户之间的互操作性。OS可以支持与用户的请求相对应的功能和操作。作为示例而非限制,可以根据主机102的移动性将OS分为通用操作系统和移动操作系统。通用操作系统可以根据系统要求或用户环境划分为个人操作系统和企业操作系统。包括Windows和Chrome的个人操作系统可能出于通用目的而受支持服务的约束。但是企业操作系统可以专门用于保护和支持高性能(包括Windows服务器、Linux、Unix等)。此外,移动操作系统可以包括Android、iOS、Windows Mobile等。移动操作系统可以服从针对移动性的支持服务或功能(例如,省电功能)。主机102可以包括多个操作系统。主机102可以执行与用户的请求相对应的、与存储器系统110互锁的多个操作系统。主机102可以将与用户的请求相对应的多个命令传输到存储器系统110中,从而执行与存储器系统110内的命令相对应的操作。

存储器系统110可以响应于来自主机102的请求而操作或执行特定功能或操作,并且特别地可以存储待由主机102访问的数据。存储器系统110可以用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,可以利用可以与主机102电耦合的各种类型的存储设备中的任一个来实现存储器系统110。合适的存储设备的非限制性示例包括固态驱动(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、小尺寸MMC(RS-MMC)、微型MMC、安全数字(SD)卡、小型SD卡、微型SD卡、通用串行总线(USB)存储设备、通用闪速存储(UFS)设备、紧凑型闪存(CF)卡、智能媒体(SM)卡、存储器棒等。

用于存储器系统110的存储设备可以利用易失性存储器设备(例如,动态随机存取存储器(DRAM)和静态RAM(SRAM))和/或非易失性存储器设备(例如,只读存储器(ROM)、掩码ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电型RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM或ReRAM)和闪速存储器)来实现。

存储器系统110可以包括控制器130和存储器设备150。存储器设备150可以存储待由主机102访问的数据。控制器130可以控制数据在存储器设备150中的存储。

控制器130和存储器设备150可以被集成到单个半导体设备中,单个半导体设备可以被包括在如以上示例中所讨论的各种类型的存储器系统中的任一个中。

通过示例而非限制的方式,控制器130和存储器设备150可以被集成到单个半导体设备中。控制器130和存储器设备150可以被集成到SSD中来提高操作速度。当存储器系统110用作SSD时,与利用硬盘实现的主机102相比,可以提高连接到存储器系统110的主机102的操作速度。附加地,控制器130和存储器设备150可以被集成到一个半导体设备中以形成诸如PC卡(PCMCIA)、紧凑型闪存卡(CF)的存储器卡、诸如智能媒体卡(SM、SMC)的存储器卡、存储器棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、通用闪速存储器等。

存储器系统110可以被配置为以下项的一部分:例如,计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、Web平板电脑、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字录音机、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储器、能够在无线环境下发射和接收信息的设备、配置家庭网络的各种电子设备之一、配置计算机网络的各种电子设备之一、配置远程信息处理网络的各种电子设备之一、射频身份验证(RFID)设备或配置计算系统的各种组件之一。

存储器设备150可以是非易失性存储器设备,并且即使不提供电力,也可以保留存储在其中的数据。存储器设备150可以借助写入操作存储从主机102提供的数据,同时借助读取操作向主机102提供存储在其中的数据。存储器设备150可以包括多个存储器块152、154、156,每个存储器块可以包括多个页面。多个页面中的每个页面可以包括多个存储器单元,多个字线(WL)被电耦合到多个存储器单元。存储器设备150还包括多个存储器管芯,每个存储器管芯包括多个平面,每个平面包括多个存储器块152、154、156。附加地,存储器设备150可以是非易失性存储器设备(例如,闪速存储器),其中闪速存储器可以体现为三维堆栈结构。

控制器130可以控制存储器设备150的整体操作(例如,读取、写入、编程和擦除操作)。例如,控制器130可以响应于来自主机102的请求来控制存储器设备150。控制器130可以向主机102提供从存储器设备150读取的数据。控制器130还可以将由主机102提供的数据存储到存储器设备150中。

控制器130可以包括主机接口(I/F)132、处理器134、纠错码(ECC)组件138、电源管理单元(PMU)140、存储器接口(I/F)142和存储器144,所有这些均经由内部总线操作地耦合。

主机接口132可以对由主机102提供的命令和数据进行处理,并且可以借助各种接口协议(例如,通用串行总线(USB)、多媒体卡(MMC)、外围组件互连表达(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)和集成驱动电子设备(IDE))中的至少一个接口协议与主机102通信。根据一个实施例,主机接口132是用于与主机102交换数据的组件,其可以借助被称为主机接口层(HIL)的固件来实现。

ECC组件138可以纠正在存储器设备150中待处理(例如,从存储器设备150输出)的数据的错误比特,ECC组件138可以包括ECC编码器和ECC解码器。这里,ECC编码器可以对在存储器设备150中待编程的数据进行纠错编码,以生成向其中添加奇偶校验比特的编码数据,并将编码数据存储在存储器设备150中。当控制器130读取在存储器设备150中存储的数据时,ECC解码器可以检测并纠正在从存储器设备150读取的数据中包含的错误。换言之,在对从存储器设备150读取的数据执行纠错解码之后,ECC组件138可以确定纠错解码是否成功并且输出指令信号(例如,纠正成功信号或纠正失败信号)。ECC组件138可以使用在ECC编码过程中生成的奇偶校验比特来纠正所读取的数据的错误比特。当错误比特的数目大于或等于可纠错比特的阈值数目时,ECC组件138可以不纠正错误比特,而是可以输出指示在纠正错误比特时失败的纠错失败信号。

ECC组件138可以基于诸如低密度奇偶校验(LDPC)码、Bose-Chaudhuri-Hocquenghem(BCH)码、turbo码、Reed-Solomon(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、块编码调制(BCM)等的编码调制来执行纠错操作。ECC组件138可以包括用于基于上述代码中的至少一个来执行纠错操作的所有电路、模块、系统或设备。

PMU 140可以管理在控制器130中提供的电力。

存储器接口142可以用作用于处理在控制器130和存储器设备150之间传送的命令和数据的接口,以允许控制器130响应于从主机102传递的请求来控制存储器设备150。在存储器设备150是闪速存储器时并且特别是在存储器设备150是NAND闪速存储器的情况下,存储器接口142可以生成用于存储器设备150的控制信号,并且可以在处理器134的控制下对输入到存储器设备150中或从存储器设备150输出的数据进行处理。存储器接口142可以提供用于处理控制器130和存储器设备150之间的命令和数据(例如,NAND闪存接口的操作,特别是控制器130和存储器设备150之间的操作)的接口。根据一个实施例,可以借助被称为闪存接口层(FIL)的固件来实现存储器接口142,作为用于与存储器设备150交换数据的组件。

存储器144可以支持由存储器系统110和控制器130执行的操作。存储器144可以存储针对存储器系统110和控制器130中的操作而发生或传送的临时或事务数据。响应于来自主机102的请求,控制器130可以控制存储器设备150。控制器130可以将从存储器设备150读取的数据传送到主机102中。控制器130可以将借助主机102输入的数据存储在存储器设备150内。存储器114可以用于存储数据,以供控制器130和存储器设备150来执行诸如读取操作或编程/写入操作的操作。

存储器144可以被实现为易失性存储器。可以利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实现存储器144。尽管图2图示了例如布置在控制器130内的第二存储器144,但是实施例不限于此。即,存储器144可以位于控制器130内部或外部。例如,存储器144可以由外部易失性存储器来实现,该外部易失性存储器具有在存储器144和控制器130之间传递数据和/或信号的存储器接口。

存储器144可以存储用于执行以下操作所必需的数据:诸如由主机102所请求的数据写入和数据读取和/或针对诸如如上所述的垃圾收集和损耗均衡的后台操作而在存储器设备150与控制器130之间的数据传递。根据一个实施例,为了支持存储器系统110中的操作,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。

处理器134可以利用微处理器或中央处理单元(CPU)来实现。存储器系统110可以包括一个或多个处理器134。处理器134可以控制存储器系统110的整体操作。作为示例而非限制,响应于从主机102输入的写入请求或读取请求,处理器134可以控制存储器设备150的程序操作或读取操作。根据一个实施例,处理器134可以使用或执行固件来控制存储器系统110的整体操作。本文中,固件可以被称为闪存转换层(FTL)。FTL可以执行操作作为主机102和存储器设备150之间的接口。主机102可以借助FTL将对写入和读取操作的请求传输到存储器设备150。

FTL可以管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可以加载、生成、更新或存储映射数据。因此,控制器130可以借助映射数据将从主机102输入的逻辑地址与存储器设备150的物理地址进行映射。由于地址映射操作,存储器设备150可能看起来像用于执行读取或写入操作的通用存储设备。而且,借助基于映射数据的地址映射操作,当控制器130试图更新在特定页面中存储的数据时,由于闪速存储器设备的特性,控制器130可以将经更新的数据编程在另一空页面上,并且可以使得特定页面的旧数据无效(例如,将与经更新的数据的逻辑地址相对应的物理地址从先前的特定页面更新到另一新编程的页面)。此外,控制器130可以将新数据的映射数据存储到FTL中。

例如,当在存储器设备150中执行从主机102请求的操作时,控制器130使用以微处理器或中央处理单元(CPU)等实现的处理器134。与存储器设备150接合的处理器134可以处理与从主机102输入的命令相对应的指令或命令。控制器130可以将与从主机102输入的命令相对应的命令操作(例如,与写入命令相对应的程序操作、与读取命令相对应的读取操作、与擦除/丢弃命令相对应的擦除/丢弃操作以及与设置参数命令或具有设置命令的设置特征命令相对应的参数设置操作)作为前台操作来执行。

对于另一示例,控制器130可以借助处理器134在存储器设备150上执行后台操作。作为示例而非限制,用于存储器设备150的后台操作包括将在存储器设备150中的存储器块152、154、156中的一个存储器块中存储的数据复制和存储到另一存储器块的操作(例如,垃圾收集(GC)操作)。后台操作可以包括将在存储器块152、154、156中至少一个存储器块中存储的数据移动或交换到存储器块152、154、156中的至少另一个存储器块中的操作(例如,损耗均衡(WL)操作)。在后台操作期间,控制器130可以使用处理器134将在控制器130中存储的映射数据存储到存储器设备150中的存储器块152、154、156中的至少一个存储器块(例如,映射刷新操作)。检查或搜索存储器块152、154、156中的故障块的故障块管理操作是由处理器134执行的后台操作的另一示例。

在存储器系统110中,控制器130执行与从主机102输入的多个命令相对应的多个命令操作。例如,当顺序地、随机地或交替地执行与多个程序命令相对应的多个程序操作、与多个读取命令相对应的多个读取操作、以及与多个擦除命令相对应的多个擦除操作时,控制器130可以确定多个信道(或通路(way))中用于将控制器130连接到存储器150中包括的多个存储器管芯的哪个或哪些信道或通路适于执行每个操作。控制器130可以经由所确定的用于执行每个操作的信道或通路来发送或传输数据或指令。在每个操作完成之后,包括在存储器150中的多个存储器管芯可以分别经由相同的信道或通路来传输操作结果。然后,控制器130可以将响应或确认信号传输到主机102。在一个实施例中,控制器130可以检查每个信道或每个通路的状态。响应于从主机102输入的命令,控制器130可以基于每个信道或每个通路的状态来选择至少一个信道或通路,使得可以经由所选择的(多个)信道或(多个)通路来传送与数据有关的指令和/或操作结果。

作为示例而非限制,控制器130可以识别关于多个信道(或通路)的状态,该多个信道(或通路)与在存储器设备150中包括的多个存储器管芯相关联。控制器130可以将每个信道或每个通路的状态确定为繁忙状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态之一。控制器对指令(和/或数据)借助哪个信道或通路进行传送的确定可以与物理块地址相关联(例如,指令(和/或数据)被传送到哪个(哪些)管芯)。控制器130可以参考从存储器设备150传送的描述符。描述符可以包括描述关于存储器设备150的某些内容的参数的块或页面,其是具有预定格式或结构的数据。例如,描述符可以包括设备描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定经由哪个或哪些信道或通路来交换指令或数据。

管理单元(未示出)可以被包括在处理器134中。管理单元可以对存储器设备150执行故障块管理。管理单元可以在存储器设备150中找到处于不令人满意的情况而无法进一步使用的故障存储器块,并且对故障存储器块执行故障块管理。当存储器设备150是闪速存储器(例如,NAND闪速存储器)时,由于NAND逻辑功能的特性,在写入操作期间(例如,在程序操作期间)可能发生程序故障。在故障块管理期间,可以将程序故障的存储器块或故障存储器块的数据编程到新的存储器块中。故障块可能会严重恶化具有3D堆栈结构的存储器设备150的利用效率和存储器系统110的可靠性。因此,可靠的故障块管理可以增强或改进存储器系统110的性能。

参考图3,描述了根据本公开的另一实施例的存储器系统中的控制器。控制器130与主机102和存储器设备150协作。如图所示,控制器130包括主机接口132、闪存转换层(FTL)40以及先前结合图2限定的主机接口132、存储器接口142和存储器144。

尽管未在图3中示出,但是根据一个实施例,参考图2描述的ECC单元138可以被包括在闪存转换层(FTL)40中。在另一实施例中,ECC单元138可以被实现为在控制器130中所包括的或与控制器130相关联的单独的模块、电路、固件等。

主机接口132用于处理从主机102传输的命令、数据等。作为示例而非限制,主机接口132可以包括命令队列56、缓冲器管理器52和事件队列54。命令队列56可以顺序地存储从主机102接收的命令、数据等,并且按照它们被存储的顺序将它们输出到缓冲器管理器52。缓冲器管理器52可以对从命令队列56接收的命令、数据等进行分类、管理或调整。事件队列54可以顺序地传输用于对从缓冲器管理器52接收的命令、数据等进行处理的事件。

可以从主机102传输具有相同特性的多个命令或数据(例如,读取或写入命令),或者可以将不同特性的命令和数据在被主机102混合或混杂后传输到存储器系统110。例如,可以传送用于读取数据的多个命令(读取命令),或者可以将用于读取数据的命令(读取命令)和用于编程/写入数据的命令(写入命令)交替地传输到存储器系统110。主机接口132可以将从主机102传输的命令、数据等顺序地存储到命令队列56。此后,主机接口132可以根据已从主机102输入的命令、数据等的特性来估计或预测控制器130将执行哪种内部操作。主机接口132可以至少基于它们的特性,确定命令、数据等的处理顺序和优先级。根据从主机102传输的命令、数据等的特征,主机接口132中的缓冲器管理器52被配置为确定缓冲器管理器是否应将命令、数据等存储在存储器144中,或者缓冲器管理器是否应将命令、数据等传送到闪存转换层(FTL)40中。事件队列54接收从缓冲器管理器52输入的事件,这些事件将由存储器系统110或控制器130响应于从主机102传输的命令、数据等进行内部执行和处理,以按照所接收的顺序将事件传送到闪存转换层(FTL)40中。

根据一个实施例,参考图3描述的主机接口132可以执行参考图1至图2描述的控制器130的一些功能。如图6或图9中所示,主机接口132可以在主机102中将存储器106设置为从设备,并且将存储器106添加为可由控制器130控制或使用的附加存储空间。

根据一个实施例,闪存转换层(FTL)40可以包括主机请求管理器(HRM)46、映射管理器(MM)44、状态管理器42和块管理器48。主机请求管理器(HRM)46可以管理从事件队列54输入的事件。映射管理器(MM)44可以处理或控制映射数据。状态管理器42可以执行垃圾收集(GC)或损耗均衡(WL)。块管理器48可以在存储器设备150中的块上执行命令或指令。

作为示例而非限制,主机请求管理器(HRM)46可以使用映射管理器(MM)44和块管理器48,根据从主机接口132传送的读取和编程命令以及事件来处理请求。主机请求管理器(HRM)46可以向映射数据管理器(MM)44发送询问请求,以确定与利用事件输入的逻辑地址相对应的物理地址。主机请求管理器(HRM)46可以将具有物理地址的读取请求发送到存储器接口142,以处理读取请求(处理事件)。另一方面,主机请求管理器(HRM)46可以向块管理器48发送程序请求(写入请求),以将数据编程到存储器设备150中的特定空页面(无数据),然后可以向映射管理器(MM)44传输与程序请求相对应的映射更新请求,以在将逻辑物理地址相互映射的信息中更新与编程数据有关的项。

这里,块管理器48可以将从主机请求管理器(HRM)46、映射数据管理器(MM)44和/或状态管理器42传送的程序请求转换为用于存储器设备150的闪存程序请求,以管理存储器设备150中的闪存块。为了最大化或增强存储器系统110(参见图2)的程序或写入性能,块管理器48可以收集程序请求,并向存储器接口142发送针对多个平面和单次编程操作的闪存程序请求。在一个实施例中,块管理器48向存储器接口142发送若干闪存程序请求,以增强或最大化多信道和多方向闪存控制器的并行处理。

另一方面,块管理器48可以被配置为:根据有效页面的数目来管理存储器设备150中的块,在需要空闲块时选择并擦除不具有有效页面的块,以及在确定需要垃圾收集时选择包括最少数目的有效页面的块。状态管理器42可以执行垃圾收集,以将有效数据移动到空块,并擦除包含所移动的有效数据的块,使得块管理器48可以具有足够的空闲块(没有数据的空块)。如果块管理器48向状态管理器42提供关于待擦除的块的信息,则状态管理器42可以检查待擦除的块的所有闪存页面,以确定每个页面是否有效。例如,为了确定每个页面的有效性,状态管理器42可以标识记录在每个页面的带外(OOB)区域中的逻辑地址。为了确定每个页面是否有效,状态管理器42可以将页面的物理地址与映射到从询问请求获得的逻辑地址的物理地址进行比较。状态管理器42针对每个有效页面,向块管理器48发送程序请求。当程序操作完成时,可以借助映射管理器44的更新来更新映射表。

映射管理器44可以管理逻辑物理映射表。映射管理器44可以处理由主机请求管理器(HRM)46或状态管理器42生成的诸如询问、更新等的请求。映射管理器44可以将整个映射表存储在存储器设备150(例如,闪存/非易失性存储器)中,并且根据存储器144的存储容量将映射条目进行高速缓存。当在处理询问或更新请求时发生映射高速缓存失误时,映射管理器44可以将读取请求发送到存储器接口142,以加载存储在存储器设备150中的相关映射表。当映射管理器44中的脏高速缓存块的数目超过某个阈值时,可以将程序请求发送到块管理器48,使得形成干净的高速缓存块,并且脏映射表可以被存储在存储器设备150中。

另一方面,当执行垃圾收集时,状态管理器42将(多个)有效页面复制到空闲块中,并且主机请求管理器(HRM)46可以针对页面的同一逻辑地址,对最新版本的数据进行编程,并当前发出更新请求。当状态管理器42在未正常完成(多个)有效页面的复制的状态下请求映射更新时,映射管理器44可能不执行映射表更新。这是因为,如果状态管理器42请求映射更新,并且稍后完成有效页面复制,则向映射请求发送旧的物理信息。映射管理器44可以执行映射更新操作,以仅在最新映射表仍指向旧物理地址的情况下确保准确性。

根据一个实施例,状态管理器42、映射管理器44或块管理器48中的至少一个可以包括用于执行其自己的操作的电路装置。如本公开中所使用的,术语“电路装置”指代以下所有:(a)纯硬件电路实现(例如,仅在模拟和/或数字电路装置中的实现)和(b)电路与软件(和/或固件)的组合,例如(根据需要):(i)(多个)处理器的组合,或(ii)一起工作以使得诸如移动电话或服务器的设备执行各种功能的(多个)处理器/软件(包括(多个)数字信号处理器)、软件、和(多个)存储器的各部分,以及(c)即使软件或固件实际上不存在,也需要软件或固件来进行操作的电路(例如,(多个)微处理器或(多个)微处理器的一部分)。“电路装置”的定义适用于本申请(包括任何权利要求)中该术语的所有使用。作为另一示例,如在本申请中使用的,术语“电路装置”还涵盖仅一个处理器(或多个处理器)或处理器的一部分及其(或它们的)随附软件和/或固件的实现。例如如果适用于特定的权利要求元件,则术语“电路装置”还涵盖针对存储设备的集成电路。

存储器设备150可以包括多个存储器块。根据可以在一个存储器单元中存储或表示的比特数,多个存储器块可以是任何不同类型的存储器块(例如,单级单元(SLC)存储器块、多级单元(MLC)存储器块等)。这里,SLC存储器块包括由各自存储一比特数据的存储器单元实现的多个页面。SLC存储器块可以具有较高的数据I/O操作性能和较高的耐用性。MLC存储器块包括由各自存储多比特数据(例如,两比特或更多比特)的存储器单元实现的多个页面。与SLC存储器块相比,MLC存储器块在相同的空间中可以具有更大的存储容量。考虑到存储容量,MLC存储器块可以高度集成。在一个实施例中,可以利用诸如MLC存储器块、三级单元(TLC)存储器块、四级单元(QLC)存储器块或其组合的存储器块来实现存储器设备150。MLC存储器块可以包括由各自能够存储2比特数据的存储器单元实现的多个页面。三级单元(TLC)存储器块可以包括由各自能够存储3比特数据的存储器单元实现的多个页面。四级单元(QLC)存储器块可以包括由各自能够存储4比特数据的存储器单元实现的多个页面。在另一实施例中,可以利用包括由各自能够存储五比特或更多比特的数据的存储器单元实现的多个页面的块来实现存储器设备150。

在本公开的一个实施例中,存储器设备150被实现为非易失性存储器(例如,诸如NAND闪速存储器、NOR闪速存储器等的闪速存储器)。备选地,存储器设备150可以由相变随机存取存储器(PCRAM)、铁电型随机存取存储器(FRAM)、自旋注入磁存储器(STT-RAM)、自旋转移矩磁随机存取存储器(STT-MRAM)等中的至少一个来实现。

图4和图5图示了主机中包括的一部分存储器可以用作用于存储在存储器系统中使用的元数据的高速缓存设备的情况。

参考图4,主机102可以包括处理器104、存储器106和主机控制器接口108。存储器系统110可以包括控制器130和存储器设备150。本文中,参考图4描述的控制器130和存储器设备150可以对应于参考图1至图3描述的控制器130和存储器设备150。

在下文中,主要描述可以在技术上区分的图4中所示的控制器130和存储器设备150与图1至图3中所示的控制器130和存储器设备150之间的区别。特别地,控制器130中的逻辑块160可以对应于参考图3描述的闪存转换层(FTL)40。然而,根据一个实施例,控制器130中的逻辑块160可以执行图3所示的闪存转换层(FTL)40中未描述的附加功能。

主机102可以包括处理器104和存储器106,处理器104具有比存储器系统110更高的性能,存储器106能够存储比与主机102协作的存储器系统110更大的数据量。主机102中的处理器104和存储器106在空间和可升级性方面可以具有优势。例如,处理器104和存储器106可以具有比存储器系统110中的处理器134和存储器144更少的空间限制。处理器104和存储器106可以是可替换的,以升级它们的性能,这与存储器系统110中的处理器134和存储器144不同。在实施例中,存储器系统110可以利用主机102拥有的资源,以提高存储器系统110的操作效率。

随着在存储器系统110中可以存储的数据量的增加,与在存储器系统110中存储的数据相对应的元数据的量也增加。当限制或制约用于将元数据加载到控制器130的存储器144中的存储容量时,所加载的元数据的量的增加可能导致控制器130的操作的操作负担。例如,由于在控制器130的存储器144中为元数据分配的空间或区域的限制中,可以加载一部分但不是全部元数据。如果所加载的元数据不包括主机102旨在访问的物理位置的特定元数据,则在所加载的元数据中的一些元数据已经被更新的情况下,控制器130必须将所加载的元数据存储回到存储器设备150中,并加载主机102旨在访问的物理位置的特定元数据。应针对控制器130来执行这些操作,以执行主机102所需的读取操作或写入操作,并且可能降低存储器系统110的性能。

主机102中所包括的存储器106的存储容量可以比控制器130中所包括的存储器144的存储容量大几十倍或几百倍。存储器系统110可以向主机102中的存储器106传递由控制器130所使用的元数据166,使得可以由存储器系统110访问主机102中的存储器106的至少一部分。存储器106的至少一部分可以用作高速缓存,以用于存储在存储器系统110中读取或写入数据所需的地址转换。在这种情况下,主机102在将逻辑地址连同请求、命令或指令传输到存储器系统110之前,基于在存储器106中存储的元数据166,将逻辑地址转换为物理地址。然后,主机102可以利用请求、命令或指令,将经转换的物理地址传输到存储器系统110。利用请求、命令或指令接收经转换的物理地址的存储器系统110可以跳过将逻辑地址转换为物理地址的内部处理,并基于所传递的物理地址来访问存储器设备150。在这种情况下,控制器130从存储器设备150加载用于地址转换的元数据的开销(例如,操作负担)可以消失,并且可以增强存储器系统110的操作效率。

另一方面,即使存储器系统110将元数据166传输到主机102,存储器系统110也可以基于元数据166(例如,元数据生成、擦除、更新等)来控制映射信息。存储器系统110中的控制器130可以根据存储器设备150的操作状态来执行诸如垃圾收集和损耗均衡的后台操作,并且可以确定物理地址(即,从主机102传递的数据待被存储在的存储器设备150中的哪个物理位置)。因为可以更改在存储器设备150中存储的数据的物理地址,并且主机102没有识别出经更改的物理地址,所以存储器系统110可以主动地控制元数据166。

在存储器系统110控制用于地址转换的元数据的同时,可以确定存储器系统110需要修改或更新先前传输到主机102的元数据166。存储器系统110可以向主机102发送信号或元数据,以请求存储在主机102中的元数据166的更新。主机102可以响应于从存储器系统110传送的请求来更新在存储器106中存储的元数据166。这允许将在主机102中的存储器106中存储的元数据166保持为最新版本,使得即使主机控制器接口108使用存储在存储器106中的元数据166,在将逻辑地址转换为物理地址的操作中以及将经转换的物理地址连同逻辑地址传输到存储器系统110的操作中不会出现问题。

同时,存储在存储器106中的元数据166可以包括用于将逻辑地址转换为物理地址的映射信息。参考图4,将逻辑地址与物理地址相关联的元数据可以包括两个可区分的项:用于将逻辑地址转换为物理地址的第一映射信息项;以及用于将物理地址转换为逻辑地址的第二映射信息项。其中,存储在存储器106中的元数据166可以包括第一映射信息。第二映射信息可以主要用于存储器系统110的内部操作,但是可以不用于由主机102请求将数据存储在存储器系统110中或从存储器系统110读取与特定逻辑地址相对应的数据的操作。根据一个实施例,第二映射信息项可能不被存储器系统110传输到主机102。

同时,存储器系统110中的控制器130可以控制(例如,创建、删除、更新等)第一映射信息项或第二映射信息项,并且将第一映射信息项或第二映射信息项存储到存储器设备150。因为主机102中的存储器106是易失性存储器的类型,所以当诸如中断对主机102和存储器系统110的供电的事件发生时,存储在存储器106中的元数据166可能消失。因此,存储器系统110中的控制器130不仅可以保持存储在主机102的存储器106中的元数据166的最新状态,还可以将第一映射信息项或第二映射信息项的最新状态存储在存储器设备150中。

参考图4和图5,描述了当元数据166存储在主机102的存储器106中时,主机102请求读取存储在存储器系统110中的数据的操作。

向主机102和存储器系统110供电,然后主机102和存储器系统110可以彼此接合。当主机102和存储器系统110协作时,存储在存储器设备150中的元数据(L2P MAP)可以被传递到主机存储器106。

当主机102中的处理器104发出读取命令(Read CMD)时,读取命令被传输到主机控制器接口108。在接收读取命令之后,主机控制器接口108搜索对应于逻辑地址的物理地址,该逻辑地址与在主机存储器106中存储的元数据(L2P MAP)中的读取命令相对应。基于存储在主机存储器106中的元数据(L2P MAP),主机控制器接口108可以识别对应于逻辑地址的物理地址。主机控制器接口108对与读取命令相关联的逻辑地址执行地址转换。

主机控制器接口108将具有逻辑地址以及物理地址的读取命令(Read CMD)传递到存储器系统110的控制器130中。控制器130可以基于利用读取命令输入的物理地址来访问存储器设备150。可以响应于读取命令(Read CMD),将存储在与存储器设备150中的物理地址相对应的位置处的数据传递到主机存储器106。

读取存储在包括非易失性存储器的存储器设备150中的数据的操作可能比读取存储在作为易失性存储器的主机存储器106等中的数据的操作花费更多的时间。在用于处理读取命令(Read CMD)的上述操作中,控制器130可以跳过或省略与从主机102输入的逻辑地址相对应的地址转换(例如,搜索和识别与逻辑地址相关联的物理地址)。例如,在地址转换中,当控制器130在存储器144中无法找到用于地址转换的元数据时,控制器130可能不必从存储器设备150加载元数据或替换存储在存储器144中的元数据。这允许存储器系统110更快地执行主机102请求的读取操作。

图6图示了根据本公开的一个实施例的数据处理系统中的主机102与存储器系统110之间的事务的第一示例。

参考图6,存储映射信息(MAP INFO)的主机102可以将包括逻辑地址LBA和物理地址PBA的读取命令传输到存储器系统110。当在主机102中存储的映射信息中找到与利用读取命令(READ COMMAND)传输到存储器系统110的逻辑地址LBA相对应的物理地址PBA时,主机102可以将具有逻辑地址LBA和物理地址PBA的读取命令(READ COMMAND)传输到存储器系统110中。然而,当在由主机102存储的映射信息中未找到与利用读取命令(READ COMMAND)传输的逻辑地址LBA相对应的物理地址PBA时,在没有物理地址PBA的情况下,主机102可以将仅包括逻辑地址LBA的读取命令(READ COMMAND)传输到存储器系统110中。

尽管作为示例,图6描述了响应于读取命令(READ COMMAND)的操作,但是本公开的一个实施例可以应用于主机102可以向存储器系统110中传递的写入命令或擦除命令。

图7图示了根据本公开的一个实施例的主机和存储器系统的第一操作。详细地,图7图示了与参考图6描述的主机102和存储器系统110类似地,主机传输包括逻辑地址LBA和物理地址PBA的命令并且存储器系统接收具有逻辑地址LBA和物理地址PBA的命令的详细操作。

参考图7,主机可以生成包括逻辑地址LBA的命令COMMAND(步骤812)。此后,主机可以检查对应于逻辑地址LBA的物理地址PBA是否在映射信息中(步骤814)。如果不存在物理地址PBA(步骤814为“否”),则主机可以传输包括逻辑地址LBA而没有物理地址PBA的命令COMMAND(步骤818)。

另一方面,如果存在物理地址PBA(步骤814为是),则主机可以将物理地址PBA添加到包括逻辑地址LBA的命令COMMAND(步骤816)。主机可以传输包括逻辑地址LBA和物理地址PBA的命令COMMAND(步骤818)。

存储器系统可以接收从外部传输的命令(步骤822)。存储器系统可以检查是否输入了具有物理地址PBA的命令(步骤824)。当未输入具有物理地址PBA的命令时(步骤824中的“否”)时,存储器系统可以执行映射操作或地址转换(例如,搜索与利用命令输入的逻辑地址相对应的物理地址)(步骤832)。

当输入了具有物理地址PBA的命令时(步骤824为是),存储器系统可以检查物理地址PBA是否有效(步骤826)。存储器系统已将映射信息传送给主机,并且主机可以基于从存储器系统传送的映射信息来执行映射操作,以将具有物理地址PBA的命令传输到存储器系统。然而,在存储器系统将映射信息传输到主机之后,可以更改并更新由存储器系统管理或控制的所传输的映射信息。当映射信息为脏时,可能无法使用从主机传送的物理地址PBA来访问数据,因此存储器系统可以确定利用命令输入的物理地址PBA是否有效,即,对应于物理地址PBA的映射信息是否已更改或更新。当利用命令输入的物理地址PBA有效时(步骤826为是),存储器系统可以使用物理地址PBA执行与命令相对应的操作(步骤830)。

当利用命令输入的物理地址PBA无效时(步骤826中为“否”),存储器系统可以忽略利用命令输入的物理地址PBA(步骤828)。在这种情况下,存储器系统可以基于利用命令输入的逻辑地址LBA来搜索物理地址PBA(步骤832)。

图8图示了根据本公开的一个实施例的存储器系统的初始操作。图8图示了在参考图1描述的操作期间,当向主机102和存储器系统110供电时,可以在存储器系统110中执行初始操作。例如,初始操作可以包括引导序列或者在供电之后在主机从存储器系统请求用户数据之前可以执行的操作。图8所示的存储器系统的操作可以根据存储器系统被安装在移动设备、笔记本计算机或诸如台式机的计算设备上而变化。

参考图8,存储器系统经由固件的操作包括:设置主题平台(步骤91)、执行硬件抽象(步骤93)、加载可引导映像(步骤95)、放弃控制并将控制移交给计算设备(该计算设备与存储器设备相关联或接合)(步骤97)、并将映射信息传递到计算设备(步骤99)。在本文中,计算设备可以包括图1至图7所示的主机102。

主题平台的设置步骤91可以通过准备用于引导操作系统(OS)的环境来执行,从而确认主题平台是否已初始化。在该步骤中,因为可以在不同的内核或平台上执行相同的可执行映像,所以应找到并识别确切的内核类型和平台。作为示例而非限制,内核的类型可以存储在协处理器的第0寄存器中。可以通过检查是否存在特定的外围设备或读取芯片中存储的信息来确定平台的类型。

附加地,根据一个实施例,在设置主题平台的步骤91中,诊断软件可以用于确定硬件组件是否有缺陷。

附加地,根据一个实施例,在设置主题平台的步骤91中,可以根据调试代码等来调试借助诊断软件找到的硬件的任何问题。

可以借助硬件抽象层(HAL)来执行硬件抽象的步骤93,HAL是借助所定义的编程接口集合隐藏硬件的软件层。作为示例而非限制,硬件抽象层(HAL)可以包括使得控制器130内的处理器能够与特定外围硬件通信的软件或驱动器。

加载可引导映像的步骤95可以包括:将用户数据区域中包括的操作系统或应用程序转发或执行到与存储器系统接合或关联的主机或计算设备。操作系统或应用程序可以是各种类型,并且根据其类型,它们的执行方式可能会有所不同。附加地,固件功能可以根据用于存储引导映像的介质类型而变化。例如,存储操作系统或应用程序的类型可以是闪存ROM文件系统(FFS)、二进制映像、通用对象文件格式(COFS)或可执行和链接格式(ELF)。

将控制移交(或传递)到与存储器系统接合的计算设备的步骤97可以由固件中包括的引导加载程序执行。移交控制的步骤(步骤97)可以包括将所识别的平台的控制从固件传递到操作系统或应用程序中的步骤。

将映射信息传递到计算设备的步骤99可以包括:在参考图1所述的通电之后,将映射从存储器系统100传递到主机102的步骤。在存储器系统110可以基于在断电之前存储的日志或历史记录选择映射信息之后,可以将所选择的映射信息传递到计算设备或主机。下面将参考图9至图12详细描述用于存储器系统将映射信息传递到计算设备或主机的操作或过程。

在供电之后的初始操作期间,用于存储器系统将映射信息传递到计算设备或主机的操作可以不同于或区别于对从主机接收的命令或指令进行处理、然后根据处理结果将映射信息传输到计算设备或主机的另一操作。存储器系统可以借助处理从计算设备或主机输入的多个命令或指令的过程来识别由计算设备或主机请求的数据的使用频率。然而,由于在响应于从计算设备或主机传输的多个命令或指令的多个操作之前执行通电之后的初始操作,因此可能难以确定存储器系统向计算设备或主机传递哪个映射信息。当存储器系统将与计算设备或主机不经常访问或使用的数据有关的映射信息传输到计算设备或主机中时,所传输的映射信息可能是无用的,即,通过在存储器系统和计算设备或主机之间共享映射信息而实现的效果可能不足或不好。然而,在本公开的一个实施例中,基于在存储器系统中存储的日志或历史记录选择的映射信息在存储器系统与计算设备或主机之间共享,从而改进或增强了包括存储器系统和计算设备或主机的数据处理系统的操作(例如,存储器系统的输入/输出(I/O)吞吐量)。

图9图示了根据本公开的一个实施例的数据处理系统中的主机与存储器系统之间的事务的第二示例。

参考图9,存储器系统110可以将映射信息(MAP INFO)传递到主机102。存储器系统110可以使用关于主机102的命令的响应RESPONSE来传递映射信息(MAP INFO)。在本文中,响应RESPONSE是在存储器系统响应于从主机102输入的命令而完全执行操作之后传输的一种消息或分组。

在一个实施例中,对用于传输映射信息的响应可能没有特别的限制。例如,存储器系统110可以通过使用与读取命令、写入命令或擦除命令相对应的响应来将映射信息传输到主机102。

存储器系统110和主机102可以根据预定协议,以特定格式设置来彼此交换命令或响应。例如,响应RESPONSE的格式可以包括基本报头、根据从主机102输入的命令的成功或失败的结果或状态、以及指示存储器系统110的操作状态的附加信息。存储器系统110可以将映射信息添加或插入到响应RESPONSE的格式中,以将映射信息传输到主机102。

图10图示了根据本公开的一个实施例的主机与存储器系统之间的第二操作。具体而言,图10图示了其中主机102首先向存储器系统110请求映射信息,然后存储器系统110响应于主机102的请求传输映射信息的操作。

参考图10,在主机102处可能需要映射信息。例如,如果主机102可以分配空间来存储映射信息,或者如果主机102期望存储器系统110响应于主机命令而更快地数据输入/输出(I/O),主机102可以向存储器系统110请求映射信息。附加地,还可以应用户的请求在主机102中生成对映射信息的需求。

主机102可以向存储器系统110请求映射信息,并且存储器系统110可以响应于来自主机102的请求来准备映射信息。在一个实施例中,主机102可以从存储器系统110请求诸如特定范围的映射信息的特定映射信息。在另一实施例中,主机102通常可以从存储器系统110请求映射信息,并且存储器系统110可以确定向主机102提供哪些映射信息。

在存储器系统110将准备的映射信息传递到主机102之后,主机102可以将所传递的映射信息存储在内部存储空间(例如,参考图4描述的存储器106)中。

使用所存储的映射信息,主机102可以以向存储器系统110传输的命令COMMAND的格式添加物理地址PBA,并传输包括物理地址PBA的命令COMMAND的格式。然后,存储器系统110可以使用从主机102利用命令COMMAND输入的物理地址PBA来执行与命令COMMAND相对应的操作。

图11图示了根据本公开的一个实施例的主机与存储器系统之间的第三操作。具体而言,图11图示了其中存储器系统110询问主机102以传输映射信息的操作,主机102确定是否允许来自存储器系统110的传输,并且主机102响应于存储器系统110的询问接收映射信息。

参考图11,存储器系统110可以通知主机102传输映射信息。主机102可以确定主机102是否可以存储与关于(从存储器系统110传送的)映射信息的传输的通知相关联的映射信息。如果主机102可以接收并存储从存储器系统110输入的映射信息,主机102可以允许存储器系统100传递映射信息。根据一个实施例,存储器系统110可以准备待传输的映射信息,然后将所准备的映射信息传输到主机102。

主机102可以将所接收的映射信息存储在内部存储空间(例如,参考图4描述的存储器106)中。主机102可以在基于所存储的映射信息执行映射操作之后,在待传输到存储器系统110的命令中包括物理地址PBA。

存储器系统110可以检查物理地址PBA是否被包括在从主机102传输的命令中,并且应用物理地址PBA来执行与命令相对应的操作。

关于映射信息的传输,主机102可以主动地执行参考图10描述的主机102和存储器系统110之间的操作。但是,存储器系统110可以主动执行参考图11描述的主机102和存储器系统110之间的操作。根据不同的实施例,存储器系统110可以不同地执行映射信息的传输。根据操作条件或环境,存储器系统102和主机110可以选择性地使用参考图10至图11描述的用于传输映射信息的方法。

图12图示了根据本公开的一个实施例的主机与存储器系统之间的第四操作。详细地,图12图示了当主机和存储器系统操作地彼此接合时,存储器系统试图向主机传输映射信息的情况。

参考图12,存储器系统可以确定与从主机传输的命令相对应的操作是否完成(步骤862)。在与命令相对应的操作完成之后,存储器系统可以在传输与命令相对应的响应之前,检查是否存在待传输至主机的映射信息(步骤864)。如果不存在待传输到主机的映射信息(步骤864为“否”),则存储器系统可以传输响应RESPONSE(步骤866),响应RESPONSE包括关于与从主机发送的命令相对应的操作是否已完成的信息(例如,成功或失败)。

当存储器系统识别待传输到主机的映射信息时(步骤864为是),存储器系统可以检查是否已做出了用于传输映射信息的通知(步骤868)。通知可以类似于参考图11描述的通知。当存储器系统将要发送映射信息但尚未预先作出关于存储器系统向主机发送映射信息的通知(步骤868为“否”)时,存储器系统可以将通知NOTICE添加到响应RESPONSE。附加地,存储器系统可以将具有通知NOTICE的响应RESPONSE传输到主机(步骤870)。

当已做出了用于询问映射信息的传输的通知NOTICE时(步骤868为是),存储器系统可以将映射信息添加到响应中(步骤872)。此后,存储器系统可以传输包括映射信息的响应(步骤874)。根据一个实施例,在存储器系统将映射信息传输到主机之前,主机可以发送用于将映射信息传输到存储器系统的许可。

主机可以接收由存储器系统传输并由主机接收的响应RESPONSE、包括通知的响应(RESPONSE WITH NOTICE)、或包括映射信息的响应(RESPOSNE WITH MAP INFO)中的至少一个(步骤842)。

主机可以验证所接收的响应是否包括通知(步骤844)。如果所接收的响应包括通知(步骤844为是),则主机可以准备接收并存储稍后可以传送的映射信息(步骤846)。此后,主机可以检查与先前传输到存储器系统的命令相对应的响应(步骤852)。例如,主机可以检查响应来确认与先前发送的命令相对应的操作在存储器系统中是成功还是失败。

当所接收的响应不包括通知时(步骤844为否),主机可以确定响应是否包括映射信息(步骤848)。当响应不包括映射信息时(步骤848为否),主机可以检查与先前传输到存储器系统的命令相对应的响应(步骤852)。

当所接收的响应包括映射信息时(步骤848为是),主机可以将响应中包括的映射信息存储在存储空间内,或更新已存储在存储空间中的映射信息(步骤850)。然后,主机可以检查与先前传输到存储器系统的命令相对应的响应(步骤852)。

基于上述实施例,存储器系统可以将映射信息传输到主机。在处理了由主机传输的命令之后,存储器系统可以利用与所传输的命令相关联的响应来传输映射信息。附加地,存储器系统可以将映射信息传输到主机,然后生成并存储关于所传输的映射信息的日志或历史记录。即使在将主机和存储器系统断电之后恢复供电,存储器系统也可以使用上述日志或历史记录将映射信息传输到主机。主机可以在基于所传输的映射信息执行映射操作或地址转换之后,将具有逻辑和物理地址的命令传输至存储器系统。借助具有逻辑和物理地址的命令,可以改进或增强存储器系统的数据输入/输出(I/O)性能。

根据本公开的实施例,数据处理系统、用于操作数据处理系统的方法以及用于控制数据处理系统中的操作的方法可以提供能够在恢复供电后的短时间内将映射信息传输至主机的存储器系统。因此,即使主机由于突然断电(SPO)等而丢失了映射信息,存储器系统也可以传输映射信息,并且主机可以恢复映射信息。主机可以使用所恢复的映射信息,并将命令连同映射信息发送到存储器系统,并且存储器系统可以省略用于地址转换的操作,以增加输入/输出(I/O)吞吐量。

在本公开的一个实施例中,存储器系统可以在断电之前存储与主机或计算设备共享的映射信息的记录、日志或历史记录。当恢复供电时,存储器系统可以基于记录、日志或历史记录来分类和传输映射信息,以共享映射信息,从而改进了存储器系统的操作效率。

附加地,根据本公开的一个实施例,当在断电之前,使用包括存储器系统和主机的数据处理系统或计算设备的用户的使用模式没有显著或剧烈改变时,在通电之后,由于可以基于使用模式选择并传输共享映射信息,因此可以改进数据处理系统的操作效率。

尽管已针对特定实施例说明和描述了本教导,但是根据本公开,对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求书限定的本公开的精神和范围的情况下,可以进行各种改变和修改。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用以收集在自主交通工具中产生的传感器数据的系统、方法及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类