经由嵌入式控制器初始化快闪存储设备的制作方法

文档序号:6569203阅读:145来源:国知局
专利名称:经由嵌入式控制器初始化快闪存储设备的制作方法
技术领域
本发明涉及快闪存储器系统领域,且更特定地针对用于集成数字系统的快闪存储器 的初始化。
背景技术
通常称作"快闪"存储器的非易失性固态存储器技术的普及近年来已大幅提高。快 闪存储器通常是指电可擦除半导体存储器,其可以相对小的区块而非基于整个芯片或如 常规电可擦除可编程只读存储器(EEPROM)装置中一样以相对大的区块进行擦除并重 写。快闪存储器在应用(其中所存储数据的非易失性(意即,断电之后数据得以保留) 是必要的,但其中重写频率相对较低)已变得尤其普遍。快闪存储器的普遍应用的实例 包括便携式音频播放器、蜂窝式电话手持机中的电话号码和电话行为的"订户身份模块 (SIM)"卡存储、计算机和工作站的"拇指键"可移除存储装置、数码相机的存储装置 等。
典型常规快闪存储器产品被有效地布置为"芯片组",其由包括具有一个或一个以上 装置(或"阵列")形式的快闪存储器存储资源的一个或一个以上集成电路和充当所述快 闪存储器产品的存储器控制器的集成电路组成。快闪存储器阵列可布置为所谓的或非 (NOR)快闪存储器(其中个别存储器单元可随机存取)或所谓的与非(NAND)快闪存 储器(其中存储器的页或区块必须依序存取)。如此项技术中所已知,这些快闪存储器布 置的每一者具有优点和缺点。举例来说,NOR快闪存储器尤其有利于小容量代码存储, 而NAND快闪存储器对于例如音频播放器和数码相机的高容量数据存储尤其有用。近年 来,多级单元(MLC)快闪存储器的使用已变得流行,尤其在NAND快闪存储器中,在 MLC快闪存储器中,每一快闪存储器单元可存储多位数据值(通常为两个位值,存储为 四种可能状态之一)。
根据一个典型布置,快闪存储器作为含有快闪存储器资源和安装于卡上的子系统控 制器的快闪存储器子系统来制造并售卖。这些子系统的实例包括众所周知的致密快闪 (CF)卡、安全数字(SD)卡和多媒体卡。图1以方框图形式说明示范性常规快闪存储 器系统2。在此布置中,多个快闪存储器装置("阵列")12经由快闪媒体接口 FMI连接 到子系统控制器10,所述接口 FMI通常为传送来自子系统控制器IO的物理地址信号和控制信号且与装置12双向传送数据的总线。子系统控制器IO通过接口总线IF连接到连 接器C。如此项技术中所众所周知,快闪存储器系统2可插入到例如相机、计算机、音 频播放器等的主机装置中或以其它方式通过连接器C连接到所述主机装置。连接器C和 接口总线IF根据实施和实现快闪存储器系统2所依据的特定标准来布置(例如,如CF 卡、SD卡或多媒体卡)。 '
在其它已知布置(例如,智慧媒体卡)中,快闪存储器系统不包括子系统控制器。 在这些布置中,以类似方式参看图1,快闪媒体接口 FMI连接到位于快闪存储器系统外 部的控制器,例如包括在利用所述快闪存储器的主机装置(例如,相机)中的控制器。
通常,直到常规快闪存储器阵列被装配到卡中之后,其也未被格式化或初始化(也 许以芯片测试级确立的缺陷区块的标记除外)。快闪存储器初始化通常包括如根据文件系 统来格式化阵列、产生缺陷映射以使得在使用时避免物理缺陷存储器位置、存储器阵列 的低级用户区域格式化、加载可由使用所述快闪存储器系统和其中实施所述子系统控制 器的所述系统的系统执行的应用软件的光盘图像、下载固件和操作参数、微调本机振荡 器频率等。初始化过程的结果为快闪存储器系统,其中可在对应于来自主机系统的逻辑 地址的物理位置处写入并读取数据。另外,预期如果物理存储器的一部分有缺陷或如果 将为附加应用程序存储额外的光盘图像数据,则快闪存储器系统的配置也可在操作期间 更新。
一般来说,快闪存储器资源的初始化通常是由快闪存储器系统制造商来执行,此通 常在快闪存储器装置12和子系统控制器10以常规方式安装到最终系统板上且因此互连 之后进行。如图2所示,举例来说,在快闪存储器系统2制造之后,其经由连接器C和 测试电缆DUT—CBL连接到测试器TSTR。测试器TSTR将经由测试电缆DUT_CBL和连 接器C与快闪存储器系统2通信,以确保快闪存储器系统2中的电连接的连续性,确保 连接器C的端子的恰当DC行为,且执行某些可在快闪存储器装置12的初始化之前执行 的基本功能测试。另外,如此项技术中所已知,测试器TSTR通常可将诊断命令施加到 快闪存储器系统2 (具体来说是施加到控制器IO),以用于测试快闪存储器系统2 (包括 其快闪存储器装置12)的功能性,并用于初始化快闪存储器系统2。如上文所提及,快 闪存储器系统2的常规初始化包括格式化并配置快闪存储器装置12的快闪存储器资源, 检测并记录快闪存储器装置12的物理缺陷存储器位置,将控制程序("固件")加载到控 制器10中(例如,加载到嵌入在控制器10内的NOR快闪存储器中),且将具有DOS或 光盘图像形式的应用软件加载到适用于既定应用程序中的快闪存储器装置12中。此应用软件的实例包括数据加密软件、损耗平衡算法和可由控制器IO执行的类似者。
然而,近来,快闪存储器存储装置已变得需要与许多新应用程序(包括那些受控于 所谓的"系统单芯片"或"SOC"的应用程序)结合使用。在这些预期的SOC应用程序 中,单个集成电路集成了中央处理单元(CPU)、其系统存储器(RAM和ROM)、标准 接口功能(例如,USB、串行I/O等)和用于系统中的其它外围装置。如当前所配置, 为了利用快闪存储器的非易失性可重写存储特征,使用快闪存储器的消费者装置的SOC 架构也用从SOC到快闪存储器装置的外部接口将快闪存储器子系统控制器集成到SOC 中。图3说明现将描述的使用快闪存储器的基于SOC架构的此类常规布置。
如图3所示,SOC 20与快W存储器35介接,所述存储器通常经由常规快闪存储器 接口 NAND—IF布置为一个或一个以上NAND快闪存储器装置(当然,虽然可改为使用 NOR快闪存储器)。在此布置中,在SOC 20内实现快闪存储器子系统控制器29,而非 作为以上图1中所描述的快闪存储器子系统的一部分。SOC20实际上是系统单芯片,且 同样包括CPU 22和各种系统功能,例如系统ROM 24、系统RAM 26和标准接口 30 (例 如,USB、 SCSI、 RS-232或其它接口), CPU 22经由如图3所示的常规总线CPU_BUS 连接到所述系统功能。其它外围装置也可包括在SOC 20内,且经由总线桥接器28和外 围总线PER—BUS与CPU22通信。在图3的实例中, 一个这种外围装置是子系统控制器 29,其通过在外围总线PER—BUS与子系统控制器29之间转译信号的标准接口 27A、 27B 耦合到外围总线PER—BUS;此转译使常规子系统控制器29能够容易地实施在SOC 29 内而无需大批的重新设计。同样,SOC 22可容易地以将快闪存储器35用作类似于光盘 存储器的非易失性存储器的方式操作。举例来说,在快闪存储器35上可保持大量数据存 储,也可保持应用程序。举例来说,存储在快闪存储器35上的应用程序可以与在较大系 统中从光盘存储器调用并加载应用程序的方式非常相同的方式经由子系统控制器29 (和 总线PER—BUS、 CPU—BUS和各种接口和桥接器)而加载到系统RAM 26中以由CPU 22 执行。类似地,数据可通过子系统控制器29由CPU22从快闪存储器35存储并存取。
遗憾的是,常规初始化方法不可容易地初始化成此配置的快闪存储器35,在此配置 中子系统控制器29与快闪存储器分开且嵌入于SOC 20内。明确来说,除了通过相应子 系统控制器(例如子系统控制器29)外,快闪存储器35的某些部分是不可存取的,且 快闪存储器35的这些"系统"部分恰是初始化过程所涉及的。然而,在初始化之前,在 图3的常规SOC布置中,对于快闪存储器35的初始化来说,子系统控制器29是不可存 取的。图3说明结合本发明而假想的用以初始化SOC配置中的快闪存储器35的强力方法,通过所述方法测试器TSTR经由专用总线SPC—BUS连接到快闪存储器35的专门设 计的接口且经由此接口执行诊断命令以实现初始化。然而,此假想方法需要创建专用测 试硬件(测试器TSTR和专用总线SPC—BUS),以及创建到快闪存储器35中的专用接口, 此两者皆增加系统制造和生产的实质成本,且将限制系统可配置和初始化的灵活性。通过其它背景,第6,009,496号美国专利描述具有嵌入式快闪存储器的微控制器架 构,其中机载微处理器执行存储在板上只读存储器中的重编程控制常规程序,以重编程 所述嵌入式快闪存储器。此第6,009,496号美国专利也揭示,所述微控制器系统在重新制 造时可手动地设定为此重编程模式,在此情况下所述微处理器执行来自板上ROM的重编 程控制常规程序,以利用经由外部接口接收的数据编程所述嵌入式快闪存储器。发明内容因此,本发明的目的是提供一种方法和系统,其用于初始化具有集成快闪存储器子系统控制器的系统单芯片(soc)型系统的快闪存储器子系统。本发明的另一目的是提供可将常规测试硬件用于所述初始化的此种方法和系统。本发明的另一目的是提供此种方法和系统,其中soc硬件根本上无需重新布置以提供所述初始化。所属领域的技术人员将参看下文说明书连同其图式来明白本发明的其它目的和优点。本发明可实施到系统单芯片(soc)架构中,在所述架构中soc的标准外部接口制成为外部测试硬件可进行存取。当由CPU执行可执行初始化程序(其是从外部测试硬件 下载到SOC的系统存储器中或已存在于系统ROM中)时,所述可执行的初始化程序将 开放外部测试硬件与soc中的快闪存储器子系统控制器之间的通信信道。此通信信道使外部测试硬件能够经由子系统控制器实现快闪存储器的初始化、准备快闪存储器以供 soc使用、将soc应用程序加载到快闪存储器上等。


