用于管理型非易失性存储器的地址映射的体系结构.pdf

上传人:b*** 文档编号:974112 上传时间:2018-03-22 格式:PDF 页数:29 大小:692.01KB
返回 下载 相关 举报
摘要
申请专利号:

CN200980157384.5

申请日:

2009.11.24

公开号:

CN102326154A

公开日:

2012.01.18

当前法律状态:

授权

有效性:

有权

法律详情:

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

IPC分类号:

G06F12/02; G06F12/06; G06F13/16

主分类号:

G06F12/02

申请人:

苹果公司

发明人:

塔霍马·托尔科斯; 尼尔·雅各布·瓦卡拉特; 肯尼思·L·赫曼; 巴利·科勒帝; 威蒂姆·克梅尔尼特斯基; 安东尼·珐; 丹尼尔·杰弗里·波斯特; 张晓翰

地址:

美国加利福尼亚州

优先权:

2008.12.23 US 61/140,436; 2009.11.06 US 12/614,369

专利代理机构:

北京东方亿思知识产权代理有限责任公司 11258

代理人:

宗晓斌

PDF下载: PDF下载
内容摘要

所公开的体系结构使用地址映射来将主机接口上的块地址映射到非易失性存储器(NVM)器件的内部块地址。块地址被映射到用于选择由该块地址标识的同时可寻址单元(CAU)的内部芯片选择。所公开的体系结构支持用于读、写、擦除和获取状态操作的一般性NVM命令。该体系结构还支持用于支持平衡利用多CAU体系结构的读写操作的扩展命令集。

权利要求书

1: 一种非易失性存储器 (NVM) 封装件, 包括 : 接口, 可操作来接收块地址 ; 多个同时访问单元, 每个同时访问单元包含多个块 ; 以及 耦合到所述接口和所述多个同时可寻址单元的处理器, 所述处理器可操作来将块地址 映射到由所述块地址标识的所述多个同时可寻址单元中的一个同时可寻址单元中的块。
2: 如权利要求 1 所述的封装件, 还包括 : 主机接口, 可操作来从耦合到所述主机接口的主机处理器接收主机芯片使能信号, 其 中, 所述处理器可操作来将所述主机芯片使能信号映射到在所述同时可寻址单元中的一个 同时可寻址单元内的芯片使能信号, 该内部芯片使能信号用于激活该同时可寻址单元。
3: 如权利要求 2 所述的封装件, 其中, 该映射是利用由行程参数和跨度参数定义的映 射关系来执行的, 其中, 所述行程参数是利用所述主机芯片使能信号可访问的同时可寻址 单元的数目, 所述跨度参数是一个同时可寻址单元内的用于操作命令的块数。
4: 如权利要求 1 所述的封装件, 其中, 所述处理器从所述接口接收用于读或写操作的 命令, 该操作是用于在一个或多个同时可寻址单元上执行同时基元事务处理的读或写命令 的序列。
5: 如权利要求 4 所述的封装件, 其中, 从该同时可寻址单元读取的或者写入该同时可 寻址单元的数据量等于该同时可寻址单元的跨度参数 N 与如下字节数之积 : 所述字节数等 于页大小加上与允许用于元数据的页相关联的字节数, 其中, N 是表示要读取或写入的页的 数目的正整数, 并且跨度是该同时可寻址单元内的用于操作命令的块数。
6: 如权利要求 1 所述的封装件, 还包括 : 纠错引擎, 用于对从同时可寻址单元读取的或写入同时可寻址单元的日期块应用纠 错。
7: 如权利要求 6 所述的封装件, 其中, 所述检错和纠错引擎被包括在同时可寻址单元 中的一个或多个同时可寻址单元中。
8: 如权利要求 1 所述的封装件, 还包括 : 流水线管理引擎, 用于管理同时可寻址单元的吞吐量。
9: 如权利要求 1 所述的封装件, 其中, 所述 NVM 封装件是管理型 NAND。
10: 如权利要求 1 所述的封装件, 其中, 所述处理器对两个或更多个同时可寻址单元执 行同时读或写操作。
11: 一种由耦合到主机处理器的非易失性存储器 (NVM) 封装件执行的方法, 包括 : 从所述主机处理器接收块地址 ; 以及 将所述块地址映射到由所述块地址标识的多个同时可寻址单元中的一个同时可寻址 单元中的块。
12: 如权利要求 11 所述的方法, 还包括 : 从所述主机处理器接收主机芯片使能信号 ; 以及 将所述主机芯片使能信号映射到在所述同时可寻址单元中的一个同时可寻址单元内 的芯片使能信号 ; 以及 激活该内部芯片使能信号。
13: 如权利要求 12 所述的方法, 其中, 该映射是利用由行程参数和跨度参数定义的映 2 射关系来执行的, 其中, 所述行程参数是利用所述主机芯片使能信号可访问的同时可寻址 单元的数目, 所述跨度参数是一个同时可寻址单元内的用于操作命令的块数。
14: 如权利要求 11 所述的方法, 还包括 : 接收用于读或写操作的命令 ; 以及 根据该命令在一个或多个同时可寻址单元上执行一个或多个同时基元事务处理。
15: 如权利要求 14 所述的方法, 其中, 从该同时可寻址单元读取或者写入该同时可寻 址单元的数据量等于该同时可寻址单元的跨度参数 N 与如下字节数之积 : 所述字节数等于 页大小加上与允许用于元数据的页相关联的字节数, 其中, N 是表示要读取或写入的页的数 目的正整数, 并且跨度是该同时可寻址单元内的用于操作命令的块数。
16: 如权利要求 11 所述的封装件, 还包括 : 对从同时可寻址单元读取的或写入同时可寻址单元的数据块应用纠错。
17: 一种非易失性存储器 (NVM) 封装件, 包括 : 接口, 可操作来从耦合到该接口的主机处理器接收块地址和第一芯片使能信号 ; 多个同时访问单元, 每个同时访问单元包含多个块 ; 以及 处理器, 耦合到所述接口和所述多个同时可寻址单元, 其中, 响应于来自所述主机处理 器的所述芯片使能信号, 所述处理器利用第一内部芯片选择使能信号来激活第一同时可寻 址单元, 利用第二内部芯片选择使能信号来激活第二同时可寻址单元, 将所述块地址映射 到被激活的第一同时可寻址单元和第二同时可寻址单元中的块, 并且执行用于在被激活的 第一同时可寻址单元和第二同时可寻址单元中的所述块上同时执行读或写操作的命令序 列。
18: 如权利要求 17 所述的封装件, 其中, 所述 NVM 封装件是管理型 NAND 封装件。
19: 一种对存储在非易失性存储器 (NVM) 封装件中的数据进行操作的系统, 包括 : 接口, 用于向所述 NVM 封装件发送参数请求, 所述 NVM 封装件包括多个同时可寻址单 元, 并且所述接口用于接收行程参数和跨度参数, 其中所述行程参数指示所述 NVM 封装件 内的利用由主机处理器提供的单个芯片使能信号可访问的同时可寻址单元的数目, 并且其 中所述跨度参数指示一个同时可寻址单元内的用于操作命令的块数 ; 以及 耦合到所述接口的处理器, 所述处理器可操作来向所述 NVM 封装件发送用于在一个或 多个同时可寻址单元上同时执行基元事务处理的命令序列, 所述命令序列包括由所述主机 处理器基于所述行程参数和所述跨度参数生成的地址。
20: 如权利要求 19 所述的系统, 其中, 所述处理器可操作来向所述 NVM 封装件发送带有 写命令的数据, 其中, 数据的大小等于跨度 N 与如下字节数之积 : 所述字节数等于页大小加 上与允许用于元数据的每个页大小相关联的字节数, 其中, N 是表示要写入的页的数目的正 整数。
21: 如权利要求 19 所述的系统, 其中, 所述处理器可操作来向所述 NVM 封装件发送读 命令, 其中, 要读取的数据大小等于跨度 N 与如下字节数之积 : 所述字节数等于页大小加上 N 是表示要读取的页的数目的正整 与允许用于元数据的每个页大小相关联的字节数, 其中, 数。
22: 一种由耦合到非易失性存储器 (NVM) 封装件的主机处理器执行的方法, 包括 : 向所述 NVM 封装件发送对参数请求, 所述 NVM 封装件包括多个同时可寻址单元 ; 3 作为该请求的响应, 接收行程参数和跨度参数, 其中所述行程参数指示所述 NVM 封装 件内的利用由所述主机处理器提供的单个芯片使能信号可访问的同时可寻址单元的数目, 并且其中所述跨度参数指示一个同时可寻址单元内的用于操作命令的块数 ; 以及 向所述 NVM 封装件发送用于在一个或多个同时可寻址单元上同时执行基元事务处理 的命令序列, 所述命令序列包括由所述主机处理器基于所述行程参数和所述跨度参数生成 的地址。
23: 如权利要求 22 所述的方法, 还包括 : 向所述 NVM 封装件发送带有写命令的数据, 其中, 数据的大小等于跨度 N 与如下字节数 之积 : 所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数, 其中, N 是表示要写入的页的数目的正整数。
24: 如权利要求 22 所述的方法, 还包括 : 向所述 NVM 封装件发送读命令, 其中, 要读取的数据的大小等于跨度 N 与如下字节数之 积: 所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数, 其中, N 是表示要读取的页的数目的正整数。
25: 一种由嵌入式非易失性存储器件执行的方法, 包括 : 从主机控制器接收用于请求对非易失性存储器进行操作的命令 ; 将所述命令存储在所述非易失性存储器件的队列中 ; 以及 响应于触发事件将所述命令记录在所述队列中。
26: 一种由嵌入式非易失性存储器件执行的方法, 包括 : 从主机控制器接收用于请求对非易失性存储器进行读操作的读命令 ; 将所述读命令存储在第一队列中 ; 从所述主机控制器接收用于请求对所述非易失性存储器进行编程操作的编程命令 ; 将所述编程命令存储在第二队列中 ; 从所述主机控制器接收用于请求对所述非易失性存储器进行擦除操作的擦除命令 ; 将所述擦除命令存储在第三队列中 ; 以及 将所述读命令、 所述编程命令或所述擦除命令中的一个或多个记录在它们各自的队列 中。

