改善冗余载入效率的制作方法

文档序号:6533610阅读:159来源:国知局
改善冗余载入效率的制作方法
【专利摘要】一种系统,包括处理器以及内存,其中,所述内存包括指令,当由所述处理器执行时实施一种方法。该方法包括载入冗余数据组的第一部分进入该处理器的寄存器,对于多个冗余扇区(sector)的每一个冗余扇区。冗余数据组的第二部分也被载入易失性(volatile)内存,对于该多个冗余扇区的每一个冗余扇区。载入该冗余数据组的该第二部分包括载入冗余数据的第三部分,该冗余数据包括冗余数据的多个第二部分,对于该多个冗余扇区。
【专利说明】改善冗余载入效率

【技术领域】
[0001] 本揭露一般地涉及电源开启读取(power-on-read)时间的需求,并且尤指在电源 开启读取时间期间的读取冗余信息。

【背景技术】
[0002] 在某些应用程式,电源开启读取(POR)时间可能是顾客所强调的重要规格。于一 例示性实施例中,当电源供应至内存装置,该内存装置经过一连串的初始化阶段。在这个 POR时间中,执行了电源开启读取演算法。该POR演算法可执行所需要的步骤,以使该内存 装置(例如,快闪内存的微控制器、SRAM,以及寄存器)进入准备好接收命令的状态,该命令 例如为读取/写入以及抹去要求。
[0003] 电源开启读取时间的一个成分为用于载入冗余信息所需要的时间。这样的信息 (可能花费大于10百分比的总POR时间)用于维持冗余扇区的轨道。一例示性内存装置可 分为几个扇区,其中所有数目的可提供扇区分为一般运算扇区以及冗余扇区。当一般运算 扇区鉴别且被标记为不良,冗余扇区的其中之一将用于取代该不良扇区。于一例示性实施 例中,冗余寄存器可以冗余扇区的其中之一的位址替换该不良扇区的位址。如下文将讨论 的细节,快闪内存装置可包含多个一般扇区、多个冗余扇区以及存储冗余信息的查找表,该 信息将包含有关当前使用的冗余扇区的信息(特定的冗余扇区当前是否正用于取代不良 的一般扇区)。
[0004] 设计POR时间以符合顾客需求越来越具挑战,尤其当快闪内存装置变得更先进并 且有更大的内存密度。举例来说,当一个例示性256Mb内存装置具有8个冗余扇区,一个例 示性16Gb内存装置则具有64个冗余扇区。目前,有两种选择方案应用于提升POR时间的 速度:纯硬体实施以及改进软体效率。对于纯硬体实施,至少有三个缺点。第一,没有灵活 性。一旦特定的硬体实施例被实际实现(realized physically),要进行修改就不是一件 容易的事。第二,对于硬体,这类的修改通常将导致晶片大小的增加。制造已导致增加晶片 大小的新硬体实施例,可能也导致增加生产成本。第三,纯硬体实施可能较软体实施更为复 杂。
[0005] 因此,对于电源开启读取实施,软体实施是较好的选择,当存在严峻的POR时间要 求的时候。然而,软体实施也有对应属于自己的挑战以及缺点。举例来说,大于10百分比的 实际电源开启读取时间可能花费在载入该冗余信息。另外对于顾虑到冗余信息的延长载入 时间,更大的内存装置需要载入或存储越来越大数量的冗余信息。因为可提供的存储空间 也十分珍贵,尤其在具有额外内存需求的BiST载入方案中;用于有效率的冗余信息载入的 软体解决方案有时候不可能用于更大的内存装置。这样的冗余信息的载入是没有效率的, 并且如上文所讨论,随着更大的内存容量而更加恶化。因此,需要改善该冗余信息载入以减 低该POR时间。


【发明内容】

[0006] 本发明提供一种解决方案,对于在电源开启读取时间中载入冗余信息的固有挑 战。在根据本发明的一个实施例的方法中,揭露一种用于载入冗余信息的方法。该方法包括 对于多个冗余扇区的每一个冗余扇区,载入冗余数据组的第一部分进入易失性内存。对于 该多个冗余扇区的每一个冗余扇区,冗余数据组的第二部分也被载入至该易失性内存。对 于每一个冗余扇区,载入该冗余数据组的该第二部分包括载入包括冗余数据的多个第二部 分的冗余数据的第三部分,对于多个冗余扇区。
[0007] 在根据本发明的一个实施例的系统中,揭露一种用于载入冗余信息的系统。该系 统包括处理器以及内存,其中,所述内存包括指令,当由所述处理器执行时实施一种方法。 该方法包括对于多个冗余扇区的每一个冗余扇区,载入冗余数据组的第一部分进入易失性 内存。对于该多个冗余扇区的每一个冗余扇区,冗余数据组的第二部分也被载入至该易失 性内存。对于每一个冗余扇区,载入该冗余数据组的该第二部分包括载入包括冗余数据的 多个第二部分的冗余数据的第三部分,对于多个冗余扇区。
[0008] 在根据本发明的一个实施例的系统中,揭露一种用于载入冗余信息的系统。该系 统包括处理器、易失性内存、非易失性内存以及查找表。在该非易失性内存通入电源,在该 查找表中的冗余数据载入至该易失性内存。载入该冗余数据,包括:对于在该非易失性内存 中的多个冗余扇区的每一个冗余扇区,载入冗余数据组的第一部分进入该易失性内存。对 于该多个冗余扇区的每一个冗余扇区,冗余数据组的第二部分随后载入至该易失性内存。 载入该冗余数据组的该第二部分包括载入冗余数据的第三部分。该冗余数据的第三部分包 括冗余数据的多个第二部分,对于在非易失性内存中的多个冗余扇区。

