半導体記憶装置へのデータの書き込み、及び削除を、前記半導体記憶装置における物理アドレスと前記物理アドレスに対応させた論理アドレスとを用いて実行する記憶制御装置であって、同一の論理アドレスに対してデータを書き込みする度に、その都度異なる論理アドレスに変換する変換手段と、前記同一の論理アドレスと、当該同一の論理アドレスが前記変換手段により変換された複数の論理アドレスとを対応付けたアドレス変換情報を保持する保持手段と、前記変換手段により変換された論理アドレスに対応する物理アドレスにデータを書き込むように前記半導体記憶装置を制御する書き込み制御手段と、前記同一の論理アドレスに対して記憶されたデータを削除する場合には、前記保持手段により保持された前記同一の論理アドレスが変換された複数の論理アドレスに対応する物理アドレスに記憶されたデータを削除するように前記半導体記憶装置を制御する削除制御手段とを備えたことを特徴とする記憶制御装置。前記変換手段は、前記同一の論理アドレスを未使用の論理アドレスに変換することを特徴とする請求項1記載の記憶制御装置。前記半導体記憶装置における未使用の領域を予め確保しておき、前記変換手段は、前記同一の論理アドレスを前記未使用の領域に属する物理アドレスに対応する論理アドレスに変換することを特徴とする請求項1記載の記憶制御装置。前記保持手段は、前記アドレス変換情報を前記半導体記憶装置に記憶することにより前記アドレス変換情報を保持することを特徴とする請求項1~3のいずれか1項に記載の記憶制御装置。半導体記憶装置へのデータの書き込み、及び削除を、前記半導体記憶装置における物理アドレスと前記物理アドレスに対応させた論理アドレスとを用いて実行する記憶制御装置の制御方法であって、同一の論理アドレスに対してデータを書き込みする度に、その都度異なる論理アドレスに変換する変換ステップと、前記同一の論理アドレスと、当該同一の論理アドレスが前記変換ステップにより変換された複数の論理アドレスとを対応付けたアドレス変換情報を保持する保持ステップと、前記変換ステップにより変換された論理アドレスに対応する物理アドレスにデータを書き込むように前記半導体記憶装置を制御する書き込み制御ステップと、前記同一の論理アドレスに対して記憶されたデータを削除する場合には、前記保持ステップに保持された前記同一の論理アドレスが変換された複数の論理アドレスに対応する物理アドレスに記憶されたデータを削除するように前記半導体記憶装置を制御する削除制御ステップとを備えたことを特徴とする制御方法。半導体記憶装置へのデータの書き込み、及び削除を、前記半導体記憶装置における物理アドレスと前記物理アドレスに対応させた論理アドレスとを用いて実行する記憶制御装置の制御方法をコンピュータに実行させるためのプログラムであって、前記制御方法は、同一の論理アドレスに対してデータを書き込みする度に、その都度異なる論理アドレスに変換する変換ステップと、前記同一の論理アドレスと、当該同一の論理アドレスが前記変換ステップにより変換された複数の論理アドレスとを対応付けたアドレス変換情報を保持する保持ステップと、前記変換ステップにより変換された論理アドレスに対応する物理アドレスにデータを書き込むように前記半導体記憶装置を制御する書き込み制御ステップと、前記同一の論理アドレスに対して記憶されたデータを削除する場合には、前記保持ステップに保持された前記同一の論理アドレスが変換された複数の論理アドレスに対応する物理アドレスに記憶されたデータを削除するように前記半導体記憶装置を制御する削除制御ステップとを備えたことを特徴とするプログラム。上記ウェアレベリングによれば、ホストから同じLBAに対して複数回の書き込み指示があった場合、ウェアレベリングによってマップ上のLBAとPBAの接続情報が書き換えられることとなる。従って、マップに記録されている接続情報は一対だけであるため、LBAと直近の書き込みに使用したPBAの情報だけしか存在しない。この状態において、ホストから同LBAの削除指示があった場合、マップの接続情報から直近のPBAに書き込んであるデータは削除できるが、同LBAと接続されていた以前のPBAのデータは削除されない。このように、フラッシュメモリの負荷均一化のためウェアレベリングは欠かせないことではあるが、ウェアレベリングが実施されていると、フラッシュメモリ上にデータが残されたままになってしまうという課題がある。本発明の目的は、ウェアレベリングにより半導体記憶装置に記憶されたデータを適切に削除する記憶制御装置及びその制御方法、並びにプログラムを提供することにある。上記目的を達成するために、請求項1の記憶制御装置は、半導体記憶装置へのデータの書き込み、及び削除を、前記半導体記憶装置における物理アドレスと前記物理アドレスに対応させた論理アドレスとを用いて実行する記憶制御装置であって、同一の論理アドレスに対してデータを書き込みする度に、その都度異なる論理アドレスに変換する変換手段と、前記同一の論理アドレスと、当該同一の論理アドレスが前記変換手段により変換された複数の論理アドレスとを対応付けたアドレス変換情報を保持する保持手段と、前記変換手段により変換された論理アドレスに対応する物理アドレスにデータを書き込むように前記半導体記憶装置を制御する書き込み制御手段と、前記同一の論理アドレスに対して記憶されたデータを削除する場合には、前記保持手段により保持された前記同一の論理アドレスが変換された複数の論理アドレスに対応する物理アドレスに記憶されたデータを削除するように前記半導体記憶装置を制御する削除制御手段とを備えたことを特徴とする。本発明によれば、ウェアレベリングにより半導体記憶装置に記憶されたデータを適切に削除する記憶制御装置及びその制御方法、並びにプログラムを提供することができる。以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、4種類の実施の形態が説明される。いずれの実施例においても、本実施の形態に係る記憶制御装置は、半導体記憶装置へのデータの書き込み、及び削除を、半導体記憶装置における物理アドレスと物理アドレスに対応させた論理アドレスとを用いて実行し、半導体記憶装置への書き込みはウェアレベリングにより記憶されるようになっている。[第1の実施の形態]図1は、本発明の実施の形態に係るアドレス変換装置101の概略構成を示す図である。図1において、アドレス変換装置記憶制御装置101は、ホスト側システム102と半導体記憶装置103に介在する。そしてアドレス変換装置101は、CPU104、起動ROM107、不揮発性メモリ109、バッファ108、ホスト側と接続するホストI/F105、及び半導体記憶装置103と接続するデバイスI/F106を含む。また、半導体記憶装置103は、フラッシュメモリ111とフラッシュメモリコントローラ110とを含む。CPU104は、ホストI/F105を介してホスト側システム102と、またデバイスI/F106を介して半導体記憶装置103と接続されており、ホスト側システム102と半導体記憶装置103の間で橋渡し処理を行う。またCPU104は起動ROM107にも接続しており、CPU104を起動するためのファームウェアを起動ROM107から読み出す。さらにCPU104は不揮発性メモリ109にも接続しており、論理アドレス以下、LBAというの変換時に使用するアドレス変換テーブルアドレス変換情報を保存する。またCPU104はバッファ108にも接続しており、LBAの変換時に読み書きするデータをバッファ108に一時保存できる。フラッシュメモリコントローラ110は、フラッシュメモリ111に接続されており、ホスト側システム102からの指示に従ってデータをフラッシュメモリ111に読み書きする。またフラッシュメモリコントローラ110は、ウェアレベリングを実施しており、フラッシュメモリコントローラ110内の図示しないマップを用いて、LBAと物理アドレス以下、PBAというの変換接続処理を行う。本実施の形態では、フラッシュメモリコントローラ110はアドレス変換装置101のCPU104に接続する。アドレス変換装置101は、ホスト側システム102からはデバイスとして見え、また半導体記憶装置103からはホストとして見える。ただし、アドレス変換装置101の動作形態はこの限りではなく、LBAを変換するフィルタとして動作する形態でもよい。図2は、アドレス変換装置101が用いるアドレス変換テーブル207の変化を示す図である。また、図2では、A、B、Cの順に、時系列に従ってアドレス変換テーブル207を並べている。さらに、Dは、後述する削除処理の説明で用いられる図である。図2において、変換前LBA201と変換後LBA202は、アドレス変換装置101が変換するLBAを示している。ここで、変換前LBA201に示されたLA19、LA20などは、変換前LBA201のアドレスを意味している。変換後LBA202に示されたLB30、LB31なども同様に、変換後LBA202のアドレスを意味している。さらに、PBA203はフラッシュメモリコントローラ110が管理するフラッシュメモリ111のPBA203を示しており、P30、P31などはPBA203のアドレスを意味している。従って、図2では、変化後LBAがLB30、LB31、LB32の順に変化していく様子が示されている。このように、アドレス変換テーブル207は、変換前LBA201と変換後LBA202の接続情報を記録しており、不揮発性メモリ108に保存されていることにより保持される。図3は、図1におけるアドレス変換装置101によって実行される書き込み処理の手順を示すフローチャートである。図3の書き込み処理は、アドレス変換装置101のCPU104により実行される。また、図3においては、図2ABCを参照して説明する。図3において、ホスト側システム102から、LA20への書き込みを受信するとステップS10、受信したデータをバッファ109に書き込むステップS12。そして、アドレス変換テーブル207内でLA20への書き込みが以前にあったか検索するステップS14。次いで、アドレス変換テーブル207にLA20があるか否を判別しステップS16、アドレス変換テーブル207にLA20がないときステップS16でNO、変換後LBA202の中から使用されていないアドレスを検索するステップS20。これは当然に同一の論理アドレスを未使用の論理アドレスに変換するための検索である。ここでは、図2AのようにLB30が未使用として見つけられたとする。次いで、LA20に対してLB30を設定しステップS22、アドレス変換テーブル207にLA20に対してLB30を書き込むステップS24。これと同時に、アドレス変換テーブル207のLB30に、最新フラグをつけるステップS26。その後、バッファ109に書き込みデータを取り出しステップS28、フラッシュメモリコントローラ110にLB30への書き込みを指示してステップS30、本処理を終了する。これにより、フラッシュメモリコントローラ110によりウェアレベリングが実施され、LB30への書き込みはP30への書き込みとして、フラッシュメモリ111に記録される。上記処理を実行した後、ホスト側システム102から、LA20への書き込みが指示されたとする。ホスト側システム102から、LA20への書き込みを受信するとステップS10、受信したデータをバッファ109に書き込むステップS12。そして、アドレス変換テーブル207内でLA20への書き込みが以前にあったか検索するステップS14。今回のLA20へ書き込み指示は1回目ではないため、CPU104はアドレス変換テーブル207にLA20を発見するステップS16でYES。この後、2回目の書き込みで分岐し、ステップS40に進む。そして、変換後LBA202の中から未使用のアドレスを検索するステップS40。ここでは、図2BのようにLB31が未使用として見つけられたとする。するとLA20に対してLB31を設定しステップS42、アドレス変換テーブル207に対してLB31を書き込むステップS44。これと同時に、最新フラグをアドレス変換テーブル207のLB31に変更するステップS46。その後、バッファ109に書き込みデータを取り出しステップS48、フラッシュメモリコントローラ110にLB31への書き込みを指示してステップS50、本処理を終了する。これにより、フラッシュメモリコントローラ110によりウェアレベリングが実施され、LB31への書き込みはP31への書き込みとして、フラッシュメモリ111に記録される。上記処理を実行した後、ホスト側システム102から、LA20への再々書き込みが指示されたとする。ホスト側システム102から、LA20への書き込みを受信するとステップS10、受信したデータをバッファ109に書き込むステップS12。そして、アドレス変換テーブル207内でLA20への書き込みが以前にあったか検索するステップS14。今回のLA20へ書き込み指示は1、2回目ではないため、CPU104はアドレス変換テーブル207にLA20を発見するステップS16でYES。この後、3回目の書き込みで分岐し、ステップS60に進む。そして、変換後LBA202の中から未使用のアドレスを検索するステップS60。ここでは、図2CのようにLB32が未使用として見つけられたとする。するとLA20に対してLB32を設定しステップS62、アドレス変換テーブル207に対してLB32を書き込むステップS64。これと同時に、最新フラグをアドレス変換テーブル207のLB32に変更するステップS66。その後、バッファ109に書き込みデータを取り出しステップS68、フラッシュメモリコントローラ110にLB32への書き込みを指示してステップS70、本処理を終了する。これにより、フラッシュメモリコントローラ110によりウェアレベリングが実施され、LB32への書き込みはP32への書き込みとして、フラッシュメモリ111に記録される。なお、上記の書き込み処理の説明では、簡単のためにLA20への2回目と3回目の書き込みを分けて説明したが、2回目と3回目はアドレス変換装置101が検索する変換後アドレスが異なるだけで、動作は変わらない。つまり実際には、LA20への初回書き込みと、LA20への2回目以降の書き込みという分岐だけでよい。また、LA20への3回目の書き込みまでしか記載していないが、LA20への書き込みが何回であっても、2回目以降の書き込み処理は変わらない。加えて、上記の書き込み例の説明ではLA20への書き込みしかしていないが、変換前LBA201のその他のアドレスへの書き込みの場合でも、動作は変わらない。続いて、図4を用いてホスト側システム102から読み出しが指示された場合について説明する。上述した図3のフローチャートにおいて、ステップS22、42、62が変換手段に対応する。ステップS24、44、64が保持手段に対応する。ステップS30、50、70が書き込み制御手段に対応する。従って、図3の処理によれば、同一の論理アドレスに対してデータを書き込みする度に、その都度異なる論理アドレスに変換しステップS22、42、62、同一の論理アドレスと、当該同一の論理アドレスが変換された複数の論理アドレスとを対応付けたアドレス変換情報を保持しステップS24、44、64、変換された論理アドレスに対応する物理アドレスにデータを書き込むように半導体記憶装置を制御するステップS30、50、70。図4は、図1におけるアドレス変換装置101によって実行される読み出し処理の手順を示すフローチャートである。図4の読み出し処理は、アドレス変換装置101のCPU104により実行される。また、図4は、ホスト側システム102からLA20の読み出しが指示された場合の手順を示している。さらに、以下に示されるフローチャートではホスト側システム102を単にホストと記載している。図4において、ホスト側システム102からLA20の読み出し指示を受信するとステップS80、アドレス変換テーブル207内でLA20に対応するアドレスのうち、最新フラグがついているものを検索するステップS82。この説明では、LB32に最新フラグがついているとする。次いで、アドレス変換テーブル207で最新フラグがLB32についていると認識するとステップS84、フラッシュメモリコントローラ110にLB32の読み出しを指示するステップS86。その後、フラッシュメモリコントローラ110がフラッシュメモリ111からLB32に対応するPBA203のデータを読み出し、CPU104に送信することで、フラッシュメモリ111からLB32のデータを受信するステップS88。LA20のデータとしてホスト側システム102に送信してステップS90、本処理を終了する。上記の読み出し処理の説明では、LA20への読み出ししかしていないが、変換前LBA201へのその他のアドレスに対する読み出しであっても、動作は変わらない。図5は、図1におけるアドレス変換装置101によって実行される削除処理の手順を示すフローチャートである。図5の削除処理は、アドレス変換装置101のCPU104により実行される。また、ホスト側システム102から削除が指示された場合について説明する。図5は、アドレス変換装置101を使用している形態で、ホスト側システム102からLA20の削除が指示された場合の手順を示している。図5において、CPU104がホスト側システム102から変換前LBALA20の削除指示を受信するとステップS92、アドレス変換テーブル207内でLA20に対応する変換後LBA202を検索するステップS94。次いで、アドレス変換テーブル207内でLA20に対応する変換後LBA202があるか否か判別しステップS96、LA20に対応する変換後LBA202があるときステップS96でYES、フラッシュメモリコントローラ110に変換後LBA20の削除を指示しステップS98削除制御手段、アドレス変換テーブル207から削除した変換後LBA202を削除するステップS100。アドレス変換テーブル207には、LA20に対する複数の変換後LBA202が登録されている可能性があるため、LA20の対応アドレスを検索するステップS94に戻る。上記の削除ループを繰り返し、アドレス変換テーブル207内にLA20に対応する変換後LBA202がなくなると、上記ステップS96でLA20に対応する変換後LBA202がなくなるのでステップS96でNO、本処理を終了する。この結果、図2Dのように、1つの変換前LBAへの削除指示が、複数の変換後アドレスへの削除指示に変換されることになる。上記の削除処理の説明ではLA20への削除しかしていないが、変換前LBA201に対するその他の変換後LBA202に対する削除であっても、動作は変わらない。加えて、上記の書き込み、読み出し、削除の動作の任意の組みあわせもまた、本発明の実施の形態として有効である。さらに、アドレス変換テーブル207を保存する場所として、不揮発性メモリ108を使用しているが、半導体記憶装置103内のフラッシュメモリ111に記憶してもよい。すなわち、アドレス変換テーブルを半導体記憶装置103に記憶することによりアドレス変換テーブルを保持するようにしてもよい。図5の処理によれば同一の論理アドレスに対して記憶されたデータを削除する場合には、保持された同一の論理アドレスが変換された複数の論理アドレスに対応する物理アドレスに記憶されたデータを削除するように半導体記憶装置を制御するのでステップS94~100、ウェアレベリングにより半導体記憶装置に記憶されたデータを適切に削除することができる。以上述べたように、本実施の形態によれば、ホスト側システム102と半導体記憶装置103に介在する形でアドレス変換装置101を接続することで、アドレス変換テーブル207によって、ウェアレベリング前の段階で書き込みに使用したアドレスのリスト化が行えるため、使用したすべてのアドレスを把握できる。また、ホスト側システム102からの同一LBAに対する上書き指示を、このアドレス変換装置101が異なるLBAへの書き込み指示に変換するため、半導体記憶装置103に対しては同一LBAに対する上書きが生じない。つまり、半導体記憶装置103のフラッシュメモリコントローラ110は、上書きによるウェアレベリングでのLBAとPBAの再マップ処理を行わないため、使用したPBAを見失うことがない。以上より、使用したPBAを全て把握できるため、フラッシュメモリ111にデータを残さずに全てのデータを削除することが可能となる。また、アドレス変換装置101は半導体記憶装置103から独立して動作しているため、半導体記憶装置103が独自に行うウェアレベリングを阻害しない。また、インターフェイスが一致すれば、既存の半導体記憶装置103を使用することが可能であり、ユーザにとっては既存の半導体記憶装置103が流用できるメリットもある。[第2の実施の形態]第1の実施の形態では、アドレス変換装置101が半導体記憶装置103とホスト側システム102から独立して存在していた。だが、アドレス変換装置を構成するCPU、バッファ、不揮発性メモリは、フラッシュメモリコントローラも同等の構成を有している。よって、アドレス変換機能をフラッシュメモリコントローラに持たせることも可能である。第2の実施の形態では、アドレス変換機能をフラッシュメモリコントローラ110に持たせた例について、差分のみ説明する。図6は、本実施の形態に係る記憶制御装置を含む半導体記憶装置606の概略構成を示す図である。図6において、フラッシュメモリコントローラ610は、CPU601、起動ROM604、不揮発性メモリ604、バッファ602、ホストI/F605を含む。CPU601は、ホストI/F605を介してホスト側システム102と接続されており、フラッシュメモリ611への読み書き削除制御とウェアレベリングを行う。またCPU601は、起動ROM604にも接続しており、CPU601を起動するためのファームウェアを起動ROM604から読み出す。従って、第2の実施形態では、フラッシュメモリコントローラ610が記憶制御装置に対応し、フラッシュメモリ611が半導体記憶装置に対応する。またCPU601は、フラッシュメモリコントローラ不揮発性メモリ603にも接続しており、LBAの変換時に使用するアドレス変換テーブル207と、ウェアレベリングに使用するマップを保存する。またCPU601は、バッファ602にも接続しており、アドレス変換時に読み書きするデータを一時保存できる。図7は、図6におけるフラッシュメモリコントローラ610により実行される書き込み処理の手順を示すフローチャートである。図7の書き込み処理は、CPU601により実行される。図7において、ホスト側システム102から書き込むデータと変換前LBAへの書き込み指示を受信するとステップS110、書き込む受信したデータバッファ602にデータを保存するステップS112。次いで、不揮発性メモリ603からアドレス変換テーブル207を読み出しステップS114、変換前LBAを変換後LBAに変換しステップS116、アドレス変換テーブル207を不揮発性メモリ603へ保存することで保持するステップS118。その後、変換後のLBAに対して通常のウェアレベリングを実施しステップS120、受信したデータをバッファ602から読み出しステップS122、フラッシュメモリ111にデータを書き込みステップS124、本処理を終了する。この図7において、ステップS114からステップS118が、フラッシュメモリコントローラ610の機能に含まれるアドレス変換機能による処理である。図8は、図6におけるフラッシュメモリコントローラ610により実行される読み出し処理の手順を示すフローチャートである。図8の書き込み処理は、CPU601により実行される。図8において、ホスト側システム102から変換前LBA201への読み出し指示を受信するとステップS130、不揮発性メモリ603からアドレス変換テーブルを読み出しステップS132、変換後LBA202を得る。次いで、不揮発性メモリ603からマップを読み出しステップS134、PBA203を得る。このPBA203を用いて、フラッシュメモリ111からデータを読み出しステップS136、ホストにデータを送信してステップS138、本処理を終了する。この図8においては、ステップS132が、フラッシュメモリコントローラ110の機能に含まれるアドレス変換機能による処理である。図9は、図6におけるフラッシュメモリコントローラ610により実行される削除処理の手順を示すフローチャートである。図9の削除処理は、CPU601により実行される。ホスト側システム102から変換前LBA202への削除指示を受信するとステップS150、不揮発性メモリ603からアドレス変換テーブル207を読み出しステップS152、変換後LBA202を得る。次いで、不揮発性メモリ603からマップを読み出しステップS154、PBA203を得る。このPBA203を用いて、フラッシュメモリ111からデータを削除するステップS156。その後、マップを修正し、修正したマップを不揮発性メモリ603に保存するステップS158。最後に、アドレス変換テーブル207も修正し、不揮発性メモリ603に保存することで保持するステップS160。この図9においては、ステップS152とステップS158が、フラッシュメモリコントローラ110に含まれるアドレス変換機能による処理である。以上述べたように、本実施の形態によれば、フラッシュメモリコントローラ110にアドレス変換機能を持たせた場合であっても、削除時にフラッシュメモリ111にデータを残さずに全て削除することが可能である。また本実施の形態では、フラッシュメモリコントローラ110がアドレス変換を行うため、アドレス変換装置101を介在させる必要がなく、より簡易な構成で実現できる。[第3の実施の形態]第1の実施の形態では、アドレス変換装置が半導体記憶装置とホスト側システムから独立して存在していた。ここでアドレス変換装置を構成するCPUとバッファは、ホスト側システムのCPUとメモリで代替できる。つまり、アドレス変換機能をソフトウェアで実現し、ホスト側システムに持たせることも可能である。第3の実施の形態では、アドレス変換機能をホスト側システムのソフトウェアで実現した例について、差分のみ説明する。図10は、本実施の形態に係る記憶制御装置を含むホスト側システム810の概略構成を示す図である。図10において、CPU801は、デバイスI/F805を介して半導体記憶装置811と接続している。またCPU801は、起動ROM804にも接続しており、CPU801を起動するためのファームウェアを起動ROM804から読み出す。またCPU801は、不揮発性メモリ803にも接続しており、LBAの変換時に使用するアドレス変換テーブルを保存することで保持する。またCPU801は、メモリ802にも接続しており、アドレス変換時に読み書きするデータを一時保存できる。本実施の形態におけるデータの書き込み時には、CPU801が書き込みたい変換前LBAに対して、CPU801が自身でアドレス変換処理を実施し、変換後LBA202を得る。その後、CPU801は、アドレス変換テーブル207を不揮発性メモリ803に保存することで保持し、デバイスI/F805を介して半導体記憶装置811に変換後LBA202への書き込みを指示する。従って、第3の実施形態では、ホスト側システム810が記憶制御装置に対応する。また本実施の形態におけるデータの読み出し時には、CPU801が読み出したい変換前LBA201に対し、不揮発性メモリ803からアドレス変換テーブル207を読み出して対応する変換後LBA202を得る。その後、CPU801は、デバイスI/F805を介して半導体記憶装置811に変換後LBA202の読み出しを指示する。さらに本実施の形態におけるデータの削除時には、CPU801が削除したい変換前LBAに対し、不揮発性メモリ803からアドレス変換テーブル207に対応する変換後LBA202を得る。その後、CPU801は、デバイスI/F805を介して半導体記憶装置811に変換後LBA202の削除を指示し、アドレス変換テーブル207からこの変換後LBA202を削除する。この削除処理を変換後LBA202がなくなるまで実施した後、CPU801はアドレス変換テーブル207から変換前LBA201を削除して、アドレス変換テーブル207を不揮発性メモリ803に保存することで保持する。図10では、簡単のためCPU801が半導体記憶装置811と接続しているが、チップセットやブリッジICを介してもよい。以上述べたように、本実施の形態によれば、ホスト側システム810にアドレス変換機能を持たせた場合であっても、削除時にフラッシュメモリ111にデータを残さずに全て削除することが可能である。また本実施の形態では、ホスト側システム810がアドレス変換をソフトウェアで実現するため、追加のアドレス変換装置101を持たせたりする必要がなく、より簡易な構成で実現できる。さらに本実施の形態では、ホスト側システム810がアドレス変換をソフトウェアで実現するため、既存の半導体記憶装置811を使用することが可能であり、ユーザにとってはコストメリットとなる。[第4の実施の形態]第1の実施の形態では、アドレス変換処理時において、使用していない変換後LBAの検索図3のステップS20などが行われていた。しかし、予め特定の領域を確保しておけば、使用していない変換後LBAの検索が不要になる。本実施の形態では、図1に示した構成において、アドレス変換装置101のCPU104が予め変換後LBA用の領域を確保している例について、差分のみ説明する。図11は、図1におけるアドレス変換装置101により実行される書き込み処理の手順を示すフローチャートである。図11の書き込み処理は、CPU104により実行される。また、上述したように、図11のフローチャートは、CPU104が予め変換後LBA202を確保している場合のフローチャートである。さらに、図11において、CPU104は、予め特定の領域のLBAを確保し、アドレス変換テーブル207に変換後LBA候補として記載しておく。図11において、ホスト側システム102から変換前LBA201への書き込み指示を受信するステップS180。次いで、受信したデータをバッファ108に書き込みステップS182、書き込み指示された変換前LBA201が、アドレス変換テーブル207上の変換後LBA候補と重複しないかを検索するステップS184。次いで、アドレス変換テーブル207に重複があるか否か判別しステップS186、変換前LBA201と変換後LBA候補に重複がないときステップS186でNO、アドレス変換テーブル207の変換後LBA候補から変換後LBA202を選択し、設定するステップS188。続いて、アドレス変換テーブル207に、選択した変換後LBA202と変換前LBA201の接続を書き込みステップS194、バッファ108から受信したデータを取り出すとステップS196、フラッシュメモリコントローラ110に変換後LBA202への書き込みを指示してステップS198、本処理を終了する。一方、アドレス変換テーブル207において、変換前LBA201と変換後LBA候補に重複があるときステップS186のYES、アドレス変換テーブル207上の変換後LBA候補から、変換前LBA201と重複しない変換後LBAを選択し、変換後LBA202として設定するステップS189。その後、変換前LBA201と重複している変換後LBA候補をアドレス変換テーブル207から削除しステップS191、誤って書き込まれることがないようにして、本処理を終了する。以上述べたように、本実施の形態によれば、予め変換後LBA202を用意しておくことで、アドレス変換時にCPU104が変換後LBA202を検索する必要がない。よって、処理時間を短くすることが可能となる。また、半導体記憶装置103に空き容量が少なくなった場合であっても、変化後LBA202とその領域は別に用意してあるため、アドレス変換処理ができないといった障害を予防することができる。さらに、本実施の形態では、第1の実施の形態の応用として変換後LBA候補が用意されている場合を記載したが、第2の実施の形態、及び第3の実施の形態でも同様の処理は可能である。他の実施の形態本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムをネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ又はCPUやMPU等がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。