说明书


用于管理型非易失性存储器的地址映射的体系结构

    相关申请
     本申请要求 2008 年 12 月 23 日提交的美国临时专利申请 No.61/140,436 以及 2009 年 11 月 6 日提交的美国专利申请 No.12/614,369 的优先权益, 其每个申请通过引用被整体 结合于此。
     技术领域
     本主题一般涉及对管理型 (managed) 非易失性存储器的访问和管理。 背景技术 闪存是一种电可擦除可编程只读存储器 (EEPROM)。 由于闪存是非易失性的并且是 相对密集的, 因此它们被用来在手持式计算机、 移动电话、 数字相机、 便携式音乐播放器以 及其它存储方案 ( 例如磁盘 ) 不适合的许多其它设备中存储文件和其它永久对象。
     NAND 是一种可像诸如硬盘或存储卡之类的块器件 (block device) 那样来访问的 闪存。典型块大小是 512 字节的 32 页, 其每个块大小是 16KB 的块大小。每块由多页组成。 典型的页大小是 512 字节。与每页相关联的是用于存储检错和纠错校验和的多个字节 ( 例 如, 12-16 字节 )。读取和编程逐页地来执行, 擦除逐块地来执行, 并且块中的数据仅可被顺 序地写入。 NAND 依赖于纠错码 (ECC) 来补偿在常规器件操作期间可能翻转 (flip) 的比特。 当执行擦除或编程操作时, NAND 器件可以检测到未能进行编程或擦除的块并且在坏块映射 关系中将这些块标记为坏的。数据可被写入不同的好块, 并且坏块映射关系被更新。
     管理型 NAND 器件组合原始的 NAND 与存储器控制器, 来处理纠错和检错以及 NAND 存储器的存储器管理功能。在球栅阵列 (BGA) 封装件或支持标准化处理器接口的其它集 成电路 (IC) 封装件, 例如多媒体存储卡 (MMC) 和安全数字 (SD) 卡中, 可商业获得管理型 NAND。管理型 NAND 器件可以包括可利用一个或多个芯片选择信号来访问的多个 NAND 器件 或管芯。芯片选择是在数电中用来从连接到同一总线的数个芯片中选择一个芯片的控制 线。芯片选择通常是大多数 IC 封装件上的、 将器件上的输入管脚与该器件内的内部电路相 连的命令管脚。当使芯片选择管脚保持在非活动状态时, 芯片或器件忽视其输入管脚上的 状态改变。当使芯片选择管脚保持在活动状态时, 该芯片或器件就像其是该总线上的唯一 芯片那样来作出响应。
     开放 NAND 闪存接口工作组 (ONFI) 已开发出了用于 NAND 闪存芯片的低层接口, 以 允许来自不同厂商的遵从器件之间的互操作性。ONFI 规范版本 1.0 规定了 : 用于 TSOP-48, WSOP-48, LGA-52 和 BGA-63 封装件中的 NAND 闪存的标准物理接口 (pin-out, 接脚 ) ; 用于 读取、 写入和擦除 NAND 闪存芯片的标准命令集 ; 以及用于自我标识的机制。ONFI 规范版本 2.0 支持双通道接口, 其中奇数芯片选择 ( 也称为芯片使能或 “CE” ) 连接到通道 1 并且偶 数 CE 连接到通道 2。物理接口对于整个封装件来说将具有不多于 8 个 CE。
     虽然 ONFI 规范允许互操作性, 但是当前的 ONFI 规范未充分利用管理型 NAND 方 案。
     发明内容 所公开的体系结构使用地址映射来将主机接口上的块地址映射到非易失性存储 器 (NVM) 器件的内部块地址。块地址被映射到用于选择由该块地址标识的同时可寻址单元 (CAU) 的内部芯片选择。所公开的体系结构支持用于读、 写、 擦除和获取状态操作的一般性 非易失性存储器命令。该体系结构还支持用于支持平衡利用多 CAU 体系结构的读写操作的 扩展命令集。
     附图说明
     图 1 是包括被耦合到管理型 NVM 封装件的主机处理器的示例存储器系统的框图。 图 2A 图示出了实现图 2A 的地址映射的管理型 NVM 封装件的示例地址映射。 图 2B 是图 1 的示例 NVM 封装件的框图。 图 2C 图示出了用于图 1 的管理型 NVM 封装件的示例地址映射方案。 图 2D 图示出了包括坏块替换的图 2C 的地址映射方案。 图 3 是使用带有地址的读命令的示例操作的流程图。 图 4 是使用带有地址的写命令的示例操作的流程图。 图 5 是使用带有地址的擦除命令的示例操作的流程图。 图 6A-6B 是使用 StrideRead( 跨度读 ) 命令的示例操作的流程图。 图 7 是使用 StrideWrite( 跨度写 ) 命令的示例操作的流程图。 图 8 图示出了图 1 的 NVM 封装件中的命令队列的使用。 图 9 是用于将命令记录在图 8 所示的命令队列中的示例处理的流程图。具体实施方式
     存储器系统概述
     图 1 是示例存储器系统 100 的框图, 包括耦合到管理型 NVM 封装件 104( 即, 管理 型 NAND 封装件 ) 的主机处理器 102。NVM 封装件 104 可以是 BGA 封装件或其它 IC 封装件, 包括多个 NVM 器件 108( 例如, 多个原始 NAND 器件 )。存储器系统 100 可被用在多种设备 中, 包括但不限于 : 手持式计算机、 移动电话、 数字相机、 便携式音乐播放器、 玩具、 拇指驱动 器、 电子邮件设备以及希望或需要非易失性存储器的任何其它设备。 如这里所使用的, 原始 NVM 是由外部主机处理器管理的存储器件或封装件, 并且管理型 NVM 是包括诸如纠错、 耗损 均衡 (wear leveling)、 坏块管理等之类的至少一个内部存储器管理功能的存储器件或封 装件。
     在一些实现方式中, NVM 封装件 104 可以包括用于利用内部芯片选择信号通过内 部通道来访问和管理 NVM 器件 108 的控制器 106。内部通道是控制器 106 与 NVM 器件 108 之间的数据路径。控制器 106 可以执行存储器管理功能 ( 例如, 耗损均衡、 坏块管理 ) 并且 可以包括用于检测并纠正数据错误 ( 例如, 翻转的比特 ) 的纠错 (ECC) 引擎 110。在一些实 现方式中, ECC 引擎 110 可被实现为控制器 106 中的硬件组件或者由控制器 106 执行的软 件组件。在一些实现方式中, ECC 引擎 110 可以位于 NVM 器件 108 中。高效地管理数据吞 吐量的流水线管理模块 112 可以被包括。在一些实现方式中, 主机处理器 102 和 NVM 封装件 104 可以通过主机可见的通信 通道 ( “主机通道” ) 来传输信息 ( 例如, 控制命令、 地址、 数据 )。主机通道可以支持标准接 口, 例如原始 NAND 接口或双通道接口, 如在 ONFI 规范版本 2.0 中所述的。主机处理器 102 还可以提供主机芯片使能 (CE) 信号。主机 CE 是主机处理器 102 可见的以用来选择主机通 道。
     在示例存储器系统 100 中, NVM 封装件 104 支持 CE 隐藏。CE 隐藏允许单个主机 CE 被用于 NVM 封装件 104 中的各个内部通道, 从而减少支持 NVM 封装件 104 的接口所需的信号 数目。如参考图 2A 所述的, 可利用地址空间和地址映射来将存储器访问 (memory access) 映射到内部通道和 NVM 器件 108。可以利用由控制器 106 生成的内部 CE 信号来使能各个 NVM 器件 108。
     示例地址映射
     图 2A 图示出了管理型 NVM 的示例地址映射关系。控制器 106 将在主机通道上接 收的块地址映射到 NVM 器件 108 内部的具体块地址。为了辅助地址映射, 控制器 106 向主 机处理器 102 提供几何参数, 包括但不限于 : 管芯大小、 块大小、 页大小、 元数据大小 (MDS)、 行程 (run) 和跨度 (stride)。 行程和跨度参数使得主机处理器 102 能够生成页地址的高效序列。行程参数标识 出 NVM 封装件 104 中当前利用主机 CE 和地址映射可同时寻址的 CAU 的数目。CAU 可以是 可从单个主机通道访问的、 可与另一 CAU 同时被写入或读取的 NVM 器件 108 的一部分。CAU 还可以是整个 NVM 器件 108。跨度参数标识出 CAU 内的用于特定于厂商的操作命令的块的 数目。
     在图 2A 所示的示例块映射中, NVM 封装件 104 具有行程 2( 即, 两个 CAU) 和跨度 4( 即, 每个 CAU 4 块 ), 允许主机处理器 102 生成 8 个块的切片 (slice) : b0, b1, b2, b3, b4, b5, b6, b7。因此, 切片是行程乘以跨度合计出的块的集合。可以基于所需要的应用或存储 器体系结构来制造具有不同行程和跨度值的 NVM 封装件。 注意, 块标识符已在图 2A 和图 2B 中用斜体字标出, 以从视觉上区分属于不同 CAU 的块。
     MDS 参数标识出允许用于元数据的与每个页大小相关联的字节数目。页大小是非 易失性存储器的页面的数据区域。完美页大小 (Perfect Page Size, PPS) 是字节数目, 该 字节数目等于页大小加上 MDS。原始页大小 (Raw Page Size, RPS) 是非易失性存储器的物 理页的大小。
     实现地址映射的示例 NVM 封装件
     图 2B 是实现图 2A 的地址映射的图 1 的示例管理型 NVM 封装件 104 的框图。NVM 封装件 104 可以包括主机接口, 其具有主机通道、 命令锁存使能 (CLE) 输入、 地址锁存使能 (ALE) 输入、 芯片使能 (CE) 输入和准备就绪 / 忙碌 (R/B) 输入。主机接口可以包括更多或 更少的输入。在此示例中, 主机接口接收来自主机处理器 102 的逻辑地址。逻辑地址可以 包括表示这样的字段 [ 块地址页地址偏移 ] 的比特, 其是典型的 NVM 寻址。
     在一些实现方式中, 控制器 106 从主机同道读取逻辑地址, 并且利用图 2A 的地址 映射将块地址映射到具体内部块地址。例如, 如果逻辑地址是 [0, 0, 0], 则块地址是 0。块
     地址被映射为针对 NVM 器件 108a 的内部芯片选择块地址、 页地址和偏移形成了用来从所选 CAU 访问数据的 PPS 的物理地址。在此示例中, 与包括 NVM 器件 108b 的一部分的CAU 202 相比, 本 CAU 包括整个物理 NVM 器件 108a。因此, 块地址执行两个功能 : 1) 通过将 块地址的比特映射到针对 CAU 或 NVM 器件的内部 CE 来辅助选择物理 NVM 器件内的 CAU, 或 者物理 NVM 器件 ; 2) 用于提供物理地址来访问所选 CAU 或 NVM 器件中的块。
     在此示例中, 偶数块被映射到 NVM 器件 108a 并且奇数块被映射到 NVM 器件 108b 中 的 CAU 202。当控制器 106 检测到偶数编号块地址时, 控制器 106 激活针对 NVM 器件 108a 的内部芯片使能 并且当控制器 106 检测到奇数编号的块地址时, 控制器 106 激活针对 NVM 器件 108b 的内部芯片使能 CE1。该地址映射方案可被扩展为管理型 NVM 封装件中的任 意所希望数目的 CAU 和 / 或 NVM 器件。在一些实现方式中, 块地址的最高有效位可被用来 选择内部 CE, 并且其余块地址比特或者整个块地址可被与页地址和偏移组合成物理地址, 来访问块以执行操作。 在一些实现方式中, 为了选择要激活的内部 CE, 译码逻辑可被添加到 NVM 封装件或控制器 106 以对块地址译码。
     上述地址映射方案的优点在于 NVM 封装件 104 的主机接口可被简化 ( 减少了管 脚数 ) 并且仍然支持用于读、 写、 擦除和获取状态操作的一般性原始 NVM 命令 ( 例如, 原始 NAND 命令 )。另外, 经扩展命令可被用来平衡利用多 CAU 体系结构。与用于传统的原始 NVM 体系结构 ( 例如, 原始 NAND 体系结构 ) 的交错命令类似, NVM 封装件 104 支持同时读写操 作。
     在一些实现方式中, 引擎 110 对数据执行纠错并且通过主机接口向主机处理器发 送状态。该状态向主机处理器通知操作是否失败, 从而允许主机处理器调节块地址以访问 不同 CAU 或 NVM 器件。例如, 如果响应于特定 CAU 上的操作而发生了大量错误, 则主机处理 器可以修改块地址来避免激活针对有缺陷 NVM 器件的内部 CE。
     图 2C 图示出了用于图 1 的管理型 NVM 封装件 104 的示例地址映射方案。具体地, 映射可被用于包括多个管芯的管理型 NAND 器件, 其中, 每个管芯可以潜在地包括多个平面 (plane)。在一些实现方式中, 地址映射对同时可寻址单元 (Concurrently Addressable Unit, CAU) 进行操作。CAU 是可从单个主机通道访问的物理存储装置的一部分, 其可与 NVM 封装件中的其它 CAU 同时地或者并行地被读取、 编程或擦除。 CAU 例如可以是单个平面或单 个管芯。CAU 大小是 CAU 中可擦除块的数目。
     将利用示例存储器体系结构来描述映射。对于该示例体系结构, 块大小被定义为 可擦除块中的页的数目。在一些实现方式中, 对于每 4 千字节的数据, 有 16 字节的元数据 可用。其它存储器体系结构也可以。例如, 元数据可被分配有更多或更少的字节。 图 2C 所示的地址映射方案允许使用用于读 / 编程 / 擦除 NAND 块的原始 NAND 协 议以及使得能够优化性能的其它命令。 NVM 封装件 104 包括用于管理 NAND 的数据可靠性的 ECC 引擎 ( 例如, ECC 引擎 110)。因此, 主机控制器 102 不需要包括 ECC 引擎 110 或者为了 可靠性以其他方式处理数据。
     NVM 封装件 104 将 CAU 定义为可与其它 CAU 同时或并行地被访问 ( 例如, 将数据从 NAND 存储器单元移到内部寄存器 ) 的区域。在此示例体系结构中, 假设所有 CAU 包括相同 数目的块。在其它实现方式中, CAU 可以具有不同数目的块。下面的表 I 描述了用于访问 CAU 中的页的示例行地址格式。
     表 I- 示例行地址格式
     8102326154 A CN 102326167 R[X+Y:X+Y+Z-1] CAU
     说明书R[0:X-1] 页5/13 页R[X:X+Y-1] 块参考表 I, 示例 n 比特 ( 例如, 24 比特 ) 行地址可以以下面的格式被呈现给 NAND 器件中的控制器 : [CAU : 块: 页 ]。CAU 是表示管芯或平面的编号 ( 例如, 整数 )。块 (Block) 是由 CAU 编号所标识的 CAU 中的块偏移, 并且页 (Page) 是由该块 (Block) 标识的块中的页 偏移。例如, 在每块有 128 页、 每个 CAU 有 8192 块并且有 6 个 CAU 的器件中 : X 将为 7(27 = 128), Y 将为 13(213 = 8192), 并且 Z 将为 3(22 < 6 < 23)。
     图 2C 所示的示例 NVM 封装件 104 包括两个 NAND 管芯 204a、 204b, 并且每个管芯具 有两个平面。例如, 管芯 204a 包括平面 206a、 206b。并且, 管芯 204b 包括平面 206c、 206d。 在此示例中, 每个平面是一个 CAU 并且每个 CAU 具有 2048 个多级单元 (MLC) 块, 每块有 128 页。编程和擦除操作可以在一跨度的块 ( 来自每个 CAU 的块 ) 上执行。跨度被定义为各自 来自不同 CAU 的块的阵列。在所示示例中, “跨度 0” 定义了来自 CAU 0-3 中的每个 CAU 的 块 0, “跨度 1” 定义了来自 CAU0-3 中的每个 CAU 的块 1, “跨度 2” 定义了来自 CAU 0-3 中的 每个 CAU 的块 2, 等等。
     该 NVM 封装件包括 NVM 控制器 202, NVM 控制器 202 通过控制总线 208 和地址 / 数 据总线 210 与 CAU 通信。在操作期间, NVM 控制器 202 从主机控制器 ( 未示出 ) 接收命令, 并且作为对命令的响应, 断言控制总线 208 上的控制信号和地址 / 数据总线 210 上的地址 或数据, 以对一个或多个 CAU 执行操作 ( 例如, 读、 编程或擦除操作 )。在一些实现方式中, 该命令包括具有 [CAU : 块: 页 ] 形式的行地址, 如参考图 2C 描述的。
     图 2D 图示出了包括坏块替换的图 2C 的地址映射方案。在此示例中, 跨度地址已 由主机控制器 102 发出用于具有三个 CAU 的 NVM 封装件 104, 其中, CAU 之一在跨度块偏移 中保存了坏块。 “跨度 4” 地址将正常地访问 CAU0 : 块 4, CAU1 : 块 4 和 CAU2 : 块 4。在此示 例中, 然而, 坏块 CAU1 : 块 4 被 CAU1 : 块 2000 替换。
     示例命令集
     NVM 封装件 104 能够支持透明模式。透明模式使得能够在不用 ECC 的情况下访问 存储器阵列并且可被用来评估控制器 106 的性能。 NVM 封装件 104 还支持用于读、 写和获取 状态操作的一般性原始 NVM 命令。表 1-3 描述了示例读、 写和提交 (Commit) 操作。对于传 统的原始 NVM, NVM 器件在写命令被发出之前应当准备就绪。如参考表 4 描述的, 可以利用 状态读取操作来确定准备就绪。
     表 1- 示例读操作
     表 2- 示例写操作 ( 写模式 )
     表 3- 示例写操作 ( 提交模式 )
     表 4- 示例状态读取操作
     除 了 上 述 操 作 以 外, 控 制 器 106 可 以 支 持 各 种 其 它 命 令。 页 参 数 读 取 (Page Parameter Read) 命令从 NVM 封装件 104 返回几何参数。几何参数的一些示例包括但不限 于: 管芯大小、 块大小、 页大小、 MDS、 行程和跨度。中止 (Abort) 命令使得控制器 106 监视 当前操作并且停止进程中的后续跨度操作。重置 (Reset) 命令停止当前操作, 使得正被改 变的存储器单元的内容无效。控制器 106 中的命令寄存器被清除以准备用于下一命令。读 ID(Read ID) 命令返回产品标识。读时序 (Read Timing) 命令返回用于写和擦除命令的建立、 保持和延迟时间。读器件参数 (Read Device Parameter) 命令返回 NVM 封装件 104 的 具体标识, 包括规范支持、 器件版本和固件版本。
     在下面的表 5 中描述了示例命令集。
     表 5- 示例命令集
     功能 页读取 带有地址的页读取 跨度读取 页写入 带有地址的页写入 跨度写入 块擦除 带有地址的块擦除 读状态 带有地址的读状态 读取比特翻转计数器 读 ID 读时序 读器件参数 重置 中止
     1st 集合 00h 07h 09h----09h 80h 87h 89h----89h 60h 67h 70h 77h 72h 90h 91h 92h FFh 99h 2nd 集合 30h 37h 39h 10h 17h 19h D0h D7h -示例读、 写和擦除操作
     为了平衡利用 NVM 封装件 104 中的多 CAU 体系结构, NVM 封装件 104 可以利用扩展 命令集来支持对所有或数个 CAU 的访问。NVM 封装件 104 可以支持下面的扩展命令, 其中, 所有地址被对齐到 PPS : 带有地址的读、 带有地址的写、 带有地址的擦除以及带有地址的状 态。图 3-7 指示出了在哪里可能发生跨越 CAU 的交错。交错可能发生的点 ( 称为 “交错点 “) 用圆圈指示。由于每个操作的开始点和结束点各自是交错点, 因此每个操作的开始点和 结束点分别表现为白圆圈和交叉线阴影圆圈, 并且交错可能发生的所有中间点用条纹阴影圆圈来指示。图 3-7 假设 NVM 封装件处于一系列操作之后的完全准备就绪状态。
     图 3 是使用带有地址的读命令的示例操作 300 的流程图。 在步骤 302, 主机处理器 向 NVM 封装件发出带有地址的读命令。在步骤 304, 主机处理器执行对地址状态序列的等 待, 直到 NVM 封装件提供指示地址已准备好被读取的状态为止。在步骤 306, 主机处理器向 NVM 封装件发出带有地址的确认命令。在步骤 308, NVM 封装件中的控制器通过主机通道将 PPS 字节的数据传送给主机处理器。利用 ECC 引擎 ( 例如, ECC 引擎 110) 向 NVM 封装件中 的字节应用纠错。在此示例带有地址的读命令操作中, 交错点可能出现在该操作的开始和 结束处以及该操作的中间步骤 302 和 304、 中间步骤 304 和 306 之间。
     针对跨越两个 CAU( 行程= 2 并且跨度= 1) 的单页的示例带有地址的读命令操作 可以为如下 :
     ( 读 )[ 块 0 页 0]
     ( 读 )[ 块 1 页 0]
     (GetPageStatus)[ 块 0 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 1 页 0]W4R{ 数据 + 元数据 }
     图 4 是使用带有地址的写命令的示例操作 400 的流程图。 在步骤 402, 主机处理器 发出带有地址的写命令。 在步骤 404, 主机处理器通过主机通道向 NVM 封装件中的控制器传 送 PPS 字节的数据。利用 ECC 引擎向这些字节应用纠错。在步骤 406, 主机处理器将带有地 址的提交命令发出给与该地址相对应的存储器阵列, 该带有地址的提交命令提交去往 CAU 的未提交的写入。任何相应的 ECC 校正子也被提交。在步骤 408, 主机处理器执行对带有地 址的状态序列的等待, 直到 NVM 封装件提供了指示数据已被写入该地址的状态为止。在此 示例带有地址的写命令操作中, 交错点可以出现在该操作的开始和结束处以及该操作的中 间点 406 和 408 之间。
     针对跨越两个 CAU( 行程= 2 并且跨度= 1) 的单页的示例带有地址的写命令操作 可以为如下 :
     (StrideWrite)[ 块 0 页 0]< 数据 + 元数据 >
     (StrideWrite)[ 块 1 页 0]< 数据 + 元数据 >
     (GetPageStatus)[ 块 0 页 0]W4R{ 状态 }
     (GetPageStatus)[ 块 1 页 0]W4R{ 状态 }
     ( 提交 )[ 块 0 页 0]
     ( 提交 )[ 块 1 页 0]
     图 5 是使用带有地址的擦除命令的实例操作 500 的流程图。 在步骤 502, 主机处理 器发出带有地址的擦除命令。在步骤 504, 主机处理器执行对带有地址的状态的等待, 直到 NVM 封装件提供了指示该地址准备好被擦除的状态为止。在此示例带有地址的擦除命令的 操作中, 交错点可以出现在该操作的开始和结束处以及该操作的中间步骤 502 和 504 之间。
     示例跨度操作
     为了平衡利用特定于厂商的命令, NVM 封装件支持 CAU 内的多种页操作。具体地, NVM 封装件支持 StrideRead( 跨度读 ) 和 StrideWrite( 跨度写 ) 命令。
     图 6A 和 6B 是使用带有地址的 StrideRead 命令的示例操作 600 的流程图。参考 图 6A 的步骤 602, 给定 NVM 器件跨度中的块数 S 和将要读取的每块的页数 N, 将要读取的剩余页数 P 可被设置为等于 S 和 N 之积。在步骤 604, 主机处理器通过将计数器 I 设置为等 于零来启动下一跨度。在步骤 606, P 被与 S 相比较。如果 P = 0, 则操作 600 结束。如果 P > S, , 则在步骤 608 中, 主机处理器发出带有地址的 StrideRead 命令。如果 P ≤ S, 则在 步骤 610 中, 主机处理器发出带有地址的 LastStrideRead 命令。
     在步骤 612, 计数器 I 被递增 1。在步骤 614, 将 I 与 S 比较。如果 I < S, 则操作 600 返回步骤 606。如果 I = S, 则操作 600 开始该跨度中的页的传送, 如参考图 6B 所述的。
     参考图 6B 中的步骤 616, 计数器 T 被设为等于零。在步骤 618, 主机处理器执行 对带有地址的状态序列的等待, 直到 NVM 封装件提供了指示该地址准备好被读取的状态为 止。在步骤 620, 主机处理器发出带有地址的确认命令。在步骤 622, NVM 封装件将 PPS 字 节的数据传送给主机处理器。在步骤 624, 计数器 T 被递增 1。在步骤 626, 计数器 T 被与 S 相比较。如果 T < S, 则操作 600 返回步骤 618。如果 T = S, 则在步骤 628 中, 将要读取的 剩余页数 P 被减少 S, 并且操作 600 返回步骤 604。
     跨越两个 CAU 和四个跨度 ( 行程= 2 并且跨度= 4) 而延展的八页的示例带有地 址的 StrideRead 的操作可以为如下 :
     (StrideRead)[ 块 0 页 0] (StrideRead)[ 块 1 页 0]
     (StrideRead)[ 块 2 页 0]
     (StrideRead)[ 块 3 页 0]
     (StrideRead)[ 块 4 页 0]
     (StrideRead)[ 块 5 页 0]
     (LastStrideRead)[ 块 6 页 0]
     (LastStrideRead)[ 块 7 页 0]
     (GetPageStatus)[ 块 0 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 1 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 2 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 3 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 4 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 5 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 6 页 0]W4R{ 数据 + 元数据 }
     (GetPageStatus)[ 块 7 页 0]W4R{ 数据 + 元数据 }
     图 7 是使用带有地址的 StrideWrite 命令的示例操作 700 的流程图。参考步骤 702, 给定 NVM 器件跨度中的块数 S 和将要写的每块的页数 N, 将要写的剩余页数 P 可被设置 为等于 S 和 N 之积。在步骤 704, 主机处理器比较 P 与 S。如果 P = 0, 则操作 700 结束。如 果 P > S, , 则在步骤 706 中, 主机处理器发出带有地址的 StrideWrite 命令。如果 P ≤ S, 则在步骤 708 中, 主机处理器发出带有地址的 LastStrideWrite 命令。
     在步骤 710, 主机处理器将 PPS 字节的数据传送给 NVM 封装件。 在步骤 712, 主机处 理器发出带有地址的确认命令来将写提交给存储器阵列。 在步骤 714, 主机处理器执行对带 有地址的状态的等待, 直到 NVM 封装件提供了指示数据已被提交给存储器的状态为止。在 步骤 716, 要写的剩余页数被递减 1, 并且操作 700 返回步骤 704。
     跨越两个 CAU 和四个跨度 ( 行程= 2 并且跨度= 4) 而延展的八页的示例带有地 址的 StrideWrite 的操作可以为如下 :
     (StrideWrite)[ 块 0 页 0]< 数据 + 元数据 >
     (StrideWrite)[ 块 1 页 0]< 数据 + 元数据 >
     (GetPageStatus)[ 块 0 页 0]W4R{ 状态 }
     (StrideWrite)[ 块 2 页 0]< 数据 + 元数据 >
     (GetPageStatus)[ 块 1 页 0]W4R{ 状态 }
     (StrideWrite)[ 块 3 页 0]< 数据 + 元数据 >
     (GetPageStatus)[ 块 2 页 0]W4R{ 状态 }
     (StrideWrite)[ 块 4 页 0]< 数据 + 元数据 >
     (GetPageStatus)[ 块 3 页 0]W4R{ 状态 }
     (StrideWrite)[ 块 5 页 0]< 数据 + 元数据 >
     (GetPageStatus)[ 块 4 页 0]W4R{ 状态 }
     (LastStrideWrite)[ 块 6 页 1]< 数据 + 元数据 >
     (GetPageStatus)[ 块 5 页 0]W4R{ 状态 } (LastStrideWrite)[ 块 7 页 1]< 数据 + 元数据 >
     (GetPageStatus)[ 块 6 页 0]W4R{ 状态 }
     (GetPageStatus)[ 块 7 页 0]W4R{ 状态 }
     示例队列配置
     图 8 图示出了 NVM 封装件中的命令队列的使用。在一些实现方式中, NVM 封装件 800 可以包括可由控制器 802 访问的一个或多个队列 804。该队列可以是 FIFO 队列。主机 控制器接收的命令可被存储在队列 804 中。在所示示例中, 有三个队列。每个队列分别用 于读命令、 编程命令和擦除命令。响应于触发事件, 控制器 802 可以将一个或多个命令记录 在队列 804 的一个或多个中, 以优化存储器操作期间的性能。例如, 一种触发事件可以是 : 如果队列 ( 和缓冲器 ) 中的顶部项去往正忙于另一操作的平面或 CAU 的话。
     图 9 是用于将命令记录在图 8 所示的命令队列中的示例处理 900 的流程图。在一 些实现方式中, 处理 900 通过从主机控制器接收命令而开始 (902)。 这些命令用于非易失性 存储器上的启动操作。 命令被存储在一个或多个队列中 (904)。 例如, 三个单独队列可以存 储读命令、 编程命令和擦除命令。由控制器响应于触发事件而将命令记录在非易失性存储 器件中 (906)。
     虽然本说明书包含许多细节, 但这些细节不应被解释为是对作为权利要求的内容 的范围或者可能要求保护的内容的范围的限制, 而是对特定实施例特有的特征的描述。本 说明书中在分离的实施例的上下文中描述的某些特征也可以相组合地在单个实施例中实 现。反之, 在单个实施例的上下文中描述的各个特征也可以分别在多个实施例中实现或者 以任何合适的子组合方式来实现。此外, 虽然上面可能将特征描述为以某些组合的方式起 作用并且甚至最初要求如此这样被保护, 但是来自要求保护的组合的一个或多个特征在一 些情况下可从该组合被去除, 并且要求保护的组合可被引向子组合或者子组合的变更。
     类似地, 虽然以特定顺序描述了附图中的操作, 然而这不应被理解为要求这些操 作以所示出的特定顺序或者依次地被执行, 或者所有示出的操作要被执行以获得所希望的
     结果。在某些状况下, 多任务和并行处理可以是有益的。此外, 上述实施例中各个系统组件 的分离不应被理解为在所有实施例中都要求这样的分离, 并且应当明白, 所描述的程序组 件和系统通常可以一起集成在单个软件产品中或者被封装到多个软件产品中。
     如此, 已描述了特定实施例。其它实施例也在以下权利要求的范围之内。

