从 GL-N 和 GL-P 迁移到 GL-S 闪存 应用说明 1. 简介 Spansion® 进一步扩展 MirrorBit® GL 系列 3V NOR 闪存,开发了基于 65 nm MirrorBit Eclipse™ 技术的 GL-S 并行 NOR 系列。 Spansion 在开发 GL-S 闪存系列时考虑了迁移性,为 GL-N 和 GL-P 闪存开发的大多数现有 应用也可以使用 GL-S 闪存。此文档概述了在迁移到 GL-S 闪存时需留意的产品差异。注: 此文档讨论 GL-S 系列产品的使用,从 128 Mbit 到 1 Gbit 容量 (S29GLxxxS) 和 2 Gbit 容量 (S70GL02GS,双晶片封装 DDP,使用一对 1 Gbit 设备)。此文档不介绍适合游戏应用的离散 2 Gbit (S29GL02GS) 设备的特有功能集。 2. GL-N、 GL-P 和 GL-S 闪存特性比较 表 2.1 概述 GL-N、 GL-P 和 GL-S 闪存系列的功能。 65 nm MirrorBit Eclipse GL-S 闪存为高容量 3V 并行 NOR 应用提供显著改进的编程和擦除性能,同时保留基本的硬件和软件兼容性,以便在利用 GL-N 和 / 或 GL-P 闪存的现有设计中使用。功能差异在第 3 节中讨论。 原有 GL-N 和 GL-P 系列与 65 nm GL-S 系列之间的根本差异在于使用微控制器 (而不是硬件有线状态机)来 管理内部闪存活动。这种方式的好处是产品开发和生产测试的效率明显提高。此微控制器基于软件状态机,其 影响是设备在加电时进行自我配置的时间有所增加。加电复位 (POR) 时序的差异在第 9 页第 4 节,加电复位 和热复位时序 中讨论。 直流和交流规格的差异在第 10 页第 5 节,直流和交流参数差异 中详细介绍。形状和封装的差异在第 12 页 第 6 节,封装 中讨论。 出版物 编号 Migrate_S29GL-N_P_to_S29GL-S_AN 修订版本 05 发行 日期 2012 年 6 月 11 日 应 用 说 明 表 2.1 GL 系列功能比较 系列 S29GL-N S29GL-P S29GL-S 移植问题 工艺节点 110 nm 90 nm 65 nm 否 128 Mbit √ √ √ 否 256 Mbit √ √ √ 否 512 Mbit √ √ √ 否 1024 Mbit √ √ 否 2048 Mbit √ (多晶片) √ (多晶片) 否 √ √ 否 潜在 容量 扇区架构 统一 128 kB √ 数据总线宽度 x8/x16 x8/x16 x16 异步 √ √ √ 否 读取页面模式 √ √ √ 否 读取页面大小 16 字节 16 字节 32 字节 否 写入缓冲器大小 32 字节 64 字节 512 字节 否 √ √ 否 256 字节 2 x 512 字节 潜在 读取 安全 单个扇区写入保护 √ 安全硅 OTP 区域 256 字节 其他 12V 加速编程 √ √ 潜在 解锁省略命令 √ √ 潜在 多扇区擦除 √ √ 潜在 高电压自动选择读取 √ √ 潜在 √ 空白检查 否 高电压自动选择读取 √ √ CFI 版本 1.3 1.3 1.5 潜在 数据轮询状态 √ √ √ 否 状态寄存器状态 √ √ √ 否 潜在 包装和订购选项 64 球 BGA 10 x 13 mm (FAA064) √ √ 64 球 BGA 11 x 13 mm (LAA064) √ √ 64 球 BGA 9 x 9 mm (LAE064) SnPb 焊料选项 (RoHS 5/6) 2 √ 从 GL-N 和 GL-P 迁移到 GL-S 闪存 √ 是 √ 否 √ 潜在 √ 否 2012 年 6 月 11 日 应 用 说 明 3. 功能差异讨论 3.1 容量 S29GL-S 闪存有单片 128、 256、 512 和 1024 Mbit 等容量。同晶片堆栈式 S70GL-S 闪存只有 2048 Mbit 一 种容量。 3.2 扇区架构 GL-S 闪存采用统一的 128 kB 扇区架构,与 GL-N 和 GL-P 闪存相同。 3.3 数据总线宽度 GL-S 闪存只支持 x16 数据总线,如 DQ[15:0]。 x8/x16 GL-N 和 GL-P 闪存设备上的 BYTE# 输入 (56-TSOP 上的针脚 53 和 64-BGA 上的球 F7),在 GL-S 上标记为保留给未来使用 (RFU),该输入在内部不连接。对于 现有 GL-N 和 GL-P 设计, BYTE# 输入必须拉升至 >VIH 以强制在 x16 数据模式下运行,方可迁移至 GL-S 闪 存。 3.4 读取页面缓冲器容量 GL-S 闪存有一个 32 字节 (16 字)读取页面缓冲器,其长度是原有 GL-N 和 GL-P 闪存的两倍,可执行更大 容量的处理器缓存行填充操作。以 GL-N 和 GL-P 闪存支持的 16 字节最大读取页面传输功能运行时,不需要 进行任何软件修改。 为了充分利用更大容量的 GL-S 读取页面缓冲器,软件可以进行相应的修改,包括查询位于 CFI 字偏移 4Ch 的 CFI 编程缓冲器深度寄存器和配置软件以执行更多页面模式读取循环。 3.5 写入缓冲器大小 GL-S 闪存有一个 512 字节 (256 字)写入缓冲器,其容量是 GL-N 闪存的 16 倍, GL-P 的 8 倍。写入缓冲 器容量越大,编程生产量越强,与大多数文件系统的数据对齐能力越好。以 GL-N 和 GL-P 闪存支持的 32 字 节或 64 字节最大写入缓冲器填充功能运行时,不需要进行任何软件修改。 为了充分利用更大容量的 GL-S 写入缓冲器,软件可以进行相应的修改,包括查询位于 CFI 字偏移 2Ah 的 CFI 编程缓冲器容量寄存器和配置软件以执行更大容量的缓冲器填充。为了在最大程度上保持数据完整性,建 议对多个 32 字节页面执行 GL-S 缓冲器写入。例如,将 1 到 16 个要编程的 32 字节数据页面并行加载到阵列 中。 3.6 高电压加速编程 GL-S 闪存不支持加速编程, GL-N 和 GL-P 闪存与其不同,它们在 VHH (标称值 12V)应用于 WP#/ACC 输 入时支持高电压加速编程。 GL-S 闪存编程生产量远远超过 GL-N 和 GL-P 闪存的高电压加速编程生产量,因此不再需要原有的这项功 能。 GL-S 在任何输入上都不支持 4.0V 以上的输入电平。如果现有设计支持 GL-N 或 GL-P 闪存加速编程的高电压 应用,则必须对其修改,使其在 GL-S 闪存上不应用 VIO 以上的电压。 3.7 自动选择寄存器存取 GL-S 闪存只支持通过软件命令执行自动选择寄存器存取, GL-N 和 GL-P 闪存与其不同,它们支持通过软件 命令和高电压方法两种方式来执行自动选择寄存器存取。使用高电压方法时,需要将 VID (标称值 12V)应用 于地址输入 A9。 GL-S 在任何输入上都不支持 4.0V 以上的输入电平。如果现有设计支持通过高电压方法来执行自动选择寄存 器读取,则必须对其修改,使其在 GL-S 上不应用 VIO 以上的电压。 2012 年 6 月 11 日 从 GL-N 和 GL-P 迁移到 GL-S 闪存 3 应 用 说 明 在 GL-N 和 GL-P 闪存中,自动选择寄存器覆盖扇区地址零 (SA00)。在 GL-S 闪存中,自动选择寄存器覆盖通 过自动选择进入命令选择的扇区。在现有 GL-N 和 GL-P 设计中存取 GL-S 闪存自动选择寄存器时,不需要修 改软件。 扇区锁定状态可通过存取所需扇区内的自动选择寄存器字偏移 02h 来确定。在 GL-N 和 GL-P 闪存中,多个扇 区的锁定保护状态可通过在闪存基准地址进入自动选择模式来确定。在 GL-S 闪存上,只能确定在自动选择进 入命令中选择的扇区的保护状态。如要确定其他扇区的锁定保护状态,必须退出自动选择模式,然后在自动选 择进入命令中使用所需的扇区重新进入。 3.8 设备 ID 128 Mbit、 256 Mbit、 512 Mbit 和 1024 Mbit GL-S 闪存与相应容量的 GL-N 和 GL-P 闪存具有相同的设备 ID 寄存器值。 S70GL02GS 闪存与 S70GL02GP 闪存具有相同的设备 ID。 表 3.1 GL 闪存设备 ID 描述 地址 读取数据 设备 ID 字 1 (SA) + 0001h 227Eh 设备 ID 字 2 (SA) + 000Eh 2248h = 2 Gbit 2228h = 1 Gbit 2223h = 512 Mbit 2222h = 256 Mbit 2221h = 128 Mbit 设备 ID 字 3 (SA) + 000Fh 2201h 对于支持 GL-N 或 GL-P 闪存且利用设备 ID 来设置软件命令支持的现有软件,不需要修改即可启用 GL-S 闪 存的兼容功能。为充分利用 GL-S 的新超集功能,如更大容量的读取页面缓冲器和写入缓冲器,应使用特定 CFI 寄存器查询。CFI 字偏移 45h 位置的 CFI 工艺生成位可在系统内确定唯一的 GL 系列,例如 GL-N:0010h, GL-P:0014h, GL-S:001Bh。 在 GL-S 闪存上,设备 ID 只能通过软件自动选择寄存器命令来存取,而不能使用在 GL-N 和 GL-P 闪存上可 选的高电压方法。 3.9 解锁省略 与现有的 GL-N 和 GL-P 闪存不同, GL-S 闪存不支持解锁绕过模式编程。 解锁绕过模式编程是一项原有功能,当只使用单字节 / 字编程命令执行编程时,可将命令循环负担降低 50%。 使用高密度 GL 设备的应用依靠多字写入缓冲器编程来尽量提高编程生产量。写入缓冲器编程本身有一个低效 率命令负担,支持单字节 / 字编程。如果现有设计支持解锁绕过编程,必须对其修改,使其在 GL-S 闪存上不 使用解锁绕过命令。 3.10 多扇区擦除 与 GL-N 和 GL-P 闪存不同, GL-S 闪存不支持多扇区擦除。 多扇区擦除是一项原有功能,允许在一个命令字符串中排列多个扇区擦除操作,从而尽量减轻命令负担。此项 功能很少使用,因此删除它不会妨碍将大多数现有设计迁移到 GL-S 闪存。对于支持多扇区擦除的那些应用, 应进行修改,使其对每个扇区擦除操作分别发送一个擦除命令。 4 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应 用 3.11 说 明 安全硅 OTP 区域 S29GL-S 闪存有 1024 字节一次性可编程 (OTP) 存储器。此安全硅区域 (SSR) 分成两个区域,低位 512B 区 域, SSR 区域 0 是工厂可修改区域;高位 512B 区域, SSR 区域 2 是客户可修改区域。在订购时,可要求工 厂对 SSR0 预编程。 SSR0 为工厂锁定区域,客户不能修改。安全硅区域只可在写入安全硅进入命令后存取, 它映射到在进入命令期间选择的扇区的低位 1 kB。 SSR 区域 0 覆盖所选扇区的字偏移 0x0000 到 0x00FF。 SSR 区域 1 覆盖所选扇区的字偏移 0x0100 到 0x01FF。在安全硅存取模式下,1 kB 安全硅区域之外的存储区 没有定义区域。 GL-N 和 GL-P 闪存在安全硅扇区区域中有 256B 的 OTP。在订购时,可要求工厂对该区域预编程和锁定;否 则,用户可对其编程和锁定。该区域只可在安全硅存取模式下存取,它覆盖 SA0 的字 0x0000 到 0x007F。 安全硅锁定寄存器位使用不同于 GL-S。 GL-S 锁定寄存器 DQ0 被工厂编程为 0,以示 SSR 区域 0 被工厂锁 定。 GL-S 锁定寄存器位 6 被工厂预置为 1,以示 SSR 区域 1 未锁定,可以由客户编程为 0 以锁定 SSR 区域 1。 GL-N 和 GL-P 锁定寄存器 DQ0 默认情况下被预置为 1,以示安全硅区域未锁定。如果订购了工厂预编 程,则可能在出厂时设置为 0,或者由客户编程为 0 以锁定安全硅区。 在 GL-S 闪存中,工厂可锁定的 SSR0 锁定状态位是第 7 位,位于自动选择寄存器中的 x16 偏移 003h ;用户 可锁定的 SSR 区域 1 锁定状态位是第 6 位,位于自动选择寄存器中的字偏移 003h。在 GL-N 和 GL-P 闪存 中,安全硅扇区锁定状态位是第 7 位,位于自动选择寄存器中的字偏移 003h,并且如果已设置,则表示安全 硅扇区已锁定在工厂模式或被用户锁定。 S70GL02GS 闪存实际上有两个 1 kB OTP 区域,每个 GL01GS 晶片中一个。为存取高位区域,在安全硅寄 存器存取命令循环期间,需要闪存输入 A26 = 1。 3.12 写入保护 GL-S 闪存支持高级扇区保护 (ASP) 功能,可通过用户配置的 8 字节非易失性和易失性控制密码为扇区提供软 件启用的编程和擦除保护,这一点与 GL-N 和 GL-P 闪存相同。 3.13 数据轮询 GL-S 闪存支持原有的数据轮询,可确定嵌入式编程和操作操作的状态。其实施与 GL-N 和 GL-P 闪存相同, 当迁移到 GL-S 闪存时,不需要修改软件即可继续使用数据轮询例程。 在 GL-S 上执行扇区擦除操作期间,第六个扇区擦除命令循环后, DQ3 位立即转换为逻辑 1,以指明擦除操作 已开始。在 GL-N 和 GL-P 闪存上, DQ3 位在第六个扇区擦除命令循环之后再经过 ~50 微秒才转换为逻辑 1, 以允许进入其他扇区地址和擦除命令对。 GL-S 不支持扇区擦除队列功能。 如果 GL-S 闪存发生 DQ5 超时事件,则需要软件复位命令来清除 DQ5 并将闪存返回就绪状态。这可能需要 2 μs 闪存才会停止沟通,它正忙于执行此复位命令。 在未来更小工艺几何形状的 MirrorBit Eclipse GL 闪存系列产品中,可能不支持数据轮询。若不支持数据轮 询,为了确定嵌入式编程和擦除操作的状态,需要读取状态寄存器。 2012 年 6 月 11 日 从 GL-N 和 GL-P 迁移到 GL-S 闪存 5 应 用 3.14 说 明 状态寄存器 GL-S 闪存支持将状态寄存器读取作为数据轮询的备用方法,用于确定嵌入式操作的状态。 GL-N 和 GL-P 闪 存不支持状态寄存器功能。 16 位状态寄存器可通过一个两循环操作来存取,先是读取状态寄存器命令写入循环,之后是对同一目标扇区 地址的读取循环。使用状态寄存器时,软件不需要通过跟踪活动地址区域或比较连续轮询读取值来确定嵌入式 算法的状态,与原有数据轮询相比,更具有优势。一次状态寄存器读取可提供为确定闪存状态而必需的所有信 息。清除状态寄存器命令可用于复位最后完成的嵌入式操作所对应的状态寄存器中的部分。 状态寄存器只是可选功能,采用 GL-N 和 GL-P 闪存的现有设计不是必须要支持此功能。如果需要,可以修改 软件,使其在自动选择模式下查询位于偏移 000Ch 的低软件位,从而利用此功能。如果第 0 位已设置,则支 持状态寄存器功能。第 16 页第 7 节,附录 — 状态寄存器读取源代码示例 包含关于如何实施数据轮询和状态 寄存器存取的 C 源代码实例。 关于实施状态寄存器的详细说明,在 GL-S 闪存数据表 (S29GL_128S_01GS_00) 中介绍。表 3.2 中提供状态 寄存器位的定义。 表 3.2 状态寄存器位定义 状态寄存器位 15:08 描述 名称 复位值 忙碌状态 准备就绪状态 无效 x 7 设备准备就绪位 DRB 1 0 1 6 擦除挂起状态位 ESSB 0 无效 0: 无擦除挂起 1 : 擦除挂起 5 擦除状态位 ESB 0 无效 0: 擦除成功 1 : 擦除失败 4 编程状态位 PSB 0 无效 0: 程序成功 1 : 编程失败 3 写入缓冲器异常终止状态位 WBASB 0 无效 0: 编程未中止 1 : 编程在写入缓冲器命令期间 中止 2 编程挂起状态位 PSSB 0 无效 0: 无编程挂起 1 : 编程挂起 1 扇区锁定状态位 SLSB 0 无效 0: 扇区在操作期间未锁定 1 : 扇区锁定错误操作 0 保留 0 无效 x 保留 x 注: 1. 第 15 位到第 8 位和第 0 位保留给未来使用,可能显示 0 或 1。检查状态时,这些位应忽略 (屏蔽)。 2. 当设备中没有嵌入式算法正在执行时,第 7 位是 1。 3. 仅当第 7 位是 1 时,第 6 位到第 1 位才有效。 4. 冷复位或热复位可将所有位置于它们的复位状态。 5. 清除状态寄存器命令或软件复位命令可将第 5 位、第 4 位、第 3 位和第 1 位清除为 0。 6. 发出擦除挂起命令时,用户必须继续读取状态,直至 DRB 变为 1。 7. 擦除恢复命令可将 ESSB 清除为 0。 8. ESB 反映最近擦除操作成功或失败。 9. PSB 反映最近编程操作成功或失败。 10. 在擦除挂起期间,对挂起的扇区编程会导致编程失败并将编程状态位设为 1。 11. 发出编程挂起命令时,用户必须继续读取状态,直至 DRB 变为 1。 12. 编程恢复命令可将 PSSB 清除为 0。 13. SLSB 指明编程或擦除操作因扇区锁定而失败。 14. SLSB 反映最近编程或擦除操作的状态。 6 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应 用 3.15 说 明 空白检查 GL-S 闪存支持扇区空白检查功能,允许系统软件在代码更新之前尽量减少与擦除相关的等待时间。此功能是 可选功能, GL-N 和 GL-P 闪存不支持。增加空白检查功能对于现有设计来说是透明的。关于空白检查功能实 施的详细说明,请参见 GL-S 数据表。 3.16 CFI 寄存器 表 3.3 提供所有通用闪存文件 (CFI) 寄存器值的列表, GL-N、 GL-P 和 GL-S 闪存系列的这些值并不相同。软 件可以存取 CFI 寄存器以确定与设备相关的功能,如阵列大小、命令集、页面大小以及编程时间,并使用这 些值进行自我配置以达到最佳性能。 GL-S 支持 CFI 版本 1.5,它是 GL-N 和 GL-P 闪存支持的原有 CFI 版本 1.3 的扩展地址范围修订版。 表 3.3 CFI 寄存器差异 CFI 寄存器 单字写入的典型超时 = 2N μs GL-N GL-P GL-S 1Fh 0007h 0006h 0008h 20h 0007h 0009h 0009h 个别块擦除的典型超时 = 2 ms 21h 000Ah 0009h 0008h 完全芯片擦除的典型超时 = 2N ms 0000h = 不支持 22h 0000h 0013h (1 Gb) 0012h (512 Mb) 0011h (256 Mb) 0010h (128 Mb) 0012h (1 Gb) 0011h (512 Mb) 0010h (256 Mb) 000Fh (128 Mb) 单字最大超时 = 2N 倍典型值 23h 0003h 0003h 0001h 最大多字节编程最大超时 = 2N 倍典型值 24h 0005h 0005h 0002h 个别块擦除最大超时 = 2N 倍典型值 25h 0004h 0003h 0003h 完全芯片擦除最大超时 = 2N 倍典型值 0000h = 不支持 26h 0000h 0002h 0003h 闪存设备接口描述 0000h = 仅 x8, 0001h = 仅 x16, 0002h = x8/x16 28h 0002h 0002h 0001h 多字节写入最多字节数 = 2N 2Ah 0005h 0006h 0009h 次版本号, ASCII 44h 0033h 0033h 0035h 工艺技术 (位 5-2): 0100b = 110 nm MirrorBit, 0101b = 90 nm MirrorBit, 0111b = 65 nm MirrorBit Eclipse 地址敏感解锁 (位 1-0): 00b = 需要, 01b = 不需要 45h 0010h 0014h 001Ch 页面模式类型 0002h = 8 字页面, 0003h = 16 字页面 4Ch 0002h 0002h 0003h ACC (加速)供应最小 0000h = 不支持, D[7:4] = V, D[3:0] = 100 mV 4Dh 00B5h 00B5h 0000h ACC (加速)供应最大 0000h = 不支持, D[7:4] = V, D[3:0] = 100 mV 4Eh 00C5h 00C5h 0000h 解锁省略 0000h = 不支持, 0001h = 支持 51h – – 0000h 安全硅扇区 (用户 OTP 区域)容量 = 2N 字节 52h – – 0009h 软件功能 53h – – 008Fh 读取页面容量 = 2N 字节 54h – – 0005h 擦除挂起超时最长 < 2N μs 55h – – 0006h 编程挂起超时最长 < 2N μs 56h – – 0006h 嵌入式硬件复位超时最长 < 2 μs 78h – – 0006h 非嵌入式硬件复位超时最长 < 2N μs 79h – – 0009h 最大多字节编程的典型超时 = 2N μs N N 2012 年 6 月 11 日 字偏移 从 GL-N 和 GL-P 迁移到 GL-S 闪存 7 应 用 说 明 特定软件驱动程序检验 CFI 寄存器中的特定值,以确定是否支持特定闪存。 Linux MTD 驱动程序分别检验位 于 CFI 寄存器字偏移 43h 和 44h 的主次版本号 (ASCII) 条目,以确定 MTD 中是否内置了与设备相关的支持。 GL-N 和 GL-P 闪存的主版本号值是 0031h (ASCII 1),次版本号值是 0033h (ASCII 3),这说明 CFI 寄存器符 合 CFI 1.3 标准。 GL-S 闪存的主版本号值是 0031h (ASCII 1),次版本号值是 0035h (ASCII 5),这说明 CFI 寄存器符合 CFI 1.5 标准。此差异导致原有的 MTD 驱动程序无法识别 GL-S 闪存。在此情况下,需要通过一 个软件补丁程序来更新 MTD 的 GL-S 支持。相应的 Linux 驱动程序可从 www.spansion.com 下载。 3.17 锁定寄存器差异 GL-S 安全闪存的锁定寄存器有几处变化,请参阅表 3.4。 GL-S 中的锁定寄存器位 8 表示已启用 PPB 位,工 厂预置为 0。在 GL-N 和 GL-P 中,这个位被保留,工厂预置为 1。 在 GL-S 闪存中, DQ7“ 保留 ” 位工厂预置为 0 或 1。在 GL-N 和 GL-P 闪存中,这个位工厂预置为 1。 GL-S 中的 DQ6 “SSR 区域 1(客户)锁定位 ” 工厂预置为 1,客户可设置为 0 以永久性对 512 字节 SSR 1 OTP 区域进行写保护。在 GL-N 和 GL-P 闪存中,这个位被 “ 保留 ”,工厂预置为 1。 GL-S 中的 DQ0 “SSR 区域 0(工厂)锁定位 ” 工厂预置为 0,永久性对 512 字节 SSR 0 OTP 区域进行写保 护。在 GL-N 和 GL-P 中,这个位启用工厂或客户的安全硅区域锁定。如果安全硅区域已在工厂预编程,则 这个位为 0,表示安全硅区域被锁定,否则,工厂预置为 1,可被客户设置为 0 来锁定安全硅区域。 注:不需要客户在 GL-S 安全闪存中同时对 DQ2 和 DQ1 或 DQ6 进行编程。这使得客户可以在选择设备保护 方案之前或之后锁定 SSR。对编程锁定寄存器时,所有 “ 保留 ” 位应写为 1 (屏蔽)。 表 3.4 锁定寄存器差异 GL-N 和 GL-P 闪存 锁定寄存器 位 客户 定义 默认 DQ[15:9] 保留 1111111b DQ8 保留 1b DQ7 保留 1b 否 DQ6 保留 1b 否 DQ5 保留 1b 否 DQ4 保留 1b DQ3 保留 1b DQ2 DQ1 DQ0 8 GL-S 闪存 密码保护 模式锁定位 持久保护 模式锁定位 安全硅扇区 保护位 默认 否 保留 1111111b 否 保留 0b 否 保留 0b/1b 否 1b 是 保留 1b 否 否 保留 1b 否 否 保留 1b 否 1b 是 1b 是 0b 否 1b 是 1b 是 1b 是 从 GL-N 和 GL-P 迁移到 GL-S 闪存 客户 定义 可修改 SSR 区域 1 (用户)锁定位 读取密码 保护模式锁定位 持久保护 模式锁定位 SSR 区域 0 (工厂)锁定位 可修改 否 2012 年 6 月 11 日 应 用 说 明 4. 加电复位和热复位时序 与热复位相比,加电时,闪存在复位状态下另外需要一些时间进行自我配置。表 4.1、图 4.1 和图 4.2 详细介 绍 GL-N、 GL-P 和 GL-S 闪存的加电复位和热复位的时序要求。 表 4.1 加电复位和热复位时序要求 类型 GL-N GL-P GL-S 参数 描述 tVCS VCC 第一次存取的设置时间 min 35 µs 35 µs 300 µs tVIOS VIO 第一次存取的设置时间 min 35 µs 35 µs 300 µs tRPH 加电复位 RESET# 低到 CE# 低 min 35 µs 35 µs 35 µs tRP RESET# 低到 RESET# 高 (分钟) min 50 ns 35 µs 200 ns (2) tRH RESET# 高到 CE# 低 min 50 ns 200 ns 50 ns (2) tCEH CE# 高至 CE# 低 min 不适用 不适用 20 ns tRPH RESET# 低到 CE# 低 min 20 µs(3) 35 µs 35 µs tRP RESET# 低到 RESET# 高 (分钟) min 50 ns 35 µs 200 ns (2) tRH RESET# 高到 CE# 低 min 50 ns 200 ns 50 ns (2) tCEH CE# 高至 CE# 低 min 不适用 不适用 20 ns 热复位 注: 1. N/A = 不适用 2. 对于 GL-S, tRP + tRH 不得小于 tRPH。 3. 对于 GL-N,在嵌入式操作期间 tRP = 20 µs, tRP = 500 ns。 图 4.1 加电复位时序 复位 # 注: tRP 和 tRH 之和必须等于或大于 tRPH。 2012 年 6 月 11 日 从 GL-N 和 GL-P 迁移到 GL-S 闪存 9 应 用 说 明 图 4.2 热复位时序 复位 # 注: tRP 和 tRH 之和必须等于或大于 tRPH。 加电时序的差异不应妨碍大多数应用的迁移,在这些应用中,闪存直接与在启动对闪存的第一个引导读取访问 之前需要振动器和 PLL 锁定的主机直接通讯。对于在加电应用 300 μs 内可能存取闪存的应用,需要对电路进 行一些修改才能迁移到 GL-S 闪存。 要在开机后开始第一个读取或写入循环,GL-S 要求在 VCC 超过 VCC_min 和 VIO 超过 VIO_min 后,CE# 在不早 于 tVCS 的情况下从 “ 高 ” 转变为 “ 低 ”。CE# 必须为高,在 CE# 下降沿之前至少 tCEH = 20 ns,开始第一次读 取。对于 GL-N 和 GL-P 没有要求,因此,如果不修改来启用有效的 CE# 控制, CE# 固定为低的设计不能移 植至 GL-S。 在热复位期间,CE# 会忽略,但是,要在热复位后开始第一次读取或写入循环,GL-S 要求在 RESET# 从 “ 低 ” 转变为 “ 高 ” 之前 CE# 在不早于 tRH 的情况下从 “ 高 ” 转变为 “ 低 ”。 CE# 必须为高,在 CE# 下降沿之前至 少 tCEH = 20 ns,开始第一次读取。对于 GL-N 和 GL-P 没有要求,因此,如果不修改来启用有效的 CE# 控 制, CE# 固定为低的设计不能移植至 GL-S。 GL-S 允许 VIO 与 VCC 同时变化或在 VCC 之后变化,对于时间和电压差没有限制。在功率变化期间,不允许 任何输入超过 VIO。 GL-S 数据表提供关于电源管理和控制的详细使用说明,用以设计强大可靠的系统。一般 而言, GL-S 数据表中的这个附加指南同样适用于 GL-N 和 GL-P 闪存。 5. 直流和交流参数差异 表 5.1 提供直流规格的差异对照表。GL-S 不支持任何输入超过 4.0V 的应用。GL-S 最大逻辑电平的指定方式 不同于 GL-N 和 GL-P,更符合关于 CMOS 应用规范的行业标准。例如,让低电流 CMOS 输入在超过 VIO 20% 时保持稳定状态逻辑 ‘0’ 是不现实的。最大 VIH 中的差异不影响逻辑转换点或时序参数规格,因此不应造 成移植问题。 表 5.1 直流规格差异 参数 描述 类型 GL-N GL-P GL-S 输入电平 VIO A9 和 ACC 之外的所有 I/O max 4.0V 4.0V 4.0V VIO A9 和 ACC max 12.5V 12.5V 4.0V max VIO + 0.3V VIO + 0.3V VIO + 0.4V 60 mA 逻辑电平 VIH 输入高电压 ICC1 有效 VCC + VIO 读取 (5 MHz) max 50 mA 55 mA ICC2 有效 VCC 页面内读取 (33 MHz) max 20 mA 20 mA 25 mA ICC3 有效编程或擦除 max 90 mA 90 mA 100 mA ICC4 待机电流 max 5 µA 5 µA 100 µA ICC5 复位电流 max 5 µA 500 µA 20 mA ICC6 自动睡眠电流 (1) max 5 µA 5 µA 150 µA 电源使用 注: 1. GL-S 在 CE# < VIL 时地址变换 tACC + 30 ns 内允许指定的自动睡眠电流消耗,并在附加的控制信号非活动 8 µs 内转换到待机模式。 10 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应 用 说 明 表 5.2 提供 GL 各系列交流参数规格差异的对照表 (复位时序参数差异在表 4.1 中介绍)。为确保迁移成功, 应针对实际应用的实施检查所有参数。对于使用擦除挂起和 / 或编程挂起功能的应用,应检查发出挂起命令和 恢复命令之间等待时间较长的 GL-S 的系统软件分支、闪存更新状态、以及模式转换的完成情况,这一点非常 重要。 表 5.2 交流规格差异 参数 描述 类型 GL-N (1) GL-P (1) GL-S (1) 异步读取 tACC / tCE / tRC tPACC tDF 读取循环时间 min 100 ns 100 ns 100 ns 页面内存取时间 min 25 ns 25 ns 15 ns 控制求反到 High-Z min 20 ns 20 ns 15 ns 异步写入 tWC 写入循环时间 min 100 ns 100 ns 60 ns tWP WE# 允许到禁止 min 35 ns 35 ns 25 ns WE# 禁止到允许 min 30 ns 30 ns 20 ns 数据设置到 WE# 禁止 min 45 ns 30 ns 30 ns 擦除 / 编程有效到 RY/BY# 延迟 max 90 ns 90 ns 80 ns tWPH tDS tBUSY 挂起恢复 tESL 擦除挂起 / 擦除恢复 max 20 µs 20 µs 40 µs tPSL 编程挂起 / 编程恢复 max 15 µs 15 µs 40 µs 典型 240 µs 480 µs 340 µs 有效写入缓冲器编程时间 ( 每字 ) 典型 15 µs 15 µs 1.33 µs 单字编程时间 典型 60 µs 60 µs 125 µs 128 kB 扇区擦除时间 (3) 典型 1.49s 1.49s 200 ms 扇区擦除超时 max 50 µs 50 µs 0s x16 异步读取 max 20 MB/s 18 MB/s 22 MB/s x16 页面模式读取 (4) max 58 MB/s 56 MB/s 98 MB/s 编程 典型 133 kB/s 133 kB/s 1.5 MB/s 典型 88 kB/s 88 kB/s 655 kB/s 阵列更新 完全缓冲器写入编程时间 (2) 吞吐量 擦除 (3) 注: 1. 所有表规格适用于额定值为 I-temp 且 VCC = VIO = 2.7-3.6V 的 512 Mbit 容量的设备。关于其他密度和运行条件的性能规格,请参见各自 的数据表。 2. 最大写入缓冲器容量互不相同:GL-N = 32B, GL-P = 64B, GL-S = 512B。 3. 基于扇区擦除操作典型完成时间,包括必需的嵌入式预编程时间。 4. 页面模式读取生产量基于 8 字页面存取 (GL-N 和 GL-P)和 16 字页面存取 (GL-S)。 2012 年 6 月 11 日 从 GL-N 和 GL-P 迁移到 GL-S 闪存 11 应 用 6. 说 明 封装 标准的 S29GL-S 系列 Flash 可提供有铅和无铅的 TSOP056 封装以及两种 64 球 BGA 封装:LAE064 和 LAA064。 16 位数据线型号其应用引脚的定义和尺寸和之前的 GL-N/P 兼容。 LAE064 封装的外形尺寸是 9 x 9 mm,比 11 x 13 mm LAA064 封装小 43%。在现有 GL-N 和 GL-P 设计中采 用 LAE064 封装时,不需要修改印刷电路板 (PCB) 的布局;不过,表面贴装程序需要修改,以便正确放置元 件。 S70GL02GS 闪存与 S70GL02GP 采用相同的 64 球 LAA064 球栅阵列封装。在 x16 数据总线宽度应用中,其 形状与 S70GL02GP 闪存兼容。 一些连接定义发生了变化,请参见表 6.1。 表 6.1 GL-N / GL-P / GL-S 针脚引线差异 针脚或球 GL-N GL-P GL-S 迁移问题 TSOP 封装 16 WP#/ACC WP#/ACC WP# 潜在 27 NC NC 保留 否 28 NC NC DNU 潜在 30 NC NC 保留 否 51 DQ15/A-1 DQ15/A-1 DQ15 否 53 BYTE# BYTE# 保留 否 55 NC NC/A25 (1) NC/A25 (1) 否 BGA 封装 B1 NC NC/A26 (2) NC/A26 (2) 否 B4 WP#/ACC WP#/ACC WP# 潜在 E1 NC NC DNU 潜在 F7 BYTE# BYTE# 保留 否 G1 NC NC 保留 否 G7 DQ15/A-1 DQ15/A-1 DQ15 否 G8 NC NC/A25 (1) NC/A25 (1) 否 缩略语: NC = 内部不连接 (可使用焊盘走线)。 RFU = 保留给未来使用 (在当前产品上内部不连接)。 DNU = 不使用 (必须保持浮接状态,不可使用焊盘走线)。 注: 1. A25 仅适用于 S29GL01GP、 S29GL01GS、 S70GL02GP 和 S70GL02GS。 2. A26 仅适用于 S70GL02GP 和 S70GL02GS。 图 6.1 和 图 6.2 分别介绍了 GL-N/GL-P 和 GL-S 闪存 TSOP 封装的针脚定义。图 6.3 和 图 6.4 分别介绍了 GL-N/GL-P 和 GL-S 闪存 BGA 封装的针脚定义。 12 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应 用 说 明 图 6.1 TSOP 针脚定义:GL-N 和 GL-P A23 A22 A15 A14 A13 A12 A11 A10 A9 A8 A19 A20 WE# RESET# A21 WP#/ACC RY/BY# A18 A17 A7 A6 A5 A4 A3 A2 A1 NC NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 56-Pin TSOP 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 A24 A25 A16 BYTE# VSS DQ15/A-1 DQ7 DQ14 DQ6 DQ13 DQ5 DQ12 DQ4 VCC DQ11 DQ3 DQ10 DQ2 DQ9 DQ1 DQ8 DQ0 OE# VSS CE# A0 NC VIO 图 6.2 TSOP 针脚定义:GL-S A23 A22 A15 A14 A13 A12 A11 A10 A9 A8 A19 A20 WE# RESET# A21 WP# RY/BY# A18 A17 A7 A6 A5 A4 A3 A2 A1 RNU DNU 2012 年 6 月 11 日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 56-Pin TSOP 从 GL-N 和 GL-P 迁移到 GL-S 闪存 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 A24 A25 A16 RFU VSS DQ15 DQ7 DQ14 DQ6 DQ13 DQ5 DQ12 DQ4 VCC DQ11 DQ3 DQ10 DQ2 DQ9 DQ1 DQ8 DQ0 OE# VSS CE# A0 RFU VIO 13 应 用 说 明 图 6.3 BGA 针脚定义:GL-N 和 GL-P A8 B8 C8 D8 E8 F8 G8 H8 NC A22 A23 VIO VSS A24 A25 NC A7 B7 C7 D7 E7 F7 G7 H7 A13 A12 A14 A15 A16 BYTE# DQ15/A-1 VSS A6 B6 C6 D6 E6 F6 G6 H6 A9 A8 A10 A11 DQ7 DQ14 DQ13 DQ6 A5 WE# A4 B5 C5 D5 E5 F5 G5 H5 RESET# A21 A19 DQ5 DQ12 VCC DQ4 B4 RY/BY# WP#/ACC 14 C4 D4 E4 F4 G4 H4 A18 A20 DQ2 DQ10 DQ11 DQ3 A3 B3 C3 D3 E3 F3 G3 H3 A7 A17 A6 A5 DQ0 DQ8 DQ9 DQ1 A2 B2 C2 D2 E2 F2 G2 H2 A3 A4 A2 A1 A0 CE# OE# VSS A1 B1 C1 D1 E1 F1 G1 H1 NC A26 NC NC NC VIO NC NC 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应 用 说 明 图 6.4 BGA 针脚定义:GL-S A8 B8 C8 D8 E8 F8 G8 H8 NC A22 A23 VIO VSS A24 A25 NC A7 B7 C7 D7 E7 F7 G7 H7 A13 A12 A14 A15 A16 RFU DQ15/A-1 VSS A6 B6 C6 D6 E6 F6 G6 H6 A9 A8 A10 A11 DQ7 DQ14 DQ13 DQ6 A5 WE# B5 C5 D5 E5 F5 G5 H5 RESET# A21 A19 DQ5 DQ12 VCC DQ4 A4 B4 C4 D4 E4 F4 G4 H4 RY/BY# WP# A18 A20 DQ2 DQ10 DQ11 DQ3 A3 B3 C3 D3 E3 F3 G3 H3 A7 A17 A6 A5 DQ0 DQ8 DQ9 DQ1 A2 B2 C2 D2 E2 F2 G2 H2 A3 A4 A2 A1 A0 CE# OE# VSS A1 B1 C1 D1 E1 F1 G1 H1 NC A26 NC NC DNU VIO RFU NC GL-N 和 GL-P 闪存上的 WP#/ACC 连接是 GL-S 闪存上的 WP# 输入。 ACC 功能在 GL-S 上不受支持,此输 入不容许 VIO 电压以上的应用。在大多数应用中,此输入定义差异不会造成迁移问题。只有那些将 VHH (标 称值 12V)切换到 WP#/ACC 上以加速系统内编程和擦除操作的应用,会受到此差异的影响。 GL-N 和 GL-P 闪存上的 DQ15/A-1 连接是 GL-S 闪存上的 DQ15 输入 / 输出。在 x16 数据总线应用中,只有 不使用备用 A-1 功能 (在 GL-N 和 GL-P 闪存上),才可能迁移到 GL-S。此输入定义差异在 x16 数据总线应 用中不会造成迁移问题。 GL-N 和 GL-P 闪存上的 BYTE# 输入在 GL-S 闪存上电隔离且标记为 RFU。在 x16 数据总线应用中, BYTE# 输入必须拉升至 >VIH,才可能迁移到 GL-S。由于此连接在 GL-S 上电隔离,因此此输入差异不会造成迁移问 题。 GL-S 闪存有一个标记为 DNU 的连接,在 GL-N 和 GL-P 闪存上标记为 NC。 DNU 连接必须保持浮接状态。 由于 “ 不连接 ” 焊盘一般处于浮接状态,因此此输入定义差异在大多数应用中不会造成迁移问题。利用此特定 焊盘达到信号走线目的的应用会受到影响。 2012 年 6 月 11 日 从 GL-N 和 GL-P 迁移到 GL-S 闪存 15 应 用 7. 说 明 附录 — 状态寄存器读取源代码示例 /**************************************************************** * * wlld_StatusRegReadCmd - Status register read command * * This function sends the status register read command before * actualy read it. * * RETURNS: void * * ERRNO: */ #ifndef REMOVE_LLD_STATUS_REG_READ_CMD void wlld_StatusRegReadCmd ( FLASHDATA * base_addr, /* device base address in system */ ADDRESS offset /* address offset from base address */ ) { FLASH_WR(base_addr, (offset & SA_OFFSET_MASK) + LLD_UNLOCK_ADDR1, NOR_STATUS_REG_READ_CMD); } /**************************************************************** * * lld_StatusGet - Determines Flash Status for GL-S device * * Note: This routine implements both (1) read status and check * toggles (2) use read status command(GL-S device). The * enable_status_cmd_g flag switch between these two status get * methods. When calling this function, the WriteBufferProgramming * flag needs to be set to 1 if the caller wants to check DQ1 for * WriteBuffer abort. Then the flag needs to be set back to 0. See * lld_poll for example of how to use the WriteBufferProgramming * flag. * * RETURNS: DEVSTATUS * */ #define DQ1_MASK (0x02 * LLD_DEV_MULTIPLIER) /* DQ1 mask for all #define DQ2_MASK (0x04 * LLD_DEV_MULTIPLIER) /* DQ2 mask for all #define DQ5_MASK (0x20 * LLD_DEV_MULTIPLIER) /* DQ5 mask for all #define DQ6_MASK (0x40 * LLD_DEV_MULTIPLIER) /* DQ6 mask for all interleave interleave interleave interleave devices devices devices devices */ */ */ */ #define DQ6_TGL_DQ1_MASK (dq6_toggles >> 5) /* Mask for DQ1 when device DQ6 toggling */ #define DQ6_TGL_DQ5_MASK (dq6_toggles >> 1) /* Mask for DQ5 when device DQ6 toggling */ DEVSTATUS lld_StatusGet ( FLASHDATA * base_addr, ADDRESS offset ) { FLASHDATA FLASHDATA FLASHDATA FLASHDATA 16 /* device base address in system */ /* address offset from base address */ dq6_toggles; status_read_1; status_read_2; status_read_3; 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应 用 说 明 if( enable_status_cmd_g == 0 ) /* Do not use Read Status */ /* Command */ { status_read_1 = FLASH_RD(base_addr, offset); status_read_2 = FLASH_RD(base_addr, offset); status_read_3 = FLASH_RD(base_addr, offset); /* Any DQ6 toggles */ dq6_toggles = ((status_read_1 ^ status_read_2) & /* Toggles between read1 and read2 */ (status_read_2 ^ status_read_3) & /* Toggles between read2 and read3 */ DQ6_MASK ); /* Check for DQ6 only */ if (dq6_toggles) { /* Checking WriteBuffer Abort condition: Check for all devices */ /* that have DQ6 toggling also have Write Buffer Abort DQ1 set */ if (WriteBufferProgramming && ((DQ6_TGL_DQ1_MASK & status_read_1) == DQ6_TGL_DQ1_MASK) ) return DEV_WRITE_BUFFER_ABORT; /* Checking Timeout condition: Check for all devices that have */ /* DQ6 toggling also have Time Out DQ5 set. */ if ((DQ6_TGL_DQ5_MASK & status_read_1) == DQ6_TGL_DQ5_MASK ) return DEV_EXCEEDED_TIME_LIMITS; /* No timeout, no WB error */ return DEV_BUSY; } else /* no DQ6 toggles on all devices */ { /* Checking Erase Suspend condition */ status_read_1 = FLASH_RD(base_addr, offset); status_read_2 = FLASH_RD(base_addr, offset); /* Checking Erase Suspend condition */ if ( ((status_read_1 ^ status_read_2) & DQ2_MASK) == 0) return DEV_NOT_BUSY; /* All devices DQ2 not toggling */ if (((status_read_1 ^ status_read_2) & DQ2_MASK) == DQ2_MASK) return DEV_SUSPEND; /* All devices DQ2 toggling */ else return DEV_BUSY; /* Wait for all devices DQ2 toggling */ } } else { /*............................................................*/ /* Use Status Register Read command to read the status */ /* register. This is for GL-S devices only */ /*............................................................*/ #ifdef STATUS_REG volatile FLASHDATA status_reg; wlld_StatusRegReadCmd( base_addr, offset ); 2012 年 6 月 11 日 /* Issue status register read command */ 从 GL-N 和 GL-P 迁移到 GL-S 闪存 17 应 用 说 明 status_reg = FLASH_RD(base_addr, offset); /* read the status register */ if ( (status_reg & DEV_RDY_MASK) != DEV_RDY_MASK return DEV_BUSY ; if ( status_reg & DEV_ERASE_MASK ) return DEV_ERASE_ERROR; ) /* Are all devices done bit 7 is 1 */ /* Any erase error */ if ( status_reg & DEV_PROGRAM_MASK )/* Any program error */ return DEV_PROGRAM_ERROR; if ( status_reg & DEV_SEC_LOCK_MASK )/* Any sector lock error */ return DEV_SECTOR_LOCK; return DEV_NOT_BUSY ; #endif return DEV_STATUS_UNKNOWN; /* should never get here */ } } 18 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日 应用 说 明 8. 修订历史 章节 描述 修订 01 (2011 年 3 月 28 日) 首次发布。替代应用说明,如何准备设计 65 nm MirrorBit GL 和 65 nm MirrorBit Eclipse GL 产品系 列。 修订 02 (2011 年 5 月 20 日) CFI 寄存器 增加 CFI 寄存器章节。 修订 03 (2011 年 7 月 22 日) 全文 新增文字说明。 GL-N、 GL-P 和 GL-S 闪存特性比较 更新了表格。 设备 ID 新增表格:安全闪存设备 ID 特性差异讨论 新增章节:锁定寄存器差异。 直流和交流参数差异 更新了表格。 加电复位和热复位时序 新增 tCEH 规格。 更新了图示:加电复位时序、热复位时序。 修订 04 (2011 年 8 月 5 日) 安全硅 OTP 区域 已更正预置和工厂设置状况。 锁定寄存器差异 已更正工厂锁定位和工厂设置状况。 修订 05 (2012 年 6 月 11 日) GL-N、 GL-P 和 GL-S 闪存特性比较 GL 系列功能比较表:已更新封装和订购选项。 设备 ID GL 闪存设备 ID 表:已更正设备 ID 条目。 CFI 寄存器 CFI 寄存器差异表:已更正技术定义。 封装 已更新文本。 2012 年 6 月 11 日 从 GL-N 和 GL-P 迁移到 GL-S 闪存 19 应 用 说 明 书末出版说明 本文档介绍的产品,其设计、开发和制造均基于一般用途,包括但不限于普通工业使用、普通办公使用、个人使用及家庭使用,不应用于:(1) 存在严重风险或危险,除非能够保证极高的安全性,否则可能对公众造成严重影响,甚至可能直接造成死亡、人员伤害、物品损坏或其他损失的 用途 (如核设施的核反应控制、飞机飞行控制、空中交通控制、公共交通控制、医学生命支持系统、武器系统的导弹发射控制),或者 (2) 不允 许出现故障的用途 (如潜艇中继器和人造卫星)。请注意,对于您和 / 或任何第三方由于将产品用于上述用途而造成的任何索赔和损失, Spansion 不承担任何责任。任何半导体设备都可能发生故障。您必须在自己的设施和装置中加入安全设计措施,如冗余、防火、防止电流过载 及其他异常运行情形等,以防由于此类故障而造成伤害、损坏或损失。如果根据日本 Foreign Exchange and Foreign Trade Law、美国 US Export Administration Regulations 或其他国家 (地区)的适用法律的规定,本文档中介绍的任何产品是在出口方面受到特别限制的商品或技 术,则这些产品的出口必须预先得到相关政府的许可。 商标和声明 本文档的内容如有变更,恕不另行通知。本文档可能包含 Spansion 正在开发的 Spansion 产品的相关信息。 Spansion 保留变更任何产品或停止 其相关工作的权利,恕不另行通知。本文档中的信息 “ 按原样 ” 提供,对于其精确性、完整性、可操作性、对特定用途的适用性、适销性、不侵 犯第三方权利等不提供任何担保或保证,也不提供任何明确的、隐含的或法定的其他担保。对于因使用本文档中的信息而造成的任何形式的任何 损失, Spansion 不承担任何责任。 版权所有 © 2011-2012 Spansion Inc. 保留所有权利。Spansion®、Spansion 标识、MirrorBit®、MirrorBit® Eclipse™、ORNAND™ 以及它们的组 合,是 Spansion LLC 在美国和其他国家 (地区)的商标和注册商标。使用的其他名称只是一般性参考信息,可能是其各自所有者的商标。 20 从 GL-N 和 GL-P 迁移到 GL-S 闪存 2012 年 6 月 11 日