CN1698032A - 从非线性存储器引导 - Google Patents

从非线性存储器引导 Download PDF

Info

Publication number
CN1698032A
CN1698032A CNA038246791A CN03824679A CN1698032A CN 1698032 A CN1698032 A CN 1698032A CN A038246791 A CNA038246791 A CN A038246791A CN 03824679 A CN03824679 A CN 03824679A CN 1698032 A CN1698032 A CN 1698032A
Authority
CN
China
Prior art keywords
microprocessor
linear
memory
code
storage device
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.)
Granted
Application number
CNA038246791A
Other languages
English (en)
Other versions
CN1698032B (zh
Inventor
亨利·R·赫顿
法施德·萨伯特-沙吉
罗伯特·C·张
郭永
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Publication of CN1698032A publication Critical patent/CN1698032A/zh
Application granted granted Critical
Publication of CN1698032B publication Critical patent/CN1698032B/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/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Read Only Memory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明揭示一种用于引导一微处理器控制的装置的方法和系统。一设计成从一线性存储装置读取数据的微处理器通过一接口或仿真器执行一非线性存储装置中的代码,该接口或仿真器向所述非线性存储装置写入或从其中读取专门格式化的引导指令。

Description

从非线性存储器引导
交叉参考
光盘上附带的源代码也构成本专利说明书的组成部分.且根据37 CFR 1以引用的方式全部并入本文中作为一附录,其包括如下文件:
02085_0938\CPU_NAND_If\cmd_decode.vhf,1/31/02,2KB;
02085_0938\CPU_NAND_If\int_out_bus_mux.vhf,1/31/02,2KB;
02085_0938\CPU_NAND_If\io_buff_control.vhf,1/31/02,2KB;
02085_0938\CPU_NAND_If\nand_8_bit_if.ucf,1/18/01,2KB;
02085_0938\CPU_NAND_If\nand_ce.vhf,1/31/02,2KB;
02085_0938\CPU_NAND_If\nand_control-signals.vhf,1/31/02,7KB;
02085_0938\CPU_NAND_If\nand_cpu_bus.vhf,1/31/02,6KB;
02085_0938\CPU_NAND_If\nand_rd_control.vhf,1/31/02,3KB;
02085_0938\CPU_NAND_If\nand_reset_control.vhf,1/31/02,5KB;
02085_0938\CPU_NAND_If\nand_wp.vhf,1/31/02,2KB;
02085_0938\CPU_NAND_If\nand_wr_control.vhf,1/31/02,8KB;
02085_0938\CPU_NAND_If\nce_extend.vhf,1/31/02,2KB;
02085_0938\CPU_NAND_If\OCM_start_vl.asm,2/1/02,5KB;
02085_0938\CPU_NAND_If\Page_0.img,1/31/02,1KB;
02085_0938\CPU_NAND_If\Page_0_readme.txt,7/29/02,1KB;
02085_0938\CPU_NAND_If\Page_1.img,1/31/02,1KB;
02085_0938\CPU_NAND_If\PowerPC_start_code.asm,4/26/02,9KB;
02085_0938\CPU_NAND_If\ppc_start.asm,2/1/02,5KB;
02085_0938\CPU_NAND_If\read_only_cntrl.vhf,1/31/02,6KB;
02085_0938\CPU_NAND_If\sky_stream.vhf,1/31/02,11KB;
02085_0938\CPU_NAND_If\status_register.vhf,1/31/02,2KB;
02085_0938\Hardware Design.doc,7/29/02,30KB.
发明背景
技术领域
本发明是关于微处理器控制的装置的引导。
背景技术
现今各种微处理器控制的“智能”装置含有非易失性存储器。特别是非易失性闪速存储器,因其能够无电保持数据而且可以迅速擦除和重新编程,而在当今得到广泛应用。闪速存储器令人感兴趣的一种用途是存储一装置在启动时使用的引导代码或引导信息。所述引导代码是存储于所述装置上的固件代码的一部分。使用闪速存储器存储引导代码具有很多好处,因为包括引导代码在内的固件易于修改和更新。
在引导或启动时,一微处理器在一存储装置的一个规定位置读取所述代码。典型的微处理器一般配置为访问和执行线性存储装置中的代码。对线性存储装置中的数据的访问是通过读取一个,一般而言,由所述数据的行和列构成的一线性地址规定的存储单元来实现的。对数据的每个存储单元、字节或位的访问是通过规定其行和列来实现的。所述处理器将顺序规定读取的线性地址。
在一典型的存储系统中,用以将数据从所述存储器转移到主机的协议如下:
1)通过确定芯片选择线来选定所述存储器装置;2)通过确定地址总线的地址来选定读取的地址;3)确定读取信号。所述存储装置将响应在数据总线上确定的数据。
一典型程序包括指令数据,该等指令数据存储在存储器中各个互不相连或相邻的存储区域中。因此,在执行一个程序时,所述处理器可能会首先执行来自一个存储区域的一个地址中的一个指令,然后再执行远处或不相邻的第二个存储区域的第二个地址中的指令(依此类推,第三个......)。此外,没有一种标准来规定一个逻辑顺序,据以确定从何处开始读取或执行。每一程序会根据其自己的特定程式从不同的存储区域开始执行。
但是,某些类型的存储装置,例如闪速存储器,尤其是NAND(与非)和AND(与)型闪速存储器不可线性寻址。这意味着在引导时所述处理器不能从其读取或执行代码。NAND存储器中的存储空间分解为多个称为页面的离散数据组。为了检索所述数据,必须首先规定页面,然后还必须规定所述数据在所述页面中的位置,即规定距所述页面开头的区距。但是,与线性存储装置不同的是,如果一页面的长度为例如528字节,如果不先读完前面的254个字节,就不能读取第255个字节。另外,只读一个字节是相对更为复杂的过程,其不符合线性存储器的典型计时要求。到目前为止,这使得从非线性存储器引导仍是一项无法完成的任务。
发明内容
从一非线性存储装置引导的系统和方法在采用非线性存储装置的电子装置的启动中具有许多应用。其可用于引导任何微处理器控制的装置,例如(但不限于)蜂窝电话、便携式组织器、计算机、全球定位系统以及智能设备。等待装置启动非常令人烦恼,不管该装置是蜂窝电话、计算机、便携式组织器还是任何其它智能装置。采用本发明开始执行引导代码所需要的时间明显短于现有装置,现有装置依赖于在执行之前对引导代码进行遮蔽处理。与采用专门存储引导代码的代码存储装置相比,根据本发明制造的设备的成本亦有所降低。
本发明的第一方面是一种引导一包括一非线性存储装置的微处理器控制的装置的方法。所述方法包括:接收一系统复位信号;及初始化所述非线性存储装置,使得所述非线性存储装置指向所述非线性存储装置内的系统引导代码。所述方法进一步包括借助所述微处理器执行所述非线性存储装置中的系统引导代码的第一部分。
本发明的第二方面是一由微处理器控制的装置,其包括一微处理器、易失性RAM(随机存取存储器)、一非线性存储器以及一线性存储器仿真器,所述仿真器可用于将非线性存储器中的代码转换为一可由所述微处理器执行的线性格式。
本发明的另一方面是一基于微处理器的系统,其包括一可用于读取线性存储装置的微处理器、一非线性存储装置以及用于借助可有效读取线性存储装置的所述微处理器执行非线性存储装置中代码的构件。
附图说明
图1A是系统100的一示意图。
图1B是系统100运行的一概念性图示。
图2是一系统100的非线性存储装置140的存储空间的图示。
图3是一系统100中使用的并在本专利说明中述及的信号的表格。
图4是总引导顺序的一流程图。
具体实施方式
下文详细说明本发明的说明性实施例。由于下文将结合前述图纸对本发明的这些实施例予以说明,所属领域的技术人员可以明显地看出可对所说明的方法及/或结构做各种修改或改动。依赖于本发明的教示且该些教示据以推进此项技术的所有此等修改、改动或变更均应视为包括在本发明的范围之内。因此,此等说明及图纸不应视为具有限制性,因为应当了解,本发明在任何意义上均非仅限于所举例说明的实施例。
所述从一非线性存储器引导的系统及方法在采用非线性存储装置的电子装置的启动方面具有许多用途。虽然本发明的系统和方法涵盖含有任何类型的非线性存储装置的任何装置的启动,但为举例说明本发明之目的,将对NAND闪速存储器进行说明。
相对于从一专门的代码存储装置(例如ROM(只读存储器))引导来说,从非线性存储器引导具有很多优点。相对于在CPU能够执行代码之前不得不将代码拷贝或遮蔽进RAM存储器来说,从非线性存储器引导亦具有优点。在使用一专门的代码存储装置(DCSD)的情况下,本发明降低了采用本发明之所述系统或方法的电子装置的成本。在DCSD已被取消但所述装置仍须首先将引导指令拷贝到RAM中以供所述微处理器或CPU执行所述指令并启动所述装置的情况下,采用本发明可使启动时间大幅度缩短。本发明实际上可与任何处理器配合工作,与采用一DCSD的系统相比,本发明可与更多类型的处理器具有更高的兼容性。等待一装置启动令人非常烦恼,不管该装置是一蜂窝电话、一计算机、一便携式组织器,还是任何其它智能装置。采用本发明开始执行引导代码所需的时间大约就是访问所述非线性存储装置的时间。在NAND实例中,所述时间大约为15微秒(micro-second),而在过去的系统中,开始执行代码之前的遮蔽甚至就可能需要数百毫秒(milli-second)的时间。
光盘上的源代码亦构成本说明的组成部分,并以引用方式全部并入本文中。
图1A举例说明系统100。处理器130通过系统总线115与若干其它装置相连。系统总线115连接至非线性存储装置(NLSD)140、非线性存储装置接口(NLI)120、处理器130、易失性随机存取存储器(RAM)150、外围设备160和人机接口装置170。控制线142将NLSD 140和NLI 120连接在一起。NLI 120包括一可编程逻辑装置或特定用途集成电路或集成至一芯片中的逻辑门,所述芯片有时被称为一系统芯片(system in a chip)。NLI 120亦包括在前述装置中执行的逻辑。外围设备160可以是打印机或其它输出设备或另外的驱动器和所属技术领域内熟知的任何其它外围设备。人机接口装置是诸如一键盘、显示器、鼠标、麦克风或扬声器之类的物件,且同样亦在所属技术领域内众所周知。由于本发明在诸如蜂窝电话之类的便携式装置具有特别的优势,因此其外围设备和人机接口装置全部集成为一体,但是其仍可为传统的单独部件。
如上文所述,在本优选实施例中,NLSD140包括NAND型闪速存储器。NLSD 140中存储有引导代码146。引导载入程序144可以视为引导代码146的组成部分,或者亦可视其为独立存在。与系统总线115相连的每一连接线路均可进行双向通信且可包括多条线路,虽然为清晰起见,图中仅描述一单一线路。尽管往来于NLSD 140的数据传输均通过系统总线115实施,但图1B中提供了一关于所述数据流动的概念性说明,以强调引导载入程序144是通过接口120直接从NLSD 140执行。
NLSD 140的存储空间在图2中作了进一步的描述。NLSD 140是一个多用途存储装置,用于存储所有类型的用户文件以及启动时用于启动系统100的引导代码。文件存储区210可具有一小至几个KB大至许多GB的容量。诸如数码图像、歌曲、程序以及其它数据文件之类的用户文件均可存储于文件存储区210内。引导代码146和引导载入程序144存储于NLSD 140的专用区域内,以防止被意外盖写。关于这一方面的更多信息,请参阅于2001年8月6日提交的共同待决的第09/923874号美国临时专利申请,其以引用方式全文并入本文书。在本优选实施例中,所述引导代码146和引导载入程序144可在需要时很容易地进行更新。引导载入程序144在NAND存储器中较佳占用一个数据页面。页面长度在不同的存储器结构中通常稍有变化。在本实例中,所述页面长度为512字节。所述闪速存储器可以封装成任何形式,例如但不限于一可编程只读存储器、集成至芯片存储器上、CF卡(微型闪存卡)、以及诸如MMC卡(多媒体卡)和SD卡(安全数字卡)之类的串行非线性闪速存储器。
尽管NAND闪速存储器因具有许多优点而导致其具有广泛用途,但这种存储器中所存储的数据的非线性性质迄今仍阻止设计成用于执行可线性寻址的数据的微处理器直接执行所述数据。以往,必须先将数据拷贝到RAM中,然后才能由微处理器执行。采用本发明,处理器直接执行引导载入程序144,也就是说,在执行之前其未被遮蔽至RAM内。从NAND存储器直接读取非常快,一般仅需大约15微秒。这种直接执行节省了系统100的启动过程中的宝贵时间。这是由非线性接口120实现,下文将参照图4的流程图对此作进一步描述。图3是将在图4的流程图的描述中涉及的接口120所用的信号或命令表。
图4是一装置(诸如图1所例示的系统100)的总体启动顺序的流程图。在处理器130或接口120收到系统复位信号后,在步骤202中初始化微处理器。这种类型的触发性复位可以是硬复位,也可以是软复位。在步骤202中,所述微处理器经由接口120从NLSD 140直接执行图1和图2所示的引导载入程序144。
如上文所述,在构建NAND存储器的系统100的实例中,引导载入程序144包括位于NAND存储器的第一页面中的指令。所述指令按顺序依次排列。也就是说,要执行的第一指令在要读取的第一区域内有一地址,要执行的第二指令在与第一区域相连的第二区域内有一地址,依此类推。这很重要,因为在NAND闪速存储器以及其它非线性存储器中,某一区域(例如255字节)在不先读完其前面的所有其它区域(前254个字节)之前是无法读取的。
在步骤210A中设置微处理器130的关键寄存器。这包括禁止中断微处理器、确定目的存储器的位置并初始化目的存储器。在系统100的实例中,所述目的地为RAM 150。所述目的存储器可以是一或多个单独的RAM芯片,也可以位于处理器130内,或者可以是位于正被引导的智能装置内的其他位置的任何类型的存储器。对于一包括NAND闪速存储器作为非线性存储器的8位系统,微处理器的寄存器设置如下:
  寄存器   说明  地址区距
  数据端口-16位   对本端口的所有读与写均回复一个16位数值。  0×00
  NAND写保护   对本端口的一写操作将禁止所有NAND擦除和编程。  0×02
  NAND写保护禁止   对本端口的一写操作将启动NAND擦除和编程功能。  0×03
  命令端口   所有NAND命令均写至本端口。  0×04
  地址端口   所有地址(ADDR2:ADDR0)均写至本端口。  0×05
  NAND数据端口   NAND装置与主机之间所有数据的读写数据端口。  0×06
  NAND设备状态   0×FF表示设备被读;0×00表示NAND设备忙。  0×07
用于举例说明NLSD 140之运行的NAND存储器中的数据字节传输(读或写)是一个复杂的过程,包括必须精确计时的多项操作。一般而言,从NLSD 140读取数据包括借助NLI 120监测微处理器地址线是否发生一地址变化,然后在NLI 120检测到一地址变化时,用脉冲向NLSD 140输送一写入线。然后数据被放置在数据总线115上,并去往NLI 120,随后数据从NLI 120再经数据总线115被转移至微处理器130。更具体而言,作为一实例,在528字节/页面的非线性存储器中,一特定字节的转移一般经过下列四个主要步骤:
1.接口120计算所述字节在所述页面中的位置(地址)。所述地址被划分为至少3个字节。对于一512兆位的装置,必须读4个字节。
2.接口120从3个命令字(前256字节,后256字节或备用区域)之一中选择;
3.接口120在步骤2中按下列步骤将命令写入NLSD 140:
a.确定NLSD 140片选(CE);
b.确定NLSD 140命令锁存允许(CLE)信号;
c.确定NLSD 140I/O线上的命令数据;
d.确定NLSD 140写入线;
e.撤销NLSD 140片选;
f.撤销NLSD 140命令锁存允许信号。
4.接口120然后按如下步骤发送地址:
a.确定NLSD 140片选(CE);
b.确定NLSD 140命令锁存允许(CLE)信号;
c.确定NLSD 140I/O线上的第一个地址字节;
d.确定NLSD 140写允许(WE)线持续最短的规定时间(一般为50ns或以上);
e.撤销NLSD 140写允许(WE);
f.确定NLSD 140I/O线上的第二个地址字节;
g.确定NLSD 140写允许(WE)线用于最短的规定时间(一般为50ns或以上);
h.撤销NLSD 140写允许(WE);
i.确定NLSD 140I/O线上的第三个地址字节;
j.确定NLSD 140写允许(WE)线用于最短的规定时间(一般为50ns或以上);
k.撤销NLSD 140写允许(WE);
l.确定NLSD 140I/O线上的第四个地址字节;
m.确定NLSD 140写允许(WE)线用于最短的规定时间(一般为50ns或以上);
n.撤销NLSD 140写允许(WE);及
o.撤销ALE(地址锁存允许)
很重要的一点是应当注意到,NLSD 140将断言其忙,具有一高达200ns之延迟,而且每当NLSD 140发出一CE信号时,所述CE信号必须在NLSD 140忙期间保持被确定状态。微处理器120仅可在NLSD 140准备就绪时按一顺序方式读取数据。
再次参见图4,引导载入程序144的指令中的指令一旦被读取和执行,即会将引导代码146的剩余部分拷贝到RAM 150中。在所述指令被所述微处理器直接从NLSD 140读取和执行后,其将在步骤210B中将所述引导代码146拷贝到RAM 150中。在步骤214中,所述微处理器从RAM 140执行引导代码146的拷贝部分。
本发明具有数个优点。接口120可以采用一成本非常低廉的可编程逻辑装置、ASIC(特定用途集成电路)或者亦可以被纳入一系统芯片设计型处理器中。所述系统被设计成具有尽可能高的访问速度,因而可以将采用本发明之系统或方法的任何装置的启动时间减至最短。其提供一简单的基于寄存器的访问模型,使所述系统易于为编程器使用和纳入。其亦支持不同的系统配置和平台。例如,其可以支持8位、16位、32位或其它位数的系统。
虽然文中展示并介绍了本发明的实施例,但可在脱离本发明更宽泛方面的前提下对该等举例说明性实施例做变更和修改。因此,应了解,本发明还有其他的实施例,尽管上文没有明确描述,但该些其他实施例均属于本发明的范围。因此,本发明的范围并非仅限于所展示的说明性实施例。故而,应当了解,随附的权利要求界定本发明的范围。但是,由于语言并不是描述本发明范围的最佳方式,因此亦应了解,等效的结构和方法尽管未涵盖于权利要求明确文字中,但亦应包括在本发明的真实范围中。

