预测内部操作是否可执行的存储器系统和数据处理系统

文档序号:923447 发布日期:2021-03-02 浏览:8次 >En<

阅读说明:本技术 预测内部操作是否可执行的存储器系统和数据处理系统 (Memory system and data processing system for predicting whether internal operation is executable ) 是由 李硕晙 于 2020-07-01 设计创作,主要内容包括:本公开涉及一种存储器系统,包括:存储器装置,包括多个存储块;以及控制器,适用于:基于从主机周期性输入的系统信息,周期性地生成执行信息,执行信息指示在没有从主机输入的命令的情况下,待对多个存储块执行的内部操作是否可执行;累积地存储所生成的执行信息;基于所累积的执行信息,确定内部操作在当前周期随后的周期内是否可执行;并且根据确定的结果,在随后的周期期间对多个存储块执行内部操作。(The present disclosure relates to a memory system comprising: a memory device comprising a plurality of memory blocks; and a controller adapted to: periodically generating execution information indicating whether an internal operation to be performed on the plurality of memory blocks is executable without a command input from the host, based on system information periodically input from the host; cumulatively storing the generated execution information; determining whether the internal operation is executable in a period subsequent to the current period based on the accumulated execution information; and performing an internal operation on the plurality of memory blocks during a subsequent cycle according to a result of the determination.)

预测内部操作是否可执行的存储器系统和数据处理系统

相关申请的交叉引用

本申请要求于2019年8月26日提交的申请号为10-2019-0104198的 韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并 入本文。

技术领域

各个示例性实施例涉及一种存储器系统,特别地,涉及一种能够 预测内部操作是否可执行的存储器系统和包括该存储器系统的数据处 理系统。

背景技术

近来,计算机环境范例已经转变为几乎能够随时随地访问计算机 系统的普适计算。因此,诸如移动电话、数码相机、笔记本电脑等便 携式电子装置的使用增加。这种便携式电子装置通常使用或包括使用 或嵌入至少一个存储器装置的存储器系统,即数据存储装置。数据存 储装置可以被用作便携式电子装置的主存储装置或辅助存储装置。

在计算装置中,与硬盘不同,用作非易失性半导体存储器装置的 数据存储装置的优点在于,由于没有机械驱动部件(例如,机械臂) 而具有优异的稳定性和耐久性,并且具有高数据访问速度和低功耗。 这种数据存储装置的示例包括通用串行总线(USB)存储器装置、具 有各种接口的存储卡和固态驱动器(SSD)。

发明内容

本公开的各个实施例针对存储器系统、数据处理系统和存储器系 统的操作方法,其可以尽量降低存储器系统的复杂性和性能劣化、尽 量提高存储器装置的使用效率,并在存储器装置内快速且稳定地处理 数据。

本公开的各个实施例针对存储器系统和包括该存储器系统的数据 处理系统,其可以通过基于从主机周期性输入的系统信息预测内部操 作是否可执行,来确定是否执行内部操作。

本公开的这些以及其它特征和优点不限于上述实施例,并且本公 开所属领域的技术人员将从以下结合附图的详细描述来理解这些以及 其它特征和优点。

根据本发明的实施例,一种存储器系统可以包括:存储器装置, 包括多个存储块;以及控制器,适用于:基于从主机周期性输入的系 统信息,周期性地生成执行信息,执行信息指示在没有从主机输入的 命令的情况下,待对多个存储块执行的内部操作是否可执行;累积地 存储所生成的执行信息;基于所累积的执行信息,确定内部操作在当 前周期随后的周期内是否可执行;并且根据确定的结果,在随后的周 期期间对多个存储块执行内部操作。

系统信息可以包括:指示每个周期内供电的稳定性和可持续性的 供电信息;指示每个周期内是否存在待从主机传送的命令的预约操作 信息;以及关于每个周期内主机的操作环境的操作环境信息。

当控制器确定供电在每个周期内稳定且可持续,在每个周期内不 存在待从主机传送的命令,并且操作环境是内部操作在每个周期内可 执行的环境时,控制器可以生成指示内部操作在每个周期均可执行的 执行信息。

控制器可以基于所累积的执行信息内最新的一条或多条来确定内 部操作在随后的周期内是否可执行。

控制器可以基于最新条的模式来确定内部操作在随后的周期内是 否可执行。

当控制器未检测到该模式具有任何趋向或检测到该模式指示内部 操作在随后的周期内不可执行时,控制器可以确定内部操作在随后的 周期内不可执行,并且当控制器确定内部操作在随后的周期内不可执 行时,控制器可以在随后的周期内跳过内部操作。

操作环境信息可以包括关于存储器系统的温度的信息和关于存储 器系统的移动性的信息中的至少一条。

控制器进一步可以适用于中断内部操作并响应于正在执行内部操 作时从主机输入的命令来执行操作。

当内部操作为擦除操作时,控制器进一步可以适用于管理多个存 储块之中需要擦除的块的擦除块列表;当内部操作为后台操作时,控 制器进一步可以适用于管理多个存储块之中满足后台操作的参考条件 的块的源块列表;控制器可以参照擦除块列表执行擦除操作,并且控 制器可以参照源块列表执行后台操作。

根据本发明的实施例,一种数据处理系统可以包括:适用于周期 性地生成并输出系统信息的主机;以及包括存储器装置的存储器系统, 该存储器装置包括多个存储块,并且该存储器系统适用于:基于系统 信息,周期性地生成执行信息,执行信息指示在没有从主机输入的命 令的情况下,待对多个存储块执行的内部操作是否可执行;累积地存 储所生成的执行信息;基于所累积的执行信息,确定内部操作在当前 周期随后的周期内是否可执行;并且根据确定的结果,在随后的周期 期间对多个存储块执行内部操作。

系统信息可以包括:指示每个周期内供电的稳定性和可持续性的 供电信息;指示每个周期内是否存在待从主机传送的命令的预约操作 信息;以及关于每个周期内主机的操作环境的操作环境信息。

当存储器系统确定供电在每个周期内稳定且可持续时,在每个周 期内不存在待从主机传送的命令,并且操作环境是内部操作在每个周 期内可执行的环境时,存储器系统可以生成指示内部操作在每个周期 均可执行的执行信息。

存储器系统可以基于所累积的执行信息内最新的一条或多条来确 定内部操作在随后的周期内是否可执行。

存储器系统可以基于最新条的模式来确定内部操作在随后的周期 内是否可执行。

当存储器系统未检测到该模式或检测到该模式指示内部操作在随 后的周期内不可执行时,存储器系统可以确定内部操作在随后的周期 内不可执行,并且当存储器系统确定内部操作在随后的周期内不可执 行时,存储器系统可以在随后的周期内跳过内部操作。

操作环境信息可以包括关于存储器系统的温度的信息和关于存储 器系统的移动性的信息中的至少一条。

存储器系统进一步可以适用于中断内部操作并响应于正在执行内 部操作时从主机输入的命令来执行操作。

当内部操作为擦除操作时,存储器系统进一步可以适用于管理多 个存储块之中需要擦除的块的擦除块列表;当内部操作为后台操作时, 存储器系统进一步可以适用于管理多个存储块之中满足后台操作的参 考条件的块的源块列表;存储器系统可以参照擦除块列表执行擦除操 作,并且存储器系统可以参照源块列表执行后台操作。

主机进一步可以适用于在存储器系统处于睡眠模式时,将睡眠模 式改变为唤醒模式,然后将系统信息输出至存储器系统。

根据本发明的实施例,一种控制器的操作方法,该控制器用于控 制存储器装置,该操作方法可以包括:在预定的持续时间内,周期性 地收集关于每个周期期间存储器装置的内部操作的可执行性的第一信 息;并且基于所收集的第一信息的值模式,控制存储器装置来执行内 部操作,可以基于第二信息在每个周期收集第一信息,该第二信息指 示以下之中的一个或多个:每个周期内供电的稳定性和可持续性;每 个周期内待提供的命令,该命令请求存储器装置的从属操作;以及每 个周期内存储器装置的操作环境。

附图说明

图1是示出根据本发明实施例的包括存储器系统的数据处理系统 的框图。

图2是示出根据本发明实施例的包括存储器系统的数据处理系统 的示例的框图。

图3是示出根据本发明实施例的存储器系统中包括的控制器的框 图。

图4是示出根据本发明实施例的存储器系统的操作方法的示例的 表。

具体实施方式

下面参照附图更详细地描述本公开的各个示例。然而,本发明的 方面和特征可以以不同方式实现,以形成包括任意所公开任何实施例 的变化的其它实施例。因此,本发明不应被解释为限于本文阐述的实 施例。相反,提供所描述的实施例,使得本公开是彻底且完整的,并 将本公开充分传达给本发明所属领域的技术人员。贯穿本公开,相同 的附图标记在本公开的各个附图和示例中始终指代相同的部件。要注 意的是,对“实施例”、“另一实施例”等的引用不一定仅意味着一个 实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。

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

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

本文所使用的术语仅出于描述特定实施例的目的,而无意于限制 本发明。如本文所使用的,单数形式旨在包括复数形式,反之亦然, 除非上下文另外明确指出。类似地,不定冠词“一”和“一个”意味 着一个或多个,除非从语言或上下文中清楚地指示仅一个。

还将理解的是,当在说明书中使用时,术语“包括”、“包括有”、 “包含”和“包含有”指明所陈述元件的存在并且不排除一个或多个 其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或 多个相关所列出项目的任意和所有组合。

除非另有定义,否则鉴于本公开,本文所使用的包括技术和科学 术语在内的所有术语具有与本发明所属领域的普通技术人员通常理解 的相同的含义。还将理解的是,除非在本文中明确如此定义,否则诸 如在常用词典中所定义的那些的术语应当被解释为具有与在本公开和 相关领域的语境中的含义一致的含义,并且不应以理想化或过于形式 化的意义来解释。

在下面的描述中,阐述了许多具体细节,以便提供对本发明的透 彻理解。可以在没有一些或所有这些具体细节的情况下实践本发明。 在其它示例中,为了避免不必要地模糊本发明,没有详细描述公知的 工艺结构和/或过程。

还要注意的是,在一些示例中,除非另外特别指出,否则如对相 关领域的技术人员来说显而易见的,结合一个实施例描述的特征或元 件可以单独使用,或者与另一实施例的其它特征或元件组合使用。

下面参照附图详细地描述本公开的实施例,其中相同的附图标记 指代相同的元件。

图1是示出根据本发明实施例的包括存储器系统110的数据处理系 统100的框图。

例如,存储器系统110可以安装在计算装置或移动装置上,然后与 主机102连接来传送和接收数据。

参照图1,数据处理系统100包括主机102和存储器系统110。存储 器系统110包括控制器130和存储器装置150。控制器130包括执行信息 生成块1301、执行信息分析块1302和内部操作执行块1303。内部操作 执行块1303包括列表管理单元1304和内部操作执行控制单元1305。存 储器装置150包括多个存储块BLOCK<0、1、2、3、4、...>。主机102 包括系统信息生成块1021。

控制器130可以执行读取操作、编程操作、擦除操作和后台操作。 控制器130可以执行读取操作以从存储器装置150输出由主机102请求 的数据或存储器系统110中所需的数据。控制器130可以执行编程操作 以将从主机102传输的数据或在存储器系统110中生成的数据存储在存 储器装置150中。控制器130可以执行擦除操作以擦除存储在存储器装 置150中的数据。控制器130可以执行后台操作以管理存储在存储器装 置150中的数据。

存储器装置150的内部配置可以依照存储器装置150的特性、使用 存储器系统110的目的或者主机102所请求的存储器系统110的规格而 改变。

例如,存储器装置150可以被实施为非易失性存储器装置,诸如 NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻 随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存 储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机 存取存储器(STT-RAM)等。

存储器装置150可以实施为三维阵列结构。本公开的实施例可以应 用于其中电荷存储层由介电层形成的电荷撷取闪存(CTF)以及其中 电荷存储层由导电浮栅形成的闪速存储器装置。

