JP4534498B2 - 半導体装置およびその起動処理方法 - Google Patents

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

Info

Publication number
JP4534498B2
JP4534498B2 JP2004019278A JP2004019278A JP4534498B2 JP 4534498 B2 JP4534498 B2 JP 4534498B2 JP 2004019278 A JP2004019278 A JP 2004019278A JP 2004019278 A JP2004019278 A JP 2004019278A JP 4534498 B2 JP4534498 B2 JP 4534498B2
Authority
JP
Japan
Prior art keywords
data
block
read
defective
boot program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004019278A
Other languages
English (en)
Other versions
JP2005215824A (ja
Inventor
由人 片野
正 吉田
和彦 迫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony 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
Priority to JP2004019278A priority Critical patent/JP4534498B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to CN200580003324XA priority patent/CN1914598B/zh
Priority to US10/597,353 priority patent/US8135991B2/en
Priority to KR1020067015055A priority patent/KR101106351B1/ko
Priority to PCT/JP2005/001105 priority patent/WO2005073850A1/ja
Priority to EP05709379.1A priority patent/EP1710696B8/en
Priority to TW094102731A priority patent/TWI279727B/zh
Priority to MYPI20050313A priority patent/MY149790A/en
Publication of JP2005215824A publication Critical patent/JP2005215824A/ja
Priority to HK07103566.1A priority patent/HK1096473A1/xx
Application granted granted Critical
Publication of JP4534498B2 publication Critical patent/JP4534498B2/ja
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
    • 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

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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)
  • Read Only Memory (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明は、データの書き換えが可能な不揮発性メモリからブートプログラムを読み出して起動する半導体装置、およびその起動処理方法に関し、特に、例えばNAND型フラッシュメモリのように、製造過程で不良ブロックを排除することが困難な大容量の不揮発性メモリからブートプログラムを読み出して起動する半導体装置、およびその起動処理方法に関する。
近年、多数の機能を1チップ上に集積した構造を有するシステムLSI(Large Scale Integrated circuit)は、家庭用のポータブル機器などの様々な電子機器に使用されている。システムLSIには、ブートプログラムなどの様々な処理プログラムやデータが記憶された不揮発性メモリが、チップの内部または外部に設けられる。このような不揮発性メモリとして、記憶データの電気的な書き換えが可能なフラッシュメモリが用いられることが多くなっている。
ブートプログラムを格納するフラッシュメモリとしては、一般にNOR型フラッシュメモリが用いられることが多い。しかし、最近では、ビット単価の比較的安価なNAND型フラッシュメモリを用いる要求が高まっている。
NAND型フラッシュメモリを利用した従来のブートシステムとしては、CPU(Central Processing Unit)コアと、システムメモリと、NAND型フラッシュメモリと、各メモリとCPUコアとの間のデータ通信のためのインタフェースとを具備し、CPUコアの制御により、NAND型フラッシュメモリからのブートコードを上記インタフェースを通じてRAM(Random Access Memory)に一旦格納し、このRAMからブートコードを読み出すことでシステムブーティング動作を行い、システム性能を向上させたものがあった
(例えば、特許文献1参照)。
特開2003−271391号公報(段落番号〔0027〕〜〔0033〕、図2)
ところで、フラッシュメモリは、通常、データの書き込みや読み出しがブロック単位で行われるが、NAND型フラッシュメモリは、製造過程において不良ブロックがランダムに発生することが知られている。一方、NAND型フラッシュメモリを用いたブートを可能とするためには、ブートプログラムが記憶されたブロックが不良でなく、そのプログラムが正常に記憶されていることが保証されている必要がある。しかし、NAND型フラッシュメモリにおいて、ある特定のブロックが不良でないことを保証するためには、出荷前に行う試験のコストが増大してしまうことが問題となっていた。
本発明はこのような課題に鑑みてなされたものであり、NAND型などの比較的ビット単価の低いフラッシュメモリをブートデバイスとして使用した場合に、常に安定的に起動することが可能とされた半導体装置を提供することを目的とする。
また、本発明の他の目的は、NAND型などの比較的ビット単価の低いフラッシュメモリをブートデバイスとして使用した場合に、常に安定的に起動することが可能となる半導体装置の起動処理方法を提供することである。
本発明では上記課題を解決するために、データの書き換えが可能な不揮発性メモリからブートプログラムを読み出して起動する半導体装置において、前記不揮発性メモリ内の複数のブロックにそれぞれ同一の前記ブートプログラムが記憶され、さらに、リセット時に前記不揮発性メモリ内の前記ブートプログラムの読み出し位置を指定して、読み出された前記ブートプログラムに従って起動処理を実行する中央処理装置と、前記読み出し位置に対応する前記不揮発性メモリ内のブロックから読み出したデータを格納する揮発性メモリを有し、前記揮発性メモリに格納されたデータに基づいて、前記不揮発性メモリ内の当該ブロックが不良であるか否かを判定し、不良でない場合は、当該データを前記中央処理装置に対し正常な前記ブートプログラムとして出力し、不良である場合は、前記ブートプログラムが記憶された他のブロックからデータを読み出して当該ブロックが不良であるか否かを再度判定する読み出し制御回路とを有することを特徴とする半導体装置が提供される。
このような半導体装置では、起動時には、まず、不揮発性メモリにおいて同一のブートプログラムがあらかじめ記憶されたブロックのうちの1つから、読み出し制御回路によりデータが読み出される。読み出し制御回路は、読み出したデータに基づいて、このとき読み出しが行われたブロックが不良であるか否かを判定する。この判定は、例えば、読み出したデータに含まれるエラー訂正情報、あるいはブロック状態情報などに基づいて行う。
そして、読み出し制御回路は、当該ブロックが不良でない場合は、読み出したデータを中央処理装置に出力する。これにより、ブートプログラムが順次中央処理装置に入力されて起動処理が実行され、半導体装置が起動する。一方、当該ブロックが不良である場合は、不揮発性メモリにおいてブートプログラムが記憶された他のブロックからデータを読み出し、このとき読み出しが行われたブロックが不良であるか否かを再度判定する。
このような読み出し制御回路が半導体装置に実装されることにより、不良ブロックがランダムに含まれる大容量の不揮発性メモリを用いた場合にも、不良ブロックに記憶された不正なブートコー中央処理装置に実行される事態が回避される。従って、比較的製造コストの低い不揮発性メモリを用いて、常に安定的な起動処理を行うことが可能となる。
また、本発明では、データの書き換えが可能な不揮発性メモリ内の複数のブロックにそれぞれ同一の前記ブートプログラムが記憶されていて、そのうちの1ブロックから読み出されたブートプログラムに従って起動処理を実行する中央処理装置を具備する半導体装置の起動処理方法において、リセット時に前記中央処理装置に指定された読み出し位置に対応する前記不揮発性メモリ内のブロックからデータを読み出して揮発性メモリに格納し前記揮発性メモリから読み出したデータに含まれるエラー訂正符号およびブロック状態情報の少なくとも一方に基づいて当該ブロックが不良であるか否かを判定し、不良でない場合は、当該データを前記中央処理装置に対し正常な前記ブートプログラムとして出力し、不良である場合は、前記ブートプログラムが記憶された他のブロックからデータを読み出して当該ブロックが不良であるか否かを再度判定することを特徴とする半導体装置の起動処理方法が提供される。
このような半導体装置の起動処理方法では、起動時には、まず、不揮発性メモリにおいて同一のブートプログラムがあらかじめ記憶されたブロックのうちの1つからデータが読み出される。そして、読み出したデータに含まれるエラー訂正符号またはブロック状態情報に基づいて、このとき読み出しが行われたブロックが不良であるか否かが判定される。
そして、当該ブロックが不良でない場合は、読み出したデータが中央処理装置正常なブートプログラムとして出力される。これにより、ブートプログラムが順次中央処理装置に入力されて実行され、半導体装置が起動する。一方、当該ブロックが不良である場合は、不揮発性メモリにおいてブートプログラムが記憶された他のブロックからデータが読み出され、このとき読み出しが行われたブロックが不良であるか否かの判定が再度行われる。
このような処理が読み出し制御回路に実行されることにより、不良ブロックがランダムに含まれる大容量の不揮発性メモリを用いた場合にも、不良ブロックに記憶された不正なブートコー中央処理装置に実行される事態が回避される。従って、比較的製造コストの低い不揮発性メモリを用いて、常に安定的な起動処理を行うことが可能となる。
本発明によれば、製品出荷前の試験によることなく、不揮発性メモリ内のブートプログラムが記憶されたブロックが正常であることを保証することができるので、製造コストの低い大容量の不揮発性メモリを用いて、この不揮発性メモリ内のブートコーに従って常に安定的に半導体装置を起動させることができる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の実施の形態に係る半導体装置の構成を示す図である。
図1に示す半導体装置は、各種回路が同一半導体チップ上に集積されたシステムLSI10と、この外部に設けられたNAND型のフラッシュメモリ20とを具備する。
システムLSI10は、CPU(中央処理装置)11、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の読み出しを制御する回路であり、その内部にRAM(揮発性メモリ)14aを具備している。フラッシュメモリコントローラ14は、CPU11から読み出しアドレスの指定を受けて、フラッシュメモリ20からデータを読み出してRAM14aに一時的に格納した後、CPU11に供給する。また、RAM14aに記憶したデータに対して、このデータに含まれるECC(Error Correcting Code)に基づいてエラー訂正を行う機能も有する。
さらに、フラッシュメモリコントローラ14は、CPU11によりフラッシュメモリ20内のブートプログラムに対するアクセスを受けた場合には、フラッシュメモリ20から読み出したデータをRAM14aに一旦格納した後、読み出しを行ったフラッシュメモリ20内のブロックが不良であるか否かを判定して、不良でない場合のみ、そのデータをCPU11に供給する。
入出力I/F15は、フラッシュメモリコントローラ14とフラッシュメモリ20との間のデータのやり取りを行うためのI/F回路である。
フラッシュメモリ20には、この半導体装置を起動するためのブートプログラムを含む各種の処理プログラムやデータが格納されている。これらの処理プログラムは、CPU11により実行される。
なお、内部バス17には、この内部バス17を通じたアクセスが可能であるか否かを示すバス状態信号READYが伝送されるバスが含まれる。例えば、CPU11がフラッシュメモリコントローラ14に対してフラッシュメモリ20からのデータ読み出しを要求したときに、フラッシュメモリコントローラ14によりバス状態信号READYがネゲートされると、内部バス17に対する上位システムからのアクセスがブロックされる。
このような半導体装置では、フラッシュメモリ20にあらかじめブートプログラムが格納される。そして、起動の際には、CPU11によりフラッシュメモリコントローラ14に対して、ブートプログラムが格納されているブロックの先頭アドレスが指定され、フラッシュメモリ20から読み出されたブートプログラムがCPU11により実行される。これにより、半導体装置内の各部が初期化される。
ところで、NAND型のフラッシュメモリは、不良ブロックがランダムに発生することが知られている。このようなフラッシュメモリは、大容量でありながら、NOR型フラッシュメモリなどと比較して安価である。一方、半導体装置を常に安定的に起動させるためには、フラッシュメモリ20内に記憶されたブートプログラムが、常に正常な状態でCPU11に供給され、実行される必要がある。
このため、本実施の形態では、フラッシュメモリ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に進み、そうでない場合はステップS107に進む。
〔ステップS106〕フラッシュメモリ20内の読み出し対象を次のブロックに指定して、ステップS103に戻る。これにより、次のブロックの先頭ページから再度データが読み出される。
なお、本実施の形態では、フラッシュメモリ20内の4ブロックにブートプログラムが格納されているので、ステップS106に進んだ回数が4となったときは、処理を終了する。この場合、半導体装置は起動されない。
〔ステップS107〕当該ページのデータが訂正可能なエラー(CE:Correctable Error)を含むと判定した場合はステップS108に進み、そうでない場合、すなわちエラーを含まない場合はステップS109に進む。
〔ステップS108〕当該ページのデータに対してエラー訂正処理を施し、RAM14aに書き戻す。
〔ステップS109〕RAM14aのデータからブロックインフォメーションを抽出する。そして、このブロックインフォメーションが特定の値でない場合は、不良ブロックと判定してステップS106に進む。これにより、次のブロックの先頭ページから再度データが読み出される。また、ブロックインフォメーションが特定の値であった場合は、正常なブロックと判定して、ステップS110に進む。
〔ステップS110〕バス状態信号READYをアサートする。
〔ステップS111〕RAM14aのデータを、内部バス17を通じてCPU11に出力する。これにより、フラッシュメモリ20から読み出されたブートプログラムがCPU11により実行され、半導体装置が起動される。
なお、上記のフローチャートは、ブートプログラムの容量が1ページ内のデータ格納領域の容量以下である場合の処理を示している。ブートプログラムが複数ページに渡って格納される場合は、ステップS109の処理は、ブロック内の先頭ページからの読み出しが行われた場合にのみ実行される。また、この処理により正常なブロックと判定された場合には、ステップS110およびS111によりRAM14a内のデータをCPU11に出力した後、再びステップS102に戻ってバス状態信号READYをネゲートし、ステップS103で次のページからのデータ読み出しを行うようにすればよい。
以上のフローチャートで示した処理により、フラッシュメモリコントローラ14は、フラッシュメモリ20から読み出したデータが訂正可能なエラーを含む場合、あるいはエラーを含まない場合で、かつ、ブロックインフォメーションにより不良ブロックでないことが検出された場合のみ、そのデータをCPU11に出力する。このため、CPU11は、起動時には常に正常なブートプログラムを実行するようになり、半導体装置を安定的に起動させることが可能となる。
従って、フラッシュメモリコントローラ14の処理により、ブートプログラムが格納されたフラッシュメモリ20内の特定ブロックが不良でないことが実質的に保証される。従来、特定のブロックが不良でないことを保証することは、フラッシュメモリの出荷前に行う試験のコストの増大につながり、また歩留まりが悪化する要因ともなっていた。しかし、本発明を適用した場合には、ランダムに不良ブロックが存在する、低コストでかつ大容量のフラッシュメモリをブートデバイスとして使用することが可能となるので、半導体装置全体の製造コストを抑制しながらも、常に安定的な起動処理を実行することが可能となる。
また、読み出し対象のブロックが不良であると判定された場合には、フラッシュメモリコントローラ14の処理により、他のブロックからブートプログラムが再度読み出され、不良ブロックでないと判定された場合にのみCPU11に出力される。このため、CPU11は、リセット後に従来と何ら変わらない処理手順で起動処理を実行することができ、フラッシュメモリコントローラ14以外の構成を変更する必要がない。従って、本発明は、CPUにより種々の処理が実行されるコンピュータシステムに対して、製造コストを増大させることなく、汎用的に適用することが可能である。
なお、上記の実施の形態では、フラッシュメモリをシステムLSIの外部に設けたが、このフラッシュメモリをシステムLSIの内部に形成した場合にも本発明を適用することが可能である。
また、ブートデバイスとして用いるフラッシュメモリとしては、NAND型に限らず、比較的大容量で、シーケンシャルなアクセスが可能な構成を有して、製品出荷時に不良ブロックを完全に排除することが困難なフラッシュメモリを適用することが可能である。このようなものとして、例えば、AND型といわれるフラッシュメモリを用いることが可能である。
本発明の実施の形態に係る半導体装置の構成を示す図である。 フラッシュメモリのデータ構造の例を示す図である。 フラッシュメモリにおけるブートプログラムの格納状態を示す図である。 本実施の形態に係る半導体装置の起動時におけるフラッシュメモリコントローラの処理の流れを示すフローチャートである。
符号の説明
10……システムLSI、11……CPU、12,13……eDRAM、14……フラッシュメモリコントローラ、14a……RAM、15……入出力I/F、16……周辺回路、20……フラッシュメモリ

Claims (8)

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

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2004019278A JP4534498B2 (ja) 2004-01-28 2004-01-28 半導体装置およびその起動処理方法
US10/597,353 US8135991B2 (en) 2004-01-28 2005-01-27 Semiconductor device and processing method for starting the same
KR1020067015055A KR101106351B1 (ko) 2004-01-28 2005-01-27 반도체 장치 및 그 기동 처리 방법
PCT/JP2005/001105 WO2005073850A1 (ja) 2004-01-28 2005-01-27 半導体装置及びその起動処理方法
CN200580003324XA CN1914598B (zh) 2004-01-28 2005-01-27 半导体装置和用于启动该半导体装置的处理方法
EP05709379.1A EP1710696B8 (en) 2004-01-28 2005-01-27 Semiconductor device and method for activating the same
TW094102731A TWI279727B (en) 2004-01-28 2005-01-28 Semiconductor device and method for activating the same
MYPI20050313A MY149790A (en) 2004-01-28 2005-01-28 Semiconductor device and processing method for starting the same.
HK07103566.1A HK1096473A1 (en) 2004-01-28 2007-04-03 Semiconductor device and processing method for starting the same

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2005215824A JP2005215824A (ja) 2005-08-11
JP4534498B2 true JP4534498B2 (ja) 2010-09-01

Family

ID=34823709

Family Applications (1)

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

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)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4598711B2 (ja) 2006-03-30 2010-12-15 富士通株式会社 誤り訂正装置
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 情報処理装置および情報処理方法
WO2012106897A1 (zh) * 2011-07-18 2012-08-16 华为技术有限公司 数据处理方法及设备
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151093A (ja) * 1991-11-27 1993-06-18 Nec Corp マイクロコントローラのプログラミング方式
JP2002074983A (ja) * 2000-08-25 2002-03-15 Nec Microsystems Ltd 半導体集積回路
JP2002149350A (ja) * 2000-11-13 2002-05-24 Hitachi Ltd ディスクドライブ装置
JP2003109384A (ja) * 2001-09-28 2003-04-11 Tokyo Electron Device Ltd データ書込装置、データ書込制御方法及びプログラム

