JP2005157684A - メモリカード及びメモリ判別方法 - Google Patents
メモリカード及びメモリ判別方法 Download PDFInfo
- Publication number
- JP2005157684A JP2005157684A JP2003394584A JP2003394584A JP2005157684A JP 2005157684 A JP2005157684 A JP 2005157684A JP 2003394584 A JP2003394584 A JP 2003394584A JP 2003394584 A JP2003394584 A JP 2003394584A JP 2005157684 A JP2005157684 A JP 2005157684A
- Authority
- JP
- Japan
- Prior art keywords
- device code
- storage area
- memory
- specific storage
- 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
Links
Images
Abstract
【課題】デバイスコードが確定されていない種類のメモリデバイスを判別できるメモリカードを提供することにある。
【解決手段】コントローラ20は、初期化時に、メモリデバイス10のシステムエリア100からデバイスコードを読出してレジスタ200に保存する。コントローラ20は、IDリード動作によりメモリデバイス10から読出したデバイスコードと、レジスタ200に保存されたデバイスコードとを比較して、対応可能なメモリデバイスの種類を判別する。
【選択図】 図1
【解決手段】コントローラ20は、初期化時に、メモリデバイス10のシステムエリア100からデバイスコードを読出してレジスタ200に保存する。コントローラ20は、IDリード動作によりメモリデバイス10から読出したデバイスコードと、レジスタ200に保存されたデバイスコードとを比較して、対応可能なメモリデバイスの種類を判別する。
【選択図】 図1
Description
本発明は、一般的にはメモリカードの分野に関し、特に、実装されたメモリデバイスの種類を判別するメモリ判別技術に関する。
近年、例えばSD(Secure Digital)規格のメモリカードが、各種のデジタル機器の記憶デバイスとして普及している。一般的に、メモリカードは、例えばNAND型EEPROMからなるメモリデバイスと、当該メモリデバイスを制御するコントローラとを内蔵している。
メモリカードでは、実装されるメモリデバイスの種類(主として記憶容量が異なる)により、コントローラの動作モードが異なる。具体的には、記憶容量により、メモリデバイスに設定されるユーザデータの記憶領域や、認証処理に必要な記憶領域が変更となるため、コントローラは、それらの仕様に適した制御動作を行なうことになる。
通常では、メモリカードでは、コントローラは、初期化時に、実装されているメモリデバイスの種類を判別するためのメモリ判別処理を実行する。具体的には、IDリード動作を実行してメモリデバイスの内部に予め保存されているIDコードを読出す。そして、コントローラは、当該IDコードに含まれるデバイスコードにより、実装されているメモリデバイスの種類を判別する(例えば、非特許文献1を参照)。
暫定資料 東芝MOS形デジタル集積回路シリコンモノリシック シリコンゲートCMOS 128メガビット(16M×8ビット)CMOS NANDEEPROM(2001年12月4日、第21頁を参照)
暫定資料 東芝MOS形デジタル集積回路シリコンモノリシック シリコンゲートCMOS 128メガビット(16M×8ビット)CMOS NANDEEPROM(2001年12月4日、第21頁を参照)
従来のメモリ判別処理では、コントローラは、前述したように、初期化時にメモリデバイスの内部に予め保存されているIDコードを読出す。コントローラは、当該IDコードに含まれるデバイスコードと、予めコントローラの内部メモリに保存されている既知のデバイスコードとを比較し、比較結果が一致した当該デバイスコードで指定される記憶容量に従った制御動作を実行する。
しかしながら、従来のメモリ判別方法では、実装されているメモリデバイスが、コントローラの内部に記憶されている既知のデバイスコードに対応する場合のみ、メモリカードは使用可能となる。換言すれば、まだデバイスコードが確定されてない種類のメモリデバイスが開発された場合に、既存のコントローラは、当該種類のメモリデバイスを判別できないことになる。
そこで、本発明の目的は、デバイスコードが確定されていない種類のメモリデバイスも判別できるメモリカードを提供することにある。
本発明の一観点に従ったメモリカードは、ユーザデータ記憶領域以外に、メモリの種類を識別するためのデバイスコードを記憶した第1の特定記憶領域、及び前記ユーザデータ以外のデータで当該デバイスコードを含むデータの記憶が可能な第2の特定記憶領域を含むメモリデバイスと、前記第1の特定記憶領域から読出したデバイスコードと、前記第2の特定記憶領域から読出したデバイスコードとを比較し、比較結果が一致した場合に当該デバイスコードにより識別されるメモリの種類に従った制御動作を実行するコントローラとを備えたものである。
以上詳述したように本発明によれば、メモリデバイスの種類を示すデバイスコードに基づいて、メモリデバイスの制御動作を決定するメモリカードにおいて、当該デバイスコードが確定されていない種類のメモリデバイスにも対応できるメモリカードを提供することができる。
以下図面を参照して、本発明の実施形態を説明する。
図1は、本実施形態に関するメモリカードの要部を示すブロック図である。
(メモリカードの構成)
本実施形態のメモリカード1は、図1に示すように、大別して、例えばNAND型EEPROMからなるメモリデバイス10と、コントローラ20と、インターフェース30とを実装している。
本実施形態のメモリカード1は、図1に示すように、大別して、例えばNAND型EEPROMからなるメモリデバイス10と、コントローラ20と、インターフェース30とを実装している。
メモリデバイス10は、ユーザデータを記憶するユーザ記憶領域以外に、システムデータを格納するシステムエリア100(第2の特定記憶領域)と、メモリデバイスの種類(主として記憶容量)を判別するデバイスコードを格納するデバイスコード記憶エリア110(第1の特定記憶領域)を有する。
システムエリア100は、通常ではユーザからは書き換えができないライトプロテクト記憶領域である。システムエリア100は、通常のシステムデータ(メモリカードの動作仕様などを指定する情報)を格納する領域と、後述するデバイスコードを格納する領域とを含む。デバイスコード記憶エリア110は、メモリデバイス10の製造工程時に書き込まれたデバイスコードを格納するライトプロテクト記憶領域である。
コントローラ20は、メモリデバイス10を制御するメモリコントローラと、インターフェース30を介して外部(ホストシステム)とのデータやコマンドの交換を制御するインターフェースコントローラとを含む。
本実施形態のコントローラ20は、システムエリア100から読出したデバイスコード(設定デバイスコードと表記する場合がある)を保存するためのレジスタ200と、デバイスコード記憶エリア110から読出したデバイスコード(固有デバイスコードと表記する場合がある)を格納するレジスタ210とを有する。さらに、コントローラ20は、各レジスタ200,210に格納された各デバイスコードを比較するコンパレータ220を有する。
(メモリ判別処理の手順)
以下、図1と共に、図2のフローチャートを参照して、本実施形態に関するメモリ判別処理の手順を説明する。
以下、図1と共に、図2のフローチャートを参照して、本実施形態に関するメモリ判別処理の手順を説明する。
まず、メモリカード1に実装される前のメモリデバイス10は、製造工程時に、
デバイスコード記憶エリア110には、当該メモリデバイスの種類(記憶容量など)を示すデバイスコード(固有デバイスコード)が書き込まれる。ここで、デバイスコードは、メーカーコードと共にIDコードに含まれる。
デバイスコード記憶エリア110には、当該メモリデバイスの種類(記憶容量など)を示すデバイスコード(固有デバイスコード)が書き込まれる。ここで、デバイスコードは、メーカーコードと共にIDコードに含まれる。
一方、メモリカード1に実装された後のメモリデバイス10は、メモリカード1の出荷前に、システムエリア100には、システムデータが書き込まれる。本実施形態では、システムエリア100には、システムデータと共に、コントローラ20が対応可能で、実装されたメモリデバイス10の種類を示すデバイスコード(設定デバイスコード)が書き込まれる。
要するに、本実施形態のメモリデバイス10は、メモリカード1に実装される前に書き込まれたデバイスコード(固有デバイスコード)と、実装後に書き込まれたデバイスコード(設定デバイスコード)の両コードを記憶している。
コントローラ20は、メモリカード1に電源が投入されると、所定の初期化処理を開始する(ステップS1のYES)。この初期化時に、コントローラ20は、メモリデバイス10のシステムエリア100からシステムデータを読出すと共に、デバイスコードを読出す(ステップS2)。
ここで、コントローラ20は、システムエリア100からデバイスコードを読出すことができない場合には、以後の処理を停止して所定のエラー処理に移行する(ステップS3のYES)。具体的には、コントローラ20は、インターフェース30を介して、ホストシステム側に動作エラーが発生したことを通知する。
一方、コントローラ20は、システムエリア100から読出したデバイスコード(設定デバイスコード)をレジスタ200に格納する(ステップS3のNO,S4)。次に、コントローラ20は、通常のIDリード動作を実行して、メモリデバイス10からIDコードを読出すときに、デバイスコード記憶エリア110からデバイスコード(固有デバイスコード)を読出して、レジスタ210に格納する(ステップS5)。
コントローラ20は、各レジスタ200,210に格納された設定デバイスコードと固有デバイスコードとを、コンパレータ220により比較する(ステップS6)。コンパレータ220の比較結果が一致している場合には、コントローラ20は、当該デバイスコードにより指定される種類(大記憶容量や多値NANDなど)に適した制御動作を実行する(ステップS7のYES)。
一方、コンパレータ220の比較結果が不一致の場合には、コントローラ20は、以後の処理を停止して所定のエラー処理に移行する(ステップS7のNO)。具体的には、コントローラ20は、インターフェース30を介して、ホストシステム側に動作エラーが発生したことを通知する。
以上のように本実施形態によれば、コントローラ20が対応可能な種類のメモリデバイスを指定するデバイスコード(設定デバイスコード)を、メモリカード1に実装されたメモリデバイスのシステムエリア100に書き込むことにより、新たに開発された種類のメモリデバイスにも対応可能となる。換言すれば、現時点では確定されていないデバイスコードもシステムエリア100に書き込むことができるため、メモリカード1に実装されたメモリデバイス10が、未知のIDコードを有する大容量のメモリデバイスでも、コントローラ20は対応可能となる。従って、メモリカード1に実装されるメモリデバイス10は、例えば多値NANDメモリや、大ブロックNANDメモリなどの種類が新たに開発された場合でも、それらのメモリデバイスに対応可能なメモリカードを実現することができる。
(他の本実施形態)
図3は、他の実施形態に関するフローチャートである。
図3は、他の実施形態に関するフローチャートである。
本実施形態のメモリ判別処理は、初期化時に、コントローラ20は、最初に通常のデバイスコードの比較処理を実行する。即ち、コントローラ20は、通常のIDリード動作を実行して、メモリデバイス10のデバイスコード記憶エリア110からデバイスコード(固有デバイスコード)を読出す(ステップS11)。
ここで、コントローラ20は、予め内部メモリに保存している既知のデバイスコードと、メモリデバイス10から読出した固有デバイスコードとを比較する(ステップS12)。比較結果が一致であれば、コントローラ20は、既知のデバイスコードにより指定される種類に適した制御動作を実行する(ステップS13のYES)。
一方、比較結果が不一致の場合に、コントローラ20は、システムエリア100からデバイスコードを読出して、レジスタ200に格納する(ステップS13のNO,S14,S15)。
次に、コントローラ20は、前記のIDリード動作により読出したデバイスコード(固有デバイスコード)と、レジスタ200に格納された設定デバイスコードとを、コンパレータ220により比較する(ステップS16)。コンパレータ220の比較結果が一致している場合には、コントローラ20は、当該デバイスコードにより指定される種類(大記憶容量や多値NANDなど)に適した制御動作を実行する(ステップS17のYES)。
コンパレータ220の比較結果が不一致の場合には、コントローラ20は、以後の処理を停止して所定のエラー処理に移行する(ステップS17のNO)。具体的には、コントローラ20は、インターフェース30を介して、ホストシステム側に動作エラーが発生したことを通知する。
以上のように本実施形態によれば、コントローラ20は、既知のデバイスコードにより指定される種類のメモリデバイス、及び確定されていない未知のデバイスコードにより指定される種類のメモリデバイスのいずれにも対応可能である。この場合、既知のデバイスコードにより指定される種類のメモリデバイスに対しては、コントローラ20は、システムエリア100からデバイスコードを読出すことなく、制御動作に移行することができる。従って、常にシステムエリア100からデバイスコードを読出す方法に対して、初期化処理の時間を相対的に短縮できる効果がある。
なお、本実施形態及び他の実施形態において、IDリード動作により、メモリデバイス10から固有デバイスコードを読出すときに、メモリの種類により当該IDリードサイクルとして、2サイクルと5サイクルのものが存在する。変形例として、いずれの種類の場合でも、IDリードサイクルを2サイクルで打ち切るようにしてもよい。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…メモリカード、10…メモリデバイス、20…コントローラ、
30…インターフェース、100…システムエリア、
110…デバイスコード記憶エリア、200,210…レジスタ、
220…コンパレータ。
30…インターフェース、100…システムエリア、
110…デバイスコード記憶エリア、200,210…レジスタ、
220…コンパレータ。
Claims (10)
- ユーザデータ記憶領域以外に、メモリの種類を識別するためのデバイスコードを記憶した第1の特定記憶領域、及び前記ユーザデータ以外のデータで当該デバイスコードを含むデータの記憶が可能な第2の特定記憶領域を含むメモリデバイスと、
前記第1の特定記憶領域から読出したデバイスコードと、前記第2の特定記憶領域から読出したデバイスコードとを比較し、比較結果が一致した場合に当該デバイスコードにより識別されるメモリの種類に従った制御動作を実行するコントローラと
を具備したことを特徴とするメモリカード。 - 前記コントローラは、前記第2の特定記憶領域から読出したデバイスコードを保存するレジスタを有することを特徴とする請求項1に記載のメモリカード。
- 前記第2の特定記憶領域は、外部から書き込むシステムデータを格納する領域と、外部から書き込む前記デバイスコードを格納する領域とを有することを特徴とする請求項1に記載のメモリカード。
- 前記コントローラは、前記第2の特定記憶領域から読出したデバイスコードを保存するレジスタを有し、
初期化時に、前記第2の特定記憶領域から前記デバイスコードを読出して前記レジスタに保存し、
前記第1の特定記憶領域から読出したデバイスコードと、前記レジスタに保存されたデバイスコードとを比較することを特徴とする請求項1に記載のメモリカード。 - 前記コントローラは、前記第2の特定記憶領域からデバイスコードの読出しが不可能なときには、予め決められたエラー処理を実行することを特徴とする請求項1または請求項4のいずれか1項に記載のメモリカード。
- 前記コントローラは、前記比較結果が不一致の場合には、予め決められたエラー処理を実行することを特徴とする請求項1または請求項4のいずれか1項に記載のメモリカード。
- 前記コントローラは、初期化時に、予め用意されたデバイスコードと、前記第1の特定記憶領域から読出したデバイスコードとを比較し、
当該比較結果が不一致の場合に、前記第2の特定記憶領域から読出したデバイスコードと、前記第1の特定記憶領域から読出したデバイスコードとを比較することを特徴とする請求項1又は請求項4のいずれか1項に記載のメモリカード。 - ユーザデータ記憶領域以外に、メモリの種類を識別するためのデバイスコードを記憶した第1の特定記憶領域、及び前記ユーザデータ以外のデータで当該デバイスコードを含むデータの記憶が可能な第2の特定記憶領域を含むメモリデバイスと、当該メモリデバイスの動作を制御するコントローラとを有するメモリカードに適用するメモリ判別方法であって、
前記コントローラは、
前記第2の特定記憶領域からデバイスコードを読出すステップと、
前記第1の特定記憶領域からデバイスコードを読出すステップと、
読出した各デバイスコードを比較するステップと、
比較結果が一致した場合に当該デバイスコードにより識別されるメモリの種類に従った制御動作を実行するステップと
を有する手順を実行することを特徴とするメモリ判別方法。 - 初期化時に、前記第2の特定記憶領域から前記デバイスコードを読出してレジスタに保存するステップを有し、
前記比較ステップは、
前記第1の特定記憶領域から読出したデバイスコードと、前記レジスタに保存されたデバイスコードとを比較することを特徴とする請求項8に記載のメモリ判別方法。 - 初期化時に、予め用意されたデバイスコードと、前記第1の特定記憶領域から読出したデバイスコードとを比較するステップと、
前記比較ステップは、
当該比較結果が不一致の場合に、前記第2の特定記憶領域から読出したデバイスコードと、前記第1の特定記憶領域から読出したデバイスコードとを比較することを特徴とする請求項8又は請求項9のいずれか1項に記載のメモリ判別方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003394584A JP2005157684A (ja) | 2003-11-25 | 2003-11-25 | メモリカード及びメモリ判別方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003394584A JP2005157684A (ja) | 2003-11-25 | 2003-11-25 | メモリカード及びメモリ判別方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005157684A true JP2005157684A (ja) | 2005-06-16 |
Family
ID=34720609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003394584A Pending JP2005157684A (ja) | 2003-11-25 | 2003-11-25 | メモリカード及びメモリ判別方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005157684A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010287242A (ja) * | 2010-06-30 | 2010-12-24 | Toshiba Corp | 不揮発性半導体メモリドライブ |
JP2011103147A (ja) * | 2011-02-17 | 2011-05-26 | Toshiba Corp | 情報処理装置 |
US8130492B2 (en) | 2007-12-27 | 2012-03-06 | Kabushiki Kaisha Toshiba | Information processing apparatus and nonvolatile semiconductor storage device |
US8131912B2 (en) | 2007-09-27 | 2012-03-06 | Kabushiki Kaisha Toshiba | Memory system |
-
2003
- 2003-11-25 JP JP2003394584A patent/JP2005157684A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131912B2 (en) | 2007-09-27 | 2012-03-06 | Kabushiki Kaisha Toshiba | Memory system |
US8130492B2 (en) | 2007-12-27 | 2012-03-06 | Kabushiki Kaisha Toshiba | Information processing apparatus and nonvolatile semiconductor storage device |
US8760858B2 (en) | 2007-12-27 | 2014-06-24 | Kabushiki Kaisha Toshiba | Information processing apparatus and nonvolatile semiconductor storage device |
JP2010287242A (ja) * | 2010-06-30 | 2010-12-24 | Toshiba Corp | 不揮発性半導体メモリドライブ |
JP2011103147A (ja) * | 2011-02-17 | 2011-05-26 | Toshiba Corp | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4761959B2 (ja) | 半導体集積回路装置 | |
JP4538027B2 (ja) | 半導体装置 | |
US6601132B2 (en) | Nonvolatile memory and method of writing data thereto | |
JP2003085508A (ja) | メモリカードおよびその初期設定方法 | |
US20060047938A1 (en) | Method and apparatus to initialize CPU | |
JP2007193596A (ja) | ファームウェア更新回路およびファームウェア更新方法 | |
US11157181B2 (en) | Card activation device and methods for authenticating and activating a data storage device by using a card activation device | |
US7093115B2 (en) | Method and apparatus for detecting an interruption in memory initialization | |
JPH0440587A (ja) | 携帯可能電子装置 | |
US7836219B1 (en) | System and method for authentication of embedded RAID on a host RAID card | |
JP3681323B2 (ja) | メモリカード | |
JP2005157684A (ja) | メモリカード及びメモリ判別方法 | |
US20070162699A1 (en) | Apparatus for expanding storage capacity of memory card and operating method of memory card with the same | |
US8510614B2 (en) | Bad block identification methods | |
US7730115B2 (en) | System, microcontroller and methods thereof | |
EP1079340A2 (en) | Integrated circuit card protected from unauthorized access | |
JP4213140B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP6554881B2 (ja) | 半導体装置および記憶媒体の制御方法 | |
JP4235624B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US8924671B2 (en) | Semiconductor storage device and control method thereof | |
US8074023B2 (en) | In-system programming to switch memory access from one area to another in memory cards | |
JP4784138B2 (ja) | Icカード、および、icカード用プログラム | |
JP5786702B2 (ja) | セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム | |
JPH11167525A (ja) | 不揮発性メモリ混載マイコン及びその不揮発性メモリ書換え方法並びに不揮発性メモリ混載マイコンの不揮発性メモリ書換えプログラムを記録した記録媒体 | |
JPH11328326A (ja) | Icカード |