Claims (20)

1.一种用于引导一包括一非线性存储装置的微处理器控制的装置的方法,该方法包括:
接收一系统复位信号;
初始化所述非线性存储装置,使得所述非线性存储装置指向所述非线性存储装置内的系统引导代码;
借助所述微处理器执行所述非线性存储装置中的所述系统引导代码的第一部分。
2.根据权利要求1所述的方法,其中无须先将所述系统引导代码的所述第一部分拷贝到RAM(随机存取存储器)中,所述微处理器即执行所述系统引导代码的所述第一部分。
3.根据权利要求1所述的方法,其中驻留在所述非线性存储装置中由所述微处理器执行的所述系统引导代码部分为512字节或更小字节。
4.根据权利要求1所述的方法,其中所述非线性存储装置包括NAND闪速存储器。
5.根据权利要求1所述的方法,其进一步包括:
将系统引导代码的第二部分从所述非线性存储装置拷贝到RAM中;
借助所述微处理器执行所述RAM中的所述系统引导代码的所述第二部分。
6.根据权利要求1所述的方法,其中借助所述微处理器执行驻留在所述非线性存储装置中的所述系统引导代码的第一部分包括:
监测所述微处理器地址线是否发生一地址变化;及
在检测到所述地址变化时,用脉冲向所述非线性存储器输送一读取线。
7.根据权利要求6所述的方法,其中借助所述微处理器执行驻留在所述非线性存储装置中的所述系统引导代码的第一部分进一步包括:
在所述脉冲输送后从所述非线性存储器接收数据;及
将所述数据提供至所述微处理器。
8.一种微处理器控制的装置,其包括:
一微处理器;
易失性RAM;
一非线性存储器;及
一线性存储器仿真器,其可用于将所述非线性存储器中的代码转换为一可由所述微处理器执行的线性格式。
9.根据权利要求8所述的装置,其中所述非线性存储器包括NAND闪速存储器。
10.根据权利要求8所述的装置,其进一步包括:
所述非线性存储器中的引导代码,无须先将所述非线性存储器中的所述引导代码的第一部分拷贝到RAM中,所述微处理器即执行所述第一部分;及
所述第一部分,其指示所述微处理器将所述引导代码的第二部分拷贝到RAM中,其中所述第二部分由所述微处理器从所述RAM读取并执行。
11.根据权利要求8所述的装置,其中所述线性存储器仿真器可用于:
监测所述微处理器地址线是否发生一变化;及
在检测到所述变化时,用脉冲向所述非线性存储器输送一读取线。
12.根据权利要求11所述的装置,其中所述线性存储器仿真器还可用于:
在所述脉冲输送后从所述非线性存储器接收数据;及
将所述数据提供至所述微处理器。
13.一种基于微处理器的系统,其包括:
一可用于读取线性存储装置的微处理器;
非线性闪速存储器;
一接口,其使所述微处理器能够执行所述非线性闪速存储器中的代码。
14.  根据权利要求13所述的系统,其中所述微处理器执行存储在所述非线性闪速存储器中的引导代码的第一部分。
15.根据权利要求14所述的系统,其中所述引导代码的所述第一部分包含专用于所述处理器类型和所述系统配置的指令。
16.根据权利要求14所述的系统,其中所述非线性闪速存储器包括NAND型闪速存储器,且其中所述第一部分包括所述NAND型闪速存储器的第一页面。
17.根据权利要求14所述的系统,其中所述引导代码的所述第一部分包含指示所述微处理器执行下列操作的指令:
初始化所述微处理器;
初始化一或多个随机存取存储器;及
将所述引导代码的第二部分拷贝到所述一或多个随机存取存储器中。
18.根据权利要求14所述的系统,其中所述引导代码的所述第一部分进一步包含指示所述微处理器执行所述一或多个随机存取存储器中的所述引导代码的所述第二部分的指令。
19.根据权利要求13所述的系统,其中所述非线性闪速存储器包括AND型闪速存储器。
20.一种基于微处理器的系统,其包括:
一可用于读取线性存储装置的微处理器;
一非线性存储装置;
借助所述可用于读取线性存储装置的微处理器执行所述非线性存储装置上的代码的构件。
CN038246791A 2002-10-02 2003-09-30 从非线性存储器引导 Expired - Lifetime CN1698032B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/263,576 2002-10-02
US10/263,576 US7082525B2 (en) 2002-10-02 2002-10-02 Booting from non-linear memory
PCT/US2003/031010 WO2004031942A2 (en) 2002-10-02 2003-09-30 Booting from non-linear memory

Publications (2)

Publication Number Publication Date
CN1698032A true CN1698032A (zh) 2005-11-16
CN1698032B CN1698032B (zh) 2010-05-12

Family

ID=32042021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038246791A Expired - Lifetime CN1698032B (zh) 2002-10-02 2003-09-30 从非线性存储器引导

Country Status (7)

Country Link
US (2) US7082525B2 (zh)
EP (1) EP1546875A2 (zh)
JP (1) JP2006502482A (zh)
KR (1) KR100974561B1 (zh)
CN (1) CN1698032B (zh)
AU (1) AU2003277165A1 (zh)
WO (1) WO2004031942A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369220B (zh) * 2007-07-20 2011-03-16 希捷科技有限公司 非线性随机处理存储设备

Families Citing this family (32)

* 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
US20030142561A1 (en) * 2001-12-14 2003-07-31 I/O Integrity, Inc. Apparatus and caching method for optimizing server startup performance
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
WO2005088430A2 (de) * 2004-03-11 2005-09-22 Preh Keytec Gmbh Tastatur, insbesondere kassentastatur, und verfahren zur inbetriebnahme sowie zum austausch und update von firmware der tastatur
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
KR100607992B1 (ko) 2004-07-09 2006-08-02 삼성전자주식회사 낸드 플래시 메모리의 동작 상태의 감시를 통해 시스템을부팅하기 위한 방법 및 시스템
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
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
WO2006074793A1 (en) * 2005-01-14 2006-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for initializing a booting procedure of a mobile device
EP1934880A2 (en) * 2005-09-14 2008-06-25 SanDisk Corporation Hardware driver integrity check of memory card controller firmware
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US7739487B2 (en) * 2006-01-17 2010-06-15 Nokia Corporation Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from
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
US7849302B2 (en) 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
US20070260869A1 (en) * 2006-05-01 2007-11-08 Symbol Technologies, Inc. Apparatus and Method for Booting a Computing Device from a NAND Memory Device
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
KR100880379B1 (ko) * 2006-05-25 2009-01-23 삼성전자주식회사 외부로부터 제공받는 부트 코드로 부팅되는 정보기기시스템
KR100790168B1 (ko) * 2006-07-14 2008-01-02 삼성전자주식회사 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치
TWI316184B (en) * 2006-08-03 2009-10-21 Etron Technology Inc Programmable system-chip device and method of programming firmware
TW200849096A (en) * 2007-06-12 2008-12-16 Realtek Semiconductor Corp Data recovering method
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
US20090006835A1 (en) * 2007-06-29 2009-01-01 Samsung Electronics Co., Ltd Electronic device and control method thereof
TW200921384A (en) * 2007-11-15 2009-05-16 Genesys Logic Inc NOR interface flash memory device and access method thereof
US8348782B2 (en) * 2009-05-07 2013-01-08 Sri Sports Limited Golf club head
JP2012015812A (ja) * 2010-06-30 2012-01-19 Kyocera Mita Corp 画像形成装置
US8873747B2 (en) 2012-09-25 2014-10-28 Apple Inc. Key management using security enclave processor
US9047471B2 (en) 2012-09-25 2015-06-02 Apple Inc. Security enclave processor boot control
US9043632B2 (en) 2012-09-25 2015-05-26 Apple Inc. Security enclave processor power control
WO2016033539A1 (en) 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
US9547778B1 (en) 2014-09-26 2017-01-17 Apple Inc. Secure public key acceleration

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58112118A (ja) 1981-12-25 1983-07-04 Fujitsu Ltd プログラムロ−デイング処理方式
JPH0748307B2 (ja) * 1989-06-08 1995-05-24 株式会社東芝 半導体メモリ装置
GB9012949D0 (en) * 1989-08-25 1990-08-01 Ibm An apparatus and method for loading bios from a diskette in a personal computer system
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
IT1254937B (it) 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
CA2123001A1 (en) 1991-11-05 1993-05-13 Thomas Joseph Rogers Computer memory protection
JPH06119230A (ja) * 1992-10-06 1994-04-28 Fujitsu Ltd 半導体記憶装置
US5379342A (en) * 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
US5606660A (en) * 1994-10-21 1997-02-25 Lexar Microsystems, Inc. Method and apparatus for combining controller firmware storage and controller logic in a mass storage system
GB2304209B (en) 1995-08-04 2000-03-01 Motorola Ltd Processor system and method of starting-up a processor system
US5819087A (en) * 1996-07-19 1998-10-06 Compaq Computer Corporation Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events
JP3773607B2 (ja) * 1996-11-28 2006-05-10 Necエレクトロニクス株式会社 フラッシュeeprom内蔵マイクロコンピュータ
DE69739825D1 (de) 1997-09-24 2010-05-12 St Microelectronics Srl Sektorbasierter Halbleiterspeicher mit verstellbaren Sektoradressen
US6167532A (en) 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
US6263399B1 (en) * 1998-06-01 2001-07-17 Sun Microsystems, Inc. Microprocessor to NAND flash interface
US6216224B1 (en) * 1998-06-05 2001-04-10 Micron Technology Inc. Method for read only memory shadowing
JP3968876B2 (ja) * 1998-06-26 2007-08-29 株式会社デンソー 電子制御装置
KR100308479B1 (ko) * 1998-08-11 2001-11-01 윤종용 컴퓨터 시스템 내에서 부트-업 메모리로 사용되는 플래시 메모리 장치 및 그것의 데이터 읽기 방법
US6715074B1 (en) * 1999-07-27 2004-03-30 Hewlett-Packard Development Company, L.P. Virus resistant and hardware independent method of flashing system bios
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
US6195749B1 (en) * 2000-02-10 2001-02-27 Advanced Micro Devices, Inc. Computer system including a memory access controller for using non-system memory storage resources during system boot time
JP3409059B2 (ja) * 2000-07-26 2003-05-19 Necエレクトロニクス株式会社 半導体記憶装置
US6718464B2 (en) * 2001-01-23 2004-04-06 International Business Machines Corporation Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server
US20020138702A1 (en) * 2001-03-26 2002-09-26 Moshe Gefen Using non-executable memory as executable 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
TWI228220B (en) 2002-03-08 2005-02-21 Samsung Electronics Co Ltd System boot using NAND flash memory and method thereof
US7082525B2 (en) 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369220B (zh) * 2007-07-20 2011-03-16 希捷科技有限公司 非线性随机处理存储设备

Also Published As

Publication number Publication date
KR20050065576A (ko) 2005-06-29
WO2004031942A3 (en) 2004-11-04
WO2004031942A2 (en) 2004-04-15
US20040068644A1 (en) 2004-04-08
EP1546875A2 (en) 2005-06-29
AU2003277165A8 (en) 2004-04-23
CN1698032B (zh) 2010-05-12
KR100974561B1 (ko) 2010-08-06
US7082525B2 (en) 2006-07-25
JP2006502482A (ja) 2006-01-19
AU2003277165A1 (en) 2004-04-23
US7310726B2 (en) 2007-12-18
US20060206701A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
CN1698032A (zh) 从非线性存储器引导
US10430083B2 (en) Memory scheduling method for changing command order and method of operating memory system
US20180307496A1 (en) Methods for gc (garbage collection) por (power off recovery) and apparatuses using the same
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
US20080016267A1 (en) Memory controller, flash memory system having memory controller, and method for controlling flash memory
CN110032333B (zh) 存储器系统及其操作方法
US20060174100A1 (en) System and method of booting an operating system for a computer
KR101573722B1 (ko) 비휘발성 메모리 장치 및 컨트롤러를 포함하는 메모리 시스템
CN1547699A (zh) 用于更新存储卡上固件的系统内编程的实现
CN1766850A (zh) 具有存储元件的存储卡及其控制方法
CN1652253A (zh) 存储卡和半导体器件
US8924628B2 (en) Memory system and operating method thereof
CN114528226A (zh) 高效能垃圾收集方法以及数据存储装置及其控制器
CN101625645B (zh) 固态硬盘、bios装置、操作系统引导方法和设备
CN1497462A (zh) 利用快闪存储器引导的系统和方法
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
EP1806650A2 (en) Information processing apparatus, controller and file reading method
US20090307427A1 (en) Memory card and method of writing data
CN1242418C (zh) 信息存储设备
US10528360B2 (en) Storage device, information processing system, method of activating storage device and program
US20080209157A1 (en) Memory partitioning method
EP1965297A1 (en) Memory partitioning method
CN1534509A (zh) 具有快速且预防不当操作功效的快闪记忆体演算法及其控制系统
KR20110078171A (ko) 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
CN115495009A (zh) 闪存的数据读取方法及闪存控制器与电子装置

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: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120329

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120329

Address after: Texas, USA

Patentee after: Sanindisco Technology Co.,Ltd.

Address before: California, USA

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK TECHNOLOGIES, INC.

CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: Texas, USA

Patentee before: Sanindisco Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20100512