WO2004031942A2 - Booting from non-linear memory - Google Patents

Booting from non-linear memory Download PDF

Info

Publication number
WO2004031942A2
WO2004031942A2 PCT/US2003/031010 US0331010W WO2004031942A2 WO 2004031942 A2 WO2004031942 A2 WO 2004031942A2 US 0331010 W US0331010 W US 0331010W WO 2004031942 A2 WO2004031942 A2 WO 2004031942A2
Authority
WO
WIPO (PCT)
Prior art keywords
microprocessor
non linear
boot code
memory
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.)
Ceased
Application number
PCT/US2003/031010
Other languages
English (en)
French (fr)
Other versions
WO2004031942A3 (en
Inventor
Henry R. Hutton
Farshid Sabet-Sharghi
Robert C. Chang
Jong Guo
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 Corp
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
Priority to CN038246791A priority Critical patent/CN1698032B/zh
Priority to AU2003277165A priority patent/AU2003277165A1/en
Priority to EP03799369A priority patent/EP1546875A2/en
Priority to JP2004541974A priority patent/JP2006502482A/ja
Publication of WO2004031942A2 publication Critical patent/WO2004031942A2/en
Publication of WO2004031942A3 publication Critical patent/WO2004031942A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Definitions

  • the present invention relates to the booting of microprocessor controlled devices.
  • Non volatile flash memory in particular, is now widely used due to its ability to retain information without power and to be rapidly erased and reprogrammed.
  • flash memory is a portion of firmware code stored on the device. Usage of flash memory to store bootcode is advantageous because the firmware, including the bootcode can easily be modified and updated.
  • a microprocessor Upon booting or startup, a microprocessor reads the code in a specified location of a storage device.
  • Typical microprocessors are generally configured to access and execute code in linear storage devices.
  • the data in linear storage devices is accessed by reading a location specified by, speaking in general terms, a linear address consisting of the row and column of the data.
  • Each memory cell, byte, or bit of data is accessed by specifying its is row and column.
  • the processor will sequentially specify linear addresses from which to read.
  • the protocol to transfer data from the memory to the host is as follows: 1) select the memory device by asserting the chip select line; 2) select the address from which to read by asserting the address of the address bus; 3) assert the read signal. The memory device will respond with the data asserted on the data bus.
  • a typical program contains instruction data that are stored in various different areas of the memory that are not contiguous or adjacent.
  • the processor may first execute an instruction from an address in one area and then execute an address from a second (and third etc%) distant or non adjacent area.
  • the processor may first execute an instruction from an address in one area and then execute an address from a second (and third etc%) distant or non adjacent area.
  • Each program may execute from different areas according to its own particular routines.
  • NAND and AND type flash memory are not linearly addressable. This means that the processor cannot read or execute code from them upon bootup.
  • the storage space in NAND memory is broken up into discrete groups of data referred to as pages. In order to retrieve the data, the page must first be specified, then the location of the data on the page, specified as an offset from the beginning of the page, must also be specified.
  • byte number 255 cannot be read without first reading the preceding 254 bytes.
  • reading just one byte is a relatively more complicated procedure that does not follow the typical timing requirements of linear memory. This has, until now, made booting from non linear memory an impossible task.
  • the system and method of booting from a non linear storage device has many applications in the startup of electronic devices that employ non linear storage devices. It can be used to boot up any microprocessor controlled device, such as but not limited to cellular phones, portable organizers, computers, global positioning systems, and smart appliances. Waiting for a device to boot-up is extremely f ustrating, whether it be a cellular phone, a computer, portable organizer, or any other smart device.
  • the time required for the boot code to start executing with the present invention is significantly faster than in prior devices that relied on shadowing of the boot code before execution.
  • the cost of devices made in accordance with the present invention is also reduced compared to devices using a dedicated code storage device to store the boot code.
  • a first aspect of the invention is a method for booting a microprocessor controlled device including a non linear storage device.
  • the method comprises receiving a system reset signal and initializing the non linear storage device such that the non linear storage device points to system boot code within the non linear storage device. It further comprises executing a first portion of the system boot code from the non linear storage device with the microprocessor.
  • a second aspect of the invention is a microprocessor controlled device comprising a microprocessor, volatile RAM, a non linear memory, and a linear memory emulator operable to translate code in the non linear memory into a linear format for execution by the microprocessor.
  • Another aspect of the invention is a microprocessor based system comprising a microprocessor operable to read linear storage devices, a non linear storage device, and means for executing code on the non linear storage device with the microprocessor operable to read linear storage devices.
  • FIG. 1A is a schematic diagram of system 100.
  • FIG. IB is a conceptual illustration of the operation of system 100.
  • FIG. 2 is an illustration of the storage space of non linear storage device 140 of system 100.
  • FIG. 3 is a table of signals utilized in system 100 and referred to in the description.
  • FIG. 4 is a flow chart of the general boot up sequence.
  • the system and method of booting from a non linear storage device has many applications in the startup of electronic devices that employ non linear storage devices. While the system and method of the present invention encompasses startup of any device incorporating any type of non linear storage device, for purposes of illustrating the invention, NAND flash memory will be described.
  • the time required for the boot code to start executing with the present invention is approximately the access time of the non linear storage device. In the NAND example, this is approximately 15 microseconds, whereas shadowing takes several hundred milliseconds before execution may even begin in past systems.
  • FIG. 1A illustrates system 100.
  • Processor 130 is connected via system bus 115 to a number of other devices.
  • System bus 115 is connected to non linear storage device (NLSD) 140, non linear storage device interface (NLI) 120, processor 130, volatile random access memory (RAM) 150, peripherals 160, and human interface devices 170.
  • Control lines 142 connect NLSD 140 and NLI 120.
  • NLI 120 comprises a programmable logic device or application specific integrated circuit or logic gates incorporated into a chip sometimes described as a system in a chip. It also comprises the logic implemented in the aforementioned devices.
  • Peripherals 160 can be printers or other output devices as well as additional drives and any other peripherals that are well known in the art.
  • Human interface devices are things such as a keyboard, monitor, mouse, microphone or speakers and are likewise well known in the art. As the present invention will be especially advantageous with portable devices such as cellular telephones, the peripherals and human interface devices may all be integrated in one package, however they may also be traditional individual components.
  • NLSD 140 comprises NAND type flash memory.
  • boot code 146 Stored within NLSD 140 is boot code 146.
  • Boot loader 144 may be considered part of boot code 146, or alternatively may be considered as separate.
  • Each of the connections with system bus 115 are capable of two way communication and may comprise several lines although simply illustrated as a single line for clarity. Although the transfer of data to and from NLSD 140 occurs over system bus 115, a conceptual illustration of the data flow is provided in FIG. IB in order to emphasize that boot loader 144 is executed directly from NLSD 140 through interface 120.
  • NLSD 140 is a multipurpose storage device used to store all sorts of user files as well as the boot code used to start system 100 upon bootup.
  • File storage portion 210 may have a capacity from a few kilobytes to many gigabytes.
  • User files such as digital images, songs, programs, and other data files, may be stored in file storage portion 210.
  • Boot code 146 and boot loader 144 are stored in dedicated areas of NLSD 140 such that they cannot inadvertently be overwritten. For more information on this, please refer to co-pending U.S. Patent Application No. 09/923874 filed on August 6, 2001, which is hereby incorporated in its entirety by this reference.
  • boot code 146 and boot loader 144 may easily be updated from time to time if desired.
  • Boot loader 144 preferably comprises one page of data in the NAND memory. Page length often varies slightly in different memory structures. In this example it is 512 bytes.
  • the flash memory may be packaged in any form, such as but not limited to a prom, integrated on chip memory, Compact Flash cards, and serial non linear flash such in MutliMedia Cards (MMC) and Secure Digital (SD) cards.
  • MMC MutliMedia Cards
  • SD Secure Digital
  • NAND flash memory has many advantages which has led to its widespread usage, the non linear nature of the data stored in the memory has heretofore prevented execution of the data directly by microprocessors, which are designed to execute data that is linearly addressable. Previously, the data had to first be copied to RAM before it could be executed by the microprocessor. With the present invention, boot loader 144 is directly executed by the processor, i.e. it is not shadowed into RAM before execution. Reading directly from the NAND memory is quite fast, on the order of 15 microseconds. This direct execution saves precious time during the startup of system lOO.This is done with non linear interface 120, which will further be described below with reference to the flow chart of FIG. 4.
  • FIG. 3 is a table of signals or commands utilized by interface 120 that will be referred to in the description of the flow chart of FIG. 4.
  • FIG. 4 is a flowchart of the overall startup sequence of a device such as that exemplified as system 100 seen in FIG. 1.
  • the microprocessor is initialized in step 202 after a system reset signal is received by either processor 130 or interface 120. This type of triggering reset can be either a hard or a soft reset.
  • step 202 the microprocessor executes boot loader 144 seen in FIGS. 1 and 2 directly from NLSD 140, through interface 120.
  • boot loader 100 comprises instructions within the first page of the NAND memory.
  • the instructions follow each other in a sequential manner. That is to say, that the first instruction to be executed has an address in the fist area to be read and the second instruction to be executed has an address in the second area, contiguous to the first area, and so on. This is important because in NAND flash memory, and in other non linear memory, one area, byte 255 for example, cannot be read without first reading all the other area before it (the first 254 bytes).
  • the critical registers of the microprocessor 130 are set up in step 210A. This comprises disabling the interrupts of the microprocessor, defining the location of the destination memory, and initializing the destination memory.
  • the destination in the example of system 100 is RAM 150.
  • the destination memory may be may be one or more individual RAM chips, may be within processor 130, or may be any type of memory located elsewhere within the smart device that is being booted.
  • the registers of the microprocessor are set as follows for an 8 bit system incorporating NAND flash memory as the non linear storage device.
  • Reading from NLSD 140 comprises monitoring the microprocessor address lines with NLI 120 for an address change, and then pulsing a read line to NLSD 140 when NLI 120 detects an address change. The data is then put out on data bus 115 and goes to NLI 120 where it is intern transferred again over data bus 115 to microprocessor 130. More specifically, as an example, in non-hnear memory with 528 bytes/page, transfer of a specific byte generally follows the four main steps below.
  • Interface 120 calculates the location (address) of the byte within the page. This address is divided into a minimum of three bytes. For a 512Mbit device, four bytes must be read.
  • Interface 120 selects from one of three commands (First 256, Second 256, or spare area).
  • Interface 120 writes the command in step 2 to the NLSD 140 as follows:
  • Interface 120 then sends the address as follows:
  • m Asserts NLSD 140 write enable (WE) line for the minimum specified time (typically 50ns or more);
  • n De-asserts NLSD 140 WE
  • NLSD 140 will assert that it is busy with a delay of up to 200ns, and that each time NLSD 140 issues a CE signal, the CE signal must remain asserted while NLSD 140 is busy.
  • Microprocessor 120 can only read data, in a sequential manner, from NLSD 140 when NLSD 140 is ready.
  • boot loader 144 within the instructions of boot loader 144 are instructions that once read and executed will copy the remainder of boot code 146 into RAM 150. When these instructions are read and executed by the microprocessor directly from NLSD 140, they will then copy the boot code 146 to RAM 150 in step 210B. In step 214, the microprocessor executes the copied portion of boot code 146
  • the interface 120 can use a very low cost programmable logic device, ASIC, or may be incorporated into the processor in a system on chip design.
  • ASIC programmable logic device
  • the system was designed to have the maximum possible access speed, therefore minimizing the startup time of any device incorporating the system or method of the present invention. It provides a simple register based access model to make the system easy to use and incorporate by programmers. It also supports different system configurations and platforms. For example, 8 , 16, 32 or other bit systems can be supported.

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)
PCT/US2003/031010 2002-10-02 2003-09-30 Booting from non-linear memory Ceased WO2004031942A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN038246791A CN1698032B (zh) 2002-10-02 2003-09-30 从非线性存储器引导
AU2003277165A AU2003277165A1 (en) 2002-10-02 2003-09-30 Booting from non-linear memory
EP03799369A EP1546875A2 (en) 2002-10-02 2003-09-30 Booting from non-linear memory
JP2004541974A JP2006502482A (ja) 2002-10-02 2003-09-30 非線形メモリからのブーティング

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
WO2004031942A2 true WO2004031942A2 (en) 2004-04-15
WO2004031942A3 WO2004031942A3 (en) 2004-11-04

Family

ID=32042021

Family Applications (1)

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

Country Status (7)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100607992B1 (ko) 2004-07-09 2006-08-02 삼성전자주식회사 낸드 플래시 메모리의 동작 상태의 감시를 통해 시스템을부팅하기 위한 방법 및 시스템
US7310726B2 (en) 2002-10-02 2007-12-18 Sandisk Corporation Booting from non-linear memory
US7454557B2 (en) 2001-08-06 2008-11-18 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
JP2011210278A (ja) * 2005-09-14 2011-10-20 Sandisk Corp メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック
JP2012212454A (ja) * 2006-01-17 2012-11-01 Nokia Corp Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142561A1 (en) * 2001-12-14 2003-07-31 I/O Integrity, Inc. Apparatus and caching method for optimizing server startup performance
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
EP1723498A2 (de) * 2004-03-11 2006-11-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 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
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
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
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
US8127075B2 (en) * 2007-07-20 2012-02-28 Seagate Technology Llc Non-linear stochastic processing storage device
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 画像形成装置
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
US8873747B2 (en) 2012-09-25 2014-10-28 Apple Inc. Key management using security enclave processor
US9767045B2 (en) 2014-08-29 2017-09-19 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
EP0614553A4 (en) 1991-11-05 1994-10-26 Australian Tech Support Pty MEMORY PROTECTION FOR COMPUTER.
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内蔵マイクロコンピュータ
EP0905704B1 (en) 1997-09-24 2010-03-31 STMicroelectronics S.r.l. Sectored semiconductor memory device with configurable memory sector addresses
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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454557B2 (en) 2001-08-06 2008-11-18 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7310726B2 (en) 2002-10-02 2007-12-18 Sandisk Corporation Booting from non-linear memory
KR100607992B1 (ko) 2004-07-09 2006-08-02 삼성전자주식회사 낸드 플래시 메모리의 동작 상태의 감시를 통해 시스템을부팅하기 위한 방법 및 시스템
JP2011210278A (ja) * 2005-09-14 2011-10-20 Sandisk Corp メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック
JP2012212454A (ja) * 2006-01-17 2012-11-01 Nokia Corp Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス
JP2014220011A (ja) * 2006-01-17 2014-11-20 メモリー テクノロジーズ リミティド ライアビリティ カンパニー Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス

Also Published As

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

Similar Documents

Publication Publication Date Title
US7082525B2 (en) Booting from non-linear memory
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
US7296143B2 (en) Method and system for loading processor boot code from serial flash memory
US7103684B2 (en) Single-chip USB controller reading power-on boot code from integrated flash memory for user storage
US8185728B2 (en) System boot using NAND flash memory and method thereof
KR100924497B1 (ko) 비-휘발성 어플리케이션 및 화일 저장 디바이스로부터부팅시키기 위한 시스템 및 방법
CN1307532C (zh) 利用与非闪速存储器的引导系统及其方法
US7383362B2 (en) Single-chip multi-media card/secure digital (MMC/SD) controller reading power-on boot code from integrated flash memory for user storage
US20100146256A1 (en) Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US20180307496A1 (en) Methods for gc (garbage collection) por (power off recovery) and apparatuses using the same
EP0657818A1 (en) Non-volatile memory chip enable signal encoding method and system
KR20060027619A (ko) 멀티 칩 시스템 및 그것의 부트코드 페치 방법
US20060174100A1 (en) System and method of booting an operating system for a computer
US10866755B2 (en) Two stage command buffers to overlap IOMMU map and second tier memory reads
US6622244B1 (en) Booting from a reprogrammable memory on an unconfigured bus by modifying boot device address
US7398383B2 (en) Method and system for using internal FIFO RAM to improve system boot times
CN211878599U (zh) 应用于现场可编辑门阵列fpga的仿真验证系统
CN108538332B (zh) 与非门闪存的读取方法
US7533233B2 (en) Accommodating multiple operating systems and memory sizes on IA-32 platforms

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004541974

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020057005808

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003799369

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20038246791

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003799369

Country of ref document: EP

Ref document number: 1020057005808

Country of ref document: KR