管理快闪存储器中挂起请求的方法及系统的制作方法

文档序号:6566489阅读:153来源:国知局
专利名称:管理快闪存储器中挂起请求的方法及系统的制作方法
技术领域
本发明涉及一种快闪存储设备以及类似的非易失性电子设备,尤其涉及一 种快闪存储设备中的挂起请求。
背景技术
快闪存储设备是应用广泛的便捷的电子存储设备。快闪存储设备提供数据 的非易失性存储,且亦允许将该数据编程到该存储器中及从该存储器擦除多 次,因此有大量的灵活应用及使用。
现今的快闪存储器设备包括执行该快闪存储器所有的修改操作的嵌入方 法或算法,其是通过存储于只读存储器(ROM)中的代码实现且由微控制器执 行。该修改操作包括诸如以数据对该快闪存储器进行编程、从该快闪存储器擦 除数据等操作。由于该快闪存储单元的物理结构及该单元阵列的排列, 一些修 改操作需要较长的执行时间。由于这些原因,快闪存储器须具有这样一种特性, 即可对诸如编程或擦除的较长修改操作挂起一段时间以允许用户立即存取该 快闪存储器。例如,当该用户需读取该快闪存储器中的一些阵列位置而其中之 一的较长修改操作正在运行时,该用户可通过如该快闪存储器的输入/输出 (I/O)焊盘之类的命令接口向该快闪存储器发出挂起请求(命令)。
该命令接口 (微控制器)对该挂起命令进行解码,且当该修改操作的挂起 在预定时间内完成,容许该用户所需的读取操作(或其他的用户执行的修改操 作)存取该快闪存储器。该用户的操作完成后,恢复命令使该中断的修改操作 在该挂起点恢复运行,并且正确终止,如同该操作所应当终止的那样。
一般的快闪存储器中,以软件模式管理用户的挂起请求,即利用可实现该 嵌入方法或算法的软件代码。大多数快闪存储器的实现中,当修改操作期间发 生挂起请求时,在寄存器中设置标志。该嵌入软件代码使用查询指令通过检查或测试该寄存器来检查该用户是否发出挂起请求。查询后,若该寄存器标志指 示挂起请求已发出,该嵌入软件代码请求跳转至某个为挂起序列的代码序列。 该挂起序列通过关断所有用于运行该修改操作的电荷泵及高电压且保存恢复 该修改操作时使用的配置(如状态变量及时间安排参数)。
必须定期地执行上述该标志的软件查询来检査该寄存器及判定挂起请求 是否发生。可根据该快闪存储器的预定义的时间特征,称为"挂起时间",来 判定査询的数量,即査询之间的时间量。这是从挂起请求至该挂起完成之间(该 修改操作的中断)所允许的最大时间量,其后允许用户存取。为了满足该挂起 时间,所执行的查询需在软件代码占最小比例。这要求该嵌入代码中所包括的 查询代码指令(比较指令)的数量最小,以及需要相等数量的跳转指令(或类 似指令),所述跳转指令在发现该寄存器标志已设置时使该代码跳转至存储该 挂起序列的代码分枝。
由此,任意两条査询之间的时间安排期间必须保证满足该挂起时间,就需 要相对大量的査询指令。此外,该指令数量的增加使得复杂性及该嵌入软件代 码的长度增加。现有快闪存储器较复杂,其中的嵌入代码必须执行几种类型的 操作及特征,包括工厂程序、增强工厂程序、扇区的非易失性保护等;并且多 级快闪存储设备需要附加的复杂算法。重要的是,在不额外增加该嵌入代码的 长度且遵守该设备所需的时间安排的情况下能够实现该些特征。由此,尽可能 地优化及减少该存储于该快闪设备ROM或SRAM嵌入代码的长度以改进区域效 率是重要的,并且,更重要的是,减少执行代码所需持续时间以遵守该时间条 件。例如,若该嵌入代码在修改操作期间执行1000次査询指令,且执行该指 令的该微控制器时钟为100纳秒,则单单用于执行这些査询就多花了 IO微妙。 该缺陷在各存储单元中可存储多位(bit)的多级快闪设备中尤为明显,所述 多级快闪设备中该嵌入代码重复执行极多次的指令序列。由于必须遵守査询之 间的时间为该设备的挂起时间,向该嵌入代码加入新的代码行及特征必然会增 加代码指令的数量。
因此,需要一种管理快闪存储设备中挂起请求的装置或方法,其不增加执 行该嵌入代码所需的持续时间也不减少该代码的长度以及存储该代码的空间。本发明解决了该需求。

