用于减少存储器阵列中的读取等待时间的存储器操作暂停的制作方法

文档序号:6768448阅读:213来源:国知局
专利名称:用于减少存储器阵列中的读取等待时间的存储器操作暂停的制作方法
技术领域
背景技术
当前,用于外部及嵌入式快闪存储器两者的最常见接口为多媒体卡(MMC)及对应的嵌入式MMC(e-MMC)。还正在研发例如通用快闪存储(UFS)等新标准以允许内部及外部快闪存储器共享单个总线。这些标准还打算适于其它类型的存储器,包含磁性存储器、光学存储器及相变存储器。为简化MMC或e-MMC接口,存储器卡控制器使物理存储器接口(例如,NAND接口) 适应MMC总线接口且还管理特定于所述物理存储器技术的任务。对于NAND存储器,这些任务可包含碎片重组、坏块管理、错误校正及检测、损耗均衡算法、安全管理及逻辑/物理块重新映射。此减少系统的其余部分的复杂性,但这些额外存储器控制器任务全部需要一定的时间来执行,此可使得所述存储器暂时不可用。可发生以下情况,举例来说,存储器卡控制器将由于当前运行数据管理例程(例如,数据碎片重组或无用单元收集)而花费数百毫秒以上来执行主机命令。在此时间期间, 所述卡将处于繁忙状态中且其可不管理其它主机命令直到先前主机命令结束为止。因此, 延迟对读取命令的响应。此增加的等待时间可干涉主机的适当操作。

发明内容


