CN100541450C - 存储器管理方法和便携式终端设备 - Google Patents

存储器管理方法和便携式终端设备 Download PDF

Info

Publication number
CN100541450C
CN100541450C CNB2007101438009A CN200710143800A CN100541450C CN 100541450 C CN100541450 C CN 100541450C CN B2007101438009 A CNB2007101438009 A CN B2007101438009A CN 200710143800 A CN200710143800 A CN 200710143800A CN 100541450 C CN100541450 C CN 100541450C
Authority
CN
China
Prior art keywords
piece
district
directorial area
management information
defect block
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.)
Active
Application number
CNB2007101438009A
Other languages
English (en)
Other versions
CN101118518A (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.)
Sinai Putelake Co
Original Assignee
Sony Ericsson Mobile Communications Japan Inc
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 Sony Ericsson Mobile Communications Japan Inc filed Critical Sony Ericsson Mobile Communications Japan Inc
Publication of CN101118518A publication Critical patent/CN101118518A/zh
Application granted granted Critical
Publication of CN100541450C publication Critical patent/CN100541450C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

一种用于管理非易失性存储器的存储器管理方法,向所述非易失性存储器以块为单位执行写入,该方法包括以下各步骤:将非易失性存储器的多个块分配到由至少一个块构成的用于存储管理信息的管理区、由多个块构成的向其写入程序代码的代码区、由多个块构成的用于替换缺陷块的替换区、以及由至少一个块构成的干扰区;至少将替换区的各块和替换目标的缺陷块之间的对应信息,作为管理信息存储在管理区内;以及当缺陷块将被使用时,以对应信息为基础使用替换区的块替换缺陷块。

Description

