JP2008065725A - Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 - Google Patents
Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 Download PDFInfo
- Publication number
- JP2008065725A JP2008065725A JP2006245036A JP2006245036A JP2008065725A JP 2008065725 A JP2008065725 A JP 2008065725A JP 2006245036 A JP2006245036 A JP 2006245036A JP 2006245036 A JP2006245036 A JP 2006245036A JP 2008065725 A JP2008065725 A JP 2008065725A
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- nand flash
- host
- data
- boot loader
- 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
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】組み込み系コンピューティングシステムを構築するための、より改良されたNAND型フラッシュメモリデバイスの提供。及び該デバイスを用いたコンピューティングシステムの起動方法の提供。
【解決手段】NAND型フラッシュメモリからのブートローダの読み出しを、NAND型フラッシュメモリデバイスの内部機能により自律的に実行し、読み出したブートローダを、ホストCPUの内部メモリバスと直結するデバイス内のSRAMにロードする。ホストは、SRAMにロードされたブートローダの情報に基づきUSBインターフェースからOSをシステムメモリにロードし、システムを起動する。
【選択図】 図2
【解決手段】NAND型フラッシュメモリからのブートローダの読み出しを、NAND型フラッシュメモリデバイスの内部機能により自律的に実行し、読み出したブートローダを、ホストCPUの内部メモリバスと直結するデバイス内のSRAMにロードする。ホストは、SRAMにロードされたブートローダの情報に基づきUSBインターフェースから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型フラッシュメモリデバイスの提供にある。その他、本発明の目的は、明細書、特許請求の範囲の各請求項の記載から自ずと明らかとなろう。
本発明は、上記課題の解決にあたり、ブートローダの読み出しを、ホストに組み込まれたブートストラッパのルーティンプログラムに依らず、あくまでデバイスの内部機能により自律的にこれを実行するよう構成してなる。これにより、ホストICの制作工数が大幅に軽減される。
NANDフラッシュメモリから読み出されたブートローダは、ホストCPUの内部メモリバスと直結するデバイス内のSRAMにロードされる。これにより、ホストにブートローダを読み出す手段(ブートストラッパ)やブートローダを格納する内部メモリが不要となるとともに、ホストCPUは特別なインターフェースを介すことなく、内部バスから直接SRAMにアクセスしてブートローダの情報を容易に確認できる。
ところで、ブートローダには、NAND型フラッシュメモリに格納したOSの所在(アドレス)などの情報が記載されている。ホストCPUは、ブートローダの内容を確認すると、その情報に基づき、USBインターフェースを介して、デバイスに対しOSの読み出しを指令する。フラッシュメモリから読み出されたOSは、USBインターフェースを介しシステムメモリにロードされ、その後システムが起動する。
さらに具体的には、前記した課題の解決は、本発明が以下に上位概念から下位概念に亙り列挙する新規な特徴的構成を採用することにより達成される。
本発明デバイスの第1の特徴は、ホストICと別個独立に構成され、該ホストICと協働して一のコンピューティングシステムを構築するNAND型フラッシュメモリデバイスであって、該NAND型フラッシュメモリデバイスは、管理領域と、ブートローダとOSを格納してなるユーザデータ領域とを有するNAND型フラッシュメモリと、ホストシステムの読出し指令に対応して前記NAND型フラッシュメモリからデータの読み出しを行うコントローラからなり、該コントローラは、1)ホストとUSBプロトコルに基づき通信を行なうUSBインターフェースと、2) NAND型フラッシュメモリと通信を行うNANDインターフェースを含み、該NANDインターフェースを介してNAND型フラッシュメモリからデータを読み出すためのアドレス、コマンド及び制御信号を出力するハードウエアシーケンサと、3)CPUを有し、ホストから読み出し指定されたアドレスからNAND型フラッシュメモリにアクセスすべき物理ブロックアドレスを割り出し、これを前記ハードウエアシーケンサにプログラムするとともに、本コントローラを統括的に制御するメインファームウエアと、4) 前記USBインターフェースを介しホストに出力するデータを一時格納する読み出しデータ格納用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型フラッシュメモリデバイスの構成採用にある。
本発明デバイスの第4の特徴は、NAND型フラッシュメモリに、ホストが利用するその他のデータを格納してなるNAND型フラッシュメモリデバイスの構成採用にある。
本発明方法の第1の特徴は、ホストと、これとは別個独立に構成されてなるNAND型フラッシュメモリデバイスからなるコンピューティングシステムのブート方法であって、電源投入後、NANDフラッシュメモリに格納されているブートローダの読み出しを、NAND型フラッシュメモリデバイス自体の機能に基づき自律的に実行し、読み出したブートローダを、NAND型フラッシュメモリ内のSRAMにロードし、ホストCPUが、その内部メモリバスから直接的に前記SRAMにアクセスし、前記ロードされたブートローダの情報に基づき、NAND型フラッシュメモリに格納されているOSの読み出しを、ホスト- NAND型フラッシュメモリデバイス間のUSBインターフェースを介してNAND型フラッシュメモリデバイスに対して指令し、読み出したOSを、前記USBインターフェースを通じてシステムメモリにロードし、当該コンピューティングシステムを起動するコンピューティングシステムの起動方法の構成採用にある。
本発明方法の第2の特徴は、ホストCPUの前記SRAMへのアクセスは、NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、ホストと通信を行なう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に格納しているデータを外部に出力するためのUSBインターフェース121を有している。
以下、システム10が起動している状態において、ホスト2がNAND型フラッシュメモリ11に格納されているデータを読み出し、USBインターフェース121を介して外部(ホスト2)に出力させる原則的手順について説明する。
(データの読み出し)
ホスト2のデバイスドライバ23は、USBインターフェース24を介し、NAND型フラッシュメモリ11に格納されているデータを読み出すためのコマンドを出力する。読み出し命令(コマンド)は、アドレスと命令コードで生成される。データはページ単位で読み出すことができる。
ホスト2のデバイスドライバ23は、USBインターフェース24を介し、NAND型フラッシュメモリ11に格納されているデータを読み出すためのコマンドを出力する。読み出し命令(コマンド)は、アドレスと命令コードで生成される。データはページ単位で読み出すことができる。
メインファームウエア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/CORRECTOR部124は、そのDECORDERにより、前記1ECCセクターのデータに含まれるエラーチェックコード12Byteを用い、そのメインデータ(512Byte)にエラーがないか確認する。
確認後、前記512Byteのメインデータは、8ビットずつ、そのままハードウエアシーケンサ123に戻され、バッファマネージャー122を介してRAM125に格納される。
RAM125は、1ページ、即ち、1ECCセクター単位のメインデータを記憶するだけの容量を有している。2値小ブロックの場合は512Byteであり、多値大ブロックの場合はその4倍、即ち2048Byteである。尚、バッファマネージャー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はUSBインターフェース121に、READY信号を送る。そして、USBインターフェース121は、RAM125に一時格納されているデータを、USBインターフェース24に出力し、該データは、ホスト2内のRAM26にロードされる。以上述べた、デバイス1に対するデータ読み出し、デバイス1から出力されたデータのロードは、予定されたデータの読み出しが完了するまで続行される。
尚、本デバイス1は、NAND型フラッシュメモリ11とコントローラ12を、一のLSIパッケージに同梱して構成し得るが、別個に構成してもよい。
又、ECC ENDEC/CORRECTOR部124のECC ENDECは、ECC DECORDERの他、ECC ENCORDERを含むが、これはデータの書き込み時に冗長領域にエラーチェックコードを書き込むためのものである。
(システムの起動)
以上、ホスト2がデバイス1のUSBインターフェース121を介してNAND型フラッシュメモリ11からデータを読み出す原則的手順について説明したが、以下、本発明デバイス1において、コンピューティングシステム10に電源が投入されてから、該システムが起動するまでの具体的手順に基づき説明する。
以上、ホスト2がデバイス1のUSBインターフェース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へのロードを完了したときに、バッファマネージャー122から、該ロード完了を示すレディー信号をホスト2に送ることによって実行してもよい。この場合のレディー信号の送信は、ブートローダの最終アドレスデータの読み出しが完了したときに実行する。このようにすれば、システム性能を最適化することができる。
メモリコントローラ27はブートローダの情報をもとに、USBインターフェース24からUSBインターフェース121を介して、デバイス1に対し、NAND型フラッシュメモリ11の第2領域11-3に格納してあるOSの読み出し命令を実行する。この読み出しは、上述したデータの読み出し手順に基づき実行される。
読み出されたOSは、ホスト2の内部メモリバス22に接続されたシステムメモリ4(DRAMで構成し得る)にロード(コピー)される。
システムメモリ4へのOSのロードが完了すると、CPU25がシステムメモリ4をアクセスすることにより、OSプログラムが実行され、コンピューティングシステム10が起動する。尚、OSプログラムはそのすべてを一度にロードしてもよいし、都度必要なものをロードしてもよいことは言うまでもない。尚、システムメモリ4は、ホスト2内に設けてもよい。
さらに、NAND型フラッシュメモリ11のユーザデータ領域に第3領域11-4を設け、その他のデータ、例えば、NAVIマップデータや、辞書データ、音楽データなど、ホスト2が使用する各種のコンテンツを格納してもよい。また、ホスト2とは異なる別個独立の外部装置(例えばPC)とコントローラ12間をインターフェースする第2のUSBインターフェースを本デバイス1に設け、これを介して当該外部装置からOSやその他のデータを更新するようにしてもよい。このように構成すれば、コンテンツ提供メーカ(本デバイス1の提供者)は、任意のコンテンツを容易に格納及び更新し、ホストメーカに提供できる。
(効果)
以上のように、本発明のデバイスは、ECC ENDEC/CORRECTORを設けるとともに、システムの初期化後に初めに実行されるブートローダの読み出しをデバイス自体が自律的に行なうようにしたので、ホストICの制作工数を大幅に削減できる。
以上のように、本発明のデバイスは、ECC ENDEC/CORRECTORを設けるとともに、システムの初期化後に初めに実行されるブートローダの読み出しをデバイス自体が自律的に行なうようにしたので、ホストICの制作工数を大幅に削減できる。
また、ブートローダをデバイスのSRAMにロードし、ホストCPUがその内部メモリバスで直接アクセスできるようにしたので、ホスト側にブートローダをロードするための内部ROMも不要である。また、OSの読み出しは、汎用のUSBインターフェースで実行されるから、先行技術2(特許文献1)が引用した米国特許第5,535,357号のようなNANDインターフェースロジックとNORインターフェースロジックを用いることによる読み出し速度の低下や大型化、高コストの問題を解決しうる。
さらに、ホストCPUのSRAMへのアクセスを、デバイスからのレディー信号の送信があったことを条件に実行すれば、ECCチェックのためSRAMにブートローダがロード完了するまでの個別具体的なタイムラグに 柔軟に対応でき、システムの誤動作を回避するとともにブート時間の最適化を図ることができる。
さらに、ホストCPUのSRAMへのアクセスを、デバイスからのレディー信号の送信があったことを条件に実行すれば、ECCチェックのためSRAMにブートローダがロード完了するまでの個別具体的なタイムラグに 柔軟に対応でき、システムの誤動作を回避するとともにブート時間の最適化を図ることができる。
1 NAND型フラッシュメモリデバイス
2 ホスト
3 システムメモリ
10 コンピューティングシステム
11 NAND型フラッシュメモリ
12 コントローラ
22 内部メモリバス
23 デバイスドライバ
24 USBインターフェース(ホスト側)
25 CPU
26 RAM
27 メモリコントローラ
120 メインファームウエア
121 USBインターフェース(デバイス側)
122 バッファマネージャー
123 ハードウエアシーケンサ
124 ECC ENDEC/CORRECTOR
125 読み出しデータ格納用RAM
126 SRAM
2 ホスト
3 システムメモリ
10 コンピューティングシステム
11 NAND型フラッシュメモリ
12 コントローラ
22 内部メモリバス
23 デバイスドライバ
24 USBインターフェース(ホスト側)
25 CPU
26 RAM
27 メモリコントローラ
120 メインファームウエア
121 USBインターフェース(デバイス側)
122 バッファマネージャー
123 ハードウエアシーケンサ
124 ECC ENDEC/CORRECTOR
125 読み出しデータ格納用RAM
126 SRAM
Claims (6)
- ホストICと別個独立に構成され、該ホストICと協働して一のコンピューティングシステムを構築するNAND型フラッシュメモリデバイスであって、
該NAND型フラッシュメモリデバイスは、
管理領域と、ブートローダとOSを格納してなるユーザデータ領域とを有するNAND型フラッシュメモリと、ホストシステムの読出し指令に対応して前記NAND型フラッシュメモリからデータの読み出しを行うコントローラからなり、
該コントローラは、
1)ホストとUSBプロトコルに基づき通信を行なうUSBインターフェースと、
2) NAND型フラッシュメモリと通信を行うNANDインターフェースを含み、該NANDインターフェースを介してNAND型フラッシュメモリからデータを読み出すためのアドレス、コマンド及び制御信号を出力するハードウエアシーケンサと、
3)CPUを有し、ホストから読み出し指定されたアドレスからNAND型フラッシュメモリにアクセスすべき物理ブロックアドレスを割り出し、これを前記ハードウエアシーケンサにプログラムするとともに、本コントローラを統括的に制御するメインファームウエアと、
4) 前記USBインターフェースを介しホストに出力するデータを一時格納する読み出しデータ格納用RAMと、
5)メモリバス方式によってホストの内部メモリバスと直結されてなるSRAMと、
6)バッファメモリーを有し、前記読み出しデータ格納用RAM及び前記SRAMに前記バッファメモリーを介して格納するデータ及び前記読み出しデータ格納用RAMから該バッファメモリーを介して読み出すデータの緩衝制御を行うバッファマネージャーと、
7)NAND型フラッシュメモリから読み出されたデータにエラーがないか判定するECC DECORDERと、
8)前記ECC DECORDERによりデータエラーが発見された場合に、当該エラーを訂正するCORRECTORと、
を有し、
システムに電源投入後、メインファームウエアの機能に基づき、前記NAND型フラッシュメモリに格納されてなるブートローダが、前記SRAMにロードされるよう構成されてなることを特徴とするNAND型フラッシュメモリデバイス。 - NAND型フラッシュメモリに格納されているブートローダのSRAMへのロードは、管理領域に予め格納されている前記ブートローダのアドレス情報に基づき、メインファームウエアがハードウエアシーケンサにこれを実行させるものであることを特徴とする請求項1に記載のNAND型フラッシュメモリデバイス。
- NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、バッファマネージャーからホストに対し、該ロード完了を示すレディー信号が送信されるよう構成されてなる請求項1記載のNAND型フラッシュメモリデバイス。
- NAND型フラッシュメモリに、ホストが利用するその他のデータを格納してなることを特徴とする請求項1記載のNAND型フラッシュメモリデバイス。
- ホストと、これとは別個独立に構成されてなるNAND型フラッシュメモリデバイスからなるコンピューティングシステムのブート方法であって、
電源投入後、NANDフラッシュメモリに格納されているブートローダの読み出しを、NAND型フラッシュメモリデバイス自体の機能に基づき自律的に実行し、
読み出したブートローダを、NAND型フラッシュメモリ内のSRAMにロードし、
ホストCPUが、その内部メモリバスから直接的に前記SRAMにアクセスし、前記ロードされたブートローダの情報に基づき、NAND型フラッシュメモリに格納されているOSの読み出しを、ホスト- NAND型フラッシュメモリデバイス間のUSBインターフェースを介してNAND型フラッシュメモリデバイスに対して指令し、読み出したOSを、前記USBインターフェースを通じてシステムメモリにロードし、当該コンピューティングシステムを起動することを特徴とするコンピューティングシステムの起動方法。 - ホストCPUの前記SRAMへのアクセスは、NAND型フラッシュメモリからSRAMにブートローダのロードが完了したときに、ホストと通信を行なうNAND型フラッシュメモリデバイスのバッファマネージャーからホストに対し該ロード完了を示すレディー信号が送信されたことを条件に実行されることを特徴とする請求項5記載のコンピューティングシステムの起動方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006245036A JP2008065725A (ja) | 2006-09-11 | 2006-09-11 | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006245036A JP2008065725A (ja) | 2006-09-11 | 2006-09-11 | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008065725A true JP2008065725A (ja) | 2008-03-21 |
Family
ID=39288373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006245036A Pending JP2008065725A (ja) | 2006-09-11 | 2006-09-11 | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008065725A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100998565B1 (ko) | 2008-05-23 | 2010-12-07 | 삼성중공업 주식회사 | 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더 |
WO2011145199A1 (ja) * | 2010-05-20 | 2011-11-24 | Suginaka Junko | 外部ブートデバイス、外部ブート方法、情報処理装置及びネットワーク通信システム |
JP5220747B2 (ja) * | 2007-07-31 | 2013-06-26 | パナソニック株式会社 | 不揮発性記憶装置および不揮発性記憶システム |
CN113778915A (zh) * | 2020-06-09 | 2021-12-10 | 慧荣科技股份有限公司 | 生产固态硬盘的方法及计算机可读取存储介质及装置 |
-
2006
- 2006-09-11 JP JP2006245036A patent/JP2008065725A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5220747B2 (ja) * | 2007-07-31 | 2013-06-26 | パナソニック株式会社 | 不揮発性記憶装置および不揮発性記憶システム |
KR100998565B1 (ko) | 2008-05-23 | 2010-12-07 | 삼성중공업 주식회사 | 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더 |
WO2011145199A1 (ja) * | 2010-05-20 | 2011-11-24 | Suginaka Junko | 外部ブートデバイス、外部ブート方法、情報処理装置及びネットワーク通信システム |
CN102906698A (zh) * | 2010-05-20 | 2013-01-30 | 杉中顺子 | 外部启动设备、外部启动方法、信息处理装置及网络通信系统 |
US20130061032A1 (en) * | 2010-05-20 | 2013-03-07 | Junko Suginaka | External boot device, external boot method, information processing apparatus, and network communication system |
EP2573675A1 (en) * | 2010-05-20 | 2013-03-27 | Suginaka, Junko | External boot device, external boot method, information processing device and network communication system |
EP2573675A4 (en) * | 2010-05-20 | 2013-12-25 | Suginaka Junko | EXTERNAL BOOT, EXTERNAL BOOT, INFORMATION PROCESSOR, AND NETWORK COMMUNICATION SYSTEM |
CN113778915A (zh) * | 2020-06-09 | 2021-12-10 | 慧荣科技股份有限公司 | 生产固态硬盘的方法及计算机可读取存储介质及装置 |
CN113778915B (zh) * | 2020-06-09 | 2023-10-10 | 慧荣科技股份有限公司 | 生产固态硬盘的方法及计算机可读取存储介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4829365B1 (ja) | データ記憶装置及びデータ書き込み方法 | |
US6754765B1 (en) | Flash memory controller with updateable microcode | |
JP4672742B2 (ja) | メモリコントローラおよびメモリシステム | |
US7007140B2 (en) | Storage device, storage device controlling method, and program | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI383319B (zh) | 電腦系統及其開機方法 | |
TWI660306B (zh) | 資料儲存裝置的操作方法 | |
JP2015056171A (ja) | メモリシステムおよび情報処理装置 | |
JP2007310636A (ja) | データ記憶装置およびデータ記憶方法 | |
JP2007183961A (ja) | ハードディスクドライブキャッシュメモリ及び再生デバイス | |
KR20080084082A (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
JP2004062913A (ja) | Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置 | |
KR20070077463A (ko) | 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템 | |
US20110246760A1 (en) | Electronic device and electronic device system | |
JP2006120082A (ja) | メモリカード、半導体装置、及びメモリカードの制御方法 | |
JP2008033648A (ja) | 記憶装置およびその接続方法 | |
TWI607309B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI611410B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
JP2006243780A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US20100169546A1 (en) | Flash memory access circuit | |
JP2004295865A (ja) | 自動ブーティングシステム及び自動ブーティング方法 | |
US20120017071A1 (en) | Apparatus and Method Thereof for Reliable Booting from NAND Flash Memory | |
TWI668569B (zh) | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 | |
JP2007299249A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
US10467020B2 (en) | Memory device, and information-processing device |