説明

メモリシステム

【課題】 ユーザによるアプリケーションソフトウェアやシステムソフトウェアのアクセスを禁止することが可能なメモリシステムを提供する。
【解決手段】 メモリシステムは、アプリケーションモジュール19aと、記憶部18と、制御部11aとを含んでいる。記憶部18は、ユーザデータ、アプリケーションモジュールの動作を制御するアプリケーションソフトウェア、これらデータ及びソフトウェアを管理する管理情報を記憶している。制御部11aは、記憶部18から読み出された管理情報からアプリケーションソフトウェアを含むアクセス禁止領域を示す情報をマスクする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、例えば無線通信機能を有するメモリシステムに関する。
【背景技術】
【0002】
メモリ機能以外のアプリケーションモジュール、例えば無線LAN等の無線通信機能を備えたメモリシステムが開発されている。このメモリシステムは、ユーザがアクセス可能な記憶部に、ユーザデータと共に、無線通信機能の動作を制御するアプリケーションソフトウェアや、コントローラの動作を制御するシステムソフトウェアが記憶されている。このため、ユーザが記憶部に保存されているアプリケーションソフトウェアやシステムソフトウェアを削除したり、改変したりする虞を有していた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−329180号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本実施形態は、ユーザによるアプリケーションソフトウェアやシステムソフトウェアのアクセスを禁止することが可能なメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【0005】
本実施形態のメモリシステムによれば、アプリケーションモジュールと、記憶部と、制御部とを含んでいる。記憶部は、ユーザデータ、前記アプリケーションモジュールの動作を制御するアプリケーションソフトウェア、これらデータ及びソフトウェアを管理する管理情報を記憶している。制御部は、前記記憶部から読み出された前記管理情報から前記アプリケーションソフトウェアを含むアクセス禁止領域を示す情報をマスクする。
【図面の簡単な説明】
【0006】
【図1】実施形態に適用されるメモリシステムを概略的に示す構成図。
【図2】図1に示すNANDフラッシュメモリのメモリマップを示す図。
【図3】無線LAN(Local Area Network)を有したSDカードの使用例を示す構成図。
【図4】メモリデバイスが有するインターフェース機能を示す図。
【図5】Wi−Fi(登録商標) SDカードがサポートするアプリケーションの一例を示す図。
【図6】本実施形態に適用されるメモリシステムの動作を説明するために示す図。
【図7】本実施形態のメモリ管理領域の動作を説明するために示す図。
【発明を実施するための形態】
【0007】
以下、実施の形態について、図面を参照して説明する。
【0008】
図1は、本実施形態に係るメモリシステムを概略的に示している。
【0009】
メモリシステムは、例えばSDカードのようなメモリデバイス11と、ホスト20により構成される。メモリデバイス11はSDカードとも言う。また、ホスト20はホストデバイスとも言う。尚、メモリデバイス11は必ずしもカード形状を有している必要は無く、ホスト20に対して挿抜不可能な態様で実装されていても良い。
【0010】
メモリデバイス11は、ホスト20に接続されたときに電源供給を受けて動作し、ホスト20からのアクセスに応じた処理を行う。このメモリデバイス11は、カードコントローラ11aを有している。
【0011】
カードコントローラ11aは、例えばホストインターフェース(I/F)12、CPU13、ROM(Read only Memory)14、RAM(Random Access Memory)15、バッファ16、拡張機能インターフェースとしての無線インターフェース(I/F)17により構成されている。これらは、バスにより接続されている。さらに、バスには、メモリコントローラ18aが接続されている。このメモリコントローラ18aには、例えばNANDフラッシュメモリ18が接続されている。無線通信インターフェース17には、拡張機能部(アプリケーションモジュール)としての無線LAN信号処理部19aが接続されている。この無線LAN信号処理部19aには、高周波信号を送受信するアンテナATaが接続されている。
【0012】
尚、拡張機能部は、無線LAN信号処理部19aに限らず、その他の無線通信信号処理部19b、及びこの無線通信信号処理部19bに接続されたアンテナATbなどを増設し、マルチファンクションのSDカードを構成することが可能である。無線LAN信号処理部19aは、例えばWi−Fi(登録商標)による無線通信機能を制御し、無線通信信号処理部19bは、例えばTransferJet(登録商標)による近接無線通信機能を制御する。但し、拡張機能部の備える機能は無線通信に限定されるものではない。
【0013】
ホストインターフェース12は、カードコントローラ11aとホスト20との間のインターフェース処理を行う。
【0014】
一方、無線通信インターフェース17は、無線LAN信号処理部19aや無線通信信号処理部19bとの間のインターフェース処理を行う。メモリコントローラ18aは、カードコントローラ11aとNANDフラッシュメモリ18との間のインターフェース処理を行う。
【0015】
CPU13は、メモリデバイス11全体の動作を司るものである。このCPU13を制御するプログラムは、ROM14の中に格納されているファームウェア(制御プログラム等)を用いるか、あるいは、RAM115上にロードして所定の処理が実行される。すなわち、CPU13は、各種のテーブルや無線通信機能を制御するための拡張レジスタをRAM18上に作成したり、ホスト20からライト(書き込み)コマンド、リード(読み出し)コマンド、イレース(消去)コマンドを受けてNANDフラッシュメモリ18上の領域をアクセスしたり、バッファ16を介してデータ転送処理を制御したりする。
【0016】
ROM14は、CPU13により使用される制御プログラムなどのファームウェアの少なくとも一部を格納する。RAM15は、CPU13の作業エリアとして使用され、制御プログラムや各種のテーブルや後述する拡張レジスタを記憶する。
【0017】
バッファ16は、ホスト20から送られてくるデータを、例えばNANDフラッシュメモリ18へ書き込む際、一定量のデータ(例えば1ページ分)を一時的に記憶したり、NANDフラッシュメモリ18から読み出されたデータをホスト20へ送り出す際、一定量のデータを一時的に記憶したりする。またバッファ16を介することにより、SDバスインターフェースとバックエンドを非同期に制御することができる。
【0018】
NANDフラッシュメモリ18は、例えば積層ゲート構造のメモリセル、又はMONOS構造のメモリセルにより構成されている。このNANDフラッシュメモリ18は、例えばユーザデータと、無線LAN信号処理部19aや、無線通信信号処理部19bの動作を制御するためのアプリケーションソフトウェアと、カードコントローラ11aの動作を制御するシステムソフトウェアとを記憶している。これらユーザデータやアプリケーションソフトウェア、システムソフトウェアは、後述するFAT(File allocation table)により管理されている。
【0019】
無線LAN信号処理部19aでは、無線LANの信号処理が行われる。無線通信I/F17を介して制御される。
【0020】
ホスト20は、例えばデジタルカメラや携帯電話、パーソナルコンピュータなどが適用可能である。ホスト20は、ホストコントローラ21、CPU22、ROM23、RAM24、例えばハードディスク25(SSDを含む)により構成されている。これらはバスにより接続されている。
【0021】
CPU22は、ホスト全体を制御する。ROM23は、CPU22の動作に必要なファームウェアを記憶している。RAM24は、例えばCPU22の作業領域として使用されるが、CPU22が実行可能なプログラムもここにロードされ実行される。ハードディスク25は、各種データを保持する。ホストコントローラ21は、メモリデバイス11が接続された状態において、メモリデバイス11とのインターフェース処理を行う。さらに、CPU22の指示に従って、後述する各種コマンドを発行する。
【0022】
図2は、図1に示すNANDフラッシュメモリのメモリマップの一例を示している。SDメモリカードの場合、SD規格によりカード容量毎のFATフォーマットパラメータが規定されており、FAT1とFAT2を格納するFAT領域30のアドレスが定められている。
【0023】
パーティション領域31は、パーティション情報などを含むパーティションテーブルを記憶する領域である。ブート領域32は、ブート情報を記憶する領域である。
【0024】
FAT1、FAT2は、書き込むべきファイルがどのクラスタに分割して記憶されたかを管理するための管理情報を記憶している。FAT1、FAT2には、同一のデータが記憶されており、一方のFATに欠陥が生じた場合、他方のFATを用いてデータの修復が可能とされている。さらに、FAT1、FAT2は、ファイルに割り当てられたクラスタの情報を記憶しており、NANDフラッシュメモリ中のクラスタのリンクの関係を記憶している。FAT1、FAT2に記憶された情報をトレースすることにより、元のファイルへと復元することができる。
【0025】
ルートディレクトリ領域33は、ルートディレクトリエントリの情報を記憶する。ルートディレクトリの下にサブディレクトリ35を作成する場合、このサブディレクトリ35はユーザデータエリア34に作成される。ルートディレクトリ33はアドレスが固定であるが、サブディレクトリのファイルエントリは任意の論理アドレスに設置可能とされている。
【0026】
図3は、無線通信機能を有したメモリデバイス(SDカード)11の使用例を示している。メモリデバイス11は、ホストとしての例えばデジタルカメラ51、52や、サーバー53、パーソナルコンピュータ54、携帯電話55に装着される。
【0027】
無線通信機能を有したメモリデバイス11は、デジタルカメラ51とともに使用することにより、写真データを無線通信ネットワーク上で他のカメラ52に送信したり、他のカメラ52から受信したりすることが可能である。また、無線通信ネットワークを介して例えば外部のサーバー53に接続し、写真データをデジタルカメラ51からサーバー53に転送することも可能である。さらに、無線通信ネットワークを介して例えばパーソナルコンピュータ54や携帯電話55などの機器に接続し、写真データをデジタルカメラ51からこれらパーソナルコンピュータ54や携帯電話55に転送することができる。
【0028】
図4は、メモリデバイス11が有するインターフェース機能を示している。
【0029】
無線通信機能を有したメモリデバイス11は、メモリデバイス11を制御するホストデバイスとしての例えばデジタルカメラ51とのインターフェースとなるインターフェース機能と、デジタルカメラ51と他の電子機器、例えばカメラ52や、サーバー53、パーソナルコンピュータ54、テレビ56、プリンタ57などと無線LAN接続を行うネットワークインターフェースの機能を有している。
【0030】
前述したホストインターフェース(カードインターフェース)12は、SDA(SD Association)で規格化された“SD Specifications Part 1”と“SD Specifications Part 2”に従って、カード内のデータにFAT経由でアクセス(読み書き)する機能を有するとともに、無線通信機能を有するカード特有のレジスタ(例えばWi−FiSDレジスタ)にアクセスする機能を有している。ここでWi−Fi SDレジスタのアクセスには、リードコマンド(CMD48)とライトコマンド(CMD49)が用いられる。リードコマンド(CMD48)は、対象となるレジスタに対してデータをブロック単位で読み込むコマンドであり、ライトコマンド(CMD49)は対象となるレジスタからデータをブロック単位で書き込むコマンドである。
【0031】
例えばホスト20がメモリデバイス11に対して、Wi−Fi SDカード特有のコマンドを発行する。又は、Wi−Fi SDカード特有のデータを書き込むためにライトコマンド(CMD49)を用いて、ホスト20がメモリデバイス11から、Wi−Fi SDカード特有のステータスやレスポンスを受け取る。また、Wi−Fi SDカード特有のデータを読み込むためにリードコマンド(CMD48)が用いられる。
【0032】
無線通信インターフェース17は、物理層にIEEE802.11b/g/nを、ネットワーク層にIPv4やIPv6を、トランスポート層にTCPを、プレゼンテーション層にSSL/TLSを、アプリケーション層にHTTPやFTPをサポートすることを想定している。さらに、家庭内機器との通信のためDLNA(Digital Living Network Alliance)の機能を有する場合もある。
【0033】
メモリデバイス11が2つのインターフェースを持つことにより、デジタルカメラで作成した写真データ(JPEGやRAWフォーマット)や動画データ(MPEG−2 TSやMP4フォーマット)を、HTTPプロトコルをサポートするサーバーや機器に対して送信、又は受信することが可能になる。さらに、DLNAをサポートするサーバーや機器により、写真や動画の再生が可能となるとともに、印刷を行うことも可能となる。また、写真データや動画データだけでなく、ホストデバイスが作成するデータ(XMLデータやテキストデータ)を追加して送ることにより、ホストデバイスはサーバーや周辺機器と認証作業を行ったり、メタデータの送受信を行ったりすることが可能となる。
【0034】
図5は、Wi−Fi SDカードがサポートするアプリケーションソフトウェアの一例を示しており、例えばウェブサーバーへ写真データをアップロードするサーバー・アップロード・アプリケーション等を含んでいる。この様に無線LAN信号処理部19aや無線通信信号処理部19bの動作を制御するためのアプリケーションソフトウェアの少なくとも一部は、上述した通りNANDフラッシュメモリ18に記憶されている。カードコントローラ11aは、当該アプリケーションソフトウェアを実行することで、アプリケーションモジュール(拡張機能部)を制御する。
【0035】
(FATのアクセス管理)
前述したように、NANDフラッシュメモリ18は、ユーザデータ、及び無線LAN信号処理部19aや無線通信信号処理部19bの動作を制御するためのアプリケーションソフトウェアや、システムソフトウェアを記憶している。このうち、アプリケーションソフトウェアやシステムソフトウェアは、ユーザにより消去されたり、改変されたりしてはならない。このため、本実施形態において、カードコントローラ11aは、メモリコントローラ18aに保持されたFATの情報のうち、アプリケーションソフトウェアやシステムソフトウェアを除く情報のみをユーザに開示するようにしている。
【0036】
図6は、本実施形態の動作を示す図である。図6に示すように、ホスト20からFAT情報の読み出し指令(ファイル名表示命令)が発行されると(S1)、カードコントローラ11aは、メモリコントローラ18aにFAT情報の読み出し指令を発行する(S2)。メモリコントローラ18aは、NANDフラッシュメモリ18にFAT情報の読み出し指令を発行する(S3)。NANDフラッシュメモリ18は、メモリコントローラ18aから供給されたFAT情報の読み出し指令に基づきFAT情報を読み出し、読み出したFAT情報をメモリコントローラ18aに通知する(S4)。
【0037】
図7は、メモリコントローラ18aとカードコントローラ11aの内容を示している。図7において、メモリコントローラ18aの例えばバッファに読み出されたFAT情報は、ユーザがアクセス可能なデータと、ユーザのアクセスを禁止すべき、無線通信機能のアプリケーションソフトウェアや、システムソフトウェアを含んでいる。すなわち、メモリコントローラ18aに読み出されたFAT情報は、ユーザがアクセス可能なデータと、ユーザのアクセスを禁止すべき、無線通信機能のアプリケーションソフトウェアや、システムソフトウェアを識別するための識別情報(71)と、これら識別情報に対応するデータやソフトウェアが記憶された領域を示すアドレス(72)により構成されている。
【0038】
この後、メモリコントローラ18aは、上記読み出したFAT情報をカードコントローラ11aのバッファ16に転送する(S5)。このとき、メモリコントローラ18aは、図7に示すように、FAT情報のうち、ユーザのアクセスを禁止すべき、無線通信機能のアプリケーションソフトウェアや、システムソフトウェアをマスクする。すなわち、メモリコントローラ18aは、FAT情報のうち、ユーザのアクセスを禁止すべき、無線通信機能のアプリケーションソフトウェアや、システムソフトウェアを除く情報を、カードコントローラ11aのバッファ16に転送する。
【0039】
この状態において、バッファ16に保持されたFAT情報は、アプリケーションソフトウェアやシステムソフトウェアが除かれているため、図7に(73)で示すように、転送された情報に付されたアドレスが不連続となっている。このため、カードコントローラ11aは、バッファ16に保持されたFAT情報を再構築する。具体的には、図7に(74)で示すように、FAT情報に含まれる識別情報(71)に対応するアドレスが連続的となるように振り直される(S6)。
【0040】
このようにアドレスが振り直された状態において、カードコントローラ11aは、FAT情報をホスト20に通知する(S7)。FAT情報は、連続するアドレスを有している。このため、アプリケーションソフトウェアやシステムソフトウェアの領域はユーザに公開されず、ユーザは、アプリケーションソフトウェアやシステムソフトウェアの領域を除くFAT領域を連続したメモリ空間として管理することができる。
【0041】
上記状態において、ホスト20よりデータの書き込み指令を発行する場合、ホスト20は、アプリケーションソフトウェアやシステムソフトウェアが格納された領域を指定することができない。カードコントローラ11aは、ホスト20よりデータの書き込み指令が発行された場合、図7に示すFAT情報に基づき、データを書き込むクラスタを指定し、メモリコントローラ18aへ書き込み指令を発行する。この指定されたクラスタは、アプリケーションソフトウェアやシステムソフトウェアが格納された以外の領域である。メモリコントローラ18aは、指示されたクラスタへデータを書き込むため、アプリケーションソフトウェアやシステムソフトウェアが格納されたクラスタが破壊されることを防止できる。
【0042】
また、ユーザがデータの削除を指示する場合、ユーザは、アプリケーションソフトウェアやシステムソフトウェアが格納された領域を指定することができない。ユーザにより、このようなアクセス禁止領域以外のデータの削除指令が発行された場合、カードコントローラ11aは、削除指令に基づきデータを削除するクラスタを指定し、メモリコントローラ18aへデータの削除を指示する。メモリコントローラ18aは、指示されたクラスタのデータを削除する。したがって、アプリケーションソフトウェアやシステムソフトウェアが格納されたクラスタのデータが削除されることを防止できる。
【0043】
さらに、ユーザがNANDフラッシュメモリ18のフォーマットを指示した場合、カードコントローラ11aは、FAT情報に基づき、アクセス禁止領域に対応するフォーマットしないクラスタを指定し、メモリコントローラ18aへフォーマット指令を発行する。メモリコントローラ18aは、指定されたクラスタを除く領域のみをフォーマットする。この後、メモリコントローラ18aは、フォーマット後のFAT情報をカードコントローラ11aへ通知する。カードコントローラ11aは、上述したようにFAT情報を再構築し、アドレスを振り直した状態でホスト20に通知する。
【0044】
以後、上記と同様にして、ユーザ側からのフォーマット指示によって通信機能、および制御コントローラの動作用ソフトウェアが削除、またはフォーマットされることを防ぐことができる。
【0045】
上記実施形態によれば、NANDフラッシュメモリ18から読み出されたFAT情報のうち、アプリケーションソフトウェアやシステムソフトウェアなどのアクセスを禁止すべき領域を示す識別情報及びそれに対応するアドレスを除いてホスト20に転送している。このため、アプリケーションソフトウェアやシステムソフトウェアなどの重要な情報の改変及び削除を防止することが可能である。
【0046】
また、メモリコントローラ18aが読み出したFAT情報をカードコントローラ11aが再構成するようにメモリデバイスを設計することで、メモリコントローラ18aに関しては、拡張機能部を備えていない従来のメモリデバイスで使用していたコントローラと実質的に同一なものを流用することが可能である。例えば、メモリデバイス11がSDカードである場合、メモリコントローラ18aは、従来のSDメモリコントローラを流用することが可能である。
【0047】
また、カードコントローラ11aにより、FAT情報が再構築され、FAT情報内のアドレスが連続となるよう振り直されている。このため、ユーザは、FAT情報の格納領域を連続したメモリ空間として管理することができるため、誤操作によるホスト20及びメモリデバイス11の誤動作を防止することが可能である。
【0048】
例えば、カードコントローラ11aがアプリケーションソフトウェアやシステムソフトウェアなどのアクセスを禁止すべき領域を設定し、ホストデバイスから当該アクセス禁止領域に対するアクセスがあった場合に、アクセス不可であることを示す情報を返す構成も想定し得るが、デジタルカメラなどのホストデバイスにとってこの様な情報を取り扱うのは容易ではない。
【0049】
すなわち、例えばパーソナルコンピュータ等の高度なホストデバイスの場合は、ユーザがアクセス禁止領域をアクセスしようとした場合、パーソナルコンピュータからユーザにアクセスできない旨が報知される。しかし、例えば簡単な構成のデジタルカメラなどのホストデバイスは、このようなフェイル・セーフ機能を持たない場合がある。このようなホストデバイスにおいて、メモリデバイス11のアクセス禁止領域をアクセスしようとした場合、メモリデバイス11自体がアクセス禁止とされ、メモリデバイス11を使用することができなくなることがある。
【0050】
これに対して、本実施形態は、FAT情報を再構築し、FAT情報内のアドレスが連続となるよう振り直すことでアクセス禁止領域のアクセスを回避しているため、上記のような誤操作及び誤動作を防止することが可能である。したがって、メモリデバイス11が使用できなくなることを防止できる。
【0051】
尚、上記実施形態は、メモリデバイス11にアプリケーションとして無線通信機能を搭載した場合について説明したが、これに限定されるものではなく、他のアプリケーションを搭載することも可能である。
【0052】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0053】
11…メモリデバイス、13…CPU、18…NANDフラッシュメモリ、18a…メモリコントローラ、20…ホスト、30…FAT領域。

