JP2008181381A - Semiconductor memory card, data management method for semiconductor memory card, database engine, and semiconductor memory system - Google Patents
Semiconductor memory card, data management method for semiconductor memory card, database engine, and semiconductor memory system Download PDFInfo
- Publication number
- JP2008181381A JP2008181381A JP2007014865A JP2007014865A JP2008181381A JP 2008181381 A JP2008181381 A JP 2008181381A JP 2007014865 A JP2007014865 A JP 2007014865A JP 2007014865 A JP2007014865 A JP 2007014865A JP 2008181381 A JP2008181381 A JP 2008181381A
- Authority
- JP
- Japan
- Prior art keywords
- semiconductor memory
- host device
- database
- data
- memory card
- 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
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、各種電子機器に取り付けて使用可能な半導体メモリカード、半導体メモリカードのデータ管理方法、半導体メモリカードのデータ管理を行うデータベースエンジン、及び半導体メモリシステムに関する。 The present invention relates to a semiconductor memory card that can be used by being attached to various electronic devices, a data management method for the semiconductor memory card, a database engine that performs data management for the semiconductor memory card, and a semiconductor memory system.
現在、音楽データや映像データの記録メディアとして、NAND型フラッシュメモリを用いた半導体メモリカードが使用されている。NAND型フラッシュメモリは、1)データの書き込みはページ単位で行われる、2)データの消去は複数ページをまとめたブロック単位で行われる、という特徴を有する。このため、書き込み済みのページを有するブロック内に含まれるページ内のデータがランダムに更新される場合、以下に述べる「引越し書き込み」という処理が行われる。引越し書き込みでは、書き込まれるデータ(新データ)がデータの書き込まれていない新ブロックに書き込まれ、旧データ(新データに書き換えられるデータ)を含む旧ブロックから、書き換えられない残りのデータが新ブロックにコピーされる。 Currently, a semiconductor memory card using a NAND flash memory is used as a recording medium for music data and video data. The NAND flash memory is characterized in that 1) data writing is performed in units of pages, and 2) data erasing is performed in units of blocks in which a plurality of pages are combined. For this reason, when data in a page included in a block having a written page is updated at random, a process called “moving writing” described below is performed. In moving writing, the data to be written (new data) is written to a new block where no data is written, and the remaining data that cannot be rewritten from the old block including the old data (data to be rewritten to the new data) to the new block. Copied.
一方、半導体メモリカードのデータ管理を行うファイルシステムとして、ハードディスク等と同様のFAT(File Allocation Table)ファイルシステムが採用されている(例えば、特許文献1参照。)。 On the other hand, as a file system for managing data of a semiconductor memory card, a FAT (File Allocation Table) file system similar to a hard disk or the like is employed (see, for example, Patent Document 1).
半導体メモリカードが挿入されるホスト装置中のFATファイルシステムは、書き込みファイルをクラスタと呼ばれる論理単位の大きさのデータに分割し、空きクラスタを順方向に検索して、分割された各データに論理アドレスを割り当てることでファイルを構成する。ファイルを構成するクラスタがどの順番で連なっているかという連鎖情報は、NAND型フラッシュメモリ内部の特定のブロックにFATと呼ばれるテーブルとして書き込まれ管理される。半導体メモリカードは、各データの論理アドレスとNAND型フラッシュメモリ内部の物理的位置情報を示す物理アドレスとの対応を、NAND型フラッシュメモリ内部の特定のブロックに設定された論理−物理アドレス対応表で管理しながらデータを書き込む。 The FAT file system in the host device into which the semiconductor memory card is inserted divides a write file into data of a logical unit size called a cluster, searches for free clusters in the forward direction, and logically converts each divided data into logical data. Configure files by assigning addresses. The chain information indicating the order in which the clusters constituting the file are linked is written and managed as a table called FAT in a specific block inside the NAND flash memory. The semiconductor memory card is a logical-physical address correspondence table set in a specific block inside the NAND flash memory, showing the correspondence between the logical address of each data and the physical address indicating the physical location information inside the NAND flash memory. Write data while managing.
上記のようなFATファイルファイルシステムを使用した場合、ファイルの削除、作成を繰り返すことにより、1つのファイルを構成するクラスタの割り当てが不連続になり、通常NAND型フラッシュメモリ内部において1つのブロックに収まるデータサイズのファイルが、2つ以上のブロックに跨って格納される場合がある。 When the FAT file file system as described above is used, the allocation of clusters constituting one file becomes discontinuous by repeatedly deleting and creating the file, and usually fits in one block inside the NAND flash memory. A file having a data size may be stored across two or more blocks.
従って、FATファイルファイルシステムとNAND型フラッシュメモリを併用した半導体メモリカードでは、通常、引越し書き込みが発生する頻度が高く、ファイルの書き込み、書き換え速度が低下する場合があるという問題点があった。
本発明では、不揮発性半導体メモリの効率の良い制御を行うことが可能な半導体メモリカード、半導体メモリカードのデータ管理方法、及びデータベースエンジンを提供する。 The present invention provides a semiconductor memory card, a semiconductor memory card data management method, and a database engine capable of performing efficient control of a nonvolatile semiconductor memory.
本発明の一態様に係る半導体メモリカードは、ホスト装置に着脱自在に取り付け可能な半導体メモリカードにおいて、前記ホスト装置から受信したデータを記憶可能な不揮発性半導体メモリと、前記半導体メモリカードの動作を制御するカードコントローラとを具備し、前記ホスト装置から受信したデータ及び前記不揮発性半導体メモリに記憶されるファイルの情報は、前記カードコントローラに組み込まれたデータベースエンジンにより管理され、当該データベースエンジンは前記ホスト装置から受信したデータベース問い合わせ操作文を解釈することにより動作することを特徴とする。 A semiconductor memory card according to an aspect of the present invention is a semiconductor memory card that can be detachably attached to a host device, and a nonvolatile semiconductor memory that can store data received from the host device, and an operation of the semiconductor memory card. A card controller for controlling, data received from the host device and file information stored in the nonvolatile semiconductor memory are managed by a database engine built in the card controller, and the database engine It operates by interpreting a database inquiry operation statement received from the apparatus.
また、本発明の別態様に係る半導体メモリカードのデータ管理方法は、ホスト装置から受信したデータを記憶可能な不揮発性半導体メモリと、当該ホスト装置から受信したデータ及び当該不揮発性半導体メモリに記憶されるファイルの情報をデータベースエンジンにより管理するカードコントローラとを具備する半導体メモリカードのデータ管理方法であって、前記データベースエンジンが有するアプリケーションインタフェース部が、前記ホスト装置から受信したデータベース問い合わせ操作文を解釈し、前記アプリケーションインタフェース部により解釈されたデータベース問い合わせ操作文に従って、前記データベースエンジンが有するデータ管理システム部が、前記不揮発性半導体メモリに記憶されるファイルの情報をデータベースを使用して管理し、前記データ管理システム部の指示に従って、前記データベースエンジンが有するファイルシステム部が、前記ホスト装置から受信したデータの前記不揮発性半導体メモリへの書き込み及び前記不揮発性半導体メモリに記憶されるデータの前記ホスト装置への読み出しを制御することを特徴とする。 A data management method for a semiconductor memory card according to another aspect of the present invention includes a nonvolatile semiconductor memory that can store data received from a host device, data received from the host device, and data stored in the nonvolatile semiconductor memory. A data management method for a semiconductor memory card comprising a card controller for managing file information by a database engine, wherein an application interface unit included in the database engine interprets a database inquiry operation statement received from the host device. In accordance with the database query operation statement interpreted by the application interface unit, the data management system unit included in the database engine stores the file information stored in the nonvolatile semiconductor memory in the database. The file system unit included in the database engine writes the data received from the host device to the nonvolatile semiconductor memory and is stored in the nonvolatile semiconductor memory according to the instructions of the data management system unit. It controls the reading of data to the host device.
また、本発明の更に別態様に係るデータベースエンジンは、ホスト装置から受信したデータを記憶可能な不揮発性半導体メモリを有する半導体メモリカードに、前記ホスト装置から受信したデータベース問い合わせ操作文を解釈するアプリケーションインタフェース機能と、前記アプリケーションインタフェース機能により解釈されたデータベース問い合わせ操作文に従って、前記不揮発性半導体メモリに記憶されるファイルの情報をデータベースを使用して管理するデータ管理システム機能と、前記データ管理システム機能からの指示に従って、前記ホスト装置から受信したデータの前記不揮発性半導体メモリへの書き込み及び前記不揮発性半導体メモリに記憶されるデータの前記ホスト装置への読み出しを制御するファイルシステム機能とを実現させることを特徴とする。 The database engine according to yet another aspect of the present invention provides an application interface that interprets a database inquiry operation statement received from the host device in a semiconductor memory card having a nonvolatile semiconductor memory capable of storing data received from the host device. A data management system function for managing information on files stored in the nonvolatile semiconductor memory using a database in accordance with a database query operation statement interpreted by the function and the application interface function; and from the data management system function A file system function for controlling writing of data received from the host device to the nonvolatile semiconductor memory and reading of data stored in the nonvolatile semiconductor memory to the host device in accordance with instructions Characterized in that to realize.
また、本発明の更に別態様に係る半導体メモリシステムは、ホスト装置に取り付け可能な半導体メモリシステムにおいて、前記ホスト装置から受信したデータを記憶可能な不揮発性半導体メモリと、前記半導体メモリカードの動作を制御するカードコントローラとを具備し、前記ホスト装置から受信したデータ及び前記不揮発性半導体メモリに記憶されるファイルの情報は、前記カードコントローラに組み込まれたデータベースエンジンにより管理され、当該データベースエンジンは前記ホスト装置から受信したデータベース問い合わせ操作文を解釈することにより動作することを特徴とする。 According to still another aspect of the present invention, there is provided a semiconductor memory system that can be attached to a host device. The semiconductor memory system includes a nonvolatile semiconductor memory that can store data received from the host device, and an operation of the semiconductor memory card. A card controller for controlling, data received from the host device and file information stored in the nonvolatile semiconductor memory are managed by a database engine built in the card controller, and the database engine It operates by interpreting a database inquiry operation statement received from the apparatus.
本発明では、不揮発性半導体メモリの効率の良い制御を行うことが可能な半導体メモリカード、半導体メモリカードのデータ管理方法、データベースエンジン、及び半導体メモリシステムを提供できる。 The present invention can provide a semiconductor memory card, a data management method for a semiconductor memory card, a database engine, and a semiconductor memory system that can perform efficient control of a nonvolatile semiconductor memory.
以下、本発明の実施形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本実施形態に係る半導体メモリカード(以下、メモリカードと称す)1とホスト装置2との関係を示すブロック図である。本実施形態では、ホスト装置2としてデジタルスチルカメラを想定し、メモリカード1として画像ファイルの名前、撮影日時等の情報をデータベースで管理するデジタルスチルカメラ専用メモリカードを想定する。
FIG. 1 is a block diagram showing a relationship between a semiconductor memory card (hereinafter referred to as a memory card) 1 and a
メモリカード1は、メモリカード1の動作を制御するカードコントローラ11、及びホスト装置2から送信されるデータ(画像ファイル等)を記憶する不揮発性半導体メモリ、例えばNAND型フラッシュメモリ12を有する。ホスト装置2から受信したデータ及びNAND型フラッシュメモリ12に記憶されるファイルの情報は、カードコントローラ11に組み込まれたデータベースエンジン100により管理される。
The
ホスト装置2は、メモリカード1をデータベース問い合わせ操作文により制御するアプリケーションプログラム21、及び撮影した画像等を表示する液晶ディスプレイ22を有する。また、アプリケーションプログラム21は、メモリカード1から受信した情報をユーザーが認識し易い形に処理して液晶ディスプレイ22上に表示する機能を有する。
The
図1に示すように、ホスト装置2はアプリケーションプログラム21によりメモリカード1に対する問い合わせを行い、メモリカード1は、回答が必要な問い合わせについて、データベースエンジン100によりホスト装置2に対する回答を行う。
As shown in FIG. 1, the
次に、メモリカード1内部のハード構成に関して説明する。図2は、メモリカード1内部のハード構成を示すブロック図である。
Next, the hardware configuration inside the
図2に示すように、カードコントローラ11はホストインタフェース部13、MPU(Micro Processing Unit)14、メモリインタフェース部15、ROM16(Read Only Memory)、RAM17(Random Access Memory)、及びバッファ18を有する。
As shown in FIG. 2, the
ホストインタフェース部13は、カードコントローラ11とホスト装置2との間のインタフェース処理を行い、メモリインタフェース部15は、カードコントローラ11とNAND型フラッシュメモリ12との間のインタフェース処理を行う。
The
MPU14は、カードコントローラ11の動作を制御し、例えばメモリカード1が電源供給を受けた際に、ROM16に格納される制御プログラムをRAM17上に読み出して所定の処理を実行する。
The MPU 14 controls the operation of the
ROM16は、MPU14により制御される制御プログラム等を格納し、RAM17は、MPU14の作業エリアとして使用される。
The
バッファ18は、ホスト装置2から送信されるデータをNAND型フラッシュメモリ12へ書き込む際に、一定量のデータを一時的に記憶したり、NAND型フラッシュメモリ12から読み出されるデータをホスト装置2へ送り出す際に一定量のデータを一時的に記憶したりする。
The
NAND型フラッシュメモリ12は、消去時のブロックが例えば128ページからなり、256kBのデータサイズを有している(ここでは冗長部の容量は無視している)。尚、これに限らず、ブロックサイズが16kB等のNAND型フラッシュメモリを使用することも可能である。
In the
また、NAND型フラッシュメモリ12は、1つのメモリセルに1ビットの情報を記憶する2値メモリであっても良いし、1つのメモリセルに2ビット以上の情報を記憶する多値メモリであっても良い。また、NAND型フラッシュメモリ12及びカードコントローラ11は、基板上に個別に設けられていても良いし、同一のLSI基板上に配置されていても良い。
The
本実施形態においては、MPU14が、ROM16にプログラムとして格納されるデータベースエンジン100をRAM17上に読み出し、ホスト装置2から受信したデータ及びNAND型フラッシュメモリ12に記憶されるファイルの情報を管理する。
In the present embodiment, the MPU 14 reads the
尚、メモリカード1内部のハード構成は上記の構成に限るものではない。従って、データベースエンジン100が格納される記録媒体も当然上記ROM16に限定されるものではない。
The hardware configuration inside the
次に、メモリカード1内部で動作するデータベースエンジン100の構成について説明する。図3は、データベースエンジン100と、ホスト装置2から受信したデータ及びNAND型フラッシュメモリ12に記憶されるファイルの情報との関係を示す。データベースエンジン100は、アプリケーションインタフェース部101、データ管理システム部102、ファイルシステム部103を有する。また、NAND型フラッシュメモリ12内部には後述するデータベース104を構成するデータベースファイル、及び画像ファイル等が記憶されている。
Next, the configuration of the
アプリケーションインタフェース部101は、ホスト装置2のアプリケーションプログラム21から受信したデータベース問い合わせ操作文を、データベースエンジン100内で実行解釈可能な内部形式へと変換する。データベース問い合わせ操作文は、任意の文字列等で適宜定義された言語を使用すれば良く、例えばSQL言語等により記述しても良い。SQL言語は、リレーショナルデータベースの管理を行うデータベースエンジンに対して一般的に使用される言語であり、データ定義言語、データ操作言語、及びデータ制御言語に分類される。
The
データ管理システム部102は、アプリケーションインタフェース部101で内部形式へ変換されたデータベース問い合わせ操作文に従って、図4に示すデータベース104内部のテーブル105に対して、NAND型フラッシュメモリ12内部に記憶される画像ファイルの各種情報の追加、更新、削除等の操作を行う。データベース104は、図4に示すように、例えばファイル名、撮影日時、及び後述するNAND型フラッシュメモリ12内部での画像ファイルの格納位置を示すアドレスを項目に設定したテーブル105を含む。尚、テーブル105の項目はファイル名、撮影日時、アドレスに限る必要は無く、ファイルサイズやファイル属性等の各種情報を必要に応じて項目に設定すれば良い。
The data
更に、データ管理システム部102は、NAND型フラッシュメモリ12に記憶されるデータベース104内の情報の更新、及びNAND型フラッシュメモリ12に対する画像ファイルの書き込み、読み出し等を行うようファイルシステム部103に指示する。
Further, the data
また、データベース104には任意の項目を設定した複数のテーブル105が存在し、これらが互いに関連付けられることでリレーショナルデータベースを構成している。
The
ファイルシステム部103は、データ管理システム部102の指示に従って、ホスト装置2から受信したデータのNAND型フラッシュメモリ12への書き込み及びNAND型フラッシュメモリ12に記憶されるデータのホスト装置2への読み出しを制御する。また、ファイルシステム部103は、ファイルの入出力の単位となるデータ管理サイズを決め、データベース104を構成するファイルや画像ファイルのNAND型フラッシュメモリ12内部における格納位置の管理を行う。
The
次に、メモリカード1の動作に関して説明する。
Next, the operation of the
図5は、NAND型フラッシュメモリ12に記憶されている画像ファイルのリスト読出し動作を示す。ホスト装置2のアプリケーションプログラム21からメモリカード1の図示せぬデータベースエンジン100に送信されるデータベース問い合わせ操作文には、全ファイルリスト読出し要求が含まれる。図5において、“RA”は全ファイルリスト読出し要求を示す。
FIG. 5 shows a list read operation of the image file stored in the
データベースエンジン100内のアプリケーションインタフェース部101は、受信したデータベース問い合わせ操作文を、データベースエンジン100で実行解釈可能な内部形式へと変換する。データ管理システム部102は、アプリケーションインタフェース部101で内部形式に変換された指示に従い、データベース104内部のテーブル105からファイル名、撮影日時の項目を検索し、ファイルシステム部103に対しデータベース104からのデータ読み出しを指示する。ファイルシステム部103は、データ管理システム部102の指示に従い、NAND型フラッシュメモリ12内のデータベース104からデータの読み出しを行う。読み出されたデータは、全ファイルリストを含む回答としてホスト装置2のアプリケーションプログラム21に送信される。
The
ホスト装置2のアプリケーションプログラム21は、受信した全ファイルリストをユーザーが認識し易い形に加工し、液晶ディスプレイ22に表示する。以上の動作により、ユーザーはメモリカード1に記憶された画像ファイルの情報を確認することができる。
The
次に、図6を用いてメモリカード1への画像ファイル追加動作を説明する。ユーザーが撮影を終えると、アプリケーションプログラム21は撮影した画像の保存の要否の選択を要求する。ユーザーが保存を選択した場合は、画像ファイルをメモリカード1に追加する動作を実行する。この時、アプリケーションプログラム21から図示せぬデータベースエンジン100に送信されるデータベース問い合わせ操作文には、データ追加要求であること、ファイル名、撮影日時、及び追加画像データに関する情報が含まれる。
Next, an image file adding operation to the
図6において、“W”はデータ追加要求、“00010.jpg”はファイル名、“20060720151230”は撮影日時、及び“画像データA”は追加画像データを示す。データベースエンジン100内のアプリケーションインタフェース部101は、このデータベース問い合わせ操作文をデータベースエンジン100内部で実行解釈可能な内部形式に変換する。データ管理システム部102は、アプリケーションインタフェース部101で変換された情報に従い、データベース104内のテーブル105にファイル情報を追加し、NAND型フラッシュメモリ12内のデータベース104の更新、及びNAND型フラッシュメモリ12への画像ファイルの書き込みをファイルシステム部103に対し指示する。
In FIG. 6, “W” indicates a data addition request, “00010.jpg” indicates a file name, “20060720151230” indicates a shooting date, and “image data A” indicates additional image data. The
ファイルシステム部103はデータ管理システム部102の指示に従い、NAND型フラッシュメモリ12内のデータベース104の更新、及びNAND型フラッシュメモリ12への画像ファイルの書き込みを行う。ファイルシステム部103がNAND型フラッシュメモリ12に記憶されるデータの格納位置を管理する方法に関しては後述する。
The
次に、図7を用いてメモリカード1からの画像ファイル読出し動作を説明する。ユーザーは、全ファイルリスト読み出し操作文により液晶ディスプレイ22に表示されたファイルリストから、表示したい画像ファイルを選択する。この時、アプリケーションプログラム21から図示せぬデータベースエンジン100に送信されるデータベース問い合わせ操作文には、読出し要求であること、読み出したい画像データのファイル名が含まれる。
Next, an image file reading operation from the
図7において、“R”は読出し要求、“00009.jpg”は読み出したいファイル名を示す。アプリケーションインタフェース部101はこのデータベース問い合わせ操作文をデータベースエンジン100内部で実行解釈可能な内部形式に変換する。データ管理システム部102は、アプリケーションインタフェース部101で変換された情報に従い、データベース104内のテーブル105の検索を行う。
In FIG. 7, “R” indicates a read request, and “00009.jpg” indicates a file name to be read. The
データ管理システム部102は、テーブル105からファイル名の合致する行を探し出し、対応するアドレスを参照してNAND型フラッシュメモリ12からの画像ファイルの読み出しをファイルシステム部103に対し指示する。ファイルシステム部103はデータ管理システム部102の指示に従い、画像ファイルの読み出しを行う。読み出された画像ファイルは回答としてアプリケーションプログラム21に送信される。アプリケーションプログラム21は、受け取った情報をユーザーの認識しやすい形に加工し、液晶ディスプレイ22に表示する。
The data
次に、図8を用いてメモリカード1からの画像ファイル削除動作を説明する。ユーザーは全ファイルリスト読み出し操作文により液晶ディスプレイ22に表示されたファイルリストの中から、削除したい画像ファイルを選択する。この時、アプリケーションプログラム21から図示せぬデータベースエンジン100に送信されるデータベース問い合わせ操作文には、削除要求であること、削除したい画像データのファイル名が含まれる。
Next, the image file deletion operation from the
図8において、“D”は削除要求、“00008.jpg”は削除したいファイル名を示す。アプリケーションインタフェース部101はこのデータベース問い合わせ操作文を内部形式に変換する。データ管理システム部102は、アプリケーションインタフェース部101で変換された情報に従い、データベース104内のテーブル105の検索を行う。データ管理システム部102は、テーブル105からファイル名の合致する行を探し出し、対応するアドレスを参照してNAND型フラッシュメモリ12からの画像ファイルの削除をファイルシステム部103に対し指示する。ファイルシステム部103はデータ管理システム部102の指示に従い、画像ファイルの削除を行う。
In FIG. 8, “D” indicates a deletion request, and “00008.jpg” indicates a file name to be deleted. The
次に、ファイルシステム部103がNAND型フラッシュメモリ12に記憶されるデータの格納位置を管理する方法について説明する。ファイルシステム部103は、NAND型フラッシュメモリ12の記憶領域を消去可能単位であるブロックBKのサイズの1/4倍、即ち64kBのサイズを有する記録ユニットRUで管理する。即ち、ファイルシステム部103はファイルを記録ユニットRUの大きさのデータに分割して書き込みを行う。尚、記録ユニットRUのサイズはブロックBKのサイズの1/4倍に限るものではなく、ブロックBKのサイズの1/n(nは偶数)倍であれば良い。
Next, a method for managing the storage location of data stored in the
以下、画像ファイルのデータ格納位置の管理に関して説明する。データベース104を構成する各種ファイルは同様に管理されるため省略する。まず、画像ファイルA、画像ファイルB、画像ファイルC、及び画像ファイルDをNAND型フラッシュメモリ12に書き込む場合を考える。画像ファイルAは記録ユニットRU3個分、画像ファイルBは記録ユニットRU2個分、画像ファイルCは記録ユニットRU2個分、及び画像ファイルDは記録ユニットRU1個分であり、これらはそれぞれ1個のブロックBKに収まるとする。
Hereinafter, management of the data storage position of the image file will be described. Various files that make up the
図9に示すように、これらのファイルをNAND型フラッシュメモリ12に書き込む場合、ファイルシステム部103は各ファイルを記録ユニットRUのサイズに分割し、分割された各データを空いているブロックBKの先頭に配置していく。このように、ブロックBKのサイズ以下のファイルが、複数のブロックBKに跨って配置されないようにデータの書き込みが行われる。
As shown in FIG. 9, when writing these files to the
次に、1個のブロックBKに収まらないサイズであるファイルEの書き込みが発生した場合を考える。ファイルEは、記録ユニットRU9個分のサイズである。まず、NAND型フラッシュメモリ12の記憶領域に記録ユニットRU9個分の連続した空き領域を確保できる場合は、その領域に対し分割した各データを配置する。
Next, consider a case where writing of a file E having a size that does not fit in one block BK occurs. File E is the size of nine recording units RU. First, when a continuous free area for nine recording units RU can be secured in the storage area of the
一方、NAND型フラッシュメモリ12の記憶領域に記録ユニットRU9個分の連続した領域を確保できない場合、画像ファイルA乃至画像ファイルDを構成するデータを、各ファイルサイズを考慮して再配置し、空きとなったブロックに連続してファイルEを構成するデータを書き込む。
On the other hand, when a continuous area for 9 recording units RU cannot be secured in the storage area of the
このように、ファイルシステム部103は、1個のファイルを構成する記録ユニットRUのサイズに分割されたデータが、複数の連続しないブロックBKに跨って配置されないように書き込みを制御しているため、従来に比べファイル書き換え時にアクセスしなければならないブロックBKの数が減少し、書き換え時の効率が良くなる。
Thus, the
以上のように、本実施形態に係るメモリカード1では、カードコントローラ11にデータベースエンジン100を組み込んだことにより、ホスト装置2がファイルシステムを実装する必要が無く、データベース問い合わせ操作文により簡単な定義文や操作文を与えるだけでメモリカード1にアクセスすることが可能となり、また、NAND型フラッシュメモリ12に記憶された画像ファイルを効率良く検索できる。
As described above, in the
また、データベースエンジン100は独自のファイルシステム部103を有するので、従来ホスト装置が半導体メモリカードを制御する為に使用していたFATファイルシステムを用いる必要は無く、上述したようなNAND型フラッシュメモリ12の特性に適した制御を行うことが可能であり、高速なデータ書き換えを実現できる。
Further, since the
また、データベースエンジン100は独自のファイルシステム部103を有するので、例えば半導体メモリカードに内蔵されるNAND型フラッシュメモリの仕様が変わった場合でも、ホスト装置に影響を及ぼすこと無く、NAND型フラッシュメモリに適した制御方法を採用することができる。
Since the
また、従来半導体メモリカードで使用されていたFATファイルシステムの利用に適するための複雑な機能は不要となる。 In addition, complicated functions for making use of the FAT file system conventionally used in the semiconductor memory card become unnecessary.
また、NAND型フラッシュメモリ12に対するデータ書き込み方法は、本実施形態において説明した方法に限らず、同じブロックBK内で先頭ページから連続したページに順次シーケンシャルにデータが書き込まれるような方法等であっても良く、適宜ファイルシステムを設計することが可能である。
The data writing method to the
また、本実施形態に係るメモリカード1では、データベースエンジン100がファイルシステム部103を有していたが、これに限らず、データベースエンジン100がNAND型フラッシュメモリ12をRawデバイスとして直接制御しても良い。
In the
また、本実施形態に係るメモリカード1では、データベース104はリレーショナルデータベースであるとしたが、これに限らず、階層型、ネットワーク型等、他の種類のデータベースを使用しても良い。
In the
また、本実施形態に係るメモリカード1では、画像データをデータベース104に含まない場合について説明したが、これに限らず、画像データをデータベース104内部で管理するようにデータベースエンジン100を設計しても良い。
In the
また、全ファイルリスト読み出し操作時に、同時に対応する画像データのサムネイル画像を読み出し、液晶ディスプレイ22上に表示する等の改良を加えても良い。
Further, it is possible to add improvements such as reading out thumbnail images of corresponding image data and displaying them on the
また、データベース104に対するアクセス権の設定、データベースエンジン100内部への暗号化エンジンの実装等によりセキュリティ機能を高める等の改良を加えても良い。
Further, an improvement such as an enhancement of the security function may be added by setting an access right for the
また、ファイル名を指定した検索以外にも、撮影日時の範囲を指定した検索、日付を指定した検索等の機能を適宜加えても良い。 In addition to a search specifying a file name, functions such as a search specifying a shooting date range, a search specifying a date, and the like may be added as appropriate.
また、本実施形態に係るメモリカード1では、NAND型フラッシュメモリを有する半導体メモリカードについて説明したが、これに限らず、AND型フラッシュメモリ、NOR型フラッシュメモリ等の不揮発性半導体メモリを有する半導体メモリカードに対しても本発明は適用可能である。この場合、それぞれのメモリの特性に適したデータベースエンジンを半導体メモリカード内部に組み込めば良い。
Further, in the
また、本実施形態に係るメモリカード1では、デジタルスチルカメラで使用した際の動作について説明を行ったが、他にも音楽プレイヤー、小型ノートパソコン、PDA、携帯電話等の各種電子機器に対しても用いることができる。この場合、それぞれの用途に応じたデータベースエンジンを半導体メモリカード内部に組み込めば良い。
In the
また、データベースエンジン100を組み込んだカードコントローラ11及びカードコントローラ11により制御されるNAND型フラッシュメモリ12を有するメモリカード1を各種電子機器に取り付けて使用する場合に限らず、今後NAND型フラッシュメモリ12の更なる大容量化が進んだ場合には、カードコントローラ11及びNAND型フラッシュメモリ12を有する半導体メモリシステムを各種電子機器に直接組み込んで使用することも可能である。
Further, the present invention is not limited to the case where the
1 半導体メモリカード
2 ホスト装置
11 カードコントローラ
12 NAND型フラッシュメモリ
13 ホストインタフェース部
14 MPU
15 メモリインタフェース部
16 ROM
17 RAM
18 バッファ
21 アプリケーションプログラム
22 液晶ディスプレイ
100 データベースエンジン
101 アプリケーションインタフェース部
102 データ管理システム部
103 ファイルシステム部
104 データベース
105 テーブル
BK ブロック
RU 記録ユニット
DESCRIPTION OF
15
17 RAM
18
Claims (7)
前記ホスト装置から受信したデータを記憶可能な不揮発性半導体メモリと、
前記半導体メモリカードの動作を制御するカードコントローラとを具備し、
前記ホスト装置から受信したデータ及び前記不揮発性半導体メモリに記憶されるファイルの情報は、前記カードコントローラに組み込まれたデータベースエンジンにより管理され、当該データベースエンジンは前記ホスト装置から受信したデータベース問い合わせ操作文を解釈することにより動作することを特徴とする半導体メモリカード。 In a semiconductor memory card that can be detachably attached to a host device,
A nonvolatile semiconductor memory capable of storing data received from the host device;
A card controller for controlling the operation of the semiconductor memory card,
Data received from the host device and file information stored in the nonvolatile semiconductor memory are managed by a database engine incorporated in the card controller, and the database engine stores a database inquiry operation statement received from the host device. A semiconductor memory card which operates by being interpreted.
前記ホスト装置から受信したデータベース問い合わせ操作文を解釈するアプリケーションインタフェース部と、
前記不揮発性半導体メモリに記憶されるファイルの情報を、データベースを使用して管理するデータ管理システム部と、
前記ホスト装置から受信したデータの前記不揮発性半導体メモリへの書き込み及び前記不揮発性半導体メモリに記憶されるデータの前記ホスト装置への読み出しを制御するファイルシステム部とを具備することを特徴とする請求項1に記載の半導体メモリカード。 The database engine is
An application interface unit for interpreting a database query operation statement received from the host device;
A data management system unit for managing file information stored in the nonvolatile semiconductor memory using a database;
And a file system unit that controls writing of data received from the host device to the nonvolatile semiconductor memory and reading of data stored in the nonvolatile semiconductor memory to the host device. Item 14. A semiconductor memory card according to Item 1.
前記データベースエンジンが有するアプリケーションインタフェース部が、前記ホスト装置から受信したデータベース問い合わせ操作文を解釈し、
前記アプリケーションインタフェース部により解釈されたデータベース問い合わせ操作文に従って、前記データベースエンジンが有するデータ管理システム部が、前記不揮発性半導体メモリに記憶されるファイルの情報をデータベースを使用して管理し、
前記データ管理システム部の指示に従って、前記データベースエンジンが有するファイルシステム部が、前記ホスト装置から受信したデータの前記不揮発性半導体メモリへの書き込み及び前記不揮発性半導体メモリに記憶されるデータの前記ホスト装置への読み出しを制御することを特徴とする半導体メモリカードのデータ管理方法。 A semiconductor memory comprising: a nonvolatile semiconductor memory capable of storing data received from a host device; and a card controller for managing data received from the host device and file information stored in the nonvolatile semiconductor memory by a database engine A card data management method,
The application interface unit of the database engine interprets a database inquiry operation statement received from the host device,
In accordance with the database query operation statement interpreted by the application interface unit, the data management system unit of the database engine manages information on files stored in the nonvolatile semiconductor memory using a database,
In accordance with an instruction from the data management system unit, the file system unit of the database engine writes the data received from the host device into the nonvolatile semiconductor memory and the host device stores data stored in the nonvolatile semiconductor memory A data management method for a semiconductor memory card, characterized by controlling reading to the memory.
前記ホスト装置から受信したデータベース問い合わせ操作文を解釈するアプリケーションインタフェース機能と、
前記アプリケーションインタフェース機能により解釈されたデータベース問い合わせ操作文に従って、前記不揮発性半導体メモリに記憶されるファイルの情報をデータベースを使用して管理するデータ管理システム機能と、
前記データ管理システム機能からの指示に従って、前記ホスト装置から受信したデータの前記不揮発性半導体メモリへの書き込み及び前記不揮発性半導体メモリに記憶されるデータの前記ホスト装置への読み出しを制御するファイルシステム機能とを実現させることを特徴とするデータベースエンジン。 In a semiconductor memory card having a nonvolatile semiconductor memory capable of storing data received from the host device,
An application interface function for interpreting a database query operation statement received from the host device;
A data management system function for managing file information stored in the nonvolatile semiconductor memory using a database according to a database inquiry operation statement interpreted by the application interface function;
A file system function for controlling writing of data received from the host device to the nonvolatile semiconductor memory and reading of data stored in the nonvolatile semiconductor memory to the host device in accordance with an instruction from the data management system function A database engine characterized by realizing
前記ホスト装置から受信したデータを記憶可能な不揮発性半導体メモリと、
前記半導体メモリカードの動作を制御するカードコントローラとを具備し、
前記ホスト装置から受信したデータ及び前記不揮発性半導体メモリに記憶されるファイルの情報は、前記カードコントローラに組み込まれたデータベースエンジンにより管理され、当該データベースエンジンは前記ホスト装置から受信したデータベース問い合わせ操作文を解釈することにより動作することを特徴とする半導体メモリシステム。 In a semiconductor memory system that can be attached to a host device,
A nonvolatile semiconductor memory capable of storing data received from the host device;
A card controller for controlling the operation of the semiconductor memory card,
Data received from the host device and file information stored in the nonvolatile semiconductor memory are managed by a database engine incorporated in the card controller, and the database engine stores a database inquiry operation statement received from the host device. A semiconductor memory system which operates by interpretation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007014865A JP2008181381A (en) | 2007-01-25 | 2007-01-25 | Semiconductor memory card, data management method for semiconductor memory card, database engine, and semiconductor memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007014865A JP2008181381A (en) | 2007-01-25 | 2007-01-25 | Semiconductor memory card, data management method for semiconductor memory card, database engine, and semiconductor memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008181381A true JP2008181381A (en) | 2008-08-07 |
Family
ID=39725233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007014865A Pending JP2008181381A (en) | 2007-01-25 | 2007-01-25 | Semiconductor memory card, data management method for semiconductor memory card, database engine, and semiconductor memory system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008181381A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4881469B1 (en) * | 2010-09-22 | 2012-02-22 | 株式会社東芝 | Information processing apparatus and information processing method |
WO2015162752A1 (en) * | 2014-04-24 | 2015-10-29 | 株式会社日立製作所 | Flash module provided with database operation unit, and storage device |
TWI622044B (en) * | 2016-09-06 | 2018-04-21 | 合肥兆芯電子有限公司 | Memory managing method, memory control circuit unit and memory storage apparatus |
-
2007
- 2007-01-25 JP JP2007014865A patent/JP2008181381A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4881469B1 (en) * | 2010-09-22 | 2012-02-22 | 株式会社東芝 | Information processing apparatus and information processing method |
WO2015162752A1 (en) * | 2014-04-24 | 2015-10-29 | 株式会社日立製作所 | Flash module provided with database operation unit, and storage device |
TWI622044B (en) * | 2016-09-06 | 2018-04-21 | 合肥兆芯電子有限公司 | Memory managing method, memory control circuit unit and memory storage apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100484147B1 (en) | Flash memory management method | |
CN1821977B (en) | Apparatus and methods using invalidity indicators for buffered memory | |
US7069393B2 (en) | Storage system providing file aware caching and file aware remote copy | |
EP1729218A1 (en) | Nonvolatile storage system | |
JP2008016003A (en) | Memory storage device and its method for reading and writing data | |
JP2006277737A (en) | Nonvolatile storage device having address predicting function | |
JP2013030254A (en) | Semiconductor storage device and information processing device | |
US8433871B2 (en) | Data copy management for faster reads | |
KR20160105624A (en) | Data processing system and operating method thereof | |
JP5874525B2 (en) | Control device, storage device, and storage control method | |
JP4854973B2 (en) | Storage control program, storage control method, storage control device, and storage control system | |
JP2008181381A (en) | Semiconductor memory card, data management method for semiconductor memory card, database engine, and semiconductor memory system | |
US11176089B2 (en) | Systems and methods for implementing dynamic file systems | |
US6532513B1 (en) | Information recording and reproduction apparatus | |
US11132134B2 (en) | Flexible over-provisioning of storage space within solid-state storage devices (SSDs) | |
JP2007128448A (en) | File system and file information processing method | |
US11461225B2 (en) | Storage device, control method of storage device, and storage medium | |
JP2003271439A (en) | Information processing device and program | |
JP2008217208A (en) | Storage device, computer system and management method for storage device | |
US10776261B2 (en) | Storage apparatus managing system and storage apparatus managing method for increasing data reading speed | |
KR100801072B1 (en) | Flash memory device, mapping apparatus and method for the same | |
JP2010003150A (en) | Memory controller and method for managing data in flash memory | |
JP2013109404A (en) | Information processing device | |
TWI707235B (en) | Storage apparatus managing system and storage apparatus managing method | |
US20200334141A1 (en) | Storage apparatus managing system and storage apparatus managing method |