图1是常规快闪存储器子系统的方框形式的电路图。图2是用于初始化图1的快闪存储器子系统的常规系统的方框形式的电路图。图3是利用快闪存储器的假想系统单芯片(SOC)的方框形式的电路图,且包括初始化所述快闪存储器的常规而不合需要的方式。图4是根据本发明的优选实施例的根据系统单芯片(SOC)架构建构且利用快闪存储器的数字系统的方框形式的电路图,包括用于初始化所述快闪存储器的资源。图5是根据本发明的优选实施例的流程图,其说明图4的系统在实现快闪存储器资 源的初始化中的操作。图6是根据本发明的优选实施例的存储器映射图,其说明在图4的系统的快闪存储 器资源中的用户和所保留的存储器空间。图7是说明根据本发明的优选实施例的图4的系统的方框形式的电路图,其说明通 过主机系统与所述快闪存储器资源和子系统控制器之间的系统单芯片而开放通信信道。
具体实施方式
本发明将结合其优选实施例加以描述,即实施为一种利用测试硬件来初始化由系统 单芯片(SOC)使用的快闪存储器的系统和方法,SOC包括例如数字音频播放器(DAP) 的快闪存储器子系统控制器。选择本发明的此特定示范性实施例是因为本发明在以此 种布置利用时将尤其有益。然而,也预期本发明的益处也可应用于快闪存储器系统的其 它架构和实施方案。因此,应了解,仅以举例方式提供下列描述,且所述描述不欲限制 所主张的本发明的真实范畴。图4参考数字系统60说明本发明的优选实施例的示范性实施例。此实例中的系统 60对应于数字音频播放器(DAP),假定其包括特定外围装置。当然,参考本说明书的所 属领域的技术人员将容易地认识到,系统60可期望用于许多功能的任一者,此主要由所 述系统执行的系统软件和其外围设备的布置来确定。这些其它数字系统的实例包括例 如无线电话手持机、无线电子邮件系统(例如,黑莓(BLACKBERRY)装置)的通信系 统、数字音频录音机、电子计算器、例如对编录控制或传递业务有用的手持式计算系统 (意即,"掌上型计算机"装置)等。根据本发明的优选实施例,数字系统60是基于系统 单芯片("SOC") 40,其实质上具体化单个集成电路内的所有基本系统功能。在此实例 中,SOC 40包括中央处理单元(CPU) 42,其为数字系统60的主要计算组件。CPU 42 优选是通过执行软件指令来操作的通用或专用微处理器或微计算机,所述指令(例如) 存储在系统ROM44、系统RAM46 ( —旦SOC40启动)中且在其初始化之后存储在快 闪存储器55中。结合本发明,预期由CPU 42执行的功能包括通过SOC 40中的各种总 线传送的命令或通过至所述功能的控制信号线(图4中未展示)来控制SOC 40内的各种 其它功能。在此示范性架构中,CPU 42通过系统总线CPU一BUS连接到系统只读存储器(ROM) 44和系统随机存取存储器(RAM) 46。用于实现系统ROM 44和系统RAM 46的特定尺 寸、架构和技术将取决于用于集成SOC40的可用技术以及所需性能和可靠性特征。预期参考本说明书的所属领域的技术人员将能够容易地实现每一特定安装的这些存储器功 能。在此示范性架构中,其它功能也驻留在系统总线CPU一BUS上,包括标准接口50和 总线桥接器48。标准接口 50是常规的接口功能,其提供必需的信号转换、缓冲和其它功能性以用于 支持CPU 42与一侧上的系统总线CPU一BUS的其它驻留部件之间的通信以及CPU 42与 另一侧上的外部装置或系统之间的通信。标准接口 50在优选根据工业标准接口协议而建 构且操作的意义上是"标准"的。这些接口协议的实例包括通用串行总线(USB) 1.1和 2.0接口、正EE 1394 (或"火线")接口,例如众所周知的RS-232和SCSI接口的串行接 口和其类似者。在系统60的现代实施方案中,尤其在对应于数字音频播放器时,标准接 口 50通常将遵循USB或IEEE 1394接口标准。如DAP技术中所己知,主机计算机与 DAP之间的音频文件(且,最近为相片和其它数据)的同步,以及DAP中的电池的可能 充电通常经由USB 2.0或正EE 1394接口进行。在图4的实例中,标准接口 50是USB 2.0 接口且同样通过USB连接USB_2连接到主机系统HOST。如上文所提及且如图4所示,总线桥接器48也驻留在系统总线CPU—BUS上。在此 实例中,总线桥接器48是将系统总线CPU—BUS耦合到外围总线PER—BUS的常规总线 接口 。 SOC 40外部的各种外围设备通过适当外部连接器和电路板导体而驻留在外围总线 PER—BUS上。在系统60的此实例中,对应于DAP,外围总线PER—BUS的驻留部件包 括SD快闪存储器接口 51、 LCD显示器53、例如键、按钮、开关等的各种输入元件55 和音频输出接口 57。根据本发明的优选实施例,标准接口功能47A也驻留在外围总线PER_BUS上。接 口功能47A与通过快闪存储器子系统控制器49实现或作为所述控制器的一部分的接口功 能47B通信。根据本发明的此实施例,标准接口功能47A、 47B和子系统控制器49皆被 集成到SOC40中。为促进子系统控制器49的建构和设计,标准接口 47B可对应于在常 规快闪存储器系统(例如,如图l所示)中所使用的常规安全数字(SD)接口,在此情 况下标准接口功能47A是常规转译器功能,以如所示地将来自SD接口的信号转译到外 围总线PER—BUS。在此布置中,需要任何额外电路设计以将子系统控制器49和标准接 口 47B集成到SOC40中的情况很少。或者,当然,子系统控制器49可经建构以便其直 接与外围总线PER—BUS介接,或在替代方案中另外经建构以便其直接与系统总线 CPU—BUS介接(从而避免总线桥接器48的中间功能)。预期参考本说明书的所属领域的 技术人员将明白这些和其它架构变体。在本发明的此实施例中,集成于SOC40内的子系统控制器49连接到快闪存储器接 口NAND—IF,快闪存储器55连接(或可连接)到所述接口 NAND、IF。 SOC 40内的集 成子系统控制器49也时常被称作"嵌入式"控制器。预期快闪存储器接口 NAND—IF是 常规快闪存储器接口总线或结构,且同样包括用于将地址信号运载到快闪存储器55的导 体、 一个或一个以上芯片选择控制线、读写选通线或时钟线和双向数据总线。在常用的 快闪存储器布置中,地址信号和数据信号经由常用线组("地址线/数据线")经时间多路 复用以节约接口电路和系统板面积。本发明的此实施例中的子系统控制器49优选执行常规的快闪存储器控制功能,包括 (例如)控制经由接口 NAND一IF从相关联的快闪存储器55读取数据和将数据写入到快闪 存储器55、实施错误校正编码、将逻辑地址(来自CPU 42)映射到物理地址(在快闪存 储器55中)、初始化并维持快闪存储器55中的缺陷存储器单元的映射、实现损耗平衡等。 如此项技术中所众所周知的,同样,子系统控制器49优选经建构以包括例如微控制器或 微处理器的逻辑功能性,和用于存储其可执行软件指令以及有关快闪存储器55的映射和 配置的系统信息的其自身的内部存储器(易失性存储器、非易失性存储器或两者)。此项 技术中已知的典型子系统控制器的架构和功能性的实例描述于第6,426,893号美国专利 中,所述专利在此共同转让且以引用方式并入本文中。预期此常规操作和建构可结合根 据本发明的此优选实施例的子系统控制器49而使用,除了从图4和此描述中显而易见的 内容,子系统控制器49实现于SOC 40内且集成到SOC 40中。预期参考本说明书的所 属领域的技术人员将能够容易地根据此示范性架构以及根据适用于特定系统配置的其它 等效架构如此实现子系统控制器49和其功能性,而没有不当的实施方案。视情况,可根据多处理器架构实现子系统49,而不包括以上参考的第6,426,893号 美国专利中所设想的单个微处理器或微控制器。举例来说,主CPU可连同具有与主CPU 类似的架构(意即,在均质多处理器环境中)或具有不同架构(意即,在异质多处理器 环境中)的快闪处理器一起实施。在任一情况下,向所述快闪处理器提供专用于快闪存 储器55的管理的系统资源(存储器等),所述管理包括所有快闪存取操作和例如损耗平 衡、错误校正的辅助功能等的管理。所述主CPU可具备专用资源以充当应用程序处理器, 以用于执行主机应用程序、管理与主机的通信、结合实时操作系统和文件系统来管理子 系统控制器49的支持环境等。额外选项提供与所述应用程序处理器和快闪处理器结合或 仅与所述主CPU结合的数字信号处理器(DSP),以充当用于进行例如数据加密和解密等 的复杂计算性操作的从属DSP。根据本发明的此实施例,系统60的快闪存储器55对应于快闪电可擦除可编程只读 存储器(EEPROM)单元的一个或一个以上阵列,所述单元如此项技术中所己知的布置 在每一可以区块擦除的阵列内,且同样可在需要时由实施系统重写。在本发明的此优选 实施例中,用于构成快闪存储器55的一个或一个以上阵列内的个别存储器单元的特别存 储器技术可为二进制或多级单元(MLC)类型的任一者,其在每一阵列内配置为NAND 型或NOR型快闪存储器。对于此特定示范性实施方案(其中系统60为DAP),预期MLC NAND快闪存储器技术将优选用于主要以串行方式存取的大量数据存储。根据本发明的 此实施例,作为用于写入数据、快闪擦除数据、逻辑到物理地址映射和管理损耗平衡的 目的的区块和页,构成快闪存储器55的一个或一个以上快闪存储器的布置可符合许多这 些布置中的任一者。适用于实现为根据本发明的系统60中的快闪存储器55的内部架构 和支持电路的实例描述于以下美国专利中第5,172,338号、第5,602,987号、第5,315,541 号、第5,200,959号、第5,270,979号、第5,428,621号、第5,663,901号、第5,532,%2号、 第5,430,859号、第5,712,180号、第6,151,248号、第6,222,762号和第6,426,893号,所 述专利在此全部共同转让且以引用方式并入本文中。
如以上所论述,在制造系统60期间的某点处,需要初始化快闪存储器55以使其可 使用。快闪存储器初始化通常包括例如以下功能根据文件系统格式化快闪存储器55、 检测缺陷存储器位置以使其未被映射使用、产生初始的逻辑到物理地址存储器映射、实 现损耗平衡簿记和算法。举例来说,也可实现子系统控制器49本身的初始化以下载其系 统固件和操作参数、微调本机振荡器频率等。另外,取决于快闪存储器55和系统60的 特定应用,快闪存储器55的初始化也可包括将可执行应用软件加载到快闪存储器55中 以由系统60的CPU 42稍后执行,以及给快闪存储器55预先加载用于此可执行应用软件 的应用数据(例如,用于为DAP的系统60的MP3音频文件)。
根据本发明的优选实施例,系统60允许主机系统HOST经由标准接口 50实现快闪 存储器55的初始化,标准接口 50在此情况下为USB 2.0接口。当然,如上文所提及, 此标准接口可替代地遵循不同标准,例如正EE 1394 (火线)接口。在制造上下文中,预 期主机系统HOST将为制造测试设备,例如可从坦尼西斯科技(Tanisys Technology)购 得的测试设备,或由制造商使用的其它专用快闪存储器测试设备。预期快闪存储器55的 此初始化可在完成系统60装配之后(即,具有包括例如显示器53、音频输出57和输入 元件55的外围设备)或在最终装配之前仅在SOC 40连接到快闪存储器55之后执行。
或者,考虑到主机系统HOST正经由常规标准接口 (例如,USB2.0)与SOC40通
12信,预期主机系统HOST可为常规的个人计算机或工作站,其经适当的应用程序编程以 实现快闪存储器初始化。另外,在替代方案中,预期由主机系统HOST实现的快闪存储 器初始化无需仅在制造(即,快闪存储器55的"最初"初始化)期间执行,而是也可在 系统使用和部署之后执行,(例如)以升级作为"固件"存储在快闪存储器55中的系统 60的可执行应用程序或实际上可由子系统控制器49执行的固件系统软件(其也可存储 在快闪存储器55中)。
现参看图5,现在将详细描述根据本发明的优选实施例的SOC40与主机系统HOST 进行组合以实现快闪存储器55的初始化的操作。假定在此实例中,SOC 40在此初始化 开始时还未加电。且如上文所提及,虽然必要时可连接一个或一个以上外围装置,但取 决于制造的特定阶段,各种外围装置不必仍连接到外围总线PER—BUS。同样当此初始化 过程开始时,快闪存储器55优选经由接口 NANDJF连接到SOC40,以避免所述过程中 稍后的停止或等待状态。在过程70中,经由图4的实例中的总线USB_2将主机系统HOST 连接到标准接口50。当然,用必需的软件指令编程主机系统HOST而以下述方式实现初 始化;预期参考本说明书的所属领域的技术人员可容易地得到这些初始化程序,且实际 上预期常规的快闪存储器初始化程序可驻留在主机系统HOST中,并且仅对其进行较小 修改以实现下述操作。
在过程72中,使包括CPU42的SOC40加电。在加电时,如对例如SOC 40的系统 是常规的,首先由CPU42执行驻留在系统ROM44中的启动序列(图5的过程74),其 中由CPU42执行常规的起动和复位指令以开始其操作。根据本发明的此优选实施例,存 储在系统ROM 44中的所述启动序列包括可执行指令,CPU 42通过所述指令询问快闪存 储器55以在加电或复位后寻找可执行的应用程序,且将在下文描述所述询问操作之后的 条件指令。因此,作为执行启动序列(过程74)的部分,CPU42执行决策75以确定可 执行应用程序代码是否驻留在快闪存储器55中。
图6为根据本发明的优选实施例的快闪存储器55的示范性逻辑存储器映射,所述存 储器在初始化后可结合决策75而使用。如所示,快闪存储器55包括对应于从0000的逻 辑块地址(LBA)扩展到最大LBA值maxLBA的逻辑存储器空间的物理容量。此逻辑存 储器空间主要专用于用户数据,其被指派了从LBA0000到最大LBAmaxUserLBA的存储 器空间。在此实例中,快闪存储器55中最上面的1百万字节存储器空间经保留以用于应 用固件程序存储器,所述空间从LBA maxUserLBA扩展到最大LBA值maxLBA,其等于 地址maxUserLBA+l M。优选的是,用户将不可存取在LBA值maxUserLBA以上的存储器空间,并且对其的存取由子系统控制器49封锁。如图6所示,根据本发明的此优选实 施例,在快闪存储器55的初始化之后,应用固件的两个副本被存储在所述快闪存储器空 间的此最上部分中。应用固件副本A驻留在快闪存储器55中,位于LBA值 maxUserLBA+512k与LBA值maxLBA之间的存储器空间中;应用固件副本B驻留在LBA 值maxUserLBA与LBA值maxUserLBA+512k之间的存储器空间中。根据本发明的此实 施例,希望固件副本A与B相同,从而充当应用固件的冗余副本。
根据本发明的优选实施例,CPU 42通过询问在LBA地址maxUserLBA以上的快闪 存储器55而执行来自系统ROM 44的启动序列。如果LBA maxUserLBA与maxLBA之 间的空间含有应用固件的有效副本(副本A或副本B),则决策76是YES,且将在过程 76中执行所述应用固件。接着根据在过程74中发现的所述应用程序开始SOC40和系统 60的正常系统操作(在外围设备存在时)。通过评估每一副本的常规循环冗余检查和 (CRC)值来确定应用固件的有效性;如果一个副本有效且另一副本被损坏,则优选将所 述有效副本复制到快闪存储器55中的另一副本的位置以用于冗余检査。
另一方面,如果LBAmaxUserLBA与maxLBA之间的存储器空间为空,或不含有应 用固件的有效副本(例如,两个副本的CRC皆失效),则决策75返回NO结果,其指示 不存在应用固件。当然,此将是在初始化快闪存储器55之前的情况。
替代确定应用程序是否存在于快闪存储器55中的决策75,且尤其在维护或固件升 级操作中,预期决策75可基于不同标准,考虑到在此种情况下,应用程序将已驻留在快 闪存储器55中。如此项技术中所已知,系统的固件升级可通过按下起动键等的专用组合 来实现,此通常与系统的功率循环组合。
根据本发明的此优选实施例,响应于来自决策75的NO结果或符合此类其它标准, CPU 42执行对应于过程80的来自系统ROM 44的指令序列,在所述过程中启用某一"传 递"命令逻辑,以使得由SOC40经由标准接口 50接收的命令"传递"到子系统控制器 49以供执行。在此实例中,这些传递命令具有SCSI (小计算机串行接口)扩展命令的形 式,其引导CPU42通过低级快闪存储器装置驱动器来格式化经由标准接口 50接收的请 求以由子系统控制器49执行。实际上,所述传递命令逻辑是一段由CPU42执行的胶合 逻辑代码,其在其SCSI命令解译器与所述低级装置驱动器之间介接。
或者,此初始化序列可从主机系统HOST下载到系统RAM46,且接着由CPU42执 行以询问快闪存储器55来确定应用固件是否存在,且接着建立通信信道。另外,在替代 方案中,CPU42借以询问快闪存储器55以确定其初始化状态的指令可存在于系统ROM中,且如果初始化是必要的,所述初始化序列的剩余部分可接着从主机系统HOST下载 到系统RAM 46中。预期参考本说明书的所属领域的技术人员将明白下载或驻留的初始 化序列码的这些和其它组合,且具有为特定应用程序选择的特定调适。
当CPU 42启用所述SCSI传递命令逻辑时,在过程82中,开放主机系统HOST与 子系统控制器49之间的通信信道。当系统60布置为DAP时,预期此通信信道类似于由 系统60利用的信道,以便实现主机计算机与快闪存储器之间的音乐文件的"同步"。实 际上,预期CPU 42在过程82中有效地建立主机系统HOST与子系统控制器49之间的 直接通信路径,以使得在不需要由CPU42实际执行的情况下,经由此路径转发命令和数 据。图7说明主机系统HOST与快闪存储器55之间的此通信信道(如根据本发明的优选 实施例在过程82中由SOC 40中的CPU42所建立的)。
当然,此操作中的CPU42所涉及的范围将取决于SOC40的具体结构。然而,如以 上相对于图2所描述的,在初始化期间,此通信信道将允许主机系统HOST与子系统控 制器49之间的通信,以用于以类似于常规测试设备与常规快闪存储器系统之间的通信的 方式初始化快闪存储器55;此布置允许主机系统HOST的初始化硬件和软件类似于已用 常规的快闪存储器制造设备和处理而实现的硬件和软件。
在过程84中,在于过程82中开放通信信道之后,主机系统HOST经由所述信道将 初始化命令和数据转发到子系统控制器49 (图7)。如此项技术中所己知,这些初始化命 令包括必需的诊断指令和使子系统控制器49存取在正常操作中另外不可存取的快闪存 储器55的系统存储器位置的类似指令。
举例来说,在通过以上提及的SCSI传递命令扩展实现通信信道的情况下,由CPU 42 解译的传递命令相当受限制
用于所有媒体类型-
检査媒体卡类型(命令代码D0h)(检查SD/MMC或CF媒体类型)
用于SD/MMC媒体
媒体卡SD执行命令(命令代码Dlh)
媒体卡SD主机控制命令(命令代码D2h)
用于CF媒体
媒体卡CF发送命令(命令代码Dlh) 媒体卡CF数据命令(命令代码D2h) 媒体卡CF状态命令(命令代码D3h)所述检査媒体卡类型命令询问子系统控制器49以识别快闪存储器55的媒体类型, 且也启用并停用SOC 40执行所述传递命令(意即,当禁止时,命令代码Dlh等不转译 为传递命令)。
对于SD/MMC媒体的实例,当启用时, 一旦主机系统HOST发出媒体卡SD执行命 令(Dlh), CPU42即向子系统控制器49发出相应的原生命令。来自主机系统HOST的 执行命令可包括包括数据传送方向(去往快闪存储器55或来自快闪存储器55)、命令 类型的引数,限定命令的引数等。 一旦接收到执行命令,CPU 42便向子系统控制器49 发送相应的原生命令,且充当用于主机系统HOST与快闪存储器子系统之间的数据传送 的缓冲器。媒体卡SD主机控制命令可用于向快闪存储器子系统指示例如操作频率的某 些属性和向主机指示等待状态、区块长度和其它控制属性。对于CF媒体的实例,发送命 令指示由后续数据命令存取的快闪存储器55的特定区段、柱面和装置位置,所述数据命 令作为原生命令由CPU 42转发到子系统控制器49以用于将数据从主机系统HOST发送 到快闪存储器55或将数据从快闪存储器55发送到主机系统HOST。 CF状态命令仅为由 主机系统HOST发出以从子系统控制器49的状态寄存器检索状态信息的命令。
如以上在关于第6,009,496号美国专利的发明背景中所提及,常规微控制器架构包括 用以在编程嵌入式快闪存储器时执行重编程控制常规程序的板上微处理器。根据本发明 的此实施例所使用的传递命令和命令逻辑相对于常规方法来说尤其有益,因为所述命令 最小化CPU 42在实现快闪存储器子系统的控制中的作用,改为允许主机系统HOST实 现此控制。另外,相对小的命令集减少CPU42的额外开销且允许所述命令扩展到新的记 忆卡类型。
根据本发明的此实施例,在过程86中,由主机系统HOST发出的这些传递命令的序 列经由子系统控制器49初始化快闪存储器55。如此项技术中所已知的且如上所述,初 始化过程86包括以下操作根据所需文件系统和结构而格式化快闪存储器55、检测并 映射缺陷存储器位置、建立逻辑到物理地址映射结构和映射本身,以及为子系统控制器 49提供适当的损耗平衡算法以确保快闪存储器55中的存储器单元的最大使用寿命。也 可在此时在子系统控制器49本身内初始化系统固件、操作参数、本机振荡器频率等。另 外,也如上文所提及,预期快闪存储器55的初始化也将包括将应用软件加载到快闪存储 器55中(例如,在图6的实例中,所述软件为加载到LBA地址maxUserLBA以上的存 储器空间中的冗余副本A和B),以供CPU42在其系统操作中使用,且可能还包括将应 用程序数据(例如,用于布置为DAP的系统60的MP3音频文件、JPEG相片文件等)预先加载到快闪存储器55中。当然,程序代码和数据的此加载和预先加载将在如上所述 的快闪存储器55的格式化和其它系统初始化之后进行。
在完成初始化过程86之后,且可能在快闪存储器55的此功能测试和数据验证之后, 完成此初始化中的主机系统HOST的操作。在过程88中,主机系统HOST接着通过发出 检查媒体卡类型命令(DOh)停用传递命令的功能性,并释放系统总线CPUJBUS。 SOC40 和系统60的操作(视外围功能是否存在而定)可接着如所想要地继续进行到所需或可能 的程度。在初始化环境中,例如在SOC40或系统60的制造期间,CPU42仅可进入闲置 或关闭状态。如果初始化对应于固件更新或其它维护操作,则CPU42可改为复位或重新 启动,且根据其正常操作开始执行来自快闪存储器55的应用程序(即,决策75是YES)。 预期参考本说明书的所属领域的技术人员将容易地按需要实现下一操作序列。
如上文所提及,上述架构和方法的各种替代物适用于本发明且与本发明结合。举例 来说,系统单芯片或包括快闪存储器控制器电路的其它大型系统集成的特定架构可依据 特定应用而广泛改变。举例来说,本发明的优选实施例的总线结构和接口布置可采用系 统设计者所需的许多替代形式。类似地,此种集成系统的特定应用也可采用超出上述示 范性DAP的许多形式中的任何一种,仅举例来说,其包括例如通用或专用计算系统的 系统、便携式音频和视频播放器和录音机、无线(或有线)电话手持机和系统、例如用 于编录或传递控制的便携式专用系统。且快闪存储器资源的初始化中所包括的特殊任务 可包括来自以上结合本发明的优选实施例所描述的实施例的或多或少(或实际上完全不 同)的任务。预期参考本说明书的所属领域的技术人员将容易地认识到,这些和其它替 代方案在所主张的本发明的范畴内。
根据本发明的优选实施例,快闪存储器资源在利用系统单芯片架构的高度集成数字 系统中可用作程序和数据的光盘更换和其它非易失性大容量存储,而不引发提供用于快 闪存储器的初始化的专用接口和测试设备的实际成本。而是,根据本发明,常规主计算 机或测试设备可使用已由系统单芯片提供的常规标准接口技术与集成快闪存储器子系统 控制器通信,以有效且容易地初始化所述快闪存储器资源。研发时间和制造费用因本发 明而最小化,同时在最终系统的结构、操作和管理上提供大量灵活性。
虽然已根据本发明的优选实施例描述了本发明,但是当然预期参考本说明书和其图 式的所属领域的技术人员将明白这些实施例的修改和替代方案、获得本发明的优点和益 处的修改和替代方案。预期这些修改和替代方案在本文随后主张的本发明的范畴内。
权利要求
1. 一种在数字系统中初始化非易失性存储器子系统的方法,所述数字系统包含包括中 央处理单元、嵌入式非易失性存储器子系统控制器和外部接口的系统集成电路,所 述系统进一步包含耦合到所述嵌入式子系统控制器的一个或一个以上非易失性存 储器阵列,所述方法包含以下步骤操作所述中央处理单元以执行初始化指令,所述初始化指令包括用以开放所述外 部接口与所述嵌入式子系统控制器之间的通信信道的命令;以及根据施加到所述外部接口且经由所述通信信道传送到所述嵌入式子系统控制器 的初始化命令,初始化所述一个或一个以上非易失性存储器阵列。
2. 根据权利要求1所述的方法,进一步包含经由所述外部接口下载一个或一个以上初始化指令;其中所述操作步骤包含操作所述中央处理单元以执行所述下载的一个或一个以 上初始化指令。
3. 根据权利要求l所述的方法,其中所述系统集成电路也包括存储一个或一个以上初 始化指令的系统程序存储器;其中所述操作步骤包含操作所述中央处理单元以执行存储在所述系统程序存储 器中的所述一个或一个以上初始化指令。
4. 根据权利要求1所述的方法,其中所述初始化步骤包含根据文件系统格式化所述一个或一个以上非易失性存储器阵列。
5. 根据权利要求4所述的方法,其中所述初始化步骤进一步包含将可由所述中央处理单元执行的应用软件程序加载到所述一个或一个以上非易 失性存储器阵列中。
6. 根据权利要求5所述的方法,其中所述初始化步骤进一步包含将应用程序数据预先加载到所述一个或一个以上非易失性存储器阵列中。
7. 根据权利要求1所述的方法,其中所述初始化步骤包含更新用于所述嵌入式子系统控制器的系统固件。
8. 根据权利要求2所述的方法,其中所述系统集成电路进一步包含系统随机存取存储 器;其中所述下载步骤包含-将所述一个或一个以上初始化指令存储在所述系统随机存取存储器中;且其中所述操作步骤包含从所述系统随机存取存储器检索所述一个或一个以上初始化指令;和 执行所述检索的一个或一个以上初始化指令。
9. 根据权利要求2所述的方法,其中所述系统集成电路进一步包含系统只读存储器;且所述方法进一步包含使所述中央处理单元加电;以及通过所述中央处理单元执行存储在所述系统只读存储器中的至少一个引导序 列指令,以询问所述一个或一个以上非易失性存储器阵列,以检测是否驻留有应 用程序;其中响应于所述执行步骤确定应用程序未驻留在所述一个或一个以上非易失性 存储器阵列中,执行所述下载步骤。
10. 根据权利要求9所述的方法,其进一步包含-响应于所述执行步骤确定应用程序驻留在所述一个或一个以上非易失性存储器 阵列中,通过所述中央处理单元执行所述应用程序。
11. 根据权利要求l所述的方法,其中所述一个或一个以上非易失性存储器阵列包含一 个或一个以上快闪存储器阵列。
12. 根据权利要求l所述的方法,其进一步包含将主机系统连接到所述外部接口;其中所述主机系统经由所述外部接口执行所述初始化步骤。
13. —种数字系统,其包含系统集成电路,其包含 中央处理单元;存储器子系统控制器;以及 外部接口;耦合到所述存储器子系统控制器的一个或一个以上非易失性存储器阵列; 其中所述中央处理单元经编程以询问所述一个或一个以上非易失性存储器阵列, 以确定应用程序是否驻留在所述一个或一个以上非易失性存储器阵列中,且响应于 确定应用程序未驻留在所述一个或一个以上非易失性存储器阵列中,执行初始化指 令。
14. 根据权利要求13所述的数字系统,其中所述中央处理单元也经编程以响应于确定应用程序未驻留在所述一个或一个以上非易失性存储器阵列中,经由所述外部接口 下载所述初始化指令。
15. 根据权利要求14所述的数字系统,其进一步包含耦合到所述中央处理单元的系统随机存取存储器,以用于存储所述下载的可执行 指令。
16. 根据权利要求15所述的数字系统,其中所述下载的可执行指令包含一个或一个以 上指令的序列,其可由所述中央处理单元执行以用于开放所述外部接口与所述存储 器子系统控制器之间的通信信道。
17. 根据权利要求13所述的数字系统,其进一步包含-耦合到所述中央处理单元的系统只读存储器,其用于存储可由所述中央处理单元执行的引导序列指令,所述引导序列指令包含用于询问所述一个或一个以上非易失 性存储器阵列以确定应用程序是否驻留在所述一个或一个以上非易失性存储器阵列中的指令。
18. 根据权利要求17所述的数字系统,其中所述引导序列指令进一步包含用于响应于 确定应用程序未驻留在所述一个或一个以上非易失性存储器阵列中,经由所述外部 接口下载可执行指令的指令。
19. 根据权利要求17所述的数字系统,其中所述中央处理单元也经编程以响应于确定 应用程序未驻留在所述一个或一个以上非易失性存储器阵列中,从所述系统只读存 储器检索所述初始化指令。
20. 根据权利要求13所述的数字系统,其中所述外部接口是根据工业标准接口协议而 建构。
21. 根据权利要求13所述的数字系统,其中所述一个或一个以上非易失性存储器阵列 包含一个或一个以上快闪存储器阵列。
22. 根据权利要求21所述的数字系统,其中所述系统集成电路进一步包含.-系统总线,其将所述存储器子系统控制器耦合到所述中央处理单元;以及 接口电路,其用于将所述系统总线耦合到所述存储器子系统控制器的接口,所述存储器子系统控制器的所述接口对应于标准的快闪存储器接口。
23. 根据权利要求13所述的系统,其进一步包含耦合到所述系统集成电路的至少一个外围功能。
24. 根据权利要求23所述的系统,其中所述至少一个外围功能包含音频输出接口。
25. 根据权利要求23所述的系统,其中所述至少一个外围功能包含用户输入元件;以及 显示器。
全文摘要
本发明揭示一种包括快闪存储器的数字系统,所述数字系统耦合到其中嵌入有快闪存储器子系统控制器的系统单芯片(system-on-a-chip)。所述系统单芯片包括对例如通用串行总线(USB)或IEEE 1394接口的标准外部接口的支持,例如快闪存储器测试设备的主机系统可连接到所述标准外部接口。所述快闪存储器的初始化是通过开放所述主机系统与所述嵌入式快闪存储器子系统控制器之间的通信信道而实现。所述主机系统接着可经由所述通信信道实现所述快闪存储器子系统的初始化,包括格式化所述快闪存储器阵列、加载应用程序等。
文档编号G06F13/16GK101313287SQ200680037666
公开日2008年11月26日 申请日期2006年10月12日 优先权日2005年10月13日
发明者凯文·M·康利 申请人:桑迪士克股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1