将闪存模块用作主存储器的电子系统和相关系统引导方法

文档序号:6458312阅读:138来源:国知局
专利名称:将闪存模块用作主存储器的电子系统和相关系统引导方法
技术领域
本发明涉及电子系统,更具体地讲,涉及使用闪存模块的电子系统。
背景技术
电子系统(例如,个人计算机、笔记本电脑等)一般使用硬盘驱动器作为 该系统的主存储器单元(即,存储应用程序、操作系统和其他软件和数据的存 储器单元)。由于与压缩盘、软盘和其他替代存储器装置相比,硬盘相对便宜 和/或可具有相对高的容量,因此通常使用硬盘。电子系统的运行速度可受到包括例如系统处理器的处理速度、高速緩冲 存储器大小和包括在系统中的存储器总量的多个因素的限制。主存储器单元 的性能也可以是限制电子系统的运行速度的因素。由于硬盘驱动器通过机械 地驱动磁盘以便读取并写数据而运行,因此很难以低成本高效地提供硬盘驱 动器运行速度的显著增加。闪存是已知类型的半导体存储器。近年来,已经在闪存装置的集成度和 生产这种装置的成本上作出很大发展。作为这些发展的结果是,现今闪存装 置在一些电子系统中被用作主存储器。闪存模块是指包括一个或多个闪存芯 片的模块,这些闪存芯片可被插入计算机或其他电子系统的存储器槽中。为 了增加主存储器的容量,附加闪存模块可被插入存储器槽中。此外,必要时 可从存储器槽中移除一些闪存模块。当将闪存模块插入存储器槽中或者从存 储器槽中移除闪存模块时,需要改变例如存储在CMOS RAM中的装置信息 和/或存储在闪存模块中的文件分配表(FAT)信息。发明内容本发明的一些实施例提供当插入/移除用作主存储器的闪存模块时,自动更新电子系统中的装置信息的方法以及用于这种系统的引导方法。根据本发明的特定实施例,提供了执行通电自测的引导电子系统的方法。 对耦合到电子系统的闪存模块的数量是否已经改变进行确定。响应于确定耦 合到电子系统的闪存模块的数量已经改变,读取耦合到电子系统的闪存模块的每一个的FAT(文件分配表)信息。产生包括闪存模块的每一个的FAT信息 的SFAT(超FAT)信息。这种SFAT信息随后被写入引导闪存模块中。在一些 实施例中,引导闪存模块可包括引导文件。在一些实施例中,确定耦合到电子系统的闪存模块的数量已经改变的步 骤包括确定耦合到电子系统的闪存模块的数量与存储在CMOS RAM中的 关于耦合到电子系统的闪存模块的数量的信息不同。在一些实施例中,闪存模块的每一个包括第一区域,存储FAT信息; 第二区域,存储将从电子系统输入的逻辑地址转换为物理地址的映射信息; 和第三区域,存储用户数据。SFAT信息可被存储在引导闪存模块的第一区域 中。在另一些实施例中,所述方法还可包括产生所有闪存模块的每一个的 新的映射信息,并将新的映射信息写入闪存模块的每一个的第二区域。根据本发明的另一些实施例,提供了电子系统,包括存储器槽;存储 器槽中的至少一个闪存模块;BIOS ROM,存储BIOS代码;和处理器。该处 理器可被配置以执行BIOS代码,来执行通电自测(POST),当存储器槽中的 闪存模块的数量已经改变时,产生超文件分配表(SFAT)信息,并将SFAT信息 写入闪存模块的引导闪存模块中,所述超文件分配表信息包括存储器槽中的 闪存模块的每一个的文件分配表(FAT)信息。在一些实施例中,电子系统可还包括存储装置信息的CMOSRAM,并 且当存储在CMOS RAM中的装置信息与检测的存储器槽中的闪存模块的数 量不相同时,处理器可确定存储器槽中的闪存模块的数量已经改变。