存储器装置150被配置成从控制器130接收命令和地址等,并访问 由该地址选择的存储器单元阵列的区域。换句话说,存储器装置150 可以对由地址选择的区域执行与命令相对应的操作。

例如,存储器装置150可以执行编程操作、读取操作和擦除操作。 在这方面,存储器装置150可以在编程操作期间将数据编程到由地址选 择的区域中。在读取操作期间,存储器装置150可以从由地址选择的区 域读取数据。在擦除操作期间,存储器装置150可以擦除存储在由地址 选择的区域中的数据。

控制器130可以根据主机102的请求或不管主机102的请求来控制 存储器装置150的操作。

例如,存储器控制器130可以控制存储器装置150的写入(即编程) 操作、读取操作、擦除操作和后台操作。后台操作可以是例如垃圾收 集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。

控制器130可以通过运行固件控制存储器系统110的操作。为了控 制存储器装置150的整体操作并执行逻辑运算,控制器130可以在启动 时间期间将固件加载到存储器144中并运行该固件,或者驱动该固件。 例如,固件可以被存储在存储器装置150中,然后被加载到存储器144 中。

作为在存储器系统110中运行的程序的固件可以包括例如闪存转 换层(FTL)、主机接口层(HIL)和闪存接口层(FIL)。FTL可以在由 主机102请求的存储器系统110的逻辑地址与存储器装置150的物理地 址之间执行转换功能。HIL可以用于解释由主机102从作为存储装置的 存储器系统110请求的命令,并且将该命令传输到FTL。FIL可以将由 FTL指示的命令传输到存储器装置150。

根据本公开实施例的主机102可以周期性地生成系统信息VSENS、 OPREV和EVSENS,并将其输出到存储器系统110。例如,当周期是一 个小时时,主机102可以每小时生成系统信息VSENS、OPREV和 EVSENS并将其输出到存储器系统110。

主机102可以在生成系统信息VSENS、OPREV和EVSENS并将其 输出到存储器系统110的每个周期,检查存储器系统110是否处于唤醒 状态。当存储器系统110在该周期的初始处于睡眠状态时,主机102可 以将存储器系统110的状态改变为唤醒状态,然后将系统信息VSENS、 OPREV和EVSENS输出到存储器系统110。

系统信息VSENS、OPREV和EVSENS可以包括供电信息VSENS、 预约操作信息OPREV和操作环境信息EVSENS中的至少一种。

供电信息VSENS可以由系统信息生成块1021中包括的电源检测单 元1022生成。换句话说,电源检测单元1022可以检查在每个周期检测 到的供电状态,并将该供电状态作为供电信息VSENS输出到存储器系 统110。例如,当包括主机102的数据处理系统100是移动装置时,电源 检测单元1022可以生成与移动装置是否正在充电相对应的信息以及当 前剩余电池电量的信息,作为供电信息VSENS。

预约操作信息OPREV可以由系统信息生成块1021中包括的预约 操作管理单元1023来生成。换句话说,预约操作管理单元1023可以检 查在每个周期内是否存在待被传送到存储器系统110的主机102的预约 命令。例如,当包括主机102的数据处理系统100是移动装置时,预约 操作管理单元1023可以生成与移动装置是否具有预先预约的操作相对 应的信息以及关于是否要在每个周期内执行保留操作的信息,作为预 约操作信息OPREV。

操作环境信息EVSENS可以由系统信息生成块1021中包括的操作 环境检测单元1024生成。换句话说,操作环境检测单元1024可以检查 在每个周期检测到的主机102的操作环境,并将该操作环境作为操作环 境信息EVSENS输出到存储器系统110。例如,当包括主机102的数据 处理系统100是移动装置时,操作环境检测单元1024可以生成关于移动 装置的内部温度或外部温度的信息以及关于移动装置的移动性的信息, 作为操作环境信息EVSENS。

存储器系统110可以响应于从主机102输入的系统信息VSENS、OPREV和EVSENS来周期性地生成指示是否可以在每个周期期间对多 个存储块BLOCK<0、1、2、3、4、...>执行内部操作的执行信息OPINFO, 并将执行信息OPINFO存储为累积的执行信息OPINFO<1:N>。另外,存储器系统110可以基于在多个周期的预定持续时间期间累积的累积 的执行信息OPINFO<1:N>,来估计当前周期期间的内部操作的可执行 性,并根据估计的结果对多个存储块BLOCK<0、1、2、3、4、...>执 行内部操作。内部操作可以在存储器系统110内执行,而无需从主机102 提供任何命令或数据。例如,存储器系统110的内部操作可以是对多个 存储块BLOCK<0、1、2、3、4,...>之中需要擦除的一些块执行的擦 除操作。另外,存储器系统110的内部操作可以是对多个存储块 BLOCK<0、1、2、3、4,...>中的一些块执行的后台操作,也就是垃 圾收集操作、损耗均衡操作、读取回收操作和坏块管理操作。

具体地,包括在存储器系统110的控制器130中的执行信息生成块 1301可以响应于从主机102周期性输入的系统信息VSENS、OPREV和 EVSENS,生成指示是否可以在每个周期内对多个存储块BLOCK<0、1、 2、3、4、...>执行内部操作的执行信息OPINFO。执行信息生成块1301 可以周期性地生成一条执行信息OPINFO。

在这种情况下,系统信息VSENS、OPREV和EVSENS可以包括供 电信息VSENS、预约操作信息OPREV和操作环境信息EVSENS中的至 少一种。

因此,当通过供电信息VSENS确定每个周期的供电稳定且可持续 时,执行信息生成块1301可以确定存储器系统110的内部操作在每个周 期期间是可执行的,并且生成指示内部操作可执行的执行信息OPINFO。 换句话说,执行信息生成块1301可以通过供电信息VSENS检查主机102 在每个周期的供电状态,并通过检查的结果确定供电在每个周期期间是否稳定且可持续。