存储器管理方法和便携式终端设备
技术领域
本发明涉及一种以块为单位执行写入的非易失性存储器,并且特别涉及一种存储器管理方法和一种使用该非易失性存储器的便携式终端设备。
背景技术
对于便携式终端设备(也可简称为“便携式终端”),包括各便携式电话终端,使用闪速存储器作为可重写的非易失性半导体存储器。在闪速存储器中有NAND和NOR型。NAND型闪速存储器(在下文中也称为“NAND存储器”)具有适合实现大容量存储设备的特征,每单元容量成本低,但是只可能以固定大小的块为单位进行读写,并且随机访问慢。另一方面,NOR型闪速存储器具有读写速度快、并且可以高速随机访问的特征,但是不适合高度集成,并且写入需要大电流。
因此,在成本、集成度和功率消耗方面具有优势的NAND存储器被用来存储便携式终端的程序。当从NAND存储器引导时,程序区域暂时从NAND存储器传递到RAM(如SDRAM(同步动态随机存取存储器)),并且程序在RAM中被执行。由于这个原因,程序主体常驻于NAND存储器中。
通常在封装之前缺陷块已经存在于NAND存储器中。此外,有必要考虑NAND存储器将随着使用年度而劣化,并且最初曾是好块的块将变成有缺陷的。
发明内容
在电子设备(如各便携式终端)的软件中,改正称为程序缺陷(bug)的错误是共同的作法,并且执行版本更新以增加和改进功能。
当执行版本更新时,程序使用装入程序(loader)等存储到NAND存储器中。在这种情况下,通常采用一种跳过缺陷块的方法,并将程序加载到NAND存储器中。
当一个缺陷块后来出现时,在整个程序区域加载到NAND存储器中的情况下,没有问题出现。然而,当由于在软件更新中使用差别(difference)数据而产生了更新前后的差别文件时,由于后来出现的缺陷块的出现,更新前程序的地址连续性丢失,与用于更新的文件匹配难以完成,并且程序的更新难以执行。即使程序更新能够执行,该块的内容和随后块的内容需要移动对应于一个块的量,并且被重写。结果,只更新差别文件是不够的,并且有一个问题,即使用差别文件更新软件的优势被削弱了。
在这样的背景下,本发明提供一种存储器管理方法和使用该存储器管理方法的便携式终端设备,所述存储器管理方法适用于针对以块为单位执行写入的非易失性存储器,用差别文件更新软件。
根据本发明的实施例,提供了一种用于管理非易失性存储器的存储器管理方法,向所述非易失性存储器以块为单位执行写入,所述存储器管理方法包括以下各步骤:将非易失性存储器的多个块分配到由至少一个块构成的用来存储管理信息的管理区、由多个块构成的向其写入程序代码的代码区、由多个块构成的用来替换缺陷块的替换区、以及由至少一个块构成干扰区,该干扰区提供在管理区和替换区之间;至少将替换区的各块和替换目标的缺陷块之间的对应信息,作为管理信息存储在管理区内;以及当缺陷块将被使用时,以对应信息为基础使用替换区的块替换缺陷块。
在该存储器管理方法中,非易失性存储器的多个块被分为“管理区”、“代码区”、“替换区”和“干扰区”,并且该干扰区安排在管理区和替换区之间。用这种配置,管理区和代码区可以共同使用替换区。此外,通过在非易失性存储器中提供管理区,可以执行缺陷块的替换管理而不需要外部提供特殊的存储器管理装置。
作为更特殊的实施例,当管理区的块变成有缺陷时,干扰区被移动到替换区内与干扰区有更接近存储地址的块,使得将原始干扰区的一个块设置为新的管理区。按照从具有距干扰区最远的存储地址的块开始的顺序,使用替换区的块。结果,干扰区用作管理区和替换区的之间的边界,边界的位置是可变的,并且管理区和替换区都能够使用替换区的块。
根据本发明的另一个实施例,提供了一种便携式电话终端,其包括:非易失性存储器,向其以块为单位执行写入;以及控制装置,用于将非易失性存储器的多个块分配到由至少一个块构成的用以存储管理信息的管理区、由多个块构成的写入程序代码的程序区、由多个块构成的用以替换缺陷块的替换区、以及由至少一个块构成的干扰区,所述干扰区提供在管理区和替换区之间,并且该控制装置用于使用各区,其中该控制装置至少将替换区的各块和替换目标的缺陷块间的对应信息,作为管理信息存储在管理区内,以及当缺陷块被使用时,以对应信息为基础使用替换区的块替换缺陷块。
根据本发明的实施例,即使当后来出现的缺陷块出现在非易失性存储器中时,通过使用替换区中的块替换该缺陷块,可以容易地以更新所用的差别文件为基础执行软件的更新。
即使当后来出现的缺陷块出现在管理区时,通过将管理区向替换区侧移动,并且通过使用原始的干扰区作为新的管理区,实质上管理区和代码区都可以使用替换区的块。也就是说,可以有效地利用替换区的所有块,而不限于使用固定数量的替换区的块。
通过使用至少两个用来存储管理信息的块作为管理区,不必外部备份管理信息。
通过将关于使用替换区的块替换缺陷块的管理信息存储在至少一个非易失性存储器的块内,并通过使用该管理信息,不需要提供特定的逻辑/物理地址转换装置(如MMU)。
附图说明
图1显示根据本发明实施例的便携式终端10的硬件的示意性配置;
图2显示程序区存储在如图1所示的NAND存储器的特定块和随后各块的示例;
图3示意性显示更新前的程序与更新后的程序比较、并且产生了用于更新的文件作为差别文件的状态;
图4示意性显示以用于更新的文件为基础、通过软件更新引擎更新更新前的程序的状态;
图5图示当在NAND存储器中出现缺陷块时、在使用用于更新的文件在NAND存储器内更新程序期间的问题;
图6显示在本发明的实施例中NAND存储器15b的存储器空间的内部配置的示例;
图7图示在本发明的实施例中管理区的内部配置和存储在其中的信息;
图8图示用替换区替换代码区中的缺陷块的状态;
图9图示在本发明的实施例中当管理区变成缺陷块时的操作;
图10显示在本发明的实施例中NAND存储器内的替换区被用尽的状态;
图11是显示在本发明的实施例中、当发现缺陷块后执行的缺陷块替换过程的示意性过程的流程图;
图12是显示在本发明的实施例中、以用于更新的文件为基础更新NAND存储器内的程序的过程的流程图;
图13显示在本发明实施例中、对应于作为缺陷块替换结果的NAND存储器的物理地址的实际块和对应逻辑地址的代码区之间的关系;以及
图14是显示在本发明实施例中读取NAND存储器的过程的流程图。
具体实施方式
以下将参照附图详细说明本发明的优选实施例。
图1显示根据本发明实施例的便携式终端10的硬件的示意性配置。该便携式终端10包括控制器11、音频处理器12、麦克风13、扬声器14、存储部分15、通信部分16、天线17、操作部分18和显示部分19。
控制器11包括处理器(如中央处理单元(CPU)和数字信号处理器(DSP)),并且控制便携式终端10的处理和每个部分。在控制器11的控制下,音频处理器12执行音频处理(如电话交谈和音乐再现),执行来自麦克风13的音频输入和到扬声器14的音频输出。
存储部分15是用来存储程序和数据的部分,在该实施例中包括SDRAM15a和NAND存储器15b。
NAND存储器15b是可重写非易失性存储器,用于存储由控制器11执行的程序。NAND存储器15b具有用来存储程序主体的代码(程序代码)的代码区21,以及用来存储用于更新的文件的存储区22。在存储区22中能够存储程序以及各种数据,如电话目录、电子邮件、Web内容、音乐和图像。
在引导时代码区21被加载到SDRAM 15a中,并且程序在SDRAM 15a中被执行。更明确地,当给控制器11和存储部分15供电时,NAND存储器15b的引导区的内容被读入控制器中包括的存储区中,并由控制器11内嵌的逻辑电路执行。由本发明定义的缺陷块管理方法嵌入在该程序中。该程序允许程序代码被执行,被从NAND存储器15b加载到SDRAM 15a中,并且程序在SDRAM 15a中被执行。用于更新的文件由便携式终端10外部的专用工具提前生成,通过通信部分16从专用服务器下载,并存储在存储区22中。
在本发明中,在NAND存储器中的连续区中提供了管理区,并且管理信息存储于管理区中,使得执行缺陷块的管理和块替换管理(稍后将描述)。本说明书中的“块”是指对每个存储设备定义的特定大小的成组单元区域。
通信部分16是通过天线17以无线的方式与基站(没有显示)执行发送和接收的部分。操作部分18包括十键盘、各种控制键等,并且具有从用户输入指令和信息到控制器11的功能。显示部分19包括例如显示设备(如LCD或者有机EL),并且具有为用户显示可视信息(如文本和图像(静态图像和运动图像))的功能。
如上面所描述,当从NAND存储器15b启动引导程序时,该程序从NAND存储器15b加载到SDRAM 15a中,并在SDRAM 15a中被执行。图2显示程序区存储在NAND存储器15b的块3和随后各块中的示例。当程序被写入NAND存储器15b中时,如图2(b)部分中所示,如果某个“块N”是有缺陷的,则不使用该缺陷块,并且将程序写入下一个无缺陷的“块N+1”中。由于程序在SDRAM 15a中执行,这样足够了。
当在NAND存储器15b的块N中检测到缺陷时,程序存储在块N+1中,跳过块N。以这种方法,更新了整个程序。然而以这种方法,当使用用于更新的文件(差别文件)来进行软件更新时,麻烦出现了。
如图3中示意性所示,通过比较更新前的程序31和更新后的程序32,产生了用于更新的文件33作为差别文件。通常,用于更新的文件33的大小(数据量)比更新后的程序32要小。优点是下载和更新过程所需的时间比更新后的整个程序32所需的时间缩短了。
如图4中所示,当要执行软件更新时,用于更新的文件33存储于便携式终端内部的NAND存储器15b的存储区22中。以用于更新的该文件为基础,软件更新引擎23对更新前的程序31执行更新过程,所述程序31存储于NAND存储器15b的代码区21中,并且在NAND存储器中产生更新后的程序32。软件更新引擎23存储于例如NAND存储器15b中。在更新过程期间,软件更新引擎23被暂时拷贝到RAM 15a,并且执行RAM 15a内部的软件更新引擎23,因此使得可以实现软件更新。
由于程序存储于NAND存储器中,所以在相关技术中,当NAND存储器的所有块无缺陷时不会出现问题。然而,如图5中所示,当缺陷块N后来出现时,更新前的程序的地址连续性丢失了,与用于更新的文件的匹配不能达到,并且难以执行程序更新。如果能够执行程序的更新,对于该缺陷块和随后各块,程序被移动和存储。结果,原先不需要的写入块是必须的。
在该实施例中,预先提供了能够与NAND存储器中各缺陷块相关联的替换块,并且使用逻辑地址来管理缺陷块和替换块的物理地址,使得可以确保NAND存储器的地址连续性。通过使用软件更新前后的用于更新的文件(差别文件),其基于地址连续的假设产生,即使当缺陷块后来出现在NAND存储器中时,也可以执行软件更新。
下面将给出用于即使当后来出现的缺陷块出现在存储了更新前的程序的NAND中、允许软件更新的方法的描述。
图6显示了该实施例中NAND存储器156的存储空间的内部配置的示例。NAND存储器15b被划分为对应多个单元数据量的块,并且功能被分配到相应的各块如图6所示。图6的状态是初始时期分配功能的状态,并且如后面将要描述的该状态能够改变。
引导代码位于NAND存储器15b的开始块(块0)。使用块1和随后各块执行该实施例的操作。
如图6中所示的示例中,块0之后的两个块(即,块1和块2)分别用作“管理区1”和“管理区2”。“管理区”是用于存储管理NAND存储器中缺陷块和替换块的管理信息的区域。管理信息的细节将在随后描述。提供了多个管理区组,作为防止由于例如当正执行写入NAND存储器时断电造成的管理信息的丢失(损坏)的方法。
在“管理区2”之后,在块3和4中分别提供了“干扰区1”和“干扰区2”。“干扰区”是用来识别管理区和替换区边界的区域。
在“干扰区2”的块4之后,块5到14被设置为替换区。替换区是分配作为用来替换缺陷块的区域。在图6中所示的示例中,分配了10块作为替换区。通过考虑要使用的NAND存储器容量,将块的数量调整到最佳值。
在替换区和随后各块之后的块(块15)中,存在实际存储程序的代码区。
参照图7,现在将要给出本实施例中各管理区的内部配置和存储在其中的信息的描述。下面的信息存储在管理区的一个块150中。
(1)校验数位151:校验数据(如校验和),用来校验一个管理区(块)内的数据的损坏。这样使得能够确定关于当例如数据正写入电源被切断时、块内的不完全写入状态。
(2)代名(generation number)152:当管理区(块)内的管理信息被更新时指示代的代信息。例如,这是按顺序增加的数量。
(3)替换区的使用数量153:在多个提供作为替换区的块中已使用的块的数量。可以使用未使用的块数量替换这个数量。由于替换区中块的初始数量是已知的值(这里,10),如果已用的块数量和未用的块数量中的一个已知,则另一个数量能够知道。如稍后将要描述的,在替换区的块变成有缺陷的、并且这样的缺陷块对应于“已用”块的情况下。
(4)替换目标的对应信息154:当将替换区中未使用的无缺陷块分配为特定块的替换目标时,该对应信息是指示它们间的对应的信息。这里,缺陷块的块数和替换区的块数以互相对应的方式存储。在该示例中,最多能够存储10条信息。
(5)关于管理区(块1到14)内的缺陷块的信息155:管理区、干扰区和替换区(图6的示例中的块1到14)是用于管理的区域。当它们之一的块变成有缺陷的时,该关于管理区内缺陷块的信息,是用来指定记录的缺陷块的信息(这里,块数)。当要使用用于管理的区的某块时,在该块已经被记录为缺陷的情况下,将跳过该块并使用下一块。
现在将参照图8,给出当执行写入块操作时(当执行软件更新时),检测到后来出现的缺陷块时的操作。假设在块N+3中检测到缺陷,并且写入被确定为不可能。该块N+3被标记为坏块,并且以下禁止其使用。将要写入块N+3的代码以替换的方式写入替换区10,而不是写入下一个块N+4。该替换信息被存储在“管理区1”中。在该示例中,使替换区10用块N+3来替换的替换信息被存储。
通过以上面描述的方式,使用管理信息执行对缺陷块和替换块的管理,可以使实际的物理地址对应逻辑地址,并且可以将逻辑地址转换为物理地址。同样,通过参照逻辑地址,能够确保存储器地址的连续性。根据使用存储在管理区中的替换信息将逻辑地址转换为物理地址,不需要外部提供特定的地址转换装置,如已知的存储器管理单元(MMU)。
接下来,参照图9,将要描述当管理区的块变成缺陷时所执行的操作。在该实施例中,如上面所描述的,对于管理区,原形(original)和副本(duplicate)两个区域使用“管理区1”和“管理区2”来管理。“管理区1”和“管理区2”交替使用,并且使用的一方成为“原形”而另一方成为“副本”。对于将信息存储在管理区中有两种方法:一种是将一代的管理信息存储于一个块中;而另一种是将多个代的管理信息附加地写入一个块中,并且当对原形区的附加写入变成不可能时,执行“原形”和“副本”间的切换。对于这点,为了描述简单的缘故,将描述前一种方法。
提供两个区域的理由如下。由于应用本发明的存储器的特征,所以当将信息重新记录在已经记录了信息的位置时,需要对块执行一次擦除操作以删除记录在那里的信息。如果只使用一个区域更新管理区,则在当管理区被擦除时由于断电等而出现问题的情况下,当前的管理信息丢失了。为了防止这样的故障,将用于存储最近信息的块、与执行擦除操作并且写入了最近更新的管理信息的块分开。在更新管理区的具体操作中,当需要执行管理区的更新时,“副本”区被擦除,从“原形”区读取的信息被更新,并且使用新的代名对“副本”区执行写入。当该写入完成时,原形区和副本区的交换完成。旧的“副本”区变成了“原形”区,而旧的“原形”区变成了“副本”区。
用这样的方式执行管理信息的写入,使得更新了已经预先读入RAM的“原形”管理区的拷贝,并且将管理信息写入至此已成为“副本”的管理区中(作为更新方法,可以有当管理信息的更新成为必要时从“原形”区产生拷贝到存储器的方法。然而,在这个实施例中,通过考虑执行期间的效率,假设最新的管理信息的拷贝已经预先读入存储器中并保持常驻)。为了区别管理信息的原形和副本,将附接到管理信息的代名152相互比较,并且已经更近记录的区域被处理为“原形”。
在图9(a)的状态中,当在RAM中更新的新管理信息要写入“副本”区时,在块2变成如图9(b)所示的缺陷块的情况下,如图9(c)所示,块3的干扰区被分配为新的“管理区2”。原始的“管理区2”被认为是有缺陷的,并被记录在RAM中的管理信息中,并且考虑到块2是有缺陷的而更新的管理信息被写入新分配的“管理区2”中。结果,原始的“管理区1”成为“副本”,新写入的“管理区2”成为“原形”。
作为块3变成管理区的结果,将干扰区1和2移动对应于一个块的量,并且移动到块4和5。预定数据(如0xAA)被预先写入干扰区,使得干扰区用作识别代码区21和管理区之间边界的区域。在该实施例中,对于干扰区相同的预定数据已经被写入替换区中未使用的块。在该情况下,根据块内的数据不能区分干扰区和替换区。即使将“干扰区1和2移动了对应于一个块的量”,也只有管理信息改变了,并且不需要在该替换区上,特别地执行特定的写入过程等来设置替换区的一个块为新的干扰区。
如上所述,替换区不但能够用来替换代码区的缺陷块,而且也可以替换管理区,如图9中所示。然而,和替换代码区的缺陷块不同,替换管理区通过移动干扰区来执行。以上面描述的方式,通过以将干扰区插入在NAND存储器15b内的存储空间中的管理区和干扰区之间的方式,分配每个块的功能,能够有效地使用替换空间。
作为替代,考虑在管理区中提供固定数量的专用替换区、并且在代码区中提供固定数量的替换区的实现格式。然而,依赖于缺陷块出现在管理区和代码区中的情形,其中一个替换区会变成浪费。作为比较,如在该实施例中,替换区能够动态地用于管理区和代码区,可以有效地使用替换区的所有块而没有浪费。
在该实施例中,替换过程能够持续直到不能分配对于两个块的干扰区。在用完替换区1后,检测到下一个替换区是对于干扰区,并且替换操作停止。这样防止了管理区和替换区相互重叠。
在图9等中,当各区域的分配将被改变时,区域从1开始重新编号。这是为了描述的方便,并且分配给相应区域的编号并不是特别重要。
如图8中所示,使用替换区中离干扰区最远的块,用替换区对代码区中的缺陷块执行替换。
图10显示以上面描述的方式、用替换区替换代码区中缺陷块的情况,剩余的替换区变成一个块,在该时间点缺陷出现在代码区的块L(没有显示)中,并且替换区被用完。就是说,直到临近干扰区2的替换区1的区域已经“已使用”。此外,如图10的块11中所示,存在替换区中的块变成有缺陷的情况。在该情况下,该缺陷块存储在关于用于管理的区的内缺陷块(图7)的信息155中,并被管理,使得这个块将不会被使用。
利用上面的配置,通过管理管理区内的逻辑地址,保持了NAND存储器中程序地址的连续性。由于这个原因,即使当NAND存储器中有缺陷块,软件更新引擎可以通过参照管理区以用于更新的文件为基础执行软件更新。
图11是显示当发现缺陷块后、执行缺陷块的替换过程的示意性过程的流程图。后来出现的缺陷块能够在图12(之后将描述)的步骤S23和S24中、以及图11的步骤S18中检测到。
在图11的处理中,首先,检查在替换区(S11)中是否存在没有使用的无缺陷块。如果不存在,这个过程完成。此时,一些消息(如错误消息)可以显示在显示部分上。
当存在未使用的无缺陷块时,检查缺陷块是否为管理区(S12)中的块。如果该缺陷块不是管理区中的块,则过程进行到步骤S15。如果是在管理区中的块,则将前干扰区1设置为新的管理区(S13),并且当前的替换区1设置为新的干扰区2(S14)。
在步骤S15中检查该缺陷块是否为代码区中的块。当该缺陷块不是代码区中的块时,考虑到块(替换区中块)是有缺陷的,对管理信息更新(S17),并且过程进行到步骤S18。
当缺陷块是代码区中的块时,用替换区中未使用的离干扰区最远的无缺陷块,替换缺陷块(S16)。
其后,NAND存储器156的管理区中块的内容被更新(S18)。
图12是显示以用于更新的文件为基础、更新NAND存储器156内程序的过程的流程图。
最初,当程序被写入NAND存储器15b(S21)时,以管理区(原形)的管理信息为基础,确定待写入的块是否已经由替换区替换(S22)。
当待写入的块已经被替换,程序被写入由管理信息指定的替换区域(替换块)(S23)。当待写入的块没有被替换时,将程序写入待写入的区域(S24)。
图13显示对应于作为缺陷块替换结果的NAND存储器的物理地址的实际块、和对应逻辑地址的代码区之间的关系。
基于管理区中管理信息的、NAND存储器156的物理地址和逻辑地址之间的对应,使得即使当更新前的程序的NAND存储器中存在缺陷块时,逻辑地址的连续性也得以确保。不需要通过使用用于更新的文件来移动NAND存储器15b内块的内容,并且程序的更新成为可能。
当程序将从NAND存储器15b传递到SDRAM 15a时,可以通过以类似的方式检查替换区是否可用,将程序正确地传递到SDRAM。
图14是显示读取NAND存储器15b过程的流程图。首先,以管理信息为基础,检查将要读取的块是否已经被替换(S31)。如果将要读取的块没有被替换,则按原样读取要读取的块(S32)。如果将要读取的块已经被替换,则读取替换目标块(S33)。如果有另一个块要读取(S34),则过程返回到步骤S31,并且重复上面描述的过程。
通过使用便携式电话终端作为示例已经描述了本发明。但是,本发明不限于电话终端。
在本发明中,软件差别更新已经被描述为主要的应用。本发明不限于软件差别更新,并且能够一般地应用到NAND存储器的一些块的内容需要重写而不对其它块施加影响的情况。
本发明能够适当地应用于NAND型闪速存储器,但也能够应用于NOR型闪速存储器。
本领域的技术人员应该理解的是:依赖于设计需要和其它因素,各种修改、组合、子组合和替换可以出现,只要它们在权利要求或其等效的范围内。
相关申请的交叉引用
本发明包括涉及于2006年8月4日向日本专利局提交的日本专利申请JP2006-212751的主题,通过引用包括其全部内容。

