CN1307532C - 利用与非闪速存储器的引导系统及其方法 - Google Patents

利用与非闪速存储器的引导系统及其方法 Download PDF

Info

Publication number
CN1307532C
CN1307532C CNB031250378A CN03125037A CN1307532C CN 1307532 C CN1307532 C CN 1307532C CN B031250378 A CNB031250378 A CN B031250378A CN 03125037 A CN03125037 A CN 03125037A CN 1307532 C CN1307532 C CN 1307532C
Authority
CN
China
Prior art keywords
flash memory
boot
nand flash
interface
memory
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
CNB031250378A
Other languages
English (en)
Other versions
CN1447227A (zh
Inventor
崔永准
权锡千
李锡宪
李栽荣
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR10-2002-0077291A external-priority patent/KR100508087B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1447227A publication Critical patent/CN1447227A/zh
Application granted granted Critical
Publication of CN1307532C publication Critical patent/CN1307532C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/4406Loading of operating system
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供用于使用NAND闪速存储引导计算设备的系统和方法。将存储在NAND闪速存储器中的引导程序代码传送到RAM用于CPU执行。将存储在NAND闪速存储器中的操作系统程序传送给系统存储器用于在系统引导后由CPU执行。

Description

利用与非闪速存储器的引导系统及其方法
技术领域
本发明涉及用于引导计算设备的系统;更具体地说,涉及使用NAND(与非)闪速存储器引导的系统及其引导方法。
背景技术
在如个人数字助理(PDA)的每个典型的个人计算机(PC)或计算设备中,当打开PC或设备时,执行安装在基本输入/输出服务(BIOS)中的程序。通过执行BIOS程序执行多个初始化功能。这些功能通常是:检验用于定制设置的CMOS设置;加载中断处理程序和设备驱动程序;初始化寄存器和电源管理;执行用于安装如磁盘驱动器的元件或外围设备的通电自检(POST);显示系统设置;确定哪个组件是可引导的;以及初始化自举序列。通常,将BIOS(或引导)程序存储在只读存储器(ROM)、可擦可编程序只读存储器(EPROM)或NOR(或非)型逻辑(NOR)闪速存储器中。
如果将引导程序存储在ROM中,因为ROM是非易失性的,不能改变存储的程序。任何对存储的程序必要的较小改变需要替换ROM。在将引导程序存储在EPROM的情况下,如果改变存储的程序,必须擦除在前存储的程序。EPROM擦除进一步需要单个组件或设备。同样地,如果将程序存储在ROM或EPROM中,不容易执行在引导程序中需要的任何改变或更新。在将引导程序存储在NOR逻辑(NOR)闪速存储器的情况下,能擦除或更新存储的程序。然而,与NAND逻辑(NAND)闪速存储器相比,对指定存储容量来说NOR闪速存储器在大小方面更大且制造起来更昂贵。
图1中示出了具有存储BIOS的NAND闪速存储器的系统的一个例子,其在U.S.专利NO.5,535,357中公开。参考图1,系统10包括系统总线17、包括NAND闪速存储器18和内部接口块15的组合芯片16、以及用于控制组合芯片16和系统存储器19的控制器11。控制器11可是中央处理单元(CPU),其具有用于执行计算功能的CPU核心12、存储控制器14以及在控制器11内部中的内部系统总线13。存储控制器14执行NAND闪速存储器18和系统存储器19间的存储变换,并使用用于根据存储变换执行的接口功能的内部接口块15。内部接口块15临时将NAND闪速存储设备的数据存储在如寄存器或RAM的存储设备中,并在存储控制器14的控制下,通过系统总线17将临时存储的数据传送给系统存储器。
内部接口块15包括一个用于与NAND闪速存储器18连接的NAND接口逻辑28以及一个用于通过系统总线17与系统存储器19或存储控制器14连接的NOR接口逻辑29。NOR接口逻辑29是通常用于在NOR闪速存储器和存储控制器和/或系统存储器之间进行接口连接的电路。如果闪速存储器是NOR闪速存储器,NAND接口逻辑28不必使来自闪速存储器的信号为“NOR接口方式”(本领域的技术人员将该术语称为“ROM接口方式”),NOR接口方式为根据字节/字单元的地址能够随机存取存储器的数据传送。相反,“NAND接口方式”的数据传送不是随机存取,而块单元的数据是通过块地址和命令来传送的。
系统10使用NAND接口方式将NAND闪速存储器18的数据通过NAND接口逻辑28传送给内部接口块15,以及使用NOR接口方式,通过NOR接口逻辑29将数据传送给系统存储器19。由于来自NAND闪速存储器18的数据存取需要经过两级NAND接口方式和NOR接口方式,损害了数据存取速度。另外,因为用于由存储控制器存取在闪速存储设备中存储的引导程序代码所需的时间是系统性能的一个指标,因此不能最优化这种设备的系统额定性能。
此外,因为NAND闪速存储器18的所有数据需要加载到内部接口块15中以及需要支持NAND和NOR接口的逻辑电路,所以内部接口块15在物理尺寸方面自然需要很大。因此,图1所示的系统10可能成本很高并且低于最佳额定性能。
发明内容
提供一个具有CPU核心、系统存储器以及用于它们间的数据通信的接口的系统,系统包括:一个NAND闪速存储器,用于至少存储一个引导程序代码、引导程序打包器(boot strapper),用于协调将控制信号传送到NAND闪速存储器,并通过接口从NAND闪速存储器接收引导程序代码、以及一个RAM,用于存储从NAND闪速存储器存取的引导程序代码,其中系统引导包括由CPU核心从RAM读取引导程序代码。最好,引导程序代码包括一个系统初始化程序和复制指令程序。
根据本发明的一个实施例,引导程序打包器包括用于与NAND闪速存储器接口的NAND接口逻辑,以及将用于存储引导程序代码的RAM集成到引导程序打包器中。
在另一实施例中,RAM在引导程序打包器外。
该系统进一步包括延迟,用于延迟CPU核心的初始化操作直到将引导程序代码存储在RAM中为止。通过引导程序打包器来实现延迟以及通过存储控制器来实现接口。存储控制器包括用于以NAND接口方式与NAND闪速存储器接口的NAND接口逻辑。
根据本发明的另一实施例,RAM是通过第一局部总线连接到CPU核心的高速缓冲存储器。系统另外包括用于将引导程序打包器连接到高速缓冲存储器的包装器(wrapper)。第二局部总线直接将引导程序打包器连接到高速缓冲存储器。
在一个实施例中,该系统另外包括用于通过接口和系统总线,控制NAND闪速存储器和系统存储器的存储控制器,其中接口包括用于防止通过存储控制器和引导程序打包器同时存取系统总线的装置。
根据本发明的另一实施例,提供具有一个CPU核心、系统存储器以及用于它们间数据的通信的接口的系统,该系统包括:
一个NAND闪速存储器,用于存储操作系统程序、以及ROM,用于存储引导程序代码,其中系统的引导包括由CPU核心从ROM读取引导程序代码。最好,初始化时将操作系统程序复制到系统存储器上,以及CPU通过存取系统存储器执行操作系统程序。
根据本发明的另一实施例,提供具有一个CPU核心、系统存储器以及用于两者之间数据通信的接口的系统,该系统包括:NAND闪速存储器,用于存储引导程序代码;引导程序打包器,通过系统总线,连接到NAND闪速存储器,用于从NAND闪速存储器接收引导程序代码;包括RAM的引导程序打包器,用于存储引导程序代码,其中系统的引导包括由CPU核心从RAM读取引导程序代码。
在本发明的另一方面,提供具有一个CPU核心、系统存储器以及用于两者间数据通信的接口的系统,该系统包括:NAND闪速存储器,用于存储操作系统程序;多个耦合管脚,用于设置初始化参数;以及复制逻辑电路,用于在接收到系统初始化信号后,将操作系统程序复制到系统存储器中,其中通过存取系统存储器,CPU核心执行操作系统程序。
在本发明的另一方面,提供具有CPU核心、系统存储器以及用于两者间数据通信的接口的系统,该系统包括:闪速存储器,用于至少存储引导程序代码;引导程序打包器,用于协调将控制信号传送到闪速存储器,以及通过接口从闪速存储器接收引导程序代码;第一和第二存储控制器,用于有选择地控制闪速存储器;以及选择器,用于根据闪速存储器的类型,选择操作第一和第二存储控制器的一个。
该闪速存储器是NOR和NAND闪速存储器中的一种。第一存储控制器,包括NOR接口逻辑以及第二存储控制器包括NAND接口逻辑。
该系统最好另外包括RAM,用于存储从闪速存储器接收的引导程序代码,并且选择器包括用于选择操作第一和第二存储控制器中的一个的选择管脚。
根据本发明的引导方法,在具有CPU核心、系统控制器以及存储控制器的计算设备中,该方法包括步骤:将引导程序代码预先存储在NAND闪速存储器中、接收系统初始化信号、将引导程序代码从NAND闪速存储器传送到RAM中,以及由CPU核心执行存储在RAM中的引导程序代码。
该方法进一步包括步骤:在接收到系统初始化信号后,挂起CPU核心的执行直到完成将引导程序代码从NAND闪速存储器传送到RAM中的步骤为止。
附图说明
图1表示具有常规NAND闪速存储器的计算系统。
图2表示使用存储在NAND闪速存储器中的引导程序代码的本发明的实施例。
图3表示从闪速存储器传送引导程序代码的过程的时序图。
图4表示根据本发明的计算系统的另一实施例。
图5表示根据本发明的计算系统的另一实施例。
图6表示根据本发明的计算系统的另一实施例。
图7表示根据本发明的计算系统的另一实施例。
图8表示根据本发明的计算系统的另一实施例。
图9表示根据本发明的计算系统的另一实施例。
图10表示根据本发明的计算系统的另一实施例。
图11表示根据本发明的计算系统的另一实施例。
图12表示根据本发明的计算系统的另一实施例。
图13表示根据本发明的计算系统的另一实施例。
图14表示根据本发明的计算系统的另一实施例。
图15表示根据本发明的实施例,描述从闪速存储器传送引导程序代码的步骤的流程图。
具体实施方式
图2中示出了根据本发明的实施例的使用NAND闪速存储器的系统。
参考图2,计算系统20包括控制器21、系统总线17、NAND闪速存储器18以及系统存储器19。计算系统20包括计算设备的基本组件,计算设备可以是由系统初始化程序(通常称为引导程序代码)引导的个人数字助理(PDA)、掌上电脑、膝上型电脑、个人计算机或任何系统。
控制器21具有CPU核心12、内部系统总线13、存储控制器14、引导程序打包器25、以及接口27。控制器21可嵌在单个半导体芯片中,以及通常控制和管理任何存储器,如连接到系统总线17的NAND闪速存储器18以及系统存储器19。
系统总线17用于控制器21、NAND闪速存储器18以及系统存储器19的数据传送。
NAND闪速存储器18存储用于引导系统20的引导程序代码,以及可另外存储操作系统(OS)和其他程序或数据。OS可是Microsoft DOS或WINDOWS,在引导或初始化过程后,由控制器21执行来操作系统20。基于用于表示如何利用应用程序的用户要求和软件代码,存储在NAND闪速存储器18中的数据也可能是用户存储设备的配置代码。
系统存储器19最好是动态随机存取存储器(DRAM),用作存储数据、指令等的主存储器。
CPU核心12执行OS、应用程序以及操作程序。内部系统总线13将数据传送到CPU核心12以及从CPU核心12传送数据、以及在存储控制器14和引导程序打包器间传送数据。
根据本发明的该实施例,在初始化之前,首先将引导程序代码存储在NAND闪速存储器18中。初始化时,将存储在NAND闪速存储器18中的引导程序代码传送给引导程序打包器25中的内部RAM 26。NAND接口逻辑28连接NAND闪速存储器18并将存储在NAND闪速存储器18中的引导程序代码传送给内部RAM 26。在完成引导程序代码的传送后,由CPU核心12执行包括系统初始化代码和复制循环指令代码的引导程序代码。当执行时,系统初始化代码初始化控制器21、NAND闪速存储器21、系统存储器19以及外围设备。复制循环指令码指示将将要加载的所存储的操作系统或其他数据复制到系统存储器19中。同时从NAND闪速存储器加载到内部RAM 26的操作系统或其他数据的大小可由引导程序代码指定的值确定,或可由引导程序打包器25中的硬件逻辑确定。由于与NOR和NAND接口逻辑(见图1)相比,引导程序打包器25仅需要包括一个NAND接口逻辑,与图1的接口块15相比,所以引导程序打包器25在大小方面比图1的接口块15小。另外,由于内部RAM 26仅存储引导程序代码,与存储NAND闪速存储器18的所有数据的接口块15相比,其具有较小的容量。因此,根据本发明,系统20的成本有利地低于图1的系统10的成本。
存储控制器14控制和管理包括将存储在NAND闪速存储器18中的操作系统或数据通过系统总线17写入系统存储器19或从系统存储器19读取数据的存储器操作。在这种操作中,存储控制器14执行NAND闪速存储器18以及系统存储器19间的存储变换。
接着,描述在图2中系统20的操作。当启动系统20时,引导程序打包器25接收系统初始化信号(如,加电信号和系统复位信号),以及将存储在NAND闪速存储器18中的引导程序代码传送给系统存储器19。当正将引导程序代码传送给内部RAM 26时,引导程序打包器25生成用于挂起CPU核心12的操作的控制信号。在完成引导程序代码的传送后,复位控制信号并激活CPU核心12以及执行“后引导操作”。
另外,可将控制器21中的一个延迟(未示出)用来挂起CPU核心12的操作。例如,同时将系统初始化信号(例如,加电信号和系统复位信号)施加到连接到CPU核心12的引导程序打包器25和延迟。延迟系统初始化信号的到来直到将引导程序代码从NAND闪速存储器18传送到内部RAM 26为止。可通过延迟电路或软件来实现延迟。因此,设置延迟来延迟基本上等于或稍微大于用于这种引导程序代码传送所需的时间的时间量。
在激活CPU核心12后,执行存储在内部RAM 26中的引导程序代码。通过执行引导程序代码中的系统初始化代码,初始化系统20的硬件。通过执行引导程序代码中的复制循环指令代码,CPU核心12读出其他数据或程序,如存储在NAND闪速存储器18中的操作系统。这最好以页为单位通过接口27和引导程序打包器25的NAND接口逻辑28执行。此后,CPU核心12通过存储控制器14和接口27将读出的其他数据或程序如操作系统复制到系统存储器19。在完成其他数据或程序如操作系统的复制操作后,执行操作系统。因此,当完成引导程序过程时,通过来自系统存储器19的操作系统驱动系统20。
根据本发明的该实施例,用单级NAND接口实现引导程序过程,引导程序过程是通过首先将存储在NAND闪速存储器18中的引导程序代码复制到内部RAM 26,然后将操作系统传送到系统存储器19来执行的。当与在如图1所示的两级接口方式(即NAND接口方式以及NOR接口方式)比较时,实现了更快的引导速度。
下面将参考图2和图3更详细地描述由引导程序打包器25读出存储在NAND闪速存储器中的引导程序代码以及将读出的引导程序代码传送给内部RAM 26的过程。图3根据本发明的优选实施例,描述当从NAND闪速存储器读出引导程序代码时的时序图。
响应系统初始化信号,引导程序打包器25输出控制信号(如CLE、ALE、CE、WE、RE以及R/B)以便读出存储在NAND闪速存储器中的引导程序代码。在具有地址ad0、ad1以及ad2的00h产生读取命令。系统初始化信号包括加电信号(当系统加电时产生)、系统复位信号或再复位信号。
当将预定命令输入到NAND闪速存储器18时,激活命令锁存允许信号(CLE)。当将预定地址输入到NAND闪速存储器18时,激活地址锁存允许信号(ALE)。
响应有效的(如逻辑“高”)命令锁存允许信号(CLE)、有效的(如逻辑“低”)芯片允许信号(CE#)以及有效的写允许信号(WE#),NAND闪速存储器18经系统总线17接收读命令00h。这里,“#”表示有效的低状态。
同样,响应有效的地址锁存允许信号(ALE)、有效的芯片允许信号(CE#)以及有效的写允许信号(WE#),NAND闪速存储器18经系统总线17接收地址。可根据NAND闪速存储器地址段(step)选择信号,设置生成的地址的数量。
根据本发明的该实施例,图3中示出了NAND闪速存储器18的3段(step)寻址,但本领域的技术人员很容易意识到寻址过程并不仅限于此,并且NAND闪速存储器地址段选择信号可使用三个或更多数量的段寻址。
根据本发明,引导程序打包器25生成读命令00h来读出存储在NAND闪速存储器18中的引导程序代码,然后生成地址ad0、ad1以及ad2。响应读命令00h以及地址ad0、ad1以及ad2,以页为单位读出存储的引导程序代码。将读出的数据暂时存储在NAND闪速存储器18的内部缓冲器(未示出)中。
在就绪/忙信号R/B#处于有效逻辑(“低”)时,完成将数据(如引导程序代码)复制到内部缓冲器中的操作。在就绪(read)/忙信号R/B#处于无效逻辑(“高”)时,不完成数据(引导程序代码,这里为D0、D1、D2和D3)的复制操作。在激活读允许信号RE#时,将存储在内部缓冲器中的数据D0、D1、D2和D3传送到系统总线17。此后,将系统总线17上的数据D0、D1、D2以及D3传送到内部RAM 26。
根据本发明的优选实施例,响应系统初始化信号,引导程序打包器25产生CPU核心12的操作中的挂起或延迟,同时最好通过NAND接口逻辑28和接口27将控制信号如CE#、CLE、ALE、WE#、RE#以及R/B#输出给NAND闪速存储器18。响应控制信号,如CE#、CLE、ALE、WE#、RE#以及R/B#,将从NAND闪速存储器18读取的数据经NAND接口逻辑28和接口27传送给引导程序打包器25。引导程序打包器25将引导程序代码存储在内部RAM26中,然后释放CPU12上的挂起。另外,将CPU核心延迟大于将引导程序代码存储在内部RAM 26中所需的时间的持续时间。延迟可以是可调整的定时器。因此,当挂起CPU核心12时,存储在NAND闪速存储器18中的引导程序代码已经传送给内部RAM 26。
此后,载入内部RAM 26的引导程序代码中的系统初始化代码的执行导致初始化系统20的硬件。以及通过执行引导程序代码中的复制循环指令码,CPU核心12使操作系统从NAND闪速存储器18传送到系统存储器19,最好通过存储控制器14和接口27。接口27中的多路复用或数据选择电路(未示出)多路存取系统总线17,从而防止存储控制器14和引导程序打包器25同时存取系统总线17。
在完成将操作系统复制到系统存储器19后,由系统存储器19执行操作系统以及由此驱动系统20。
图4中示出了根据本发明的使用NAND闪速存储器的引导程序系统的第二实施例。根据该实施例,将内部RAM 33放在引导程序打包器32外。最好经内部系统总线13由引导程序打包器32存取内部RAM 33;另外NAND闪速存储器18数据传送的操作与先前所述的相同。
图5中所示的是根据本发明的使用NAND闪速存储器的引导系统的第三实施例,由引导程序打包器32存取内部RAM 33最好经专用总线34;另外,NAND闪速存储器18的数据传送的操作与先前描述的相同。使用用于加载到内部RAM 33的专用总线34降低了从NAND闪速存储器18传送引导程序代码所需的时间量,从而提高系统性能。
图6中示出了根据本发明的使用NAND闪速存储器的引导系统的第四实施例。图6的系统50包括控制器51、NAND闪速存储器18、系统总线17以及系统存储器19。
控制器51包括引导程序打包器52、CPU核心12、内部系统总线13以及内部RAM53和具有NAND接口逻辑28的存储控制器54。如图6所示,内部RAM53在引导程序打包器52中,但内部RAM53也能放在引导程序打包器52外,如图4和图5所示。根据该实施例,系统控制器54用来控制系统存储器19和直接存取NAND闪速存储器18。因此,根据该实施例,存储控制器54能执行先前由图2中所示的接口27执行的功能。
响应系统初始化信号,引导程序打包器52挂起CPU核心12的操作,同时经内部系统总线13,由NAND接口逻辑28使用NAND接口方式读出存储在NAND闪速存储器18中的引导程序代码。然后,引导程序打包器52将读出的引导程序代码加载到内部RAM53。系统初始化信号是响应加电信号或复位信号而生成的信号。
通过执行引导程序代码中的系统初始化代码,初始化系统20的硬件。以及通过执行引导程序代码中的复制循环指令代码,CPU核心12经存储控制器54读出存储在NAND闪速存储器18中的操作系统,并将操作系统载入系统存储器19中。在完成将操作系统复制到系统存储器19后,由系统存储器19执行操作系统。
图7中示出了根据本发明的使用NAND闪速存储器的引导系统的第五实施例。控制器61包括CPU核心12、引导程序打包器62、内部系统总线13、存储控制器54以及内部RAM63。注意内部RAM63放在引导程序打包器62外。
响应系统初始化信号,引导程序打包器62挂起CPU核心12的操作,同时由存储控制器54的NAND接口逻辑28使用NAND接口方式读出存储在NAND闪速存储器18中的引导程序代码。然而,通过内部系统总线13,引导程序打包器62将读出的引导程序代码载入到内部RAM63。
图8中示出了根据本发明的使用NAND闪速存储器的引导系统的第六实施例。控制器71包括CPU核心12、局部总线75、高速缓冲存储器73、包装器72、内部系统总线13、存储控制器54以及引导程序打包器74。包装器72与局部总线75和内部系统总线13接口。包装器最好是执行来有选择地控制对高速缓冲存储器73的存或取的存取的软件程序或硬件。将高速缓冲存储器73放在临近CPU核心12,用于暂时存储频繁地使用的数据。高速缓冲存储器73的存取时间比图7的内部RAM的存取时间短。
在通过内部系统总线13存取高速缓冲存储器73的情况下,响应系统初始化信号,引导程序打包器74延迟或挂起CPU核心12的操作,同时由NAND接口逻辑28使用NAND接口方式读出存储在NAND闪速存储器18中的引导程序代码。此后,通过内部系统总线13,引导程序打包器74将读出的引导程序代码写入高速缓冲存储器73中。
在通过局部总线75存取高速缓冲存储器73的情况下,响应系统初始化信号,引导程序打包器74挂起CPU核心12的操作,同时使用NAND接口逻辑28读出存储在NAND闪速存储器18中的引导程序代码。此后,通过包装器72和局部总线75,引导程序打包器74将读出的引导程序代码写入高速缓冲存储器73中。由于高速缓冲存储器73的较短的存取时间,使用根据本发明的引导系统的系统引导过程更快。
图9中示出了根据本发明的使用NAND闪速存储器的引导系统的第七实施例。控制器81包括用于在高速缓冲存储器73和引导程序打包器74间传送数据的第二局部总线82。图9的引导程序打包器74与图8的引导程序打包器一样操作。
响应系统初始化信号,引导程序打包器74挂起CPU核心12的操作,同时使用存储控制器54的NAND接口逻辑28读出存储在NAND闪速存储设备18中的引导程序代码。此后,通过专用总线82,引导程序打包器74将读出的引导程序代码写(复制、加载和传送)到高速缓冲存储器73中。在将引导程序代码存入高速缓冲存储器73后,除使用专用总线82外,以后的操作与图6所描述的相同。
图10描述根据本发明的使用NAND闪速存储器的引导系统的第八实施例。控制器91包括CPU核心12、局部总线75、包装器72、超高速缓存和引导程序打包器92、内部系统总线13以及存储控制器54。超高速缓存和引导程序打包器92是其中集成有高速缓冲存储器的引导程序打包器。
响应系统初始化信号,超高速缓存和引导程序打包器92挂起CPU核心12的操作,同时读出存储在NAND闪速存储器18中的引导程序代码。此后,超高速缓存和引导程序打包器92通过内部系统总线13将读出的引导程序代码加载到其中的高速缓冲存储器。另外,可以设置包装器72来引导引导程序代码通过局部总线75。
图11中示出了根据本发明的使用NAND闪速存储器的引导系统的第九实施例。控制器101包括CPU核心12、存储控制器54、复制逻辑块105、内部系统总线13以及选择管脚106。选择管脚有选择地耦合到电源电压VCC或接地电压GND。根据本发明,控制器101执行初始化操作,其中通过在系统存储器19中设置方式寄存器(MRS)(未示出)来初始化系统存储器。可通过使用选择管脚106,设置MRS。预先将MRS设置成将使用的系统存储器19的操作模式,如CAS等待时间(latency)或脉冲长度。例如,根据脉冲长度确定一次加载到NAND闪速存储器的系统存储器19中的数据量。复制逻辑块105指令用于将诸如存储在NAND闪速存储器18中的[引导程序代码]、操作系统或一般数据的数据复制到系统存储器19的操作,以及包括用于控制器101的指令序列。根据该实施例,引导程序代码是不必要的并且不必存储在NAND闪速存储器18中。响应系统初始化信号挂起CPU核心12的操作。同时,设置复制逻辑块105来将诸如从NAND闪速存储器18读出的操作系统和一般数据存储在系统存储器19中。在完成复制后,激活CPU核心12并且在系统存储器19中执行操作系统。然后响应操作系统,驱动系统20。
在这种装置100中,根据选择管脚106的耦合信息,完成用于初始化系统存储器19的系统初始化操作。由于删去了将引导程序代码复制到控制器的过程,提高了系统引导速度。
图12中示出了根据本发明的使用NAND闪速存储器的引导系统的第十实施例。控制器111包括CPU核心12、存储控制器54、内部系统总线13以及ROM块115。此时,ROM块115取代了图11的复制逻辑块105。预先将包括系统初始化代码以及用于指令将存储在NAND闪速存储器18中的数据复制到系统存储器19的代码的ROM数据存储在ROM块115中。ROM块115最好包括掩膜ROM、闪速存储器等。
响应系统初始化信号,激活CPU核心12以便根据包含在ROM块115中的系统初始化代码执行初始化操作,以及将存储在NAND闪速存储器18中的操作系统或一般数据复制到系统存储器19中。在完成复制操作后,激活CPU核心12以及执行系统存储器19中的操作系统。即,当完成引导时,响应操作系统,驱动系统110。
图13中描述了根据本发明的使用NAND闪速存储器的引导系统的第十一实施例。系统120包括控制器121、引导程序打包器25、NAND闪速存储器18以及系统存储器19。控制器121具有CPU核心12、内部系统总线13以及存储控制器14。根据本实施例,将引导程序打包器25放在控制器121外并经系统总线17操作性地连接到控制器121。
响应系统初始化信号,挂起CPU核心12的操作,以及经系统总线17,引导程序打包器25同时将存储在NAND闪速存储器18中的引导程序代码加载到内部RAM 26。在将引导程序代码存入内部RAM 26后,以后的操作与图2中所述的相同。
图14中描述了根据本发明的使用闪速存储器的引导系统的第十二实施例。系统130包括控制器131、闪速存储器135、系统存储器19以及系统总线17。控制器131具有CPU核心12、具有NOR接口逻辑29的第一存储控制器133、具有NAND接口逻辑28的第二存储控制器134、选择电路136以及选择管脚132。根据闪速存储器135的类型,由选择电路136将第一和第二存储控制器133和134有选择地连接到系统总线17。将选择管脚132耦合到电源电压VCC或接地电压GND。根据将选择管脚132耦合到VCC或GND的信息,有选择地激活第一存储控制器133或第二存储控制器134。
根据本实施例,闪速存储器135可是NOR闪速存储器、NAND闪速存储器或其他存储器类型。如果将NOR闪速存储器用作闪速存储器135,则将第一存储控制器133经NOR接口逻辑29和系统总线17连接到NOR闪速存储器。在这种情况下,第一存储控制器133使用第一存储控制器133中的常规NOR接口方式将系统总线17与NOR闪速存储器互连。因此,系统130的控制器131能容易地存取NOR闪速存储器的数据(如引导程序代码、操作系统以及一般数据)。如果将NAND闪速存储器用作闪速存储器135,则经过NAND接口逻辑28和系统总线17将第二存储控制器134连接到NAND闪速存储器。在这种情况下,基于如图2至图13所述的过程,使用NAND接口方式,第二存储控制器134将系统总线17与NAND闪速存储器互连。因此,系统130的控制器131可存取数据(如引导程序代码、操作系统以及一般数据)而与闪速存储器135的类型无关。
图15中描述了根据本发明的表示加载存储在闪速存储器中的引导程序代码的步骤的流程图。参考图2至图13,在每个附图中示出的引导程序打包器的初始状态是空闲状态(步骤150)。
响应系统初始化信号,引导程序打包器检测闪速存储器的页面大小、密度以及数据宽度,同时输出用于挂起系统的CPU的控制信号。另外,系统使用延迟(在前描述过)以便挂起CPU直到将引导程序代码加载到内部RAM为止(步骤151)。
根据图3描述的方法,引导程序打包器以页为单位读出存储在闪速存储器中的引导程序代码,以及通过预定总线或接口将读出的引导程序代码加载到控制器内或外的内部RAM(步骤152)。
在步骤153,引导程序打包器检测加载的引导程序代码的传送量大小。如果传送量大小不为“0”,例程返回步骤152。
如果传送量大小为“0”,即,将存储在闪速存储器中的引导程序代码全部加载到内部RAM,则引导程序打包器结束加载引导程序代码并激活系统的CPU(步骤154)。
根据系统引导方法,在CPU核心操作前,将存储在闪速存储器中的引导程序代码加载到控制器内或外的内部RAM。通过存储在内部RAM中的引导程序代码,将存储在闪速存储器中的预定操作系统复制到外部系统存储器19。如果完成复制操作,在系统存储器19中执行操作系统。
在将与操作系统有关的所有程序、文件或数据加载到系统存储器19后,由系统存储器19的操作系统驱动系统。
尽管已经描述过具有专利法所要求的详细情况和特性的本发明,注意根据上述教导,本领域的技术人员可做出修改和改变。因此,应当理解在公开的本发明的具体实施例中所做的改变均落入在由附加权利要求书定义的本发明的实质和范围内。

Claims (35)

1、一种具有CPU核心、系统存储器以及用于它们间数据通信的接口的系统,该系统包括:
一个NAND闪速存储器,用于至少存储引导程序代码;
一个引导程序打包器,用于协调将控制信号传送到NAND闪速存储器以及通过接口从NAND闪速存储器接收引导程序代码;以及
一个RAM,用于存储由NAND闪速存储器存取的引导程序代码,
其中该系统的引导包括由CPU核心从RAM读取引导程序代码。
2、如权利要求1所述的系统,其中引导程序代码包括系统初始化程序以及复制指令程序。
3、如权利要求1所述的系统,其中引导程序打包器包括一个用于与NAND闪速存储器进行接口的NAND接口逻辑。
4、如权利要求1所述的系统,其中引导程序打包器包括用于存储引导程序代码的RAM。
5、如权利要求1所述的系统,其中RAM在引导程序打包器外面。
6、如权利要求1所述的系统,进一步包括用于延迟CPU核心的操作直到将引导程序代码存储在RAM中为止的延迟。
7、如权利要求6所述的系统,其中用引导程序打包器实现延迟。
8、如权利要求1所述的系统,其中用存储控制器来实现接口。
9、如权利要求8所述的系统,其中存储控制器包括NAND接口逻辑。
10、如权利要求1所述的系统,其中RAM是通过第一局部总线连接到CPU核心的高速缓冲存储器。
11、如权利要求10所述的系统,进一步包括一个用于将引导程序打包器连接到高速缓冲存储器的包装器。
12、如权利要求10所述的系统,进一步包括一个用于直接将引导程序打包器连接到高速缓冲存储器的第二局部总线。
13、如权利要求12所述的系统,其中接口用存储控制器来实现。
14、如权利要求12所述的系统,其中存储控制器包括NAND接口逻辑。
15、如权利要求1所述的系统,其中引导程序打包器包括用于存储引导程序代码的RAM以及RAM是通过局部总线连接到CPU核心的高速缓冲存储器。
16、如权利要求1所述的系统,进一步包括用于通过接口和系统总线,控制NAND闪速存储器和系统存储器的存储控制器,其中接口包括用于防止存储控制器和引导程序打包器同时存取系统总线的装置。
17、如权利要求16所述的系统,其中存储控制器包括NADN接口逻辑。
18、一种具有一个CPU核心、一个系统存储器以及一个用于它们间的数据通信的接口的系统,该系统包括:
一个NAND闪速存储器,用于至少存储操作系统程序;以及
一个ROM,用于存储指引将存储在NAND闪速存储器中的数据复制到系统存储器的代码,
其中,所述系统进一步包括用于通过接口和系统总线,控制NAND闪速存储器和系统存储器的存储控制器。
19、如权利要求18所述的系统,其中在初始化时,将操作系统程序复制到系统存储器,以及通过存取系统存储器,CPU核心执行操作系统程序。
20、如权利要求19所述的系统,其中接口包括用于防止存储控制器和引导程序打包器同时存取系统总线的装置。
21、如权利要求20所述的系统,其中存储控制器包括NADN接口逻辑。
22、一种具有一个CPU核心、一个系统存储器以及一个用于它们间数据通信的接口的系统,该系统包括:
一个NAND闪速存储器,用于至少存储引导程序代码;
一个引导程序打包器,通过系统总线连接到NAND闪速存储器,用于从NAND闪速存储器接收引导程序代码,引导程序打包器包括用于存储引导程序代码的RAM,
其中系统的引导包括由CPU核心从RAM读取引导程序代码,并且
其中,所述系统进一步包括用于通过接口和系统总线控制NAND闪速存储器和系统存储器的存储控制器。
23、如权利要求22所述的系统,其中接口包括用于防止存储控制器和引导程序打包器同时存取系统总线的装置。
24、如权利要求22所述的系统,其中存储控制器包括NAND接口逻辑。
25、一种具有一个CPU核心、一个系统存储器以及一个用于它们间数据通信的接口的系统,该系统包括:
一个闪速存储器,用于至少存储引导程序代码;
一个引导程序打包器,用于协调将控制信号传送到闪速存储器以及经接口从闪速存储器接收引导程序代码;
第一和第二存储控制器,用于有选择地控制闪速存储器;以及
一个选择器,用于根据闪速存储器的类型,选择操作第一和第二存储控制器中的一个。
26、如权利要求25所述的系统,其中闪速存储器是NOR和NADN闪速存储器中的一种。
27、如权利要求26所述的系统,其中第一存储控制器包括NOR接口逻辑以及第二存储控制器包括NAND接口逻辑。
28、如权利要求25所述的系统,进一步包括用于存储从闪速存储器接收的引导程序代码的RAM。
29、如权利要求25所述的系统,其中选择器包括用于选择操作第一和第二存储控制器中的一个的选择管脚。
30、一种用于引导具有一个CPU核心、一个系统存储器以及一个存储控制器的计算设备的方法,该方法包括步骤:
将引导程序代码预先存储在NAND闪速存储器中;
接收系统初始化信号;
将引导程序代码从NAND闪速存储器传送到RAM;
由CPU核心执行存储在RAM中的引导程序代码。
31、如权利要求30所述的方法,进一步包括步骤:
在接收到系统初始化信号后,挂起CPU核心的执行直到完成将引导程序代码从NAND闪速存储器传送到RAM中的步骤为止。
32、一种用于引导具有CPU核心、系统存储器以及存储控制器的计算设备的方法,该方法包括步骤:
通过至少一个耦合管脚,设置初始化参数;
接收系统初始化信号;
将操作系统程序从NAND闪速存储器传送到系统存储器;
由CPU核心执行来自系统存储器的操作系统程序。
33、如权利要求32所述的方法,进一步包括步骤:在执行操作系统步骤前,使用至少一个耦合管脚的初始化参数,设置系统存储器中的方式寄存器。
34、一种用于引导具有一个CPU核心、一个系统存储器以及一个存储控制器的计算设备的方法,该方法包括步骤:
将操作系统程序预先存储在NAND闪速存储器中;
将数据预先存储在ROM中,数据包括用于使NAND闪速存储器传送数据的控制数据;
接收系统初始化信号;
使用来自ROM的控制数据,使操作系统程序从NAND闪速存储器传送到系统存储器;
由CPU核心执行来自系统存储器的操作系统。
35、如权利要求34所述的方法,进一步包括步骤:
在接收到系统初始化信号后,挂起CPU核心的执行直到完成将操作系统从NAND闪速存储器传送到RAM中为止。
CNB031250378A 2002-03-08 2003-03-08 利用与非闪速存储器的引导系统及其方法 Expired - Lifetime CN1307532C (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
KR20020012356 2002-03-08
KR12356/02 2002-03-08
KR12356/2002 2002-03-08
KR15856/2002 2002-03-23
KR20020015856 2002-03-23
KR15856/02 2002-03-23
KR77291/2002 2002-12-06
KR10-2002-0077291A KR100508087B1 (ko) 2002-03-08 2002-12-06 낸드 플래시 메모리를 이용한 부트 시스템 및 그 방법
KR77291/02 2002-12-06

Publications (2)

Publication Number Publication Date
CN1447227A CN1447227A (zh) 2003-10-08
CN1307532C true CN1307532C (zh) 2007-03-28

Family

ID=27761249

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031250378A Expired - Lifetime CN1307532C (zh) 2002-03-08 2003-03-08 利用与非闪速存储器的引导系统及其方法

Country Status (4)

Country Link
EP (1) EP1343082B1 (zh)
JP (1) JP4819301B2 (zh)
CN (1) CN1307532C (zh)
TW (1) TWI228220B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165137B2 (en) 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7082525B2 (en) 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
JP4534498B2 (ja) 2004-01-28 2010-09-01 ソニー株式会社 半導体装置およびその起動処理方法
GB0405795D0 (en) 2004-03-15 2004-04-21 Tom Tom B V Navigation device displaying travel information
JP4357331B2 (ja) 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
WO2006074793A1 (en) * 2005-01-14 2006-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for initializing a booting procedure of a mobile device
US7971046B2 (en) 2005-01-14 2011-06-28 Telefonaktiebolaget L M Ericsson (Publ) Method and device for initializing a booting procedure of a mobile device
CN100369020C (zh) * 2005-01-19 2008-02-13 英华达(上海)电子有限公司 取代nand型闪存专用硬件接口的方法
JP4670370B2 (ja) * 2005-01-28 2011-04-13 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム
JP2006277395A (ja) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法
US20090094408A1 (en) 2005-07-29 2009-04-09 Masataka Osaka Memory writing device
KR20050107369A (ko) * 2005-10-27 2005-11-11 서운식 모바일 기기를 위한 코드 직접 수행기능을 갖는 대용량저장장치 및 제어 방법
CN100362472C (zh) * 2005-12-06 2008-01-16 海信集团有限公司 嵌入式设备系统动态引导的方法
US8291226B2 (en) 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
CN100458697C (zh) * 2006-12-26 2009-02-04 北京中星微电子有限公司 用户程序引导方法及用户程序引导系统
US8259673B2 (en) 2007-06-19 2012-09-04 Telefonaktiebolaget L M Ericsson (Publ) System and method for providing voice service in a mobile network with multiple wireless technologies
US8683213B2 (en) 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
TWI353519B (en) * 2007-11-15 2011-12-01 Genesys Logic Inc Flash memory device and pipeline access method the
JP2009169485A (ja) * 2008-01-11 2009-07-30 Fujitsu Microelectronics Ltd 情報処理装置、半導体集積回路装置及びブート方法
TWI391941B (zh) * 2008-03-25 2013-04-01 Genesys Logic Inc 支援開機執行之儲存裝置
CN101997646B (zh) * 2010-05-25 2012-11-28 锐骐(厦门)电子科技有限公司 基于usb和nand flash的数据打包和传输的方法
CN102169442B (zh) * 2011-03-24 2014-09-10 杭州华三通信技术有限公司 使用usb设备进行系统引导的方法、设备、装置及系统
KR102060430B1 (ko) * 2013-08-08 2020-02-11 삼성전자주식회사 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템
CN104778053A (zh) * 2014-01-14 2015-07-15 国民技术股份有限公司 一种智能卡初始化控制方法及装置
CN104298531A (zh) * 2014-10-31 2015-01-21 南京酷派软件技术有限公司 操作系统的应用方法、操作系统的应用装置及终端
KR102507219B1 (ko) * 2016-02-02 2023-03-09 에스케이하이닉스 주식회사 시스템 및 시스템의 동작 방법
WO2018038703A1 (en) * 2016-08-22 2018-03-01 Hewlett-Packard Development Company, L.P. Connected devices information
TWI788894B (zh) * 2021-06-29 2023-01-01 新唐科技股份有限公司 記憶體控制電路及快閃記憶體之抹除操作的控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145498A (zh) * 1995-04-15 1997-03-19 三星电子株式会社 用于带有与非型闪速存储器的集成电路卡的记录装置
US6058048A (en) * 1998-08-11 2000-05-02 Samsung Electronics, Co., Ltd. Flash memory device used as a boot-up memory in a computer system
KR20010036634A (ko) * 1999-10-11 2001-05-07 윤종용 플래쉬메모리를 갖는 키폰시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
KR100383774B1 (ko) * 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
EP1286263A3 (en) * 2001-08-20 2005-08-10 Samsung Electronics Co., Ltd. Apparatus and method for interfacing between modem and memory in mobile station

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145498A (zh) * 1995-04-15 1997-03-19 三星电子株式会社 用于带有与非型闪速存储器的集成电路卡的记录装置
US6058048A (en) * 1998-08-11 2000-05-02 Samsung Electronics, Co., Ltd. Flash memory device used as a boot-up memory in a computer system
KR20010036634A (ko) * 1999-10-11 2001-05-07 윤종용 플래쉬메모리를 갖는 키폰시스템

Also Published As

Publication number Publication date
CN1447227A (zh) 2003-10-08
JP2003271391A (ja) 2003-09-26
EP1343082A3 (en) 2007-03-28
TWI228220B (en) 2005-02-21
EP1343082A2 (en) 2003-09-10
EP1343082B1 (en) 2012-06-06
JP4819301B2 (ja) 2011-11-24
TW200304063A (en) 2003-09-16

Similar Documents

Publication Publication Date Title
CN1307532C (zh) 利用与非闪速存储器的引导系统及其方法
KR100508087B1 (ko) 낸드 플래시 메모리를 이용한 부트 시스템 및 그 방법
KR101159400B1 (ko) 하이브리드 메모리 장치를 위한 방법 및 시스템
US7441070B2 (en) Method for accessing a non-volatile memory via a volatile memory interface
US5951685A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
JP5588536B2 (ja) メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
CN1307542C (zh) 通过储存在序列存取内存中的激活码使计算机系统起始的系统及方法
KR910005997B1 (ko) 데이타 처리장치에 있어서 오퍼레이팅 시스템 슈퍼바이저 방법 및 장치
US7814264B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US20080010420A1 (en) Method for Accessing Control Registers via a Memory Device
KR100764922B1 (ko) 시스템 부팅시 비시스템 메모리 저장 자원을 사용하기위한 메모리 접근 제어기를 포함하는 컴퓨터 시스템
US5920884A (en) Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data
US7272709B2 (en) Using chip select to specify boot memory
TW200919205A (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
JPH06214670A (ja) コンピュータ装置およびそれを初期化する方法
KR100634436B1 (ko) 멀티 칩 시스템 및 그것의 부트코드 페치 방법
US20080010419A1 (en) System and Method for Issuing Commands
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
KR20030004419A (ko) 비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용
US7752429B2 (en) Computer system and boot code accessing method thereof
US6622244B1 (en) Booting from a reprogrammable memory on an unconfigured bus by modifying boot device address
CN101751268A (zh) 主板、储存装置及其控制器与开机方法
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
KR101028855B1 (ko) 시리얼 플래시 컨트롤러

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
CX01 Expiry of patent term

Granted publication date: 20070328

CX01 Expiry of patent term