WO2005073850A1 - 半導体装置及びその起動処理方法 - Google Patents

半導体装置及びその起動処理方法 Download PDF

Info

Publication number
WO2005073850A1
WO2005073850A1 PCT/JP2005/001105 JP2005001105W WO2005073850A1 WO 2005073850 A1 WO2005073850 A1 WO 2005073850A1 JP 2005001105 W JP2005001105 W JP 2005001105W WO 2005073850 A1 WO2005073850 A1 WO 2005073850A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
data
defective
read
semiconductor device
Prior art date
Application number
PCT/JP2005/001105
Other languages
English (en)
French (fr)
Inventor
Yoshito Katano
Tadashi Yoshida
Kazuhiko Sako
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to KR1020067015055A priority Critical patent/KR101106351B1/ko
Priority to EP05709379.1A priority patent/EP1710696B8/en
Priority to US10/597,353 priority patent/US8135991B2/en
Priority to CN200580003324XA priority patent/CN1914598B/zh
Publication of WO2005073850A1 publication Critical patent/WO2005073850A1/ja
Priority to HK07103566.1A priority patent/HK1096473A1/xx

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Definitions

  • the present invention relates to a semiconductor device that reads a boot program from a rewritable non-volatile memory and starts the same, and a boot processing method thereof.
  • the present invention relates to a semiconductor device that reads out a boot program from a large-capacity nonvolatile memory that is difficult to eliminate and starts up, and a boot processing method thereof.
  • system LSI Large Scale Integrated circuit
  • This type of system LSI is used in various electronic devices such as portable electronic devices for home use.
  • a nonvolatile memory in which various processing programs such as a boot program and data are stored is provided inside or outside the chip.
  • a flash memory in which stored data can be electrically rewritten is widely used.
  • NOR flash memory is generally used as a flash memory for storing a boot program.
  • NAND flash memory which is relatively inexpensive per bit.
  • NAND flash memory Conventional boot systems using NAND flash memory include a CPU (Central Processing Unit) core, system memory, NAND flash memory, and an interface for data communication between each memory and the CPU core. Under the control of the CPU core, the boot code from the NAND flash memory is temporarily stored in RAM (Random Access Memory) through the above interface, and the boot code is read out from the RAM to perform the system booting operation. Some have improved system performance. This kind of As a boot system, there is one described in JP-A-2003-271391.
  • An object of the present invention is to provide a novel semiconductor device and a start-up processing method thereof that can solve the problems of the conventional technology.
  • Another object of the present invention is to provide a semiconductor device which can always be stably started when a flash memory such as a NAND type having a relatively low unit cost is used as a boot device. .
  • Still another object of the present invention is to provide a boot processing method for a semiconductor device which can always be booted stably when a flash memory such as a NAND type having a relatively low unit cost is used as a boot device. It is in.
  • the present invention relates to a semiconductor device that reads a boot program from a rewritable non-volatile memory and starts the boot program, wherein the same boot program is stored in a plurality of blocks in the non-volatile memory,
  • a CPU that specifies the read position of the boot program in the non-volatile memory and executes the boot process according to the read boot program, and the block based on the data read from the block in the nonvolatile memory corresponding to the read position. It is determined whether or not the block is defective. If the block is not defective, the data is output to the CPU. If the block is defective, the data is read from another block in which the boot program is stored and the block is defective. And a read control circuit for determining again whether or not
  • the same Data is read by a read control circuit from one of the blocks in which the boot program has been preliminarily stored.
  • the read control circuit determines, based on the read data, whether the block read at this time is defective. This determination is made based on, for example, error correction information included in the read data or block state information.
  • the read control circuit outputs the read data to the CPU. This allows the boot program to be sequentially input to the CPU and executed.
  • the semiconductor device is started.
  • the block is defective, data is read from another block in which the boot program is stored in the non-volatile memory, and it is again determined whether or not the read block is defective.
  • the present invention provides a boot processing method for a semiconductor device including a CPU that executes a boot process in accordance with a boot program read from a data rewritable nonvolatile memory.
  • the same boot program is stored, and the read control circuit of the non-volatile memory reads data from the block in the non-volatile memory corresponding to the read position specified by the CPU at the time of startup, based on the read data. Then, it is determined whether or not the block is defective. If the block is not defective, the data is output to the CPU. If the block is defective, data from another block in which the boot program is stored is read. The data is read to determine again whether or not the block is defective.
  • the same boot program is read out from one of the programs in which the same boot program is stored in advance in the nonvolatile memory by the read control circuit. Then, based on the read data, it is determined whether or not the block read at this time is defective. This judgment is For example, it is performed based on error correction information included in the read data or block state information.
  • the read data is output to the CPU.
  • the boot program is sequentially input to the CPU and executed, and the semiconductor device is started.
  • the block is defective, data is read from another block in which the boot program is stored in the nonvolatile memory. At this time, it is determined again whether or not the read block is defective. Done.
  • FIG. 1 is a block circuit diagram showing a semiconductor device according to the present invention.
  • FIG. 2 is a diagram showing an example of a data structure of a flash memory.
  • FIG. 3 is a diagram showing a storage state of a boot program in a flash memory.
  • FIG. 4 is a flowchart showing a processing flow of a flash memory controller when the semiconductor device according to the present invention is started.
  • FIG. 1 is a block circuit diagram showing a configuration of a semiconductor device according to the present invention.
  • the semiconductor device shown in Fig. 1 is a system in which various circuits are integrated on the same semiconductor chip. It comprises an LSI 10 and a NAND flash memory 20 provided outside.
  • the system LSI 10 includes a CPU 11, embedded dynamic random access memories (eDRAMs) 12 and 13, a flash memory controller 14, an input / output (I / O) I / F (interface) 15, other peripheral circuits (peripheral) 16, an internal A bus 17 is provided.
  • eDRAMs embedded dynamic random access memories
  • flash memory controller 14 an input / output (I / O) I / F (interface) 15, other peripheral circuits (peripheral) 16
  • I / O input / output
  • peripheral circuits peripheral circuits
  • internal bus 17 is provided.
  • the CPU 11 is connected to the eDRAMs 12 and 13, the flash memory controller 14, and the peripheral circuit 16 via the internal bus 17.
  • the CPU 11 controls the overall operation of the semiconductor device by executing a processing program stored in the flash memory 20 or the like.
  • the eDRAMs 12 and 13 temporarily store a processing program executed by the CPU 11 and data used for processing.
  • the flash memory controller 14 is a circuit for controlling reading of a flash memory 20 provided outside, and includes a RAM 14a therein.
  • the flash memory controller 14 receives the designation of the read address from the CPU 11, reads data from the flash memory 20, temporarily stores the data in the RAM 14a, and supplies the data to the CPU 11. Further, it has a function of performing error correction on data stored in the RAM 14a based on an ECC (Error Correcting Code) included in the data.
  • ECC Error Correcting Code
  • the flash memory controller 14 temporarily stores the data read from the flash memory 20 in the RAM 14a, and then stores the data in the flash memory 20 from which the reading was performed. It is determined whether or not the block is defective, and if not, the data is supplied to the CPU 11.
  • the input / output I / F 15 is an IZF circuit for exchanging data between the flash memory controller 14 and the flash memory 20.
  • the flash memory 20 stores various processing programs and data including a boot program for starting the semiconductor device. These processing programs are executed by the CPU 11.
  • the internal bus 17 includes a bus to which a bus status signal READY indicating whether or not access through the internal bus 17 is possible is transmitted. For example, when the CPU 11 requests the flash memory controller 14 to read data from the flash memory 20. Then, when the bus state signal READY is negated by the flash memory controller 14, access from the host system to the internal bus 17 is blocked.
  • a boot program is stored in the flash memory 20 in advance. Then, at the time of startup, the CPU 11 specifies the start address of a block in which the boot program is stored to the flash memory controller 14, and the CPU 11 executes the boot program read from the flash memory 20. Thereby, each part in the semiconductor device is initialized.
  • the same boot program is stored in each of a plurality of blocks in the flash memory 20. Then, the flash memory controller 14 determines whether the read block is defective based on the data read from the flash memory 20. Read out the stored boot program again. By such processing, the CPU 11 always executes the boot program stored in the normal block.
  • the flash memory controller 14 determines whether or not the block is defective based on the ECC and the block information included in the data read from the flash memory 20.
  • FIG. 2 is a diagram showing an example of the data structure of the flash memory 20.
  • the inside of the flash memory 20 is divided into a plurality of blocks, and data is read for each block.
  • Each block is further divided into pages. In this example, it is divided into 64 pages. Further, in each page, for example, the first 2048 bytes are used as a storage area for user data, and an additional data (Extra Data) area for, for example, 64 bytes is provided thereafter.
  • Extra Data Extra Data
  • the ECC is divided into four areas of 3 bytes each. Stored. “00” is inserted at the end of each of these areas.
  • the first page of each block stores the block information in the next 4-byte area.
  • the block information is a flag indicating whether or not the block is defective. When this value is a specific value, it is possible to determine that the block is normal.
  • FIG. 3 is a diagram showing a storage state of the boot program in the flash memory 20. As shown in FIG. 3, in this example, the same boot program is stored in each of the first four blocks in the flash memory 20, and other processing programs and data are stored in subsequent blocks. Of these, the one specified by the CPU 11 immediately after reset is the first block, and if it is determined that this block is defective, the flash memory controller 14 sets the second, third, and fourth blocks.
  • FIG. 4 is a flowchart showing the flow of processing of the flash memory controller 14 when the above-described semiconductor device is started up.
  • Step S101 When a system reset signal is input, the CPU 11 accesses the storage area of the boot program via the internal bus 17.
  • the flash memory controller 14 waits for access from the CPU 11, and proceeds to step S102 when an access to the storage area, specifically, the first page of the first block occurs.
  • Step S102 The bus state signal READY is negated. As a result, access to the internal bus 17 from the host system is blocked.
  • Step S103 The flash memory 20 is accessed through the input / output I / F 15, and one page of data is read from the area specified by the CPU 11. Then, the read data is temporarily stored in the RAM 14a. At this time, if data has already been stored in the RAM 14a, the data is overwritten.
  • Step S104 The data stored in the RAM 14a is sequentially read, and first, the ECC is checked, and the following steps S105 and S107 are determined.
  • step S106 (Uncorrectable Error)
  • step S107 (Uncorrectable Error)
  • Step S106 The read target in the flash memory 20 is designated to the next block, and the process returns to step S103. As a result, data is read again from the first page of the next block.
  • step S106 since the boot program is stored in four blocks in the flash memory 20, the process ends when the number of times that the process proceeds to step S106 becomes four. In this case, the semiconductor device is not started.
  • Step S107 If it is determined that the data of the page includes a correctable error (CE: Correctable Error), the process proceeds to step S108. If not, that is, if no error is included, the process proceeds to step S109.
  • a correctable error CE: Correctable Error
  • Step S108 An error correction process is performed on the data of the page, and the data is written back to the RAM 14a.
  • Step S109 Block information is extracted from the data in the RAM 14a. If the block information is not a specific value, the block information is determined to be a bad block, and the process proceeds to step S106. As a result, data is read again from the first page of the next block. If the block information has a specific value, it is determined that the block is a normal block, and the process proceeds to step S110.
  • Step S110 Assert the bus state signal READY.
  • Step SI 11 The data in the RAM 14 a is output to the CPU 11 through the internal bus 17. As a result, the boot program read from the flash memory 20 is executed by the CPU 11, and the semiconductor device is started.
  • the above-described flowchart shows processing when the capacity of the boot program is equal to or smaller than the capacity of the data storage area in one page.
  • the processing in step S109 is executed only when reading from the first page in the block is performed. If it is determined by this processing that the block is a normal block, the data in the RAM 14a is output to the CPU 11 in steps S110 and SI11. Then, data may be read from the next page.
  • the flash memory controller 14 detects that the data read from the flash memory 20 includes a correctable error or does not include an error, and that the block information indicates that the data is not a bad block. Only when this is done, the data is output to the CPU 11. For this reason, the CPU 11 always executes a normal boot program at the time of startup, so that the semiconductor device can be started stably.
  • the processing of the flash memory controller 14 substantially guarantees that the specific block in the flash memory 20 in which the boot program is stored is not defective.
  • assuring that a particular block is not defective has led to increased testing costs before flash memory was shipped, and also reduced yield.
  • the present invention it is possible to use a low-cost and large-capacity flash memory in which a bad block exists randomly as a boot device, so that the manufacturing cost of the entire semiconductor device can be suppressed.
  • stable startup processing can always be performed.
  • the boot program is read again from another block by the processing of the flash memory controller 14 and only when it is determined that the block is not a defective block. Output to CPU11. For this reason, the CPU 11 can execute the startup processing according to the same processing procedure as the conventional one after the reset, and the configuration other than the flash memory controller 14 needs to be changed. Therefore, the present invention can be universally applied to a computer system in which various processes are executed by the CPU without increasing the manufacturing cost.
  • the present invention can be applied to a case where the flash memory is formed outside the system LSI, and the flash memory is formed inside the system LSI.
  • the flash memory used as a boot device is not limited to the NAND type, but has a relatively large capacity and a structure that allows sequential access, making it difficult to completely eliminate defective blocks at the time of product shipment. It is possible to apply a simple flash memory.
  • a flash memory called an AND type can be used. Noh.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Retry When Errors Occur (AREA)

Abstract

 本発明は、NAND型などのビット単価の低いフラッシュメモリをブートデバイスとして使用する半導体装置であり、フラッシュメモリ内の複数のブロックにそれぞれ同一のブートプログラムを記憶しておく。フラッシュメモリコントローラは、CPUからブートプログラムの記憶領域へのアクセスを受けると、対応するページから読み出したデータ中のECCに基づく判定と、ブロックインフォメーションに基づく判定により、対応するブロックが不良でないと判定した場合のみ、読み出したデータをCPUに出力する。不良ブロックと判定した場合は、次のブロックに記憶されたブートプログラムを読み出して不良ブロックの判定を再度行う。

Description

明 細 書
半導体装置及びその起動処理方法
技術分野
[0001] 本発明は、データの書換えが可能な不揮発性メモリからブートプログラムを読み出 して起動する半導体装置及びその起動処理方法に関し、特に、 NAND型フラッシュ メモリのように、製造過程で不良ブロックを排除することが困難な大容量の不揮発性メ モリからブートプログラムを読み出して起動する半導体装置及びその起動処理方法 に関する。
本出願は、 日本国において 2004年 1月 28日に出願された日本特許出願番号 200 4一 019278を基礎として優先権を主張するものであり、この出願は参照することによ り、本出願に援用される。
背景技術
[0002] 従来、多数の機能を 1チップ上に集積した構造を有するシステム LSI (Large Scale Integrated circuit)が用いられている。この種のシステム LSIは、家庭用のポータブル 型の電子機器など、様々な電子機器に使用されている。システム LSIには、ブートプ ログラムなどの様々な処理プログラムやデータが記憶された不揮発性メモリが、チッ プの内部又は外部に設けられる。このような不揮発性メモリとして、記憶データの電気 的な書換えが可能なフラッシュメモリが広く用いられる。
ブートプログラムを格納するフラッシュメモリとしては、一般に NOR型フラッシュメモ リが用いられることが多レ、が、最近では、ビット単価の比較的安価な NAND型フラッ シュメモリを用いる要求が高まってレ、る。
NAND型フラッシュメモリを利用した従来のブートシステムとしては、 CPU (Central Processing Unit)コアと、システムメモリと、 NAND型フラッシュメモリと、各メモリと CP Uコアとの間のデータ通信のためのインタフェースとを具備し、 CPUコアの制御により 、 NAND型フラッシュメモリからのブートコードを上記インタフェースを通じて RAM ( Random Access Memory)に一旦格納し、この RAMからブートコードを読み出すこと でシステムブーティング動作を行レ、、システム性能を向上させたものがある。この種の ブートシステムとして、特開 2003-271391号公報に記載されたものがある。
ところで、フラッシュメモリは、通常、データの書込みや読出しがブロック単位で行わ れる力 NAND型フラッシュメモリは、製造過程において不良ブロックがランダムに発 生することが知られている。一方、 NAND型フラッシュメモリを用いたブートを可能と するためには、ブートプログラムが記憶されたブロックが不良でなぐそのプログラム が正常に記憶されていることが保証されている必要がある。しかし、 NAND型フラッ シュメモリにおいて、ある特定のブロックが不良でないことを保証するためには、出荷 前に行う試験のコストが増大してしまうことが問題となっていた。
発明の開示
発明が解決しょうとする課題
本発明の目的は、従来の技術が有する問題点を解消することができる新規な半導 体装置及びその起動処理方法を提供することにある。
本発明の他の目的は、 NAND型などの比較的ビット単価の低いフラッシュメモリを ブートデバイスとして使用した場合に、常に安定的に起動することが可能とされた半 導体装置を提供することにある。
本発明のさらに他の目的は、 NAND型などの比較的ビット単価の低いフラッシュメ モリをブートデバイスとして使用した場合に、常に安定的に起動することが可能となる 半導体装置の起動処理方法を提供することにある。
本発明は、データの書換えが可能な不揮発性メモリからブートプログラムを読み出 して起動する半導体装置において、不揮発性メモリ内の複数のブロックにそれぞれ 同一のブートプログラムが記憶され、さらに、起動時に不揮発性メモリ内のブートプロ グラムの読出し位置を指定して、読み出されたブートプログラムに従って起動処理を 実行する CPUと、読出し位置に対応する不揮発性メモリ内のブロックから読み出した データに基づいて、当該ブロックが不良であるか否かを判定し、不良でない場合は、 当該データを CPUに対して出力し、不良である場合は、ブートプログラムが記憶され た他のブロックからデータを読み出して当該ブロックが不良であるか否かを再度判定 する読出し制御回路とを有する。
本発明に係る半導体装置は、起動時には、まず、不揮発性メモリにおいて同一の ブートプログラムがあら力じめ記憶されたブロックのうちの 1つから、読出し制御回路 によりデータが読み出される。読出し制御回路は、読み出したデータに基づいて、こ のとき読出しが行われたブロックが不良であるか否かを判定する。この判定は、例え ば、読み出したデータに含まれるエラー訂正情報、あるいはブロック状態情報などに 基づいて行う。
そして、読出し制御回路は、当該ブロックが不良でない場合は、読み出したデータ を CPUに出力する。これにより、ブートプログラムが順次 CPUに入力されて実行され
、半導体装置が起動する。一方、当該ブロックが不良である場合は、不揮発性メモリ においてブートプログラムが記憶された他のブロックからデータを読み出し、このとき 読出しが行われたブロックが不良であるか否力、を再度判定する。
このような読出し制御回路が半導体装置に実装されることにより、不良ブロックがラ ンダムに含まれる大容量の不揮発性メモリを用いた場合にも、不良ブロックに記憶さ れた不正なブートコートが CPUに実行される事態が回避される。したがって、比較的 製造コストの低い不揮発性メモリを用いて、常に安定的な起動処理を行うことが可能 となる。
また、本発明は、データの書換えが可能な不揮発性メモリから読み出されたブート プログラムに従って起動処理を実行する CPUを具備する半導体装置の起動処理方 法において、不揮発性メモリ内の複数のブロックにそれぞれ同一の前記ブートプログ ラムが記憶され、不揮発性メモリの読出し制御回路により、起動時に前記 CPUに指 定された読出し位置に対応する不揮発性メモリ内のブロックからデータを読み出し、 読み出したデータに基づいて当該ブロックが不良であるか否かを判定し、不良でな い場合は、当該データを前記 CPUに対して出力し、不良である場合は、ブートプロ グラムが記憶された他のブロックからデータを読み出して当該ブロックが不良である か否かを再度判定する。
本発明に係る半導体装置の起動処理方法は、読出し制御回路により、起動時には 、まず、不揮発性メモリにおいて同一のブートプログラムがあらかじめ記憶されたプロ ックのうちの 1つからデータを読み出す。そして、読み出したデータに基づいて、この とき読出しが行われたブロックが不良であるか否かが判定される。この判定は、例え ば、読み出したデータに含まれるエラー訂正情報、あるいはブロック状態情報などに 基づいて行われる。
そして、当該ブロックが不良でない場合は、読み出したデータが CPUに出力される 。これにより、ブートプログラムが順次 CPUに入力されて実行され、半導体装置が起 動する。一方、当該ブロックが不良である場合は、不揮発性メモリにおいてブートプロ グラムが記憶された他のブロックからデータが読み出され、このとき読出しが行われた ブロックが不良であるか否かの判定が再度行われる。
このような処理が読み出し制御回路に実行されることにより、不良ブロックがランダム に含まれる大容量の不揮発性メモリを用レ、た場合にも、不良ブロックに記憶された不 正なブートコートが CPUに実行される事態が回避される。したがって、比較的製造コ ストの低い不揮発性メモリを用いて、常に安定的な起動処理を行うことが可能となる。 本発明に係る半導体装置の起動処理方法を用いることにより、製品出荷前の試験 によることなぐ不揮発性メモリ内のブートプログラムが記憶されたブロックが正常であ ることを保証することができるので、製造コストの低い大容量の不揮発性メモリを用い て、この不揮発性メモリ内のブートコートに従って常に安定的に半導体装置を起動さ せること力 Sできる。
本発明のさらに他の目的、本発明によって得られる利点は、以下において図面を 参照して説明される実施に形態から一層明らかにされるであろう。
図面の簡単な説明
[0004] [図 1]図 1は、本発明に係る半導体装置を示すブロック回路図である。
[図 2]図 2は、フラッシュメモリのデータ構造の例を示す図である。
[図 3]図 3は、フラッシュメモリにおけるブートプログラムの格納状態を示す図である。
[図 4]図 4は、本発明に係る半導体装置の起動時におけるフラッシュメモリコントローラ の処理の流れを示すフローチャートである。
発明を実施するための最良の形態
[0005] 以下、本発明の実施の形態を図面を参照して詳細に説明する。
図 1は、本発明に係る半導体装置の構成を示すブロック回路図である。 図 1に示す半導体装置は、各種回路が同一半導体チップ上に集積されたシステム LSI10と、この外部に設けられた NAND型のフラッシュメモリ 20とを具備する。
システム LSI10は、 CPU11、 eDRAM (embedded Dynamic Random Access Memory) 12及び 13、フラッシュメモリコントローラ 14、入出力(I · O) I/F (インタフエ ース) 15、その他の周辺回路(Peripheral) 16、内部バス 17を備える。
CPU11は、内部バス 17を通じて eDRAM12及び 13やフラッシュメモリコントローラ 14、周辺回路 16に接続されている。 CPU11は、フラッシュメモリ 20などに記憶され た処理プログラムを実行することにより、この半導体装置全体の動作を統括的に制御 する。 eDRAM12及び 13は、 CPU11により実行される処理プログラムや、処理に用 いられるデータを一時的に記憶する。
フラッシュメモリコントローラ 14は、外部に設けられたフラッシュメモリ 20の読出しを 制御する回路であり、その内部に RAM14aを具備している。フラッシュメモリコント口 ーラ 14は、 CPU11から読出しアドレスの指定を受けて、フラッシュメモリ 20からデー タを読み出して RAM14aに一時的に格納した後、 CPU11に供給する。また、 RAM 14aに記憶したデータに対して、このデータに含まれる ECC (Error Correcting Code )に基づいてエラー訂正を行う機能も有する。
さらに、フラッシュメモリコントローラ 14は、 CPU11によりフラッシュメモリ 20内のブ ートプログラムに対するアクセスを受けた場合には、フラッシュメモリ 20から読み出し たデータを RAM14aに一旦格納した後、読出しを行ったフラッシュメモリ 20内のブロ ックが不良であるか否かを判定して、不良でない場合のみ、そのデータを CPU11に 供給する。
入出力 I/F15は、フラッシュメモリコントローラ 14とフラッシュメモリ 20との間のデー タのやり取りを行うための IZF回路である。
フラッシュメモリ 20には、この半導体装置を起動するためのブートプログラムを含む 各種の処理プログラムやデータが格納されている。これらの処理プログラムは、 CPU 11により実行される。
なお、内部バス 17には、この内部バス 17を通じたアクセスが可能であるか否かを示 すバス状態信号 READYが伝送されるバスが含まれる。例えば、 CPU 11がフラッシ ュメモリコントローラ 14に対してフラッシュメモリ 20からのデータ読出しを要求したとき に、フラッシュメモリコントローラ 14によりバス状態信号 READYがネゲートされると、 内部バス 17に対する上位システムからのアクセスがブロックされる。
このような半導体装置では、フラッシュメモリ 20にあらかじめブートプログラムが格納 される。そして、起動の際には、 CPU11によりフラッシュメモリコントローラ 14に対して 、ブートプログラムが格納されているブロックの先頭アドレスが指定され、フラッシュメ モリ 20から読み出されたブートプログラムが CPU11により実行される。これにより、半 導体装置内の各部が初期化される。
ところで、 NAND型のフラッシュメモリは、不良ブロックがランダムに発生することが 知られている。このようなフラッシュメモリは、大容量でありながら、 N〇R型フラッシュメ モリなどと比較して安価である。一方、半導体装置を常に安定的に起動させるために は、フラッシュメモリ 20内に記憶されたブートプログラム力 常に正常な状態で CPU1 1に供給され、実行される必要がある。
このため、本実施の形態では、フラッシュメモリ 20内の複数のブロックに、それぞれ 同一のブートプログラムを格納しておく。そして、フラッシュメモリコントローラ 14にお いて、フラッシュメモリ 20から読み出したデータに基づいて、読出しが行われたブロッ クが不良であるか否かを判定し、不良であった場合には他のブロックに記憶されたブ ートプログラムを再度読み出す。このような処理により、 CPU11において、常に正常 なブロックに記憶されたブートプログラムが実行されるようにする。
本例では、フラッシュメモリコントローラ 14は、フラッシュメモリ 20から読み出したデ ータに含まれる ECC及びブロックインフォメーションに基づいて、ブロックが不良であ るか否かを判定する。
図 2は、フラッシュメモリ 20のデータ構造の例を示す図である。
図 2に示すように、フラッシュメモリ 20の内部は複数のブロックに分割され、ブロック ごとにデータの読出しが行われる。各ブロックは、さらにページ単位に分割される。本 例では 64のページに分割される。さらに、各ページでは、例えば先頭から 2048バイ ト分がユーザデータの格納領域とされ、その後の例えば 64バイト分の拡張データ( Extra Data)領域が設けられている。
拡張データ領域には、その先頭から、 ECCが 3バイトずつの 4つの領域に分割され て格納される。なお、これらの各領域の最後部には「00」が挿入される。また、各ブロ ックの先頭ページには、さらに次の 4バイト分の領域にブロックインフォメーションが格 納される。ブロックインフォメーションは、当該ブロックが不良であるか否かを示すフラ グであり、この値が特定の値である場合に当該ブロックが正常であると判別することが 可能となる。
図 3は、フラッシュメモリ 20におけるブートプログラムの格納状態を示す図である。 図 3に示すように、本例では、フラッシュメモリ 20内の先頭からの 4ブロックに、それ ぞれ同一のブートプログラムが格納され、それ以後のブロックに他の処理プログラム やデータが格納される。これらのうち、リセット直後に CPU11により指定されるのは先 頭ブロックとされ、このブロックを不良であると判定した場合は、フラッシュメモリコント ローラ 14は、第 2、第 3、第 4のブロックを順次指定して、ブートプログラムを読み出す 図 4は、上述の半導体装置の起動時におけるフラッシュメモリコントローラ 14の処理 の流れを示すフローチャートである。
〔ステップ S101〕システムのリセット信号が入力されると、 CPU11は、内部バス 17を 介して、ブートプログラムの格納領域に対するアクセスを行う。フラッシュメモリコント口 ーラ 14は、 CPU11からのアクセスを待機し、上記格納領域、具体的には先頭ブロッ クの先頭ページへのアクセスが発生した場合に、ステップ S102に進む。
〔ステップ S102〕バス状態信号 READYをネゲートする。これにより、上位システム からの内部バス 17に対するアクセスがブロックされる。
〔ステップ S103〕入出力 I/F15を通じてフラッシュメモリ 20にアクセスし、 CPU11 により指定された領域から 1ページ分のデータを読み出す。そして、読み出したデー タを RAM14aに一時的に格納する。なお、このときすでに RAM14a内にデータが格 納されていた場合には、そのデータに上書きする。
〔ステップ S104〕RAM14aに格納したデータを順次読み出して、まず、 ECCをチェ ックし、以下のステップ S105及び S107の判定を行う。
〔ステップ S105〕当該ページのデータが訂正不可能なエラー(UCE :
Uncorrectable Error)を含むと判定した場合にはステップ S106に進み、そうでない場 合はステップ S 107に進む。
〔ステップ S106〕フラッシュメモリ 20内の読出し対象を次のブロックに指定して、ステ ップ S103に戻る。これにより、次のブロックの先頭ページから再度データが読み出さ れる。
なお、本例では、フラッシュメモリ 20内の 4ブロックにブートプログラムが格納されて いるので、ステップ S106に進んだ回数が 4となったときは、処理を終了する。この場 合、半導体装置は起動されない。
〔ステップ S107〕当該ページのデータが訂正可能なエラー(CE : Correctable Error )を含むと判定した場合はステップ S108に進み、そうでない場合、すなわちエラーを 含まなレ、場合はステップ S 109に進む。
〔ステップ S108〕当該ページのデータに対してエラー訂正処理を施し、 RAM14a に書き戻す。
〔ステップ S109〕RAM14aのデータからブロックインフォメーションを抽出する。そし て、このブロックインフォメーションが特定の値でない場合は、不良ブロックと判定して ステップ S106に進む。これにより、次のブロックの先頭ページから再度データが読み 出される。また、ブロックインフォメーションが特定の値であった場合は、正常なブロッ クと判定して、ステップ S 110に進む。
〔ステップ S 110〕バス状態信号 READYをアサートする。
〔ステップ SI 11〕 RAM14aのデータを、内部バス 17を通じて CPU11に出力する。 これにより、フラッシュメモリ 20から読み出されたブートプログラムが CPU11により実 行され、半導体装置が起動される。
なお、上述のフローチャートは、ブートプログラムの容量が 1ページ内のデータ格納 領域の容量以下である場合の処理を示している。ブートプログラムが複数ページに 渡って格納される場合は、ステップ S109の処理は、ブロック内の先頭ページからの 読出しが行われた場合にのみ実行される。また、この処理により正常なブロックと判定 された場合には、ステップ S110及び SI 11により RAM14a内のデータを CPU11に 出力した後、再びステップ S102に戻ってバス状態信号 READYをネゲートし、ステツ プ S103で次のページからのデータ読出しを行うようにすればよい。 以上のフローチャートで示した処理により、フラッシュメモリコントローラ 14は、フラッ シュメモリ 20から読み出したデータが訂正可能なエラーを含む場合、あるいはエラー を含まない場合で、かつ、ブロックインフォメーションにより不良ブロックでないことが 検出された場合のみ、そのデータを CPU11に出力する。このため、 CPU11は、起 動時には常に正常なブートプログラムを実行するようになり、半導体装置を安定的に 起動させることが可能となる。
したがって、フラッシュメモリコントローラ 14の処理により、ブートプログラムが格納さ れたフラッシュメモリ 20内の特定ブロックが不良でないことが実質的に保証される。従 来、特定のブロックが不良でないことを保証することは、フラッシュメモリの出荷前に行 う試験のコストの増大につながり、また歩留まりが悪化する要因ともなつていた。しかし 、本発明を適用した場合には、ランダムに不良ブロックが存在する、低コストでかつ大 容量のフラッシュメモリをブートデバイスとして使用することが可能となるので、半導体 装置全体の製造コストを抑制しながらも、常に安定的な起動処理を実行することが可 能となる。
また、読出し対象のブロックが不良であると判定された場合には、フラッシュメモリコ ントローラ 14の処理により、他のブロックからブートプログラムが再度読み出され、不 良ブロックでないと判定された場合にのみ CPU11に出力される。このため、 CPU11 は、リセット後に従来と何ら変わらない処理手順で起動処理を実行することができ、フ ラッシュメモリコントローラ 14以外の構成を変更する必要がなレ、。したがって、本発明 は、 CPUにより種々の処理が実行されるコンピュータシステムに対して、製造コストを 増大させることなぐ汎用的に適用することが可能である。
なお、上記の例では、フラッシュメモリをシステム LSIの外部に設けた力 このフラッ シュメモリをシステム LSIの内部に形成した場合にも本発明を適用することが可能で ある。
また、ブートデバイスとして用いるフラッシュメモリとしては、 NAND型に限らず、比 較的大容量で、シーケンシャルなアクセスが可能な構成を有して、製品出荷時に不 良ブロックを完全に排除することが困難なフラッシュメモリを適用することが可能であ る。このようなものとして、例えば、 AND型といわれるフラッシュメモリを用いることが可 能である。
なお、本発明は、図面を参照して説明した上述の実施例に限定されるものではなく 、添付の請求の範囲及びその主旨を逸脱することなぐ様々な変更、置換又はその 同等のものを行うことができることは当業者にとって明らかである。

