JP4373943B2 - メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4373943B2 JP4373943B2 JP2005054184A JP2005054184A JP4373943B2 JP 4373943 B2 JP4373943 B2 JP 4373943B2 JP 2005054184 A JP2005054184 A JP 2005054184A JP 2005054184 A JP2005054184 A JP 2005054184A JP 4373943 B2 JP4373943 B2 JP 4373943B2
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- area
- program
- reading
- stored
- 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 - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
消去はブロック単位で書込みと読出しはページ単位で行われるフラッシュメモリに対するアクセスをホストシステムから与えられる指示に基づいて制御するメモリコントローラであって、
起動時に、前記フラッシュメモリに記憶されている補助プログラムを読出す補助プログラム読出し手段と、
前記補助プログラム読出し手段により読出された前記補助プログラムを保持するデータ保持手段と、
前記フラッシュメモリに記憶されている前記ホストシステムの起動プログラムを読出し、読出した前記起動プログラムを前記ホストシステムに供給する起動プログラム読出し手段と、
前記フラッシュメモリに記憶されている情報であって、前記起動プログラムが記憶されている領域を示す情報を、前記フラッシュメモリから読出す領域指示情報読出し手段とを備え、
前記データ保持手段に保持されている前記補助プログラムは、前記ホストシステムからランダムアクセスが可能であり、
前記起動プログラム読出し手段と前記領域指示情報読出し手段は、前記データ保持手段に保持されている前記補助プログラムに基づいて前記ホストシステムから与えられる指示に応じて動作し、
前記起動プログラム読出し手段は、前記領域指示情報読出し手段により読出された情報に基づいて前記起動プログラムを読出し、
前記起動プログラムは前記フラッシュメモリ内の第1の領域又は第2の領域に記憶されており、
前記第1の領域又は前記第2の領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられておらず、
前記領域指示情報読出し手段により読出される情報は、前記第1の領域又は前記第2の領域を示す情報であって、前記フラッシュメモリ内の所定の領域に記憶されていることを特徴とする。
消去はブロック単位で書込みと読出しはページ単位で行われるフラッシュメモリに対するアクセスをホストシステムから与えられる指示に基づいて制御するフラッシュメモリの制御方法であって、
起動時に、前記フラッシュメモリに記憶されている補助プログラムを読出す補助プログラム読出しステップと、
前記補助プログラム読出しステップにより読出された前記補助プログラムを、前記ホストシステムからランダムアクセスが可能なデータ保持手段に保持するデータ保持ステップと、
前記フラッシュメモリに記憶されている前記ホストシステムの起動プログラムを読出し、読出した前記起動プログラムを前記ホストシステムに供給する起動プログラム読出しステップと、
前記フラッシュメモリに記憶されている情報であって、前記起動プログラムが記憶されている領域を示す情報を、前記フラッシュメモリから読出す領域指示情報読出しステップとを備え、
前記起動プログラム読出しステップと前記領域指示情報読出しステップは、前記データ保持手段に保持されている前記補助プログラムに基づいて前記ホストシステムから与えられる指示に応じて行われ、
前記起動プログラム読出しステップでは、前記領域指示情報読出しステップにより読出された情報に基づいて前記起動プログラムが読出され、
前記起動プログラムは前記フラッシュメモリ内の第1の領域又は第2の領域に記憶されており、
前記第1の領域又は第2の領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられておらず、
前記領域指示情報読出しステップにより読出される情報は、前記第1の領域又は前記第2の領域を示す情報であって、前記フラッシュメモリ内の所定の領域に記憶されていることを特徴とする。
図2(a),(b)は、起動プログラムの更新の処理の特徴を示す説明図である。
尚、領域指示情報の書替えは、ベリファイ(書込んだプログラムを読出し、書込みが正しく行なわれているかチェックする処理)を実行した後に行なうことが好ましい。
図3は、本発明の実施形態に係るフラッシュメモリシステム10を示すブロック図である。
以下に、フラッシュメモリ11及びメモリコントローラ20の詳細と、フラッシュメモリシステム10の動作とを説明する。
このフラッシュメモリシステム10において、データが記憶されるフラッシュメモリ11は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
上記ブロックとページの構成は、フラッシュメモリ11の仕様によって異なるが、一般的なフラッシュメモリでは、図4(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザー領域と16バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図4(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザー領域と64バイトの冗長領域で構成されているものも提供されている。
一般的なNAND型フラッシュメモリは、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によって、メモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。
メモリコントローラ20は、ホストインターフェースブロック21と、マイクロプロセッサ22と、フラッシュメモリインターフェースブロック23と、ECC(エラー・コレクション・コード)ブロック24と、バッファ25と、FIFO(First In First Out)バッファ26とから構成される。これら機能ブロックによって構成されるメモリコントローラ20は、一つの半導体チップ上に集積されている。以下に、各機能ブロックの機能を説明する。
ここで、コンパニオンチップ30は、SRAM用インターフェース31とATA(AT Attachment)インターフェース32を提供するチップである。
図5は、フラッシュメモリシステム10の動作を説明するための図であり、フラッシュメモリシステム10を組み込んだホストシステム40の要部の構成を示している。
フラッシュメモリ11の記憶領域は、属性情報等のシステム情報が記憶されているSYS領域(SYS)11aと、起動プログラムであるBIOSをDRAM42にロードするためのプログラムであるイニシャルバイオスローダーが記憶されているIBL領域(IBL)11bと、BIOSが記憶されているBIOS領域(BIOS)11cと、OS(Operating System)等のプログラムや各種データが記憶されるデータ領域(DATA)11dに区分されている。
まず、ホストシステム40が起動するときに、メモリコントローラ20がリセットされる(ステップ1)。メモリコントローラ20がリセットされると、マイクロプロセッサ22がメモリコントローラ20内の初期化等の第1の起動処理を開始する。この第1の起動処理では、更に、フラッシュメモリ11に記憶されているイニシャルバイオスローダー(IBL)が、バッファ25にロードされる(ステップ2)。
図8に示した例では、1024個の物理ブロックで1つのゾーンが形成され、このゾーンに対して1000ブロック分(物理ブロック1000個分)の論理アドレスの領域が割当てられている。論理アドレス空間は、セクタ単位で付けた連番であるLBAで示されている。
従って、論理アドレス空間の32セクタ分の領域を1個の論理ブロックとすれば、1個の物理ブロックに対して1個の論理ブロックが割当てられる。
1a 指示情報領域
1b 第1の領域
1c 第2の領域
2 メモリコントローラ
3 RAM
4 CPU
10 フラッシュメモリシステム
11 フラッシュメモリ
20 メモリコントローラ
21 ホストインターフェースブロック
22 マイクロプロセッサ
23 フラッシュメモリインターフェースブロック
24 ECCブロック
25 バッファ
26 FIFOバッファ
30 コンパニオンチップ
31 SRAM用インターフェース
32 ATAインターフェース
40 ホストシステム
41 CPU
42 DRAM
Claims (7)
- 消去はブロック単位で書込みと読出しはページ単位で行われるフラッシュメモリに対するアクセスをホストシステムから与えられる指示に基づいて制御するメモリコントローラであって、
起動時に、前記フラッシュメモリに記憶されている補助プログラムを読出す補助プログラム読出し手段と、
前記補助プログラム読出し手段により読出された前記補助プログラムを保持するデータ保持手段と、
前記フラッシュメモリに記憶されている前記ホストシステムの起動プログラムを読出し、読出した前記起動プログラムを前記ホストシステムに供給する起動プログラム読出し手段と、
前記フラッシュメモリに記憶されている情報であって、前記起動プログラムが記憶されている領域を示す情報を、前記フラッシュメモリから読出す領域指示情報読出し手段とを備え、
前記データ保持手段に保持されている前記補助プログラムは、前記ホストシステムからランダムアクセスが可能であり、
前記起動プログラム読出し手段と前記領域指示情報読出し手段は、前記データ保持手段に保持されている前記補助プログラムに基づいて前記ホストシステムから与えられる指示に応じて動作し、
前記起動プログラム読出し手段は、前記領域指示情報読出し手段により読出された情報に基づいて前記起動プログラムを読出し、
前記起動プログラムは前記フラッシュメモリ内の第1の領域又は第2の領域に記憶されており、
前記第1の領域又は前記第2の領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられておらず、
前記領域指示情報読出し手段により読出される情報は、前記第1の領域又は前記第2の領域を示す情報であって、前記フラッシュメモリ内の所定の領域に記憶されていることを特徴とするメモリコントローラ。 - 前記所定の領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられていないことを特徴とする請求項1に記載のメモリコントローラ。
- 前記補助プログラムが記憶されている領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられていないことを特徴とする請求項1又は2に記載のメモリコントローラ。
- 請求項1乃至3のいずれか1項に記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
- 消去はブロック単位で書込みと読出しはページ単位で行われるフラッシュメモリに対するアクセスをホストシステムから与えられる指示に基づいて制御するフラッシュメモリの制御方法であって、
起動時に、前記フラッシュメモリに記憶されている補助プログラムを読出す補助プログラム読出しステップと、
前記補助プログラム読出しステップにより読出された前記補助プログラムを、前記ホストシステムからランダムアクセスが可能なデータ保持手段に保持するデータ保持ステップと、
前記フラッシュメモリに記憶されている前記ホストシステムの起動プログラムを読出し、読出した前記起動プログラムを前記ホストシステムに供給する起動プログラム読出しステップと、
前記フラッシュメモリに記憶されている情報であって、前記起動プログラムが記憶されている領域を示す情報を、前記フラッシュメモリから読出す領域指示情報読出しステップとを備え、
前記起動プログラム読出しステップと前記領域指示情報読出しステップは、前記データ保持手段に保持されている前記補助プログラムに基づいて前記ホストシステムから与えられる指示に応じて行われ、
前記起動プログラム読出しステップでは、前記領域指示情報読出しステップにより読出された情報に基づいて前記起動プログラムが読出され、
前記起動プログラムは前記フラッシュメモリ内の第1の領域又は第2の領域に記憶されており、
前記第1の領域又は第2の領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられておらず、
前記領域指示情報読出しステップにより読出される情報は、前記第1の領域又は前記第2の領域を示す情報であって、前記フラッシュメモリ内の所定の領域に記憶されていることを特徴とするフラッシュメモリの制御方法。 - 前記所定の領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられていないことを特徴とする請求項5に記載のフラッシュメモリの制御方法。
- 前記補助プログラムが記憶されている領域には、前記フラッシュメモリに対するアクセスの際に前記ホストシステムから与えられる論理アドレスが割当てられていないことを特徴とする請求項5又は6に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005054184A JP4373943B2 (ja) | 2005-02-28 | 2005-02-28 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005054184A JP4373943B2 (ja) | 2005-02-28 | 2005-02-28 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006243780A JP2006243780A (ja) | 2006-09-14 |
JP4373943B2 true JP4373943B2 (ja) | 2009-11-25 |
Family
ID=37050178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005054184A Expired - Fee Related JP4373943B2 (ja) | 2005-02-28 | 2005-02-28 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4373943B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291226B2 (en) | 2006-02-10 | 2012-10-16 | Qualcomm Incorporated | Method and apparatus for securely booting from an external storage device |
JP2010186206A (ja) * | 2007-06-08 | 2010-08-26 | Mitsubishi Electric Corp | ディスク再生装置および同装置を備えたナビゲーション装置 |
US8683213B2 (en) * | 2007-10-26 | 2014-03-25 | Qualcomm Incorporated | Progressive boot for a wireless device |
JP2010134741A (ja) * | 2008-12-05 | 2010-06-17 | Internatl Business Mach Corp <Ibm> | プログラムを実行する方法およびシステム |
JP2010140183A (ja) * | 2008-12-10 | 2010-06-24 | Fujitsu Ten Ltd | 情報処理装置およびプログラム更新方法 |
KR101342658B1 (ko) | 2011-12-06 | 2013-12-16 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 및 그 구성 방법 |
JP2014067224A (ja) * | 2012-09-26 | 2014-04-17 | Nec Corp | 情報処理装置、端末装置、情報処理方法及びプログラム |
JPWO2014109100A1 (ja) * | 2013-01-08 | 2017-01-19 | 三菱電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
JPWO2016136014A1 (ja) * | 2015-02-26 | 2017-04-27 | 三菱電機株式会社 | 監視レコーダ |
JP7188622B2 (ja) * | 2018-02-16 | 2022-12-13 | トヨタ自動車株式会社 | 自動運転ecu、プログラムの更新確認方法および更新確認プログラム |
JP6952006B2 (ja) * | 2018-04-13 | 2021-10-20 | 日立Astemo株式会社 | 車両用電子制御装置及び起動方法 |
JP6874814B2 (ja) | 2019-10-30 | 2021-05-19 | 株式会社安川電機 | 産業機器の制御装置、産業機器の制御装置の設定システム、産業機器の制御装置の設定方法、及びプログラム |
JP7524939B2 (ja) | 2022-01-12 | 2024-07-30 | トヨタ自動車株式会社 | システム、プログラムの更新確認方法および更新確認プログラム |
-
2005
- 2005-02-28 JP JP2005054184A patent/JP4373943B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006243780A (ja) | 2006-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US7480762B2 (en) | Erase block data splitting | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
JP4177360B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006155335A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4235595B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005293177A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4366283B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP4332108B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4254930B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4245594B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2006099594A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006209625A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006040484A (ja) | フラッシュメモリモジュール |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090803 |
|
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: 20090825 |
|
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: 20090904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4373943 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130911 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |