JPWO2008117520A1 - メモリコントローラ、不揮発性メモリシステムおよびホスト装置 - Google Patents

メモリコントローラ、不揮発性メモリシステムおよびホスト装置 Download PDF

Info

Publication number
JPWO2008117520A1
JPWO2008117520A1 JP2009506202A JP2009506202A JPWO2008117520A1 JP WO2008117520 A1 JPWO2008117520 A1 JP WO2008117520A1 JP 2009506202 A JP2009506202 A JP 2009506202A JP 2009506202 A JP2009506202 A JP 2009506202A JP WO2008117520 A1 JPWO2008117520 A1 JP WO2008117520A1
Authority
JP
Japan
Prior art keywords
operation mode
host device
nonvolatile memory
memory
memory controller
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
Application number
JP2009506202A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2008117520A1 publication Critical patent/JPWO2008117520A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

ブートプログラム格納用として使用でき、ホスト装置での制御が容易な不揮発性メモリシステムを提供する。フラッシュメモリ200からブートコード201を読み出す際には、メモリコントローラ100は、ホスト装置300の指示に基づいて第1の動作モードを実行し、フラッシュメモリ200の物理アドレスを指定してフラッシュメモリ200の特定の領域からブートコード201を読み出す。

Description

本発明は、不揮発性メモリの制御を行うメモリコントローラ、前記不揮発性メモリおよびメモリコントローラで構成された不揮発性メモリシステム、ならびに前記不揮発性メモリシステムにアクセスするホスト装置に関する。
パーソナルコンピュータ、ムービー、携帯電話、携帯型音楽プレーヤなどのデジタル情報を扱う装置(以下、これらの装置をまとめて「ホスト装置」という)において、デジタル情報を保持するための記憶装置として不揮発性メモリが用いられている。その中でもNAND型フラッシュメモリは大容量かつ低コストという特性を生かし、プログラム格納用として、アプリケーションプログラムだけでなくブートプログラムの格納にも用いられるようになってきた。
NAND型フラッシュメモリにブートプログラムを格納し、フラッシュメモリからのブートを実現するために、ブートプログラムを保持するキャッシュを備えた不揮発性メモリシステムが提案されている(例えば特許文献1参照)。しかし、この従来の不揮発性メモリシステムにおいては、データの書換えや不良ブロック管理のためのアドレス管理、誤り訂正などの機能はホスト装置が備えている必要がある。このため従来の不揮発性メモリシステムは、ホスト装置での制御が複雑になるという問題があった。
特開2004−220557号公報
不揮発性メモリの応用として、SD(Secure Digital)メモリカードのように、ホスト装置と着脱可能な形態の不揮発性メモリシステムが普及している。このような不揮発性メモリシステムは、不揮発性メモリとコントローラとを備え、コントローラがNAND型フラッシュメモリの制御を行っている。結果として、ホスト装置からの制御が容易な論理デバイスを実現している。
ホスト装置が不揮発性メモリシステムへアクセスするためには、ドライバソフトを用いて所定の初期化処理を行う必要がある。しかし、起動時にはドライバソフトがホスト装置に読み込まれていないため、初期化処理が行えない。このため従来の不揮発性メモリシステムは、フラッシュメモリにブートプログラムを格納しても、読み出しを行うことができず、そのままではブートプログラム格納用として使用することができなかった。
本発明はこのような従来の問題点を解決し、ブートプログラム格納用として使用でき、しかもホスト装置での制御が容易な不揮発性メモリシステムを提供することを目的とする。
上記目的を達成するため、本発明に係るメモリコントローラは、ホスト装置の要求に応じて不揮発性メモリにアクセスするメモリコントローラであって、
前記ホスト装置の第1の動作モード設定の指示を受け、前記不揮発性メモリの物理アドレスを指定して前記不揮発性メモリの特定の領域からデータを読み出すシステム制御手段と、
前記システム制御手段と前記ホスト装置との間で信号の送受信を行う第1のインターフェースと、
前記システム制御手段と前記不揮発性メモリとの間で信号の送受信を行う第2のインターフェースとを備えるものである。
ここで、前記システム制御手段は、前記ホスト装置により設定される2つの動作モードでの動作が可能であり、前記第1の動作モードとは異なる第2の動作モードにおいては、前記ホスト装置の指示するアクセスアドレスを、アドレス変換テーブルを用いて前記不揮発性メモリの物理アドレスへ変換した後、当該変換された物理アドレスにアクセスすることが好ましい。
前記システム制御手段は、前記第1の動作モードでの動作中または動作完了後に前記アドレス変換テーブルを作成し、前記第1の動作モードでの動作完了後に前記第2の動作モードにモードを切り替えることが好ましい。
前記第1の動作モードは、第1の初期化処理により動作可能となり、前記第1の初期化処理はフラッシュメモリコンフィギュレーションを含むことが好ましい。更に前記第1の初期化処理は、電源投入後またはリセット後に行われることが好ましい。
前記第2の動作モードは、第2の初期化処理により動作可能となり、前記第2の初期化処理はフラッシュメモリコンフィギュレーション、システムコンフィギュレーションおよびアドレス変換テーブルの作成を含むことが好ましい。
前記第1の動作モードは、前記ホスト装置が所定のコマンドを発行することにより設定されることが好ましい。
本発明に係るメモリコントローラは、前記不揮発性メモリに、前記第1の動作モードでデータが読み出される特定の領域の物理アドレスが保持され、前記システム制御手段は、前記第1の動作モードにおいて前記特定の領域の物理アドレスを読み出すようにしてもよい。
ここで前記システム制御手段は、前記第1の動作モードの有効および無効を切り替えるモード切替手段を更に備え、前記第1の動作モードが有効な場合には前記ホスト装置の設定指示に従って前記第1の動作モードを設定し、前記第1の動作モードが無効な場合には前記ホスト装置の設定指示を無効なアクセスと判定することが好ましい。
また本発明に係る不揮発性メモリシステムは、前記メモリコントローラおよび不揮発性メモリを備え、前記ホスト装置からの要求に応じて前記不揮発性メモリにアクセスするものである。
ここで、本発明に係る不揮発性メモリシステムは、前記ホスト装置と着脱可能な形態、もしくは前記ホスト装置に実装され、前記ホスト装置と着脱が不可能な形態のいずれかであることが好ましい。
また本発明に係るホスト装置は、前記不揮発性メモリシステムにアクセスしてデータ転送を要求するホスト装置であって、
起動時に前記第1の動作モードで前記不揮発性メモリシステムにアクセスし、起動完了後に前記第2の動作モードで前記不揮発性メモリシステムにアクセスするものである。
本発明に係る不揮発性メモリシステムの動作モード(第1の動作モード)では、従来の動作モード(第2の動作モード)で必要であったアドレス変換テーブルの作成を行わず、メモリコントローラが不揮発性メモリの特定の領域からデータの読み出しを行う。
結果として、本発明に係る不揮発性メモリシステムは、起動時にドライバソフトがホスト装置に組み込まれていなくても、不揮発性メモリに格納されたブートプログラムを読み出すことができるため、ブートプログラム格納用として使用できる。また本発明に係る不揮発性メモリシステムは、ホスト装置での制御も容易である。
図1は、本発明の第1の実施の形態に係る不揮発性メモリシステムおよびホスト装置の構成を示すブロック図である。 図2は、図1のメモリコントローラの動作を説明するための状態遷移図である。 図3は、第1の動作モード設定手順および第1の動作モードでのアクセスを説明するためのフロー図である。 図4は、第2の動作モード設定手順を説明するためのフロー図である。 図5は、アドレス変換テーブルの構成を示す図である。 図6は、第2の動作モードでのアクセスを説明するためのフロー図である。 図7は、本発明の第2の実施の形態に係る不揮発性メモリシステムおよびホスト装置の構成を示すブロック図である。 図8は、第1の動作モード設定手順および第1の動作モードでのアクセスを説明するためのフロー図である。
(第1の実施の形態)
図1に、本発明の第1の実施の形態に係るメモリコントローラを内蔵した不揮発性メモリシステムの構成、およびそのメモリシステムにアクセスするホスト装置の構成を示す。
不揮発性メモリシステム400は、メモリコントローラ100とフラッシュメモリ200で構成される。メモリコントローラ100は、ホスト装置300の指示に基づき、第1の動作モードおよび第2の動作モードのいずれかの動作モードでフラッシュメモリ200にアクセスできる。
第1の動作モードにおいては、メモリコントローラ100は、ホスト装置300の指示に基づき、フラッシュメモリ200の特定の領域からブートプログラムを読み出す。第2の動作モードにおいては、メモリコントローラ100は、ホスト装置300の指示に基づき、フラッシュメモリ200からデータを読み出し、もしくはフラッシュメモリ200にデータを書き込む。
メモリコントローラ100は、システム制御部110、ホストIF部120およびフラッシュIF部130を含む。システム制御部110はフラッシュメモリ200へのデータの書き込みおよびフラッシュメモリ200からのデータの読み出しを制御し、またホスト装置300との間のデータ転送の制御を行う。ホストIF部120はホスト装置300との信号の送受信を行う。フラッシュIF部130はフラッシュメモリ200との信号の送受信を行う。フラッシュIF部130は、データを一時的に保持するRAM131を内蔵している。
システム制御部110は、モード切替部111、送受信処理部112、アドレス変換テーブル113およびレジスタ114を含む。モード切替部111は、ホスト装置300の動作モード設定手順に従ってメモリコントローラ100の動作モードを設定する。なお動作モード設定手順については後に詳述する。またモード切替部111は、不揮発性メモリシステム400の動作モードのうち、第1の動作モードを有効にするかしないかの切り替えを行う。
送受信処理部112は、ホスト装置300の要求に応じてフラッシュメモリ200へのデータ転送の制御を行う。アドレス変換テーブル113は、ホスト装置300から転送されるアクセスアドレスをフラッシュメモリ200の物理アドレスに変換するためのテーブルである。レジスタ114は、メモリコントローラ100の詳細な動作設定のために使用される。
フラッシュメモリ200のうち、メモリコントローラ100が第1の動作モードで読み出しを行う領域にブートコード201が格納されている。ブートコード201はホスト装置300の起動のためのプログラムである。
ホスト装置300は、CPU310、メモリ制御部320およびRAM330を含む。CPU310は、メモリ制御部320を構成するメモリIF部321およびモード設定部322の制御を行う。メモリIF部321は不揮発性メモリシステム400への信号の送受信を行う。モード設定部322は不揮発性メモリシステム400の動作モードを設定する。RAM330はCPU310で処理するデータを一時的に保持する。
図示しないが、不揮発性メモリシステム400は、ホスト装置300に設けられたスロットを介して、ホスト装置300に着脱可能な形態で取り付けられている。従って、不揮発性メモリシステム400で消費される電力は、電源ラインを介してホスト装置300から供給される。なお、不揮発性メモリシステム400がホスト装置300に実装され、ホスト装置300から着脱できない形態を採用することも可能である。
次に、図2を参照して不揮発性メモリシステム400内のメモリコントローラ100の状態遷移について説明する。前述したようにメモリコントローラ100は、第1の動作モードおよび第2の動作モードのいずれかの動作モードでフラッシュメモリ200にアクセスできる。
電源投入またはリセットにより不揮発性メモリシステム400はIdle状態となる(ステップS201)。このIdle状態(ステップS201)において、ホスト装置300が第1の動作モードを設定すると、メモリコントローラ100のモード切替部111は、第1の動作モードが有効であるかどうかのチェックを行う(ステップS202)。
ここで、第1の動作モードが有効な場合とは、フラッシュメモリ200にブートコード201が書き込まれた特定の領域があり、かつメモリコントローラ100が、第1の動作モードで特定の領域にアクセスできる状態にあることをいう。一方、第1の動作モードが有効でない(無効な)場合とは、フラッシュメモリ200にブートコード201が書き込まれた特定の領域がないか、フラッシュメモリ200にブートコード201が書き込まれた特定の領域があっても、メモリコントローラ100が、第1の動作モードで特定の領域にアクセスできない状態にあることをいう。
ステップS202において、メモリコントローラ100は第1の動作モードが無効(No)であればIdle状態(ステップS201)に戻り、有効(Yes)であれば、引き続いて第1の初期化処理を行う(ステップS203)。その後、メモリコントローラ100は第1の動作モードで動作する(ステップS204)。すなわちメモリコントローラ100は第1の動作モードでフラッシュメモリ200へアクセスする(ステップS205)。引き続いてメモリコントローラ100は第2の初期化処理を行う(ステップS206)。なお、第1および第2の初期化処理については後に詳述する。
一方、Idle状態(ステップS201)において、ホスト装置300が第2の動作モードの設定を行うと、メモリコントローラ100は、第2の初期化処理を行う(ステップS206)。その後、メモリコントローラ100は第2の動作モードで動作する(ステップS207)。すなわちメモリコントローラ100は、ホスト装置300からの要求に応じて、フラッシュメモリ200にアクセスする(ステップS208)。
以下、第1の動作モードおよび第2の動作モードについてそれぞれ図面を参照して詳細に説明し、最後に第1の動作モードと第2の動作モードとの関係について説明する。
[第1の動作モード]
最初に、ホスト装置300がフラッシュメモリ200からブートコードを読み出す第1の動作モードについて説明する。図3に、図2のIdle状態(ステップS201)においてホスト装置300が第1の動作モードの設定を行った後、メモリコントローラ100が第1の動作モードで動作するまで(ステップS203〜S205)の具体的な処理の流れを示す。
ホスト装置300は、起動時にモード設定部322(図1)を第1の動作モードに設定し、不揮発性メモリシステム400に対して第1の初期化処理の開始を要求するコマンドを発行する。
システム制御部110は、ホスト装置300からの第1の初期化処理開始の要求コマンドを受けて、第1の初期化処理を実行する(ステップS203)。第1の初期化処理は、フラッシュメモリコンフィギュレーションを含む処理である。フラッシュメモリコンフィギュレーションでは、接続されているフラッシュメモリ200の個数や容量の確認を行う。
第1の初期化処理が終了すると、メモリコントローラ100は処理完了をホスト装置300へ通知し、第1の動作モードの設定を完了する。引き続き不揮発性メモリシステム400では、ステップS205の処理が実行される。具体的には、システム制御部110が、フラッシュメモリ200の特定の物理アドレスに記憶されたブートコード201(ブートプログラム)のデータを読み出してホスト装置300へ転送する。このとき、システム制御部110は、フラッシュメモリ200から読み出したデータに付加された誤り訂正符号を用いてデータに誤りがないかどうかの確認を行ってもよいし、誤り訂正処理を行わずに、ホスト装置300へデータを転送してもよい。
なお、システム制御部110は、前述の図2に示したように、第1の動作モードでのデータの読み出し中または第1の動作モードでのデータ読み出し完了後に、第2の初期化処理(ステップS206)を行い、第2の動作モードへ移行する。
以上説明したように、第1の動作モードはブートプログラム読み出し専用の動作モードであり、メモリコントローラ100は、ホスト装置300の指示に基づき、フラッシュメモリ200の特定の領域からブートプログラムを読み出す。言い換えればホスト装置300は、起動時に不揮発性メモリシステム400にアクセスするためのドライバソフトを読込んでいなくても、動作モード設定の指示を行うだけで、必要なデータを読み出して起動処理を行うことができる。
[第2の動作モード]
次に、不揮発性メモリシステムの基本的な機能である、フラッシュメモリ200へのデータの書き込み、もしくはフラッシュメモリ200からのデータの読み出しを行う第2の動作モードについて説明する。
図4に、図2の起動処理(ステップS201〜S205)が終了した後、メモリコントローラ100が第2の動作モードで動作するまでの動作モードの設定手順(図2のステップS206およびS207)を示す。
ホスト装置300は、モード設定部322(図1)を第2の動作モードに設定し、不揮発性メモリシステム400を論理デバイスとして扱いアクセスする。最初に、ホスト装置300が不揮発性メモリシステム400へ第2の初期化処理の開始を要求するコマンドを発行する。不揮発性メモリシステム400内では、システム制御部110が第2の初期化処理(ステップS206)を実行し、処理完了後ホスト装置300へ通知する。
第2の初期化処理(ステップS206)には、第1の初期化処理に含まれるフラッシュメモリコンフィギュレーション以外に、システムコンフィギュレーションとアドレス変換テーブル113の作成が含まれる。フラッシュメモリコンフィギュレーションは、接続されているフラッシュメモリ200の個数や容量の確認を行う処理、システムコンフィギュレーションは、フラッシュメモリ200からシステム情報を読み出す処理である。
第2の初期化処理のうちアドレス変換テーブル113の作成について、図面を参照して説明する。図5にアドレス変換テーブル113の構成を示す。アドレス変換テーブル113は、ホスト装置300のアクセスアドレスをフラッシュメモリ200の物理アドレスに変換するためのテーブルであり、テーブルの各エントリにフラッシュメモリ200の物理アドレスを格納している。テーブル内のエントリの位置はホスト装置300のアクセスアドレスに基づき一意に決定される。
第2の初期化処理(ステップS206)において、システム制御部110は、フラッシュメモリ200の複数の位置に格納されたアドレス変換のための情報の読み出しを行い、アドレス変換テーブル113を作成する。通常、この処理は数百ミリ秒単位の時間がかかるため、ホスト装置300は、その間ポーリングにより処理完了通知を監視する。
図4にもどり、ホスト装置300は第2の初期化処理(ステップS206)が終了すると、レジスタの読み出しや転送設定を行い、第2のモード設定手順を完了する。ここでレジスタ読み出しは、不揮発性メモリシステム400の容量や性能、付加機能の有無のチェックを含む処理である。また転送設定は、データ幅や動作周波数の設定を含む処理である。
次に、図6を参照して、図2のステップS208に示す、第2の動作モードにおけるフラッシュメモリ200へのアクセスについて説明する。第2の動作モードの設定手順が完了すると、ホスト装置300は不揮発性メモリシステム400に対してデータのリード(読み出し)もしくはライト(書き込み)の要求を行う。
ホスト装置300がリードを要求すると、不揮発性メモリシステム400では、ステップS208_1に示すように、システム制御部110がアドレス変換テーブル113を用いて、ホスト装置300のアクセスアドレスをフラッシュメモリ200の物理アドレスへ変換する。その後、システム制御部110は、ステップS208_2に示すように、物理アドレスの示す領域のデータを読み出してホスト装置300へ転送する。このとき、システム制御部110は、フラッシュメモリ200から読み出したデータに付加された誤り訂正符号を用いて、データに誤りがないか否かの確認を併せて行う。
一方、ホスト装置300がライトを要求すると、不揮発性メモリシステム400では、ステップS208_3に示すように、システム制御部110がアドレス変換テーブル113を用いて、ホスト装置300のアクセスアドレスに、既にデータが書かれているかどうかをチェックする。メモリコントローラ100は、ステップS208_4に示すように、チェックの結果に応じてフラッシュメモリ200へデータを書き込む。このとき、メモリコントローラ100はデータに誤り訂正符号を付加して書き込みを行う。なおステップS208_4において、フラッシュメモリ200へのデータ書き込みの代わりに図示しない消去処理やデータのコピー処理を実施してもよい。
以上説明したように、第2の動作モードは不揮発性メモリシステムの基本的な機能を実現する動作モードであり、メモリコントローラ100はホスト装置200の指示に基づき、フラッシュメモリ200からデータを読み出し、もしくはフラッシュメモリ200にデータを書き込む。
すなわち、ホスト装置300は、フラッシュメモリ200の物理的な状態に関わりなく、不揮発性メモリシステム400を論理デバイスとして扱うことができ、簡単な制御でリード・ライトのアクセスを行うことができる。
[第1の動作モードと第2の動作モードとの関係]
第1の動作モードでは、不揮発性メモリシステム400は短時間でフラッシュメモリ200からデータを読み出すことができる。従って、ホスト装置300が起動直後に読み出すブートプログラムを格納するのに適した不揮発性メモリシステム400を実現できる。
一方、前述の図2に示したように、第1の動作モードにおいてデータの読み出しが完了すると(ステップS203〜S205)、第2の動作モードへ移行する(ステップS206〜S208)。以降ホスト装置300は、フラッシュメモリ200の物理的な状態によらず、不揮発性メモリシステム400を論理デバイスとして扱うことができる。
すなわち、ホスト装置300は、不揮発性メモリシステム400に対して、起動時には第1の動作モードを設定してフラッシュメモリ200からブートコード201を読み出し、起動処理終了後は、不揮発性メモリシステム400に対して第2の動作モードでアクセスする。このため、不揮発性メモリシステム400を音楽・画像などのデータの格納用としてだけでなく、ブートコードの格納用としても使用することができる。結果、使い勝手のよい不揮発性メモリシステムを提供できる。
なお、本実施の形態では、第1の動作モードおよび第2の動作モードを切り替えて動作させる場合について説明したが、本発明はこれに限定されるものではない。たとえば、不揮発性メモリシステム400を第1の動作モードだけで動作させ、ブートコード格納専用のメモリシステムとして使用することも可能である。
(第2の実施の形態)
図7に、本発明の第2の実施の形態に係るメモリコントローラを内蔵した不揮発性メモリシステムの構成、およびそのメモリシステムにアクセスするホスト装置の構成を示す。
図7に示す不揮発性メモリシステム400およびホスト装置300の構成は、図1に示すそれらの構成と同じであり、フラッシュメモリ200へのデータの格納方法が異なっている。すなわち、フラッシュメモリ200には、ブートコード201に加えて、ブートコード201の格納位置を示すポインタ情報202が格納されている。
図8に、ブートコード201およびポインタ情報202を格納したフラッシュメモリ200に対して、ホスト装置300が第1の動作モードでアクセスする場合の処理の流れを示す。ホスト装置300が不揮発性メモリシステム400へ第1の初期化処理の開始を要求すると、不揮発性メモリシステム400内では、システム制御部110が、ステップS801に示す第1の初期化処理を実行し、処理完了後ホスト装置300へ通知する。
ここで、ステップS801の第1の初期化処理は、図3のステップS203で説明した第1の初期化処理と若干異なっている。すなわちステップS203では、システム制御部110はフラッシュメモリ200の特定の物理アドレスから直接ブートコード201を読み出している。これに対しステップS801では、システム制御部110はフラッシュメモリ200から読み出したポインタ情報202を用いてブートコード201の格納位置を特定し、その後、特定された物理アドレスからブートコード201を読み出している。
このように、ポインタ情報により読み出すデータの物理アドレスを取得すれば、ブートコード201を更新して、フラッシュメモリ200上の別のアドレスに格納した場合でも、第1の動作モードでブートコード201を読み出すことが可能となる。
図8において第1の動作モードの設定手順が完了すると、システム制御部110は、ステップS802に示すように、読み出したポインタ情報202に基づいて、フラッシュメモリ200からブートコード201を読み出してホスト装置300に転送する。その後、システム制御部110は、第1の実施の形態と同様に第2の初期化処理(ステップS206)を行い、第2の動作モードへ移行する。
前述した第1の実施の形態においては、フラッシュメモリ200を読み出し専用の形態で用いているのに対し、本実施の形態では再書き込み可能な形態で用いている。結果、本実施の形態では、ブートプログラムのバージョンアップのためにブートコード201を更新する場合にも、容易に対応できる。
以上、図面を参照して本発明を実施するための最適な形態について説明したが、本発明の適用範囲はこれに限定されるものではなく、当業者であれば容易に到達しうる形態についても本発明の範囲に属することは明らかである。
本発明に係る不揮発性メモリシステムは、半導体メモリカードやホスト装置のプログラム格納用メモリ、データ格納用メモリとして有用である。
本発明は、不揮発性メモリの制御を行うメモリコントローラ、前記不揮発性メモリおよびメモリコントローラで構成された不揮発性メモリシステム、ならびに前記不揮発性メモリシステムにアクセスするホスト装置に関する。
パーソナルコンピュータ、ムービー、携帯電話、携帯型音楽プレーヤなどのデジタル情報を扱う装置(以下、これらの装置をまとめて「ホスト装置」という)において、デジタル情報を保持するための記憶装置として不揮発性メモリが用いられている。その中でもNAND型フラッシュメモリは大容量かつ低コストという特性を生かし、プログラム格納用として、アプリケーションプログラムだけでなくブートプログラムの格納にも用いられるようになってきた。
NAND型フラッシュメモリにブートプログラムを格納し、フラッシュメモリからのブートを実現するために、ブートプログラムを保持するキャッシュを備えた不揮発性メモリシステムが提案されている(例えば特許文献1参照)。しかし、この従来の不揮発性メモリシステムにおいては、データの書換えや不良ブロック管理のためのアドレス管理、誤り訂正などの機能はホスト装置が備えている必要がある。このため従来の不揮発性メモリシステムは、ホスト装置での制御が複雑になるという問題があった。
特開2004−220557号公報
不揮発性メモリの応用として、SD(Secure Digital)メモリカードのように、ホスト装置と着脱可能な形態の不揮発性メモリシステムが普及している。このような不揮発性メモリシステムは、不揮発性メモリとコントローラとを備え、コントローラがNAND型フラッシュメモリの制御を行っている。結果として、ホスト装置からの制御が容易な論理デバイスを実現している。
ホスト装置が不揮発性メモリシステムへアクセスするためには、ドライバソフトを用いて所定の初期化処理を行う必要がある。しかし、起動時にはドライバソフトがホスト装置に読み込まれていないため、初期化処理が行えない。このため従来の不揮発性メモリシステムは、フラッシュメモリにブートプログラムを格納しても、読み出しを行うことができず、そのままではブートプログラム格納用として使用することができなかった。
本発明はこのような従来の問題点を解決し、ブートプログラム格納用として使用でき、しかもホスト装置での制御が容易な不揮発性メモリシステムを提供することを目的とする。
上記目的を達成するため、本発明に係るメモリコントローラは、ホスト装置の要求に応じて不揮発性メモリにアクセスするメモリコントローラであって、
前記ホスト装置の第1の動作モード設定の指示を受け、前記不揮発性メモリの物理アドレスを指定して前記不揮発性メモリの特定の領域からデータを読み出すシステム制御手段と、
前記システム制御手段と前記ホスト装置との間で信号の送受信を行う第1のインターフェースと、
前記システム制御手段と前記不揮発性メモリとの間で信号の送受信を行う第2のインターフェースとを備えるものである。
ここで、前記システム制御手段は、前記ホスト装置により設定される2つの動作モードでの動作が可能であり、前記第1の動作モードとは異なる第2の動作モードにおいては、前記ホスト装置の指示するアクセスアドレスを、アドレス変換テーブルを用いて前記不揮発性メモリの物理アドレスへ変換した後、当該変換された物理アドレスにアクセスすることが好ましい。
前記システム制御手段は、前記第1の動作モードでの動作中または動作完了後に前記アドレス変換テーブを作成し、前記第1の動作モードでの動作完了後に前記第2の動作モードにモードを切り替えることが好ましい。
前記第1の動作モードは、第1の初期化処理により動作可能となり、前記第1の初期化処理はフラッシュメモリコンフィギュレーションを含むことが好ましい。更に前記第1の初期化処理は、電源投入後またはリセット後に行われることが好ましい。
前記第2の動作モードは、第2の初期化処理により動作可能となり、前記第2の初期化処理はフラッシュメモリコンフィギュレーション、システムコンフィギュレーションおよびアドレス変換テーブルの作成を含むことが好ましい。
前記第1の動作モードは、前記ホスト装置が所定のコマンドを発行することにより設定されることが好ましい。
本発明に係るメモリコントローラは、前記不揮発性メモリに、前記第1の動作モードでデータが読み出される特定の領域の物理アドレスが保持され、前記システム制御手段は、前記第1の動作モードにおいて前記特定の領域の物理アドレスを読み出すようにしてもよい。
ここで前記システム制御手段は、前記第1の動作モードの有効および無効を切り替えるモード切替手段を更に備え、前記第1の動作モードが有効な場合には前記ホスト装置の設定指示に従って前記第1の動作モードを設定し、前記第1の動作モードが無効な場合には前記ホスト装置の設定指示を無効なアクセスと判定することが好ましい。
また本発明に係る不揮発性メモリシステムは、前記メモリコントローラおよび不揮発性メモリを備え、前記ホスト装置からの要求に応じて前記不揮発性メモリにアクセスするものである。
ここで、本発明に係る不揮発性メモリシステムは、前記ホスト装置と着脱可能な形態、もしくは前記ホスト装置に実装され、前記ホスト装置と着脱が不可能な形態のいずれかであることが好ましい。
また本発明に係るホスト装置は、前記不揮発性メモリシステムにアクセスしてデータ転送を要求するホスト装置であって、
起動時に前記第1の動作モードで前記不揮発性メモリシステムにアクセスし、起動完了後に前記第2の動作モードで前記不揮発性メモリシステムにアクセスするものである。
本発明に係る不揮発性メモリシステムの動作モード(第1の動作モード)では、従来の動作モード(第2の動作モード)で必要であったアドレス変換テーブルの作成を行わず、メモリコントローラが不揮発性メモリの特定の領域からデータの読み出しを行う。
結果として、本発明に係る不揮発性メモリシステムは、起動時にドライバソフトがホスト装置に組み込まれていなくても、不揮発性メモリに格納されたブートプログラムを読み出すことができるため、ブートプログラム格納用として使用できる。また本発明に係る不揮発性メモリシステムは、ホスト装置での制御も容易である。
図1は、本発明の第1の実施の形態に係る不揮発性メモリシステムおよびホスト装置の構成を示すブロック図である。 図2は、図1のメモリコントローラの動作を説明するための状態遷移図である。 図3は、第1の動作モード設定手順および第1の動作モードでのアクセスを説明するためのフロー図である。 図4は、第2の動作モード設定手順を説明するためのフロー図である。 図5は、アドレス変換テーブルの構成を示す図である。 図6は、第2の動作モードでのアクセスを説明するためのフロー図である。 図7は、本発明の第2の実施の形態に係る不揮発性メモリシステムおよびホスト装置の構成を示すブロック図である。 図8は、第1の動作モード設定手順および第1の動作モードでのアクセスを説明するためのフロー図である。
(第1の実施の形態)
図1に、本発明の第1の実施の形態に係るメモリコントローラを内蔵した不揮発性メモリシステムの構成、およびそのメモリシステムにアクセスするホスト装置の構成を示す。
不揮発性メモリシステム400は、メモリコントローラ100とフラッシュメモリ200で構成される。メモリコントローラ100は、ホスト装置300の指示に基づき、第1動作モードおよび第2の動作モードのいずれかの動作モードでフラッシュメモリ200にアクセスできる。
第1の動作モードにおいては、メモリコントローラ100は、ホスト装置300の指示に基づき、フラッシュメモリ200の特定の領域からブートプログラムを読み出す。第2の動作モードにおいては、メモリコントローラ100は、ホスト装置300の指示に基づき、フラッシュメモリ200からデータを読み出し、もしくはフラッシュメモリ200にデータを書き込む。
メモリコントローラ100は、システム制御部110、ホストIF部120およびフラッシュIF部130を含む。システム制御部110はフラッシュメモリ200へのデータの書き込みおよびフラッシュメモリ200からのデータの読み出しを制御し、またホスト装置300との間のデータ転送の制御を行う。ホストIF部120はホスト装置300との信号の送受信を行う。フラッシュIF部130はフラッシュメモリ200との信号の送受信を行う。フラッシュIF部130は、データを一時的に保持するRAM131を内蔵している。
システム制御部110は、モード切替部111、送受信処理部112、アドレス変換テーブル113およびレジスタ114を含む。モード切替部111は、ホスト装置300の動作モード設定手順に従ってメモリコントローラ100の動作モードを設定する。なお動作モード設定手順については後に詳述する。またモード切替部111は、不揮発性メモリシステム400の動作モードのうち、第1の動作モードを有効にするかしないかの切り替えを行う。
送受信処理部112は、ホスト装置300の要求に応じてフラッシュメモリ200へのデータ転送の制御を行う。アドレス変換テーブル113は、ホスト装置300から転送されるアクセスアドレスをフラッシュメモリ200の物理アドレスに変換するためのテーブルである。レジスタ114は、メモリコントローラ100の詳細な動作設定のために使用される。
フラッシュメモリ200のうち、メモリコントローラ100が第1の動作モードで読み出しを行う領域にブートコード201が格納されている。ブートコード201はホスト装置300の起動のためのプログラムである。
ホスト装置300は、CPU310、メモリ制御部320およびRAM330を含む。CPU310は、メモリ制御部320を構成するメモリIF部321およびモード設定部322の制御を行う。メモリIF部321は不揮発性メモリシステム400への信号の送受信を行う。モード設定部322は不揮発性メモリシステム400の動作モードを設定する。RAM330はCPU310で処理するデータを一時的に保持する。
図示しないが、不揮発性メモリシステム400は、ホスト装置300に設けられたスロットを介して、ホスト装置300に着脱可能な形態で取り付けられている。従って、不揮発性メモリシステム400で消費される電力は、電源ラインを介してホスト装置300から供給される。なお、不揮発性メモリシステム400がホスト装置300に実装され、ホスト装置300から着脱できない形態を採用することも可能である。
次に、図2を参照して不揮発性メモリシステム400内のメモリコントローラ100の状態遷移について説明する。前述したようにメモリコントローラ100は、第1の動作モードおよび第2の動作モードのいずれかの動作モードでフラッシュメモリ200にアクセスできる。
電源投入またはリセットにより不揮発性メモリシステム400はIdle状態となる(ステップS201)。このIdle状態(ステップS201)において、ホスト装置300が第1の動作モードを設定すると、メモリコントローラ100のモード切替部111は、第1の動作モードが有効であるかどうかのチェックを行う(ステップS202)。
ここで、第1の動作モードが有効な場合とは、フラッシュメモリ200にブートコード201が書き込まれた特定の領域があり、かつメモリコントローラ100が、第1の動作モードで特定の領域にアクセスできる状態にあることをいう。一方、第1の動作モードが有効でない(無効な)場合とは、フラッシュメモリ200にブートコード201が書き込まれた特定の領域がないか、フラッシュメモリ200にブートコード201が書き込まれた特定の領域があっても、メモリコントローラ100が、第1の動作モードで特定の領域にアクセスできない状態にあることをいう。
ステップS202において、メモリコントローラ100は第1の動作モードが無効(No)であればIdle状態(ステップS201)に戻り、有効(Yes)であれば、引き続いて第1の初期化処理を行う(ステップS203)。その後、メモリコントローラ100は第1の動作モードで動作する(ステップS204)。すなわちメモリコントローラ100は第1の動作モードでフラッシュメモリ200へアクセスする(ステップS205)。引き続いてメモリコントローラ100は第2の初期化処理を行う(ステップS206)。なお、第1および第2の初期化処理については後に詳述する。
一方、Idle状態(ステップS201)において、ホスト装置300が第2の動作モードの設定を行うと、メモリコントローラ100は、第2の初期化処理を行う(ステップS206)。その後、メモリコントローラ100は第2の動作モードで動作する(ステップS207)。すなわちメモリコントローラ100は、ホスト装置300からの要求に応じて、フラッシュメモリ200にアクセスする(ステップS208)。
以下、第1の動作モードおよび第2の動作モードについてそれぞれ図面を参照して詳細に説明し、最後に第1の動作モードと第2の動作モードとの関係について説明する。
[第1の動作モード]
最初に、ホスト装置300がフラッシュメモリ200からブートコードを読み出す第1の動作モードについて説明する。図3に、図2のIdle状態(ステップS201)においてホスト装置300が第1の動作モードの設定を行った後、メモリコントローラ100が第1の動作モードで動作するまで(ステップS203〜S205)の具体的な処理の流れを示す。
ホスト装置300は、起動時にモード設定部322(図1)を第1の動作モードに設定し、不揮発性メモリシステム400に対して第1の初期化処理の開始を要求するコマンドを発行する。
システム制御部110は、ホスト装置300からの第1の初期化処理開始の要求コマンドを受けて、第1の初期化処理を実行する(ステップS203)。第1の初期化処理は、フラッシュメモリコンフィギュレーションを含む処理である。フラッシュメモリコンフィギュレーションでは、接続されているフラッシュメモリ200の個数や容量の確認を行う。
第1の初期化処理が終了すると、メモリコントローラ100は処理完了をホスト装置300へ通知し、第1の動作モードの設定を完了する。引き続き不揮発性メモリシステム400では、ステップS205の処理が実行される。具体的には、システム制御部110が、フラッシュメモリ200の特定の物理アドレスに記憶されたブートコード201(ブートプログラム)のデータを読み出してホスト装置300へ転送する。このとき、システム制御部110は、フラッシュメモリ200から読み出したデータに付加された誤り訂正符号を用いてデータに誤りがないかどうかの確認を行ってもよいし、誤り訂正処理を行わずに、ホスト装置300へデータを転送してもよい。
なお、システム制御部110は、前述の図2に示したように、第1の動作モードでのデータの読み出し中または第1の動作モードでのデータ読み出し完了後に、第2の初期化処理(ステップS206)を行い、第2の動作モードへ移行する。
以上説明したように、第1の動作モードはブートプログラム読み出し専用の動作モードであり、メモリコントローラ100は、ホスト装置300の指示に基づき、フラッシュメモリ200の特定の領域からブートプログラムを読み出す。言い換えればホスト装置300は、起動時に不揮発性メモリシステム400にアクセスするためのドライバソフトを読込んでいなくても、動作モード設定の指示を行うだけで、必要なデータを読み出して起動処理を行うことができる。
[第2の動作モード]
次に、不揮発性メモリシステムの基本的な機能である、フラッシュメモリ200へのデータの書き込み、もしくはフラッシュメモリ200からのデータの読み出しを行う第2の動作モードについて説明する。
図4に、図2の起動処理(ステップS201〜S205)が終了した後、メモリコントローラ100が第2の動作モードで動作するまでの動作モードの設定手順(図2のステップS206およびS207)を示す。
ホスト装置300は、モード設定部322(図1)を第2の動作モードに設定し、不揮発性メモリシステム400を論理デバイスとして扱いアクセスする。最初に、ホスト装置300が不揮発性メモリシステム400へ第2の初期化処理の開始を要求するコマンドを発行する。不揮発性メモリシステム400内では、システム制御部110が第2の初期化処理(ステップS206)を実行し、処理完了後ホスト装置300へ通知する。
第2の初期化処理(ステップS206)には、第1の初期化処理に含まれるフラッシュメモリコンフィギュレーション以外に、システムコンフィギュレーションとアドレス変換テーブル113の作成が含まれる。フラッシュメモリコンフィギュレーションは、接続されているフラッシュメモリ200の個数や容量の確認を行う処理、システムコンフィギュレーションは、フラッシュメモリ200からシステム情報を読み出す処理である。
第2の初期化処理のうちアドレス変換テーブル113の作成について、図面を参照して説明する。図5にアドレス変換テーブル113の構成を示す。アドレス変換テーブル113は、ホスト装置300のアクセスアドレスをフラッシュメモリ200の物理アドレスに変換するためのテーブルであり、テーブルの各エントリにフラッシュメモリ200の物理アドレスを格納している。テーブル内のエントリの位置はホスト装置300のアクセスアドレスに基づき一意に決定される。
第2の初期化処理(ステップS206)において、システム制御部110は、フラッシュメモリ200の複数の位置に格納されたアドレス変換のための情報の読み出しを行い、アドレス変換テーブル113を作成する。通常、この処理は数百ミリ秒単位の時間がかかるため、ホスト装置300は、その間ポーリングにより処理完了通知を監視する。
図4にもどり、ホスト装置300は第2の初期化処理(ステップS206)が終了すると、レジスタの読み出しや転送設定を行い、第2のモード設定手順を完了する。ここでレジスタ読み出しは、不揮発性メモリシステム400の容量や性能、付加機能の有無のチェックを含む処理である。また転送設定は、データ幅や動作周波数の設定を含む処理である。
次に、図6を参照して、図2のステップS208に示す、第2の動作モードにおけるフラッシュメモリ200へのアクセスについて説明する。第2の動作モードの設定手順が完了すると、ホスト装置300は不揮発性メモリシステム400に対してデータのリード(読み出し)もしくはライト(書き込み)の要求を行う。
ホスト装置300がリードを要求すると、不揮発性メモリシステム400では、ステップS208_1に示すように、システム制御部110がアドレス変換テーブル113を用いて、ホスト装置300のアクセスアドレスをフラッシュメモリ200の物理アドレスへ変換する。その後、システム制御部110は、ステップS208_2に示すように、物理アドレスの示す領域のデータを読み出してホスト装置300へ転送する。このとき、システム制御部110は、フラッシュメモリ200から読み出したデータに付加された誤り訂正符号を用いて、データに誤りがないか否かの確認を併せて行う。
一方、ホスト装置300がライトを要求すると、不揮発性メモリシステム400では、ステップS208_3に示すように、システム制御部110がアドレス変換テーブル113を用いて、ホスト装置300のアクセスアドレスに、既にデータが書かれているかどうかをチェックする。メモリコントローラ100は、ステップS208_4に示すように、チェックの結果に応じてフラッシュメモリ200へデータを書き込む。このとき、メモリコントローラ100はデータに誤り訂正符号を付加して書き込みを行う。なおステップS208_4において、フラッシュメモリ200へのデータ書き込みの代わりに図示しない消去処理やデータのコピー処理を実施してもよい。
以上説明したように、第2の動作モードは不揮発性メモリシステムの基本的な機能を実現する動作モードであり、メモリコントローラ100はホスト装置200の指示に基づき、フラッシュメモリ200からデータを読み出し、もしくはフラッシュメモリ200にデータを書き込む。
すなわち、ホスト装置300は、フラッシュメモリ200の物理的な状態に関わりなく、不揮発性メモリシステム400を論理デバイスとして扱うことができ、簡単な制御でリード・ライトのアクセスを行うことができる。
[第1の動作モードと第2の動作モードとの関係]
第1の動作モードでは、不揮発性メモリシステム400は短時間でフラッシュメモリ200からデータを読み出すことができる。従って、ホスト装置300が起動直後に読み出すブートプログラムを格納するのに適した不揮発性メモリシステム400を実現できる。
一方、前述の図2に示したように、第1の動作モードにおいてデータの読み出しが完了すると(ステップS203〜S205)、第2の動作モードへ移行する(ステップS206〜S208)。以降ホスト装置300は、フラッシュメモリ200の物理的な状態によらず、不揮発性メモリシステム400を論理デバイスとして扱うことができる。
すなわち、ホスト装置300は、不揮発性メモリシステム400に対して、起動時には第1の動作モードを設定してフラッシュメモリ200からブートコード201を読み出し、起動処理終了後は、不揮発性メモリシステム400に対して第2の動作モードでアクセスする。このため、不揮発性メモリシステム400を音楽・画像などのデータの格納用としてだけでなく、ブートコードの格納用としても使用することができる。結果、使い勝手のよい不揮発性メモリシステムを提供できる。
なお、本実施の形態では、第1の動作モードおよび第2の動作モードを切り替えて動作させる場合について説明したが、本発明はこれに限定されるものではない。たとえば、不揮発性メモリシステム400を第1の動作モードだけで動作させ、ブートコード格納専用のメモリシステムとして使用することも可能である。
(第2の実施の形態)
図7に、本発明の第2の実施の形態に係るメモリコントローラを内蔵した不揮発性メモリシステムの構成、およびそのメモリシステムにアクセスするホスト装置の構成を示す。
図7に示す不揮発性メモリシステム400およびホスト装置300の構成は、図1に示すそれらの構成と同じであり、フラッシュメモリ200へのデータの格納方法が異なっている。すなわち、フラッシュメモリ200には、ブートコード201に加えて、ブートコード201の格納位置を示すポインタ情報202が格納されている。
図8に、ブートコード201およびポインタ情報202を格納したフラッシュメモリ200に対して、ホスト装置300が第1の動作モードでアクセスする場合の処理の流れを示す。ホスト装置300が不揮発性メモリシステム400へ第1の初期化処理の開始を要求すると、不揮発性メモリシステム400内では、システム制御部110が、ステップS801に示す第1の初期化処理を実行し、処理完了後ホスト装置300へ通知する。
ここで、ステップS801の第1の初期化処理は、図3のステップS203で説明した第1の初期化処理と若干異なっている。すなわちステップS203では、システム制御部110はフラッシュメモリ200の特定の物理アドレスから直接ブートコード201を読み出している。これに対しステップS801では、システム制御部110はフラッシュメモリ200から読み出したポインタ情報202を用いてブートコード201の格納位置を特定し、その後、特定された物理アドレスからブートコード201を読み出している。
このように、ポインタ情報により読み出すデータの物理アドレスを取得すれば、ブートコード201を更新して、フラッシュメモリ200上の別のアドレスに格納した場合でも、第1の動作モードでブートコード201を読み出すことが可能となる。
図8において第1の動作モードの設定手順が完了すると、システム制御部110は、ステップS802に示すように、読み出したポインタ情報202に基づいて、フラッシュメモリ200からブートコード201を読み出してホスト装置300に転送する。その後、システム制御部110は、第1の実施の形態と同様に第2の初期化処理(ステップS206)を行い、第2の動作モードへ移行する。
前述した第1の実施の形態においては、フラッシュメモリ200を読み出し専用の形態で用いているのに対し、本実施の形態では再書き込み可能な形態で用いている。結果、本実施の形態では、ブートプログラムのバージョンアップのためにブートコード201を更新する場合にも、容易に対応できる。
以上、図面を参照して本発明を実施するための最適な形態について説明したが、本発明の適用範囲はこれに限定されるものではなく、当業者であれば容易に到達しうる形態についても本発明の範囲に属することは明らかである。
本発明に係る不揮発性メモリシステムは、半導体メモリカードやホスト装置のプログラム格納用メモリ、データ格納用メモリとして有用である。

