一种存储及运行大容量BootROM镜像的方法

文档序号:6532749阅读:204来源:国知局
专利名称:一种存储及运行大容量Boot ROM镜像的方法
技术领域
本发明是关于一种存储及运行Boot ROM镜像的方法,具体的说,是关于一种存储及运行大容量Boot ROM镜像的方法。
背景技术
人们对计算机各方面功能的要求越来越高,促使了计算机软件的复杂度不断的增加,这无形中使软件也变得越来越庞大,这个问题对于目前以10G、100G计算的硬盘等存储介质根本不算什么,但对于一些比较特殊的应用场合,如存储于PCI扩展ROM中的Boot ROM类型程序(硬盘还原卡、加密卡、远程启动卡等),还是一个比较棘手的问题。就硬盘还原卡这类产品而言,厂商要想在激烈的市场竞争中占有优势,手段及策略很多,其中增加产品功能,以实现与同类产品的差异化,突出自身的优势,是一种非常可行的办法,如市场上出现的硬盘数据保护加网络功能(管理、克隆)的硬盘还原卡,就是一种比较成功的代表。然而,由于受PCI扩展ROM容量(一般都在64K以内)及价格的限制,一些很好的想法实施起来还困难重重。
本发明的目的在于提供一种实现简单、成本低的存储及运行大容量Boot ROM镜像的方法。根据《PCI局部总线标准》中的PCI扩展ROM的知识,PCI扩展ROM程序的实现形式如Boot ROM镜像,其结构(如图1)主要分初始化(Initialization)代码及非初始化代码部分,其中初始化代码会在计算机的启动过程中被加载及运行,而其非初始化代码部分是可以灵活实现的。根据这一特点,我们就可以将Boot ROM镜像中的非初始化代码部分内容,先存储于附加存储介质(如硬盘)中,然后在该Boot ROM镜像中的初始化代码运行时根据需要,再读取非初始化代码部分内容并进行处理,以实现对大容量Boot ROM镜像的支持。

发明内容
为了以上目的,本发明提供了一种存储及运行大容量Boot ROM镜像的方法,该方法包括①.在编写Boot ROM程序时,在该Boot ROM镜像初始化代码中加入读取及处理附加存储介质(如硬盘)中数据的功能及数据位置的信息,按正常的Boot ROM镜像开发流程生成可执行文件镜像(Image),将该Boot ROM镜像中的初始化代码部分,固化到PCI扩展ROM的存储介质(如FLASH)中,再将该Boot ROM镜像中非初始化代码部分内容写到附加存储介质(如硬盘)中;②.在该Boot ROM镜像中的初始化程序运行时,根据需要读取已存储在附加存储介质(如硬盘)中的内容并进行处理,完成对大容量Boot ROM镜像的支持。


在本专利申请的权利要求书中,具体地指出了本发明的主题,并清楚地对其提出了专利保护。然而参照下面的详细说明和附图,可以更好的理解本发明的有关结构和实现方法以及其目的、特征和优势。
图1为典型的Boot ROM镜像布局;图2为本方法使用的Boot ROM镜像布局。
具体实施方法在以下的详细说明中,描述了特定的细节以便提供对本发明全面的理解。然而本专业的技术人员会认识到,本发明也可以用其它相类似的细节实施。
尽管本发明不限于此,但作为本发明的一个具体的实施例,一种将硬盘做为存储及运行大容量Boot ROM附加载体的实施步骤如下根据硬盘分区的知识,硬盘的第0柱面第0磁道的63个扇区中,除第1扇区用于MBR(主引导记录)外,其余的62个扇区都保留不用,为了处理的简单及方便,我们可以将这62个扇区(约32K)利用起来,用于存储Boot ROM镜像中非初始化代码部分内容。
按步骤①所述,在编写Boot ROM程序时,在该Boot ROM初始化代码中加入通过标准BIOS中断读取及处理硬盘数据的功能,及用于存储Boot ROM镜像中非初始化代码部分内容的,硬盘第0柱面第0磁道第2-63扇区位置的信息,以现实对硬盘中该Boot ROM镜像中非初始化代码部分内容的访问及处理功能,再将生成的Boot ROM镜像的初始化部分内容固化到PCI扩展ROM中,及非初始化代码部分内容写到硬盘的扇区中。
按步骤②所述,当该Boot ROM中的初始化程序被计算机加载及运行时,就可以根据需要读取已存储在硬盘扇区中的内容并进行处理,完成对大容量Boot ROM镜像的支持。通过BIOS中断int 13h,直接访问硬盘扇区的部分功能性代码参考如下mov ax,0202h;高字节中2表示读,3表示写;低字节中表示扇区号;202就表示读2号扇区mov bx,1000h;用于存储读写数据的内存地址mov cx,1;扇区数mov dx,80h ;80表示主硬盘,81表示从硬盘,0表示软盘等int 13h ;标准BIOS磁盘功能调用虽然此处说明描述了本发明的某此特征及一种实现方法,但是对于本专业的技术人员来说,将会出现许多修改、替换、变化和等效代换。因此,本发明的保护范围由所附的权利要求的范围为准。
权利要求
1.一种存储及运行大容量Boot ROM镜像的方法,该方法包括以下步骤①.在编写Boot ROM镜像程序时,在该Boot ROM镜像程序初始化代码中加入读取及处理附加存储介质(如硬盘)中数据的功能及数据位置的信息,按正常的Boot ROM镜像开发流程生成可执行文件镜像(Image),将该Boot ROM镜像中的初始化代码部分,固化到PCI扩展ROM的存储介质(如FLASH)中,再将该Boot ROM镜像中非初始化代码部分内容写到附加存储介质(如硬盘)中;②.在该Boot ROM镜像中的初始化程序运行时,根据需要读取已存储在附加存储介质(如硬盘)中的内容并进行处理,完成对大容量Boot ROM镜像的支持。
2.如权利要求1所述一种存储及运行大容量Boot ROM镜像的方法,其特征在于在BootROM初始化代码中加入读取及处理附加存储介质(如硬盘)中数据的功能及数据位置的信息,以实现对附加存储介质(如硬盘)中数据访问的能力。
3.如权利要求1所述一种存储及运行大容量Boot ROM镜像的方法,其特征在于将该Boot ROM可执行文件镜像中非初始化代码部分内容写到附加存储介质(如硬盘)中,以现实对大容量Boot ROM镜像存储的支持。
4.如权利要求1所述一种存储及运行大容量Boot ROM镜像的方法,其特征在于在该Boot ROM中的初始化程序运行时,根据需要读取已存储在附加存储介质(如硬盘)中的内容并进行处理,完成对大容量Boot ROM镜像运行的支持。
全文摘要
本发明的目的就在于提供一种实现简单、成本低的存储及运行大容量Boot ROM镜像的方法。其基本原理是,将Boot ROM镜像中的非初始化代码部分内容,先存储于附加存储介质(如硬盘)中,然后在该Boot ROM镜像中的初始化代码运行时根据需要再读取非初始化代码部分内容并进行处理,以实现对大容量Boot ROM镜像程序的支持。
文档编号G06F9/445GK1722089SQ20051003771
公开日2006年1月18日 申请日期2005年2月1日 优先权日2005年2月1日
发明者谢海雁, 沈寒冰, 朱小茅, 吴俊辉 申请人:苏州超锐微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1