用于管理型非易失性存储器的地址映射的体系结构.pdf_第1页
第1页 / 共29页
用于管理型非易失性存储器的地址映射的体系结构.pdf_第2页
第2页 / 共29页
用于管理型非易失性存储器的地址映射的体系结构.pdf_第3页
第3页 / 共29页
点击查看更多>>
资源描述

《用于管理型非易失性存储器的地址映射的体系结构.pdf》由会员分享,可在线阅读,更多相关《用于管理型非易失性存储器的地址映射的体系结构.pdf(29页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102326154A43申请公布日20120118CN102326154ACN102326154A21申请号200980157384522申请日2009112461/140,43620081223US12/614,36920091106USG06F12/02200601G06F12/06200601G06F13/1620060171申请人苹果公司地址美国加利福尼亚州72发明人塔霍马托尔科斯尼尔雅各布瓦卡拉特肯尼思L赫曼巴利科勒帝威蒂姆克梅尔尼特斯基安东尼珐丹尼尔杰弗里波斯特张晓翰74专利代理机构北京东方亿思知识产权代理有限责任公司11258代理人宗晓斌54发明名称用于管理型非。

2、易失性存储器的地址映射的体系结构57摘要所公开的体系结构使用地址映射来将主机接口上的块地址映射到非易失性存储器NVM器件的内部块地址。块地址被映射到用于选择由该块地址标识的同时可寻址单元CAU的内部芯片选择。所公开的体系结构支持用于读、写、擦除和获取状态操作的一般性NVM命令。该体系结构还支持用于支持平衡利用多CAU体系结构的读写操作的扩展命令集。30优先权数据85PCT申请进入国家阶段日2011082386PCT申请的申请数据PCT/US2009/0658042009112487PCT申请的公布数据WO2010/074876EN2010070151INTCL19中华人民共和国国家知识产权局1。

3、2发明专利申请权利要求书3页说明书13页附图12页CN102326167A1/3页21一种非易失性存储器NVM封装件,包括接口,可操作来接收块地址;多个同时访问单元,每个同时访问单元包含多个块;以及耦合到所述接口和所述多个同时可寻址单元的处理器,所述处理器可操作来将块地址映射到由所述块地址标识的所述多个同时可寻址单元中的一个同时可寻址单元中的块。2如权利要求1所述的封装件,还包括主机接口,可操作来从耦合到所述主机接口的主机处理器接收主机芯片使能信号,其中,所述处理器可操作来将所述主机芯片使能信号映射到在所述同时可寻址单元中的一个同时可寻址单元内的芯片使能信号,该内部芯片使能信号用于激活该同时可。

4、寻址单元。3如权利要求2所述的封装件,其中,该映射是利用由行程参数和跨度参数定义的映射关系来执行的,其中,所述行程参数是利用所述主机芯片使能信号可访问的同时可寻址单元的数目,所述跨度参数是一个同时可寻址单元内的用于操作命令的块数。4如权利要求1所述的封装件,其中,所述处理器从所述接口接收用于读或写操作的命令,该操作是用于在一个或多个同时可寻址单元上执行同时基元事务处理的读或写命令的序列。5如权利要求4所述的封装件,其中,从该同时可寻址单元读取的或者写入该同时可寻址单元的数据量等于该同时可寻址单元的跨度参数N与如下字节数之积所述字节数等于页大小加上与允许用于元数据的页相关联的字节数,其中,N是表。

5、示要读取或写入的页的数目的正整数,并且跨度是该同时可寻址单元内的用于操作命令的块数。6如权利要求1所述的封装件,还包括纠错引擎,用于对从同时可寻址单元读取的或写入同时可寻址单元的日期块应用纠错。7如权利要求6所述的封装件,其中,所述检错和纠错引擎被包括在同时可寻址单元中的一个或多个同时可寻址单元中。8如权利要求1所述的封装件,还包括流水线管理引擎,用于管理同时可寻址单元的吞吐量。9如权利要求1所述的封装件,其中,所述NVM封装件是管理型NAND。10如权利要求1所述的封装件,其中,所述处理器对两个或更多个同时可寻址单元执行同时读或写操作。11一种由耦合到主机处理器的非易失性存储器NVM封装件执。

6、行的方法,包括从所述主机处理器接收块地址;以及将所述块地址映射到由所述块地址标识的多个同时可寻址单元中的一个同时可寻址单元中的块。12如权利要求11所述的方法,还包括从所述主机处理器接收主机芯片使能信号;以及将所述主机芯片使能信号映射到在所述同时可寻址单元中的一个同时可寻址单元内的芯片使能信号;以及激活该内部芯片使能信号。13如权利要求12所述的方法,其中,该映射是利用由行程参数和跨度参数定义的映权利要求书CN102326154ACN102326167A2/3页3射关系来执行的,其中,所述行程参数是利用所述主机芯片使能信号可访问的同时可寻址单元的数目,所述跨度参数是一个同时可寻址单元内的用于操。

7、作命令的块数。14如权利要求11所述的方法,还包括接收用于读或写操作的命令;以及根据该命令在一个或多个同时可寻址单元上执行一个或多个同时基元事务处理。15如权利要求14所述的方法,其中,从该同时可寻址单元读取或者写入该同时可寻址单元的数据量等于该同时可寻址单元的跨度参数N与如下字节数之积所述字节数等于页大小加上与允许用于元数据的页相关联的字节数,其中,N是表示要读取或写入的页的数目的正整数,并且跨度是该同时可寻址单元内的用于操作命令的块数。16如权利要求11所述的封装件,还包括对从同时可寻址单元读取的或写入同时可寻址单元的数据块应用纠错。17一种非易失性存储器NVM封装件,包括接口,可操作来从。

8、耦合到该接口的主机处理器接收块地址和第一芯片使能信号;多个同时访问单元,每个同时访问单元包含多个块;以及处理器,耦合到所述接口和所述多个同时可寻址单元,其中,响应于来自所述主机处理器的所述芯片使能信号,所述处理器利用第一内部芯片选择使能信号来激活第一同时可寻址单元,利用第二内部芯片选择使能信号来激活第二同时可寻址单元,将所述块地址映射到被激活的第一同时可寻址单元和第二同时可寻址单元中的块,并且执行用于在被激活的第一同时可寻址单元和第二同时可寻址单元中的所述块上同时执行读或写操作的命令序列。18如权利要求17所述的封装件,其中,所述NVM封装件是管理型NAND封装件。19一种对存储在非易失性存储。

9、器NVM封装件中的数据进行操作的系统,包括接口,用于向所述NVM封装件发送参数请求,所述NVM封装件包括多个同时可寻址单元,并且所述接口用于接收行程参数和跨度参数,其中所述行程参数指示所述NVM封装件内的利用由主机处理器提供的单个芯片使能信号可访问的同时可寻址单元的数目,并且其中所述跨度参数指示一个同时可寻址单元内的用于操作命令的块数;以及耦合到所述接口的处理器,所述处理器可操作来向所述NVM封装件发送用于在一个或多个同时可寻址单元上同时执行基元事务处理的命令序列,所述命令序列包括由所述主机处理器基于所述行程参数和所述跨度参数生成的地址。20如权利要求19所述的系统,其中,所述处理器可操作来向。

10、所述NVM封装件发送带有写命令的数据,其中,数据的大小等于跨度N与如下字节数之积所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数,其中,N是表示要写入的页的数目的正整数。21如权利要求19所述的系统,其中,所述处理器可操作来向所述NVM封装件发送读命令,其中,要读取的数据大小等于跨度N与如下字节数之积所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数,其中,N是表示要读取的页的数目的正整数。22一种由耦合到非易失性存储器NVM封装件的主机处理器执行的方法,包括向所述NVM封装件发送对参数请求,所述NVM封装件包括多个同时可寻址单元;权利要求书CN1023261。

11、54ACN102326167A3/3页4作为该请求的响应,接收行程参数和跨度参数,其中所述行程参数指示所述NVM封装件内的利用由所述主机处理器提供的单个芯片使能信号可访问的同时可寻址单元的数目,并且其中所述跨度参数指示一个同时可寻址单元内的用于操作命令的块数;以及向所述NVM封装件发送用于在一个或多个同时可寻址单元上同时执行基元事务处理的命令序列,所述命令序列包括由所述主机处理器基于所述行程参数和所述跨度参数生成的地址。23如权利要求22所述的方法,还包括向所述NVM封装件发送带有写命令的数据,其中,数据的大小等于跨度N与如下字节数之积所述字节数等于页大小加上与允许用于元数据的每个页大小相关联。

12、的字节数,其中,N是表示要写入的页的数目的正整数。24如权利要求22所述的方法,还包括向所述NVM封装件发送读命令,其中,要读取的数据的大小等于跨度N与如下字节数之积所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数,其中,N是表示要读取的页的数目的正整数。25一种由嵌入式非易失性存储器件执行的方法,包括从主机控制器接收用于请求对非易失性存储器进行操作的命令;将所述命令存储在所述非易失性存储器件的队列中;以及响应于触发事件将所述命令记录在所述队列中。26一种由嵌入式非易失性存储器件执行的方法,包括从主机控制器接收用于请求对非易失性存储器进行读操作的读命令;将所述读命令存储在第一。

13、队列中;从所述主机控制器接收用于请求对所述非易失性存储器进行编程操作的编程命令;将所述编程命令存储在第二队列中;从所述主机控制器接收用于请求对所述非易失性存储器进行擦除操作的擦除命令;将所述擦除命令存储在第三队列中;以及将所述读命令、所述编程命令或所述擦除命令中的一个或多个记录在它们各自的队列中。权利要求书CN102326154ACN102326167A1/13页5用于管理型非易失性存储器的地址映射的体系结构0001相关申请0002本申请要求2008年12月23日提交的美国临时专利申请NO61/140,436以及2009年11月6日提交的美国专利申请NO12/614,369的优先权益,其每个申。

14、请通过引用被整体结合于此。技术领域0003本主题一般涉及对管理型MANAGED非易失性存储器的访问和管理。背景技术0004闪存是一种电可擦除可编程只读存储器EEPROM。由于闪存是非易失性的并且是相对密集的,因此它们被用来在手持式计算机、移动电话、数字相机、便携式音乐播放器以及其它存储方案例如磁盘不适合的许多其它设备中存储文件和其它永久对象。0005NAND是一种可像诸如硬盘或存储卡之类的块器件BLOCKDEVICE那样来访问的闪存。典型块大小是512字节的32页,其每个块大小是16KB的块大小。每块由多页组成。典型的页大小是512字节。与每页相关联的是用于存储检错和纠错校验和的多个字节例如,。

15、1216字节。读取和编程逐页地来执行,擦除逐块地来执行,并且块中的数据仅可被顺序地写入。NAND依赖于纠错码ECC来补偿在常规器件操作期间可能翻转FLIP的比特。当执行擦除或编程操作时,NAND器件可以检测到未能进行编程或擦除的块并且在坏块映射关系中将这些块标记为坏的。数据可被写入不同的好块,并且坏块映射关系被更新。0006管理型NAND器件组合原始的NAND与存储器控制器,来处理纠错和检错以及NAND存储器的存储器管理功能。在球栅阵列BGA封装件或支持标准化处理器接口的其它集成电路IC封装件,例如多媒体存储卡MMC和安全数字SD卡中,可商业获得管理型NAND。管理型NAND器件可以包括可利用。

16、一个或多个芯片选择信号来访问的多个NAND器件或管芯。芯片选择是在数电中用来从连接到同一总线的数个芯片中选择一个芯片的控制线。芯片选择通常是大多数IC封装件上的、将器件上的输入管脚与该器件内的内部电路相连的命令管脚。当使芯片选择管脚保持在非活动状态时,芯片或器件忽视其输入管脚上的状态改变。当使芯片选择管脚保持在活动状态时,该芯片或器件就像其是该总线上的唯一芯片那样来作出响应。0007开放NAND闪存接口工作组ONFI已开发出了用于NAND闪存芯片的低层接口,以允许来自不同厂商的遵从器件之间的互操作性。ONFI规范版本10规定了用于TSOP48,WSOP48,LGA52和BGA63封装件中的NA。

17、ND闪存的标准物理接口PINOUT,接脚;用于读取、写入和擦除NAND闪存芯片的标准命令集;以及用于自我标识的机制。ONFI规范版本20支持双通道接口,其中奇数芯片选择也称为芯片使能或“CE”连接到通道1并且偶数CE连接到通道2。物理接口对于整个封装件来说将具有不多于8个CE。0008虽然ONFI规范允许互操作性,但是当前的ONFI规范未充分利用管理型NAND方案。说明书CN102326154ACN102326167A2/13页6发明内容0009所公开的体系结构使用地址映射来将主机接口上的块地址映射到非易失性存储器NVM器件的内部块地址。块地址被映射到用于选择由该块地址标识的同时可寻址单元CA。

18、U的内部芯片选择。所公开的体系结构支持用于读、写、擦除和获取状态操作的一般性非易失性存储器命令。该体系结构还支持用于支持平衡利用多CAU体系结构的读写操作的扩展命令集。附图说明0010图1是包括被耦合到管理型NVM封装件的主机处理器的示例存储器系统的框图。0011图2A图示出了实现图2A的地址映射的管理型NVM封装件的示例地址映射。0012图2B是图1的示例NVM封装件的框图。0013图2C图示出了用于图1的管理型NVM封装件的示例地址映射方案。0014图2D图示出了包括坏块替换的图2C的地址映射方案。0015图3是使用带有地址的读命令的示例操作的流程图。0016图4是使用带有地址的写命令的示。

19、例操作的流程图。0017图5是使用带有地址的擦除命令的示例操作的流程图。0018图6A6B是使用STRIDEREAD跨度读命令的示例操作的流程图。0019图7是使用STRIDEWRITE跨度写命令的示例操作的流程图。0020图8图示出了图1的NVM封装件中的命令队列的使用。0021图9是用于将命令记录在图8所示的命令队列中的示例处理的流程图。具体实施方式0022存储器系统概述0023图1是示例存储器系统100的框图,包括耦合到管理型NVM封装件104即,管理型NAND封装件的主机处理器102。NVM封装件104可以是BGA封装件或其它IC封装件,包括多个NVM器件108例如,多个原始NAND器。

20、件。存储器系统100可被用在多种设备中,包括但不限于手持式计算机、移动电话、数字相机、便携式音乐播放器、玩具、拇指驱动器、电子邮件设备以及希望或需要非易失性存储器的任何其它设备。如这里所使用的,原始NVM是由外部主机处理器管理的存储器件或封装件,并且管理型NVM是包括诸如纠错、耗损均衡WEARLEVELING、坏块管理等之类的至少一个内部存储器管理功能的存储器件或封装件。0024在一些实现方式中,NVM封装件104可以包括用于利用内部芯片选择信号通过内部通道来访问和管理NVM器件108的控制器106。内部通道是控制器106与NVM器件108之间的数据路径。控制器106可以执行存储器管理功能例如。

21、,耗损均衡、坏块管理并且可以包括用于检测并纠正数据错误例如,翻转的比特的纠错ECC引擎110。在一些实现方式中,ECC引擎110可被实现为控制器106中的硬件组件或者由控制器106执行的软件组件。在一些实现方式中,ECC引擎110可以位于NVM器件108中。高效地管理数据吞吐量的流水线管理模块112可以被包括。说明书CN102326154ACN102326167A3/13页70025在一些实现方式中,主机处理器102和NVM封装件104可以通过主机可见的通信通道“主机通道”来传输信息例如,控制命令、地址、数据。主机通道可以支持标准接口,例如原始NAND接口或双通道接口,如在ONFI规范版本20。

22、中所述的。主机处理器102还可以提供主机芯片使能CE信号。主机CE是主机处理器102可见的以用来选择主机通道。0026在示例存储器系统100中,NVM封装件104支持CE隐藏。CE隐藏允许单个主机CE被用于NVM封装件104中的各个内部通道,从而减少支持NVM封装件104的接口所需的信号数目。如参考图2A所述的,可利用地址空间和地址映射来将存储器访问MEMORYACCESS映射到内部通道和NVM器件108。可以利用由控制器106生成的内部CE信号来使能各个NVM器件108。0027示例地址映射0028图2A图示出了管理型NVM的示例地址映射关系。控制器106将在主机通道上接收的块地址映射到NV。

23、M器件108内部的具体块地址。为了辅助地址映射,控制器106向主机处理器102提供几何参数,包括但不限于管芯大小、块大小、页大小、元数据大小MDS、行程RUN和跨度STRIDE。0029行程和跨度参数使得主机处理器102能够生成页地址的高效序列。行程参数标识出NVM封装件104中当前利用主机CE和地址映射可同时寻址的CAU的数目。CAU可以是可从单个主机通道访问的、可与另一CAU同时被写入或读取的NVM器件108的一部分。CAU还可以是整个NVM器件108。跨度参数标识出CAU内的用于特定于厂商的操作命令的块的数目。0030在图2A所示的示例块映射中,NVM封装件104具有行程2即,两个CAU。

24、和跨度4即,每个CAU4块,允许主机处理器102生成8个块的切片SLICEB0,B1,B2,B3,B4,B5,B6,B7。因此,切片是行程乘以跨度合计出的块的集合。可以基于所需要的应用或存储器体系结构来制造具有不同行程和跨度值的NVM封装件。注意,块标识符已在图2A和图2B中用斜体字标出,以从视觉上区分属于不同CAU的块。0031MDS参数标识出允许用于元数据的与每个页大小相关联的字节数目。页大小是非易失性存储器的页面的数据区域。完美页大小PERFECTPAGESIZE,PPS是字节数目,该字节数目等于页大小加上MDS。原始页大小RAWPAGESIZE,RPS是非易失性存储器的物理页的大小。0。

25、032实现地址映射的示例NVM封装件0033图2B是实现图2A的地址映射的图1的示例管理型NVM封装件104的框图。NVM封装件104可以包括主机接口,其具有主机通道、命令锁存使能CLE输入、地址锁存使能ALE输入、芯片使能CE输入和准备就绪/忙碌R/B输入。主机接口可以包括更多或更少的输入。在此示例中,主机接口接收来自主机处理器102的逻辑地址。逻辑地址可以包括表示这样的字段块地址页地址偏移的比特,其是典型的NVM寻址。0034在一些实现方式中,控制器106从主机同道读取逻辑地址,并且利用图2A的地址映射将块地址映射到具体内部块地址。例如,如果逻辑地址是0,0,0,则块地址是0。块地址被映射。

26、为针对NVM器件108A的内部芯片选择块地址、页地址和偏移形成了用来从所选CAU访问数据的PPS的物理地址。在此示例中,与包括NVM器件108B的一部分的说明书CN102326154ACN102326167A4/13页8CAU202相比,本CAU包括整个物理NVM器件108A。因此,块地址执行两个功能1通过将块地址的比特映射到针对CAU或NVM器件的内部CE来辅助选择物理NVM器件内的CAU,或者物理NVM器件;2用于提供物理地址来访问所选CAU或NVM器件中的块。0035在此示例中,偶数块被映射到NVM器件108A并且奇数块被映射到NVM器件108B中的CAU202。当控制器106检测到偶数。

27、编号块地址时,控制器106激活针对NVM器件108A的内部芯片使能并且当控制器106检测到奇数编号的块地址时,控制器106激活针对NVM器件108B的内部芯片使能CE1。该地址映射方案可被扩展为管理型NVM封装件中的任意所希望数目的CAU和/或NVM器件。在一些实现方式中,块地址的最高有效位可被用来选择内部CE,并且其余块地址比特或者整个块地址可被与页地址和偏移组合成物理地址,来访问块以执行操作。在一些实现方式中,为了选择要激活的内部CE,译码逻辑可被添加到NVM封装件或控制器106以对块地址译码。0036上述地址映射方案的优点在于NVM封装件104的主机接口可被简化减少了管脚数并且仍然支持用。

28、于读、写、擦除和获取状态操作的一般性原始NVM命令例如,原始NAND命令。另外,经扩展命令可被用来平衡利用多CAU体系结构。与用于传统的原始NVM体系结构例如,原始NAND体系结构的交错命令类似,NVM封装件104支持同时读写操作。0037在一些实现方式中,引擎110对数据执行纠错并且通过主机接口向主机处理器发送状态。该状态向主机处理器通知操作是否失败,从而允许主机处理器调节块地址以访问不同CAU或NVM器件。例如,如果响应于特定CAU上的操作而发生了大量错误,则主机处理器可以修改块地址来避免激活针对有缺陷NVM器件的内部CE。0038图2C图示出了用于图1的管理型NVM封装件104的示例地址。

29、映射方案。具体地,映射可被用于包括多个管芯的管理型NAND器件,其中,每个管芯可以潜在地包括多个平面PLANE。在一些实现方式中,地址映射对同时可寻址单元CONCURRENTLYADDRESSABLEUNIT,CAU进行操作。CAU是可从单个主机通道访问的物理存储装置的一部分,其可与NVM封装件中的其它CAU同时地或者并行地被读取、编程或擦除。CAU例如可以是单个平面或单个管芯。CAU大小是CAU中可擦除块的数目。0039将利用示例存储器体系结构来描述映射。对于该示例体系结构,块大小被定义为可擦除块中的页的数目。在一些实现方式中,对于每4千字节的数据,有16字节的元数据可用。其它存储器体系结构。

30、也可以。例如,元数据可被分配有更多或更少的字节。0040图2C所示的地址映射方案允许使用用于读/编程/擦除NAND块的原始NAND协议以及使得能够优化性能的其它命令。NVM封装件104包括用于管理NAND的数据可靠性的ECC引擎例如,ECC引擎110。因此,主机控制器102不需要包括ECC引擎110或者为了可靠性以其他方式处理数据。0041NVM封装件104将CAU定义为可与其它CAU同时或并行地被访问例如,将数据从NAND存储器单元移到内部寄存器的区域。在此示例体系结构中,假设所有CAU包括相同数目的块。在其它实现方式中,CAU可以具有不同数目的块。下面的表I描述了用于访问CAU中的页的示例。

31、行地址格式。0042表I示例行地址格式0043说明书CN102326154ACN102326167A5/13页9RXYXYZ1RXXY1R0X1CAU块页0044参考表I,示例N比特例如,24比特行地址可以以下面的格式被呈现给NAND器件中的控制器CAU块页。CAU是表示管芯或平面的编号例如,整数。块BLOCK是由CAU编号所标识的CAU中的块偏移,并且页PAGE是由该块BLOCK标识的块中的页偏移。例如,在每块有128页、每个CAU有8192块并且有6个CAU的器件中X将为727128,Y将为132138192,并且Z将为322623。0045图2C所示的示例NVM封装件104包括两个NAN。

32、D管芯204A、204B,并且每个管芯具有两个平面。例如,管芯204A包括平面206A、206B。并且,管芯204B包括平面206C、206D。在此示例中,每个平面是一个CAU并且每个CAU具有2048个多级单元MLC块,每块有128页。编程和擦除操作可以在一跨度的块来自每个CAU的块上执行。跨度被定义为各自来自不同CAU的块的阵列。在所示示例中,“跨度0”定义了来自CAU03中的每个CAU的块0,“跨度1”定义了来自CAU03中的每个CAU的块1,“跨度2”定义了来自CAU03中的每个CAU的块2,等等。0046该NVM封装件包括NVM控制器202,NVM控制器202通过控制总线208和地址。

33、/数据总线210与CAU通信。在操作期间,NVM控制器202从主机控制器未示出接收命令,并且作为对命令的响应,断言控制总线208上的控制信号和地址/数据总线210上的地址或数据,以对一个或多个CAU执行操作例如,读、编程或擦除操作。在一些实现方式中,该命令包括具有CAU块页形式的行地址,如参考图2C描述的。0047图2D图示出了包括坏块替换的图2C的地址映射方案。在此示例中,跨度地址已由主机控制器102发出用于具有三个CAU的NVM封装件104,其中,CAU之一在跨度块偏移中保存了坏块。“跨度4”地址将正常地访问CAU0块4,CAU1块4和CAU2块4。在此示例中,然而,坏块CAU1块4被CA。

34、U1块2000替换。0048示例命令集0049NVM封装件104能够支持透明模式。透明模式使得能够在不用ECC的情况下访问存储器阵列并且可被用来评估控制器106的性能。NVM封装件104还支持用于读、写和获取状态操作的一般性原始NVM命令。表13描述了示例读、写和提交COMMIT操作。对于传统的原始NVM,NVM器件在写命令被发出之前应当准备就绪。如参考表4描述的,可以利用状态读取操作来确定准备就绪。0050表1示例读操作0051说明书CN102326154ACN102326167A6/13页1000520053表2示例写操作写模式00540055表3示例写操作提交模式0056说明书CN102。

35、326154ACN102326167A7/13页110057表4示例状态读取操作0058说明书CN102326154ACN102326167A8/13页120059除了上述操作以外,控制器106可以支持各种其它命令。页参数读取PAGEPARAMETERREAD命令从NVM封装件104返回几何参数。几何参数的一些示例包括但不限于管芯大小、块大小、页大小、MDS、行程和跨度。中止ABORT命令使得控制器106监视当前操作并且停止进程中的后续跨度操作。重置RESET命令停止当前操作,使得正被改变的存储器单元的内容无效。控制器106中的命令寄存器被清除以准备用于下一命令。读IDREADID命令返回产品。

36、标识。读时序READTIMING命令返回用于写和擦除命令的建说明书CN102326154ACN102326167A9/13页13立、保持和延迟时间。读器件参数READDEVICEPARAMETER命令返回NVM封装件104的具体标识,包括规范支持、器件版本和固件版本。0060在下面的表5中描述了示例命令集。0061表5示例命令集0062功能1ST集合2ND集合页读取00H30H带有地址的页读取07H37H跨度读取09H09H39H页写入80H10H带有地址的页写入87H17H跨度写入89H89H19H块擦除60HD0H带有地址的块擦除67HD7H读状态70H带有地址的读状态77H读取比特翻转计。

37、数器72H读ID90H读时序91H读器件参数92H重置FFH中止99H0063示例读、写和擦除操作0064为了平衡利用NVM封装件104中的多CAU体系结构,NVM封装件104可以利用扩展命令集来支持对所有或数个CAU的访问。NVM封装件104可以支持下面的扩展命令,其中,所有地址被对齐到PPS带有地址的读、带有地址的写、带有地址的擦除以及带有地址的状态。图37指示出了在哪里可能发生跨越CAU的交错。交错可能发生的点称为“交错点“用圆圈指示。由于每个操作的开始点和结束点各自是交错点,因此每个操作的开始点和结束点分别表现为白圆圈和交叉线阴影圆圈,并且交错可能发生的所有中间点用条纹阴影说明书CN1。

38、02326154ACN102326167A10/13页14圆圈来指示。图37假设NVM封装件处于一系列操作之后的完全准备就绪状态。0065图3是使用带有地址的读命令的示例操作300的流程图。在步骤302,主机处理器向NVM封装件发出带有地址的读命令。在步骤304,主机处理器执行对地址状态序列的等待,直到NVM封装件提供指示地址已准备好被读取的状态为止。在步骤306,主机处理器向NVM封装件发出带有地址的确认命令。在步骤308,NVM封装件中的控制器通过主机通道将PPS字节的数据传送给主机处理器。利用ECC引擎例如,ECC引擎110向NVM封装件中的字节应用纠错。在此示例带有地址的读命令操作中,。

39、交错点可能出现在该操作的开始和结束处以及该操作的中间步骤302和304、中间步骤304和306之间。0066针对跨越两个CAU行程2并且跨度1的单页的示例带有地址的读命令操作可以为如下0067读块0页00068读块1页00069GETPAGESTATUS块0页0W4R数据元数据0070GETPAGESTATUS块1页0W4R数据元数据0071图4是使用带有地址的写命令的示例操作400的流程图。在步骤402,主机处理器发出带有地址的写命令。在步骤404,主机处理器通过主机通道向NVM封装件中的控制器传送PPS字节的数据。利用ECC引擎向这些字节应用纠错。在步骤406,主机处理器将带有地址的提交命。

40、令发出给与该地址相对应的存储器阵列,该带有地址的提交命令提交去往CAU的未提交的写入。任何相应的ECC校正子也被提交。在步骤408,主机处理器执行对带有地址的状态序列的等待,直到NVM封装件提供了指示数据已被写入该地址的状态为止。在此示例带有地址的写命令操作中,交错点可以出现在该操作的开始和结束处以及该操作的中间点406和408之间。0072针对跨越两个CAU行程2并且跨度1的单页的示例带有地址的写命令操作可以为如下0073STRIDEWRITE块0页00074STRIDEWRITE块1页00075GETPAGESTATUS块0页0W4R状态0076GETPAGESTATUS块1页0W4R状态。

41、0077提交块0页00078提交块1页00079图5是使用带有地址的擦除命令的实例操作500的流程图。在步骤502,主机处理器发出带有地址的擦除命令。在步骤504,主机处理器执行对带有地址的状态的等待,直到NVM封装件提供了指示该地址准备好被擦除的状态为止。在此示例带有地址的擦除命令的操作中,交错点可以出现在该操作的开始和结束处以及该操作的中间步骤502和504之间。0080示例跨度操作0081为了平衡利用特定于厂商的命令,NVM封装件支持CAU内的多种页操作。具体地,NVM封装件支持STRIDEREAD跨度读和STRIDEWRITE跨度写命令。0082图6A和6B是使用带有地址的STRIDE。

42、READ命令的示例操作600的流程图。参考图6A的步骤602,给定NVM器件跨度中的块数S和将要读取的每块的页数N,将要读取的剩说明书CN102326154ACN102326167A11/13页15余页数P可被设置为等于S和N之积。在步骤604,主机处理器通过将计数器I设置为等于零来启动下一跨度。在步骤606,P被与S相比较。如果P0,则操作600结束。如果PS,则在步骤608中,主机处理器发出带有地址的STRIDEREAD命令。如果PS,则在步骤610中,主机处理器发出带有地址的LASTSTRIDEREAD命令。0083在步骤612,计数器I被递增1。在步骤614,将I与S比较。如果IS,则。

43、操作600返回步骤606。如果IS,则操作600开始该跨度中的页的传送,如参考图6B所述的。0084参考图6B中的步骤616,计数器T被设为等于零。在步骤618,主机处理器执行对带有地址的状态序列的等待,直到NVM封装件提供了指示该地址准备好被读取的状态为止。在步骤620,主机处理器发出带有地址的确认命令。在步骤622,NVM封装件将PPS字节的数据传送给主机处理器。在步骤624,计数器T被递增1。在步骤626,计数器T被与S相比较。如果TS,则操作600返回步骤618。如果TS,则在步骤628中,将要读取的剩余页数P被减少S,并且操作600返回步骤604。0085跨越两个CAU和四个跨度行程。

44、2并且跨度4而延展的八页的示例带有地址的STRIDEREAD的操作可以为如下0086STRIDEREAD块0页00087STRIDEREAD块1页00088STRIDEREAD块2页00089STRIDEREAD块3页00090STRIDEREAD块4页00091STRIDEREAD块5页00092LASTSTRIDEREAD块6页00093LASTSTRIDEREAD块7页00094GETPAGESTATUS块0页0W4R数据元数据0095GETPAGESTATUS块1页0W4R数据元数据0096GETPAGESTATUS块2页0W4R数据元数据0097GETPAGESTATUS块3页0W4。

45、R数据元数据0098GETPAGESTATUS块4页0W4R数据元数据0099GETPAGESTATUS块5页0W4R数据元数据0100GETPAGESTATUS块6页0W4R数据元数据0101GETPAGESTATUS块7页0W4R数据元数据0102图7是使用带有地址的STRIDEWRITE命令的示例操作700的流程图。参考步骤702,给定NVM器件跨度中的块数S和将要写的每块的页数N,将要写的剩余页数P可被设置为等于S和N之积。在步骤704,主机处理器比较P与S。如果P0,则操作700结束。如果PS,则在步骤706中,主机处理器发出带有地址的STRIDEWRITE命令。如果PS,则在步骤7。

46、08中,主机处理器发出带有地址的LASTSTRIDEWRITE命令。0103在步骤710,主机处理器将PPS字节的数据传送给NVM封装件。在步骤712,主机处理器发出带有地址的确认命令来将写提交给存储器阵列。在步骤714,主机处理器执行对带有地址的状态的等待,直到NVM封装件提供了指示数据已被提交给存储器的状态为止。在步骤716,要写的剩余页数被递减1,并且操作700返回步骤704。说明书CN102326154ACN102326167A12/13页160104跨越两个CAU和四个跨度行程2并且跨度4而延展的八页的示例带有地址的STRIDEWRITE的操作可以为如下0105STRIDEWRITE。

47、块0页00106STRIDEWRITE块1页00107GETPAGESTATUS块0页0W4R状态0108STRIDEWRITE块2页00109GETPAGESTATUS块1页0W4R状态0110STRIDEWRITE块3页00111GETPAGESTATUS块2页0W4R状态0112STRIDEWRITE块4页00113GETPAGESTATUS块3页0W4R状态0114STRIDEWRITE块5页00115GETPAGESTATUS块4页0W4R状态0116LASTSTRIDEWRITE块6页10117GETPAGESTATUS块5页0W4R状态0118LASTSTRIDEWRITE块7页。

48、10119GETPAGESTATUS块6页0W4R状态0120GETPAGESTATUS块7页0W4R状态0121示例队列配置0122图8图示出了NVM封装件中的命令队列的使用。在一些实现方式中,NVM封装件800可以包括可由控制器802访问的一个或多个队列804。该队列可以是FIFO队列。主机控制器接收的命令可被存储在队列804中。在所示示例中,有三个队列。每个队列分别用于读命令、编程命令和擦除命令。响应于触发事件,控制器802可以将一个或多个命令记录在队列804的一个或多个中,以优化存储器操作期间的性能。例如,一种触发事件可以是如果队列和缓冲器中的顶部项去往正忙于另一操作的平面或CAU的话。

49、。0123图9是用于将命令记录在图8所示的命令队列中的示例处理900的流程图。在一些实现方式中,处理900通过从主机控制器接收命令而开始902。这些命令用于非易失性存储器上的启动操作。命令被存储在一个或多个队列中904。例如,三个单独队列可以存储读命令、编程命令和擦除命令。由控制器响应于触发事件而将命令记录在非易失性存储器件中906。0124虽然本说明书包含许多细节,但这些细节不应被解释为是对作为权利要求的内容的范围或者可能要求保护的内容的范围的限制,而是对特定实施例特有的特征的描述。本说明书中在分离的实施例的上下文中描述的某些特征也可以相组合地在单个实施例中实现。反之,在单个实施例的上下文中描述的各个特征也可以分别在多个实施例中实现或者以任何合适的子组合方式来实现。此外,虽然上面可能将特征描述为以某些组合的方式起作用并且甚至最初要求如此这样被保护,但是来自要求保护的组合的一个或多个特征在一些情况下可从该组合被去除,并且要求保护的组合可被引向子组合或者子组合的变更。0125类似地,虽然以特定顺序描述了附图中的操作,然而这不应被理解为要求这些操作以所示出的特定顺序或者依次地被执行,或者所有示出的操作要被执行以获得所希望的说明书CN102326154ACN10。

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

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


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