例如,当包括主机102和存储器系统110的数据处理系统100是移动 装置时,从主机102输入的供电信息VSENS中可以包括指示移动装置正 在充电以及当前剩余电池电量为80%的信息。当在每个周期输入这样 的供电信息VSENS时,执行信息生成块1301可以确定供电在每个周期 期间将是稳定且可持续的。因此,执行信息生成块1301可以确定存储 器系统110的内部操作在每个周期是可执行的,并且生成指示内部操作 可执行的执行信息OPINFO。可选地,从主机102输入的供电信息 VSENS中可以包括指示移动装置不在充电并且当前剩余电池电量为5% 的信息。当在每个周期输入这样的供电信息VSENS时,执行信息生成 块1301可以确定在每个周期期间供电不是稳定且可持续的。因此,执 行信息生成块1301可以确定存储器系统110的内部操作在每个周期是 不可执行的,并且生成指示内部操作不可执行的执行信息OPINFO。

当通过预约操作信息OPREV确定每个周期期间没有待从主机102 传送到存储器系统110的命令时,执行信息生成块1301可以确定存储器 系统110的内部操作在每个周期是可执行的,并且生成指示内部操作可 执行的执行信息OPINFO。也就是,执行信息生成块1301可以通过预约 操作信息OPREV检查在每个周期主机102中是否存在待被传送到存储器系统110的预约命令,并检查待执行该命令的时间点。当没有命令或 检查到即使有命令,也不在每个周期内执行该命令时,执行信息生成 块1301可以确定存储器系统110的内部操作在每个周期期间是可执行 的,并生成指示内部操作可执行的执行信息OPINFO。

当通过操作环境信息EVSENS确定操作环境是存储器系统110的 内部操作在每个周期可执行的环境时,执行信息生成块1301可以生成 指示内部操作可执行的执行信息OPINFO。换句话说,执行信息生成块 1301可以通过操作环境信息EVSENS检查在每个周期主机102的操作 环境,并通过检查的结果,确定主机102的操作环境是否为存储器系统 110的内部操作在每个周期期间可执行的环境。

例如,当包括主机102和存储器系统110的数据处理系统100是移动 装置时,从主机102输入的操作环境信息EVSENS中可以包括指示移动 装置的内部温度或外部温度为25度以及移动装置不在移动的信息。当 在每个周期输入这样的操作环境信息EVSENS时,执行信息生成块 1301可以确定操作环境是存储器系统110的内部操作在每个周期期间 可执行的环境。因此,执行信息生成块1301可以确定存储器系统110的 内部操作在每个周期期间是可执行的,并且生成指示内部操作可执行 的执行信息OPINFO。可选地,从主机102输入的操作环境信息EVSENS 中可以包括指示移动装置的内部温度或外部温度为55度以及移动装置 正在移动的信息。当在每个周期输入这样的操作环境信息EVSENS时, 执行信息生成块1301可以确定操作环境是存储器系统110的内部操作 在每个周期期间不可执行的环境。因此,执行信息生成块1301可以确 定存储器系统110的内部操作在每个周期期间是不可执行的,并且生成 指示内部操作不可执行的执行信息OPINFO。

以上描述例示了执行信息生成块1301响应于供电信息VSENS、预 约操作信息OPREV和操作环境信息EVSENS中的任意一个来生成执行 信息OPINFO。这仅仅是为了便于描述而提供的本公开的实施例,作为 另一示例,执行信息生成块1301还可以响应于供电信息VSENS、预约 操作信息OPREV和操作环境信息EVSENS中的至少两个来执行生成执 行信息OPINFO的操作。执行信息生成块1301还可以响应于所有的供电 信息VSENS、预约操作信息OPREV和操作环境信息EVSENS来执行生 成执行信息OPINFO的操作。换句话说,当通过供电信息VSENS确定 供电在每个周期期间稳定且可持续,通过预约操作信息确定在每个周 期期间都不存在要从主机102传送的命令,并且通过操作环境信息 EVSENS确定操作环境是可以执行内部操作的环境时,存储器系统110 的控制器130可以确定在存储器系统110中内部操作是可执行的,并且 生成指示内部操作可执行的执行信息OPINFO。

包括在存储器系统110的控制器130中的执行信息分析块1302可以 累积由执行信息生成块1301生成的执行信息OPINFO,并将累积的执行 信息OPINFO<1:N>存储在存储器装置150中。随后,执行信息分析块 1302可以分析累积的执行信息OPINFO<1:N>,并根据分析的结果对多 个存储块BLOCK<0、1、2、3、4、...>选择性地执行内部操作。在这 种情况下,执行信息分析块1302分析对应于各个周期的执行信息 OPINFO<1:N>的事实意味着存储器系统110基于在多个先前周期的预 定持续时间内累积的执行信息OPINFO<1:N>来估计内部操作在当前 周期的可执行性,并根据估计的结果选择是否在当前周期对存储器系 统110执行内部操作。

具体地,执行信息分析块1302可以不分析累积的执行信息 OPINFO<1:N>,而是将执行信息OPINFO<1:N>的值存储在存储器装置 150中,直到由执行信息生成块1301周期性地生成的累积的执行信息 OPINFO的数量变成预定数量为止。例如,当周期为1小时,执行信息 分析块1302不分析累积的执行信息OPINFO<1:N>,直到累积的执行信 息OPINFO<1:N>的数量变成24为止,由执行信息生成块1301周期性生 成的执行信息OPINFO可以被累积并存储在存储器装置150中24小时。

当累积的执行信息OPINFO<1:N>是以预定数量来累积时,执行信 息分析块1302可以检查累积的执行信息OPINFO<1:N>的值模式,根据 检查的结果,预测随后要累积的执行信息OPINFO<N+1>,并且根据预 测的结果,确定是否对存储块BLOCK<0、1、2、3、4、...>执行内部 操作。另外,当累积的执行信息OPINFO<1:N>超过预定数量时,执行信 息分析块1302可以检查累积的执行信息OPINFO<1:N>之中最近累积 的至少一些执行信息OPINFO<N-K:N>的值模式,根据检查的结果, 预测随后要累积的执行信息OPINFO<N+1>,并且根据预测的结果,确 定是否对存储块BLOCK<0、1、2、3、4、...>执行内部操作。本文中, “K”可以是小于或等于“N”的自然数。在这种情况下,当由于执行 信息OPINFO<1:N>不能无限累积,执行信息OPINFO<1:N>以预定义的 限制数量来累积时,执行信息分析块1302可以从最早累积的执行信息 开始,顺序地移除执行信息OPINFO<1:N>。