【特許請求の範囲】
【請求項1】
アプリケーションモジュールと、
ユーザデータ、前記アプリケーションモジュールの動作を制御するアプリケーションソフトウェア、これらデータ及びソフトウェアを管理する管理情報を記憶した記憶部と、
前記記憶部の書き込み、消去を制御する制御部と、を具備し、
前記制御部は、前記記憶部から読み出された前記管理情報から前記アプリケーションソフトウェアを含むアクセス禁止領域を示す情報をマスクすることを特徴とするメモリシステム。
【請求項2】
前記制御部は、前記アクセス禁止領域を示すアドレスを除いた前記管理情報をホストに送ることを制御することを特徴とする請求項2記載のメモリシステム。
【請求項3】
前記制御部は、前記アクセス禁止領域を示すアドレスが除かれた前記管理情報に含まれる他のアドレスを連続的なアドレスに振り直し、前記アドレスが振り直された前記管理情報をホストに送ることを特徴とする請求項2記載のメモリシステム。
【請求項4】
前記アプリケーションモジュールは、無線LAN信号処理部であることを特徴とする請求項3記載のメモリシステム。
【請求項5】
前記アプリケーションソフトウェアは、前記無線LAN信号処理部を駆動するためのプログラムであることを特徴とする請求項4記載のメモリシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−181611(P2012−181611A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−42864(P2011−42864)
【出願日】平成23年2月28日(2011.2.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】