闪速存储器装置管理单元及方法

文档序号:6371367阅读:172来源:国知局

专利名称::闪速存储器装置管理单元及方法
技术领域
:此发明涉及一种存储器装置选择方法,特别是涉及一种支持LPC1.1规格的闪速存储器的装置选择方法。
背景技术
:现代计算机系统中,包含有多样的存储器单元。有些存储器单元被称为易失性(volatile)存储器,亦即是在计算机电源关闭之后,存在于此类存储器的数据随即消失。有些存储器单元被称为非易失性(non-volatile)存储器,亦即是在计算机电源关闭之后,存在于此类存储器的数据并不会消失。易失性存储器可以被用来实现许多功能,如动态存取存储器(DynamicRandomAccessMemory;DRAM),特别是指同步动态存取存储器(SynchronousDRAM;SDRAM),一般用来储存主系统程序(mainsystemprogram)。计算机在开机完成之后,会先将操作系统加载主系统存储器(mainsystemmemory)中。当使用者开启应用程序,应用程序会从硬盘、光盘等储存设备加载到主系统存储器中,以供进一步执行使用。主系统存储器也可在程序执行期间,用来暂存数据、组态(configuration)或其它信息。非易失性存储器用来储存可执行码(executablecode),让计算机可以在每次开机的时候执行,这些码又被称为固件(firmware)。举例来说,大部分计算机都会有一组可执行程序,称为基本输入/输出系统(BasicInput/OutputSystem;BIOs),用来操作不同种类的输出入装置,例如软盘、硬盘等。这些BIOS可执行码被永久储存在非易失性存储器中,称为只读存储器(ReadOnlyMemory;ROM)。但在某些情况下,储存在只读存储器上的固件因加强或除错的需要而更新,有些种类的只读存储器允许其储存的内容被更新,例如电可擦除可编程只读存储器(ElectricallyErasableProgrammableReadOnlyMemory;EEPROM)。想更新EEPROM中的固件,必须先抹去原有固件,再将新的固件完整写入存储器中。在许多主机板设计和制作中,近来,在只读存储器选择上,最常采用的是符合LPC1.1规格的装置,在其中,典型也最重要的装置为闪速存储器(FlashROM)。闪速存储器可以被用来实现以下功能,例如,作为系统BIOS、支持双BIOS架构、支持Linux操作系统或让其它应用系统储存数据。目前,有两种闪速存储器可以被系统设计者选择使用,其一为LPC闪速存储器,其二为英特尔制定的FirmwareHUB闪速存储器。这两种闪速存储器各自拥有不同的存取速度及制造成本。除此之外,这两种存储器会拥用不同的LPC周期(cycle)类型及指令(command)集。图1表示已知技术的LPC闪速存储器操作时钟周期示意图。图2表示已知技术的FirmwareHUB闪速存储器操作时钟周期示意图。两闪速存储器操作时钟周期都利用LFRAME#作为识别一存储器操作开始与结束讯号。但是在LAD[3∶0]的4Bit数据流中,却会在不同的LCLK时钟,使用不等的数据位数,从LPC闪速存储器或FirmwareHUB闪速存储器读取数据,或者是在不同的LCLK时钟,使用不等的数据位数,写入数据到LPC闪速存储器或FirmwareHUB闪速存储器中。由于主机板设计者因考虑因素不同,采用不同的闪速存储器。所以过去的闪速存储器管理单元(Host)为适应此二种闪速存储器类型,必须同时存在两种不同版本的管理单元。所以,如何设计一个装置管理单元可以支持两种闪速存储器就变成了一个重要的课题。又由于闪速存储器常用来作为系统BIOS,因此,此装置必须在开机自我测试(PowerOnSelfTest;POST)步骤之前,决定此主机板支持何种闪速存储器。并且,两种闪速存储器各自拥用不同的LPC周期及指令(command)集,当使用者在读取或写入存储器指令时,此装置管理单元必须适应不同种类闪速存储器,转换出适当的LPC1.1存储器操作指令或装置地址。除此之外,一主机板上可以拥有多个不同存储容量的FirmwareHUB闪速存储器。目前,解决此问题的方法为取一个最大容量的闪速存储器当基底,例如,256K,然后将所有的闪速存储器以此最大容量当作地址的间距。此方法虽然可以简单的方式支持多个不同存储容量的闪速存储器,但却浪费了许多存储器地址空间,举例来说,如果一应用系统只需闪速存储器容量64K,但其所配置的存储器空间依旧是256K,因此存储器地址空间产生了192K的浪费。所以,此装置管理单元还必须能在不浪费存储器空间的情况下,支持多个不同存储容量的FirmwareHUB闪速存储器。
发明内容有鉴于此,本发明的目的为提供一种闪速存储器装置管理单元及方法。可用于不更改主机板硬件设计的情况下,同时支持符合LPC1.1规格的传统LPC及FirmwareHUB闪速存储器。此装置管理单元可在开机自我测试步骤之前,决定此主机板支持何种闪速存储器。并且,当使用者在读取或写入存储器指令时,此装置管理单元及方法可适应不同种类闪速存储器,转换出适当的LPC指令予LPC总线上的各种闪速存储器。此装置管理单元与方法除了转换出适当的LPC指令外,亦可以支持多个不同存储容量的FirmwareHUB闪速存储器。本发明所提出的闪速存储器装置管理单元及方法,是将中央处理器传来的存储器操作指令及存储器操作地址区间,依据初始设定(strapping)组件的闪速存储器类型设定值和闪速存储器地址对照存储器所储存的闪速存储器地址对照纪录,产生LPC闪速存储器或FirmwareHUB闪速存储器装置地址及操作指令,可让LPC存储器管理单元(Host)同时支持传统LPC闪速存储器与FirmwareHUB闪速存储器。依据上述目的,本发明首先在装置管理单元上设置一初始设定组件,用以设定闪速存储器类型,以及一闪速存储器地址对照存储器,用以储存的多个闪速存储器地址对照纪录。之后,设置一闪速存储器指令转换单元,将中央处理器传来的存储器操作指令及存储器操作地址区间,依据初始设定组件与闪速存储器地址对照纪录,进行适当的转换,产生LPC闪速存储器或FirmwareHUB闪速存储器装置地址及操作指令。为使本发明的上述目的、特征和优点能更明显易懂,下文结合附图对实施例详细说明如下。图1表示已知技术的LPC闪速存储器操作时钟周期示意图;图2表示已知技术的FirmwareHUB闪速存储器操作时钟周期示意图;图3表示依据本发明第一实施例的闪速存储器装置管理单元及方法的装置示意图;图4表示第一实施例的闪速存储器架构示意图;图5表示第一实施例的原始闪速存储器地址对照纪录示意图;图6表示第一实施例的开机闪速存储器改变后的闪速存储器地址对照纪录示意图;图7表示第一实施例的闪速存储器装置选择示意图;图8表示依据本发明第一实施例的闪速存储器装置管理单元及方法的方法流程图。附图标记说明300闪速存储器选择装置;310~中央处理器;321、322、323闪速存储器;301~闪速存储器地址对照存储器;302~初始设定(strapping)组件;303闪速存储器指令转换单元;304~BIOS地址设定单元;41~传统LPC闪速存储器(BIOS);42~FWH闪速存储器(BIOS);43~FWH闪速存储器(BIOS);44~FWH闪速存储器(特殊I/O);45~FWH闪速存储器(网络卡);S61-S66~操作步骤。具体实施例方式图3是表示依据本发明第一实施例的闪速存储器装置管理单元及方法的装置示意图。依据本发明第一实施例的闪速存储器装置管理单元及方法适用于一闪速存储器装置管理单元300,其包括一闪速存储器地址对照存储器301、一初始设定(strapping)组件302、一闪速存储器指令转换单元303及一BIOS地址设定单元304。闪速存储器地址对照存储器301是闪速存储器装置管理单元300中,用以储存多个闪速存储器地址对照纪录,此闪速存储器地址对照纪录为一个数据表(table)结构纪录,包括一存储器编号、一存储器地址区间以及一BIOS标记。此存储器编号必须对应到进行LPC存储器操作时,所使用的IDSEL编号。而存储器地址区间可以是一个起始地址加上一个终止地址,或者是一个起始地址加上一个存储器大小,用来纪录多个不同存储容量的FirmwareHUB闪速存储器的储存地址区间。此存储器实际作为一非易失性存储器,如ROM或EEPROM,永久纪录此主机板上拥有的闪速存储器相关信息。图4表示第一实施例的闪速存储器架构示意图,就概念上而言,闪速存储器装置管理单元300所管理符合LPC1.1规格的闪速存储器装置有两种,一为传统LPC闪速存储器41,另一为FirmwareHUB闪速存储器42、43、44、45,就主机板厂商在实际设计主机板时只会选择其中一种闪速存储器作为只读存储器,但就芯片组厂商而言,其闪速存储器管理单元最好必须可同时支持两种不同类型的闪速存储器。主机板厂商若选择传统LPC闪速存储器作为只读存储器,则在其主机板上只有一个用来储存BIOS数据的传统LPC闪速存储器41。反之,主机板厂商若采用FirmwareHUB闪速存储器作为只读存储器,则在其主机板上只可以同时拥有多个只读存储器,可分别用来储存BIOS、I/O或网络卡的数据。图5表示第一实施例的原始闪速存储器地址对照纪录示意图。假若一主机板存在有四个FirmwareHUB闪速存储器,地址对照存储器中则存有四个闪速存储器纪录,分别为项目0到3。第一个闪速存储器42用来储存开机的BIOS数据,其起始基地址为FFF8_0000H,存储器大小为512K,亦即是此闪速存储器所配置到的地址为FFF8_0000H到FFFF_FFFFH,在FirmwareHUB闪速存储器的架构中,开机使用的闪速存储器,其IDSEL编号为0。第二个闪速存储器43也用来储存开机的BIOS数据,使此主机板可以支持双BIOS架构,存储器大小亦为512K,此闪速存储器所配置到的地址为FFF0_0000H到FFF7_FFFFH,其IDSEL编号为1。第三个闪速存储器44用来储存嵌入式键盘控制(EmbeddedKBCcontroller)数据,支持键盘符号对应矩阵(keyboardmappingmatrix),存储器大小为256K,此闪速存储器所配置到的地址为FFEC_0000H到FFEF_FFFFH,其IDSEL编号为2。第四个闪速存储器45用来储存网络卡数据,存储器大小为128K,此闪速存储器所配置到的地址为FFEA_0000H到FFEB_FFFFH,其IDSEL编号为3。初始设定(strapping)组件302,用以于开机自我测试步骤之前,输出一闪速存储器设定讯号,显示此主机板支持的闪速存储器类型为LPC闪速存储器或FirmwareHUB闪速存储器。此组件为一硬件组件,可以为一初始设定脚位(strappingpin),使用者可将此初始组件设定成支持LPC闪速存储器或FirmwareHUB闪速存储器。闪速存储器指令转换单元303,用以将存储器读取或写入指令,转换成读取或写入LPC闪速存储器的LPC1.1存储器操作指令,或者是转换成读取或写入FirmwareHUB闪速存储器的LPC1.1存储器操作指令。当中央处理器310派发一存储器操作指令及一存储器操作地址区间给闪速存储器指令转换单元303时,闪速存储器指令转换单元首先须检测初始设定组件302所设定的闪速存储器类型。如果此闪速存储器类型为LPC闪速存储器,则直接使用该存储器操作地址区间,产生一LPC闪速存储器操作指令。如果此闪速存储器类型为FirmwareHUB闪速存储器,则依据存储器操作地址区间,至闪速存储器地址对照存储器301,检索出IDSEL编号,之后,依据上述的IDSEL编号和存储器操作地址区间,产生一FirmwareHUB闪速存储器装置地址及操作指令。最后,依据存储器操作指令及IDSEL编号,从闪速存储器321、322或323读取数据,或者将数据写入到闪速存储器321、322或323中。图7表示第一实施例的闪速存储器装置选择示意图。闪速存储器装置管理单元300中储存一闪速存储器地址对照存储器301,储存多个闪速存储器地址区间对应IDSEL编号纪录。当闪速存储器装置管理单元300要去符合LPC1.1的闪速存储器读取或写入数据时,如710所示,会读取初始设定组件302的值,以及读取或写入的装置地址。如果初始设定组件值为on,如721所示,则表示其选择传统LPC闪速存储器722,进行数据读写操作。如果初始设定组件值为off且装置地址值落在Range0中,如731所示,则表示其选择BootFWH闪速存储器732,进行数据读写操作。如果装置地址值落在Range1或Range2中,如741、751所示,则表示其选择FWH闪速存储器742或752,进行数据读写操作。图6表示第一实施例的开机闪速存储器改变后的闪速存储器地址对照纪录示意图。在计算机进行开机时,发现无法读取BIOS数据,或读取到的BIOS数据有误,会传回一错误讯息给BIOS地址设定单元304。BIOS地址设定单元304接受到此错误讯息后,会根据闪速存储器地址对照存储器301所储存的BIOS标记数据,去寻找下一个可用的BIOS存储器,并将旧有用来开机的BIOS闪速存储器的IDSEL编号和下一个可用的BIOS存储器的IDSEL编号对调,并将旧有用来开机的BIOS闪速存储器(IDSEL#为0)的BIOS标记设为-1,表示此BIOS已损坏,再进行重新开机的动作。图8表示依据本发明第一实施例的闪速存储器装置管理单元及方法的方法流程图。首先,如步骤S81,由闪速存储器指令转换单元303输入由中央处理器310传来的存储器操作指令及存储器操作地址区间,此存储器操作指令有可能是存储器读取指令或存储器写入指令。之后,如步骤S82,从初始设定(strapping)组件读取闪速存储器类型设定值,进行初始设定条件判断,如步骤S83,判断此主机板的闪速存储器类型是否为传统LPC闪速存储器。如果是,进行步骤S84,产生传统LPC闪速存储器操作指令,此LPC闪速存储器操作指令有可能是LPC闪速存储器读取指令或LPC闪速存储器写入指令。如果不是,则进行步骤S85,从闪速存储器地址对照存储器所储存的闪速存储器地址对照纪录,依据存储器操作地址区间检索出IDSEL编号。最后,如步骤S86,产生FirmwareHUB闪速存储器装置地址及操作指令,此FirmwareHUB闪速存储器操作指令有可能是FirmwareHUB闪速存储器读取指令或FirmwareHUB闪速存储器写入指令。因此,藉由本发明所提供的闪速存储器装置管理单元及方法,将中央处理器传来的存储器操作指令及存储器操作地址区间,依据初始设定(strapping)组件的闪速存储器类型设定值和闪速存储器地址对照存储器所储存的闪速存储器地址对照纪录,产生LPC闪速存储器或FirmwareHUB闪速存储器装置地址及操作指令,可让存储器管理单元(Host)同时支持LPC闪速存储器与FirmwareHUB闪速存储器。并且,此发明可在开机自我测试步骤之前,决定此主机板支持何种闪速存储器,除可以满足其它设备读取ROM数据的需求外,亦可以满足中央处理器读取BIOS数据的需求。除此之外,此发明可在不浪费存储器空间的情况下,支持多个不同存储容量的FirmwareHUB闪速存储器。虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的普通技术人员,在不脱离本发明的精神和范围的前提下,可做若干的更动与润饰,因此本发明的保护范围视后附权利要求为准。权利要求1.一种闪速存储器装置管理单元,适用于一计算机系统,包括一闪速存储器地址对照存储器,用以储存多个闪速存储器地址对照纪录,该闪速存储器地址对照纪录包括一存储器编号、一存储器地址区间;一初始设定组件,用以输出一闪速存储器设定值,决定主机板上的一闪速存储器类型;以及一闪速存储器指令转换单元耦接于该闪速存储器地址对照存储器与该初始设定组件,用以输入一存储器操作指令及一存储器操作地址区间,检测该闪速存储器设定值,依据该存储器操作地址区间,由该闪速存储器地址对照存储器,检索出该存储器编号,依据该闪速存储器设定值以及该存储器编号,产生一LPC1.1存储器操作指令。2.如权利要求1所述的闪速存储器装置管理单元,该闪速存储器地址对照存储器中,该存储器编号为IDSEL编号。3.如权利要求1所述的闪速存储器装置管理单元,该闪速存储器地址对照存储器中,该存储器操作地址区间包含一起始地址及一终止地址。4.如权利要求1所述的闪速存储器装置管理单元,该闪速存储器地址对照存储器中,该存储器操作地址区间包含一起始地址及一存储器大小。5.如权利要求1所述的闪速存储器装置管理单元,该闪速存储器地址对照存储器中还包括一BIOS标记,用以指出一闪速存储器中所储存的数据为BIOS数据。6.如权利要求1所述的闪速存储器装置管理单元,还包括一BIOS地址设定单元,用以检测一读取BIOS数据错误讯息,输入该闪速存储器地址对照存储器中的该BIOS标记,改变该闪速存储器地址对照存储器中的BIOS闪速存储器设定。7.一种闪速存储器装置管理方法,适用于一计算机系统,其方法包括下列步骤输入一存储器操作指令及一存储器操作地址区间;读取一闪速存储器设定值;输入一闪速存储器地址对照储存纪录,该闪速存储器地址对照纪录包括一存储器编号、一存储器地址区间;依据该存储器操作地址区间,检索该存储器编号;以及依据该闪速存储器设定值、该存储器编号产生一LPC1.1存储器操作指令。8.如权利要求7所述的闪速存储器装置管理方法,在输入该存储器操作指令及该存储器操作地址区间步骤中,其中该存储器操作指令为一存储器读取指令。9.如权利要求7所述的闪速存储器装置管理方法,在输入该存储器操作指令及该存储器操作地址区间步骤中,其中该存储器操作指令为一存储器写入指令。10.如权利要求7所述的闪速存储器装置管理方法,在输入一闪速存储器地址对照储存纪录步骤中,该存储器编号为一IDSEL编号。11.如权利要求7所述的闪速存储器装置管理方法,在输入一闪速存储器地址对照储存纪录步骤中,该存储器地址区间包含一起始地址及一终止地址。12.如权利要求7所述的闪速存储器装置管理方法,在输入一闪速存储器地址对照储存纪录步骤中,该存储器地址区间包含一起始地址及一存储器大小。全文摘要一种闪速存储器装置管理单元及方法,适用于支持LPC1.1规格的闪速存储器。藉由读取初始设定组件值,并依据闪速存储器地址对照存储器,检索出实际的闪速存储器编号,据以产生LPC1.1存储器的装置地址及其操作指令予闪速存储器装置。文档编号G06F12/10GK1472654SQ0314727公开日2004年2月4日申请日期2003年7月11日优先权日2003年7月11日发明者黄宗庆,何宽瑞申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1