发明内容
本发明涉及快闪存储设备中的挂起请求管理。本发明之一方面, 一种管理 快闪存储器中挂起请求的系统,包括执行快闪存储阵列修改操作的微控制器; 耦合至所述微控制器且存储挂起序列代码的存储器,所述挂起序列代码由所述 微控制器执行时用于实现挂起序列以使所述修改操作挂起;及耦合至所述微控
制器及所述存储器的挂起电路,其中所述挂起电路从用户处接收挂起请求以挂 起所述修改操作,并且其中所述挂起电路开始执行所述挂起序列代码。 本发明之另一方面, 一种管理快闪存储器中挂起请求的方法,包括从用户
处接收挂起请求信号以挂起快闪存储阵列的修改操作;锁存所述挂起请求信号 直至所述修改操作可被挂起而不会造成所述修改操作的错误;及通过执行存储 于存储器的挂起序列代码以挂起所述修改操作。
本发明之再一方面, 一种管理快闪存储器中挂起请求的方法,包括执行所 述快闪存储器中的嵌入软件代码指令一实现快闪存储阵列的修改操作;从用户 处接收挂起请求信号以挂起所述修改操作;及不执行检査所述挂起请求是否己 收到的软件代码指令而使用硬件挂起电路挂起所述修改操作。
本发明提供了不必使用由该微控制器执行的嵌入代码中的软件查询而可 正确及有效管理修改操作中快闪存储设备的挂起管理。这使得该代码更为紧 凑,藉此节省了存储区域及成本。此外,由于执行该更紧凑代码所需的持续时 间减少,本发明在修改操作的时间安排上具有优点,使得更容易满足快闪存储 设备的该挂起时间安排条件。