【专利附图】

【附图说明】
[0009] 通过阅读以下详细的描述,配合所附图式,将更为明白本发明,其中相同的符号表 示相同的元件,以及其中:
[0010] 图1说明根据本发明的实施例的例示性简化方块图,其为微处理器从查找表载入 冗余信息进入静态随机存取内存中;
[0011] 图2说明根据先前技术,对于每一个冗余扇区安排成两个字节的例示性冗余信息 位;
[0012] 图3说明根据先前技术,对于例示性256Mb内存装置的每一个冗余扇区安排成两 个字节的例示性冗余信息位;
[0013] 图4说明根据本发明的实施例,对于例示性256Mb内存装置的每一个冗余扇区安 排成字节的例示性冗余信息位;以及
[0014] 图5说明根据本发明的实施例的例示性流程图,其为对于内存装置的每一个冗余 扇区,载入冗余信息的方法。

【具体实施方式】
[0015] 通过本发明的最佳实施例,所附图式中所图示说明的例子,将提供详细的参考。当 本发明描述于相关的最佳实施例,应了解到这并不意味限制本发明于这些实施例中。相反 的,本发明意图涵盖替代方案、修改以及同等物,在包含于所附的权利要求书所定义的本发 明的精神与范围内。更进一步来说,以下所描述的本发明的实施例,数个特定的细节被描 述,为了提供对于本发明的彻底理解。然而,本领域的技术人员应理解本发明可在没有这些 特定细节下实施。在其他的实例中,广为人知的方法、程序、元件以及电路不做详细的描述, 避免本发明的实施例中不必要混淆。绘示本发明实施例的图式为半图解,并且未按照比例, 以及特别是,一些尺寸是为了表现上的清晰并且夸大的显示于所绘图式中。同样的,尽管为 了方便描述,图式中的视点一般显示相同的方向,图式中的这些绘图在大多数的情况下是 任意的。一般来说,本发明可在任何方向下运作。
[0016] 以及术语:
[0017] 细节描述的某些部分,如下文,将显示在计算机内存中的数据位上运算的程序、步 骤、逻辑块(logic blocks)、处理过程以及的其他符号表示。这些描述以及表示为在数据处 理领域的技术人员所使用的意义,以最有效率地传达他们工作的实质部分给其他本领域的 技术人员。在此,程序、计算机执行步骤、逻辑块、处理过程等等,以及一般而言,设想为自相 一致的步骤序列或是指令引导至所需的结果。该步骤为物理量所需的物理操作。通常,尽 管不是必须,这些由电子或磁性讯号所取得的数量能够被存储、转送、结合、比较以及其他 操作在计算机系统中。有时候方便被证明,主要为了一般使用的理由,表示这些信号为位、 数值、元素、符号、特性、项目、数字、或诸如此类。
[0018] 然而,应牢记,这些全部以及类似的项目为相关联于适当的物理量,并且仅为采用 于这些数量的方便标示。除非特别声明,否则如同下文所讨论显而易见的,应当理解整个本 发明中,讨论所采用的项目像是"处理"或"存取"或"执行"或"存储"或"转列(rendering) " 或诸如此类,表示计算机系统的动作以及处理程序,或是类似的电子计算装置,操作并且转 换数据,该数据表示为在该计算机系统的寄存器以及内存和其他计算机可读取的媒体中的 物理(电子)数量,转换为类似地表示为在计算机系统内存或寄存器或其他类似的信息存 储器、传输或显示装置中的物体量的其他数据。当一元件显示于数个实施例中,使用相同表 示数字代表该元件为原始实施例中所图示说明的相同元件。
[0019] 本发明的实施例提供了一种解决方案,对于维持简短的冗余信息载入时间的固有 挑战,该挑战随着日渐增加的内存装置存储容量而增加。更进一步来说,本发明的实施例也 提供一种解决方案,通过减少对于所给定的内存装置所要求的载入以及存储数据的数量, 来解决增加的存储以及载入需求。如以下的详细描述,本案揭露的多种实施例提供一个冗 余信息载入的方案,其划分用于特定冗余扇区的该冗余信息位为"低(low) "部分以及"高 (high) "部分(于一实施例,该低部分为一字节的数据:低字节,同时该高部分也是一字节 的数据:高字节)。如同以下也详细描述的,多个冗余扇区的该高字节可结合进入至少一个 结合的高字节。于其他的实施例中,该低部分以及高部分可能是一些其他数量的位。如以 下的详细讨论,该冗余信息载入时间可通过载入每一个冗余扇区的低字节以及至少一个包 括该冗余扇区的多个高字节的结合的高字节而缩短。这样的载入方案可导致对于给定的内 存装置必须载入的冗余数据数量的减少。
[0020] 于一例示性实施例,如图1所示,对于冗余扇区110的最佳化的冗余信息可被存储 在快闪内存装置100的TRIM扇区102。于一实施例,在TRIM扇区102中的该冗余信息被存 储为查找表。于一实施例中,存储在TRIM扇区102中的该冗余信息通过微控制器106被最 佳化。在最佳化后,该冗余信息暂时存储在SRAM 104,该最佳化的冗余信息可转送至TRM 扇区102予以存储。如下文所讨论,在POR演算法的执行期间,存储在TRIM扇区102的该 冗余信息可转送至在快闪内存100中的冗余寄存器108。于一实施例,冗余寄存器108为 多个正反器(flip-flop)。于一实施例,在该冗余信息于POR演算法期间被载入至该冗余 寄存器108,该载入的冗余信息可轻易且快速地存取,每当读取、写入或是抹去命令的时候。 快闪内存装置100随后可通过其中一个该冗余扇区建立(found)列表于该冗余寄存器中, 检查是否目标扇区已修复(例如被取代),并且根据需要,可重新导向该命令至替代的冗余 扇区。
[0021] 如上文所讨论,并且也图示说明于图1中,快闪内存可在微控制器106实施软体解 决方案以达成灵活性的状况下被实行,。于一例示性实施例中,可使用8位微控制器(MCU) 以达成软体灵活性,但也导致较慢的POR时间,当与硬体解决方案相比较而言。如下文将详 细讨论的,8位微控制器将需要该冗余数据以一次一字节(例如8位)的方式,载入进冗余 寄存器108。
[0022] 进一步而言,具有32个冗余扇区的例示性2Gb内存装置,具有32个冗余信息组, 对于每一个冗余扇区,冗余数据一组为12个位。于一实施例,像是具有8位微控制器(MCU), 该12位可分为2个字节。于一实施例,冗余信息的该字节以一次一字节的方式被载入。因 此在对于2Gb内存装置的冗余信息的载入期间,需要载入总共64字节的数据,对于该32组 的冗余信息而言。
[0023] 下文的第1表格说明对于利用例示性8位微控制器(MCU) 106的不同的内存装置 密度,现有的冗余信息载入以及POR时间。在300 μ s的例示性PRO时间规格下,该现有的 实施方式对于8Gb密度及之后(onward)的内存装置将失效(fail)。如上文所讨论,因为此 例示性实施例使用8位微控制器106,该冗余信息可划分为低字节以及高字节。如第1表格 所图示说明,在对于每一个冗余扇区该冗余信息划分为两字节的状况下,根据先前技术的 例示性256Mb内存装置将需要载入16字节的冗余信息,当在其他的极端值,16Gb内存装置 将需要载入128字节的冗余信息。
[0024] 又如同第1表格所图示说明,对于256Mb内存装置至16Gb内存装置的例示性冗余 数据载入时间,分别变化从8. 32 μ s至66. 56 μ s。因此,又如同第1表格所图示说明,在冗 余载入时间增加的状况下,8Gb以及更大的内存装置将失效于300 μ s的例示性规格需求。 如上文所讨论,使用现有的软体解决方案对于载入冗余信息而言,不可能用于8Gb或更大 的内存装置。

