修改命令.pdf

上传人:00062****4422 文档编号:1040822 上传时间:2018-03-27 格式:PDF 页数:19 大小:566.56KB
返回 下载 相关 举报
摘要
申请专利号:

CN200980156842.3

申请日:

2009.12.30

公开号:

CN102317928A

公开日:

2012.01.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/16申请日:20091230|||公开

IPC分类号:

G06F13/16; G06F9/30; G06F12/00

主分类号:

G06F13/16

申请人:

美光科技公司

发明人:

迈赫迪·阿斯纳阿沙里

地址:

美国爱达荷州

优先权:

2009.01.09 US 12/351,206

专利代理机构:

北京律盟知识产权代理有限责任公司 11287

代理人:

宋献涛

PDF下载: PDF下载
内容摘要

本发明包括用于修改命令的方法、装置、模块及系统。一个装置实施例包括存储器控制器,所述存储器控制器包括通道,其中所述通道包括经配置以保持命令的命令队列及经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。

权利要求书

1: 一种存储器控制器, 其包含 : 通道, 其中所述通道包括 : 命令队列, 其经配置以保持命令 ; 及 电路, 其经配置以 : 修改所述队列中的至少若干个命令 ; 及 执行所述经修改命令。
2: 根据权利要求 1 所述的存储器控制器, 其中经配置以修改至少若干个命令的电路包 含经配置以在所述若干个命令保持于所述队列中时修改所述若干个命令的电路。
3: 根据权利要求 1 所述的存储器控制器, 其中经配置以修改至少若干个命令的电路包 含经配置以改变所述队列中的命令保持于所述队列中的次序的电路。
4: 根据权利要求 3 所述的存储器控制器, 其中经配置以执行所述经修改命令的电路包 含经配置以根据所述已改变次序执行所述队列中的命令的电路。
5: 根据权利要求 1 到 4 中任一权利要求所述的存储器控制器, 其中所述电路进一步经 配置以确定是否可修改所述队列中的命令。
6: 根据权利要求 1 所述的存储器控制器, 其中经配置以修改至少若干个命令的电路包 含以下电路中的至少一者 : 经配置以在可将所述队列中的若干个命令组合成一命令的情况下修改所述队列中的 所述若干个命令的电路 ; 或 经配置以在所述队列中的若干个命令将被所述队列中的另一命令盖写的情况下修改 所述队列中的所述若干个命令的电路。
7: 根据权利要求 6 所述的存储器控制器, 其中经配置以在可将所述队列中的若干个命 令组合成一命令的情况下修改所述队列中的所述若干个命令的电路包含经配置以在可将 所述队列中的若干个命令组合成单个命令的情况下修改所述队列中的所述若干个命令的 电路。
8: 根据权利要求 6 所述的存储器控制器, 其中经配置以在可将所述队列中的若干个命 令组合成一命令的情况下修改所述队列中的所述若干个命令的电路包含以下电路中的至 少一者 : 经配置以将若干个重叠命令组合成一命令的电路 ; 或 经配置以将若干个顺序命令组合成一命令的电路。
9: 根据权利要求 6 到 8 中任一权利要求所述的存储器控制器, 其中经配置以在所述队 列中的若干个命令将被所述队列中的另一命令盖写的情况下修改所述队列中的所述若干 个命令的电路包含经配置以进行以下操作的电路 : 确定所述队列中的一命令是否将被所述队列中的另一个命令盖写 ; 及 删除将被所述另一个命令盖写的所述命令。
10: 根据权利要求 1 到 4 中任一权利要求所述的存储器控制器, 其中所述电路包括以下 各项中的至少一者 : 处理器 ; 或 专用集成电路。
11: 一种存储器控制器, 其包含 : 2 通道, 其中所述通道包括 : 命令队列, 其经配置以保持若干个命令 ; 及 处理器, 其经配置以执行选自包括以下各项的功能群组的若干个功能 : 改变将命令保持于所述队列中的次序 ; 将所述队列中的若干个可组合命令组合成一命令 ; 及 删除所述队列中的将被所述队列中的另一个命令盖写的命令。
12: 根据权利要求 11 所述的存储器控制器, 其中经配置以执行选自所述功能群组的若 干个功能的处理器包含经配置以执行选自所述功能群组的一个或一个以上功能的处理器。
13: 根据权利要求 11 所述的存储器控制器, 其中可组合命令包括 : 重叠命令 ; 及 顺序命令。
14: 根据权利要求 11 到 13 中任一权利要求所述的存储器控制器, 其中 : 所述通道为后端通道 ; 且 所述存储器控制器包括前端通道, 其中 : 所述前端通道包括命令调度程序 ; 且 所述命令调度程序经配置以将若干个命令发送到所述后端通道 ; 且 所述队列经配置以按所述命令调度程序将命令发送到所述后端通道的次序保持所述 命令。
15: 根据权利要求 14 所述的存储器控制器, 其中所述队列经配置以保持等于所述命令 调度程序可保持的命令的数目的数目个命令。
16: 根据权利要求 14 所述的存储器控制器, 其中所述命令调度程序经配置以 : 从主机接收若干个命令 ; 及 按所述命令调度程序从所述主机接收所述命令的次序将所述命令发送到所述后端通 道。
17: 根据权利要求 16 所述的存储器控制器, 其中 : 所述前端通道包括命令处理器 ; 且 所述命令处理器经配置以执行选自包括以下各项的功能群组的若干个功能 : 改变所述命令调度程序将命令发送到所述后端通道的所述次序 ; 将所述命令调度程序从所述主机接收的若干个可组合命令组合成一命令 ; 及 删除所述命令调度程序从所述主机接收的将被所述命令调度程序从所述主机接收的 另一个命令盖写的命令。
18: 根据权利要求 17 所述的存储器控制器, 其中所述命令处理器经配置以在所述命令 调度程序不能够从所述主机接收命令时执行所述若干个功能。
19: 根据权利要求 18 所述的存储器控制器, 其中所述命令处理器经配置以在所述命令 调度程序已满时执行所述若干个功能。
20: 根据权利要求 14 所述的存储器控制器, 其中 : 所述前端通道包括命令处理器 ; 且 所述命令处理器经配置以 : 确定是否不对所述命令调度程序中所保持的命令执行所述功能群组中的所述功能 ; 及 3 标记所述命令调度程序中所保持的不对其执行所述功能群组中的所述功能的命令。
21: 根据权利要求 20 所述的存储器控制器, 其中所述处理器经配置以不对经标记命令 执行所述功能群组中的所述功能。
22: 一种存储器控制器, 其包含 : 若干个后端通道, 其中所述若干个后端通道包括 : 命令队列, 其经配置以保持若干个命令 ; 及 处理器, 其经配置以 : 修改所述命令队列中的命令, 其中修改所述命令包括执行选自包括以下各项的功能群 组的若干个功能 : 改变将命令保持于所述队列中的次序 ; 将所述队列中的重叠命令组合成一命令 ; 将所述队列中的顺序命令组合成一命令 ; 及 删除所述队列中的将被所述队列中的另一个命令盖写的命令 ; 及 根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令。
23: 根据权利要求 22 所述的存储器控制器, 其中经配置以保持若干个命令的命令队列 包含经配置以保持若干个读取命令的命令队列, 其中所述若干个读取命令包括用以读取响 应于先前读取命令先前所读取的存储于存储器阵列中的若干个存储器单元上的数据的命 令, 且其中所述存储器控制器进一步经配置以在不存取所述阵列的情况下执行所述用以读 取先前所读取的数据的命令。
24: 根据权利要求 23 所述的存储器控制器, 其中所述若干个后端通道包括经配置以保 持所述先前所读取的数据的数据缓冲器, 且其中所述处理器经配置以通过存取所述数据缓 冲器来执行所述若干个读取命令中的至少一者的至少一部分。
25: 根据权利要求 22 所述的存储器控制器, 其中 : 所述存储器控制器包括前端通道 ; 且 所述前端通道包括耦合到所述若干个后端通道的前端直接存储器存取 (DMA)。
26: 根据权利要求 25 所述的存储器控制器, 其中 : 所述若干个后端通道包括通道 DMA ; 且 所述前端 DMA 耦合到所述通道 DMA。
27: 根据权利要求 22 到 26 中任一权利要求所述的存储器控制器, 其中所述若干个后端 通道包括经配置以将所述存储器控制器耦合到若干个存储器阵列的接口。
28: 一种用于操作存储器装置的方法, 其包含 : 修改保持于队列中的若干个命令, 其中修改所述若干个命令包括执行选自包括以下各 项的功能群组的若干个功能 : 改变将命令保持于所述队列中的次序 ; 将所述队列中的若干个可组合命令组合成一命令 ; 及 删除所述队列中的将被所述队列中的另一个命令盖写的命令 ; 及 根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令。
29: 根据权利要求 28 所述的方法, 其中 : 改变将命令保持于所述队列中的次序包括按将执行所述命令的次序来排序所述命令 ; 4 且 根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令包括根据将执 行所述命令的所述次序来执行所述命令。
30: 根据权利要求 28 所述的方法, 其中将所述队列中的若干个可组合命令组合成一命 令包括将所述队列中的若干个可组合命令组合成单个命令。
31: 根据权利要求 28 所述的方法, 其中组合所述若干个可组合命令包括 : 组合重叠命令 ; 及 组合顺序命令。
32: 根据权利要求 28 到 31 中任一权利要求所述的方法, 其中所述方法包括 : 在正执行所述经修改命令时在所述队列中接收额外命令 ; 及 在正执行所述经修改命令时修改所述额外命令。
33: 根据权利要求 28 到 31 中任一权利要求所述的方法, 其中执行所述经修改命令包括 执行所述经修改命令以对存储器阵列进行操作。
34: 一种用于操作存储器装置的方法, 其包含将保持于队列中的若干个可组合命令组 合成一命令, 借此避免部分页编程操作。
35: 根据权利要求 34 所述的方法, 其中将所述若干个可组合命令中的每一者与特定存 储器单元页的一部分相关联。
36: 根据权利要求 34 到 35 中任一权利要求所述的方法, 其进一步包含执行所述经组合 命令。
37: 一种用于操作存储器装置的方法, 其包含 : 在位于存储器控制器的后端通道中的队列中接收若干个命令 ; 修改所述队列中的所述若干个命令 ; 及 执行所述经修改命令。
38: 根据权利要求 37 所述的方法, 其中 : 修改所述队列中的所述若干个命令包括改变所述若干个命令的次序 ; 且 执行所述经修改命令包括根据所述已改变次序执行所述若干个命令。
39: 根据权利要求 37 所述的方法, 其中 : 在所述队列中接收若干个命令包括接收与重叠逻辑块地址 (LBA) 相关联的若干个命 令; 且 修改所述队列中的所述若干个命令包括将与重叠 LBA 相关联的所述若干个命令组合 成单个命令。
40: 根据权利要求 37 所述的方法, 其中 : 在所述队列中接收若干个命令包括接收与顺序逻辑块地址 (LBA) 相关联的若干个命 令; 且 修改所述队列中的所述若干个命令包括将与顺序 LBA 相关联的所述若干个命令组合 成单个命令。
41: 根据权利要求 37 所述的方法, 其中 : 在所述队列中接收若干个命令包括 : 接收与特定逻辑块地址 (LBA) 相关联的第一命令 ; 及 5 在所述第一命令之后接收与所述特定 LBA 相关联的第二命令 ; 且 修改所述队列中的所述若干个命令包括删除所述第一命令。
42: 根据权利要求 37 到 41 中任一权利要求所述的方法, 其中在所述队列中接收若干个 命令包括从前端通道接收若干个命令。

说明书


修改命令

    【技术领域】
     本发明一般来说涉及半导体存储器装置、 方法及系统, 且更特定来说涉及修改命令。 背景技术 通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。 存在 许多不同类型的存储器, 包括易失性及非易失性存储器。易失性存储器可需要电力来维持 其数据, 且可包括随机存取存储器 (RAM)、 动态随机存取存储器 (DRAM) 及同步动态随机存 取存储器 (SDRAM) 以及其它存储器。非易失性存储器可通过在不被供电时保留所存储的信 息来提供永久性数据, 且可包括 NAND 快闪存储器、 NOR 快闪存储器、 只读存储器 (ROM)、 电可 擦除可编程 ROM(EEPROM)、 可擦除可编程 ROM(EPROM) 及相变随机存取存储器 (PCRAM) 以及 其它存储器。
     可将存储器装置组合在一起以形成固态驱动器 (SSD)。SSD 可包括非易失性存储 器 ( 例如, NAND 快闪存储器及 NOR 快闪存储器 ) 及 / 或可包括易失性存储器 ( 例如, DRAM 及 SRAM) 以及各种其它类型的非易失性及易失性存储器。
     SSD 可用于取代硬盘驱动器作为计算机的主存储装置, 因为 SSD 可在 ( 举例来说 ) 性能、 大小、 重量、 耐用性、 操作温度范围及功率消耗方面具有胜于硬驱动器的优点。 举例来 说, SSD 在与磁盘驱动器比较时因其缺少移动部件而可具有优越的性能, 缺少移动部件可改 善与磁盘驱动器相关联的搜寻时间、 等待时间及其它机电延迟。 SSD 制造商可使用非易失性 快闪存储器来形成快闪 SSD, 所述快闪 SSD 可不使用内部电池电源, 因此允许所述驱动器更 通用且更小型。
     SSD 可包括若干个存储器装置, 例如若干个存储器芯片 ( 本文所用 “若干个” 某 物可指代一个或一个以上此物, 例如, 若干个存储器装置可指代一个或一个以上存储器装 置 )。 所属领域的技术人员将了解, 存储器芯片可包括若干个裸片。 每一裸片可包括若干个 存储器阵列及其上的外围电路。存储器阵列可包括若干个平面, 其中每一平面包括若干个 存储器单元物理块。每一物理块可包括可存储若干个数据扇区的若干个存储器单元页。
     在 SSD 的操作期间, 可使用例如编程命令、 读取命令及擦除命令等命令以及其它 命令。举例来说, 可使用编程 ( 例如, 写入 ) 命令将数据编程于固态驱动器上, 可使用读取 命令读取固态驱动器上的数据, 且可使用擦除命令擦除固态驱动器上的数据。
     附图说明
     图 1 图解说明根据本发明的一个或一个以上实施例的存储器系统的框图。
     图 2 图解说明可根据本发明的一个或一个以上实施例操作的存储器控制器的功 能框图。
     图 3 图解说明根据本发明的一个或一个以上实施例的通道命令队列的框图。
     图 4A 及 4B 图解说明根据本发明的一个或一个以上实施例的通道命令队列的框图。 具体实施方式
     本发明包括用于修改命令的方法、 装置、 模块及系统。 一个装置实施例包括存储器 控制器, 所述存储器控制器包括通道, 其中所述通道包括经配置以保持命令的命令队列及 经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。
     在本发明的以下详细说明中, 参照形成本发明的一部分且其中以图解说明方式显 示可如何实践本发明的一个或一个以上实施例的附图。 充分详细地描述这些实施例以使得 所属领域的技术人员能够实践本发明的实施例, 且应理解, 可利用其它实施例且可作出过 程、 电及 / 或结构改变, 而不背离本发明的范围。如本文中所使用, 标示符 “N” 及 “M” ( 特定 来说关于图式中的参照编号 ) 指示本发明的一个或一个以上实施例可包括如此标示的特 定特征的数目。所述标示符可表示相同数目个或不同数目个特定特征。
     本文中的图遵循以下编号惯例 : 其中第一个数字或前几个数字对应于图式图编 号, 且其余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似 数字来识别。举例来说, 101 可指代图 1 中的元件 “10” , 且类似元件在图 2 中可标号为 201。 如将了解, 可添加、 交换及 / 或消除本文中各种实施例中所示的元件以便提供本发明的若 干个额外实施例。 另外, 如将了解, 所述图中所提供的所述元件的比例及相对比例尺打算图 解说明本发明的实施例而不应被视为具有限制意义。 图 1 图解说明根据本发明的一个或一个以上实施例的存储器系统 120 的框图。在 一个或一个以上实施例中, 存储器系统 120 可为固态驱动器。图 1 的实施例图解说明存储 器系统 120 的一个实施例的组件及架构。 在图 1 中所图解说明的实施例中, 存储器系统 120 包括控制器 101、 接口连接器 103 及存储器阵列 130-1、 …、 130-N。在一个或一个以上实施 例中, 存储器系统 120 可包括用以装纳存储器系统 120 的外壳, 但此外壳并非是基本的。
     可使用接口连接器 103 在存储器系统 120 与另一装置 ( 例如, 计算装置 ) 之间传 递信息。举例来说, 当存储器系统 120 用于计算装置中的数据存储时, 接口 103 可为串行高 级技术附件 (SATA) 以及其它。
     控制器 101 可与存储器阵列 130-1、…、 130-N 通信以在存储器阵列 130-1、…、 130-N 上执行读取、 编程 ( 例如, 写入 ) 及擦除操作及其它操作。控制器 101 可用于管理存 储器系统 120 中的操作。控制器 101 可具有可为若干个集成电路的电路。控制器 101 也可 具有可为若干个离散组件的电路。对于一个或一个以上实施例, 控制器 101 中的电路可包 括用于控制跨越若干个存储器阵列的存取的控制电路。控制器 101 中的电路也可包括用于 提供外部主机与存储器系统 120 之间的翻译层的控制电路。因此, 存储器控制器可选择性 地耦合存储器阵列的 I/O 连接 ( 未在图 1 中显示 ) 以在适当时间在适当 I/O 连接处接收适 当信号。类似地, 主机与存储器系统 120 之间的通信协议可不同于存取存储器阵列 ( 例如, 存储器阵列 130-1、 …、 130-N) 所需的协议。然后, 存储器控制器 101 可将从主机接收的命 令翻译成适当命令以实现对存储器阵列的所要存取。
     存储器阵列 130-1、 …、 130-N 可为各种类型的易失性及非易失性存储器阵列 ( 例 如, 快闪及 DRAM 阵列以及其它阵列 )。在一个或一个以上实施例中, 存储器阵列 130-1、 …、 130-N 可为固态存储器阵列。存储器阵列 130-1、…、 130-N 可包括可按单位分组的若干个
     存储器单元。如本文所用, 单位可包括若干个存储器单元, 例如页、 物理块、 平面、 整个阵列 或其它存储器单元群组。 举例来说, 存储器阵列可包括若干个平面, 其中每一平面包括若干 个物理块。 每一物理块中的存储器单元可作为单位一起擦除, 例如, 可以大致同时的方式擦 除每一物理块中的单元。举例来说, 可在单个操作中一起擦除每一物理块中的单元。物理 块可包括若干个页。 每一页中的存储器单元可作为单位一起编程, 例如, 可以大致同时的方 式编程每一页中的单元。每一页中的存储器单元也可作为单位一起读取。作为实例, 128GB 存储器装置可包括每页 4314 个数据字节, 每物理块 128 个页, 每平面 2048 个物理块, 且每 装置 16 个平面。然而, 实施例并不限于此实例。
     存储器系统的物理扇区可对应于逻辑扇区且可包括开销信息 ( 例如, 错误校正码 (ECC) 信息 ) 及逻辑块地址 (LBA) 信息以及用户数据。 所属领域的技术人员将了解, 逻辑块 寻址是主机识别信息逻辑扇区通常使用的方案。作为实例, 每一物理扇区可存储表示若干 个数据字节的信息, 例如, 256 个字节、 512 个字节或 1,024 个字节以及其它数目个字节。然 而, 本发明的实施例并不限于存储于物理扇区中或与逻辑扇区相关联的特定数目个数据字 节。
     图 2 图解说明可根据本发明的一个或一个以上实施例操作的存储器控制器 201 的 功能框图。在一个或一个以上实施例中, 存储器控制器 201 可为固态驱动器控制器。在一 个或一个以上实施例中, 存储器控制器 201 可类似于图 1 中所示的控制器 101。
     如在图 2 中所示, 存储器控制器 201 包括前端部分及后端部分。 所述前端部分可对 应于前端通道, 且所述后端部分可对应于若干个后端通道, 例如后端通道 1 210-1、 …、 后端 通道 N 210-N。存储器控制器 201 可使用前端通道及后端通道来与存储器阵列 230-1、 …、 230-N 通信以在存储器阵列 230-1、…、 230-N 上执行读取、 编程 ( 例如, 写入 ) 及擦除操作 以及其它操作。在一个或一个以上实施例中, 存储器阵列 230-1、…、 230-N 可为固态存储 器阵列。在一个或一个以上实施例中, 存储器阵列 230-1、…、 230-N 可类似于图 1 中所示 的存储器阵列 130-1、…、 130-N。
     如在图 2 中所示, 控制器 201 的前端部分 ( 例如, 前端通道 ) 包括主机接口 202、 命 令处理器 204、 前端直接存储器存取 (DMA)206 及命令调度程序 208。后端通道 210-1、…、 210-N 可包括后端通道处理器 211-1、 …、 211-N、 后端通道 DMA 213-1、 …、 213-N、 后端通道 命令队列 215-1、 …、 215-N、 数据缓冲器 217-1、 …、 217-N 及 ECC 引擎 / 阵列接口 219-1、 …、 219-N。尽管图 2 中所示的实施例将每一后端通道 210-1、…、 210-N 图解说明为包括后端 通道处理器, 但本发明的实施例并不如此受限制。 举例来说, 所述后端部分可包括可对每一 后端通道 210-1、…、 210-N 进行操作的电路, 例如, 单个后端处理器或硬件逻辑, 例如专用 集成电路 (ASIC)。
     在图 2 中所图解说明的实施例中, 所述前端通道可经由前端 DMA 206 及命令调度 程序 208 耦合到后端通道, 例如后端通道 210-1、…、 210-N。举例来说, 前端 DMA 206 可耦 合到后端通道处理器 211-1、…、 211-N 及后端通道 DMA 213-1、…、 213-N。命令调度程序 208 可耦合到后端通道命令队列 215-1、…、 215-N。可使用主机接口 202 在控制器 201 与 主机装置 ( 未显示, 例如计算装置 ) 之间传递信息。在一个或一个以上实施例中, 可使用主 机接口 202 经由接口连接器 ( 例如, 图 1 中所示的接口连接器 103) 在控制器 201 与所述主 机装置之间传递信息。在一个或一个以上实施例中, 在主机装置与控制器 201 之间传递的信息可包括若 干个命令, 例如编程命令、 读取命令及擦除命令以及其它命令。 可使用编程 ( 例如, 写入 ) 命 令在存储器阵列 230-1、 …、 230-N 上编程数据, 可使用读取命令读取存储器阵列 230-1、 …、 230-N 上的数据, 且可使用擦除命令擦除存储器阵列 230-1、 …、 230-N 上的数据。所述命令 可包括指示被命令的操作类型 ( 例如, 编程、 读取或擦除 )、 数量 ( 例如, 逻辑扇区的数目 ) 及所述命令的执行将开始的位置 ( 例如, 开始地址 ) 的信息以及其它信息。 如果所述命令为 编程命令, 那么所述命令可后跟 ( 未必紧接着 ) 将编程到对应存储器单元的数据。 在一个或 一个以上实施例中, 所述数量可为主机的对应于若干个存储器单元的若干个逻辑扇区。在 一个或一个以上实施例中, 所述命令中所包括的 “位置” 可为逻辑块地址 (LBA)。
     数据缓冲器 217-1、 …、 217-N 可经由主机接口 202、 前端 DMA 206 及后端通道 DMA 213-1、…、 213-N 从主机接收将在存储器阵列 230-1、…、 230-N 上编程的数据。所述数据 可经由 ECC 引擎 / 阵列接口 219-1、…、 219-N 从数据缓冲器 217-1、…、 217-N 发送到存储 器阵列 230-1、…、 230-N。
     在一个或一个以上实施例中, LBA 可与主机的逻辑扇区相关联, 例如, 主机的每一 逻辑扇区可与特定 LBA 相关联。举例来说, LBA 1000 可与第一逻辑扇区相关联, LBA 1001 可与第二逻辑扇区相关联, LBA 1002 可与第三逻辑扇区相关联等。 作为进一步实例, 用以编 程所述阵列中对应于开始于 LBA 1000 的 16 个逻辑扇区的存储器单元的命令可编程与 LBA 1000 到 1016 相关联的存储器单元, 例如, 对应于与 LBA 1000 到 1016 相关联的逻辑扇区的 存储器单元。 命令调度程序 208 可经由主机接口 202 从主机接收若干个命令。命令调度程序 208 可保持所述所接收的命令, 且将所述命令发送到适当后端通道 210-1、 …、 210-N。举例 来说, 后端通道队列 215-1、…、 215-N 可从命令调度程序 208 接收所述命令。在一个或一 个以上实施例中, 后端通道 210-1、…、 210-N 可按命令调度程序 208 从主机接收所述命令 的次序接收所述命令。在一个或一个以上实施例中, 命令调度程序 208 可保持多达特定数 目个命令, 且如果命令调度程序 208 正保持所述特定数目个命令 ( 例如, 如果命令调度程序 208 已满 ), 那么命令调度程序 208 可不能够从主机接收命令。
     在一个或一个以上实施例中, 后端通道命令队列 215-1、…、 215-N 可保持从命令 调度程序 208 接收的若干个命令。在一个或一个以上实施例中, 所述队列可按将执行所述 命令的次序保持所述命令。在一个或一个以上实施例中, 所述队列可按从所述命令调度程 序接收所述命令的次序保持所述命令。在一个或一个以上实施例中, 每一队列可保持等于 命令调度程序 208 可保持的若干个命令的若干个命令。举例来说, 在一个或一个以上实施 例中, 命令调度程序 208 及所述队列可各自保持多达 32 个命令。然而, 本发明的实施例并 不限于特定数目个命令。
     根据一个或一个以上实施例, 后端通道处理器 211-1、…、 211-N 可确定是否可修 改保持于所述队列中的命令, 且可 ( 例如 ) 在所述命令保持于所述队列中时相应地对所述 命令进行修改。在一个或一个以上实施例中, 如果可改变命令保持于队列中的次序, 如果 可将队列中的命令中的若干个命令组合成一命令 ( 例如, 单个命令 ), 或如果队列中的命令 中的若干个命令将被队列中的随后命令盖写, 那么可修改所述命令。在一个或一个以上实 施例中, 修改命令可包括 : 改变命令保持于队列中的次序 ; 将队列中的若干个可组合命令
     组合成单个命令 ; 或删除队列中的将被队列中的随后命令盖写的若干个命令 ; 以及其它修 改。
     在一个或一个以上实施例中, 如果保持于队列中的命令是重叠命令, 那么所述命 令是可组合的, 例如, 可被组合成单个命令。如本文所用, 重叠命令是与重叠地址 ( 例如, 重 叠逻辑块地址 (LBA)) 相关联的若干个命令。举例来说, 重叠命令可包括与存储器阵列中将 在其上执行所述命令的共用位置相关联的命令。 具体实例包括用以编程阵列中对应于主机 的开始于逻辑块地址 (LBA)1000 的 48 个逻辑扇区 ( 例如, 来自所述主机的 48 个数据逻辑扇 区 ) 的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于 LBA 1040 的 16 个逻辑扇区的存储器单元的第二命令。所述第一命令与第二命令是重叠命令, 因为两 个命令均与开始于 LBA 1040 的相同 8 个逻辑扇区相关联。因此, 可将这两个命令组合成用 以编程对应于开始于 LBA 1000 的 56 个逻辑扇区的存储器单元的单个命令。可组合保持于 所述队列中的重叠命令而不管将其接收于所述队列中的次序如何。
     在一个或一个以上实施例中, 如果保持于队列中的命令是顺序命令, 那么所述命 令是可组合的, 例如, 可组合成单个命令。如本文所用, 顺序命令是与将在其上执行所述命 令的顺序地址 ( 例如, 顺序 LBA) 相关联的若干个命令。举例来说, 顺序命令可包括与紧在 与其它命令中的一者相关联的逻辑扇区之前或紧在其之后的逻辑扇区相关联的命令。 具体 实例包括用以编程阵列中对应于主机的开始于 LBA 1000 的 16 个逻辑扇区的存储器单元的 第一命令及用以编程所述阵列中对应于所述主机的开始于 LBA 1016 的 32 个逻辑扇区的存 储器单元的第二命令。所述第一命令与第二命令是顺序命令, 因为与所述第一命令相关联 的地址紧在与所述第二命令相关联的地址之前, 例如, 与所述第二命令相关联的位置紧在 与所述第一命令相关联的位置之后。因此, 可将这两个命令组合成用以编程对应于所述主 机的开始于 LBA 1000 的 48 个逻辑扇区的存储器单元的单个命令。可组合保持于所述队列 中的顺序命令而不管将其接收于所述队列中的次序如何。
     在一个或一个以上实施例中, 如果队列中的第一命令及所述队列中的随后命令两 者与将在其上执行所述命令的同一地址 ( 例如, 同一 LBA) 相关联, 那么所述第一命令将被 所述随后命令盖写。举例来说, 用以编程阵列中对应于主机的开始于 LBA 1000 的 16 个逻 辑扇区的存储器单元的第一命令将被用以编程所述阵列中对应于所述主机的开始于 LBA 1000 的 16 个逻辑扇区的存储器单元的随后命令盖写, 因为所述第一命令及所述随后命令 两者与同一地址相关联。因此, 可删除所述第一命令。
     在一个或一个以上实施例中, 如果与队列中的第一命令相关联的地址在与所述队 列中的随后命令相关联的地址范围内, 那么所述第一命令将被所述随后命令盖写。举例来 说, 用以编程阵列中对应于主机的开始于 LBA 1000 的 16 个逻辑扇区的存储器单元的第一 命令将被用以编程所述阵列中对应于所述主机的开始于 LBA 1000 的 48 个逻辑扇区的存储 器单元的随后命令盖写。因此, 可删除所述第一命令。
     后端通道处理器 211-1、 …、 211-N 可根据经修改命令保持于队列中的次序执行所 述经修改命令。 举例来说, 如果通过改变命令保持于队列中的次序来修改所述命令, 那么后 端通道处理器可根据所述已改变次序来执行所述命令。 如果通过将命令中的若干个命令组 合成单个命令来修改所述命令, 那么后端通道处理器可执行所述单个命令而非单独地执行 所述若干个命令。如果通过删除将被随后命令盖写的命令来修改命令, 那么后端通道处理器可执行所述随后命令而非所述已删除的命令。
     在一个或一个以上实施例中, 如果通过将保持于后端通道命令队列 215-1、 …、 215-N 中的命令中的若干个命令组合成单个命令来修改所述命令, 那么可认为命令调 度程序 208 中所保持的也可与所述单个命令组合的任何命令已完成。后端通道处理器 211-1、 …、 211-N 可向命令处理器 204 通信 : 此些命令已完成。举例来说, 如果将队列 215-1 中用以编程阵列中对应于主机的开始于 LBA 1000 的 48 个逻辑扇区的存储器单元的第一命 令与队列 215-N 中用以编程所述阵列中对应于所述主机的开始于 LBA 1040 的 16 个逻辑 扇区的存储器单元的第二命令组合成单个命令 ( 例如, 用以编程对应于所述主机的开始于 LBA 1000 的 56 个逻辑扇区的存储器单元的命令 ), 那么可认为命令调度程序 208 中所保持 的用以编程对应于所述主机的开始于 LBA 1000 的 16 个逻辑扇区的存储器单元的命令已完 成, 例如, 后端通道处理器 211-1 可向命令处理器 204 通信 : 此命令已完成, 因为此命令可与 所述单个命令组合。
     后端通道处理器 211-1、 …、 211-N 也可根据经修改命令修改将在存储器阵列 230-1、 …、 230-N 上编程的数据。 举例来说, 后端通道处理器 211-1、 …、 211-N 可修改所述数 据以匹配所述经修改命令。后端通道处理器 211-1、 …、 211-N 可在数据缓冲器 217-1、 …、 217-N 接收到所述数据之前 ( 例如, 在所述数据正被从前端 DMA 206 发送到数据缓冲器 217-1、…、 217-N 时 ) 修改所述数据。后端通道处理器 211-1、…、 211-N 也可在所述数据 被从数据缓冲器 217-1、 …、 217-N 发送到存储器阵列 230-1、 …、 230-N 之后修改所述数据。 在一个或一个以上实施例中, 后端通道命令队列 215-1、…、 215-N 可在后端通道 处理器 211-1、 …、 211-N 正在执行经修改命令时保持从命令调度程序 208 接收的额外命令。 后端通道处理器 211-1、…、 211-N 可在执行所述经修改命令时修改所述额外命令。
     可使用 ECC 引擎 / 阵列接口 219-1、 …、 219-N 将存储器控制器 201 耦合到存储 器阵列 230-1、…、 230-N。后端通道处理器 211-1、…、 211-N 可经由 ECC 引擎 / 阵列接口 219-1、…、 219-N 在存储器阵列 230-1、…、 230-N 上执行经修改命令。尽管图 2 中所示的 实施例将命令图解说明为穿过后端通道处理器 211-1、…、 211-N 行进, 但本发明的实施例 并不如此受限制。举例来说, 所述命令可经由 ECC 引擎 / 阵列接口 219-1、…、 219-N 直接 从后端通道命令队列 215-1、…、 215-N 行进到存储器阵列 230-1、…、 230-N。
     数据缓冲器 217-1、…、 217-N 可保持在若干个先前读取操作期间所读取的数据, 例如, 响应于先前读取命令在位于存储器阵列 230-1、…、 230-N 中的若干个存储器单元上 执行的读取。在一个或一个以上实施例中, 保持于后端通道命令队列 215-1、…、 215-N 中 的命令可包括用以读取先前已经读取的若干个存储器单元 ( 例如, 所述存储器单元的数据 已经保持于数据缓冲器 217-1、…、 217-N 中 ) 的若干个命令。在此些实施例中, 后端通道 处理器 211-1、…、 211-N 可通过 ( 例如 ) 在不存取存储器阵列 230-1、…、 230-N 的情况下 存取数据缓冲器 217-1、 …、 217-N 或通过仅针对不在所述数据缓冲器中的数据而仅存取所 述存储器阵列来执行这些读取命令。
     在一个或一个以上实施例中, 通过将若干个可组合命令组合成单个命令来修改命 令可消除或减少存储器系统所执行的部分页编程操作的数目, 此可改善所述系统的总性能 及 / 或可靠性。所属领域的技术人员将理解, 部分页编程操作可包括定位新块、 将存储于位 于旧块中的页上的数据读取到数据缓冲器中、 将所述数据缓冲器中的数据与新数据合并及
     / 或用新数据取代所述数据缓冲器中的数据以使得所述数据缓冲器中的数据包括新数据及 从旧块中的页读取的数据两者, 且以所述数据缓冲器中的数据编程新块中的页。所述部分 页编程操作还可包括将存储于旧块中的剩余页上的数据传送到新块中的剩余页 ( 例如, 读 取存储于旧块中的剩余页上的数据且以此数据编程新块中的剩余页 )、 标记旧块以用于擦 除且擦除旧块。
     所属领域的技术人员将理解, 部分页编程操作可因用以仅编程页的一部分的命令 而产生, 例如, 由所述命令起始。举例来说, 用以仅编程页的一部分的命令可在用以编程所 述页的剩余部分的命令已经被执行的情形下起始部分页编程操作。然而, 可通过根据本发 明的一个或一个以上实施例组合用以仅编程页的一部分的命令与用以编程所述页的剩余 部分的若干个命令来避免部分页编程操作, 例如, 可避免执行与上文所描述的部分页编程 操作相关联的操作的需要。举例来说, 涉及包括对应于主机的开始于 LBA 3000 的 4 个逻辑 扇区的存储器单元的页的部分页编程操作可通过根据本发明的一个或一个以上实施例组 合用以编程所述页中对应于所述主机的开始于 LBA 3000 的 2 个逻辑扇区的存储器单元的 命令与用以编程所述页中对应于所述主机的开始于 LBA 3002 的 2 个逻辑扇区的存储器单 元的命令而避免。
     在一个或一个以上实施例中, 命令处理器 204 可执行类似于后端通道处理器 211-1、 …、 211-N 所执行的功能的功能。举例来说, 命令处理器 204 可确定是否可修改命令 调度程序 208 中所保持的命令, 且可在将所述命令保持于命令调度程序 208 中时相应地修 改所述命令。如果可改变所述命令发送到后端通道的次序, 如果可将所述命令中的若干个 命令组合成单个命令, 如果所述命令中的若干个命令将被随后命令盖写等, 那么可修改所 述命令。修改所述命令可包括改变命令调度程序 208 将所述命令发送到后端通道的次序、 将命令调度程序 208 所接收的若干个可组合命令组合成单个命令、 删除命令调度程序 208 所接收的将被命令调度程序 208 所接收的随后命令盖写的若干个命令等。
     在一个或一个以上实施例中, 命令处理器 204 可在命令调度程序 208 不能够从主 机接收命令时执行这些功能, 例如, 可确定是否可修改命令调度程序 208 中所保持的命令 且可在将所述命令保持于命令调度程序 208 中时相应地修改所述命令。举例来说, 命令处 理器 204 可在命令调度程序 208 已满时执行这些功能。
     在一个或一个以上实施例中, 命令处理器 204 可确定命令调度程序 208 中所保持 的命令是否是不再由后端通道处理器 211-1、…、 211-N 修改的命令。如果命令处理器 204 确定命令调度程序 208 中所保持的若干个命令不再由后端通道处理器修改, 那么命令处理 器 204 可将这些命令标记 ( 例如, 加标签 ) 为不再由后端通道处理器修改的命令。当由命 令处理器 204 标记为不再被修改的命令保持于后端通道命令队列 215-1、…、 215-N 中时, 其将不被后端通道处理器 211-1、 …、 211-N 修改。举例来说, 如果后端通道命令队列 215-1 保持用以编程阵列中对应于主机的开始于 LBA 1000 的 48 个逻辑扇区的存储器单元的第一 命令及用以编程所述阵列中对应于所述主机的开始于 LBA 1040 的 16 个逻辑扇区的存储器 单元的第二命令, 且命令处理器 204 已将这些命令中的一者或两者标记为不再被修改的命 令, 那么后端通道处理器 211-1 将不修改 ( 例如, 组合 ) 这两个命令。不再被修改的命令可 包括 ( 举例来说 ) 为盖写操作的一部分的命令, 例如, 其中第一编程命令后跟读取命令且所 述读取命令后跟既定盖写初始编程命令的第二编程命令的操作。然而, 本发明的实施例并不如此受限制, 且不再被修改的命令可包括其它类型的命令。
     根据本发明的一个或一个以上实施例操作存储器装置可通过 ( 举例来说 ) 删除重 复命令且将多个命令组合成一个命令来减少执行若干个命令所使用的时间量, 借此增加所 述存储器装置的效率。另外, 由于后端通道可与存储器阵列 230-1、…、 230-N 紧密地耦合 ( 例如, 位于其附近 ), 因此可通过根据本发明的一个或一个以上实施例操作存储器装置来 增加所述存储器装置的效率。
     图 3 图解说明根据本发明一个或一个以上实施例的通道命令队列 315 的框图。在 一个或一个以上实施例中, 通道命令队列 315 可类似于图 2 中所示的后端通道命令队列 215-1、…、 215-N。
     如在图 3 中所示, 通道命令队列 315 包括通道命令时隙 1 325-1、 通道命令时隙 2 325-2、 通道命令时隙 3 325-3、 通道命令时隙 4 325-4、…、 通道命令时隙 M 325-M。每一 通道命令时隙 325-1、 325-2、 325-3、 325-4、 …、 325-M 可保持一个命令, 例如, 通道命令队列 315 可保持多达 M 个命令。在一个或一个以上实施例中, 如前文所描述, 可修改保持于通道 命令队列 315 中的命令。
     在一个或一个以上实施例中, 通道命令队列 315 中的时隙的数目 ( 例如, 通道命令 队列 315 可保持的命令的数目 ) 可等于通道命令队列 315 从其接收命令的装置 ( 例如, 图 2 中所示的命令调度程序 208) 可保持的命令的数目。举例来说, 如果命令调度程序 208 可 保持多达 32 个命令, 那么通道命令队列 315 可具有 32 个时隙, 例如, 通道命令队列 315 可 保持多达 32 个命令。然而, 本发明的实施例并不如此受限制, 且通道命令队列 315 可具有 不同数目个时隙。
     在一个或一个以上实施例中, 通道命令队列 315 可按将执行命令的次序保持所述 命令。在一个或一个以上实施例中, 通道命令队列 315 可按通道命令队列 315 接收命令的 次序保持所述命令。举例来说, 通道命令时隙 1 325-1 可保持将第一个执行及 / 或由通道 命令队列 315 第一个接收的命令, 通道命令时隙 1 325-2 可保持将在执行保持于通道命令 时隙 1 325-1 中的命令之后执行及 / 或在接收到保持于通道命令时隙 1 325-1 中的命令之 后接收到的命令, 通道命令时隙 2 325-3 可保持将在执行保持于通道命令时隙 2 325-2 中 的命令之后执行及 / 或在接收到保持于通道命令时隙 2 325-2 中的命令之后接收到的命令 等。
     图 4A 图解说明根据本发明一个或一个以上实施例的通道命令队列 415 的框图。 在 一个或一个以上实施例中, 通道命令队列 415 可类似于图 2 中所示的后端通道 1 命令队列 215-1、 …、 215-N 或图 3 中所示的通道命令队列 315。通道命令队列 415 包括通道命令时隙 425-1、 425-2、 425-3、 425-4、 425-5、 425-6、 425-7、 425-8、 …、 425-M, 所述通道命令时隙可类 似于图 3 中所示的通道命令时隙 1 325-1、 通道命令时隙 2 325-2、 通道命令时隙 3 325-3、 通道命令时隙 4 325-4、…、 通道命令时隙 M 325-M。
     在图 4A 所图解说明的实施例中, 每一通道命令时隙 425-1 到 425-M 保持命令。举 例来说, 通道命令时隙 425-1 正保持命令 1, 通道命令时隙 425-2 正保持命令 2 等。命令 1 是用以编程阵列中对应于主机的开始于 LBA 1000 的 16 个逻辑扇区 ( 例如, 来自所述主机 的 16 个数据逻辑扇区 ) 的存储器单元的命令。命令 2 是用以读取所述阵列中对应于所述 主机的开始于 LBA 2000 的 4 个逻辑扇区的存储器单元的命令。命令 3 是用以编程所述阵列中对应于所述主机的开始于 LBA 1000 的 48 个逻辑扇区的存储器单元的命令。命令 4 是 用以读取所述阵列中对应于所述主机的开始于 LBA 2002 的 10 个逻辑扇区的存储器单元的 命令。命令 5 是用以读取所述阵列中对应于所述主机的开始于 LBA 2000 的 16 个逻辑扇区 的存储器单元的命令。命令 6 是用以编程所述阵列中对应于所述主机的开始于 LBA 1040 的 16 个逻辑扇区的存储器单元的命令。命令 7 是用以编程所述阵列中对应于所述主机的 开始于 LBA 3000 的 2 个逻辑扇区的存储器单元的命令。命令 8 是用以编程所述阵列中对 应于所述主机的开始于 LBA 3002 的 2 个逻辑扇区的存储器单元的命令。
     可根据本发明的一个或一个以上实施例修改保持于通道命令队列 415 中的命令。 举例来说, 可将通道命令时隙 425-1、 425-3 及 425-6 中的命令组合成用以编程所述阵列中 对应于所述主机的开始于 LBA 1000 的 56 个逻辑扇区的存储器单元的命令 ( 例如, 单个命 令 )。可删除通道命令时隙 425-2 及 425-4 中的命令。可将通道命令时隙 425-7 及 425-8 中的命令组合成用以编程所述阵列中对应于所述主机的开始于 LBA 3000 的 4 个逻辑扇区 的存储器单元的单个命令。
     图 4B 图解说明在已根据本发明的一个或一个以上实施例修改图 4A 中所示的命令 之后的通道命令队列 415 的框图。如在图 4B 中所示, 保持于通道命令时隙 425-1 中的命令 1 是用以编程所述阵列中对应于所述主机的开始于 LBA 1000 的 56 个逻辑扇区的存储器单 元的命令, 保持于通道命令时隙 425-2 中的命令 2 是用以读取所述阵列中对应于所述主机 的开始于 LBA 2000 的 16 个逻辑扇区的存储器单元的命令, 且保持于通道命令时隙 425-3 中的命令 3 是用以编程所述阵列中对应于所述主机的开始于 LBA 3000 的 4 个逻辑扇区的 存储器单元的命令。 结论
     本发明包括用于修改命令的方法、 装置、 模块及系统。 一个装置实施例包括存储器 控制器, 所述存储器控制器包括通道, 其中所述通道包括经配置以保持命令的命令队列及 经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。
     尽管本文中已图解说明及描述了具体实施例, 但所属领域的技术人员将了解, 经 计算以实现相同结果的布置可替代所显示的具体实施例。 本发明既定涵盖本发明的一个或 一个以上实施例的更改或变化形式。应理解, 已以说明性方式而非限制性方式作出以上说 明。在审阅以上说明后, 所属领域的技术人员将明了以上实施例的组合及本文中未具体描 述的其它实施例。 本发明的一个或一个以上实施例的范围包括其中使用以上结构及方法的 其它应用。因此, 应参照所附权利要求书连同授权于此权利要求书的等效物的全部范围来 确定本发明的一个或一个以上实施例的范围。
     在前述实施方式中, 出于简化本发明的目的而将一些特征一起集合于单个实施例 中。 本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权 利要求中更多的特征的意图。 而是, 如以上权利要求书所反映, 发明性标的物在于少于单个 所揭示实施例的所有特征。 因此, 以上权利要求书借此并入实施方式中, 其中每一权利要求 独立地作为单独实施例。
    