本说明书的结论部分中已特别指出及清晰地主张了被视为本发明的标的物。然而,在结合附图阅读时参考以下详细说明可最佳理解本发明的组织及操作方法两者、以及其目的、特征及优点。图1展示适于图解说明实施例的若干方面的e-MMC快闪存储器卡控制器的状态图的一部分;图2展示根据实施例的存储器控制器的状态图的一部分;图3是根据实施例暂停及重新开始写入操作的时序图;图4是根据实施例中止写入操作的时序图;图5是根据实施例暂停及重新开始写入操作的过程流程图;图6是根据实施例中止写入操作的过程流程图;图7是具有能够实施在其它图的上下文中所描述的过程及设备的主机接口的受管理存储器的框图;且图8是能够实施在其它图的上下文中所描述的过程及设备的移动装置的框图。应了解,为简洁及清晰图解说明起见,图中所图解说明的元件未必按比例绘制。举例来说,为清晰起见,所述元件中的一些元件的尺寸可相对于其它元件放大。此外,在认为适当处,在图中重复参考编号以指示对应或类似元件。
具体实施例方式为实现PoD及许多其它需求策略及应用,存储器必须提供足够快速读取操作且所述读取操作必须可在已写入相同数据不久之后进行。因此,如下文所描述,主机可存取一受管理存储器,而不管存储器控制器的状态如何。如果(举例来说)写入操作正在进行中,那么主机可暂停当前写入操作、执行读取操作且接着重新开始经暂停的写入。举例来说,当主机使其自身的固件存储到受管理存储器上且在运行时间其需要加载所述固件的若干片段而存储器控制器正忙于存储数据时,此暂停操作可为有用的。在一个实例中,新命令序列允许主机暂停及重新开始长写入操作以执行迅速读取操作。甚至在最差条件下,随后为写入重新开始命令的写入暂停命令也可用以给主机保证几毫秒的读取存取时间。此允许主机(举例来说)通过简单冻结写入操作来实施页按需策略。可以相同方式冻结任一其它长存储器管理操作。在e-MMC 4. 4JEDEC (电子装置工程联合委员会)JESD84-A44标准规范(结合电子工业协会颁布)的上下文中呈现以下说明以简化阐释,但相同概念可转移给其它存储器管理协议及存储器接口。NAND快闪存储器(无论是嵌入式的还是单独可拆卸卡)可容易满足任一系统的典型读取速度要求。然而,存储器管理及写入算法可引入较长等待时间。由e-MMC规范将存储器管理指派给存储器卡控制器,因此主机不知道是否正执行任一特定过程。因此,为始终如一地提供高速存储器性能,必须存在适应存储器管理任务的某一方式。当e-MMC为受管理NAND快闪存储器卡时,内部存储器卡控制器负责执行内部NAND 存储器管理操作中的全部操作。在这些操作中,碎片重组及无用单元收集往往是不可预测的且耗时的。这些算法通常是在写入/擦除命令期间执行,且其持续时间取决于NAND快闪块的占用状态及因此取决于外部主机应用如何存取存储器系统。对于其它类型的物理存储器,存在可干涉迅速读取循环的其它存储器管理操作。任何管理算法的执行均可以不可预测方式增加写入命令的执行时间。因此,后续高优先级读取操作可延迟得比本说明书所允许的长。此尤其可扰乱主机的操作。 在经由e-MMC接口耦合到主机(例如,计算机、智能电话、媒体播放器或类似装置) 的快闪存储器卡的上下文中呈现本说明。然而,本发明不受如此限制。许多类型的存储器需要背景管理任务。不管这些任务是类似于快闪存储器所需的那些任务还是与其有极大不同,本发明均允许减少来自这些任务的等待时间。本发明不限于特定存储器硬件配置。所述存储器可在不同卡、不同芯片上,或其可嵌入于某一其它装置中。在所述存储器封装为存储器卡的情况下,可由存储器卡控制器执行所述存储器管理操作,然而,负责存储器管理的控制器可在其它类型的存储器中具有不同名称。因此,将在具有耦合于存储器与主机之间的存储器控制器的存储器或受管理存储器的上下文中描述本发明。
在简单实例的上下文中可更容易理解本发明的实施例。在此实例中,主机系统已将写入多个块命令呈送到存储器控制器。实例性受管理存储器具有聚集成块的存储器单元阵列。所述存储器控制器处于对经耦合的受管理存储器阵列或甚至仅所述存储器的一部分的数据碎片重组操作当中。在常规快闪存储器卡中,存储器卡控制器将在缓冲器中接收数据且接着回到碎片重组操作上来。接着将在此操作后面写入新数据。主机将不能够发送任何其它数据或读取任何数据直到完成这些操作为止。另外,将不可读取刚刚发送的数据直到碎片重组过程结束之后为止。此处,碎片重组用作实例。存在由可使存储器暂时不可用的存储器控制器执行的数个其它过程。在以标准规范提供的e-MMC的常规状态图的上下文中可更全面地理解此实例。此状态图已再现为图1。已从所述标准图移除与本文中所讨论操作不相关的细节中的一些细节。如图1中所展示,存储器控制器具有数个状态。这些状态包含备用状态(stby) 10、 传送状态(tran)12、发送数据状态(data) 14、接收数据状态(rev) 16、编程状态(prg) 18及断开状态(dis)20。还定义其它状态但未展示以简化所述图。对于快闪存储器,写入到用于非易失性存储的存储器单元称为编程。对于其它类型的存储器,编程状态可具有不同名称,例如写入或存储。此处所展示的特定状态是直接从e-MMC标准选取且特定来说极适于 NAND快闪。然而,本发明可适于其它类型的存储器及其它类型的状态机。控制器依据接收或产生命令而从一个状态转变到另一状态,或在发生“操作完成” 事件之后的几个情况下即可从一个状态转变到另一状态。所述命令全部在数字上定义为 CMDxx,其中XX为编号。每一命令均具有数字定义及自变量。然而,对于许多命令,所述自变量为填充自变量,意指其不用以传达任何信息。stby与tran之间的转变由主机使用CMD7、选择/取消选择来控制。类似地,prg 与dis之间及从data到stby的转变由CMD7控制。当接收命令时,所述命令的效应取决于存储器控制器的当前状态。当操作完成时,发生从dis到stby的转变。在上文的简单实例中,主机已写入多个块命令呈送到存储器卡。此命令为CMD25。 如图1中所展示,CMD 25可以tran 12由主机控制器接收。在此实例中,所述控制器处于 tran中,且在于框22处接收写入命令(CMD 25)之后,存储器控制器状态从tran移动到rev 以接收数据。在从主机接收所有所述数据以存储(“传送结束”)之后或在于框M处接收停止命令(CMD 1 之后,存储器控制器状态朝向prg移动。根据标准规范,只要先前写入命令已完成(“操作完成”框沈),存储器控制器就从prg回到tran。主机不可在存储器控制器繁忙的情况下给其发送任一其它命令。如果所述控制器正执行复杂操作(例如,碎片重组),那么所述控制器可保持处于“编程状态”中达数毫米。依据标准描述各种各样的不同读取请求。这些请求在框观处展示为CMD8、11、17、 18、30、56(r)。这些命令可仅在存储器控制器处于传送状态中的情况下起作用。因此,为迅速服务于读取请求,存储器控制器必须迅速从其当前状态移动到传送状态。从备用状态,此可容易借助CMD7来完成。从发送数据状态,一经同意当前请求,存储器控制器随时可发送更多数据。从断开状态,主机可等到在框36处完成操作为止且接着发布用于备用状态的 CMD7或可借助CMD7命令所述存储器控制器转到编程状态。编程状态将随着框沈处的操作完成转变回到传送状态。为允许将读取请求从接收数据状态迅速服务到编程状态,可将快速“退出繁忙”方法提供给主机。此方法可给主机提供用以进行以下操作的途径冻结当前碎片重组、无用单元收集或e-MMC上正进行的其它操作,从而使存储器控制器自由以执行更高优先级读取操作。稍后可接着重新开始经冻结的操作。如上文所提及,通过写入多个块命令(CMD2Q频繁地触发存储器管理操作。简单地说,写入暂停命令可用以暂停任一微型活动,从而释放DATO线(繁忙信号)且使其可迅速从所述装置读取。写入重新开始命令可接着将存储器控制器移动到编程状态中以完成先前暂停的写入操作。可保存少量数据以允许所述微型活动稍后重新开始及完成所述写入操作。在写入暂停之后,可保存已从主机侧进入到所述装置中的所有那些数据块以用于稍后重新开始。存在提供“退出繁忙”或“暂停及重新开始”方法的数个不同方式。在一个实例中,标准停止命令(CMDU)与唯一自变量(举例来说,OxFOFOFOFO (按十六进制数字))一起使用。所述标准停止命令总是与填充自变量一起发送且命令标准停止传输(ST0P_TRANSMISSI0N)。通过将所述自变量改变成特定唯一自变量,可改变所述命令的操作及功能。此新命令可被认为是“写入暂停”命令。根据此实例,在接收所述写入暂停命令之后,控制器移动到prg 18中,且接着一经可能立即移动到“操作完成”26中而不完成所有步骤。而是,暂停所有控制器背景写入操作。所述控制器可经配置以保持或保存其稍后重新开始及完成写入操作所需的所有信息及数据。在“操作完成”之后,所有存储器控制器回到tran 12中。从此状态,主机可将读取命令观发送到受管理存储器且所述存储器控制器将接着转变到data 14且服务于所述命令。在data状态14中发生读取操作。在读取操作达到框30处的“操作完成”之后,接着存储器控制器返回到tran状态12,所述存储器控制器可通过经由rev 16转变到prg 18 而从tran状态12重新开始先前写入命令,。如果不重新开始先前写入命令,那么将丢失以先前写入命令发送到主机的所有数据。除重新开始序列以外的任一命令序列均可永久地停止先前写入命令。为重新开始写入操作且从tran转变到prg,可使用各种各样的不同方法。在一个实例中,可由主机发布以下命令序列-CMD 16(0x00000004)-CMD 56(0x00000000)-写入4 字节 OxFOFOFOFO框32处的设定块长度命令CMD 16与自变量“0x00000004” 一起发送。所述自变量指示下一命令CMD 56的数据传送长度。此后面是框22处的一般写入命令(CMD56),所述一般写入命令将存储器控制器带到rev状态。除指示数据转送的方向(在此情况下,朝向存储器阵列)的第一位(位0)以外,自变量“0x00000000”为填充位。在接收数据之后, “传送结束”将把存储器控制器发送到prg状态以写入数据块。一旦其已进入此状态,接着存储器控制器就将完成先前暂停的写入操作。在另一实例中,可使用新命令或可将额外目的给予现有命令以将存储器控制器直接发送到“编程”状态中。如框34处所展示,CMD6J8、29、38将存储器控制器从tran直接带到prg。这些命令可在考虑被给予其特殊目的的情况下使用。在任一情况下,所述命令均可用以将装置直接发送到prg状态中以完成先前暂停的写入操作。在本实例中,使用CMD22。 此命令当前不具有e-MMC标准规范中的指派用途。任一其它经保留或未经使用的命令可用于替代CMD22或用以适应所要过程的变化形式。关于上文所描述的写入暂停或退出繁忙方法,在发布暂停之后,如果主机发送读取或重新开始命令,那么可重新开始维护操作。然而, 如果发布另一命令,那么存储器控制器可消除重新开始信息中的所有信息。此写入命令使经中断写入命令不完整。另一风险为,如果暂停操作正在进行中且接着将另一读取命令发布到经暂停写入中所涉及的地址,那么经检索数据可为未经定义的。在第三实例中,可使用写入中止命令序列。中止命令可用以致使突然中断在写入命令期间由e-MMC控制器起始的进行中存储器维护操作中的所有操作。所述中断使主机发布可快速执行的高优先级读取命令。响应于写入中止命令,可摒弃存储器中的所有数据再复制操作。如果如此,那么对于NAND存储器,所涉及的物理块将被认为无效。因此,所涉及的物理存储器块将在写入至其中之前再次预擦除以用于新数据写入操作。为避免丢失再复制操作中所涉及的数据中的所有数据,通过写入中止命令中断的写入命令可接着由主机再发布。此允许在高优先级读取之后完成以前写入操作。当写入操作在完成之前被中止是,存储器控制器可发布用以指示未成功完成所述操作的错误信号。响应于此,主机可接着在发布对应写入命令。如果如上文所描述的实例中由主机发布中止命令,那么主机可经配置以自动重复最后写入请求。在此情况下,不需要从存储器控制器发送错误信号,这是因为主机知道曾停止写入操作。作为替代方案,回应于来自主机的高优先级读取请求,可由存储器控制器发布写入中止命令。为恢复经中止写入操作,存储器控制器可在已服务于读取请求时记起经中止操作且自动重新开始。另一选择为,存储器控制器可简单发布用于经中止操作的错误信号。 所述错误信号可接着致使主机再发布最后写入操作。所述中止命令可以各种各样的不同方式实施。在一个实例中,如同第一实例,可使用通过使用新自变量格式(例如,“OxFOFOFOFO”)修改的停止命令(CMD12)。由于所述停止命令的自变量完全由填充位构成,因此其它自变量可用以将额外功能添加到所述命令。上文所描述的方法可实施于存储器控制器或主机中。如果主机涉及到写入暂停或写入中止操作,那么存储器控制器可将其是否能够支持此类命令及如何支持指示给主机。 在e-MMC标准下,每一 MMC卡包含EXT_CSD (经扩展卡特定数据)寄存器。此寄存器含有关于卡的能力及选定模式的信息。所述信息包含开始地址、存储器容量、分区、启动代码、经启用命令集、定时及速度规格、擦除保护模式等。当启动卡时,由主机读取卡上的寄存器。在一个实例中,经扩展CSD寄存器的所有权区域中的专用字段可经设定以向主机平台传递 在所述装置上,写入暂停/重新开始命令或写入中止命令或两者为可用的。举例来说,经扩展CSD寄存器的分段区域可用以允许主机挑选是否启用这些命令。在一个实例中,如由主机设定,字节可存在于分段区域中。当主机设定所述字节时,接着启用中止及暂停/重新开始功能性。作为实例,分段区域中的字节可具有如表1中所展示的结构。
权利要求
1.一种方法,其包括将第一数据集写入到存储器中;中断(119)第二存储器写入操作;及在中断所述第二存储器写入操作之后从所述存储器读取(121)所述第一数据集。
2.根据权利要求1所述的方法,其进一步包括在读取所述第一数据集之后重新开始 (127)所述第二存储器写入操作。
3.根据权利要求1所述的方法,其进一步包括响应于中断所述第二存储器写入操作而发布错误信号。
4.根据权利要求1所述的方法,其进一步包括响应于所述错误信号而接收重复所述经中断第二存储器写入操作的命令。
5.根据权利要求1所述的方法,其中写入包括发布写入命令,其中中断包括发布中断命令,且其中读取包括发布读取命令。
6.根据前述权利要求中任何一个或一个以上权利要求所述的方法,其中中断包括发布 (139)停止命令。
7.根据前述权利要求中任何一个或一个以上权利要求所述的方法,其中中断包括发布 (119)暂停命令。
8.根据权利要求1所述的方法,其中中断包括接收中断命令及从写入状态(18)转变到发送状态(12)。
9.根据前述权利要求中任何一个或一个以上权利要求所述的方法,其中第二存储器写入命令包括存储器维护操作,例如碎片重组或无用单元收集。
10.根据前述权利要求中任何一个或一个以上权利要求所述的方法,其中读取包括将数据页提供到页按需存储器主机(205)。
11.根据前述权利要求中任何一个或一个以上权利要求所述的方法,其中所述存储器为NAND快闪存储器(201)。
12.—种设备,其包括电子数据存储器O01);存储器控制器O02),其耦合到所述存储器;及主机接口 004),其耦合到所述存储器控制器及主机Q05);其中所述存储器控制器将第一数据集写入到所述存储器中且对所述存储器执行第二存储器写入操作,所述存储器控制器经由所述主机接口从所述主机接收存储器读取命令, 所述存储器控制器接着中断所述第二存储器写入操作以服务于所述读取命令。
全文摘要
可通过暂停写入操作来减少存储器阵列中的读取等待时间。在一个实例中,一种过程包含将第一数据集写入到存储器中、中断第二存储器写入操作及在中断所述第二存储器写入操作之后从所述存储器读取所述第一数据集。
文档编号G11C16/10GK102598141SQ200980160847
公开日2012年7月18日 申请日期2009年6月10日 优先权日2009年6月10日
发明者安东尼奥·毛罗, 安东尼诺·波利奥, 弗朗切斯科·法兰加, 达尼洛·卡拉乔, 马西莫·亚库洛 申请人:美光科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1