Claims (14)

  1. ホスト装置の要求に応じて不揮発性メモリにアクセスするメモリコントローラであって、
    前記ホスト装置の第1の動作モード設定の指示を受け、前記不揮発性メモリの物理アドレスを指定して前記不揮発性メモリの特定の領域からデータを読み出すシステム制御手段と、
    前記システム制御手段と前記ホスト装置との間で信号の送受信を行う第1のインターフェースと、
    前記システム制御手段と前記不揮発性メモリとの間で信号の送受信を行う第2のインターフェースとを備えるメモリコントローラ。
  2. 前記システム制御手段は、前記ホスト装置により設定される2つの動作モードでの動作が可能であり、前記第1の動作モードとは異なる第2の動作モードにおいては、前記ホスト装置の指示するアクセスアドレスを、アドレス変換テーブルを用いて前記不揮発性メモリの物理アドレスへ変換した後、当該変換された物理アドレスにアクセスする請求項1に記載のメモリコントローラ。
  3. 前記システム制御手段は、前記第1の動作モードでの動作中または動作完了後に前記アドレス変換テーブルを作成し、前記第1の動作モードでの動作完了後に前記第2の動作モードにモードを切り替える請求項2に記載のメモリコントローラ。
  4. 前記第1の動作モードは、第1の初期化処理により動作可能となり、前記第1の初期化処理はフラッシュメモリコンフィギュレーションを含む請求項2に記載のメモリコントローラ。
  5. 前記第1の初期化処理は、電源投入後またはリセット後に行われる請求項4に記載のメモリコントローラ。
  6. 前記第2の動作モードは、第2の初期化処理により動作可能となり、前記第2の初期化処理はフラッシュメモリコンフィギュレーション、システムコンフィギュレーションおよびアドレス変換テーブルの作成を含む請求項2に記載のメモリコントローラ。
  7. 前記第1の動作モードは、前記ホスト装置が所定のコマンドを発行することにより設定される請求項2に記載のメモリコントローラ。
  8. 前記不揮発性メモリに、前記第1の動作モードでデータが読み出される特定の領域の物理アドレスが保持され、
    前記システム制御手段は、前記第1の動作モードにおいて前記特定の領域の物理アドレスを読み出す請求項2に記載のメモリコントローラ。
  9. 前記システム制御手段は、前記第1の動作モードの有効および無効を切り替えるモード切替手段を更に備え、
    前記システム制御手段は、前記第1の動作モードが有効な場合には、前記ホスト装置の設定指示に従って前記第1の動作モードを設定し、前記第1の動作モードが無効な場合には、前記ホスト装置の設定指示を無効なアクセスと判定する請求項2に記載のメモリコントローラ。
  10. 請求項1に記載のメモリコントローラおよび不揮発性メモリを備え、前記ホスト装置からの要求に応じて前記不揮発性メモリにアクセスする不揮発性メモリシステム。
  11. 前記ホスト装置と着脱可能な形態である請求項10に記載の不揮発性メモリシステム。
  12. 前記ホスト装置に実装され、前記ホスト装置と着脱が不可能な形態である請求項10に記載の不揮発性メモリシステム。
  13. 請求項10に記載の前記不揮発性メモリシステムにアクセスしてデータ転送を要求するホスト装置であって、
    起動時に前記第1の動作モードで前記不揮発性メモリシステムにアクセスし、起動完了後に第2の動作モードで前記不揮発性メモリシステムにアクセスするホスト装置。
  14. 起動時に前記第1の動作モードで前記不揮発性メモリシステムからブートプログラムを読み出す請求項13に記載のホスト装置。
JP2009506202A 2007-03-28 2008-03-13 メモリコントローラ、不揮発性メモリシステムおよびホスト装置 Pending JPWO2008117520A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007083807 2007-03-28
JP2007083807 2007-03-28
PCT/JP2008/000566 WO2008117520A1 (ja) 2007-03-28 2008-03-13 メモリコントローラ、不揮発性メモリシステムおよびホスト装置

Publications (1)

Publication Number Publication Date
JPWO2008117520A1 true JPWO2008117520A1 (ja) 2010-07-15

Family

ID=39788262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009506202A Pending JPWO2008117520A1 (ja) 2007-03-28 2008-03-13 メモリコントローラ、不揮発性メモリシステムおよびホスト装置

Country Status (3)

Country Link
US (1) US20100122017A1 (ja)
JP (1) JPWO2008117520A1 (ja)
WO (1) WO2008117520A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008070813A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a front-end, distributed raid
JP5220747B2 (ja) * 2007-07-31 2013-06-26 パナソニック株式会社 不揮発性記憶装置および不揮発性記憶システム
CN102160035A (zh) 2008-09-18 2011-08-17 马维尔国际贸易有限公司 至少部分地在引导期间向存储器预加载应用
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US8688899B2 (en) 2010-09-28 2014-04-01 Fusion-Io, Inc. Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、***和方法
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
JP5694101B2 (ja) * 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
US9575768B1 (en) * 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9477484B2 (en) * 2013-07-23 2016-10-25 Samsung Electronics Co., Ltd. System and method for boot acceleration of a data processing system wherein a nonvolatile memory is pre-configured before boot time
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
KR102387461B1 (ko) 2017-07-24 2022-04-15 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 이의 동작 방법
JP7040053B2 (ja) * 2018-01-26 2022-03-23 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体による情報処理方法及びos

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0263389A (ja) * 1988-08-30 1990-03-02 Fujitsu General Ltd メモリ拡張用カードの着脱可能な文字放送受信装置
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2004062913A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置
JP2005503631A (ja) * 2001-03-23 2005-02-03 アトメル・コーポレイション 同期型不揮発性記憶装置のための独立の非同期ブートブロック
WO2005066773A1 (en) * 2003-12-31 2005-07-21 Sandisk Corporation Flash memory system startup operation
JP2006178909A (ja) * 2004-12-24 2006-07-06 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4074351A (en) * 1974-12-02 1978-02-14 Texas Instruments Incorporated Variable function programmed calculator
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5951685A (en) * 1996-12-20 1999-09-14 Compaq Computer Corporation Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US5999476A (en) * 1997-11-21 1999-12-07 Advanced Micro Devices, Inc. Bios memory and multimedia data storage combination
US6629192B1 (en) * 1999-12-30 2003-09-30 Intel Corporation Method and apparatus for use of a non-volatile storage management system for PC/AT compatible system firmware
DE10316951A1 (de) * 2003-04-12 2004-10-21 Daimlerchrysler Ag Verfahren zur Überprüfung der Datenintegrität von Software in Steuergeräten
US8095783B2 (en) * 2003-05-12 2012-01-10 Phoenix Technologies Ltd. Media boot loader
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
US7346742B2 (en) * 2004-11-18 2008-03-18 Lsi Logic Corporation Methods and structure for bypassing memory management mapping and translation features
JP2006285587A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 情報処理装置、及びプログラム準備方法
US7827376B2 (en) * 2005-06-27 2010-11-02 Lenovo (Singapore) Pte. Ltd. System and method for protecting hidden protected area of HDD during operation
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US7376807B2 (en) * 2006-02-23 2008-05-20 Freescale Semiconductor, Inc. Data processing system having address translation bypass and method therefor
US20110258372A1 (en) * 2009-07-29 2011-10-20 Panasonic Corporation Memory device, host device, and memory system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0263389A (ja) * 1988-08-30 1990-03-02 Fujitsu General Ltd メモリ拡張用カードの着脱可能な文字放送受信装置
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2005503631A (ja) * 2001-03-23 2005-02-03 アトメル・コーポレイション 同期型不揮発性記憶装置のための独立の非同期ブートブロック
JP2004062913A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置
WO2005066773A1 (en) * 2003-12-31 2005-07-21 Sandisk Corporation Flash memory system startup operation
JP2006178909A (ja) * 2004-12-24 2006-07-06 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Also Published As

