数据更新方法、存储器系统和存储器设备的制作方法

文档序号:6479714阅读:138来源:国知局
专利名称:数据更新方法、存储器系统和存储器设备的制作方法
技术领域
本发明涉及一种更新存储器设备中存储的数据的方法,所述存储器设备可连接至 主机设备,并且具有分成多个分区的存储器部分,还涉及存储器系统和存储器设备;更具体 地,涉及一种更新分区中的数据的方法,在所述分区中存储被配置为启动主机设备的数据, 还涉及存储器系统和存储器设备。
背景技术
在计算机系统中,在作为外部存储设备的存储器设备中存储作为系统管理程序的 操作系统(以下称为“Os”)以及主机设备的系统数据等。然后,在系统启动时,通过从存储 器设备读取OS来启动系统。0S,也就是被配置为管理整个计算机系统的软件,配置有多个 程序文件组。应注意,在OS启动时,使用称为“引导加载器”的专用小程序,其具有足以启动被 配置为启动OS的另一程序的功能。通常使用多级引导加载器,重复从一个小程序调用另一 小程序,并最终启动Os。换句话说,为了 OS的启动,S卩,系统的启动,在存储器设备中存储具 有小容量的许多程序。OS和引导加载器通常需要部分地更新,以增加功能或校正缺陷。然后,如果更新了 在配置有多个程序文件组、或引导加载器组等的OS中的模块,则所述模块可在正确更新了 所有程序文件时的第一时间正确操作。换句话说,如果更新OS或引导加载器的处理失败, 则系统自身不能够启动,并且不是很容易修复其问题。另一方面,近来,开发了作为非易失性半导体存储介质的闪速存储器,并且具体 地,已经实践性使用了多值记录技术,其中在一个存储器单元中存储多值比特,代替单值比 特,因此逐渐增加了闪速存储器的容量和密度。此外,近来,使用了在嵌入存储器设备中存 储用于主机设备的启动的软件(即OS和引导加载器)的系统。NAND型闪速存储器使用经由隧道绝缘膜注入陷阱层(包括浮动栅极或层叠膜) 的电荷,作为依赖于电荷量的数字比特信息,并且读取数字比特信息作为2值或多值信 息。NAND型闪速存储器可读取数据而没有相关的数据破坏,这与破坏性读取型存储器(如 DRAM)不同。如果在具有NAND型闪速存储器的存储器设备中存储OS和引导加载器组,则NAND 型闪速存储器具有以下特征1)以称为“页”的单元写入数据;2)以合并了多个页的称为 “块”的单元擦除数据;和3)数据不能够被覆写。因此,如果用小容量单元的数据更新在 NAND型闪速存储器设备中存储的数据,可能发生多次所谓的“移动”,其中不需要更新的程 序同样被重写到另一块中。换句话说,将更新的数据写入在还未写入数据的新块中,并且, 也将包括旧数据的旧块中存储的并且没有更新的剩余数据同样写入在新块中。多次发生 “移动”意味着程序被多次重写。因此,在某些情况下,在传统NAND型闪速存储器设备中更 新OS或引导加载器组的处理并不认为是高度安全的。应注意,日本专利中请特开No. 2007-193596公开了一种固件更新电路,其中即使
4在更新固件时发生例如功率中断的故障,也可以在不更换非易失性存储器的情况下机载地 更新与固件相关的数据。

发明内容
发明目的本发明的一个目的在于提供一种可安全地更新存储器设备中存储的数据的数据 更新方法、存储器系统和存储器设备。解决问题的手段根据本申请的发明的一方面,提供一种更新数据的方法,所述数据存储在存储器 设备中,所述存储器设备可连接至主机设备并具有存储器部分和存储器控制器,所述存储 器部分包括可分成具有多个不同属性的分区的第一存储器部分,以及由所述存储器控制器 管理的工作空间;其中,在向分区写入数据的多个不同写入方法中,使用依据分区的属性选 择的写入方法中的一个执行更新处理。