包括附图来提供对本发明的进一步理解,并且附图并入说明书并且作为 说明书的一部分。附图示出本发明的实施例和描述,用于解释本发明的原理。 在附图中图1是示出根据本发明特定实施例的计算机系统的组件的框图;图2是示出根据本发明特定实施例的图1的南桥的执行的框图;图3是示出根据本发明特定实施例的在已经移除闪存模块或者新的闪存模块被插入存储器槽中之后引导计算机系统的方法的流程图;图4是示出根据本发明特定实施例的图3的方法的超文件分配表(SFAT)更新操作的流程图。
具体实施方式
现在将参照附图更全面地描述本发明的实施例,本发明的实施例在附图 中显示。然而,本发明可以以许多不同形式来实现,并且不应被解释受这里 阐述的实施例的限制。然而,提供这些实施例从而此公开将是彻底和完整的, 并将把本发明的范围全面传达给本领域的技术人员。相同的标号始终表示相 同的部件。将理解,尽管这里可使用术语第一、第二等来描述各种元件,但是这些 元件可不受这些术语的限制。这些术语仅用于将一个元件与另一元件区分。 在不脱离本发明的范围的情况下,例如,第一元件可被称为第二元件,类似 地,第二元件也可被称为第一元件。如这里使用的,术语"和/或"包括一个 或多个相关列出的项的任意和所有组合。将理解,当元件被称为"连接"或"耦合"到另一元件时,该元件可直 接连接或耦合到另一元件或者可存在插入元件。相反,当元件被称为"直接 连接"或者"直接耦合"到另一元件时,不存在插入元件。用于描述元件之 间的关系的其他字词应以相似的方式(即,"之间"对"直接之间"、"相邻" 对"直接之间"等)被解释。这里使用的术语仅为了描述特定实施例的目的,而不意图限制本发明。 如这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数 形式。还应理解的是,当在这里使用术语"包含"和/或"包括"时,说明存 在所述特征、操作、元件和/或组件,但不排除存在或附加一个或多个其它特 征、整体、步骤、操作、元件、组件和/或它们的组。除非相反的定义,否则这里使用的所有术语(包括技术术语和科学术语) 具有与本发明所属领域的普通技术人员通常理解的相同意思。将理解,除非和相关技术的意思一致的意思,并且将不以理想化或过于正式的含义来解释它们。图1是根据本发明特定实施例的计算机系统100的框图。计算机系统100 包括可用作中央处理单元的处理器110、图形控制器120、北桥130、主存 储器140、 BIOS ROM(基本输入/输出系统只读存储器)150、电池155、南桥 160、存储器槽170、 一个或多个闪存模块180和硬盘驱动器190。将理解计 算机系统100可包括其他装置,例如高速緩沖存储器、调制解调器、并行或 串行接口、 SCSI接口、网络接口卡、各种总线和/或子系统、和/或输入/输出 装置,例如键盘、鼠标和打印机。还将理解,不是计算机系统100的所有组 件需要被单独实现。例如,北桥130和南桥160可在单一芯片上(或单独芯片) 上实现。如图1所示,处理器110可被耦合到北桥130。北桥130可以提供处理 器110、图形控制器120、主存储器140和PCI总线132之间的接口。南桥 160可提供PCI总线132和连接到各种外围设备、装置和子系统的接口之间 的接口 。北桥130提供处理器110、图形控制器120、主存储器140、耦合到PCI 总线132的装置、耦合到南桥160的装置和子系统之间的通信访问。主存储 器140可包括随机存取存储器(RAM)。南桥160被耦合到PCI总线132,并且通过另一总线(未显示)(例如,X 总线或ISA总线)提供PCI总线132和各种装置和子系统(例如,调制解调器、 打印机、鼠标等)之间的接口 。南桥160通过存储器槽170被耦合到闪存模块 180。南桥160可被耦合到硬盘驱动器190或CD或DVD驱动器、高容量存 储装置、zip驱动器和CDRW驱动器,并且从电池155接收电源。以可将多个闪存模块180插入到存储器槽170中的方式来构建存储器槽 170。将理解,存储器槽170可包括单个槽或多个槽(被统称为存储器槽170)。 插入存储器槽170的闪存模块180的数量可被改变为存储器槽170允许的最 大数量。在将闪存模块180用作主存储器单元的计算机系统100中,引导文件和 操作系统可被存储在闪存模块180中。现今闪存被广泛用于移动嵌入式系统应用中,这是因为闪存具有超过其 他存储器选项的几个优点,包括快的访问速度、低功率消耗和非易失性, 非易失性是指即使供应到闪存的电源中断,闪存也维持存储的数据的事实。然而,与硬盘不同,如果闪存的扇区已经包含数据,则闪存的扇区不能重写。 这样,对于闪存,在将新的数据写入扇区之前,包含将被写入数据的扇区的 整个存储器块被擦除。为了执行这种擦除操作,已经将逻辑块和物理块的概 念引入闪存。具体地讲,已经开发映射逻辑块和物理块的方法,并且在电源 断电之后再次供电时,映射表的维持和管理对于保护闪存的性能以及确保先 前操作的数据完整性非常重要。由于闪存主要用作高容量存储器,因此当再次对装置供电时,完好恢复 在停电之前执行的操作的数据非常重要。因此,当执行操作时,可维持与操 作相关的信息,例如相应数据的逻辑和物理地址、操作的类型、纠错码(ECC) 信息、块磨耗、和/或保护数据完整性的有效掩码。这种状态信息被称为元数 据,上述映射表也包括元数据。元数据是指示当前闪存的操作状态的索引。 这样,访问元数据的频率可以非常高。管理元数据的方法可根据使用闪存的电子系统的类型而改变。通常,由 于即使在断电之后也应该维持元数据,因此,分配闪存的预定区域,并且每 当执行操作时将元数据写入此预定区域。闪存模块180包括上述的元数据。当新的闪存模块180插入存储器槽170 时,每一闪存模块180的元数据应被改变。图2是示出根据本发明特定实施例的图1的南桥160的执行的框图。控制器164。 CMOS RAM 162可包括系统构成数据。系统构成数据包含关于 作为计算机系统100的部分的装置的信息和计算机系统的操作环境信息,例 如当前日期和时间、是否连接软盘驱动器、引导驱动器信息、硬盘信息、 电源管理信息等。CMOS RAM 162也可存储管理耦合到南桥160的闪存模块 的数量的信息。依靠从耦合到南桥160的电池155供应的电源,CMOS RAM 160能够维持存储的数据。用户可通过例如BIOS建立菜单来改变存储在 CMOS RAM 162中的建立信息。存储器控制器164控制对闪存模块180的访问。在图2的例子中,假设 多达四个的闪存模块180可被插入存储器槽170,闪存模块180可被分别指 定为闪存模块181-184。存储器控制器164可包括映射表管理单元210和SFAT 管理单元220。闪存模块181-184被耦合到存储器槽170。尽管图2示出三个存储器模块181-183被耦合到存储器槽170,并且可以插入一个附加的闪存模块184, 但是将理解,在其他实施例中,存储器槽170可保持多于(或少于)四个闪存模 块,并且使用的闪存模块的实际数量可改变到存储器槽170允许的最大数量。闪存模块181-184的每一个可包括存储文件分配表(FAT)信息的区域、存 储映射表的区域和存储用户数据的用户数据区域。映射表可包括映射信息以 及上述元数据,映射信息用于将从处理器110输入的逻辑块地址转换为物理 块地址。这里被称为引导闪存模块181的闪存模块之一(这里是模块181)包含 存储超FAT(SFAT)信息的引导文件。SFAT信息是指其他闪存模块182-184的 每一个的FAT信息以及闪存模块181的FAT信息。存储器控制器164中的映射表管理单元210管理闪存模块181的映射表。 SFAT管理单元220管理引导闪存模块181中的SFAT信息。SFAT信息包括 耦合到计算机系统100的闪存模块181-184的每一个的SFAT信息。当移除耦 合到存储器槽170的闪存模块181-183之一时,或者当新的闪存模块184插 入存储器槽170时,引导闪存模块181中的SFAT信息应被更新。同样,当 移除耦合到存储器槽170的闪存模块181-183之一时或者当新的闪存模块184 插入存储器槽170时,每个存储器模块的映射表应被更新。图1的BIOS ROM 150存储基本输入/输出系统(BIOS)代码。BIOS代码 是控制并测试计算机系统100(例如,计算机系统100的通电自测)的嵌入式软 件。在根据本发明实施例的计算机系统100中,BIOS代码将存储在CMOS RAM 162中的系统构成信息(即,耦合到存储器槽170的闪存模块的数量)与 被检测将被耦合到存储器槽170的闪存模块的数量进行比较。当两个数量彼 此不相同时,检测的闪存模块的数量被写入CMOS RAM 162,并且对更新 SFAT信息执行控制操作。也就是,当从存储器槽170移除闪存模块或者新的 闪存模块插入存储器槽170时,计算机系统100自动检测闪存模块的添加或 移除,并且执行新的设置。因此,计算机系统100可被正常引导和运行。图3是示出当图2的闪存模块181-183之一被移除或者新的闪存模块184 插入存储器槽170时,引导计算机系统(例如,计算机系统100)的方法的流程 图。参照图3,响应于正供应到计算机系统100的电源,计算机系统被初始 化(操作300)。存储在BIOS ROM 150中的BIOS代码命令随后被处理器110处理以执行通电自测(POST)硬件(H/W)测试(操作310)。在操作320中,BIOS代码确定由存储在CMOS RAM 162中的闪存模块 信息指示的闪存模块的数量是否等于检测的闪存模块的数量。当这两条信息 彼此不相同时,确定已经插入新的闪存模块184,或者已经移除闪存模块181- 183之一。在这种情况下,在操作330执行SFAT更新。如果这两条信息 彼此相同,则确定闪存模块的数量没有改变,因此控制操作进行到操作340。在操作340, BIOS代码识别引导位置(即,引导计算机系统的代码的位 置)和与引导位置相应的引导块。尽管引导位置可以是软盘驱动器、硬盘驱动 器、CD-ROM或者远程位置,但是本实施例的引导位置是引导闪存模块181。 BIOS代码通过调用引导闪存模块181的引导块来驱动操作系统,以引导计算 片几系统100。图4是示出图3的SFAT更新操作330的流程图。在图4的方法中,假 设耦合到存储器槽170的所有闪存模块181-184使用相同的FAT。此外,引 导闪存模块181存储SFAT以及其自己的FAT, SFAT包括其他闪存模块182- 184的每一个的FAT。在图4的示例中,假设存储在CMOS RAM 162中 的闪存模块信息指示三个存储器模块181-183耦合到存储器槽170,而事实上 第四闪存模块184也已经耦合到存储器槽170。参照图4,在操作410, BIOS代码控制南桥160产生新的SFAT信息。 SFAT管理单元220从耦合到存储器槽170的闪存模块181-184的每一个读取 FAT。在操作420,映射表管理单元210产生适合于闪存模块181-184的每一 个的映射表。在操作430,映射表管理单元210将新产生的映射表存储在闪 存模块181-184的每一个中。在操作440, SFAT管理单元220从闪存模块 181-184的每一个的FAT信息产生SFAT信息。在操作450, SFAT管理单元 220将新产生的SFAT信息写入引导闪存模块181。最终,BIOS代码将闪存 模块的新数量存储在CMOS RAM 162中。根据SFAT和映射表更新,计算机 系统100可被正常引导,并且可保护稳定操作。根据本发明实施例,当用作主存储器单元的闪存模块被插入计算机系统 100或其他电子系统,或者从计算机系统100或其他电子系统移除用作主存 储器单元的闪存模块时,电子系统中的装置信息可被自动改变。因此,计算 机系统被正常引导,并且可保护稳定操作。上述主题内容将被认为是示例性的,而不是限制性的,并且权利要求覆盖落入本发明的精神和范围的所有修改、增加和其他实施例。因此,为了达 到法律允许的最大程度,将由权利要求及其等同物的广泛可允许的解释来确 定本发明的范围,并且本发明的范围不应受到以上的详细描述的限制。在附图和说明书中,已经公开了本发明的特定实施例,尽管采用了特定 术语,但是特定术语仅被使用在一般和描述性意义上,并且不是限制目的, 本发明的范围在权利要求书中阐述。
权利要求
1、一种引导电子系统的方法,该方法包括执行通电自测;确定耦合到电子系统的闪存模块的数量已经改变;响应于确定耦合到电子系统的闪存模块的数量已经改变,读取耦合到电子系统的闪存模块的每一个的文件分配表信息;产生超文件分配表的信息,超文件分配表的信息包括闪存模块的每一个的文件分配表信息;将超文件分配表的信息写入引导闪存模块,引导闪存模块是闪存模块之一。
2、 如权利要求l所述的方法,其中,引导闪存模块包括引导文件。
3、 如权利要求l所述的方法,其中,确定耦合到电子系统的闪存模块的 数量已经改变的步骤包括确定耦合到电子系统的闪存模块的数量与存储在 CMOS RAM中的关于耦合到电子系统的闪存模块的数量的信息不同。
4、 如权利要求1所述的方法,其中,闪存模块的每一个包括第一区域, 存储文件分配表信息;第二区域,存储将从电子系统输入的逻辑地址转换为 物理地址的映射信息;和第三区域,存储用户数据。
5、 如权利要求3所述的方法,其中,读取文件分配表信息的步骤包括 读取存储在闪存模块的每一个的第 一 区域中的文件分配表信息。
6、 如权利要求4所述的方法,其中,写入超文件分配表的信息的步骤包 括将超文件分配表信息写入引导闪存模块的第 一 区域。
7、 如权利要求4所述的方法,还包括 产生闪存模块的每一个的新的映射信息; 将新的映射信息写入各闪存模块的第二区域。
8、 如权利要求l所述的方法,其中,电子系统包括将闪存模块用作主存 储器单元的计算机系统。
9、 一种电子系统,包括 存储器槽;存储器槽中的至少 一个闪存模块; BIOS ROM ,存储BIOS代码;处理器,被配置以执行BIOS代码,来执行通电自测,响应于确定存储器槽中的闪存模块的数量已经改变,产生超文件分配表信息,并将超文件分 配表信息写入引导闪存模块,引导闪存模块是闪存模块之一,所述超文件分 配表信息包括存储器槽中的闪存模块的每一个的文件分配表信息。
10、 如权利要求9所述的电子系统,还包括存储装置信息的CMOS RAM, 其中,当存储在CMOS RAM中的装置信息与检测的存储器槽中的闪存模块的数量不相同时,处理器确定存储器槽中的闪存模块的数量已经改变。
11、 如权利要求IO所述的电子系统,其中,BIOS ROM还包括引导文件 搜索程序,其中,处理器还被配置为根据引导文件搜索程序搜索闪存模块以定位 引导闪存模块中的引导文件,并且将超文件分配表信息写入引导闪存模块。
12、 如权利要求11所述的电子系统,其中,闪存模块的每一个包括 第一区域,存储文件分配表信息;第二区域,存储将从电子系统输入的逻辑地址转换为物理地址的映射信 息;和第三区域,存储用户数据。
13、 如权利要求9所述的电子系统,其中,电子系统包括计算机系统。
14、 一种引导具有耦合一个或多个闪存模块的计算机系统的方法,该方 法包括检测耦合到计算机系统的闪存模块的数量;将检测的闪存模块的数量与存储的关于先前耦合到计算机系统的闪存模 块的数量的信息进行比较;如果检测的闪存模块的数量与先前耦合到计算机系统的闪存模块的数量 不同,则更新存储在包括引导模块的闪存模块之一中的超文件分配表以包括 每个检测的闪存模块的文件分配表信息。
15、 如权利要求14所述的方法,其中,更新超文件分配表的步骤包括 产生包括闪存模块的每一个的文件分配表信息的新的超文件分配表。
16、 如权利要求14所述的方法,其中,更新超文件分配表的步骤包括 通过将新添加的闪存模块的文件分配表信息添加到预先存在的超文件分配 表,或者从预先存在的超文件分配表移除已移除的闪存模块的文件分配表信 息,来更新预先存在的超文件分配表。
17、 如权利要求14所述的方法,其中,存储的关于先前耦合到计算机系统的闪存模块的数量的信息包括存储在CMOS RAM中的信息。
18、 如权利要求14所述的方法,其中,闪存模块的每一个包括第一区 域,存储文件分配表信息;第二区域,存储将从计算机系统输入的逻辑地址 转换为物理地址的映射信息;和第三区域,存储用户数据。
19、 如权利要求18所述的方法,还包括 产生闪存模块的每一 个的新的映射信息; 将新的映射信息写入各闪存模块的第二区域。
全文摘要
提供将闪存模块用作主存储器的电子系统及其引导方法。引导方法可包括当检测到耦合到电子系统的闪存模块的数量改变时,读取耦合到电子系统的闪存模块的每一个的FAT(文件分配表)信息;产生包括闪存模块的每一个的FAT信息的SFAT(超FAT)信息;将SFAT信息写入引导闪存模块。因此,当插入或移除使用的闪存模块时,可自动改变电子系统中的装置信息。
文档编号G06F9/445GK101246429SQ20081000990
公开日2008年8月20日 申请日期2008年2月13日 优先权日2007年2月13日
发明者崔成业 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1