具体地,当随后待累积的执行信息OPINFO<N+1>通过累积的执行 信息OPINFO<1:N>中的至少一些执行信息OPINFO<N-K:N>的值模 式预测内部操作可执行时,执行信息分析块1302可以在随后的周期期 间启用操作启动信号OPST,从而使内部操作执行块1303可以在随后的 周期内对存储块BLOCK<0、1、2、3、4、...>执行内部操作。另外, 当在累积的执行信息OPINFO<1:N>中的至少一些执行信息 OPINFO<N-K:N>之中,指示内部操作可执行的执行信息的数量大于 指示内部操作不可执行的执行信息的数量时,执行信息分析块1302可以在随后的周期期间启用操作启动信号OPST,从而使内部操作执行块 1303可以在随后的周期内对存储块BLOCK<0、1、2、3、4、...>执行 内部操作。此外,当随后待累积的执行信息OPINFO<N+1>通过对累积 的执行信息OPINFO<1:N>的至少一些执行信息OPINFO<N-K:N>检查出的值模式预测内部操作可执行,并且在累积的执行信息OPINFO<1: N>中的至少一些执行信息OPINFO<N-K:N>之中,指示内部操作可执 行的执行信息的数量大于指示内部操作不可执行的执行信息的数量时, 执行信息分析块1302可以在随后的周期期间启用操作启动信号OPST, 从而使内部操作执行块1303可以在随后的周期内对存储块BLOCK<0、 1、2、3、4、...>执行内部操作。

可选地,当累积的执行信息OPINFO<1:N>中的至少一些执行信 息OPINFO<N-K:N>的值模式不能确定时,执行信息分析块1302可以 在随后的周期期间禁用操作启动信号OPST,从而使内部操作执行块 1303不能在随后的周期内对存储块BLOCK<0、1、2、3、4、...>执行 内部操作。另外,当随后待累积的执行信息OPINFO<N+1>通过对累积 的执行信息OPINFO<1:N>中的至少一些执行信息OPINFO<N-K:N> 检查出的值模式指示内部操作不可执行时,执行信息分析块1302可以 在随后的周期期间禁用操作启动信号OPST,从而使内部操作执行块 1303不能在随后的周期内对存储块BLOCK<0、1、2、3、4、...>执行 内部操作。此外,当在累积的执行信息OPINFO<1:N>中的至少一些 执行信息OPINFO<N-K:N>之中,指示内部操作不可执行的执行信息 的数量大于指示内部操作可执行的执行信息的数量时,执行信息分析 块1302可以禁用操作启动信号OPST,从而使内部操作执行块1303不能 在随后的周期内对存储块BLOCK<0、1、2、3、4、...>执行内部操作。

内部操作执行块1303可以响应于从执行信息分析块1302输入的操 作启动信号OPST的状态,对包括在存储器装置150中的存储块 BLOCK<0、1、2、3、4、...>执行内部操作。换句话说,内部操作执 行块1303可以在从执行信息分析块1302输入的操作启动信号OPST被 启用的周期期间,对存储块BLOCK<0、1、2、3、4、...>执行内部操 作。相反,内部操作执行块1303可以在从执行信息分析块1302输入的 操作启动信号OPST被禁用的周期期间,不对存储块BLOCK<0、1、2、 3、4、...>执行内部操作。

另外,当在响应于操作启动信号OPST被启用而执行内部操作的同 时,从主机102输入命令时,内部操作执行块1303可以中断正在执行的 内部操作。换句话说,主机102可以在非预期的时间点将命令传送到存 储器系统110,并且传送命令的时间点可以是控制器130的内部操作执 行块1303正在执行内部操作的时间。在这种情况下,内部操作执行块1303可以中断正在执行的内部操作。此时,除了通过内部操作执行块 1303中断内部操作之外,控制器130还可以执行与从主机102输入的命 令相对应的操作。

包括在内部操作执行块1303中的列表管理单元1304可以以列表的 形式管理包括在存储器装置150中的存储块BLOCK<0、1、2、3、4、...> 之中、需要对其执行内部操作的块。例如,当内部操作是擦除操作时, 列表管理单元1304可以管理存储块BLOCK<0、1、2、3、4,...>之中、 需要对其执行擦除操作的块的擦除块列表。再例如,当内部操作是后 台操作时,列表管理单元1304可以管理存储块BLOCK<0、1、2、3、4,...> 之中、满足后台操作的参考条件的块的源块列表。

在操作启动信号OPST被启用的周期期间,内部操作执行块1303中 包括的内部操作执行控制单元1305可以参照从列表管理单元1304输入 的块列表BKLIST,例如擦除块列表或源块列表,对存储器装置150中 包括的存储块BLOCK<0、1、2、3、4、...>执行内部操作,例如擦除 操作或后台操作。另外,在操作启动信号OPST被禁用的周期期间,当 在对存储块BLOCK<0、1、2、3、4、...>执行内部操作的同时,从主 机102输入命令时,内部操作执行块1303可以中断正在执行的内部操作。

图2是示出根据本发明实施例的包括存储器系统的数据处理系统 的示例的框图。

参照图2,数据处理系统100可以包括与存储器系统110接合或可操 作地联接的主机102。

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

主机102还包括至少一个通常可以管理和控制在主机102中执行的 功能和操作操作系统(OS)。OS可以提供与存储器系统110接合的主机 102和存储器系统110的用户之间的互操作性。OS可以支持与用户的请 求相对应的功能和操作。作为示例而非限制,根据主机102的移动性, OS可以包括通用操作系统和移动操作系统。根据系统需求或用户的环 境,通用操作系统可以被分为个人操作系统和企业操作系统。包括 Windows和Chrome在内的个人操作系统可能出于通常目的而服从于支 持服务。企业操作系统可以专用于确保和支持高性能,包括Windows 服务器、Linux和Unix。此外,移动操作系统可以包括Android、iOS和Windows Mobile。移动操作系统可以服从于支持服务或用于移动性的 功能(例如,省电功能)。主机102可以包括多个操作系统。对应于用 户的请求,主机102可以与存储器系统110配合,运行多个操作系统。 主机102可以将与用户的请求相对应的多个命令传送到存储器系统110 中,从而执行与存储器系统110内的命令相对应的操作。下面参照图4 描述在存储器系统110中处理多个命令。