图1是示出根据第一实施例的存储器系统的配置的示意图;图2是说明根据第一实施例的存储器设备的存储器部分的配置的说明性视图;图3是说明根据第一实施例的存储器设备的存储器部分的配置的说明性视图;图4是说明根据第一实施例的存储器设备中的信息分区的结构的说明性视图;图5A是说明根据第一实施例的存储器设备中的选择分区命令的说明性视图;图5B是说明根据第一实施例的存储器设备中的选择分区命令的说明性视图;图6是说明根据第一实施例的存储器设备中更新具有引导属性的分区的过程的 说明性视图;图7是说明根据第一实施例的存储器设备中更新具有引导属性的分区的过程的 流程的流程图;图8是说明根据第二实施例的存储器系统中更新代码分区中的数据的方法的说 明性视图;以及图9是说明根据第一和第二实施例的存储器系统中的存储器设备的保护装置的 说明性视图。
具体实施例方式<第一实施例>首先,将参照附图描述本发明第一实施例的存储器系统10。图1是示出存储器系 统10的配置的示意图。存储器系统10配置有主机设备2和存储器设备1,后者可连接至主机设备2,可存 储被配置为启动主机设备2的数据,并且被嵌入在存储器系统10中。存储器设备1的存储器部分5是非易失性半导体存储器,并且配置有例如NAND型 闪速存储器。在存储器控制器6的控制下,在存储器部分5中存储从主机设备2发送的数 据等。
存储器部分5配置有存储器部分3,这是可由用户识别的第一存储器部分;和工 作空间4,这由存储器控制器6管理并且不能够由用户识别。应注意,在存储器设备1中,存储器部分3和工作空间4之间的关系不固定,并且 在存储器控制器6的控制下,存储器部分3的一部分和工作空间4的一部分可彼此替换, 即,替换处理是可能的,其中将存储器部分3的一个分区设置为不能够由用户识别的工作 空间4,并且相反,将工作空间4的一部分设置为存储器部分中3能够由用户识别的一个分 区。主机设备2配置有主机控制器8,其被配置为针对经由接口连接的存储器设备1 执行访问控制等;和系统存储器部分7。存储器设备1根据来自主机设备2的命令执行处理。应注意,尽管将在图1中和以下说明书中描述存储器系统10具有一个存储器设备 1的实例,但是存储器系统10可具有多个存储器设备1。接下来,将使用图2、3和4描述作 为本实施例的存储器设备1的第一存储器部分的存储器部分3的配置。图2和3是说明存 储器设备1的存储器部分3的配置的说明性视图,图4是说明存储器设备1中的信息分区 的结构的说明性视图。如图2所示,依据要保存的数据属性,将存储器设备1的存储器部分3分成多个分 区。换句话说,在公知的存储器设备中,作为存储器区域的整个存储器部分3A作为一个分 区来管理。相反,在本实施例的存储器设备1中,通过称为“配置”的处理将存储器部分3物 理地分成多个分区31至36。在图2中,左侧示出作为一个大存储区域的存储器部分3A,右 侧示出将存储器部分3分成多个分区31至36,即,应用了配置的实例。应注意,这里“物理 地”并非“逻辑地”,并且表示与实际存储器部分3中的每个存储单元相应的划分,即,每个 存储器单元集合体的“区分”。在存储器设备1中,各个划分的分区31至36具有多个不同属性。例如,图2中所 示的存储器部分3分成了多个分区31至36,并且各个分区具有如图3所示的属性。换句话 说,数据1分区31和数据2分区32具有数据属性,代码分区33具有代码属性,引导1分区 34和引导2分区35具有引导属性,信息分区36具有信息属性。换句话说,多个分区31至 36并非具有各个不同属性,并且属性的种类的数目小于分区31至36的数目。具有数据属性的分区31和32 (还称为“数据分区”)还称为“应用分区”。应用分 区是被配置为存储用户数据、应用程序等的分区,由文件系统管理,是不仅写入次数高而且 读取次数也很高的分区。应注意,例如,也可以使用在数据1分区31中存储用户数据以及 在数据2分区32中存储应用程序。具有代码属性的分区33(还称为“代码分区”)还称为“系统分区”。系统分区是 被配置为存储OS程序和系统数据的分区,并且由文件系统管理,尽管读取次数较高,但是 几乎不执行写入。具有引导属性的分区34和35 (还称为“引导分区”)是被配置为存储引导加载器 的分区,并且不具有文件系统,尽管读取次数较高,但是几乎不执行写入。引导加载器可以 是在启动时首先读取的主引导加载器,或可能有这样的配置,例如在ROM中、存储器设备1 外部包括主引导加载器,在存储器部分3中存储次引导加载器。如图4所示,具有信息属性的分区36 (还称为“信息分区”)是被配置为在预定分区数目的分区上存储关于多个划分的分区的信息(例如存在或不存在信息、属性信息、写 入保护信息、分区容量(大小)等)的分区,并且不具有文件系统,尽管读取次数较高,但是 仅执行一次写入。信息分区36是本实施例的存储器设备1必要的分区,其中通过配置将存储器部分 3物理地分成多个分区。存储器设备1的存储器控制器6基于信息分区中的信息改变访问 多个分区的方法。例如,如果引导分区34中的数据被破坏,则不启动系统,并且引导代码自身不能 够被更新。因此,引导分区34是特别需要更新可靠性的分区。然后,由于本实施例的存储器设备1的存储器部分5是用于多值记录的NAND型闪 速存储器,划分的分区31至36的物理特征优选地依据各个属性具有不同规范。这里,物理 特征是数据写入速度、数据读取速度、写入数据的可靠性等。例如,同样在能够多值记录的 存储器部分5中,可通过提供不执行多值记录的分区获得与单比特记录等同的物理特征, 尽管减少了可存储容量。类似地,例如,也可将能够8值记录的存储器单元用作用于4值记 录的存储器单元。例如,可通过将具有信息属性的信息分区36设置为可按比其他分区更高速度访 问的分区来提高主机设备2访问存储器设备1的速度。此外,具有引导属性的分区或具有 代码分区的属性的分区也可优选地设置为具有比其他分区更高可靠性的物理特征的分区。 应注意,尽管在分区31至36中可执行写入的次数和可执行读取的次数不是直接物理特征, 而是备选特征,但是在这里,假设次数为物理特征。如上所述,在存储器设备1中,如果划分了存储器部分3,则各个划分的分区31至 36的物理特征不同,因此,划分的多个分区31至36的总容量不一定与划分之前的存储器部 分3的容量相同。应注意,图3是示出在存储器部分3中的分区图分配的实例。在存储器设备1中, 分区数目通过4比特数据来区分。因此,主机设备2等可通过使用选择分区命令中的分区 数目来选择No. 0至No. 15的最大16个分区。当然,如图3所示,在最大16个分区中同样 存在没有被设置的保留分区。当主机设备2使用命令控制各个分区时,主机设备2使用各个分区31至36,将其 各个分区数目作为参数。换句话说,如果主机设备2在各个分区31至36中存储数据或从 中读取数据,首先,主机设备2将图5A中所示的选择分区命令发送至存储器设备1,因此指 定分区数目,并选择一个分区。响应地,存储器设备1通过图5B中所示的选择分区命令的 响应来响应于主机设备2。随后,主机设备2将各个分区(对于选择的分区)共同的读取/ 写入命令发送至存储器设备1,由此执行访问。例如,主机设备2可通过访问向存储器设备1的分区数目15分配的信息分区36 来获得存储器设备1上的分区信息等。接下来,将通过使用图6和7来描述本实施例的数据更新方法。图6是说明更新 引导1分区34中存储的引导加载器的情况下的处理的说明性视图。图7是说明更新引导 1分区34中存储的引导加载器的情况下的处理的流程的流程图。如上所述,在被配置为启动主机设备2的系统的引导1分区34中,存储配置有许 多小程序的引导加载器组。并且,引导1分区34是特别需要更新处理的可靠性的分区。因此,在本实施例的数据更新方法中,在更新引导1分区34的处理时,使用与其他分区的方法 不同的方法来确保更新处理的安全。换句话说,引导加载器的大小受限,因此引导加载器是具有小容量的程序。因此, 在更新引导1分区34的处理中,存储器控制器6可在工作空间4中存储被更新的新引导加 载器等。随后,存储器控制器6使得其中存储了被更新的新引导加载器等的工作空间4与 引导1分区34彼此替换。以下,根据图7的流程图,将描述更新引导1分区34的处理。〈步骤Sll>选择要更新的引导分区主机设备2通过选择分区命令选择要更新的分区。〈步骤S12>禁用写入保护在本实施例的存储器设备1中,通过随后描述的保护装置将引导1分区34设置为 写入保护状态,以防止被病毒等篡改。因此,引导1分区34中的写入保护状态需要通过指 定的方法来禁用。<步骤S13>写入保护被禁用?如果由主机设备2选择的分区的写入保护能够被禁用(否),则存储器设备1执 行在步骤S14和随后步骤的处理。另一方面,如果引导1分区34的写入保护不能够被禁用 (是),则存储器设备1向主机设备2发送指示错误的响应信号,并停止更新处理。〈步骤S14>写入引导分区?如果由主机设备2选择的分区是具有引导属性的分区(是),则存储器设备1通过 在步骤S15和随后步骤的写入方法执行更新处理,以确保更新处理的安全性。另一方面,如 果由主机设备2选择的分区不是具有引导属性的分区(否),则存储器设备1通过与在步骤 S15和随后步骤的写入方法不同的写入方法执行更新处理。< 步骤 S15>CDM 25+CMD 12即使当主机设备2更新引导1分区34时,主机设备2使用正常的多块写入命令 (CMD 25)和写入停止命令(CMD 12),因为控制存储器设备1的存储器控制器6等已经识别 出所选的分区的属性为“引导”,在步骤S12。因此,即使存储器控制器6从主机设备2接收 与正常存储器写入命令相同的存储器写入命令,存储器控制器6改变针对引导1分区34的 更新方法。<步骤S16>写入工作空间如图6(1)所示,如果更新了引导1分区34,则首先,存储器控制器6准备工作空 间4,其具有可在工作空间4中存储引导1分区34中存储的引导加载器的大小,即,与引导 1分区34的容量相同的容量。如果工作空间4不能够在工作空间4中获得,则存储器控制 器6不执行写入处理,向主机设备2发送指示工作空间不可用的错误响应信号,并停止更新处理。如果工作空间4能够在存储器部分5中获得,如图6(2)所示,则存储器控制器6 从其区域的开始到结尾一次(即依次)将新引导加载器组的数据写入到工作空间4中。为 了依次写入,即,顺序写入,主机设备2使用多块写入命令(CMD 25)。<步骤S17,步骤S18>写入错误?如果在步骤S16发生写入错误,则存储器控制器6取消工作空间4,并且在对于CMD 12的响应信号上向主机设备2发送关于写入故障的错误信息。主机设备在S17检测到 错误,并且停止更新处理。<步骤19>替换处理如果正确完成了向工作空间4的数据写入,存储器控制器6执行替换处理,其中将 工作空间4分配为在主机设备2的启动时使用的引导分区34,以及将引导1分区34分配给 工作空间4。在完成了替换处理的时间点,工作空间4变为新的引导1分区34。然而,如果替换 处理失败,则引导1分区34保留先前的数据,并且丢弃工作空间4的内容。< 步骤 20>存储器控制器6确认替换处理是否失败。如果替换处理失败(是),则停止更新处理。<步骤S21、步骤S22、步骤S23>CMD 13的检查错误/写入错误?当完成了写入处理时(步骤S19 否),则主机设备2确认在命令CMD13的响应信 号中是否存在错误。如果使用CMD 13并且在响应信号中根本不存在错误(步骤S22 否), 则将引导加载器更新至工作空间4中的处理成功。如果在CMD13的响应信号中存在错误, 则停止更新处理。〈步骤S24>如果替换处理没有失败(步骤S24 否),主机设备2再次将引导1分区34设置为 写入保护状态,并完成更新处理。应注意,在上述处理中,即使在更新处理的任意步骤停止了更新处理,由于在引导 1分区34中存储了更新处理之前的引导代码,所以主机设备2可启动。即使终止了更新的序列,则本实施例的存储器设备1可取消更新,并使用先前存 储的引导加载器。因此,可避免系统变为不能够启动的情形。换句话说,如果引导分区的更新失败,则发生如下情形,如果不能够读取先前数 据,则系统不能够被启动。然而,在存储器设备1中,通过使用工作空间4并执行写入,可以 安全地更新具有引导属性的分区中的数据。此外,即使当更新引导1分区34时,主机设备2可使用正常的存储器写入命令。换 句话说,在存储器设备1中,在更新引导1分区的处理时,可以使用与其他分区的方法不同 的方法来确保更新处理的安全性,而无需特别地用户的识别处理。应注意,如图2所示,本实施例的存储器设备1不仅具有引导1分区34,还具有引 导2分区35,后者是具有相同引导属性的第五分区,作为备份分区。换句话说,在引导2分 区35中的第五分区引导代码与引导1分区34中的第二分区引导代码相同。因此,还可使用 引导2分区35作为工作空间,并执行更新引导1分区34的处理。还可通过执行所谓的分 区交换处理来采用双安全措施,其中设置引导,从而如果在更新处理之后在引导1分区34 中存在读取错误等,则可从引导2分区35执行引导。然而,为了使用引导2分区35用于主 机设备2的启动,必须定义特定命令。因此,存储器系统1变得复杂,因此,交换处理同样具 有不利的方面。<第二实施例>接下来,将参照图8描述本发明的第二实施例的存储器系统10A(未示出)。图8 9是说明更新存储器系统IOA中的代码分区33中的数据的方法的说明性视图。由于本实施 例的存储器系统IOA的基础配置基本与第一实施例的存储器系统10相同,所以在下文,相 同组件与相同标号关联,并省略其描述,仅描述与存储器系统10的不同点。在存储器系统IOA中,当更新代码分区33中的数据时,使用取决于代码属性的数 据更新方法。与引导分区34类似,代码分区33是在更新处理失败时系统自身不能够启动 的分区。因此,在存储器系统IOA中,同样为了代码分区33中的数据的更新,为了执行最大 安全性的更新,与引导分区34的更新类似,使用如下方法,其中在存储器部分5中确保与代 码分区33大小相同大小的工作空间4,并且执行更新。换句话说,由于代码分区33由文件系统管理,尽管可更新文件的一部分,但是如 果通过正常写入命令执行随机写入,则可发生所谓的“移动”,并且多次写入代码数据。如果 在更新处理期间电源发生故障,则可能破坏代码分区33中的数据。因此,尽管能够以类似 于向具有数据属性等的分区写入的方法向代码分区33中直接写入和对其更新,但是如下 连续写入提供了更高的安全性其中执行一次向另一分区的写入,并随后执行从其开始的 顺序向代码分区33的写入。然而,引导分区35是具有相对小容量的分区,而代码分区33的容量未知。因此, 在代码分区33中,在存储器部分5中不一定能够确保具有与代码分区33的容量相同的容 量的工作空间4。因此,在更新代码分区33的处理中,如果在存储器部分5中不能够确保工作空间 4,则存储器控制器6使用如下方法在存储器部分3的另一分区(例如数据分区31)中构 建更新所需的程序。图8示出在存储器部分5中不能够确保工作空间4时更新在代码分区33中存储 的程序的方法的实例。在图8所示的实例中,将代码1和代码3从旧代码1和旧代码3更新至分别是新 的新代码1和新代码3,并且代码2和代码4是没有更新的旧代码2和旧代码4。如图8 (A)所示,首先,存储器控制器6严格确保在数据1分区31中具有与代码分 区33的大小相同大小的分区,工作空间区域31A,这是与不包括FAT (文件分配表)数据的 代码分区33具有相同大小的区域。然后,如图8(B)所示,存储器控制器6将施加了更新处理的新代码1和新代码3 写入工作空间区域31A,并且同时将没有更新的旧代码2和旧代码4从代码分区33复制到 工作空间区域31A。存储器控制器6在系统存储器部分7中生成在更新处理之后用于新代 码分区的FAT数据。换句话说,如图8(C)所示,在工作空间区域31A中,构建如下状态其中在连续状 态下存储没有施加更新处理的旧代码2和旧代码4以及施加了更新处理的新代码1和新代 码3。应注意,对于更新代码分区33的处理,通过选择分区命令选择要更新的代码分区 33。代码分区33已通过保护装置被正常地设置为写入保护状态,以防止被病毒等篡改,类 似于具有引导属性的分区。因此,在代码分区33中的写入保护状态通过指定方法来禁用。 即使更新了代码分区33,主机设备2可使用正常存储器写入命令,因为控制存储器设备1的 存储器控制器6等识别出所选分区的属性为“代码”。因此,即使存储器控制器6从主机设备2接收到与正常存储器写入命令相同的存储器写入命令,存储器控制器6通过向具有代 码属性的分区写入的方法执行更新处理。然后,如图8 (D)所示,存储器控制器6通过从开始地址依次写入来执行向代码分 区33中的数据写入,从而可能不发生“移动”。换句话说,存储器控制器6依次向代码分区 33中写入在系统存储器部分7中存储的FAT数据,以及没有施加更新处理的数据和施加了 更新处理的数据,他们两者存储在工作空间区域31A中。在存储器系统IOA中,即使在存储器部分5中不能够确保具有更新处理所需大小 的工作空间,可以使用与向其他分区写入的方法不同的方法来确保代码分区33的更新处 理的安全性。如上所述,在存储器系统IOA中,作为分区之一的第三分区33是具有代码属性作 为属性的分区33,其中存储了主机设备2的OS程序的数据。在第三分区33中更新数据的 方法包括,在第四分区31中存储旧代码2和旧代码4(他们是没有更新的数据),以及新代 码1和新代码3 (他们是更新的数据),两者存储在第三分区33中,所述第四分区31是可在 其中存储在第三分区33中存储的主机设备2的OS程序的数据的分区之一;在系统存储器 部分7中存储在更新处理之后在第三分区33中的文件分配表(FAT);以及执行依次写入, 其中向第三分区33中依次写入在系统存储器部分7中存储的文件分配表、以及旧代码2和 旧代码4 (他们是没有更新的数据),以及新代码1和新代码3 (他们是更新的数据),两者 存储在第四分区33中。应注意,在存储器系统IOA中,例如,优选地,在更新代码区域33的处理期间建立 标志50,S卩,在开始更新代码分区33中的数据的处理之前设置更新标志50,并在完成了更 新处理时清除更新标志50。然后,在存储器系统IOA中,在重启主机设备2的情况下,如果 代码分区33中的更新标志50已经建立,即,更新标志50处于仍旧被设置的状态,则可识别 出系统崩溃。然后,在存储器系统IOA中,优选地,配置了引导加载器的程序,从而重新安装 代码分区33,而无需执行启动主机设备2的处理。换句话说,在存储器系统IOA中,可通过在代码分区33中使用更新标志50来避免 系统不能够被重启的风险。换句话说,存储器系统IOA具有如下机制,其被配置为如果不能 够在更新代码分区33的处理期间正确执行更新,则停止系统的启动并恢复系统。如果在第二分区35中存储的引导代码不能够在启动时间被读取,则上述存储器 系统IOA读取在工作空间4中存储的引导代码。此外,如果通过读取在工作空间4中存储 的引导代码执行了启动,存储器系统IOA向第二分区35中写入在工作空间4中存储的引导 代码。此外,存储器系统IOA是这样的存储器系统,其在更新第二分区中的数据的处理开始 之前设置更新标志50,并在完成了更新处理时清除更新标志50,如果在主机设备2的启动 时已经设置了更新标志50,则不执行启动主机设备2的处理,再次执行FAT生成和依次写入 的处理,并随后启动主机设备。接下来,通过使用图9来描述存储器设备1的保护装置。图9是说明存储器设备 1的保护装置的说明性视图。在设置了多个分区的存储器设备1中,在分配分区的配置处理之后,安装存储器 设备1的系统文件和应用文件。随后,运送存储器设备1,并使其进入用户使用的状态。此外,如上所述,还在用户使用时更新存储器设备1的引导分区34和代码分区33。
然而,为了稳定存储器系统10,尽管可在开发阶段改变分区的配置,但是优选地, 用户不需要在运送之后改变分区的配置。同样对于引导分区34或代码分区33,为了防止被 病毒等篡改,存储器设备1优选地具有写入保护功能。换句话说,存储器设备1具有配置保护(CP)和系统写入保护(SWP)的两个不同保 护装置,并且通过各个保护装置执行分区配置的保护,以及对引导分区34或代码分区33的 保护。例如,存储器设备1可分别通过如下设置两个保护装置(即两个参数)来设置分区 配置、以及引导分区34或代码分区33的保护。配置保护(CP)CP = O:启用重新配置CP = 1 禁用重新配置系统写入保护(SWP) SWP = 0 启用写入SffP = 1 禁用写入以下,根据图9,将描述存储器设备1的保护装置。图9(1)示出在还没有划分分区的初始状态的存储器设备1的存储器部分3A。图9 (2)示出在通过配置处理设置了分区的配置的状态下的存储器部分3。已用分 区数目15将分区的配置写入信息分区36。在完成了分区的配置之后,通过命令设置CP = 1 (设置配置保护)。图9(3)示出其中安装了系统并且数据已被写入引导分区34和代码分区33的存 储器部分3。如果必要,也将数据写入数据分区31和32。然后,在通过命令设置SWP = 1 (设 置系统写入保护)的状态下运送存储器设备1。图9(4)示出如果期望在运送之前改变分区的配置,则可通过专用命令序列执行 CP = 0的清除(重新配置)。图9(5)示出在由用户使用的情况下的存储器设备1的存储器部分3A。图9(6)示出如下状态下的存储器设备1的存储器部分3A,在上述状态下,如果更 新引导分区34或代码分区33的处理变为必要,则通过一个专用命令序列执行SWP = 0的 清除(清除系统写入保护)并从而临时允许写入。在更新引导分区34或代码分区33的处 理之后,SffP返回至SWP = 1。存储器设备1具有被配置为禁用划分的存储器部分3的重新配置的第一保护装置 SffP,以及被配置为禁用向各个分区的写入的第二保护装置CP。因此,存储器设备1具有以 下优点。在设备制造者针对存储器设备1中的分区执行配置处理并且执行运送的情况下, 如果设备制造者运送具有CP = 1的存储器设备1,则可禁用存储器设备1的分区的配置的
重新配置。设备制造者(eSD设备制造者)向系统卖方传送具有CP = 0的设备,并且系统卖 方针对分区执行配置处理,并随后执行具有CP = 1的运送。在运送之后,禁用存储器部分 3的重新配置。设备制造者具有被配置为清除CP = 1的装置,因此可控制系统卖方执行的 重新配置处理,即,是否允许重新配置,或重新配置的次数。存储器设备1可通过运送具有SWP = 1的设置的存储器设备1防止篡改。设备制 造者还通过实现被配置为在存储器设备1中执行SWP = 0清除的装置来使得分区能够被更 新。可通过清除装置控制存储器设备1的各个保护装置的设置状态,即安全等级。
如上所述,存储器设备1是这样的存储器设备1,其可连接至主机设备2,包括存 储器部分3,所述存储器部分3可存储被配置为启动主机设备2的数据并且分成了具有多个 不同属性的分区31至36,所述多个不同属性包括存储被配置为启动主机设备2的引导代码 的数据的引导属性和存储了主机设备的OS程序的数据的代码属性;第一保护装置,被配置 为禁用在划分的存储器部分中的分区的配置的改变;以及第二保护装置和第三保护装置, 被配置为禁用向每个分区的写入,所述第一保护装置是唯一的并且可针对个体存储器设备 1设置的保护装置,所述第二保护装置是针对个体存储器设备1设置的,或者可单独地针对 具有引导属性和代码属性的分区设置清除方法的唯一保护装置,并且第三保护装置是可通 过具有单个设置清除装置的命令来设置的共同保护装置。存储器系统10可禁用分区的重新配置,并且可防止系统程序被病毒等篡改。如上所述,本发明的存储器系统如下。一种存储器系统,包括主机设备和存储器设备,所述存储器设备可连接至主机设 备并具有存储器部分和存储器控制器,其中存储器部分可分成具有多个不同属性的分区;以及从向分区写入数据的多个不同写入方法中,使用依据分区属性选择的写入方法中的一个执行更新处理。参照附图描述了本发明的优选实施例,但是应理解,本发明不限于那些精确实施 例,并且在不脱离所附权利要求中定义的本发明的精神和范围的情况下本领域普通技术人 员可以对其进行各种改变和修改。本申请基于2008年3月21日递交的日本专利申请No. 2008-74258,并主张其优先 权利益,并且其公开通过引用并入在本申请的说明书、权利要求书和附图中。
权利要求
一种在存储器设备中存储的数据更新方法,所述存储器设备可连接至主机设备并具有存储器部分和存储器控制器,其中所述存储器部分具有可分成具有多个不同属性的分区的第一存储器部分,以及由所述存储器控制器管理的工作空间;以及在向分区写入数据的多个不同写入方法中,使用依据分区的属性选择的写入方法中的一个执行更新处理。
2.如权利要求1所述的数据更新方法,其中所述存储器设备可在任意分区中存储和更新被配置为启动主机设备的数据。
3.如权利要求1所述的数据更新方法,其中作为分区之一的第一分区是具有信息属性的分区,其中存储了关于多个分区中的每个 的存在或不存在信息、属性信息和大小信息;以及所述第一分区中的信息对应于所述写入方法中所选择的一个。
4.如权利要求1所述的数据更新方法,其中更新第二分区中的数据的方法包括以下步骤,所述第二分区是具有引导属性作为属性 的分区,其中存储被配置为启动主机设备的引导代码的数据,所述步骤包括顺序写入,其向工作空间中依次写入都存储在第二分区中的没有更新的数据和更新的 数据,所述工作空间具有其中可存储第二分区中存储的数据的大小; 正常终止确认,其确认正常终止了向所述工作空间的写入;替换,如果在正常终止确认时能够确认正常终止了写入,则通过存储器设备使得所述 工作空间和所述第二分区彼此替换;以及更新处理停止,如果在正常终止确认时不能够确认正常终止了写入,则停止更新处理 并丢弃在所述工作空间中记录的数据。
5.如权利要求1所述的数据更新方法,其中 所述主机设备具有系统存储器部分;作为分区之一的第三分区是具有代码属性作为属性的分区,其中存储了主机设备的系 统数据和系统管理程序;以及一种在第三分区中更新数据的方法包括在第四分区中存储被更新的第三分区中的数据,所述第四分区是在其中可存储第三分 区的大小的分区之一;FAT生成,其在所述系统存储器部分中存储在更新处理之后的所述第三分区中的文件 分配表;以及顺序写入,其向所述第三分区中依次写入在所述系统存储器部分中存储的文件分配表 以及已经更新并在所述第四分区中存储的第三分区数据。
6.如权利要求1所述的数据更新方法,其中 所述存储器部分是NAND型闪速存储器。
7.如权利要求1所述的数据更新方法,其中所述存储器部分是用于多值记录的NAND型闪速存储器;以及 属性不同的分区的物理特征是不同的。
8.如权利要求7所述的数据更新方法,其中所述物理特征由所述存储器控制器来管理和控制,并且是以下中的至少一个向所述 分区写入数据所需的时间、读取数据所需的时间、可写入数据的次数、可读取数据的次数、 和存储的数据的可靠性。
9.一种主机设备,被配置为执行根据权利要求4的数据更新方法,其中 在启动时,如果不能够读取在第二分区中存储的第二分区引导代码, 则读取在第五分区中存储的第五分区引导代码。
10.如权利要求9所述的主机设备,其中如果已通过读取在第五分区中存储的第五分区引导代码来执行启动, 则将在第二分区中存储的第二分区引导代码再次写入第二分区。
11.一种存储器系统,被配置为执行根据权利要求5的数据更新方法,包括 由存储器控制器管理的更新标志,其中在针对第三分区启动顺序写入之前,设置所述更新标志,以及当完成更新处理时,清除 所述更新标志;以及如果在为了启动主机设备而读取第三分区中的数据时已经设置了更新标志,则存储器 控制器向主机设备通知读取错误; 从而停止启动主机设备的处理; 再次执行FAT生成和顺序写入;以及 随后重启主机设备。
12.—种可连接至主机设备的存储器设备,包括存储器部分,其可存储被配置为启动主机设备的数据并且被分成具有多个不同属性的 分区,所述多个不同属性包括存储被配置为启动主机设备的引导代码的数据的引导属性, 以及存储主机设备的OS程序的数据的代码属性;第一保护单元,其被配置为禁用在划分的存储器部分中的分区的配置的改变,并且是 唯一的并且可针对存储器设备设置的保护单元;第二保护单元,其被配置为禁用向分区中的每个的写入,并且是针对存储器设备设置 的,或者可单独地针对具有引导属性和代码属性的分区设置清除方法的唯一保护装置;以 及第三保护单元,其被配置为禁用向分区中的每个的写入,并且是可通过具有单个设置 清除单元的命令来设置的共同保护单元。
13.如权利要求12所述的存储器设备,其中 所述存储器部分是NAND型闪速存储器。
14.如权利要求12所述的存储器设备,其中所述存储器部分是用于多值记录的NAND型闪速存储器;以及 属性不同的分区的物理特征是不同的。
15.如权利要求14所述的存储器设备,其中所述物理特征是以下中的至少一个向所述分区写入数据所需的时间、读取数据所需 的时间、可写入数据的次数、可读取数据的次数、和存储的数据的可靠性。
全文摘要
一种数据更新方法、存储器系统和存储器设备,其中存储器设备可连接至主机设备并具有存储器部分和存储器控制器,存储器部分包括可分成具有多个不同属性的分区的第一存储器部分以及由所述存储器控制器管理的工作空间,更新在存储器设备中存储的数据的方法使用依据分区的属性从向分区写入数据的多个不同写入方法中选择的写入方法中的一个执行更新处理,并且可安全地更新数据。
文档编号G06F12/02GK101978357SQ20088012825
公开日2011年2月16日 申请日期2008年9月9日 优先权日2008年3月21日
发明者藤本曜久 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1