【权利要求】
1. 一种方法,包括: 载入冗余数据组的第一部分进入微控制器的寄存器,对于多个冗余扇区的每一个冗余 扇区; 载入该冗余数据组的第二部分进入该寄存器,对于该多个冗余扇区的每一个冗余扇 区,其中,载入该冗余数据组的该第二部分包括载入冗余数据的第=部分,该冗余数据包括 冗余数据的多个第二部分,对于该多个冗余扇区。
2. 根据权利要求1项所述的方法,其中,冗余数据组的第一部分为由该微控制器的频 宽所界定的最大数目位。
3. 根据权利要求1项所述的方法,其中,冗余数据组的第一部分为冗余数据的字节。
4. 根据权利要求2项所述的方法,其中,冗余数据组的第二部分为由该微控制器的该 频宽所界定的该最大数目位的一部分。
5. 根据权利要求4项所述的方法,其中,该最大数目位的该部分是小于由该微控制器 的该频宽所界定的该最大数目位。
6. 根据权利要求3项所述的方法,其中,冗余数据组的第二部分为冗余数据的字节的 一部分。
7. 根据权利要求6项所述的方法,其中,冗余数据的字节的该部分是小于冗余数据的 字节。
8. 根据权利要求2项所述的方法,其中,冗余数据的第=部分为由该微控制器的频宽 所界定的该最大数目位的一部分。
9. 根据权利要求8项所述的方法,其中,冗余数据的该第=部分为由该微控制器的该 频宽所界定的最大数目位。
10. 根据权利要求8项所述的方法,其中,冗余数据的第=部分为冗余数据的字节的一 部分。
11. 根据权利要求8项所述的方法,其中,冗余数据的第=部分为冗余数据的字节。
12. 根据权利要求1项所述的方法,其中,冗余数据的该第=部分包括冗余数据的多个 第二部分。
13. -种系统,其包括处理器W及内存,其中,所述内存包括指令,当由所述处理器执行 时实施一种方法,包括 载入冗余数据组的第一部分进入该处理器的寄存器,对于多个冗余扇区的每一个冗余 扇区; 载入该冗余数据组的第二部分进入该寄存器,对于该多个冗余扇区的每一个冗余扇 区,其中,载入该冗余数据组的该第二部分包括载入冗余数据的第=部分,该冗余数据包括 冗余数据的多个第二部分,对于该多个冗余扇区。
14. 根据权利要求13项所述的系统,其中,冗余数据组的第一部分为由该处理器的频 宽所界定的最大数目位。
15. 根据权利要求13项所述的系统,其中,冗余数据组的第一部分为冗余数据的字节。
16. 根据权利要求14项所述的系统,其中,冗余数据组的第二部分为由该处理器的该 频宽所界定的该最大数目位的一部分。
17. 根据权利要求16项所述的系统,其中,该最大数目位的该部分是小于由该处理器 的该频宽所界定的该最大数目位。
18.根据权利要求15项所述的系统,其中,冗余数据组的第二部分为冗余数据的字节 的一部分。
19.根据权利要求18项所述的系统,其中,冗余数据的字节的该部分是小于冗余数据 的字节。
20. 根据权利要求14项所述的系统,其中,冗余数据的第=部分为由该处理器的频宽 所界定的该最大数目位的一部分。
21. 根据权利要求20项所述的系统,其中,冗余数据的该第=部分为由该处理器的该 频宽所界定的最大数目位。
22. 根据权利要求20项所述的系统,其中,冗余数据的第=部分为冗余数据的字节的 一部分。
23.根据权利要求20项所述的系统,其中,冗余数据的第=部分为冗余数据的字节。
24.根据权利要求13项所述的系统,其中,冗余数据的该第=部分包括冗余数据的多 个第二部分。
25. -种系统,其包括: 包括有寄存器的处理器; 易失性内存; 非易失性内存;W及 查找表,其中,当电源通入该非易失性内存,在该查找表中的冗余数据被载入该寄存 器,其中,载入该冗余资料包括: 载入冗余数据组的第一部分进入该易失性内存,对于在该非易失性内存中的多个冗余 扇区的每一个冗余扇区; 载入该冗余数据组的第二部分进入该易失性内存,对于在该非易失性内存中的该多个 冗余扇区的每一个冗余扇区,其中,载入该冗余数据组的该第二部分包括载入冗余数据的 第=部分,该冗余数据包括冗余数据的多个第二部分,对于在该非易失性内存中的该多个 冗余扇区。
26.根据权利要求25项所述的系统,其中,冗余数据组的第一部分为冗余数据的字节。
27.根据权利要求25项所述的系统,其中,冗余数据组的第二部分为冗余数据的字节 的一部分。
28.根据权利要求27项所述的系统,其中,冗余数据的字节的该部分是小于冗余数据 的字节。
29.根据权利要求25项所述的系统,其中,冗余数据的第=部分为冗余数据的字节的 一部分。
30.根据权利要求29项所述的系统,其中,冗余数据的第=部分为冗余数据的字节。
31.根据权利要求25项所述的系统,其中,冗余数据的该第=部分包括冗余数据的多 个第二部分。
【文档编号】G06F12/16GK104471550SQ201380020561
【公开日】2015年3月25日 申请日期:2013年2月8日 优先权日:2012年2月17日
【发明者】王伟健, 马日凤, 刘世伟, 洪恩保 申请人:斯班逊有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1