存储器系统110可以响应于来自主机102的请求而执行特定的功能 或操作,并且,特别地,可以存储待由主机102访问的数据。存储器系 统110可以用作主机102的主存储器系统或辅助存储器系统。存储器系 统110可以利用各种类型的存储装置中的任意一种来实施,该存储器系 统可以根据主机接口的协议与主机102电联接。合适的存储装置的非限 制性示例包括固态驱动器(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时,与存储器 系统110连接的主机102的运行速度可以比与硬盘连接的主机102的运 行速度提高更多。在另一实施例中,控制器130和存储器装置150可以 被集成到一个半导体装置中以形成存储卡,诸如PC卡(PCMCIA)、紧 凑型闪存卡(CF)、智能媒体卡(例如,SM、SMC)、记忆棒、多媒 体卡(例如,MMC、RS-MMC、微型MMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD、SDHC)或通用闪速存储器。

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

存储器装置150可以是非易失性存储器装置,并且即使不供应电力, 也可以保留其中存储的数据。存储器装置150可以通过写入操作存储从 主机102提供的数据,同时通过读取操作将其中存储的数据提供给主机 102。存储器装置150可以包括多个存储块152、154、156,每个存储块 可以包括多个页面。多个页面中的每一个可以包括与多条字线(WL)电联接的多个存储器单元。存储器装置150还包括多个存储器管芯,每 个存储器管芯包括多个平面,每个平面包括多个存储块152、154、156 之中的存储块。另外,存储器装置150可以是非易失性存储器装置,例 如闪速存储器,其中闪速存储器可以是三维堆叠结构。

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

控制器130可以包括全部经由内部总线可操作地联接的主机接口 (I/F)132、处理器134、错误校正码(ECC)电路138、电源管理单元 (PMU)140、存储器接口(I/F)142和存储器144。

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

ECC电路138可以校正待在存储器装置150中处理(例如,从存储 器装置150输出)的数据的错误位,其可以包括ECC编码器和ECC解码 器。这里,ECC编码器可以对待在存储器装置150中被编程的数据执行 错误校正编码,以生成添加了奇偶校验位的经编码数据,并将经编码 数据存储在存储器装置150中。当控制器130读取被存储在存储器装置 150中的数据时,ECC解码器可以检测并校正包含在从存储器装置150 读取的数据中的错误。换句话说,在对从存储器装置150读取的数据执 行错误校正解码之后,ECC电路138可以确定错误校正解码是否已经成 功并输出指令信号(例如,校正成功信号或校正失败信号)。ECC电路138可以使用在ECC编码过程期间生成的奇偶校验位,来校正所读取数 据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时, ECC电路138可以不校正错误位,而是可以输出指示校正错误位失败的 错误校正失败信号。

ECC电路138可以基于诸如低密度奇偶数校验(LDPC)码、博斯- 查德胡里-霍昆格姆(BCH)码、涡轮码、里德-所罗门(RS)码、卷 积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM) 的编码调制,执行错误校正操作。ECC电路138可以包括用于基于上述 代码中的至少一种执行错误校正操作的任何和所有电路、模块、系统 或装置。

PMU140可以管理在控制器130中提供的电力。例如,PMU140可 以检测通电和断电。另外,PMU140可以包括电源检测器。

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

存储器144可以支持由存储器系统110和控制器130执行的操作。存 储器144可以存储为存储器系统110和控制器130中的操作而生成或传 递的临时数据或交易数据。控制器130可以响应于来自主机102的请求 而控制存储器装置150。控制器130可以将从存储器装置150读取的数据 传递到主机102中。控制器130可以将通过主机102输入的数据存储在存 储器装置150内。存储器144可以用于存储控制器130和存储器装置150 执行诸如读取操作或编程/写入操作的操作所需的数据。

由以上参照图1描述的执行信息生成块1301生成的执行信息 OPINFO,可以在由执行信息分析块1302存储在存储器装置150中之前 被临时存储在存储器144中。另外,以上参照图1描述的执行信息分析 块1302可以将从存储器装置150读取的累积的执行信息OPINFO<1:N> 临时存储在存储器144中,然后分析执行信息OPINFO<1:N>的值。

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

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

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

在一些实施例中,处理器134和存储器接口单元142可以用于执行 以上参照图1描述的执行信息生成块1301、执行信息分析块1302和内部 操作执行块1303的操作。

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

例如,当执行从存储器装置150中的主机102请求的操作时,控制 器130使用处理器134。与存储器装置150接合的处理器134可以处理与 来自主机102的输入命令相对应的指令或命令。控制器130可以对应于 来自主机102的命令,执行作为命令操作的前台操作,诸如对应于写入 命令的编程操作、对应于读取命令的读取操作、对应于擦除/丢弃命令 的擦除/丢弃操作,以及对应于带有设置命令的设置参数命令或设置特 征命令的参数设置操作。

再例如,控制器130可以通过处理器134在存储器装置150上执行后 台操作。作为示例而非限制,存储器装置150的后台操作包括复制在存 储块152、154、156之中的存储块的数据,并将这些数据存储在另一存 储块中(例如,垃圾收集(GC)操作)。后台操作可以包括将存储在 存储器装置150中的存储块152、154、156的至少一个中的数据移动到 存储块152、154、156的至少另一个中的操作(例如,损耗均衡(WL) 操作)。在后台操作期间,控制器130可以使用处理器134来将存储在控 制器130中的映射数据存储到存储块152、154、156中的至少一个,例 如,映射清除操作。由处理器134执行的后台操作的另一示例是检查多 个存储块152、154、156之中的坏块的坏块管理操作。

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

控制器130可以检查联接到包括在存储器装置150中的多个存储器 管芯的多个通道(或通路)的状态。