Publication number Publication date
WO2008117520A1 (ja) 2008-10-02
US20100122017A1 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
JPWO2008117520A1 (ja) メモリコントローラ、不揮発性メモリシステムおよびホスト装置
JP5173818B2 (ja) 組込みコントローラを介するフラッシュストレージの初期化
JP5220747B2 (ja) 不揮発性記憶装置および不揮発性記憶システム
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
JP2008511929A (ja) 携帯電話の不揮発性メモリを管理するシステムおよび方法
KR20070077463A (ko) 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템
US20160062659A1 (en) Virtual memory module
KR20110094047A (ko) 전자 디바이스 및 전자 디바이스 시스템
US20130040702A1 (en) Sd switch box in a cellular handset
US7925819B2 (en) Non-volatile memory storage system and method for reading an expansion read only memory image thereof
CN102043638A (zh) 计算机***以及计算机启动设定方法
KR20190051530A (ko) 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
JP2008158991A (ja) Nand型フラッシュメモリの制御システム
JP5970867B2 (ja) 情報処理装置、画像形成装置およびプログラム
KR101620349B1 (ko) 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
JP4840553B2 (ja) 無線通信機と、そのブートプログラム書き換え方法及びプログラム
JP2009176147A (ja) 電子機器および電子機器のメモリアクセス許可判別方法
US8341334B2 (en) Flash memory apparatus and method for operating the same and data storage system
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP4793798B2 (ja) マイクロコンピュータ
KR20190118428A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
JPH1027097A (ja) フラッシュromのデータ書換え方法および装置
JP2002007152A (ja) ダウンロード方法および装置
JP4988982B2 (ja) マイクロコンピュータの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121227