Claims

請求の範囲
[1] 1.データの書換えが可能な不揮発性メモリからブートプログラムを読み出して起動 する半導体装置において、
前記不揮発性メモリ内の複数のブロックにそれぞれ同一の前記ブートプログラムが 記憶され、
さらに、起動時に前記不揮発性メモリ内の前記ブートプログラムの読出し位置を指 定して、読み出された前記ブートプログラムに従って起動処理を実行する CPUと、 前記読出し位置に対応する前記不揮発性メモリ内のブロックから読み出したデータ に基づいて、当該ブロックが不良であるか否かを判定し、不良でない場合は、当該デ ータを前記 CPUに対して出力し、不良である場合は、前記ブートプログラムが記憶さ れた他のブロックからデータを読み出して当該ブロックが不良であるか否かを再度判 定する読出し制御回路と
を有することを特徴とする半導体装置。
[2] 2.前記読出し制御回路は、少なくとも、前記不揮発性メモリから読み出したデータに 含まれるエラー訂正符号に基づいて、当該ブロックが不良であるか否かを判定するこ とを特徴とする請求の範囲第 1項記載の半導体装置。
[3] 3.前記読出し制御回路は、前記エラー訂正符号に基づいて、訂正可能なデータで あると判定した場合は、当該データを訂正して前記 CPUに供給し、訂正不可能なデ ータであると判定した場合は、当該ブロックが不良であると判定することを特徴とする 請求の範囲第 2項記載の半導体装置。
[4] 4.前記読出し制御回路は、少なくとも、前記不揮発性メモリから読み出したデータに 含まれるブロック状態情報に基づいて、当該ブロックが不良であるか否かを判定する ことを特徴とする請求の範囲第 1項記載の半導体装置。
[5] 5.前記読出し制御回路は、前記ブロック状態情報があらかじめ決められた値でない ときに、当該ブロックが不良であると判定することを特徴とする請求の範囲第 4項記載 の半導体装置。
[6] 6.前記ブロック状態情報は、前記ブートプログラムが記憶されたブロック内の先頭べ ージに記憶されていることを特徴とする請求の範囲第 4項記載の半導体装置。
[7] 7.前記不揮発性メモリは、 NAND型フラッシュメモリであることを特徴とする請求の 範囲第 1項記載の半導体装置。
[8] 8.データの書換えが可能な不揮発性メモリから読み出されたブートプログラムに従つ て起動処理を実行する CPUを具備する半導体装置の起動処理方法において、 前記不揮発性メモリ内の複数のブロックにそれぞれ同一の前記ブートプログラムが 記憶され、
前記不揮発性メモリの読出し制御回路により、起動時に前記 CPUに指定された読 出し位置に対応する前記不揮発性メモリ内のブロックからデータを読み出し、読み出 したデータに基づいて当該ブロックが不良であるか否かを判定し、不良でない場合 は、当該データを前記 CPUに対して出力し、不良である場合は、前記ブートプロダラ ムが記憶された他のブロックからデータを読み出して当該ブロックが不良であるか否 かを再度判定することを特徴とする半導体装置の起動処理方法。
PCT/JP2005/001105 2004-01-28 2005-01-27 半導体装置及びその起動処理方法 WO2005073850A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020067015055A KR101106351B1 (ko) 2004-01-28 2005-01-27 반도체 장치 및 그 기동 처리 방법
EP05709379.1A EP1710696B8 (en) 2004-01-28 2005-01-27 Semiconductor device and method for activating the same
US10/597,353 US8135991B2 (en) 2004-01-28 2005-01-27 Semiconductor device and processing method for starting the same
CN200580003324XA CN1914598B (zh) 2004-01-28 2005-01-27 半导体装置和用于启动该半导体装置的处理方法
HK07103566.1A HK1096473A1 (en) 2004-01-28 2007-04-03 Semiconductor device and processing method for starting the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004019278A JP4534498B2 (ja) 2004-01-28 2004-01-28 半導体装置およびその起動処理方法
JP2004-019278 2004-01-28

Publications (1)

Publication Number Publication Date
WO2005073850A1 true WO2005073850A1 (ja) 2005-08-11

Family

ID=34823709

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/001105 WO2005073850A1 (ja) 2004-01-28 2005-01-27 半導体装置及びその起動処理方法

Country Status (9)

Country Link
US (1) US8135991B2 (ja)
EP (1) EP1710696B8 (ja)
JP (1) JP4534498B2 (ja)
KR (1) KR101106351B1 (ja)
CN (1) CN1914598B (ja)
HK (1) HK1096473A1 (ja)
MY (1) MY149790A (ja)
TW (1) TWI279727B (ja)
WO (1) WO2005073850A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848614B1 (ko) 2006-03-30 2008-07-28 후지쯔 가부시끼가이샤 오류 정정 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4840859B2 (ja) 2006-05-10 2011-12-21 ルネサスエレクトロニクス株式会社 半導体装置、及び起動方法
JP5066894B2 (ja) * 2006-11-07 2012-11-07 富士ゼロックス株式会社 記憶媒体制御装置
JP5125099B2 (ja) * 2006-12-28 2013-01-23 日本電気株式会社 情報記憶装置、情報記憶方法及びプログラム
JP5021404B2 (ja) * 2007-09-14 2012-09-05 株式会社リコー 電子機器、電子機器の起動制御方法及び画像形成装置
US8683213B2 (en) * 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
JP2009157632A (ja) * 2007-12-26 2009-07-16 Toshiba Corp 情報処理装置
CN101526907B (zh) * 2008-03-04 2012-06-20 深圳市爱国者嵌入式系统科技有限公司 避免电子产品开机错误的闪存管理方法
CN101329632B (zh) * 2008-04-30 2014-02-19 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
CN101520735B (zh) * 2008-12-18 2013-09-18 康佳集团股份有限公司 一种启动闪存内引导程序的方法及其网络电视和机顶盒
US8175012B2 (en) * 2009-03-26 2012-05-08 Mediatek Inc. Decoding/encoding method for booting from a NAND flash and system thereof
CN102460383A (zh) * 2009-06-30 2012-05-16 松下电器产业株式会社 数据处理方法、半导体集成电路
CN102135891B (zh) * 2010-01-21 2013-06-26 杭州华三通信技术有限公司 可实现引导启动的系统及引导启动控制装置和方法
US8726087B2 (en) 2011-03-18 2014-05-13 Denso International America, Inc. System and method for curing a read inability state in a memory device
WO2012140710A1 (ja) * 2011-04-14 2012-10-18 パナソニック株式会社 ブート制御装置、ブートシステム及びブート制御方法
CN102135927B (zh) * 2011-04-29 2013-02-13 杭州华三通信技术有限公司 一种基于nand flash的系统引导方法和装置
JP5077726B1 (ja) * 2011-05-23 2012-11-21 Necインフロンティア株式会社 コンピュータ、その制御方法及びプログラム
JP2012252557A (ja) * 2011-06-03 2012-12-20 Mega Chips Corp メモリコントローラ
JP2011210277A (ja) * 2011-06-20 2011-10-20 Toshiba Corp 情報処理装置および情報処理方法
CN102317920A (zh) * 2011-07-18 2012-01-11 华为技术有限公司 数据处理方法及设备
CN103279399A (zh) * 2013-06-27 2013-09-04 北京汉邦高科数字技术股份有限公司 一种嵌入式CPU在NAND Flash上启动的方法
JP2015046088A (ja) * 2013-08-29 2015-03-12 京セラドキュメントソリューションズ株式会社 半導体装置
CN103473098A (zh) * 2013-09-10 2013-12-25 华为技术有限公司 一种boot程序的启动方法和相关装置
TWI544492B (zh) * 2013-12-31 2016-08-01 慧榮科技股份有限公司 電子裝置及其資料維護方法
KR20160006482A (ko) * 2014-07-09 2016-01-19 에스케이하이닉스 주식회사 반도체 장치
KR102189780B1 (ko) 2014-08-11 2020-12-11 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN105700901B (zh) * 2014-11-28 2020-05-08 华为技术有限公司 一种启动方法、装置和计算机系统
JP2017045405A (ja) 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
TWI634561B (zh) * 2017-03-24 2018-09-01 群聯電子股份有限公司 資料保護方法、記憶體儲存裝置及記憶體控制電路單元
JP2020087293A (ja) * 2018-11-30 2020-06-04 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
CN109634674B (zh) * 2018-12-06 2022-03-29 深圳忆联信息系统有限公司 芯片boot启动方法、装置、计算机设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5771508A (en) * 1980-10-20 1982-05-04 Nec Corp Magnetic storage control device
JPH05265767A (ja) * 1992-03-17 1993-10-15 Nec Corp プログラム起動方法
JPH0798659A (ja) * 1993-09-29 1995-04-11 Tec Corp ダウンロード・ブートストラップ方法
JPH1011293A (ja) * 1996-06-27 1998-01-16 Nec Corp 情報処理装置
US5835695A (en) 1996-07-29 1998-11-10 Micron Electronics, Llp Method for a primary BIOS ROM recovery in a dual BIOS ROM computer system
JP2001027953A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp 半導体記憶装置
US20020099974A1 (en) 1999-05-05 2002-07-25 Hou-Yuan Lin Dual basic input/output system for a computer
US20020184435A1 (en) 2001-05-31 2002-12-05 Lambino John P. Assuring proper execution of firmware
US20030005277A1 (en) 2001-06-29 2003-01-02 Harding Matthew C. Automatic replacement of corrupted BIOS image
EP1343082A2 (en) 2002-03-08 2003-09-10 Samsung Electronics Co., Ltd. System boot using nand flash memory and method thereof

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
JPH05151093A (ja) * 1991-11-27 1993-06-18 Nec Corp マイクロコントローラのプログラミング方式
JPH0877066A (ja) * 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
US6018806A (en) * 1995-10-16 2000-01-25 Packard Bell Nec Method and system for rebooting a computer having corrupted memory using an external jumper
JPH10333913A (ja) 1997-06-02 1998-12-18 Hitachi Telecom Technol Ltd ソフトウェアブート制御方式
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
TW436675B (en) * 1998-01-07 2001-05-28 Hitachi Ltd Memory reproduction device, error correciton method, and portable information terminal and digital camera using the same
US6032248A (en) * 1998-04-29 2000-02-29 Atmel Corporation Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors
US6311213B2 (en) * 1998-10-27 2001-10-30 International Business Machines Corporation System and method for server-to-server data storage in a network environment
TW446864B (en) * 1999-05-11 2001-07-21 Micro Star Int Co Ltd Automatic BIOS backup method
KR20000073693A (ko) * 1999-05-13 2000-12-05 윤종용 마이크로프로세서 응용시스템에서 부트-롬 구조 및 부트-롬 교체방법
US6415348B1 (en) * 1999-08-23 2002-07-02 Advanced Micro Devices, Inc. Flexible microcontroller architecture
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
JP2002074983A (ja) * 2000-08-25 2002-03-15 Nec Microsystems Ltd 半導体集積回路
JP4095767B2 (ja) * 2000-11-13 2008-06-04 株式会社ルネサステクノロジ ディスクドライブ装置
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
EP1300762A1 (de) 2001-08-21 2003-04-09 Alcatel Integrierte Schaltung mit externem Speicher
JP3822081B2 (ja) * 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
JP4162401B2 (ja) 2001-12-18 2008-10-08 富士通株式会社 携帯端末装置および間欠受信方法
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
JP2004110086A (ja) 2002-09-13 2004-04-08 Seiko Epson Corp 半導体装置
US20040139307A1 (en) 2003-01-09 2004-07-15 Barnett Philip C. Method and apparatus for initializing a semiconductor circuit from an external interface
JP2004318330A (ja) 2003-04-14 2004-11-11 Renesas Technology Corp 半導体集積回路装置およびデータ処理システム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5771508A (en) * 1980-10-20 1982-05-04 Nec Corp Magnetic storage control device
JPH05265767A (ja) * 1992-03-17 1993-10-15 Nec Corp プログラム起動方法
JPH0798659A (ja) * 1993-09-29 1995-04-11 Tec Corp ダウンロード・ブートストラップ方法
JPH1011293A (ja) * 1996-06-27 1998-01-16 Nec Corp 情報処理装置
US5835695A (en) 1996-07-29 1998-11-10 Micron Electronics, Llp Method for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US20020099974A1 (en) 1999-05-05 2002-07-25 Hou-Yuan Lin Dual basic input/output system for a computer
JP2001027953A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp 半導体記憶装置
US20020184435A1 (en) 2001-05-31 2002-12-05 Lambino John P. Assuring proper execution of firmware
US20030005277A1 (en) 2001-06-29 2003-01-02 Harding Matthew C. Automatic replacement of corrupted BIOS image
EP1343082A2 (en) 2002-03-08 2003-09-10 Samsung Electronics Co., Ltd. System boot using nand flash memory and method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1710696A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848614B1 (ko) 2006-03-30 2008-07-28 후지쯔 가부시끼가이샤 오류 정정 장치

