JP2007299249A - Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 - Google Patents
Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 Download PDFInfo
- Publication number
- JP2007299249A JP2007299249A JP2006127305A JP2006127305A JP2007299249A JP 2007299249 A JP2007299249 A JP 2007299249A JP 2006127305 A JP2006127305 A JP 2006127305A JP 2006127305 A JP2006127305 A JP 2006127305A JP 2007299249 A JP2007299249 A JP 2007299249A
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- host
- nand flash
- nand
- data
- 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.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
Abstract
【課題】組み込み系コンピューティングシステムを構築するための、より改良されたNAND型フラッシュメモリデバイスの提供。及び該デバイスを用いたコンピューティングシステムの起動方法の提供。
【解決手段】NAND型フラッシュメモリからのブートローダの読み出しを、NAND型フラッシュメモリデバイスの内部機能により自律的に実行し、読み出したブートローダを、ホストCPUの内部メモリバスと直結するデバイス内のSRAMにロードする。ホストは、SRAMにロードされたブートローダの情報に基づきNANDインターフェースからOSをシステムメモリにロードし、システムを起動する。
【選択図】 図2
【解決手段】NAND型フラッシュメモリからのブートローダの読み出しを、NAND型フラッシュメモリデバイスの内部機能により自律的に実行し、読み出したブートローダを、ホストCPUの内部メモリバスと直結するデバイス内のSRAMにロードする。ホストは、SRAMにロードされたブートローダの情報に基づきNANDインターフェースからOSをシステムメモリにロードし、システムを起動する。
【選択図】 図2
Description
本発明は、ホストICと協働して一のコンピューティングシステムを構築するNAND型フラッシュメモリデバイス及び該デバイスを利用したコンピューティングシステムの起動方法に関する。
パーソナルコンピュータ(PC)の場合、そのコンピュータに内蔵してなるハードディスク(HDD)にOSを格納しておき、電源投入時に、システムの初期化が行なわれ、CPU内のキャッシュメモリーやROMに格納されてなるブートローダ(ブートプログラム若しくはブートコードともいう)が起動し、CPUはこのブートローダの情報に基づきHDDからシステムメモリにOSをロードし、これを起動している(先行技術1)。
また、PCの他、各種産業機器では、コアCPUを有するホストをワンチップICで構成し、これとは別個独立にブートローダとOSを格納したICを構成し、これを前記ホストICと協働させて一のコンピューティングシステムを構成している(先行技術2)。このようなシステムは一般に組み込みシステムと称され、又、ホストICと協働させるための外付けのICは一般に組み込みデバイスとも呼ばれている。
先行技術2の一例として、特開2003-271391号に開示されているものがある。その要旨は、同公報の図2及び段落0026乃至段落0038に開示されているが、以下、その概略を本願の図1を用いて説明する。尚図1では、上記公報で使用されている符号をそのまま引用し、該符号に’をつけて説明する。
システムに電源が投入され初期化が行なわれると、ブートストラッパ25’が、外付けのNANDフラッシュメモリ18’からブートコードを読み出し、システムバス17’を介して、内部RAM26’に格納する。すると、ホストのメモリコントローラ14’がブートコードに基づき、NANDインターフェースを介して、NANDフラッシュメモリ18’に格納されているOSを読み出し、システムバス17’を通じてシステムメモリ19’(DRAM)にロードする。これによりOS即ちコンピュータシステムが起動する。
このシステムの問題点は以下の通りである。
(1)まず、NANDフラッシュメモリから読み出されるコードデータには書き込み時のデータエラーの存在を無視することができず、従って、エラー訂正回路(ERROR CORRECTING CIRCUIT)をホスト側に組み込む必要がある。一般に組み込み系デバイスの場合は、デバイス設計者側とホスト設計者側が異なる場合があり、必ずしもホストIC設計者側がメモリの詳細を周知していない場合もある。よってNAND型フラッシュメモリを扱う上では、それを周知しているデバイス提供側がエラー訂正回路をデバイスICに組み入れることが、開発効率の点で有益である。
(1)まず、NANDフラッシュメモリから読み出されるコードデータには書き込み時のデータエラーの存在を無視することができず、従って、エラー訂正回路(ERROR CORRECTING CIRCUIT)をホスト側に組み込む必要がある。一般に組み込み系デバイスの場合は、デバイス設計者側とホスト設計者側が異なる場合があり、必ずしもホストIC設計者側がメモリの詳細を周知していない場合もある。よってNAND型フラッシュメモリを扱う上では、それを周知しているデバイス提供側がエラー訂正回路をデバイスICに組み入れることが、開発効率の点で有益である。
(2)また、ブートコードを内部メモリ26’にロードするブートストラッパをホスト側に組み込んでおり、この場合、NAND型フラッシュメモリにおける当該ブートローダを格納しているアドレス情報等、デバイス側の情報と種々併せこみを行なわなければならないといった煩雑さがある。
(3)さらには、ホスト21’にブートコードを格納する記憶手段(内部RAM26’)を設ける必要がある。
特開2003-271391号
本発明は上記問題点に鑑みなされたもので、その目的とするところは、より簡易な方法で組み込み系のコンピューティングシステムを構築するための改良されたNAND型フラッシュメモリデバイス、及び該デバイスを用いたコンピューティングシステムの起動方法の提供にある。
さらには、システム性能を最適化しうるNAND型フラッシュメモリデバイスの提供にある。
さらには、システム性能を最適化しうるNAND型フラッシュメモリデバイスの提供にある。
本発明は、上記課題の解決にあたり、ブートローダの読み出しを、ホストに組み込まれたブートストラッパのルーティンプログラムに依らず、あくまでデバイスの内部機能により自律的にこれを実行するよう構成してなる。これにより、ホストICの制作工数が大幅に軽減される。
NANDフラッシュメモリから読み出されたブートローダは、ホストCPUの内部メモリバスと直結するデバイス内のSRAMにロードされる。これにより、ホストにブートローダを読み出す手段(ブートストラッパ)やブートローダを格納する内部メモリが不要となるとともに、ホストCPUは特別なインターフェースを介すことなく、内部バスから直接SRAMにアクセスしてブートローダの情報を容易に確認できる。
ところで、ブートローダには、NAND型フラッシュメモリに格納したOSの所在(アドレス)などの情報が記載されている。ホストCPUは、ブートローダの内容を確認すると、その情報に基づき、NANDインターフェースを介して、デバイスに対しOSの読み出しを指令する。よって、OSは単一種のインターフェース(NANDインターフェース)でシステムメモリにロードされ、その後システムが起動する。
さらに具体的には、前記した課題の解決は、本発明が以下に上位概念から下位概念に亙り列挙する新規な特徴的構成を採用することにより達成される。
本発明デバイスの第1の特徴は、ホストICと別個独立に構成され、該ホストICと協働して一のコンピューティングシステムを構築するNAND型フラッシュメモリデバイスであって、該NAND型フラッシュメモリデバイスは、管理領域と、ブートローダとOSを格納してなるユーザデータ領域とを有するNAND型フラッシュメモリと、ホストシステムの読出し指令に対応して前記NAND型フラッシュメモリからデータの読み出しを行うコントローラからなり、該コントローラは、1)ホストと通信を行なうNANDインターフェースと、2) NAND型フラッシュメモリと通信を行うNANDインターフェースを含み、該NANDインターフェースを介してNAND型フラッシュメモリからデータを読み出すためのアドレス、コマンド及び制御信号を出力するハードウエアシーケンサと、3)CPUを有し、ホストから読み出し指定されたアドレスからNAND型フラッシュメモリにアクセスすべき物理ブロックアドレスを割り出し、これを前記ハードウエアシーケンサにプログラムするとともに、本コントローラを統括的に制御するメインファームウエアと、4)外部出力用のデータを一時格納する読み出しデータ格納用RAMと、5)メモリバス方式によってホストの内部メモリバスと直結されてなるSRAMと、6)バッファメモリーを有し、前記読み出しデータ格納用RAM及び前記SRAMに前記バッファメモリーを介して格納するデータ及び前記読み出しデータ格納用RAMから該バッファメモリーを介して読み出すデータの緩衝制御を行うバッファマネージャーと、7)NAND型フラッシュメモリから読み出されたデータにエラーがないか判定するECC DECORDERと、8)前記ECC DECORDERによりデータエラーが発見された場合に、当該エラーを訂正するCORRECTORとを有し、システムに電源投入後、メインファームウエアの機能に基づき、前記NAND型フラッシュメモリに格納されてなるブートローダが、前記SRAMにロードされるNAND型フラッシュメモリデバイスの構成採用にある。
本発明デバイスの第2の特徴は、NAND型フラッシュメモリに格納されているデータのSRAMへのロードは、管理領域に予め格納されているブートローダのアドレス情報に基づき、メインファームウエアがハードウエアシーケンサにこれを実行させるNAND型フラッシュメモリデバイスの構成採用にある。
本発明デバイスの第3の特徴は、NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、ホストと通信を行なうNANDインターフェースからホストに対し、該ロード完了を示すレディー信号が送信されるよう構成されてなるNAND型フラッシュメモリデバイスの構成採用にある。
本発明デバイスの第4の特徴は、NAND型フラッシュメモリに、ホストが利用するその他のデータを格納してなるNAND型フラッシュメモリデバイスの構成採用にある。
本発明方法の第1の特徴は、ホストと、これとは別個独立に構成されてなるNAND型フラッシュメモリデバイスからなるコンピューティングシステムのブート方法であって、電源投入後、NANDフラッシュメモリに格納されているブートローダの読み出しを、NAND型フラッシュメモリデバイス自体の機能に基づき自律的に実行し、読み出したブートローダを、NAND型フラッシュメモリ内のSRAMにロードし、ホストCPUが、その内部メモリバスから直接的に前記SRAMにアクセスし、前記ロードされたブートローダの情報に基づき、NAND型フラッシュメモリに格納されているOSの読み出しを、ホスト- NAND型フラッシュメモリデバイス間のNANDインターフェースを介してNAND型フラッシュメモリデバイスに対して指令し、読み出したOSを、前記NANDインターフェースを通じてシステムメモリにロードし、当該コンピューティングシステムを起動するコンピューティングシステムの起動方法の構成採用にある。
本発明方法の第2の特徴は、ホストCPUの前記SRAMへのアクセスは、NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、ホストと通信を行なうNAND型フラッシュメモリデバイスのNANDインターフェースからホストに対し、該ロード完了を示すレディー信号が送信されたことを条件に実行されるコンピューティングシステムの起動方法の構成採用にある。
以下、本発明が適用されたNAND型フラッシュメモリデバイスの実施例について説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
本発明のデバイス1は、図2に示すように、ブートローダ等、所定のデータを格納してなるNAND型フラッシュメモリ11と、これを統括的に制御するコントローラ12とからなる。NAND型フラッシュメモリ11には、図3に示すように、管理領域11−1の他、ユーザデータ領域を有し、ユーザデータ領域は、例えば、第1乃至第3の領域で構成され(11−2乃至11−4)、順に、ブートローダ、OS、その他のデータ(例えばコンテンツデータ)が格納されている。管理領域11−1には、各物理ブロックの論理ブロックアドレスとの関係の他、ブートローダの所在するアドレスとコントローラ12がその動作設定を行なうためのパラメータ等が書き込まれている。
また、デバイス1はホスト2からの指令に基づき、NAND型フラッシュメモリ11に格納しているデータを外部に出力するためのNANDインターフェース121を有している。
以下、ホスト2がNAND型フラッシュメモリ11に格納されているデータを読み出し、NANDインターフェース121を介して外部に出力させる原則的手順について説明する。
(データの読み出し)
ホスト2のメモリコントローラ23は、NANDインターフェース24を介し、NAND型フラッシュメモリ11に格納されているデータを読み出すための制御信号、例えば、CE、CLE、ALE、RE、WEを出力する。読み出し命令は、アドレスと命令コードで生成される。データはページ単位で読み出すことができる。
ホスト2のメモリコントローラ23は、NANDインターフェース24を介し、NAND型フラッシュメモリ11に格納されているデータを読み出すための制御信号、例えば、CE、CLE、ALE、RE、WEを出力する。読み出し命令は、アドレスと命令コードで生成される。データはページ単位で読み出すことができる。
メインファームウエア120はCPU1200を有し、本NAND型フラッシュメモリデバイス1を統括的に制御するものである。ROM1201には前記統括制御に必要な各種プログラムが格納されている。RAM1202は、CPU1200の作業領域として使用される。
ホスト2からデータの読み出し指令を受けると、CPU1200は、データを読み出すべきNAND型フラッシュメモリのアドレスを、ハードウエアシーケンサにプログラムする。ホスト2から指令されるアドレスは、NAND型フラッシュメモリの論理ブロックアドレスであるため、CPU11200は論理ブロック-物理ブロック変換テーブル(以下、「アドレス変換テーブルという」)に基づき物理ブロックアドレスに変換したものをプログラムする。このアドレス変換テーブルは、管理領域11-1あるいはデータ書き込み時に予めROM1201に記憶させておいてものを、RAM1202にロードして使用することができる。ハードウエアシーケンサ123は、その有するNANDインターフェース1231を介し、NAND型フラッシュメモリ11からデータを読み出す。
ハードウエアシーケンサ123は、8ビット(1Byte)ずつ、1ページ、即ち1ECCセクター単位(メインデータ516Byte+エラーチェックコード12Byteの計528Byte)のデータを読み出す。読み出された1ECCセクター単位のデータは、ECC ENDEC/CORRECTOR部124に、8ビットずつ順に送出される。
ECC ENDECは、そのDECORDER124により、前記1ECCセクターのデータに含まれるエラーチェックコード12Byteを用い、そのメインデータ(512Byte)にエラーがないか確認する。
確認後、前記512Byteのメインデータは、8ビットずつ、そのままハードウエアシーケンサ123に戻され、バッファマネージャー122を介してRAM125に格納される。
RAM125は、1ページ、即ち、1ECCセクター単位のメインデータを記憶するだけの容量を有している。2値小ブロックの場合は512Byteであり、多値大ブロックの場合はその4倍、即ち2048Byteである。
尚、バッファマネージャー122は図示しないバッファメモリーを有し、前記データ格納用RAM125に前記バッファメモリーを介して格納され若しくは前記データ格納用RAM125から該バッファメモリーを介して読み出されるデータの緩衝制御を行う。
尚、バッファマネージャー122は図示しないバッファメモリーを有し、前記データ格納用RAM125に前記バッファメモリーを介して格納され若しくは前記データ格納用RAM125から該バッファメモリーを介して読み出されるデータの緩衝制御を行う。
ハードウエアシーケンサ123からバッファマネージャー122に対しては、ECC ENDEC/CORRECTOR124からハードウエアシーケンサ123に戻されたデータを、16ビットデータで順次転送する。バッファマネージャー122からRAM125に対しても16ビットでデータを送出する。
前記、ECC ENDEC/CORRECTOR124のDECORDERによるチェックの結果、もしデータエラー(ECCエラー)が発見された場合は、その旨がハードウエアシーケンサ123に通知される。このエラー検出は、ハードウエアシーケンサ123のMPU(ファームウエア1230内/図示せず)が行ってもよいし、メインファームウエア120のCPU1200が行ってもよい。MPUで行う場合は、エラーチェックの高速化を図ることができる。エラーチェック中、ハードウエアシーケンサ123はNAND型フラッシュメモリ11からのデータ読み出しを停止する。
データエラーがあると、ECC ENDEC/CORRECTOR124は、そのCORRECTORによりデータを訂正し、訂正データをバッファマネージャー122に送出する。そしてバッファマネージャー122は、訂正データをRAM125に格納するとともに(先に格納したデータの上書き)、当該データに、ホスト2に対する出力がOKであることを示すフラグを設定する。
一方データエラーがないことが判明した場合は、ECC ENDEC/CORRECTOR124からハードウエアシーケンサ123にその旨通知され、ハードウエアシーケンサ123は、これを受けてData OKの通知をバッファマネージャー122に対して行ない、ハードウエアシーケンサ123は、ホスト2に対する出力がOKであることを示す前記フラグを設定する。
ホスト2に対する出力がOKであることを示すフラグは、2値小ブロックの場合も多値大ブロックの場合も、1ページ、即ち1ECCセクター単位(正確にはそのメインデータ単位)で設定される。
データ出力OKのフラグが設定され、RAM125に格納したデータがホスト2に出力可能になると、バッファマネージャー122はNANDインターフェース121を介し、READY信号をホスト2に送る。そして、ホストからの指令に従ってRAM125に一時格納されているデータを、システムバス3を通じてシステムメモリ4にロードする。以上述べた、デバイス1に対するデータ読み出し、デバイス1から出力されたデータのロードは、ホスト2のメモリコントローラ23が制御し、予定されたデータの読み出しが完了するまで続行される。
尚、本デバイス1は、NAND型フラッシュメモリ11とコントローラ12を、一のLSIパッケージに同梱して構成し得るが、別個に構成してもよい。
又、ECC ENDEC/CORRECTOR部124のECC ENDECは、ECC DECORDERの他、ECC ENCORDERを含むが、これはデータの書き込み時に冗長領域にエラーチェックコードを書き込むためのものである。
(システムの起動)
以上、ホスト2がデバイス1のNANDインターフェース121を介してNAND型フラッシュメモリ11からデータを読み出す原則的手順について説明したが、以下、本発明デバイス1において、コンピューティングシステム10に電源が投入されてから、該システムが起動するまでの具体的手順に基づき説明する。
以上、ホスト2がデバイス1のNANDインターフェース121を介してNAND型フラッシュメモリ11からデータを読み出す原則的手順について説明したが、以下、本発明デバイス1において、コンピューティングシステム10に電源が投入されてから、該システムが起動するまでの具体的手順に基づき説明する。
図3は、NAND型フラッシュメモリ11に格納されているデータ構造例である。
NAND型フラッシュメモリ11の管理領域11-1には、ブートローダなど、後述するSRAM126に送出すべきデータの所在(アドレス)が予め書き込まれている。ホスト2及び本デバイス1を含むコンピューティングシステム10に電源が投入されると、本デバイス1に電源が供給される。コントローラ12は初めに管理領域11-1に記載されているデバイス1に関する種々の情報を入手する必要があるため、メインファームウエア120のCPU1200は、ハードウエアシーケンサ123に、管理領域11-1からデバイス1に関する情報を読み出させ、これをRAM1202にロードする。
NAND型フラッシュメモリ11の管理領域11-1には、ブートローダなど、後述するSRAM126に送出すべきデータの所在(アドレス)が予め書き込まれている。ホスト2及び本デバイス1を含むコンピューティングシステム10に電源が投入されると、本デバイス1に電源が供給される。コントローラ12は初めに管理領域11-1に記載されているデバイス1に関する種々の情報を入手する必要があるため、メインファームウエア120のCPU1200は、ハードウエアシーケンサ123に、管理領域11-1からデバイス1に関する情報を読み出させ、これをRAM1202にロードする。
この情報には、ブートローダが格納されているアドレスの情報(第1領域11-2のアドレス情報)が含まれているので、次にこのアドレスをハードウエアシーケンサ123にプログラムしてブートローダを読み出す。ハードウエアシーケンサ123によって読み出されたブートローダは、上記原則的読み出し手順に則りECCエラーのチェックを受け、その後バッファマネージャー123に接続されているSRAM126にロードされる。ブートローダをSRAM126にロードすべきことは、予め、メインファームウエア120のROM1201に書き込んでおけばよい。
ブートローダには、NAND型フラッシュメモリ11における、OSが格納されているアドレス(第2領域11-3のアドレス情報)他、必要なデータが記憶されている。
SRAM126は、メモリバスインターフェース方式(NORインターフェース方式ともいう)によりホスト2の内部メモリバス22と直結されている。SRAM126にブートローダがロードされると、ホスト2のCPU25は、前記メモリバス方式でSRAM126にアクセスし、そこに格納されているブートローダを読み出す。これは、システムに電源が投入されて後、SRAM126にブートローダがロードされるまでの時間を予め測定しておき、SRAM126に自動的にアクセスするようプログラムしておけばよい。また他の方法として、NAND型フラッシュメモリ11の第1領域11-2からブートローダの読み出し及びSRAM126へのロードを完了したときに、NANDインターフェース121から、該ロード完了を示すレディー信号をホスト2に送ることによって実行してもよい。この場合のレディー信号の送信は、ブートローダの最終アドレスデータの読み出しが完了したときに、ハードウエアシーケンサ123がNANDインターフェース121対して該完了を示す信号を送出することによって実行することができる。このようにすれば、システム性能を最適化することができる。
メモリコントローラ23はブートローダの情報をもとに、NANDインターフェース24からNANDインターフェース121を介して、デバイス1に対し、NAND型フラッシュメモリ11の第2領域11-3に格納してあるOSの読み出し命令を実行する。この読み出しは、上述したデータの読み出し手順に基づき実行される。
読み出されたOSは、NANDインターフェース121より、システムバス3に接続されているシステムメモリ4(DRAMで構成し得る)にロード(コピー)される。
システムメモリ4へのOSのロードが完了すると、CPU25がシステムメモリ4をアクセスすることにより、OSプログラムが実行され、コンピューティングシステム10が起動する。尚、OSプログラムはそのすべてを一度にロードしてもよいし、都度必要なものをロードしてもよいことは言うまでもない。尚、システムメモリ4は、ホスト2内に設けてもよい。
さらに、NAND型フラッシュメモリ11のユーザデータ領域に第3領域11-4を設け、その他のデータ、例えば、NAVIマップデータや、辞書データ、音楽データなど、ホスト2が使用する各種のコンテンツを格納してもよい。また、ホスト2とデバイス1間はUSBインターフェースで接続するようにしてもよい。
(効果)
以上のように、本発明のデバイスは、ECC ENDEC/CORRECTORを設けるとともに、システムの初期化後に初めに実行されるブートローダの読み出しをデバイス自体が自律的に行なうようにしたので、ホストICの制作工数を大幅に削減できる。
以上のように、本発明のデバイスは、ECC ENDEC/CORRECTORを設けるとともに、システムの初期化後に初めに実行されるブートローダの読み出しをデバイス自体が自律的に行なうようにしたので、ホストICの制作工数を大幅に削減できる。
また、ブートローダをデバイスのSRAMにロードし、ホストCPUがその内部メモリバスで直接アクセスできるようにしたので、ホスト側にブートローダをロードするための内部ROMも不要である。また、OSの読み出しは、NANDインターフェースのみで実行されるから、先行技術2(特許文献1)が引用した米国特許第5,535,357号のような二種インターフェースロジック(NANDインターフェースロジックとNORインターフェースロジック)を用いることによる読み出し速度の低下や大型化、高コストの問題を解決しうる。
さらに、ホストCPUのSRAMへのアクセスを、デバイスからのレディー信号の送信があったことを条件に実行すれば、ECCチェックのためSRAMにブートローダがロード完了するまでの個別具体的なタイムラグに 柔軟に対応でき、システムの誤動作を回避するとともにブート時間の最適化を図ることができる。
さらに、ホストCPUのSRAMへのアクセスを、デバイスからのレディー信号の送信があったことを条件に実行すれば、ECCチェックのためSRAMにブートローダがロード完了するまでの個別具体的なタイムラグに 柔軟に対応でき、システムの誤動作を回避するとともにブート時間の最適化を図ることができる。
1 NAND型フラッシュメモリデバイス
2 ホスト
3 システムバス
4 システムメモリ
10 コンピューティングシステム
11 NAND型フラッシュメモリ
12 コントローラ
22 内部メモリバス
23 メモリコントローラ
24 NANDインターフェース(ホスト側)
25 CPU
120 メインファームウエア
121 NANDインターフェース(デバイス側)
122 バッファマネージャー
123 ハードウエアシーケンサ
124 ECC ENDEC/CORRECTOR
125 読み出しデータ格納用RAM
126 SRAM
2 ホスト
3 システムバス
4 システムメモリ
10 コンピューティングシステム
11 NAND型フラッシュメモリ
12 コントローラ
22 内部メモリバス
23 メモリコントローラ
24 NANDインターフェース(ホスト側)
25 CPU
120 メインファームウエア
121 NANDインターフェース(デバイス側)
122 バッファマネージャー
123 ハードウエアシーケンサ
124 ECC ENDEC/CORRECTOR
125 読み出しデータ格納用RAM
126 SRAM
Claims (6)
- ホストICと別個独立に構成され、該ホストICと協働して一のコンピューティングシステムを構築するNAND型フラッシュメモリデバイスであって、
該NAND型フラッシュメモリデバイスは、
管理領域と、ブートローダとOSを格納してなるユーザデータ領域とを有するNAND型フラッシュメモリと、ホストシステムの読出し指令に対応して前記NAND型フラッシュメモリからデータの読み出しを行うコントローラからなり、
該コントローラは、
1)ホストと通信を行なうNANDインターフェースと、
2) NAND型フラッシュメモリと通信を行うNANDインターフェースを含み、該NANDインターフェースを介してNAND型フラッシュメモリからデータを読み出すためのアドレス、コマンド及び制御信号を出力するハードウエアシーケンサと、
3)CPUを有し、ホストから読み出し指定されたアドレスからNAND型フラッシュメモリにアクセスすべき物理ブロックアドレスを割り出し、これを前記ハードウエアシーケンサにプログラムするとともに、本コントローラを統括的に制御するメインファームウエアと、
4)外部出力用のデータを一時格納する読み出しデータ格納用RAMと、
5)メモリバス方式によってホストの内部メモリバスと直結されてなるSRAMと、
6)バッファメモリーを有し、前記読み出しデータ格納用RAM及び前記SRAMに前記バッファメモリーを介して格納するデータ及び前記読み出しデータ格納用RAMから該バッファメモリーを介して読み出すデータの緩衝制御を行うバッファマネージャーと、
7)NAND型フラッシュメモリから読み出されたデータにエラーがないか判定するECC DECORDERと、
8)前記ECC DECORDERによりデータエラーが発見された場合に、当該エラーを訂正するCORRECTORと、
を有し、
システムに電源投入後、メインファームウエアの機能に基づき、前記NAND型フラッシュメモリに格納されてなるブートローダが、前記SRAMにロードされるよう構成されてなることを特徴とするNAND型フラッシュメモリデバイス。 - NAND型フラッシュメモリに格納されているブートローダのSRAMへのロードは、管理領域に予め格納されている前記ブートローダのアドレス情報に基づき、メインファームウエアがハードウエアシーケンサにこれを実行させるものであることを特徴とする請求項1に記載のNAND型フラッシュメモリデバイス。
- NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、ホストと通信を行なうNANDインターフェースからホストに対し、該ロード完了を示すレディー信号が送信されるよう構成されてなる請求項1記載のNAND型フラッシュメモリデバイス。
- NAND型フラッシュメモリに、ホストが利用するその他のデータを格納してなることを特徴とする請求項1記載のNAND型フラッシュメモリデバイス。
- ホストと、これとは別個独立に構成されてなるNAND型フラッシュメモリデバイスからなるコンピューティングシステムのブート方法であって、
電源投入後、NANDフラッシュメモリに格納されているブートローダの読み出しを、NAND型フラッシュメモリデバイス自体の機能に基づき自律的に実行し、
読み出したブートローダを、NAND型フラッシュメモリ内のSRAMにロードし、
ホストCPUが、その内部メモリバスから直接的に前記SRAMにアクセスし、前記ロードされたブートローダの情報に基づき、NAND型フラッシュメモリに格納されているOSの読み出しを、ホスト- NAND型フラッシュメモリデバイス間のNANDインターフェースを介してNAND型フラッシュメモリデバイスに対して指令し、読み出したOSを、前記NANDインターフェースを通じてシステムメモリにロードし、当該コンピューティングシステムを起動することを特徴とするコンピューティングシステムの起動方法。 - ホストCPUの前記SRAMへのアクセスは、NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、ホストと通信を行なうNAND型フラッシュメモリデバイスのNANDインターフェースからホストに対し該ロード完了を示すレディー信号が送信されたことを条件に実行されることを特徴とする請求項5記載のコンピューティングシステムの起動方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006127305A JP2007299249A (ja) | 2006-05-01 | 2006-05-01 | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006127305A JP2007299249A (ja) | 2006-05-01 | 2006-05-01 | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007299249A true JP2007299249A (ja) | 2007-11-15 |
Family
ID=38768685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006127305A Pending JP2007299249A (ja) | 2006-05-01 | 2006-05-01 | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007299249A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010092574A (ja) * | 2008-10-12 | 2010-04-22 | Kyoto Software Research Inc | フラッシュファイルシステムの誤り訂正機能 |
JP2010277352A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | メモリシステム |
CN102135927A (zh) * | 2011-04-29 | 2011-07-27 | 杭州华三通信技术有限公司 | 一种基于nand flash的系统引导方法和装置 |
CN104809082A (zh) * | 2014-01-29 | 2015-07-29 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
JP2016501417A (ja) * | 2012-12-19 | 2016-01-18 | クアルコム,インコーポレイテッド | リードライトメモリデバイスのデータ画像中の仮想境界コード |
-
2006
- 2006-05-01 JP JP2006127305A patent/JP2007299249A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010092574A (ja) * | 2008-10-12 | 2010-04-22 | Kyoto Software Research Inc | フラッシュファイルシステムの誤り訂正機能 |
JP2010277352A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | メモリシステム |
CN102135927A (zh) * | 2011-04-29 | 2011-07-27 | 杭州华三通信技术有限公司 | 一种基于nand flash的系统引导方法和装置 |
JP2016501417A (ja) * | 2012-12-19 | 2016-01-18 | クアルコム,インコーポレイテッド | リードライトメモリデバイスのデータ画像中の仮想境界コード |
CN104809082A (zh) * | 2014-01-29 | 2015-07-29 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4829365B1 (ja) | データ記憶装置及びデータ書き込み方法 | |
JP4672742B2 (ja) | メモリコントローラおよびメモリシステム | |
US6754765B1 (en) | Flash memory controller with updateable microcode | |
US7383362B2 (en) | Single-chip multi-media card/secure digital (MMC/SD) controller reading power-on boot code from integrated flash memory for user storage | |
TWI437494B (zh) | 記憶卡、包含該記憶卡的記憶體系統以及其操作方法 | |
US7007140B2 (en) | Storage device, storage device controlling method, and program | |
US7552251B2 (en) | Single-chip multi-media card/secure digital (MMC/SD) controller reading power-on boot code from integrated flash memory for user storage | |
TWI660306B (zh) | 資料儲存裝置的操作方法 | |
TWI383319B (zh) | 電腦系統及其開機方法 | |
JP2007310636A (ja) | データ記憶装置およびデータ記憶方法 | |
US20070067603A1 (en) | Nonvolatile memory device and the method of generation of the address translation table | |
JP2007310637A (ja) | データ記憶装置およびデータ記憶方法 | |
US20110246760A1 (en) | Electronic device and electronic device system | |
US20110066920A1 (en) | Single-Chip Multi-Media Card/Secure Digital (MMC/SD) Controller Reading Power-On Boot Code from Integrated Flash Memory for User Storage | |
JP2006120082A (ja) | メモリカード、半導体装置、及びメモリカードの制御方法 | |
KR101702390B1 (ko) | 컴퓨터 시스템의 부팅 방법 | |
JP2004295865A (ja) | 自動ブーティングシステム及び自動ブーティング方法 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
TWI419169B (zh) | 用於快閃記憶體的資料存取方法及其儲存系統與控制器 | |
US20120297115A1 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
TWI668569B (zh) | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 | |
TW201734793A (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
JP2007299249A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
WO2016187801A1 (zh) | 一种用于储存介质的数据管理方法及固态硬盘与控制芯片 | |
JP2008065725A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |