能够进行闪速存储器存储管理的集成电路的制作方法

文档序号:6566668阅读:171来源:国知局
专利名称:能够进行闪速存储器存储管理的集成电路的制作方法
技术领域
本发明涉及一种能够进行闪速存储器存储管理的集成电路。
技术背景一个传统的计算机系统可以包括主处理器,其运行一个或多个操 作系统和应用程序;以及闪速存储器,其存储系统级信息。在传统的 计算机系统中,主处理器、操作系统和应用程序可能试图向闪速存储 器顶部写入数据,以存储操作系统运行时间变量、固件变量或引导代 码信息。然而,闪速存储器的大小是有限制的,许多试图写入闪速存 储器的资源可能超过闪速存储器的容量。


通过下面的"具体实施方式
"的进行,并且参考"说明书附图", 所要求的主题的实施例的特征和优势将变得显而易见,其中在附图中 相同的标号表示相同的部分,并且其中图1是说明一个系统实施例的图;图2A是说明根据图1的实施例的示例性存储设备的图; 图2B是说明根据图1的实施例的示例性闪速存储器的图; 图3是说明根据一个实施例的平台管理控制器的图; 图4是说明另一个系统实施例的图; 图5是说明根据一个实施例的示例性操作的图;以及 图6是说明根据另一个实施例的示例性操作的图。 虽然下面的"具体实施方式
"将参考说明性实施例来进行,但是 许多替换、修改及其变化对本领域技术人员来说将是显而易见的。因 此,所要求的主题旨在从广泛的角度考虑,并仅如所附权利要求中阐 明的那样来限定。
具体实施方式
图1说明了所要求的主题的一个系统实施例100。该系统100 — 般可以包括主处理器112、第一总线122、第二总线126、用户接口 系统116、芯片集114、系统存储器121、平台管理控制器电路110 和闪速存储器106。这个实施例还可以包括存储设备118。存储设备 118例如可以包括磁的、光的和/或半导体介质,例如,硬盘设备。主 处理器112可以包括现有技术中己知的任何种类的处理器,如可从本 申请的受让人处商业获得的Intel Pentiun^IV处理器。总线122、 126 可以包括各种传送数据和命令的总线类型。例如,总线122可以遵守 2002年7月22日公布的外围元件互连(PCI)ExpressTM基础规范修订 本l.O(下文中称为"PCI Express 总线"),该修订本可从美国俄勒 冈州波特兰市的PCI专业兴趣组获得。总线126也可以遵守串行外设 接口(SPI)规范(下文中称为"SPI总线")。处理器112、系统存储器 121、芯片集114、总线122和126、闪速存储器106以及平台管理控 制器电路110包括在单个电路板(例如母板132)中,并且这些组件可 以集中地或单独地形成主机系统。用户接口 116可以包括多种设备,用于人类用户输入命令和/或 数据,并监控诸如键盘、指示设备和视频显示器之类的系统。芯片集 114可以包括主桥虔线器系统沐示出),其使处理器112、系统存储 器121、用户接口系统116、存储设备118和平台管理控制器电路110 互相连接,并将它们连接到总线122。芯片集114还能够将闪速存储 器106、主处理器112、系统存储器121和平台管理控制器电路110 互相连接,并将它们连接到总线126。芯片集114可以包括集成电路 芯片,如可商业地从本申请的受让人处获得的集成电路芯片集中选择 的那些(如图形存储器和I/O控制器集线器芯片集),当然也可以或可 替换地使用其它集成电路芯片。系统存储器121可以包括一个或多个下述类型的存储器半导体 固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编 程存储器、随机存取存储器、闪速存储器(其可以包括例如NAND或NOR型存储器结构)、磁盘存储器和/或光盘存储器。在这个实施例中, 存储器106可以包括闪速存储器。额外地或可选地。存储器121和/ 或106可以包括其它和/或后来开发的计算机可读存储器。可机读固 件程序指令可以存储在存储器121和域106中。如下所述,这些指 令可以由主处理器112和/或平台管理控制器110访问并执行。当由 主处理器112和/或平台管理控制器110执行时,这些指令可以使得 主处理器112和/或平台管理控制器110进行这里所述的由主处理器 112和/或平台管理控制器110执行的操作。其中,主处理器112能够产生一个或多个输入/tl出(I/0)事务, 以从闪速存储器106和/或存储设备118读数据,和/或向闪速存储器 106和/或存储设备118写数据。主处理器112例如可以响应于主机系 统的引导操作、在主机系统上运行的操作系统(OS)操作和/或应用程 序(如,执行主处理器112上的一个或多个指令和/或固件指令的软件 应用程序),产生这些I/O事务。可选择地或额外地,内插式附件设 备(例如,连接到主机系统132(未示出)的内插式附件卡)和/或远程应用程序沐示出)能够产生一个或多个输入/输出(i/o傳务,以从闪速存储器106和/或存储设备118读数据,和/或向闪速存储器106和/或存 储设备118写数据。闪速存储器106能够存储引导代码信息,其可以包括,例如,内 置操作系统(BIOS)数据和/或固件变量,其可以定义在图1的系统100 中描述的主机系统的一个或多个组件的一个或多个操作特性,和/或 由图1的系统中描述的一个活多个组件所执行的应用程序数据。图 2B描述了闪速存储器106的一个示例性实施例。在这个示例性实施 例中,闪速存储器106可以包括固件引导块数据部分250、主要固件 图像数据部分252和变量空间数据部分254。固件引导块数据部分250 能够为主机系统132存储与引导过程有关的指令和域数据变量。换 句话说,当主机系统132初始化时(例如,从断电状态或系统重置开 始引导),处理器112能够通过芯片集114和总线126读取并执行存 储在闪速存储器106上的引导块数据部分250中的引导代码信息。主 要固件图像部分252可以包含包括在引导块数据部分250中的数据的 拷贝,并可以进一步包含在后引导操作期间使用的附加数据。变量空间数据部分254可以包括三个空间, 一个或多个资源可以 向其写入数据。在这个实施例中,资源可以包括,例如,主处理器 112、芯片集114和/或一个或多个连接到网络124的系统。可以写入 变量空间数据部分254的数据的种类可以包括,例如,引导代码数据、 应用程序数据和/或操作系统(OS)数据。然而,因为很多资源可能竞 争向闪速存储器106的变量空间部分254写入数据的能力,并且给定 变量空间部分254的大小有限,所以闪速存储器106可能不能支持与系统ioo有关的多种资源的所有写入数据的企图。因此,再次参考图1的实施例,平台管理控制器电路110能够控 制通过总线126对闪速存储器106的读和/或写访问,和/或通过总线 122对存储设备118的读和/或写访问。这样例如,在这个实施例中, 平台管理控制器电路110能够接收向闪速存储器106写入数据的写请 求,并将该数据写操作重定向到存储设备118。如在这里的任何实施 例中使用的,"电路"可以包括,例如,单个的或以任何组合的硬件 电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令 的固件。同样,在这里的任何实施例中,电路110可以被实现为一个 或多个集成电路,和/或形成其一部分。在这个实施例中,平台管理 控制器电路110能够与闪速存储器106(通过总线126)、芯片集114 和存储设备118(通过总线122)交换命令和数据。可选择地或附加地, 平台管理控制器电路110能够与闪速存储器106(通过总线126)、芯片 集114和存储设备118(通过总线122),以及网络124(通过网络通信 链路125)交换命令和数据。网络124可以允许一个或多个远程系统和 /或在连接到网络124的一个或多个远程系统(未示出)上运行的远程 应用程序与平台管理控制器电路110交换命令和数据,以使得能够, 例如,对闪速存储器106进行读和/或写访问。平台管理控制器电路110还能够产生对闪速存储器106和/或存 储设备118的带夕卜(out-of-band, 00B)读和/或写操作。OOB读和/或 写操作可以包括,例如,在没有来自主处理器112、芯片集114和/ 或来自在主机系统132上运行的操作系统指令或应用程序指令的进
行读和/或写操作的特定指令的情况下,进行读和/或写操作。平台管理控制器电路110能够从主处理器112接收I/O事务(这可 以响应于例如来自应用程序、OS的指令,和/或在芯片集114中运行 的固件指令),以向闪速存储器106的变量空间数据部分254写入数 据。如果在闪速存储器106的变量空间数据部分254中没有足够的空 间来向其写入数据,则平台管理控制器电路110能够通过产生与存储 设备118的1/0事务来重定向数据写事务,以将数据写入到存储设备 118。可选择地或额外地,平台管理控制器电路110能够通过网络124 从一个或多个远程系统接收I/O事务,以将数据写入到闪速存储器 106的变量空间数据部分254。如果在闪速存储器106的变量空间数 据部分254中没有足够的空间来向其写入数据,则平台管理控制器电 路110能够通过产生与存储设备118的I/O事务来重定向数据写事务, 以将数据写入到存储设备118。图2A描述了根据一个实施例的一个示例性存储设备118。存储 设备118可以包括数据部分202和保留部分204。数据部分202可以 被主处理器112访问,以在其上读和/或写数据,并且通常对于主处 理器112和OS运行时间应用程序来说是可访问的。在这个实施例中, 平台管理控制器电路110能够控制存储设备118创建保留部分204。 根据存储设备118的介质类型,保留部分204的大小可以例如由所选 择的LBA地址范围来定义。平台管理控制器电路110还能够隐藏保 留部分204,使其不被其它电路访问,例如,隐藏保留部分204不被 主处理器112和/或芯片集114和/或连接到网络124的一个或多个系 统访问,以防止主处理器112和/或芯片集114和/或连接到网络124 的一个或多个系统访问存储设备118的保留部分204。在这个实施例 中,如果在闪速存储器106的变量空间数据部分254中没有足够的空 间来向其写入数据(例如,响应于来自主处理器112的数据写请求), 平台管理控制器电路110能够通过产生与存储设备118的I/0事务来 重定向数据写事务,以将数据写入到存储设备118的保留部分204。因为由平台管理控制器电路110写入存储设备118的数据可以在 引导操作和域OS运行时间操作(其可以包括,例如,由主处理器112 和/或芯片集114运行的操作系统应用程序和域指令)期间使用,所以 平台管理控制器电路110进一步能够利用一个或多个指示引导数据 和/或OS运行时间数据存储在存储设备118上的指令来更新闪速存储 器106。因此,在引导操作禾口/或OS运行时间操作期间,响应于来自 主处理器112、芯片集114和/或通过网络124来自一个或多个远程系 统的I/O事务请求,平台管理控制器电路110能够从存储设备118读 取数据,其可以包括例如从保留部分204读取。平台管理控制器电路110还能够仲裁存储设备118的读和/或写 访问,以保护保留部分204不被访问。这样,例如,如果主处理器 112产生对存储设备118读或写数据的1/0事务,则平台管理控制器 电路110可以接收这个请求(通过总线120),并且,如果数据存储在(或 者将要写入)存储设备118的保留部分204,就拒绝该读和/或写请求, 如果数据存储在(或者将要写入)存储设备118的数据部分202,就同 意该读和/或写请求。图3描述了一个示例性平台管理控制器电路110。在图3中,为 了清楚起见,省略了图1中描述的系统100的某些部分(如电路板 132),但是应当理解,图3中的相同部分可以以与图1中描述的实施 例一致的方式来实现,或者可选择地在其它不脱离这个实施例的系统 实施中实现。电路110可以包括控制器电路304,其能够执行这里所 述的属于平台电路110的操作。控制器电路304可以包括各种电路, 所述各种电路可以兼容和/或遵照由本申请的受让人于2000年12月 公布的"Intel XScale Core Developers Manual"中描述的Intel XScaleWCore微结构。当然,控制器电路304在不脱离这个实施例 的情况下可以包括其它类型的处理器核心电路。电路no还可以包括 存储器310。存储器310例如可以包括计算机可读程序指令存储器, 其可以包含控制器电路304可以执行的各种微代码程序指令集。控制 器电路304执行这些各种程序指令集可以使得执行这里所描述的由 控制器电路304执行的操作。存储器310可以包括一个或多个平台策略指令,其可以定义一个 规则或一组规则,这些规则例如可以指示存储器设备118的管理和用
于对闪速存储器106进行读和/或写访问的策略规则。示例性的平台 策略指令可以包括保留部分204的大小、保留部分204的隐藏启用或 隐藏禁用、启用和/或禁用对闪速存储器106的读和/或写访问、与对 闪速存储器106的数据写和/或读有关的优先权规则和/或其它平台策 略指令。在平台管理控制器电路110操作期间,控制器电路304可以 执行平台策略指令。当然,这些只是示例性指令,其它平台策略指令 在这里同样是可以使用的。在这个实施例中,电路110还可以包括PCIe接口电路302,其 可以允许控制器电路304通过PCIe总线122与芯片集114和/或存储 设备118交换命令和数据。电路110还可以包括SPI接口电路308, 其可以允许控制器电路304通过SPI总线126与闪速存储器106交换 命令和数据。然而,与总线接口电路相对应的其它总线技术和总线同 样可以用于这个实施例。电路UO可以进一步包括网络接口电路306, 其可以允许控制器电路304通过网络124和通信链路125与一个或多 个远程系统交换命令和数据。网络124可以遵守或兼容传输通信协议 /因特网协议(TCP/IP)通信协议,然而,其它通信协议同样可以用于这 个实施例。图4说明了所要求主题的另一系统实施例400。在这个实施例中, 平台管理控制器电路110'可以包括在电路卡120中,电路卡120可 以连接到总线122。如图1的实施例,平台管理控制器电路110'可以 包括在一个或多个集成电路芯片中,或形成其一部分。这个实施例可 以包括电路卡槽130。电路卡120可以被构造为允许其插入槽130中。 当电路卡120适当地插入槽130时,连接器134和137可以互相电连 接和机械连接。当连接器134和137这样互相连接时,卡120可以电 连接到总线122,并可以通过总线122和/或总线126以及芯片集114, 与系统存储器121、主处理器112、用户接口系统116和/或闪速存储 器106交换数据和/或命令。可选择地或附加地,平台管理控制器电 路110'可以通过通信链路125',与主机系统132'和连接到网络124'的一个或多个远程系统交换命令和数据。在这个实施例中平台管理控 制器电路110的操作可以与上面参考图l-3描述的操作相同,除了省 略了 SPI总线接口电路308,以及相反地,命令和数据可以通过芯片 集U4在电路卡120和闪速存储器106之间交换。图5是说明可以根据一个实施例来执行的示例性操作的流程图 (500)。操作可以包括系统电源通电操作(502),其可以包括例如,主 处理器、系统存储器和芯片集的通电,而且还可以包括初始化系统存 储器(504)。操作可以进一步包括判断是否启用对闪速存储器的写访 问(506)。如果写访问是启用的,则操作可以包括判断与对闪速存储 器的写请求相对应的数据大小是否大于闪速存储器上的自由空间 (508)。如果不是,则操作可以包括向闪速存储器写入数据(520)。如 果与对闪速存储器的写请求相对应的数据大小大于闪速存储器上的 自由空间,则操作可以进一步包括将该数据存储在存储设备的保留区 域上(516),并继续操作(518)。如果闪速存储器写访问没有启用,则 操作可以进一步包括判断闪速存储器读访问是否是启用的(510)。如 果是启用的,则操作可以包括判断与读请求有关的数据是否位于闪速 存储器上(524)。如果与读请求有关的数据位于闪速存储器上,则操 作可以包括从闪速存储器读取该数据(514),并且操作可以继续(518)。如果与读请求有关的数据不位于闪速存储器上,则操作可以包括从存 储设备读取数据(522)。如果读访问没有启用,则操作可以包括完成 系统引导操作(512)。图6是说明可以根据另一个实施例来执行的示例性操作的流程 图(600)。操作可以包括创建存储设备的保留部分(602)。操作可以进 一步包括接收指向存储设备的1/0(604)。操作还可以包括判断I/O是 否要确定存储设备的大小(606)。如果是,则操作可以包括判断存储 设备的保留部分是否是隐藏的(608)。如果是,则操作可以包括返回 反映存储设备的缩小大小的信息(618),并继续进行1/0(614)。縮小大 小可以包括,例如,存储设备的实际大小减去存储设备的保留部分。 如果不是,则操作可以包括返回反映存储设备实际大小的信息(616), 并继续进行1/0(614)。操作还可以包括判断I/O是否用于保留部分中 的数据读和/或数据写。如果是,则操作可以包括阻止对存储设备的 保留部分的访问(612)。如果不是,则操作还可以包括继续进行
1/0(614)。
因此,简言之,这里的至少一个实施例提供一种能够在存储设备 上创建保留部分的集成电路。这个实施例的集成电路进一步能够接收 至少一个数据写请求,以向包括在主机系统中的闪速存储器写入数 据,并能够重定向所述数据写请求,以将数据写入存储设备的保留部 分。
有利地,这个实施例的集成电路可以通过允许使用较小的闪速存 储器来降低成本。进一步有利地,这个实施例的集成电路可以允许在 存储设备的保留部分存储事件日志和数据,其可以被用于系统审计。 进一步有利地,这个实施例的集成电路能够将数据存储在存储设备的 安全的(隐藏的)保留部分,其对于操作系统和/或芯片集读/写操作来 说可能是不可访问的。同样,这个实施例的操作电路能够将重要的文 件系统结构保存到存储设备的保留部分,以允许,例如,恢复可能由 病毒或闪速存储器故障引起的故障的引导结构。
这里使用的术语和表述被用作描述性的而不是限制性的,并且, 使用这种术语和表述不是旨在排除所显示和描述的特征(或其部分) 的任何等价形式,应当认识到,在权利要求范围内的各种修改都是可 能的。其它修改、变型和替换也是可能的。因此,权利要求旨在覆盖 所有这些等价形式。
权利要求
1、一种装置,包括集成电路,其能够在存储设备上创建保留部分,所述集成电路进一步能够接收至少一个数据写请求,以向包括在主机系统中的闪速存储器写入数据,并能够重定向所述数据写请求,以将数据写入所述存储设备的所述保留部分。
2、 如权利要求l所述的装置,其中-所述集成电路进一步能够接收至少一个数据读请求,以读取所述 闪速存储器,并能够将所述数据读请求重定向到所述存储设备的所述 保留区域。
3、 如权利要求1戶万述的装置,其中所述集成电路进一步能够对于连接到所述主机系统的主处理器 隐藏所述存储设备的所述保留区域。
4、 如权利要求1所述的装置,其中所述闪速存储器包括引导代码信息和变量空间部分,所述集成电 路进一步能够判断所述变量空间部分的大小,如果所述闪速存储器的 所述变量空间部分不足以存储所述数据,就将所述数据写入到所述存 储设备的所述保留区域。
5、 如权利要求l所述的装置,其中所述集成电路进一步能够防止对所述存储设备的所述保留部分 的读和/或写访问。
6、 一种系统,包括至少一个能够连接到总线的电路板,所述电路板包括集成电路, 所述集成电路能够在连接到所述总线的存储设备上创建保留部分,所 述集成电路进一步能够接收至少一个数据写请求,以向连接到所述总 线的闪速存储器写入数据,并能够重定向所述数据写请求,以将数据 写入所述存储设备的所述保留部分。
7、 如权利要求6所述的系统,其中所述集成电路进一步能够接收至少一个数据读请求,以读取所述 闪速存储器,并能够将所述数据读请求重定向到所述存储设备的所述 保留部分。
8、 如权利要求6所述的系统,其中所述集成电路进一步能够对于连接到所述总线的主处理器隐藏 所述存储设备的所述保留区域。
9、 如权利要求6所述的系统,其中所述闪速存储器包括引导代码信息和变量空间部分,所述集成电 路进一步能够判断所述变量空间部分的大小,如果所述闪速存储器的 所述变量空间部分不足以存储所述数据,就将所述数据写入所述存储 设备的所述保留区域。
10、 如权利要求6所述的系统,其中所述集成电路进一步能够防止对所述存储设备的所述保留部分 的读和/或写访问。
11、 一种产品,包括其上存储有指令的存储介质,当所述指令由机器运行时,将产生 下述操作在存储设备上创建保留部分;接收至少一个数据写请求,以向包括在主机系统中的闪速存储器写入数据;以及重定向所述数据写请求,以将数据写入所述存储设备的所述保留 区域。
12、 如权利要求11所述的产品,其中所述指令由所述机器运行 时,将产生下述其它操作接收至少一个数据读请求,以读取所述闪速存储器;以及 将所述数据读请求重定向到所述存储设备的所述保留部分。
13、 如权利要求11所述的产品,其中所述指令由所述机器运行 时,将产生下述其它操作-对于连接到所述主机系统的主处理器隐藏所述存储设备的所述 保留部分。
14、 如权利要求ll所述的产品,其中所述闪速存储器包括引导代码信息和变量空间部分,并且其中所 述指令由所述机器运行时,将产生下述其它操作 判断所述变量空间部分的大小;以及如果所述闪速存储器的所述变量空间部分不足以存储所述数据, 就将所述数据写入所述存储设备的所述保留部分。
15、 如权利要求11所述的产品,其中所述指令由所述机器运行 时,将产生下述其它操作防止对所述存储设备的所述保留部分的读和/或写访问。
16、 一种方法,包括在存储设备上创建保留部分;接收至少一个数据写请求,以向包括在主机系统中的闪速存储器写入数据;以及重定向所述数据写请求,以将数据写入所述存储设备的所述保留 区域。
17、 如权利要求16所述的方法,进一步包括接收至少一个数据读请求,以读取所述闪速存储器;以及 将所述数据读请求重定向到所述存储设备的所述保留部分。18、 如权利要求16所述的方法,进一步包括 对于连接到所述主机系统的主处理器隐藏所述存储设备的所述保留部分。19、 如权利要求16所述的方法,其中所述闪速存储器包括引导代码信息和变量空间部分,并且其中所述方法进一步包括判断所述变量空间部分的大小;以及如果所述闪速存储器的所述变量空间部分不足以存储所述数据, 就将所述数据写入所述存储设备的所述保留部分。20、 如权利要求16所述的方法,进一步包括防止对所述存储设备的所述保留部分的读和/或写访问。
全文摘要
根据一个实施例的方法可以包括在存储设备上创建保留部分。这个实施例的方法还可以包括接收至少一个数据写请求,以向包括在主机系统中的闪速存储器写入数据。这个实施例的方法还可以包括重定向所述数据写请求,以将数据写入所述存储设备的所述保留部分。当然,在不脱离这个实施例的情况下,许多替换、变型和修改都是可能的。
文档编号G06F3/06GK101120324SQ200680005313
公开日2008年2月6日 申请日期2006年1月30日 优先权日2005年2月17日
发明者M·罗思曼, V·齐默 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1