修改命令.pdf_第1页
第1页 / 共19页
修改命令.pdf_第2页
第2页 / 共19页
修改命令.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《修改命令.pdf》由会员分享,可在线阅读,更多相关《修改命令.pdf(19页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102317928A43申请公布日20120111CN102317928ACN102317928A21申请号200980156842322申请日2009123012/351,20620090109USG06F13/16200601G06F9/30200601G06F12/0020060171申请人美光科技公司地址美国爱达荷州72发明人迈赫迪阿斯纳阿沙里74专利代理机构北京律盟知识产权代理有限责任公司11287代理人宋献涛54发明名称修改命令57摘要本发明包括用于修改命令的方法、装置、模块及系统。一个装置实施例包括存储器控制器,所述存储器控制器包括通道,其中所述通道包括经配置以。

2、保持命令的命令队列及经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。30优先权数据85PCT申请进入国家阶段日2011081586PCT申请的申请数据PCT/US2009/0067412009123087PCT申请的公布数据WO2010/080142EN2010071551INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书5页说明书9页附图4页CN102317935A1/5页21一种存储器控制器,其包含通道,其中所述通道包括命令队列,其经配置以保持命令;及电路,其经配置以修改所述队列中的至少若干个命令;及执行所述经修改命令。2根据权利要求1所述的存储器控制器。

3、,其中经配置以修改至少若干个命令的电路包含经配置以在所述若干个命令保持于所述队列中时修改所述若干个命令的电路。3根据权利要求1所述的存储器控制器,其中经配置以修改至少若干个命令的电路包含经配置以改变所述队列中的命令保持于所述队列中的次序的电路。4根据权利要求3所述的存储器控制器,其中经配置以执行所述经修改命令的电路包含经配置以根据所述已改变次序执行所述队列中的命令的电路。5根据权利要求1到4中任一权利要求所述的存储器控制器,其中所述电路进一步经配置以确定是否可修改所述队列中的命令。6根据权利要求1所述的存储器控制器,其中经配置以修改至少若干个命令的电路包含以下电路中的至少一者经配置以在可将所述。

4、队列中的若干个命令组合成一命令的情况下修改所述队列中的所述若干个命令的电路;或经配置以在所述队列中的若干个命令将被所述队列中的另一命令盖写的情况下修改所述队列中的所述若干个命令的电路。7根据权利要求6所述的存储器控制器,其中经配置以在可将所述队列中的若干个命令组合成一命令的情况下修改所述队列中的所述若干个命令的电路包含经配置以在可将所述队列中的若干个命令组合成单个命令的情况下修改所述队列中的所述若干个命令的电路。8根据权利要求6所述的存储器控制器,其中经配置以在可将所述队列中的若干个命令组合成一命令的情况下修改所述队列中的所述若干个命令的电路包含以下电路中的至少一者经配置以将若干个重叠命令组合。

5、成一命令的电路;或经配置以将若干个顺序命令组合成一命令的电路。9根据权利要求6到8中任一权利要求所述的存储器控制器,其中经配置以在所述队列中的若干个命令将被所述队列中的另一命令盖写的情况下修改所述队列中的所述若干个命令的电路包含经配置以进行以下操作的电路确定所述队列中的一命令是否将被所述队列中的另一个命令盖写;及删除将被所述另一个命令盖写的所述命令。10根据权利要求1到4中任一权利要求所述的存储器控制器,其中所述电路包括以下各项中的至少一者处理器;或专用集成电路。11一种存储器控制器,其包含权利要求书CN102317928ACN102317935A2/5页3通道,其中所述通道包括命令队列,其经。

6、配置以保持若干个命令;及处理器,其经配置以执行选自包括以下各项的功能群组的若干个功能改变将命令保持于所述队列中的次序;将所述队列中的若干个可组合命令组合成一命令;及删除所述队列中的将被所述队列中的另一个命令盖写的命令。12根据权利要求11所述的存储器控制器,其中经配置以执行选自所述功能群组的若干个功能的处理器包含经配置以执行选自所述功能群组的一个或一个以上功能的处理器。13根据权利要求11所述的存储器控制器,其中可组合命令包括重叠命令;及顺序命令。14根据权利要求11到13中任一权利要求所述的存储器控制器,其中所述通道为后端通道;且所述存储器控制器包括前端通道,其中所述前端通道包括命令调度程序。

7、;且所述命令调度程序经配置以将若干个命令发送到所述后端通道;且所述队列经配置以按所述命令调度程序将命令发送到所述后端通道的次序保持所述命令。15根据权利要求14所述的存储器控制器,其中所述队列经配置以保持等于所述命令调度程序可保持的命令的数目的数目个命令。16根据权利要求14所述的存储器控制器,其中所述命令调度程序经配置以从主机接收若干个命令;及按所述命令调度程序从所述主机接收所述命令的次序将所述命令发送到所述后端通道。17根据权利要求16所述的存储器控制器,其中所述前端通道包括命令处理器;且所述命令处理器经配置以执行选自包括以下各项的功能群组的若干个功能改变所述命令调度程序将命令发送到所述后。

8、端通道的所述次序;将所述命令调度程序从所述主机接收的若干个可组合命令组合成一命令;及删除所述命令调度程序从所述主机接收的将被所述命令调度程序从所述主机接收的另一个命令盖写的命令。18根据权利要求17所述的存储器控制器,其中所述命令处理器经配置以在所述命令调度程序不能够从所述主机接收命令时执行所述若干个功能。19根据权利要求18所述的存储器控制器,其中所述命令处理器经配置以在所述命令调度程序已满时执行所述若干个功能。20根据权利要求14所述的存储器控制器,其中所述前端通道包括命令处理器;且所述命令处理器经配置以确定是否不对所述命令调度程序中所保持的命令执行所述功能群组中的所述功能;及权利要求书C。

9、N102317928ACN102317935A3/5页4标记所述命令调度程序中所保持的不对其执行所述功能群组中的所述功能的命令。21根据权利要求20所述的存储器控制器,其中所述处理器经配置以不对经标记命令执行所述功能群组中的所述功能。22一种存储器控制器,其包含若干个后端通道,其中所述若干个后端通道包括命令队列,其经配置以保持若干个命令;及处理器,其经配置以修改所述命令队列中的命令,其中修改所述命令包括执行选自包括以下各项的功能群组的若干个功能改变将命令保持于所述队列中的次序;将所述队列中的重叠命令组合成一命令;将所述队列中的顺序命令组合成一命令;及删除所述队列中的将被所述队列中的另一个命令盖。

10、写的命令;及根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令。23根据权利要求22所述的存储器控制器,其中经配置以保持若干个命令的命令队列包含经配置以保持若干个读取命令的命令队列,其中所述若干个读取命令包括用以读取响应于先前读取命令先前所读取的存储于存储器阵列中的若干个存储器单元上的数据的命令,且其中所述存储器控制器进一步经配置以在不存取所述阵列的情况下执行所述用以读取先前所读取的数据的命令。24根据权利要求23所述的存储器控制器,其中所述若干个后端通道包括经配置以保持所述先前所读取的数据的数据缓冲器,且其中所述处理器经配置以通过存取所述数据缓冲器来执行所述若干个读取命令中的至少一。

11、者的至少一部分。25根据权利要求22所述的存储器控制器,其中所述存储器控制器包括前端通道;且所述前端通道包括耦合到所述若干个后端通道的前端直接存储器存取DMA。26根据权利要求25所述的存储器控制器,其中所述若干个后端通道包括通道DMA;且所述前端DMA耦合到所述通道DMA。27根据权利要求22到26中任一权利要求所述的存储器控制器,其中所述若干个后端通道包括经配置以将所述存储器控制器耦合到若干个存储器阵列的接口。28一种用于操作存储器装置的方法,其包含修改保持于队列中的若干个命令,其中修改所述若干个命令包括执行选自包括以下各项的功能群组的若干个功能改变将命令保持于所述队列中的次序;将所述队列。

12、中的若干个可组合命令组合成一命令;及删除所述队列中的将被所述队列中的另一个命令盖写的命令;及根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令。29根据权利要求28所述的方法,其中改变将命令保持于所述队列中的次序包括按将执行所述命令的次序来排序所述命令;权利要求书CN102317928ACN102317935A4/5页5且根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令包括根据将执行所述命令的所述次序来执行所述命令。30根据权利要求28所述的方法,其中将所述队列中的若干个可组合命令组合成一命令包括将所述队列中的若干个可组合命令组合成单个命令。31根据权利要求28所述的方法。

13、,其中组合所述若干个可组合命令包括组合重叠命令;及组合顺序命令。32根据权利要求28到31中任一权利要求所述的方法,其中所述方法包括在正执行所述经修改命令时在所述队列中接收额外命令;及在正执行所述经修改命令时修改所述额外命令。33根据权利要求28到31中任一权利要求所述的方法,其中执行所述经修改命令包括执行所述经修改命令以对存储器阵列进行操作。34一种用于操作存储器装置的方法,其包含将保持于队列中的若干个可组合命令组合成一命令,借此避免部分页编程操作。35根据权利要求34所述的方法,其中将所述若干个可组合命令中的每一者与特定存储器单元页的一部分相关联。36根据权利要求34到35中任一权利要求所。

14、述的方法,其进一步包含执行所述经组合命令。37一种用于操作存储器装置的方法,其包含在位于存储器控制器的后端通道中的队列中接收若干个命令;修改所述队列中的所述若干个命令;及执行所述经修改命令。38根据权利要求37所述的方法,其中修改所述队列中的所述若干个命令包括改变所述若干个命令的次序;且执行所述经修改命令包括根据所述已改变次序执行所述若干个命令。39根据权利要求37所述的方法,其中在所述队列中接收若干个命令包括接收与重叠逻辑块地址LBA相关联的若干个命令;且修改所述队列中的所述若干个命令包括将与重叠LBA相关联的所述若干个命令组合成单个命令。40根据权利要求37所述的方法,其中在所述队列中接收。

15、若干个命令包括接收与顺序逻辑块地址LBA相关联的若干个命令;且修改所述队列中的所述若干个命令包括将与顺序LBA相关联的所述若干个命令组合成单个命令。41根据权利要求37所述的方法,其中在所述队列中接收若干个命令包括接收与特定逻辑块地址LBA相关联的第一命令;及权利要求书CN102317928ACN102317935A5/5页6在所述第一命令之后接收与所述特定LBA相关联的第二命令;且修改所述队列中的所述若干个命令包括删除所述第一命令。42根据权利要求37到41中任一权利要求所述的方法,其中在所述队列中接收若干个命令包括从前端通道接收若干个命令。权利要求书CN102317928ACN102317。

16、935A1/9页7修改命令技术领域0001本发明一般来说涉及半导体存储器装置、方法及系统,且更特定来说涉及修改命令。背景技术0002通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包括易失性及非易失性存储器。易失性存储器可需要电力来维持其数据,且可包括随机存取存储器RAM、动态随机存取存储器DRAM及同步动态随机存取存储器SDRAM以及其它存储器。非易失性存储器可通过在不被供电时保留所存储的信息来提供永久性数据,且可包括NAND快闪存储器、NOR快闪存储器、只读存储器ROM、电可擦除可编程ROMEEPROM、可擦除可编程ROMEPROM及相变随机存取。

17、存储器PCRAM以及其它存储器。0003可将存储器装置组合在一起以形成固态驱动器SSD。SSD可包括非易失性存储器例如,NAND快闪存储器及NOR快闪存储器及/或可包括易失性存储器例如,DRAM及SRAM以及各种其它类型的非易失性及易失性存储器。0004SSD可用于取代硬盘驱动器作为计算机的主存储装置,因为SSD可在举例来说性能、大小、重量、耐用性、操作温度范围及功率消耗方面具有胜于硬驱动器的优点。举例来说,SSD在与磁盘驱动器比较时因其缺少移动部件而可具有优越的性能,缺少移动部件可改善与磁盘驱动器相关联的搜寻时间、等待时间及其它机电延迟。SSD制造商可使用非易失性快闪存储器来形成快闪SSD,。

18、所述快闪SSD可不使用内部电池电源,因此允许所述驱动器更通用且更小型。0005SSD可包括若干个存储器装置,例如若干个存储器芯片本文所用“若干个”某物可指代一个或一个以上此物,例如,若干个存储器装置可指代一个或一个以上存储器装置。所属领域的技术人员将了解,存储器芯片可包括若干个裸片。每一裸片可包括若干个存储器阵列及其上的外围电路。存储器阵列可包括若干个平面,其中每一平面包括若干个存储器单元物理块。每一物理块可包括可存储若干个数据扇区的若干个存储器单元页。0006在SSD的操作期间,可使用例如编程命令、读取命令及擦除命令等命令以及其它命令。举例来说,可使用编程例如,写入命令将数据编程于固态驱动器。

19、上,可使用读取命令读取固态驱动器上的数据,且可使用擦除命令擦除固态驱动器上的数据。附图说明0007图1图解说明根据本发明的一个或一个以上实施例的存储器系统的框图。0008图2图解说明可根据本发明的一个或一个以上实施例操作的存储器控制器的功能框图。0009图3图解说明根据本发明的一个或一个以上实施例的通道命令队列的框图。0010图4A及4B图解说明根据本发明的一个或一个以上实施例的通道命令队列的框说明书CN102317928ACN102317935A2/9页8图。具体实施方式0011本发明包括用于修改命令的方法、装置、模块及系统。一个装置实施例包括存储器控制器,所述存储器控制器包括通道,其中所述。

20、通道包括经配置以保持命令的命令队列及经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。0012在本发明的以下详细说明中,参照形成本发明的一部分且其中以图解说明方式显示可如何实践本发明的一个或一个以上实施例的附图。充分详细地描述这些实施例以使得所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可作出过程、电及/或结构改变,而不背离本发明的范围。如本文中所使用,标示符“N”及“M”特定来说关于图式中的参照编号指示本发明的一个或一个以上实施例可包括如此标示的特定特征的数目。所述标示符可表示相同数目个或不同数目个特定特征。0013本文中的图遵循以下编号惯例其中第一个。

21、数字或前几个数字对应于图式图编号,且其余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,101可指代图1中的元件“10”,且类似元件在图2中可标号为201。如将了解,可添加、交换及/或消除本文中各种实施例中所示的元件以便提供本发明的若干个额外实施例。另外,如将了解,所述图中所提供的所述元件的比例及相对比例尺打算图解说明本发明的实施例而不应被视为具有限制意义。0014图1图解说明根据本发明的一个或一个以上实施例的存储器系统120的框图。在一个或一个以上实施例中,存储器系统120可为固态驱动器。图1的实施例图解说明存储器系统120的一个实施例的组件及架构。。

22、在图1中所图解说明的实施例中,存储器系统120包括控制器101、接口连接器103及存储器阵列1301、130N。在一个或一个以上实施例中,存储器系统120可包括用以装纳存储器系统120的外壳,但此外壳并非是基本的。0015可使用接口连接器103在存储器系统120与另一装置例如,计算装置之间传递信息。举例来说,当存储器系统120用于计算装置中的数据存储时,接口103可为串行高级技术附件SATA以及其它。0016控制器101可与存储器阵列1301、130N通信以在存储器阵列1301、130N上执行读取、编程例如,写入及擦除操作及其它操作。控制器101可用于管理存储器系统120中的操作。控制器101。

23、可具有可为若干个集成电路的电路。控制器101也可具有可为若干个离散组件的电路。对于一个或一个以上实施例,控制器101中的电路可包括用于控制跨越若干个存储器阵列的存取的控制电路。控制器101中的电路也可包括用于提供外部主机与存储器系统120之间的翻译层的控制电路。因此,存储器控制器可选择性地耦合存储器阵列的I/O连接未在图1中显示以在适当时间在适当I/O连接处接收适当信号。类似地,主机与存储器系统120之间的通信协议可不同于存取存储器阵列例如,存储器阵列1301、130N所需的协议。然后,存储器控制器101可将从主机接收的命令翻译成适当命令以实现对存储器阵列的所要存取。0017存储器阵列1301。

24、、130N可为各种类型的易失性及非易失性存储器阵列例如,快闪及DRAM阵列以及其它阵列。在一个或一个以上实施例中,存储器阵列1301、130N可为固态存储器阵列。存储器阵列1301、130N可包括可按单位分组的若干个说明书CN102317928ACN102317935A3/9页9存储器单元。如本文所用,单位可包括若干个存储器单元,例如页、物理块、平面、整个阵列或其它存储器单元群组。举例来说,存储器阵列可包括若干个平面,其中每一平面包括若干个物理块。每一物理块中的存储器单元可作为单位一起擦除,例如,可以大致同时的方式擦除每一物理块中的单元。举例来说,可在单个操作中一起擦除每一物理块中的单元。物理。

25、块可包括若干个页。每一页中的存储器单元可作为单位一起编程,例如,可以大致同时的方式编程每一页中的单元。每一页中的存储器单元也可作为单位一起读取。作为实例,128GB存储器装置可包括每页4314个数据字节,每物理块128个页,每平面2048个物理块,且每装置16个平面。然而,实施例并不限于此实例。0018存储器系统的物理扇区可对应于逻辑扇区且可包括开销信息例如,错误校正码ECC信息及逻辑块地址LBA信息以及用户数据。所属领域的技术人员将了解,逻辑块寻址是主机识别信息逻辑扇区通常使用的方案。作为实例,每一物理扇区可存储表示若干个数据字节的信息,例如,256个字节、512个字节或1,024个字节以及。

26、其它数目个字节。然而,本发明的实施例并不限于存储于物理扇区中或与逻辑扇区相关联的特定数目个数据字节。0019图2图解说明可根据本发明的一个或一个以上实施例操作的存储器控制器201的功能框图。在一个或一个以上实施例中,存储器控制器201可为固态驱动器控制器。在一个或一个以上实施例中,存储器控制器201可类似于图1中所示的控制器101。0020如在图2中所示,存储器控制器201包括前端部分及后端部分。所述前端部分可对应于前端通道,且所述后端部分可对应于若干个后端通道,例如后端通道12101、后端通道N210N。存储器控制器201可使用前端通道及后端通道来与存储器阵列2301、230N通信以在存储器。

27、阵列2301、230N上执行读取、编程例如,写入及擦除操作以及其它操作。在一个或一个以上实施例中,存储器阵列2301、230N可为固态存储器阵列。在一个或一个以上实施例中,存储器阵列2301、230N可类似于图1中所示的存储器阵列1301、130N。0021如在图2中所示,控制器201的前端部分例如,前端通道包括主机接口202、命令处理器204、前端直接存储器存取DMA206及命令调度程序208。后端通道2101、210N可包括后端通道处理器2111、211N、后端通道DMA2131、213N、后端通道命令队列2151、215N、数据缓冲器2171、217N及ECC引擎/阵列接口2191、21。

28、9N。尽管图2中所示的实施例将每一后端通道2101、210N图解说明为包括后端通道处理器,但本发明的实施例并不如此受限制。举例来说,所述后端部分可包括可对每一后端通道2101、210N进行操作的电路,例如,单个后端处理器或硬件逻辑,例如专用集成电路ASIC。0022在图2中所图解说明的实施例中,所述前端通道可经由前端DMA206及命令调度程序208耦合到后端通道,例如后端通道2101、210N。举例来说,前端DMA206可耦合到后端通道处理器2111、211N及后端通道DMA2131、213N。命令调度程序208可耦合到后端通道命令队列2151、215N。可使用主机接口202在控制器201与主。

29、机装置未显示,例如计算装置之间传递信息。在一个或一个以上实施例中,可使用主机接口202经由接口连接器例如,图1中所示的接口连接器103在控制器201与所述主机装置之间传递信息。说明书CN102317928ACN102317935A4/9页100023在一个或一个以上实施例中,在主机装置与控制器201之间传递的信息可包括若干个命令,例如编程命令、读取命令及擦除命令以及其它命令。可使用编程例如,写入命令在存储器阵列2301、230N上编程数据,可使用读取命令读取存储器阵列2301、230N上的数据,且可使用擦除命令擦除存储器阵列2301、230N上的数据。所述命令可包括指示被命令的操作类型例如,编。

30、程、读取或擦除、数量例如,逻辑扇区的数目及所述命令的执行将开始的位置例如,开始地址的信息以及其它信息。如果所述命令为编程命令,那么所述命令可后跟未必紧接着将编程到对应存储器单元的数据。在一个或一个以上实施例中,所述数量可为主机的对应于若干个存储器单元的若干个逻辑扇区。在一个或一个以上实施例中,所述命令中所包括的“位置”可为逻辑块地址LBA。0024数据缓冲器2171、217N可经由主机接口202、前端DMA206及后端通道DMA2131、213N从主机接收将在存储器阵列2301、230N上编程的数据。所述数据可经由ECC引擎/阵列接口2191、219N从数据缓冲器2171、217N发送到存储器。

31、阵列2301、230N。0025在一个或一个以上实施例中,LBA可与主机的逻辑扇区相关联,例如,主机的每一逻辑扇区可与特定LBA相关联。举例来说,LBA1000可与第一逻辑扇区相关联,LBA1001可与第二逻辑扇区相关联,LBA1002可与第三逻辑扇区相关联等。作为进一步实例,用以编程所述阵列中对应于开始于LBA1000的16个逻辑扇区的存储器单元的命令可编程与LBA1000到1016相关联的存储器单元,例如,对应于与LBA1000到1016相关联的逻辑扇区的存储器单元。0026命令调度程序208可经由主机接口202从主机接收若干个命令。命令调度程序208可保持所述所接收的命令,且将所述命令发。

32、送到适当后端通道2101、210N。举例来说,后端通道队列2151、215N可从命令调度程序208接收所述命令。在一个或一个以上实施例中,后端通道2101、210N可按命令调度程序208从主机接收所述命令的次序接收所述命令。在一个或一个以上实施例中,命令调度程序208可保持多达特定数目个命令,且如果命令调度程序208正保持所述特定数目个命令例如,如果命令调度程序208已满,那么命令调度程序208可不能够从主机接收命令。0027在一个或一个以上实施例中,后端通道命令队列2151、215N可保持从命令调度程序208接收的若干个命令。在一个或一个以上实施例中,所述队列可按将执行所述命令的次序保持所述。

33、命令。在一个或一个以上实施例中,所述队列可按从所述命令调度程序接收所述命令的次序保持所述命令。在一个或一个以上实施例中,每一队列可保持等于命令调度程序208可保持的若干个命令的若干个命令。举例来说,在一个或一个以上实施例中,命令调度程序208及所述队列可各自保持多达32个命令。然而,本发明的实施例并不限于特定数目个命令。0028根据一个或一个以上实施例,后端通道处理器2111、211N可确定是否可修改保持于所述队列中的命令,且可例如在所述命令保持于所述队列中时相应地对所述命令进行修改。在一个或一个以上实施例中,如果可改变命令保持于队列中的次序,如果可将队列中的命令中的若干个命令组合成一命令例如。

34、,单个命令,或如果队列中的命令中的若干个命令将被队列中的随后命令盖写,那么可修改所述命令。在一个或一个以上实施例中,修改命令可包括改变命令保持于队列中的次序;将队列中的若干个可组合命令说明书CN102317928ACN102317935A5/9页11组合成单个命令;或删除队列中的将被队列中的随后命令盖写的若干个命令;以及其它修改。0029在一个或一个以上实施例中,如果保持于队列中的命令是重叠命令,那么所述命令是可组合的,例如,可被组合成单个命令。如本文所用,重叠命令是与重叠地址例如,重叠逻辑块地址LBA相关联的若干个命令。举例来说,重叠命令可包括与存储器阵列中将在其上执行所述命令的共用位置相关。

35、联的命令。具体实例包括用以编程阵列中对应于主机的开始于逻辑块地址LBA1000的48个逻辑扇区例如,来自所述主机的48个数据逻辑扇区的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于LBA1040的16个逻辑扇区的存储器单元的第二命令。所述第一命令与第二命令是重叠命令,因为两个命令均与开始于LBA1040的相同8个逻辑扇区相关联。因此,可将这两个命令组合成用以编程对应于开始于LBA1000的56个逻辑扇区的存储器单元的单个命令。可组合保持于所述队列中的重叠命令而不管将其接收于所述队列中的次序如何。0030在一个或一个以上实施例中,如果保持于队列中的命令是顺序命令,那么所述命令是可。

36、组合的,例如,可组合成单个命令。如本文所用,顺序命令是与将在其上执行所述命令的顺序地址例如,顺序LBA相关联的若干个命令。举例来说,顺序命令可包括与紧在与其它命令中的一者相关联的逻辑扇区之前或紧在其之后的逻辑扇区相关联的命令。具体实例包括用以编程阵列中对应于主机的开始于LBA1000的16个逻辑扇区的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于LBA1016的32个逻辑扇区的存储器单元的第二命令。所述第一命令与第二命令是顺序命令,因为与所述第一命令相关联的地址紧在与所述第二命令相关联的地址之前,例如,与所述第二命令相关联的位置紧在与所述第一命令相关联的位置之后。因此,可将这两。

37、个命令组合成用以编程对应于所述主机的开始于LBA1000的48个逻辑扇区的存储器单元的单个命令。可组合保持于所述队列中的顺序命令而不管将其接收于所述队列中的次序如何。0031在一个或一个以上实施例中,如果队列中的第一命令及所述队列中的随后命令两者与将在其上执行所述命令的同一地址例如,同一LBA相关联,那么所述第一命令将被所述随后命令盖写。举例来说,用以编程阵列中对应于主机的开始于LBA1000的16个逻辑扇区的存储器单元的第一命令将被用以编程所述阵列中对应于所述主机的开始于LBA1000的16个逻辑扇区的存储器单元的随后命令盖写,因为所述第一命令及所述随后命令两者与同一地址相关联。因此,可删除。

38、所述第一命令。0032在一个或一个以上实施例中,如果与队列中的第一命令相关联的地址在与所述队列中的随后命令相关联的地址范围内,那么所述第一命令将被所述随后命令盖写。举例来说,用以编程阵列中对应于主机的开始于LBA1000的16个逻辑扇区的存储器单元的第一命令将被用以编程所述阵列中对应于所述主机的开始于LBA1000的48个逻辑扇区的存储器单元的随后命令盖写。因此,可删除所述第一命令。0033后端通道处理器2111、211N可根据经修改命令保持于队列中的次序执行所述经修改命令。举例来说,如果通过改变命令保持于队列中的次序来修改所述命令,那么后端通道处理器可根据所述已改变次序来执行所述命令。如果通。

39、过将命令中的若干个命令组合成单个命令来修改所述命令,那么后端通道处理器可执行所述单个命令而非单独地执行所述若干个命令。如果通过删除将被随后命令盖写的命令来修改命令,那么后端通道处理说明书CN102317928ACN102317935A6/9页12器可执行所述随后命令而非所述已删除的命令。0034在一个或一个以上实施例中,如果通过将保持于后端通道命令队列2151、215N中的命令中的若干个命令组合成单个命令来修改所述命令,那么可认为命令调度程序208中所保持的也可与所述单个命令组合的任何命令已完成。后端通道处理器2111、211N可向命令处理器204通信此些命令已完成。举例来说,如果将队列215。

40、1中用以编程阵列中对应于主机的开始于LBA1000的48个逻辑扇区的存储器单元的第一命令与队列215N中用以编程所述阵列中对应于所述主机的开始于LBA1040的16个逻辑扇区的存储器单元的第二命令组合成单个命令例如,用以编程对应于所述主机的开始于LBA1000的56个逻辑扇区的存储器单元的命令,那么可认为命令调度程序208中所保持的用以编程对应于所述主机的开始于LBA1000的16个逻辑扇区的存储器单元的命令已完成,例如,后端通道处理器2111可向命令处理器204通信此命令已完成,因为此命令可与所述单个命令组合。0035后端通道处理器2111、211N也可根据经修改命令修改将在存储器阵列230。

41、1、230N上编程的数据。举例来说,后端通道处理器2111、211N可修改所述数据以匹配所述经修改命令。后端通道处理器2111、211N可在数据缓冲器2171、217N接收到所述数据之前例如,在所述数据正被从前端DMA206发送到数据缓冲器2171、217N时修改所述数据。后端通道处理器2111、211N也可在所述数据被从数据缓冲器2171、217N发送到存储器阵列2301、230N之后修改所述数据。0036在一个或一个以上实施例中,后端通道命令队列2151、215N可在后端通道处理器2111、211N正在执行经修改命令时保持从命令调度程序208接收的额外命令。后端通道处理器2111、211N。

42、可在执行所述经修改命令时修改所述额外命令。0037可使用ECC引擎/阵列接口2191、219N将存储器控制器201耦合到存储器阵列2301、230N。后端通道处理器2111、211N可经由ECC引擎/阵列接口2191、219N在存储器阵列2301、230N上执行经修改命令。尽管图2中所示的实施例将命令图解说明为穿过后端通道处理器2111、211N行进,但本发明的实施例并不如此受限制。举例来说,所述命令可经由ECC引擎/阵列接口2191、219N直接从后端通道命令队列2151、215N行进到存储器阵列2301、230N。0038数据缓冲器2171、217N可保持在若干个先前读取操作期间所读取的数。

43、据,例如,响应于先前读取命令在位于存储器阵列2301、230N中的若干个存储器单元上执行的读取。在一个或一个以上实施例中,保持于后端通道命令队列2151、215N中的命令可包括用以读取先前已经读取的若干个存储器单元例如,所述存储器单元的数据已经保持于数据缓冲器2171、217N中的若干个命令。在此些实施例中,后端通道处理器2111、211N可通过例如在不存取存储器阵列2301、230N的情况下存取数据缓冲器2171、217N或通过仅针对不在所述数据缓冲器中的数据而仅存取所述存储器阵列来执行这些读取命令。0039在一个或一个以上实施例中,通过将若干个可组合命令组合成单个命令来修改命令可消除或减少。

44、存储器系统所执行的部分页编程操作的数目,此可改善所述系统的总性能及/或可靠性。所属领域的技术人员将理解,部分页编程操作可包括定位新块、将存储于位于旧块中的页上的数据读取到数据缓冲器中、将所述数据缓冲器中的数据与新数据合并及说明书CN102317928ACN102317935A7/9页13/或用新数据取代所述数据缓冲器中的数据以使得所述数据缓冲器中的数据包括新数据及从旧块中的页读取的数据两者,且以所述数据缓冲器中的数据编程新块中的页。所述部分页编程操作还可包括将存储于旧块中的剩余页上的数据传送到新块中的剩余页例如,读取存储于旧块中的剩余页上的数据且以此数据编程新块中的剩余页、标记旧块以用于擦除且。

45、擦除旧块。0040所属领域的技术人员将理解,部分页编程操作可因用以仅编程页的一部分的命令而产生,例如,由所述命令起始。举例来说,用以仅编程页的一部分的命令可在用以编程所述页的剩余部分的命令已经被执行的情形下起始部分页编程操作。然而,可通过根据本发明的一个或一个以上实施例组合用以仅编程页的一部分的命令与用以编程所述页的剩余部分的若干个命令来避免部分页编程操作,例如,可避免执行与上文所描述的部分页编程操作相关联的操作的需要。举例来说,涉及包括对应于主机的开始于LBA3000的4个逻辑扇区的存储器单元的页的部分页编程操作可通过根据本发明的一个或一个以上实施例组合用以编程所述页中对应于所述主机的开始于。

46、LBA3000的2个逻辑扇区的存储器单元的命令与用以编程所述页中对应于所述主机的开始于LBA3002的2个逻辑扇区的存储器单元的命令而避免。0041在一个或一个以上实施例中,命令处理器204可执行类似于后端通道处理器2111、211N所执行的功能的功能。举例来说,命令处理器204可确定是否可修改命令调度程序208中所保持的命令,且可在将所述命令保持于命令调度程序208中时相应地修改所述命令。如果可改变所述命令发送到后端通道的次序,如果可将所述命令中的若干个命令组合成单个命令,如果所述命令中的若干个命令将被随后命令盖写等,那么可修改所述命令。修改所述命令可包括改变命令调度程序208将所述命令发送。

47、到后端通道的次序、将命令调度程序208所接收的若干个可组合命令组合成单个命令、删除命令调度程序208所接收的将被命令调度程序208所接收的随后命令盖写的若干个命令等。0042在一个或一个以上实施例中,命令处理器204可在命令调度程序208不能够从主机接收命令时执行这些功能,例如,可确定是否可修改命令调度程序208中所保持的命令且可在将所述命令保持于命令调度程序208中时相应地修改所述命令。举例来说,命令处理器204可在命令调度程序208已满时执行这些功能。0043在一个或一个以上实施例中,命令处理器204可确定命令调度程序208中所保持的命令是否是不再由后端通道处理器2111、211N修改的命。

48、令。如果命令处理器204确定命令调度程序208中所保持的若干个命令不再由后端通道处理器修改,那么命令处理器204可将这些命令标记例如,加标签为不再由后端通道处理器修改的命令。当由命令处理器204标记为不再被修改的命令保持于后端通道命令队列2151、215N中时,其将不被后端通道处理器2111、211N修改。举例来说,如果后端通道命令队列2151保持用以编程阵列中对应于主机的开始于LBA1000的48个逻辑扇区的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于LBA1040的16个逻辑扇区的存储器单元的第二命令,且命令处理器204已将这些命令中的一者或两者标记为不再被修改的命令,那。

49、么后端通道处理器2111将不修改例如,组合这两个命令。不再被修改的命令可包括举例来说为盖写操作的一部分的命令,例如,其中第一编程命令后跟读取命令且所述读取命令后跟既定盖写初始编程命令的第二编程命令的操作。然而,本发明的实施例并说明书CN102317928ACN102317935A8/9页14不如此受限制,且不再被修改的命令可包括其它类型的命令。0044根据本发明的一个或一个以上实施例操作存储器装置可通过举例来说删除重复命令且将多个命令组合成一个命令来减少执行若干个命令所使用的时间量,借此增加所述存储器装置的效率。另外,由于后端通道可与存储器阵列2301、230N紧密地耦合例如,位于其附近,因此可通过根据本发明的一个或一个以上实施例操作存储器装置来增加所述存储器装置的效率。0045图3图解说明根据本发明一个或一个以上实施例的通道命令队列315的框图。在一个或一个以上实施例中,通道命令队列315可类似于图2中所示的后端通道命令队列2151、215N。0046如在图3中所示,通道命令队列315包括通道命令时隙13251、通道命令时隙23252、通道命令时隙33253、通道命令时隙43254、通道命令时隙M325M。每一通道命令时隙325。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1