作为示例而非限制,控制器130可以识别关于与存储器装置150中 的存储器管芯相关联的通道(或通路)的状态。控制器130可以确定每 个通道或每个通路处于忙碌状态、就绪状态、活动状态、空闲状态、 正常状态或异常状态。控制器可以基于物理块地址,例如指令(和/或 数据)被传递到的管芯,来确定通过哪个通道或通路来传递指令(和/ 或数据)。控制器130可以参考从存储器装置150传递的描述符。描述符 可以包括描述关于存储器装置150的信息项的参数的块或页面,其为具 有设定格式或结构的数据。例如,描述符可以包括装置描述符、配置 描述符、单元描述符等。控制器130可以参考或使用描述符以确定交换 指令或数据的通道或通路。

管理单元(未示出)可以包括在处理器134中。管理单元可以执行 存储器装置150的坏块管理。管理单元可以发现情况不理想、无法继续 使用的坏存储块,并对坏存储块执行坏块管理。当存储器装置150是闪 速存储器,例如NAND闪速存储器时,由于NAND逻辑功能的特性, 在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块 管理期间,可以将编程失败的存储块或坏存储块的数据编程到新的存 储块中。坏块会严重恶化具有3D堆叠结构的存储器装置150的利用效率 和存储器系统110的可靠性。因此,可靠的坏块管理可以增强或改善存 储器系统110的性能。

图3是示出根据本发明另一实施例的存储器系统中的控制器的框 图。

参照图3,控制器130与主机102和存储器装置150配合。控制器130 可以包括主机接口(I/F)132、闪存转换层(FTL)电路40、存储器接 口(I/F)142和存储器144。

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

在一些实施例中,闪存转换层(FTL)单元40和存储器接口单元 142可以用作以上参照图1描述的执行信息生成块1301、执行信息分析 块1302和内部操作执行块1303。

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

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

根据实施例,图3中的主机接口132可以执行图2中的控制器130的 功能。

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

作为示例而非限制,主机请求管理器46可以根据从主机接口132 传递的读取和编程命令以及事件,使用映射管理器44和块管理器48处 置或处理请求。主机请求管理器46可以向映射数据管理器44发送查询 请求,以确定对应于与事件一起输入的逻辑地址的物理地址。主机请 求管理器46可以将带有物理地址的读取请求发送到存储器接口142,以 处理读取请求(处理事件)。另一个方面,主机请求管理器46可以向块 管理器48发送编程请求(或写入请求),以将输入的数据编程到存储器 装置150中的空白页面(即,没有数据的页面),然后,可以向映射管 理器44传输与该编程请求相对应的映射更新请求,以在将逻辑-物理地 址彼此映射的信息中更新与被编程数据有关的项目。

这里,块管理器48可以将从主机请求管理器46、映射数据管理器 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可以处理 由主机请求管理器46或状态管理器42生成的诸如查询和更新的请求。 映射管理器44可以将整个映射表存储在存储器装置150(例如,闪速/ 非易失性存储器)中,并且根据存储器144的存储容量来高速缓存映射 条目。当在处理查询或更新请求的同时发生映射高速缓存未命中时, 映射管理器44可以向存储器接口142发送读取请求以加载存储在存储 器装置150中的相关映射表。当映射管理器44中的脏高速缓存块的数量 超过一定阈值时,可以向块管理器48发送编程请求,从而形成干净的 高速缓存块,并且脏映射表可以被存储在存储器装置150中。

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

存储器装置150可以包括多个存储块。根据这种块的一个存储器单 元中可存储或表示的位的数量,多个存储块中的每一个可以是单层单 元(SLC)存储块或多层单元(MLC)存储块。这里,SLC存储块包 括由存储器单元实施的多个页面,每个存储器单元存储一位数据。SLC 存储块可以具有高数据I/O操作性能和高耐久性能。MLC存储块包括由 存储器单元实施的多个页面,每个存储器单元存储多位数据(例如, 两位或更多位)。与SLC存储块相比,MLC存储块就相同的空间内可以 具有更大的存储容量。就存储容量而言,MLC存储块可以高度集成。 在实施例中,存储器装置150可以利用诸如双层单元存储块、三层单元 (TLC)存储块、四层单元(QLC)存储块及其组合的MLC存储块, 来实施。双层单元存储块可以包括由每个能够存储2位数据的存储器单 元实施的多个页面。三层单元(TLC)存储块可以包括由每个能够存 储3位数据的存储器单元实施的多个页面。四层单元(QLC)存储块可 以包括由每个能够存储4位数据的存储器单元实施的多个页面。在另一 实施例中,存储器装置150可以利用包括由存储器单元实施的多个页面 的块来实施,每个存储器单元能够存储5位或更多位数据。

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

图4是示出根据本发明实施例的存储器系统110的操作方法的第一 示例的表。

参照图4,将描述当在多个周期的预定持续时间期间累积了多条执 行信息OPINFO<1:N>时,用于分析其值模式的各种情况CASE<1:5>。 此时,根据情况CASE<1:5>中的每一个,可以不同地确定将在随后的 周期被累积的执行信息OPINFO<N+1>的值。

在图4中,在11个周期的预定持续时间期间,累积了总共11条执行 信息OPINFO<1:11>。另外,执行信息分析块1302对11条执行信息 OPINFO<1:11>之中的十条执行信息OPINFO<2:11>进行分析,然后预 测将在第12个周期内累积的第12条执行信息OPINFO<12>的值。

在第一种情况CASE<1>中,十条执行信息OPINFO<2:11>作为执行 信息分析块1302的分析目标,从分析其值模式的结果可以看出的是, 十条执行信息OPINFO<2:11>具有指示在两个周期中内部操作可执行、 然后在两个周期中内部操作不可执行的值模式。换句话说,由于第二 执行信息OPINFO<2>具有指示内部操作不可执行的值,而第三执行信 息OPINFO<3>和第四执行信息OPINFO<4>具有指示内部操作可执行 的值,第五执行信息OPINFO<5>和第六执行信息OPINFO<6>具有指示 内部操作不可执行的值,第七执行信息OPINFO<7>和第八执行信息 OPINFO<8>具有指示内部操作可执行的值,第九执行信息OPINFO<9> 和第十执行信息OPINFO<10>具有指示内部操作不可执行的值,可以 看出的是多条执行信息OPINFO<3:10>具有指示在两个周期中内部操 作可执行、然后在两个周期内内部操作不可执行的值模式。此时,由 于第11执行信息OPINFO<11>具有指示内部操作可执行的值,因此可以 预测第12执行信息OPINFO<12>具有指示内部操作可执行的值。

在第二种情况CASE<2>中,十条执行信息OPINFO<2:11>作为执行 信息分析块1302的分析目标,从分析其值模式的结果可以看出的是, 十条执行信息OPINFO<2:11>具有指示在三个周期中内部操作可执行、 然后在三个周期中内部操作不可执行的值模式。换句话说,由于第二 执行信息OPINFO<2>、第三执行信息OPINFO<3>和第四执行信息 OPINFO<4>具有指示内部操作可执行的值,第五执行信息OPINFO<5>、 第六执行信息OPINFO<6>和第七执行信息OPINFO<7>具有指示内部 操作不可执行的值,第八执行信息OPINFO<8>、第九执行信息 OPINFO<9>和第十执行信息OPINFO<10>具有指示内部操作可执行的 值,可以看出的是多条执行信息OPINFO<2:10>具有指示在三个周期内 内部操作可执行、然后指示在三个周期内内部操作不可执行的值模式。 此时,由于第11执行信息OPINFO<11>具有指示内部操作不可执行的值, 因此可以预测第12执行信息OPINFO<12>具有指示内部操作不可执行 的值。

在第三种情况CASE<3>中,十条执行信息OPINFO<2:11>作为执行 信息分析块1302的分析目标,从分析其值模式的结果可以看出的是, 十条执行信息OPINFO<2:11>具有指示在若干个周期中内部操作可执 行、然后在剩余周期中内部操作不可执行的值模式。换句话说,由于 第二执行信息OPINFO<2>、第三执行信息OPINFO<3>、第四执行信息 OPINFO<4>、第五执行信息OPINFO<5>、第六执行信息OPINFO<6>、 第七执行信息OPINFO<7>和第八执行信息OPINFO<8>具有指示内部 操作可执行的值,而第九执行信息OPINFO<9>、第十执行信息OPINFO<10>和第11执行信息OPINFO<11>具有指示内部操作不可执 行的值,可以看出的是十条执行信息OPINFO<2:11>具有指示在若干个 先前周期中内部操作可执行、然后指示在剩余周期中内部操作不可执 行的值模式。此时,由于第九执行信息OPINFO<9>、第十执行信息 OPINFO<10>和第11执行信息OPINFO<11>具有指示内部操作不可执 行的值,因此可以预测第12执行信息OPINFO<12>具有指示内部操作 不可执行的值。

在第四种情况CASE<4>中,十条执行信息OPINFO<2:11>作为执行 信息分析块1302的分析目标,从分析其值模式的结果可以看出的是, 十条执行信息OPINFO<2:11>具有指示在若干个周期中内部操作不可 执行、然后在剩余周期中内部操作可执行的值模式。换句话说,由于 第二执行信息OPINFO<2>、第三执行信息OPINFO<3>、第四执行信息 OPINFO<4>和第五执行信息OPINFO<5>具有指示内部操作不可执行 的值,而第六执行信息OPINFO<6>、第七执行信息OPINFO<7>、第八 执行信息OPINFO<6>、第九执行信息OPINFO<9>、第十执行信息OPINFO<10>和第11执行信息OPINFO<11>具有指示内部操作可执行 的值,可以看出的是十条执行信息OPINFO<2:11>具有指示在若干个先 前周期中内部操作不可执行、然后在剩余周期中内部操作可执行的值 模式。此时,由于第六执行信息OPINFO<6>、第七执行信息OPINFO<7>、 第八执行信息OPINFO<8>、第九执行信息OPINFO<9>、第十执行信息 OPINFO<10>和第11执行信息OPINFO<11>具有指示内部操作可执行 的值,因此可以预测第12执行信息OPINFO<12>具有指示内部操作可 执行的值。

在第五种情况CASE<5>中,十条执行信息OPINFO<2:11>作为执行 信息分析块1302的分析目标,从分析其值模式的结果可以看出的是, 十条执行信息OPINFO<2:11>的值模式不具有特定趋向。换句话说,由 于第二执行信息OPINFO<2>具有指示内部操作不可执行的值,第三执 行信息OPINFO<3>具有指示内部操作可执行的值,第四执行信息 OPINFO<4>具有指示内部操作不可执行的值,第五执行信息 OPINFO<5>具有指示内部操作可执行的值,第六执行信息OPINFO<6> 和第七执行信息OPINFO<7>具有指示内部操作不可执行的值,第八执 行信息OPINFO<8>、第九执行信息OPINFO<9>和第十执行信息 OPINFO<10>具有指示内部操作可执行的值,第11执行信息 OPINFO<11>具有指示内部操作不可执行的值,可以看出的是,十条执 行信息OPINFO<2:11>的值模式不具有特定趋向。在这种情况下,第12 执行信息OPINFO<12>可以被估计为具有指示内部操作不可执行的值, 从而不能在每个周期执行内部操作。

作为参照,与图4所示的上述实施例不同,执行信息分析块1302 可以分析在11个周期的预定持续时间期间累积的所有11条执行信息 OPINFO<1:11>,并且预测在第12周期要累积的第12执行信息 OPINFO<12>的值。

对根据本公开的装置的效果描述如下。

根据本公开实施例的存储器系统和数据处理系统可以基于在每个 预定时间重复的每个周期从主机输入的系统信息,在设定时间点之后 的预定时间内,在没有来自主机的命令的情况下,预测存储器系统的 内部操作是否可执行,然后可以根据预测的结果,在从该设定时间点 起的预定时间内执行内部操作。因此,通过预测不影响主机与存储器 系统之间的输入/输出性能的时间点,可以稳定地执行存储器系统的内 部操作。

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

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种分布式存储卷在线迁移的方法、系统、设备及介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类