Family Cites Families (30)

* 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
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
JPH05265767A (ja) 1992-03-17 1993-10-15 Nec Corp プログラム起動方法
JP3296520B2 (ja) 1993-09-29 2002-07-02 東芝テック株式会社 ダウンロード・ブートストラップ方法
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
JPH1011293A (ja) 1996-06-27 1998-01-16 Nec Corp 情報処理装置
US5793943A (en) 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
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
US6892323B2 (en) * 1999-05-05 2005-05-10 Giga-Byte Technology Co., Ltd. Dual basic input/output system for a computer
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 윤종용 마이크로프로세서 응용시스템에서 부트-롬 구조 및 부트-롬 교체방법
JP2001027953A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp 半導体記憶装置
US6415348B1 (en) * 1999-08-23 2002-07-02 Advanced Micro Devices, Inc. Flexible microcontroller architecture
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US6591352B2 (en) 2001-05-31 2003-07-08 Intel Corporation Method and apparatus for executing firmware from a valid startup block
US6651188B2 (en) * 2001-06-29 2003-11-18 Intel Corporation Automatic replacement of corrupted BIOS image
EP1300762A1 (de) 2001-08-21 2003-04-09 Alcatel Integrierte Schaltung mit externem Speicher
JP4162401B2 (ja) 2001-12-18 2008-10-08 富士通株式会社 携帯端末装置および間欠受信方法
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
TWI228220B (en) * 2002-03-08 2005-02-21 Samsung Electronics Co Ltd System boot using NAND flash memory and method thereof
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151093A (ja) * 1991-11-27 1993-06-18 Nec Corp マイクロコントローラのプログラミング方式
JP2002074983A (ja) * 2000-08-25 2002-03-15 Nec Microsystems Ltd 半導体集積回路
JP2002149350A (ja) * 2000-11-13 2002-05-24 Hitachi Ltd ディスクドライブ装置
JP2003109384A (ja) * 2001-09-28 2003-04-11 Tokyo Electron Device Ltd データ書込装置、データ書込制御方法及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4534498B2 (ja) 半導体装置およびその起動処理方法
US7117328B2 (en) Non-volatile data storage system and data storaging method
US20080126776A1 (en) Electronic apparatus
JP4059472B2 (ja) メモリカード及びメモリコントローラ
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP4840859B2 (ja) 半導体装置、及び起動方法
JP2990181B1 (ja) フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
US6546517B1 (en) Semiconductor memory
US8555050B2 (en) Apparatus and method thereof for reliable booting from NAND flash memory
US20100169546A1 (en) Flash memory access circuit
US20090070523A1 (en) Flash memory device storing data with multi-bit and single-bit forms and programming method thereof
JP4775969B2 (ja) 不揮発性記憶装置
US20080195893A1 (en) A repairable semiconductor memory device and method of repairing the same
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
US20120096335A1 (en) Data processing method and semiconductor integrated circuit
US20050207232A1 (en) Access method for a NAND flash memory chip, and corresponding NAND flash memory chip
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JPH11265283A (ja) 記憶装置におけるファームウェアの修正方法及び記憶装置
JP4213140B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4235624B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JP2011018371A (ja) メモリ記憶装置
JP2000082122A (ja) メモリカード
JP2003288215A (ja) 情報処理装置
JP3041007B2 (ja) 不揮発性メモリの管理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100607

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4534498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term