CN101208755A - 用于存取非现场执行的快闪存储器中的持久文件的装置、系统和方法 - Google Patents

用于存取非现场执行的快闪存储器中的持久文件的装置、系统和方法 Download PDF

Info

Publication number
CN101208755A
CN101208755A CNA2006800230558A CN200680023055A CN101208755A CN 101208755 A CN101208755 A CN 101208755A CN A2006800230558 A CNA2006800230558 A CN A2006800230558A CN 200680023055 A CN200680023055 A CN 200680023055A CN 101208755 A CN101208755 A CN 101208755A
Authority
CN
China
Prior art keywords
file
bad
lasting
flash memory
bad piece
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800230558A
Other languages
English (en)
Other versions
CN101208755B (zh
Inventor
达米姆·帕克阿尔特
张健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Wireless Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Wireless Corp filed Critical Kyocera Wireless Corp
Publication of CN101208755A publication Critical patent/CN101208755A/zh
Application granted granted Critical
Publication of CN101208755B publication Critical patent/CN101208755B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

在电子装置的操作期间,对存储在非XIP快闪存储器中的持久文件进行存取。在执行该装置上的应用代码时,使用例如查找表的存取目录对持久文件进行存取。存取目录提供允许在装置的处理器上运行的应用程序或其它软件代码对非XIP快闪存储器装置内的持久文件进行定位和存取的信息,其中所述非XIP快闪存储器装置可包括坏块。在创建存取目录时,识别并记录装置内的坏块位置。通过从存取目录中标识的文件起始位置读取文件并说明存取目录的坏块数据中识别的坏块,从非XIP快闪存储器装置中存取文件。

Description

用于存取非现场执行的快闪存储器中的持久文件的装置、系统和方法
技术领域
本发明一般涉及存储器装置,尤其涉及用于存取非现场执行的快闪存储器中的持久文件的装置、系统和方法。
背景技术
固件和持久文件有利于例如移动电话和个人数字助理的便携式电子装置的操作。持久文件通常包括非易失性数据,用来定义便携式电子装置的通用系统操作需要的默认内容和数据。持久文件的实例包括字形文件、语言支持文件以及例如声音、图像和视频的默认多媒体内容。在传统装置中,固件和持久文件存储在例如NAND快闪存储器装置的非现场执行(非XIP)的非易失性存储器中,并复制到例如随机存取存储器(RAM)或同步动态随机存取存储器(SDRAM)的现场执行(XIP)存储器装置中。随着便携式电子装置的功能性和复杂性的增加,用于持久文件和固件所需的存储器也随之增加。除了增加的功能性之外,工业竞争和消费者需求也需要用于便携式装置的制造费用不断减少。在传统装置中,当持久文件在非XIP快闪存储器中时,不能直接对其进行存取。因此,传统装置具有这样的局限性,即,便携式电子装置内的XIP存储器装置必须具有足够的容量,用于可执行代码和从非XIP快闪存储器中复制的持久文件。
因此,需要一种用于存取非XIP快闪存储器中存储的持久文件的装置、系统和方法。
发明内容
根据本发明的示例性实施方式,在电子装置的操作期间,对存储在非XIP快闪存储器中的持久文件进行存取。在执行该装置上的应用代码时,使用例如查找表的存取目录对持久文件进行存取。存取目录提供允许在装置的处理器上运行的应用程序或其它软件代码对非XIP快闪存储器装置内的持久文件进行定位和存取的信息,其中所述非XIP快闪存储器装置可包括坏块。在创建存取目录时,识别并记录装置内的坏块位置。通过从存取目录中标识的文件起始位置读取文件,并说明存取目录的坏块数据中识别的坏块,从非XIP快闪存储器装置中存取文件。因此,持久文件仍可保留存储在例如NAND装置的非XIP快闪存储器装置中,而不被复制到例如SDRAM装置的XIP存储器装置中。XIP存储器装置所需的大小达到最小,从而减少了电子装置的制造费用。
附图说明
图1是根据本发明示例性实施方式的便携式电子装置的方块图;
图2是示出存取目录和持久文件区之间的示例性关系的方块图,在持久文件区中,文件位置数据包括位置表,坏块数据包括坏块表;
图3是根据本发明示例性实施方式、执行存取目录初始化过程的方法的流程图;
图4是执行图3中步骤306到314的示例性方法的流程图;
图5是根据本发明示例性实施方式、存取持久文件的方法的流程图;以及
图6是从非XIP快闪存储器装置读取持久文件的方法的流程图。
具体实施方式
图1是根据本发明示例性实施方式的便携式电子装置100的方块图。图1中示出的各种功能可由硬件、软件和固件的任意组合实现。
示出为由单一块实现的任何功能都可由多个装置或系统实现,多个块的功能也可由单一装置实现。
便携式电子装置100是至少包括非XIP快闪存储器装置102、现场执行(XIP)存储器装置104和有利于便携式电子装置100的操作的持久文件的任何装置。在示例性的实施方式中,便携式电子装置100是移动电话,其中非XIP快闪存储器装置102是NAND快闪存储器装置,且现场执行(XIP)存储器装置105是SDRAM装置。在装置100投入服务之前,将持久文件和电话图像文件复制到非XIP快闪存储器装置102。在示例性的实施方式中,当将持久文件和电话图像文件加载到非XIP快闪存储器装置102中时,电话图像文件为压缩格式,而持久文件仍然为非压缩的。在制造便携式装置100的过程中,将电话图像代码和持久文件加载到非XIP快闪存储器装置102的适当的区108、110中,或者在制造完成之后对图像代码和持久文件进行更新。在加载过程中,识别并避开坏块。因此,持久文件区110的位置可依赖于非XIP快闪存储器装置102内的坏块位置。在该示例性的实施方式中,将持久文件标记加载于持久文件区110的起始处,以提供关于持久文件区110的位置的信息。在示例性的实施方式中,在电话图像代码之后插入填充字段,用于在电话图像区108中预留空间并允许用于将来的代码扩展,并且用于为持久文件区110保持一致的起始位置。因此,持久文件标记设置于持久文件区预期的起始位置,其具体位置依赖于坏块的存在及其数量。
在便携式装置100的加电过程中,将电话图像文件解压缩并复制到XIP存储器装置106上,以形成固件代码112和电话图像数据114。处理器116执行XIP存储器装置106中的固件代码,以实现有利于便携式装置的整体功能性的功能。XIP存储器装置106是有利于执行代码的任何存储装置,例如RAM装置或闪存装置。适合的RAM装置的实例为SDRAM装置。在某些情况下,例如NOR闪存装置的闪存装置可用于XIP存储器装置106。除了其它功能之外,当安装或更新电话图像和持久文件之后,固件代码112在第一次加电过程中执行持久文件初始化过程。持久文件初始化过程建立存取目录118,用于存取非快闪存储器102内的持久文件。在示例性的实施方式中,存取目录118存储于NAND快闪存储器102的嵌入式文件系统(EFS)区120中,并在后来的加电过程中加载到XIP存储器装置106中作为RAM存取目录126。如果电话图像和持久文件被新的代码版本改变,则在下一次装置加电时执行持久文件初始化过程,以建立存取目录118的修正。
存取目录118包括文件位置数据122和坏块位置数据124,其中文件位置数据122指示持久文件在非XIP快闪存储器装置102的持久文件区110中的位置,坏块数据指示持久文件区110内的坏块位置。如下文将进一步详细介绍,持久文件初始化过程确定持久文件区110中每个文件的起始位置和每个坏块的位置,以形成存取目录118。通常,识别持久文件区的位置,确定每个持久文件的大小,扫描用于每个持久文件的持久文件区118并检查坏块的坏块边界。
将存取目录复制到XIP存储器装置106中,以促进在处理器116上运行的固件112对存取目录118的存取。调用存取程序以通过存取目录118对持久文件进行存取。在下文中将参照图5和图6对存取程序进一步详细介绍。通常,根据存取目录确定持久文件的起始页和偏移,当坏块被跳过时,根据该偏移读取文件。由坏块位置数据124的坏块表中的页号识别坏块。通过指向读取文件时遇到的第一坏块,坏块索引提供额外的效率。
在某些情况下,持久文件区110可存储在EFS 120中,然而,在示例性实施方式中,持久文件存储在EFS 120之外,使EFS 120管理的文件数达到最小。由于持久文件不在EFS 120中重复移动或重写,因此非XIP快闪存储器装置102的使用周期达到最大。
图2是示出存取目录118和持久文件区110之间的示例性关系的方块图,其中文件位置数据122包括位置表,坏块数据124包括坏块表。如上所述,NAND存储器装置通常包含无效的块或“坏块”。坏块是包括可靠性得不到保证的一个或多个无效位的块。坏块可在装置装运时出现,或可在装置寿命期内出现。通过定位持久文件区、扫描用于每个持久文件的非XIP快闪存储器装置102、以及记录每个持久文件的位置和扫描期间遇到的全部坏块,在存取目录初始化过程中创建位置表和坏块表。坏块表124包括持久文件区110内每个坏块的起始页的页号。NAND装置上装有指示装置坏块的坏块信息。通常,将每个块中第一页的备用字节段和第二页的备用字节段内的位置保留用于指示该块是否损坏的坏块信息。在存取目录初始化过程中,通过备用字节段中的坏块信息识别坏块,且坏块信息用于创建坏块表124。存取目录初始化过程将在下文中参照图3和图4进一步详细介绍。
在示例性的实施方式中,位置表122是包括每个持久文件的起始位置和坏块索引218的查找表。起始位置包括起始页214和页偏移216,其中起始页指示页号,页偏移216指示在文件开始的页内的字节偏移。坏块索引218指示坏块表124中的位置,坏块表124包括连续存取文件时遇到的第一坏块的页号220、222、224和226。因此,如果一个文件的坏块索引218与下一个文件的坏块索引218相同,则该文件不包括任何坏块。
在参照图2讨论的示例性情况下,持久文件区包括多个坏块202、204、206和208以及多个持久文件210、212。位置表122包括起始页214、页偏移216以及每个持久文件210、212的坏块索引218。坏块索引218指向坏块表124中的位置220、222、224和226,该位置包括连续存取文件时首先遇到的坏块的页号。例如,当读取“文件2”212时,第一坏块索引218指向坏块表中的第一位置220,其中列出的页号对应于持久文件区中的第一坏块202。坏块表222中的下一个位置包括下一个坏块204的第一页的页号。因此,多个坏块索引218可指向同一坏块位置220。如上所述,在当前文件具有与先前文件相同的坏块索引时,当前文件210不包括任何的坏块202、204、206和208。
图3是根据本发明示例性实施方式的、执行存取目录初始化过程的方法。当电话图像和持久文件被最初加载或更新之后,在便携式装置100第一次加电时序中,通过由处理器116执行固件代码,实现存取目录初始化过程。该示例性的方法在便携式移动电话中实现,但是该方法还可在持久文件存储在非XIP快闪存储器装置102中的任何情况中实现。
在步骤302,对电话图像区解压缩并将其加载到XIP装置106中。如上所述,在示例性的实施方式中,当将电话图像区108加载到非XIP快闪存储器装置102中时对其进行压缩。因此,对电话图像区108解压缩并将其加载到XIP装置106,从而使其可由处理器116作为固件代码112执行。示例性的实施方式中,除了其它固件和数据之外,固件代码112还包括存取目录初始化代码和持久文件存取代码。以下讨论的步骤304到步骤314提供用于实现存取目录初始化过程的示例性方法。
在步骤304,持久文件区220设置于非XIP快闪存储器装置102中。如上所述,在示例性实施方式中,由填充字段和持久文件标记228将持久文件区220与电话图像区108分开。由于持久文件区110紧接在持久文件标记228之后,因此通过识别持久文件标记228定位持久文件区110。因此,从填充字段的末尾和持久文件区110预期的起始位置开始在非XIP快闪存储器装置102中搜索持久文件标记228。因此,在存在坏块时,持久文件标记228提供了对持久文件区110的具体识别。
在步骤306,对持久文件区110进行扫描,同时检查坏块。读取块的第一页中的坏块指示符位置,以确定该块是否为坏块(无效的)。
通过基于存储在电话图像数据114中的信息计算文件大小,并通过从起始位置开始读取文件,对每个文件进行扫描,直到扫描完全部的文件数据。估计读取文件时遇到的坏块边界,以确定该块是否为坏块。
在步骤308,当发现坏块时,用坏块位置对坏块表进行更新。跨越多个块的文件部分可由一个或多个坏块分开。当识别到坏块时,通过列出坏块页对存取目录118中的坏块表124进行更新。
在步骤310,确定当前扫描文件的文件终点。当对特定文件读取的字节数等于文件长度时,则确定已到达文件终点。
在步骤312,将存取目录118中的文件位置数据更新,以反应下一个文件的起始位置。在示例性实施方式中,数据为排列的四字节,且下一个文件的文件起始位置是下一个可用的完整四字节段。将下一个文件的起始页和偏移输入位置表122中。
在步骤314,在存取目录118的位置表122中对用于下一个文件的坏块索引218进行更新。如上所述,坏块索引218指向读取当前文件时遇到的第一坏块的坏块表124中的页号位置(220、222、224和226)。如果在扫描文件时没有发现坏块,则当前文件的坏块索引与上一个坏块索引相同。
图4是执行图3的步骤306到314的示例性方法的流程图。可以任何顺序或同时地执行图3中的步骤306-314实现参照图4介绍的功能和过程。参照图4介绍的任何步骤的过程可实现图3中多个步骤中的一部分,并且图3中任何单一的步骤可通过图4中的多个步骤实现。因此,图4中的步骤不需要直接对应于图3中的步骤。
在步骤402,将计数器(N)设为等于“1”。
在步骤404,确定N是否小于或等于存储在非XIP快闪存储器装置102中的持久文件的数量。当N小于该文件数量时,该过程接下来执行步骤406。否则,通过退出结束该过程。因此,当文件数量小于N时,该过程退出,指示没有更多待扫描的文件。
在步骤406,获取文件N的大小。基于电话图像中包括的元数据,确定当前文件的大小。因此,电话图像包括持久文件的大小。
在步骤408,设置当前文件的起始页。基于文件大小,确定用于当前文件的起始页和起始偏移。从起始位置开始扫描。
在步骤410,确定文件大小是否大于0。如果文件大小不大于0,该过程接下来执行步骤412,在返回步骤404之前将N加上1。否则该过程接下来执行步骤414。如下文所述,在对页进行扫描之后,将文件大小减去页的大小。因此,在步骤410确定当前文件是否存在额外的待扫描的页。
在步骤414,确定是否到达新的块。在示例性的实施方式中,基于块内页号除以32是否有余数(即,页号%32=0),确定是否到达块的边界。由于块中存在32个页,因此仅在块的边界处结果才为0。如果没有遇到新的块,该过程则接下来执行步骤420。如果到达块的边界,该过程则接下来执行步骤416。
在步骤416,确定该块是否无效(即,该块为坏块)。读取对应于该块第一页和第二页的备用字节内的坏块信息。如果该块是有效块,该过程则接下来执行步骤420。如果坏块信息指示该块无效(即,该块为坏块),该过程则接下来执行步骤418。
在步骤418,跳过块内的剩余页,并且用坏块的页号更新坏块表。然后该过程返回步骤414。
在步骤420,确定文件大小是否大于页的大小。如果文件大小大于页的大小,则该文件仍具有不止一个页。如果在步骤422将文件大小减去页的大小,则该过程接下来执行步骤426。
在步骤426,确定文件大小是否等于页的大小。如果文件大小等于页的大小,则该过程接下来执行步骤428。否则,该过程接下来执行步骤424,
在步骤424,将位置表122更新,并将文件大小设为等于0。由当前文件的终点位置和需要的任何排列布置确定下一个文件的起始位置214、216。因此,将表122中的页214和偏移216的值更新,以反应下一个文件的起始位置。此外,对坏块索引218进行更新,以指向坏块表中的下一个位置。当没有遇到坏块时,下一个坏块索引218与当前坏块索引218是相同的。该过程则返回到步骤410。
在步骤428,将当前页号加一。因此,如果在步骤426确定文件大小等于页的大小,则增加页号并且接下来执行步骤430。
在步骤430,确定是否遇到新的块。如果达到了块边界,则该过程接下来执行步骤432。否则,该过程接下来执行步骤424。
在步骤432,确定该块是否无效。如果该块有效且不是坏块,则该过程接下来执行步骤424。否则,该过程接下来执行步骤434,更新坏块表124,并跳过坏块中的剩余页。
图5是根据本发明示例性实施方式存取持久文件的方法的流程图。尽管该方法可在持久文件存储在非XIP快闪存储器装置102中的任何情况中实现,但是此示例性的方法在便携式移动电话中实现。可同时执行两个或更多步骤,并且在某些情况下可改变步骤的顺序。
在步骤502,识别待从非XIP快闪存储器装置102中读取的文件的文件位置。在示例性实施方式中,根据存取目录118确定文件位置。从存取目录118的位置表122中获取该文件的起始页214和偏移216。
在步骤504,计算用于该文件的待读取的页数和字节数。基于请求读取的文件的长度,计算页数和字节数。
在步骤506,获取坏块数据。获取存储在存取目录118中的坏块数据。在示例性的实施方式中,从位置表122和坏块表124中读取坏块数据。从存取目录118的位置表218中读取当前坏块索引和下一个坏块索引。当当前坏块索引218与下一个坏块索引218不同时,从坏块表中读取对应于当前文件的一个或多个坏块页。
在步骤508,通过跳过坏块从非XIP快闪存储器装置102中读取文件。从非XIP快闪存储器装置102中读取计算出的页数和字节数,同时说明所有的坏块。下面参照图6讨论用于读取文件的示例性方法。
图6时从非XIP快闪存储器装置102中读取持久文件的方法的流程图。因此,参照图6介绍的方法是实现图5的步骤508的示例性方法。可以任何顺序或同时地执行图5的步骤508,来实现参照图6介绍的功能和过程。
在步骤602,从非XIP快闪存储器装置102中读取文件的第一页,并将待读取的页数减一。根据文件的偏移和长度,可读取整页或读取页的一部分。
在步骤604,确定待读取的页数是否等于零。如果没有待读取的页且页数等于零,该方法则接下来执行步骤608,将用于文件的数据复制到缓冲器并结束过程。如果还有待读取的页(即,待读取的页数不等于零),该方法则接下来执行步骤606,将用于文件的数据复制到缓冲器。
在步骤610,从当前块中读取除了最后一页之外剩余的待读取页。
在步骤612,确定待读取的页数是否等于一。如果用于文件的剩余数据需要读取一页或页的一部分,该方法则接下来执行步骤614,读取当前块的最后一页然后退出。否则,该方法接下来执行步骤616。因此,如果用于文件的数据需要读取不止一页,则该方法接下来执行步骤616。
因此,当不会穿过块边界时,不需要实现从步骤616开始的剩余过程。当文件的剩余部分位于当前块中时,可读取文件而无需检查坏块。
在步骤616,确定当前坏块索引218与下一个坏块索引218是否相同。如果相同,该过程则接下来执行步骤618。当两个索引相同时,当前块中没有坏块,并在步骤618和614读取文件的剩余数据。如果两个索引不相同,该方法则接下来执行步骤620。
在步骤620,确定文件的剩余数据是否需要读取一页。因此,确定是否必须对多于一页进行存取,以读取属于正读取的文件的剩余数据。如果仅有一页或页的一部分待读取,则该过程接下来执行步骤622。否则,该程序接下来执行步骤624。
在步骤622,如果到达坏块,则跳过坏块。在步骤622,待读取的数据为一页或者更少。然而,待读取的最后一页仍然可能位于一个或多个坏块之后。因此,如果待读取的最后一页位于块边界(即,块的第一页),将用于该页的坏块信息与坏块表124中的坏块页220、222、224和226进行比较。如果该块为坏块,则检查下一个块,直到发现有效的块。读取最后一页或页的一部分,并将其复制到缓冲器。
在步骤624,确定页是否为当前的坏块页。将该页与坏块表中的坏块页号比较。如果该块是坏块,则在步骤626跳过该块中的剩余页,以确定剩余的待读取的页数。如果该块有效,则该过程接下来执行步骤628。
在步骤628,读取当前块中除了最后一页之外的其余页。该过程然后返回步骤620。因此,步骤620、624、626和628形成循环,读取页而跳过坏块。当只剩单一的页待读取时,退出该循环。
因此,根据示例性的实施方式,将压缩的电话图像或非压缩的持久文件加载或更新到便携式移动电话或其它电子便携式装置100的NAND快闪存储器装置102中。在存取目录初始化过程中,在上电时序中,扫描持久文件并检查坏块的块边界。创建具有位置表122和坏块表124的存取目录,其中位置表122包括用于每个文件的起始页和偏移以及坏块索引。坏块表124包括持久文件区110内的坏块的页号220、222、224和226。在便携式电子装置100操作期间,通过说明持久文件区110内的坏块的存取程序在非XIP快闪存储器装置102上对存取文件进行存取。跳过存取目录118中指出的坏块,同时从持久文件区中读取文件。由于可直接从NAND快闪存储器装置102存取文件,因此减少了XIP存储器装置的大小和成本。
根据对本发明示例性实施方式的以上说明,显然可使用各种技术实现本发明的概念而不偏移其范围。此外,尽管参照某些具体实施方式对本发明进行了具体介绍,但是本领域普通技术人员可认识到,可在形式和细区上做出改变而不偏移本发明的精神和范围。介绍的示例性实施方式在各方面都应该认为是示例性而非限制性的。还应该理解,本发明不限于本文介绍的特定实施方式,而是能具有不偏移本发明范围的多种重新配置、修改和替代。
权利要求书(按照条约第19条的修改)
1. 非易失性的非XIP快闪存储器装置,包括
持久文件区,用于存储多个非压缩的持久文件;
图像文件区,用于存储压缩的图像文件,其中将所述压缩的图像文件解压缩并复制到易失性现场执行(XIP)存储器中,其中所解压缩的图像文件区包括固件;以及
存取目录,包括:
文件位置数据,指示所述持久文件在所述持久文件区内位置;以及
坏块数据,指示所述持久文件区内的坏块位置;
其中,将所述存取目录复制到所述易失性XIP存储器,以允许处理器在执行所述XIP存储器的所述固件时对所述持久文件区进行存取。
2. 如权利要求1所述的非易失性的非XIP快闪存储器装置,其中所述持久文件区具有多个包括坏块的块。
3. 如权利要求2所述的非易失性的非XIP快闪存储器装置,其中所述文件位置数据包括用于所述多个非压缩的持久文件的每个持久文件的页号和偏移值。
4. 如权利要求3所述的非易失性的非XIP快闪存储器装置,其中所述坏块数据包括坏块表,所述坏块表包括对应于坏块的第一页的至少一个坏块页号。
5. 如权利要求1所述的非易失性的非XIP快闪存储器装置,其中所述存取目录为包括多个文件位置的查找表,每个文件位置对应于所述多个非压缩的持久文件的持久文件,并包括对应于所述持久文件的起始点的页号和偏移值。
6. 如权利要求4所述的非易失性的非XIP快闪存储器装置,其中所述坏块数据进一步包括坏块索引,所述坏块索引包括多个坏块索引值,所述坏块索引值对应于所述多个非压缩的持久文件,并指示所述坏块表中的位置,所述坏块表包括从所述非易失性的非XIP快闪存储器读取所述持久文件时每个持久文件遇到的第一坏块的第一坏块页号。
7. 如权利要求1所述的非易失性的非XIP快闪存储器装置,其中在使用所述非易失性的非XIP快闪存储器装置的电子装置的初始化过程中形成所述存取目录,并且将所述存取目录存储在所述非易失性的非XIP快闪存储器装置的嵌入式文件系统部分。
8. 如权利要求1所述的非易失性的非XIP快闪存储器装置,其中所述存取目录包括存取过程,以提供对所述持久文件区的存取。
9. 一种对存储在非易失性的非现场执行(非XIP)快闪存储器装置的持久文件进行存取的方法,所述方法包括:
将存储在所述非易失性的非XIP快闪存储器装置中的图像文件区复制到易失性现场执行(XIP)存储器中;
将存储在所述非易失性的非XIP快闪存储器装置中的存取目录复制到所述易失性现场执行(XIP)存储器中;
基于所述易失性XIP存储器中所复制的存取目录中的文件位置数据,确定所述持久文件在所述非易失性的非XIP快闪存储器装置的持久文件区内的文件位置;
从所述非易失性的非XIP快闪存储器装置中的所述文件位置读取所述持久文件,而跳过由所述复制的存取目录中的坏块数据指示的坏块。
10. 如权利要求9所述的方法,其中所述读取步骤包括:
将所述非易失性的非XIP快闪存储器装置中的当前页与所述复制的存取目录的坏块表中的坏块页号进行比较;以及
读取所述持久文件,而跳过由所述坏块页号指示的所述坏块。
11. 如权利要求10所述的方法,其中所述读取步骤包括:
确定对应于所述持久文件中的持久文件的当前坏块索引与对应于下一个持久文件的下一个坏块索引是否相同,每个坏块索引指示所述坏块表中的位置,所述坏块表包括从所述非易失性的非XIP快闪存储器装置中读取持久文件时,所述持久文件中的每个持久文件遇到的第一坏块的第一坏块页号;以及
如果所述当前坏块索引与所述下一个坏块索引相同,则读取所述持久文件,所述复制的存取目录包括所述当前坏块索引和所述下一个坏块索引。
12. 如权利要求11所述的方法,其中所述读取步骤包括:
如果当前页号与对应于所述持久文件的当前坏块页号相同,则跳过当前块的剩余页。
13. 如权利要求12所述的方法,其中所述读取步骤进一步包括:
如果所述当前页与所述当前坏块页号不同,则读取除了所述当前块的最后一页之外的所述当前块的剩余页。
14. 如权利要求13所述的方法,其中所述读取步骤进一步包括:
读取所述持久文件的所述最后一页中的数据,而跳过由所述坏块表指示的坏块。
15. 一种用于对便携式装置进行初始化的方法,所述便携式装置包括非现场执行(非XIP)快闪存储器装置和现场执行(XIP)存储器装置,所述方法包括:
在所述非XIP快闪存储器装置中定位持久文件区,所述非XIP快闪存储器包括所述持久文件区、压缩的图像文件区以及存取目录,所述持久文件区存储多个非压缩的持久文件;
扫描所述多个非压缩的持久文件中的每个持久文件的页,并检查坏块;以及
将坏块信息存储到所述存取目录中,指示所述持久文件区中的坏块位置。
16. 如权利要求15所述的方法,其中所述扫描步骤包括:
确定所述每个持久文件的起始位置;
获取所述每个持久文件的大小;以及
当在扫描所述每个持久文件的过程中遇到新的块时,确定块是否有效。
17. 如权利要求16所述的方法,其中所述存储步骤包括:
存储指示所述每个持久文件的所述起始位置的页和偏移;以及
将坏块页号存储在所述存取目录的坏块表中,所述坏块页号指示所述非XIP快闪存储器装置中的坏块位置。
18. 如权利要求17所述的方法,进一步包括:
存储对应于所述每个持久文件的坏块索引,每个坏块索引指示所述坏块表中的位置,所述坏块表包括从所述非XIP快闪存储器装置中读取所述每个持久文件时,所述每个持久文件遇到的第一坏块的第一坏块页号。
19. 一种移动电话,包括:
非易失性的非现场执行(非XIP)快闪存储器装置,包括:
压缩的电话图像区;
持久文件区;以及
存取目录;以及
现场执行(XIP)存储器装置,包括:
固件代码,其从所述非XIP快闪存储器装置的所述压缩的电话图像区中解复制并压缩;
复制的存取目录,其从所述非XIP快闪存储器装置的存取目录复制;
处理器,配置以执行所述XIP存储器装置中的所述固件代码,所述固件代码配置以执行文件存取过程,以通过跳过由所述复制的存取目录指示的坏块,实现对存储在所述非XIP快闪存储器装置中的所述持久文件区中的持久文件的存取过程。
20. 如权利要求19所述的移动电话,其中所述固件代码被配置以执行以下步骤:
基于所述复制的存取目录中的文件位置数据,确定所述持久文件区内的持久文件的文件位置;
将所述非XIP快闪存储器装置中的当前页与所述复制的存取目录的坏块表中的坏块页号进行比较;以及
读取所述持久文件,而跳过由所述坏块页号指示的所述坏块。

Claims (20)

1.非易失性的非XIP快闪存储器装置,包括:
持久文件区,用于存储持久文件;以及
存取目录,包括:
文件位置数据,指示所述持久文件区内的持久文件的位置;以及
坏块数据,指示所述持久文件区内的坏块位置。
2.如权利要求1所述的非易失性的非XIP快闪存储器装置,其中所述持久文件区具有多个包括所述坏块的块。
3.如权利要求2所述的非易失性的非XIP快闪存储器装置,其中所述文件位置数据包括用于每个持久文件的页号和偏移值。
4.如权利要求3所述的非易失性的非XIP快闪存储器装置,其中所述坏块数据包括坏块表,所述坏块表包括对应于坏块的第一页的至少一个坏块页号。
5.如权利要求1所述的非易失性的非XIP快闪存储器装置,其中所述存取目录为包括多个文件位置的查找表,每个文件位置对应于持久文件并包括对应于所述持久文件的起始点的页号和偏移值。
6.如权利要求4所述的非易失性的非XIP快闪存储器装置,其中所述坏块数据进一步包括坏块索引,所述坏块索引包括多个坏块索引值,所述坏块索引值对应于所述多个非压缩的持久文件,并指示所述坏块表中的位置,所述坏块表包括从所述非易失性的非XIP快闪存储器读取所述持久文件时每个持久文件遇到的第一坏块的第一坏块页号。
7.如权利要求1所述的非易失性的非XIP快闪存储器装置,其中在使用所述非易失性的非XIP快闪存储器装置的电子装置的初始化过程中形成所述存取目录,并且将所述存取目录存储在所述非易失性的非XIP快闪存储器装置的嵌入式文件系统部分。
8.如权利要求1所述的非易失性的非XIP快闪存储器装置,其中所述存取目录被配置以在所述电子装置的操作期间提供对所述持久文件的存取。
9.一种对存储在非易失性的非XIP快闪存储器装置的持久文件区中的持久文件进行存取的方法,所述方法包括:
基于存取目录中的文件位置数据,确定所述持久文件区内的持久文件的文件位置;
从所述非易失性的非XIP快闪存储器装置中的所述文件位置读取所述持久文件,而跳过由所述存取目录中的坏块数据指示的坏块。
10.如权利要求9所述的方法,其中所述读取步骤包括:
将所述非XIP快闪存储器装置中的当前页与所述存取目录的坏块表中的坏块页号进行比较;以及
读取所述持久文件,而跳过由所述坏块页号指示的所述坏块。
11.如权利要求10所述的方法,其中所述读取步骤包括:
确定对应于所述持久文件的当前坏块索引与对应于下一个持久文件的下一个坏块索引是否相同,每个坏块索引指示所述坏块表中的位置,所述坏块表包括从所述非易失性的非XIP快闪存储器装置中读取持久文件时,每个所述持久文件的第一坏块的第一坏块页号;以及
如果所述当前坏块索引与所述下一个坏块索引相同,则读取所述持久文件,所述存取目录包括所述当前坏块索引和所述下一个坏块索引。
12.如权利要求11所述的方法,其中所述读取步骤包括:
如果当前页号与对应于所述持久文件的当前坏块页号相同,则跳过当前块的剩余页。
13.如权利要求12所述的方法,其中所述读取步骤进一步包括:
如果所述当前页与所述当前坏块页号不同,则读取除了所述当前块的最后一页之外的所述当前块的剩余页。
14.如权利要求13所述的方法,其中所述读取步骤进一步包括:
读取所述持久文件的所述最后一页中的数据,而跳过由所述坏块表指示的坏块。
15.一种用于对便携式装置进行初始化的方法,所述便携式装置包括非XIP快闪存储器装置和现场执行(XIP)存储器装置,所述方法包括:
在非XIP快闪存储器装置中定位持久文件区,所述持久文件区存储多个持久文件;
扫描每个持久文件的页,并检查坏块;以及
将坏块信息存储到存取目录中,指示所述持久文件区中的坏块位置。
16.如权利要求15所述的方法,其中所述扫描步骤包括:
确定所述持久文件的起始位置;
获取所述持久文件的大小;以及
当在扫描所述持久文件的过程中遇到新的块时,确定块是否有效。
17.如权利要求16所述的方法,其中所述存储步骤包括:
存储指示每个持久文件的所述起始位置的页和偏移;以及
将坏块页号存储在所述存取目录的坏块表中,所述坏块页号指示所述非XIP快闪存储器装置中的坏块位置。
18.如权利要求17所述的方法,进一步包括:
存储对应于每个持久文件的坏块索引,每个坏块索引指示所述坏块表中的位置,所述坏块表包括从所述非XIP快闪存储器装置中读取所述持久文件时,每个持久文件遇到的第一坏块的第一坏块页号。
19.一种移动电话,包括:
非易失性的非XIP快闪存储器装置,包括电话图像区、持久文件区和存取目录;以及
现场执行(XIP)存储器装置,配置以执行从所述电话图像区加载的固件代码,所述固件代码配置以执行文件存取过程,以通过跳过由所述存取目录指示的坏块对存储在所述非XIP快闪存储器装置中的所示持久文件进行存取。
20.如权利要求19所述的移动电话,其中所述固件代码被配置以执行以下步骤:
基于存取目录中的文件位置数据,确定所述持久文件区内的持久文件的文件位置;
将所述非XIP快闪存储器装置的当前页与所述存取目录的坏块表中的坏块页号进行比较;以及
读取所述持久文件,而跳过由所述坏块页号指示的所述坏块。
CN2006800230558A 2005-07-15 2006-07-13 存取非xip快闪存储器中持久文件的装置、系统和方法 Expired - Fee Related CN101208755B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/182,173 US7454673B2 (en) 2005-07-15 2005-07-15 Apparatus, system, and method for accessing persistent files in non-execute-in-place flash memory
US11/182,173 2005-07-15
PCT/US2006/027271 WO2007011677A1 (en) 2005-07-15 2006-07-13 Apparatus, system and method for accessing persistent files in non-execute-in-place flash memory

Publications (2)

Publication Number Publication Date
CN101208755A true CN101208755A (zh) 2008-06-25
CN101208755B CN101208755B (zh) 2012-09-19

Family

ID=37397360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800230558A Expired - Fee Related CN101208755B (zh) 2005-07-15 2006-07-13 存取非xip快闪存储器中持久文件的装置、系统和方法

Country Status (7)

Country Link
US (1) US7454673B2 (zh)
EP (1) EP1905044B1 (zh)
JP (1) JP4777426B2 (zh)
KR (1) KR100975748B1 (zh)
CN (1) CN101208755B (zh)
AT (1) ATE525728T1 (zh)
WO (1) WO2007011677A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111179997A (zh) * 2019-12-26 2020-05-19 武汉精鸿电子技术有限公司 一种半导体存储器测试数据的存储方法及装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7634494B2 (en) * 2005-05-03 2009-12-15 Intel Corporation Flash memory directory virtualization
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7555678B2 (en) * 2006-03-23 2009-06-30 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US8065563B2 (en) * 2006-03-23 2011-11-22 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US8060685B2 (en) * 2007-07-31 2011-11-15 Hewlett-Packard Development Company, L.P. Electronic device data access system and method
WO2010076598A1 (en) * 2008-12-30 2010-07-08 Tommaso Zerilli Excute-in-place mode configuration for serial non-volatile memory
KR20100089288A (ko) * 2009-02-03 2010-08-12 삼성전자주식회사 휴대용 단말기에서 보안 정보를 관리하기 위한 장치 및 방법
US9442840B2 (en) 2012-12-19 2016-09-13 Qualcomm Incorporated Virtual boundary codes in a data image of a read-write memory device
US9128824B2 (en) * 2012-12-24 2015-09-08 Intel Corporation In-place change between transient and persistent state for data structures on non-volatile memory
US9547489B2 (en) * 2014-03-31 2017-01-17 Qualcomm Incorporated System and method for modifying a sequence of instructions in a read-only memory of a computing device
US10289321B1 (en) * 2017-05-05 2019-05-14 Amazon Technologies, Inc. Bad block table recovery in a solid state drives

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5249288A (en) * 1991-04-01 1993-09-28 Xerox Corporation Process for accommodating bad disk pages in an electronic printing system
US5479656A (en) * 1992-05-13 1995-12-26 Rawlings, Iii; Joseph H. Method and system for maximizing data files stored in a random access memory of a computer file system and optimization therefor
JPH11184699A (ja) 1997-11-26 1999-07-09 Internatl Business Mach Corp <Ibm> 移動オブジェクト群の実行方法、及び移動オブジェクト群を格納した記憶媒体
US6434695B1 (en) * 1998-12-23 2002-08-13 Apple Computer, Inc. Computer operating system using compressed ROM image in RAM
JP3893005B2 (ja) 2000-01-06 2007-03-14 富士通株式会社 不揮発性半導体記憶装置
TWI220469B (en) 2003-03-25 2004-08-21 Icp Electronics Inc Automatic booting system and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111179997A (zh) * 2019-12-26 2020-05-19 武汉精鸿电子技术有限公司 一种半导体存储器测试数据的存储方法及装置

Also Published As

Publication number Publication date
ATE525728T1 (de) 2011-10-15
EP1905044B1 (en) 2011-09-21
JP4777426B2 (ja) 2011-09-21
US7454673B2 (en) 2008-11-18
KR100975748B1 (ko) 2010-08-12
CN101208755B (zh) 2012-09-19
KR20080024187A (ko) 2008-03-17
JP2009500770A (ja) 2009-01-08
US20070014136A1 (en) 2007-01-18
WO2007011677B1 (en) 2007-05-24
WO2007011677A1 (en) 2007-01-25
EP1905044A1 (en) 2008-04-02

Similar Documents

Publication Publication Date Title
CN101208755B (zh) 存取非xip快闪存储器中持久文件的装置、系统和方法
US8200886B2 (en) Efficient system and method for updating a memory device
CN101526923B (zh) 一种数据处理方法、装置和闪存存储系统
EP1926022B1 (en) Apparatus and method for efficient memory use in portable terminal
CN111124464B (zh) 一种用于嵌入式系统的差分升级的方法、系统及计算机可读存储介质
US20090037648A1 (en) Input/output control method and apparatus optimized for flash memory
CN101026848A (zh) 移动终端和软件更新方法
US20120271802A1 (en) Forward compatibility guaranteed data compression and decompression method and apparatus thereof
CN101833464A (zh) 一种移动终端分段加载应用程序的方法及装置
US8578359B2 (en) Method and apparatus for reliable in-place update
CN1758220A (zh) 一种升级软件版本的方法
US8423730B2 (en) Method and apparatus for supporting diverse memory access schemes
CN116795803A (zh) 一种文件数据存储方法、装置、设备及存储介质
KR100640389B1 (ko) Nand플래시 메모리를 구비한 장치에서 어플리케이션을실행하는 방법 및 그 장치
CN112346771A (zh) 升级文件生成方法及装置
US11789708B2 (en) Compression of firmware updates
CN102202129B (zh) 实现手机操作系统加载的方法
CN100544378C (zh) 终端电话本存储管理的方法
EP2333660B1 (en) Method of and apparatus for providing a logical view of data stored in an non-volatile memory
JP2004258865A (ja) 情報処理方法
TWI403975B (zh) 具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法
KR20030052767A (ko) 실행 파일의 압축 및 복원 방법
CN118567680A (zh) 升级固件的方法、电子设备和存储介质
CN114510256A (zh) 固件升级方法、电能表、计算机设备和存储介质
CN114661478A (zh) 电子设备的文件扫描方法、系统、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: KYOCERA CORP.

Free format text: FORMER OWNER: KYOCERA WIRELESS CORP.

Effective date: 20110624

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA, THE USA TO: KYOTO, JAPAN

TA01 Transfer of patent application right

Effective date of registration: 20110624

Address after: Kyoto Japan

Applicant after: Kyocera Corp.

Address before: American California

Applicant before: Kyocera Wireless Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120919

Termination date: 20140713

EXPY Termination of patent right or utility model