Claims (12)

1.一种用于管理非易失性存储器的存储器管理方法,向所述非易失性存储器以块为单位执行写入,所述存储器管理方法包括以下各步骤:
将非易失性存储器的多个块分配到由至少一个块构成的用于存储管理信息的管理区、由多个块构成的向其写入程序代码的代码区、由多个块构成的用于替换缺陷块的替换区、以及由至少一个块构成的干扰区,所述干扰区提供在管理区和替换区之间;
至少将替换区的各块和替换目标的缺陷块之间的对应信息,作为管理信息存储在管理区内;以及
当缺陷块将被使用时,以对应信息为基础使用替换区的块替换缺陷块,
其中,当管理区的块变成有缺陷时,将干扰区移动到替换区内的、具有与干扰区更接近的存储器地址的块,使得将原始干扰区的一个块设置为新的管理区。
2.根据权利要求1所述的存储器管理方法,其中管理信息还包括替换区的已使用的块的数量或者替换区的未使用的块的数量。
3.根据权利要求1或2所述的存储器管理方法,其中管理信息还包括关于管理区和/或替换区的缺陷块的信息。
4.根据权利要求1所述的存储器管理方法,其中对管理区使用至少两个用来存储管理信息的块,并且所述管理信息包括指示管理信息的代的代信息。
5.根据权利要求1所述的存储器管理方法,其中按照从具有离干扰区最远的存储器地址的块开始的顺序,使用替换区的块。
6.一种便携式终端设备,包括:
非易失性存储器,向其以块为单位执行写入;以及
控制装置,用于将非易失性存储器的多个块分配到由至少一个块构成的用以存储管理信息的管理区、由多个块构成的向其写入程序代码的代码区、由多个块构成的用以替换缺陷块的替换区、以及由至少一个块构成的干扰区,所述干扰区提供在管理区和替换区之间,并且该控制装置用于使用各区,
其中所述控制装置至少将替换区的各块和替换目标的缺陷块之间的对应信息,作为管理信息存在管理区内,以及
当缺陷块将被使用时,以对应信息为基础使用替换区的块替换缺陷块,
其中,当管理区的块变成有缺陷时,所述控制装置将干扰区移动到替换区内的、具有与干扰区更接近的存储器地址的块,使得将原始干扰区的一个块设置为新的管理区。
7.根据权利要求6所述的便携式终端设备,还包括能够存储程序代码的随机存取存储器,
其中,在执行非易失性存储器内的程序代码之前,所述控制装置以块为单位,将程序代码传递到随机存取存储器中,并且在随机存取存储器中执行程序代码。
8.根据权利要求6所述的便携式终端设备,其中,当控制装置访问非易失性存储器的代码区内的一个块时,该控制装置确认管理信息,并且当替换区的块分配给目标块时,该控制装置使用替换区的块替换目标块。
9.根据权利要求6所述的便携式终端设备,其中管理信息还包括替换区的已使用的块的数量或者替换区的未使用的块的数量。
10.根据权利要求6或9所述的便携式终端设备,其中管理信息还包括关于管理区和/或替换区的缺陷块的信息。
11.根据权利要求6所述的便携式终端设备,其中对管理区使用至少两个用来存储管理信息的块,并且所述管理信息包括指示管理信息的代的代信息。
12.根据权利要求6所述的便携式终端设备,其中所述控制装置按照从具有离干扰区最远的存储器地址的块开始的顺序,使用替换区的块。
CNB2007101438009A 2006-08-04 2007-08-06 存储器管理方法和便携式终端设备 Active CN100541450C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006212751A JP5019567B2 (ja) 2006-08-04 2006-08-04 メモリ管理方法および携帯端末装置
JP212751/06 2006-08-04

