CN1307542C - 通过储存在序列存取内存中的激活码使计算机系统起始的系统及方法 - Google Patents

通过储存在序列存取内存中的激活码使计算机系统起始的系统及方法 Download PDF

Info

Publication number
CN1307542C
CN1307542C CNB008183422A CN00818342A CN1307542C CN 1307542 C CN1307542 C CN 1307542C CN B008183422 A CNB008183422 A CN B008183422A CN 00818342 A CN00818342 A CN 00818342A CN 1307542 C CN1307542 C CN 1307542C
Authority
CN
China
Prior art keywords
program
loader
access memory
internal memory
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB008183422A
Other languages
English (en)
Other versions
CN1556950A (zh
Inventor
瑞夫·E·吉普森
罗南·J·雪林斯基
马克·A·麦克林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN1556950A publication Critical patent/CN1556950A/zh
Application granted granted Critical
Publication of CN1307542C publication Critical patent/CN1307542C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Abstract

本发明提供一种计算机系统,包含处理器,以及具有激活程序储存于其中的序列存取内存。激活加载器包含状态机,可响应计算机系统的起始,并控制序列存取内存,以读取激活程序,接着控制处理器,使跳至序列内存的激活程序。激活程序的第一内存页更进一步使激活码转移至随机存取内存(RAM)。处理器接着跳至RAM里的程序代码,使得剩余的激活码由序列存取内存转移至RAM并执行。

Description

通过储存在序列存取内存中的激活码 使计算机系统起始的系统及方法
技术领域
本发明涉及电子数字计算机技术,尤其涉及为一组激活码储存于序列存取内存的计算机系统。
背景技术
常见的数字计算机系统包括含有激活码指令的非挥发性只读存储器(non-volatile Read Only Memory,ROM)。此激活程序代码乃是于操作系统或应用程控系统前,用以设定系统低阶硬件功能。
系统的中央处理单元(Central Processing Unit,CPU),通常为微控制器或微处理器,设定为跳至ROM内的一预先决定的内存地址,并于系统起始后(包括开启电源或重新激活)开始执行激活码。激活码使操作系统或起始应用程序加载及执行。
激活码ROM一般而言为随机存取内存,其任何地址的指令或数据可直接及独立地存取。此支持大多数程序的分支特性,使得分支后的指令可从内存内的任意地址读取。于供给电源后,这些内存亦很快地便可读取。
相对于随机存取内存,发展的序列存取内存亦具优点及缺点。在序列存取内存,个别地址无法直接使用。内存以页的方式组成,例如以512字节为一页,且为了获得储存于页里任一特定地址的程序代码,必须将整页或半页读出。
可有效地利用于实行本发明的序列存取内存为Am30LV0064DUltraNANDTM,可由Advanced Micro Devices,Inc.(AMD)of Snnyvale,CA取得。此内存乃依据NAND结构的快闪只读存储器装置。
与序列存取非挥发性内存相比,随机存取ROMs需较多的外部接脚及连接,主要做为地址线,故对相同位密度而言,成本明显增加,且无法如同序列存取内存具如此高密度。
另一方面,序列存取内存通常需将指令序列写入装置,以选择及将数据设定为可读取,故无法于供给电源后立即可读取。直至写入新的指令序列后,其才能由内存内的序列位置读取数据,故只能支持直线程序执行。
当计算机系统需使用较高密度及较低成本的非挥发性序列内存时,同时亦需提供非挥发性随机存取内存,至少足以支持起始程序的执行,或称为激活系统。起始程序需于非挥发性ROM执行,直至序列存取内存设定完成而可读取,且序列存取内存内的程序可转移至挥发性随机存取内存(volatile Random Access Memory,RAM)来执行。
如上述,序列存取内存比随机存取内存具较低的成本及较高的储存密度。对于一个采用倾向序列存取内存系统而言,为了降低系统成本及尺寸,最好能消除需使用额外的非挥发性随机存取内存来支持起始程序执行的情形。然而,过去尚无技术能达到此功能。
发明内容
如上述,本发明提供一个计算机系统,此计算机系统的起始程序的执行只使用序列存取内存来完成,因此无须额外的非挥发性随机存取内存。
此可由本发明的计算机系统来达成,包括处理器,一个具有激活程序储存其中的序列存取内存,以及一个激活加载器(boot loader)。激活加载器包含状态机,可响应计算机系统的起始,并控制序列存取内存去读取含有激活程序第一部份的序列内存的第一页。于设计激活码第一部份时,需了解序列内存只能由内存传送连续的记忆字符至处理器。激活码第一部份指示处理器将激活码第二部分复制至挥发性RAM。一旦激活码第二部分复制至RAM,激活码第一部份执行一分支(跳跃,jump)指令,将控制权转移至RAM内的激活码第二部分。接着,激活码第二部分便可利用RAM的随机存取特性,得以执行正常程序代码,包括RAM内激活码的跳跃。激活码第二部分便可产生适当指令送至序列内存,而将其它需要的程序代码传送至RAM。
对于此技艺的技术者而言,经由下列详细说明,并参照所附的图式,其中,相同的参考数字对应相同的部分,便可明白本发明的特征及优点。
附图说明
图1为本发明简化的区块图,用以说明计算机系统;
图2为电路图标,用以说明图1的计算机系统的激活加载器及序列存取内存;
图3为激活加载器的接脚图标;
图4为用以说明本发明方法的流程图;
图5为激活加载器的状态机的状态图标;
图6为本系统的时间安排图标;
图7为激活加载器及序列存取内存较详细的电路图标;以及
图8为简化的区块图标,用以说明将激活加载器及序列存取内存置于单一集成电路。
具体实施方式
图1所示为本发明的计算机系统10,其中包含主机板12。处理器或中央处理单元(Central Processing Unit,CPU)14,或称为微控制器或微处理器,挥发性随机存取内存(volatile Random Access Memory)16,以及电源供应器18,依常见操作方式配置于主机板12。输入/输出(Input/Output,I/O)单元20提供主机板12至典型I/O装置,如显示监视器22,键盘24,以及一个或多个磁盘驱动器26间的连接。这些组件经由信号总线、电源线、连接插头等连接,共同地显示于28。
依照本发明,系统10还包含电源良好或重新激活信号产生器30,于电源供应器18激活且操作电压达到适当程度后,其产生一PWRGOOD(或RESET)信号。系统10更包含序列存取内存32及激活加载器34。
内存32最好采用UltraNANDTM内存,可由Advanced Micro Devices(AMD)of Sunnyvale,CA.取得。此范例所显示的内存32为根据NAND结构的Am30LV
0064D UltraNANDTM快闪电子可拭除式可程序只读存储器(FlashElectrically Erasable Programmable Read Only Memory,EEPROM)装置,并可储存64兆位数据。数据储存于16,384内存页里,每页含有512字节的正常数据及16字节的备用数据。依照本发明,内存32由其最低的内存页开始储存激活码指令,并于计算机系统10起始后(开启电源或重新激活)开始执行。且无使用非挥发性RAM作为此用途。
图2所示为激活加载器34及内存32,且激活加载器34的接脚图标显示于图3。激活加载器34最好采用AmPALLV16V8-10SC可程序逻辑装置(Programmable Logic Device,PLD),可由Vantis Corporation ofSunnyvale,CA取得。内存32及激活加载器34的详细结构及操作将于下列说明的。
图4为流程图,用以说明本发明以系统10执行激活带(bootstrap)加载方法。于起始后,激活加载器34抑制处理机14,从而防止其尝试执行指令。激活加载器34侦测到PWRGOOD信号后,且PWRGOOD信号显示电源供应器18产生适当操作电压时,将变为激活。
激活加载器34具内部状态机,且置入程序化逻辑于其中。于能够读取数据前,内存32需设定指令写入其中。激活加载器34的状态机产生这些设定指令并写入内存32。首先,单元34写入读取指令至内存32的指令闩。接着激活加载器34写入地址至内存32的地址闩。
此范例乃使用无间隔-读取(Gapless-read)指令。无间隔-读取指令为UltraNAND内存32的超集指令,可使连续地输出多路的内存页。亦可使用正常读取指令,其一次可读取一页,且当每页加载至528位输出数据输入器(output data register)时,具有7微秒等待时间。无间隔-读取指令消除了页与页之间的等待时间,而只有当第一页加载时有一个7微秒等待时间。如此,不需再送任何读取指令至内存,激活码即可延伸至多路的内存页。激活加载器34加载至内存32地址闩的地址,为内存32的第一页的地址。然而,于本发明范畴内,正常读取指令可取代使用。
于下一步,UltraNAND内存32由其内部结构读取激活码的第一页至其输出数据输入器,并藉由设定其准备好/忙碌(RY/BY#)信号至准备好(Ready)状态,来指示此页读取操作的完成。接着激活加载器34的状态机藉由将INIT#改为无效,以激活处理器14,使其继续执行指令。处理器14含有常见的状态机或硬微码(hard microcode),使其跳至预先决定,处理器可读取到系统的激活码的地址。系统会译解此地址以便选择内存32。接着处理器会开始由内存32的输出数据输入器内的内存页读取并执行激活码指令。
注意处理器会接受来自内存激活码指令的任何数据。处理器所显示的激活码地址将为内存所忽略。此意谓相同的第一内存页可用于任何处理器,无论处理器使用低或高数值地址来选择激活码。然而,激活码必须知道处理器用以选择激活码的地址。在处理器使用高内存地址做为激活码第一字符的情形下,激活码必须包含跳跃指令,使得处理器的地址改变至较低地址。此地址仍须位于系统所译解,用以选择内存32的地址范围内。若无跳跃指令,处理器会增加其地址,至某一点后,会回复至不再选择激活内存32的低内存地址。所用的实际地址并不要紧,因UltraNAND装置仅会传送和地址总线无关的连续指令流。然而,跳跃终点地址必须远低于内存顶端,以使地址维持于内存32地址空间,直至激活码第一部份跳至复制至RAM的激活码第二部分。
激活码亦需知道处理器如何读取指令。许多处理器具有指令读取状态机,于处理器的指令执行状态机实际使用指令前,会读取指令至缓冲器。此通常称为指令的预先读取(prefetching)。当执行跳跃指令时,将忽略预先读取指令。当跳跃指令由下一个将执行的指令改变地址时,任何预先读取,且置于预先读取换冲器的指令,将不执行。此点很重要,因序列存取内存会忽略处理器地址。每当内存读取完成时,序列地址内存只由内存传送下一指令。因指令预先读取状态机于跳跃指令执行且清除预先读取缓冲器前,可由内存取得数个指令,激活码必须知道内存中有多少字符会为跳跃指令所摒弃。下一个需于跳跃之后执行的指令,不可在跳跃指令之后,会在由预先读取缓冲器被清除的范围内。若无法精确预测必须跳过多少字符,则在跳跃指令后,激活码需含有足够的不操作(No-operation,NOP)指令,以确保不会摒弃跳跃后的指令。直到下一个有效指令送达激活码前,皆可安全地执行跳跃后的任何NOP指令。所读取以及稍后由预先读取缓冲器所清除的NOP指令数目,并不会影响或干扰剩余激活码的执行。
处理完上述有关指令地址读取的调整后,下一步乃是将激活码第二部分复制至RAM。激活码的下一指令最好为“字符串复制”(stringcopy)操作,使得内存32中一连串紧接的字符复制至原处执行(Executein Place,XIP)挥发性随机存取内存。这些指令为和激活码第一部份相连的激活码第二部分。XIP内存可为RAM 16,快取缓冲储存区,或是处理器14里的其它内存。
再者,因有些处理器会执行指令预先读取,故也许需在字符串读取指令及激活码第二部分起点间插入NOP指令。此在于确保,字符串复制开始由内存读取字符前,激活码的第二部分不会读取至预先读取缓冲器。也许无法预测已经在预先读取缓冲器内的字符,和最先由字符串复制指令所复制的字符,两者的起始分界。因此,欲复制的字符串末端必须接着额外的NOP指令,且复制的长度需确保会复制所有激活码的第二部分。故所复制的字符串也许会包含一些NOP指令的起点或末端。NOP指令不会影响激活码第一或第二部分所执行的操作。然而,他们使已执行的指令及已复制的字符串间的分界更有弹性。
因无法得知字符串复制里程序代码的确切校正,故须使用已加载至XIP内存里,部分激活带程序内的相对分支。
为集合XIP内存里的激活码第二部分,亦可使用一连串的立即移动(move immediate)指令。如此可对程序代码校正有较多的控制。然而,此举将使程序代码变大且更难设计,因程序代码第二部分需由指令流转换至立即移动指令流,而其欲移动的数据为激活码第二部分的映像。
激活码第二部分储存至XIP内存后,由内存32执行的激活码第一部份的最后一个指令,使处理器14跳至XIP内存里的一个地址。接着,处理器开始执行由内存32复制而来的激活码第二部分。此为激活带过程,可分为几个阶段。第一阶段为由序列存取内存32执行的激活码。下一阶段以及其后的任意阶段为起始码的额外区块,这些区块由内存32复制至XIP内存,接着跳至此执行。虽然并未明确阐明,激活带过程亦会继续由硬盘加载及激活操作系统,或是一个或多个应用程序。
状态机及激活加载器34相关功能最好能够和序列存取内存置于单一集成电路40,如图8所示的32’及34’。此部分,例如,可藉由增加足够的逻辑电路至序列存取内存来执行所需的激活加载器功能而达成。此实施例,和序列内存需结合一小部份随机存取内存的方式相比,较为简单且需少装置的修改。此乃因状态机不需任何额外处理步骤或额外地址接脚。UltraNAND或其它序列存取内存仍可和其它相似种类的内存的接脚兼容。
下列为本发明的详细功能说明
概要
UltraNAND生产线乃Advanced Micor Devices,Inc.(AMD)为满足高密度非挥发性内存需求所发展。应用对象包括于固定或可移动媒体系统的程序代码及数据储存。以下为激活加载器PLD和UltraNAND内存共同使用的详细说明。
使用微控制器系统通常具可程序输入/输出接脚(ProgrammableInput/Output,PIO),可用于直接提供UltraNAND控制信号。若无这些PIO接脚,则必须具额外的逻辑接口,以做为处理器,激活加载器,以及序列内存间的适当连接。激活加载器PLD可设计置于单一AmPALLV16V8-10SC芯片,其目的在于支持于激活电源后,需直接由UltraNAND装置激活的激活码储存应用。
ULTRANAND程序代码储存的相关优点
UltraNAND设计为和在市面已可取得的NAND结构闪存,不论在硬件或软件均可完全兼容。然而,UltraNAND为一改进产品,可提供100,000次写入程序/清除,而不需错误修正电路(Error CorrectionCircuits,ECC)。UltranNAND亦具有100%良好区块,而无须损坏区块检测。
每位成本较低(低于NOR Flash),不需ECC即可增加写入程序/清除次数,且具有100%的良好装置,使得UltraNAND为理想的程序代码储存应用。尤其是系统码储存于UltraNAND闪存,并转移或投影至高速内存资源,例如同步动态随机存取内存(synchronous DRAM),以作为快速随机存取或执行。
激活加载器PLD
对于需要直接由UltraNAND激活的程序代码储存应用,UltraNAND起始需有某种的激活加载器。此乃因激活电源后,UltraNAND数据输入器并无有效数据。本激活加载器PLD 34隔绝处理器和总线间连接,并提供激活所需的控制信号序列,最高可激活两个UltraNAND快闪装置。
起始过程释出AMD超集无间隔读取指令(02h)(AMD supersetGapless Read command(02h))至每个UltraNAND装置,以预先加载含有激活码的第一闪存页至内部UltraNAND数据输入器。此可使系统的微控制器或处理器14于激活电源后,由内存32读取并执行序列系统激活码。对程序储存应用而言,系统的微控制器可由UltraNAND装置32激活,接着将储存于UltraNAND内的程序代码剩余部分转移至RAM,以执行程序代码。因程序代码可由RAM执行,故称的为原处执行(Execute-in-Place,XIP)内存。
激活存取的ULTRANAND接口需求
UltraNAND内存32采用多路传输地址/数据总线。所有指令、地址、以及数据经由I/O[0..7](八位I/O端口)传入或传出装置。装置所提供的控制信号有CE#(芯片激活,Chip Enable)、CLE(指令闩激活,Command Latch Enable)、ALE(地址闩激活,Address Latch Enable)、WE#(写入激活,Write Enable)、SE#(备用区域激活,Spare Area Enable)、以及WP#(写入保护,Write Protect)。此外亦有开启汲极RY/BY#(准备好/忙碌,Ready/Busy)输出接脚,用于指示何时装置正在忙于内部操作。
使用UltraNAND的系统应用必须产生适当控制信号给装置,而这些装置,在很多情形下并未被其它系统资源所使用。此处所述的激活加载器PLD 34,提供装置起始时,UltraNAND内存32所需的全部独特信号。
为了将UltraNAND装置内所含的一页数据转移至内部数据输入器,需执行指令及地址序列。于指令及地址输入之后,UltraNAND装置会于7微秒的读取等待时间周期内(最坏情形),将数据由适当的快闪页转移至数据输入器,且在此时装置会显示忙碌。一旦非挥发性页的数据成功地转移至数据输入器,UltraNAND装置会预备好,且系统可连续地以最快每字节50奈秒的速度,由快闪装置32读取有效数据。
系统接口说明
于此范例,激活加载器PLD单元34支持单一Ultra
NAND装置32。于激活加载过程中,激活加载器PLD暂时变为由UltraNAND快闪所需的正常系统控制信号来源。激活加载器PLD接着便可产生UltraNAND起始所需的信号序列。
电源良好信号产生器30提供PWRGOOD输入信号至激活加载器PLD 34,其仍维持在低点,直至Vcc有效。当PWRGOOD由无效状态(低点,low)过渡至有效状态(高点,high),激活加载器PLD 34侦测到此过渡并起始UltraNAND装置32。
于某些无PWRGOOD信号的应用,可使用系统RESET#信号。激活加载器PLD所产生的INIT#(起始)信号,乃用于指示激活加载器PLD34正忙于起始UltraNAND装置32。系统10必须监控INIT#信号,并隔绝系统微控制器14和总线间的连接,直至INIT#变为无效(高点)。一旦INIT#指示UltraNAND激活过程已完成,系统10便可允许微控制器14由UltraNAND装置读取数据。
许多情形下,INIT#信号可作为系统10其它部分的重新激活信号。正常系统RESET#信号只到达激活加载器PLD 34,且激活加载器使用INIT#信号使系统10的其余部分维持在重新激活状态,直到UltraNAND装置32可开始读取为止。
于激活加载器过程的地址阶段,直到装置变为忙碌状态前,地址字节会写入UltraNAND。如此可使激活加载器34支持需三个或以上地址脉冲的装置。于激活加载器起始过程后,激活加载器会三态(tri-state)WE#、CLE、ALE、及I/O1,并将CE0#及CE1#由系统总线28传至Ultra
NAND装置。
激活加载器信号说明
UltraNAND激活加载器34利用无间隔读取指令序列产生起始一或二个UltraNAND装置所需的所有信号。PLD 34内的简易状态机控制INIT#、WE#、CLE、ALE、及I/O1,藉此控制UltraNAND的起始。为了启始激活加载器PLD,系统需提供SYSCLK(系统时间,SystemClock)及PWRGOOD(电源良好指示)。所有适用信号的定义用于产生信号的来源均列于下表。激活加载器起始顺序的时间图标表示于图6。
     信号        来源                定义
ALE 激活加载器/系统  UltraNAND地址周期的三态地址闩激活
CLE 激活加载器/系统  UltraNAND指令周期的三态指令闩激活
WE# 激活加载器/系统  于激活时用于起始UltraNAND的三态写入信号
INIT# 激活加载器  指示激活加载器PLD正在起始UltraNAND
I/O[0..7] 激活加载器/系统  用于转移指令及地址至UltraNAND的I/O线
 ST3  加载激活器  PLD未使用的最明显状态机输出
OE# 激活加载器  必须和INIT#一起使用,以激活PLD登录输出
OUTCE[0..1]# 激活加载器  芯片激活由PLD至UltraNAND装置的输出
CE[0..1]# 系统  芯片激活系统至UItraNAND的译解信号
PWRGOOD 系统  电源良好信号维持在低点,直至VCC有效
 STSCLK  系统  激活加载器状态机所需的系统时间
READY UltraNAND  连接至RY/BY#信号,以指示UltraNAND状态
激活加载器PLD操作原理
此节将说明激活加载器PLD 34的设计及操作。激活加载器PLD 34使用flip-flops作为状态机及I_01。组合逻辑用于产生控制最高为两个UltraNAND 32装置的其它所有信号。本节所指定的装置参考指示显示于图7,其为“支持两个UltraNAND装置的典型激活加载器应用”的图例。
输出信号产生
INIT#为一组合输出信号,用于通知系统激活加载器PLD 34正处于起始UltraNAND 32数组状态。当INIT#激活,系统10必须维持三态系统信号(如地址线或PIO接脚),这些信号使用于正常系统操作,用以驱动UltraNAND CLE、ALE、WE#、及I/O[0..7]信号。许多情形下,INIT#信号可作为至其它系统组件的重新激活信号,因重新激活状态通常会使处理器输出维持在三态状态。
于INIT#时期,PLD 34将指令及地址数据送至UltraNAND 32数据总线,并控制UltraNAND起始所需的CLE、ALE、及WE#。于指令阶段,CLE激活,且I_01用于将02h值送至UltraNAND 32数据总线,以将无间隔读取指令写入UltraNAND 32。于地址阶段,CLE关闭,ALE激活,将00h值送至UltraNAND 32数据总线。
藉此激活加载器PLD 34可将区块0,页0,字节0的地址加载至UltraNAND 32装置,使系统于起始后由第一字节开始读取。于INIT#,不管芯片激活输入的状态为何,PLD 32会激活输出芯片激活。此可使激活加载器PLD 34于激活加载器操作时,同时起始最高可达两个的UltraNAND 32装置。
I_01为三态登录输出,于激活加载器PLD 34起始阶段时,用以将无间隔读取指令写入UltraNAND 32装置。当INIT#激活时,系统需将UltraNAND 32数据总线,I/O[0..7]维持在三态。当下拉电阻R4使其它所有数据位维持在低点,I_01便可于指令阶段变为高点,并将02hop-code写入至UltraNAND 32。于地址阶段,I_01处于低点,使得所有地址周期将00h值写入UltraNAND 32地址登录器。OUTCE[0..1]#为激活UltraNAND 32装置所需的两个芯片激活输出。
于激活加载器运作的INIT#时期,芯片激活必须强迫激活。一旦INIT#变为关闭(高点),芯片激活输出乃由芯片激活输入所决定。ST[0..3]为四个三态登录状态位,用于定义状态机状态,最高可至16个状态,其中9个状态为实际使用的。于INIT#激活时期,亦激活这些位,当INIT#关闭时,则处于三态。
其中三个状态位用于定义WE#(ST0)、CLE(ST1)、及ALE(ST2)。激活加载器PLD 34内的状态机为典型米力(Mealy)机,其中PLD输出乃依据电流状态及输入条件。AmPALLV16V8-10SC装置34激活时,所有登录输出位于高点状态。因此,状态机定义IDLE状态为所有均为输出条件。
状态01至状态09为灰阶编码变化(gray coded variations),以消除组合输出的噪声脉冲,并避免不同步输入所导致的竞争情形。状态机的流程图显示于图5。
ST0,如同WE#,乃是于起始时,用于将数据写入UltraNAND 32快闪。于起始时期,系统必须使系统WE#输入至UltraNAND 32维持三态。一旦起始完成,激活加载器PLD 34会三态其WE#输出,接着系统10需要时便可驱动WE#。
ST1,如同CLE,乃于起始时,用于激活写入至Ultra
NAND快闪Flash 32的指令。于起始时期,系统必须使系统CLE输入至UltraNAND 32维持三态。一旦起始完成,激活加载器PLD 34会三态其CLE输出,接着系统10需要时便可驱动CLE。
ST2,如同ALE,乃于起始时,用于激活写入至UltraNAND快闪Flash 32的地址。于起始阶段,系统必须使系统ALE输入至UltraNAND32维持三态。一旦起始完成,激活加载器PLD 34会三态其ALE输出,接着系统10需要时便可驱动ALE。
其它信号
CE[0..1]#乃由系统10所产生的两个芯片激活输入信号,用以选择UltraNAND 32装置。于起始过程,CE[0..1]#输入被激活加载器PLD 34所忽略,且OUTCE[0..1]#激活,以选择所用的UltraNAND 32装置。一旦起始完成,激活加载器PLD 34只将系统10的CE[0..1]#信号经由OUTCE[0..1]#输出,传至UltraNAND 32装置。
PWRGOOD为系统所产生的信号,用以指示激活加载器PLD 34何时该起始UltraNAND 32快闪装置。激活电源时,PWRGOOD维持在无效(低点),直至Vcc有效。激活加载器PLD 34供给电源后,状态机变为IDLE状态,直到PWRGOOD变为激活(高点)才解除。一旦激活加载器PLD 34侦测到PWRGOOD由低点到高点的变化,激活加载器PLD 34便会继续起始UltraNAND闪存32。
若系统无PWRGOOD信号,系统的RESET#信号亦可执行相同功能。当RESET#变为激活(低点)以重新激活系统时,激活加载器的状态机会进入IDLE状态。当RESET#关闭时(高点),激活加载器便会起始UltraNAND 32装置。
RY/BY#乃由UltraNAND 32装置所产生,用以指示何时装置正忙于内部操作。系统10亦可使用RY/BY#硬件信号,或读取状态登录机内的RY/BY#状态位,以决定何时操作正在进行,或是已经完成。激活加载器PLD 34经由READY输入,监控RT/BY#信号,以决定何时UltraNAND快闪32已完成将数据由内部快闪数组转移至内部数据输入器。于此时,起始内存32,且控制权可转移至系统10。
SYSCLK为激活加载器PLD 34所需,用以驱动装置状态机。因UltraNAND 32具有最小写入脉冲宽度规格25奈秒,SYSCLK的最大频率为40兆赫。
激活加载器状态机
激活加载器PLD 34中具有简易的状态机,用以执行UltraNAN起始。激活加载器状态机驱动激活加载器PLD 34输出,以提供用于起始一个或两个UltraNAND 32装置时所需的适当信号。激活加载器PLD状态机的流程图示于图5。
实行细节
如此处所述的激活加载器PLD,于激活电源后,PLD最高可起始两个UltraNAND装置。当使用激活加载器PLD时,一些基本系统接口考量亦需考虑。
CLE、ALE、WE#、及I/O[0..7]的三态控制
于激活电源后,当激活加载器PLD正在起始UltraNAND快闪时,激活加载器过程必须必须控制I/O[0..7]、CLE、ALE、以及系统WE#信号。因此,当INIT#有效时(低点)系统必须使这些信号处于三态状态。一旦INIT#变为高点,表示激活加载器起始已经完成,系统接着便可适当地驱动这些信号。
序列激活码范例
因系统位置总线并非直接决定UltraNAND快闪读取地址,故顶端或底端激活微控制器不需不同的PLD。系统的地址译码器逻辑仅需保证当激活电源及快闪起始后,UltraNAND可开始让微控制器读取程序代码。以下的范例为在x86等级微控制器中,系统激活码如何储存于UltraNAND快闪激活区域。
一旦起始UltraNAND,系统微控制器便可连续地直接由UltraNAND数据输入器开始读取程序代码。
如果系统里的处理器使用低内存地址作为激活码的起点,储存于快闪装置的激活码不会使微控制器来回分支或跳跃。此举可确保,由任何处理器的指令预先读取逻辑自UltraNAND所读取的指令,以及实际指令执行顺序,彼此之间没有中断。
如果处理器使用高内存地址作为激活码的第一字符,程序代码必须包含跳跃指令,使得处理器的地址变为较低的地址,但仍须位于系统所译解,用以选择内存32的地址范围内。若无跳跃指令,处理器会增加其地址,至某一点后,会回复至不再选择激活内存32的低内存地址。
当预先读取缓冲器被跳跃所清除时,跳跃会使一些由预先读取的指令流所得的字节被摒弃。因无法得知预先读取缓冲器里有多少数目的字节会被跳跃所摒弃,故于跳跃填满整个预先读取缓冲器后,需有足够的NOP指令。
最先直接由UltraNAND装置所执行的激活码仅由UltraNAND装置加载较为广泛的激活带程序至XIP内存资源,如静态随机存储器(SRAM)或动态随机存取内存(DRAM)。加载激活带程序代码可藉由字符串移动或连续立即移动指令来完成。
若使用字符串移动,字符串指令后的指令流于起点及末端必须具足够的NOP指令,以填满处理器所使用的指令预先读取缓冲器。此举可确保由字符串移动读取操作所取得的程序代码流,由预先读取缓冲器填满后的位置开始。因无法预测预先读取缓冲器停止由UltraNAND读取字节的确切位置,以及字符串移动操作开始读取字节的位置,故加载至XIP内存资源的程序代码或许会开始于一些余留的NOP指令。
因无法控制程序码的确切校正,故须使用已加载至XIP内存里,部分激活带程序内的相对分支。对需要严格控制程序码字节校正的处理器而言,立即移动指令流或许为较好的方式来加载激活带程序代码至XIP内存。
一旦激活码于XIP内存组集合之后,最后一个指令会使微控制器跳至激活码执行。下列的范例包含以组合程序代码形式的x86激活码序列,其将会于起始后,由Ultra NAND连续地执行。
定义
SOURCE 内存对应基地址至UltraNAND装置。读取时,此地址必须选择UltraNAND装置。
DESTINATOIN XIP内存资源用以保留储存于UltraNAND的系统码的终点地址。一旦UltraNAND内存的内容转移至投影内存,激活码范例的最后一列跳至XIP区域,执行系统程序代码。
XIP- XIP内存的程序段地址
ULTRA- 序列内存的程序段地址
COUNT- 由UltraNAND装置转移至XIP内存的字节数目。此数目必须包含可预先读取的字节的最大值。于此例中,486处理器的预先读取缓冲器的大小为32字节。
START- 激活码的起点地址。X86处理器由F...FFoh开始执行,即位于内存顶端的16字节里。因此,需先跳至较低的程序代码地址,但此地址仍需于选择UltraNAND装置的范围内。如此可防止地址回复至不再选择UltraNAND的地址。实际地址并非紧要的,因UltraNAND装置仅会传送和地址总线无关的连续指令流。然而,跳跃终点地址必须远低于内存顶端,以使地址维持于UltraNAND地址内,直至此起始激活带程序代码跳至已复制至XIP内存的激活带程序代码剩余部分。
NOP- 使用NOP指令填满剩余字节,直至正常执行系统里的F...FFFh地址。如此可防止因指令预先读取单元读取分支指令外的位置,所造成的意外的程序代码执行或是分界问题。部分或所有NOP指令可藉由预先读取单元由UltraNAND读取,部分则是当分支清除预先读取缓冲器时会被摒弃。然而,由UltraNAND所读取的字节流内的指令,会摒弃的确切数目则无法得知。藉由使用NOP指令,处理器会持续读取直至遭遇到指令流内的剩余指令。
程序代码范例
JMP START ;由重置地址跳至激活码地址范围,使得指令地址计数器不会包覆并跳至序列内存地址范围外。
NOP ;使用NOP填满接下的32字节,以确保预先读取缓冲器于跳跃执行并清除预先读取缓冲器前,不会读取任何随后的指令。
START:STDMOV DS,ULTRAMOV ES,XIPMOV ESI,SOURCEMOV EDI,DESTINATIONMOV ECX,COUNTREP MOVSBNOP...{XIP code stream}NOP...JMP DESTINATION ;于字符串移动时设定方向标记以增加终点地址;加载程序段地址至UltraNAND内存;用程序段地址加载额外程序段登录器作为XIP记忆;加载UltraNAND起始地址;加载终点地址以作为字符串移动的准备;加载字符串移动时所转移的字节数目;将字节由UltraNAND移至投影内存;32字节的NOP,以填满处理器预先读取缓冲器;欲移入XIP内存的程序代码流;需64或更多的NOP指令,因字符串移动的确切停止位置必须藉由程序代码前的许多NOP指令以找到程序代码的终点,以确保所有的程序代码皆被移除;一旦转移完成,跳至XIP内存内的激活带程序代码
总结上述,本发明提供一组只使用序列存取内存,便完成起始程序执行的计算机系统,因此,不需独立的非挥发性随机存取内存。
对于此技艺的技术者而言,于了解本揭示之后,只要不背离本发明的范畴,便可做不同的修改。

Claims (38)

1.一种计算机系统,包含:
处理器;
用于储存激活程序的序列存取内存;以及
激活加载器,用以控制序列存取内存,以读取激活程序,并控制该处理器,以便执行该序列存取内存里的激活程序,响应计算机系统的起始。
2.如权利要求1所述的计算机系统,其中,该激活加载器配置为可输入读取指令及地址至序列存取内存,接着控制该序列存取内存执行读取指令。
3.如权利要求2所述的计算机系统,其中:
该序列存取内存配置为储存激活程序于至少一个内存页;以及
该读取指令使内存第一页被读取。
4.如权利要求3所述的计算机系统,其中,该读取指令为无间隔读取指令。
5.如权利要求1所述的计算机系统,其中:
该激活加载器配置为抑制处理器直到序列存取内存已使激活程序的至少部分可被读取为止,接着致能该处理器;以及
该处理器被致能后则配置为读取及执行来自该序列存取内存的该激活程序。
6.如权利要求1所述的计算机系统,其中,该激活加载器配置为于计算机系统起始后会被激活。
7.如权利要求1所述的计算机系统,其中,该激活加载器包含可程序逻辑装置。
8.如权利要求1所述的计算机系统,其中,该激活加载器包含状态机。
9.如权利要求8所述的计算机系统,其中,该激活加载器包含可程序逻辑装置,且状态机置于其中。
10.如权利要求8所述的计算机系统,其中,该状态机配置为可输入读取指令及地址至序列存取内存,接着控制该序列存取内存执行读取指令。
11.如权利要求1所述的计算机系统,其中,该激活程序配置为可控制处理器将激活码由序列存取内存转移至挥发性随机存取内存,接着跳至该挥发性随机存取内存里的激活码。
12.如权利要求11所述的计算机系统,其中,该挥发性随机存取内存包含在处理器里的快速缓冲贮存内存。
13.如权利要求11所述的计算机系统,其中,该挥发性随机存取内存包含与该处理器分离的原处执行内存。
14.如权利要求1所述的计算机系统,其中,该序列存取内存及激活加载器置于单一集成电路中。
15.如权利要求1所述的计算机系统,其中,该激活程序配置为可预测处理器的程序地址逻辑行为,以使处理器地址保持在选择序列存取内存的地址范围内。
16.如权利要求1所述的计算机系统,其中,该激活程序配置为可预测任何程序代码预先读取逻辑的行为,并确保必要的指令绝不会为预先读取逻辑所预先读取及摒弃。
17.如权利要求1所述的计算机系统,其中,该激活程序配置为包含不操作指令,在可能会有因预先读取缓冲器逻辑所造成的程序代码流中断的程序代码区块之间,以该不操作指令作为填料。
18.如权利要求1所述的计算机系统,其中:
该激活程序配置为控制处理器由序列存取内存将激活码转移至挥发性随机存取内存,接着跳至该挥发性随机存取内存里的激活码;以及
激活程序更进一步配置为,该挥发性随机存取内存里的激活码内的分支为相对的。
19.如权利要求1所述的计算机系统,其中,该激活程序配置为控制处理器,使用立即移动指令,由序列存取内存将激活码转移至挥发性随机存取内存,接着跳至该挥发性随机存取内存里的激活码。
20.一种用于包含处理器及序列存取内存的计算机系统起始程序执行的方法,所包括的步骤有:
(a)储存激活程序于序列存取内存;
(b)提供激活加载器,用以控制序列存取内存,以读取激活程序,并控制处理器,以便响应计算机系统的起始,跳至序列存取内存里的激活程序;以及
(c)起始计算机系统。
21.如权利要求20所述的方法,其中,步骤(b)包含配置激活加载器,以输入读取指令以及地址至序列存取内存,接着控制该序列存取内存以执行该读取指令。
22.如权利要求21所述的方法,其中:
步骤(a)包含配置序列存取内存,以储存激活程序于至少一内存页;以及
步骤(b)包含配置激活加载器,使得读取指令能使第一内存页被读取。
23.如权利要求22所述的方法,其中,该读取指令为无间隔读取指令。
24.如权利要求20所述的方法,其中:
步骤(b)包含配置激活加载器,以抑制处理器直到序列存取内存已读取激活程序的至少部分为止,接着致能该处理器;以及
该处理器被致能后则配置为执行该序列存取内存里的该激活程序。
25.如权利要求20所述的方法,其中,步骤(b)包含配置激活加载器于计算机系统起始后被激活。
26.如权利要求20所述的方法,其中,步骤(b)包含配置激活加载器,此激活加载器包含可程序逻辑装置。
27.如权利要求20所述的方法,其中,步骤(b)包含配置激活加载器,此激活加载器包含状态机。
28.如权利要求27所述的方法,其中,步骤(b)包含配置激活加载器,此激活加载器包含可程序逻辑装置,且状态机置于其中。
29.如权利要求27所述的方法,其中,该状态机配置为输入读取指令以及地址至序列存取内存,接着控制序列存取内存执行读取指令。
30.如权利要求20所述的方法,更进一步包含有步骤:
(d)设有挥发性随机存取内存,其中:
步骤(a)包含配置激活程序,以控制处理器以将激活码由序列存取内存转移至该挥发性随机存取内存,接着跳至该挥发性随机存取内存里的激活码。
31.如权利要求30所述的方法,其中,步骤(d)包含设有该挥发性随机存取内存,此挥发性随机存取内存包含处理器里的快速缓冲贮存内存。
32.如权利要求30所述的方法,其中,步骤(d)包含设有该挥发性随机存取内存,此挥发性随机存取内存包含和处理器分离的原处执行内存。
33.如权利要求20所述的方法,其中,步骤(b)包含将激活加载器及序列存取内存置于单一集成电路。
34.如权利要求20所述的方法,其中,步骤(a)包含配置激活程序以预测处理器的程序地址逻辑行为,以便使处理器地址保持在选择序列存取内存的地址范围内。
35.如权利要求20所述的方法,其中,步骤(a)包含配置激活程序以预测任何程序代码预先读取逻辑的行为,并确保必要的指令绝不会被预先读取逻辑所预先读取及摒弃。
36.如权利要求20所述的方法,其中,步骤(a)包含配置激活程序以包含不操作指令,在可能会有因预先读取缓冲器逻辑所造成的程序代码流中断的程序代码区块之间,以该不操作指令作为填料。
37.如权利要求20所述的方法,其中:
步骤(a)包含配置激活程序,以控制处理器由序列存取内存将激活码转移至挥发性随机存取内存,接着跳至该挥发性随机存取内存里的激活码;以及
步骤(a)更进一步包含配置激活程序,使该挥发性随机存取内存里的激活码内的分支为相对的。
38.如权利要求20所述的方法,其中,步骤(a)包含配置激活程序,以控制处理器使用立即移动指令,由序列存取内存将激活码转移至挥发性随机存取内存,接着跳至该挥发性随机存取内存里的激活码。
CNB008183422A 2000-01-14 2000-12-15 通过储存在序列存取内存中的激活码使计算机系统起始的系统及方法 Expired - Lifetime CN1307542C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/483,318 2000-01-14
US09/483,318 US6601167B1 (en) 2000-01-14 2000-01-14 Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program

Publications (2)

Publication Number Publication Date
CN1556950A CN1556950A (zh) 2004-12-22
CN1307542C true CN1307542C (zh) 2007-03-28

Family

ID=23919595

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008183422A Expired - Lifetime CN1307542C (zh) 2000-01-14 2000-12-15 通过储存在序列存取内存中的激活码使计算机系统起始的系统及方法

Country Status (9)

Country Link
US (1) US6601167B1 (zh)
EP (1) EP1248976B1 (zh)
JP (1) JP2003519870A (zh)
KR (1) KR100774598B1 (zh)
CN (1) CN1307542C (zh)
AT (1) ATE250777T1 (zh)
DE (1) DE60005563T2 (zh)
TW (1) TW502150B (zh)
WO (1) WO2001052062A2 (zh)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256352A1 (en) * 2000-01-06 2008-10-16 Super Talent Electronics, Inc. Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
KR20010106654A (ko) * 2000-05-22 2001-12-07 윤종용 운영체제와 사용자 환경을 포함하는 기록 가능한 광디스크및 이에 적합한 장치
DE10050604A1 (de) * 2000-10-12 2002-04-25 Siemens Ag Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
US6874083B2 (en) * 2000-12-22 2005-03-29 Intel Corporation Method and apparatus to ensure proper voltage and frequency configuration signals are defined before applying power to processor
US7065639B2 (en) * 2000-12-29 2006-06-20 Hewlett-Packard Development Company, L.P. Utilization of SRAM in an execution of initialization code process upon system start up
US7058779B1 (en) * 2001-03-05 2006-06-06 Advanced Micro Devices, Inc. Computer system initialization via boot code stored in a non-volatile memory having an interface compatible with synchronous dynamic random access memory
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7386653B2 (en) * 2001-08-06 2008-06-10 Sandisk Il Ltd Flash memory arrangement
US20030056071A1 (en) * 2001-09-18 2003-03-20 Triece Joseph W. Adaptable boot loader
US7032106B2 (en) 2001-12-27 2006-04-18 Computer Network Technology Corporation Method and apparatus for booting a microprocessor
TWI228220B (en) 2002-03-08 2005-02-21 Samsung Electronics Co Ltd System boot using NAND flash memory and method thereof
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
KR100441608B1 (ko) 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
US20030233533A1 (en) * 2002-06-13 2003-12-18 M-Systems Flash Disk Pioneers Ltd. Boot from cache
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
KR100469669B1 (ko) * 2002-09-24 2005-02-02 삼성전자주식회사 플래시 메모리를 이용하여 부팅되는 시스템 장치 및 그시스템 부팅 방법
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US7340566B2 (en) * 2002-10-21 2008-03-04 Microsoft Corporation System and method for initializing a memory device from block oriented NAND flash
US6988163B2 (en) * 2002-10-21 2006-01-17 Microsoft Corporation Executing binary images from non-linear storage systems
SG117428A1 (en) * 2002-11-07 2005-12-29 Mrd Technologies Pte Ltd Method and apparatus for loading boot code
US7430659B2 (en) * 2002-11-29 2008-09-30 Sigmatel, Inc. System and method to initialize a multiple function device with a multi-part boot algorithm
US7657615B1 (en) 2002-12-08 2010-02-02 Sun Microsystems, Inc. Approach for provisioning network devices
US20040123089A1 (en) * 2002-12-20 2004-06-24 Bodily Melvin Dirk Method of field upgradeable boot code
KR100493884B1 (ko) * 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
KR100849296B1 (ko) * 2003-06-13 2008-07-29 삼성전자주식회사 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법
GB2404748B (en) * 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
US7149890B2 (en) * 2003-11-21 2006-12-12 Intel Corporation Initializing system memory
JP4745613B2 (ja) * 2004-01-20 2011-08-10 キヤノン株式会社 情報処理装置及び情報処理方法
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
KR100678047B1 (ko) * 2004-05-06 2007-02-02 삼성전자주식회사 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법
US20050262337A1 (en) * 2004-05-24 2005-11-24 Siemens Vdo Automotive Corporation Method and device for determining flash software compatibility with hardware
US20050273585A1 (en) * 2004-06-08 2005-12-08 Leech Phillip A System and method associated with persistent reset detection
CN100405296C (zh) * 2004-06-30 2008-07-23 大唐移动通信设备有限公司 扩展串行引导代码量的方法
KR100604877B1 (ko) * 2004-07-03 2006-07-31 삼성전자주식회사 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
US7211977B2 (en) * 2004-07-13 2007-05-01 Hewlett-Packard Development Company, L.P. Pulse width modulation fan control
US8457152B2 (en) * 2004-07-16 2013-06-04 Qualcomm Incorporated Multiple modulation schemes in single rate layering wireless communication systems
US8028143B2 (en) * 2004-08-27 2011-09-27 Qualcomm Incorporated Method and apparatus for transmitting memory pre-fetch commands on a bus
US20060064684A1 (en) * 2004-09-22 2006-03-23 Royer Robert J Jr Method, apparatus and system to accelerate launch performance through automated application pinning
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
KR100693559B1 (ko) * 2005-02-01 2007-03-14 주식회사 팬택 전자기기의 램 초기화 방법
WO2006074793A1 (en) * 2005-01-14 2006-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for initializing a booting procedure of a mobile device
EP1681628B1 (en) 2005-01-14 2016-11-02 Telefonaktiebolaget LM Ericsson (publ) Method and device for initializing a booting procedure of a mobile device
US7356680B2 (en) * 2005-01-22 2008-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method of loading information into a slave processor in a multi-processor system using an operating-system-friendly boot loader
KR100640389B1 (ko) * 2005-04-06 2006-10-30 삼성전자주식회사 Nand플래시 메모리를 구비한 장치에서 어플리케이션을실행하는 방법 및 그 장치
CN100405297C (zh) * 2005-05-18 2008-07-23 鸿富锦精密工业(深圳)有限公司 嵌入式系统出厂预设值初始设定程序的更新方法
US7716464B2 (en) * 2005-06-23 2010-05-11 Intel Corporation Method to have fault resilient booting
US20070016721A1 (en) * 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
KR100667822B1 (ko) * 2005-10-10 2007-01-11 삼성전자주식회사 낸드 플래시 메모리를 이용한 화상형성장치의 초기화제어장치 및 방법
KR100778293B1 (ko) * 2005-10-10 2007-11-22 삼성전자주식회사 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
JP2007206885A (ja) * 2006-01-31 2007-08-16 Toshiba Corp コンピュータシステム及びシステム起動方法
KR20070095136A (ko) * 2006-03-20 2007-09-28 엘지전자 주식회사 프로그램이 가능한 부팅 지원 장치 및 방법
US8065563B2 (en) * 2006-03-23 2011-11-22 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US7555678B2 (en) * 2006-03-23 2009-06-30 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
CN100458694C (zh) * 2006-04-04 2009-02-04 深圳安凯微电子技术有限公司 微处理器启动过程中对所用通用闪存的检测方法
US7849302B2 (en) 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
JP2007316871A (ja) * 2006-05-24 2007-12-06 Fujitsu Ltd プロセッサユニット
JP5019567B2 (ja) * 2006-08-04 2012-09-05 ソニーモバイルコミュニケーションズ株式会社 メモリ管理方法および携帯端末装置
JP2008065434A (ja) 2006-09-05 2008-03-21 Matsushita Electric Ind Co Ltd プログラム起動制御装置
US8312298B2 (en) 2006-11-17 2012-11-13 National Instruments Corporation PXI express controller power control state machine
US7930582B2 (en) * 2006-11-22 2011-04-19 Ricoh Company, Ltd. Image processing apparatus and method of transmitting reference clock
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8683213B2 (en) 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
IL187044A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Fast secure boot implementation
US20090144538A1 (en) * 2007-11-05 2009-06-04 Duda Kenneth J Patch installation at boot time for dynamically installable, piecemeal revertible patches
JP2009157632A (ja) * 2007-12-26 2009-07-16 Toshiba Corp 情報処理装置
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
GB2491771B (en) 2010-04-21 2017-06-21 Hewlett Packard Development Co Lp Communicating operating system booting information
US9720859B1 (en) 2010-04-30 2017-08-01 Mentor Graphics Corporation System, method, and computer program product for conditionally eliminating a memory read request
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9110595B2 (en) 2012-02-28 2015-08-18 AVG Netherlands B.V. Systems and methods for enhancing performance of software applications
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US10191823B2 (en) 2014-03-11 2019-01-29 Cloudendure Ltd. System and method for restoring original machines from replicated machines in a secondary computing environment
US9582386B2 (en) 2013-03-15 2017-02-28 Cloudendure, Ltd. System and method for maintaining a copy of a cloud-based computing environment and restoration thereof
US20170093971A1 (en) * 2015-09-30 2017-03-30 Cloudendure Ltd. System and method for orchestrating replicated components in a replicated cloud based computing environment
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
CN105518621B (zh) 2013-07-31 2019-09-17 马维尔国际贸易有限公司 将引导操作并行化的方法
TWI497268B (zh) * 2013-12-19 2015-08-21 Inventec Corp 伺服器系統及其通電後運作時序之控制方法
US10691838B2 (en) * 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
RU2579942C2 (ru) * 2014-09-01 2016-04-10 Открытое Акционерное Общество "Байкал Электроникс" Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
RU2579949C2 (ru) * 2014-09-30 2016-04-10 Открытое Акционерное Общество "Байкал Электроникс" Компьютерная система
US10331586B2 (en) 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
CN109075968A (zh) 2016-03-08 2018-12-21 马维尔国际贸易有限公司 用于安全设备认证的方法和装置
KR102387461B1 (ko) * 2017-07-24 2022-04-15 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 이의 동작 방법
CN108804221B (zh) * 2018-04-11 2020-09-11 百富计算机技术(深圳)有限公司 基于xip方式的嵌入式系统及其资源优化方法
US11461101B2 (en) * 2019-09-27 2022-10-04 Arm Technology (China) Co. LTD Circuitry and method for selectively controlling prefetching of program instructions
CN112667558A (zh) * 2019-10-15 2021-04-16 瑞昱半导体股份有限公司 处理系统与芯片内执行控制方法
KR102248686B1 (ko) * 2020-02-14 2021-05-04 엘에스일렉트릭(주) 외부 메모리 접근 시스템
US11868276B2 (en) 2022-06-02 2024-01-09 Hewlett-Packard Development Company, L.P. Non-volatile memory write access control

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795208A (ja) * 1993-09-24 1995-04-07 Toshiba Corp セル逆変換装置
US5664194A (en) * 1995-12-04 1997-09-02 Metricom, Inc. Method for autonomously transferring code to a computer without accessing local memory by the central processing unit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799186A (en) 1990-12-20 1998-08-25 Eastman Kodak Company Method and apparatus for programming a peripheral processor with a serial output memory device
JP3221763B2 (ja) * 1993-04-08 2001-10-22 株式会社日立製作所 音声コーデック
JPH06348504A (ja) * 1993-06-04 1994-12-22 Sharp Corp マイクロプロセッサシステム
US5379431A (en) * 1993-12-21 1995-01-03 Taligent, Inc. Boot framework architecture for dynamic staged initial program load
JPH08202559A (ja) * 1995-01-30 1996-08-09 Nec Corp 世代ファイル管理方式
US5951685A (en) * 1996-12-20 1999-09-14 Compaq Computer Corporation Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US5940627A (en) * 1997-03-13 1999-08-17 Compaq Computer Corporation User selectable feature set for a flash ROM based peripheral
JP3072722B2 (ja) * 1997-06-20 2000-08-07 ソニー株式会社 フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
US6438687B2 (en) * 1997-10-30 2002-08-20 Micron Technology, Inc. Method and apparatus for improved storage of computer system configuration information
US5987605A (en) * 1998-02-28 1999-11-16 Hewlett-Packard Co. Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
US6446139B1 (en) * 1999-06-28 2002-09-03 Adaptec, Inc. Multiple chip single image BIOS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795208A (ja) * 1993-09-24 1995-04-07 Toshiba Corp セル逆変換装置
US5664194A (en) * 1995-12-04 1997-09-02 Metricom, Inc. Method for autonomously transferring code to a computer without accessing local memory by the central processing unit

Also Published As

Publication number Publication date
TW502150B (en) 2002-09-11
WO2001052062A2 (en) 2001-07-19
KR100774598B1 (ko) 2007-11-09
DE60005563D1 (de) 2003-10-30
KR20020097161A (ko) 2002-12-31
JP2003519870A (ja) 2003-06-24
US6601167B1 (en) 2003-07-29
ATE250777T1 (de) 2003-10-15
CN1556950A (zh) 2004-12-22
DE60005563T2 (de) 2004-06-17
EP1248976B1 (en) 2003-09-24
WO2001052062A3 (en) 2001-12-27
EP1248976A2 (en) 2002-10-16

Similar Documents

Publication Publication Date Title
CN1307542C (zh) 通过储存在序列存取内存中的激活码使计算机系统起始的系统及方法
US6711059B2 (en) Memory controller
KR100508087B1 (ko) 낸드 플래시 메모리를 이용한 부트 시스템 및 그 방법
US5829013A (en) Memory manager to allow non-volatile memory to be used to supplement main memory
US5519847A (en) Method of pipelining sequential writes in a flash memory
CN100456272C (zh) 利用快闪存储器引导的系统和方法
CN1307532C (zh) 利用与非闪速存储器的引导系统及其方法
US7774661B2 (en) Register read mechanism
US7240146B2 (en) Random access interface in a serial memory device
WO1985003150A1 (en) Data processing system including memory hierarchy
KR20090033887A (ko) 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법
EP1984827B1 (en) An electronic device having a memory element and method of operation therefor
US7941587B2 (en) Programmable sequence generator for a flash memory controller
CN108538332B (zh) 与非门闪存的读取方法
US6622244B1 (en) Booting from a reprogrammable memory on an unconfigured bus by modifying boot device address
US7210030B2 (en) Programmable memory initialization system and method
US11755211B2 (en) Overhead reduction in data transfer protocol for NAND memory
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
EP3783490B1 (en) Operating method of memory controller and storage device
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
KR100245079B1 (ko) 고유의 버스트 검색 기능을 가진 데이타 저장 시스템
TWI747270B (zh) 用來進行組態管理之方法以及資料儲存裝置及其控制器
US20090271560A1 (en) Dynamic Fix-Up of Global Variables During System BIOS Execution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100705

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA, THE UNITED STATES TO: CAYMAN ISLANDS, BRITISH

TR01 Transfer of patent right

Effective date of registration: 20100705

Address after: Grand Cayman, Cayman Islands

Patentee after: Globalfoundries Semiconductor Inc.

Address before: American California

Patentee before: Advanced Micro Devices Inc.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070328