图1为说明本发明的硬件快闪存储系统的方块图2为说明图1的快闪存储系统所使用的逻辑电路及一些元件的实例的示 意图3为说明本发明的管理快闪存储设备中挂起请求的方法的流程图。
具体实施例方式
本发明涉及快闪存储设备及类似的非易失性电子设备,尤其涉及快闪存储 设备中的挂起请求。以下作为专利申请及其要件而提供的描述使得本领域的技 术人员能够制造及利用本发明。较佳实施例的多种修改以及本文中所描述的普 遍原理及特征对于本领域的技术人员来说是清楚明了的。由此,本发明并不意 欲限制为所示的实施例,而应具有与本文所描述的原理及特征相一致的最大范 围。
本发明主要根据某些实现中的某些系统来描述。然而,本领域的技术人员 可容易地认识到此方法及系统可在其他实现中有效运行。例如,可用于本发明 的处理元件及存储器可有多种其他形式。本发明亦以具有特定步骤的某些方法 为背景描述。然而,对于其他具有与本发明不一致的不同及/或附加步骤,该 方法及系统亦可有效运行。
本发明描述了一种可以正确及有效地管理在修改操作期间用户发出的挂 起请求的构架,其不使用嵌入代码中由微控制器执行的软件査询,由此达成修 改操作中在时间安排上的优点以及更短、更紧凑的代码从而节省快闪设备代码
存储存储器,如ROM中的存储区域。
为了更具体地描述本发明的特征,敬请结合下文的描述并参见图1至3。
图1为本发明的不使用软件査询来管理挂起请求的快闪存储系统10的方 块图。系统10可被包含在电子设备、计算机,或者其他使用快闪存储器来存 储数据的设备或装置。公知地,该装置可包括一或多种处理器(微处理器、专 用集成电路等)、各种类型的存储器及输入/输出(I/O)元件(网络接口,诸 如键盘或按钮的设备、显示屏、打印机、鼠标、麦克风及扫描仪等)。更具体 地,本发明的快闪存储系统10包括微控制器12、只读存储器(ROM) 14及快 闪存储阵列16,以及多种下文所述的其他元件。
微控制器12用于控制快闪存储系统10的操作,包括从R0M14获取代码并 执行之,以及将数据存储至快闪存储阵列16或从快闪存储阵列16中获取。微 控制器12可为任意一种合适的控制器设备,包括微控制器、专用集成电路(ASICs)或其他控制器。微控制器12可包括多个寄存器13,所述寄存器在数 字信息载入及存储于其中时,控制快闪存储系统10的操作参数。
只读存储器(ROM) 14存储程序指令(即嵌入代码),其用于实现对快闪 存储系统10进行修改或操纵的操作。R0M14储存由微控制器12获取并且为操 作该快闪存储系统而执行的指令。尽管本说明书中将存储器14称为"ROM", 但其他实施例中可使用其他类型的存储器作为存储器14来存储该嵌入代码, 如静态随机存取存储器(SRAM)或其他公知的类型。
快闪存储阵列16为存储单元阵列,且为可存储数据且容许擦除数据及/或 以其他数据改写多次的系统10中的非易失性存储器存储。典型的快闪存储单 元可一次将该存储器内的所有内容快速擦除,这与需要单独擦除各存储单元的 通用电可擦除可编程只读存储器(EEPR0M)不同。阵列16根据实施例的需要 可包括单级单元或多级单元。单级单元存储两个不同的电荷值(0或1),而 多级单元可存储四个或更多不同的电荷值,由此每单元可存储更多数据,但需 更长的执行操作时间。
如图1所示,快闪存储系统10剩余的硬件元件在本发明中用来管理用户 的挂起请求。其他在图1中未示出的快闪存储系统通常包括的元件与本发明关 系不大。
触发器20能够接收用户的挂起请求22,所述挂起请求要求中断及暂停执 行当前修改操作以使该用户的其他操作可存取该快闪存储器,如读取操作。该 用户的操作一旦完成,恢复执行该己挂起修改操作。
例如,该用户可使用诸如I/O焊盘的命令用户接口 (CUI)输入挂起请求 命令。图1中示为D触发器的触发器20,以电压VDD作为D输入端,且以挂起 请求22作为其时钟输入。当该挂起请求上升为高电平时,触发器20锁存该挂 起请求。该触发器产生该高电平输出信号SUSP—REQ。当该修改操作结束时或者 下一操作或挂起开始时,由逻辑电路(未示)发出重置触发器20的 RESET—MICRO—N信号。
.多路复用器24、逻辑电路26及触发器28组成逻辑开关30以在适当之时 应答该用户的挂起请求。逻辑电路26检査该挂起请求信号SUSP—REQ是否允许通过,即是否应答及执行修改操作的挂起。仅当该修改操作(及嵌入代码)处 于可被中断的点或状态之时,即"真条件",该挂起请求被应答且成为可执行 的。逻辑电路26根据当前运行的修改操作的类型(程序、擦除)以及根据微 控制器12当前执行的指令在适当的时间提供真条件。
一般地,该真条件根据
状态变量及微处理器输出而引发。参考图2描述逻辑电路26的一个实例。
在检测到该真条件为止,多路复用器24选择该多路复用器24的接地的 FALSE输入。 一旦逻辑电路26检测到允许应答该挂起请求的真条件,逻辑电路 26向多路复用器24发送该适当信号,且该多路复用器24从FALSE输入转换为 连接该触发器20的SUSP—REQ信号的TRUE输入。该SUSP—REQ信号由多路复用 器24输出,且输入至触发器28的时钟输入端。触发器28将SUSP一REQ信号锁 存为SUSP—REQ—ACC,且在其输出端以高电平输出该信号。由此,包括多路复用 器24、逻辑电路26及触发器28的逻辑开关30在该挂起请求被应答且将实现 该修改操作的挂起之时,即挂起序列开始,提供高电平的该SUSP一REQ—ACC信 号。
触发器32为D型且在其D输入端接收该SUSP—REQ一ACC信号。微控制器12 发出的时钟信号输入该触发器32的时钟输入端,且该触发器32的Q输出端输 出FORCE—SUSP—INSTR信号。如前所述的该用户接口发出的RESET—MICRO—N信 号重置触发器32。该FORCE一SUSP一INSTR信号与该微控制器时钟信号同步。该 同步确保该FORCE—SUSP—INSTR信号的正确功能性,其包括两种功能。第一功 能为重置触发器28,其通过将该F0RCE一SUSP—INSTR信号反馈至触发器28的重 置端(且在反相器29处反相)而达成。当该FORCE一SUSP一INSTR信号上升为高 电平时,该挂起请求已被应答,这使得在该微控制器的下一活动时钟跳变时关 断该F0RCE—SUSP—INSTR,以使从R0M14读取该正确的挂起代码指令(参加下文)。
FORCE一SUSP一INST的第二功能为将多路复用器(或开关)36的输入转换为 存储于R0M14中已知储存位置的固定指令SUSP—INSTR。该SUSP—INSTR指令为 转移至ROM14中第一地址的一个跳转(JMP),所述地址中存储用于挂起序列 的该代码指令。由此,在FORCE一SUSP一INSTR上升为高电平的时钟周期内,多 路复用器36的输出(CURR一INSTR)为SUSP一INSTR。微控制器12接收该输出(SUSP一INSTR),其中该微控制器逻辑电路将该输出解码并执行之以使指向下 一代码的指针移动(跳转)至该由SUS一INST指示的R0M14中的地址。微控制 器12的算术逻辑单元(ALU)载入位于ROM地址逻辑电路38的第一计数器地 址,该逻辑电路向R0M14输出该地址以读取该位于该地址的指令,该指令为该 挂起序列的第一指令。由此该SUSP_INST输入指示该微控制器载入该挂起序列 代码的第一指令。由于该下一微处理器时钟周期将FORCE一SUSP一INSTR设置为 低电平(在上述的触发器28处),然后多路复用器36转换为其另一输入 NEXT—INSTR以将该R0M14中的挂起序列的下一条指令输入多路复用器36,然 后从该多路复用器将该指令输出至微控制器12。 ROM地址逻辑电路38总是提 供该挂起序列的下一条指令的地址以供执行。
该挂起序列的顺序指令类似地连续提供至微控制器12直至该挂起序列位 于该ROM中的所有指令已被微控制器12载入及执行。该挂起序列关断所有用 于运行该已挂起修改操作的电荷泵(未示)以及高电压,且在恢复该修改操作 时,保存所使用的配置变量及值,如状态变量及时间安排值。该些配置变量及 值可存储于方便的存储位置,例如未示逻辑元件的寄存器。
一旦该挂起序列完成,该快闪设备10的修改操作已完全挂起,且向触发 器20提供该RESET一MICRO一N信号以关断该触发器。然后该用户通过该快闪存 储设备执行所需操作,如在该快闪系统10的读取阵列模式下从阵列16的读取 操作。
某些点上,当该用户的读取操作(及/或其他操作)完成,该快闪存储设 备恢复该中断的修改操作。微控制器12读取该由挂起序列保存的配置变量及 值,接通必需的电荷泵及电压,且恢复该中断的修改操作。
图2为电路50的实例的示意图,所述电路50实现了图1的该快闪存储设 备10的逻辑电路26,以及实现了图1所示的一些其他元件。当条件适于应答 该挂起请求及启动该挂起序列时,逻辑电路26向多路复用器24生成"真条件"。 该真条件的生成及该挂起序列的启动根据任何实施例中的该特定中断修改操 作及其特性与必要条件决定,并且可根据特定实现所需的该修改操作,如快闪 储存器是单级或多级的等决定。电路50是用于多级快闪存储设备的电路实例,例如来自加利福尼亚州圣何塞的爱特梅尔股份有限公司(AtmelCorp.)多级快 闪存储设备。
电路50将逻辑电路26实现为若干个处理状态变量及微控制器输出52的 逻辑门。通过该微控制器或通过内部逻辑电路来设置诸如ERASE一STAT、 SOFTP—STAT、 PROG—COMM及PGM_ALL0_STAT的状态变量。例如, ERASE_STAT为由该微控制器设置的向电路指示擦除操作正在进行的状态变 量。SOFTP—STAT为由该微控制器设置的指示恢复相正在进行的状态变量。 PGM_ALL0—STAT为由该微控制器设置的指示程序相正在进行的状态变量。 PROGj:OMM为当该用户提供缓冲程序命令时由该用户命令接口设置的信号。 诸如VERIFY、 INC—DAC、 CAN_SUSPEND及MODIFY的微控制器输出为该 微控制器根据该嵌入代码生成的输出信号。例如,VERIFY为激活及指示校验 操作的微控制器输出,所述校验操作用于校验已完成操作,而INC—DAC可为 另一微控制器输出;例如,在所示实现中,INC—DAC为一微控制器输出,其 累加该"DAC"输出值以增加在对快闪存储阵列16中的单元进行编程或擦除 时由独立的数字-模拟控制器(DAC)所生成的电压。CAN—SUSPEND为指示 可在该当前操作期间接收挂起请求的微控制器输出,及MODIFY为指示修改操 作已开始的命令用户接口输出。
逻辑电路26包括接收该SOFTP—STAT及ERASE—STAT信号且向NAND 门56输出的OR门54,所述NAND门56亦接收该VERIFY信号作为输入。 该NAND门56的输出作为3输入NAND门58的输入之一。类似地,OR门 60接收该PROG—COMM及PGM—ALL0—STAT信号且向NAND门62输出,所 述NAND门62亦接收信号INC—DAC作为输入。NAND门62的输出作为NAND 门58的输入之一。最后,AND门64接收CAN—SUSPEND及MODIFY信号作 为输入,且其输出为NAND门58的输入之一。NAND门58的输出传送至多路 复用器24以指示该真条件(当该输出为高电平)。
多路复用器24在图2的实例中示为包括从触发器20 (图1)接收该 SUSP—REQ信号及接收RP—REQ信号(例如来自该用户输入板的重置请求)的 OR门70。 OR门70的输出为AND门72的输入之一,所述AND门72亦从逻辑电路26的NAND门58接收该真条件信号作为其另一输入。AND门72的输 出为多路复用器24的输出,其由触发器28作为时钟输入而接收,如先前参考 图1所作的描述。触发器28亦从AND门74接收CDN输入,所述AND门74 的输入为该经反相器反相的FORCE—SUSP—INSTR信号以及该MODIFY信号, 因为该逻辑电路74仅需在修改操作期间起作用。如上述参考图1所述,触发 器28输出为该SUSP—REQ—ACC信号,经触发器28输出端的缓冲器后输出。
应注意,在本发明的代替实施例中可提供逻辑电路26、多路复用器24及/ 或电路50中所示的其他逻辑电路的其他实现。
图3为说明本发明管理快闪存储器的挂起请求的方法100的流程图。方法 100最好使用硬件以及可由微控制器12 (或其他合适的处理器或计算机系统) 执行的程序指令或代码来实现,并且存储于计算机可读介质,如存储器(R0M14 或其他存储器)、硬盘驱动器、光盘(CD-R0M、 DVD-ROM等)、磁盘等。较佳 实施例中,某些特定的方法步骤以硬件(逻辑门等)实现,而诸如实现该挂起 序列的其他步骤最好使用R0M14中的由微控制器12获取以执行的软件指令来 实现。
该方法开始于步骤102,在步骤104中,启动并且处理修改操作。如上所 述,该修改操作可为对该快闪储存阵列16进行修改或添加新值的程序操作、 从该阵列16擦除值的擦除操作,或者其他修改该阵列内容的操作。
步骤106中,在该步骤104的修改操作继续运行且还未结束之时从该用户 (或者其他来源,在此亦称为用户,如应用程序)接收挂起请求22。如前所述, 可通过该用户使用与该快闪储存系统相适应的用户接口将该挂起请求输入快 闪存储系统10。 一般地,该用户输入该挂起请求作为执行读取该快闪存储系统 操作的需求的一部分,如读取快闪存储阵列16中的存储器。
步骤108中,该方法检査该状态是否适于挂起该步骤104的修改操作。本 发明中,当逻辑电路26根据状态变量及微控制器输出生成"真条件"时,该 状态适于挂起,这些变量及输出本身基于该当前修改操作中的当前执行指令是 否是可挂起的或可中断的。例如,该修改操作的当前指令可能无法中断而不造 成功能性错误或问题(在此俱简略为错误);例如, 一些类型的该修改操作指令被中断后可能难以正确地恢复该修改操作。该当前指令是否可被中断是根据 状态变量及微控制器输出来判定的,如上述的逻辑电路26所执行的。由此,
若该当前执行指令不应被执行,逻辑电路26不会生成真条件。
应注意,步骤108并非是在寄存器执行或者标志或其他数据的实际比较操 作;而是该步骤仅仅表示只有在该状态适当时才执行步骤112。由于本发明无 需执行特定的比较操作来检査寄存器标志以判定何时挂起该修改操作,由此该 代码指令紧凑得多,因此,本发明较之现有实现优势明显。
步骤108中,若该条件不适于挂起,则在步骤108中执行该修改操作的下 一条指令,并且该处理返回步骤108以再次判定该条件是否适于挂起。例如, 典型的快闪存储器嵌入代码中,有大量不可中断的指令,但那些不可中断的指 令一般在该代码中是不连续,藉此使得可在跟随该不可中断指令之后的可中断 指令执行期间进行挂起操作。
一旦状态适于挂起该修改操作,步骤112中,该用户挂起请求发出的挂起 信号与该微控制器时钟同步。如参考图1所描述的,可使用触发器32来执行 之。下一步骤114中,通过跳转至存储于R0M14中的适当代码指令序列来启动 该挂起序列。图1的实例中,这是通过使用多路复用器36来达成的,所述多 路复用器由该FORCE—SUSP_INSTR信号转换以允许该微控制器跳转至R0M14中 的该适当挂起序列。
步骤116中,执行该挂起序列直至其完成且该修改操作被挂起。如上所述, 这可以通过执行R0M14中的所有该挂起代码指令来实现。可(在寄存器中)保 存任何状态变量及其他特征从而在稍后正确地恢复该修改操作。
随着该修改操作被挂起,可在步骤118执行该用户对快闪存储设备10的 读取操作(及/或其他所需的操作)。 一旦该用户的操作完成,在步骤120恢 复该挂起的修改操作,该步骤中可获取任何保存的状态变量及其他数据以正确 恢复该修改操作。由此,该处理在步骤122完成。
由于本发明的处理使用的是挂起请求及修改操作挂起的自动检测(如使用 硬件),其不需使用现有的每隔几行代码就执行一次查询以判定是否已接收到 挂起请求软件方法,即使无挂起请求。现有技术中,查询指令须在最短时间段内执行以满足挂起该操作所需的该快闪存储器10的时间安排条件。本发明中, 由于无需执行这些比较指令,因此更易满足该时间安排条件。此外,由于去除 了该比较指令,本发明的嵌入代码极其紧凑,由此节省了存储该代码的成本。
尽管已根据所示的实施例描述了本发明,本技术领域的技术人员可容易地 认识到可在本发明的精神及范围之内对这些实施例作出修改。因此,本技术领 域的技术人员可在不脱离所附的权利要求书的精神及范围的情况下作出许多 修改。
权利要求
1、一种管理快闪存储器中挂起请求的系统,所述系统包括执行快闪存储阵列修改操作的微控制器;耦合至所述微控制器且存储挂起序列代码的存储器,所述挂起序列代码由所述微控制器执行时用于实现挂起序列以使所述修改操作挂起;及耦合至所述微控制器及所述存储器的挂起电路,其中所述挂起电路从用户处接收挂起请求以挂起所述修改操作,并且其中所述挂起电路开始执行所述挂起序列代码。
2、 如权利要求1所述的系统,其中当所述修改操作可被挂起而不会 造成所述修改操作的错误之时,所述挂起电路开始执行所述挂起序列 代码。
3、 如权利要求2所述的系统,其中当所述修改操作的当前执行指令 可被挂起而不会造成所述修改操作的错误之时,所述挂起电路开始执 行所述挂起序列代码。
4、 如权利要求1所述的系统,其中所述挂起电路包括锁存所述挂起 请求直至所述挂起请求可被实现而不发生错误的触发器。
5、 如权利要求1所述的系统,其中所述挂起电路包括开关及逻辑电 路,其中所述逻辑电路判定所述挂起序列何时可以开始。
6、 如权利要求5所述的系统,其中所述逻辑电路接收状态变量并且 接收所述微控制器输出以判定所述挂起序列何时可以开始。
7、 如权利要求1所述的系统,其中所述挂起电路包括至少一个用于 提供信号的触发器,所述信号用于依照所述微控制器的时钟启动所述 挂起序列。
8、 如权利要求1所述的系统,其中所述挂起电路包括多路复用器, 所述多路复用器用于当所述挂起序列开始之时选择所述挂起序列的开 始代码地址,其中所述开始代码地址引用所述存储器中的存储位置。
9、 如权利要求8所述的系统,其中所述多路复用器在所述微控制器 开始所述挂起序列后选择所述挂起序列中的下一条指令。
10、 如权利要求9所述的系统,其中来自触发器的信号设置所述多路复用器去选择开始代码地址,并且其中所述触发器关断所述信号以设 置所述多路复用器以选择所述挂起序列中的下一条指令。
11、 如权利要求1所述的系统,其中所述存储器为只读存储器(ROM)。
12、 一种管理快闪存储器中挂起请求的方法,所述方法包括 从用户处接收挂起请求信号以挂起快闪存储阵列的修改操作;锁存所述挂起请求信号直至所述修改操作可被挂起而不会造成所述修改操作的错误;及通过执行存储于存储器的挂起序列代码以挂起所述修改操作。
13、 如权利要求12所述的方法,其中所述挂起请求的锁存由触发器 执行。
14、 如权利要求12所述的方法,其中当所述修改操作执行可中断指 令时,可挂起所述修改操作。
15、 如权利要求12所述的方法,其中硬件逻辑电路根据状态变量及 微控制器输出来判定所述修改操作何时可被挂起。
16、 如权利要求15所述的方法,其中当所述修改操作可被挂起时, 允许所述挂起请求信号通过开关输入挂起请求电路,其中所述开关由 所述硬件逻辑电路控制。
17、 如权利要求12所述的方法,其中挂起所述修改操作包括向开关 提供所述挂起请求信号,来向微控制器指示所述存储于所述存储器的 挂起序列代码的开始地址。
18、 如权利要求17所述的方法,其中所述开关在所述微控制器开始 挂起序列后选择所述挂起序列中的下一条指令。
19、 如权利要求18所述的方法,其中来自触发器的信号设置所述开 关以选择开始代码地址,并且其中所述触发器设置所述信号以使所述 开关选择所述挂起序列中的所述下一条指令。
20、 如权利要求12所述的方法,进一步包括,当所述修改操作挂起时,从所述用户接收实现至少一项用户操作的信号。
21、 如权利要求20所述的方法,其中所述用户操作为从所述快闪存 储单元读取数据的读取操作。
22、 如权利要求21所述的方法,进一步包括在所述至少一项用户操 作完成后恢复所述修改操作。
23、 如权利要求12所述的方法,其中利用至少一个触发器依照所述 微控制器的时钟开始所述挂起序列。
24、 一种管理快闪存储器中挂起请求的方法,所述方法包括 执行来自所述快闪存储器的储存器中的嵌入软件代码指令以实现快闪存储阵列的修改操作;从用户处接收挂起请求信号以挂起所述修改操作;及 使用硬件挂起电路挂起所述修改操作,而不执行检査所述挂起请 求是否已收到的软件代码指令。
25、 如权利要求24所述的方法,其中挂起所述修改操作包括当该指 令可被中断而不会导致所述修改操作的错误之时,中断运行所述修改 操作的指令。
26、 如权利要求25所述的方法,其中当中断所述当前运行指令无法 避免造成所述修改操作的错误之时,挂起所述修改操作包括等待并中 断所述修改操作的下一条可被中断而不会造成所述修改操作错误的指 令。
27、 如权利要求26所述的方法,其中硬件逻辑电路根据状态变量及 微控制器输出来判定所述修改操作何时可被中断及挂起。
28、 如权利要求24所述的方法,进一步包括锁存挂起请求信号直至 所述修改操作可被中断。
29、 如权利要求24所述的方法,其中挂起所述修改操作包括执行存 储于所述存储器的挂起序列代码。
30、 如权利要求29所述的方法,其中挂起所述修改操作包括向开关提供挂起请求信号,来向微控制器指示所述存储于所述存储器的挂起 序列代码的开始地址。
31、 如权利要求30所述的方法,其中所述开关在所述微处理器开始挂起序列后选择所述挂起序列中的下一条指令。
32、 如权利要求24所述的方法,进一步包括,当所述修改操作挂起 时,从所述用户接收实现至少一项用户操作的信号。
33、 如权利要求32所述的方法,进一步包括在所述至少一项用户操 作完成后恢复所述修改操作。
全文摘要
管理快闪存储设备中挂起请求的系统及方法。该系统包括执行快闪存储阵列修改操作的微控制器,耦合至所述微控制器且存储挂起序列代码的存储器,所述挂起序列代码由所述微控制器执行时挂起所述修改操作,以及从用户处接收挂起请求以挂起所述修改操作并且开始执行所述挂起序列代码的挂起电路。
文档编号G06F12/00GK101553789SQ200680002539
公开日2009年10月7日 申请日期2006年1月19日 优先权日2005年1月20日
发明者卢卡·菲吉尼, 斯蒂芬诺·苏里克, 莫尼卡·马兹阿尼, 西蒙娜·巴托丽 申请人:爱特梅尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1