Publications (2)

Publication Number Publication Date
CN101118518A CN101118518A (zh) 2008-02-06
CN100541450C true CN100541450C (zh) 2009-09-16

Family

ID=38819896

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101438009A Active CN100541450C (zh) 2006-08-04 2007-08-06 存储器管理方法和便携式终端设备

Country Status (6)

Country Link
US (1) US7797573B2 (zh)
EP (1) EP1909175B1 (zh)
JP (1) JP5019567B2 (zh)
KR (1) KR20080012778A (zh)
CN (1) CN100541450C (zh)
TW (1) TW200828017A (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8446787B2 (en) * 2008-11-20 2013-05-21 Micron Technology, Inc. Replacing defective memory blocks in response to external addresses
JP5521437B2 (ja) * 2009-01-29 2014-06-11 日本電気株式会社 携帯端末装置、ソフトウェア更新方法及びプログラム
US8706954B2 (en) 2010-09-07 2014-04-22 Sony Corporation Memory management apparatus and memory management method
WO2013048490A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
US20150230080A1 (en) * 2014-02-11 2015-08-13 Pantech Co., Ltd. Media scanning method and media scanning terminal
WO2015146788A1 (ja) * 2014-03-28 2015-10-01 京セラドキュメントソリューションズ株式会社 電子機器
US9760303B2 (en) 2015-09-29 2017-09-12 Sandisk Technologies Llc Partially-bad block operation in 3-D nonvolatile memory
CN106339242A (zh) * 2016-07-26 2017-01-18 深圳市英威腾交通技术有限公司 一种电力机车控制设备的软件更新方法和系统
CN106951297B (zh) * 2017-04-06 2020-07-28 惠州佰维存储科技有限公司 嵌入式多媒体卡的生产方法及其系统
JP7074454B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6135651A (en) * 1997-05-29 2000-10-24 Cirrus Logic, Inc. Patching apparatus and method for upgrading modem software code
JP2001134496A (ja) * 1999-11-04 2001-05-18 Hitachi Ltd 不揮発性半導体メモリを用いた記憶装置
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
JP2001350673A (ja) * 2000-06-05 2001-12-21 Hitachi Ltd フラッシュメモリアクセス制御方法
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US7328007B2 (en) * 2001-07-26 2008-02-05 Kyocera Wireless Corp. System and method for organizing wireless communication device system software
US6879530B2 (en) * 2002-07-18 2005-04-12 Micron Technology, Inc. Apparatus for dynamically repairing a semiconductor memory
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
AU2003279086A1 (en) * 2002-09-30 2004-04-23 Insignia Solutions Plc Efficient system and method for updating a memory device
GB2403303B (en) * 2003-06-23 2005-08-17 Matsushita Electric Ind Co Ltd Embedded device with software registry
JP4357305B2 (ja) * 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
US7336536B2 (en) * 2004-06-25 2008-02-26 Micron Technology, Inc. Handling defective memory blocks of NAND memory devices
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
US7508708B2 (en) * 2006-03-30 2009-03-24 Micron Technology, Inc. NAND string with a redundant memory cell

Also Published As

Publication number Publication date
CN101118518A (zh) 2008-02-06
TW200828017A (en) 2008-07-01
KR20080012778A (ko) 2008-02-12
EP1909175A2 (en) 2008-04-09
EP1909175B1 (en) 2018-08-22
EP1909175A3 (en) 2009-05-27
US20080034252A1 (en) 2008-02-07
US7797573B2 (en) 2010-09-14
JP2008040701A (ja) 2008-02-21
JP5019567B2 (ja) 2012-09-05

Similar Documents

Publication Publication Date Title
CN100541450C (zh) 存储器管理方法和便携式终端设备
CN101026848B (zh) 移动终端和软件更新方法
CN103473067B (zh) 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103299276B (zh) 嵌入式装置的软件更新过程
US8200886B2 (en) Efficient system and method for updating a memory device
US8453138B2 (en) Method and apparatus for generating an update package
US7587433B2 (en) Method and system for in-place updating content stored in a storage device
US20060200815A1 (en) Electronic Device and Method for Updating Related Programs
KR20060012696A (ko) 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
CN102999431A (zh) 用于非易失性存储器系统的编织序列计数器
KR101822485B1 (ko) 차량용 소프트웨어 원격 업데이트시 전원 차단 후 복구 방법
US20090172252A1 (en) Memory device and method for performing a write-abort-safe firmware update
CN110471690A (zh) 动态链接库so文件的加载方法、装置及存储介质
US20080320461A1 (en) Method and Apparatus for Reliable In-Place Update
JP2000222292A (ja) フラッシュメモリを利用したデータ管理方法
CN110188004A (zh) 一种终端设备的双备份软件系统管理方法及系统
US11144299B2 (en) Firmware updating method
JP2009009391A (ja) 更新処理ソフトウェア自己更新方法および携帯端末装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
RU2375769C2 (ru) Автоматическое резервное сохранение при модификациях встроенного программного обеспечения
JP2009134672A (ja) メモリ管理方法および携帯端末装置
JP2009009390A (ja) メモリ管理方法および携帯端末装置
JP2014112419A (ja) 携帯端末装置、ソフトウェア更新方法、動作制御方法及びプログラム
JP2014115927A (ja) プログラム更新装置、方法、プログラム、及び記憶媒体
KR20010056423A (ko) 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Tokyo, Japan, Japan

Patentee after: Sony Mobile Communication Co., Ltd.

Address before: Tokyo, Japan, Japan

Patentee before: Sony Ericsson Mobile Communication japan Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160301

Address after: American California

Patentee after: Sinai Putelake company

Address before: Tokyo, Japan, Japan

Patentee before: Sony Mobile Communication Co., Ltd.