Also Published As

Publication number Publication date
JP2005215824A (ja) 2005-08-11
KR101106351B1 (ko) 2012-01-18
TW200537565A (en) 2005-11-16
KR20060127093A (ko) 2006-12-11
EP1710696B8 (en) 2014-03-05
CN1914598A (zh) 2007-02-14
HK1096473A1 (en) 2007-06-01
EP1710696A4 (en) 2012-07-04
JP4534498B2 (ja) 2010-09-01
EP1710696A1 (en) 2006-10-11
TWI279727B (en) 2007-04-21
MY149790A (en) 2013-10-14
EP1710696B1 (en) 2013-11-27
CN1914598B (zh) 2011-02-02
US20080046637A1 (en) 2008-02-21
US8135991B2 (en) 2012-03-13

Similar Documents

Publication Publication Date Title
WO2005073850A1 (ja) 半導体装置及びその起動処理方法
JP4840859B2 (ja) 半導体装置、及び起動方法
CN106293832B (zh) 一种soc芯片引导启动方法及系统
US20060075395A1 (en) Flash card system
US20080126776A1 (en) Electronic apparatus
US6546517B1 (en) Semiconductor memory
US8555050B2 (en) Apparatus and method thereof for reliable booting from NAND flash memory
US20110093675A1 (en) Method for protecting redundant data
US20100169546A1 (en) Flash memory access circuit
WO2007116487A1 (ja) メモリ装置、そのエラー訂正の支援方法、その支援プログラム、メモリ・カード、回路基板及び電子機器
US20050207232A1 (en) Access method for a NAND flash memory chip, and corresponding NAND flash memory chip
JP2005071303A (ja) プログラム起動装置
JP2004220068A (ja) メモリカード及びメモリへのデータ書き込み方法
JPH11265283A (ja) 記憶装置におけるファームウェアの修正方法及び記憶装置
JP2013246630A (ja) ブートシステムおよびシステム初期化方法
JP2007220210A (ja) メモリシステム
US6625060B2 (en) Microcomputer with efficient program storage
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JP5322855B2 (ja) 修正記憶部を有するプログラム更新システム及びその方法
JP2004355560A (ja) 起動装置
JP5435647B2 (ja) コンピュータシステム、メモリ初期化方法、及びプログラム
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2011090504A (ja) メモリコントローラおよび半導体メモリの制御方法
CN117524288A (zh) 闪存存储器装置
JP2003288215A (ja) 情報処理装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW 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 KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA 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 US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA 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 IS IT LT LU MC NL PL 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: 2005709379

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 3979/DELNP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1020067015055

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 200580003324.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWP Wipo information: published in national office

Ref document number: 2005709379

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067015055

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 10597353

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10597353

Country of ref document: US